addition.py (5081:2ccce8600a9d) addition.py (6571:91d9599956f3)
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

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

49# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
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 = '''
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

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

49# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
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 = '''
57# PADDB
58# PADDW
59# PADDD
60# PADDQ
61# PADDSB
62# PADDSW
63# PADDUSB
64# PADDUSW
57def macroop PADDB_MMX_MMX {
58 maddi mmx, mmx, mmxm, size=1, ext=0
59};
60
61def macroop PADDB_MMX_M {
62 ldfp ufp1, seg, sib, disp, dataSize=8
63 maddi mmx, mmx, ufp1, size=1, ext=0
64};
65
66def macroop PADDB_MMX_P {
67 rdip t7
68 ldfp ufp1, seg, riprel, disp, dataSize=8
69 maddi mmx, mmx, ufp1, size=1, ext=0
70};
71
72def macroop PADDW_MMX_MMX {
73 maddi mmx, mmx, mmxm, size=2, ext=0
74};
75
76def macroop PADDW_MMX_M {
77 ldfp ufp1, seg, sib, disp, dataSize=8
78 maddi mmx, mmx, ufp1, size=2, ext=0
79};
80
81def macroop PADDW_MMX_P {
82 rdip t7
83 ldfp ufp1, seg, riprel, disp, dataSize=8
84 maddi mmx, mmx, ufp1, size=2, ext=0
85};
86
87def macroop PADDD_MMX_MMX {
88 maddi mmx, mmx, mmxm, size=4, ext=0
89};
90
91def macroop PADDD_MMX_M {
92 ldfp ufp1, seg, sib, disp, dataSize=8
93 maddi mmx, mmx, ufp1, size=4, ext=0
94};
95
96def macroop PADDD_MMX_P {
97 rdip t7
98 ldfp ufp1, seg, riprel, disp, dataSize=8
99 maddi mmx, mmx, ufp1, size=4, ext=0
100};
101
102def macroop PADDQ_MMX_MMX {
103 maddi mmx, mmx, mmxm, size=8, ext=0
104};
105
106def macroop PADDQ_MMX_M {
107 ldfp ufp1, seg, sib, disp, dataSize=8
108 maddi mmx, mmx, ufp1, size=8, ext=0
109};
110
111def macroop PADDQ_MMX_P {
112 rdip t7
113 ldfp ufp1, seg, riprel, disp, dataSize=8
114 maddi mmx, mmx, ufp1, size=8, ext=0
115};
116
117def macroop PADDSB_MMX_MMX {
118 maddi mmx, mmx, mmxm, size=1, ext=4
119};
120
121def macroop PADDSB_MMX_M {
122 ldfp ufp1, seg, sib, disp, dataSize=8
123 maddi mmx, mmx, ufp1, size=1, ext=4
124};
125
126def macroop PADDSB_MMX_P {
127 rdip t7
128 ldfp ufp1, seg, riprel, disp, dataSize=8
129 maddi mmx, mmx, ufp1, size=1, ext=4
130};
131
132def macroop PADDSW_MMX_MMX {
133 maddi mmx, mmx, mmxm, size=2, ext=4
134};
135
136def macroop PADDSW_MMX_M {
137 ldfp ufp1, seg, sib, disp, dataSize=8
138 maddi mmx, mmx, ufp1, size=2, ext=4
139};
140
141def macroop PADDSW_MMX_P {
142 rdip t7
143 ldfp ufp1, seg, riprel, disp, dataSize=8
144 maddi mmx, mmx, ufp1, size=2, ext=4
145};
146
147def macroop PADDUSB_MMX_MMX {
148 maddi mmx, mmx, mmxm, size=1, ext=2
149};
150
151def macroop PADDUSB_MMX_M {
152 ldfp ufp1, seg, sib, disp, dataSize=8
153 maddi mmx, mmx, ufp1, size=1, ext=2
154};
155
156def macroop PADDUSB_MMX_P {
157 rdip t7
158 ldfp ufp1, seg, riprel, disp, dataSize=8
159 maddi mmx, mmx, ufp1, size=1, ext=2
160};
161
162def macroop PADDUSW_MMX_MMX {
163 maddi mmx, mmx, mmxm, size=2, ext=2
164};
165
166def macroop PADDUSW_MMX_M {
167 ldfp ufp1, seg, sib, disp, dataSize=8
168 maddi mmx, mmx, ufp1, size=2, ext=2
169};
170
171def macroop PADDUSW_MMX_P {
172 rdip t7
173 ldfp ufp1, seg, riprel, disp, dataSize=8
174 maddi mmx, mmx, ufp1, size=2, ext=2
175};
65'''
176'''