BEXTRQ R14, (R11), R11 // c44288f71b
BEXTRQ R14, DX, R11 // c46288f7da
BEXTRQ R14, R11, R11 // c44288f7db
- //TODO: BLENDPD $7, (BX), X2 // 660f3a0d1307
- //TODO: BLENDPD $7, (R11), X2 // 66410f3a0d1307
- //TODO: BLENDPD $7, X2, X2 // 660f3a0dd207
- //TODO: BLENDPD $7, X11, X2 // 66410f3a0dd307
- //TODO: BLENDPD $7, (BX), X11 // 66440f3a0d1b07
- //TODO: BLENDPD $7, (R11), X11 // 66450f3a0d1b07
- //TODO: BLENDPD $7, X2, X11 // 66440f3a0dda07
- //TODO: BLENDPD $7, X11, X11 // 66450f3a0ddb07
- //TODO: BLENDPS $7, (BX), X2 // 660f3a0c1307
- //TODO: BLENDPS $7, (R11), X2 // 66410f3a0c1307
- //TODO: BLENDPS $7, X2, X2 // 660f3a0cd207
- //TODO: BLENDPS $7, X11, X2 // 66410f3a0cd307
- //TODO: BLENDPS $7, (BX), X11 // 66440f3a0c1b07
- //TODO: BLENDPS $7, (R11), X11 // 66450f3a0c1b07
- //TODO: BLENDPS $7, X2, X11 // 66440f3a0cda07
- //TODO: BLENDPS $7, X11, X11 // 66450f3a0cdb07
+ BLENDPD $7, (BX), X2 // 660f3a0d1307
+ BLENDPD $7, (R11), X2 // 66410f3a0d1307
+ BLENDPD $7, X2, X2 // 660f3a0dd207
+ BLENDPD $7, X11, X2 // 66410f3a0dd307
+ BLENDPD $7, (BX), X11 // 66440f3a0d1b07
+ BLENDPD $7, (R11), X11 // 66450f3a0d1b07
+ BLENDPD $7, X2, X11 // 66440f3a0dda07
+ BLENDPD $7, X11, X11 // 66450f3a0ddb07
+ BLENDPS $7, (BX), X2 // 660f3a0c1307
+ BLENDPS $7, (R11), X2 // 66410f3a0c1307
+ BLENDPS $7, X2, X2 // 660f3a0cd207
+ BLENDPS $7, X11, X2 // 66410f3a0cd307
+ BLENDPS $7, (BX), X11 // 66440f3a0c1b07
+ BLENDPS $7, (R11), X11 // 66450f3a0c1b07
+ BLENDPS $7, X2, X11 // 66440f3a0cda07
+ BLENDPS $7, X11, X11 // 66450f3a0cdb07
//TODO: BLENDVPD XMM0, (BX), X2 // 660f381513
//TODO: BLENDVPD XMM0, (R11), X2 // 66410f381513
//TODO: BLENDVPD XMM0, X2, X2 // 660f3815d2
DIVSS (R11), X11 // f3450f5e1b
DIVSS X2, X11 // f3440f5eda
DIVSS X11, X11 // f3450f5edb
- //TODO: DPPD $7, (BX), X2 // 660f3a411307
- //TODO: DPPD $7, (R11), X2 // 66410f3a411307
- //TODO: DPPD $7, X2, X2 // 660f3a41d207
- //TODO: DPPD $7, X11, X2 // 66410f3a41d307
- //TODO: DPPD $7, (BX), X11 // 66440f3a411b07
- //TODO: DPPD $7, (R11), X11 // 66450f3a411b07
- //TODO: DPPD $7, X2, X11 // 66440f3a41da07
- //TODO: DPPD $7, X11, X11 // 66450f3a41db07
- //TODO: DPPS $7, (BX), X2 // 660f3a401307
- //TODO: DPPS $7, (R11), X2 // 66410f3a401307
- //TODO: DPPS $7, X2, X2 // 660f3a40d207
- //TODO: DPPS $7, X11, X2 // 66410f3a40d307
- //TODO: DPPS $7, (BX), X11 // 66440f3a401b07
- //TODO: DPPS $7, (R11), X11 // 66450f3a401b07
- //TODO: DPPS $7, X2, X11 // 66440f3a40da07
- //TODO: DPPS $7, X11, X11 // 66450f3a40db07
+ DPPD $7, (BX), X2 // 660f3a411307
+ DPPD $7, (R11), X2 // 66410f3a411307
+ DPPD $7, X2, X2 // 660f3a41d207
+ DPPD $7, X11, X2 // 66410f3a41d307
+ DPPD $7, (BX), X11 // 66440f3a411b07
+ DPPD $7, (R11), X11 // 66450f3a411b07
+ DPPD $7, X2, X11 // 66440f3a41da07
+ DPPD $7, X11, X11 // 66450f3a41db07
+ DPPS $7, (BX), X2 // 660f3a401307
+ DPPS $7, (R11), X2 // 66410f3a401307
+ DPPS $7, X2, X2 // 660f3a40d207
+ DPPS $7, X11, X2 // 66410f3a40d307
+ DPPS $7, (BX), X11 // 66440f3a401b07
+ DPPS $7, (R11), X11 // 66450f3a401b07
+ DPPS $7, X2, X11 // 66440f3a40da07
+ DPPS $7, X11, X11 // 66450f3a40db07
EMMS // 0f77
//TODO: ENTERQ $0x12, $0xf123 // c823f112
//TODO: EXTRACTPS $7, X2, (BX) // 660f3a171307
INCB R11 // 41fec3
INSB // 6c
INSL // 6d
- //TODO: INSERTPS $7, (BX), X2 // 660f3a211307
- //TODO: INSERTPS $7, (R11), X2 // 66410f3a211307
- //TODO: INSERTPS $7, X2, X2 // 660f3a21d207
- //TODO: INSERTPS $7, X11, X2 // 66410f3a21d307
- //TODO: INSERTPS $7, (BX), X11 // 66440f3a211b07
- //TODO: INSERTPS $7, (R11), X11 // 66450f3a211b07
- //TODO: INSERTPS $7, X2, X11 // 66440f3a21da07
- //TODO: INSERTPS $7, X11, X11 // 66450f3a21db07
+ INSERTPS $7, (BX), X2 // 660f3a211307
+ INSERTPS $7, (R11), X2 // 66410f3a211307
+ INSERTPS $7, X2, X2 // 660f3a21d207
+ INSERTPS $7, X11, X2 // 66410f3a21d307
+ INSERTPS $7, (BX), X11 // 66440f3a211b07
+ INSERTPS $7, (R11), X11 // 66450f3a211b07
+ INSERTPS $7, X2, X11 // 66440f3a21da07
+ INSERTPS $7, X11, X11 // 66450f3a21db07
INSW // 666d
//TODO: INT $3 // cc
INT $7 // cd07
MOVNTO X11, (BX) // 66440fe71b
MOVNTO X2, (R11) // 66410fe713
MOVNTO X11, (R11) // 66450fe71b
- //TODO: MOVNTDQA (BX), X2 // 660f382a13
- //TODO: MOVNTDQA (R11), X2 // 66410f382a13
- //TODO: MOVNTDQA (BX), X11 // 66440f382a1b
- //TODO: MOVNTDQA (R11), X11 // 66450f382a1b
+ MOVNTDQA (BX), X2 // 660f382a13
+ MOVNTDQA (R11), X2 // 66410f382a13
+ MOVNTDQA (BX), X11 // 66440f382a1b
+ MOVNTDQA (R11), X11 // 66450f382a1b
MOVNTIL DX, (BX) // 0fc313
MOVNTIL R11, (BX) // 440fc31b
MOVNTIL DX, (R11) // 410fc313
//TODO: MOVBQZX (R11), R11 // 4d0fb61b
//TODO: MOVBQZX DL, R11 // 4c0fb6da
//TODO: MOVBQZX R11, R11 // 4d0fb6db
- //TODO: MPSADBW $7, (BX), X2 // 660f3a421307
- //TODO: MPSADBW $7, (R11), X2 // 66410f3a421307
- //TODO: MPSADBW $7, X2, X2 // 660f3a42d207
- //TODO: MPSADBW $7, X11, X2 // 66410f3a42d307
- //TODO: MPSADBW $7, (BX), X11 // 66440f3a421b07
- //TODO: MPSADBW $7, (R11), X11 // 66450f3a421b07
- //TODO: MPSADBW $7, X2, X11 // 66440f3a42da07
- //TODO: MPSADBW $7, X11, X11 // 66450f3a42db07
+ MPSADBW $7, (BX), X2 // 660f3a421307
+ MPSADBW $7, (R11), X2 // 66410f3a421307
+ MPSADBW $7, X2, X2 // 660f3a42d207
+ MPSADBW $7, X11, X2 // 66410f3a42d307
+ MPSADBW $7, (BX), X11 // 66440f3a421b07
+ MPSADBW $7, (R11), X11 // 66450f3a421b07
+ MPSADBW $7, X2, X11 // 66440f3a42da07
+ MPSADBW $7, X11, X11 // 66450f3a42db07
MULW (BX) // 66f723
MULW (R11) // 6641f723
MULW DX // 66f7e2
PACKSSWB (R11), X11 // 66450f631b
PACKSSWB X2, X11 // 66440f63da
PACKSSWB X11, X11 // 66450f63db
- //TODO: PACKUSDW (BX), X2 // 660f382b13
- //TODO: PACKUSDW (R11), X2 // 66410f382b13
- //TODO: PACKUSDW X2, X2 // 660f382bd2
- //TODO: PACKUSDW X11, X2 // 66410f382bd3
- //TODO: PACKUSDW (BX), X11 // 66440f382b1b
- //TODO: PACKUSDW (R11), X11 // 66450f382b1b
- //TODO: PACKUSDW X2, X11 // 66440f382bda
- //TODO: PACKUSDW X11, X11 // 66450f382bdb
+ PACKUSDW (BX), X2 // 660f382b13
+ PACKUSDW (R11), X2 // 66410f382b13
+ PACKUSDW X2, X2 // 660f382bd2
+ PACKUSDW X11, X2 // 66410f382bd3
+ PACKUSDW (BX), X11 // 66440f382b1b
+ PACKUSDW (R11), X11 // 66450f382b1b
+ PACKUSDW X2, X11 // 66440f382bda
+ PACKUSDW X11, X11 // 66450f382bdb
PACKUSWB (BX), M2 // 0f6713
PACKUSWB (R11), M2 // 410f6713
PACKUSWB M2, M2 // 0f67d2
//TODO: PBLENDVB XMM0, (R11), X11 // 66450f38101b
//TODO: PBLENDVB XMM0, X2, X11 // 66440f3810da
//TODO: PBLENDVB XMM0, X11, X11 // 66450f3810db
- //TODO: PBLENDW $7, (BX), X2 // 660f3a0e1307
- //TODO: PBLENDW $7, (R11), X2 // 66410f3a0e1307
- //TODO: PBLENDW $7, X2, X2 // 660f3a0ed207
- //TODO: PBLENDW $7, X11, X2 // 66410f3a0ed307
- //TODO: PBLENDW $7, (BX), X11 // 66440f3a0e1b07
- //TODO: PBLENDW $7, (R11), X11 // 66450f3a0e1b07
- //TODO: PBLENDW $7, X2, X11 // 66440f3a0eda07
- //TODO: PBLENDW $7, X11, X11 // 66450f3a0edb07
+ PBLENDW $7, (BX), X2 // 660f3a0e1307
+ PBLENDW $7, (R11), X2 // 66410f3a0e1307
+ PBLENDW $7, X2, X2 // 660f3a0ed207
+ PBLENDW $7, X11, X2 // 66410f3a0ed307
+ PBLENDW $7, (BX), X11 // 66440f3a0e1b07
+ PBLENDW $7, (R11), X11 // 66450f3a0e1b07
+ PBLENDW $7, X2, X11 // 66440f3a0eda07
+ PBLENDW $7, X11, X11 // 66450f3a0edb07
PCLMULQDQ $7, (BX), X2 // 660f3a441307
PCLMULQDQ $7, (R11), X2 // 66410f3a441307
PCLMULQDQ $7, X2, X2 // 660f3a44d207
PCMPEQL (R11), X11 // 66450f761b
PCMPEQL X2, X11 // 66440f76da
PCMPEQL X11, X11 // 66450f76db
- //TODO: PCMPEQQ (BX), X2 // 660f382913
- //TODO: PCMPEQQ (R11), X2 // 66410f382913
- //TODO: PCMPEQQ X2, X2 // 660f3829d2
- //TODO: PCMPEQQ X11, X2 // 66410f3829d3
- //TODO: PCMPEQQ (BX), X11 // 66440f38291b
- //TODO: PCMPEQQ (R11), X11 // 66450f38291b
- //TODO: PCMPEQQ X2, X11 // 66440f3829da
- //TODO: PCMPEQQ X11, X11 // 66450f3829db
+ PCMPEQQ (BX), X2 // 660f382913
+ PCMPEQQ (R11), X2 // 66410f382913
+ PCMPEQQ X2, X2 // 660f3829d2
+ PCMPEQQ X11, X2 // 66410f3829d3
+ PCMPEQQ (BX), X11 // 66440f38291b
+ PCMPEQQ (R11), X11 // 66450f38291b
+ PCMPEQQ X2, X11 // 66440f3829da
+ PCMPEQQ X11, X11 // 66450f3829db
PCMPEQW (BX), M2 // 0f7513
PCMPEQW (R11), M2 // 410f7513
PCMPEQW M2, M2 // 0f75d2
PCMPESTRI $7, (R11), X11 // 66450f3a611b07
PCMPESTRI $7, X2, X11 // 66440f3a61da07
PCMPESTRI $7, X11, X11 // 66450f3a61db07
- //TODO: PCMPESTRM $7, (BX), X2 // 660f3a601307
- //TODO: PCMPESTRM $7, (R11), X2 // 66410f3a601307
- //TODO: PCMPESTRM $7, X2, X2 // 660f3a60d207
- //TODO: PCMPESTRM $7, X11, X2 // 66410f3a60d307
- //TODO: PCMPESTRM $7, (BX), X11 // 66440f3a601b07
- //TODO: PCMPESTRM $7, (R11), X11 // 66450f3a601b07
- //TODO: PCMPESTRM $7, X2, X11 // 66440f3a60da07
- //TODO: PCMPESTRM $7, X11, X11 // 66450f3a60db07
+ PCMPESTRM $7, (BX), X2 // 660f3a601307
+ PCMPESTRM $7, (R11), X2 // 66410f3a601307
+ PCMPESTRM $7, X2, X2 // 660f3a60d207
+ PCMPESTRM $7, X11, X2 // 66410f3a60d307
+ PCMPESTRM $7, (BX), X11 // 66440f3a601b07
+ PCMPESTRM $7, (R11), X11 // 66450f3a601b07
+ PCMPESTRM $7, X2, X11 // 66440f3a60da07
+ PCMPESTRM $7, X11, X11 // 66450f3a60db07
PCMPGTB (BX), M2 // 0f6413
PCMPGTB (R11), M2 // 410f6413
PCMPGTB M2, M2 // 0f64d2
PCMPGTL (R11), X11 // 66450f661b
PCMPGTL X2, X11 // 66440f66da
PCMPGTL X11, X11 // 66450f66db
- //TODO: PCMPGTQ (BX), X2 // 660f383713
- //TODO: PCMPGTQ (R11), X2 // 66410f383713
- //TODO: PCMPGTQ X2, X2 // 660f3837d2
- //TODO: PCMPGTQ X11, X2 // 66410f3837d3
- //TODO: PCMPGTQ (BX), X11 // 66440f38371b
- //TODO: PCMPGTQ (R11), X11 // 66450f38371b
- //TODO: PCMPGTQ X2, X11 // 66440f3837da
- //TODO: PCMPGTQ X11, X11 // 66450f3837db
+ PCMPGTQ (BX), X2 // 660f383713
+ PCMPGTQ (R11), X2 // 66410f383713
+ PCMPGTQ X2, X2 // 660f3837d2
+ PCMPGTQ X11, X2 // 66410f3837d3
+ PCMPGTQ (BX), X11 // 66440f38371b
+ PCMPGTQ (R11), X11 // 66450f38371b
+ PCMPGTQ X2, X11 // 66440f3837da
+ PCMPGTQ X11, X11 // 66450f3837db
PCMPGTW (BX), M2 // 0f6513
PCMPGTW (R11), M2 // 410f6513
PCMPGTW M2, M2 // 0f65d2
PCMPGTW (R11), X11 // 66450f651b
PCMPGTW X2, X11 // 66440f65da
PCMPGTW X11, X11 // 66450f65db
- //TODO: PCMPISTRI $7, (BX), X2 // 660f3a631307
- //TODO: PCMPISTRI $7, (R11), X2 // 66410f3a631307
- //TODO: PCMPISTRI $7, X2, X2 // 660f3a63d207
- //TODO: PCMPISTRI $7, X11, X2 // 66410f3a63d307
- //TODO: PCMPISTRI $7, (BX), X11 // 66440f3a631b07
- //TODO: PCMPISTRI $7, (R11), X11 // 66450f3a631b07
- //TODO: PCMPISTRI $7, X2, X11 // 66440f3a63da07
- //TODO: PCMPISTRI $7, X11, X11 // 66450f3a63db07
- //TODO: PCMPISTRM $7, (BX), X2 // 660f3a621307
- //TODO: PCMPISTRM $7, (R11), X2 // 66410f3a621307
- //TODO: PCMPISTRM $7, X2, X2 // 660f3a62d207
- //TODO: PCMPISTRM $7, X11, X2 // 66410f3a62d307
- //TODO: PCMPISTRM $7, (BX), X11 // 66440f3a621b07
- //TODO: PCMPISTRM $7, (R11), X11 // 66450f3a621b07
- //TODO: PCMPISTRM $7, X2, X11 // 66440f3a62da07
- //TODO: PCMPISTRM $7, X11, X11 // 66450f3a62db07
+ PCMPISTRI $7, (BX), X2 // 660f3a631307
+ PCMPISTRI $7, (R11), X2 // 66410f3a631307
+ PCMPISTRI $7, X2, X2 // 660f3a63d207
+ PCMPISTRI $7, X11, X2 // 66410f3a63d307
+ PCMPISTRI $7, (BX), X11 // 66440f3a631b07
+ PCMPISTRI $7, (R11), X11 // 66450f3a631b07
+ PCMPISTRI $7, X2, X11 // 66440f3a63da07
+ PCMPISTRI $7, X11, X11 // 66450f3a63db07
+ PCMPISTRM $7, (BX), X2 // 660f3a621307
+ PCMPISTRM $7, (R11), X2 // 66410f3a621307
+ PCMPISTRM $7, X2, X2 // 660f3a62d207
+ PCMPISTRM $7, X11, X2 // 66410f3a62d307
+ PCMPISTRM $7, (BX), X11 // 66440f3a621b07
+ PCMPISTRM $7, (R11), X11 // 66450f3a621b07
+ PCMPISTRM $7, X2, X11 // 66440f3a62da07
+ PCMPISTRM $7, X11, X11 // 66450f3a62db07
PDEPL (BX), R9, DX // c4e233f513
PDEPL (R11), R9, DX // c4c233f513
PDEPL DX, R9, DX // c4e233f5d2
PMADDWL (R11), X11 // 66450ff51b
PMADDWL X2, X11 // 66440ff5da
PMADDWL X11, X11 // 66450ff5db
- //TODO: PMAXSB (BX), X2 // 660f383c13
- //TODO: PMAXSB (R11), X2 // 66410f383c13
- //TODO: PMAXSB X2, X2 // 660f383cd2
- //TODO: PMAXSB X11, X2 // 66410f383cd3
- //TODO: PMAXSB (BX), X11 // 66440f383c1b
- //TODO: PMAXSB (R11), X11 // 66450f383c1b
- //TODO: PMAXSB X2, X11 // 66440f383cda
- //TODO: PMAXSB X11, X11 // 66450f383cdb
- //TODO: PMAXSD (BX), X2 // 660f383d13
- //TODO: PMAXSD (R11), X2 // 66410f383d13
- //TODO: PMAXSD X2, X2 // 660f383dd2
- //TODO: PMAXSD X11, X2 // 66410f383dd3
- //TODO: PMAXSD (BX), X11 // 66440f383d1b
- //TODO: PMAXSD (R11), X11 // 66450f383d1b
- //TODO: PMAXSD X2, X11 // 66440f383dda
- //TODO: PMAXSD X11, X11 // 66450f383ddb
+ PMAXSB (BX), X2 // 660f383c13
+ PMAXSB (R11), X2 // 66410f383c13
+ PMAXSB X2, X2 // 660f383cd2
+ PMAXSB X11, X2 // 66410f383cd3
+ PMAXSB (BX), X11 // 66440f383c1b
+ PMAXSB (R11), X11 // 66450f383c1b
+ PMAXSB X2, X11 // 66440f383cda
+ PMAXSB X11, X11 // 66450f383cdb
+ PMAXSD (BX), X2 // 660f383d13
+ PMAXSD (R11), X2 // 66410f383d13
+ PMAXSD X2, X2 // 660f383dd2
+ PMAXSD X11, X2 // 66410f383dd3
+ PMAXSD (BX), X11 // 66440f383d1b
+ PMAXSD (R11), X11 // 66450f383d1b
+ PMAXSD X2, X11 // 66440f383dda
+ PMAXSD X11, X11 // 66450f383ddb
//TODO: PMAXSW (BX), M2 // 0fee13
//TODO: PMAXSW (R11), M2 // 410fee13
//TODO: PMAXSW M2, M2 // 0feed2
PMAXUB (R11), X11 // 66450fde1b
PMAXUB X2, X11 // 66440fdeda
PMAXUB X11, X11 // 66450fdedb
- //TODO: PMAXUD (BX), X2 // 660f383f13
- //TODO: PMAXUD (R11), X2 // 66410f383f13
- //TODO: PMAXUD X2, X2 // 660f383fd2
- //TODO: PMAXUD X11, X2 // 66410f383fd3
- //TODO: PMAXUD (BX), X11 // 66440f383f1b
- //TODO: PMAXUD (R11), X11 // 66450f383f1b
- //TODO: PMAXUD X2, X11 // 66440f383fda
- //TODO: PMAXUD X11, X11 // 66450f383fdb
- //TODO: PMAXUW (BX), X2 // 660f383e13
- //TODO: PMAXUW (R11), X2 // 66410f383e13
- //TODO: PMAXUW X2, X2 // 660f383ed2
- //TODO: PMAXUW X11, X2 // 66410f383ed3
- //TODO: PMAXUW (BX), X11 // 66440f383e1b
- //TODO: PMAXUW (R11), X11 // 66450f383e1b
- //TODO: PMAXUW X2, X11 // 66440f383eda
- //TODO: PMAXUW X11, X11 // 66450f383edb
- //TODO: PMINSB (BX), X2 // 660f383813
- //TODO: PMINSB (R11), X2 // 66410f383813
- //TODO: PMINSB X2, X2 // 660f3838d2
- //TODO: PMINSB X11, X2 // 66410f3838d3
- //TODO: PMINSB (BX), X11 // 66440f38381b
- //TODO: PMINSB (R11), X11 // 66450f38381b
- //TODO: PMINSB X2, X11 // 66440f3838da
- //TODO: PMINSB X11, X11 // 66450f3838db
- //TODO: PMINSD (BX), X2 // 660f383913
- //TODO: PMINSD (R11), X2 // 66410f383913
- //TODO: PMINSD X2, X2 // 660f3839d2
- //TODO: PMINSD X11, X2 // 66410f3839d3
- //TODO: PMINSD (BX), X11 // 66440f38391b
- //TODO: PMINSD (R11), X11 // 66450f38391b
- //TODO: PMINSD X2, X11 // 66440f3839da
- //TODO: PMINSD X11, X11 // 66450f3839db
+ PMAXUD (BX), X2 // 660f383f13
+ PMAXUD (R11), X2 // 66410f383f13
+ PMAXUD X2, X2 // 660f383fd2
+ PMAXUD X11, X2 // 66410f383fd3
+ PMAXUD (BX), X11 // 66440f383f1b
+ PMAXUD (R11), X11 // 66450f383f1b
+ PMAXUD X2, X11 // 66440f383fda
+ PMAXUD X11, X11 // 66450f383fdb
+ PMAXUW (BX), X2 // 660f383e13
+ PMAXUW (R11), X2 // 66410f383e13
+ PMAXUW X2, X2 // 660f383ed2
+ PMAXUW X11, X2 // 66410f383ed3
+ PMAXUW (BX), X11 // 66440f383e1b
+ PMAXUW (R11), X11 // 66450f383e1b
+ PMAXUW X2, X11 // 66440f383eda
+ PMAXUW X11, X11 // 66450f383edb
+ PMINSB (BX), X2 // 660f383813
+ PMINSB (R11), X2 // 66410f383813
+ PMINSB X2, X2 // 660f3838d2
+ PMINSB X11, X2 // 66410f3838d3
+ PMINSB (BX), X11 // 66440f38381b
+ PMINSB (R11), X11 // 66450f38381b
+ PMINSB X2, X11 // 66440f3838da
+ PMINSB X11, X11 // 66450f3838db
+ PMINSD (BX), X2 // 660f383913
+ PMINSD (R11), X2 // 66410f383913
+ PMINSD X2, X2 // 660f3839d2
+ PMINSD X11, X2 // 66410f3839d3
+ PMINSD (BX), X11 // 66440f38391b
+ PMINSD (R11), X11 // 66450f38391b
+ PMINSD X2, X11 // 66440f3839da
+ PMINSD X11, X11 // 66450f3839db
//TODO: PMINSW (BX), M2 // 0fea13
//TODO: PMINSW (R11), M2 // 410fea13
//TODO: PMINSW M2, M2 // 0fead2
PMINUB (R11), X11 // 66450fda1b
PMINUB X2, X11 // 66440fdada
PMINUB X11, X11 // 66450fdadb
- //TODO: PMINUD (BX), X2 // 660f383b13
- //TODO: PMINUD (R11), X2 // 66410f383b13
- //TODO: PMINUD X2, X2 // 660f383bd2
- //TODO: PMINUD X11, X2 // 66410f383bd3
- //TODO: PMINUD (BX), X11 // 66440f383b1b
- //TODO: PMINUD (R11), X11 // 66450f383b1b
- //TODO: PMINUD X2, X11 // 66440f383bda
- //TODO: PMINUD X11, X11 // 66450f383bdb
- //TODO: PMINUW (BX), X2 // 660f383a13
- //TODO: PMINUW (R11), X2 // 66410f383a13
- //TODO: PMINUW X2, X2 // 660f383ad2
- //TODO: PMINUW X11, X2 // 66410f383ad3
- //TODO: PMINUW (BX), X11 // 66440f383a1b
- //TODO: PMINUW (R11), X11 // 66450f383a1b
- //TODO: PMINUW X2, X11 // 66440f383ada
- //TODO: PMINUW X11, X11 // 66450f383adb
+ PMINUD (BX), X2 // 660f383b13
+ PMINUD (R11), X2 // 66410f383b13
+ PMINUD X2, X2 // 660f383bd2
+ PMINUD X11, X2 // 66410f383bd3
+ PMINUD (BX), X11 // 66440f383b1b
+ PMINUD (R11), X11 // 66450f383b1b
+ PMINUD X2, X11 // 66440f383bda
+ PMINUD X11, X11 // 66450f383bdb
+ PMINUW (BX), X2 // 660f383a13
+ PMINUW (R11), X2 // 66410f383a13
+ PMINUW X2, X2 // 660f383ad2
+ PMINUW X11, X2 // 66410f383ad3
+ PMINUW (BX), X11 // 66440f383a1b
+ PMINUW (R11), X11 // 66450f383a1b
+ PMINUW X2, X11 // 66440f383ada
+ PMINUW X11, X11 // 66450f383adb
PMOVMSKB M2, DX // 0fd7d2
PMOVMSKB M3, DX // 0fd7d3
PMOVMSKB M2, R11 // 440fd7da
PSUBW (R11), X11 // 66450ff91b
PSUBW X2, X11 // 66440ff9da
PSUBW X11, X11 // 66450ff9db
- //TODO: PTEST (BX), X2 // 660f381713
- //TODO: PTEST (R11), X2 // 66410f381713
- //TODO: PTEST X2, X2 // 660f3817d2
- //TODO: PTEST X11, X2 // 66410f3817d3
- //TODO: PTEST (BX), X11 // 66440f38171b
- //TODO: PTEST (R11), X11 // 66450f38171b
- //TODO: PTEST X2, X11 // 66440f3817da
- //TODO: PTEST X11, X11 // 66450f3817db
+ PTEST (BX), X2 // 660f381713
+ PTEST (R11), X2 // 66410f381713
+ PTEST X2, X2 // 660f3817d2
+ PTEST X11, X2 // 66410f3817d3
+ PTEST (BX), X11 // 66440f38171b
+ PTEST (R11), X11 // 66450f38171b
+ PTEST X2, X11 // 66440f3817da
+ PTEST X11, X11 // 66450f3817db
PUNPCKHBW (BX), M2 // 0f6813
PUNPCKHBW (R11), M2 // 410f6813
PUNPCKHBW M2, M2 // 0f68d2
{Yxm, Ynone, Yxr, Zm2_r, 2},
}
+// It should never have more than 1 entry,
+// because some optab entries you opcode secuences that
+// are longer than 2 bytes (zoffset=2 here),
+// ROUNDPD and ROUNDPS and recently added BLENDPD,
+// to name a few.
var yxshuf = []ytab{
{Yu8, Yxm, Yxr, Zibm_r, 2},
}
{ADIVSD, yxm, Pf2, [23]uint8{0x5e}},
{ADIVSS, yxm, Pf3, [23]uint8{0x5e}},
{ADIVW, ydivl, Pe, [23]uint8{0xf7, 06}},
+ {ADPPD, yxshuf, Pq, [23]uint8{0x3a, 0x41, 0}},
+ {ADPPS, yxshuf, Pq, [23]uint8{0x3a, 0x40, 0}},
{AEMMS, ynone, Pm, [23]uint8{0x77}},
{AENTER, nil, 0, [23]uint8{}}, /* botch */
{AFXRSTOR, ysvrs, Pm, [23]uint8{0xae, 01, 0xae, 01}},
{AINL, yin, Px, [23]uint8{0xe5, 0xed}},
{AINSB, ynone, Pb, [23]uint8{0x6c}},
{AINSL, ynone, Px, [23]uint8{0x6d}},
+ {AINSERTPS, yxshuf, Pq, [23]uint8{0x3a, 0x21, 0}},
{AINSW, ynone, Pe, [23]uint8{0x6d}},
{AINT, yint, Px, [23]uint8{0xcd}},
{AINTO, ynone, P32, [23]uint8{0xce}},
{AMOVMSKPD, yxrrl, Pq, [23]uint8{0x50}},
{AMOVMSKPS, yxrrl, Pm, [23]uint8{0x50}},
{AMOVNTO, yxr_ml, Pe, [23]uint8{0xe7}},
+ {AMOVNTDQA, ylddqu, Pq4, [23]uint8{0x2a}},
{AMOVNTPD, yxr_ml, Pe, [23]uint8{0x2b}},
{AMOVNTPS, yxr_ml, Pm, [23]uint8{0x2b}},
{AMOVNTQ, ymr_ml, Pm, [23]uint8{0xe7}},
{AMOVWLZX, yml_rl, Pm, [23]uint8{0xb7}},
{AMOVWQSX, yml_rl, Pw, [23]uint8{0x0f, 0xbf}},
{AMOVWQZX, yml_rl, Pw, [23]uint8{0x0f, 0xb7}},
+ {AMPSADBW, yxshuf, Pq, [23]uint8{0x3a, 0x42, 0}},
{AMULB, ydivb, Pb, [23]uint8{0xf6, 04}},
{AMULL, ydivl, Px, [23]uint8{0xf7, 04}},
{AMULPD, yxm, Pe, [23]uint8{0x59}},
{APABSW, yxm_q4, Pq4, [23]uint8{0x1d}},
{APACKSSLW, ymm, Py1, [23]uint8{0x6b, Pe, 0x6b}},
{APACKSSWB, ymm, Py1, [23]uint8{0x63, Pe, 0x63}},
+ {APACKUSDW, yxm_q4, Pq4, [23]uint8{0x2b}},
{APACKUSWB, ymm, Py1, [23]uint8{0x67, Pe, 0x67}},
{APADDB, ymm, Py1, [23]uint8{0xfc, Pe, 0xfc}},
{APADDL, ymm, Py1, [23]uint8{0xfe, Pe, 0xfe}},
{APAUSE, ynone, Px, [23]uint8{0xf3, 0x90}},
{APAVGB, ymm, Py1, [23]uint8{0xe0, Pe, 0xe0}},
{APAVGW, ymm, Py1, [23]uint8{0xe3, Pe, 0xe3}},
+ {APBLENDW, yxshuf, Pq, [23]uint8{0x3a, 0x0e, 0}},
{APCMPEQB, ymm, Py1, [23]uint8{0x74, Pe, 0x74}},
{APCMPEQL, ymm, Py1, [23]uint8{0x76, Pe, 0x76}},
+ {APCMPEQQ, yxm_q4, Pq4, [23]uint8{0x29}},
{APCMPEQW, ymm, Py1, [23]uint8{0x75, Pe, 0x75}},
{APCMPGTB, ymm, Py1, [23]uint8{0x64, Pe, 0x64}},
{APCMPGTL, ymm, Py1, [23]uint8{0x66, Pe, 0x66}},
+ {APCMPGTQ, yxm_q4, Pq4, [23]uint8{0x37}},
{APCMPGTW, ymm, Py1, [23]uint8{0x65, Pe, 0x65}},
+ {APCMPISTRI, yxshuf, Pq, [23]uint8{0x3a, 0x63, 0}},
+ {APCMPISTRM, yxshuf, Pq, [23]uint8{0x3a, 0x62, 0}},
{APEXTRW, yextrw, Pq, [23]uint8{0xc5, 00}},
{APEXTRB, yextr, Pq, [23]uint8{0x3a, 0x14, 00}},
{APEXTRD, yextr, Pq, [23]uint8{0x3a, 0x16, 00}},
{APINSRQ, yinsr, Pq3, [23]uint8{0x3a, 0x22, 00}},
{APMADDUBSW, yxm_q4, Pq4, [23]uint8{0x04}},
{APMADDWL, ymm, Py1, [23]uint8{0xf5, Pe, 0xf5}},
+ {APMAXSB, yxm_q4, Pq4, [23]uint8{0x3c}},
+ {APMAXSD, yxm_q4, Pq4, [23]uint8{0x3d}},
{APMAXSW, yxm, Pe, [23]uint8{0xee}},
{APMAXUB, yxm, Pe, [23]uint8{0xde}},
+ {APMAXUD, yxm_q4, Pq4, [23]uint8{0x3f}},
+ {APMAXUW, yxm_q4, Pq4, [23]uint8{0x3e}},
+ {APMINSB, yxm_q4, Pq4, [23]uint8{0x38}},
+ {APMINSD, yxm_q4, Pq4, [23]uint8{0x39}},
{APMINSW, yxm, Pe, [23]uint8{0xea}},
{APMINUB, yxm, Pe, [23]uint8{0xda}},
+ {APMINUD, yxm_q4, Pq4, [23]uint8{0x3b}},
+ {APMINUW, yxm_q4, Pq4, [23]uint8{0x3a}},
{APMOVMSKB, ymskb, Px, [23]uint8{Pe, 0xd7, 0xd7}},
{APMOVSXBD, yxm_q4, Pq4, [23]uint8{0x21}},
{APMOVSXBQ, yxm_q4, Pq4, [23]uint8{0x22}},
{APSUBUSB, yxm, Pe, [23]uint8{0xd8}},
{APSUBUSW, yxm, Pe, [23]uint8{0xd9}},
{APSUBW, yxm, Pe, [23]uint8{0xf9}},
+ {APTEST, yxm_q4, Pq4, [23]uint8{0x17}},
{APUNPCKHBW, ymm, Py1, [23]uint8{0x68, Pe, 0x68}},
{APUNPCKHLQ, ymm, Py1, [23]uint8{0x6a, Pe, 0x6a}},
{APUNPCKHQDQ, yxm, Pe, [23]uint8{0x6d}},
{APSHUFD, yxshuf, Pq, [23]uint8{0x70, 0}},
{APCLMULQDQ, yxshuf, Pq, [23]uint8{0x3a, 0x44, 0}},
{APCMPESTRI, yxshuf, Pq, [23]uint8{0x3a, 0x61, 0}},
+ {APCMPESTRM, yxshuf, Pq, [23]uint8{0x3a, 0x60, 0}},
{AMOVDDUP, yxm, Pf2, [23]uint8{0x12}},
{AMOVSHDUP, yxm, Pf3, [23]uint8{0x16}},
{AMOVSLDUP, yxm, Pf3, [23]uint8{0x12}},
{AANDNQ, yvex_r3, Pvex, [23]uint8{VEX_LZ_0F38_W1, 0xF2}},
{ABEXTRL, yvex_vmr3, Pvex, [23]uint8{VEX_LZ_0F38_W0, 0xF7}},
{ABEXTRQ, yvex_vmr3, Pvex, [23]uint8{VEX_LZ_0F38_W1, 0xF7}},
+ {ABLENDPD, yxshuf, Pq, [23]uint8{0x3a, 0x0d, 0}},
+ {ABLENDPS, yxshuf, Pq, [23]uint8{0x3a, 0x0c, 0}},
{ABZHIL, yvex_vmr3, Pvex, [23]uint8{VEX_LZ_0F38_W0, 0xF5}},
{ABZHIQ, yvex_vmr3, Pvex, [23]uint8{VEX_LZ_0F38_W1, 0xF5}},
{AMULXL, yvex_r3, Pvex, [23]uint8{VEX_LZ_F2_0F38_W0, 0xF6}},