initial commit: a mess of assembly code
[fmap.git] / x86_64_sse2_x87 / fasm / examples / x86 / include / ext / fma.inc
blob663203122b357f8597eb3ebcc0c4050398fc16c2
1 \r
2 include 'avx.inc'\r
3 \r
4 iterate <instr,lcode>, vfmaddsub,6, vfmsubadd,7, vfmadd,8, vfmsub,0Ah, vfnmadd,0Ch, vfnmsub,0Eh\r
5 \r
6         iterate <order,hcode>, 132,90h, 213,0A0h, 231,0B0h\r
7 \r
8                 macro instr#order#pd? dest*,src*,src2*\r
9                         AVX.basic_instruction VEX_66_0F38_W1,hcode+lcode,0,dest,src,src2\r
10                 end macro\r
12                 macro instr#order#ps? dest*,src*,src2*\r
13                         AVX.basic_instruction VEX_66_0F38_W0,hcode+lcode,0,dest,src,src2\r
14                 end macro\r
16                 if lcode > 7\r
18                         macro instr#order#sd? dest*,src*,src2*\r
19                                 AVX.basic_instruction VEX_66_0F38_W1,hcode+lcode+1,8,dest,src,src2\r
20                         end macro\r
22                         macro instr#order#ss? dest*,src*,src2*\r
23                                 AVX.basic_instruction VEX_66_0F38_W0,hcode+lcode+1,4,dest,src,src2\r
24                         end macro\r
26                 end if\r
28         end iterate\r
30 end iterate\r