-; $Id: instrs.dat,v 1.5 2001/05/30 07:07:16 peter Exp $
+; $Id: instrs.dat,v 1.6 2001/05/30 08:00:26 peter Exp $
; List of valid instruction/operand combinations
;
; Copyright (C) 2001 Peter Johnson
; Doublecheck AMD and Cyrix instructions.
; Doublecheck the segreg mov instructions.
;
-; Inst Operands OpSize Opcode EffAddr Imm CPU
-aaa nil nil 37 nil nil 8086
-aad nil nil D5,0A nil nil 8086
-aad imm8 nil D5 nil $1,8 8086
-aam nil nil D4,0A nil nil 8086
-aam imm8 nil D4 nil $1,8 8086
-aas nil nil 3F nil nil 8086
-adc REG_AL,imm8 nil 14 nil $2,8 8086
-adc REG_AX,imm16 16 15 nil $2,16 8086
-adc REG_EAX,imm32 32 15 nil $2,32 386
-adc reg8,imm nil 80 $1r,2 $2,8 8086
-adc mem8x,imm nil 80 $1,2 $2,8 8086
-adc reg8,imm8x nil 80 $1r,2 $2,8 8086
-adc mem,imm8x nil 80 $1,2 $2,8 8086
-adc reg16,imm 16 81 $1r,2 $2,16 8086
-adc mem16x,imm 16 81 $1,2 $2,16 8086
-adc reg16,imm16x 16 81 $1r,2 $2,16 8086
-adc mem,imm16x 16 81 $1,2 $2,16 8086
-adc reg32,imm 32 81 $1r,2 $2,32 386
-adc mem32x,imm 32 81 $1,2 $2,32 386
-adc reg32,imm32x 32 81 $1r,2 $2,32 386
-adc mem,imm32x 32 81 $1,2 $2,32 386
-adc reg16,imm8x 16 83 $1r,2 $2,8s 8086
-adc mem16x,imm8x 16 83 $1,2 $2,8s 8086
-adc reg32,imm8x 32 83 $1r,2 $2,8s 386
-adc mem32x,imm8x 32 83 $1,2 $2,8s 386
+; Inst Operands OpSize Opcode EffAddr Imm CPU
+aaa nil nil 37 nil nil 8086
+aad nil nil D5,0A nil nil 8086
+aad imm8 nil D5 nil $1,8 8086
+aam nil nil D4,0A nil nil 8086
+aam imm8 nil D4 nil $1,8 8086
+aas nil nil 3F nil nil 8086
+adc REG_AL,imm8 nil 14 nil $2,8 8086
+adc REG_AX,imm16 16 15 nil $2,16 8086
+adc REG_EAX,imm32 32 15 nil $2,32 386
+adc reg8,imm nil 80 $1r,2 $2,8 8086
+adc mem8x,imm nil 80 $1,2 $2,8 8086
+adc reg8,imm8x nil 80 $1r,2 $2,8 8086
+adc mem,imm8x nil 80 $1,2 $2,8 8086
+adc reg16,imm 16 81 $1r,2 $2,16 8086
+adc mem16x,imm 16 81 $1,2 $2,16 8086
+adc reg16,imm16x 16 81 $1r,2 $2,16 8086
+adc mem,imm16x 16 81 $1,2 $2,16 8086
+adc reg32,imm 32 81 $1r,2 $2,32 386
+adc mem32x,imm 32 81 $1,2 $2,32 386
+adc reg32,imm32x 32 81 $1r,2 $2,32 386
+adc mem,imm32x 32 81 $1,2 $2,32 386
+adc reg16,imm8x 16 83 $1r,2 $2,8s 8086
+adc mem16x,imm8x 16 83 $1,2 $2,8s 8086
+adc reg32,imm8x 32 83 $1r,2 $2,8s 386
+adc mem32x,imm8x 32 83 $1,2 $2,8s 386
; opcode arbitrarily picked for next 3 (could be 12/13 instead of 10/11).
-adc reg8,reg8 nil 10 $1r,$2 nil 8086
-adc reg16,reg16 16 11 $1r,$2 nil 8086
-adc reg32,reg32 32 11 $1r,$2 nil 386
-adc mem,reg8 nil 10 $1,$2 nil 8086
-adc mem8x,reg8 nil 10 $1,$2 nil 8086
-adc mem,reg16 16 11 $1,$2 nil 8086
-adc mem16x,reg16 16 11 $1,$2 nil 8086
-adc mem,reg32 32 11 $1,$2 nil 386
-adc mem32x,reg32 32 11 $1,$2 nil 386
-adc reg8,mem8 nil 12 $2,$1 nil 8086
-adc reg16,mem16 16 13 $2,$1 nil 8086
-adc reg32,mem32 32 13 $2,$1 nil 386
-add REG_AL,imm8 nil 04 nil $2,8 8086
-add REG_AX,imm16 16 05 nil $2,16 8086
-add REG_EAX,imm32 32 05 nil $2,32 386
-add reg8,imm nil 80 $1r,0 $2,8 8086
-add mem8x,imm nil 80 $1,0 $2,8 8086
-add reg8,imm8x nil 80 $1r,0 $2,8 8086
-add mem,imm8x nil 80 $1,0 $2,8 8086
-add reg16,imm 16 81 $1r,0 $2,16 8086
-add mem16x,imm 16 81 $1,0 $2,16 8086
-add reg16,imm16x 16 81 $1r,0 $2,16 8086
-add mem,imm16x 16 81 $1,0 $2,16 8086
-add reg32,imm 32 81 $1r,0 $2,32 386
-add mem32x,imm 32 81 $1,0 $2,32 386
-add reg32,imm32x 32 81 $1r,0 $2,32 386
-add mem,imm32x 32 81 $1,0 $2,32 386
-add reg16,imm8x 16 83 $1r,0 $2,8s 8086
-add mem16x,imm8x 16 83 $1,0 $2,8s 8086
-add reg32,imm8x 32 83 $1r,0 $2,8s 386
-add mem32x,imm8x 32 83 $1,0 $2,8s 386
+adc reg8,reg8 nil 10 $1r,$2 nil 8086
+adc reg16,reg16 16 11 $1r,$2 nil 8086
+adc reg32,reg32 32 11 $1r,$2 nil 386
+adc mem,reg8 nil 10 $1,$2 nil 8086
+adc mem8x,reg8 nil 10 $1,$2 nil 8086
+adc mem,reg16 16 11 $1,$2 nil 8086
+adc mem16x,reg16 16 11 $1,$2 nil 8086
+adc mem,reg32 32 11 $1,$2 nil 386
+adc mem32x,reg32 32 11 $1,$2 nil 386
+adc reg8,mem8 nil 12 $2,$1 nil 8086
+adc reg16,mem16 16 13 $2,$1 nil 8086
+adc reg32,mem32 32 13 $2,$1 nil 386
+add REG_AL,imm8 nil 04 nil $2,8 8086
+add REG_AX,imm16 16 05 nil $2,16 8086
+add REG_EAX,imm32 32 05 nil $2,32 386
+add reg8,imm nil 80 $1r,0 $2,8 8086
+add mem8x,imm nil 80 $1,0 $2,8 8086
+add reg8,imm8x nil 80 $1r,0 $2,8 8086
+add mem,imm8x nil 80 $1,0 $2,8 8086
+add reg16,imm 16 81 $1r,0 $2,16 8086
+add mem16x,imm 16 81 $1,0 $2,16 8086
+add reg16,imm16x 16 81 $1r,0 $2,16 8086
+add mem,imm16x 16 81 $1,0 $2,16 8086
+add reg32,imm 32 81 $1r,0 $2,32 386
+add mem32x,imm 32 81 $1,0 $2,32 386
+add reg32,imm32x 32 81 $1r,0 $2,32 386
+add mem,imm32x 32 81 $1,0 $2,32 386
+add reg16,imm8x 16 83 $1r,0 $2,8s 8086
+add mem16x,imm8x 16 83 $1,0 $2,8s 8086
+add reg32,imm8x 32 83 $1r,0 $2,8s 386
+add mem32x,imm8x 32 83 $1,0 $2,8s 386
; opcode arbitrarily picked for next 3 (could be 02/03 instead of 00/01).
-add reg8,reg8 nil 00 $1r,$2 nil 8086
-add reg16,reg16 16 01 $1r,$2 nil 8086
-add reg32,reg32 32 01 $1r,$2 nil 386
-add mem,reg8 nil 00 $1,$2 nil 8086
-add mem8x,reg8 nil 00 $1,$2 nil 8086
-add mem,reg16 16 01 $1,$2 nil 8086
-add mem16x,reg16 16 01 $1,$2 nil 8086
-add mem,reg32 32 01 $1,$2 nil 386
-add mem32x,reg32 32 01 $1,$2 nil 386
-add reg8,mem8 nil 02 $2,$1 nil 8086
-add reg16,mem16 16 03 $2,$1 nil 8086
-add reg32,mem32 32 03 $2,$1 nil 386
+add reg8,reg8 nil 00 $1r,$2 nil 8086
+add reg16,reg16 16 01 $1r,$2 nil 8086
+add reg32,reg32 32 01 $1r,$2 nil 386
+add mem,reg8 nil 00 $1,$2 nil 8086
+add mem8x,reg8 nil 00 $1,$2 nil 8086
+add mem,reg16 16 01 $1,$2 nil 8086
+add mem16x,reg16 16 01 $1,$2 nil 8086
+add mem,reg32 32 01 $1,$2 nil 386
+add mem32x,reg32 32 01 $1,$2 nil 386
+add reg8,mem8 nil 02 $2,$1 nil 8086
+add reg16,mem16 16 03 $2,$1 nil 8086
+add reg32,mem32 32 03 $2,$1 nil 386
addpd XMMREG,rm128 nil 66,0F,58 $2,$1 nil P4,SSE2
-addps XMMREG,rm128 nil 0F,58 $2,$1 nil KATMAI,SSE
+addps XMMREG,rm128 nil 0F,58 $2,$1 nil KATMAI,SSE
addsd XMMREG,rm128 nil F2,0F,58 $2,$1 nil P4,SSE2
addss XMMREG,rm128 nil F3,0F,58 $2,$1 nil P4,SSE2
-and REG_AL,imm8 nil 24 nil $2,8 8086
-and REG_AX,imm16 16 25 nil $2,16 8086
-and REG_EAX,imm32 32 25 nil $2,32 386
-and reg8,imm nil 80 $1r,4 $2,8 8086
-and mem8x,imm nil 80 $1,4 $2,8 8086
-and reg8,imm8x nil 80 $1r,4 $2,8 8086
-and mem,imm8x nil 80 $1,4 $2,8 8086
-and reg16,imm 16 81 $1r,4 $2,16 8086
-and mem16x,imm 16 81 $1,4 $2,16 8086
-and reg16,imm16x 16 81 $1r,4 $2,16 8086
-and mem,imm16x 16 81 $1,4 $2,16 8086
-and reg32,imm 32 81 $1r,4 $2,32 386
-and mem32x,imm 32 81 $1,4 $2,32 386
-and reg32,imm32x 32 81 $1r,4 $2,32 386
-and mem,imm32x 32 81 $1,4 $2,32 386
-and reg16,imm8x 16 83 $1r,4 $2,8s 8086
-and mem16x,imm8x 16 83 $1,4 $2,8s 8086
-and reg32,imm8x 32 83 $1r,4 $2,8s 386
-and mem32x,imm8x 32 83 $1,4 $2,8s 386
+and REG_AL,imm8 nil 24 nil $2,8 8086
+and REG_AX,imm16 16 25 nil $2,16 8086
+and REG_EAX,imm32 32 25 nil $2,32 386
+and reg8,imm nil 80 $1r,4 $2,8 8086
+and mem8x,imm nil 80 $1,4 $2,8 8086
+and reg8,imm8x nil 80 $1r,4 $2,8 8086
+and mem,imm8x nil 80 $1,4 $2,8 8086
+and reg16,imm 16 81 $1r,4 $2,16 8086
+and mem16x,imm 16 81 $1,4 $2,16 8086
+and reg16,imm16x 16 81 $1r,4 $2,16 8086
+and mem,imm16x 16 81 $1,4 $2,16 8086
+and reg32,imm 32 81 $1r,4 $2,32 386
+and mem32x,imm 32 81 $1,4 $2,32 386
+and reg32,imm32x 32 81 $1r,4 $2,32 386
+and mem,imm32x 32 81 $1,4 $2,32 386
+and reg16,imm8x 16 83 $1r,4 $2,8s 8086
+and mem16x,imm8x 16 83 $1,4 $2,8s 8086
+and reg32,imm8x 32 83 $1r,4 $2,8s 386
+and mem32x,imm8x 32 83 $1,4 $2,8s 386
; opcode arbitrarily picked for next 3 (could be 22/23 instead of 20/21).
-and reg8,reg8 nil 20 $1r,$2 nil 8086
-and reg16,reg16 16 21 $1r,$2 nil 8086
-and reg32,reg32 32 21 $1r,$2 nil 386
-and mem,reg8 nil 20 $1,$2 nil 8086
-and mem8x,reg8 nil 20 $1,$2 nil 8086
-and mem,reg16 16 21 $1,$2 nil 8086
-and mem16x,reg16 16 21 $1,$2 nil 8086
-and mem,reg32 32 21 $1,$2 nil 386
-and mem32x,reg32 32 21 $1,$2 nil 386
-and reg8,mem8 nil 22 $2,$1 nil 8086
-and reg16,mem16 16 23 $2,$1 nil 8086
-and reg32,mem32 32 23 $2,$1 nil 386
+and reg8,reg8 nil 20 $1r,$2 nil 8086
+and reg16,reg16 16 21 $1r,$2 nil 8086
+and reg32,reg32 32 21 $1r,$2 nil 386
+and mem,reg8 nil 20 $1,$2 nil 8086
+and mem8x,reg8 nil 20 $1,$2 nil 8086
+and mem,reg16 16 21 $1,$2 nil 8086
+and mem16x,reg16 16 21 $1,$2 nil 8086
+and mem,reg32 32 21 $1,$2 nil 386
+and mem32x,reg32 32 21 $1,$2 nil 386
+and reg8,mem8 nil 22 $2,$1 nil 8086
+and reg16,mem16 16 23 $2,$1 nil 8086
+and reg32,mem32 32 23 $2,$1 nil 386
andpd XMMREG,rm128 nil 66,0F,54 $2,$1 nil P4,SSE2
-andps XMMREG,rm128 nil 0F,54 $2,$1 nil KATMAI,SSE
+andps XMMREG,rm128 nil 0F,54 $2,$1 nil KATMAI,SSE
andnpd XMMREG,rm128 nil 66,0F,55 $2,$1 nil P4,SSE2
-andnps XMMREG,rm128 nil 0F,55 $2,$1 nil KATMAI,SSE
-arpl rm16,reg16 nil 63 $1,$2 nil 286,PROT
-bound reg16,mem16 16 62 $2,$1 nil 186
-bound reg32,mem32 32 62 $2,$1 nil 386
-bsf reg16,rm16 16 0F,BC $2,$1 nil 386
-bsf reg32,rm32 32 0F,BC $2,$1 nil 386
-bsr reg16,rm16 16 0F,BD $2,$1 nil 386
-bsr reg32,rm32 32 0F,BD $2,$1 nil 386
+andnps XMMREG,rm128 nil 0F,55 $2,$1 nil KATMAI,SSE
+arpl rm16,reg16 nil 63 $1,$2 nil 286,PROT
+bound reg16,mem16 16 62 $2,$1 nil 186
+bound reg32,mem32 32 62 $2,$1 nil 386
+bsf reg16,rm16 16 0F,BC $2,$1 nil 386
+bsf reg32,rm32 32 0F,BC $2,$1 nil 386
+bsr reg16,rm16 16 0F,BD $2,$1 nil 386
+bsr reg32,rm32 32 0F,BD $2,$1 nil 386
bswap reg32 32 0F,C8+$1 nil nil 486
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-bt reg16,reg16 16 0F,A3 $1r,$2 nil 386
-bt mem,reg16 16 0F,A3 $1,$2 nil 386
-bt mem16x,reg16 16 0F,A3 $1,$2 nil 386
+bt reg16,reg16 16 0F,A3 $1r,$2 nil 386
+bt mem,reg16 16 0F,A3 $1,$2 nil 386
+bt mem16x,reg16 16 0F,A3 $1,$2 nil 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-bt reg32,reg32 32 0F,A3 $1r,$2 nil 386
-bt mem,reg32 32 0F,A3 $1,$2 nil 386
-bt mem32x,reg32 32 0F,A3 $1,$2 nil 386
-bt reg16,imm8 16 0F,BA $1r,4 $2,8 386
-bt mem16x,imm8 16 0F,BA $1,4 $2,8 386
-bt reg32,imm8 32 0F,BA $1r,4 $2,8 386
-bt mem32x,imm8 32 0F,BA $1,4 $2,8 386
+bt reg32,reg32 32 0F,A3 $1r,$2 nil 386
+bt mem,reg32 32 0F,A3 $1,$2 nil 386
+bt mem32x,reg32 32 0F,A3 $1,$2 nil 386
+bt reg16,imm8 16 0F,BA $1r,4 $2,8 386
+bt mem16x,imm8 16 0F,BA $1,4 $2,8 386
+bt reg32,imm8 32 0F,BA $1r,4 $2,8 386
+bt mem32x,imm8 32 0F,BA $1,4 $2,8 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-btc reg16,reg16 16 0F,BB $1r,$2 nil 386
-btc mem,reg16 16 0F,BB $1,$2 nil 386
-btc mem16x,reg16 16 0F,BB $1,$2 nil 386
+btc reg16,reg16 16 0F,BB $1r,$2 nil 386
+btc mem,reg16 16 0F,BB $1,$2 nil 386
+btc mem16x,reg16 16 0F,BB $1,$2 nil 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-btc reg32,reg32 32 0F,BB $1r,$2 nil 386
-btc mem,reg32 32 0F,BB $1,$2 nil 386
-btc mem32x,reg32 32 0F,BB $1,$2 nil 386
-btc reg16,imm8 16 0F,BA $1r,7 $2,8 386
-btc mem16x,imm8 16 0F,BA $1,7 $2,8 386
-btc reg32,imm8 32 0F,BA $1r,7 $2,8 386
-btc mem32x,imm8 32 0F,BA $1,7 $2,8 386
+btc reg32,reg32 32 0F,BB $1r,$2 nil 386
+btc mem,reg32 32 0F,BB $1,$2 nil 386
+btc mem32x,reg32 32 0F,BB $1,$2 nil 386
+btc reg16,imm8 16 0F,BA $1r,7 $2,8 386
+btc mem16x,imm8 16 0F,BA $1,7 $2,8 386
+btc reg32,imm8 32 0F,BA $1r,7 $2,8 386
+btc mem32x,imm8 32 0F,BA $1,7 $2,8 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-btr reg16,reg16 16 0F,B3 $1r,$2 nil 386
-btr mem,reg16 16 0F,B3 $1,$2 nil 386
-btr mem16x,reg16 16 0F,B3 $1,$2 nil 386
+btr reg16,reg16 16 0F,B3 $1r,$2 nil 386
+btr mem,reg16 16 0F,B3 $1,$2 nil 386
+btr mem16x,reg16 16 0F,B3 $1,$2 nil 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-btr reg32,reg32 32 0F,B3 $1r,$2 nil 386
-btr mem,reg32 32 0F,B3 $1,$2 nil 386
-btr mem32x,reg32 32 0F,B3 $1,$2 nil 386
-btr reg16,imm8 16 0F,BA $1r,6 $2,8 386
-btr mem16x,imm8 16 0F,BA $1,6 $2,8 386
-btr reg32,imm8 32 0F,BA $1r,6 $2,8 386
-btr mem32x,imm8 32 0F,BA $1,6 $2,8 386
+btr reg32,reg32 32 0F,B3 $1r,$2 nil 386
+btr mem,reg32 32 0F,B3 $1,$2 nil 386
+btr mem32x,reg32 32 0F,B3 $1,$2 nil 386
+btr reg16,imm8 16 0F,BA $1r,6 $2,8 386
+btr mem16x,imm8 16 0F,BA $1,6 $2,8 386
+btr reg32,imm8 32 0F,BA $1r,6 $2,8 386
+btr mem32x,imm8 32 0F,BA $1,6 $2,8 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-bts reg16,reg16 16 0F,AB $1r,$2 nil 386
-bts mem,reg16 16 0F,AB $1,$2 nil 386
-bts mem16x,reg16 16 0F,AB $1,$2 nil 386
+bts reg16,reg16 16 0F,AB $1r,$2 nil 386
+bts mem,reg16 16 0F,AB $1,$2 nil 386
+bts mem16x,reg16 16 0F,AB $1,$2 nil 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-bts reg32,reg32 32 0F,AB $1r,$2 nil 386
-bts mem,reg32 32 0F,AB $1,$2 nil 386
-bts mem32x,reg32 32 0F,AB $1,$2 nil 386
-bts reg16,imm8 16 0F,BA $1r,5 $2,8 386
-bts mem16x,imm8 16 0F,BA $1,5 $2,8 386
-bts reg32,imm8 32 0F,BA $1r,5 $2,8 386
-bts mem32x,imm8 32 0F,BA $1,5 $2,8 386
+bts reg32,reg32 32 0F,AB $1r,$2 nil 386
+bts mem,reg32 32 0F,AB $1,$2 nil 386
+bts mem32x,reg32 32 0F,AB $1,$2 nil 386
+bts reg16,imm8 16 0F,BA $1r,5 $2,8 386
+bts mem16x,imm8 16 0F,BA $1,5 $2,8 386
+bts reg32,imm8 32 0F,BA $1r,5 $2,8 386
+bts mem32x,imm8 32 0F,BA $1,5 $2,8 386
; call
-cbw nil 16 98 nil nil 8086
-cwde nil 32 98 nil nil 386
-clc nil nil F8 nil nil 8086
-cld nil nil FC nil nil 8086
-clflush mem8 nil 0F,AE $1,7 nil KATMAI
-cli nil nil FA nil nil 8086
-clts nil nil 0F,06 nil nil 286,PRIV
-cmc nil nil F5 nil nil 8086
+cbw nil 16 98 nil nil 8086
+cwde nil 32 98 nil nil 386
+clc nil nil F8 nil nil 8086
+cld nil nil FC nil nil 8086
+clflush mem8 nil 0F,AE $1,7 nil KATMAI
+cli nil nil FA nil nil 8086
+clts nil nil 0F,06 nil nil 286,PRIV
+cmc nil nil F5 nil nil 8086
; cmov
-cmp REG_AL,imm8 nil 3C nil $2,8 8086
-cmp REG_AX,imm16 16 3D nil $2,16 8086
-cmp REG_EAX,imm32 32 3D nil $2,32 386
-cmp reg8,imm nil 80 $1r,7 $2,8 8086
-cmp mem8x,imm nil 80 $1,7 $2,8 8086
-cmp reg8,imm8x nil 80 $1r,7 $2,8 8086
-cmp mem,imm8x nil 80 $1,7 $2,8 8086
-cmp reg16,imm 16 81 $1r,7 $2,16 8086
-cmp mem16x,imm 16 81 $1,7 $2,16 8086
-cmp reg16,imm16x 16 81 $1r,7 $2,16 8086
-cmp mem,imm16x 16 81 $1,7 $2,16 8086
-cmp reg32,imm 32 81 $1r,7 $2,32 386
-cmp mem32x,imm 32 81 $1,7 $2,32 386
-cmp reg32,imm32x 32 81 $1r,7 $2,32 386
-cmp mem,imm32x 32 81 $1,7 $2,32 386
-cmp reg16,imm8x 16 83 $1r,7 $2,8s 8086
-cmp mem16x,imm8x 16 83 $1,7 $2,8s 8086
-cmp reg32,imm8x 32 83 $1r,7 $2,8s 386
-cmp mem32x,imm8x 32 83 $1,7 $2,8s 386
+cmp REG_AL,imm8 nil 3C nil $2,8 8086
+cmp REG_AX,imm16 16 3D nil $2,16 8086
+cmp REG_EAX,imm32 32 3D nil $2,32 386
+cmp reg8,imm nil 80 $1r,7 $2,8 8086
+cmp mem8x,imm nil 80 $1,7 $2,8 8086
+cmp reg8,imm8x nil 80 $1r,7 $2,8 8086
+cmp mem,imm8x nil 80 $1,7 $2,8 8086
+cmp reg16,imm 16 81 $1r,7 $2,16 8086
+cmp mem16x,imm 16 81 $1,7 $2,16 8086
+cmp reg16,imm16x 16 81 $1r,7 $2,16 8086
+cmp mem,imm16x 16 81 $1,7 $2,16 8086
+cmp reg32,imm 32 81 $1r,7 $2,32 386
+cmp mem32x,imm 32 81 $1,7 $2,32 386
+cmp reg32,imm32x 32 81 $1r,7 $2,32 386
+cmp mem,imm32x 32 81 $1,7 $2,32 386
+cmp reg16,imm8x 16 83 $1r,7 $2,8s 8086
+cmp mem16x,imm8x 16 83 $1,7 $2,8s 8086
+cmp reg32,imm8x 32 83 $1r,7 $2,8s 386
+cmp mem32x,imm8x 32 83 $1,7 $2,8s 386
; opcode arbitrarily picked for next 3 (could be 3A/3B instead of 38/39).
-cmp reg8,reg8 nil 38 $1r,$2 nil 8086
-cmp reg16,reg16 16 39 $1r,$2 nil 8086
-cmp reg32,reg32 32 39 $1r,$2 nil 386
-cmp mem,reg8 nil 38 $1,$2 nil 8086
-cmp mem8x,reg8 nil 38 $1,$2 nil 8086
-cmp mem,reg16 16 39 $1,$2 nil 8086
-cmp mem16x,reg16 16 39 $1,$2 nil 8086
-cmp mem,reg32 32 39 $1,$2 nil 386
-cmp mem32x,reg32 32 39 $1,$2 nil 386
-cmp reg8,mem8 nil 3A $2,$1 nil 8086
-cmp reg16,mem16 16 3B $2,$1 nil 8086
-cmp reg32,mem32 32 3B $2,$1 nil 386
+cmp reg8,reg8 nil 38 $1r,$2 nil 8086
+cmp reg16,reg16 16 39 $1r,$2 nil 8086
+cmp reg32,reg32 32 39 $1r,$2 nil 386
+cmp mem,reg8 nil 38 $1,$2 nil 8086
+cmp mem8x,reg8 nil 38 $1,$2 nil 8086
+cmp mem,reg16 16 39 $1,$2 nil 8086
+cmp mem16x,reg16 16 39 $1,$2 nil 8086
+cmp mem,reg32 32 39 $1,$2 nil 386
+cmp mem32x,reg32 32 39 $1,$2 nil 386
+cmp reg8,mem8 nil 3A $2,$1 nil 8086
+cmp reg16,mem16 16 3B $2,$1 nil 8086
+cmp reg32,mem32 32 3B $2,$1 nil 386
cmppd XMMREG,rm128,imm8 nil 66,0F,C2 $2,$1 $3,8 P4,SSE2
-cmpps XMMREG,rm128,imm8 nil 0F,C2 $2,$1 $3,8 KATMAI,SSE
-cmpsb nil nil A6 nil nil 8086
-cmpsw nil 16 A7 nil nil 8086
-cmpsd nil 32 A7 nil nil 386
+cmpps XMMREG,rm128,imm8 nil 0F,C2 $2,$1 $3,8 KATMAI,SSE
+cmpsb nil nil A6 nil nil 8086
+cmpsw nil 16 A7 nil nil 8086
+cmpsd nil 32 A7 nil nil 386
cmpsd XMMREG,rm128,imm8 nil F2,0F,C2 $2,$1 $3,8 P4,SSE2
cmpss XMMREG,rm128,imm8 nil F3,0F,C2 $2,$1 $3,8 P4,SSE2
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-cmpxchg reg8,reg8 nil 0F,B0 $1r,$2 nil 486
-cmpxchg mem,reg8 nil 0F,B0 $1,$2 nil 486
-cmpxchg mem8x,reg8 nil 0F,B0 $1,$2 nil 486
+cmpxchg reg8,reg8 nil 0F,B0 $1r,$2 nil 486
+cmpxchg mem,reg8 nil 0F,B0 $1,$2 nil 486
+cmpxchg mem8x,reg8 nil 0F,B0 $1,$2 nil 486
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-cmpxchg reg16,reg16 16 0F,B1 $1r,$2 nil 486
-cmpxchg mem,reg16 16 0F,B1 $1,$2 nil 486
-cmpxchg mem16x,reg16 16 0F,B1 $1,$2 nil 486
+cmpxchg reg16,reg16 16 0F,B1 $1r,$2 nil 486
+cmpxchg mem,reg16 16 0F,B1 $1,$2 nil 486
+cmpxchg mem16x,reg16 16 0F,B1 $1,$2 nil 486
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-cmpxchg reg32,reg32 32 0F,B1 $1r,$2 nil 486
-cmpxchg mem,reg32 32 0F,B1 $1,$2 nil 486
-cmpxchg mem32x,reg32 32 0F,B1 $1,$2 nil 486
-cmpxchg8b mem64 nil 0F,C7 $1,1 nil P5
+cmpxchg reg32,reg32 32 0F,B1 $1r,$2 nil 486
+cmpxchg mem,reg32 32 0F,B1 $1,$2 nil 486
+cmpxchg mem32x,reg32 32 0F,B1 $1,$2 nil 486
+cmpxchg8b mem64 nil 0F,C7 $1,1 nil P5
comisd XMMREG,rm128 nil 66,0F,2F $2,$1 nil P4,SSE2
-comiss XMMREG,rm128 nil 0F,2F $2,$1 nil KATMAI,SSE
-cpuid nil nil 0F,A2 nil nil P5
+comiss XMMREG,rm128 nil 0F,2F $2,$1 nil KATMAI,SSE
+cpuid nil nil 0F,A2 nil nil P5
cvtdq2pd XMMREG,rm128 nil F3,0F,E6 $2,$1 nil P4,SSE2
-cvtdq2ps XMMREG,rm128 nil 0F,5B $2,$1 nil P4,SSE2
+cvtdq2ps XMMREG,rm128 nil 0F,5B $2,$1 nil P4,SSE2
cvtpd2dq XMMREG,rm128 nil F2,0F,E6 $2,$1 nil P4,SSE2
cvtpd2pi XMMREG,rm128 nil 66,0F,2D $2,$1 nil P4,SSE2
cvtpd2ps XMMREG,rm128 nil 66,0F,5A $2,$1 nil P4,SSE2
cvtpi2pd XMMREG,rm128 nil 66,0F,2A $2,$1 nil P4,SSE2
-cvtpi2ps XMMREG,rm128 nil 0F,2A $2,$1 nil P4,SSE2
+cvtpi2ps XMMREG,rm128 nil 0F,2A $2,$1 nil P4,SSE2
cvtps2dq XMMREG,rm128 nil 66,0F,5B $2,$1 nil P4,SSE2
-cvtps2pd XMMREG,rm128 nil 0F,5A $2,$1 nil P4,SSE2
-cvtps2pi XMMREG,rm128 nil 0F,2D $2,$1 nil P4,SSE2
+cvtps2pd XMMREG,rm128 nil 0F,5A $2,$1 nil P4,SSE2
+cvtps2pi XMMREG,rm128 nil 0F,2D $2,$1 nil P4,SSE2
cvtsd2si XMMREG,rm128 nil F2,0F,2D $2,$1 nil P4,SSE2
cvtsd2ss XMMREG,rm128 nil F2,0F,5A $2,$1 nil P4,SSE2
cvtsi2sd XMMREG,rm128 nil F2,0F,2A $2,$1 nil P4,SSE2
cvttpd2pi XMMREG,rm128 nil 66,0F,2C $2,$1 nil P4,SSE2
cvttpd2dq XMMREG,rm128 nil 66,0F,E6 $2,$1 nil P4,SSE2
cvttps2dq XMMREG,rm128 nil F3,0F,5B $2,$1 nil P4,SSE2
-cvttps2pi XMMREG,rm128 nil 0F,2C $2,$1 nil P4,SSE2
+cvttps2pi XMMREG,rm128 nil 0F,2C $2,$1 nil P4,SSE2
cvttsd2si XMMREG,rm128 nil F2,0F,2C $2,$1 nil P4,SSE2
cvttss2si XMMREG,rm128 nil F3,0F,2C $2,$1 nil P4,SSE2
-cwd nil 16 99 nil nil 8086
-cdq nil 32 99 nil nil 386
-daa nil nil 27 nil nil 8086
-das nil nil 2F nil nil 8086
-dec rm8x nil FE $1,1 nil 8086
-dec mem16x 16 FF $1,1 nil 8086
-dec mem32x 32 FF $1,1 nil 386
-dec reg16 16 48+$1 nil nil 8086
-dec reg32 32 48+$1 nil nil 386
-div rm8x nil F6 $1,6 nil 8086
-div rm16x 16 F7 $1,6 nil 8086
-div rm32x 32 F7 $1,6 nil 386
+cwd nil 16 99 nil nil 8086
+cdq nil 32 99 nil nil 386
+daa nil nil 27 nil nil 8086
+das nil nil 2F nil nil 8086
+dec rm8x nil FE $1,1 nil 8086
+dec mem16x 16 FF $1,1 nil 8086
+dec mem32x 32 FF $1,1 nil 386
+dec reg16 16 48+$1 nil nil 8086
+dec reg32 32 48+$1 nil nil 386
+div rm8x nil F6 $1,6 nil 8086
+div rm16x 16 F7 $1,6 nil 8086
+div rm32x 32 F7 $1,6 nil 386
divpd XMMREG,rm128 nil 66,0F,5E $2,$1 nil P4,SSE2
-divps XMMREG,rm128 nil 0F,5E $2,$1 nil KATMAI,SSE
+divps XMMREG,rm128 nil 0F,5E $2,$1 nil KATMAI,SSE
divsd XMMREG,rm128 nil F2,0F,5E $2,$1 nil P4,SSE2
divss XMMREG,rm128 nil F3,0F,5E $2,$1 nil P4,SSE2
-emms nil nil 0F,77 nil nil P5,MMX
-enter imm16,imm8 nil C8 $1i,16 $2,8 186
-f2xm1 nil nil D9,F0 nil nil 8086,FPU
-fabs nil nil D9,E1 nil nil 8086,FPU
-fadd mem32x nil D8 $1,0 nil 8086,FPU
-fadd mem64x nil DC $1,0 nil 8086,FPU
+emms nil nil 0F,77 nil nil P5,MMX
+enter imm16,imm8 nil C8 $1i,16 $2,8 186
+f2xm1 nil nil D9,F0 nil nil 8086,FPU
+fabs nil nil D9,E1 nil nil 8086,FPU
+fadd mem32x nil D8 $1,0 nil 8086,FPU
+fadd mem64x nil DC $1,0 nil 8086,FPU
fadd fpureg nil D8,C0+$1 nil nil 8086,FPU
-fadd ST0,ST0 nil D8,C0 nil nil 8086,FPU
+fadd ST0,ST0 nil D8,C0 nil nil 8086,FPU
fadd ST0,FPUREG_NOTST0 nil D8,C0+$2 nil nil 8086,FPU
fadd TO fpureg nil DC,C0+$1 nil nil 8086,FPU
fadd FPUREG_NOTST0,ST0 nil DC,C0+$1 nil nil 8086,FPU
faddp fpureg nil DE,C0+$1 nil nil 8086,FPU
faddp fpureg,ST0 nil DE,C0+$1 nil nil 8086,FPU
-fiadd mem32x nil DA $1,0 nil 8086,FPU
-fiadd mem16x nil DE $1,0 nil 8086,FPU
-fbld mem80 nil DF $1,4 nil 8086,FPU
-fbstp mem80 nil DF $1,6 nil 8086,FPU
-fchs nil nil D9,E0 nil nil 8086,FPU
+fiadd mem32x nil DA $1,0 nil 8086,FPU
+fiadd mem16x nil DE $1,0 nil 8086,FPU
+fbld mem80 nil DF $1,4 nil 8086,FPU
+fbstp mem80 nil DF $1,6 nil 8086,FPU
+fchs nil nil D9,E0 nil nil 8086,FPU
fclex nil nil 9B,DB,E2 nil nil 8086,FPU
-fnclex nil nil DB,E2 nil nil 8086,FPU
+fnclex nil nil DB,E2 nil nil 8086,FPU
; fcmov
-fcom mem32x nil D8 $1,2 nil 8086,FPU
-fcom mem64x nil DC $1,2 nil 8086,FPU
+fcom mem32x nil D8 $1,2 nil 8086,FPU
+fcom mem64x nil DC $1,2 nil 8086,FPU
fcom fpureg nil D8,D0+$1 nil nil 8086,FPU
fcom ST0,fpureg nil D8,D0+$2 nil nil 8086,FPU
-fcomp mem32x nil D8 $1,3 nil 8086,FPU
-fcomp mem64x nil DC $1,3 nil 8086,FPU
+fcomp mem32x nil D8 $1,3 nil 8086,FPU
+fcomp mem64x nil DC $1,3 nil 8086,FPU
fcomp fpureg nil D8,D8+$1 nil nil 8086,FPU
fcomp ST0,fpureg nil D8,D8+$2 nil nil 8086,FPU
-fcompp nil nil DE,D9 nil nil 8086,FPU
+fcompp nil nil DE,D9 nil nil 8086,FPU
fcomi fpureg nil DB,F0+$1 nil nil 8086,FPU
fcomi ST0,fpureg nil DB,F0+$2 nil nil 8086,FPU
fcomip fpureg nil DF,F0+$1 nil nil 8086,FPU
fucomi ST0,fpureg nil DB,E8+$2 nil nil 8086,FPU
fucomip fpureg nil DF,E8+$1 nil nil 8086,FPU
fucomip ST0,fpureg nil DF,E8+$2 nil nil 8086,FPU
-fcos nil nil D9,FF nil nil 8086,FPU
-fdecstp nil nil D9,F6 nil nil 8086,FPU
-fdiv mem32x nil D8 $1,6 nil 8086,FPU
-fdiv mem64x nil DC $1,6 nil 8086,FPU
+fcos nil nil D9,FF nil nil 8086,FPU
+fdecstp nil nil D9,F6 nil nil 8086,FPU
+fdiv mem32x nil D8 $1,6 nil 8086,FPU
+fdiv mem64x nil DC $1,6 nil 8086,FPU
fdiv fpureg nil D8,F0+$1 nil nil 8086,FPU
-fdiv ST0,ST0 nil D8,F0 nil nil 8086,FPU
+fdiv ST0,ST0 nil D8,F0 nil nil 8086,FPU
fdiv ST0,FPUREG_NOTST0 nil D8,F0+$2 nil nil 8086,FPU
fdiv TO fpureg nil DC,F8+$1 nil nil 8086,FPU
fdiv FPUREG_NOTST0,ST0 nil DC,F8+$1 nil nil 8086,FPU
fdivp fpureg nil DE,F8+$1 nil nil 8086,FPU
fdivp fpureg,ST0 nil DE,F8+$1 nil nil 8086,FPU
-fidiv mem32x nil DA $1,6 nil 8086,FPU
-fidiv mem16x nil DE $1,6 nil 8086,FPU
-fdivr mem32x nil D8 $1,7 nil 8086,FPU
-fdivr mem64x nil DC $1,7 nil 8086,FPU
+fidiv mem32x nil DA $1,6 nil 8086,FPU
+fidiv mem16x nil DE $1,6 nil 8086,FPU
+fdivr mem32x nil D8 $1,7 nil 8086,FPU
+fdivr mem64x nil DC $1,7 nil 8086,FPU
fdivr fpureg nil D8,F8+$1 nil nil 8086,FPU
-fdivr ST0,ST0 nil D8,F8 nil nil 8086,FPU
+fdivr ST0,ST0 nil D8,F8 nil nil 8086,FPU
fdivr ST0,FPUREG_NOTST0 nil D8,F8+$2 nil nil 8086,FPU
fdivr TO fpureg nil DC,F0+$1 nil nil 8086,FPU
fdivr FPUREG_NOTST0,ST0 nil DC,F0+$1 nil nil 8086,FPU
fdivrp fpureg nil DE,F0+$1 nil nil 8086,FPU
fdivrp fpureg,ST0 nil DE,F0+$1 nil nil 8086,FPU
-fidivr mem32x nil DA $1,7 nil 8086,FPU
-fidivr mem16x nil DE $1,7 nil 8086,FPU
+fidivr mem32x nil DA $1,7 nil 8086,FPU
+fidivr mem16x nil DE $1,7 nil 8086,FPU
ffree fpureg nil DD,C0+$1 nil nil 8086,FPU
-ficom mem16x nil DE $1,2 nil 8086,FPU
-ficom mem32x nil DA $1,2 nil 8086,FPU
-ficomp mem16x nil DE $1,3 nil 8086,FPU
-ficomp mem32x nil DA $1,3 nil 8086,FPU
-fild mem16x nil DF $1,0 nil 8086,FPU
-fild mem32x nil DB $1,0 nil 8086,FPU
-fild mem64x nil DF $1,5 nil 8086,FPU
-fincstp nil nil D9,F7 nil nil 8086,FPU
+ficom mem16x nil DE $1,2 nil 8086,FPU
+ficom mem32x nil DA $1,2 nil 8086,FPU
+ficomp mem16x nil DE $1,3 nil 8086,FPU
+ficomp mem32x nil DA $1,3 nil 8086,FPU
+fild mem16x nil DF $1,0 nil 8086,FPU
+fild mem32x nil DB $1,0 nil 8086,FPU
+fild mem64x nil DF $1,5 nil 8086,FPU
+fincstp nil nil D9,F7 nil nil 8086,FPU
finit nil nil 9B,DB,E3 nil nil 8086,FPU
-fninit nil nil DB,E3 nil nil 8086,FPU
-fist mem16x nil DF $1,2 nil 8086,FPU
-fist mem32x nil DB $1,2 nil 8086,FPU
-fistp mem16x nil DF $1,3 nil 8086,FPU
-fistp mem32x nil DB $1,3 nil 8086,FPU
-fistp mem64x nil DF $1,7 nil 8086,FPU
-fld mem32x nil D9 $1,0 nil 8086,FPU
-fld mem64x nil DD $1,0 nil 8086,FPU
-fld mem80x nil DB $1,5 nil 8086,FPU
+fninit nil nil DB,E3 nil nil 8086,FPU
+fist mem16x nil DF $1,2 nil 8086,FPU
+fist mem32x nil DB $1,2 nil 8086,FPU
+fistp mem16x nil DF $1,3 nil 8086,FPU
+fistp mem32x nil DB $1,3 nil 8086,FPU
+fistp mem64x nil DF $1,7 nil 8086,FPU
+fld mem32x nil D9 $1,0 nil 8086,FPU
+fld mem64x nil DD $1,0 nil 8086,FPU
+fld mem80x nil DB $1,5 nil 8086,FPU
fld fpureg nil D9,C0+$1 nil nil 8086,FPU
-fld1 nil nil D9,E8 nil nil 8086,FPU
-fldl2t nil nil D9,E9 nil nil 8086,FPU
-fldl2e nil nil D9,EA nil nil 8086,FPU
-fldpi nil nil D9,EB nil nil 8086,FPU
-fldlg2 nil nil D9,EC nil nil 8086,FPU
-fldln2 nil nil D9,ED nil nil 8086,FPU
-fldz nil nil D9,EE nil nil 8086,FPU
-fldcw mem16 nil D9 $1,5 nil 8086,FPU
-fldenv mem nil D9 $1,4 nil 8086,FPU
-fmul mem32x nil D8 $1,1 nil 8086,FPU
-fmul mem64x nil DC $1,1 nil 8086,FPU
+fld1 nil nil D9,E8 nil nil 8086,FPU
+fldl2t nil nil D9,E9 nil nil 8086,FPU
+fldl2e nil nil D9,EA nil nil 8086,FPU
+fldpi nil nil D9,EB nil nil 8086,FPU
+fldlg2 nil nil D9,EC nil nil 8086,FPU
+fldln2 nil nil D9,ED nil nil 8086,FPU
+fldz nil nil D9,EE nil nil 8086,FPU
+fldcw mem16 nil D9 $1,5 nil 8086,FPU
+fldenv mem nil D9 $1,4 nil 8086,FPU
+fmul mem32x nil D8 $1,1 nil 8086,FPU
+fmul mem64x nil DC $1,1 nil 8086,FPU
fmul fpureg nil D8,C8+$1 nil nil 8086,FPU
-fmul ST0,ST0 nil D8,C8 nil nil 8086,FPU
+fmul ST0,ST0 nil D8,C8 nil nil 8086,FPU
fmul ST0,FPUREG_NOTST0 nil D8,C8+$2 nil nil 8086,FPU
fmul TO fpureg nil DC,C8+$1 nil nil 8086,FPU
fmul FPUREG_NOTST0,ST0 nil DC,C8+$1 nil nil 8086,FPU
fmulp fpureg nil DE,C8+$1 nil nil 8086,FPU
fmulp fpureg,ST0 nil DE,C8+$1 nil nil 8086,FPU
-fimul mem32x nil DA $1,1 nil 8086,FPU
-fimul mem16x nil DE $1,1 nil 8086,FPU
-fnop nil nil D9,D0 nil nil 8086,FPU
-fpatan nil nil D9,F3 nil nil 8086,FPU
-fprem nil nil D9,F8 nil nil 8086,FPU
-fprem1 nil nil D9,F5 nil nil 8086,FPU
-fptan nil nil D9,F2 nil nil 8086,FPU
-frndint nil nil D9,FC nil nil 8086,FPU
-frstor mem nil DD $1,4 nil 8086,FPU
-fsave mem nil 9B,DD $1,6 nil 8086,FPU
-fnsave mem nil DD $1,6 nil 8086,FPU
-fscale nil nil D9,FD nil nil 8086,FPU
-fsin nil nil D9,FE nil nil 8086,FPU
-fsincos nil nil D9,FB nil nil 8086,FPU
-fsqrt nil nil D9,FA nil nil 8086,FPU
-fst mem32x nil D9 $1,2 nil 8086,FPU
-fst mem64x nil DD $1,2 nil 8086,FPU
+fimul mem32x nil DA $1,1 nil 8086,FPU
+fimul mem16x nil DE $1,1 nil 8086,FPU
+fnop nil nil D9,D0 nil nil 8086,FPU
+fpatan nil nil D9,F3 nil nil 8086,FPU
+fprem nil nil D9,F8 nil nil 8086,FPU
+fprem1 nil nil D9,F5 nil nil 8086,FPU
+fptan nil nil D9,F2 nil nil 8086,FPU
+frndint nil nil D9,FC nil nil 8086,FPU
+frstor mem nil DD $1,4 nil 8086,FPU
+fsave mem nil 9B,DD $1,6 nil 8086,FPU
+fnsave mem nil DD $1,6 nil 8086,FPU
+fscale nil nil D9,FD nil nil 8086,FPU
+fsin nil nil D9,FE nil nil 8086,FPU
+fsincos nil nil D9,FB nil nil 8086,FPU
+fsqrt nil nil D9,FA nil nil 8086,FPU
+fst mem32x nil D9 $1,2 nil 8086,FPU
+fst mem64x nil DD $1,2 nil 8086,FPU
fst fpureg nil DD,D0+$1 nil nil 8086,FPU
-fstp mem32x nil D9 $1,3 nil 8086,FPU
-fstp mem64x nil DD $1,3 nil 8086,FPU
-fstp mem80x nil DB $1,7 nil 8086,FPU
+fstp mem32x nil D9 $1,3 nil 8086,FPU
+fstp mem64x nil DD $1,3 nil 8086,FPU
+fstp mem80x nil DB $1,7 nil 8086,FPU
fstp fpureg nil DD,D8+$1 nil nil 8086,FPU
-fstcw mem16 nil 9B,D9 $1,7 nil 8086,FPU
-fnstcw mem16 nil D9 $1,7 nil 8086,FPU
-fstenv mem nil 9B,D9 $1,6 nil 8086,FPU
-fnstenv mem nil D9 $1,6 nil 8086,FPU
-fstsw mem16 nil 9B,DD $1,7 nil 8086,FPU
+fstcw mem16 nil 9B,D9 $1,7 nil 8086,FPU
+fnstcw mem16 nil D9 $1,7 nil 8086,FPU
+fstenv mem nil 9B,D9 $1,6 nil 8086,FPU
+fnstenv mem nil D9 $1,6 nil 8086,FPU
+fstsw mem16 nil 9B,DD $1,7 nil 8086,FPU
fstsw REG_AX nil 9B,DF,E0 nil nil 8086,FPU
-fnstsw mem16 nil DD $1,7 nil 8086,FPU
-fnstsw REG_AX nil DF,E0 nil nil 8086,FPU
-fsub mem32x nil D8 $1,4 nil 8086,FPU
-fsub mem64x nil DC $1,4 nil 8086,FPU
+fnstsw mem16 nil DD $1,7 nil 8086,FPU
+fnstsw REG_AX nil DF,E0 nil nil 8086,FPU
+fsub mem32x nil D8 $1,4 nil 8086,FPU
+fsub mem64x nil DC $1,4 nil 8086,FPU
fsub fpureg nil D8,E0+$1 nil nil 8086,FPU
-fsub ST0,ST0 nil D8,E0 nil nil 8086,FPU
+fsub ST0,ST0 nil D8,E0 nil nil 8086,FPU
fsub ST0,FPUREG_NOTST0 nil D8,E0+$2 nil nil 8086,FPU
fsub TO fpureg nil DC,E8+$1 nil nil 8086,FPU
fsub FPUREG_NOTST0,ST0 nil DC,E8+$1 nil nil 8086,FPU
fsubp fpureg nil DE,E8+$1 nil nil 8086,FPU
fsubp fpureg,ST0 nil DE,E8+$1 nil nil 8086,FPU
-fisub mem32x nil DA $1,4 nil 8086,FPU
-fisub mem16x nil DE $1,4 nil 8086,FPU
-fsubr mem32x nil D8 $1,5 nil 8086,FPU
-fsubr mem64x nil DC $1,5 nil 8086,FPU
+fisub mem32x nil DA $1,4 nil 8086,FPU
+fisub mem16x nil DE $1,4 nil 8086,FPU
+fsubr mem32x nil D8 $1,5 nil 8086,FPU
+fsubr mem64x nil DC $1,5 nil 8086,FPU
fsubr fpureg nil D8,E8+$1 nil nil 8086,FPU
-fsubr ST0,ST0 nil D8,E8 nil nil 8086,FPU
+fsubr ST0,ST0 nil D8,E8 nil nil 8086,FPU
fsubr ST0,FPUREG_NOTST0 nil D8,E8+$2 nil nil 8086,FPU
fsubr TO fpureg nil DC,E0+$1 nil nil 8086,FPU
fsubr FPUREG_NOTST0,ST0 nil DC,E0+$1 nil nil 8086,FPU
fsubrp fpureg nil DE,E0+$1 nil nil 8086,FPU
fsubrp fpureg,ST0 nil DE,E0+$1 nil nil 8086,FPU
-fisubr mem32x nil DA $1,5 nil 8086,FPU
-fisubr mem16x nil DE $1,5 nil 8086,FPU
-ftst nil nil D9,E4 nil nil 8086,FPU
+fisubr mem32x nil DA $1,5 nil 8086,FPU
+fisubr mem16x nil DE $1,5 nil 8086,FPU
+ftst nil nil D9,E4 nil nil 8086,FPU
fucom fpureg nil DD,E0+$1 nil nil 8086,FPU
fucom ST0,fpureg nil DD,E0+$2 nil nil 8086,FPU
fucomp fpureg nil DD,E8+$1 nil nil 8086,FPU
fucomp ST0,fpureg nil DD,E8+$2 nil nil 8086,FPU
-fucompp nil nil DA,E9 nil nil 8086,FPU
-fxam nil nil D9,E5 nil nil 8086,FPU
+fucompp nil nil DA,E9 nil nil 8086,FPU
+fxam nil nil D9,E5 nil nil 8086,FPU
fxch fpureg nil D9,C8+$1 nil nil 8086,FPU
-fxch ST0,ST0 nil D9,C8 nil nil 8086,FPU
+fxch ST0,ST0 nil D9,C8 nil nil 8086,FPU
fxch ST0,FPUREG_NOTST0 nil D9,C8+$2 nil nil 8086,FPU
fxch FPUREG_NOTST0,ST0 nil D9,C8+$1 nil nil 8086,FPU
-fxch nil nil D9,C9 nil nil 8086,FPU
-fxrstor mem nil 0F,AE $1,1 nil P6,SSE,FPU
-fxsave mem nil 0F,AE $1,0 nil P6,SSE,FPU
-fxtract nil nil D9,F4 nil nil 8086,FPU
-fyl2x nil nil D9,F1 nil nil 8086,FPU
-fyl2xp1 nil nil D9,F9 nil nil 8086,FPU
-hlt nil nil F4 nil nil 8086,PRIV
-idiv rm8x nil F6 $1,7 nil 8086
-idiv rm16x 16 F7 $1,7 nil 8086
-idiv rm32x 32 F7 $1,7 nil 386
-imul rm8x nil F6 $1,5 nil 8086
-imul rm16x 16 F7 $1,5 nil 8086
-imul rm32x 32 F7 $1,5 nil 386
-imul reg16,rm16 16 0F,AF $2,$1 nil 386
-imul reg32,rm32 32 0F,AF $2,$1 nil 386
-imul reg16,rm16,imm8x 16 6B $2,$1 $3,8s 186
-imul reg32,rm32,imm8x 32 6B $2,$1 $3,8s 386
-imul reg16,imm8x 16 6B $1r,$1 $2,8s 186
-imul reg32,imm8x 32 6B $1r,$1 $2,8s 386
-imul reg16,rm16,imm16 16 69 $2,$1 $3,16s 186
-imul reg32,rm32,imm32 32 69 $2,$1 $3,32s 386
-imul reg16,imm16 16 69 $1r,$1 $2,16s 186
-imul reg32,imm32 32 69 $1r,$1 $2,32s 386
-in REG_AL,imm8 nil E4 nil $2,8 8086
-in REG_AX,imm8 16 E5 nil $2,8 8086
-in REG_EAX,imm8 32 E5 nil $2,8 386
-in REG_AL,REG_DX nil EC nil nil 8086
-in REG_AX,REG_DX 16 ED nil nil 8086
-in REG_EAX,REG_DX 32 ED nil nil 386
-inc rm8x nil FE $1,0 nil 8086
-inc mem16x 16 FF $1,0 nil 8086
-inc mem32x 32 FF $1,0 nil 386
-inc reg16 16 40+$1 nil nil 8086
-inc reg32 32 40+$1 nil nil 386
-insb nil nil 6C nil nil 8086
-insw nil 16 6D nil nil 8086
-insd nil 32 6D nil nil 386
-int3 nil nil CC nil nil 8086
-int03 nil nil CC nil nil 8086
-int imm8 nil CD nil $1,8 8086
-into nil nil CE nil nil 8086
-invd nil nil 0F,08 nil nil 486,PRIV
-invlpg mem nil 0F,01 $1,7 nil 486,PRIV
-iret nil nil CF nil nil 8086
-iretd nil 32 CF nil nil 386
-iretw nil 16 CF nil nil 8086
+fxch nil nil D9,C9 nil nil 8086,FPU
+fxrstor mem nil 0F,AE $1,1 nil P6,SSE,FPU
+fxsave mem nil 0F,AE $1,0 nil P6,SSE,FPU
+fxtract nil nil D9,F4 nil nil 8086,FPU
+fyl2x nil nil D9,F1 nil nil 8086,FPU
+fyl2xp1 nil nil D9,F9 nil nil 8086,FPU
+hlt nil nil F4 nil nil 8086,PRIV
+idiv rm8x nil F6 $1,7 nil 8086
+idiv rm16x 16 F7 $1,7 nil 8086
+idiv rm32x 32 F7 $1,7 nil 386
+imul rm8x nil F6 $1,5 nil 8086
+imul rm16x 16 F7 $1,5 nil 8086
+imul rm32x 32 F7 $1,5 nil 386
+imul reg16,rm16 16 0F,AF $2,$1 nil 386
+imul reg32,rm32 32 0F,AF $2,$1 nil 386
+imul reg16,rm16,imm8x 16 6B $2,$1 $3,8s 186
+imul reg32,rm32,imm8x 32 6B $2,$1 $3,8s 386
+imul reg16,imm8x 16 6B $1r,$1 $2,8s 186
+imul reg32,imm8x 32 6B $1r,$1 $2,8s 386
+imul reg16,rm16,imm16 16 69 $2,$1 $3,16s 186
+imul reg32,rm32,imm32 32 69 $2,$1 $3,32s 386
+imul reg16,imm16 16 69 $1r,$1 $2,16s 186
+imul reg32,imm32 32 69 $1r,$1 $2,32s 386
+in REG_AL,imm8 nil E4 nil $2,8 8086
+in REG_AX,imm8 16 E5 nil $2,8 8086
+in REG_EAX,imm8 32 E5 nil $2,8 386
+in REG_AL,REG_DX nil EC nil nil 8086
+in REG_AX,REG_DX 16 ED nil nil 8086
+in REG_EAX,REG_DX 32 ED nil nil 386
+inc rm8x nil FE $1,0 nil 8086
+inc mem16x 16 FF $1,0 nil 8086
+inc mem32x 32 FF $1,0 nil 386
+inc reg16 16 40+$1 nil nil 8086
+inc reg32 32 40+$1 nil nil 386
+insb nil nil 6C nil nil 8086
+insw nil 16 6D nil nil 8086
+insd nil 32 6D nil nil 386
+int3 nil nil CC nil nil 8086
+int03 nil nil CC nil nil 8086
+int imm8 nil CD nil $1,8 8086
+into nil nil CE nil nil 8086
+invd nil nil 0F,08 nil nil 486,PRIV
+invlpg mem nil 0F,01 $1,7 nil 486,PRIV
+iret nil nil CF nil nil 8086
+iretd nil 32 CF nil nil 386
+iretw nil 16 CF nil nil 8086
; jcc
; jmp
-lahf nil nil 9F nil nil 8086
-lar reg16,rm16 16 0F,02 $2,$1 nil 286,PROT
-lar reg32,rm32 32 0F,02 $2,$1 nil 386,PROT
-ldmxcsr mem32 nil 0F,AE $1,2 nil KATMAI,SSE
-lds reg16,mem 16 C5 $2,$1 nil 8086
-lds reg32,mem 32 C5 $2,$1 nil 386
-lss reg16,mem 16 0F,B2 $2,$1 nil 386
-lss reg32,mem 32 0F,B2 $2,$1 nil 386
-les reg16,mem 16 C4 $2,$1 nil 8086
-les reg32,mem 32 C4 $2,$1 nil 386
-lfs reg16,mem 16 0F,B4 $2,$1 nil 386
-lfs reg32,mem 32 0F,B4 $2,$1 nil 386
-lgs reg16,mem 16 0F,B5 $2,$1 nil 386
-lgs reg32,mem 32 0F,B5 $2,$1 nil 386
-lea reg16,mem16 16 8D $2,$1 nil 8086
-lea reg32,mem32 32 8D $2,$1 nil 386
-leave nil nil C9 nil nil 186
+lahf nil nil 9F nil nil 8086
+lar reg16,rm16 16 0F,02 $2,$1 nil 286,PROT
+lar reg32,rm32 32 0F,02 $2,$1 nil 386,PROT
+ldmxcsr mem32 nil 0F,AE $1,2 nil KATMAI,SSE
+lds reg16,mem 16 C5 $2,$1 nil 8086
+lds reg32,mem 32 C5 $2,$1 nil 386
+lss reg16,mem 16 0F,B2 $2,$1 nil 386
+lss reg32,mem 32 0F,B2 $2,$1 nil 386
+les reg16,mem 16 C4 $2,$1 nil 8086
+les reg32,mem 32 C4 $2,$1 nil 386
+lfs reg16,mem 16 0F,B4 $2,$1 nil 386
+lfs reg32,mem 32 0F,B4 $2,$1 nil 386
+lgs reg16,mem 16 0F,B5 $2,$1 nil 386
+lgs reg32,mem 32 0F,B5 $2,$1 nil 386
+lea reg16,mem16 16 8D $2,$1 nil 8086
+lea reg32,mem32 32 8D $2,$1 nil 386
+leave nil nil C9 nil nil 186
; lfence
-lgdt mem nil 0F,01 $1,2 nil 286,PRIV
-lidt mem nil 0F,01 $1,3 nil 286,PRIV
-lldt rm16 nil 0F,00 $1,2 nil 286,PROT,PRIV
-lmsw rm16 nil 0F,01 $1,6 nil 286,PRIV
-lodsb nil nil AC nil nil 8086
-lodsw nil 16 AD nil nil 8086
-lodsd nil 32 AD nil nil 386
+lgdt mem nil 0F,01 $1,2 nil 286,PRIV
+lidt mem nil 0F,01 $1,3 nil 286,PRIV
+lldt rm16 nil 0F,00 $1,2 nil 286,PROT,PRIV
+lmsw rm16 nil 0F,01 $1,6 nil 286,PRIV
+lodsb nil nil AC nil nil 8086
+lodsw nil 16 AD nil nil 8086
+lodsd nil 32 AD nil nil 386
; loop
; loopcc:
;:loope loopz
-;loopz imm1632 nil E1 nil $1r,8s 8086
-;loopz imm1632,REG_CX 16 E1 nil $1r,8s 8086
-;loopz imm1632,REG_ECX 32 E1 nil $1r,8s 386
+;loopz imm1632 nil E1 nil $1r,8s 8086
+;loopz imm1632,REG_CX 16 E1 nil $1r,8s 8086
+;loopz imm1632,REG_ECX 32 E1 nil $1r,8s 386
;:loopne loopnz
-;loopnz imm1632 nil E1 nil $1r,8s 8086
-;loopnz imm1632,REG_CX 16 E1 nil $1r,8s 8086
-;loopnz imm1632,REG_ECX 32 E1 nil $1r,8s 386
-lsl reg16,rm16 16 0F,03 $2,$1 nil 286,PROT
-lsl reg32,rm32 32 0F,03 $2,$1 nil 286,PROT
-ltr rm16 nil 0F,00 $1,3 nil 286,PROT,PRIV
+;loopnz imm1632 nil E1 nil $1r,8s 8086
+;loopnz imm1632,REG_CX 16 E1 nil $1r,8s 8086
+;loopnz imm1632,REG_ECX 32 E1 nil $1r,8s 386
+lsl reg16,rm16 16 0F,03 $2,$1 nil 286,PROT
+lsl reg32,rm32 32 0F,03 $2,$1 nil 286,PROT
+ltr rm16 nil 0F,00 $1,3 nil 286,PROT,PRIV
maskmovdqu XMMREG,XMMREG nil 66,0F,F7 $2r,$1 nil P4,SSE2
-maskmovq MMXREG,MMXREG nil 0F,F7 $2r,$1 nil KATMAI,MMX
+maskmovq MMXREG,MMXREG nil 0F,F7 $2r,$1 nil KATMAI,MMX
maxpd XMMREG,rm128 nil 66,0F,5F $2,$1 nil P4,SSE2
-maxps XMMREG,rm128 nil 0F,5F $2,$1 nil KATMAI,SSE
+maxps XMMREG,rm128 nil 0F,5F $2,$1 nil KATMAI,SSE
maxsd XMMREG,rm128 nil F2,0F,5F $2,$1 nil P4,SSE2
maxss XMMREG,rm128 nil F3,0F,5F $2,$1 nil P4,SSE2
; opcode arbitrarily picked for next 3 (could be 8A/8B instead of 88/89).
-mov reg8,reg8 nil 88 $1r,$2 nil 8086
-mov reg16,reg16 16 89 $1r,$2 nil 8086
-mov reg32,reg32 32 89 $1r,$2 nil 386
-mov mem,reg8 nil 88 $1,$2 nil 8086
-mov mem8x,reg8 nil 88 $1,$2 nil 8086
-mov mem,reg16 16 89 $1,$2 nil 8086
-mov mem16x,reg16 16 89 $1,$2 nil 8086
-mov mem,reg32 32 89 $1,$2 nil 386
-mov mem32x,reg32 32 89 $1,$2 nil 386
-mov reg8,mem8 nil 8A $2,$1 nil 8086
-mov reg16,mem16 16 8B $2,$1 nil 8086
-mov reg32,mem32 32 8B $2,$1 nil 386
-mov mem,segreg nil 8C $1,$2 nil 8086
-mov reg16,segreg 16 8C $1r,$2 nil 8086
-mov mem16x,segreg 16 8C $1,$2 nil 8086
-mov reg32,segreg 32 8C $1r,$2 nil 386
-mov mem32x,segreg 32 8C $1,$2 nil 386
-mov segreg,mem nil 8E $2,$1 nil 8086
-mov segreg,rm16x nil 8E $2,$1 nil 8086
-mov segreg,rm32x nil 8E $2,$1 nil 386
+mov reg8,reg8 nil 88 $1r,$2 nil 8086
+mov reg16,reg16 16 89 $1r,$2 nil 8086
+mov reg32,reg32 32 89 $1r,$2 nil 386
+mov mem,reg8 nil 88 $1,$2 nil 8086
+mov mem8x,reg8 nil 88 $1,$2 nil 8086
+mov mem,reg16 16 89 $1,$2 nil 8086
+mov mem16x,reg16 16 89 $1,$2 nil 8086
+mov mem,reg32 32 89 $1,$2 nil 386
+mov mem32x,reg32 32 89 $1,$2 nil 386
+mov reg8,mem8 nil 8A $2,$1 nil 8086
+mov reg16,mem16 16 8B $2,$1 nil 8086
+mov reg32,mem32 32 8B $2,$1 nil 386
+mov mem,segreg nil 8C $1,$2 nil 8086
+mov reg16,segreg 16 8C $1r,$2 nil 8086
+mov mem16x,segreg 16 8C $1,$2 nil 8086
+mov reg32,segreg 32 8C $1r,$2 nil 386
+mov mem32x,segreg 32 8C $1,$2 nil 386
+mov segreg,mem nil 8E $2,$1 nil 8086
+mov segreg,rm16x nil 8E $2,$1 nil 8086
+mov segreg,rm32x nil 8E $2,$1 nil 386
;mov REG_AL,memoff8
;mov REG_AX,memoff16
;mov REG_EAX,memoff32
;mov memoff8,REG_AL
;mov memoff16,REG_AX
;mov memoff32,REG_EAX
-mov reg8,imm8 nil B0+$1 nil $2,8 8086
-mov reg16,imm16 16 B8+$1 nil $2,16 8086
-mov reg32,imm32 32 B8+$1 nil $2,32 386
-mov mem8x,imm8 nil C6 $1,0 $2,8 8086
-mov mem,imm8x nil C6 $1,0 $2,8 8086
-mov mem16x,imm16 16 C7 $1,0 $2,16 8086
-mov mem,imm16x 16 C7 $1,0 $2,16 8086
-mov mem32x,imm32 32 C7 $1,0 $2,32 8086
-mov mem,imm32x 32 C7 $1,0 $2,32 8086
-mov CRREG_NOTCR4,reg32 nil 0F,22 $2r,$1 nil 386,PRIV
-mov CR4,reg32 nil 0F,22 $2r,$1 nil P5,PRIV
-mov reg32,CRREG_NOTCR4 nil 0F,20 $1r,$2 nil 386,PRIV
-mov reg32,CR4 nil 0F,20 $1r,$2 nil P5,PRIV
-mov reg32,DRREG nil 0F,21 $1r,$2 nil 386,PRIV
-mov DRREG,reg32 nil 0F,23 $2r,$1 nil 386,PRIV
+mov reg8,imm8 nil B0+$1 nil $2,8 8086
+mov reg16,imm16 16 B8+$1 nil $2,16 8086
+mov reg32,imm32 32 B8+$1 nil $2,32 386
+mov mem8x,imm8 nil C6 $1,0 $2,8 8086
+mov mem,imm8x nil C6 $1,0 $2,8 8086
+mov mem16x,imm16 16 C7 $1,0 $2,16 8086
+mov mem,imm16x 16 C7 $1,0 $2,16 8086
+mov mem32x,imm32 32 C7 $1,0 $2,32 8086
+mov mem,imm32x 32 C7 $1,0 $2,32 8086
+mov CRREG_NOTCR4,reg32 nil 0F,22 $2r,$1 nil 386,PRIV
+mov CR4,reg32 nil 0F,22 $2r,$1 nil P5,PRIV
+mov reg32,CRREG_NOTCR4 nil 0F,20 $1r,$2 nil 386,PRIV
+mov reg32,CR4 nil 0F,20 $1r,$2 nil P5,PRIV
+mov reg32,DRREG nil 0F,21 $1r,$2 nil 386,PRIV
+mov DRREG,reg32 nil 0F,23 $2r,$1 nil 386,PRIV
; arbitrary encoding, picked $2r,$1 instead of $1r,$2
movapd XMMREG,XMMREG nil 66,0F,28 $2r,$1 nil P4,SSE2
movapd XMMREG,mem128 nil 66,0F,28 $2,$1 nil P4,SSE2
movapd mem128,XMMREG nil 66,0F,29 $1,$2 nil P4,SSE2
; arbitrary encoding, picked $2r,$1 instead of $1r,$2
-movaps XMMREG,XMMREG nil 0F,28 $2r,$1 nil KATMAI,SSE
-movaps XMMREG,mem128 nil 0F,28 $2,$1 nil KATMAI,SSE
-movaps mem128,XMMREG nil 0F,29 $1,$2 nil KATMAI,SSE
-movd MMXREG,rm32 nil 0F,6E $2,$1 nil P5,MMX
-movd rm32,MMXREG nil 0F,7E $1,$2 nil P5,MMX
+movaps XMMREG,XMMREG nil 0F,28 $2r,$1 nil KATMAI,SSE
+movaps XMMREG,mem128 nil 0F,28 $2,$1 nil KATMAI,SSE
+movaps mem128,XMMREG nil 0F,29 $1,$2 nil KATMAI,SSE
+movd MMXREG,rm32 nil 0F,6E $2,$1 nil P5,MMX
+movd rm32,MMXREG nil 0F,7E $1,$2 nil P5,MMX
movd XMMREG,rm32 nil 66,0F,6E $2,$1 nil P4,SSE2
movd rm32,XMMREG nil 66,0F,7E $1,$2 nil P4,SSE2
; arbitrary encoding, picked $2r,$1 instead of $1r,$2
movdqu mem128,XMMREG nil F3,0F,7F $1,$2 nil P4,SSE2
; TODO: not sure if this encoding (movdq2q) is correct
movdq2q MMXREG,XMMREG nil F2,0F,D6 $1r,$2 nil P4,SSE2
-movhlps XMMREG,XMMREG nil 0F,12 $2r,$1 nil KATMAI,SSE
+movhlps XMMREG,XMMREG nil 0F,12 $2r,$1 nil KATMAI,SSE
movhpd XMMREG,mem64 nil 66,0F,16 $2,$1 nil P4,SSE2
movhpd mem64,XMMREG nil 66,0F,17 $1,$2 nil P4,SSE2
-movhps XMMREG,mem64 nil 0F,16 $2,$1 nil KATMAI,SSE
-movhps mem64,XMMREG nil 0F,17 $1,$2 nil KATMAI,SSE
-movlhps XMMREG,XMMREG nil 0F,16 $2r,$1 nil KATMAI,SSE
+movhps XMMREG,mem64 nil 0F,16 $2,$1 nil KATMAI,SSE
+movhps mem64,XMMREG nil 0F,17 $1,$2 nil KATMAI,SSE
+movlhps XMMREG,XMMREG nil 0F,16 $2r,$1 nil KATMAI,SSE
movlpd XMMREG,mem64 nil 66,0F,12 $2,$1 nil P4,SSE2
movlpd mem64,XMMREG nil 66,0F,13 $1,$2 nil P4,SSE2
-movlps XMMREG,mem64 nil 0F,12 $2,$1 nil KATMAI,SSE
-movlps mem64,XMMREG nil 0F,13 $1,$2 nil KATMAI,SSE
+movlps XMMREG,mem64 nil 0F,12 $2,$1 nil KATMAI,SSE
+movlps mem64,XMMREG nil 0F,13 $1,$2 nil KATMAI,SSE
movmskpd reg32,XMMREG nil 66,0F,50 $1r,$2 nil P4,SSE2
-movmskps reg32,XMMREG nil 0F,50 $1r,$2 nil KATMAI,SSE
+movmskps reg32,XMMREG nil 0F,50 $1r,$2 nil KATMAI,SSE
movntdq mem128,XMMREG nil 66,0F,E7 $1,$2 nil P4,SSE2
-movnti mem32,reg32 nil 0F,C3 $1,$2 nil P4
+movnti mem32,reg32 nil 0F,C3 $1,$2 nil P4
movntpd mem128,XMMREG nil 66,0F,2B $1,$2 nil P4,SSE2
-movntps mem128,XMMREG nil 0F,2B $1,$2 nil KATMAI,SSE
-movntq mem64,MMXREG nil 0F,E7 $1,$2 nil KATMAI,MMX
+movntps mem128,XMMREG nil 0F,2B $1,$2 nil KATMAI,SSE
+movntq mem64,MMXREG nil 0F,E7 $1,$2 nil KATMAI,MMX
; arbitrary encoding, picked $2r,$1 instead of $1r,$2
-movq MMXREG,MMXREG nil 0F,6F $2r,$1 nil P5,MMX
-movq MMXREG,mem64 nil 0F,6F $2,$1 nil P5,MMX
-movq mem64,MMXREG nil 0F,7F $1,$2 nil P5,MMX
+movq MMXREG,MMXREG nil 0F,6F $2r,$1 nil P5,MMX
+movq MMXREG,mem64 nil 0F,6F $2,$1 nil P5,MMX
+movq mem64,MMXREG nil 0F,7F $1,$2 nil P5,MMX
; arbitrary encoding, picked $2r,$1 instead of $1r,$2
movq XMMREG,XMMREG nil F3,0F,7E $2r,$1 nil P4,SSE2
movq XMMREG,mem64 nil F3,0F,7E $2,$1 nil P4,SSE2
movq mem64,XMMREG nil 66,0F,D6 $1,$2 nil P4,SSE2
; TODO: not sure if this encoding (movq2dq) is correct
movq2dq XMMREG,MMXREG nil F3,0F,D6 $1r,$2 nil P4,SSE2
-movsb nil nil A4 nil nil 8086
-movsw nil 16 A5 nil nil 8086
-movsd nil 32 A5 nil nil 386
+movsb nil nil A4 nil nil 8086
+movsw nil 16 A5 nil nil 8086
+movsd nil 32 A5 nil nil 386
; arbitrary encoding, picked $2r,$1 instead of $1r,$2
movsd XMMREG,XMMREG nil F2,0F,10 $2r,$1 nil P4,SSE2
movsd XMMREG,mem64 nil F2,0F,10 $2,$1 nil P4,SSE2
movss XMMREG,XMMREG nil F3,0F,10 $2r,$1 nil P4,SSE2
movss XMMREG,mem64 nil F3,0F,10 $2,$1 nil P4,SSE2
movss mem64,XMMREG nil F3,0F,11 $1,$2 nil P4,SSE2
-movsx reg16,rm8 16 0F,BE $2,$1 nil 386
-movsx reg32,rm8x 32 0F,BE $2,$1 nil 386
-movsx reg32,rm16x nil 0F,BF $2,$1 nil 386
+movsx reg16,rm8 16 0F,BE $2,$1 nil 386
+movsx reg32,rm8x 32 0F,BE $2,$1 nil 386
+movsx reg32,rm16x nil 0F,BF $2,$1 nil 386
; arbitrary encoding, picked $2r,$1 instead of $1r,$2
movupd XMMREG,XMMREG nil 66,0F,10 $2r,$1 nil P4,SSE2
movupd XMMREG,mem64 nil 66,0F,10 $2,$1 nil P4,SSE2
movupd mem64,XMMREG nil 66,0F,11 $1,$2 nil P4,SSE2
; arbitrary encoding, picked $2r,$1 instead of $1r,$2
-movups XMMREG,XMMREG nil 0F,10 $2r,$1 nil P4,SSE2
-movups XMMREG,mem64 nil 0F,10 $2,$1 nil P4,SSE2
-movups mem64,XMMREG nil 0F,11 $1,$2 nil P4,SSE2
-movzx reg16,rm8 16 0F,B6 $2,$1 nil 386
-movzx reg32,rm8x 32 0F,B6 $2,$1 nil 386
-movzx reg32,rm16x nil 0F,B7 $2,$1 nil 386
-mul rm8x nil F6 $1,4 nil 8086
-mul rm16x 16 F7 $1,4 nil 8086
-mul rm32x 32 F7 $1,4 nil 386
+movups XMMREG,XMMREG nil 0F,10 $2r,$1 nil P4,SSE2
+movups XMMREG,mem64 nil 0F,10 $2,$1 nil P4,SSE2
+movups mem64,XMMREG nil 0F,11 $1,$2 nil P4,SSE2
+movzx reg16,rm8 16 0F,B6 $2,$1 nil 386
+movzx reg32,rm8x 32 0F,B6 $2,$1 nil 386
+movzx reg32,rm16x nil 0F,B7 $2,$1 nil 386
+mul rm8x nil F6 $1,4 nil 8086
+mul rm16x 16 F7 $1,4 nil 8086
+mul rm32x 32 F7 $1,4 nil 386
mulpd XMMREG,rm128 nil 66,0F,59 $2,$1 nil P4,SSE2
-mulps XMMREG,rm128 nil 0F,59 $2,$1 nil KATMAI,SSE
+mulps XMMREG,rm128 nil 0F,59 $2,$1 nil KATMAI,SSE
mulsd XMMREG,rm128 nil F2,0F,59 $2,$1 nil P4,SSE2
mulss XMMREG,rm128 nil F3,0F,59 $2,$1 nil P4,SSE2
-neg rm8x nil F6 $1,3 nil 8086
-neg rm16x 16 F7 $1,3 nil 8086
-neg rm32x 32 F7 $1,3 nil 386
-nop nil nil 90 nil nil 8086
-not rm8x nil F6 $1,2 nil 8086
-not rm16x 16 F7 $1,2 nil 8086
-not rm32x 32 F7 $1,2 nil 386
-or REG_AL,imm8 nil 0C nil $2,8 8086
-or REG_AX,imm16 16 0D nil $2,16 8086
-or REG_EAX,imm32 32 0D nil $2,32 386
-or reg8,imm nil 80 $1r,1 $2,8 8086
-or mem8x,imm nil 80 $1,1 $2,8 8086
-or reg8,imm8x nil 80 $1r,1 $2,8 8086
-or mem,imm8x nil 80 $1,1 $2,8 8086
-or reg16,imm 16 81 $1r,1 $2,16 8086
-or mem16x,imm 16 81 $1,1 $2,16 8086
-or reg16,imm16x 16 81 $1r,1 $2,16 8086
-or mem,imm16x 16 81 $1,1 $2,16 8086
-or reg32,imm 32 81 $1r,1 $2,32 386
-or mem32x,imm 32 81 $1,1 $2,32 386
-or reg32,imm32x 32 81 $1r,1 $2,32 386
-or mem,imm32x 32 81 $1,1 $2,32 386
-or reg16,imm8x 16 83 $1r,1 $2,8s 8086
-or mem16x,imm8x 16 83 $1,1 $2,8s 8086
-or reg32,imm8x 32 83 $1r,1 $2,8s 386
-or mem32x,imm8x 32 83 $1,1 $2,8s 386
+neg rm8x nil F6 $1,3 nil 8086
+neg rm16x 16 F7 $1,3 nil 8086
+neg rm32x 32 F7 $1,3 nil 386
+nop nil nil 90 nil nil 8086
+not rm8x nil F6 $1,2 nil 8086
+not rm16x 16 F7 $1,2 nil 8086
+not rm32x 32 F7 $1,2 nil 386
+or REG_AL,imm8 nil 0C nil $2,8 8086
+or REG_AX,imm16 16 0D nil $2,16 8086
+or REG_EAX,imm32 32 0D nil $2,32 386
+or reg8,imm nil 80 $1r,1 $2,8 8086
+or mem8x,imm nil 80 $1,1 $2,8 8086
+or reg8,imm8x nil 80 $1r,1 $2,8 8086
+or mem,imm8x nil 80 $1,1 $2,8 8086
+or reg16,imm 16 81 $1r,1 $2,16 8086
+or mem16x,imm 16 81 $1,1 $2,16 8086
+or reg16,imm16x 16 81 $1r,1 $2,16 8086
+or mem,imm16x 16 81 $1,1 $2,16 8086
+or reg32,imm 32 81 $1r,1 $2,32 386
+or mem32x,imm 32 81 $1,1 $2,32 386
+or reg32,imm32x 32 81 $1r,1 $2,32 386
+or mem,imm32x 32 81 $1,1 $2,32 386
+or reg16,imm8x 16 83 $1r,1 $2,8s 8086
+or mem16x,imm8x 16 83 $1,1 $2,8s 8086
+or reg32,imm8x 32 83 $1r,1 $2,8s 386
+or mem32x,imm8x 32 83 $1,1 $2,8s 386
; opcode arbitrarily picked for next 3 (could be 0A/0B instead of 08/09).
-or reg8,reg8 nil 08 $1r,$2 nil 8086
-or reg16,reg16 16 09 $1r,$2 nil 8086
-or reg32,reg32 32 09 $1r,$2 nil 386
-or mem,reg8 nil 08 $1,$2 nil 8086
-or mem8x,reg8 nil 08 $1,$2 nil 8086
-or mem,reg16 16 09 $1,$2 nil 8086
-or mem16x,reg16 16 09 $1,$2 nil 8086
-or mem,reg32 32 09 $1,$2 nil 386
-or mem32x,reg32 32 09 $1,$2 nil 386
-or reg8,mem8 nil 0A $2,$1 nil 8086
-or reg16,mem16 16 0B $2,$1 nil 8086
-or reg32,mem32 32 0B $2,$1 nil 386
+or reg8,reg8 nil 08 $1r,$2 nil 8086
+or reg16,reg16 16 09 $1r,$2 nil 8086
+or reg32,reg32 32 09 $1r,$2 nil 386
+or mem,reg8 nil 08 $1,$2 nil 8086
+or mem8x,reg8 nil 08 $1,$2 nil 8086
+or mem,reg16 16 09 $1,$2 nil 8086
+or mem16x,reg16 16 09 $1,$2 nil 8086
+or mem,reg32 32 09 $1,$2 nil 386
+or mem32x,reg32 32 09 $1,$2 nil 386
+or reg8,mem8 nil 0A $2,$1 nil 8086
+or reg16,mem16 16 0B $2,$1 nil 8086
+or reg32,mem32 32 0B $2,$1 nil 386
orpd XMMREG,rm128 nil 66,0F,56 $2,$1 nil P4,SSE2
-orps XMMREG,rm128 nil 0F,56 $2,$1 nil KATMAI,SSE
-out imm8,REG_AL nil E6 nil $1,8 8086
-out imm8,REG_AX 16 E7 nil $1,8 8086
-out imm8,REG_EAX 32 E7 nil $1,8 386
-out REG_DX,REG_AL nil EE nil nil 8086
-out REG_DX,REG_AX 16 EF nil nil 8086
-out REG_DX,REG_EAX 32 EF nil nil 386
-outsb nil nil 6E nil nil 8086
-outsw nil 16 6F nil nil 8086
-outsd nil 32 6F nil nil 386
-packsswb MMXREG,rm64 nil 0F,63 $2,$1 nil P5,MMX
+orps XMMREG,rm128 nil 0F,56 $2,$1 nil KATMAI,SSE
+out imm8,REG_AL nil E6 nil $1,8 8086
+out imm8,REG_AX 16 E7 nil $1,8 8086
+out imm8,REG_EAX 32 E7 nil $1,8 386
+out REG_DX,REG_AL nil EE nil nil 8086
+out REG_DX,REG_AX 16 EF nil nil 8086
+out REG_DX,REG_EAX 32 EF nil nil 386
+outsb nil nil 6E nil nil 8086
+outsw nil 16 6F nil nil 8086
+outsd nil 32 6F nil nil 386
+packsswb MMXREG,rm64 nil 0F,63 $2,$1 nil P5,MMX
packsswb XMMREG,rm128 nil 66,0F,63 $2,$1 nil P4,SSE2
-packssdw MMXREG,rm64 nil 0F,6B $2,$1 nil P5,MMX
+packssdw MMXREG,rm64 nil 0F,6B $2,$1 nil P5,MMX
packssdw XMMREG,rm128 nil 66,0F,6B $2,$1 nil P4,SSE2
-packuswb MMXREG,rm64 nil 0F,67 $2,$1 nil P5,MMX
+packuswb MMXREG,rm64 nil 0F,67 $2,$1 nil P5,MMX
packuswb XMMREG,rm128 nil 66,0F,67 $2,$1 nil P4,SSE2
-paddb MMXREG,rm64 nil 0F,FC $2,$1 nil P5,MMX
+paddb MMXREG,rm64 nil 0F,FC $2,$1 nil P5,MMX
paddb XMMREG,rm128 nil 66,0F,FC $2,$1 nil P4,SSE2
-paddw MMXREG,rm64 nil 0F,FD $2,$1 nil P5,MMX
+paddw MMXREG,rm64 nil 0F,FD $2,$1 nil P5,MMX
paddw XMMREG,rm128 nil 66,0F,FD $2,$1 nil P4,SSE2
-paddd MMXREG,rm64 nil 0F,FE $2,$1 nil P5,MMX
+paddd MMXREG,rm64 nil 0F,FE $2,$1 nil P5,MMX
paddd XMMREG,rm128 nil 66,0F,FE $2,$1 nil P4,SSE2
-paddq MMXREG,rm64 nil 0F,D4 $2,$1 nil P5,MMX
+paddq MMXREG,rm64 nil 0F,D4 $2,$1 nil P5,MMX
paddq XMMREG,rm128 nil 66,0F,D4 $2,$1 nil P4,SSE2
-paddsb MMXREG,rm64 nil 0F,EC $2,$1 nil P5,MMX
+paddsb MMXREG,rm64 nil 0F,EC $2,$1 nil P5,MMX
paddsb XMMREG,rm128 nil 66,0F,EC $2,$1 nil P4,SSE2
-paddsw MMXREG,rm64 nil 0F,ED $2,$1 nil P5,MMX
+paddsw MMXREG,rm64 nil 0F,ED $2,$1 nil P5,MMX
paddsw XMMREG,rm128 nil 66,0F,ED $2,$1 nil P4,SSE2
-paddusb MMXREG,rm64 nil 0F,DC $2,$1 nil P5,MMX
+paddusb MMXREG,rm64 nil 0F,DC $2,$1 nil P5,MMX
paddusb XMMREG,rm128 nil 66,0F,DC $2,$1 nil P4,SSE2
-paddusw MMXREG,rm64 nil 0F,DD $2,$1 nil P5,MMX
+paddusw MMXREG,rm64 nil 0F,DD $2,$1 nil P5,MMX
paddusw XMMREG,rm128 nil 66,0F,DD $2,$1 nil P4,SSE2
-pand MMXREG,rm64 nil 0F,DB $2,$1 nil P5,MMX
+pand MMXREG,rm64 nil 0F,DB $2,$1 nil P5,MMX
pand XMMREG,rm128 nil 66,0F,DB $2,$1 nil P4,SSE2
-pandn MMXREG,rm64 nil 0F,DF $2,$1 nil P5,MMX
+pandn MMXREG,rm64 nil 0F,DF $2,$1 nil P5,MMX
pandn XMMREG,rm128 nil 66,0F,DF $2,$1 nil P4,SSE2
-pause nil nil F3,90 nil nil P4
-pavgb MMXREG,rm64 nil 0F,E0 $2,$1 nil KATMAI,MMX
+pause nil nil F3,90 nil nil P4
+pavgb MMXREG,rm64 nil 0F,E0 $2,$1 nil KATMAI,MMX
pavgb XMMREG,rm128 nil 66,0F,E0 $2,$1 nil P4,SSE2
-pavgw MMXREG,rm64 nil 0F,E3 $2,$1 nil KATMAI,MMX
+pavgw MMXREG,rm64 nil 0F,E3 $2,$1 nil KATMAI,MMX
pavgw XMMREG,rm128 nil 66,0F,E3 $2,$1 nil P4,SSE2
-pcmpeqb MMXREG,rm64 nil 0F,74 $2,$1 nil P5,MMX
+pcmpeqb MMXREG,rm64 nil 0F,74 $2,$1 nil P5,MMX
pcmpeqb XMMREG,rm128 nil 66,0F,74 $2,$1 nil P4,SSE2
-pcmpeqw MMXREG,rm64 nil 0F,75 $2,$1 nil P5,MMX
+pcmpeqw MMXREG,rm64 nil 0F,75 $2,$1 nil P5,MMX
pcmpeqw XMMREG,rm128 nil 66,0F,75 $2,$1 nil P4,SSE2
-pcmpeqd MMXREG,rm64 nil 0F,76 $2,$1 nil P5,MMX
+pcmpeqd MMXREG,rm64 nil 0F,76 $2,$1 nil P5,MMX
pcmpeqd XMMREG,rm128 nil 66,0F,76 $2,$1 nil P4,SSE2
-pcmpgtb MMXREG,rm64 nil 0F,64 $2,$1 nil P5,MMX
+pcmpgtb MMXREG,rm64 nil 0F,64 $2,$1 nil P5,MMX
pcmpgtb XMMREG,rm128 nil 66,0F,64 $2,$1 nil P4,SSE2
-pcmpgtw MMXREG,rm64 nil 0F,65 $2,$1 nil P5,MMX
+pcmpgtw MMXREG,rm64 nil 0F,65 $2,$1 nil P5,MMX
pcmpgtw XMMREG,rm128 nil 66,0F,65 $2,$1 nil P4,SSE2
-pcmpgtd MMXREG,rm64 nil 0F,66 $2,$1 nil P5,MMX
+pcmpgtd MMXREG,rm64 nil 0F,66 $2,$1 nil P5,MMX
pcmpgtd XMMREG,rm128 nil 66,0F,66 $2,$1 nil P4,SSE2
-pextrw reg32,MMXREG,imm8 nil 0F,C5 $1r,$2 $3,8 KATMAI,MMX
+pextrw reg32,MMXREG,imm8 nil 0F,C5 $1r,$2 $3,8 KATMAI,MMX
pextrw reg32,XMMREG,imm8 nil 66,0F,C5 $1r,$2 $3,8 P4,SSE2
-pinsrw MMXREG,reg32,imm8 nil 0F,C4 $2r,$1 $3,8 KATMAI,MMX
-pinsrw MMXREG,rm16,imm8 nil 0F,C4 $2,$1 $3,8 KATMAI,MMX
+pinsrw MMXREG,reg32,imm8 nil 0F,C4 $2r,$1 $3,8 KATMAI,MMX
+pinsrw MMXREG,rm16,imm8 nil 0F,C4 $2,$1 $3,8 KATMAI,MMX
pinsrw XMMREG,reg32,imm8 nil 66,0F,C4 $2r,$1 $3,8 P4,SSE2
pinsrw XMMREG,rm16,imm8 nil 66,0F,C4 $2,$1 $3,8 P4,SSE2
-pmaddwd MMXREG,rm64 nil 0F,F5 $2,$1 nil P5,MMX
+pmaddwd MMXREG,rm64 nil 0F,F5 $2,$1 nil P5,MMX
pmaddwd XMMREG,rm128 nil 66,0F,F5 $2,$1 nil P4,SSE2
-pmaxsw MMXREG,rm64 nil 0F,EE $2,$1 nil KATMAI,MMX
+pmaxsw MMXREG,rm64 nil 0F,EE $2,$1 nil KATMAI,MMX
pmaxsw XMMREG,rm128 nil 66,0F,EE $2,$1 nil P4,SSE2
-pmaxub MMXREG,rm64 nil 0F,DE $2,$1 nil KATMAI,MMX
+pmaxub MMXREG,rm64 nil 0F,DE $2,$1 nil KATMAI,MMX
pmaxub XMMREG,rm128 nil 66,0F,DE $2,$1 nil P4,SSE2
-pminsw MMXREG,rm64 nil 0F,EA $2,$1 nil KATMAI,MMX
+pminsw MMXREG,rm64 nil 0F,EA $2,$1 nil KATMAI,MMX
pminsw XMMREG,rm128 nil 66,0F,EA $2,$1 nil P4,SSE2
-pminub MMXREG,rm64 nil 0F,DA $2,$1 nil KATMAI,MMX
+pminub MMXREG,rm64 nil 0F,DA $2,$1 nil KATMAI,MMX
pminub XMMREG,rm128 nil 66,0F,DA $2,$1 nil P4,SSE2
-pmovmskb reg32,MMXREG nil 0F,D7 $1r,$2 nil KATMAI,MMX
+pmovmskb reg32,MMXREG nil 0F,D7 $1r,$2 nil KATMAI,MMX
pmovmskb reg32,XMMREG nil 66,0F,D7 $1r,$2 nil P4,SSE2
-pmulhuw MMXREG,rm64 nil 0F,E4 $2,$1 nil KATMAI,MMX
+pmulhuw MMXREG,rm64 nil 0F,E4 $2,$1 nil KATMAI,MMX
pmulhuw XMMREG,rm128 nil 66,0F,E4 $2,$1 nil P4,SSE2
-pmulhw MMXREG,rm64 nil 0F,E5 $2,$1 nil P5,MMX
+pmulhw MMXREG,rm64 nil 0F,E5 $2,$1 nil P5,MMX
pmulhw XMMREG,rm128 nil 66,0F,E5 $2,$1 nil P4,SSE2
-pmullw MMXREG,rm64 nil 0F,D5 $2,$1 nil P5,MMX
+pmullw MMXREG,rm64 nil 0F,D5 $2,$1 nil P5,MMX
pmullw XMMREG,rm128 nil 66,0F,D5 $2,$1 nil P4,SSE2
-pmuludq MMXREG,rm64 nil 0F,F4 $2,$1 nil P4,MMX
+pmuludq MMXREG,rm64 nil 0F,F4 $2,$1 nil P4,MMX
pmuludq XMMREG,rm128 nil 66,0F,F4 $2,$1 nil P4,SSE2
-pop mem16x 16 8F $1,0 nil 8086
-pop mem32x 32 8F $1,0 nil 386
-pop reg16 16 58+$1 nil nil 8086
-pop reg32 32 58+$1 nil nil 386
-pop REG_DS nil 1F nil nil 8086
-pop REG_ES nil 07 nil nil 8086
-pop REG_SS nil 17 nil nil 8086
-pop REG_FS nil 0F,A1 nil nil 386
-pop REG_GS nil 0F,A9 nil nil 386
-popa nil nil 61 nil nil 8086
-popad nil 32 61 nil nil 386
-popaw nil 16 61 nil nil 8086
-popf nil nil 9D nil nil 8086
-popfd nil 32 9D nil nil 386
-popfw nil 16 9D nil nil 8086
-por MMXREG,rm64 nil 0F,EB $2,$1 nil P5,MMX
+pop mem16x 16 8F $1,0 nil 8086
+pop mem32x 32 8F $1,0 nil 386
+pop reg16 16 58+$1 nil nil 8086
+pop reg32 32 58+$1 nil nil 386
+pop REG_DS nil 1F nil nil 8086
+pop REG_ES nil 07 nil nil 8086
+pop REG_SS nil 17 nil nil 8086
+pop REG_FS nil 0F,A1 nil nil 386
+pop REG_GS nil 0F,A9 nil nil 386
+popa nil nil 61 nil nil 8086
+popad nil 32 61 nil nil 386
+popaw nil 16 61 nil nil 8086
+popf nil nil 9D nil nil 8086
+popfd nil 32 9D nil nil 386
+popfw nil 16 9D nil nil 8086
+por MMXREG,rm64 nil 0F,EB $2,$1 nil P5,MMX
por XMMREG,rm128 nil 66,0F,EB $2,$1 nil KATMAI,SSE
-prefetcht0 mem nil 0F,18 $1,1 nil KATMAI
-prefetcht1 mem nil 0F,18 $1,2 nil KATMAI
-prefetcht2 mem nil 0F,18 $1,3 nil KATMAI
-prefetchnta mem nil 0F,18 $1,0 nil KATMAI
-psadbw MMXREG,rm64 nil 0F,F6 $2,$1 nil KATMAI,MMX
+prefetcht0 mem nil 0F,18 $1,1 nil KATMAI
+prefetcht1 mem nil 0F,18 $1,2 nil KATMAI
+prefetcht2 mem nil 0F,18 $1,3 nil KATMAI
+prefetchnta mem nil 0F,18 $1,0 nil KATMAI
+psadbw MMXREG,rm64 nil 0F,F6 $2,$1 nil KATMAI,MMX
psadbw XMMREG,rm128 nil 66,0F,F6 $2,$1 nil KATMAI,SSE
pshufd XMMREG,rm128,imm8 nil 66,0F,70 $2,$1 $3,8 P4,SSE2
pshufhw XMMREG,rm128,imm8 nil F3,0F,70 $2,$1 $3,8 P4,SSE2
pshuflw XMMREG,rm128,imm8 nil F2,0F,70 $2,$1 $3,8 P4,SSE2
-pshufw MMXREG,rm64,imm8 nil 0F,70 $2,$1 $3,8 KATMAI,MMX
+pshufw MMXREG,rm64,imm8 nil 0F,70 $2,$1 $3,8 KATMAI,MMX
pslldq XMMREG,imm8 nil 66,0F,73 $1r,7 $2,8 P4,SSE2
-psllw MMXREG,rm64 nil 0F,F1 $2,$1 nil P5,MMX
+psllw MMXREG,rm64 nil 0F,F1 $2,$1 nil P5,MMX
psllw XMMREG,rm128 nil 66,0F,F1 $2,$1 nil P4,SSE2
-psllw MMXREG,imm8 nil 0F,71 $1r,6 $2,8 P5,MMX
+psllw MMXREG,imm8 nil 0F,71 $1r,6 $2,8 P5,MMX
psllw XMMREG,imm8 nil 66,0F,71 $1r,6 $2,8 P4,SSE2
-pslld MMXREG,rm64 nil 0F,F2 $2,$1 nil P5,MMX
+pslld MMXREG,rm64 nil 0F,F2 $2,$1 nil P5,MMX
pslld XMMREG,rm128 nil 66,0F,F2 $2,$1 nil P4,SSE2
-pslld MMXREG,imm8 nil 0F,72 $1r,6 $2,8 P5,MMX
+pslld MMXREG,imm8 nil 0F,72 $1r,6 $2,8 P5,MMX
pslld XMMREG,imm8 nil 66,0F,72 $1r,6 $2,8 P4,SSE2
-psllq MMXREG,rm64 nil 0F,F3 $2,$1 nil P5,MMX
+psllq MMXREG,rm64 nil 0F,F3 $2,$1 nil P5,MMX
psllq XMMREG,rm128 nil 66,0F,F3 $2,$1 nil P4,SSE2
-psllq MMXREG,imm8 nil 0F,73 $1r,6 $2,8 P5,MMX
+psllq MMXREG,imm8 nil 0F,73 $1r,6 $2,8 P5,MMX
psllq XMMREG,imm8 nil 66,0F,73 $1r,6 $2,8 P4,SSE2
-psraw MMXREG,rm64 nil 0F,E1 $2,$1 nil P5,MMX
+psraw MMXREG,rm64 nil 0F,E1 $2,$1 nil P5,MMX
psraw XMMREG,rm128 nil 66,0F,E1 $2,$1 nil P4,SSE2
-psraw MMXREG,imm8 nil 0F,71 $1r,4 $2,8 P5,MMX
+psraw MMXREG,imm8 nil 0F,71 $1r,4 $2,8 P5,MMX
psraw XMMREG,imm8 nil 66,0F,71 $1r,4 $2,8 P4,SSE2
-psrad MMXREG,rm64 nil 0F,E2 $2,$1 nil P5,MMX
+psrad MMXREG,rm64 nil 0F,E2 $2,$1 nil P5,MMX
psrad XMMREG,rm128 nil 66,0F,E2 $2,$1 nil P4,SSE2
-psrad MMXREG,imm8 nil 0F,72 $1r,4 $2,8 P5,MMX
+psrad MMXREG,imm8 nil 0F,72 $1r,4 $2,8 P5,MMX
psrad XMMREG,imm8 nil 66,0F,72 $1r,4 $2,8 P4,SSE2
psrldq XMMREG,imm8 nil 66,0F,73 $1r,3 $2,8 P4,SSE2
-psrlw MMXREG,rm64 nil 0F,D1 $2,$1 nil P5,MMX
+psrlw MMXREG,rm64 nil 0F,D1 $2,$1 nil P5,MMX
psrlw XMMREG,rm128 nil 66,0F,D1 $2,$1 nil P4,SSE2
-psrlw MMXREG,imm8 nil 0F,71 $1r,2 $2,8 P5,MMX
+psrlw MMXREG,imm8 nil 0F,71 $1r,2 $2,8 P5,MMX
psrlw XMMREG,imm8 nil 66,0F,71 $1r,2 $2,8 P4,SSE2
-psrld MMXREG,rm64 nil 0F,D2 $2,$1 nil P5,MMX
+psrld MMXREG,rm64 nil 0F,D2 $2,$1 nil P5,MMX
psrld XMMREG,rm128 nil 66,0F,D2 $2,$1 nil P4,SSE2
-psrld MMXREG,imm8 nil 0F,72 $1r,2 $2,8 P5,MMX
+psrld MMXREG,imm8 nil 0F,72 $1r,2 $2,8 P5,MMX
psrld XMMREG,imm8 nil 66,0F,72 $1r,2 $2,8 P4,SSE2
-psrlq MMXREG,rm64 nil 0F,D3 $2,$1 nil P5,MMX
+psrlq MMXREG,rm64 nil 0F,D3 $2,$1 nil P5,MMX
psrlq XMMREG,rm128 nil 66,0F,D3 $2,$1 nil P4,SSE2
-psrlq MMXREG,imm8 nil 0F,73 $1r,2 $2,8 P5,MMX
+psrlq MMXREG,imm8 nil 0F,73 $1r,2 $2,8 P5,MMX
psrlq XMMREG,imm8 nil 66,0F,73 $1r,2 $2,8 P4,SSE2
-psubb MMXREG,imm8 nil 0F,F8 $1r,2 $2,8 P5,MMX
+psubb MMXREG,imm8 nil 0F,F8 $1r,2 $2,8 P5,MMX
psubb XMMREG,imm8 nil 66,0F,F8 $1r,2 $2,8 P4,SSE2
-psubw MMXREG,imm8 nil 0F,F9 $1r,2 $2,8 P5,MMX
+psubw MMXREG,imm8 nil 0F,F9 $1r,2 $2,8 P5,MMX
psubw XMMREG,imm8 nil 66,0F,F9 $1r,2 $2,8 P4,SSE2
-psubd MMXREG,rm64 nil 0F,FA $2,$1 nil P5,MMX
+psubd MMXREG,rm64 nil 0F,FA $2,$1 nil P5,MMX
psubd XMMREG,rm128 nil 66,0F,FA $2,$1 nil P4,SSE2
-psubq MMXREG,rm64 nil 0F,FB $2,$1 nil P4,MMX
+psubq MMXREG,rm64 nil 0F,FB $2,$1 nil P4,MMX
psubq XMMREG,rm128 nil 66,0F,FB $2,$1 nil P4,SSE2
-psubsb MMXREG,rm64 nil 0F,E8 $2,$1 nil P5,MMX
+psubsb MMXREG,rm64 nil 0F,E8 $2,$1 nil P5,MMX
psubsb XMMREG,rm128 nil 66,0F,E8 $2,$1 nil P4,SSE2
-psubsw MMXREG,rm64 nil 0F,E9 $2,$1 nil P5,MMX
+psubsw MMXREG,rm64 nil 0F,E9 $2,$1 nil P5,MMX
psubsw XMMREG,rm128 nil 66,0F,E9 $2,$1 nil P4,SSE2
-psubusb MMXREG,rm64 nil 0F,D8 $2,$1 nil P5,MMX
+psubusb MMXREG,rm64 nil 0F,D8 $2,$1 nil P5,MMX
psubusb XMMREG,rm128 nil 66,0F,D8 $2,$1 nil P4,SSE2
-psubusw MMXREG,rm64 nil 0F,D9 $2,$1 nil P5,MMX
+psubusw MMXREG,rm64 nil 0F,D9 $2,$1 nil P5,MMX
psubusw XMMREG,rm128 nil 66,0F,D9 $2,$1 nil P4,SSE2
-punpckhbw MMXREG,rm64 nil 0F,68 $2,$1 nil P5,MMX
+punpckhbw MMXREG,rm64 nil 0F,68 $2,$1 nil P5,MMX
punpckhbw XMMREG,rm128 nil 66,0F,68 $2,$1 nil P4,SSE2
-punpckhwd MMXREG,rm64 nil 0F,69 $2,$1 nil P5,MMX
+punpckhwd MMXREG,rm64 nil 0F,69 $2,$1 nil P5,MMX
punpckhwd XMMREG,rm128 nil 66,0F,69 $2,$1 nil P4,SSE2
-punpckhdq MMXREG,rm64 nil 0F,6A $2,$1 nil P5,MMX
+punpckhdq MMXREG,rm64 nil 0F,6A $2,$1 nil P5,MMX
punpckhdq XMMREG,rm128 nil 66,0F,6A $2,$1 nil P4,SSE2
punpckhqdq XMMREG,rm128 nil 66,0F,6D $2,$1 nil P4,SSE2
-punpcklbw MMXREG,rm64 nil 0F,60 $2,$1 nil P5,MMX
+punpcklbw MMXREG,rm64 nil 0F,60 $2,$1 nil P5,MMX
punpcklbw XMMREG,rm128 nil 66,0F,60 $2,$1 nil P4,SSE2
-punpcklwd MMXREG,rm64 nil 0F,61 $2,$1 nil P5,MMX
+punpcklwd MMXREG,rm64 nil 0F,61 $2,$1 nil P5,MMX
punpcklwd XMMREG,rm128 nil 66,0F,61 $2,$1 nil P4,SSE2
-punpckldq MMXREG,rm64 nil 0F,62 $2,$1 nil P5,MMX
+punpckldq MMXREG,rm64 nil 0F,62 $2,$1 nil P5,MMX
punpckldq XMMREG,rm128 nil 66,0F,62 $2,$1 nil P4,SSE2
punpcklqdq XMMREG,rm128 nil 66,0F,6C $2,$1 nil P4,SSE2
-push mem16x 16 FF $1,6 nil 8086
-push mem32x 32 FF $1,6 nil 386
-push reg16 16 50+$1 nil nil 8086
-push reg32 32 50+$1 nil nil 386
-push imm8x nil 6A nil $1,8 8086
-push imm16x 16 68 nil $1,16 8086
-push imm32x 32 68 nil $1,32 386
-push REG_CS nil 0E nil nil 8086
-push REG_SS nil 16 nil nil 8086
-push REG_DS nil 1E nil nil 8086
-push REG_ES nil 06 nil nil 8086
-push REG_FS nil 0F,A0 nil nil 386
-push REG_GS nil 0F,A8 nil nil 386
-pusha nil nil 60 nil nil 8086
-pushad nil 32 60 nil nil 386
-pushaw nil 16 60 nil nil 8086
-pushf nil nil 9C nil nil 8086
-pushfd nil 32 9C nil nil 386
-pushfw nil 16 9C nil nil 8086
-pxor MMXREG,rm64 nil 0F,EF $2,$1 nil P5,MMX
+push mem16x 16 FF $1,6 nil 8086
+push mem32x 32 FF $1,6 nil 386
+push reg16 16 50+$1 nil nil 8086
+push reg32 32 50+$1 nil nil 386
+push imm8x nil 6A nil $1,8 8086
+push imm16x 16 68 nil $1,16 8086
+push imm32x 32 68 nil $1,32 386
+push REG_CS nil 0E nil nil 8086
+push REG_SS nil 16 nil nil 8086
+push REG_DS nil 1E nil nil 8086
+push REG_ES nil 06 nil nil 8086
+push REG_FS nil 0F,A0 nil nil 386
+push REG_GS nil 0F,A8 nil nil 386
+pusha nil nil 60 nil nil 8086
+pushad nil 32 60 nil nil 386
+pushaw nil 16 60 nil nil 8086
+pushf nil nil 9C nil nil 8086
+pushfd nil 32 9C nil nil 386
+pushfw nil 16 9C nil nil 8086
+pxor MMXREG,rm64 nil 0F,EF $2,$1 nil P5,MMX
pxor XMMREG,rm128 nil 66,0F,EF $2,$1 nil P4,SSE2
-rcl rm8x,ONE nil D0 $1,2 nil 8086
-rcl rm8x,REG_CL nil D2 $1,2 nil 8086
-rcl rm8x,imm8 nil C0 $1,2 $2,8 186
-rcl rm16x,ONE 16 D1 $1,2 nil 8086
-rcl rm16x,REG_CL 16 D3 $1,2 nil 8086
-rcl rm16x,imm8 16 C1 $1,2 $2,8 186
-rcl rm32x,ONE 32 D1 $1,2 nil 386
-rcl rm32x,REG_CL 32 D3 $1,2 nil 386
-rcl rm32x,imm8 32 C1 $1,2 $2,8 386
-rcr rm8x,ONE nil D0 $1,3 nil 8086
-rcr rm8x,REG_CL nil D2 $1,3 nil 8086
-rcr rm8x,imm8 nil C0 $1,3 $2,8 186
-rcr rm16x,ONE 16 D1 $1,3 nil 8086
-rcr rm16x,REG_CL 16 D3 $1,3 nil 8086
-rcr rm16x,imm8 16 C1 $1,3 $2,8 186
-rcr rm32x,ONE 32 D1 $1,3 nil 386
-rcr rm32x,REG_CL 32 D3 $1,3 nil 386
-rcr rm32x,imm8 32 C1 $1,3 $2,8 386
-rol rm8x,ONE nil D0 $1,0 nil 8086
-rol rm8x,REG_CL nil D2 $1,0 nil 8086
-rol rm8x,imm8 nil C0 $1,0 $2,8 186
-rol rm16x,ONE 16 D1 $1,0 nil 8086
-rol rm16x,REG_CL 16 D3 $1,0 nil 8086
-rol rm16x,imm8 16 C1 $1,0 $2,8 186
-rol rm32x,ONE 32 D1 $1,0 nil 386
-rol rm32x,REG_CL 32 D3 $1,0 nil 386
-rol rm32x,imm8 32 C1 $1,0 $2,8 386
-ror rm8x,ONE nil D0 $1,1 nil 8086
-ror rm8x,REG_CL nil D2 $1,1 nil 8086
-ror rm8x,imm8 nil C0 $1,1 $2,8 186
-ror rm16x,ONE 16 D1 $1,1 nil 8086
-ror rm16x,REG_CL 16 D3 $1,1 nil 8086
-ror rm16x,imm8 16 C1 $1,1 $2,8 186
-ror rm32x,ONE 32 D1 $1,1 nil 386
-ror rm32x,REG_CL 32 D3 $1,1 nil 386
-ror rm32x,imm8 32 C1 $1,1 $2,8 386
-rcpps XMMREG,rm128 nil 0F,F3 $2,$1 nil KATMAI,SSE
+rcl rm8x,ONE nil D0 $1,2 nil 8086
+rcl rm8x,REG_CL nil D2 $1,2 nil 8086
+rcl rm8x,imm8 nil C0 $1,2 $2,8 186
+rcl rm16x,ONE 16 D1 $1,2 nil 8086
+rcl rm16x,REG_CL 16 D3 $1,2 nil 8086
+rcl rm16x,imm8 16 C1 $1,2 $2,8 186
+rcl rm32x,ONE 32 D1 $1,2 nil 386
+rcl rm32x,REG_CL 32 D3 $1,2 nil 386
+rcl rm32x,imm8 32 C1 $1,2 $2,8 386
+rcr rm8x,ONE nil D0 $1,3 nil 8086
+rcr rm8x,REG_CL nil D2 $1,3 nil 8086
+rcr rm8x,imm8 nil C0 $1,3 $2,8 186
+rcr rm16x,ONE 16 D1 $1,3 nil 8086
+rcr rm16x,REG_CL 16 D3 $1,3 nil 8086
+rcr rm16x,imm8 16 C1 $1,3 $2,8 186
+rcr rm32x,ONE 32 D1 $1,3 nil 386
+rcr rm32x,REG_CL 32 D3 $1,3 nil 386
+rcr rm32x,imm8 32 C1 $1,3 $2,8 386
+rol rm8x,ONE nil D0 $1,0 nil 8086
+rol rm8x,REG_CL nil D2 $1,0 nil 8086
+rol rm8x,imm8 nil C0 $1,0 $2,8 186
+rol rm16x,ONE 16 D1 $1,0 nil 8086
+rol rm16x,REG_CL 16 D3 $1,0 nil 8086
+rol rm16x,imm8 16 C1 $1,0 $2,8 186
+rol rm32x,ONE 32 D1 $1,0 nil 386
+rol rm32x,REG_CL 32 D3 $1,0 nil 386
+rol rm32x,imm8 32 C1 $1,0 $2,8 386
+ror rm8x,ONE nil D0 $1,1 nil 8086
+ror rm8x,REG_CL nil D2 $1,1 nil 8086
+ror rm8x,imm8 nil C0 $1,1 $2,8 186
+ror rm16x,ONE 16 D1 $1,1 nil 8086
+ror rm16x,REG_CL 16 D3 $1,1 nil 8086
+ror rm16x,imm8 16 C1 $1,1 $2,8 186
+ror rm32x,ONE 32 D1 $1,1 nil 386
+ror rm32x,REG_CL 32 D3 $1,1 nil 386
+ror rm32x,imm8 32 C1 $1,1 $2,8 386
+rcpps XMMREG,rm128 nil 0F,F3 $2,$1 nil KATMAI,SSE
; rcpss
-rdmsr nil nil 0F,32 nil nil P5,PRIV
-rdpmc nil nil 0F,33 nil nil P6
-rdtsc nil nil 0F,31 nil nil P5
+rdmsr nil nil 0F,32 nil nil P5,PRIV
+rdpmc nil nil 0F,33 nil nil P6
+rdtsc nil nil 0F,31 nil nil P5
:ret retn
-retn nil nil C3 nil nil 8086
-retf nil nil CB nil nil 8086
-retn imm16 nil C2 nil $1,16 8086
-retf imm16 nil CA nil $1,16 8086
-rsm nil nil 0F,AA nil nil P5,SMM
-rsqrtps XMMREG,rm128 nil 0F,52 $2,$1 nil KATMAI,SSE
+retn nil nil C3 nil nil 8086
+retf nil nil CB nil nil 8086
+retn imm16 nil C2 nil $1,16 8086
+retf imm16 nil CA nil $1,16 8086
+rsm nil nil 0F,AA nil nil P5,SMM
+rsqrtps XMMREG,rm128 nil 0F,52 $2,$1 nil KATMAI,SSE
rsqrtss XMMREG,rm128 nil F3,0F,52 $2,$1 nil KATMAI,SSE
-sahf nil nil 9E nil nil 8086
-sal rm8x,ONE nil D0 $1,4 nil 8086
-sal rm8x,REG_CL nil D2 $1,4 nil 8086
-sal rm8x,imm8 nil C0 $1,4 $2,8 186
-sal rm16x,ONE 16 D1 $1,4 nil 8086
-sal rm16x,REG_CL 16 D3 $1,4 nil 8086
-sal rm16x,imm8 16 C1 $1,4 $2,8 186
-sal rm32x,ONE 32 D1 $1,4 nil 386
-sal rm32x,REG_CL 32 D3 $1,4 nil 386
-sal rm32x,imm8 32 C1 $1,4 $2,8 386
-sar rm8x,ONE nil D0 $1,7 nil 8086
-sar rm8x,REG_CL nil D2 $1,7 nil 8086
-sar rm8x,imm8 nil C0 $1,7 $2,8 186
-sar rm16x,ONE 16 D1 $1,7 nil 8086
-sar rm16x,REG_CL 16 D3 $1,7 nil 8086
-sar rm16x,imm8 16 C1 $1,7 $2,8 186
-sar rm32x,ONE 32 D1 $1,7 nil 386
-sar rm32x,REG_CL 32 D3 $1,7 nil 386
-sar rm32x,imm8 32 C1 $1,7 $2,8 386
-shl rm8x,ONE nil D0 $1,4 nil 8086
-shl rm8x,REG_CL nil D2 $1,4 nil 8086
-shl rm8x,imm8 nil C0 $1,4 $2,8 186
-shl rm16x,ONE 16 D1 $1,4 nil 8086
-shl rm16x,REG_CL 16 D3 $1,4 nil 8086
-shl rm16x,imm8 16 C1 $1,4 $2,8 186
-shl rm32x,ONE 32 D1 $1,4 nil 386
-shl rm32x,REG_CL 32 D3 $1,4 nil 386
-shl rm32x,imm8 32 C1 $1,4 $2,8 386
-shr rm8x,ONE nil D0 $1,5 nil 8086
-shr rm8x,REG_CL nil D2 $1,5 nil 8086
-shr rm8x,imm8 nil C0 $1,5 $2,8 186
-shr rm16x,ONE 16 D1 $1,5 nil 8086
-shr rm16x,REG_CL 16 D3 $1,5 nil 8086
-shr rm16x,imm8 16 C1 $1,5 $2,8 186
-shr rm32x,ONE 32 D1 $1,5 nil 386
-shr rm32x,REG_CL 32 D3 $1,5 nil 386
-shr rm32x,imm8 32 C1 $1,5 $2,8 386
-sbb REG_AL,imm8 nil 1C nil $2,8 8086
-sbb REG_AX,imm16 16 1D nil $2,16 8086
-sbb REG_EAX,imm32 32 1D nil $2,32 386
-sbb reg8,imm nil 80 $1r,3 $2,8 8086
-sbb mem8x,imm nil 80 $1,3 $2,8 8086
-sbb reg8,imm8x nil 80 $1r,3 $2,8 8086
-sbb mem,imm8x nil 80 $1,3 $2,8 8086
-sbb reg16,imm 16 81 $1r,3 $2,16 8086
-sbb mem16x,imm 16 81 $1,3 $2,16 8086
-sbb reg16,imm16x 16 81 $1r,3 $2,16 8086
-sbb mem,imm16x 16 81 $1,3 $2,16 8086
-sbb reg32,imm 32 81 $1r,3 $2,32 386
-sbb mem32x,imm 32 81 $1,3 $2,32 386
-sbb reg32,imm32x 32 81 $1r,3 $2,32 386
-sbb mem,imm32x 32 81 $1,3 $2,32 386
-sbb reg16,imm8x 16 83 $1r,3 $2,8s 8086
-sbb mem16x,imm8x 16 83 $1,3 $2,8s 8086
-sbb reg32,imm8x 32 83 $1r,3 $2,8s 386
-sbb mem32x,imm8x 32 83 $1,3 $2,8s 386
+sahf nil nil 9E nil nil 8086
+sal rm8x,ONE nil D0 $1,4 nil 8086
+sal rm8x,REG_CL nil D2 $1,4 nil 8086
+sal rm8x,imm8 nil C0 $1,4 $2,8 186
+sal rm16x,ONE 16 D1 $1,4 nil 8086
+sal rm16x,REG_CL 16 D3 $1,4 nil 8086
+sal rm16x,imm8 16 C1 $1,4 $2,8 186
+sal rm32x,ONE 32 D1 $1,4 nil 386
+sal rm32x,REG_CL 32 D3 $1,4 nil 386
+sal rm32x,imm8 32 C1 $1,4 $2,8 386
+sar rm8x,ONE nil D0 $1,7 nil 8086
+sar rm8x,REG_CL nil D2 $1,7 nil 8086
+sar rm8x,imm8 nil C0 $1,7 $2,8 186
+sar rm16x,ONE 16 D1 $1,7 nil 8086
+sar rm16x,REG_CL 16 D3 $1,7 nil 8086
+sar rm16x,imm8 16 C1 $1,7 $2,8 186
+sar rm32x,ONE 32 D1 $1,7 nil 386
+sar rm32x,REG_CL 32 D3 $1,7 nil 386
+sar rm32x,imm8 32 C1 $1,7 $2,8 386
+shl rm8x,ONE nil D0 $1,4 nil 8086
+shl rm8x,REG_CL nil D2 $1,4 nil 8086
+shl rm8x,imm8 nil C0 $1,4 $2,8 186
+shl rm16x,ONE 16 D1 $1,4 nil 8086
+shl rm16x,REG_CL 16 D3 $1,4 nil 8086
+shl rm16x,imm8 16 C1 $1,4 $2,8 186
+shl rm32x,ONE 32 D1 $1,4 nil 386
+shl rm32x,REG_CL 32 D3 $1,4 nil 386
+shl rm32x,imm8 32 C1 $1,4 $2,8 386
+shr rm8x,ONE nil D0 $1,5 nil 8086
+shr rm8x,REG_CL nil D2 $1,5 nil 8086
+shr rm8x,imm8 nil C0 $1,5 $2,8 186
+shr rm16x,ONE 16 D1 $1,5 nil 8086
+shr rm16x,REG_CL 16 D3 $1,5 nil 8086
+shr rm16x,imm8 16 C1 $1,5 $2,8 186
+shr rm32x,ONE 32 D1 $1,5 nil 386
+shr rm32x,REG_CL 32 D3 $1,5 nil 386
+shr rm32x,imm8 32 C1 $1,5 $2,8 386
+sbb REG_AL,imm8 nil 1C nil $2,8 8086
+sbb REG_AX,imm16 16 1D nil $2,16 8086
+sbb REG_EAX,imm32 32 1D nil $2,32 386
+sbb reg8,imm nil 80 $1r,3 $2,8 8086
+sbb mem8x,imm nil 80 $1,3 $2,8 8086
+sbb reg8,imm8x nil 80 $1r,3 $2,8 8086
+sbb mem,imm8x nil 80 $1,3 $2,8 8086
+sbb reg16,imm 16 81 $1r,3 $2,16 8086
+sbb mem16x,imm 16 81 $1,3 $2,16 8086
+sbb reg16,imm16x 16 81 $1r,3 $2,16 8086
+sbb mem,imm16x 16 81 $1,3 $2,16 8086
+sbb reg32,imm 32 81 $1r,3 $2,32 386
+sbb mem32x,imm 32 81 $1,3 $2,32 386
+sbb reg32,imm32x 32 81 $1r,3 $2,32 386
+sbb mem,imm32x 32 81 $1,3 $2,32 386
+sbb reg16,imm8x 16 83 $1r,3 $2,8s 8086
+sbb mem16x,imm8x 16 83 $1,3 $2,8s 8086
+sbb reg32,imm8x 32 83 $1r,3 $2,8s 386
+sbb mem32x,imm8x 32 83 $1,3 $2,8s 386
; opcode arbitrarily picked for next 3 (could be 1A/1B instead of 18/19).
-sbb reg8,reg8 nil 18 $1r,$2 nil 8086
-sbb reg16,reg16 16 19 $1r,$2 nil 8086
-sbb reg32,reg32 32 19 $1r,$2 nil 386
-sbb mem,reg8 nil 18 $1,$2 nil 8086
-sbb mem8x,reg8 nil 18 $1,$2 nil 8086
-sbb mem,reg16 16 19 $1,$2 nil 8086
-sbb mem16x,reg16 16 19 $1,$2 nil 8086
-sbb mem,reg32 32 19 $1,$2 nil 386
-sbb mem32x,reg32 32 19 $1,$2 nil 386
-sbb reg8,mem8 nil 1A $2,$1 nil 8086
-sbb reg16,mem16 16 1B $2,$1 nil 8086
-sbb reg32,mem32 32 1B $2,$1 nil 386
-scasb nil nil AE nil nil 8086
-scasw nil 16 AF nil nil 8086
-scasd nil 32 AF nil nil 386
+sbb reg8,reg8 nil 18 $1r,$2 nil 8086
+sbb reg16,reg16 16 19 $1r,$2 nil 8086
+sbb reg32,reg32 32 19 $1r,$2 nil 386
+sbb mem,reg8 nil 18 $1,$2 nil 8086
+sbb mem8x,reg8 nil 18 $1,$2 nil 8086
+sbb mem,reg16 16 19 $1,$2 nil 8086
+sbb mem16x,reg16 16 19 $1,$2 nil 8086
+sbb mem,reg32 32 19 $1,$2 nil 386
+sbb mem32x,reg32 32 19 $1,$2 nil 386
+sbb reg8,mem8 nil 1A $2,$1 nil 8086
+sbb reg16,mem16 16 1B $2,$1 nil 8086
+sbb reg32,mem32 32 1B $2,$1 nil 386
+scasb nil nil AE nil nil 8086
+scasw nil 16 AF nil nil 8086
+scasd nil 32 AF nil nil 386
; setcc
-;sfence nil nil 0F,AE ,7?
-sgdt mem nil 0F,01 $1,0 nil 286
-sidt mem nil 0F,01 $1,1 nil 286
+;sfence nil nil 0F,AE ,7?
+sgdt mem nil 0F,01 $1,0 nil 286
+sidt mem nil 0F,01 $1,1 nil 286
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-shld reg16,reg16,imm8 16 0F,A4 $1r,$2 $3,8 386
-shld mem,reg16,imm8 16 0F,A4 $1,$2 $3,8 386
-shld mem16x,reg16,imm8 16 0F,A4 $1,$2 $3,8 386
+shld reg16,reg16,imm8 16 0F,A4 $1r,$2 $3,8 386
+shld mem,reg16,imm8 16 0F,A4 $1,$2 $3,8 386
+shld mem16x,reg16,imm8 16 0F,A4 $1,$2 $3,8 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-shld reg16,reg16,REG_CL 16 0F,A5 $1r,$2 nil 386
-shld mem,reg16,REG_CL 16 0F,A5 $1,$2 nil 386
-shld mem16x,reg16,REG_CL 16 0F,A5 $1,$2 nil 386
+shld reg16,reg16,REG_CL 16 0F,A5 $1r,$2 nil 386
+shld mem,reg16,REG_CL 16 0F,A5 $1,$2 nil 386
+shld mem16x,reg16,REG_CL 16 0F,A5 $1,$2 nil 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-shld reg32,reg32,imm8 32 0F,A4 $1r,$2 $3,8 386
-shld mem,reg32,imm8 32 0F,A4 $1,$2 $3,8 386
-shld mem32x,reg32,imm8 32 0F,A4 $1,$2 $3,8 386
+shld reg32,reg32,imm8 32 0F,A4 $1r,$2 $3,8 386
+shld mem,reg32,imm8 32 0F,A4 $1,$2 $3,8 386
+shld mem32x,reg32,imm8 32 0F,A4 $1,$2 $3,8 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-shld reg32,reg32,REG_CL 32 0F,A5 $1r,$2 nil 386
-shld mem,reg32,REG_CL 32 0F,A5 $1,$2 nil 386
-shld mem32x,reg32,REG_CL 32 0F,A5 $1,$2 nil 386
+shld reg32,reg32,REG_CL 32 0F,A5 $1r,$2 nil 386
+shld mem,reg32,REG_CL 32 0F,A5 $1,$2 nil 386
+shld mem32x,reg32,REG_CL 32 0F,A5 $1,$2 nil 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-shrd reg16,reg16,imm8 16 0F,AC $1r,$2 $3,8 386
-shrd mem,reg16,imm8 16 0F,AC $1,$2 $3,8 386
-shrd mem16x,reg16,imm8 16 0F,AC $1,$2 $3,8 386
+shrd reg16,reg16,imm8 16 0F,AC $1r,$2 $3,8 386
+shrd mem,reg16,imm8 16 0F,AC $1,$2 $3,8 386
+shrd mem16x,reg16,imm8 16 0F,AC $1,$2 $3,8 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-shrd reg16,reg16,REG_CL 16 0F,AD $1r,$2 nil 386
-shrd mem,reg16,REG_CL 16 0F,AD $1,$2 nil 386
-shrd mem16x,reg16,REG_CL 16 0F,AD $1,$2 nil 386
+shrd reg16,reg16,REG_CL 16 0F,AD $1r,$2 nil 386
+shrd mem,reg16,REG_CL 16 0F,AD $1,$2 nil 386
+shrd mem16x,reg16,REG_CL 16 0F,AD $1,$2 nil 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-shrd reg32,reg32,imm8 32 0F,AC $1r,$2 $3,8 386
-shrd mem,reg32,imm8 32 0F,AC $1,$2 $3,8 386
-shrd mem32x,reg32,imm8 32 0F,AC $1,$2 $3,8 386
+shrd reg32,reg32,imm8 32 0F,AC $1r,$2 $3,8 386
+shrd mem,reg32,imm8 32 0F,AC $1,$2 $3,8 386
+shrd mem32x,reg32,imm8 32 0F,AC $1,$2 $3,8 386
; arbitrary encoding, picked $1r,$2 instead of $2r, $1
-shrd reg32,reg32,REG_CL 32 0F,AD $1r,$2 nil 386
-shrd mem,reg32,REG_CL 32 0F,AD $1,$2 nil 386
-shrd mem32x,reg32,REG_CL 32 0F,AD $1,$2 nil 386
+shrd reg32,reg32,REG_CL 32 0F,AD $1r,$2 nil 386
+shrd mem,reg32,REG_CL 32 0F,AD $1,$2 nil 386
+shrd mem32x,reg32,REG_CL 32 0F,AD $1,$2 nil 386
shufpd XMMREG,rm128,imm8 nil 66,0F,C6 $2,$1 $3,8 P4,SSE2
-shufps XMMREG,rm128,imm8 nil 0F,C6 $2,$1 $3,8 KATMAI,SSE
-sldt mem1632 nil 0F,00 $1,0 nil 286
-sldt reg16 16 0F,00 $1r,0 nil 286
-sldt reg32 32 0F,00 $1r,0 nil 386
-smsw mem1632 nil 0F,01 $1,4 nil 286
-smsw reg16 16 0F,01 $1r,4 nil 286
-smsw reg32 32 0F,01 $1r,4 nil 386
+shufps XMMREG,rm128,imm8 nil 0F,C6 $2,$1 $3,8 KATMAI,SSE
+sldt mem1632 nil 0F,00 $1,0 nil 286
+sldt reg16 16 0F,00 $1r,0 nil 286
+sldt reg32 32 0F,00 $1r,0 nil 386
+smsw mem1632 nil 0F,01 $1,4 nil 286
+smsw reg16 16 0F,01 $1r,4 nil 286
+smsw reg32 32 0F,01 $1r,4 nil 386
sqrtpd XMMREG,rm128 nil 66,0F,51 $2,$1 nil P4,SSE2
-sqrtps XMMREG,rm128 nil 0F,51 $2,$1 nil KATMAI,SSE
+sqrtps XMMREG,rm128 nil 0F,51 $2,$1 nil KATMAI,SSE
sqrtsd XMMREG,rm128 nil F2,0F,51 $2,$1 nil P4,SSE2
sqrtss XMMREG,rm128 nil F3,0F,51 $2,$1 nil P4,SSE2
-stc nil nil F9 nil nil 8086
-std nil nil FD nil nil 8086
-sti nil nil FB nil nil 8086
-stmxcsr mem32 nil 0F,AE $1,3 nil KATMAI,SSE
-stosb nil nil AA nil nil 8086
-stosw nil 16 AB nil nil 8086
-stosd nil 32 AB nil nil 386
-str rm16 nil 0F,00 $1,1 nil 286,PROT
-sub REG_AL,imm8 nil 2C nil $2,8 8086
-sub REG_AX,imm16 16 2D nil $2,16 8086
-sub REG_EAX,imm32 32 2D nil $2,32 386
-sub reg8,imm nil 80 $1r,5 $2,8 8086
-sub mem8x,imm nil 80 $1,5 $2,8 8086
-sub reg8,imm8x nil 80 $1r,5 $2,8 8086
-sub mem,imm8x nil 80 $1,5 $2,8 8086
-sub reg16,imm 16 81 $1r,5 $2,16 8086
-sub mem16x,imm 16 81 $1,5 $2,16 8086
-sub reg16,imm16x 16 81 $1r,5 $2,16 8086
-sub mem,imm16x 16 81 $1,5 $2,16 8086
-sub reg32,imm 32 81 $1r,5 $2,32 386
-sub mem32x,imm 32 81 $1,5 $2,32 386
-sub reg32,imm32x 32 81 $1r,5 $2,32 386
-sub mem,imm32x 32 81 $1,5 $2,32 386
-sub reg16,imm8x 16 83 $1r,5 $2,8s 8086
-sub mem16x,imm8x 16 83 $1,5 $2,8s 8086
-sub reg32,imm8x 32 83 $1r,5 $2,8s 386
-sub mem32x,imm8x 32 83 $1,5 $2,8s 386
+stc nil nil F9 nil nil 8086
+std nil nil FD nil nil 8086
+sti nil nil FB nil nil 8086
+stmxcsr mem32 nil 0F,AE $1,3 nil KATMAI,SSE
+stosb nil nil AA nil nil 8086
+stosw nil 16 AB nil nil 8086
+stosd nil 32 AB nil nil 386
+str rm16 nil 0F,00 $1,1 nil 286,PROT
+sub REG_AL,imm8 nil 2C nil $2,8 8086
+sub REG_AX,imm16 16 2D nil $2,16 8086
+sub REG_EAX,imm32 32 2D nil $2,32 386
+sub reg8,imm nil 80 $1r,5 $2,8 8086
+sub mem8x,imm nil 80 $1,5 $2,8 8086
+sub reg8,imm8x nil 80 $1r,5 $2,8 8086
+sub mem,imm8x nil 80 $1,5 $2,8 8086
+sub reg16,imm 16 81 $1r,5 $2,16 8086
+sub mem16x,imm 16 81 $1,5 $2,16 8086
+sub reg16,imm16x 16 81 $1r,5 $2,16 8086
+sub mem,imm16x 16 81 $1,5 $2,16 8086
+sub reg32,imm 32 81 $1r,5 $2,32 386
+sub mem32x,imm 32 81 $1,5 $2,32 386
+sub reg32,imm32x 32 81 $1r,5 $2,32 386
+sub mem,imm32x 32 81 $1,5 $2,32 386
+sub reg16,imm8x 16 83 $1r,5 $2,8s 8086
+sub mem16x,imm8x 16 83 $1,5 $2,8s 8086
+sub reg32,imm8x 32 83 $1r,5 $2,8s 386
+sub mem32x,imm8x 32 83 $1,5 $2,8s 386
; opcode arbitrarily picked for next 3 (could be 2A/2B instead of 28/29).
-sub reg8,reg8 nil 28 $1r,$2 nil 8086
-sub reg16,reg16 16 29 $1r,$2 nil 8086
-sub reg32,reg32 32 29 $1r,$2 nil 386
-sub mem,reg8 nil 28 $1,$2 nil 8086
-sub mem8x,reg8 nil 28 $1,$2 nil 8086
-sub mem,reg16 16 29 $1,$2 nil 8086
-sub mem16x,reg16 16 29 $1,$2 nil 8086
-sub mem,reg32 32 29 $1,$2 nil 386
-sub mem32x,reg32 32 29 $1,$2 nil 386
-sub reg8,mem8 nil 2A $2,$1 nil 8086
-sub reg16,mem16 16 2B $2,$1 nil 8086
-sub reg32,mem32 32 2B $2,$1 nil 386
+sub reg8,reg8 nil 28 $1r,$2 nil 8086
+sub reg16,reg16 16 29 $1r,$2 nil 8086
+sub reg32,reg32 32 29 $1r,$2 nil 386
+sub mem,reg8 nil 28 $1,$2 nil 8086
+sub mem8x,reg8 nil 28 $1,$2 nil 8086
+sub mem,reg16 16 29 $1,$2 nil 8086
+sub mem16x,reg16 16 29 $1,$2 nil 8086
+sub mem,reg32 32 29 $1,$2 nil 386
+sub mem32x,reg32 32 29 $1,$2 nil 386
+sub reg8,mem8 nil 2A $2,$1 nil 8086
+sub reg16,mem16 16 2B $2,$1 nil 8086
+sub reg32,mem32 32 2B $2,$1 nil 386
subpd XMMREG,rm128 nil 66,0F,5C $2,$1 nil P4,SSE2
-subps XMMREG,rm128 nil 0F,5C $2,$1 nil KATMAI,SSE
+subps XMMREG,rm128 nil 0F,5C $2,$1 nil KATMAI,SSE
subsd XMMREG,rm128 nil F2,0F,5C $2,$1 nil P4,SSE2
subss XMMREG,rm128 nil F3,0F,5C $2,$1 nil P4,SSE2
-sysenter nil nil 0F,34 nil nil P6
-sysexit nil nil 0F,35 nil nil P6,PRIV
-test REG_AL,imm8 nil A8 nil $2,8 8086
-test REG_AX,imm16 16 A9 nil $2,16 8086
-test REG_EAX,imm32 32 A9 nil $2,32 386
-test reg8,imm nil F6 $1r,0 $2,8 8086
-test mem8x,imm nil F6 $1,0 $2,8 8086
-test reg8,imm8x nil F6 $1r,0 $2,8 8086
-test mem,imm8x nil F6 $1,0 $2,8 8086
-test reg16,imm 16 F7 $1r,0 $2,16 8086
-test mem16x,imm 16 F7 $1,0 $2,16 8086
-test reg16,imm16x 16 F7 $1r,0 $2,16 8086
-test mem,imm16x 16 F7 $1,0 $2,16 8086
-test reg32,imm 32 F7 $1r,0 $2,32 386
-test mem32x,imm 32 F7 $1,0 $2,32 386
-test reg32,imm32x 32 F7 $1r,0 $2,32 386
-test mem,imm32x 32 F7 $1,0 $2,32 386
+sysenter nil nil 0F,34 nil nil P6
+sysexit nil nil 0F,35 nil nil P6,PRIV
+test REG_AL,imm8 nil A8 nil $2,8 8086
+test REG_AX,imm16 16 A9 nil $2,16 8086
+test REG_EAX,imm32 32 A9 nil $2,32 386
+test reg8,imm nil F6 $1r,0 $2,8 8086
+test mem8x,imm nil F6 $1,0 $2,8 8086
+test reg8,imm8x nil F6 $1r,0 $2,8 8086
+test mem,imm8x nil F6 $1,0 $2,8 8086
+test reg16,imm 16 F7 $1r,0 $2,16 8086
+test mem16x,imm 16 F7 $1,0 $2,16 8086
+test reg16,imm16x 16 F7 $1r,0 $2,16 8086
+test mem,imm16x 16 F7 $1,0 $2,16 8086
+test reg32,imm 32 F7 $1r,0 $2,32 386
+test mem32x,imm 32 F7 $1,0 $2,32 386
+test reg32,imm32x 32 F7 $1r,0 $2,32 386
+test mem,imm32x 32 F7 $1,0 $2,32 386
; opcode arbitrarily picked for next 3 (could be 32/33 instead of 30/31).
-test reg8,reg8 nil 84 $1r,$2 nil 8086
-test reg16,reg16 16 85 $1r,$2 nil 8086
-test reg32,reg32 32 85 $1r,$2 nil 386
-test mem,reg8 nil 84 $1,$2 nil 8086
-test mem8x,reg8 nil 84 $1,$2 nil 8086
-test mem,reg16 16 85 $1,$2 nil 8086
-test mem16x,reg16 16 85 $1,$2 nil 8086
-test mem,reg32 32 85 $1,$2 nil 386
-test mem32x,reg32 32 85 $1,$2 nil 386
-test reg8,mem8 nil 84 $2,$1 nil 8086
-test reg16,mem16 16 85 $2,$1 nil 8086
-test reg32,mem32 32 85 $2,$1 nil 386
+test reg8,reg8 nil 84 $1r,$2 nil 8086
+test reg16,reg16 16 85 $1r,$2 nil 8086
+test reg32,reg32 32 85 $1r,$2 nil 386
+test mem,reg8 nil 84 $1,$2 nil 8086
+test mem8x,reg8 nil 84 $1,$2 nil 8086
+test mem,reg16 16 85 $1,$2 nil 8086
+test mem16x,reg16 16 85 $1,$2 nil 8086
+test mem,reg32 32 85 $1,$2 nil 386
+test mem32x,reg32 32 85 $1,$2 nil 386
+test reg8,mem8 nil 84 $2,$1 nil 8086
+test reg16,mem16 16 85 $2,$1 nil 8086
+test reg32,mem32 32 85 $2,$1 nil 386
ucomisd XMMREG,rm128 nil 66,0F,2E $2,$1 nil P4,SSE2
-ucomiss XMMREG,rm128 nil 0F,2E $2,$1 nil KATMAI,SSE
-ud2 nil nil 0F,0B nil nil 286
+ucomiss XMMREG,rm128 nil 0F,2E $2,$1 nil KATMAI,SSE
+ud2 nil nil 0F,0B nil nil 286
unpckhpd XMMREG,rm128 nil 66,0F,15 $2,$1 nil P4,SSE2
-unpckhps XMMREG,rm128 nil 0F,15 $2,$1 nil KATMAI,SSE
+unpckhps XMMREG,rm128 nil 0F,15 $2,$1 nil KATMAI,SSE
unpcklpd XMMREG,rm128 nil 66,0F,14 $2,$1 nil P4,SSE2
-unpcklps XMMREG,rm128 nil 0F,14 $2,$1 nil KATMAI,SSE
-verr rm16 nil 0F,00 $1,4 nil 286,PROT
-verw rm16 nil 0F,00 $1,5 nil 286,PROT
-wait nil nil 9B nil nil 8086
+unpcklps XMMREG,rm128 nil 0F,14 $2,$1 nil KATMAI,SSE
+verr rm16 nil 0F,00 $1,4 nil 286,PROT
+verw rm16 nil 0F,00 $1,5 nil 286,PROT
+wait nil nil 9B nil nil 8086
:fwait wait
-wbinvd nil nil 0F,09 nil nil 486,PRIV
-wrmsr nil nil 0F,30 nil nil P5,PRIV
+wbinvd nil nil 0F,09 nil nil 486,PRIV
+wrmsr nil nil 0F,30 nil nil P5,PRIV
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-xadd reg8,reg8 nil 0F,C0 $1r,$2 nil 486
-xadd mem,reg8 nil 0F,C0 $1,$2 nil 486
-xadd mem8x,reg8 nil 0F,C0 $1,$2 nil 486
-xadd reg8,mem8 nil 0F,C0 $2,$1 nil 486
+xadd reg8,reg8 nil 0F,C0 $1r,$2 nil 486
+xadd mem,reg8 nil 0F,C0 $1,$2 nil 486
+xadd mem8x,reg8 nil 0F,C0 $1,$2 nil 486
+xadd reg8,mem8 nil 0F,C0 $2,$1 nil 486
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-xadd reg16,reg16 16 0F,C1 $1r,$2 nil 486
-xadd mem,reg16 16 0F,C1 $1,$2 nil 486
-xadd mem16x,reg16 16 0F,C1 $1,$2 nil 486
-xadd reg16,mem16 16 0F,C1 $2,$1 nil 486
+xadd reg16,reg16 16 0F,C1 $1r,$2 nil 486
+xadd mem,reg16 16 0F,C1 $1,$2 nil 486
+xadd mem16x,reg16 16 0F,C1 $1,$2 nil 486
+xadd reg16,mem16 16 0F,C1 $2,$1 nil 486
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-xadd reg32,reg32 32 0F,C1 $1r,$2 nil 486
-xadd mem,reg32 32 0F,C1 $1,$2 nil 486
-xadd mem32x,reg32 32 0F,C1 $1,$2 nil 486
-xadd reg32,mem32 32 0F,C1 $2,$1 nil 486
-;xchg REG_AX,reg16 16 90+$2 nil nil 8086
-;xchg reg16,REG_AX 16 90+$1 nil nil 8086
-;xchg REG_EAX,reg32 32 90+$2 nil nil 386
-;xchg reg32,REG_EAX 32 90+$1 nil nil 386
+xadd reg32,reg32 32 0F,C1 $1r,$2 nil 486
+xadd mem,reg32 32 0F,C1 $1,$2 nil 486
+xadd mem32x,reg32 32 0F,C1 $1,$2 nil 486
+xadd reg32,mem32 32 0F,C1 $2,$1 nil 486
+;xchg REG_AX,reg16 16 90+$2 nil nil 8086
+;xchg reg16,REG_AX 16 90+$1 nil nil 8086
+;xchg REG_EAX,reg32 32 90+$2 nil nil 386
+;xchg reg32,REG_EAX 32 90+$1 nil nil 386
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-xchg reg8,reg8 nil 86 $1r,$2 nil 8086
-xchg mem,reg8 nil 86 $1,$2 nil 8086
-xchg mem8x,reg8 nil 86 $1,$2 nil 8086
-xchg reg8,mem8 nil 86 $2,$1 nil 8086
+xchg reg8,reg8 nil 86 $1r,$2 nil 8086
+xchg mem,reg8 nil 86 $1,$2 nil 8086
+xchg mem8x,reg8 nil 86 $1,$2 nil 8086
+xchg reg8,mem8 nil 86 $2,$1 nil 8086
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-xchg reg16,reg16 16 87 $1r,$2 nil 8086
-xchg mem,reg16 16 87 $1,$2 nil 8086
-xchg mem16x,reg16 16 87 $1,$2 nil 8086
-xchg reg16,mem16 16 87 $2,$1 nil 8086
+xchg reg16,reg16 16 87 $1r,$2 nil 8086
+xchg mem,reg16 16 87 $1,$2 nil 8086
+xchg mem16x,reg16 16 87 $1,$2 nil 8086
+xchg reg16,mem16 16 87 $2,$1 nil 8086
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-xchg reg32,reg32 32 87 $1r,$2 nil 386
-xchg mem,reg32 32 87 $1,$2 nil 386
-xchg mem32x,reg32 32 87 $1,$2 nil 386
-xchg reg32,mem32 32 87 $2,$1 nil 386
+xchg reg32,reg32 32 87 $1r,$2 nil 386
+xchg mem,reg32 32 87 $1,$2 nil 386
+xchg mem32x,reg32 32 87 $1,$2 nil 386
+xchg reg32,mem32 32 87 $2,$1 nil 386
:xlat xlatb
-xlatb nil nil D7 nil nil 8086
-xor REG_AL,imm8 nil 34 nil $2,8 8086
-xor REG_AX,imm16 16 35 nil $2,16 8086
-xor REG_EAX,imm32 32 35 nil $2,32 386
-xor reg8,imm nil 80 $1r,6 $2,8 8086
-xor mem8x,imm nil 80 $1,6 $2,8 8086
-xor reg8,imm8x nil 80 $1r,6 $2,8 8086
-xor mem,imm8x nil 80 $1,6 $2,8 8086
-xor reg16,imm 16 81 $1r,6 $2,16 8086
-xor mem16x,imm 16 81 $1,6 $2,16 8086
-xor reg16,imm16x 16 81 $1r,6 $2,16 8086
-xor mem,imm16x 16 81 $1,6 $2,16 8086
-xor reg32,imm 32 81 $1r,6 $2,32 386
-xor mem32x,imm 32 81 $1,6 $2,32 386
-xor reg32,imm32x 32 81 $1r,6 $2,32 386
-xor mem,imm32x 32 81 $1,6 $2,32 386
-xor reg16,imm8x 16 83 $1r,6 $2,8s 8086
-xor mem16x,imm8x 16 83 $1,6 $2,8s 8086
-xor reg32,imm8x 32 83 $1r,6 $2,8s 386
-xor mem32x,imm8x 32 83 $1,6 $2,8s 386
+xlatb nil nil D7 nil nil 8086
+xor REG_AL,imm8 nil 34 nil $2,8 8086
+xor REG_AX,imm16 16 35 nil $2,16 8086
+xor REG_EAX,imm32 32 35 nil $2,32 386
+xor reg8,imm nil 80 $1r,6 $2,8 8086
+xor mem8x,imm nil 80 $1,6 $2,8 8086
+xor reg8,imm8x nil 80 $1r,6 $2,8 8086
+xor mem,imm8x nil 80 $1,6 $2,8 8086
+xor reg16,imm 16 81 $1r,6 $2,16 8086
+xor mem16x,imm 16 81 $1,6 $2,16 8086
+xor reg16,imm16x 16 81 $1r,6 $2,16 8086
+xor mem,imm16x 16 81 $1,6 $2,16 8086
+xor reg32,imm 32 81 $1r,6 $2,32 386
+xor mem32x,imm 32 81 $1,6 $2,32 386
+xor reg32,imm32x 32 81 $1r,6 $2,32 386
+xor mem,imm32x 32 81 $1,6 $2,32 386
+xor reg16,imm8x 16 83 $1r,6 $2,8s 8086
+xor mem16x,imm8x 16 83 $1,6 $2,8s 8086
+xor reg32,imm8x 32 83 $1r,6 $2,8s 386
+xor mem32x,imm8x 32 83 $1,6 $2,8s 386
; opcode arbitrarily picked for next 3 (could be 32/33 instead of 30/31).
-xor reg8,reg8 nil 30 $1r,$2 nil 8086
-xor reg16,reg16 16 31 $1r,$2 nil 8086
-xor reg32,reg32 32 31 $1r,$2 nil 386
-xor mem,reg8 nil 30 $1,$2 nil 8086
-xor mem8x,reg8 nil 30 $1,$2 nil 8086
-xor mem,reg16 16 31 $1,$2 nil 8086
-xor mem16x,reg16 16 31 $1,$2 nil 8086
-xor mem,reg32 32 31 $1,$2 nil 386
-xor mem32x,reg32 32 31 $1,$2 nil 386
-xor reg8,mem8 nil 32 $2,$1 nil 8086
-xor reg16,mem16 16 33 $2,$1 nil 8086
-xor reg32,mem32 32 33 $2,$1 nil 386
+xor reg8,reg8 nil 30 $1r,$2 nil 8086
+xor reg16,reg16 16 31 $1r,$2 nil 8086
+xor reg32,reg32 32 31 $1r,$2 nil 386
+xor mem,reg8 nil 30 $1,$2 nil 8086
+xor mem8x,reg8 nil 30 $1,$2 nil 8086
+xor mem,reg16 16 31 $1,$2 nil 8086
+xor mem16x,reg16 16 31 $1,$2 nil 8086
+xor mem,reg32 32 31 $1,$2 nil 386
+xor mem32x,reg32 32 31 $1,$2 nil 386
+xor reg8,mem8 nil 32 $2,$1 nil 8086
+xor reg16,mem16 16 33 $2,$1 nil 8086
+xor reg32,mem32 32 33 $2,$1 nil 386
xorpd XMMREG,rm128 nil 66,0F,57 $2,$1 nil P4,SSE2
-xorps XMMREG,rm128 nil 0F,57 $2,$1 nil KATMAI,SSE
+xorps XMMREG,rm128 nil 0F,57 $2,$1 nil KATMAI,SSE
;
; Obsolete/Undocumented Instructions
;
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-cmpxchg486 reg8,reg8 nil 0F,A6 $1r,$2 nil 486,UNDOC
-cmpxchg486 mem,reg8 nil 0F,A6 $1,$2 nil 486,UNDOC
-cmpxchg486 mem8x,reg8 nil 0F,A6 $1,$2 nil 486,UNDOC
+cmpxchg486 reg8,reg8 nil 0F,A6 $1r,$2 nil 486,UNDOC
+cmpxchg486 mem,reg8 nil 0F,A6 $1,$2 nil 486,UNDOC
+cmpxchg486 mem8x,reg8 nil 0F,A6 $1,$2 nil 486,UNDOC
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-cmpxchg486 reg16,reg16 16 0F,A7 $1r,$2 nil 486,UNDOC
-cmpxchg486 mem,reg16 16 0F,A7 $1,$2 nil 486,UNDOC
-cmpxchg486 mem16x,reg16 16 0F,A7 $1,$2 nil 486,UNDOC
+cmpxchg486 reg16,reg16 16 0F,A7 $1r,$2 nil 486,UNDOC
+cmpxchg486 mem,reg16 16 0F,A7 $1,$2 nil 486,UNDOC
+cmpxchg486 mem16x,reg16 16 0F,A7 $1,$2 nil 486,UNDOC
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-cmpxchg486 reg32,reg32 32 0F,A7 $1r,$2 nil 486,UNDOC
-cmpxchg486 mem,reg32 32 0F,A7 $1,$2 nil 486,UNDOC
-cmpxchg486 mem32x,reg32 32 0F,A7 $1,$2 nil 486,UNDOC
+cmpxchg486 reg32,reg32 32 0F,A7 $1r,$2 nil 486,UNDOC
+cmpxchg486 mem,reg32 32 0F,A7 $1,$2 nil 486,UNDOC
+cmpxchg486 mem32x,reg32 32 0F,A7 $1,$2 nil 486,UNDOC
ffreep fpureg nil DF,C0+$1 nil nil P6,FPU,UNDOC
-fsetpm nil nil DB,E4 nil nil 286,FPU,OBS
+fsetpm nil nil DB,E4 nil nil 286,FPU,OBS
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-ibts reg16,reg16 16 0F,A7 $1r,$2 nil 386,UNDOC,OBS
-ibts mem,reg16 16 0F,A7 $1,$2 nil 386,UNDOC,OBS
-ibts mem16x,reg16 16 0F,A7 $1,$2 nil 386,UNDOC,OBS
+ibts reg16,reg16 16 0F,A7 $1r,$2 nil 386,UNDOC,OBS
+ibts mem,reg16 16 0F,A7 $1,$2 nil 386,UNDOC,OBS
+ibts mem16x,reg16 16 0F,A7 $1,$2 nil 386,UNDOC,OBS
; arbitrary encoding, picked $1r,$2 instead of $2r,$1
-ibts reg32,reg32 32 0F,A7 $1r,$2 nil 386,UNDOC,OBS
-ibts mem,reg32 32 0F,A7 $1,$2 nil 386,UNDOC,OBS
-ibts mem32x,reg32 32 0F,A7 $1,$2 nil 386,UNDOC,OBS
-loadall nil nil 0F,07 nil nil 386,UNDOC
-loadall286 nil nil 0F,05 nil nil 286,UNDOC
-;pop REG_CS nil 0F nil nil 8086,UNDOC,OBS
-salc nil nil D6 nil nil 8086,UNDOC
-smi nil nil F1 nil nil 386,UNDOC
-ud1 nil nil 0F,B9 nil nil 286,UNDOC
+ibts reg32,reg32 32 0F,A7 $1r,$2 nil 386,UNDOC,OBS
+ibts mem,reg32 32 0F,A7 $1,$2 nil 386,UNDOC,OBS
+ibts mem32x,reg32 32 0F,A7 $1,$2 nil 386,UNDOC,OBS
+loadall nil nil 0F,07 nil nil 386,UNDOC
+loadall286 nil nil 0F,05 nil nil 286,UNDOC
+;pop REG_CS nil 0F nil nil 8086,UNDOC,OBS
+salc nil nil D6 nil nil 8086,UNDOC
+smi nil nil F1 nil nil 386,UNDOC
+ud1 nil nil 0F,B9 nil nil 286,UNDOC
; opcode arbitrarily picked for next 3 (could be 12/13 instead of 10/11).
-umov reg8,reg8 nil 0F,10 $1r,$2 nil 386,UNDOC
-umov reg16,reg16 16 0F,11 $1r,$2 nil 386,UNDOC
-umov reg32,reg32 32 0F,11 $1r,$2 nil 386,UNDOC
-umov mem,reg8 nil 0F,10 $1,$2 nil 386,UNDOC
-umov mem8x,reg8 nil 0F,10 $1,$2 nil 386,UNDOC
-umov mem,reg16 16 0F,11 $1,$2 nil 386,UNDOC
-umov mem16x,reg16 16 0F,11 $1,$2 nil 386,UNDOC
-umov mem,reg32 32 0F,11 $1,$2 nil 386,UNDOC
-umov mem32x,reg32 32 0F,11 $1,$2 nil 386,UNDOC
-umov reg8,mem8 nil 0F,12 $2,$1 nil 386,UNDOC
-umov reg16,mem16 16 0F,13 $2,$1 nil 386,UNDOC
-umov reg32,mem32 32 0F,13 $2,$1 nil 386,UNDOC
-xbts reg16,mem16 16 0F,A6 $2,$1 nil 386,UNDOC,OBS
-xbts reg32,mem32 32 0F,A6 $2,$1 nil 386,UNDOC,OBS
+umov reg8,reg8 nil 0F,10 $1r,$2 nil 386,UNDOC
+umov reg16,reg16 16 0F,11 $1r,$2 nil 386,UNDOC
+umov reg32,reg32 32 0F,11 $1r,$2 nil 386,UNDOC
+umov mem,reg8 nil 0F,10 $1,$2 nil 386,UNDOC
+umov mem8x,reg8 nil 0F,10 $1,$2 nil 386,UNDOC
+umov mem,reg16 16 0F,11 $1,$2 nil 386,UNDOC
+umov mem16x,reg16 16 0F,11 $1,$2 nil 386,UNDOC
+umov mem,reg32 32 0F,11 $1,$2 nil 386,UNDOC
+umov mem32x,reg32 32 0F,11 $1,$2 nil 386,UNDOC
+umov reg8,mem8 nil 0F,12 $2,$1 nil 386,UNDOC
+umov reg16,mem16 16 0F,13 $2,$1 nil 386,UNDOC
+umov reg32,mem32 32 0F,13 $2,$1 nil 386,UNDOC
+xbts reg16,mem16 16 0F,A6 $2,$1 nil 386,UNDOC,OBS
+xbts reg32,mem32 32 0F,A6 $2,$1 nil 386,UNDOC,OBS
;
; AMD 3DNow! Instructions
;
-femms nil nil 0F,0E nil nil P5,3DNOW,AMD
-pavgusb MMXREG,rm64 nil 0F,0F $2,$1 BF,8 P5,3DNOW,AMD
-pf2id MMXREG,rm64 nil 0F,0F $2,$1 1D,8 P5,3DNOW,AMD
-pf2iw MMXREG,rm64 nil 0F,0F $2,$1 1C,8 ATHLON,3DNOW,AMD
-pfacc MMXREG,rm64 nil 0F,0F $2,$1 AE,8 P5,3DNOW,AMD
-pfadd MMXREG,rm64 nil 0F,0F $2,$1 9E,8 P5,3DNOW,AMD
-pfcmpeq MMXREG,rm64 nil 0F,0F $2,$1 B0,8 P5,3DNOW,AMD
-pfcmpge MMXREG,rm64 nil 0F,0F $2,$1 90,8 P5,3DNOW,AMD
-pfcmpgt MMXREG,rm64 nil 0F,0F $2,$1 A0,8 P5,3DNOW,AMD
-pfmax MMXREG,rm64 nil 0F,0F $2,$1 A4,8 P5,3DNOW,AMD
-pfmin MMXREG,rm64 nil 0F,0F $2,$1 94,8 P5,3DNOW,AMD
-pfmul MMXREG,rm64 nil 0F,0F $2,$1 B4,8 P5,3DNOW,AMD
-pfnacc MMXREG,rm64 nil 0F,0F $2,$1 8A,8 ATHLON,3DNOW,AMD
-pfpnacc MMXREG,rm64 nil 0F,0F $2,$1 8E,8 ATHLON,3DNOW,AMD
-pfrcp MMXREG,rm64 nil 0F,0F $2,$1 96,8 P5,3DNOW,AMD
-pfrcpit1 MMXREG,rm64 nil 0F,0F $2,$1 A6,8 P5,3DNOW,AMD
-pfrcpit2 MMXREG,rm64 nil 0F,0F $2,$1 B6,8 P5,3DNOW,AMD
-pfrsqit1 MMXREG,rm64 nil 0F,0F $2,$1 A7,8 P5,3DNOW,AMD
-pfrsqrt MMXREG,rm64 nil 0F,0F $2,$1 97,8 P5,3DNOW,AMD
-pfsub MMXREG,rm64 nil 0F,0F $2,$1 9A,8 P5,3DNOW,AMD
-pfsubr MMXREG,rm64 nil 0F,0F $2,$1 AA,8 P5,3DNOW,AMD
-pi2fd MMXREG,rm64 nil 0F,0F $2,$1 0D,8 P5,3DNOW,AMD
-pi2fw MMXREG,rm64 nil 0F,0F $2,$1 0C,8 ATHLON,3DNOW,AMD
-pmulhrwa MMXREG,rm64 nil 0F,0F $2,$1 B7,8 P5,3DNOW,AMD
-prefetch mem nil 0F,0D $1,0 nil P5,3DNOW,AMD
-prefetchw mem nil 0F,0D $1,1 nil P5,3DNOW,AMD
-pswapd MMXREG,rm64 nil 0F,0F $2,$1 BB,8 ATHLON,3DNOW,AMD
+femms nil nil 0F,0E nil nil P5,3DNOW,AMD
+pavgusb MMXREG,rm64 nil 0F,0F $2,$1 BF,8 P5,3DNOW,AMD
+pf2id MMXREG,rm64 nil 0F,0F $2,$1 1D,8 P5,3DNOW,AMD
+pf2iw MMXREG,rm64 nil 0F,0F $2,$1 1C,8 ATHLON,3DNOW,AMD
+pfacc MMXREG,rm64 nil 0F,0F $2,$1 AE,8 P5,3DNOW,AMD
+pfadd MMXREG,rm64 nil 0F,0F $2,$1 9E,8 P5,3DNOW,AMD
+pfcmpeq MMXREG,rm64 nil 0F,0F $2,$1 B0,8 P5,3DNOW,AMD
+pfcmpge MMXREG,rm64 nil 0F,0F $2,$1 90,8 P5,3DNOW,AMD
+pfcmpgt MMXREG,rm64 nil 0F,0F $2,$1 A0,8 P5,3DNOW,AMD
+pfmax MMXREG,rm64 nil 0F,0F $2,$1 A4,8 P5,3DNOW,AMD
+pfmin MMXREG,rm64 nil 0F,0F $2,$1 94,8 P5,3DNOW,AMD
+pfmul MMXREG,rm64 nil 0F,0F $2,$1 B4,8 P5,3DNOW,AMD
+pfnacc MMXREG,rm64 nil 0F,0F $2,$1 8A,8 ATHLON,3DNOW,AMD
+pfpnacc MMXREG,rm64 nil 0F,0F $2,$1 8E,8 ATHLON,3DNOW,AMD
+pfrcp MMXREG,rm64 nil 0F,0F $2,$1 96,8 P5,3DNOW,AMD
+pfrcpit1 MMXREG,rm64 nil 0F,0F $2,$1 A6,8 P5,3DNOW,AMD
+pfrcpit2 MMXREG,rm64 nil 0F,0F $2,$1 B6,8 P5,3DNOW,AMD
+pfrsqit1 MMXREG,rm64 nil 0F,0F $2,$1 A7,8 P5,3DNOW,AMD
+pfrsqrt MMXREG,rm64 nil 0F,0F $2,$1 97,8 P5,3DNOW,AMD
+pfsub MMXREG,rm64 nil 0F,0F $2,$1 9A,8 P5,3DNOW,AMD
+pfsubr MMXREG,rm64 nil 0F,0F $2,$1 AA,8 P5,3DNOW,AMD
+pi2fd MMXREG,rm64 nil 0F,0F $2,$1 0D,8 P5,3DNOW,AMD
+pi2fw MMXREG,rm64 nil 0F,0F $2,$1 0C,8 ATHLON,3DNOW,AMD
+pmulhrwa MMXREG,rm64 nil 0F,0F $2,$1 B7,8 P5,3DNOW,AMD
+prefetch mem nil 0F,0D $1,0 nil P5,3DNOW,AMD
+prefetchw mem nil 0F,0D $1,1 nil P5,3DNOW,AMD
+pswapd MMXREG,rm64 nil 0F,0F $2,$1 BB,8 ATHLON,3DNOW,AMD
;
; Other AMD Instructions
;
-syscall nil nil 0F,05 nil nil P6,AMD
-sysret nil nil 0F,07 nil nil P6,PRIV,AMD
+syscall nil nil 0F,05 nil nil P6,AMD
+sysret nil nil 0F,07 nil nil P6,PRIV,AMD
;
; Cyrix Instructions
;
-paddsiw MMXREG,rm64 nil 0F,51 $2,$1 nil P5,MMX,CYRIX
-paveb MMXREG,rm64 nil 0F,50 $2,$1 nil P5,MMX,CYRIX
-pdistib MMXREG,rm64 nil 0F,54 $2,$1 nil P5,MMX,CYRIX
-pmachriw MMXREG,mem64 nil 0F,5E $2,$1 nil P5,MMX,CYRIX
-pmagw MMXREG,rm64 nil 0F,52 $2,$1 nil P5,MMX,CYRIX
-pmulhriw MMXREG,rm64 nil 0F,5D $2,$1 nil P5,MMX,CYRIX
-pmulhrwc MMXREG,rm64 nil 0F,59 $2,$1 nil P5,MMX,CYRIX
-pmvgezb MMXREG,mem64 nil 0F,5C $2,$1 nil P5,MMX,CYRIX
-pmvlzb MMXREG,mem64 nil 0F,5B $2,$1 nil P5,MMX,CYRIX
-pmvnzb MMXREG,mem64 nil 0F,5A $2,$1 nil P5,MMX,CYRIX
-pmvzb MMXREG,mem64 nil 0F,58 $2,$1 nil P5,MMX,CYRIX
-psubsiw MMXREG,rm64 nil 0F,55 $2,$1 nil P5,MMX,CYRIX
-rdshr nil nil 0F,36 nil nil P6,CYRIX,SMM
-rsdc segreg,mem80 nil 0F,79 $2,$1 nil 486,CYRIX,SMM
-rsldt mem80 nil 0F,7B $1,0 nil 486,CYRIX,SMM
-rsts mem80 nil 0F,7D $1,0 nil 486,CYRIX,SMM
-smint nil nil 0F,38 nil nil P6,CYRIX
-smintold nil nil 0F,7E nil nil 486,CYRIX,OBS
-svdc mem80,segreg nil 0F,78 $1,$2 nil 486,CYRIX,SMM
-svldt mem80 nil 0F,7A $1,0 nil 486,CYRIX,SMM
-svts mem80 nil 0F,7C $1,0 nil 486,CYRIX,SMM
-wrshr nil nil 0F,37 nil nil P6,CYRIX,SMM
+paddsiw MMXREG,rm64 nil 0F,51 $2,$1 nil P5,MMX,CYRIX
+paveb MMXREG,rm64 nil 0F,50 $2,$1 nil P5,MMX,CYRIX
+pdistib MMXREG,rm64 nil 0F,54 $2,$1 nil P5,MMX,CYRIX
+pmachriw MMXREG,mem64 nil 0F,5E $2,$1 nil P5,MMX,CYRIX
+pmagw MMXREG,rm64 nil 0F,52 $2,$1 nil P5,MMX,CYRIX
+pmulhriw MMXREG,rm64 nil 0F,5D $2,$1 nil P5,MMX,CYRIX
+pmulhrwc MMXREG,rm64 nil 0F,59 $2,$1 nil P5,MMX,CYRIX
+pmvgezb MMXREG,mem64 nil 0F,5C $2,$1 nil P5,MMX,CYRIX
+pmvlzb MMXREG,mem64 nil 0F,5B $2,$1 nil P5,MMX,CYRIX
+pmvnzb MMXREG,mem64 nil 0F,5A $2,$1 nil P5,MMX,CYRIX
+pmvzb MMXREG,mem64 nil 0F,58 $2,$1 nil P5,MMX,CYRIX
+psubsiw MMXREG,rm64 nil 0F,55 $2,$1 nil P5,MMX,CYRIX
+rdshr nil nil 0F,36 nil nil P6,CYRIX,SMM
+rsdc segreg,mem80 nil 0F,79 $2,$1 nil 486,CYRIX,SMM
+rsldt mem80 nil 0F,7B $1,0 nil 486,CYRIX,SMM
+rsts mem80 nil 0F,7D $1,0 nil 486,CYRIX,SMM
+smint nil nil 0F,38 nil nil P6,CYRIX
+smintold nil nil 0F,7E nil nil 486,CYRIX,OBS
+svdc mem80,segreg nil 0F,78 $1,$2 nil 486,CYRIX,SMM
+svldt mem80 nil 0F,7A $1,0 nil 486,CYRIX,SMM
+svts mem80 nil 0F,7C $1,0 nil 486,CYRIX,SMM
+wrshr nil nil 0F,37 nil nil P6,CYRIX,SMM