completely wrong. Chebychev (Remez), Padé, and maybe Taylor.
[fmap.git] / x86_64_sse2_x87 / fasm / examples / x86 / include / ext / movdir64b.inc
blob431f3efe7b1e963c0ba0c2691c8334b6d7bb9334
1 \r
2 if ~ defined AVX512\r
3         define x86.dqqword? :64\r
4         define x86.zword? :64\r
5 end if\r
6 \r
7 macro movdir64b? dest*,src*\r
8         x86.parse_operand @dest,dest\r
9         x86.parse_operand @src,src\r
10         if @dest.type = 'reg' & @src.type = 'mem'\r
11                 if @src.size and not 64\r
12                         err 'invalid operand size'\r
13                 end if\r
14                 if (@src.mode = 16 & @dest.size <> 2) | (@src.mode = 32 & @dest.size <> 4) | (@src.mode = 64 & @dest.size <> 8)\r
15                         err 'invalid operand size'\r
16                 end if\r
17                 @src.opcode_prefix = 66h\r
18                 x86.store_instruction <0Fh,38h,0F8h>,@src,@dest.rm\r
19         else\r
20                 err 'invalid combination of operands'\r
21         end if\r
22 end macro\r