completely wrong. Chebychev (Remez), Padé, and maybe Taylor.
[fmap.git] / x86_64_sse2_x87 / fasm / examples / x86 / include / ext / avx512cd.inc
blob1567b1d685d5d7841687f25ac52e8b39b02dfe73
1 \r
2 if ~ defined AVX_512\r
3 \r
4         include 'avx512f.inc'\r
5 \r
6 end if\r
7 \r
8 iterate <instr,vex_mpw,opcode>, vpbroadcastmb2q,VEX_F3_0F38_W1,2Ah, vpbroadcastmw2d,VEX_F3_0F38_W0,3Ah\r
9 \r
10         macro instr? dest*,src*\r
11                 AVX_512.parse_operand @dest,dest\r
12                 AVX_512.parse_operand @src,src\r
13                 if @dest.type = 'mmreg' & @src.type = 'maskreg'\r
14                         AVX_512.store_instruction @dest.size,vex_mpw,EVEX_REQUIRED+EVEX_VL,opcode,@src,0,@dest.rm\r
15                 else\r
16                         err 'invalid combination of operands'\r
17                 end if\r
18         end macro\r
20 end iterate\r
22 iterate <instr,unit,vex_mpw,opcode>, vpconflictd,4,VEX_66_0F38_W0,0C4h, vpconflictq,8,VEX_66_0F38_W1,0C4h, vplzcntd,4,VEX_66_0F38_W0,44h, vplzcntq,8,VEX_66_0F38_W1,44h\r
24         macro instr? dest*,src*&\r
25                 AVX_512.single_source_instruction_bcst vex_mpw,EVEX_REQUIRED+EVEX_VL,opcode,unit,dest,src\r
26         end macro\r
28 end iterate\r