subtraction.py (5081:2ccce8600a9d) subtraction.py (6580:a1c40860fe09)
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# PSUBB
58# PSUBW
59# PSUBD
60# PSUBQ
61# PSUBSB
62# PSUBSW
63# PSUBUSB
64# PSUBUSW
57def macroop PSUBB_MMX_MMX {
58 msubi mmx, mmx, mmxm, size=1, ext=0
59};
60
61def macroop PSUBB_MMX_M {
62 ldfp ufp1, seg, sib, disp, dataSize=8
63 msubi mmx, mmx, ufp1, size=1, ext=0
64};
65
66def macroop PSUBB_MMX_P {
67 rdip t7
68 ldfp ufp1, seg, riprel, disp, dataSize=8
69 msubi mmx, mmx, ufp1, size=1, ext=0
70};
71
72def macroop PSUBW_MMX_MMX {
73 msubi mmx, mmx, mmxm, size=2, ext=0
74};
75
76def macroop PSUBW_MMX_M {
77 ldfp ufp1, seg, sib, disp, dataSize=8
78 msubi mmx, mmx, ufp1, size=2, ext=0
79};
80
81def macroop PSUBW_MMX_P {
82 rdip t7
83 ldfp ufp1, seg, riprel, disp, dataSize=8
84 msubi mmx, mmx, ufp1, size=2, ext=0
85};
86
87def macroop PSUBD_MMX_MMX {
88 msubi mmx, mmx, mmxm, size=4, ext=0
89};
90
91def macroop PSUBD_MMX_M {
92 ldfp ufp1, seg, sib, disp, dataSize=8
93 msubi mmx, mmx, ufp1, size=4, ext=0
94};
95
96def macroop PSUBD_MMX_P {
97 rdip t7
98 ldfp ufp1, seg, riprel, disp, dataSize=8
99 msubi mmx, mmx, ufp1, size=4, ext=0
100};
101
102def macroop PSUBQ_MMX_MMX {
103 msubi mmx, mmx, mmxm, size=8, ext=0
104};
105
106def macroop PSUBQ_MMX_M {
107 ldfp ufp1, seg, sib, disp, dataSize=8
108 msubi mmx, mmx, ufp1, size=8, ext=0
109};
110
111def macroop PSUBQ_MMX_P {
112 rdip t7
113 ldfp ufp1, seg, riprel, disp, dataSize=8
114 msubi mmx, mmx, ufp1, size=8, ext=0
115};
116
117def macroop PSUBSB_MMX_MMX {
118 msubi mmx, mmx, mmxm, size=1, ext=4
119};
120
121def macroop PSUBSB_MMX_M {
122 ldfp ufp1, seg, sib, disp, dataSize=8
123 msubi mmx, mmx, ufp1, size=1, ext=4
124};
125
126def macroop PSUBSB_MMX_P {
127 rdip t7
128 ldfp ufp1, seg, riprel, disp, dataSize=8
129 msubi mmx, mmx, ufp1, size=1, ext=4
130};
131
132def macroop PSUBSW_MMX_MMX {
133 msubi mmx, mmx, mmxm, size=2, ext=4
134};
135
136def macroop PSUBSW_MMX_M {
137 ldfp ufp1, seg, sib, disp, dataSize=8
138 msubi mmx, mmx, ufp1, size=2, ext=4
139};
140
141def macroop PSUBSW_MMX_P {
142 rdip t7
143 ldfp ufp1, seg, riprel, disp, dataSize=8
144 msubi mmx, mmx, ufp1, size=2, ext=4
145};
146
147def macroop PSUBUSB_MMX_MMX {
148 msubi mmx, mmx, mmxm, size=1, ext=2
149};
150
151def macroop PSUBUSB_MMX_M {
152 ldfp ufp1, seg, sib, disp, dataSize=8
153 msubi mmx, mmx, ufp1, size=1, ext=2
154};
155
156def macroop PSUBUSB_MMX_P {
157 rdip t7
158 ldfp ufp1, seg, riprel, disp, dataSize=8
159 msubi mmx, mmx, ufp1, size=1, ext=2
160};
161
162def macroop PSUBUSW_MMX_MMX {
163 msubi mmx, mmx, mmxm, size=2, ext=2
164};
165
166def macroop PSUBUSW_MMX_M {
167 ldfp ufp1, seg, sib, disp, dataSize=8
168 msubi mmx, mmx, ufp1, size=2, ext=2
169};
170
171def macroop PSUBUSW_MMX_P {
172 rdip t7
173 ldfp ufp1, seg, riprel, disp, dataSize=8
174 msubi mmx, mmx, ufp1, size=2, ext=2
175};
65'''
176'''