pack_with_saturation.py (6547:3f6c31c3d59e) pack_with_saturation.py (6801:353726c415f4)
1# Copyright (c) 2007 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# Redistribution and use of this software in source and binary forms,
5# with or without modification, are permitted provided that the
6# following conditions are met:
7#
8# The software must be used only for Non-Commercial Use which means any

--- 41 unchanged lines hidden (view full) ---

50# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
51# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
52# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
53#
54# Authors: Gabe Black
55
56microcode = '''
57def macroop PACKSSDW_MMX_MMX {
1# Copyright (c) 2007 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# Redistribution and use of this software in source and binary forms,
5# with or without modification, are permitted provided that the
6# following conditions are met:
7#
8# The software must be used only for Non-Commercial Use which means any

--- 41 unchanged lines hidden (view full) ---

50# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
51# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
52# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
53#
54# Authors: Gabe Black
55
56microcode = '''
57def macroop PACKSSDW_MMX_MMX {
58 pack mmx, mmx, mmxm, ext=1, srcSize=4, destSize=2
58 pack mmx, mmx, mmxm, ext=Signed, srcSize=4, destSize=2
59};
60
61def macroop PACKSSDW_MMX_M {
62 ldfp ufp1, seg, sib, disp, dataSize=8
59};
60
61def macroop PACKSSDW_MMX_M {
62 ldfp ufp1, seg, sib, disp, dataSize=8
63 pack mmx, mmx, ufp1, ext=1, srcSize=4, destSize=2
63 pack mmx, mmx, ufp1, ext=Signed, srcSize=4, destSize=2
64};
65
66def macroop PACKSSDW_MMX_P {
67 rdip t7
68 ldfp ufp1, seg, riprel, disp, dataSize=8
64};
65
66def macroop PACKSSDW_MMX_P {
67 rdip t7
68 ldfp ufp1, seg, riprel, disp, dataSize=8
69 pack mmx, mmx, ufp1, ext=1, srcSize=4, destSize=2
69 pack mmx, mmx, ufp1, ext=Signed, srcSize=4, destSize=2
70};
71
72def macroop PACKSSWB_MMX_MMX {
70};
71
72def macroop PACKSSWB_MMX_MMX {
73 pack mmx, mmx, mmxm, ext=1, srcSize=2, destSize=1
73 pack mmx, mmx, mmxm, ext=Signed, srcSize=2, destSize=1
74};
75
76def macroop PACKSSWB_MMX_M {
77 ldfp ufp1, seg, sib, disp, dataSize=8
74};
75
76def macroop PACKSSWB_MMX_M {
77 ldfp ufp1, seg, sib, disp, dataSize=8
78 pack mmx, mmx, ufp1, ext=1, srcSize=2, destSize=1
78 pack mmx, mmx, ufp1, ext=Signed, srcSize=2, destSize=1
79};
80
81def macroop PACKSSWB_MMX_P {
82 rdip t7
83 ldfp ufp1, seg, riprel, disp, dataSize=8
79};
80
81def macroop PACKSSWB_MMX_P {
82 rdip t7
83 ldfp ufp1, seg, riprel, disp, dataSize=8
84 pack mmx, mmx, ufp1, ext=1, srcSize=2, destSize=1
84 pack mmx, mmx, ufp1, ext=Signed, srcSize=2, destSize=1
85};
86
87def macroop PACKUSWB_MMX_MMX {
88 pack mmx, mmx, mmxm, ext=0, srcSize=2, destSize=1
89};
90
91def macroop PACKUSWB_MMX_M {
92 ldfp ufp1, seg, sib, disp, dataSize=8
93 pack mmx, mmx, ufp1, ext=0, srcSize=2, destSize=1
94};
95
96def macroop PACKUSWB_MMX_P {
97 rdip t7
98 ldfp ufp1, seg, riprel, disp, dataSize=8
99 pack mmx, mmx, ufp1, ext=0, srcSize=2, destSize=1
100};
101'''
85};
86
87def macroop PACKUSWB_MMX_MMX {
88 pack mmx, mmx, mmxm, ext=0, srcSize=2, destSize=1
89};
90
91def macroop PACKUSWB_MMX_M {
92 ldfp ufp1, seg, sib, disp, dataSize=8
93 pack mmx, mmx, ufp1, ext=0, srcSize=2, destSize=1
94};
95
96def macroop PACKUSWB_MMX_P {
97 rdip t7
98 ldfp ufp1, seg, riprel, disp, dataSize=8
99 pack mmx, mmx, ufp1, ext=0, srcSize=2, destSize=1
100};
101'''