completely wrong. Chebychev (Remez), Padé, and maybe Taylor.
[fmap.git] / x86_64_sse2_x87 / fasm / examples / x86 / include / ext / fsgsbase.inc
blob56489dc80ded654d1881da61e449480f8384bee6
1 \r
2 iterate <instr,postbyte>, rdfsbase,0, rdgsbase,1, wrfsbase,2, wrgsbase,3\r
3 \r
4         macro instr? dest*\r
5                 if x86.mode = 64\r
6                         x86.parse_operand @dest,dest\r
7                         if @dest.type = 'reg'\r
8                                 if @dest.size >= 4\r
9                                         @dest.opcode_prefix = 0F3h\r
10                                         x86.select_operand_prefix @dest,@dest.size\r
11                                         x86.store_instruction <0Fh,0AEh>,@dest,postbyte\r
12                                 else\r
13                                         err 'invalid operand size'\r
14                                 end if\r
15                         else\r
16                                 err 'invalid operand'\r
17                         end if\r
18                 else\r
19                         err 'instruction requires long mode'\r
20                 end if\r
21         end macro\r
23 end iterate\r