OLD | NEW |
| (Empty) |
1 # Copyright (c) 2011 The Native Client Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 ################################################################################ | |
5 # This file describes instructions from AMD64 Architecture Programmer’s Manual | |
6 # Volume 5: 64-Bit Media and x87 Floating-Point Instructions | |
7 # Chapter 2: x87 Floating-Point Instruction Reference | |
8 ################################################################################ | |
9 # File format: see general-purpose-instructions.def | |
10 ######## F2XM1 ################################################################# | |
11 nop, 0x90 | |
12 f2xm1, 0xd9 0xf0, Fn0000_0001_EDX_X87 | |
13 ######## FABS ################################################################## | |
14 fabs, 0xd9 0xe1, Fn0000_0001_EDX_X87 | |
15 ######## FADD/FADDP/FIADD ###################################################### | |
16 fadd r7 t7, 0xd8 0xc0, Fn0000_0001_EDX_X87 | |
17 fadd t7 r7, 0xdc 0xc0, Fn0000_0001_EDX_X87 | |
18 fadd Mss, 0xd8 /0, Fn0000_0001_EDX_X87 | |
19 fadd Msd, 0xdc /0, Fn0000_0001_EDX_X87 | |
20 faddp t7 r7, 0xde 0xc0, Fn0000_0001_EDX_X87 | |
21 fiadd Msw, 0xde /0, Fn0000_0001_EDX_X87 | |
22 fiadd Msi, 0xda /0, Fn0000_0001_EDX_X87 | |
23 ######## FBLD ################################################################## | |
24 fbld Msb, 0xdf /4, Fn0000_0001_EDX_X87 | |
25 ######## FBSTP ################################################################# | |
26 fbstp Msb, 0xdf /6, Fn0000_0001_EDX_X87 | |
27 ######## FCHS ################################################################## | |
28 fchs, 0xd9 0xe0, Fn0000_0001_EDX_X87 | |
29 ######## FCLEX ################################################################# | |
30 fnclex, 0xdb 0xe2, Fn0000_0001_EDX_X87 | |
31 fclex, 0x9b 0xdb 0xe2, Fn0000_0001_EDX_X87 | |
32 ######## FCMOVcc ############################################################### | |
33 fcmovb r7 t7, 0xda 0xc0, Fn0000_0001_EDX_X87 Fn0000_0001_EDX_CMOV | |
34 fcmovbe r7 t7, 0xda 0xD0, Fn0000_0001_EDX_X87 Fn0000_0001_EDX_CMOV | |
35 fcmove r7 t7, 0xda 0xc8, Fn0000_0001_EDX_X87 Fn0000_0001_EDX_CMOV | |
36 fcmovnb r7 t7, 0xdb 0xc0, Fn0000_0001_EDX_X87 Fn0000_0001_EDX_CMOV | |
37 fcmovnbe r7 t7, 0xdb 0xd0, Fn0000_0001_EDX_X87 Fn0000_0001_EDX_CMOV | |
38 fcmovne r7 t7, 0xdb 0xc8, Fn0000_0001_EDX_X87 Fn0000_0001_EDX_CMOV | |
39 fcmovnu r7 t7, 0xdb 0xd8, Fn0000_0001_EDX_X87 Fn0000_0001_EDX_CMOV | |
40 fcmovu r7 t7, 0xda 0xd8, Fn0000_0001_EDX_X87 Fn0000_0001_EDX_CMOV | |
41 ######## FCOM/FCOMP/FCOMPP ##################################################### | |
42 fcom r7, 0xd8 0xd0, Fn0000_0001_EDX_X87 | |
43 fcom Mss, 0xd8 /2, Fn0000_0001_EDX_X87 | |
44 fcom Msd, 0xdc /2, Fn0000_0001_EDX_X87 | |
45 fcomp r7, 0xd8 0xd8, Fn0000_0001_EDX_X87 | |
46 fcomp Mss, 0xd8 /3, Fn0000_0001_EDX_X87 | |
47 fcomp Msd, 0xdc /3, Fn0000_0001_EDX_X87 | |
48 fcompp, 0xde 0xd9, Fn0000_0001_EDX_X87 | |
49 ######## FCOMI/FCOMIP ########################################################## | |
50 fcomi r7 t7, 0xdb 0xf0, Fn0000_0001_EDX_X87 | |
51 fcomip r7 t7, 0xdf 0xf0, Fn0000_0001_EDX_X87 | |
52 ######## FCOS ################################################################## | |
53 fcos, 0xd9 0xff, Fn0000_0001_EDX_X87 | |
54 ######## FDECSTP ############################################################### | |
55 fdecstp, 0xd9 0xf6, Fn0000_0001_EDX_X87 | |
56 ######## FDIV/FDIVP/FIDIV ###################################################### | |
57 # “fdiv” and “fdivr” are swapped for some operands in objdump. This is known | |
58 # issue, but it can not be fixed because of compatibility concerns. Here we use | |
59 # objdump-compatible names. | |
60 fdiv r7 t7, 0xd8 0xf0, Fn0000_0001_EDX_X87 | |
61 fdivr t7 r7, 0xdc 0xf8, Fn0000_0001_EDX_X87 | |
62 fdiv Mss, 0xd8 /6, Fn0000_0001_EDX_X87 | |
63 fdiv Msd, 0xdc /6, Fn0000_0001_EDX_X87 | |
64 fdivrp t7 r7, 0xde 0xf8, Fn0000_0001_EDX_X87 | |
65 fidiv Msw, 0xde /6, Fn0000_0001_EDX_X87 | |
66 fidiv Msi, 0xda /6, Fn0000_0001_EDX_X87 | |
67 ######## FDIVR/FDIVRP/FIDIVR ################################################### | |
68 # “fdivr” and “fdiv” are swapped for some operands in objdump. This is known | |
69 # issue, but it can not be fixed because of compatibility concerns. Here we use | |
70 # objdump-compatible names. | |
71 fdivr r7 t7, 0xd8 0xf8, Fn0000_0001_EDX_X87 | |
72 fdiv t7 r7, 0xdc 0xf0, Fn0000_0001_EDX_X87 | |
73 fdivr Mss, 0xd8 /7, Fn0000_0001_EDX_X87 | |
74 fdivr Msd, 0xdc /7, Fn0000_0001_EDX_X87 | |
75 fdivp t7 r7, 0xde 0xf0, Fn0000_0001_EDX_X87 | |
76 fidivr Msw, 0xde /7, Fn0000_0001_EDX_X87 | |
77 fidivr Msi, 0xda /7, Fn0000_0001_EDX_X87 | |
78 ######## FFREE ################################################################# | |
79 ffree r7, 0xdd 0xc0, Fn0000_0001_EDX_X87 | |
80 ######## FICOM/FICOMP ########################################################## | |
81 ficom Msw, 0xde /2, Fn0000_0001_EDX_X87 | |
82 ficom Msi, 0xda /2, Fn0000_0001_EDX_X87 | |
83 ficomp Msw, 0xde /3, Fn0000_0001_EDX_X87 | |
84 ficomp Msi, 0xda /3, Fn0000_0001_EDX_X87 | |
85 ######## FILD ################################################################## | |
86 fild Msw, 0xdf /0, Fn0000_0001_EDX_X87 | |
87 fild Msd, 0xdb /0, Fn0000_0001_EDX_X87 | |
88 fild Msq, 0xdf /5, Fn0000_0001_EDX_X87 | |
89 ######## FINCSTP ############################################################### | |
90 fincstp, 0xd9 0xf7, Fn0000_0001_EDX_X87 | |
91 ######## FINIT/FNINIT ########################################################## | |
92 fninit, 0xdb 0xe3, Fn0000_0001_EDX_X87 | |
93 finit, 0x9b 0xdb 0xe3, Fn0000_0001_EDX_X87 | |
94 ######## FIST/FISTP ############################################################ | |
95 fist Msw, 0xdf /2, Fn0000_0001_EDX_X87 | |
96 fist Msi, 0xdb /2, Fn0000_0001_EDX_X87 | |
97 fistp Msw, 0xdf /3, Fn0000_0001_EDX_X87 | |
98 fistp Msi, 0xdb /3, Fn0000_0001_EDX_X87 | |
99 fistp Msq, 0xdf /7, Fn0000_0001_EDX_X87 | |
100 ######## FISTTP ################################################################ | |
101 fisttp Msw, 0xdf /1, Fn0000_0001_EDX_X87 | |
102 fisttp Msi, 0xdb /1, Fn0000_0001_EDX_X87 | |
103 fisttp Msq, 0xdd /1, Fn0000_0001_EDX_X87 | |
104 ######## FLD ################################################################### | |
105 fld r7, 0xd9 0xc0, Fn0000_0001_EDX_X87 | |
106 fld Mss, 0xd9 /0, Fn0000_0001_EDX_X87 | |
107 fld Msd, 0xdd /0, Fn0000_0001_EDX_X87 | |
108 fld Mst, 0xdb /5, Fn0000_0001_EDX_X87 | |
109 ######## FLD1 ################################################################## | |
110 fld1, 0xd9 0xe8, Fn0000_0001_EDX_X87 | |
111 ######## FLDCW ################################################################# | |
112 fldcw Msw, 0xd9 /5, Fn0000_0001_EDX_X87 | |
113 ######## FLDENV ################################################################ | |
114 fldenv Mse, 0xd9 /4, Fn0000_0001_EDX_X87 | |
115 ######## FLDL2E ################################################################ | |
116 fldl2e, 0xd9 0xea, Fn0000_0001_EDX_X87 | |
117 ######## FLDL2T ################################################################ | |
118 fldl2t, 0xd9 0xe9, Fn0000_0001_EDX_X87 | |
119 ######## FLDLG2 ################################################################ | |
120 fldlg2, 0xd9 0xec, Fn0000_0001_EDX_X87 | |
121 ######## FLDLN2 ################################################################ | |
122 fldln2, 0xd9 0xed, Fn0000_0001_EDX_X87 | |
123 ######## FLDPI ################################################################# | |
124 fldpi, 0xd9 0xeb, Fn0000_0001_EDX_X87 | |
125 ######## FLDZ ################################################################## | |
126 fldz, 0xd9 0xee, Fn0000_0001_EDX_X87 | |
127 ######## FMUL/FMULP/FIMUL ###################################################### | |
128 fmul r7 t7, 0xd8 0xc8, Fn0000_0001_EDX_X87 | |
129 fmul t7 r7, 0xdc 0xc8, Fn0000_0001_EDX_X87 | |
130 fmul Mss, 0xd8 /1, Fn0000_0001_EDX_X87 | |
131 fmul Msd, 0xdc /1, Fn0000_0001_EDX_X87 | |
132 fmulp t7 r7, 0xde 0xc8, Fn0000_0001_EDX_X87 | |
133 fimul Msw, 0xde /1, Fn0000_0001_EDX_X87 | |
134 fimul Msi, 0xda /1, Fn0000_0001_EDX_X87 | |
135 ######## FNOP ################################################################## | |
136 fnop, 0xd9 0xd0, Fn0000_0001_EDX_X87 | |
137 ######## FPATAN ################################################################ | |
138 fpatan, 0xd9 0xf3, Fn0000_0001_EDX_X87 | |
139 ######## FPREM ################################################################# | |
140 fprem, 0xd9 0xf8, Fn0000_0001_EDX_X87 | |
141 ######## FPREM1 ################################################################ | |
142 fprem1, 0xd9 0xf5, Fn0000_0001_EDX_X87 | |
143 ######## FPTAN ################################################################# | |
144 fptan, 0xd9 0xf2, Fn0000_0001_EDX_X87 | |
145 ######## FRNDINT ############################################################### | |
146 frndint, 0xd9 0xfc, Fn0000_0001_EDX_X87 | |
147 ######## FRSTOR ################################################################ | |
148 frstor Msr, 0xdd /4, Fn0000_0001_EDX_X87 | |
149 ######## FSAVE/FNSAVE ########################################################## | |
150 fnsave Msr, 0xdd /6, Fn0000_0001_EDX_X87 | |
151 fsave Msr, 0x9b 0xdd /6, Fn0000_0001_EDX_X87 | |
152 ######## FSCALE ################################################################ | |
153 fscale, 0xd9 0xfd, Fn0000_0001_EDX_X87 | |
154 ######## FSIN ################################################################## | |
155 fsin, 0xd9 0xfe, Fn0000_0001_EDX_X87 | |
156 ######## FSINCOS ############################################################### | |
157 fsincos, 0xd9 0xfb, Fn0000_0001_EDX_X87 | |
158 ######## FSQRT ################################################################# | |
159 fsqrt, 0xd9 0xfa, Fn0000_0001_EDX_X87 | |
160 ######## FST/FSTP ############################################################## | |
161 fst r7, 0xdd 0xd0, Fn0000_0001_EDX_X87 | |
162 fst Mss, 0xd9 /2, Fn0000_0001_EDX_X87 | |
163 fst Msd, 0xdd /2, Fn0000_0001_EDX_X87 | |
164 fstp r7, 0xdd 0xd8, Fn0000_0001_EDX_X87 | |
165 fstp Mss, 0xd9 /3, Fn0000_0001_EDX_X87 | |
166 fstp Msd, 0xdd /3, Fn0000_0001_EDX_X87 | |
167 fstp Mst, 0xdb /7, Fn0000_0001_EDX_X87 | |
168 ######## FSTCW/FNSTCW ########################################################## | |
169 fnstcw Msw, 0xd9 /7 | |
170 fstcw Msw, 0x9b 0xd9 /7 | |
171 ######## FSTENV/FNSTENV ######################################################## | |
172 fnstenv Mse, 0xd9 /6 | |
173 fstenv Mse, 0x9b 0xd9 /6 | |
174 ######## FSTSW/FNSTSW ########################################################## | |
175 fnstsw aw, 0xdf 0xe0, Fn0000_0001_EDX_X87 | |
176 fnsts Mw, 0xdd /7, Fn0000_0001_EDX_X87 | |
177 fstsw aw, 0x9b 0xdf 0xe0, Fn0000_0001_EDX_X87 | |
178 fsts Mw, 0x9b 0xdd /7, Fn0000_0001_EDX_X87 | |
179 ######## FSUB/FSUBP/FISUB ###################################################### | |
180 # “fsub” and “fsubr” are swapped for some operands in objdump. This is known | |
181 # issue, but it can not be fixed because of compatibility concerns. Here we use | |
182 # objdump-compatible names. | |
183 fsub r7 t7, 0xd8 0xe0, Fn0000_0001_EDX_X87 | |
184 fsubr t7 r7, 0xdc 0xe8, Fn0000_0001_EDX_X87 | |
185 fsub Mss, 0xd8 /4, Fn0000_0001_EDX_X87 | |
186 fsub Msd, 0xdc /4, Fn0000_0001_EDX_X87 | |
187 fsubrp t7 r7, 0xde 0xe8, Fn0000_0001_EDX_X87 | |
188 fisub Msw, 0xde /4, Fn0000_0001_EDX_X87 | |
189 fisub Msi, 0xda /4, Fn0000_0001_EDX_X87 | |
190 ######## FSUBR/FSUBRP/FISUBR ################################################### | |
191 # “fsub” and “fsubr” are swapped for some operands in objdump. This is known | |
192 # issue, but it can not be fixed because of compatibility concerns. Here we use | |
193 # objdump-compatible names. | |
194 fsubr r7 t7, 0xd8 0xe8, Fn0000_0001_EDX_X87 | |
195 fsub t7 r7, 0xdc 0xe0, Fn0000_0001_EDX_X87 | |
196 fsubr Mss, 0xd8 /5, Fn0000_0001_EDX_X87 | |
197 fsubr Msd, 0xdc /5, Fn0000_0001_EDX_X87 | |
198 fsubp t7 r7, 0xde 0xe0, Fn0000_0001_EDX_X87 | |
199 fisubr Msw, 0xde /5, Fn0000_0001_EDX_X87 | |
200 fisubr Msi, 0xda /5, Fn0000_0001_EDX_X87 | |
201 ######## FTST ################################################################## | |
202 ftst, 0xd9 0xe4, Fn0000_0001_EDX_X87 | |
203 ######## FUCOM/FUCOMP/FUCOMPP ################################################## | |
204 fucom r7, 0xdd 0xe0, Fn0000_0001_EDX_X87 | |
205 fucomp r7, 0xdd 0xe8, Fn0000_0001_EDX_X87 | |
206 fucompp, 0xda 0xe9, Fn0000_0001_EDX_X87 | |
207 ######## FUCOMI/FUCOMIP ######################################################## | |
208 fucomi r7 t7, 0xdb 0xe8, Fn0000_0001_EDX_X87 | |
209 fucomip r7 t7, 0xdf 0xe8, Fn0000_0001_EDX_X87 | |
210 ######## FWAIT ################################################################# | |
211 fwait, 0x9b, Fn0000_0001_EDX_X87 | |
212 ######## FXCH ################################################################## | |
213 fxch r7, 0xd9 0xc8, Fn0000_0001_EDX_X87 | |
214 ######## FXRSTOR ############################################################### | |
215 fxrstor Msx, 0x0f 0xae /1, nacl-forbidden Fn0000_0001_ECX_XSAVE | |
216 ######## FXSAVE ################################################################ | |
217 fxsave Msx, 0x0f 0xae /0, nacl-forbidden Fn0000_0001_ECX_XSAVE | |
218 ######## FXTRACT ############################################################### | |
219 fxtract, 0xd9 0xf4, Fn0000_0001_EDX_X87 | |
220 ######## FYL2X ################################################################# | |
221 fyl2x, 0xd9 0xf1, Fn0000_0001_EDX_X87 | |
222 ######## FYL2XP1 ############################################################### | |
223 fyl2xp1, 0xd9 0xf9, Fn0000_0001_EDX_X87 | |
224 ################################################################################ | |
OLD | NEW |