Home | History | Annotate | Download | only in i386
      1 .text
      2 	#				  Prefixes
      3 	#			        O16 A32 OV REX  OPCODE				 ; NOTES
      4 
      5 	# CALL
      6 	CALLq *(%r8)		      # --  --  -- 41   FF 10				 ; REX to access upper reg.
      7 	CALLq *(%rax)		      # --  --  -- --   FF 10
      8 	CALLq *(%r8)		      # --  --  -- 41   FF 10				 ; REX to access upper reg.
      9 	CALLq *(%rax)		      # --  --  -- --   FF 10
     10 
     11 	# RET
     12 	lret			      # --  --  -- --   CB
     13 	retq			      # --  --  -- --   C3
     14 
     15 	# IRET
     16 	IRET			      # --  --  -- --   CF				 ; 32-bit operand size
     17 	IRETW			      # 66  --  -- --   CF				 ; O16 for 16-bit operand size
     18 	IRETQ			      # --  --  -- 48   CF				 ; REX for 64-bit operand size
     19 
     20 	# CMP
     21 
     22 	# MOV
     23 	MOVw %cs,(%r8)		      # --  --  -- 41   8C 08				 ; REX to access upper reg.
     24 	MOVw %cs,(%rax)		      # --  --  -- --   8C 08
     25 	MOVw %ss,(%r8)		      # --  --  -- 41   8C 10				 ; REX to access upper reg.
     26 	MOVw %ss,(%rax)		      # --  --  -- --   8C 10
     27 	MOVw %fs,(%r8)		      # --  --  -- 41   8C 20				 ; REX to access upper reg.
     28 	MOVw %fs,(%rax)		      # --  --  -- --   8C 20
     29 	MOVw (%r8),%ss		      # --  --  -- 41   8E 10				 ; REX to access upper reg.
     30 	MOVw (%rax),%ss		      # --  --  -- --   8E 10
     31 	MOVw (%r8),%fs		      # --  --  -- 41   8E 20				 ; REX to access upper reg.
     32 	MOVw (%rax),%fs		      # --  --  -- --   8E 20
     33 	MOVb $0,(%r8)		      # --  --  -- 41   C6 00 00			 ; REX to access upper reg.
     34 	MOVb $0,(%rax)		      # --  --  -- --   C6 00 00
     35 	MOVw $0x7000,(%r8)	      # 66  --  -- 41   C7 00 00 70			 ; REX to access upper reg. O16 for 16-bit operand size
     36 	MOVw $0x7000,(%rax)	      # 66  --  -- --   C7 00 00 70			 ; O16 for 16-bit operand size
     37 	MOVl $0x70000000,(%r8)	      # --  --  -- 41   C7 00 00 00 00 70		 ; REX to access upper reg.
     38 	MOVl $0x70000000,(%rax)	      # --  --  -- --   C7 00 00 00 00 70
     39 	MOVb $0,(%r8)		      # --  --  -- 41   C6 00 00			 ; REX to access upper reg.
     40 	MOVb $0,(%rax)		      # --  --  -- --   C6 00 00
     41 	MOVw $0x7000,(%r8)	      # 66  --  -- --   41 C7 00 00 70			 ; O16 for 16-bit operand size
     42 	MOVw $0x7000,(%rax)	      # 66  --  -- --   C7 00 00 70			 ; O16 for 16-bit operand size
     43 	MOVl $0x70000000,(%rax)	      # --  --  -- --   C7 00 00 00 00 70
     44 	MOVb $0,(%r8)		      # --  --  -- 41   C6 00 00			 ; REX to access upper reg.
     45 	MOVb $0,(%rax)		      # --  --  -- --   C6 00 00
     46 	MOVw $0x7000,(%r8)	      # 66  --  -- 41   C7 00 00 70			 ; REX to access upper reg. O16 for 16-bit operand size
     47 	MOVw $0x7000,(%rax)	      # 66  --  -- --   C7 00 00 70			 ; O16 for 16-bit operand size
     48 	MOVl $0x70000000,(%r8)	      # --  --  -- 41   C7 00 00 00 00 70		 ; REX to access upper reg.
     49 	MOVl $0x70000000,(%rax)	      # --  --  -- --   C7 00 00 00 00 70
     50 	MOVq $0x70000000,(%r8)	      # --  --  -- 49   C7 00 00 00 00 70		 ; REX for 64-bit operand size. REX to access upper reg.
     51 	MOVq $0x70000000,(%rax)	      # --  --  -- 48   C7 00 00 00 00 70		 ; REX for 64-bit operand size
     52 
     53 	# MOVNTI
     54 	MOVNTI %eax,(%r8)	      # --  --  -- 41   0f c3 00			 ; REX to access upper reg.
     55 	MOVNTI %eax,(%rax)	      # --  --  -- --   0f c3 00
     56 	MOVNTI %rax,(%r8)	      # --  --  -- 49   0F C3 00			 ; REX to access upper reg. REX for 64-bit operand size
     57 	MOVNTI %rax,(%rax)	      # --  --  -- 48   0F C3 00			 ; REX for 64-bit operand size. REX to access upper reg.
     58 	MOVNTI %r8,(%r8)	      # --  --  -- 4D   0F C3 00			 ; REX to access upper reg. REX for 64-bit operand size
     59 	MOVNTI %r8,(%rax)	      # --  --  -- 4C   0F C3 00			 ; REX to access upper reg. REX for 64-bit operand size
     60 
     61 	# Conditionals
     62 
     63 	# LOOP
     64 	LOOP .			      #	 --  --	 -- --	 E2 FE				 ; RCX used as counter.
     65 	LOOPq .			      #	 --  --	 -- --	 E2 FE				 ; RCX used as counter.
     66 	LOOPl .			      #	 --  67	 -- --	 E2 FD				 ; ECX used as counter.
     67 
     68 
     69 	# Jcc
     70 				      #	 66  --	 -- --	 77 FD				 ; O16 override: (Addr64) = ZEXT(Addr16)
     71 				      #	 66  --	 -- --	 0F 87 F9 FF FF FF		 ; O16 override: (Addr64) = ZEXT(Addr16)
     72 
     73 	# J*CXZ
     74 	JRCXZ .			      #	 --  --	 -- --	 E3 FE				 ; RCX used as counter.
     75 	JECXZ .			      #	 --  67	 -- --	 E3 FD				 ; ECX used as counter.
     76 
     77 
     78 
     79 	# Integer
     80 
     81 	# IDIV
     82 
     83 	IDIVb (%r8)		      #	 --  --	 -- 41	 F6 38				 ; Sign extended result. REX to access upper reg.
     84 	IDIVb (%rax)		      #	 --  --	 -- --	 F6 38				 ; Sign extended result
     85 	IDIVw (%r8)		      #	 66  --	 -- 41	 F7 38				 ; Sign extended result. REX to access upper reg. O16 for 16-bit
     86 	IDIVw (%rax)		      #	 66  --	 -- --	 F7 38				 ; Sign extended result. O16 for 16-bit operand size
     87 	IDIVl (%r8)		      #	 --  --	 -- 41	 F7 38				 ; Sign extended result. REX to access upper reg
     88 	IDIVl (%rax)		      #	 --  --	 -- --	 F7 38				 ; Sign extended result
     89 	IDIVq (%r8)		      #	 --  --	 -- 49	 F7 38				 ; Sign extended result. REX for 64-bit operand size. REX to access u
     90 	IDIVq (%rax)		      #	 --  --	 -- 48	 F7 38				 ; Sign extended result. REX for 64-bit operand size
     91 
     92 	# IMUL
     93 	IMULb (%r8)		      #	 --  --	 -- 41	 F6 28				 ; Sign extended result. REX to access upper reg
     94 	IMULb (%rax)		      #	 --  --	 -- --	 F6 28				 ; Sign extended result
     95 	IMULw (%r8)		      #	 66  --	 -- 41	 F7 28				 ; Sign extended result. O16 for 16-bit operand size. REX to access
     96 	IMULw (%rax)		      #	 66  --	 -- --	 F7 28				 ; Sign extended result. O16 for 16-bit operand size
     97 	IMULl (%r8)		      #	 --  --	 -- 41	 F7 28				 ; Sign extended result. REX to access upper reg
     98 	IMULl (%rax)		      #	 --  --	 -- --	 F7 28				 ; Sign extended result
     99 	IMULq (%r8)		      #	 --  --	 -- 49	 F7 28				 ; Sign extended result. REX for 64-bit operand size. REX to access u
    100 	IMULq (%rax)		      #	 --  --	 -- 48	 F7 28				 ; Sign extended result. REX for 64-bit operand size
    101 
    102 
    103 
    104 	# SIMD/SSE
    105 
    106 	# ADDPD
    107 	ADDPD  (%r8),%xmm0	      #	 --  --	 66 41	 0F 58 00			 ; REX to access upper reg. OVR 128bit MMinstr.
    108 	ADDPD  (%rax),%xmm0	      #	 --  --	 66 --	 0F 58 00			 ; OVR 128bit MMinstr.
    109 	ADDPD  (%r8),%xmm15	      #	 --  --	 66 45	 0F 58 38			 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
    110 	ADDPD  (%rax),%xmm15	      #	 --  --	 66 44	 0F 58 38			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    111 	ADDPD  (%r8),%xmm8	      #	 --  --	 66 45	 0F 58 00			 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
    112 	ADDPD  (%rax),%xmm8	      #	 --  --	 66 44	 0F 58 00			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    113 	ADDPD  (%r8),%xmm7	      #	 --  --	 66 41	 0F 58 38			 ; REX to access upper reg. OVR 128bit MMinstr.
    114 	ADDPD  (%rax),%xmm7	      #	 --  --	 66 --	 0F 58 38			 ; OVR 128bit MMinstr.
    115 	ADDPD  %xmm0,%xmm0	      #	 --  --	 66 --	 0F 58 C0			 ; OVR 128bit MMinstr.
    116 	ADDPD  %xmm15,%xmm15	      #	 --  --	 66 45	 0F 58 FF			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    117 	ADDPD  %xmm15,%xmm8	      #	 --  --	 66 45	 0F 58 C7			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    118 
    119 	# CMPPD
    120 
    121         # CVTSD2SI
    122 	CVTSD2SIq (%r8),%rax	      #	 --  --	 F2 49	 0f 2d 00	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                  REX to access upper reg.
    123 	CVTSD2SIq (%rax),%rax	      #	 --  --	 F2 48	 0f 2d 00	                 ; OVR 128-bit media instruction override REX for 64-bit operand size
    124 	CVTSD2SIq (%r8),%r8	      #	 --  --	 F2 4D	 0f 2d 00	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                REX to access upper reg.
    125 	CVTSD2SIq (%rax),%r8	      #	 --  --	 F2 4C	 0f 2d 00	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                  REX to access upper reg.
    126 	CVTSD2SIq %xmm0,%rax	      #	 --  --	 F2 48	 0f 2d c0	                 ; OVR 128-bit media instruction override REX for 64-bit operand size
    127 	CVTSD2SIq %xmm15,%r8	      #	 --  --	 F2 4D	 0f 2d c7	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                 REX to access upper XMM reg             REX to access upper reg.
    128 	CVTSD2SIq %xmm15,%rax	      #	 --  --	 F2 49	 0f 2d c7	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                  REX to access upper XMM reg
    129 	CVTSD2SIq %xmm8,%r8	      #	 --  --	 F2 4D	 0f 2d c0	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                  REX to access upper XMM reg             REX to access upper reg.
    130 	CVTSD2SIq %xmm8,%rax	      #	 --  --	 F2 49	 0f 2d c0	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                  REX to access upper XMM reg
    131 	CVTSD2SIq %xmm7,%r8	      #	 --  --	 F2 4C	 0f 2d c7	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                 REX to access upper reg.
    132 	CVTSD2SIq %xmm7,%rax	      #	 --  --	 F2 48	 0f 2d c7	                 ; OVR 128-bit media instruction override REX for 64-bit operand size
    133 	CVTSD2SIq %xmm0,%r8	      #	 --  --	 F2 4C	 0f 2d c0	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                  REX to access upper reg.
    134 
    135         # CVTTSD2SI
    136 	CVTTSD2SIq (%r8),%rax	      #	 --  --	 F2 49	 0f 2c 00	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                REX to access upper reg.
    137 	CVTTSD2SIq (%rax),%rax	      #	 --  --	 F2 48	 0f 2c 00	                 ; OVR 128-bit media instruction override REX for 64-bit operand size
    138 	CVTTSD2SIq (%r8),%r8	      #	 --  --	 F2 4D	 0f 2c 00	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                  REX to access upper reg.
    139 	CVTTSD2SIq (%rax),%r8	      #	 --  --	 F2 4C	 0f 2c 00	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                   REX to access upper reg.
    140 	CVTTSD2SIq %xmm0,%rax	      #	 --  --	 F2 48	 0f 2c c0	                 ; OVR 128-bit media instruction override REX for 64-bit operand size
    141 	CVTTSD2SIq %xmm15,%r8	      #	 --  --	 F2 4D	 0f 2c c7	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                 REX to access upper XMM reg             REX to access upper reg.
    142 	CVTTSD2SIq %xmm15,%rax	      #	 --  --	 F2 49	 0f 2c c7	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                 REX to access upper XMM reg
    143 	CVTTSD2SIq %xmm8,%r8	      #	 --  --	 F2 4D	 0f 2c c0	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                 REX to access upper XMM reg             REX to access upper reg.
    144 	CVTTSD2SIq %xmm8,%rax	      #	 --  --	 F2 49	 0f 2c c0	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                 REX to access upper XMM reg
    145 	CVTTSD2SIq %xmm7,%r8	      #	 --  --	 F2 4C	 0f 2c c7	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                  REX to access upper reg.
    146 	CVTTSD2SIq %xmm7,%rax	      #	 --  --	 F2 48	 0f 2c c7	                 ; OVR 128-bit media instruction override REX for 64-bit operand size
    147 	CVTTSD2SIq %xmm0,%r8	      #	 --  --	 F2 4C	 0f 2c c0	                 ; OVR 128-bit media instruction override REX for 64-bit operand size                 REX to access upper reg.
    148 
    149         # CVTSS2SI
    150 	CVTSS2SIq (%r8),%rax	      #	 --  --	 F3 49	 0f 2d 00	                 ; OVR 128-bit media instruction override Result is sign extended                         REX for 64-bit operand size                  REX to access upper reg.
    151 	CVTSS2SIq (%rax),%rax	      #	 --  --	 F3 48	 0f 2d 00	                 ; OVR 128-bit media instruction override Result is sign extended                       REX for 64-bit operand size
    152 	CVTSS2SIq (%r8),%r8	      #	 --  --	 F3 4D	 0f 2d 00	                 ; OVR 128-bit media instruction override Result is sign extended                        REX for 64-bit operand size                  REX to access upper reg.
    153 	CVTSS2SIq (%rax),%r8	      #	 --  --	 F3 4C	 0f 2d 00	                 ; OVR 128-bit media instruction override Result is sign extended                         REX for 64-bit operand size                 REX to access upper reg.
    154 	CVTSS2SIq %xmm0,%rax	      #	 --  --	 F3 48	 0f 2d c0	                 ; OVR 128-bit media instruction override Result is sign extended                       REX for 64-bit operand size
    155 	CVTSS2SIq %xmm15,%r8	      #	 --  --	 F3 4D	 0f 2d c7	                 ; OVR 128-bit media instruction override Result is sign extended                       REX to access upper XMM reg            REX to access upper reg.
    156 	CVTSS2SIq %xmm15,%rax	      #	 --  --	 F3 49	 0f 2d c7	                 ; OVR 128-bit media instruction override Result is sign extended                       REX for 64-bit operand size                 REX to access upper XMM reg
    157 	CVTSS2SIq %xmm8,%r8	      #	 --  --	 F3 4D	 0f 2d c0	                 ; OVR 128-bit media instruction override Result is sign extended                          REX for 64-bit operand size                  REX to access upper XMM reg              REX to access upper reg.
    158 	CVTSS2SIq %xmm8,%rax	      #	 --  --	 F3 49	 0f 2d c0	                 ; OVR 128-bit media instruction override Result is sign extended                          REX for 64-bit operand size
    159 	CVTSS2SIq %xmm7,%r8	      #	 --  --	 F3 4C	 0f 2d c7	                 ; OVR 128-bit media instruction override Result is sign extended                       REX for 64-bit operand size                 REX to access upper reg.
    160 	CVTSS2SIq %xmm7,%rax	      #	 --  --	 F3 48	 0f 2d c7	                 ; OVR 128-bit media instruction override Result is sign extended                          REX for 64-bit operand size
    161 	CVTSS2SIq %xmm0,%r8	      #	 --  --	 F3 4C	 0f 2d c0	                 ; OVR 128-bit media instruction override Result is sign extended                       REX for 64-bit operand size                REX to access upper reg.
    162 
    163         # CVTTSS2SI
    164 	CVTTSS2SIq (%r8),%rax	      #	 --  --	 F3 49	 0f 2c 00	                 ; OVR 128-bit media instruction override Result is sign extended                       REX for 64-bit operand size                  REX to access upper reg.
    165 	CVTTSS2SIq (%rax),%rax	      #	 --  --	 F3 48	 0f 2c 00	                 ; OVR 128-bit media instruction override Result is sign extended                        REX for 64-bit operand size
    166 	CVTTSS2SIq (%r8),%r8	      #	 --  --	 F3 4D	 0f 2c 00	                 ; OVR 128-bit media instruction override Result is sign extended                        REX for 64-bit operand size                   REX to access upper reg.
    167 	CVTTSS2SIq (%rax),%r8	      #	 --  --	 F3 4C	 0f 2c 00	                 ; OVR 128-bit media instruction override Result is sign extended                       REX for 64-bit operand size                    REX to access upper reg.
    168 	CVTTSS2SIq %xmm0,%rax	      #	 --  --	 F3 48	 0f 2c c0	                 ; OVR 128-bit media instruction override Result is sign extended                        REX for 64-bit operand size
    169 	CVTTSS2SIq %xmm15,%r8	      #	 --  --	 F3 4D	 0f 2c c7	                 ; OVR 128-bit media instruction override Result is sign extended                       REX for 64-bit operand size                 REX to access upper XMM reg            REX to access upper reg.
    170 	CVTTSS2SIq %xmm15,%rax	      #	 --  --	 F3 49	 0f 2c c7	                 ; OVR 128-bit media instruction override Result is sign extended                        REX for 64-bit operand size                 REX to access upper XMM reg
    171 	CVTTSS2SIq %xmm8,%r8	      #	 --  --	 F3 4D	 0f 2c c0	                 ; OVR 128-bit media instruction override Result is sign extended                          REX for 64-bit operand size                  REX to access upper XMM reg               REX to access upper reg.
    172 	CVTTSS2SIq %xmm8,%rax	      #	 --  --	 F3 49	 0f 2c c0	                 ; OVR 128-bit media instruction override Result is sign extended                        REX for 64-bit operand size
    173 	CVTTSS2SIq %xmm7,%r8	      #	 --  --	 F3 4C	 0f 2c c7	                 ; OVR 128-bit media instruction override Result is sign extended                        REX for 64-bit operand size                 REX to access upper reg.
    174 	CVTTSS2SIq %xmm7,%rax	      #	 --  --	 F3 48	 0f 2c c7	                 ; OVR 128-bit media instruction override Result is sign extended
    175 	CVTTSS2SIq %xmm0,%r8	      #	 --  --	 F3 4C	 0f 2c c0	                 ; OVR 128-bit media instruction override Result is sign extended                          REX for 64-bit operand size                 REX to access upper reg.
    176 
    177         # CVTSI2SS
    178 	CVTSI2SS  (%r8),%xmm0	      #	 --  --	 F3 41	 0f 2a 00	                 ; OVR 128-bit media instruction override REX to access upper reg.
    179 	CVTSI2SS  (%rax),%xmm0	      #	 --  --	 F3 --	 0f 2a 00	 ; OVR 128-bit media instruction override
    180 	CVTSI2SS  (%r8),%xmm15	      #	 --  --	 F3 45	 0f 2a 38	                 ; OVR 128-bit media instruction override REX to access upper XMM reg            REX to access upper reg.
    181 	CVTSI2SS  (%rax),%xmm15	      #	 --  --	 F3 44	 0f 2a 38	                 ; OVR 128-bit media instruction override REX to access upper XMM reg
    182 	CVTSI2SS  (%r8),%xmm8	      #	 --  --	 F3 45	 0f 2a 00	                 ; OVR 128-bit media instruction override REX to access upper XMM reg            REX to access upper reg.
    183 	CVTSI2SS  (%rax),%xmm8	      #	 --  --	 F3 44	 0f 2a 00	                 ; OVR 128-bit media instruction override REX to access upper XMM reg
    184 	CVTSI2SS  (%r8),%xmm7	      #	 --  --	 F3 41	 0f 2a 38	                 ; OVR 128-bit media instruction override REX to access upper reg.
    185 	CVTSI2SS  (%rax),%xmm7	      #	 --  --	 F3 --	 0f 2a 38	                 ; OVR 128-bit media instruction override
    186 	CVTSI2SS  %eax,%xmm0	      #	 --  --	 F3 --	 0f 2a c0	                 ; OVR 128-bit media instruction override
    187 	CVTSI2SS  %eax,%xmm15	      #	 --  --	 F3 44	 0f 2a f8	                 ; OVR 128-bit media instruction override REX to access upper XMM reg
    188 	CVTSI2SS  %eax,%xmm8	      #	 --  --	 F3 44	 0f 2a c0	                 ; OVR 128-bit media instruction override REX to access upper XMM reg
    189 	CVTSI2SS  %eax,%xmm7	      #	 --  --	 F3 --	 0f 2a f8	                 ; OVR 128-bit media instruction override
    190 	CVTSI2SS  (%r8),%xmm0	      #	 --  --	 F3 41	 0f 2a 00	                 ; OVR 128-bit media instruction override REX to access upper reg.
    191 	CVTSI2SS  (%rax),%xmm0	      #	 --  --	 F3 --	 0f 2a 00	                 ; OVR 128-bit media instruction override
    192 	CVTSI2SS  (%r8),%xmm15	      #	 --  --	 F3 45	 0f 2a 38	                 ; OVR 128-bit media instruction override REX to access upper XMM reg            REX to access upper reg.
    193 	CVTSI2SS  (%rax),%xmm15	      #	 --  --	 F3 44	 0f 2a 38	                 ; OVR 128-bit media instruction override REX to access upper XMM reg
    194 	CVTSI2SS  (%r8),%xmm8	      #	 --  --	 F3 45	 0f 2a 00	                 ; OVR 128-bit media instruction override REX to access upper XMM reg            REX to access upper reg.
    195 	CVTSI2SS  (%rax),%xmm8	      #	 --  --	 F3 44	 0f 2a 00	                 ; OVR 128-bit media instruction override REX to access upper XMM reg
    196 	CVTSI2SS  (%r8),%xmm7	      #	 --  --	 F3 41	 0f 2a 38	                 ; OVR 128-bit media instruction override REX to access upper reg.
    197 	CVTSI2SS  (%rax),%xmm7	      #	 --  --	 F3 --	 0f 2a 38	                 ; OVR 128-bit media instruction override
    198 
    199         # CVTSI2SD
    200 	CVTSI2SD  (%r8),%xmm0	      #	 --  --	 F2 41	 0F 2A 00			 ; REX to access upper reg. OVR 128bit MMinstr.
    201 	CVTSI2SD  (%rax),%xmm0	      #	 --  --	 F2 --	 0F 2A 00			 ; OVR 128bit MMinstr.
    202 	CVTSI2SD  (%r8),%xmm15	      #	 --  --	 F2 45	 0F 2A 38			 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
    203 	CVTSI2SD  (%rax),%xmm15	      #	 --  --	 F2 44	 0F 2A 38			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    204 	CVTSI2SD  (%r8),%xmm8	      #	 --  --	 F2 45	 0F 2A 00			 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
    205 	CVTSI2SD  (%rax),%xmm8	      #	 --  --	 F2 44	 0F 2A 00			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    206 	CVTSI2SD  (%r8),%xmm7	      #	 --  --	 F2 41	 0F 2A 38			 ; REX to access upper reg. OVR 128bit MMinstr.
    207 	CVTSI2SD  (%rax),%xmm7	      #	 --  --	 F2 --	 0F 2A 38			 ; OVR 128bit MMinstr.
    208 	CVTSI2SD  %eax,%xmm0	      #	 --  --	 F2 --	 0F 2A C0			 ; OVR 128bit MMinstr.
    209 	CVTSI2SD  %eax,%xmm15	      #	 --  --	 F2 44	 0F 2A F8			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    210 	CVTSI2SD  %eax,%xmm8	      #	 --  --	 F2 44	 0F 2A C0			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    211 	CVTSI2SD  %eax,%xmm7	      #	 --  --	 F2 --	 0F 2A F8			 ; OVR 128bit MMinstr.
    212 	CVTSI2SD  (%r8),%xmm0	      #	 --  --	 F2 41	 0F 2A 00			 ; REX to access upper reg. OVR 128bit MMinstr.
    213 	CVTSI2SD  (%rax),%xmm0	      #	 --  --	 F2 --	 0F 2A 00			 ; OVR 128bit MMinstr.
    214 	CVTSI2SD  (%r8),%xmm15	      #	 --  --	 F2 45	 0F 2A 38			 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
    215 	CVTSI2SD  (%rax),%xmm15	      #	 --  --	 F2 44	 0F 2A 38			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    216 	CVTSI2SD  (%r8),%xmm8	      #	 --  --	 F2 45	 0F 2A 00			 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
    217 	CVTSI2SD  (%rax),%xmm8	      #	 --  --	 F2 44	 0F 2A 00			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    218 	CVTSI2SD  (%r8),%xmm7	      #	 --  --	 F2 41	 0F 2A 38			 ; REX to access upper reg. OVR 128bit MMinstr.
    219 	CVTSI2SD  (%rax),%xmm7	      #	 --  --	 F2 --	 0F 2A 38			 ; OVR 128bit MMinstr.
    220 
    221 	# MOVD
    222 	MOVD (%r8),%xmm0	      #	 --  --	 66 41	 0F 6E 00			 ; REX to access upper reg. Data128 = ZEXT(Data32). OVR 128bit MMinstr.
    223 	MOVD (%rax),%xmm0	      #	 --  --	 66 --	 0F 6E 00			 ; Data128 = ZEXT(Data32). OVR 128bit MMinstr.
    224 	MOVD (%r8),%xmm15	      #	 --  --	 66 45	 0F 6E 38			 ; REX to access upper XMM reg. REX to access upper reg. Data128 = ZEXT(Data32)
    225 	MOVD (%rax),%xmm15	      #	 --  --	 66 44	 0F 6E 38			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    226 	MOVD (%r8),%xmm8	      #	 --  --	 66 45	 0F 6E 00			 ; REX to access upper XMM reg. REX to access upper reg. Data128 = ZEXT(Data32)
    227 	MOVD (%rax),%xmm8	      #	 --  --	 66 44	 0F 6E 00			 ; REX to access upper XMM reg. Data128 = ZEXT(Data32). OVR 128bit MMinstr.
    228 	MOVD (%r8),%xmm7	      #	 --  --	 66 41	 0F 6E 38			 ; REX to access upper reg. Data128 = ZEXT(Data32). OVR 128bit MMinstr.
    229 	MOVD (%rax),%xmm7	      #	 --  --	 66 --	 0F 6E 38			 ; Data128 = ZEXT(Data32). OVR 128bit MMinstr.
    230 	MOVD %eax,%xmm0		      #	 --  --	 66 --	 0F 6E C0			 ; Data128 = ZEXT(Data32). OVR 128bit MMinstr.
    231 	MOVD %eax,%xmm15	      #	 --  --	 66 44	 0F 6E F8			 ; REX to access upper XMM reg. Data128 = ZEXT(Data32). OVR 128bit MMinstr.
    232 	MOVD %eax,%xmm8		      #	 --  --	 66 44	 0F 6E C0			 ; REX to access upper XMM reg. Data128 = ZEXT(Data32). OVR 128bit MMinstr.
    233 	MOVD %eax,%xmm7		      #	 --  --	 66 --	 0F 6E F8			 ; Data128 = ZEXT(Data32). OVR 128bit MMinstr.
    234 	MOVD %xmm0,(%r8)	      #	 --  --	 66 41	 0F 7E 00			 ; REX to access upper reg. OVR 128bit MMinstr.
    235 	MOVD %xmm0,(%rax)	      #	 --  --	 66 --	 0F 7E 00			 ; OVR 128bit MMinstr.
    236 	MOVD %xmm15,(%r8)	      #	 --  --	 66 45	 0F 7E 38			 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
    237 	MOVD %xmm15,(%rax)	      #	 --  --	 66 44	 0F 7E 38			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    238 	MOVD %xmm8,(%r8)	      #	 --  --	 66 45	 0F 7E 00			 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
    239 	MOVD %xmm8,(%rax)	      #	 --  --	 66 44	 0F 7E 00			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    240 	MOVD %xmm7,(%r8)	      #	 --  --	 66 41	 0F 7E 38			 ; REX to access upper reg. OVR 128bit MMinstr.
    241 	MOVD %xmm7,(%rax)	      #	 --  --	 66 --	 0F 7E 38			 ; OVR 128bit MMinstr.
    242 	MOVD %xmm0,%eax		      #	 --  --	 66 --	 0F 7E C0			 ; OVR 128bit MMinstr.
    243 	MOVD %xmm15,%eax	      #	 --  --	 66 44	 0F 7E F8			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    244 	MOVD %xmm8,%eax		      #	 --  --	 66 44	 0F 7E C0			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    245 	MOVD %xmm7,%eax		      #	 --  --	 66 --	 0F 7E F8			 ; OVR 128bit MMinstr.
    246 	MOVD %rax,%xmm0		      #	 --  --	 66 48	 0F 6E C0			 ; Data128 = ZEXT(Data64). OVR 128bit MMinstr. REX for 64-bit operand size.
    247 	MOVD %r8,%xmm0		      #	 --  --	 66 49	 0F 6E C0			 ; REX to access upper reg. Data128 = ZEXT(Data64). OVR 128bit MMinstr. REX for 64-bit operand size.
    248 	MOVD %r8,%xmm15 	      #	 --  --	 66 4D	 0F 6E F8			 ; REX to access upper reg. Data128 = ZEXT(Data64). OVR 128bit MMinstr. REX for 64-bit operand size.
    249 	MOVD %xmm0,%rax		      #	 --  --	 66 48	 0F 7E C0			 ; OVR 128bit MMinstr. REX for 64-bit operand size.
    250 	MOVD %xmm0,%r8		      #	 --  --	 66 49	 0F 7E C0			 ; OVR 128bit MMinstr. REX for 64-bit operand size.
    251 	MOVD %xmm7,%r8		      #	 --  --	 66 49	 0F 7E F8			 ; OVR 128bit MMinstr. REX for 64-bit operand size.
    252 
    253 	# MOVQ
    254 	MOVQ (%r8),%xmm0	      #	 --  --	 F3 41	 0F 7E 00			 ; REX to access upper reg. Data128 = ZEXT(Data64). OVR 128bit MMinstr.
    255 	MOVQ (%rax),%xmm0	      #	 --  --	 F3 --	 0F 7E 00			 ; Data128 = ZEXT(Data64). OVR 128bit MMinstr.
    256 	MOVQ (%r8),%xmm15	      #	 --  --	 F3 45	 0F 7E 38			 ; REX to access upper XMM reg. REX to access upper reg. Data128 = ZEXT(Data64)
    257 	MOVQ (%rax),%xmm15	      #	 --  --	 F3 44	 0F 7E 38			 ; REX to access upper XMM reg. Data128 = ZEXT(Data64). OVR 128bit MMinstr.
    258 	MOVQ (%r8),%xmm8	      #	 --  --	 F3 45	 0F 7E 00			 ; REX to access upper XMM reg. REX to access upper reg. Data128 = ZEXT(Data64)
    259 	MOVQ (%rax),%xmm8	      #	 --  --	 F3 44	 0F 7E 00			 ; REX to access upper XMM reg. Data128 = ZEXT(Data64). OVR 128bit MMinstr.
    260 	MOVQ (%r8),%xmm7	      #	 --  --	 F3 41	 0F 7E 38			 ; REX to access upper reg. Data128 = ZEXT(Data64). OVR 128bit MMinstr.
    261 	MOVQ (%rax),%xmm7	      #	 --  --	 F3 --	 0F 7E 38			 ; Data128 = ZEXT(Data64). OVR 128bit MMinstr.
    262 	MOVQ %xmm0,%xmm0	      #	 --  --	 F3 --	 0F 7E C0			 ; OVR 128bit MMinstr.
    263 	MOVQ %xmm15,%xmm15	      #	 --  --	 F3 45	 0F 7E FF			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    264 	MOVQ %xmm15,%xmm8	      #	 --  --	 F3 45	 0F 7E C7			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    265 	MOVQ %xmm15,%xmm7	      #	 --  --	 F3 41	 0F 7E FF			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    266 	MOVQ %xmm15,%xmm0	      #	 --  --	 F3 41	 0F 7E C7			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    267 	MOVQ %xmm8,%xmm15	      #	 --  --	 F3 45	 0F 7E F8			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    268 	MOVQ %xmm8,%xmm8	      #	 --  --	 F3 45	 0F 7E C0			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    269 	MOVQ %xmm8,%xmm7	      #	 --  --	 F3 41	 0F 7E F8			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    270 	MOVQ %xmm8,%xmm0	      #	 --  --	 F3 41	 0F 7E C0			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    271 	MOVQ %xmm7,%xmm15	      #	 --  --	 F3 44	 0F 7E FF			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    272 	MOVQ %xmm7,%xmm8	      #	 --  --	 F3 44	 0F 7E C7			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    273 	MOVQ %xmm7,%xmm7	      #	 --  --	 F3 --	 0F 7E FF			 ; OVR 128bit MMinstr.
    274 	MOVQ %xmm7,%xmm0	      #	 --  --	 F3 --	 0F 7E C7			 ; OVR 128bit MMinstr.
    275 	MOVQ %xmm0,%xmm15	      #	 --  --	 F3 44	 0F 7E F8			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    276 	MOVQ %xmm0,%xmm8	      #	 --  --	 F3 44	 0F 7E C0			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    277 	MOVQ %xmm0,%xmm7	      #	 --  --	 F3 --	 0F 7E F8			 ; OVR 128bit MMinstr.
    278 	MOVQ %xmm0,(%r8)	      #	 --  --	 66 41	 0F D6 00			 ; REX to access upper reg. OVR 128bit MMinstr.
    279 	MOVQ %xmm0,(%rax)	      #	 --  --	 66 --	 0F D6 00			 ; OVR 128bit MMinstr.
    280 	MOVQ %xmm15,(%r8)	      #	 --  --	 66 45	 0F D6 38			 ; REX to access upper reg. OVR 128bit MMinstr.
    281 	MOVQ %xmm15,(%rax)	      #	 --  --	 66 44	 0F D6 38			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    282 	MOVQ %xmm8,(%r8)	      #	 --  --	 66 45	 0F D6 00			 ; REX to access upper XMM reg. REX to access upper reg. OVR 128bit MMinstr.
    283 	MOVQ %xmm8,(%rax)	      #	 --  --	 66 44	 0F D6 00			 ; REX to access upper XMM reg. OVR 128bit MMinstr.
    284 	MOVQ %xmm7,(%r8)	      #	 --  --	 66 41	 0F D6 38			 ; REX to access upper reg. OVR 128bit MMinstr.
    285 
    286 	# 64-bit MMX
    287 
    288 	# CVTPD2PI
    289 
    290 	# MOVD
    291 	MOVD (%r8),%mm0		      #	 --  --	 -- 41	 0F 6E 00			 ; REX to access upper reg. Data64 = ZEXT(Data32)
    292 	MOVD (%rax),%mm0	      #	 --  --	 -- --	 0F 6E 00			 ; Data64 = ZEXT(Data32)
    293 	MOVD (%r8),%mm7		      #	 --  --	 -- 41	 0F 6E 38			 ; REX to access upper reg. Data64 = ZEXT(Data32)
    294 	MOVD (%rax),%mm7	      #	 --  --	 -- --	 0F 6E 38			 ; Data64 = ZEXT(Data32)
    295 	MOVD %eax,%mm0		      #	 --  --	 -- --	 0F 6E C0			 ; Data64 = ZEXT(Data32)
    296 	MOVD %eax,%mm7		      #	 --  --	 -- --	 0F 6E F8			 ; Data64 = ZEXT(Data32)
    297 	MOVD %mm0,(%r8)		      #	 --  --	 -- 41	 0F 7E 00			 ; REX to access upper reg.
    298 	MOVD %mm0,(%rax)	      #	 --  --	 -- --	 0F 7E 00
    299 	MOVD %mm7,(%r8)		      #	 --  --	 -- 41	 0F 7E 38			 ; REX to access upper reg.
    300 	MOVD %mm7,(%rax)	      #	 --  --	 -- --	 0F 7E 38
    301 	MOVD %mm0,%eax		      #	 --  --	 -- --	 0F 7E C0
    302 	MOVD %mm7,%eax		      #	 --  --	 -- --	 0F 7E F8
    303 
    304 	# MOVQ
    305 	MOVQ (%r8),%mm0		      #	 --  --	 -- 41	 0F 6F 00			 ; REX to access upper reg.
    306 	MOVQ (%rax),%mm0	      #	 --  --	 -- --	 0F 6F 00
    307 	MOVQ (%r8),%mm7		      #	 --  --	 -- 41	 0F 6F 38			 ; REX to access upper reg.
    308 	MOVQ (%rax),%mm7	      #	 --  --	 -- --	 0F 6F 38
    309 	MOVQ %mm0,(%r8)		      #	 --  --	 -- 41	 0F 7F 00			 ; REX to access upper reg.
    310 	MOVQ %mm0,(%rax)	      #	 --  --	 -- --	 0F 7F 00
    311 	MOVQ %mm7,(%r8)		      #	 --  --	 -- 41	 0F 7F 38			 ; REX to access upper reg.
    312 	MOVQ %mm7,(%rax)	      #	 --  --	 -- --	 0F 7F 38
    313 
    314 	# X87
    315 	# FADDP
    316 
    317 
    318 	# FDIV
    319 
    320 	# Stack Operations
    321 
    322 	# POP
    323 	POPq (%r8)		      #	 --  --	 -- 41	 8F 00				 ; REX to access upper reg.
    324 	POPq (%rax)		      #	 --  --	 -- --	 8F 00
    325 	POPFQ			      #	 --  --	 -- --	 9D
    326 
    327 	# PUSH
    328 	PUSHq (%r8)		      #	 --  --	 -- 41	 FF 30				 ; REX to access upper reg.
    329 	PUSHq (%rax)		      #	 --  --	 -- --	 FF 30
    330 	PUSHFQ			      #	 --  --	 -- --	 9C
    331 
    332 
    333 
    334 
    335 
    336 	# MMX/XMM/x87 State
    337 	# FNSAVE
    338 	# FRSTOR
    339 	# FSAVE
    340 	# FXRSTOR
    341 	# FXSAVE
    342 	# EMMS
    343 	EMMS			      #	 --  --	 -- --	 0F 77
    344 	# FEMMS
    345 	FEMMS			      #	 --  --	 -- --	 0F 0E
    346 
    347 	# LEA calculation
    348 
    349 	# MISC System Instructions
    350 	# CLFLUSH
    351 
    352 	# INVD
    353 	INVD			      #	 --  --	 -- --	 0F 08
    354 
    355 	# INVLPG
    356 	INVLPG (%r8)		      #	 --  --	 -- 41	 0F 01 38			 ; REX to access upper reg.
    357 	INVLPG (%rax)		      #	 --  --	 -- --	 0F 01 38
    358 	INVLPG (%r8)		      #	 --  --	 -- 41	 0F 01 38			 ; REX to access upper reg.
    359 	INVLPG (%rax)		      #	 --  --	 -- --	 0F 01 38
    360 	INVLPG (%r8)		      #	 --  --	 -- 41	 0F 01 38			 ; REX to access upper reg.
    361 	INVLPG (%rax)		      #	 --  --	 -- --	 0F 01 38
    362 
    363 	# LAR
    364 
    365 	# LGDT
    366 
    367 	# LIDT
    368 
    369 
    370 	# LLDT
    371 
    372 	# SGDT
    373 
    374 	# SIDT
    375 
    376 	# SLDT
    377 #        SLDT (%eax)	              #  --  67	 -- --	 0F 00 00	                 ; A32 override: (Addr64) = ZEXT(Addr32 )
    378         SLDT %eax	              #  --  --	 -- --	 0F 00 C0
    379         SLDT %rax	              #  --  --	 -- 48	 0F 00 C0
    380         SLDT %ax	              #  66  --	 -- --	 0F 00 C0
    381         SLDT (%rax)	              #  --  --	 -- --	 0F 00 00
    382 
    383 	# SWAPGS
    384 
    385 
    386 
    387 	# IO
    388 
    389 	# OUT
    390 	OUT %al,$0		      #	 --  --	 -- --	 E6 00
    391 	OUT %ax,$0		      #	 66  --	 -- --	 E7 00				 ; O16 for 16-bit operand size
    392 	OUT %eax,$0		      #	 --  --	 -- --	 E7 00
    393 
    394 	# IN
    395 
    396 
    397 
    398 	xchg %ax,%ax		      # 66  --	 -- --	 90
    399 	xchg %eax,%eax		      # --  --	 -- --	 87 C0
    400 	xchg %rax,%rax		      # --  --	 -- --	 90
    401 	rex64 xchg %rax,%rax	      # --  --	 -- 48	 90
    402 	xchg %rax,%r8		      # --  --	 -- 49	 90
    403 	xchg %eax,%r8d		      # --  --	 -- 41	 90
    404 	xchg %r8d,%eax		      # --  --	 -- 41	 90
    405 	xchg %eax,%r9d		      # --  --	 -- 41	 91
    406 	xchg %r9d,%eax		      # --  --	 -- 41	 91
    407 	xchg %ebx,%eax		      # --  --	 -- 93
    408 	xchg %eax,%ebx		      # --  --	 -- 93
    409 	xchg %ax,%r8w		      # --  --	 -- 66 41 90
    410 	xchg %r8w,%ax		      # --  --	 -- 66 41 90
    411 	xchg %ax,%r9w		      # --  --	 -- 66 41 91
    412 	xchg %r9w,%ax		      # --  --	 -- 66 41 91
    413 
    414         smsw %rax	              #  --  --	 -- 48	 0F 01 e0
    415         smsw %eax	              #  --  --	 -- --	 0F 01 e0
    416         smsw %ax	              #  66  --	 -- --	 0F 01 e0
    417         smsw (%rax)	              #  --  --	 -- --	 0F 01 20
    418 
    419         str %rax	              #  --  --	 -- 48	 0F 00 c8
    420         str %eax	              #  --  --	 -- --	 0F 00 c8
    421         str %ax		              #  66  --	 -- --	 0F 00 c8
    422         str (%rax)	              #  --  --	 -- --	 0F 00 08
    423 
    424         syscall		              #  --  --	 -- --	 0F 05
    425         sysret		              #  --  --	 -- --	 0F 07
    426 
    427         swapgs		              #  --  --	 -- --	 0F 01 f8
    428 
    429 	pushw $0x2222
    430