odin-blend2d

Odin bindings to Blend2D
Log | Files | Refs | README | LICENSE

isa_x86.json (518633B)


      1 {
      2   "instructions": [
      3     {"category": "GP", "instructions": [
      4       {"any": "adc x:al, imm8"                                , "alt": true, "op": "[OP] 14 ib"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
      5       {"any": "adc x:axv, immv"                               , "alt": true, "op": "[OP] 15 iv"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
      6       {"any": "[lock|xacqrel] adc x:~r8/m8, ~r8"                           , "op": "[MR] 10 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
      7       {"any": "[lock|xacqrel] adc x:~rv/mv, ~rv"                           , "op": "[MR] 11 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
      8       {"any": "[lock|xacqrel] adc x:r8/m8, imm8"                           , "op": "[M ] 80 /2 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
      9       {"any": "[lock|xacqrel] adc x:rv/mv, imms8"                          , "op": "[M ] 83 /2 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
     10       {"any": "[lock|xacqrel] adc x:rv/mv, immv"                           , "op": "[M ] 81 /2 iv"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
     11       {"any": "adc x:~r8, ~r8/m8"                                          , "op": "[RM] 12 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
     12       {"any": "adc x:~rv, ~rv/mv"                                          , "op": "[RM] 13 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
     13       {"any": "add x:al, imm8"                                , "alt": true, "op": "[OP] 04 ib"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     14       {"any": "add x:axv, immv"                               , "alt": true, "op": "[OP] 05 iv"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     15       {"any": "[lock|xacqrel] add x:~r8/m8, ~r8"                           , "op": "[MR] 00 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     16       {"any": "[lock|xacqrel] add x:~rv/mv, ~rv"                           , "op": "[MR] 01 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     17       {"any": "[lock|xacqrel] add x:r8/m8, imm8"                           , "op": "[M ] 80 /0 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     18       {"any": "[lock|xacqrel] add x:rv/mv, imms8"                          , "op": "[M ] 83 /0 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     19       {"any": "[lock|xacqrel] add x:rv/mv, immv"                           , "op": "[M ] 81 /0 iv"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     20       {"any": "add x:~r8, ~r8/m8"                                          , "op": "[RM] 02 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     21       {"any": "add x:~rv, ~rv/mv"                                          , "op": "[RM] 03 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     22       {"any": "and x:al, imm8"                                , "alt": true, "op": "[OP] 24 ib"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     23       {"any": "and x:ax, imm16"                               , "alt": true, "op": "[OP] 66 25 iw"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     24       {"any": "and X:eax, imm32"                              , "alt": true, "op": "[OP] 25 id"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     25       {"any": "and X:rax, immu32"                             , "alt": true, "op": "[OP] 25 id"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     26       {"any": "and X:rax, imms32"                             , "alt": true, "op": "[OP] REX.W 25 id"               , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     27       {"any": "[lock|xacqrel] and x:r8/m8, imm8"                           , "op": "[M ] 80 /4 ib"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     28       {"any": "[lock|xacqrel] and x:r16/m16, imm16"                        , "op": "[M ] 66 81 /4 iw"               , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     29       {"any": "[lock|xacqrel] and X:r32/m32, imm32"                        , "op": "[M ] 81 /4 id"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     30       {"any": "[lock|xacqrel] and X:r64, immu32"                           , "op": "[M ] 81 /4 id"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     31       {"any": "[lock|xacqrel] and X:r64/m64, imms32"                       , "op": "[M ] REX.W 81 /4 id"            , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     32       {"any": "[lock|xacqrel] and x:rv/mv, imms8"                          , "op": "[M ] 83 /4 ib"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     33       {"any": "[lock|xacqrel] and x:~r8/m8, ~r8"                           , "op": "[MR] 20 /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     34       {"any": "[lock|xacqrel] and x:~rv/mv, ~rv"                           , "op": "[MR] 21 /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     35       {"any": "and x:~r8, ~r8/m8"                                          , "op": "[RM] 22 /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     36       {"any": "and x:~rv, ~rv/mv"                                          , "op": "[RM] 23 /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
     37       {"any": "bsf w:rv, rv/mv"                                            , "op": "[RM] 0F BC /r"                  , "io": "OF=U SF=U ZF=W AF=U PF=U CF=U"},
     38       {"any": "bsr w:rv, rv/mv"                                            , "op": "[RM] 0F BD /r"                  , "io": "OF=U SF=U ZF=W AF=U PF=U CF=U"},
     39       {"any": "bswap X:rv"                                                 , "op": "[OP] 0F C8+r"},
     40       {"any": "bt R:rv/mv, rv"                                             , "op": "[MR] 0F A3 /r"                  , "io": "OF=U SF=U AF=U PF=U CF=W"},
     41       {"any": "bt R:rv/mv, imm8"                                           , "op": "[M ] 0F BA /4 ib"               , "io": "OF=U SF=U AF=U PF=U CF=W"},
     42       {"any": "[lock|xacqrel] btc x:rv/mv, rv"                             , "op": "[MR] 0F BB /r"                  , "io": "OF=U SF=U AF=U PF=U CF=W"},
     43       {"any": "[lock|xacqrel] btc x:rv/mv, imm8"                           , "op": "[M ] 0F BA /7 ib"               , "io": "OF=U SF=U AF=U PF=U CF=W"},
     44       {"any": "[lock|xacqrel] btr x:rv/mv, rv"                             , "op": "[MR] 0F B3 /r"                  , "io": "OF=U SF=U AF=U PF=U CF=W"},
     45       {"any": "[lock|xacqrel] btr x:rv/mv, imm8"                           , "op": "[M ] 0F BA /6 ib"               , "io": "OF=U SF=U AF=U PF=U CF=W"},
     46       {"any": "[lock|xacqrel] bts x:rv/mv, rv"                             , "op": "[MR] 0F AB /r"                  , "io": "OF=U SF=U AF=U PF=U CF=W"},
     47       {"any": "[lock|xacqrel] bts x:rv/mv, imm8"                           , "op": "[M ] 0F BA /5 ib"               , "io": "OF=U SF=U AF=U PF=U CF=W"},
     48       {"x86": "[bnd|repIgnore] call rel16"                                 , "op": "[OP] 66 E8 cw"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
     49       {"any": "[bnd|repIgnore] call rel32"                                 , "op": "[OP] E8 cd"                     , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
     50       {"x86": "[bnd|repIgnore] call R:r16/m16"                             , "op": "[OP] 66 FF /2"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
     51       {"x86": "[bnd|repIgnore] call R:r32/m32"                             , "op": "[OP] FF /2"                     , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
     52       {"x64": "[bnd|repIgnore] call R:r64/m64"                             , "op": "[OP] FF /2"                     , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
     53       {"any": "cbw x:<ax>"                                                 , "op": "[OP] 66 98"},
     54       {"any": "cdq W:<edx>, <eax>"                                         , "op": "[OP] 99"},
     55       {"any": "cdqe X:<rax>"                                               , "op": "[OP] REX.W 98"},
     56       {"any": "clc"                                                        , "op": "[OP] F8"                        , "io": "CF=0"},
     57       {"any": "cld"                                                        , "op": "[OP] FC"                        , "io": "DF=0"},
     58       {"any": "cmc"                                                        , "op": "[OP] F5"                        , "io": "CF=X"},
     59       {"any": "cmp R:r8/m8, r8"                                            , "op": "[MR] 38 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     60       {"any": "cmp R:rv/mv, rv"                                            , "op": "[MR] 39 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     61       {"any": "cmp R:r8, r8/m8"                                            , "op": "[RM] 3A /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     62       {"any": "cmp R:rv, rv/mv"                                            , "op": "[RM] 3B /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     63       {"any": "cmp R:al, imm8"                                , "alt": true, "op": "[OP] 3C ib"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     64       {"any": "cmp R:axv, immv"                               , "alt": true, "op": "[OP] 3D iv"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     65       {"any": "cmp R:r8/m8, imm8"                                          , "op": "[M ] 80 /7 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     66       {"any": "cmp R:rv/mv, imms8"                                         , "op": "[M ] 83 /7 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     67       {"any": "cmp R:rv/mv, immv"                                          , "op": "[M ] 81 /7 iv"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
     68       {"any": "[rep|repne] cmps R:m8(ds:zsi), R:m8(es:zdi)"                , "op": "[OP] A6"                        , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W DF=R"},
     69       {"any": "[rep|repne] cmps R:m16(ds:zsi), R:m16(es:zdi)"              , "op": "[OP] 66 A7"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W DF=R"},
     70       {"any": "[rep|repne] cmps R:m32(ds:zsi), R:m32(es:zdi)"              , "op": "[OP] A7"                        , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W DF=R"},
     71       {"any": "[rep|repne] cmps R:m64(ds:zsi), R:m64(es:zdi)"              , "op": "[OP] REX.W A7"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W DF=R"},
     72       {"any": "cwde X:<eax>"                                               , "op": "[OP] 98"},
     73       {"any": "cqo W:<rdx>, <rax>"                                         , "op": "[OP] REX.W 99"},
     74       {"any": "cwd w:<dx>, <ax>"                                           , "op": "[OP] 66 99"},
     75       {"x86": "dec x:r16"                                                  , "op": "[OP] 66 48+r"                   , "io": "OF=W SF=W ZF=W AF=W PF=W"},
     76       {"x86": "dec X:r32"                                                  , "op": "[OP] 48+r"                      , "io": "OF=W SF=W ZF=W AF=W PF=W"},
     77       {"any": "[lock|xacqrel] dec x:r8/m8"                                 , "op": "[OP] FE /1"                     , "io": "OF=W SF=W ZF=W AF=W PF=W"},
     78       {"any": "[lock|xacqrel] dec x:rv/mv"                                 , "op": "[OP] FF /1"                     , "io": "OF=W SF=W ZF=W AF=W PF=W"},
     79       {"any": "div x:<ax>, R:r8/m8"                                        , "op": "[M ] F6 /6"                     , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
     80       {"any": "div x:<dxv>, x:<axv>, rv/mv"                                , "op": "[M ] F7 /6"                     , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
     81       {"any": "enter imm16, imm8"                                          , "op": "[OP] C8 iw ib"                  , "volatile": true},
     82       {"any": "idiv x:<ax>, R:r8/m8"                                       , "op": "[M ] F6 /7"                     , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
     83       {"any": "idiv x:<dxv>, x:<axv>, rv/mv"                               , "op": "[M ] F7 /7"                     , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
     84       {"any": "imul x:<ax>, R:r8/m8"                                       , "op": "[M ] F6 /5"                     , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
     85       {"any": "imul w:<dxv>, x:<axv>, rv/mv"                               , "op": "[M ] F7 /5"                     , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
     86       {"any": "imul x:~rv, ~rv/mv"                                         , "op": "[RM] 0F AF /r"                  , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
     87       {"any": "imul w:rv, R:rv/mv, imms8"                                  , "op": "[RM] 6B /r ib"                  , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
     88       {"any": "imul w:rv, R:rv/mv, immv"                                   , "op": "[RM] 69 /r iv"                  , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
     89       {"x86": "inc x:r16"                                                  , "op": "[OP] 66 40+r"                   , "io": "OF=W SF=W ZF=W AF=W PF=W"},
     90       {"x86": "inc X:r32"                                                  , "op": "[OP] 40+r"                      , "io": "OF=W SF=W ZF=W AF=W PF=W"},
     91       {"any": "[lock] inc x:r8/m8"                                         , "op": "[M ] FE /0"                     , "io": "OF=W SF=W ZF=W AF=W PF=W"},
     92       {"any": "[lock] inc x:rv/mv"                                         , "op": "[M ] FF /0"                     , "io": "OF=W SF=W ZF=W AF=W PF=W"},
     93       {"any": "iret"                                                       , "op": "[OP] 66 CF"                     , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
     94       {"any": "iretd"                                                      , "op": "[OP] CF"                        , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
     95       {"any": "iretq"                                                      , "op": "[OP] REX.W CF"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
     96       {"any": "[bnd] jb rel8"                                              , "op": "[OP] 72 cb"                     , "io": "CF=R"},
     97       {"x86": "[bnd] jb rel16"                                             , "op": "[OP] 66 0F 82 cw"               , "io": "CF=R"},
     98       {"any": "[bnd] jb rel32"                                             , "op": "[OP] 0F 82 cd"                  , "io": "CF=R"},
     99       {"any": "[bnd] jbe rel8"                                             , "op": "[OP] 76 cb"                     , "io": "CF=R ZF=R"},
    100       {"x86": "[bnd] jbe rel16"                                            , "op": "[OP] 66 0F 86 cw"               , "io": "CF=R ZF=R"},
    101       {"any": "[bnd] jbe rel32"                                            , "op": "[OP] 0F 86 cd"                  , "io": "CF=R ZF=R"},
    102       {"any": "[bnd] jl rel8"                                              , "op": "[OP] 7C cb"                     , "io": "SF=R OF=R"},
    103       {"x86": "[bnd] jl rel16"                                             , "op": "[OP] 66 0F 8C cw"               , "io": "SF=R OF=R"},
    104       {"any": "[bnd] jl rel32"                                             , "op": "[OP] 0F 8C cd"                  , "io": "SF=R OF=R"},
    105       {"any": "[bnd] jle rel8"                                             , "op": "[OP] 7E cb"                     , "io": "ZF=R SF=R OF=R"},
    106       {"x86": "[bnd] jle rel16"                                            , "op": "[OP] 66 0F 8E cw"               , "io": "ZF=R SF=R OF=R"},
    107       {"any": "[bnd] jle rel32"                                            , "op": "[OP] 0F 8E cd"                  , "io": "ZF=R SF=R OF=R"},
    108       {"any": "[bnd] jnb rel8"                                             , "op": "[OP] 73 cb"                     , "io": "CF=R"},
    109       {"x86": "[bnd] jnb rel16"                                            , "op": "[OP] 66 0F 83 cw"               , "io": "CF=R"},
    110       {"any": "[bnd] jnb rel32"                                            , "op": "[OP] 0F 83 cd"                  , "io": "CF=R"},
    111       {"any": "[bnd] jnbe rel8"                                            , "op": "[OP] 77 cb"                     , "io": "CF=R ZF=R"},
    112       {"x86": "[bnd] jnbe rel16"                                           , "op": "[OP] 66 0F 87 cw"               , "io": "CF=R ZF=R"},
    113       {"any": "[bnd] jnbe rel32"                                           , "op": "[OP] 0F 87 cd"                  , "io": "CF=R ZF=R"},
    114       {"any": "[bnd] jnl rel8"                                             , "op": "[OP] 7D cb"                     , "io": "SF=R OF=R"},
    115       {"x86": "[bnd] jnl rel16"                                            , "op": "[OP] 66 0F 8D cw"               , "io": "SF=R OF=R"},
    116       {"any": "[bnd] jnl rel32"                                            , "op": "[OP] 0F 8D cd"                  , "io": "SF=R OF=R"},
    117       {"any": "[bnd] jnle rel8"                                            , "op": "[OP] 7F cb"                     , "io": "ZF=R SF=R OF=R"},
    118       {"x86": "[bnd] jnle rel16"                                           , "op": "[OP] 66 0F 8F cw"               , "io": "ZF=R SF=R OF=R"},
    119       {"any": "[bnd] jnle rel32"                                           , "op": "[OP] 0F 8F cd"                  , "io": "ZF=R SF=R OF=R"},
    120       {"any": "[bnd] jno rel8"                                             , "op": "[OP] 71 cb"                     , "io": "OF=R"},
    121       {"x86": "[bnd] jno rel16"                                            , "op": "[OP] 66 0F 81 cw"               , "io": "OF=R"},
    122       {"any": "[bnd] jno rel32"                                            , "op": "[OP] 0F 81 cd"                  , "io": "OF=R"},
    123       {"any": "[bnd] jnp rel8"                                             , "op": "[OP] 7B cb"                     , "io": "PF=R"},
    124       {"x86": "[bnd] jnp rel16"                                            , "op": "[OP] 66 0F 8B cw"               , "io": "PF=R"},
    125       {"any": "[bnd] jnp rel32"                                            , "op": "[OP] 0F 8B cd"                  , "io": "PF=R"},
    126       {"any": "[bnd] jns rel8"                                             , "op": "[OP] 79 cb"                     , "io": "SF=R"},
    127       {"x86": "[bnd] jns rel16"                                            , "op": "[OP] 66 0F 89 cw"               , "io": "SF=R"},
    128       {"any": "[bnd] jns rel32"                                            , "op": "[OP] 0F 89 cd"                  , "io": "SF=R"},
    129       {"any": "[bnd] jnz rel8"                                             , "op": "[OP] 75 cb"                     , "io": "ZF=R"},
    130       {"x86": "[bnd] jnz rel16"                                            , "op": "[OP] 66 0F 85 cw"               , "io": "ZF=R"},
    131       {"any": "[bnd] jnz rel32"                                            , "op": "[OP] 0F 85 cd"                  , "io": "ZF=R"},
    132       {"any": "[bnd] jo rel8"                                              , "op": "[OP] 70 cb"                     , "io": "OF=R"},
    133       {"x86": "[bnd] jo rel16"                                             , "op": "[OP] 66 0F 80 cw"               , "io": "OF=R"},
    134       {"any": "[bnd] jo rel32"                                             , "op": "[OP] 0F 80 cd"                  , "io": "OF=R"},
    135       {"any": "[bnd] jp rel8"                                              , "op": "[OP] 7A cb"                     , "io": "PF=R"},
    136       {"x86": "[bnd] jp rel16"                                             , "op": "[OP] 66 0F 8A cw"               , "io": "PF=R"},
    137       {"any": "[bnd] jp rel32"                                             , "op": "[OP] 0F 8A cd"                  , "io": "PF=R"},
    138       {"any": "[bnd] js rel8"                                              , "op": "[OP] 78 cb"                     , "io": "SF=R"},
    139       {"x86": "[bnd] js rel16"                                             , "op": "[OP] 66 0F 88 cw"               , "io": "SF=R"},
    140       {"any": "[bnd] js rel32"                                             , "op": "[OP] 0F 88 cd"                  , "io": "SF=R"},
    141       {"any": "[bnd] jz rel8"                                              , "op": "[OP] 74 cb"                     , "io": "ZF=R"},
    142       {"x86": "[bnd] jz rel16"                                             , "op": "[OP] 66 0F 84 cw"               , "io": "ZF=R"},
    143       {"any": "[bnd] jz rel32"                                             , "op": "[OP] 0F 84 cd"                  , "io": "ZF=R"},
    144       {"x86": "[bnd] jecxz R:<cx>, rel8"                                   , "op": "[OP] 67 E3 cb"},
    145       {"x86": "[bnd] jecxz R:<ecx>, rel8"                                  , "op": "[OP] E3 cb"},
    146       {"x64": "[bnd] jecxz R:<ecx>, rel8"                                  , "op": "[OP] 67 E3 cb"},
    147       {"x64": "[bnd] jecxz R:<rcx>, rel8"                                  , "op": "[OP] E3 cb"},
    148       {"any": "[bnd] jmp rel8"                                             , "op": "[OP] EB cb"},
    149       {"x86": "[bnd] jmp rel16"                                            , "op": "[OP] 66 E9 cw"},
    150       {"any": "[bnd] jmp rel32"                                            , "op": "[OP] E9 cd"},
    151       {"x86": "[bnd] jmp R:r32/m32"                                        , "op": "[M ] FF /4"},
    152       {"x64": "[bnd] jmp R:r64/m64"                                        , "op": "[M ] FF /4"},
    153       {"x86": "lcall imm16, imm16"                                         , "op": "[OP] 66 9A iw iw"               , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
    154       {"x86": "lcall imm16, imm32"                                         , "op": "[OP] 9A id iw"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
    155       {"any": "lcall R:m16_16"                                             , "op": "[M ] 66 FF /3"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
    156       {"any": "lcall R:m16_32"                                             , "op": "[M ] FF /3"                     , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
    157       {"x64": "lcall R:m16_64"                                             , "op": "[M ] REX.W FF /3"               , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
    158       {"any": "lea w:r16, mem"                                             , "op": "[RM] 67 8D /r"},
    159       {"any": "lea W:r32, mem"                                             , "op": "[RM] 8D /r"},
    160       {"any": "lea W:r64, mem"                                             , "op": "[RM] REX.W 8D /r"},
    161       {"any": "leave"                                                      , "op": "[OP]C9"                         , "volatile": true},
    162       {"x86": "ljmp imm16, imm16"                                          , "op": "[OP] 66 EA iw iw"},
    163       {"x86": "ljmp imm16, imm32"                                          , "op": "[OP] EA id iw"},
    164       {"any": "ljmp R:m16_16"                                              , "op": "[M ] 66 FF /5"},
    165       {"any": "ljmp R:m16_32"                                              , "op": "[M ] FF /5"},
    166       {"any": "ljmp R:m16_64"                                              , "op": "[M ] REX.W FF /5"},
    167       {"any": "[rep] lods w:al, R:m8(ds:zsi)"                              , "op": "[OP] AC"                        , "io": "DF=R"},
    168       {"any": "[rep] lods w:ax, R:m16(ds:zsi)"                             , "op": "[OP] 66 AD"                     , "io": "DF=R"},
    169       {"any": "[rep] lods W:eax, R:m32(ds:zsi)"                            , "op": "[OP] AD"                        , "io": "DF=R"},
    170       {"any": "[rep] lods W:rax, R:m64(ds:zsi)"                            , "op": "[OP] REX.W AD"                  , "io": "DF=R"},
    171       {"x86": "loop x:<cx>, rel8"                                          , "op": "[OP] 67 E2 cb"},
    172       {"x86": "loop X:<ecx>, rel8"                                         , "op": "[OP] E2 cb"},
    173       {"x64": "loop X:<ecx>, rel8"                                         , "op": "[OP] 67 E2 cb"},
    174       {"x64": "loop X:<rcx>, rel8"                                         , "op": "[OP] E2 cb"},
    175       {"x86": "loope x:<cx>, rel8"                                         , "op": "[OP] 67 E1 cb"                  , "io": "ZF=R"},
    176       {"x86": "loope X:<ecx>, rel8"                                        , "op": "[OP] E1 cb"                     , "io": "ZF=R"},
    177       {"x64": "loope X:<ecx>, rel8"                                        , "op": "[OP] 67 E1 cb"                  , "io": "ZF=R"},
    178       {"x64": "loope X:<rcx>, rel8"                                        , "op": "[OP] E1 cb"                     , "io": "ZF=R"},
    179       {"x86": "loopne x:<cx>, rel8"                                        , "op": "[OP] 67 E0 cb"                  , "io": "ZF=R"},
    180       {"x86": "loopne X:<ecx>, rel8"                                       , "op": "[OP] E0 cb"                     , "io": "ZF=R"},
    181       {"x64": "loopne X:<ecx>, rel8"                                       , "op": "[OP] 67 E0 cb"                  , "io": "ZF=R"},
    182       {"x64": "loopne X:<rcx>, rel8"                                       , "op": "[OP] E0 cb"                     , "io": "ZF=R"},
    183       {"any": "[xrelease] mov w:r8/m8, r8"                                 , "op": "[MR] 88 /r"},
    184       {"any": "[xrelease] mov w:rv/mv, rv"                                 , "op": "[MR] 89 /r"},
    185       {"any": "[xrelease] mov w:r8/m8, imm8"                               , "op": "[M ] C6 /0 ib"},
    186       {"any": "[xrelease] mov w:rv/mv, immv"                               , "op": "[M ] C7 /0 iv"},
    187       {"any": "mov w:r8, r8/m8"                                            , "op": "[RM] 8A /r"},
    188       {"any": "mov w:rv, rv/mv"                                            , "op": "[RM] 8B /r"},
    189       {"any": "mov w:r8, imm8"                                             , "op": "[OP] B0+r ib"},
    190       {"any": "mov w:r16, imm16"                                           , "op": "[OP] 66 B8+r iw"},
    191       {"any": "mov W:r32, imm32"                                           , "op": "[OP] B8+r id"},
    192       {"any": "mov W:r64, imm64"                                           , "op": "[OP] REX.W B8+r iq"},
    193       {"any": "mov w:r16/m16, sreg"                                        , "op": "[MR] 66 8C /r"},
    194       {"any": "mov W:r32/m16, sreg"                                        , "op": "[MR] 8C /r"},
    195       {"any": "mov W:r64/m16, sreg"                                        , "op": "[MR] REX.W 8C /r"},
    196       {"any": "mov W:sreg, r16/m16"                                        , "op": "[RM] 66 8E /r"},
    197       {"any": "mov W:sreg, r32/m16"                                        , "op": "[RM] 8E /r"},
    198       {"any": "mov W:sreg, r64/m16"                                        , "op": "[RM] REX.W 8E /r"},
    199       {"any": "mov w:al, moff8"                                            , "op": "[OP] A0 moff"},
    200       {"any": "mov w:ax, moff16"                                           , "op": "[OP] 66 A1 moff"},
    201       {"any": "mov W:eax, moff32"                                          , "op": "[OP] A1 moff"},
    202       {"any": "mov W:rax, moff64"                                          , "op": "[OP] REX.W A1 moff"},
    203       {"any": "mov W:moff8, al"                                            , "op": "[OP] A2 moff"},
    204       {"any": "mov W:moff16, ax"                                           , "op": "[OP] 66 A3 moff"},
    205       {"any": "mov W:moff32, eax"                                          , "op": "[OP] A3 moff"},
    206       {"any": "mov W:moff64, rax"                                          , "op": "[OP] REX.W A3 moff"},
    207       {"x86": "mov W:r32, creg"                                            , "op": "[MR] 0F 20 /r"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U", "privilege": "L0"},
    208       {"x64": "mov W:r64, creg"                                            , "op": "[MR] 0F 20 /r"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U", "privilege": "L0"},
    209       {"x86": "mov W:creg, r32"                                            , "op": "[RM] 0F 22 /r"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U", "privilege": "L0"},
    210       {"x64": "mov W:creg, r64"                                            , "op": "[RM] 0F 22 /r"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U", "privilege": "L0"},
    211       {"x86": "mov W:r32, dreg"                                            , "op": "[MR] 0F 21 /r"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U", "privilege": "L0"},
    212       {"x64": "mov W:r64, dreg"                                            , "op": "[MR] 0F 21 /r"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U", "privilege": "L0"},
    213       {"x86": "mov W:dreg, r32"                                            , "op": "[RM] 0F 23 /r"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U", "privilege": "L0"},
    214       {"x64": "mov W:dreg, r64"                                            , "op": "[RM] 0F 23 /r"                  , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U", "privilege": "L0"},
    215       {"any": "movabs W:r64, imm64"                                        , "op": "[OP] REX.W B8+r iq"},
    216       {"any": "movabs w:al, moff8"                                         , "op": "[OP] A0 moff"},
    217       {"any": "movabs w:ax, moff16"                                        , "op": "[OP] 66 A1 moff"},
    218       {"any": "movabs W:eax, moff32"                                       , "op": "[OP] A1 moff"},
    219       {"any": "movabs W:rax, moff64"                                       , "op": "[OP] REX.W A1 moff"},
    220       {"any": "movabs W:moff8, al"                                         , "op": "[OP] A2 moff"},
    221       {"any": "movabs W:moff16, ax"                                        , "op": "[OP] 66 A3 moff"},
    222       {"any": "movabs W:moff32, eax"                                       , "op": "[OP] A3 moff"},
    223       {"any": "movabs W:moff64, rax"                                       , "op": "[OP] REX.W A3 moff"},
    224       {"any": "[rep] movs W:m8(es:zdi), R:m8(ds:zsi)"                      , "op": "[OP] A4"                        , "io": "DF=R"},
    225       {"any": "[rep] movs W:m16(es:zdi), R:m16(ds:zsi)"                    , "op": "[OP] 66 A5"                     , "io": "DF=R"},
    226       {"any": "[rep] movs W:m32(es:zdi), R:m32(ds:zsi)"                    , "op": "[OP] A5"                        , "io": "DF=R"},
    227       {"any": "[rep] movs W:m64(es:zdi), R:m64(ds:zsi)"                    , "op": "[OP] REX.W A5"                  , "io": "DF=R"},
    228       {"any": "movsx w:rv, r8/m8"                                          , "op": "[RM] 0F BE /r"},
    229       {"any": "movsx W:ry, r16/m16"                                        , "op": "[RM] 0F BF /r"},
    230       {"x64": "movsxd W:r16, r16/m16"                                      , "op": "[RM] 66 63 /r"},
    231       {"x64": "movsxd W:r32, r32/m32"                                      , "op": "[RM] 63 /r"},
    232       {"x64": "movsxd W:r64, r32/m32"                                      , "op": "[RM] REX.W 63 /r"},
    233       {"any": "movzx w:rv, r8/m8"                                          , "op": "[RM] 0F B6 /r"},
    234       {"any": "movzx W:r32, r16/m16"                                       , "op": "[RM] 0F B7 /r"},
    235       {"any": "movzx W:r64, r16/m16"                                       , "op": "[RM] REX.W 0F B7 /r"},
    236       {"any": "mul x:<ax>, r8/m8"                                          , "op": "[M ] F6 /4"                     , "io": "OF=W SF=U ZF=U AF=U PF=U CF=W"},
    237       {"any": "mul w:<dxv>, x:<axv>, rv/mv"                                , "op": "[M ] F7 /4"                     , "io": "OF=W SF=U ZF=U AF=U PF=U CF=W"},
    238       {"any": "[lock|xacqrel] neg x:r8/m8"                                 , "op": "[M ] F6 /3"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    239       {"any": "[lock|xacqrel] neg x:rv/mv"                                 , "op": "[M ] F7 /3"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    240       {"any": "nop"                                                        , "op": "[OP] 90"},
    241       {"any": "nop R:rv/mv"                                                , "op": "[M ] 0F 1F /0"},
    242       {"any": "nop R:rv/mv, rv"                                            , "op": "[MR] 0F 1F /r"},
    243       {"any": "[lock|xacqrel] not x:r8/m8"                                 , "op": "[M ] F6 /2"},
    244       {"any": "[lock|xacqrel] not x:rv/mv"                                 , "op": "[M ] F7 /2"},
    245       {"any": "or x:al, imm8"                                 , "alt": true, "op": "[OP] 0C ib"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    246       {"any": "or x:axv, immv"                                , "alt": true, "op": "[OP] 0D iv"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    247       {"any": "[lock|xacqrel] or x:~r8/m8, ~r8"                            , "op": "[MR] 08 /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    248       {"any": "[lock|xacqrel] or x:~rv/mv, ~rv"                            , "op": "[MR] 09 /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    249       {"any": "[lock|xacqrel] or x:r8/m8, imm8"                            , "op": "[M ] 80 /1 ib"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    250       {"any": "[lock|xacqrel] or x:rv/mv, immv"                            , "op": "[M ] 81 /1 iv"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    251       {"any": "[lock|xacqrel] or x:rv/mv, imms8"                           , "op": "[M ] 83 /1 ib"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    252       {"any": "or x:~r8, ~r8/m8"                                           , "op": "[RM] 0A /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    253       {"any": "or x:~rv, ~rv/mv"                                           , "op": "[RM] 0B /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    254       {"any": "pop w:r16/m16"                                              , "op": "[M ] 66 8F /0"},
    255       {"x86": "pop W:r32/m32"                                              , "op": "[M ] 8F /0"},
    256       {"x64": "pop W:r64/m64"                                              , "op": "[M ] 8F /0"},
    257       {"any": "pop w:r16"                                                  , "op": "[OP] 66 58+r"},
    258       {"x86": "pop W:r32"                                                  , "op": "[OP] 58+r"},
    259       {"x64": "pop W:r64"                                                  , "op": "[OP] 58+r"},
    260       {"x86": "pop W:ds"                                                   , "op": "[OP] 1F"},
    261       {"x86": "pop W:es"                                                   , "op": "[OP] 07"},
    262       {"x86": "pop W:ss"                                                   , "op": "[OP] 17"},
    263       {"any": "pop W:fs"                                                   , "op": "[OP] 0F A1"},
    264       {"any": "pop W:gs"                                                   , "op": "[OP] 0F A9"},
    265       {"any": "popf"                                                       , "op": "[OP] 66 9D"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W DF=W IF=W TF=W"},
    266       {"x86": "popfd"                                                      , "op": "[OP] 9D"                        , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W DF=W IF=W TF=W"},
    267       {"x64": "popfq"                                                      , "op": "[OP] 9D"                        , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W DF=W IF=W TF=W"},
    268       {"any": "push R:r16/m16"                                             , "op": "[M ] 66 FF /6"},
    269       {"x86": "push R:r32/m32"                                             , "op": "[M ] FF /6"},
    270       {"x64": "push R:r64/m64"                                             , "op": "[M ] FF /6"},
    271       {"any": "push R:r16"                                                 , "op": "[OP] 66 50+r"},
    272       {"x86": "push R:r32"                                                 , "op": "[OP] 50+r"},
    273       {"x64": "push R:r64"                                                 , "op": "[OP] 50+r"},
    274       {"x86": "push R:cs"                                                  , "op": "[OP] 0E"},
    275       {"x86": "push R:ss"                                                  , "op": "[OP] 16"},
    276       {"x86": "push R:ds"                                                  , "op": "[OP] 1E"},
    277       {"x86": "push R:es"                                                  , "op": "[OP] 06"},
    278       {"any": "push R:fs"                                                  , "op": "[OP] 0F A0"},
    279       {"any": "push R:gs"                                                  , "op": "[OP] 0F A8"},
    280       {"any": "push imm8"                                                  , "op": "[OP] 6A ib"},
    281       {"any": "push imm16"                                                 , "op": "[OP] 66 68 iw"},
    282       {"x86": "push imm32"                                                 , "op": "[OP] 68 id"},
    283       {"x64": "push imms32"                                                , "op": "[OP] 68 id"},
    284       {"any": "pushf"                                                      , "op": "[OP] 66 9C"                     , "io": "OF=R SF=R ZF=R AF=R PF=R CF=R DF=R IF=R TF=R"},
    285       {"x86": "pushfd"                                                     , "op": "[OP] 9C"                        , "io": "OF=R SF=R ZF=R AF=R PF=R CF=R DF=R IF=R TF=R"},
    286       {"x64": "pushfq"                                                     , "op": "[OP] 9C"                        , "io": "OF=R SF=R ZF=R AF=R PF=R CF=R DF=R IF=R TF=R"},
    287       {"any": "pushw imm16"                                                , "op": "[OP] 66 68 iw"},
    288       {"any": "rcl x:r8/m8, cl"                                            , "op": "[M ] D2 /2"                     , "io": "CF=X OF=X"},
    289       {"any": "rcl x:rv/mv, cl"                                            , "op": "[M ] D3 /2"                     , "io": "CF=X OF=X"},
    290       {"any": "rcl x:r8/m8, 1"                                , "alt": true, "op": "[M ] D0 /2"                     , "io": "CF=X OF=X"},
    291       {"any": "rcl x:rv/mv, 1"                                , "alt": true, "op": "[M ] D1 /2"                     , "io": "CF=X OF=X"},
    292       {"any": "rcl x:r8/m8, imm8"                                          , "op": "[M ] C0 /2 ib"                  , "io": "CF=X OF=X"},
    293       {"any": "rcl x:rv/mv, imm8"                                          , "op": "[M ] C1 /2 ib"                  , "io": "CF=X OF=X"},
    294       {"any": "rcr x:r8/m8, cl"                                            , "op": "[M ] D2 /3"                     , "io": "CF=X OF=X"},
    295       {"any": "rcr x:rv/mv, cl"                                            , "op": "[M ] D3 /3"                     , "io": "CF=X OF=X"},
    296       {"any": "rcr x:r8/m8, 1"                                , "alt": true, "op": "[M ] D0 /3"                     , "io": "CF=X OF=X"},
    297       {"any": "rcr x:rv/mv, 1"                                , "alt": true, "op": "[M ] D1 /3"                     , "io": "CF=X OF=X"},
    298       {"any": "rcr x:r8/m8, imm8"                                          , "op": "[M ] C0 /3 ib"                  , "io": "CF=X OF=X"},
    299       {"any": "rcr x:rv/mv, imm8"                                          , "op": "[M ] C1 /3 ib"                  , "io": "CF=X OF=X"},
    300       {"any": "[bnd|repIgnore] ret"                                        , "op": "[OP] C3"},
    301       {"any": "[bnd|repIgnore] ret immu16"                                 , "op": "[OP] C2 iw"},
    302       {"any": "retf"                                                       , "op": "[OP] CB"},
    303       {"any": "retf immu16"                                                , "op": "[OP] CA iw"},
    304       {"any": "rol x:r8/m8, cl"                                            , "op": "[M ] D2 /0"                     , "io": "CF=W OF=W"},
    305       {"any": "rol x:rv/mv, cl"                                            , "op": "[M ] D3 /0"                     , "io": "CF=W OF=W"},
    306       {"any": "rol x:r8/m8, 1"                                , "alt": true, "op": "[M ] D0 /0"                     , "io": "CF=W OF=W"},
    307       {"any": "rol x:rv/mv, 1"                                , "alt": true, "op": "[M ] D1 /0"                     , "io": "CF=W OF=W"},
    308       {"any": "rol x:r8/m8, imm8"                                          , "op": "[M ] C0 /0 ib"                  , "io": "CF=W OF=W"},
    309       {"any": "rol x:rv/mv, imm8"                                          , "op": "[M ] C1 /0 ib"                  , "io": "CF=W OF=W"},
    310       {"any": "ror x:r8/m8, cl"                                            , "op": "[M ] D2 /1"                     , "io": "CF=W OF=W"},
    311       {"any": "ror x:rv/mv, cl"                                            , "op": "[M ] D3 /1"                     , "io": "CF=W OF=W"},
    312       {"any": "ror x:r8/m8, 1"                                , "alt": true, "op": "[M ] D0 /1"                     , "io": "CF=W OF=W"},
    313       {"any": "ror x:rv/mv, 1"                                , "alt": true, "op": "[M ] D1 /1"                     , "io": "CF=W OF=W"},
    314       {"any": "ror x:r8/m8, imm8"                                          , "op": "[M ] C0 /1 ib"                  , "io": "CF=W OF=W"},
    315       {"any": "ror x:rv/mv, imm8"                                          , "op": "[M ] C1 /1 ib"                  , "io": "CF=W OF=W"},
    316       {"any": "sar x:r8/m8, cl"                                            , "op": "[M ] D2 /7"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    317       {"any": "sar x:rv/mv, cl"                                            , "op": "[M ] D3 /7"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    318       {"any": "sar x:r8/m8, 1"                                , "alt": true, "op": "[M ] D0 /7"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    319       {"any": "sar x:rv/mv, 1"                                , "alt": true, "op": "[M ] D1 /7"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    320       {"any": "sar x:r8/m8, imm8"                                          , "op": "[M ] C0 /7 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    321       {"any": "sar x:rv/mv, imm8"                                          , "op": "[M ] C1 /7 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    322       {"any": "sbb x:al, imm8"                                , "alt": true, "op": "[OP] 1C ib"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
    323       {"any": "sbb x:axv, immv"                               , "alt": true, "op": "[OP] 1D iv"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
    324       {"any": "[lock|xacqrel] sbb x:r8/m8, r8"                             , "op": "[MR] 18 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
    325       {"any": "[lock|xacqrel] sbb x:rv/mv, rv"                             , "op": "[MR] 19 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
    326       {"any": "[lock|xacqrel] sbb x:r8/m8, imm8"                           , "op": "[M ] 80 /3 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
    327       {"any": "[lock|xacqrel] sbb x:rv/mv, imms8"                          , "op": "[M ] 83 /3 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
    328       {"any": "[lock|xacqrel] sbb x:rv/mv, immv"                           , "op": "[M ] 81 /3 iv"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
    329       {"any": "sbb x:r8, r8/m8"                                            , "op": "[RM] 1A /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
    330       {"any": "sbb x:rv, rv/mv"                                            , "op": "[RM] 1B /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
    331       {"any": "[rep|repne] scas R:al, R:m8(es:zdi)"                        , "op": "[OP] AE"                        , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W DF=R"},
    332       {"any": "[rep|repne] scas R:ax, R:m16(es:zdi)"                       , "op": "[OP] 66 AF"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W DF=R"},
    333       {"any": "[rep|repne] scas R:eax, R:m32(es:zdi)"                      , "op": "[OP] AF"                        , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W DF=R"},
    334       {"any": "[rep|repne] scas R:rax, R:m64(es:zdi)"                      , "op": "[OP] REX.W AF"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W DF=R"},
    335       {"any": "setb w:r8/m8"                                               , "op": "[M ] 0F 92 /r"                  , "io": "CF=R"},
    336       {"any": "setbe w:r8/m8"                                              , "op": "[M ] 0F 96 /r"                  , "io": "CF=R ZF=R"},
    337       {"any": "setl w:r8/m8"                                               , "op": "[M ] 0F 9C /r"                  , "io": "SF=R OF=R"},
    338       {"any": "setle w:r8/m8"                                              , "op": "[M ] 0F 9E /r"                  , "io": "ZF=R SF=R OF=R"},
    339       {"any": "setnb w:r8/m8"                                              , "op": "[M ] 0F 93 /r"                  , "io": "CF=R"},
    340       {"any": "setnbe w:r8/m8"                                             , "op": "[M ] 0F 97 /r"                  , "io": "CF=R ZF=R"},
    341       {"any": "setnl w:r8/m8"                                              , "op": "[M ] 0F 9D /r"                  , "io": "SF=R OF=R"},
    342       {"any": "setnle w:r8/m8"                                             , "op": "[M ] 0F 9F /r"                  , "io": "ZF=R SF=R OF=R"},
    343       {"any": "setno w:r8/m8"                                              , "op": "[M ] 0F 91 /r"                  , "io": "OF=R"},
    344       {"any": "setnp w:r8/m8"                                              , "op": "[M ] 0F 9B /r"                  , "io": "PF=R"},
    345       {"any": "setns w:r8/m8"                                              , "op": "[M ] 0F 99 /r"                  , "io": "SF=R"},
    346       {"any": "setnz w:r8/m8"                                              , "op": "[M ] 0F 95 /r"                  , "io": "ZF=R"},
    347       {"any": "seto w:r8/m8"                                               , "op": "[M ] 0F 90 /r"                  , "io": "OF=R"},
    348       {"any": "setp w:r8/m8"                                               , "op": "[M ] 0F 9A /r"                  , "io": "PF=R"},
    349       {"any": "sets w:r8/m8"                                               , "op": "[M ] 0F 98 /r"                  , "io": "SF=R"},
    350       {"any": "setz w:r8/m8"                                               , "op": "[M ] 0F 94 /r"                  , "io": "ZF=R"},
    351       {"any": "shl x:r8/m8, cl"                                            , "op": "[M ] D2 /4"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    352       {"any": "shl x:rv/mv, cl"                                            , "op": "[M ] D3 /4"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    353       {"any": "shl x:r8/m8, 1"                                , "alt": true, "op": "[M ] D0 /4"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    354       {"any": "shl x:rv/mv, 1"                                , "alt": true, "op": "[M ] D1 /4"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    355       {"any": "shl x:r8/m8, imm8"                                          , "op": "[M ] C0 /4 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    356       {"any": "shl x:rv/mv, imm8"                                          , "op": "[M ] C1 /4 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    357       {"any": "shld x:rv/mv, rv, cl"                                       , "op": "[MR] 0F A5 /r"                  , "io": "OF=W SF=W ZF=W AF=U PF=W CF=W"},
    358       {"any": "shld x:rv/mv, rv, imm8"                                     , "op": "[MR] 0F A4 /r ib"               , "io": "OF=W SF=W ZF=W AF=U PF=W CF=W"},
    359       {"any": "shr x:r8/m8, cl"                                            , "op": "[M ] D2 /5"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    360       {"any": "shr x:rv/mv, cl"                                            , "op": "[M ] D3 /5"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    361       {"any": "shr x:r8/m8, 1"                                , "alt": true, "op": "[M ] D0 /5"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    362       {"any": "shr x:rv/mv, 1"                                , "alt": true, "op": "[M ] D1 /5"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    363       {"any": "shr x:r8/m8, imm8"                                          , "op": "[M ] C0 /5 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    364       {"any": "shr x:rv/mv, imm8"                                          , "op": "[M ] C1 /5 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    365       {"any": "shrd x:rv/mv, rv, cl"                                       , "op": "[MR] 0F AD /r"                  , "io": "OF=W SF=W ZF=W AF=U PF=W CF=W"},
    366       {"any": "shrd x:rv/mv, rv, imm8"                                     , "op": "[MR] 66 0F AC /r ib"            , "io": "OF=W SF=W ZF=W AF=U PF=W CF=W"},
    367       {"any": "stc"                                                        , "op": "[OP] F9"                        , "io": "CF=1"},
    368       {"any": "std"                                                        , "op": "[OP] FD"                        , "io": "DF=1"},
    369       {"any": "[rep] stos W:m8(es:zdi), R:al"                              , "op": "[OP] AA"                        , "io": "DF=R"},
    370       {"any": "[rep] stos W:m16(es:zdi), R:ax"                             , "op": "[OP] 66 AB"                     , "io": "DF=R"},
    371       {"any": "[rep] stos W:m32(es:zdi), R:eax"                            , "op": "[OP] AB"                        , "io": "DF=R"},
    372       {"any": "[rep] stos W:m64(es:zdi), R:rax"                            , "op": "[OP] REX.W AB"                  , "io": "DF=R"},
    373       {"any": "sub x:al, imm8"                                , "alt": true, "op": "[OP] 2C ib"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    374       {"any": "sub x:axv, immv"                               , "alt": true, "op": "[OP] 2D iv"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    375       {"any": "[lock|xacqrel] sub x:r8/m8, r8"                             , "op": "[MR] 28 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    376       {"any": "[lock|xacqrel] sub x:rv/mv, rv"                             , "op": "[MR] 29 /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    377       {"any": "[lock|xacqrel] sub x:r8/m8, imm8"                           , "op": "[M ] 80 /5 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    378       {"any": "[lock|xacqrel] sub x:rv/mv, imms8"                          , "op": "[M ] 83 /5 ib"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    379       {"any": "[lock|xacqrel] sub x:rv/mv, immv"                           , "op": "[M ] 81 /5 iv"                  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    380       {"any": "sub x:r8, r8/m8"                                            , "op": "[RM] 2A /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    381       {"any": "sub x:rv, rv/mv"                                            , "op": "[RM] 2B /r"                     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    382       {"any": "test R:~r8/m8, ~r8"                                         , "op": "[MR] 84 /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    383       {"any": "test R:~rv/mv, ~rv"                                         , "op": "[MR] 85 /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    384       {"any": "test R:al, imm8"                               , "alt": true, "op": "[OP] A8 ib"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    385       {"any": "test R:axv, immv"                              , "alt": true, "op": "[OP] A9 iv"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    386       {"any": "test R:r8/m8, imm8"                                         , "op": "[M ] F6 /0 ib"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    387       {"any": "test R:rv/mv, immv"                                         , "op": "[M ] F7 /0 iv"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    388       {"any": "ud0 r32, r32/m32"                                           , "op": "[RM] 0F FF /r"},
    389       {"any": "ud1 r32, r32/m32"                                           , "op": "[RM] 0F B9 /r"},
    390       {"any": "ud2"                                                        , "op": "[OP] 0F 0B"},
    391       {"any": "xchg x:~ax, x:~r16"                            , "alt": true, "op": "[OP] 66 90+r"},
    392       {"any": "xchg X:~eax, X:~r32"                           , "alt": true, "op": "[OP] 90+r"},
    393       {"any": "xchg X:~rax, X:~r64"                           , "alt": true, "op": "[OP] REX.W 90+r"},
    394       {"any": "xchg x:~r16, x:~ax"                            , "alt": true, "op": "[OP] 66 90+r"},
    395       {"any": "xchg X:~r32, X:~eax"                           , "alt": true, "op": "[OP] 90+r"},
    396       {"any": "xchg X:~r64, X:~rax"                           , "alt": true, "op": "[OP] REX.W 90+r"},
    397       {"any": "[ilock|xacquire] xchg x:~r8/m8, x:~r8"                      , "op": "[MR] 86 /r"},
    398       {"any": "[ilock|xacquire] xchg x:~rv/mv, x:~rv"                      , "op": "[MR] 87 /r"},
    399       {"any": "[ilock|xacquire] xchg x:~r8, x:~r8/m8"                      , "op": "[RM] 86 /r"},
    400       {"any": "[ilock|xacquire] xchg x:~rv, x:~rv/mv"                      , "op": "[RM] 87 /r"},
    401       {"any": "xor x:al, imm8"                                , "alt": true, "op": "[OP] 34 ib"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    402       {"any": "xor x:axv, immv"                               , "alt": true, "op": "[OP] 35 iv"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    403       {"any": "[lock|xacqrel] xor x:~r8/m8, ~r8"                           , "op": "[MR] 30 /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    404       {"any": "[lock|xacqrel] xor x:~rv/mv, ~rv"                           , "op": "[MR] 31 /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    405       {"any": "[lock|xacqrel] xor x:r8/m8, imm8"                           , "op": "[M ] 80 /6 ib"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    406       {"any": "[lock|xacqrel] xor x:rv/mv, imms8"                          , "op": "[M ] 83 /6 ib"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    407       {"any": "[lock|xacqrel] xor x:rv/mv, immv"                           , "op": "[M ] 81 /6 iv"                  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    408       {"any": "xor x:~r8, ~r8/m8"                                          , "op": "[RM] 32 /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
    409       {"any": "xor x:~rv, ~rv/mv"                                          , "op": "[RM] 33 /r"                     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"}
    410     ]},
    411 
    412     {"category": "GP GP_IN_OUT", "volatile": true, "instructions": [
    413       {"any": "in w:al, imm8"                                              , "op": "E4 ib"},
    414       {"any": "in w:ax, imm8"                                              , "op": "66 E5 ib"},
    415       {"any": "in W:eax, imm8"                                             , "op": "E5 ib"},
    416       {"any": "in w:al, dx"                                                , "op": "EC"},
    417       {"any": "in w:ax, dx"                                                , "op": "66 ED"},
    418       {"any": "in W:eax, dx"                                               , "op": "ED"},
    419       {"any": "[rep] ins W:m8(es:zdi), dx"                                 , "op": "6C"},
    420       {"any": "[rep] ins W:m16(es:zdi), dx"                                , "op": "66 6D"},
    421       {"any": "[rep] ins W:m32(es:zdi), dx"                                , "op": "6D"},
    422       {"any": "out imm8, al"                                               , "op": "E6 ib"},
    423       {"any": "out imm8, ax"                                               , "op": "66 E7 ib"},
    424       {"any": "out imm8, eax"                                              , "op": "E7 ib"},
    425       {"any": "out R:dx, R:al"                                             , "op": "EE"},
    426       {"any": "out R:dx, R:ax"                                             , "op": "66 EF"},
    427       {"any": "out R:dx, R:eax"                                            , "op": "EF"},
    428       {"any": "[rep] outs R:dx, R:m8(ds:zsi)"                              , "op": "6E"},
    429       {"any": "[rep] outs R:dx, R:m16(ds:zsi)"                             , "op": "66 6F"},
    430       {"any": "[rep] outs R:dx, R:m32(ds:zsi)"                             , "op": "6F"}
    431     ]},
    432 
    433     {"category": "GP GP_EXT", "ext": "I486", "instructions": [
    434       {"any": "[lock|xacqrel] cmpxchg x:r8/m8, r8, <al>"                   , "op": "[MR] 0F B0 /r"                             , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    435       {"any": "[lock|xacqrel] cmpxchg x:rv/mv, rv, <axv>"                  , "op": "[MR] 0F B1 /r"                             , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    436       {"any": "cpuid X:<eax>, W:<ebx>, X:<ecx>, W:<edx>"                   , "op": "[OP] 0F A2"                                , "volatile": true},
    437       {"any": "[lock|xacqrel] xadd x:r8/m8, x:r8"                          , "op": "[MR] 0F C0 /r"                             , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
    438       {"any": "[lock|xacqrel] xadd x:rv/mv, x:rv"                          , "op": "[MR] 0F C1 /r"                             , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"}
    439     ]},
    440 
    441     {"category": "GP GP_EXT", "ext": "3DNOW", "volatile": true, "instructions": [
    442       {"any": "prefetch R:mem"                                             , "op": "0F 0D /0"}
    443     ]},
    444 
    445     {"category": "GP GP_EXT", "ext": "ADX", "instructions": [
    446       {"any": "adcx X:~ry, R:~ry/my"                                       , "op": "[RM ] 66 0F 38 F6 /r"                      , "io": "CF=X"},
    447       {"any": "adox X:~ry, R:~ry/my"                                       , "op": "[RM ] F3 0F 38 F6 /r"                      , "io": "OF=X"},
    448       {"apx": "adcx X:~ry, R:~ry/my"                                       , "op": "[RM ] EVEX.ND=0.LLZ.66.MAP4.Wy 66 /r"      , "io": "CF=X"},
    449       {"apx": "adcx W:ry, R:~ry, R:~ry/my"                                 , "op": "[VRM] EVEX.ND=1.LLZ.66.MAP4.Wy 66 /r"      , "io": "CF=X"},
    450       {"apx": "adox X:~ry, R:~ry/my"                                       , "op": "[RM ] EVEX.ND=0.LLZ.F3.MAP4.Wy 66 /r"      , "io": "OF=X"},
    451       {"apx": "adox W:ry, R:~ry, R:~ry/my"                                 , "op": "[VRM] EVEX.ND=1.LLZ.F3.MAP4.Wy 66 /r"      , "io": "OF=X"}
    452     ]},
    453 
    454     {"category": "GP GP_EXT", "ext": "BMI", "instructions": [
    455       {"any": "andn       W:ry, R:ry, R:ry/my"                             , "op": "[RVM] VEX.LZ.0F38.Wy F2 /r"                , "io": "OF=0 SF=W ZF=W AF=U PF=U CF=0"},
    456       {"apx": "andn{nf}   W:ry, R:ry, R:my/ry"                             , "op": "[RVM] EVEX.128.NP.0F38.Wy F2 /r"           , "io": "OF=0 SF=W ZF=W AF=U PF=U CF=0"},
    457       {"any": "bextr      W:ry, R:ry/my, R:ry"                             , "op": "[RMV] VEX.LZ.0F38.Wy F7 /r"                , "io": "OF=0 SF=U ZF=W AF=U PF=U CF=0"},
    458       {"apx": "bextr{nf}  W:ry, R:my/ry, ry"                               , "op": "[RMV] EVEX.128.NP.0F38.Wy F7 /r"           , "io": "OF=0 SF=U ZF=W AF=U PF=U CF=0"},
    459       {"any": "blsi       W:ry, R:ry/my"                                   , "op": "[VM ] VEX.LZ.0F38.Wy F3 /3"                , "io": "OF=0 SF=W ZF=W AF=U PF=U CF=W"},
    460       {"apx": "blsi{nf}   W:ry, R:my/ry"                                   , "op": "[VM ] EVEX.128.NP.0F38.Wy F3 /3"           , "io": "OF=0 SF=W ZF=W AF=U PF=U CF=W"},
    461       {"any": "blsmsk     W:ry, R:ry/my"                                   , "op": "[VM ] VEX.LZ.0F38.Wy F3 /2"                , "io": "OF=0 SF=W ZF=0 AF=U PF=U CF=W"},
    462       {"apx": "blsmsk{nf} W:ry, R:my/ry"                                   , "op": "[VM ] EVEX.128.NP.0F38.Wy F3 /2"           , "io": "OF=0 SF=W ZF=0 AF=U PF=U CF=W"},
    463       {"any": "blsr       W:ry, R:ry/my"                                   , "op": "[VM ] VEX.LZ.0F38.Wy F3 /1"                , "io": "OF=0 SF=W ZF=W AF=U PF=U CF=W"},
    464       {"apx": "blsr{nf}   W:ry, R:my/ry"                                   , "op": "[VM ] EVEX.128.NP.0F38.Wy F3 /1"           , "io": "OF=0 SF=W ZF=W AF=U PF=U CF=W"},
    465       {"any": "tzcnt      w:rv, rv/mv"                                     , "op": "[RM ] F3 0F BC /r"                         , "io": "OF=U SF=U ZF=W AF=U PF=U CF=W"},
    466       {"apx": "tzcnt{nf}  w:rv, R:rv/mv"                                   , "op": "[RM ] EVEX.ND=0.LLZ.Pv.MAP4.Wv F4 /r"      , "io": "OF=U SF=U ZF=W AF=U PF=U CF=W"}
    467     ]},
    468 
    469     {"category": "GP GP_EXT", "ext": "BMI2", "instructions": [
    470       {"any": "bzhi       W:ry, R:ry/my, R:ry"                             , "op": "[RMV] VEX.LZ.0F38.Wy F5 /r"                , "io": "OF=0 SF=W ZF=W AF=U PF=U CF=W"},
    471       {"apx": "bzhi{nf}   W:ry, R:my/ry, R:ry"                             , "op": "[RMV] EVEX.128.NP.0F38.Wy F5 /r"           , "io": "OF=0 SF=W ZF=W AF=U PF=U CF=W"},
    472       {"any": "mulx       W:ry, W:ry, ~ry/my, ~<dxy>"                      , "op": "[RVM] VEX.LZ.F2.0F38.Wy F6 /r"},
    473       {"apx": "mulx       W:ry, W:ry, R:~my/ry, R:~<dxy>"                  , "op": "[RVM] EVEX.128.F2.0F38.Wy F6 /r"},
    474       {"any": "pdep       W:ry, ry, ry/my"                                 , "op": "[RVM] VEX.LZ.F2.0F38.Wy F5 /r"},
    475       {"apx": "pdep       W:ry, R:ry, R:my/ry"                             , "op": "[RVM] EVEX.128.F2.0F38.Wy F5 /r"},
    476       {"any": "pext       W:ry, ry, ry/my"                                 , "op": "[RVM] VEX.LZ.F3.0F38.Wy F5 /r"},
    477       {"apx": "pext       W:ry, R:ry, R:my/ry"                             , "op": "[RVM] EVEX.128.F3.0F38.Wy F5 /r"},
    478       {"any": "rorx       W:ry, ry/my, imm8"                               , "op": "[RM ] VEX.LZ.F2.0F3A.Wy F0 /r ib"},
    479       {"apx": "rorx       W:ry, R:my/ry, imm8"                             , "op": "[RM ] EVEX.128.F2.0F3A.Wy F0 /r ib"},
    480       {"any": "sarx       W:ry, ry/my, ry"                                 , "op": "[RMV] VEX.LZ.F3.0F38.Wy F7 /r"},
    481       {"apx": "sarx       W:ry, R:my/ry, R:ry"                             , "op": "[RMV] EVEX.128.F3.0F38.Wy F7 /r"},
    482       {"any": "shlx       W:ry, ry/my, ry"                                 , "op": "[RMV] VEX.LZ.66.0F38.Wy F7 /r"},
    483       {"apx": "shlx       W:ry, R:my/ry, R:ry"                             , "op": "[RMV] EVEX.128.66.0F38.Wy F7 /r"},
    484       {"any": "shrx       W:ry, ry/my, ry"                                 , "op": "[RMV] VEX.LZ.F2.0F38.Wy F7 /r"},
    485       {"apx": "shrx       W:ry, R:my/ry, R:ry"                             , "op": "[RMV] EVEX.128.F2.0F38.Wy F7 /r"}
    486     ]},
    487 
    488     {"category": "GP GP_EXT", "ext": "CET_SS", "volatile": true, "instructions": [
    489       {"any": "incsspd R:r32[7:0]"                                         , "op": "F3 0F AE /5"},
    490       {"x64": "incsspq R:r64[7:0]"                                         , "op": "F3 REX.W 0F AE /5"},
    491       {"any": "rdsspd W:r32"                                               , "op": "F3 0F 1E /1"},
    492       {"any": "rdsspq W:r64"                                               , "op": "F3 REX.W 0F 1E /1"},
    493       {"any": "rstorssp R:m64"                                             , "op": "F3 0F 01 /5"                               , "io": "OF=0 SF=0 ZF=0 AF=0 PF=0 CF=W"},
    494       {"any": "saveprevssp"                                                , "op": "F3 0F 01 EA"                               , "io": "OF=0 SF=0 ZF=0 AF=0 PF=0 CF=W"}
    495     ]},
    496 
    497     {"category": "GP GP_EXT", "ext": "CLDEMOTE", "instructions": [
    498       {"any": "cldemote R:mem"                                             , "op": "[M ] NP 0F 1C /0"}
    499     ]},
    500 
    501     {"category": "GP GP_EXT", "ext": "CLFLUSH", "instructions": [
    502       {"any": "clflush R:mem"                                              , "op": "[M ] NP 0F AE /7"}
    503     ]},
    504 
    505     {"category": "GP GP_EXT", "ext": "CLFLUSHOPT", "instructions": [
    506       {"any": "clflushopt R:mem"                                           , "op": "[M ] NFx 66 0F AE /7"}
    507     ]},
    508 
    509     {"category": "GP GP_EXT", "ext": "CLWB", "instructions": [
    510       {"any": "clwb R:mem"                                                 , "op": "[M ] 66 0F AE /6"}
    511     ]},
    512 
    513     {"category": "GP GP_EXT", "ext": "CLZERO", "instructions": [
    514       {"any": "clzero R:<m512(ds:zax)>"                                    , "op": "[OP] NP 0F 01 FC"}
    515     ]},
    516 
    517     {"category": "GP GP_EXT", "ext": "CMOV", "instructions": [
    518       {"any": "cmovb x:rv, rv/mv"                                          , "op": "[RM] 0F 42 /r"                             , "io": "CF=R"},
    519       {"any": "cmovbe x:rv, rv/mv"                                         , "op": "[RM] 0F 46 /r"                             , "io": "CF=R ZF=R"},
    520       {"any": "cmovl x:rv, rv/mv"                                          , "op": "[RM] 0F 4C /r"                             , "io": "SF=R OF=R"},
    521       {"any": "cmovle x:rv, rv/mv"                                         , "op": "[RM] 0F 4E /r"                             , "io": "ZF=R SF=R OF=R"},
    522       {"any": "cmovnb x:rv, rv/mv"                                         , "op": "[RM] 0F 43 /r"                             , "io": "CF=R"},
    523       {"any": "cmovnbe x:rv, rv/mv"                                        , "op": "[RM] 0F 47 /r"                             , "io": "CF=R ZF=R"},
    524       {"any": "cmovnl x:rv, rv/mv"                                         , "op": "[RM] 0F 4D /r"                             , "io": "SF=R OF=R"},
    525       {"any": "cmovnle x:rv, rv/mv"                                        , "op": "[RM] 0F 4F /r"                             , "io": "ZF=R SF=R OF=R"},
    526       {"any": "cmovno x:rv, rv/mv"                                         , "op": "[RM] 0F 41 /r"                             , "io": "OF=R"},
    527       {"any": "cmovnp x:rv, rv/mv"                                         , "op": "[RM] 0F 4B /r"                             , "io": "PF=R"},
    528       {"any": "cmovns x:rv, rv/mv"                                         , "op": "[RM] 0F 49 /r"                             , "io": "SF=R"},
    529       {"any": "cmovnz x:rv, rv/mv"                                         , "op": "[RM] 0F 45 /r"                             , "io": "ZF=R"},
    530       {"any": "cmovo x:rv, rv/mv"                                          , "op": "[RM] 0F 40 /r"                             , "io": "OF=R"},
    531       {"any": "cmovp x:rv, rv/mv"                                          , "op": "[RM] 0F 4A /r"                             , "io": "PF=R"},
    532       {"any": "cmovs x:rv, rv/mv"                                          , "op": "[RM] 0F 48 /r"                             , "io": "SF=R"},
    533       {"any": "cmovz x:rv, rv/mv"                                          , "op": "[RM] 0F 44 /r"                             , "io": "ZF=R"}
    534     ]},
    535 
    536     {"category": "GP GP_EXT", "ext": "CMPCCXADD", "instructions": [
    537       {"any": "cmpbxadd   X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy E2 !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    538       {"apx": "cmpbxadd   X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy E2 !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    539       {"any": "cmpbexadd  X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy E6 !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    540       {"apx": "cmpbexadd  X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy E6 !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    541       {"any": "cmplxadd   X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy EC !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    542       {"apx": "cmplxadd   X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy EC !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    543       {"any": "cmplexadd  X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy EE !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    544       {"apx": "cmplexadd  X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy EE !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    545       {"any": "cmpnbxadd  X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy E3 !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    546       {"apx": "cmpnbxadd  X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy E3 !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    547       {"any": "cmpnbexadd X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy E7 !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    548       {"apx": "cmpnbexadd X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy E7 !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    549       {"any": "cmpnlxadd  X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy ED !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    550       {"apx": "cmpnlxadd  X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy ED !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    551       {"any": "cmpnlexadd X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy EF !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    552       {"apx": "cmpnlexadd X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy EF !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    553       {"any": "cmpnoxadd  X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy E1 !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    554       {"apx": "cmpnoxadd  X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy E1 !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    555       {"any": "cmpnpxadd  X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy EB !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    556       {"apx": "cmpnpxadd  X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy EB !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    557       {"any": "cmpnsxadd  X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy E9 !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    558       {"apx": "cmpnsxadd  X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy E9 !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    559       {"any": "cmpnzxadd  X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy E5 !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    560       {"apx": "cmpnzxadd  X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy E5 !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    561       {"any": "cmpoxadd   X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy E0 !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    562       {"apx": "cmpoxadd   X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy E0 !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    563       {"any": "cmppxadd   X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy EA !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    564       {"apx": "cmppxadd   X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy EA !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    565       {"any": "cmpsxadd   X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy E8 !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    566       {"apx": "cmpsxadd   X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy E8 !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"},
    567       {"any": "cmpzxadd   X:my, X:ry, R:ry"                                , "op": "[MRV] VEX.128.66.0F38.Wy E4 !(11):rrr:bbb" , "io": "CF=W OF=W SF=W ZF=W AF=W PF=W"},
    568       {"apx": "cmpzxadd   X:my, X:ry, R:ry"                                , "op": "[MRV] EVEX.128.66.0F38.Wy E4 !(11):rrr:bbb", "io": "OF=W SD=W ZF=W AF=W PF=W CF=W"}
    569     ]},
    570 
    571     {"category": "GP GP_EXT", "ext": "CMPXCHG8B", "instructions": [
    572       {"any": "[lock|xacqrel] cmpxchg8b X:m64,X:<edx>,X:<eax>,<ecx>,<ebx>" , "op": "[OP] 0F C7 /1"                             , "io": "ZF=W"}
    573     ]},
    574 
    575     {"category": "GP GP_EXT", "ext": "CMPXCHG16B", "instructions": [
    576       {"any": "[lock|xacqrel] cmpxchg16b X:m128,X:<rdx>,X:<rax>,<rcx>,<rbx>","op": "[OP] REX.W 0F C7 /1"                       , "io": "ZF=W"}
    577     ]},
    578 
    579     {"category": "GP GP_EXT", "ext": "FSGSBASE", "volatile": true, "instructions": [
    580       {"x64": "rdfsbase W:ry"                                              , "op": "[M ] F3 0F AE /0"},
    581       {"x64": "rdgsbase W:ry"                                              , "op": "[M ] F3 0F AE /1"},
    582       {"x64": "wrfsbase R:ry"                                              , "op": "[M ] F3 0F AE /2"},
    583       {"x64": "wrgsbase R:ry"                                              , "op": "[M ] F3 0F AE /3"}
    584     ]},
    585 
    586     {"category": "GP GP_EXT", "ext": "FXSR", "volatile": true, "instructions": [
    587       {"any": "fxrstor   R:mem"                                            , "op": "[M ] 0F AE /1"                             , "io": "C0=W C1=W C2=W C3=W"},
    588       {"any": "fxrstor64 R:mem"                                            , "op": "[M ] REX.W 0F AE /1"                       , "io": "C0=W C1=W C2=W C3=W"},
    589       {"any": "fxsave    W:mem"                                            , "op": "[M ] 0F AE /0"                             , "io": "C0=R C1=R C2=R C3=R"},
    590       {"any": "fxsave64  W:mem"                                            , "op": "[M ] REX.W 0F AE /0"                       , "io": "C0=R C1=R C2=R C3=R"}
    591     ]},
    592 
    593     {"category": "GP GP_EXT", "ext": "LAHFSAHF", "instructions": [
    594       {"any": "lahf w:<ah>"                                                , "op": "[OP] 9F"                                   , "io": "SF=R ZF=R AF=R PF=R CF=R"},
    595       {"any": "sahf R:<ah>"                                                , "op": "[OP] 9E"                                   , "io": "SF=W ZF=W AF=W PF=W CF=W"}
    596     ]},
    597 
    598     {"category": "GP GP_EXT", "ext": "LWP", "volatile": true, "instructions": [
    599       {"any": "llwpcb R:r32"                                               , "op": "[M  ] XOP.L0.P0.MAP9.W0 12 /0"},
    600       {"any": "llwpcb R:r64"                                               , "op": "[M  ] XOP.L0.P0.MAP9.W1 12 /0"},
    601       {"any": "lwpins R:r32, R:r32/m32, imm32"                             , "op": "[VM ] XOP.L0.P0.MAPA.W0 12 /0 id"},
    602       {"any": "lwpins R:r64, R:r32/m32, imm32"                             , "op": "[VM ] XOP.L0.P0.MAPA.W1 12 /0 id"},
    603       {"any": "lwpval R:r32, R:r32/m32, imm32"                             , "op": "[VM ] XOP.L0.P0.MAPA.W0 12 /1 id"},
    604       {"any": "lwpval R:r64, R:r32/m32, imm32"                             , "op": "[VM ] XOP.L0.P0.MAPA.W1 12 /1 id"},
    605       {"any": "slwpcb W:r32"                                               , "op": "[M  ] XOP.L0.P0.MAP9.W0 12 /1"},
    606       {"any": "slwpcb W:r64"                                               , "op": "[M  ] XOP.L0.P0.MAP9.W1 12 /1"}
    607     ]},
    608 
    609     {"category": "GP GP_EXT", "ext": "LZCNT", "instructions": [
    610       {"any": "lzcnt w:rv, rv/mv"                                          , "op": "[RM] F3 0F BD /r"                          , "io": "OF=U SF=U ZF=W AF=U PF=U CF=W"},
    611       {"apx": "lzcnt{nf}  w:rv, R:rv/mv"                                   , "op": "[RM ] EVEX.ND=0.LLZ.Pv.MAP4.Wv F5 /r"      , "io": "OF=U SF=U ZF=W AF=U PF=U CF=W"}
    612     ]},
    613 
    614     {"category": "GP GP_EXT", "ext": "MONITORX", "volatile": true, "instructions": [
    615       {"any": "monitorx R:<mem(ds:zax)>, R:<ecx>, R:<edx>"                 , "op": "0F 01 FA"},
    616       {"any": "mwaitx R:<eax>, R:<ecx>, R:<ebx>"                           , "op": "0F 01 FB"}
    617     ]},
    618 
    619     {"category": "GP GP_EXT", "ext": "MCOMMIT", "instructions": [
    620       {"any": "mcommit"                                                    , "op": "F3 0F 01 FA"                               , "io": "OF=0 SF=0 ZF=0 AF=0 PF=0 CF=W"}
    621     ]},
    622 
    623     {"category": "GP GP_EXT", "ext": "MOVBE", "instructions": [
    624       {"any": "movbe w:rv, R:mv"                                           , "op": "[RM] 0F 38 F0 /r"},
    625       {"any": "movbe W:mv, R:rv"                                           , "op": "[MR] 0F 38 F1 /r"},
    626       {"apx": "movbe w:rv, R:rv/mv"                                        , "op": "[RM] EVEX.ND=0.LLZ.Pv.MAP4.Wv 60 /r"},
    627       {"apx": "movbe w:rv/mv, R:rv"                                        , "op": "[MR] EVEX.ND=0.LLZ.Pv.MAP4.Wv 61 /r"}
    628     ]},
    629 
    630     {"category": "GP GP_EXT", "ext": "MOVDIRI", "instructions": [
    631       {"any": "movdiri W:my, R:ry"                                         , "op": "[MR] 0F 38 F9 /r"},
    632       {"apx": "movdiri W:my, R:ry"                                         , "op": "[MR] EVEX.ND=0.LLZ.NP.MAP4.W0 F9 !(11):rrr:bbb"}
    633     ]},
    634 
    635     {"category": "GP GP_EXT", "ext": "MOVDIR64B", "instructions": [
    636       {"any": "movdir64b W:m512(es:r32), m512"                             , "op": "[RM] 66 0F 38 F8 /r"},
    637       {"any": "movdir64b W:m512(es:r64), m512"                             , "op": "[RM] 66 0F 38 F8 /r"},
    638       {"apx": "movdir64b W:m512(es:r64), R:m512"                           , "op": "[RM] EVEX.LLZ.66.MAP4.W0 F8 !(11):rrr:bbb"}
    639     ]},
    640 
    641     {"category": "GP GP_EXT", "ext": "MOVRS", "instructions": [
    642       {"x64": "movrs W:r8, R:m8"                                           , "op": "[RM] NOREP 0F 38 8A !(11):rrr:bbb"},
    643       {"x64": "movrs W:rv, R:mv"                                           , "op": "[RM] NOREP 0F 38 8B !(11):rrr:bbb"},
    644       {"any": "prefetchrst2 R:mem"                                         , "op": "[M ] 0F 18 !(11):100:bbb"}
    645     ]},
    646 
    647     {"category": "GP GP_EXT", "ext": "PCONFIG", "volatile": true, "instructions": [
    648       {"any": "pconfig"                                                    , "op": "[OP] NP 0F 01 C5"}
    649     ]},
    650 
    651     {"category": "GP GP_EXT", "ext": "POPCNT", "instructions": [
    652       {"any": "popcnt w:rv, rv/mv"                                         , "op": "[RM] F3 0F B8 /r"                          , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
    653       {"apx": "popcnt{nf} w:rv, R:rv/mv"                                   , "op": "[RM] EVEX.ND=0.LLZ.Pv.MAP4.Wv 88 /r"       , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"}
    654     ]},
    655 
    656     {"category": "GP GP_EXT", "ext": "OSPKE", "instructions": [
    657       {"any": "rdpkru W:<edx>, W:<eax>, R:<ecx>"                           , "op": "[OP] 0F 01 EE"}
    658     ]},
    659 
    660     {"category": "GP GP_EXT", "ext": "PREFETCHI", "volatile": true, "instructions": [
    661       {"x64": "prefetchit0 R:mem"                                          , "op": "[M ] 0F 18 /7"},
    662       {"x64": "prefetchit1 R:mem"                                          , "op": "[M ] 0F 18 /6"}
    663     ]},
    664 
    665     {"category": "GP GP_EXT", "ext": "PREFETCHW", "volatile": true, "instructions": [
    666       {"any": "prefetchw R:mem"                                            , "op": "[M ] 0F 0D /1"                             , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"}
    667     ]},
    668 
    669     {"category": "GP GP_EXT", "ext": "PREFETCHWT1", "volatile": true, "instructions": [
    670       {"any": "prefetchwt1 R:mem"                                          , "op": "[M ] 0F 0D /2"                             , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"}
    671     ]},
    672 
    673     {"category": "GP GP_EXT", "ext": "PTWRITE", "volatile": true, "instructions": [
    674       {"any": "ptwrite R:r32/m32"                                          , "op": "[M ] F3 0F AE /4"},
    675       {"any": "ptwrite R:r64/m64"                                          , "op": "[M ] F3 REX.W 0F AE /4"}
    676     ]},
    677 
    678     {"category": "GP GP_EXT", "ext": "RAO_INT", "volatile": true, "instructions": [
    679       {"any": "aadd X:my, R:ry"                                            , "op": "[MR] NP 0F 38 FC !(11):rrr:bbb"},
    680       {"apx": "aadd X:my, R:ry"                                            , "op": "[MR] EVEX.ND=0.LLZ.NP.MAP4.Wy FC !(11):rrr:bbb"},
    681       {"any": "aand X:my, R:ry"                                            , "op": "[MR] 66 0F 38 FC !(11):rrr:bbb"},
    682       {"apx": "aand X:my, R:ry"                                            , "op": "[MR] EVEX.ND=0.LLZ.66.MAP4.Wy FC !(11):rrr:bbb"},
    683       {"any": "aor  X:my, R:ry"                                            , "op": "[MR] F2 0F 38 FC !(11):rrr:bbb"},
    684       {"apx": "aor  X:my, R:ry"                                            , "op": "[MR] EVEX.ND=0.LLZ.F2.MAP4.Wy FC !(11):rrr:bbb"},
    685       {"any": "axor X:my, R:ry"                                            , "op": "[MR] F3 0F 38 FC !(11):rrr:bbb"},
    686       {"apx": "axor X:my, R:ry"                                            , "op": "[MR] EVEX.ND=0.LLZ.F3.MAP4.Wy FC !(11):rrr:bbb"}
    687     ]},
    688 
    689     {"category": "GP GP_EXT", "ext": "RDPID", "instructions": [
    690       {"x86": "rdpid W:r32"                                                , "op": "[R ] F3 0F C7 /7"},
    691       {"x64": "rdpid W:r64"                                                , "op": "[R ] F3 0F C7 /7"}
    692     ]},
    693 
    694     {"category": "GP GP_EXT", "ext": "RDPRU", "instructions": [
    695       {"any": "rdpru W:<edx>, W:<eax>, R:<ecx>"                            , "op": "0F 01 FD"}
    696     ]},
    697 
    698     {"category": "GP GP_EXT", "ext": "RDRAND", "instructions": [
    699       {"any": "rdrand w:rv"                                                , "op": "NFx 0F C7 /6"                   , "io": "OF=0 SF=0 ZF=0 AF=0 PF=0 CF=W"}
    700     ]},
    701 
    702     {"category": "GP GP_EXT", "ext": "RDSEED", "instructions": [
    703       {"any": "rdseed w:rv"                                                , "op": "NFx 0F C7 /7"                   , "io": "OF=0 SF=0 ZF=0 AF=0 PF=0 CF=W"}
    704     ]},
    705 
    706     {"category": "GP GP_EXT", "ext": "RDTSC", "instructions": [
    707       {"any": "rdtsc W:<edx>, W:<eax>"                                     , "op": "0F 31"}
    708     ]},
    709 
    710     {"category": "GP GP_EXT", "ext": "RDTSCP", "instructions": [
    711       {"any": "rdtscp W:<edx>, W:<eax>, W:<ecx>"                           , "op": "0F 01 F9"}
    712     ]},
    713 
    714     {"category": "GP GP_EXT", "ext": "RTM", "deprecated": true, "volatile": true, "instructions": [
    715       {"any": "xabort imm8"                                                , "op": "C6 /7 ib"},
    716       {"any": "xbegin rel16"                                               , "op": "66 C7 /7 cw"},
    717       {"any": "xbegin rel32"                                               , "op": "C7 /7 cd"},
    718       {"any": "xend"                                                       , "op": "0F 01 D5"},
    719       {"any": "xtest"                                                      , "op": "0F 01 D6"                       , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"}
    720     ]},
    721 
    722     {"category": "GP GP_EXT", "ext": "SERIALIZE", "volatile": true, "instructions": [
    723       {"any": "serialize"                                                  , "op": "0F 01 E8"}
    724     ]},
    725 
    726     {"category": "GP GP_EXT", "ext": "SSE", "volatile": true, "instructions": [
    727       {"any": "prefetchnta R:mem"                                          , "op": "[M ] 0F 18 /0"},
    728       {"any": "prefetcht0 R:mem"                                           , "op": "[M ] 0F 18 /1"},
    729       {"any": "prefetcht1 R:mem"                                           , "op": "[M ] 0F 18 /2"},
    730       {"any": "prefetcht2 R:mem"                                           , "op": "[M ] 0F 18 /3"},
    731       {"any": "sfence"                                                     , "op": "[OP] NP 0F AE F8"}
    732     ]},
    733 
    734     {"category": "GP GP_EXT", "ext": "SSE2", "volatile": true, "instructions": [
    735       {"any": "lfence"                                                     , "op": "[OP] NP 0F AE E8"},
    736       {"any": "mfence"                                                     , "op": "[OP] NP 0F AE F0"},
    737       {"any": "movnti W:my, ry"                                            , "op": "[MR] NP 0F C3 /r"}
    738     ]},
    739 
    740     {"category": "GP GP_EXT CRYPTO_HASH", "ext": "SSE4_2", "instructions": [
    741       {"any": "crc32 X:r32, R:r8/m8"                                       , "op": "[RM] F2 0F 38 F0 /r"},
    742       {"any": "crc32 X:r32, R:r16/m16"                                     , "op": "[RM] 66 F2 0F 38 F1 /r"},
    743       {"any": "crc32 X:r32, R:r32/m32"                                     , "op": "[RM] F2 0F 38 F1 /r"},
    744       {"any": "crc32 X:r64, R:r8/m8"                                       , "op": "[RM] F2 REX.W 0F 38 F0 /r"},
    745       {"any": "crc32 X:r64, R:r64/m64"                                     , "op": "[RM] F2 REX.W 0F 38 F1 /r"}
    746     ]},
    747 
    748     {"category": "GP GP_EXT", "ext": "TSE", "volatile": true, "instructions": [
    749       {"x64": "pbndkb W:<rax>, R:<mem(ds:rbx)>, W:<mem(ds:rcx)>"           , "op": "NP 0F 01 C7"                    , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"}
    750     ]},
    751 
    752     {"category": "GP GP_EXT", "ext": "TSXLDTRK", "volatile": true, "instructions": [
    753       {"any": "xresldtrk"                                                  , "op": "F2 0F 01 E9"},
    754       {"any": "xsusldtrk"                                                  , "op": "F2 0F 01 E8"}
    755     ]},
    756 
    757     {"category": "GP GP_EXT", "ext": "UINTR", "volatile": true, "instructions": [
    758       {"x64": "uiret"                                                      , "op": "F3 0F 01 EC"},
    759       {"x64": "clui"                                                       , "op": "F3 0F 01 EE"},
    760       {"x64": "stui"                                                       , "op": "F3 0F 01 EF"},
    761       {"x64": "testui"                                                     , "op": "F3 0F 01 ED"                    , "io": "OF=0 SF=0 ZF=0 AF=0 PF=0 CF=W"},
    762       {"x64": "senduipi R:r64"                                             , "op": "[R ] F3 0F C7 /6"}
    763     ]},
    764 
    765     {"category": "GP GP_EXT", "ext": "WAITPKG", "volatile": true, "instructions": [
    766       {"any": "tpause R:r32, <edx>, <eax>"                                 , "op": "66 0F AE /6"                    , "io": "OF=0 SF=0 ZF=0 AF=0 PF=0 CF=W"},
    767       {"x86": "umonitor R:mem(ds:r32)"                                     , "op": "F3 0F AE /6"},
    768       {"x64": "umonitor R:mem(ds:r64)"                                     , "op": "F3 0F AE /6"},
    769       {"any": "umwait R:r32, <edx>, <eax>"                                 , "op": "F2 0F AE /6"                    , "io": "OF=0 SF=0 ZF=0 AF=0 PF=0 CF=W"}
    770     ]},
    771 
    772     {"category": "GP GP_EXT", "ext": "XSAVE", "volatile": true, "instructions": [
    773       {"any": "xgetbv W:<edx>, W:<eax>, R:<ecx>"                           , "op": "NP 0F 01 D0"                    , "io": "XCR=R"},
    774       {"any": "xrstor R:mem, <edx>, <eax>"                                 , "op": "NP 0F AE /5"                    , "io": "XCR=R"},
    775       {"any": "xrstor64 R:mem, <edx>, <eax>"                               , "op": "NP REX.W 0F AE /5"              , "io": "XCR=R"},
    776       {"any": "xsave W:mem, <edx>, <eax>"                                  , "op": "NP 0F AE /4"                    , "io": "XCR=R"},
    777       {"any": "xsave64 W:mem, <edx>, <eax>"                                , "op": "NP REX.W 0F AE /4"              , "io": "XCR=R"}
    778     ]},
    779 
    780     {"category": "GP GP_EXT", "ext": "XSAVEC", "volatile": true, "instructions": [
    781       {"any": "xsavec W:mem, <edx>, <eax>"                                 , "op": "NP 0F C7 /4"                    , "io": "XCR=R"},
    782       {"any": "xsavec64 W:mem, <edx>, <eax>"                               , "op": "NP REX.W 0F C7 /4"              , "io": "XCR=R"}
    783     ]},
    784 
    785     {"category": "GP GP_EXT", "ext": "XSAVEOPT", "volatile": true, "instructions": [
    786       {"any": "xsaveopt W:mem, <edx>, <eax>"                               , "op": "NP 0F AE /6"                    , "io": "XCR=R"},
    787       {"any": "xsaveopt64 W:mem, <edx>, <eax>"                             , "op": "NP REX.W 0F AE /6"              , "io": "XCR=R"}
    788     ]},
    789 
    790     {"category": "GP", "volatile": true, "instructions": [
    791       {"any": "cli"                                                        , "op": "FA"                             , "io": "IF=W"},
    792       {"any": "int imm8"                                                   , "op": "CD ib"},
    793       {"any": "int3"                                                       , "op": "CC"},
    794       {"any": "lar w:r16, R:r16/m16"                                       , "op": "[RM] 66 0F 02 /r"               , "io": "ZF=W"},
    795       {"any": "lar W:r32, R:r32/m16"                                       , "op": "[RM] 0F 02 /r"                  , "io": "ZF=W"},
    796       {"x86": "lds x:r16, m16_16"                                          , "op": "[RM] 66 C5 /r"},
    797       {"x86": "lds X:r32, m16_32"                                          , "op": "[RM] C5 /r"},
    798       {"x86": "les x:r16, m16_16"                                          , "op": "[RM] 66 C4 /r"},
    799       {"x86": "les X:r32, m16_32"                                          , "op": "[RM] C4 /r"},
    800       {"any": "lfs x:r16, m16_16"                                          , "op": "[RM] 66 0F B4 /r"},
    801       {"any": "lfs X:r32, m16_32"                                          , "op": "[RM] 0F B4 /r"},
    802       {"x64": "lfs X:r64, m16_64"                                          , "op": "[RM] REX.W 0F B4 /r"},
    803       {"any": "lgs x:r16, m16_16"                                          , "op": "[RM] 66 0F B5 /r"},
    804       {"any": "lgs X:r32, m16_32"                                          , "op": "[RM] 0F B5 /r"},
    805       {"x64": "lgs X:r64, m16_64"                                          , "op": "[RM] REX.W 0F B5 /r"},
    806       {"any": "lsl w:r16, R:r16/m16"                                       , "op": "[RM] 66 0F 03 /r"               , "io": "ZF=W"},
    807       {"any": "lsl W:r32, R:r32/m16"                                       , "op": "[RM] 0F 03 /r"                  , "io": "ZF=W"},
    808       {"x64": "lsl W:r64, R:r32/m16"                                       , "op": "[RM] REX.W 0F 03 /r"            , "io": "ZF=W"},
    809       {"any": "lss x:r16, m16_16"                                          , "op": "[RM] 66 0F B2 /r"},
    810       {"any": "lss X:r32, m16_32"                                          , "op": "[RM] 0F B2 /r"},
    811       {"x64": "lss X:r64, m16_64"                                          , "op": "[RM] REX.W 0F B2 /r"},
    812       {"any": "pause"                                                      , "op": "F3 90"},
    813       {"x86": "rsm"                                                        , "op": "0F AA"                          , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
    814       {"any": "sgdt W:mem"                                                 , "op": "0F 01 /0"},
    815       {"any": "sidt W:mem"                                                 , "op": "0F 01 /1"},
    816       {"any": "sldt w:r16/m16"                                             , "op": "66 0F 00 /0"},
    817       {"any": "sldt W:r32/m16"                                             , "op": "0F 00 /0"},
    818       {"x64": "sldt W:r64/m16"                                             , "op": "REX.W 0F 00 /0"},
    819       {"any": "smsw w:r16/m16"                                             , "op": "66 0F 01 /4"},
    820       {"any": "smsw W:r32/m16"                                             , "op": "0F 01 /4"},
    821       {"x64": "smsw W:r64/m16"                                             , "op": "REX.W 0F 01 /4"},
    822       {"any": "sti"                                                        , "op": "FB"                             , "io": "IF=1"},
    823       {"any": "str w:r16/m16"                                              , "op": "66 0F 00 /1"},
    824       {"any": "str W:r32/m16"                                              , "op": "0F 00 /1"},
    825       {"any": "str W:r64/m16"                                              , "op": "REX.W 0F 00 /1"},
    826       {"x64": "syscall"                                                    , "op": "0F 05"},
    827       {"any": "sysenter"                                                   , "op": "0F 34"},
    828       {"any": "verr R:r16/m16"                                             , "op": "0F 00 /4"                       , "io": "ZF=W"},
    829       {"any": "verw R:r16/m16"                                             , "op": "0F 00 /5"                       , "io": "ZF=W"},
    830       {"any": "xlatb"                                                      , "op": "D7"}
    831     ]},
    832 
    833     {"category": "GP", "deprecated": true, "instructions": [
    834       {"x86": "aaa x:<ax>"                                                 , "op": "37"                             , "io": "OF=U SF=U ZF=U AF=W PF=U CF=W"},
    835       {"x86": "aad x:<ax>, imm8"                                           , "op": "D5 ib"                          , "io": "OF=U SF=W ZF=W AF=U PF=W CF=U"},
    836       {"x86": "aam x:<ax>, imm8"                                           , "op": "D4 ib"                          , "io": "OF=U SF=W ZF=W AF=U PF=W CF=U"},
    837       {"x86": "aas x:<ax>"                                                 , "op": "3F"                             , "io": "OF=U SF=U ZF=U AF=W PF=U CF=W"},
    838       {"x86": "arpl x:r16/m16, R:r16"                                      , "op": "[MR] 63 /r"                     , "io": "ZF=W"},
    839       {"x86": "bound R:r16, R:m32"                                         , "op": "[RM] 66 62 /r"},
    840       {"x86": "bound R:r32, R:m64"                                         , "op": "[RM] 62 /r"},
    841       {"x86": "daa x:<ax>"                                                 , "op": "27"                             , "io": "OF=U SF=W ZF=W AF=W PF=W CF=W"},
    842       {"x86": "das x:<ax>"                                                 , "op": "2F"                             , "io": "OF=U SF=W ZF=W AF=W PF=W CF=W"},
    843       {"x86": "into"                                                       , "op": "CE"                             , "io": "OF=R"},
    844       {"x86": "popa"                                                       , "op": "66 61"},
    845       {"x86": "popad"                                                      , "op": "61"},
    846       {"x86": "pusha"                                                      , "op": "66 60"},
    847       {"x86": "pushad"                                                     , "op": "60"}
    848     ]},
    849 
    850     {"category": "GP GP_EXT", "ext": "MPX", "deprecated": true, "instructions": [
    851       {"x86": "bndcl R:bnd, r32/m32"                                       , "op": "[RM] F3 0F 1A /r"},
    852       {"x64": "bndcl R:bnd, r64/m64"                                       , "op": "[RM] F3 0F 1A /r"},
    853       {"x86": "bndcn R:bnd, r32/m32"                                       , "op": "[RM] F2 0F 1B /r"},
    854       {"x64": "bndcn R:bnd, r64/m64"                                       , "op": "[RM] F2 0F 1B /r"},
    855       {"x86": "bndcu R:bnd, r32/m32"                                       , "op": "[RM] F2 0F 1A /r"},
    856       {"x64": "bndcu R:bnd, r64/m64"                                       , "op": "[RM] F2 0F 1A /r"},
    857       {"any": "bndldx W:bnd, mib"                                          , "op": "[RM] 0F 1A /r"},
    858       {"any": "bndmk W:bnd, mem"                                           , "op": "[RM] F3 0F 1B /r"},
    859       {"any": "bndmov W:bnd, bnd/mem"                                      , "op": "[RM] 66 0F 1A /r"},
    860       {"any": "bndmov W:bnd/mem, bnd"                                      , "op": "[MR] 66 0F 1B /r"},
    861       {"any": "bndstx W:mib, bnd"                                          , "op": "[MR] 0F 1B /r"}
    862     ]},
    863 
    864     {"category": "GP GP_EXT", "ext": "TBM", "deprecated": true, "instructions": [
    865       {"any": "blci W:ry, ry/my"                                           , "op": "[VM ] XOP.LZ.MAP9.Wy 02 /6"},
    866       {"any": "blcic W:ry, ry/my"                                          , "op": "[VM ] XOP.LZ.MAP9.Wy 01 /5"},
    867       {"any": "blsic W:ry, ry/my"                                          , "op": "[VM ] XOP.LZ.MAP9.Wy 01 /6"},
    868       {"any": "blcfill W:ry, ry/my"                                        , "op": "[VM ] XOP.LZ.MAP9.Wy 01 /1"},
    869       {"any": "blsfill W:ry, ry/my"                                        , "op": "[VM ] XOP.LZ.MAP9.Wy 01 /2"},
    870       {"any": "blcmsk W:ry, ry/my"                                         , "op": "[VM ] XOP.LZ.MAP9.Wy 02 /1"},
    871       {"any": "blcs W:ry, ry/my"                                           , "op": "[VM ] XOP.LZ.MAP9.Wy 01 /3"},
    872       {"any": "tzmsk W:ry, ry/my"                                          , "op": "[VM ] XOP.LZ.MAP9.Wy 01 /4"},
    873       {"any": "t1mskc W:ry, ry/my"                                         , "op": "[VM ] XOP.LZ.MAP9.Wy 01 /7"}
    874     ]},
    875 
    876     {"category": "GP", "volatile": true, "privilege": "L0", "instructions": [
    877       {"any": "clts"                                                       , "op": "0F 06"},
    878       {"any": "hlt"                                                        , "op": "F4"},
    879       {"any": "lgdt R:mem"                                                 , "op": "0F 01 /2"},
    880       {"any": "lidt R:mem"                                                 , "op": "0F 01 /3"},
    881       {"any": "lldt R:r16/m16"                                             , "op": "0F 00 /2"},
    882       {"any": "lmsw R:r16/m16"                                             , "op": "0F 01 /6"},
    883       {"any": "ltr R:r16/m16"                                              , "op": "0F 00 /3"},
    884       {"any": "rdpmc W:<edx>, W:<eax>, R:<ecx>"                            , "op": "0F 33"},
    885       {"x64": "swapgs"                                                     , "op": "0F 01 F8"},
    886       {"any": "sysexit"                                                    , "op": "0F 35"},
    887       {"any": "sysexitq"                                                   , "op": "REX.W 0F 35"},
    888       {"x64": "sysret"                                                     , "op": "0F 07"},
    889       {"x64": "sysretq"                                                    , "op": "REX.W 0F 07"}
    890     ]},
    891 
    892     {"category": "GP", "ext": "I486", "volatile": true, "privilege": "L0", "instructions": [
    893       {"any": "invd"                                                       , "op": "[OP] 0F 08"},
    894       {"any": "invlpg R:mem"                                               , "op": "[M ] 0F 01 /7"},
    895       {"x86": "invpcid R:r32, R:m128"                                      , "op": "[RM] 66 0F 38 82 /r"},
    896       {"x64": "invpcid R:r64, R:m128"                                      , "op": "[RM] 66 0F 38 82 /r"},
    897       {"apx": "invpcid R:r64, R:m128"                                      , "op": "[RM] EVEX.ND=0.LLZ.F3.MAP4.WIG F2 !(11):rrr:bbb"},
    898       {"any": "wbinvd"                                                     , "op": "[OP] 0F 09"}
    899     ]},
    900 
    901     {"category": "GP GP_EXT", "ext": "CET_IBT", "volatile": true, "privilege": "L0", "instructions": [
    902       {"any": "endbr32"                                                    , "op": "F3 0F 1E FB"},
    903       {"any": "endbr64"                                                    , "op": "F3 0F 1E FA"}
    904     ]},
    905 
    906     {"category": "GP GP_EXT", "ext": "CET_SS", "volatile": true, "privilege": "L0", "instructions": [
    907       {"any": "clrssbsy R:m64"                                             , "op": "F3 0F AE /6"                               , "io": "OF=0 SF=0 ZF=0 AF=0 PF=0 CF=W"},
    908       {"any": "setssbsy"                                                   , "op": "F3 0F 01 E8"},
    909       {"any": "wrssd  W:m32, R:r32"                                        , "op": "[MR] 0F 38 F6 !(11):rrr:bbb"},
    910       {"apx": "wrssd  W:m32, R:r32"                                        , "op": "[MR] EVEX.ND=0.LLZ.NP.MAP4.W0 66 !(11):rrr:bbb"},
    911       {"x64": "wrssq  W:m64, R:r64"                                        , "op": "[MR] REX.W 0F 38 F6 !(11):rrr:bbb"},
    912       {"apx": "wrssq  W:m64, R:r64"                                        , "op": "[MR] EVEX.ND=0.LLZ.NP.MAP4.W1 66 !(11):rrr:bbb"},
    913       {"any": "wrussd W:m32, R:r32"                                        , "op": "[MR] 66 0F 38 F5 !(11):rrr:bbb"},
    914       {"apx": "wrussd W:m32, R:r32"                                        , "op": "[MR] EVEX.ND=0.LLZ.66.MAP4.W0 65 !(11):rrr:bbb"},
    915       {"x64": "wrussq W:m64, R:r64"                                        , "op": "[MR] REX.W 66 0F 38 F5 !(11):rrr:bbb"},
    916       {"apx": "wrussq W:m64, R:r64"                                        , "op": "[MR] EVEX.ND=0.LLZ.66.MAP4.W1 65 !(11):rrr:bbb"}
    917 
    918     ]},
    919 
    920     {"category": "GP GP_EXT", "ext": "HRESET", "volatile": true, "privilege": "L0", "instructions": [
    921       {"any": "hreset imm8, W:<eax>"                                      , "op": "F3 0F 3A F0 /0 ib"}
    922     ]},
    923 
    924     {"category": "GP GP_EXT", "ext": "MONITOR", "volatile": true, "privilege": "L0", "instructions": [
    925       {"any": "monitor R:<mem(ds:zax)>, R:<ecx>, R:<edx>"                  , "op": "0F 01 C8"},
    926       {"any": "mwait R:<eax>, R:<ecx>"                                     , "op": "0F 01 C9"}
    927     ]},
    928 
    929     {"category": "GP GP_EXT", "ext": "MSR", "volatile": true, "privilege": "L0", "instructions": [
    930       {"any": "rdmsr W:<edx>, W:<eax>, R:<ecx>"                            , "op": "0F 32"                          , "io": "MSR=R"},
    931       {"any": "wrmsr R:<edx>, R:<eax>, R:<ecx>"                            , "op": "0F 30"                          , "io": "MSR=W"}
    932     ]},
    933 
    934     {"category": "GP GP_EXT", "ext": "MSR_IMM", "volatile": true, "privilege": "L0", "instructions": [
    935       {"x64": "rdmsr W:r64, R:imm32"                                       , "op": "[M  ] VEX.128.F2.MAP7.W0 F6 11:000:bbb id" , "io": "MSR=R"},
    936       {"apx": "rdmsr W:r64, R:imm32"                                       , "op": "[M  ] EVEX.128.F2.MAP7.W0 F6 11:000:bbb id", "io": "MSR=R"},
    937       {"x64": "wrmsrns imm32, R:r64"                                       , "op": "[M  ] VEX.128.F3.MAP7.W0 F6 11:000:bbb id" , "io": "MSR=W"},
    938       {"apx": "wrmsrns imm32, R:r64"                                       , "op": "[M  ] EVEX.128.F3.MAP7.W0 F6 11:000:bbb id", "io": "MSR=W"}
    939     ]},
    940 
    941     {"category": "GP GP_EXT", "ext": "MSRLIST", "volatile": true, "privilege": "L0", "instructions": [
    942       {"x64": "rdmsrlist R:<mem(ds:rsi)>, W:<mem(ds:rdi)>, X:<rcx>"        , "op": "[OP] F2 0F 01 C6"               , "io": "MSR=R"},
    943       {"x64": "wrmsrlist R:<mem(ds:rsi)>, R:<mem(ds:rdi)>, X:<rcx>"        , "op": "[OP] F3 0F 01 C6"               , "io": "MSR=W"}
    944     ]},
    945 
    946     {"category": "GP GP_EXT", "ext": "SMX", "volatile": true, "privilege": "L0", "instructions": [
    947       {"any": "getsec W:<eax>, R:<ebx>"                                    , "op": "[OP] NP 0F 37"}
    948     ]},
    949 
    950     {"category": "GP GP_EXT", "ext": "WBNOINVD", "volatile": true, "privilege": "L0", "instructions": [
    951       {"any": "wbnoinvd"                                                   , "op": "[OP] F3 0F 09"}
    952     ]},
    953 
    954     {"category": "GP GP_EXT", "ext": "WRMSRNS", "volatile": true, "privilege": "L0", "instructions": [
    955       {"any": "wrmsrns R:<edx>, R:<eax>, R:<ecx>"                          , "op": "[OP] NP 0F 01 C6"               , "io": "MSR=W"}
    956     ]},
    957 
    958     {"category": "GP GP_EXT", "ext": "XSAVE", "volatile": true, "privilege": "L0", "instructions": [
    959       {"any": "xsetbv R:<edx>, R:<eax>, R:<ecx>"                           , "op": "[OP] NP 0F 01 D1"               , "io": "XCR=W"}
    960     ]},
    961 
    962     {"category": "GP GP_EXT", "ext": "XSAVES", "volatile": true, "privilege": "L0", "instructions": [
    963       {"any": "xrstors R:mem, <edx>, <eax>"                                , "op": "[M ] NP 0F C7 /3"               , "io": "XCR=R"},
    964       {"any": "xrstors64 R:mem, <edx>, <eax>"                              , "op": "[M ] NP REX.W 0F C7 /3"         , "io": "XCR=R"},
    965       {"any": "xsaves W:mem, <edx>, <eax>"                                 , "op": "[M ] NP 0F C7 /5"               , "io": "XCR=R"},
    966       {"any": "xsaves64 W:mem, <edx>, <eax>"                               , "op": "[M ] NP REX.W 0F C7 /5"         , "io": "XCR=R"}
    967     ]},
    968 
    969     {"category": "VIRTUALIZATION", "ext": "SMAP", "volatile": true, "instructions": [
    970       {"any": "clac"                                                       , "op": "[OP] NP 0F 01 CA"               , "ext": "SMAP"    , "privilege": "L0", "io": "AC=0"},
    971       {"any": "stac"                                                       , "op": "[OP] NP 0F 01 CB"               , "ext": "SMAP"    , "privilege": "L0", "io": "AC=1"}
    972     ]},
    973 
    974     {"category": "VIRTUALIZATION", "ext": "VMX", "volatile": true, "instructions": [
    975       {"x86": "invept R:r32, R:m128"                                       , "op": "[RM] 66 0F 38 80 /r"                               , "privilege": "L0"},
    976       {"x64": "invept R:r64, R:m128"                                       , "op": "[RM] 66 0F 38 80 /r"                               , "privilege": "L0"},
    977       {"apx": "invept R:r64, R:m128"                                       , "op": "[RM] EVEX.ND=0.LLZ.F3.MAP4.WIG F0 !(11):rrr:bbb"   , "privilege": "L0"},
    978       {"x86": "invvpid R:r32, R:m128"                                      , "op": "[RM] 66 0F 38 81 /r"                               , "privilege": "L0"},
    979       {"x64": "invvpid R:r64, R:m128"                                      , "op": "[RM] 66 0F 38 81 /r"                               , "privilege": "L0"},
    980       {"apx": "invvpid R:r64, R:m128"                                      , "op": "[RM] EVEX.ND=0.LLZ.F3.MAP4.WIG F1 !(11):rrr:bbb"   , "privilege": "L0"},
    981       {"any": "vmcall"                                                     , "op": "[OP] 0F 01 C1"                                     , "privilege": "L0"},
    982       {"any": "vmclear R:m64"                                              , "op": "[M ] 66 0F C7 /6"                                  , "privilege": "L0"},
    983       {"any": "vmfunc"                                                     , "op": "[OP] NP 0F 01 D4"                                  , "privilege": "L0"},
    984       {"any": "vmlaunch"                                                   , "op": "[OP] 0F 01 C2"                                     , "privilege": "L0"},
    985       {"any": "vmptrld R:m64"                                              , "op": "[M ] NP 0F C7 /6"                                  , "privilege": "L0"},
    986       {"any": "vmptrst W:m64"                                              , "op": "[M ] NP 0F C7 /7"                                  , "privilege": "L0"},
    987       {"x86": "vmread W:r32/m32, R:r32"                                    , "op": "[MR] NP 0F 78 /r"                                  , "privilege": "L0"},
    988       {"x64": "vmread W:r64/m64, R:r64"                                    , "op": "[MR] NP 0F 78 /r"                                  , "privilege": "L0"},
    989       {"any": "vmresume"                                                   , "op": "[OP] 0F 01 C3"                                     , "privilege": "L0"},
    990       {"x86": "vmwrite R:r32, R:r32/m32"                                   , "op": "[RM] NP 0F 79 /r"                                  , "privilege": "L0"},
    991       {"x64": "vmwrite R:r64, R:r64/m64"                                   , "op": "[RM] NP 0F 79 /r"                                  , "privilege": "L0"},
    992       {"any": "vmxoff"                                                     , "op": "[OP] 0F 01 C4"                                     , "privilege": "L0"},
    993       {"any": "vmxon R:m64"                                                , "op": "[M ] F3 0F C7 /6"                                  , "privilege": "L0"}
    994     ]},
    995 
    996     {"category": "VIRTUALIZATION", "ext": "SEAM", "volatile": true, "instructions": [
    997       {"any": "seamcall"                                                   , "op": "[OP] 66 0F 01 CF"               , "ext": "SEAM"},
    998       {"any": "seamops"                                                    , "op": "[OP] 66 0F 01 CE"               , "ext": "SEAM"},
    999       {"any": "seamret"                                                    , "op": "[OP] 66 0F 01 CD"               , "ext": "SEAM"},
   1000       {"any": "tdcall"                                                     , "op": "[OP] 66 0F 01 CC"               , "ext": "SEAM"}
   1001     ]},
   1002 
   1003     {"category": "VIRTUALIZATION", "ext": "ENQCMD", "volatile": true, "instructions": [
   1004       {"x86": "enqcmd W:m512(es:r32), m512"                                , "op": "[RM] F2 0F 38 F8 !(11):rrr:bbb"                    , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
   1005       {"x64": "enqcmd W:m512(es:r64), m512"                                , "op": "[RM] F2 0F 38 F8 !(11):rrr:bbb"                    , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
   1006       {"apx": "enqcmd  W:m512(es:r64), R:m512"                             , "op": "[RM] EVEX.ND=0.LLZ.F2.MAP4.W? F8 !(11):rrr:bbb"    , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
   1007       {"x86": "enqcmds W:m512(es:r32), m512"                               , "op": "[RM] F3 0F 38 F8 !(11):rrr:bbb"                    , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
   1008       {"x64": "enqcmds W:m512(es:r64), m512"                               , "op": "[RM] F3 0F 38 F8 !(11):rrr:bbb"                    , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
   1009       {"apx": "enqcmds W:m512(es:r64), R:m512"                             , "op": "[RM] EVEX.ND=0.LLZ.F3.MAP4.W? F8 !(11):rrr:bbb"    , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"}
   1010     ]},
   1011 
   1012 
   1013     {"category": "VIRTUALIZATION", "volatile": true, "instructions": [
   1014       {"any": "clgi"                                                       , "op": "0F 01 DD"                       , "ext": "SVM"     , "privilege": "L0"},
   1015       {"x86": "invlpga R:<eax>, R:<ecx>"                                   , "op": "0F 01 DF"                       , "ext": "SVM"     , "privilege": "L0"},
   1016       {"x64": "invlpga R:<eax>, R:<ecx>"                                   , "op": "67 0F 01 DF"                    , "ext": "SVM"     , "privilege": "L0"},
   1017       {"x64": "invlpga R:<rax>, R:<ecx>"                                   , "op": "0F 01 DF"                       , "ext": "SVM"     , "privilege": "L0"},
   1018       {"x86": "invlpgb R:<eax>, R:<edx>, R:<ecx>"                          , "op": "0F 01 FE"                       , "ext": "INVLPGB" , "privilege": "L0"},
   1019       {"x64": "invlpgb R:<eax>, R:<edx>, R:<ecx>"                          , "op": "67 0F 01 FE"                    , "ext": "INVLPGB" , "privilege": "L0"},
   1020       {"x64": "invlpgb R:<rax>, R:<edx>, R:<ecx>"                          , "op": "0F 01 FE"                       , "ext": "INVLPGB" , "privilege": "L0"},
   1021       {"x64": "psmash"                                                     , "op": "F3 0F 01 FF"                    , "ext": "SEV_SNP" , "io": "OF=W SF=W ZF=W AF=W PF=W"},
   1022       {"any": "pvalidate"                                                  , "op": "F2 0F 01 FF"                    , "ext": "SEV_SNP" , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   1023       {"x64": "rmpadjust"                                                  , "op": "F3 0F 01 FE"                    , "ext": "SEV_SNP" , "io": "OF=W SF=W ZF=W AF=W PF=W"},
   1024       {"x64": "rmpquery R:<rax>, W:<rcx>, W:<rdx>"                         , "op": "F3 0F 01 FD"                    , "ext": "RMPQUERY", "io": "OF=W SF=W ZF=W AF=W PF=W"},
   1025       {"x64": "rmpupdate"                                                  , "op": "F2 0F 01 FE"                    , "ext": "SEV_SNP" , "io": "OF=W SF=W ZF=W AF=W PF=W"},
   1026       {"any": "skinit X:<eax>"                                             , "op": "0F 01 DE"                       , "ext": "SKINIT"},
   1027       {"any": "stgi"                                                       , "op": "0F 01 DC"                       , "ext": "SKINIT"},
   1028       {"any": "tlbsync"                                                    , "op": "0F 01 FF"                       , "ext": "INVLPGB" , "privilege": "L0"},
   1029       {"any": "vmgexit"                                                    , "op": "F2 0F 01 D9"                    , "ext": "SEV_ES"},
   1030       {"x86": "vmload R:<eax>"                                             , "op": "0F 01 DA"                       , "ext": "SVM"     , "privilege": "L0"},
   1031       {"x64": "vmload R:<rax>"                                             , "op": "0F 01 DA"                       , "ext": "SVM"     , "privilege": "L0"},
   1032       {"any": "vmmcall"                                                    , "op": "0F 01 D9"                       , "ext": "SVM"},
   1033       {"x86": "vmrun X:<eax>"                                              , "op": "0F 01 D8"                       , "ext": "SVM"     , "privilege": "L0"},
   1034       {"x64": "vmrun X:<rax>"                                              , "op": "0F 01 D8"                       , "ext": "SVM"     , "privilege": "L0"},
   1035       {"x86": "vmsave R:<eax>"                                             , "op": "0F 01 DB"                       , "ext": "SVM"     , "privilege": "L0"},
   1036       {"x64": "vmsave R:<rax>"                                             , "op": "0F 01 DB"                       , "ext": "SVM"     , "privilege": "L0"}
   1037     ]},
   1038 
   1039     {"category": "FPU", "ext": "FPU", "instructions": [
   1040       {"any": "f2xm1"                                                      , "op": "D9 F0"                          , "io": "C0=U C1=W C2=U C3=U"},
   1041       {"any": "fabs"                                                       , "op": "D9 E1"                          , "io": "C0=U C1=0 C2=U C3=U"},
   1042       {"any": "fadd R:m32fp"                                               , "op": "D8 /0"                          , "io": "C0=U C1=W C2=U C3=U"},
   1043       {"any": "fadd R:m64fp"                                               , "op": "DC /0"                          , "io": "C0=U C1=W C2=U C3=U"},
   1044       {"any": "fadd st(0), st(i)"                                          , "op": "D8 C0+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1045       {"any": "fadd st(i), st(0)"                                          , "op": "DC C0+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1046       {"any": "faddp"                                                      , "op": "DE C1"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1047       {"any": "faddp st(i)"                                                , "op": "DE C0+i"                        , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1048       {"any": "fbld R:m80dec"                                              , "op": "DF /4"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1049       {"any": "fbstp W:m80bcd"                                             , "op": "DF /6"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1050       {"any": "fchs"                                                       , "op": "D9 E0"                          , "io": "C0=U C1=0 C2=U C3=U"},
   1051       {"any": "fclex"                                                      , "op": "9B DB E2"                       , "io": "C0=U C1=U C2=U C3=U"},
   1052       {"any": "fcom"                                                       , "op": "D8 D1"                          , "io": "C0=W C1=0 C2=W C3=W"},
   1053       {"any": "fcom R:m32fp"                                               , "op": "D8 /2"                          , "io": "C0=W C1=0 C2=W C3=W"},
   1054       {"any": "fcom R:m64fp"                                               , "op": "DC /2"                          , "io": "C0=W C1=0 C2=W C3=W"},
   1055       {"any": "fcom R:st(i)"                                               , "op": "D8 D0+i"                        , "io": "C0=W C1=0 C2=W C3=W"},
   1056       {"any": "fcomi R:st(i)"                                              , "op": "DB F0+i"                        , "io": "C1=0 ZF=W PF=W CF=W"},
   1057       {"any": "fcomip R:st(i)"                                             , "op": "DF F0+i"                        , "io": "C1=0 ZF=W PF=W CF=W", "fpuStack": "pop"},
   1058       {"any": "fcomp"                                                      , "op": "D8 D9"                          , "io": "C0=W C1=W C2=W C3=W", "fpuStack": "pop"},
   1059       {"any": "fcomp R:m32fp"                                              , "op": "D8 /3"                          , "io": "C0=W C1=W C2=W C3=W", "fpuStack": "pop"},
   1060       {"any": "fcomp R:m64fp"                                              , "op": "DC /3"                          , "io": "C0=W C1=W C2=W C3=W", "fpuStack": "pop"},
   1061       {"any": "fcomp R:st(i)"                                              , "op": "D8 D8+i"                        , "io": "C0=W C1=W C2=W C3=W", "fpuStack": "pop"},
   1062       {"any": "fcompp"                                                     , "op": "DE D9"                          , "io": "C0=W C1=W C2=W C3=W", "fpuStack": "pop2x"},
   1063       {"any": "fcos"                                                       , "op": "D9 FF"                          , "io": "C0=U C1=W C2=W C3=U"},
   1064       {"any": "fdecstp"                                                    , "op": "D9 F6"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "dec"},
   1065       {"any": "fdiv R:m32fp"                                               , "op": "D8 /6"                          , "io": "C0=U C1=W C2=U C3=U"},
   1066       {"any": "fdiv R:m64fp"                                               , "op": "DC /6"                          , "io": "C0=U C1=W C2=U C3=U"},
   1067       {"any": "fdiv st(0), st(i)"                                          , "op": "D8 F0+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1068       {"any": "fdiv st(i), st(0)"                                          , "op": "DC F8+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1069       {"any": "fdivp"                                                      , "op": "DE F9"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1070       {"any": "fdivp st(i)"                                                , "op": "DE F8+i"                        , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1071       {"any": "fdivr R:m32fp"                                              , "op": "D8 /7"                          , "io": "C0=U C1=W C2=U C3=U"},
   1072       {"any": "fdivr R:m64fp"                                              , "op": "DC /7"                          , "io": "C0=U C1=W C2=U C3=U"},
   1073       {"any": "fdivr st(0), st(i)"                                         , "op": "D8 F8+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1074       {"any": "fdivr st(i), st(0)"                                         , "op": "DC F0+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1075       {"any": "fdivrp"                                                     , "op": "DE F1"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1076       {"any": "fdivrp st(i)"                                               , "op": "DE F0+i"                        , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1077       {"any": "ffree st(i)"                                                , "op": "DD C0+i"                        , "io": "C0=U C1=U C2=U C3=U"},
   1078       {"any": "fiadd R:m16int"                                             , "op": "DE /0"                          , "io": "C0=U C1=W C2=U C3=U"},
   1079       {"any": "fiadd R:m32int"                                             , "op": "DA /0"                          , "io": "C0=U C1=W C2=U C3=U"},
   1080       {"any": "ficom R:m16int"                                             , "op": "DE /2"                          , "io": "C0=W C1=0 C2=W C3=W"},
   1081       {"any": "ficom R:m32int"                                             , "op": "DA /2"                          , "io": "C0=W C1=0 C2=W C3=W"},
   1082       {"any": "ficomp R:m16int"                                            , "op": "DE /3"                          , "io": "C0=W C1=0 C2=W C3=W"},
   1083       {"any": "ficomp R:m32int"                                            , "op": "DA /3"                          , "io": "C0=W C1=0 C2=W C3=W"},
   1084       {"any": "fidiv R:m16int"                                             , "op": "DE /6"                          , "io": "C0=U C1=W C2=U C3=U"},
   1085       {"any": "fidiv R:m32int"                                             , "op": "DA /6"                          , "io": "C0=U C1=W C2=U C3=U"},
   1086       {"any": "fidivr R:m16int"                                            , "op": "DE /7"                          , "io": "C0=U C1=W C2=U C3=U"},
   1087       {"any": "fidivr R:m32int"                                            , "op": "DA /7"                          , "io": "C0=U C1=W C2=U C3=U"},
   1088       {"any": "fild R:m16int"                                              , "op": "DF /0"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1089       {"any": "fild R:m32int"                                              , "op": "DB /0"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1090       {"any": "fild R:m64int"                                              , "op": "DF /5"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1091       {"any": "fimul R:m16int"                                             , "op": "DE /1"                          , "io": "C0=U C1=W C2=U C3=U"},
   1092       {"any": "fimul R:m32int"                                             , "op": "DA /1"                          , "io": "C0=U C1=W C2=U C3=U"},
   1093       {"any": "fincstp"                                                    , "op": "D9 F7"                          , "io": "C0=U C1=0 C2=U C3=U", "fpuStack": "inc"},
   1094       {"any": "finit"                                                      , "op": "9B DB E3"                       , "io": "C0=0 C1=0 C2=0 C3=0"},
   1095       {"any": "fist W:m16int"                                              , "op": "DF /2"                          , "io": "C0=U C1=W C2=U C3=U"},
   1096       {"any": "fist W:m32int"                                              , "op": "DB /2"                          , "io": "C0=U C1=W C2=U C3=U"},
   1097       {"any": "fistp W:m16int"                                             , "op": "DF /3"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1098       {"any": "fistp W:m32int"                                             , "op": "DB /3"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1099       {"any": "fistp W:m64int"                                             , "op": "DF /7"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1100       {"any": "fisub R:m16int"                                             , "op": "DE /4"                          , "io": "C0=U C1=W C2=U C3=U"},
   1101       {"any": "fisub R:m32int"                                             , "op": "DA /4"                          , "io": "C0=U C1=W C2=U C3=U"},
   1102       {"any": "fisubr R:m16int"                                            , "op": "DE /5"                          , "io": "C0=U C1=W C2=U C3=U"},
   1103       {"any": "fisubr R:m32int"                                            , "op": "DA /5"                          , "io": "C0=U C1=W C2=U C3=U"},
   1104       {"any": "fld R:m32fp"                                                , "op": "D9 /0"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1105       {"any": "fld R:m64fp"                                                , "op": "DD /0"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1106       {"any": "fld R:m80fp"                                                , "op": "DB /5"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1107       {"any": "fld R:st(i)"                                                , "op": "D9 C0+i"                        , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1108       {"any": "fld1"                                                       , "op": "D9 E8"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1109       {"any": "fldcw R:m16"                                                , "op": "D9 /5"                          , "io": "C0=U C1=U C2=U C3=U"},
   1110       {"any": "fldenv R:mem"                                               , "op": "D9 /4"                          , "io": "C0=W C1=W C2=W C3=W"},
   1111       {"any": "fldl2e"                                                     , "op": "D9 EA"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1112       {"any": "fldl2t"                                                     , "op": "D9 E9"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1113       {"any": "fldlg2"                                                     , "op": "D9 EC"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1114       {"any": "fldln2"                                                     , "op": "D9 ED"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1115       {"any": "fldpi"                                                      , "op": "D9 EB"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1116       {"any": "fldz"                                                       , "op": "D9 EE"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1117       {"any": "fmul R:m32fp"                                               , "op": "D8 /1"                          , "io": "C0=U C1=W C2=U C3=U"},
   1118       {"any": "fmul R:m64fp"                                               , "op": "DC /1"                          , "io": "C0=U C1=W C2=U C3=U"},
   1119       {"any": "fmul st(0), st(i)"                                          , "op": "D8 C8+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1120       {"any": "fmul st(i), st(0)"                                          , "op": "DC C8+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1121       {"any": "fmulp"                                                      , "op": "DE C9"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1122       {"any": "fmulp st(i)"                                                , "op": "DE C8+i"                        , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1123       {"any": "fnclex"                                                     , "op": "DB E2"                          , "io": "C0=U C1=U C2=U C3=U"},
   1124       {"any": "fninit"                                                     , "op": "DB E3"                          , "io": "C0=0 C1=0 C2=0 C3=0"},
   1125       {"any": "fnop"                                                       , "op": "D9 D0"                          , "io": "C0=U C1=U C2=U C3=U"},
   1126       {"any": "fnsave W:mem"                                               , "op": "DD /6"                          , "io": "C0=W C1=W C2=W C3=W"},
   1127       {"any": "fnstcw W:m16"                                               , "op": "D9 /7"                          , "io": "C0=U C1=U C2=U C3=U"},
   1128       {"any": "fnstenv W:mem"                                              , "op": "D9 /6"                          , "io": "C0=U C1=U C2=U C3=U"},
   1129       {"any": "fnstsw w:ax"                                                , "op": "DF E0"                          , "io": "C0=U C1=U C2=U C3=U"},
   1130       {"any": "fnstsw W:m16"                                               , "op": "DD /7"                          , "io": "C0=U C1=U C2=U C3=U"},
   1131       {"any": "fpatan"                                                     , "op": "D9 F3"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1132       {"any": "fprem"                                                      , "op": "D9 F8"                          , "io": "C0=U C1=W C2=U C3=U"},
   1133       {"any": "fprem1"                                                     , "op": "D9 F5"                          , "io": "C0=W C1=W C2=W C3=W"},
   1134       {"any": "fptan"                                                      , "op": "D9 F2"                          , "io": "C0=U C1=W C2=W C3=U", "fpuStack": "pop"},
   1135       {"any": "frndint"                                                    , "op": "D9 FC"                          , "io": "C0=U C1=W C2=U C3=U"},
   1136       {"any": "frstor R:mem"                                               , "op": "DD /4"                          , "io": "C0=W C1=W C2=W C3=W"},
   1137       {"any": "fsave W:mem"                                                , "op": "9B DD /6"                       , "io": "C0=W C1=W C2=W C3=W"},
   1138       {"any": "fscale"                                                     , "op": "D9 FD"                          , "io": "C0=U C1=W C2=U C3=U"},
   1139       {"any": "fsin"                                                       , "op": "D9 FE"                          , "io": "C0=U C1=W C2=W C3=U"},
   1140       {"any": "fsincos"                                                    , "op": "D9 FB"                          , "io": "C0=U C1=W C2=W C3=U", "fpuStack": "push"},
   1141       {"any": "fsqrt"                                                      , "op": "D9 FE"                          , "io": "C0=U C1=W C2=U C3=U"},
   1142       {"any": "fst W:m32fp"                                                , "op": "D9 /2"                          , "io": "C0=U C1=W C2=U C3=U"},
   1143       {"any": "fst W:m64fp"                                                , "op": "DD /2"                          , "io": "C0=U C1=W C2=U C3=U"},
   1144       {"any": "fst W:st(i)"                                                , "op": "DD D0+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1145       {"any": "fstcw W:m16"                                                , "op": "9B D9 /7"                       , "io": "C0=U C1=U C2=U C3=U"},
   1146       {"any": "fstenv W:mem"                                               , "op": "9B D9 /6"                       , "io": "C0=U C1=U C2=U C3=U"},
   1147       {"any": "fstp W:m32fp"                                               , "op": "D9 /3"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1148       {"any": "fstp W:m64fp"                                               , "op": "DD /3"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1149       {"any": "fstp W:m80fp"                                               , "op": "DB /7"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1150       {"any": "fstp W:st(i)"                                               , "op": "DD D8+i"                        , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1151       {"any": "fstsw w:ax"                                                 , "op": "9B DF E0"                       , "io": "C0=U C1=U C2=U C3=U"},
   1152       {"any": "fstsw W:m16"                                                , "op": "9B DD /7"                       , "io": "C0=U C1=U C2=U C3=U"},
   1153       {"any": "fsub R:m32fp"                                               , "op": "D8 /4"                          , "io": "C0=U C1=W C2=U C3=U"},
   1154       {"any": "fsub R:m64fp"                                               , "op": "DC /4"                          , "io": "C0=U C1=W C2=U C3=U"},
   1155       {"any": "fsub st(0), st(i)"                                          , "op": "D8 E0+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1156       {"any": "fsub st(i), st(0)"                                          , "op": "DC E8+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1157       {"any": "fsubp"                                                      , "op": "DE E9"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1158       {"any": "fsubp st(i)"                                                , "op": "DE E8+i"                        , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1159       {"any": "fsubr R:m32fp"                                              , "op": "D8 /5"                          , "io": "C0=U C1=W C2=U C3=U"},
   1160       {"any": "fsubr R:m64fp"                                              , "op": "DC /5"                          , "io": "C0=U C1=W C2=U C3=U"},
   1161       {"any": "fsubr st(0), st(i)"                                         , "op": "D8 E8+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1162       {"any": "fsubr st(i), st(0)"                                         , "op": "DC E0+i"                        , "io": "C0=U C1=W C2=U C3=U"},
   1163       {"any": "fsubrp"                                                     , "op": "DE E1"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1164       {"any": "fsubrp st(i)"                                               , "op": "DE E0+i"                        , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1165       {"any": "ftst"                                                       , "op": "D9 E4"                          , "io": "C0=W C1=0 C2=W C3=W"},
   1166       {"any": "fucom"                                                      , "op": "DD E1"                          , "io": "C0=W C1=0 C2=W C3=W"},
   1167       {"any": "fucom R:st(i)"                                              , "op": "DD E0+i"                        , "io": "C0=W C1=0 C2=W C3=W"},
   1168       {"any": "fucomi R:st(i)"                                             , "op": "DB E8+i"                        , "io": "C1=0 ZF=W PF=W CF=W"},
   1169       {"any": "fucomip R:st(i)"                                            , "op": "DF E8+i"                        , "io": "C1=0 ZF=W PF=W CF=W", "fpuStack": "pop"},
   1170       {"any": "fucomp"                                                     , "op": "DD E9"                          , "io": "C0=W C1=W C2=W C3=W", "fpuStack": "pop"},
   1171       {"any": "fucomp R:st(i)"                                             , "op": "DD E8+i"                        , "io": "C0=W C1=W C2=W C3=W", "fpuStack": "pop"},
   1172       {"any": "fucompp"                                                    , "op": "DA E9"                          , "io": "C0=W C1=W C2=W C3=W", "fpuStack": "pop2x"},
   1173       {"any": "fwait"                                                      , "op": "9B"                             , "io": "C0=U C1=U C2=U C3=U"},
   1174       {"any": "fxam"                                                       , "op": "D9 E5"                          , "io": "C0=W C1=W C2=W C3=W"},
   1175       {"any": "fxch"                                                       , "op": "D9 C9"                          , "io": "C0=U C1=0 C2=U C3=U"},
   1176       {"any": "fxch st(i)"                                                 , "op": "D9 C8+i"                        , "io": "C0=U C1=0 C2=U C3=U"},
   1177       {"any": "fxtract"                                                    , "op": "D9 F4"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "push"},
   1178       {"any": "fyl2x"                                                      , "op": "D9 F1"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"},
   1179       {"any": "fyl2xp1"                                                    , "op": "D9 F9"                          , "io": "C0=U C1=W C2=U C3=U", "fpuStack": "pop"}
   1180     ]},
   1181 
   1182     {"category": "FPU", "ext": "FPU CMOV", "instructions": [
   1183       {"any": "fcmovb st(i)"                                               , "op": "DA C0+i"                        , "io": "C0=U C1=W C2=U C3=U CF=R"     },
   1184       {"any": "fcmovbe st(i)"                                              , "op": "DA D0+i"                        , "io": "C0=U C1=W C2=U C3=U CF=R ZF=R"},
   1185       {"any": "fcmove st(i)"                                               , "op": "DA C8+i"                        , "io": "C0=U C1=W C2=U C3=U ZF=R"     },
   1186       {"any": "fcmovnb st(i)"                                              , "op": "DB C0+i"                        , "io": "C0=U C1=W C2=U C3=U CF=R"     },
   1187       {"any": "fcmovnbe st(i)"                                             , "op": "DB D0+i"                        , "io": "C0=U C1=W C2=U C3=U CF=R ZF=R"},
   1188       {"any": "fcmovne st(i)"                                              , "op": "DB C8+i"                        , "io": "C0=U C1=W C2=U C3=U ZF=R"     },
   1189       {"any": "fcmovnu st(i)"                                              , "op": "DB D8+i"                        , "io": "C0=U C1=W C2=U C3=U PF=R"     },
   1190       {"any": "fcmovu st(i)"                                               , "op": "DA D8+i"                        , "io": "C0=U C1=W C2=U C3=U PF=R"     }
   1191     ]},
   1192 
   1193     {"category": "FPU", "ext": "FPU SSE3", "instructions": [
   1194       {"any": "fisttp W:m16int"                                            , "op": "DF /1"                          , "io": "C0=U C1=0 C2=U C3=U", "fpuStack": "pop"},
   1195       {"any": "fisttp W:m32int"                                            , "op": "DB /1"                          , "io": "C0=U C1=0 C2=U C3=U", "fpuStack": "pop"},
   1196       {"any": "fisttp W:m64int"                                            , "op": "DD /1"                          , "io": "C0=U C1=0 C2=U C3=U", "fpuStack": "pop"}
   1197     ]},
   1198 
   1199     {"category": "MMX STATE", "deprecated": true, "volatile": true, "instructions": [
   1200       {"any": "emms"                                                       , "op": "[OP] 0F 77"                     , "ext": "MMX"},
   1201       {"any": "femms"                                                      , "op": "[OP] 0F 0E"                     , "ext": "3DNOW"}
   1202     ]},
   1203 
   1204     {"category": "MMX SIMD", "ext": "MMX", "deprecated": true, "instructions": [
   1205       {"any": "movd W:mm[31:0], R:r32[31:0]/m32"                           , "op": "[RM] NP 0F 6E /r"},
   1206       {"any": "movd W:r32[31:0]/m32, R:mm[31:0]"                           , "op": "[MR] NP 0F 7E /r"},
   1207       {"any": "movq W:mm, mm/m64"                                          , "op": "[RM] NP 0F 6F /r"},
   1208       {"x64": "movq W:mm, r64/m64"                                         , "op": "[RM] NP REX.W 0F 6E /r"},
   1209       {"any": "movq W:mm/m64, mm"                                          , "op": "[MR] NP 0F 7F /r"},
   1210       {"x64": "movq W:r64/m64, mm"                                         , "op": "[MR] NP REX.W 0F 7E /r"},
   1211       {"any": "packssdw X:mm, mm/m64"                                      , "op": "[RM] NP 0F 6B /r"},
   1212       {"any": "packsswb X:mm, mm/m64"                                      , "op": "[RM] NP 0F 63 /r"},
   1213       {"any": "packuswb X:mm, mm/m64"                                      , "op": "[RM] NP 0F 67 /r"},
   1214       {"any": "paddb X:~mm, ~mm/m64"                                       , "op": "[RM] NP 0F FC /r"},
   1215       {"any": "paddd X:~mm, ~mm/m64"                                       , "op": "[RM] NP 0F FE /r"},
   1216       {"any": "paddsb X:~mm, ~mm/m64"                                      , "op": "[RM] NP 0F EC /r"},
   1217       {"any": "paddsw X:~mm, ~mm/m64"                                      , "op": "[RM] NP 0F ED /r"},
   1218       {"any": "paddusb X:~mm, ~mm/m64"                                     , "op": "[RM] NP 0F DC /r"},
   1219       {"any": "paddusw X:~mm, ~mm/m64"                                     , "op": "[RM] NP 0F DD /r"},
   1220       {"any": "paddw X:~mm, ~mm/m64"                                       , "op": "[RM] NP 0F FD /r"},
   1221       {"any": "pand X:~mm, ~mm/m64"                                        , "op": "[RM] NP 0F DB /r"},
   1222       {"any": "pandn X:mm, mm/m64"                                         , "op": "[RM] NP 0F DF /r"},
   1223       {"any": "pcmpeqb X:~mm, ~mm/m64"                                     , "op": "[RM] NP 0F 74 /r"},
   1224       {"any": "pcmpeqd X:~mm, ~mm/m64"                                     , "op": "[RM] NP 0F 76 /r"},
   1225       {"any": "pcmpeqw X:~mm, ~mm/m64"                                     , "op": "[RM] NP 0F 75 /r"},
   1226       {"any": "pcmpgtb X:mm, mm/m64"                                       , "op": "[RM] NP 0F 64 /r"},
   1227       {"any": "pcmpgtd X:mm, mm/m64"                                       , "op": "[RM] NP 0F 66 /r"},
   1228       {"any": "pcmpgtw X:mm, mm/m64"                                       , "op": "[RM] NP 0F 65 /r"},
   1229       {"any": "pmaddwd X:~mm, ~mm/m64"                                     , "op": "[RM] NP 0F F5 /r"},
   1230       {"any": "pmulhw X:~mm, ~mm/m64"                                      , "op": "[RM] NP 0F E5 /r"},
   1231       {"any": "pmullw X:~mm, ~mm/m64"                                      , "op": "[RM] NP 0F D5 /r"},
   1232       {"any": "por X:~mm, ~mm/m64"                                         , "op": "[RM] NP 0F EB /r"},
   1233       {"any": "pslld X:mm, mm/m64"                                         , "op": "[RM] NP 0F F2 /r"},
   1234       {"any": "pslld X:mm, imm8"                                           , "op": "[M ] NP 0F 72 /6 ib"},
   1235       {"any": "psllq X:mm, mm/m64"                                         , "op": "[RM] NP 0F F3 /r"},
   1236       {"any": "psllq X:mm, imm8"                                           , "op": "[M ] NP 0F 73 /6 ib"},
   1237       {"any": "psllw X:mm, mm/m64"                                         , "op": "[RM] NP 0F F1 /r"},
   1238       {"any": "psllw X:mm, imm8"                                           , "op": "[M ] NP 0F 71 /6 ib"},
   1239       {"any": "psrad X:mm, mm/m64"                                         , "op": "[RM] NP 0F E2 /r"},
   1240       {"any": "psrad X:mm, imm8"                                           , "op": "[M ] NP 0F 72 /4 ib"},
   1241       {"any": "psraw X:mm, mm/m64"                                         , "op": "[RM] NP 0F E1 /r"},
   1242       {"any": "psraw X:mm, imm8"                                           , "op": "[M ] NP 0F 71 /4 ib"},
   1243       {"any": "psrld X:mm, mm/m64"                                         , "op": "[RM] NP 0F D2 /r"},
   1244       {"any": "psrld X:mm, imm8"                                           , "op": "[M ] NP 0F 72 /2 ib"},
   1245       {"any": "psrlq X:mm, mm/m64"                                         , "op": "[RM] NP 0F D3 /r"},
   1246       {"any": "psrlq X:mm, imm8"                                           , "op": "[M ] NP 0F 73 /2 ib"},
   1247       {"any": "psrlw X:mm, mm/m64"                                         , "op": "[RM] NP 0F D1 /r"},
   1248       {"any": "psrlw X:mm, imm8"                                           , "op": "[M ] NP 0F 71 /2 ib"},
   1249       {"any": "psubb X:mm, mm/m64"                                         , "op": "[RM] NP 0F F8 /r"},
   1250       {"any": "psubd X:mm, mm/m64"                                         , "op": "[RM] NP 0F FA /r"},
   1251       {"any": "psubsb X:mm, mm/m64"                                        , "op": "[RM] NP 0F E8 /r"},
   1252       {"any": "psubsw X:mm, mm/m64"                                        , "op": "[RM] NP 0F E9 /r"},
   1253       {"any": "psubusb X:mm, mm/m64"                                       , "op": "[RM] NP 0F D8 /r"},
   1254       {"any": "psubusw X:mm, mm/m64"                                       , "op": "[RM] NP 0F D9 /r"},
   1255       {"any": "psubw X:mm, mm/m64"                                         , "op": "[RM] NP 0F F9 /r"},
   1256       {"any": "punpckhbw X:mm, mm/m64"                                     , "op": "[RM] NP 0F 68 /r"},
   1257       {"any": "punpckhdq X:mm, mm/m64"                                     , "op": "[RM] NP 0F 6A /r"},
   1258       {"any": "punpckhwd X:mm, mm/m64"                                     , "op": "[RM] NP 0F 69 /r"},
   1259       {"any": "punpcklbw X:mm, mm/m32"                                     , "op": "[RM] NP 0F 60 /r"},
   1260       {"any": "punpckldq X:mm, mm/m32"                                     , "op": "[RM] NP 0F 62 /r"},
   1261       {"any": "punpcklwd X:mm, mm/m32"                                     , "op": "[RM] NP 0F 61 /r"},
   1262       {"any": "pxor X:~mm, ~mm/m64"                                        , "op": "[RM] NP 0F EF /r"}
   1263     ]},
   1264 
   1265     {"category": "MMX SIMD", "ext": "MMX2", "deprecated": true, "instructions": [
   1266       {"any": "maskmovq R:mm, mm, X:<m64(ds:zdi)>"                         , "op": "[RM] NP 0F F7 /r"},
   1267       {"any": "movntq W:m64, mm"                                           , "op": "[MR] NP 0F E7 /r"},
   1268       {"any": "pavgb X:~mm, ~mm/m64"                                       , "op": "[RM] NP 0F E0 /r"},
   1269       {"any": "pavgw X:~mm, ~mm/m64"                                       , "op": "[RM] NP 0F E3 /r"},
   1270       {"any": "pextrw W:r32[15:0], mm, imm8"                               , "op": "[RM] NP 0F C5 /r ib"},
   1271       {"any": "pinsrw X:mm, r32[15:0]/m16, imm8"                           , "op": "[RM] NP 0F C4 /r ib"},
   1272       {"any": "pmaxsw X:~mm, ~mm/m64"                                      , "op": "[RM] NP 0F EE /r"},
   1273       {"any": "pmaxub X:~mm, ~mm/m64"                                      , "op": "[RM] NP 0F DE /r"},
   1274       {"any": "pminsw X:~mm, ~mm/m64"                                      , "op": "[RM] NP 0F EA /r"},
   1275       {"any": "pminub X:~mm, ~mm/m64"                                      , "op": "[RM] NP 0F DA /r"},
   1276       {"any": "pmovmskb W:r32[7:0], mm"                                    , "op": "[RM] NP 0F D7 /r"},
   1277       {"any": "pmulhuw X:~mm, ~mm/m64"                                     , "op": "[RM] NP 0F E4 /r"},
   1278       {"any": "psadbw X:~mm, ~mm/m64"                                      , "op": "[RM] NP 0F F6 /r"},
   1279       {"any": "pshufw W:mm, mm/m64, imm8"                                  , "op": "[RM] NP 0F 70 /r ib"}
   1280     ]},
   1281 
   1282     {"category": "MMX SIMD", "ext": "3DNOW", "deprecated": true, "instructions": [
   1283       {"any": "pavgusb X:mm, mm/m64"                                       , "op": "[RM] 0F 0F /r BF"},
   1284       {"any": "pf2id W:mm, mm/m64"                                         , "op": "[RM] 0F 0F /r 1D"},
   1285       {"any": "pfacc X:mm, mm/m64"                                         , "op": "[RM] 0F 0F /r AE"},
   1286       {"any": "pfadd X:mm, mm/m64"                                         , "op": "[RM] 0F 0F /r 9E"},
   1287       {"any": "pfcmpeq X:mm, mm/m64"                                       , "op": "[RM] 0F 0F /r B0"},
   1288       {"any": "pfcmpge X:mm, mm/m64"                                       , "op": "[RM] 0F 0F /r 90"},
   1289       {"any": "pfcmpgt X:mm, mm/m64"                                       , "op": "[RM] 0F 0F /r A0"},
   1290       {"any": "pfmax X:mm, mm/m64"                                         , "op": "[RM] 0F 0F /r A4"},
   1291       {"any": "pfmin X:mm, mm/m64"                                         , "op": "[RM] 0F 0F /r 94"},
   1292       {"any": "pfmul X:mm, mm/m64"                                         , "op": "[RM] 0F 0F /r B4"},
   1293       {"any": "pfrcp W:mm, mm/m64"                                         , "op": "[RM] 0F 0F /r 96"},
   1294       {"any": "pfrcpit1 X:mm, mm/m64"                                      , "op": "[RM] 0F 0F /r A6"},
   1295       {"any": "pfrcpit2 X:mm, mm/m64"                                      , "op": "[RM] 0F 0F /r B6"},
   1296       {"any": "pfrsqit1 W:mm, mm/m64"                                      , "op": "[RM] 0F 0F /r A7"},
   1297       {"any": "pfrsqrt W:mm, mm/m64"                                       , "op": "[RM] 0F 0F /r 97"},
   1298       {"any": "pfsub X:mm, mm/m64"                                         , "op": "[RM] 0F 0F /r 9A"},
   1299       {"any": "pfsubr X:mm, mm/m64"                                        , "op": "[RM] 0F 0F /r AA"},
   1300       {"any": "pi2fd W:mm, mm/m64"                                         , "op": "[RM] 0F 0F /r 0D"},
   1301       {"any": "pmulhrw X:mm, mm/m64"                                       , "op": "[RM] 0F 0F /r B7"}
   1302     ]},
   1303 
   1304     {"category": "MMX SIMD", "ext": "3DNOW2", "deprecated": true, "instructions": [
   1305       {"any": "pf2iw W:mm, mm/m64"                                         , "op": "[RM] 0F 0F /r 1C"},
   1306       {"any": "pfnacc X:mm, mm/m64"                                        , "op": "[RM] 0F 0F /r 8A"},
   1307       {"any": "pfpnacc X:mm, mm/m64"                                       , "op": "[RM] 0F 0F /r 8E"},
   1308       {"any": "pi2fw W:mm, mm/m64"                                         , "op": "[RM] 0F 0F /r 0C"},
   1309       {"any": "pswapd W:mm, mm/m64"                                        , "op": "[RM] 0F 0F /r BB"}
   1310     ]},
   1311 
   1312     {"category": "MMX SIMD", "ext": "GEODE", "deprecated": true, "instructions": [
   1313       {"any": "pfrcpv X:mm, mm/m64"                                        , "op": "[RM] 0F 0F /r 86"},
   1314       {"any": "pfrsqrtv X:mm, mm/m64"                                      , "op": "[RM] 0F 0F /r 87"}
   1315     ]},
   1316 
   1317     {"category": "MMX SIMD", "ext": "SSE", "deprecated": true, "instructions": [
   1318       {"any": "cvtpi2ps w:xmm[63:0], mm/m64"                               , "op": "[RM] NP 0F 2A /r"},
   1319       {"any": "cvtps2pi W:mm, xmm[63:0]/m64"                               , "op": "[RM] NP 0F 2D /r"},
   1320       {"any": "cvttps2pi W:mm, xmm[63:0]/m64"                              , "op": "[RM] NP 0F 2C /r"}
   1321     ]},
   1322 
   1323     {"category": "MMX SIMD", "ext": "SSE2", "deprecated": true, "instructions": [
   1324       {"any": "cvtpd2pi W:mm, xmm/m128"                                    , "op": "[RM] 66 0F 2D /r"},
   1325       {"any": "cvtpi2pd W:xmm, R:mm[63:0]/m64"                             , "op": "[RM] 66 0F 2A /r"},
   1326       {"any": "cvttpd2pi W:mm, xmm/m128"                                   , "op": "[RM] 66 0F 2C /r"},
   1327       {"any": "movdq2q W:mm, xmm[63:0]"                                    , "op": "[RM] F2 0F D6 /r"},
   1328       {"any": "movq2dq W:xmm[63:0], mm"                                    , "op": "[RM] F3 0F D6 /r"},
   1329       {"any": "paddq X:~mm, ~mm/m64"                                       , "op": "[RM] NP 0F D4 /r"},
   1330       {"any": "pmuludq X:~mm, ~mm/m64"                                     , "op": "[RM] NP 0F F4 /r"},
   1331       {"any": "psubq X:mm, mm/m64"                                         , "op": "[RM] NP 0F FB /r"}
   1332     ]},
   1333 
   1334     {"category": "MMX SIMD", "ext": "SSSE3", "deprecated": true, "instructions": [
   1335       {"any": "pabsb W:mm, mm/m64"                                         , "op": "[RM] NP 0F 38 1C /r"},
   1336       {"any": "pabsd W:mm, mm/m64"                                         , "op": "[RM] NP 0F 38 1E /r"},
   1337       {"any": "pabsw W:mm, mm/m64"                                         , "op": "[RM] NP 0F 38 1D /r"},
   1338       {"any": "palignr X:mm, mm/m64, imm8"                                 , "op": "[RM] NP 0F 3A 0F /r ib"},
   1339       {"any": "phaddd X:~mm, ~mm/m64"                                      , "op": "[RM] NP 0F 38 02 /r"},
   1340       {"any": "phaddsw X:~mm, ~mm/m64"                                     , "op": "[RM] NP 0F 38 03 /r"},
   1341       {"any": "phaddw X:~mm, ~mm/m64"                                      , "op": "[RM] NP 0F 38 01 /r"},
   1342       {"any": "phsubd X:mm, mm/m64"                                        , "op": "[RM] NP 0F 38 06 /r"},
   1343       {"any": "phsubsw X:mm, mm/m64"                                       , "op": "[RM] NP 0F 38 07 /r"},
   1344       {"any": "phsubw X:mm, mm/m64"                                        , "op": "[RM] NP 0F 38 05 /r"},
   1345       {"any": "pmaddubsw X:~mm, ~mm/m64"                                   , "op": "[RM] NP 0F 38 04 /r"},
   1346       {"any": "pmulhrsw X:~mm, ~mm/m64"                                    , "op": "[RM] NP 0F 38 0B /r"},
   1347       {"any": "pshufb X:mm, mm/m64"                                        , "op": "[RM] NP 0F 38 00 /r"},
   1348       {"any": "psignb X:mm, mm/m64"                                        , "op": "[RM] NP 0F 38 08 /r"},
   1349       {"any": "psignd X:mm, mm/m64"                                        , "op": "[RM] NP 0F 38 0A /r"},
   1350       {"any": "psignw X:mm, mm/m64"                                        , "op": "[RM] NP 0F 38 09 /r"}
   1351     ]},
   1352 
   1353     {"category": "SSE STATE", "ext": "SSE", "instructions": [
   1354       {"any": "ldmxcsr R:m32"                                              , "op": "[M ] NP 0F AE /2", "io": "MXCSR=W"},
   1355       {"any": "stmxcsr W:m32"                                              , "op": "[M ] NP 0F AE /3", "io": "MXCSR=R"}
   1356     ]},
   1357 
   1358     {"category": "SSE SIMD", "ext": "SSE", "instructions": [
   1359       {"any": "addps X:~xmm, ~xmm/m128"                                    , "op": "[RM] NP 0F 58 /r"},
   1360       {"any": "addss x:xmm[31:0], xmm[31:0]/m32"                           , "op": "[RM] F3 0F 58 /r"},
   1361       {"any": "andnps X:xmm, xmm/m128"                                     , "op": "[RM] NP 0F 55 /r"},
   1362       {"any": "andps X:~xmm, ~xmm/m128"                                    , "op": "[RM] NP 0F 54 /r"},
   1363       {"any": "cmpps X:xmm, xmm/m128, imm8"                                , "op": "[RM] NP 0F C2 /r ib"},
   1364       {"any": "cmpss x:xmm[31:0], xmm[31:0]/m32, imm8"                     , "op": "[RM] F3 0F C2 /r ib"},
   1365       {"any": "comiss R:xmm[31:0], xmm[31:0]/m32"                          , "op": "[RM] NP 0F 2F /r", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   1366       {"any": "cvtsi2ss w:xmm[31:0], ry/my"                                , "op": "[RM] F3 0F 2A /r"},
   1367       {"any": "cvtss2si W:ry, xmm[31:0]/m32"                               , "op": "[RM] F3 0F 2D /r"},
   1368       {"any": "cvttss2si W:ry, xmm[31:0]/m32"                              , "op": "[RM] F3 0F 2C /r"},
   1369       {"any": "divps X:xmm, xmm/m128"                                      , "op": "[RM] NP 0F 5E /r"},
   1370       {"any": "divss x:xmm[31:0], xmm[31:0]/m32"                           , "op": "[RM] F3 0F 5E /r"},
   1371       {"any": "maxps X:xmm, xmm/m128"                                      , "op": "[RM] NP 0F 5F /r"},
   1372       {"any": "maxss x:xmm[31:0], xmm[31:0]/m32"                           , "op": "[RM] F3 0F 5F /r"},
   1373       {"any": "minps X:xmm, xmm/m128"                                      , "op": "[RM] NP 0F 5D /r"},
   1374       {"any": "minss x:xmm[31:0], xmm[31:0]/m32"                           , "op": "[RM] F3 0F 5D /r"},
   1375       {"any": "movaps W:xmm, xmm/m128"                                     , "op": "[RM] NP 0F 28 /r"},
   1376       {"any": "movaps W:xmm/m128, xmm"                                     , "op": "[MR] NP 0F 29 /r"},
   1377       {"any": "movhlps w:xmm[63:0], xmm[127:64]"                           , "op": "[RM] NP 0F 12 /r"},
   1378       {"any": "movhps W:m64, xmm[127:64]"                                  , "op": "[MR] NP 0F 17 /r"},
   1379       {"any": "movhps w:xmm[127:64], m64"                                  , "op": "[RM] NP 0F 16 /r"},
   1380       {"any": "movlhps w:xmm[127:64], xmm[63:0]"                           , "op": "[RM] NP 0F 16 /r"},
   1381       {"any": "movlps W:m64, xmm[63:0]"                                    , "op": "[MR] NP 0F 13 /r"},
   1382       {"any": "movlps w:xmm[63:0], m64"                                    , "op": "[RM] NP 0F 12 /r"},
   1383       {"any": "movmskps W:r32[3:0], xmm"                                   , "op": "[RM] NP 0F 50 /r"},
   1384       {"any": "movntps W:m128, xmm"                                        , "op": "[MR] NP 0F 2B /r"},
   1385       {"any": "movss w:xmm[31:0], xmm[31:0]"                               , "op": "[RM] F3 0F 10 /r"},
   1386       {"any": "movss W:xmm[31:0], m32"                                     , "op": "[RM] F3 0F 10 /r"},
   1387       {"any": "movss W:m32, xmm[31:0]"                                     , "op": "[MR] F3 0F 11 /r"},
   1388       {"any": "movups W:xmm, xmm/m128"                                     , "op": "[RM] NP 0F 10 /r"},
   1389       {"any": "movups W:xmm/m128, xmm"                                     , "op": "[MR] NP 0F 11 /r"},
   1390       {"any": "mulps X:~xmm, ~xmm/m128"                                    , "op": "[RM] NP 0F 59 /r"},
   1391       {"any": "mulss x:xmm[31:0], xmm[31:0]/m32"                           , "op": "[RM] F3 0F 59 /r"},
   1392       {"any": "orps X:~xmm, ~xmm/m128"                                     , "op": "[RM] NP 0F 56 /r"},
   1393       {"any": "rcpps W:xmm, xmm/m128"                                      , "op": "[RM] NP 0F 53 /r"},
   1394       {"any": "rcpss w:xmm[31:0], xmm[31:0]/m32"                           , "op": "[RM] F3 0F 53 /r"},
   1395       {"any": "rsqrtps W:xmm, xmm/m128"                                    , "op": "[RM] NP 0F 52 /r"},
   1396       {"any": "rsqrtss w:xmm[31:0], xmm[31:0]/m32"                         , "op": "[RM] F3 0F 52 /r"},
   1397       {"any": "shufps X:xmm, xmm/m128, imm8"                               , "op": "[RM] NP 0F C6 /r ib"},
   1398       {"any": "sqrtps W:xmm, xmm/m128"                                     , "op": "[RM] NP 0F 51 /r"},
   1399       {"any": "sqrtss w:xmm[31:0], xmm[31:0]/m32"                          , "op": "[RM] F3 0F 51 /r"},
   1400       {"any": "subps X:xmm, xmm/m128"                                      , "op": "[RM] NP 0F 5C /r"},
   1401       {"any": "subss x:xmm[31:0], xmm[31:0]/m32"                           , "op": "[RM] F3 0F 5C /r"},
   1402       {"any": "ucomiss R:xmm[31:0], xmm[31:0]/m32"                         , "op": "[RM] NP 0F 2E /r", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   1403       {"any": "unpckhps X:xmm, xmm/m128"                                   , "op": "[RM] NP 0F 15 /r"},
   1404       {"any": "unpcklps X:xmm, xmm/m128"                                   , "op": "[RM] NP 0F 14 /r"},
   1405       {"any": "xorps X:~xmm, ~xmm/m128"                                    , "op": "[RM] NP 0F 57 /r"}
   1406     ]},
   1407 
   1408     {"category": "SSE SIMD", "ext": "SSE2", "instructions": [
   1409       {"any": "addpd X:~xmm, ~xmm/m128"                                    , "op": "[RM] 66 0F 58 /r"},
   1410       {"any": "addsd x:xmm[63:0], xmm[63:0]/m64"                           , "op": "[RM] F2 0F 58 /r"},
   1411       {"any": "andnpd X:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 55 /r"},
   1412       {"any": "andpd X:~xmm, ~xmm/m128"                                    , "op": "[RM] 66 0F 54 /r"},
   1413       {"any": "cmppd X:xmm, xmm/m128, imm8"                                , "op": "[RM] 66 0F C2 /r ib"},
   1414       {"any": "cmpsd x:xmm[63:0], xmm[63:0]/m64, imm8"                     , "op": "[RM] F2 0F C2 /r ib"},
   1415       {"any": "comisd R:xmm[63:0], xmm[63:0]/m64"                          , "op": "[RM] 66 0F 2F /r", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   1416       {"any": "cvtdq2pd W:xmm, xmm[63:0]/m64"                              , "op": "[RM] F3 0F E6 /r"},
   1417       {"any": "cvtdq2ps W:xmm, xmm/m128"                                   , "op": "[RM] NP 0F 5B /r"},
   1418       {"any": "cvtpd2dq W:xmm[63:0], xmm/m128"                             , "op": "[RM] F2 0F E6 /r"},
   1419       {"any": "cvtpd2ps W:xmm[63:0], xmm/m128"                             , "op": "[RM] 66 0F 5A /r"},
   1420       {"any": "cvtps2dq W:xmm, xmm/m128"                                   , "op": "[RM] 66 0F 5B /r"},
   1421       {"any": "cvtps2pd W:xmm, xmm[63:0]/m64"                              , "op": "[RM] NP 0F 5A /r"},
   1422       {"any": "cvtsd2si W:ry, xmm[63:0]/m64"                               , "op": "[RM] F2 0F 2D /r"},
   1423       {"any": "cvtsd2ss w:xmm[31:0], xmm[63:0]/m64"                        , "op": "[RM] F2 0F 5A /r"},
   1424       {"any": "cvtsi2sd w:xmm[63:0], ry/my"                                , "op": "[RM] F2 0F 2A /r"},
   1425       {"any": "cvtss2sd w:xmm[63:0], xmm[31:0]/m32"                        , "op": "[RM] F3 0F 5A /r"},
   1426       {"any": "cvttpd2dq W:xmm[63:0], xmm/m128"                            , "op": "[RM] 66 0F E6 /r"},
   1427       {"any": "cvttps2dq W:xmm, xmm/m128"                                  , "op": "[RM] F3 0F 5B /r"},
   1428       {"any": "cvttsd2si W:ry, xmm[63:0]/m64"                              , "op": "[RM] F2 0F 2C /r"},
   1429       {"any": "divpd X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F 5E /r"},
   1430       {"any": "divsd x:xmm[63:0], xmm[63:0]/m64"                           , "op": "[RM] F2 0F 5E /r"},
   1431       {"any": "maskmovdqu R:xmm, xmm, X:<m128(ds:zdi)>"                    , "op": "[RM] 66 0F F7 /r"},
   1432       {"any": "maxpd X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F 5F /r"},
   1433       {"any": "maxsd x:xmm[63:0], xmm[63:0]/m64"                           , "op": "[RM] F2 0F 5F /r"},
   1434       {"any": "minpd X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F 5D /r"},
   1435       {"any": "minsd x:xmm[63:0], xmm[63:0]/m64"                           , "op": "[RM] F2 0F 5D /r"},
   1436       {"any": "movapd W:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 28 /r"},
   1437       {"any": "movapd W:xmm/m128, xmm"                                     , "op": "[MR] 66 0F 29 /r"},
   1438       {"any": "movd W:r32[31:0]/m32, xmm[31:0]"                            , "op": "[MR] 66 0F 7E /r"},
   1439       {"any": "movd W:xmm[31:0], R:r32[31:0]/m32"                          , "op": "[RM] 66 0F 6E /r"},
   1440       {"any": "movdqa W:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 6F /r"},
   1441       {"any": "movdqa W:xmm/m128, xmm"                                     , "op": "[MR] 66 0F 7F /r"},
   1442       {"any": "movdqu W:xmm, xmm/m128"                                     , "op": "[RM] F3 0F 6F /r"},
   1443       {"any": "movdqu W:xmm/m128, xmm"                                     , "op": "[MR] F3 0F 7F /r"},
   1444       {"any": "movhpd W:m64, xmm[127:64]"                                  , "op": "[MR] 66 0F 17 /r"},
   1445       {"any": "movhpd w:xmm[127:64], m64"                                  , "op": "[RM] 66 0F 16 /r"},
   1446       {"any": "movlpd W:m64, xmm[63:0]"                                    , "op": "[MR] 66 0F 13 /r"},
   1447       {"any": "movlpd w:xmm[63:0], m64"                                    , "op": "[RM] 66 0F 12 /r"},
   1448       {"any": "movmskpd W:r32[1:0], xmm"                                   , "op": "[RM] 66 0F 50 /r"},
   1449       {"any": "movntdq W:m128, xmm"                                        , "op": "[MR] 66 0F E7 /r"},
   1450       {"any": "movntpd W:m128, xmm"                                        , "op": "[MR] 66 0F 2B /r"},
   1451       {"x64": "movq W:r64/m64, xmm[63:0]"                                  , "op": "[MR] REX.W 66 0F 7E /r"},
   1452       {"x64": "movq W:xmm[63:0], r64[63:0]/m64"                            , "op": "[RM] REX.W 66 0F 6E /r"},
   1453       {"any": "movq W:xmm[63:0], xmm[63:0]/m64"                            , "op": "[RM] F3 0F 7E /r"},
   1454       {"any": "movq W:xmm[63:0]/m64, xmm[63:0]"                            , "op": "[MR] 66 0F D6 /r"},
   1455       {"any": "movsd w:xmm[63:0], xmm[63:0]"                               , "op": "[RM] F2 0F 10 /r"},
   1456       {"any": "movsd W:xmm[63:0], m64"                                     , "op": "[RM] F2 0F 10 /r"},
   1457       {"any": "movsd W:m64, xmm[63:0]"                                     , "op": "[MR] F2 0F 11 /r"},
   1458       {"any": "movupd W:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 10 /r"},
   1459       {"any": "movupd W:xmm/m128, xmm"                                     , "op": "[MR] 66 0F 11 /r"},
   1460       {"any": "mulpd X:~xmm, ~xmm/m128"                                    , "op": "[RM] 66 0F 59 /r"},
   1461       {"any": "mulsd x:xmm[63:0], xmm[63:0]/m64"                           , "op": "[RM] F2 0F 59 /r"},
   1462       {"any": "orpd X:~xmm, ~xmm/m128"                                     , "op": "[RM] 66 0F 56 /r"},
   1463       {"any": "packssdw X:xmm, xmm/m128"                                   , "op": "[RM] 66 0F 6B /r"},
   1464       {"any": "packsswb X:xmm, xmm/m128"                                   , "op": "[RM] 66 0F 63 /r"},
   1465       {"any": "packuswb X:xmm, xmm/m128"                                   , "op": "[RM] 66 0F 67 /r"},
   1466       {"any": "paddb X:~xmm, ~xmm/m128"                                    , "op": "[RM] 66 0F FC /r"},
   1467       {"any": "paddd X:~xmm, ~xmm/m128"                                    , "op": "[RM] 66 0F FE /r"},
   1468       {"any": "paddq X:~xmm, ~xmm/m128"                                    , "op": "[RM] 66 0F D4 /r"},
   1469       {"any": "paddsb X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F EC /r"},
   1470       {"any": "paddsw X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F ED /r"},
   1471       {"any": "paddusb X:~xmm, ~xmm/m128"                                  , "op": "[RM] 66 0F DC /r"},
   1472       {"any": "paddusw X:~xmm, ~xmm/m128"                                  , "op": "[RM] 66 0F DD /r"},
   1473       {"any": "paddw X:~xmm, ~xmm/m128"                                    , "op": "[RM] 66 0F FD /r"},
   1474       {"any": "pand X:~xmm, ~xmm/m128"                                     , "op": "[RM] 66 0F DB /r"},
   1475       {"any": "pandn X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F DF /r"},
   1476       {"any": "pavgb X:~xmm, ~xmm/m128"                                    , "op": "[RM] 66 0F E0 /r"},
   1477       {"any": "pavgw X:~xmm, ~xmm/m128"                                    , "op": "[RM] 66 0F E3 /r"},
   1478       {"any": "pcmpeqb X:~xmm, ~xmm/m128"                                  , "op": "[RM] 66 0F 74 /r"},
   1479       {"any": "pcmpeqd X:~xmm, ~xmm/m128"                                  , "op": "[RM] 66 0F 76 /r"},
   1480       {"any": "pcmpeqw X:~xmm, ~xmm/m128"                                  , "op": "[RM] 66 0F 75 /r"},
   1481       {"any": "pcmpgtb X:xmm, xmm/m128"                                    , "op": "[RM] 66 0F 64 /r"},
   1482       {"any": "pcmpgtd X:xmm, xmm/m128"                                    , "op": "[RM] 66 0F 66 /r"},
   1483       {"any": "pcmpgtw X:xmm, xmm/m128"                                    , "op": "[RM] 66 0F 65 /r"},
   1484       {"any": "pextrw W:r32[15:0], xmm, imm8"                              , "op": "[RM] 66 0F C5 /r ib"},
   1485       {"any": "pinsrw X:xmm, r32[15:0]/m16, imm8"                          , "op": "[RM] 66 0F C4 /r ib"},
   1486       {"any": "pmaddwd X:~xmm, ~xmm/m128"                                  , "op": "[RM] 66 0F F5 /r"},
   1487       {"any": "pmaxsw X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F EE /r"},
   1488       {"any": "pmaxub X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F DE /r"},
   1489       {"any": "pminsw X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F EA /r"},
   1490       {"any": "pminub X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F DA /r"},
   1491       {"any": "pmovmskb W:r32[15:0], xmm"                                  , "op": "[RM] 66 0F D7 /r"},
   1492       {"any": "pmulhuw X:~xmm, ~xmm/m128"                                  , "op": "[RM] 66 0F E4 /r"},
   1493       {"any": "pmulhw X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F E5 /r"},
   1494       {"any": "pmullw X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F D5 /r"},
   1495       {"any": "pmuludq X:~xmm, ~xmm/m128"                                  , "op": "[RM] 66 0F F4 /r"},
   1496       {"any": "por X:~xmm, ~xmm/m128"                                      , "op": "[RM] 66 0F EB /r"},
   1497       {"any": "psadbw X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F F6 /r"},
   1498       {"any": "pshufd W:xmm, xmm/m128, imm8"                               , "op": "[RM] 66 0F 70 /r ib"},
   1499       {"any": "pshufhw W:xmm, xmm/m128, imm8"                              , "op": "[RM] F3 0F 70 /r ib"},
   1500       {"any": "pshuflw W:xmm, xmm/m128, imm8"                              , "op": "[RM] F2 0F 70 /r ib"},
   1501       {"any": "pslld X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F F2 /r"},
   1502       {"any": "pslld X:xmm, imm8"                                          , "op": "[M ] 66 0F 72 /6 ib"},
   1503       {"any": "pslldq X:xmm, imm8"                                         , "op": "[M ] 66 0F 73 /7 ib"},
   1504       {"any": "psllq X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F F3 /r"},
   1505       {"any": "psllq X:xmm, imm8"                                          , "op": "[M ] 66 0F 73 /6 ib"},
   1506       {"any": "psllw X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F F1 /r"},
   1507       {"any": "psllw X:xmm, imm8"                                          , "op": "[M ] 66 0F 71 /6 ib"},
   1508       {"any": "psrad X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F E2 /r"},
   1509       {"any": "psrad X:xmm, imm8"                                          , "op": "[M ] 66 0F 72 /4 ib"},
   1510       {"any": "psraw X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F E1 /r"},
   1511       {"any": "psraw X:xmm, imm8"                                          , "op": "[M ] 66 0F 71 /4 ib"},
   1512       {"any": "psrld X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F D2 /r"},
   1513       {"any": "psrld X:xmm, imm8"                                          , "op": "[M ] 66 0F 72 /2 ib"},
   1514       {"any": "psrldq X:xmm, imm8"                                         , "op": "[M ] 66 0F 73 /3 ib"},
   1515       {"any": "psrlq X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F D3 /r"},
   1516       {"any": "psrlq X:xmm, imm8"                                          , "op": "[M ] 66 0F 73 /2 ib"},
   1517       {"any": "psrlw X:xmm, imm8"                                          , "op": "[M ] 66 0F 71 /2 ib"},
   1518       {"any": "psrlw X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F D1 /r"},
   1519       {"any": "psubb X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F F8 /r"},
   1520       {"any": "psubd X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F FA /r"},
   1521       {"any": "psubq X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F FB /r"},
   1522       {"any": "psubsb X:xmm, xmm/m128"                                     , "op": "[RM] 66 0F E8 /r"},
   1523       {"any": "psubsw X:xmm, xmm/m128"                                     , "op": "[RM] 66 0F E9 /r"},
   1524       {"any": "psubusb X:xmm, xmm/m128"                                    , "op": "[RM] 66 0F D8 /r"},
   1525       {"any": "psubusw X:xmm, xmm/m128"                                    , "op": "[RM] 66 0F D9 /r"},
   1526       {"any": "psubw X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F F9 /r"},
   1527       {"any": "punpckhbw X:xmm, xmm/m128"                                  , "op": "[RM] 66 0F 68 /r"},
   1528       {"any": "punpckhdq X:xmm, xmm/m128"                                  , "op": "[RM] 66 0F 6A /r"},
   1529       {"any": "punpckhqdq X:xmm, xmm/m128"                                 , "op": "[RM] 66 0F 6D /r"},
   1530       {"any": "punpckhwd X:xmm, xmm/m128"                                  , "op": "[RM] 66 0F 69 /r"},
   1531       {"any": "punpcklbw X:xmm, xmm/m128"                                  , "op": "[RM] 66 0F 60 /r"},
   1532       {"any": "punpckldq X:xmm, xmm/m128"                                  , "op": "[RM] 66 0F 62 /r"},
   1533       {"any": "punpcklqdq X:xmm, xmm/m128"                                 , "op": "[RM] 66 0F 6C /r"},
   1534       {"any": "punpcklwd X:xmm, xmm/m128"                                  , "op": "[RM] 66 0F 61 /r"},
   1535       {"any": "pxor X:~xmm, ~xmm/m128"                                     , "op": "[RM] 66 0F EF /r"},
   1536       {"any": "shufpd X:xmm, xmm/m128, imm8"                               , "op": "[RM] 66 0F C6 /r ib"},
   1537       {"any": "sqrtpd W:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 51 /r"},
   1538       {"any": "sqrtsd w:xmm[63:0], xmm[63:0]/m64"                          , "op": "[RM] F2 0F 51 /r"},
   1539       {"any": "subpd X:xmm, xmm/m128"                                      , "op": "[RM] 66 0F 5C /r"},
   1540       {"any": "subsd x:xmm[63:0], xmm[63:0]/m64"                           , "op": "[RM] F2 0F 5C /r"},
   1541       {"any": "ucomisd R:xmm[63:0], xmm[63:0]/m64"                         , "op": "[RM] 66 0F 2E /r", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   1542       {"any": "unpckhpd X:xmm, xmm/m128"                                   , "op": "[RM] 66 0F 15 /r"},
   1543       {"any": "unpcklpd X:xmm, xmm/m128"                                   , "op": "[RM] 66 0F 14 /r"},
   1544       {"any": "xorpd X:~xmm, ~xmm/m128"                                    , "op": "[RM] 66 0F 57 /r"}
   1545     ]},
   1546 
   1547     {"category": "SSE SIMD", "ext": "SSE3", "instructions": [
   1548       {"any": "addsubpd X:xmm, xmm/m128"                                   , "op": "[RM] 66 0F D0 /r"},
   1549       {"any": "addsubps X:xmm, xmm/m128"                                   , "op": "[RM] F2 0F D0 /r"},
   1550       {"any": "haddpd X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 7C /r"},
   1551       {"any": "haddps X:~xmm, ~xmm/m128"                                   , "op": "[RM] F2 0F 7C /r"},
   1552       {"any": "hsubpd X:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 7D /r"},
   1553       {"any": "hsubps X:xmm, xmm/m128"                                     , "op": "[RM] F2 0F 7D /r"},
   1554       {"any": "lddqu W:xmm, m128"                                          , "op": "[RM] F2 0F F0 /r"},
   1555       {"any": "movddup W:xmm, xmm[63:0]/m64"                               , "op": "[RM] F2 0F 12 /r"},
   1556       {"any": "movshdup W:xmm, xmm/m128"                                   , "op": "[RM] F3 0F 16 /r"},
   1557       {"any": "movsldup W:xmm, xmm/m128"                                   , "op": "[RM] F3 0F 12 /r"}
   1558     ]},
   1559 
   1560     {"category": "SSE SIMD", "ext": "SSSE3", "instructions": [
   1561       {"any": "pabsb W:xmm, xmm/m128"                                      , "op": "[RM] 66 0F 38 1C /r"},
   1562       {"any": "pabsd W:xmm, xmm/m128"                                      , "op": "[RM] 66 0F 38 1E /r"},
   1563       {"any": "pabsw W:xmm, xmm/m128"                                      , "op": "[RM] 66 0F 38 1D /r"},
   1564       {"any": "palignr X:xmm, xmm/m128, imm8"                              , "op": "[RM] 66 0F 3A 0F /r ib"},
   1565       {"any": "phaddd X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 38 02 /r"},
   1566       {"any": "phaddsw X:~xmm, ~xmm/m128"                                  , "op": "[RM] 66 0F 38 03 /r"},
   1567       {"any": "phaddw X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 38 01 /r"},
   1568       {"any": "phsubd X:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 38 06 /r"},
   1569       {"any": "phsubsw X:xmm, xmm/m128"                                    , "op": "[RM] 66 0F 38 07 /r"},
   1570       {"any": "phsubw X:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 38 05 /r"},
   1571       {"any": "pmaddubsw X:~xmm, ~xmm/m128"                                , "op": "[RM] 66 0F 38 04 /r"},
   1572       {"any": "pmulhrsw X:~xmm, ~xmm/m128"                                 , "op": "[RM] 66 0F 38 0B /r"},
   1573       {"any": "pshufb X:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 38 00 /r"},
   1574       {"any": "psignb X:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 38 08 /r"},
   1575       {"any": "psignd X:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 38 0A /r"},
   1576       {"any": "psignw X:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 38 09 /r"}
   1577     ]},
   1578 
   1579     {"category": "SSE SIMD", "ext": "SSE4_1", "instructions": [
   1580       {"any": "blendpd X:xmm, xmm/m128, imm8"                              , "op": "[RM] 66 0F 3A 0D /r ib"},
   1581       {"any": "blendps X:xmm, xmm/m128, imm8"                              , "op": "[RM] 66 0F 3A 0C /r ib"},
   1582       {"any": "blendvpd X:xmm, xmm/m128, <xmm0>"                           , "op": "[RM] 66 0F 38 15 /r"},
   1583       {"any": "blendvps X:xmm, xmm/m128, <xmm0>"                           , "op": "[RM] 66 0F 38 14 /r"},
   1584       {"any": "dppd X:xmm, xmm/m128, imm8"                                 , "op": "[RM] 66 0F 3A 41 /r ib"},
   1585       {"any": "dpps X:xmm, xmm/m128, imm8"                                 , "op": "[RM] 66 0F 3A 40 /r ib"},
   1586       {"any": "extractps W:r32/m32, xmm, imm8"                             , "op": "[MR] 66 0F 3A 17 /r ib"},
   1587       {"any": "insertps X:xmm, xmm[31:0]/m32, imm8"                        , "op": "[RM] 66 0F 3A 21 /r ib"},
   1588       {"any": "movntdqa W:xmm, m128"                                       , "op": "[RM] 66 0F 38 2A /r"},
   1589       {"any": "mpsadbw X:xmm, xmm/m128, imm8"                              , "op": "[RM] 66 0F 3A 42 /r ib"},
   1590       {"any": "packusdw X:xmm, xmm/m128"                                   , "op": "[RM] 66 0F 38 2B /r"},
   1591       {"any": "pblendvb X:xmm, xmm/m128, <xmm0>"                           , "op": "[RM] 66 0F 38 10 /r"},
   1592       {"any": "pblendw X:xmm, xmm/m128, imm8"                              , "op": "[RM] 66 0F 3A 0E /r ib"},
   1593       {"any": "pcmpeqq X:~xmm, ~xmm/m128"                                  , "op": "[RM] 66 0F 38 29 /r"},
   1594       {"any": "pextrb W:r32[7:0]/m8, xmm, imm8"                            , "op": "[MR] 66 0F 3A 14 /r ib"},
   1595       {"any": "pextrd W:r32[31:0]/m32, xmm, imm8"                          , "op": "[MR] 66 0F 3A 16 /r ib"},
   1596       {"any": "pextrq W:r64/m64, xmm, imm8"                                , "op": "[MR] REX.W 66 0F 3A 16 /r ib"},
   1597       {"any": "pextrw W:r32[15:0]/m16, xmm, imm8"                          , "op": "[MR] 66 0F 3A 15 /r ib"},
   1598       {"any": "phminposuw W:xmm[18:0], xmm/m128"                           , "op": "[RM] 66 0F 38 41 /r"},
   1599       {"any": "pinsrb X:xmm, r32[7:0]/m8, imm8"                            , "op": "[RM] 66 0F 3A 20 /r ib"},
   1600       {"any": "pinsrd X:xmm, r32[31:0]/m32, imm8"                          , "op": "[RM] 66 0F 3A 22 /r ib"},
   1601       {"any": "pinsrq X:xmm, r64/m64, imm8"                                , "op": "[RM] REX.W 66 0F 3A 22 /r ib"},
   1602       {"any": "pmaxsb X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 38 3C /r"},
   1603       {"any": "pmaxsd X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 38 3D /r"},
   1604       {"any": "pmaxud X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 38 3F /r"},
   1605       {"any": "pmaxuw X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 38 3E /r"},
   1606       {"any": "pminsb X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 38 38 /r"},
   1607       {"any": "pminsd X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 38 39 /r"},
   1608       {"any": "pminud X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 38 3B /r"},
   1609       {"any": "pminuw X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 38 3A /r"},
   1610       {"any": "pmovsxbd W:xmm, xmm[31:0]/m32"                              , "op": "[RM] 66 0F 38 21 /r"},
   1611       {"any": "pmovsxbq W:xmm, xmm[15:0]/m16"                              , "op": "[RM] 66 0F 38 22 /r"},
   1612       {"any": "pmovsxbw W:xmm, xmm[63:0]/m64"                              , "op": "[RM] 66 0F 38 20 /r"},
   1613       {"any": "pmovsxdq W:xmm, xmm[63:0]/m64"                              , "op": "[RM] 66 0F 38 25 /r"},
   1614       {"any": "pmovsxwd W:xmm, xmm[63:0]/m64"                              , "op": "[RM] 66 0F 38 23 /r"},
   1615       {"any": "pmovsxwq W:xmm, xmm[31:0]/m32"                              , "op": "[RM] 66 0F 38 24 /r"},
   1616       {"any": "pmovzxbd W:xmm, xmm[31:0]/m32"                              , "op": "[RM] 66 0F 38 31 /r"},
   1617       {"any": "pmovzxbq W:xmm, xmm[15:0]/m16"                              , "op": "[RM] 66 0F 38 32 /r"},
   1618       {"any": "pmovzxbw W:xmm, xmm[63:0]/m64"                              , "op": "[RM] 66 0F 38 30 /r"},
   1619       {"any": "pmovzxdq W:xmm, xmm[63:0]/m64"                              , "op": "[RM] 66 0F 38 35 /r"},
   1620       {"any": "pmovzxwd W:xmm, xmm[63:0]/m64"                              , "op": "[RM] 66 0F 38 33 /r"},
   1621       {"any": "pmovzxwq W:xmm, xmm[31:0]/m32"                              , "op": "[RM] 66 0F 38 34 /r"},
   1622       {"any": "pmuldq X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 38 28 /r"},
   1623       {"any": "pmulld X:~xmm, ~xmm/m128"                                   , "op": "[RM] 66 0F 38 40 /r"},
   1624       {"any": "ptest R:~xmm, ~xmm/m128"                                    , "op": "[RM] 66 0F 38 17 /r", "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=W"},
   1625       {"any": "roundpd W:xmm, xmm/m128, imm8"                              , "op": "[RM] 66 0F 3A 09 /r ib"},
   1626       {"any": "roundps W:xmm, xmm/m128, imm8"                              , "op": "[RM] 66 0F 3A 08 /r ib"},
   1627       {"any": "roundsd w:xmm[63:0], xmm[63:0]/m64, imm8"                   , "op": "[RM] 66 0F 3A 0B /r ib"},
   1628       {"any": "roundss w:xmm[31:0], xmm[31:0]/m32, imm8"                   , "op": "[RM] 66 0F 3A 0A /r ib"}
   1629     ]},
   1630 
   1631     {"category": "SSE SIMD", "ext": "SSE4_2", "instructions": [
   1632       {"any": "pcmpestri R:xmm, xmm/m128, imm8, W:<ecx>, <eax>, <edx>"     , "op": "[RM] 66 0F 3A 61 /r ib", "io": "OF=W SF=W ZF=W AF=0 PF=0 CF=W"},
   1633       {"any": "pcmpestrm R:xmm, xmm/m128, imm8, W:<xmm0>, <eax>, <edx>"    , "op": "[RM] 66 0F 3A 60 /r ib", "io": "OF=W SF=W ZF=W AF=0 PF=0 CF=W"},
   1634       {"any": "pcmpgtq X:xmm, xmm/m128"                                    , "op": "[RM] 66 0F 38 37 /r"},
   1635       {"any": "pcmpistri R:xmm, xmm/m128, imm8, W:<ecx>"                   , "op": "[RM] 66 0F 3A 63 /r ib", "io": "OF=W SF=W ZF=W AF=0 PF=0 CF=W"},
   1636       {"any": "pcmpistrm R:xmm, xmm/m128, imm8, W:<xmm0>"                  , "op": "[RM] 66 0F 3A 62 /r ib", "io": "OF=W SF=W ZF=W AF=0 PF=0 CF=W"}
   1637     ]},
   1638 
   1639     {"category": "SSE SIMD", "ext": "SSE4A", "instructions": [
   1640       {"any": "extrq X:xmm, imm8, imm8"                                    , "op": "[R ] 66 0F 78 /0 ib ib"},
   1641       {"any": "extrq X:xmm, xmm"                                           , "op": "[RM] 66 0F 79 /r"},
   1642       {"any": "insertq X:xmm, xmm"                                         , "op": "[RM] F2 0F 79 /r"},
   1643       {"any": "insertq X:xmm, xmm, imm8, imm8"                             , "op": "[RM] F2 0F 78 /r ib ib"},
   1644       {"any": "movntsd W:m64, xmm[63:0]"                                   , "op": "[RM] F2 0F 2B /r"},
   1645       {"any": "movntss W:m32, xmm[31:0]"                                   , "op": "[RM] F3 0F 2B /r"}
   1646     ]},
   1647 
   1648     {"category": "SSE SIMD CRYPTO_HASH", "ext": "KL", "instructions": [
   1649       {"any": "loadiwkey R:xmm, R:xmm, R:<eax>, R:<xmm0>"                  , "op": "[RM] F3 0F 38 DC 11:rrr:bbb"   , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"}
   1650     ]},
   1651 
   1652     {"category": "SSE SIMD CRYPTO_HASH", "ext": "AESKLE", "instructions": [
   1653       {"any": "aesdec128kl X:xmm, R:m384"                                  , "op": "[RM] F3 0F 38 DD !(11):rrr:bbb", "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
   1654       {"any": "aesdec256kl X:xmm, R:m512"                                  , "op": "[RM] F3 0F 38 DF !(11):rrr:bbb", "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
   1655       {"any": "aesenc128kl X:xmm, R:m384"                                  , "op": "[RM] F3 0F 38 DC !(11):rrr:bbb", "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
   1656       {"any": "aesenc256kl X:xmm, R:m512"                                  , "op": "[RM] F3 0F 38 DE !(11):rrr:bbb", "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
   1657       {"___": "encodekey128 W:r32, R:r32, X:<xmm0>, W:<xmm1-6>"            , "op": "[RM] F3 0F 38 FA 11:rrr:bbb"   , "io": "OF=0 SF=0 ZF=0 AF=0 PF=0 CF=0"},
   1658       {"___": "encodekey256 W:r32, R:r32, X:<xmm0-1>, W:<xmm2-6>"          , "op": "[RM] F3 0F 38 FB 11:rrr:bbb"   , "io": "OF=0 SF=0 ZF=0 AF=0 PF=0 CF=0"}
   1659     ]},
   1660 
   1661     {"category": "SSE SIMD CRYPTO_HASH", "ext": "AESKLEWIDE_KL", "instructions": [
   1662       {"___": "aesdecwide128kl R:m384, X:<xmm0-7>"                         , "op": "[RM] F3 0F 38 D8 !(11):001:bbb", "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
   1663       {"___": "aesdecwide256kl R:m512, X:<xmm0-7>"                         , "op": "[RM] F3 0F 38 D8 !(11):011:bbb", "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
   1664       {"___": "aesencwide128kl R:m384, X:<xmm0-7>"                         , "op": "[RM] F3 0F 38 D8 !(11):000:bbb", "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"},
   1665       {"___": "aesencwide256kl R:m512, X:<xmm0-7>"                         , "op": "[RM] F3 0F 38 D8 !(11):010:bbb", "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=0"}
   1666     ]},
   1667 
   1668     {"category": "SSE SIMD CRYPTO_HASH", "ext": "AESNI", "instructions": [
   1669       {"any": "aesdec X:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 38 DE /r"},
   1670       {"any": "aesdeclast X:xmm, xmm/m128"                                 , "op": "[RM] 66 0F 38 DF /r"},
   1671       {"any": "aesenc X:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 38 DC /r"},
   1672       {"any": "aesenclast X:xmm, xmm/m128"                                 , "op": "[RM] 66 0F 38 DD /r"},
   1673       {"any": "aesimc W:xmm, xmm/m128"                                     , "op": "[RM] 66 0F 38 DB /r"},
   1674       {"any": "aeskeygenassist W:xmm, xmm/m128, imm8"                      , "op": "[RM] 66 0F 3A DF /r ib"}
   1675     ]},
   1676 
   1677     {"category": "SSE SIMD", "ext": "GFNI", "instructions": [
   1678       {"any": "gf2p8affineinvqb X:xmm, xmm/m128, imm8"                     , "op": "[RM] 66 0F 3A CF /r ib"},
   1679       {"any": "gf2p8affineqb X:xmm, xmm/m128, imm8"                        , "op": "[RM] 66 0F 3A CE /r ib"},
   1680       {"any": "gf2p8mulb X:xmm, xmm/m128"                                  , "op": "[RM] 66 0F 38 CF /r"}
   1681     ]},
   1682 
   1683     {"category": "SSE SIMD", "ext": "PCLMULQDQ", "instructions": [
   1684       {"any": "pclmulqdq X:xmm, xmm/m128, imm8"                            , "op": "[RM] 66 0F 3A 44 /r ib"}
   1685     ]},
   1686 
   1687     {"category": "SSE SIMD CRYPTO_HASH", "ext": "SHA", "instructions": [
   1688       {"any": "sha1msg1 xmm, xmm/m128"                                     , "op": "[RM] NP 0F 38 C9 /r"},
   1689       {"any": "sha1msg2 xmm, xmm/m128"                                     , "op": "[RM] NP 0F 38 CA /r"},
   1690       {"any": "sha1nexte xmm, xmm/m128"                                    , "op": "[RM] NP 0F 38 C8 /r"},
   1691       {"any": "sha1rnds4 xmm, xmm/m128, imm8"                              , "op": "[RM] NP 0F 3A CC /r ib"},
   1692       {"any": "sha256msg1 xmm, xmm/m128"                                   , "op": "[RM] NP 0F 38 CC /r"},
   1693       {"any": "sha256msg2 xmm, xmm/m128"                                   , "op": "[RM] NP 0F 38 CD /r"},
   1694       {"any": "sha256rnds2 xmm, xmm/m128, <xmm0>"                          , "op": "[RM] NP 0F 38 CB /r"}
   1695     ]},
   1696 
   1697     {"category": "AVX STATE", "ext": "AVX", "instructions": [
   1698       {"any": "vldmxcsr R:m32"                                             , "op": "[M  ] VEX.LZ.NP.0F.WIG AE /2", "io": "MXCSR=W"},
   1699       {"any": "vstmxcsr W:m32"                                             , "op": "[M  ] VEX.LZ.NP.0F.WIG AE /3", "io": "MXCSR=R"},
   1700       {"any": "vzeroall"                                                   , "op": "[OP ] VEX.256.NP.0F.WIG 77", "volatile": true},
   1701       {"any": "vzeroupper"                                                 , "op": "[OP ] VEX.128.NP.0F.WIG 77", "volatile": true}
   1702     ]},
   1703 
   1704     {"category": "AVX SIMD", "ext": "AVX", "instructions": [
   1705       {"any": "vaddpd W:xy, ~xy, ~xy/mxy"                                  , "op": "[RVM] VEX.Lxy.66.0F.WIG 58 /r"},
   1706       {"any": "vaddps W:xy, ~xy, ~xy/mxy"                                  , "op": "[RVM] VEX.Lxy.NP.0F.WIG 58 /r"},
   1707       {"any": "vaddsd W:xmm, xmm, xmm[63:0]/m64"                           , "op": "[RVM] VEX.LIG.F2.0F.WIG 58 /r"},
   1708       {"any": "vaddss W:xmm, xmm, xmm[31:0]/m32"                           , "op": "[RVM] VEX.LIG.F3.0F.WIG 58 /r"},
   1709       {"any": "vaddsubpd W:xy, xy, xy/mxy"                                 , "op": "[RVM] VEX.Lxy.66.0F.WIG D0 /r"},
   1710       {"any": "vaddsubps W:xy, xy, xy/mxy"                                 , "op": "[RVM] VEX.Lxy.F2.0F.WIG D0 /r"},
   1711       {"any": "vandnpd W:xy, xy, xy/mxy"                                   , "op": "[RVM] VEX.Lxy.66.0F.WIG 55 /r"},
   1712       {"any": "vandnps W:xy, xy, xy/mxy"                                   , "op": "[RVM] VEX.Lxy.NP.0F.WIG 55 /r"},
   1713       {"any": "vandpd W:xy, ~xy, ~xy/mxy"                                  , "op": "[RVM] VEX.Lxy.66.0F.WIG 54 /r"},
   1714       {"any": "vandps W:xy, ~xy, ~xy/mxy"                                  , "op": "[RVM] VEX.Lxy.NP.0F.WIG 54 /r"},
   1715       {"any": "vblendpd W:xy, xy, xy/mxy, imm8"                            , "op": "[RVM] VEX.Lxy.66.0F3A.WIG 0D /r ib"},
   1716       {"any": "vblendps W:xy, xy, xy/mxy, imm8"                            , "op": "[RVM] VEX.Lxy.66.0F3A.WIG 0C /r ib"},
   1717       {"any": "vblendvpd W:xy, xy, xy/mxy, xy"                             , "op": "[RVMS]VEX.Lxy.66.0F3A.W0 4B /r /is4"},
   1718       {"any": "vblendvps W:xy, xy, xy/mxy, xy"                             , "op": "[RVMS]VEX.Lxy.66.0F3A.W0 4A /r /is4"},
   1719       {"any": "vbroadcastf128 W:ymm, m128"                                 , "op": "[RM ] VEX.256.66.0F38.W0 1A /r"},
   1720       {"any": "vbroadcastsd W:ymm, m64"                                    , "op": "[RM ] VEX.256.66.0F38.W0 19 /r"},
   1721       {"any": "vbroadcastss W:xy, m32"                                     , "op": "[RM ] VEX.Lxy.66.0F38.W0 18 /r"},
   1722       {"any": "vcmppd W:xy, xy, xy/mxy, imm8"                              , "op": "[RVM] VEX.Lxy.66.0F.WIG C2 /r ib"},
   1723       {"any": "vcmpps W:xy, xy, xy/mxy, imm8"                              , "op": "[RVM] VEX.Lxy.NP.0F.WIG C2 /r ib"},
   1724       {"any": "vcmpsd W:xmm, xmm, xmm[63:0]/m64, imm8"                     , "op": "[RVM] VEX.LIG.F2.0F.WIG C2 /r ib"},
   1725       {"any": "vcmpss W:xmm, xmm, xmm[31:0]/m32, imm8"                     , "op": "[RVM] VEX.LIG.F3.0F.WIG C2 /r ib"},
   1726       {"any": "vcomisd R:xmm[63:0], xmm[63:0]/m64"                         , "op": "[RM ] VEX.LIG.66.0F.WIG 2F /r", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   1727       {"any": "vcomiss R:xmm[31:0], xmm[31:0]/m32"                         , "op": "[RM ] VEX.LIG.NP.0F.WIG 2F /r", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   1728       {"any": "vcvtdq2pd W:xmm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.128.F3.0F.WIG E6 /r"},
   1729       {"any": "vcvtdq2pd W:ymm, xmm/m128"                                  , "op": "[RM ] VEX.256.F3.0F.WIG E6 /r"},
   1730       {"any": "vcvtdq2ps W:xmm, xmm/m128"                                  , "op": "[RM ] VEX.128.NP.0F.WIG 5B /r"},
   1731       {"any": "vcvtdq2ps W:ymm, ymm/m256"                                  , "op": "[RM ] VEX.256.NP.0F.WIG 5B /r"},
   1732       {"any": "vcvtpd2dq W:xmm[63:0], xmm/m128"                            , "op": "[RM ] VEX.128.F2.0F.WIG E6 /r"},
   1733       {"any": "vcvtpd2dq W:xmm, ymm/m256"                                  , "op": "[RM ] VEX.256.F2.0F.WIG E6 /r"},
   1734       {"any": "vcvtpd2ps W:xmm[63:0], xmm/m128"                            , "op": "[RM ] VEX.128.66.0F.WIG 5A /r"},
   1735       {"any": "vcvtpd2ps W:xmm, ymm/m256"                                  , "op": "[RM ] VEX.256.66.0F.WIG 5A /r"},
   1736       {"any": "vcvtps2dq W:xmm, xmm/m128"                                  , "op": "[RM ] VEX.128.66.0F.WIG 5B /r"},
   1737       {"any": "vcvtps2dq W:ymm, ymm/m256"                                  , "op": "[RM ] VEX.256.66.0F.WIG 5B /r"},
   1738       {"any": "vcvtps2pd W:xmm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.128.NP.0F.WIG 5A /r"},
   1739       {"any": "vcvtps2pd W:ymm, xmm/m128"                                  , "op": "[RM ] VEX.256.NP.0F.WIG 5A /r"},
   1740       {"any": "vcvtsd2si W:ry, xmm[63:0]/m64"                              , "op": "[RM ] VEX.LIG.F2.0F.Wy 2D /r"},
   1741       {"any": "vcvtsd2ss W:xmm, xmm[127:32], xmm[63:0]/m64"                , "op": "[RVM] VEX.LIG.F2.0F.WIG 5A /r"},
   1742       {"any": "vcvtsi2sd W:xmm, xmm[127:64], ry/my"                        , "op": "[RVM] VEX.LIG.F2.0F.Wy 2A /r"},
   1743       {"any": "vcvtsi2ss W:xmm, xmm[127:32], ry/my"                        , "op": "[RVM] VEX.LIG.F3.0F.Wy 2A /r"},
   1744       {"any": "vcvtss2sd W:xmm, xmm[127:64], xmm[31:0]/m32"                , "op": "[RVM] VEX.LIG.F3.0F.WIG 5A /r"},
   1745       {"any": "vcvtss2si W:ry, xmm[31:0]/m32"                              , "op": "[RM ] VEX.LIG.F3.0F.Wy 2D /r"},
   1746       {"any": "vcvttpd2dq W:xmm[63:0], xmm/m128"                           , "op": "[RM ] VEX.128.66.0F.WIG E6 /r"},
   1747       {"any": "vcvttpd2dq W:xmm, ymm/m256"                                 , "op": "[RM ] VEX.256.66.0F.WIG E6 /r"},
   1748       {"any": "vcvttps2dq W:xmm, xmm/m128"                                 , "op": "[RM ] VEX.128.F3.0F.WIG 5B /r"},
   1749       {"any": "vcvttps2dq W:ymm, ymm/m256"                                 , "op": "[RM ] VEX.256.F3.0F.WIG 5B /r"},
   1750       {"any": "vcvttsd2si W:ry, xmm[63:0]/m64"                             , "op": "[RM ] VEX.LIG.F2.0F.Wy 2C /r"},
   1751       {"any": "vcvttss2si W:ry, xmm[31:0]/m32"                             , "op": "[RM ] VEX.LIG.F3.0F.Wy 2C /r"},
   1752       {"any": "vdivpd W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG 5E /r"},
   1753       {"any": "vdivpd W:ymm, ymm, ymm/m256"                                , "op": "[RVM] VEX.256.66.0F.WIG 5E /r"},
   1754       {"any": "vdivps W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.NP.0F.WIG 5E /r"},
   1755       {"any": "vdivps W:ymm, ymm, ymm/m256"                                , "op": "[RVM] VEX.256.NP.0F.WIG 5E /r"},
   1756       {"any": "vdivsd W:xmm, xmm, xmm[63:0]/m64"                           , "op": "[RVM] VEX.LIG.F2.0F.WIG 5E /r"},
   1757       {"any": "vdivss W:xmm, xmm, xmm[31:0]/m32"                           , "op": "[RVM] VEX.LIG.F3.0F.WIG 5E /r"},
   1758       {"any": "vdppd W:xmm, xmm, xmm/m128, imm8"                           , "op": "[RVM] VEX.128.66.0F3A.WIG 41 /r ib"},
   1759       {"any": "vdpps W:xy, xy, xy/mxy, imm8"                               , "op": "[RVM] VEX.Lxy.66.0F3A.WIG 40 /r ib"},
   1760       {"any": "vextractps W:r32[31:0]/m32, xmm, imm8"                      , "op": "[MR ] VEX.128.66.0F3A.WIG 17 /r ib"},
   1761       {"any": "vextractf128 W:xmm/m128, ymm, imm8"                         , "op": "[MR ] VEX.256.66.0F3A.W0 19 /r ib"},
   1762       {"any": "vhaddpd W:xy, ~xy, ~xy/mxy"                                 , "op": "[RVM] VEX.Lxy.66.0F.WIG 7C /r"},
   1763       {"any": "vhaddps W:xy, ~xy, ~xy/mxy"                                 , "op": "[RVM] VEX.Lxy.F2.0F.WIG 7C /r"},
   1764       {"any": "vhsubpd W:xy, xy, xy/mxy"                                   , "op": "[RVM] VEX.Lxy.66.0F.WIG 7D /r"},
   1765       {"any": "vhsubps W:xy, xy, xy/mxy"                                   , "op": "[RVM] VEX.Lxy.F2.0F.WIG 7D /r"},
   1766       {"any": "vinsertf128 W:ymm, ymm, xmm/m128, imm8"                     , "op": "[RVM] VEX.256.66.0F3A.W0 18 /r ib"},
   1767       {"any": "vinsertps W:xmm, xmm, xmm[31:0]/m32, imm8"                  , "op": "[RVM] VEX.128.66.0F3A.WIG 21 /r ib"},
   1768       {"any": "vlddqu W:xy, mxy"                                           , "op": "[RM ] VEX.Lxy.F2.0F.WIG F0 /r"},
   1769       {"any": "vmaskmovdqu R:xmm, xmm, X:<m128(ds:zdi)>"                   , "op": "[RM ] VEX.128.66.0F.WIG F7 /r"},
   1770       {"any": "vmaskmovpd X:mxy, xy, xy"                                   , "op": "[MVR] VEX.Lxy.66.0F38.W0 2F /r"},
   1771       {"any": "vmaskmovpd W:xy, xy, mxy"                                   , "op": "[RVM] VEX.Lxy.66.0F38.W0 2D /r"},
   1772       {"any": "vmaskmovps X:mxy, xy, xy"                                   , "op": "[MVR] VEX.Lxy.66.0F38.W0 2E /r"},
   1773       {"any": "vmaskmovps W:xy, xy, mxy"                                   , "op": "[RVM] VEX.Lxy.66.0F38.W0 2C /r"},
   1774       {"any": "vmaxpd W:xy, xy, xy/mxy"                                    , "op": "[RVM] VEX.Lxy.66.0F.WIG 5F /r"},
   1775       {"any": "vmaxps W:xy, xy, xy/mxy"                                    , "op": "[RVM] VEX.Lxy.NP.0F.WIG 5F /r"},
   1776       {"any": "vmaxsd W:xmm, xmm, xmm[63:0]/m64"                           , "op": "[RVM] VEX.LIG.F2.0F.WIG 5F /r"},
   1777       {"any": "vmaxss W:xmm, xmm, xmm[31:0]/m32"                           , "op": "[RVM] VEX.LIG.F3.0F.WIG 5F /r"},
   1778       {"any": "vminpd W:xy, xy, xy/mxy"                                    , "op": "[RVM] VEX.Lxy.66.0F.WIG 5D /r"},
   1779       {"any": "vminps W:xy, xy, xy/mxy"                                    , "op": "[RVM] VEX.Lxy.NP.0F.WIG 5D /r"},
   1780       {"any": "vminsd W:xmm, xmm, xmm[63:0]/m64"                           , "op": "[RVM] VEX.LIG.F2.0F.WIG 5D /r"},
   1781       {"any": "vminss W:xmm, xmm, xmm[31:0]/m32"                           , "op": "[RVM] VEX.LIG.F3.0F.WIG 5D /r"},
   1782       {"any": "vmovapd W:xy, xy/mxy"                                       , "op": "[RM ] VEX.Lxy.66.0F.WIG 28 /r"},
   1783       {"any": "vmovapd W:xy/mxy, xy"                                       , "op": "[MR ] VEX.Lxy.66.0F.WIG 29 /r"},
   1784       {"any": "vmovaps W:xy, xy/mxy"                                       , "op": "[RM ] VEX.Lxy.NP.0F.WIG 28 /r"},
   1785       {"any": "vmovaps W:xy/mxy, xy"                                       , "op": "[MR ] VEX.Lxy.NP.0F.WIG 29 /r"},
   1786       {"any": "vmovd W:r32[31:0]/m32, xmm[31:0]"                           , "op": "[MR ] VEX.128.66.0F.W0 7E /r"},
   1787       {"any": "vmovd W:xmm[31:0], r32[31:0]/m32"                           , "op": "[RM ] VEX.128.66.0F.W0 6E /r"},
   1788       {"any": "vmovddup W:xmm, xmm[63:0]/m64"                              , "op": "[RM ] VEX.128.F2.0F.WIG 12 /r"},
   1789       {"any": "vmovddup W:ymm, ymm/m256"                                   , "op": "[RM ] VEX.256.F2.0F.WIG 12 /r"},
   1790       {"any": "vmovdqa W:xy, xy/mxy"                                       , "op": "[RM ] VEX.Lxy.66.0F.WIG 6F /r"},
   1791       {"any": "vmovdqa W:xy/mxy, xy"                                       , "op": "[MR ] VEX.Lxy.66.0F.WIG 7F /r"},
   1792       {"any": "vmovdqu W:xy, xy/mxy"                                       , "op": "[RM ] VEX.Lxy.F3.0F.WIG 6F /r"},
   1793       {"any": "vmovdqu W:xy/mxy, xy"                                       , "op": "[MR ] VEX.Lxy.F3.0F.WIG 7F /r"},
   1794       {"any": "vmovhlps W:xmm, xmm[127:64], xmm[127:64]"                   , "op": "[RVM] VEX.128.NP.0F.WIG 12 /r"},
   1795       {"any": "vmovhpd W:m64, xmm[127:64]"                                 , "op": "[MR ] VEX.128.66.0F.WIG 17 /r"},
   1796       {"any": "vmovhpd W:xmm, xmm[63:0], m64"                              , "op": "[RVM] VEX.128.66.0F.WIG 16 /r"},
   1797       {"any": "vmovhps W:m64, xmm[127:64]"                                 , "op": "[MR ] VEX.128.NP.0F.WIG 17 /r"},
   1798       {"any": "vmovhps W:xmm, xmm[63:0], m64"                              , "op": "[RVM] VEX.128.NP.0F.WIG 16 /r"},
   1799       {"any": "vmovlhps W:xmm, xmm[63:0], xmm[63:0]"                       , "op": "[RVM] VEX.128.NP.0F.WIG 16 /r"},
   1800       {"any": "vmovlpd W:m64, xmm[63:0]"                                   , "op": "[MR ] VEX.128.66.0F.WIG 13 /r"},
   1801       {"any": "vmovlpd W:xmm, xmm[127:64], m64"                            , "op": "[RVM] VEX.128.66.0F.WIG 12 /r"},
   1802       {"any": "vmovlps W:m64, xmm[63:0]"                                   , "op": "[MR ] VEX.128.NP.0F.WIG 13 /r"},
   1803       {"any": "vmovlps W:xmm, xmm[127:64], m64"                            , "op": "[RVM] VEX.128.NP.0F.WIG 12 /r"},
   1804       {"any": "vmovmskpd W:r32[1:0], xmm"                                  , "op": "[RM ] VEX.128.66.0F.WIG 50 /r"},
   1805       {"any": "vmovmskpd W:r32[3:0], ymm"                                  , "op": "[RM ] VEX.256.66.0F.WIG 50 /r"},
   1806       {"any": "vmovmskps W:r32[3:0], xmm"                                  , "op": "[RM ] VEX.128.NP.0F.WIG 50 /r"},
   1807       {"any": "vmovmskps W:r32[7:0], ymm"                                  , "op": "[RM ] VEX.256.NP.0F.WIG 50 /r"},
   1808       {"any": "vmovntdq W:mxy, xy"                                         , "op": "[MR ] VEX.Lxy.66.0F.WIG E7 /r"},
   1809       {"any": "vmovntdqa W:xmm, m128"                                      , "op": "[RM ] VEX.128.66.0F38.WIG 2A /r"},
   1810       {"any": "vmovntpd W:mxy, xy"                                         , "op": "[MR ] VEX.Lxy.66.0F.WIG 2B /r"},
   1811       {"any": "vmovntps W:mxy, xy"                                         , "op": "[MR ] VEX.Lxy.NP.0F.WIG 2B /r"},
   1812       {"any": "vmovq W:r64/m64, xmm[63:0]"                                 , "op": "[MR ] VEX.128.66.0F.W1 7E /r"},
   1813       {"any": "vmovq W:xmm[63:0], xmm[63:0]/m64"                           , "op": "[RM ] VEX.128.F3.0F.WIG 7E /r"},
   1814       {"any": "vmovq W:xmm[63:0], r64/m64"                                 , "op": "[RM ] VEX.128.66.0F.W1 6E /r"},
   1815       {"any": "vmovq W:xmm[63:0]/m64, xmm[63:0]"                           , "op": "[MR ] VEX.128.66.0F.WIG D6 /r"},
   1816       {"any": "vmovsd W:m64, xmm[63:0]"                                    , "op": "[MR ] VEX.LIG.F2.0F.WIG 11 /r"},
   1817       {"any": "vmovsd W:xmm[63:0], m64"                                    , "op": "[RM ] VEX.LIG.F2.0F.WIG 10 /r"},
   1818       {"any": "vmovsd W:xmm, xmm[127:64], xmm[63:0]"                       , "op": "[MVR] VEX.LIG.F2.0F.WIG 11 /r"},
   1819       {"any": "vmovsd W:xmm, xmm[127:64], xmm[63:0]"                       , "op": "[RVM] VEX.LIG.F2.0F.WIG 10 /r"},
   1820       {"any": "vmovshdup W:xy, xy/mxy"                                     , "op": "[RM ] VEX.Lxy.F3.0F.WIG 16 /r"},
   1821       {"any": "vmovsldup W:xy, xy/mxy"                                     , "op": "[RM ] VEX.Lxy.F3.0F.WIG 12 /r"},
   1822       {"any": "vmovss W:m32, xmm[31:0]"                                    , "op": "[MR ] VEX.LIG.F3.0F.WIG 11 /r"},
   1823       {"any": "vmovss W:xmm[31:0], m32"                                    , "op": "[RM ] VEX.LIG.F3.0F.WIG 10 /r"},
   1824       {"any": "vmovss W:xmm, xmm[127:32], xmm[31:0]"                       , "op": "[MVR] VEX.LIG.F3.0F.WIG 11 /r"},
   1825       {"any": "vmovss W:xmm, xmm[127:32], xmm[31:0]"                       , "op": "[RVM] VEX.LIG.F3.0F.WIG 10 /r"},
   1826       {"any": "vmovupd W:xy, xy/mxy"                                       , "op": "[RM ] VEX.Lxy.NP.0F.WIG 10 /r"},
   1827       {"any": "vmovupd W:xy/mxy, xy"                                       , "op": "[MR ] VEX.Lxy.NP.0F.WIG 11 /r"},
   1828       {"any": "vmovups W:xy, xy/mxy"                                       , "op": "[RM ] VEX.Lxy.66.0F.WIG 10 /r"},
   1829       {"any": "vmovups W:xy/mxy, xy"                                       , "op": "[MR ] VEX.Lxy.66.0F.WIG 11 /r"},
   1830       {"any": "vmpsadbw W:xmm, xmm, xmm/m128, imm8"                        , "op": "[RVM] VEX.128.66.0F3A.WIG 42 /r ib"},
   1831       {"any": "vmulpd W:xy, ~xy, ~xy/mxy"                                  , "op": "[RVM] VEX.Lxy.66.0F.WIG 59 /r"},
   1832       {"any": "vmulps W:xy, ~xy, ~xy/mxy"                                  , "op": "[RVM] VEX.Lxy.NP.0F.WIG 59 /r"},
   1833       {"any": "vmulsd W:xmm, xmm, xmm[63:0]/m64"                           , "op": "[RVM] VEX.LIG.F2.0F.WIG 59 /r"},
   1834       {"any": "vmulss W:xmm, xmm, xmm[31:0]/m32"                           , "op": "[RVM] VEX.LIG.F3.0F.WIG 59 /r"},
   1835       {"any": "vorpd W:xy, ~xy, ~xy/mxy"                                   , "op": "[RVM] VEX.Lxy.66.0F.WIG 56 /r"},
   1836       {"any": "vorps W:xy, ~xy, ~xy/mxy"                                   , "op": "[RVM] VEX.Lxy.NP.0F.WIG 56 /r"},
   1837       {"any": "vpabsb W:xmm, xmm/m128"                                     , "op": "[RM ] VEX.128.66.0F38.WIG 1C /r"},
   1838       {"any": "vpabsd W:xmm, xmm/m128"                                     , "op": "[RM_] VEX.128.66.0F38.WIG 1E /r"},
   1839       {"any": "vpabsw W:xmm, xmm/m128"                                     , "op": "[RM ] VEX.128.66.0F38.WIG 1D /r"},
   1840       {"any": "vpackssdw W:xmm, xmm, xmm/m128"                             , "op": "[RVM] VEX.128.66.0F.WIG 6B /r"},
   1841       {"any": "vpacksswb W:xmm, xmm, xmm/m128"                             , "op": "[RVM] VEX.128.66.0F.WIG 63 /r"},
   1842       {"any": "vpackusdw W:xmm, xmm, xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 2B /r"},
   1843       {"any": "vpackuswb W:xmm, xmm, xmm/m128"                             , "op": "[RVM] VEX.128.66.0F.WIG 67 /r"},
   1844       {"any": "vpaddb W:xmm, ~xmm, ~xmm/m128"                              , "op": "[RVM] VEX.128.66.0F.WIG FC /r"},
   1845       {"any": "vpaddd W:xmm, ~xmm, ~xmm/m128"                              , "op": "[RVM] VEX.128.66.0F.WIG FE /r"},
   1846       {"any": "vpaddq W:xmm, ~xmm, ~xmm/m128"                              , "op": "[RVM] VEX.128.66.0F.WIG D4 /r"},
   1847       {"any": "vpaddsb W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F.WIG EC /r"},
   1848       {"any": "vpaddsw W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F.WIG ED /r"},
   1849       {"any": "vpaddusb W:xmm, ~xmm, ~xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG DC /r"},
   1850       {"any": "vpaddusw W:xmm, ~xmm, ~xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG DD /r"},
   1851       {"any": "vpaddw W:xmm, ~xmm, ~xmm/m128"                              , "op": "[RVM] VEX.128.66.0F.WIG FD /r"},
   1852       {"any": "vpalignr W:xmm, xmm, xmm/m128, imm8"                        , "op": "[RVM] VEX.128.66.0F3A.WIG 0F /r ib"},
   1853       {"any": "vpand W:xmm, ~xmm, ~xmm/m128"                               , "op": "[RVM] VEX.128.66.0F.WIG DB /r"},
   1854       {"any": "vpandn W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG DF /r"},
   1855       {"any": "vpavgb W:xmm, ~xmm, ~xmm/m128"                              , "op": "[RVM] VEX.128.66.0F.WIG E0 /r"},
   1856       {"any": "vpavgw W:xmm, ~xmm, ~xmm/m128"                              , "op": "[RVM] VEX.128.66.0F.WIG E3 /r"},
   1857       {"any": "vpblendvb W:xmm, xmm, xmm/m128, xmm"                        , "op": "[RVMS]VEX.128.66.0F3A.W0 4C /r /is4"},
   1858       {"any": "vpblendw W:xmm, xmm, xmm/m128, imm8"                        , "op": "[RVM] VEX.128.66.0F3A.WIG 0E /r ib"},
   1859       {"any": "vpcmpeqb W:xmm, ~xmm, ~xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG 74 /r"},
   1860       {"any": "vpcmpeqd W:xmm, ~xmm, ~xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG 76 /r"},
   1861       {"any": "vpcmpeqq W:xmm, ~xmm, ~xmm/m128"                            , "op": "[RVM] VEX.128.66.0F38.WIG 29 /r"},
   1862       {"any": "vpcmpeqw W:xmm, ~xmm, ~xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG 75 /r"},
   1863       {"any": "vpcmpestri R:xmm, xmm/m128, imm8, W:<ecx>, <eax>, <edx>"    , "op": "[RM ] VEX.128.66.0F3A.WIG 61 /r ib", "io": "OF=W SF=W ZF=W AF=0 PF=0 CF=W"},
   1864       {"any": "vpcmpestrm R:xmm, xmm/m128, imm8, W:<xmm0>, <eax>, <edx>"   , "op": "[RM ] VEX.128.66.0F3A.WIG 60 /r ib", "io": "OF=W SF=W ZF=W AF=0 PF=0 CF=W"},
   1865       {"any": "vpcmpgtb W:xmm, xmm, xmm/m128"                              , "op": "[RVM] VEX.128.66.0F.WIG 64 /r"},
   1866       {"any": "vpcmpgtd W:xmm, xmm, xmm/m128"                              , "op": "[RVM] VEX.128.66.0F.WIG 66 /r"},
   1867       {"any": "vpcmpgtq W:xmm, xmm, xmm/m128"                              , "op": "[RVM] VEX.128.66.0F38.WIG 37 /r"},
   1868       {"any": "vpcmpgtw W:xmm, xmm, xmm/m128"                              , "op": "[RVM] VEX.128.66.0F.WIG 65 /r"},
   1869       {"any": "vpcmpistri R:xmm, xmm/m128, imm8, W:<ecx>"                  , "op": "[RM ] VEX.128.66.0F3A.WIG 63 /r ib", "io": "OF=W SF=W ZF=W AF=0 PF=0 CF=W"},
   1870       {"any": "vpcmpistrm R:xmm, xmm/m128, imm8, W:<xmm0>"                 , "op": "[RM ] VEX.128.66.0F3A.WIG 62 /r ib", "io": "OF=W SF=W ZF=W AF=0 PF=0 CF=W"},
   1871       {"any": "vperm2f128 W:ymm, ymm, ymm/m256, imm8"                      , "op": "[RVM] VEX.256.66.0F3A.W0 06 /r ib"},
   1872       {"any": "vpermilpd W:xmm, xmm, xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.W0 0D /r"},
   1873       {"any": "vpermilpd W:xmm, xmm/m128, imm8"                            , "op": "[RM ] VEX.128.66.0F3A.W0 05 /r ib"},
   1874       {"any": "vpermilpd W:ymm, ymm, ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.W0 0D /r"},
   1875       {"any": "vpermilpd W:ymm, ymm/m256, imm8"                            , "op": "[RM ] VEX.256.66.0F3A.W0 05 /r ib"},
   1876       {"any": "vpermilps W:xmm, xmm, xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.W0 0C /r"},
   1877       {"any": "vpermilps W:xmm, xmm/m128, imm8"                            , "op": "[RM ] VEX.128.66.0F3A.W0 04 /r ib"},
   1878       {"any": "vpermilps W:ymm, ymm, ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.W0 0C /r"},
   1879       {"any": "vpermilps W:ymm, ymm/m256, imm8"                            , "op": "[RM ] VEX.256.66.0F3A.W0 04 /r ib"},
   1880       {"any": "vpextrb W:r32[7:0]/m8, xmm, imm8"                           , "op": "[MR ] VEX.128.66.0F3A.W0 14 /r ib"},
   1881       {"any": "vpextrd W:r32/m32, xmm, imm8"                               , "op": "[MR ] VEX.128.66.0F3A.W0 16 /r ib"},
   1882       {"any": "vpextrq W:r64/m64, xmm, imm8"                               , "op": "[MR ] VEX.128.66.0F3A.W1 16 /r ib"},
   1883       {"any": "vpextrw W:r32[15:0], xmm, imm8"                             , "op": "[RM ] VEX.128.66.0F.W0 C5 /r ib"},
   1884       {"any": "vpextrw W:r32[15:0]/m16, xmm, imm8"                         , "op": "[MR ] VEX.128.66.0F3A.W0 15 /r ib"},
   1885       {"any": "vphaddd W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 02 /r"},
   1886       {"any": "vphaddsw W:xmm, ~xmm, ~xmm/m128"                            , "op": "[RVM] VEX.128.66.0F38.WIG 03 /r"},
   1887       {"any": "vphaddw W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 01 /r"},
   1888       {"any": "vphminposuw W:xmm[18:0], xmm/m128"                          , "op": "[RM ] VEX.128.66.0F38.WIG 41 /r"},
   1889       {"any": "vphsubd W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.WIG 06 /r"},
   1890       {"any": "vphsubsw W:xmm, xmm, xmm/m128"                              , "op": "[RVM] VEX.128.66.0F38.WIG 07 /r"},
   1891       {"any": "vphsubw W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.WIG 05 /r"},
   1892       {"any": "vpinsrb W:xmm, xmm, r32[7:0]/m8, imm8"                      , "op": "[RVM] VEX.128.66.0F3A.W0 20 /r ib"},
   1893       {"any": "vpinsrd W:xmm, xmm, r32/m32, imm8"                          , "op": "[RVM] VEX.128.66.0F3A.W0 22 /r ib"},
   1894       {"any": "vpinsrq W:xmm, xmm, r64/m64, imm8"                          , "op": "[RVM] VEX.128.66.0F3A.W1 22 /r ib"},
   1895       {"any": "vpinsrw W:xmm, xmm, r32[15:0]/m16, imm8"                    , "op": "[RVM] VEX.128.66.0F.W0 C4 /r ib"},
   1896       {"any": "vpmaddubsw W:xmm, ~xmm, ~xmm/m128"                          , "op": "[RVM] VEX.128.66.0F38.WIG 04 /r"},
   1897       {"any": "vpmaddwd W:xmm, ~xmm, ~xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG F5 /r"},
   1898       {"any": "vpmaxsb W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 3C /r"},
   1899       {"any": "vpmaxsd W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 3D /r"},
   1900       {"any": "vpmaxsw W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F.WIG EE /r"},
   1901       {"any": "vpmaxub W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F.WIG DE /r"},
   1902       {"any": "vpmaxud W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 3F /r"},
   1903       {"any": "vpmaxuw W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 3E /r"},
   1904       {"any": "vpminsb W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 38 /r"},
   1905       {"any": "vpminsd W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 39 /r"},
   1906       {"any": "vpminsw W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F.WIG EA /r"},
   1907       {"any": "vpminub W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F.WIG DA /r"},
   1908       {"any": "vpminud W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 3B /r"},
   1909       {"any": "vpminuw W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 3A /r"},
   1910       {"any": "vpmovmskb W:r32[15:0], xmm"                                 , "op": "[RVM] VEX.128.66.0F.WIG D7 /r"},
   1911       {"any": "vpmovsxwq W:xmm, xmm[31:0]/m32"                             , "op": "[RM ] VEX.128.66.0F38.WIG 24 /r"},
   1912       {"any": "vpmovsxbd W:xmm, xmm[31:0]/m32"                             , "op": "[RM ] VEX.128.66.0F38.WIG 21 /r"},
   1913       {"any": "vpmovsxbq W:xmm, xmm[15:0]/m16"                             , "op": "[RM ] VEX.128.66.0F38.WIG 22 /r"},
   1914       {"any": "vpmovsxbw W:xmm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.128.66.0F38.WIG 20 /r"},
   1915       {"any": "vpmovsxdq W:xmm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.128.66.0F38.WIG 25 /r"},
   1916       {"any": "vpmovsxwd W:xmm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.128.66.0F38.WIG 23 /r"},
   1917       {"any": "vpmovzxbd W:xmm, xmm[31:0]/m32"                             , "op": "[RM ] VEX.128.66.0F38.WIG 31 /r"},
   1918       {"any": "vpmovzxbq W:xmm, xmm[15:0]/m16"                             , "op": "[RM ] VEX.128.66.0F38.WIG 32 /r"},
   1919       {"any": "vpmovzxbw W:xmm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.128.66.0F38.WIG 30 /r"},
   1920       {"any": "vpmovzxdq W:xmm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.128.66.0F38.WIG 35 /r"},
   1921       {"any": "vpmovzxwd W:xmm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.128.66.0F38.WIG 33 /r"},
   1922       {"any": "vpmovzxwq W:xmm, xmm[31:0]/m32"                             , "op": "[RM ] VEX.128.66.0F38.WIG 34 /r"},
   1923       {"any": "vpmuldq W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 28 /r"},
   1924       {"any": "vpmulhrsw W:xmm, ~xmm, ~xmm/m128"                           , "op": "[RVM] VEX.128.66.0F38.WIG 0B /r"},
   1925       {"any": "vpmulhuw W:xmm, ~xmm, ~xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG E4 /r"},
   1926       {"any": "vpmulhw W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F.WIG E5 /r"},
   1927       {"any": "vpmulld W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F38.WIG 40 /r"},
   1928       {"any": "vpmullw W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F.WIG D5 /r"},
   1929       {"any": "vpmuludq W:xmm, ~xmm, ~xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG F4 /r"},
   1930       {"any": "vpor W:xmm, ~xmm, ~xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG EB /r"},
   1931       {"any": "vpsadbw W:xmm, ~xmm, ~xmm/m128"                             , "op": "[RVM] VEX.128.66.0F.WIG F6 /r"},
   1932       {"any": "vpshufb W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.WIG 00 /r"},
   1933       {"any": "vpshufd W:xmm, xmm/m128, imm8"                              , "op": "[RM ] VEX.128.66.0F.WIG 70 /r ib"},
   1934       {"any": "vpshufhw W:xmm, xmm/m128, imm8"                             , "op": "[RM ] VEX.128.F3.0F.WIG 70 /r ib"},
   1935       {"any": "vpshuflw W:xmm, xmm/m128, imm8"                             , "op": "[RM ] VEX.128.F2.0F.WIG 70 /r ib"},
   1936       {"any": "vpsignb W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.WIG 08 /r"},
   1937       {"any": "vpsignd W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.WIG 0A /r"},
   1938       {"any": "vpsignw W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.WIG 09 /r"},
   1939       {"any": "vpslld W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG F2 /r"},
   1940       {"any": "vpslld W:xmm, xmm, imm8"                                    , "op": "[VM ] VEX.128.66.0F.WIG 72 /6 ib"},
   1941       {"any": "vpslldq W:xmm, xmm, imm8"                                   , "op": "[VM ] VEX.128.66.0F.WIG 73 /7 ib"},
   1942       {"any": "vpsllq W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG F3 /r"},
   1943       {"any": "vpsllq W:xmm, xmm, imm8"                                    , "op": "[VM ] VEX.128.66.0F.WIG 73 /6 ib"},
   1944       {"any": "vpsllw W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG F1 /r"},
   1945       {"any": "vpsllw W:xmm, xmm, imm8"                                    , "op": "[VM ] VEX.128.66.0F.WIG 71 /6 ib"},
   1946       {"any": "vpsrad W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG E2 /r"},
   1947       {"any": "vpsrad W:xmm, xmm, imm8"                                    , "op": "[VM ] VEX.128.66.0F.WIG 72 /4 ib"},
   1948       {"any": "vpsraw W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG E1 /r"},
   1949       {"any": "vpsraw W:xmm, xmm, imm8"                                    , "op": "[VM ] VEX.128.66.0F.WIG 71 /4 ib"},
   1950       {"any": "vpsrld W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG D2 /r"},
   1951       {"any": "vpsrld W:xmm, xmm, imm8"                                    , "op": "[VM ] VEX.128.66.0F.WIG 72 /2 ib"},
   1952       {"any": "vpsrldq W:xmm, xmm, imm8"                                   , "op": "[VM ] VEX.128.66.0F.WIG 73 /3 ib"},
   1953       {"any": "vpsrlq W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG D3 /r"},
   1954       {"any": "vpsrlq W:xmm, xmm, imm8"                                    , "op": "[VM ] VEX.128.66.0F.WIG 73 /2 ib"},
   1955       {"any": "vpsrlw W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG D1 /r"},
   1956       {"any": "vpsrlw W:xmm, xmm, imm8"                                    , "op": "[VM ] VEX.128.66.0F.WIG 71 /2 ib"},
   1957       {"any": "vpsubb W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG F8 /r"},
   1958       {"any": "vpsubd W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG FA /r"},
   1959       {"any": "vpsubq W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG FB /r"},
   1960       {"any": "vpsubsb W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F.WIG E8 /r"},
   1961       {"any": "vpsubsw W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F.WIG E9 /r"},
   1962       {"any": "vpsubusb W:xmm, xmm, xmm/m128"                              , "op": "[RVM] VEX.128.66.0F.WIG D8 /r"},
   1963       {"any": "vpsubusw W:xmm, xmm, xmm/m128"                              , "op": "[RVM] VEX.128.66.0F.WIG D9 /r"},
   1964       {"any": "vpsubw W:xmm, xmm, xmm/m128"                                , "op": "[RVM] VEX.128.66.0F.WIG F9 /r"},
   1965       {"any": "vptest R:~xy, ~xy/mxy"                                      , "op": "[RM ] VEX.Lxy.66.0F38.WIG 17 /r", "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=W"},
   1966       {"any": "vpunpckhbw W:xmm, xmm, xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG 68 /r"},
   1967       {"any": "vpunpckhdq W:xmm, xmm, xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG 6A /r"},
   1968       {"any": "vpunpckhqdq W:xmm, xmm, xmm/m128"                           , "op": "[RVM] VEX.128.66.0F.WIG 6D /r"},
   1969       {"any": "vpunpckhwd W:xmm, xmm, xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG 69 /r"},
   1970       {"any": "vpunpcklbw W:xmm, xmm, xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG 60 /r"},
   1971       {"any": "vpunpckldq W:xmm, xmm, xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG 62 /r"},
   1972       {"any": "vpunpcklqdq W:xmm, xmm, xmm/m128"                           , "op": "[RVM] VEX.128.66.0F.WIG 6C /r"},
   1973       {"any": "vpunpcklwd W:xmm, xmm, xmm/m128"                            , "op": "[RVM] VEX.128.66.0F.WIG 61 /r"},
   1974       {"any": "vpxor W:xmm, ~xmm, ~xmm/m128"                               , "op": "[RVM] VEX.128.66.0F.WIG EF /r"},
   1975       {"any": "vrcpps W:xy, xy/mxy"                                        , "op": "[RM ] VEX.Lxy.NP.0F.WIG 53 /r"},
   1976       {"any": "vrcpss W:xmm, xmm[127:32], xmm[31:0]/m32"                   , "op": "[RVM] VEX.LIG.F3.0F.WIG 53 /r"},
   1977       {"any": "vroundpd W:xy, xy/mxy, imm8"                                , "op": "[RM ] VEX.Lxy.66.0F3A.WIG 09 /r ib"},
   1978       {"any": "vroundps W:xy, xy/mxy, imm8"                                , "op": "[RM ] VEX.Lxy.66.0F3A.WIG 08 /r ib"},
   1979       {"any": "vroundsd W:xmm, xmm[127:64], xmm[63:0]/m64, imm8"           , "op": "[RVM] VEX.LIG.66.0F3A.WIG 0B /r ib"},
   1980       {"any": "vroundss W:xmm, xmm[127:32], xmm[31:0]/m32, imm8"           , "op": "[RVM] VEX.LIG.66.0F3A.WIG 0A /r ib"},
   1981       {"any": "vrsqrtps W:xy, xy/mxy"                                      , "op": "[RM ] VEX.Lxy.NP.0F.WIG 52 /r"},
   1982       {"any": "vrsqrtss W:xmm, xmm[127:32], xmm[31:0]/m32"                 , "op": "[RVM] VEX.LIG.F3.0F.WIG 52 /r"},
   1983       {"any": "vshufpd W:xy, xy, xy/mxy, imm8"                             , "op": "[RVM] VEX.Lxy.66.0F.WIG C6 /r ib"},
   1984       {"any": "vshufps W:xy, xy, xy/mxy, imm8"                             , "op": "[RVM] VEX.Lxy.NP.0F.WIG C6 /r ib"},
   1985       {"any": "vsqrtpd W:xy, xy/mxy"                                       , "op": "[RM ] VEX.Lxy.66.0F.WIG 51 /r"},
   1986       {"any": "vsqrtps W:xy, xy/mxy"                                       , "op": "[RM ] VEX.Lxy.NP.0F.WIG 51 /r"},
   1987       {"any": "vsqrtsd W:xmm, xmm[127:64], xmm[63:0]/m64"                  , "op": "[RVM] VEX.LIG.F2.0F.WIG 51 /r"},
   1988       {"any": "vsqrtss W:xmm, xmm[127:32], xmm[31:0]/m32"                  , "op": "[RVM] VEX.LIG.F3.0F.WIG 51 /r"},
   1989       {"any": "vsubpd W:xy, xy, xy/mxy"                                    , "op": "[RVM] VEX.Lxy.66.0F.WIG 5C /r"},
   1990       {"any": "vsubps W:xy, xy, xy/mxy"                                    , "op": "[RVM] VEX.Lxy.NP.0F.WIG 5C /r"},
   1991       {"any": "vsubsd W:xmm, xmm, xmm[63:0]/m64"                           , "op": "[RVM] VEX.LIG.F2.0F.WIG 5C /r"},
   1992       {"any": "vsubss W:xmm, xmm, xmm[31:0]/m32"                           , "op": "[RVM] VEX.LIG.F3.0F.WIG 5C /r"},
   1993       {"any": "vtestpd R:~xy, ~xy/mxy"                                     , "op": "[RM ] VEX.Lxy.66.0F38.W0 0F /r", "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=W"},
   1994       {"any": "vtestps R:~xy, ~xy/mxy"                                     , "op": "[RM ] VEX.Lxy.66.0F38.W0 0E /r", "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=W"},
   1995       {"any": "vucomisd R:xmm[63:0], xmm[63:0]/m64"                        , "op": "[RM ] VEX.LIG.66.0F.WIG 2E /r", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   1996       {"any": "vucomiss R:xmm[31:0], xmm[31:0]/m32"                        , "op": "[RM ] VEX.LIG.NP.0F.WIG 2E /r", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   1997       {"any": "vunpckhpd W:xy, xy, xy/mxy"                                 , "op": "[RVM] VEX.Lxy.66.0F.WIG 15 /r"},
   1998       {"any": "vunpckhps W:xy, xy, xy/mxy"                                 , "op": "[RVM] VEX.Lxy.NP.0F.WIG 15 /r"},
   1999       {"any": "vunpcklpd W:xy, xy, xy/mxy"                                 , "op": "[RVM] VEX.Lxy.66.0F.WIG 14 /r"},
   2000       {"any": "vunpcklps W:xy, xy, xy/mxy"                                 , "op": "[RVM] VEX.Lxy.NP.0F.WIG 14 /r"},
   2001       {"any": "vxorpd W:xy, ~xy, ~xy/mxy"                                  , "op": "[RVM] VEX.Lxy.66.0F.WIG 57 /r"},
   2002       {"any": "vxorps W:xy, ~xy, ~xy/mxy"                                  , "op": "[RVM] VEX.Lxy.NP.0F.WIG 57 /r"}
   2003     ]},
   2004 
   2005     {"category": "AVX SIMD CRYPTO_HASH", "ext": "AVX AESNI", "instructions": [
   2006       {"any": "vaesdec W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.WIG DE /r"},
   2007       {"any": "vaesdeclast W:xmm, xmm, xmm/m128"                           , "op": "[RVM] VEX.128.66.0F38.WIG DF /r"},
   2008       {"any": "vaesenc W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.WIG DC /r"},
   2009       {"any": "vaesenclast W:xmm, xmm, xmm/m128"                           , "op": "[RVM] VEX.128.66.0F38.WIG DD /r"},
   2010       {"any": "vaesimc W:xmm, xmm/m128"                                    , "op": "[RVM] VEX.128.66.0F38.WIG DB /r"},
   2011       {"any": "vaeskeygenassist W:xmm, xmm/m128, imm8"                     , "op": "[RVM] VEX.128.66.0F3A.WIG DF /r ib"}
   2012     ]},
   2013 
   2014     {"category": "AVX SIMD CRYPTO_HASH", "ext": "VAES", "instructions": [
   2015       {"any": "vaesdec W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.WIG DE /r"},
   2016       {"any": "vaesdeclast W:ymm, ymm, ymm/m256"                           , "op": "[RVM] VEX.256.66.0F38.WIG DF /r"},
   2017       {"any": "vaesenc W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.WIG DC /r"},
   2018       {"any": "vaesenclast W:ymm, ymm, ymm/m256"                           , "op": "[RVM] VEX.256.66.0F38.WIG DD /r"}
   2019     ]},
   2020 
   2021     {"category": "AVX SIMD", "ext": "AVX GFNI", "instructions": [
   2022       {"any": "vgf2p8affineinvqb W:xy, R:xy, R:xy/mxy, imm8"               , "op": "[RVM] VEX.Lxy.66.0F3A.W1 CF /r ib"},
   2023       {"any": "vgf2p8affineqb    W:xy, R:xy, R:xy/mxy, imm8"               , "op": "[RVM] VEX.Lxy.66.0F3A.W1 CE /r ib"},
   2024       {"any": "vgf2p8mulb        W:xy, R:xy, R:xy/mxy"                     , "op": "[RVM] VEX.Lxy.66.0F38.W0 CF /r"}
   2025     ]},
   2026 
   2027     {"category": "AVX SIMD", "ext": "AVX2", "instructions": [
   2028       {"any": "vbroadcasti128 W:ymm, m128"                                 , "op": "[RM ] VEX.256.66.0F38.W0 5A /r"},
   2029       {"any": "vbroadcastsd W:ymm, xmm[63:0]"                              , "op": "[RM ] VEX.256.66.0F38.W0 19 /r"},
   2030       {"any": "vbroadcastss W:xmm, xmm[31:0]"                              , "op": "[RM ] VEX.128.66.0F38.W0 18 /r"},
   2031       {"any": "vbroadcastss W:ymm, xmm[31:0]"                              , "op": "[RM ] VEX.256.66.0F38.W0 18 /r"},
   2032       {"any": "vextracti128 W:xmm/m128, ymm, imm8"                         , "op": "[MR ] VEX.256.66.0F3A.W0 39 /r ib"},
   2033       {"any": "vgatherdpd X:xmm, vm32x, X:xmm"                             , "op": "[RMV] VEX.128.66.0F38.W1 92 /r"},
   2034       {"any": "vgatherdpd X:ymm, vm32x, X:ymm"                             , "op": "[RMV] VEX.256.66.0F38.W1 92 /r"},
   2035       {"any": "vgatherdps X:xmm, vm32x, X:xmm"                             , "op": "[RMV] VEX.128.66.0F38.W0 92 /r"},
   2036       {"any": "vgatherdps X:ymm, vm32y, X:ymm"                             , "op": "[RMV] VEX.256.66.0F38.W0 92 /r"},
   2037       {"any": "vgatherqpd X:xmm, vm64x, X:xmm"                             , "op": "[RMV] VEX.128.66.0F38.W1 93 /r"},
   2038       {"any": "vgatherqpd X:ymm, vm64y, X:ymm"                             , "op": "[RMV] VEX.256.66.0F38.W1 93 /r"},
   2039       {"any": "vgatherqps X:xmm, vm64x, X:xmm"                             , "op": "[RMV] VEX.128.66.0F38.W0 93 /r"},
   2040       {"any": "vgatherqps X:xmm, vm64y, X:xmm"                             , "op": "[RMV] VEX.256.66.0F38.W0 93 /r"},
   2041       {"any": "vinserti128 W:ymm, ymm, xmm/m128, imm8"                     , "op": "[RVM] VEX.256.66.0F3A.W0 38 /r ib"},
   2042       {"any": "vmovntdqa W:ymm, m256"                                      , "op": "[RM ] VEX.256.66.0F38.WIG 2A /r"},
   2043       {"any": "vmpsadbw W:ymm, ymm, ymm/m256, imm8"                        , "op": "[RVM] VEX.256.66.0F3A.WIG 42 /r ib"},
   2044       {"any": "vpabsb W:ymm, ymm/m256"                                     , "op": "[RM ] VEX.256.66.0F38.WIG 1C /r"},
   2045       {"any": "vpabsd W:ymm, ymm/m256"                                     , "op": "[RM ] VEX.256.66.0F38.WIG 1E /r"},
   2046       {"any": "vpabsw W:ymm, ymm/m256"                                     , "op": "[RM ] VEX.256.66.0F38.WIG 1D /r"},
   2047       {"any": "vpackssdw W:ymm, ymm, ymm/m256"                             , "op": "[RVM] VEX.256.66.0F.WIG 6B /r"},
   2048       {"any": "vpacksswb W:ymm, ymm, ymm/m256"                             , "op": "[RVM] VEX.256.66.0F.WIG 63 /r"},
   2049       {"any": "vpackusdw W:ymm, ymm, ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 2B /r"},
   2050       {"any": "vpackuswb W:ymm, ymm, ymm/m256"                             , "op": "[RVM] VEX.256.66.0F.WIG 67 /r"},
   2051       {"any": "vpaddb W:ymm, ~ymm, ~ymm/m256"                              , "op": "[RVM] VEX.256.66.0F.WIG FC /r"},
   2052       {"any": "vpaddd W:ymm, ~ymm, ~ymm/m256"                              , "op": "[RVM] VEX.256.66.0F.WIG FE /r"},
   2053       {"any": "vpaddq W:ymm, ~ymm, ~ymm/m256"                              , "op": "[RVM] VEX.256.66.0F.WIG D4 /r"},
   2054       {"any": "vpaddsb W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F.WIG EC /r"},
   2055       {"any": "vpaddsw W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F.WIG ED /r"},
   2056       {"any": "vpaddusb W:ymm, ~ymm, ~ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG DC /r"},
   2057       {"any": "vpaddusw W:ymm, ~ymm, ~ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG DD /r"},
   2058       {"any": "vpaddw W:ymm, ~ymm, ~ymm/m256"                              , "op": "[RVM] VEX.256.66.0F.WIG FD /r"},
   2059       {"any": "vpalignr W:ymm, ymm, ymm/m256, imm8"                        , "op": "[RVM] VEX.256.66.0F3A.WIG 0F /r ib"},
   2060       {"any": "vpand W:ymm, ~ymm, ~ymm/m256"                               , "op": "[RVM] VEX.256.66.0F.WIG DB /r"},
   2061       {"any": "vpandn W:ymm, ymm, ymm/m256"                                , "op": "[RVM] VEX.256.66.0F.WIG DF /r"},
   2062       {"any": "vpavgb W:ymm, ~ymm, ~ymm/m256"                              , "op": "[RVM] VEX.256.66.0F.WIG E0 /r"},
   2063       {"any": "vpavgw W:ymm, ~ymm, ~ymm/m256"                              , "op": "[RVM] VEX.256.66.0F.WIG E3 /r"},
   2064       {"any": "vpblendd W:xmm, xmm, xmm/m128, imm8"                        , "op": "[RVM] VEX.128.66.0F3A.W0 02 /r ib"},
   2065       {"any": "vpblendd W:ymm, ymm, ymm/m256, imm8"                        , "op": "[RVM] VEX.256.66.0F3A.W0 02 /r ib"},
   2066       {"any": "vpblendvb W:ymm, ymm, ymm/m256, ymm"                        , "op": "[RVMS]VEX.256.66.0F3A.W0 4C /r /is4"},
   2067       {"any": "vpblendw W:ymm, ymm, ymm/m256, imm8"                        , "op": "[RVM] VEX.256.66.0F3A.WIG 0E /r ib"},
   2068       {"any": "vpbroadcastb W:xmm, xmm[7:0]/m8"                            , "op": "[RM ] VEX.128.66.0F38.W0 78 /r"},
   2069       {"any": "vpbroadcastb W:ymm, xmm[7:0]/m8"                            , "op": "[RM ] VEX.256.66.0F38.W0 78 /r"},
   2070       {"any": "vpbroadcastd W:xmm, xmm[31:0]/m32"                          , "op": "[RM ] VEX.128.66.0F38.W0 58 /r"},
   2071       {"any": "vpbroadcastd W:ymm, xmm[31:0]/m32"                          , "op": "[RM ] VEX.256.66.0F38.W0 58 /r"},
   2072       {"any": "vpbroadcastq W:xmm, xmm[63:0]/m64"                          , "op": "[RM ] VEX.128.66.0F38.W0 59 /r"},
   2073       {"any": "vpbroadcastq W:ymm, xmm[63:0]/m64"                          , "op": "[RM ] VEX.256.66.0F38.W0 59 /r"},
   2074       {"any": "vpbroadcastw W:xmm, xmm[15:0]/m16"                          , "op": "[RM ] VEX.128.66.0F38.W0 79 /r"},
   2075       {"any": "vpbroadcastw W:ymm, xmm[15:0]/m16"                          , "op": "[RM ] VEX.256.66.0F38.W0 79 /r"},
   2076       {"any": "vpcmpeqb W:ymm, ~ymm, ~ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG 74 /r"},
   2077       {"any": "vpcmpeqd W:ymm, ~ymm, ~ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG 76 /r"},
   2078       {"any": "vpcmpeqq W:ymm, ~ymm, ~ymm/m256"                            , "op": "[RVM] VEX.256.66.0F38.WIG 29 /r"},
   2079       {"any": "vpcmpeqw W:ymm, ~ymm, ~ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG 75 /r"},
   2080       {"any": "vpcmpgtb W:ymm, ymm, ymm/m256"                              , "op": "[RVM] VEX.256.66.0F.WIG 64 /r"},
   2081       {"any": "vpcmpgtd W:ymm, ymm, ymm/m256"                              , "op": "[RVM] VEX.256.66.0F.WIG 66 /r"},
   2082       {"any": "vpcmpgtq W:ymm, ymm, ymm/m256"                              , "op": "[RVM] VEX.256.66.0F38.WIG 37 /r"},
   2083       {"any": "vpcmpgtw W:ymm, ymm, ymm/m256"                              , "op": "[RVM] VEX.256.66.0F.WIG 65 /r"},
   2084       {"any": "vperm2i128 W:ymm, ymm, ymm/m256, imm8"                      , "op": "[RVM] VEX.256.66.0F3A.W0 46 /r ib"},
   2085       {"any": "vpermd W:ymm, ymm, ymm/m256"                                , "op": "[RVM] VEX.256.66.0F38.W0 36 /r"},
   2086       {"any": "vpermpd W:ymm, ymm/m256, imm8"                              , "op": "[RM ] VEX.256.66.0F3A.W1 01 /r ib"},
   2087       {"any": "vpermps W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.W0 16 /r"},
   2088       {"any": "vpermq W:ymm, ymm/m256, imm8"                               , "op": "[RM ] VEX.256.66.0F3A.W1 00 /r ib"},
   2089       {"any": "vpgatherdd X:xmm, vm32x, X:xmm"                             , "op": "[RMV] VEX.128.66.0F38.W0 90 /r"},
   2090       {"any": "vpgatherdd X:ymm, vm32y, X:ymm"                             , "op": "[RMV] VEX.256.66.0F38.W0 90 /r"},
   2091       {"any": "vpgatherdq X:xmm, vm32x, X:xmm"                             , "op": "[RMV] VEX.128.66.0F38.W1 90 /r"},
   2092       {"any": "vpgatherdq X:ymm, vm32x, X:ymm"                             , "op": "[RMV] VEX.256.66.0F38.W1 90 /r"},
   2093       {"any": "vpgatherqd X:xmm, vm64x, X:xmm"                             , "op": "[RMV] VEX.128.66.0F38.W0 91 /r"},
   2094       {"any": "vpgatherqd X:xmm, vm64y, X:xmm"                             , "op": "[RMV] VEX.256.66.0F38.W0 91 /r"},
   2095       {"any": "vpgatherqq X:xmm, vm64x, X:xmm"                             , "op": "[RMV] VEX.128.66.0F38.W1 91 /r"},
   2096       {"any": "vpgatherqq X:ymm, vm64y, X:ymm"                             , "op": "[RMV] VEX.256.66.0F38.W1 91 /r"},
   2097       {"any": "vphaddd W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 02 /r"},
   2098       {"any": "vphaddsw W:ymm, ~ymm, ~ymm/m256"                            , "op": "[RVM] VEX.256.66.0F38.WIG 03 /r"},
   2099       {"any": "vphaddw W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 01 /r"},
   2100       {"any": "vphsubd W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.WIG 06 /r"},
   2101       {"any": "vphsubsw W:ymm, ymm, ymm/m256"                              , "op": "[RVM] VEX.256.66.0F38.WIG 07 /r"},
   2102       {"any": "vphsubw W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.WIG 05 /r"},
   2103       {"any": "vpmaddubsw W:ymm, ~ymm, ~ymm/m256"                          , "op": "[RVM] VEX.256.66.0F38.WIG 04 /r"},
   2104       {"any": "vpmaddwd W:ymm, ~ymm, ~ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG F5 /r"},
   2105       {"any": "vpmaskmovd X:m128, xmm, xmm"                                , "op": "[MVR] VEX.128.66.0F38.W0 8E /r"},
   2106       {"any": "vpmaskmovd X:m256, ymm, ymm"                                , "op": "[MVR] VEX.256.66.0F38.W0 8E /r"},
   2107       {"any": "vpmaskmovd W:xmm, xmm, m128"                                , "op": "[RVM] VEX.128.66.0F38.W0 8C /r"},
   2108       {"any": "vpmaskmovd W:ymm, ymm, m256"                                , "op": "[RVM] VEX.256.66.0F38.W0 8C /r"},
   2109       {"any": "vpmaskmovq X:m128, xmm, xmm"                                , "op": "[MVR] VEX.128.66.0F38.W1 8E /r"},
   2110       {"any": "vpmaskmovq X:m256, ymm, ymm"                                , "op": "[MVR] VEX.256.66.0F38.W1 8E /r"},
   2111       {"any": "vpmaskmovq W:xmm, xmm, m128"                                , "op": "[RVM] VEX.128.66.0F38.W1 8C /r"},
   2112       {"any": "vpmaskmovq W:ymm, ymm, m256"                                , "op": "[RVM] VEX.256.66.0F38.W1 8C /r"},
   2113       {"any": "vpmaxsb W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 3C /r"},
   2114       {"any": "vpmaxsd W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 3D /r"},
   2115       {"any": "vpmaxsw W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F.WIG EE /r"},
   2116       {"any": "vpmaxub W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F.WIG DE /r"},
   2117       {"any": "vpmaxud W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 3F /r"},
   2118       {"any": "vpmaxuw W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 3E /r"},
   2119       {"any": "vpminsb W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 38 /r"},
   2120       {"any": "vpminsd W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 39 /r"},
   2121       {"any": "vpminsw W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F.WIG EA /r"},
   2122       {"any": "vpminub W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F.WIG DA /r"},
   2123       {"any": "vpminud W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 3B /r"},
   2124       {"any": "vpminuw W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 3A /r"},
   2125       {"any": "vpmovmskb W:r32[31:0], ymm"                                 , "op": "[RVM] VEX.256.66.0F.WIG D7 /r"},
   2126       {"any": "vpmovsxbd W:ymm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.256.66.0F38.WIG 21 /r"},
   2127       {"any": "vpmovsxbq W:ymm, xmm[31:0]/m32"                             , "op": "[RM ] VEX.256.66.0F38.WIG 22 /r"},
   2128       {"any": "vpmovsxbw W:ymm, xmm/m128"                                  , "op": "[RM ] VEX.256.66.0F38.WIG 20 /r"},
   2129       {"any": "vpmovsxdq W:ymm, xmm/m128"                                  , "op": "[RM ] VEX.256.66.0F38.WIG 25 /r"},
   2130       {"any": "vpmovsxwd W:ymm, xmm/m128"                                  , "op": "[RM ] VEX.256.66.0F38.WIG 23 /r"},
   2131       {"any": "vpmovsxwq W:ymm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.256.66.0F38.WIG 24 /r"},
   2132       {"any": "vpmovzxbd W:ymm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.256.66.0F38.WIG 31 /r"},
   2133       {"any": "vpmovzxbq W:ymm, xmm[31:0]/m32"                             , "op": "[RM ] VEX.256.66.0F38.WIG 32 /r"},
   2134       {"any": "vpmovzxbw W:ymm, xmm/m128"                                  , "op": "[RM ] VEX.256.66.0F38.WIG 30 /r"},
   2135       {"any": "vpmovzxdq W:ymm, xmm/m128"                                  , "op": "[RM ] VEX.256.66.0F38.WIG 35 /r"},
   2136       {"any": "vpmovzxwd W:ymm, xmm/m128"                                  , "op": "[RM ] VEX.256.66.0F38.WIG 33 /r"},
   2137       {"any": "vpmovzxwq W:ymm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.256.66.0F38.WIG 34 /r"},
   2138       {"any": "vpmuldq W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 28 /r"},
   2139       {"any": "vpmulhrsw W:ymm, ~ymm, ~ymm/m256"                           , "op": "[RVM] VEX.256.66.0F38.WIG 0B /r"},
   2140       {"any": "vpmulhuw W:ymm, ~ymm, ~ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG E4 /r"},
   2141       {"any": "vpmulhw W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F.WIG E5 /r"},
   2142       {"any": "vpmulld W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F38.WIG 40 /r"},
   2143       {"any": "vpmullw W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F.WIG D5 /r"},
   2144       {"any": "vpmuludq W:ymm, ~ymm, ~ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG F4 /r"},
   2145       {"any": "vpor W:ymm, ~ymm, ~ymm/m256"                                , "op": "[RVM] VEX.256.66.0F.WIG EB /r"},
   2146       {"any": "vpsadbw W:ymm, ~ymm, ~ymm/m256"                             , "op": "[RVM] VEX.256.66.0F.WIG F6 /r"},
   2147       {"any": "vpshufb W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.WIG 00 /r"},
   2148       {"any": "vpshufd W:ymm, ymm/m256, imm8"                              , "op": "[RM ] VEX.256.66.0F.WIG 70 /r ib"},
   2149       {"any": "vpshufhw W:ymm, ymm/m256, imm8"                             , "op": "[RM ] VEX.256.F3.0F.WIG 70 /r ib"},
   2150       {"any": "vpshuflw W:ymm, ymm/m256, imm8"                             , "op": "[RM ] VEX.256.F2.0F.WIG 70 /r ib"},
   2151       {"any": "vpsignb W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.WIG 08 /r"},
   2152       {"any": "vpsignd W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.WIG 0A /r"},
   2153       {"any": "vpsignw W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.WIG 09 /r"},
   2154       {"any": "vpslld W:ymm, ymm, xmm/m128"                                , "op": "[RVM] VEX.256.66.0F.WIG F2 /r"},
   2155       {"any": "vpslld W:ymm, ymm, imm8"                                    , "op": "[VM ] VEX.256.66.0F.WIG 72 /6 ib"},
   2156       {"any": "vpslldq W:ymm, ymm, imm8"                                   , "op": "[VM ] VEX.256.66.0F.WIG 73 /7 ib"},
   2157       {"any": "vpsllq W:ymm, ymm, xmm/m128"                                , "op": "[RVM] VEX.256.66.0F.WIG F3 /r"},
   2158       {"any": "vpsllq W:ymm, ymm, imm8"                                    , "op": "[VM ] VEX.256.66.0F.WIG 73 /6 ib"},
   2159       {"any": "vpsllvd W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.W0 47 /r"},
   2160       {"any": "vpsllvd W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.W0 47 /r"},
   2161       {"any": "vpsllvq W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.W1 47 /r"},
   2162       {"any": "vpsllvq W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.W1 47 /r"},
   2163       {"any": "vpsllw W:ymm, ymm, xmm/m128"                                , "op": "[RVM] VEX.256.66.0F.WIG F1 /r"},
   2164       {"any": "vpsllw W:ymm, ymm, imm8"                                    , "op": "[VM ] VEX.256.66.0F.WIG 71 /6 ib"},
   2165       {"any": "vpsrad W:ymm, ymm, xmm/m128"                                , "op": "[RVM] VEX.256.66.0F.WIG E2 /r"},
   2166       {"any": "vpsrad W:ymm, ymm, imm8"                                    , "op": "[VM ] VEX.256.66.0F.WIG 72 /4 ib"},
   2167       {"any": "vpsravd W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.W0 46 /r"},
   2168       {"any": "vpsravd W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.W0 46 /r"},
   2169       {"any": "vpsraw W:ymm, ymm, xmm/m128"                                , "op": "[RVM] VEX.256.66.0F.WIG E1 /r"},
   2170       {"any": "vpsraw W:ymm, ymm, imm8"                                    , "op": "[VM ] VEX.256.66.0F.WIG 71 /4 ib"},
   2171       {"any": "vpsrld W:ymm, ymm, xmm/m128"                                , "op": "[RVM] VEX.256.66.0F.WIG D2 /r"},
   2172       {"any": "vpsrld W:ymm, ymm, imm8"                                    , "op": "[VM ] VEX.256.66.0F.WIG 72 /2 ib"},
   2173       {"any": "vpsrldq W:ymm, ymm, imm8"                                   , "op": "[VM ] VEX.256.66.0F.WIG 73 /3 ib"},
   2174       {"any": "vpsrlq W:ymm, ymm, xmm/m128"                                , "op": "[RVM] VEX.256.66.0F.WIG D3 /r"},
   2175       {"any": "vpsrlq W:ymm, ymm, imm8"                                    , "op": "[VM ] VEX.256.66.0F.WIG 73 /2 ib"},
   2176       {"any": "vpsrlvd W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.W0 45 /r"},
   2177       {"any": "vpsrlvd W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.W0 45 /r"},
   2178       {"any": "vpsrlvq W:xmm, xmm, xmm/m128"                               , "op": "[RVM] VEX.128.66.0F38.W1 45 /r"},
   2179       {"any": "vpsrlvq W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F38.W1 45 /r"},
   2180       {"any": "vpsrlw W:ymm, ymm, xmm/m128"                                , "op": "[RVM] VEX.256.66.0F.WIG D1 /r"},
   2181       {"any": "vpsrlw W:ymm, ymm, imm8"                                    , "op": "[VM ] VEX.256.66.0F.WIG 71 /2 ib"},
   2182       {"any": "vpsubb W:ymm, ymm, ymm/m256"                                , "op": "[RVM] VEX.256.66.0F.WIG F8 /r"},
   2183       {"any": "vpsubd W:ymm, ymm, ymm/m256"                                , "op": "[RVM] VEX.256.66.0F.WIG FA /r"},
   2184       {"any": "vpsubq W:ymm, ymm, ymm/m256"                                , "op": "[RVM] VEX.256.66.0F.WIG FB /r"},
   2185       {"any": "vpsubsb W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F.WIG E8 /r"},
   2186       {"any": "vpsubsw W:ymm, ymm, ymm/m256"                               , "op": "[RVM] VEX.256.66.0F.WIG E9 /r"},
   2187       {"any": "vpsubusb W:ymm, ymm, ymm/m256"                              , "op": "[RVM] VEX.256.66.0F.WIG D8 /r"},
   2188       {"any": "vpsubusw W:ymm, ymm, ymm/m256"                              , "op": "[RVM] VEX.256.66.0F.WIG D9 /r"},
   2189       {"any": "vpsubw W:ymm, ymm, ymm/m256"                                , "op": "[RVM] VEX.256.66.0F.WIG F9 /r"},
   2190       {"any": "vpunpckhbw W:ymm, ymm, ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG 68 /r"},
   2191       {"any": "vpunpckhdq W:ymm, ymm, ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG 6A /r"},
   2192       {"any": "vpunpckhqdq W:ymm, ymm, ymm/m256"                           , "op": "[RVM] VEX.256.66.0F.WIG 6D /r"},
   2193       {"any": "vpunpckhwd W:ymm, ymm, ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG 69 /r"},
   2194       {"any": "vpunpcklbw W:ymm, ymm, ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG 60 /r"},
   2195       {"any": "vpunpckldq W:ymm, ymm, ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG 62 /r"},
   2196       {"any": "vpunpcklqdq W:ymm, ymm, ymm/m256"                           , "op": "[RVM] VEX.256.66.0F.WIG 6C /r"},
   2197       {"any": "vpunpcklwd W:ymm, ymm, ymm/m256"                            , "op": "[RVM] VEX.256.66.0F.WIG 61 /r"},
   2198       {"any": "vpxor W:ymm, ~ymm, ~ymm/m256"                               , "op": "[RVM] VEX.256.66.0F.WIG EF /r"}
   2199     ]},
   2200 
   2201     {"category": "AVX SIMD", "ext": "F16C", "instructions": [
   2202       {"any": "vcvtph2ps W:xmm, xmm[63:0]/m64"                             , "op": "[RM ] VEX.128.66.0F38.W0 13 /r"},
   2203       {"any": "vcvtph2ps W:ymm, xmm/m128"                                  , "op": "[RM ] VEX.256.66.0F38.W0 13 /r"},
   2204       {"any": "vcvtps2ph W:xmm[63:0]/m64, xmm, imm8"                       , "op": "[MR ] VEX.128.66.0F3A.W0 1D /r ib"},
   2205       {"any": "vcvtps2ph W:xmm/m128, ymm, imm8"                            , "op": "[MR ] VEX.256.66.0F3A.W0 1D /r ib"}
   2206     ]},
   2207 
   2208     {"category": "AVX SIMD", "ext": "FMA", "instructions": [
   2209       {"any": "vfmadd132pd X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W1 98 /r"},
   2210       {"any": "vfmadd132ps X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W0 98 /r"},
   2211       {"any": "vfmadd132sd x:xmm[63:0], xmm[63:0], xmm[63:0]/m64"          , "op": "[RVM] VEX.LIG.66.0F38.W1 99 /r"},
   2212       {"any": "vfmadd132ss x:xmm[31:0], xmm[31:0], xmm[31:0]/m32"          , "op": "[RVM] VEX.LIG.66.0F38.W0 99 /r"},
   2213       {"any": "vfmadd213pd X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W1 A8 /r"},
   2214       {"any": "vfmadd213ps X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W0 A8 /r"},
   2215       {"any": "vfmadd213sd x:xmm[63:0], xmm[63:0], xmm[63:0]/m64"          , "op": "[RVM] VEX.LIG.66.0F38.W1 A9 /r"},
   2216       {"any": "vfmadd213ss x:xmm[31:0], xmm[31:0], xmm[31:0]/m32"          , "op": "[RVM] VEX.LIG.66.0F38.W0 A9 /r"},
   2217       {"any": "vfmadd231pd X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W1 B8 /r"},
   2218       {"any": "vfmadd231ps X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W0 B8 /r"},
   2219       {"any": "vfmadd231sd x:xmm[63:0], xmm[63:0], xmm[63:0]/m64"          , "op": "[RVM] VEX.LIG.66.0F38.W1 B9 /r"},
   2220       {"any": "vfmadd231ss x:xmm[31:0], xmm[31:0], xmm[31:0]/m32"          , "op": "[RVM] VEX.LIG.66.0F38.W0 B9 /r"},
   2221       {"any": "vfmaddsub132pd X:xy, xy, xy/mxy"                            , "op": "[RVM] VEX.Lxy.66.0F38.W1 96 /r"},
   2222       {"any": "vfmaddsub132ps X:xy, xy, xy/mxy"                            , "op": "[RVM] VEX.Lxy.66.0F38.W0 96 /r"},
   2223       {"any": "vfmaddsub213pd X:xy, xy, xy/mxy"                            , "op": "[RVM] VEX.Lxy.66.0F38.W1 A6 /r"},
   2224       {"any": "vfmaddsub213ps X:xy, xy, xy/mxy"                            , "op": "[RVM] VEX.Lxy.66.0F38.W0 A6 /r"},
   2225       {"any": "vfmaddsub231pd X:xy, xy, xy/mxy"                            , "op": "[RVM] VEX.Lxy.66.0F38.W1 B6 /r"},
   2226       {"any": "vfmaddsub231ps X:xy, xy, xy/mxy"                            , "op": "[RVM] VEX.Lxy.66.0F38.W0 B6 /r"},
   2227       {"any": "vfmsub132pd X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W1 9A /r"},
   2228       {"any": "vfmsub132ps X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W0 9A /r"},
   2229       {"any": "vfmsub132sd x:xmm[63:0], xmm[63:0], xmm[63:0]/m64"          , "op": "[RVM] VEX.LIG.66.0F38.W1 9B /r"},
   2230       {"any": "vfmsub132ss x:xmm[31:0], xmm[31:0], xmm[31:0]/m32"          , "op": "[RVM] VEX.LIG.66.0F38.W0 9B /r"},
   2231       {"any": "vfmsub213pd X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W1 AA /r"},
   2232       {"any": "vfmsub213ps X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W0 AA /r"},
   2233       {"any": "vfmsub213sd x:xmm[63:0], xmm[63:0], xmm[63:0]/m64"          , "op": "[RVM] VEX.LIG.66.0F38.W1 AB /r"},
   2234       {"any": "vfmsub213ss x:xmm[31:0], xmm[31:0], xmm[31:0]/m32"          , "op": "[RVM] VEX.LIG.66.0F38.W0 AB /r"},
   2235       {"any": "vfmsub231pd X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W1 BA /r"},
   2236       {"any": "vfmsub231ps X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W0 BA /r"},
   2237       {"any": "vfmsub231sd x:xmm[63:0], xmm[63:0], xmm[63:0]/m64"          , "op": "[RVM] VEX.LIG.66.0F38.W1 BB /r"},
   2238       {"any": "vfmsub231ss x:xmm[31:0], xmm[31:0], xmm[31:0]/m32"          , "op": "[RVM] VEX.LIG.66.0F38.W0 BB /r"},
   2239       {"any": "vfmsubadd132pd X:xy, xy, xy/mxy"                            , "op": "[RVM] VEX.Lxy.66.0F38.W1 97 /r"},
   2240       {"any": "vfmsubadd132ps X:xy, xy, xy/mxy"                            , "op": "[RVM] VEX.Lxy.66.0F38.W0 97 /r"},
   2241       {"any": "vfmsubadd213pd X:xy, xy, xy/mxy"                            , "op": "[RVM] VEX.Lxy.66.0F38.W1 A7 /r"},
   2242       {"any": "vfmsubadd213ps X:xy, xy, xy/mxy"                            , "op": "[RVM] VEX.Lxy.66.0F38.W0 A7 /r"},
   2243       {"any": "vfmsubadd231pd X:xy, xy, xy/mxy"                            , "op": "[RVM] VEX.Lxy.66.0F38.W1 B7 /r"},
   2244       {"any": "vfmsubadd231ps X:xy, xy, xy/mxy"                            , "op": "[RVM] VEX.Lxy.66.0F38.W0 B7 /r"},
   2245       {"any": "vfnmadd132pd X:xy, xy, xy/mxy"                              , "op": "[RVM] VEX.Lxy.66.0F38.W1 9C /r"},
   2246       {"any": "vfnmadd132ps X:xy, xy, xy/mxy"                              , "op": "[RVM] VEX.Lxy.66.0F38.W0 9C /r"},
   2247       {"any": "vfnmadd132sd x:xmm[63:0], xmm[63:0], xmm[63:0]/m64"         , "op": "[RVM] VEX.LIG.66.0F38.W1 9D /r"},
   2248       {"any": "vfnmadd132ss x:xmm[31:0], xmm[31:0], xmm[31:0]/m32"         , "op": "[RVM] VEX.LIG.66.0F38.W0 9D /r"},
   2249       {"any": "vfnmadd213pd X:xy, xy, xy/mxy"                              , "op": "[RVM] VEX.Lxy.66.0F38.W1 AC /r"},
   2250       {"any": "vfnmadd213ps X:xy, xy, xy/mxy"                              , "op": "[RVM] VEX.Lxy.66.0F38.W0 AC /r"},
   2251       {"any": "vfnmadd213sd x:xmm[63:0], xmm[63:0], xmm[63:0]/m64"         , "op": "[RVM] VEX.LIG.66.0F38.W1 AD /r"},
   2252       {"any": "vfnmadd213ss x:xmm[31:0], xmm[31:0], xmm[31:0]/m32"         , "op": "[RVM] VEX.LIG.66.0F38.W0 AD /r"},
   2253       {"any": "vfnmadd231pd X:xy, xy, xy/mxy"                              , "op": "[RVM] VEX.Lxy.66.0F38.W1 BC /r"},
   2254       {"any": "vfnmadd231ps X:xy, xy, xy/mxy"                              , "op": "[RVM] VEX.Lxy.66.0F38.W0 BC /r"},
   2255       {"any": "vfnmadd231sd x:xmm[63:0], xmm[63:0], xmm[63:0]/m64"         , "op": "[RVM] VEX.LIG.66.0F38.W1 BD /r"},
   2256       {"any": "vfnmadd231ss x:xmm[31:0], xmm[31:0], xmm[31:0]/m32"         , "op": "[RVM] VEX.LIG.66.0F38.W0 BD /r"},
   2257       {"any": "vfnmsub132pd X:xy, xy, xy/mxy"                              , "op": "[RVM] VEX.Lxy.66.0F38.W1 9E /r"},
   2258       {"any": "vfnmsub132ps X:xy, xy, xy/mxy"                              , "op": "[RVM] VEX.Lxy.66.0F38.W0 9E /r"},
   2259       {"any": "vfnmsub132sd x:xmm[63:0], xmm[63:0], xmm[63:0]/m64"         , "op": "[RVM] VEX.LIG.66.0F38.W1 9F /r"},
   2260       {"any": "vfnmsub132ss x:xmm[31:0], xmm[31:0], xmm[31:0]/m32"         , "op": "[RVM] VEX.LIG.66.0F38.W0 9F /r"},
   2261       {"any": "vfnmsub213pd X:xy, xy, xy/mxy"                              , "op": "[RVM] VEX.Lxy.66.0F38.W1 AE /r"},
   2262       {"any": "vfnmsub213ps X:xy, xy, xy/mxy"                              , "op": "[RVM] VEX.Lxy.66.0F38.W0 AE /r"},
   2263       {"any": "vfnmsub213sd x:xmm[63:0], xmm[63:0], xmm[63:0]/m64"         , "op": "[RVM] VEX.LIG.66.0F38.W1 AF /r"},
   2264       {"any": "vfnmsub213ss x:xmm[31:0], xmm[31:0], xmm[31:0]/m32"         , "op": "[RVM] VEX.LIG.66.0F38.W0 AF /r"},
   2265       {"any": "vfnmsub231pd X:xy, xy, xy/mxy"                              , "op": "[RVM] VEX.Lxy.66.0F38.W1 BE /r"},
   2266       {"any": "vfnmsub231ps X:xy, xy, xy/mxy"                              , "op": "[RVM] VEX.Lxy.66.0F38.W0 BE /r"},
   2267       {"any": "vfnmsub231sd x:xmm[63:0], xmm[63:0], xmm[63:0]/m64"         , "op": "[RVM] VEX.LIG.66.0F38.W1 BF /r"},
   2268       {"any": "vfnmsub231ss x:xmm[31:0], xmm[31:0], xmm[31:0]/m32"         , "op": "[RVM] VEX.LIG.66.0F38.W0 BF /r"}
   2269     ]},
   2270 
   2271     {"category": "AVX SIMD", "ext": "FMA4", "deprecated": true, "instructions": [
   2272       {"any": "vfmaddpd W:xy, xy, xy, xy/mxy"                              , "op": "[RVSM] VEX.Lxy.66.0F3A.W1 69 /r /is4"},
   2273       {"any": "vfmaddpd W:xy, xy, xy/mxy, xy"                              , "op": "[RVMS] VEX.Lxy.66.0F3A.W0 69 /r /is4"},
   2274       {"any": "vfmaddps W:xy, xy, xy, xy/mxy"                              , "op": "[RVSM] VEX.Lxy.66.0F3A.W1 68 /r /is4"},
   2275       {"any": "vfmaddps W:xy, xy, xy/mxy, xy"                              , "op": "[RVMS] VEX.Lxy.66.0F3A.W0 68 /r /is4"},
   2276       {"any": "vfmaddsd W:xmm[63:0], xmm[63:0], xmm[63:0], xmm[63:0]/m64"  , "op": "[RVSM] VEX.128.66.0F3A.W1 6b /r /is4"},
   2277       {"any": "vfmaddsd W:xmm[63:0], xmm[63:0], xmm[63:0]/m64, xmm[63:0]"  , "op": "[RVMS] VEX.128.66.0F3A.W0 6b /r /is4"},
   2278       {"any": "vfmaddss W:xmm[31:0], xmm[31:0], xmm[31:0], xmm[31:0]/m32"  , "op": "[RVSM] VEX.128.66.0F3A.W1 6a /r /is4"},
   2279       {"any": "vfmaddss W:xmm[31:0], xmm[31:0], xmm[31:0]/m32, xmm[31:0]"  , "op": "[RVMS] VEX.128.66.0F3A.W0 6a /r /is4"},
   2280       {"any": "vfmaddsubpd W:xy, xy, xy, xy/mxy"                           , "op": "[RVSM] VEX.Lxy.66.0F3A.W1 5D /r /is4"},
   2281       {"any": "vfmaddsubpd W:xy, xy, xy/mxy, xy"                           , "op": "[RVMS] VEX.Lxy.66.0F3A.W0 5D /r /is4"},
   2282       {"any": "vfmaddsubps W:xy, xy, xy, xy/mxy"                           , "op": "[RVSM] VEX.Lxy.66.0F3A.W1 5C /r /is4"},
   2283       {"any": "vfmaddsubps W:xy, xy, xy/mxy, xy"                           , "op": "[RVMS] VEX.Lxy.66.0F3A.W0 5C /r /is4"},
   2284       {"any": "vfmsubaddpd W:xy, xy, xy, xy/mxy"                           , "op": "[RVSM] VEX.Lxy.66.0F3A.W1 5F /r /is4"},
   2285       {"any": "vfmsubaddpd W:xy, xy, xy/mxy, xy"                           , "op": "[RVMS] VEX.Lxy.66.0F3A.W0 5F /r /is4"},
   2286       {"any": "vfmsubaddps W:xy, xy, xy, xy/mxy"                           , "op": "[RVSM] VEX.Lxy.66.0F3A.W1 5E /r /is4"},
   2287       {"any": "vfmsubaddps W:xy, xy, xy/mxy, xy"                           , "op": "[RVMS] VEX.Lxy.66.0F3A.W0 5E /r /is4"},
   2288       {"any": "vfmsubpd W:xy, xy, xy, xy/mxy"                              , "op": "[RVSM] VEX.Lxy.66.0F3A.W1 6D /r /is4"},
   2289       {"any": "vfmsubpd W:xy, xy, xy/mxy, xy"                              , "op": "[RVMS] VEX.Lxy.66.0F3A.W0 6D /r /is4"},
   2290       {"any": "vfmsubps W:xy, xy, xy, xy/mxy"                              , "op": "[RVSM] VEX.Lxy.66.0F3A.W1 6C /r /is4"},
   2291       {"any": "vfmsubps W:xy, xy, xy/mxy, xy"                              , "op": "[RVMS] VEX.Lxy.66.0F3A.W0 6C /r /is4"},
   2292       {"any": "vfmsubsd W:xmm[63:0], xmm[63:0], xmm[63:0], xmm[63:0]/m64"  , "op": "[RVSM] VEX.128.66.0F3A.W1 6F /r /is4"},
   2293       {"any": "vfmsubsd W:xmm[63:0], xmm[63:0], xmm[63:0]/m64, xmm[63:0]"  , "op": "[RVMS] VEX.128.66.0F3A.W0 6F /r /is4"},
   2294       {"any": "vfmsubss W:xmm[31:0], xmm[31:0], xmm[31:0], xmm[31:0]/m32"  , "op": "[RVSM] VEX.128.66.0F3A.W1 6E /r /is4"},
   2295       {"any": "vfmsubss W:xmm[31:0], xmm[31:0], xmm[31:0]/m32, xmm[31:0]"  , "op": "[RVMS] VEX.128.66.0F3A.W0 6E /r /is4"},
   2296       {"any": "vfnmaddpd W:xy, xy, xy, xy/mxy"                             , "op": "[RVSM] VEX.Lxy.66.0F3A.W1 79 /r /is4"},
   2297       {"any": "vfnmaddpd W:xy, xy, xy/mxy, xy"                             , "op": "[RVMS] VEX.Lxy.66.0F3A.W0 79 /r /is4"},
   2298       {"any": "vfnmaddps W:xy, xy, xy, xy/mxy"                             , "op": "[RVSM] VEX.Lxy.66.0F3A.W1 78 /r /is4"},
   2299       {"any": "vfnmaddps W:xy, xy, xy/mxy, xy"                             , "op": "[RVMS] VEX.Lxy.66.0F3A.W0 78 /r /is4"},
   2300       {"any": "vfnmaddsd W:xmm[63:0], xmm[63:0], xmm[63:0], xmm[63:0]/m64" , "op": "[RVSM] VEX.128.66.0F3A.W1 7B /r /is4"},
   2301       {"any": "vfnmaddsd W:xmm[63:0], xmm[63:0], xmm[63:0]/m64, xmm[63:0]" , "op": "[RVMS] VEX.128.66.0F3A.W0 7B /r /is4"},
   2302       {"any": "vfnmaddss W:xmm[31:0], xmm[31:0], xmm[31:0], xmm[31:0]/m32" , "op": "[RVSM] VEX.128.66.0F3A.W1 7A /r /is4"},
   2303       {"any": "vfnmaddss W:xmm[31:0], xmm[31:0], xmm[31:0]/m32, xmm[31:0]" , "op": "[RVMS] VEX.128.66.0F3A.W0 7A /r /is4"},
   2304       {"any": "vfnmsubpd W:xy, xy, xy, xy/mxy"                             , "op": "[RVSM] VEX.Lxy.66.0F3A.W1 7D /r /is4"},
   2305       {"any": "vfnmsubpd W:xy, xy, xy/mxy, xy"                             , "op": "[RVMS] VEX.Lxy.66.0F3A.W0 7D /r /is4"},
   2306       {"any": "vfnmsubps W:xy, xy, xy, xy/mxy"                             , "op": "[RVSM] VEX.Lxy.66.0F3A.W1 7C /r /is4"},
   2307       {"any": "vfnmsubps W:xy, xy, xy/mxy, xy"                             , "op": "[RVMS] VEX.Lxy.66.0F3A.W0 7C /r /is4"},
   2308       {"any": "vfnmsubsd W:xmm[63:0], xmm[63:0], xmm[63:0], xmm[63:0]/m64" , "op": "[RVSM] VEX.128.66.0F3A.W1 7F /r /is4"},
   2309       {"any": "vfnmsubsd W:xmm[63:0], xmm[63:0], xmm[63:0]/m64, xmm[63:0]" , "op": "[RVMS] VEX.128.66.0F3A.W0 7F /r /is4"},
   2310       {"any": "vfnmsubss W:xmm[31:0], xmm[31:0], xmm[31:0], xmm[31:0]/m32" , "op": "[RVSM] VEX.128.66.0F3A.W1 7E /r /is4"},
   2311       {"any": "vfnmsubss W:xmm[31:0], xmm[31:0], xmm[31:0]/m32, xmm[31:0]" , "op": "[RVMS] VEX.128.66.0F3A.W0 7E /r /is4"}
   2312     ]},
   2313 
   2314     {"category": "AVX SIMD", "ext": "XOP", "deprecated": true, "instructions": [
   2315       {"any": "vfrczpd W:xmm, xmm/m128"                                    , "op": "[RM ] XOP.128.P0.MAP9.W0 81 /r"},
   2316       {"any": "vfrczpd W:ymm, ymm/m256"                                    , "op": "[RM ] XOP.256.P0.MAP9.W0 81 /r"},
   2317       {"any": "vfrczps W:xmm, xmm/m128"                                    , "op": "[RM ] XOP.128.P0.MAP9.W0 80 /r"},
   2318       {"any": "vfrczps W:ymm, ymm/m256"                                    , "op": "[RM ] XOP.256.P0.MAP9.W0 80 /r"},
   2319       {"any": "vfrczsd W:xmm[63:0], xmm[63:0]/m64"                         , "op": "[RM ] XOP.128.P0.MAP9.W0 83 /r"},
   2320       {"any": "vfrczss W:xmm[31:0], xmm[31:0]/m32"                         , "op": "[RM ] XOP.128.P0.MAP9.W0 82 /r"},
   2321       {"any": "vpcmov W:xmm, xmm, xmm, xmm/m128"                           , "op": "[RVSM]XOP.128.P0.MAP8.W1 A2 /r /is4"},
   2322       {"any": "vpcmov W:xmm, xmm, xmm/m128, xmm"                           , "op": "[RVMS]XOP.128.P0.MAP8.W0 A2 /r /is4"},
   2323       {"any": "vpcmov W:ymm, ymm, ymm, ymm/m256"                           , "op": "[RVSM]XOP.256.P0.MAP8.W1 A2 /r /is4"},
   2324       {"any": "vpcmov W:ymm, ymm, ymm/m256, ymm"                           , "op": "[RVMS]XOP.256.P0.MAP8.W0 A2 /r /is4"},
   2325       {"any": "vpcomb W:xmm, xmm, xmm/m128, imm8"                          , "op": "[RVM] XOP.128.P0.MAP8.W0 CC /r ib"},
   2326       {"any": "vpcomd W:xmm, xmm, xmm/m128, imm8"                          , "op": "[RVM] XOP.128.P0.MAP8.W0 CE /r ib"},
   2327       {"any": "vpcomq W:xmm, xmm, xmm/m128, imm8"                          , "op": "[RVM] XOP.128.P0.MAP8.W0 CF /r ib"},
   2328       {"any": "vpcomub W:xmm, xmm, xmm/m128, imm8"                         , "op": "[RVM] XOP.128.P0.MAP8.W0 EC /r ib"},
   2329       {"any": "vpcomud W:xmm, xmm, xmm/m128, imm8"                         , "op": "[RVM] XOP.128.P0.MAP8.W0 EE /r ib"},
   2330       {"any": "vpcomuq W:xmm, xmm, xmm/m128, imm8"                         , "op": "[RVM] XOP.128.P0.MAP8.W0 EF /r ib"},
   2331       {"any": "vpcomuw W:xmm, xmm, xmm/m128, imm8"                         , "op": "[RVM] XOP.128.P0.MAP8.W0 ED /r ib"},
   2332       {"any": "vpcomw W:xmm, xmm, xmm/m128, imm8"                          , "op": "[RVM] XOP.128.P0.MAP8.W0 CD /r ib"},
   2333       {"any": "vpermil2pd W:xmm, xmm, xmm/m128, xmm, imm4"                 , "op": "[RVMS]VEX.128.66.0F3A.W0 49 /r /is4"},
   2334       {"any": "vpermil2pd W:xmm, xmm, xmm, xmm/m128, imm4"                 , "op": "[RVSM]VEX.128.66.0F3A.W1 49 /r /is4"},
   2335       {"any": "vpermil2pd W:ymm, ymm, ymm/m256, ymm, imm4"                 , "op": "[RVMS]VEX.256.66.0F3A.W0 49 /r /is4"},
   2336       {"any": "vpermil2pd W:ymm, ymm, ymm, ymm/m256, imm4"                 , "op": "[RVSM]VEX.256.66.0F3A.W1 49 /r /is4"},
   2337       {"any": "vpermil2ps W:xmm, xmm, xmm/m128, xmm, imm4"                 , "op": "[RVMS]VEX.128.66.0F3A.W0 48 /r /is4"},
   2338       {"any": "vpermil2ps W:xmm, xmm, xmm, xmm/m128, imm4"                 , "op": "[RVSM]VEX.128.66.0F3A.W1 48 /r /is4"},
   2339       {"any": "vpermil2ps W:ymm, ymm, ymm/m256, ymm, imm4"                 , "op": "[RVMS]VEX.256.66.0F3A.W0 48 /r /is4"},
   2340       {"any": "vpermil2ps W:ymm, ymm, ymm, ymm/m256, imm4"                 , "op": "[RVSM]VEX.256.66.0F3A.W1 48 /r /is4"},
   2341       {"any": "vphaddbd W:xmm, xmm/m128"                                   , "op": "[RM ] XOP.128.P0.MAP9.W0 C2 /r"},
   2342       {"any": "vphaddbq W:xmm, xmm/m128"                                   , "op": "[RM ] XOP.128.P0.MAP9.W0 C3 /r"},
   2343       {"any": "vphaddbw W:xmm, xmm/m128"                                   , "op": "[RM ] XOP.128.P0.MAP9.W0 C1 /r"},
   2344       {"any": "vphadddq W:xmm, xmm/m128"                                   , "op": "[RM ] XOP.128.P0.MAP9.W0 CB /r"},
   2345       {"any": "vphaddubd W:xmm, xmm/m128"                                  , "op": "[RM ] XOP.128.P0.MAP9.W0 D2 /r"},
   2346       {"any": "vphaddubq W:xmm, xmm/m128"                                  , "op": "[RM ] XOP.128.P0.MAP9.W0 D3 /r"},
   2347       {"any": "vphaddubw W:xmm, xmm/m128"                                  , "op": "[RM ] XOP.128.P0.MAP9.W0 D1 /r"},
   2348       {"any": "vphaddudq W:xmm, xmm/m128"                                  , "op": "[RM ] XOP.128.P0.MAP9.W0 DB /r"},
   2349       {"any": "vphadduwd W:xmm, xmm/m128"                                  , "op": "[RM ] XOP.128.P0.MAP9.W0 D6 /r"},
   2350       {"any": "vphadduwq W:xmm, xmm/m128"                                  , "op": "[RM ] XOP.128.P0.MAP9.W0 D7 /r"},
   2351       {"any": "vphaddwd W:xmm, xmm/m128"                                   , "op": "[RM ] XOP.128.P0.MAP9.W0 C6 /r"},
   2352       {"any": "vphaddwq W:xmm, xmm/m128"                                   , "op": "[RM ] XOP.128.P0.MAP9.W0 C7 /r"},
   2353       {"any": "vphsubbw W:xmm, xmm/m128"                                   , "op": "[RM ] XOP.128.P0.MAP9.W0 E1 /r"},
   2354       {"any": "vphsubdq W:xmm, xmm/m128"                                   , "op": "[RM ] XOP.128.P0.MAP9.W0 E3 /r"},
   2355       {"any": "vphsubwd W:xmm, xmm/m128"                                   , "op": "[RM ] XOP.128.P0.MAP9.W0 E2 /r"},
   2356       {"any": "vpmacsdd W:xmm, xmm, xmm/m128, xmm"                         , "op": "[RVMS]XOP.128.P0.MAP8.W0 9E /r /is4"},
   2357       {"any": "vpmacsdqh W:xmm, xmm, xmm/m128, xmm"                        , "op": "[RVMS]XOP.128.P0.MAP8.W0 9F /r /is4"},
   2358       {"any": "vpmacsdql W:xmm, xmm, xmm/m128, xmm"                        , "op": "[RVMS]XOP.128.P0.MAP8.W0 97 /r /is4"},
   2359       {"any": "vpmacssdd W:xmm, xmm, xmm/m128, xmm"                        , "op": "[RVMS]XOP.128.P0.MAP8.W0 8E /r /is4"},
   2360       {"any": "vpmacssdqh W:xmm, xmm, xmm/m128, xmm"                       , "op": "[RVMS]XOP.128.P0.MAP8.W0 8F /r /is4"},
   2361       {"any": "vpmacssdql W:xmm, xmm, xmm/m128, xmm"                       , "op": "[RVMS]XOP.128.P0.MAP8.W0 87 /r /is4"},
   2362       {"any": "vpmacsswd W:xmm, xmm, xmm/m128, xmm"                        , "op": "[RVMS]XOP.128.P0.MAP8.W0 86 /r /is4"},
   2363       {"any": "vpmacssww W:xmm, xmm, xmm/m128, xmm"                        , "op": "[RVMS]XOP.128.P0.MAP8.W0 85 /r /is4"},
   2364       {"any": "vpmacswd W:xmm, xmm, xmm/m128, xmm"                         , "op": "[RVMS]XOP.128.P0.MAP8.W0 96 /r /is4"},
   2365       {"any": "vpmacsww W:xmm, xmm, xmm/m128, xmm"                         , "op": "[RVMS]XOP.128.P0.MAP8.W0 95 /r /is4"},
   2366       {"any": "vpmadcsswd W:xmm, xmm, xmm/m128, xmm"                       , "op": "[RVMS]XOP.128.P0.MAP8.W0 A6 /r /is4"},
   2367       {"any": "vpmadcswd W:xmm, xmm, xmm/m128, xmm"                        , "op": "[RVMS]XOP.128.P0.MAP8.W0 B6 /r /is4"},
   2368       {"any": "vpperm W:xmm, xmm, xmm, xmm/m128"                           , "op": "[RVSM]XOP.128.P0.MAP8.W1 A3 /r /is4"},
   2369       {"any": "vpperm W:xmm, xmm, xmm/m128, xmm"                           , "op": "[RVMS]XOP.128.P0.MAP8.W0 A3 /r /is4"},
   2370       {"any": "vprotb W:xmm, xmm, xmm/m128"                                , "op": "[RVM] XOP.128.P0.MAP9.W1 90 /r"},
   2371       {"any": "vprotb W:xmm, xmm/m128, imm8"                               , "op": "[RM ] XOP.128.P0.MAP8.W0 C0 /r ib"},
   2372       {"any": "vprotb W:xmm, xmm/m128, xmm"                                , "op": "[RMV] XOP.128.P0.MAP9.W0 90 /r"},
   2373       {"any": "vprotd W:xmm, xmm, xmm/m128"                                , "op": "[RVM] XOP.128.P0.MAP9.W1 92 /r"},
   2374       {"any": "vprotd W:xmm, xmm/m128, imm8"                               , "op": "[RM ] XOP.128.P0.MAP8.W0 C2 /r ib"},
   2375       {"any": "vprotd W:xmm, xmm/m128, xmm"                                , "op": "[RMV] XOP.128.P0.MAP9.W0 92 /r"},
   2376       {"any": "vprotq W:xmm, xmm, xmm/m128"                                , "op": "[RVM] XOP.128.P0.MAP9.W1 93 /r"},
   2377       {"any": "vprotq W:xmm, xmm/m128, imm8"                               , "op": "[RM ] XOP.128.P0.MAP8.W0 C3 /r ib"},
   2378       {"any": "vprotq W:xmm, xmm/m128, xmm"                                , "op": "[RMV] XOP.128.P0.MAP9.W0 93 /r"},
   2379       {"any": "vprotw W:xmm, xmm, xmm/m128"                                , "op": "[RVM] XOP.128.P0.MAP9.W1 91 /r"},
   2380       {"any": "vprotw W:xmm, xmm/m128, imm8"                               , "op": "[RM ] XOP.128.P0.MAP8.W0 C1 /r ib"},
   2381       {"any": "vprotw W:xmm, xmm/m128, xmm"                                , "op": "[RMV] XOP.128.P0.MAP9.W0 91 /r"},
   2382       {"any": "vpshab W:xmm, xmm, xmm/m128"                                , "op": "[RVM] XOP.128.P0.MAP9.W1 98 /r"},
   2383       {"any": "vpshab W:xmm, xmm/m128, xmm"                                , "op": "[RMV] XOP.128.P0.MAP9.W0 98 /r"},
   2384       {"any": "vpshad W:xmm, xmm, xmm/m128"                                , "op": "[RVM] XOP.128.P0.MAP9.W1 9A /r"},
   2385       {"any": "vpshad W:xmm, xmm/m128, xmm"                                , "op": "[RMV] XOP.128.P0.MAP9.W0 9A /r"},
   2386       {"any": "vpshaq W:xmm, xmm, xmm/m128"                                , "op": "[RVM] XOP.128.P0.MAP9.W1 9B /r"},
   2387       {"any": "vpshaq W:xmm, xmm/m128, xmm"                                , "op": "[RMV] XOP.128.P0.MAP9.W0 9B /r"},
   2388       {"any": "vpshaw W:xmm, xmm, xmm/m128"                                , "op": "[RVM] XOP.128.P0.MAP9.W1 99 /r"},
   2389       {"any": "vpshaw W:xmm, xmm/m128, xmm"                                , "op": "[RMV] XOP.128.P0.MAP9.W0 99 /r"},
   2390       {"any": "vpshlb W:xmm, xmm, xmm/m128"                                , "op": "[RVM] XOP.128.P0.MAP9.W1 94 /r"},
   2391       {"any": "vpshlb W:xmm, xmm/m128, xmm"                                , "op": "[RMV] XOP.128.P0.MAP9.W0 94 /r"},
   2392       {"any": "vpshld W:xmm, xmm, xmm/m128"                                , "op": "[RVM] XOP.128.P0.MAP9.W1 96 /r"},
   2393       {"any": "vpshld W:xmm, xmm/m128, xmm"                                , "op": "[RMV] XOP.128.P0.MAP9.W0 96 /r"},
   2394       {"any": "vpshlq W:xmm, xmm, xmm/m128"                                , "op": "[RVM] XOP.128.P0.MAP9.W1 97 /r"},
   2395       {"any": "vpshlq W:xmm, xmm/m128, xmm"                                , "op": "[RMV] XOP.128.P0.MAP9.W0 97 /r"},
   2396       {"any": "vpshlw W:xmm, xmm, xmm/m128"                                , "op": "[RVM] XOP.128.P0.MAP9.W1 95 /r"},
   2397       {"any": "vpshlw W:xmm, xmm/m128, xmm"                                , "op": "[RMV] XOP.128.P0.MAP9.W0 95 /r"}
   2398     ]},
   2399 
   2400     {"category": "AVX SIMD", "ext": "AVX PCLMULQDQ", "instructions": [
   2401       {"any": "vpclmulqdq W:xmm, xmm, xmm/m128, imm8"                      , "op": "[RVM] VEX.128.66.0F3A.WIG 44 /r ib"}
   2402     ]},
   2403 
   2404     {"category": "AVX SIMD", "ext": "VPCLMULQDQ", "instructions": [
   2405       {"any": "vpclmulqdq W:ymm, ymm, ymm/m256, imm8"                      , "op": "[RVM] VEX.256.66.0F3A.WIG 44 /r ib"}
   2406     ]},
   2407 
   2408     {"category": "AVX SIMD", "ext": "AVX_IFMA", "instructions": [
   2409       {"any": "vpmadd52huq X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W1 B5 /r"},
   2410       {"any": "vpmadd52luq X:xy, xy, xy/mxy"                               , "op": "[RVM] VEX.Lxy.66.0F38.W1 B4 /r"}
   2411     ]},
   2412 
   2413     {"category": "AVX SIMD", "ext": "AVX_NE_CONVERT", "instructions": [
   2414       {"any": "vbcstnebf162ps W:xy, m16"                                   , "op": "[RM ] VEX.Lxy.F3.0F38.W0 B1 !(11):rrr:bbb"},
   2415       {"any": "vbcstnesh2ps   W:xy, m16"                                   , "op": "[RM ] VEX.Lxy.66.0F38.W0 B1 !(11):rrr:bbb"},
   2416       {"any": "vcvtneebf162ps W:xy, mxy"                                   , "op": "[RM ] VEX.Lxy.F3.0F38.W0 B0 !(11):rrr:bbb"},
   2417       {"any": "vcvtneeph2ps   W:xy, mxy"                                   , "op": "[RM ] VEX.Lxy.66.0F38.W0 B0 !(11):rrr:bbb"},
   2418       {"any": "vcvtneobf162ps W:xy, mxy"                                   , "op": "[RM ] VEX.Lxy.F2.0F38.W0 B0 !(11):rrr:bbb"},
   2419       {"any": "vcvtneoph2ps   W:xy, mxy"                                   , "op": "[RM ] VEX.Lxy.NP.0F38.W0 B0 !(11):rrr:bbb"},
   2420       {"any": "vcvtneps2bf16  W:xmm[63:0], xmm/m128"                       , "op": "[RM ] VEX.128.F3.0F38.W0 72 /r"},
   2421       {"any": "vcvtneps2bf16  W:xmm, ymm/m256"                             , "op": "[RM ] VEX.256.F3.0F38.W0 72 /r"}
   2422     ]},
   2423 
   2424     {"category": "AVX SIMD CRYPTO_HASH", "ext": "AVX SHA512", "instructions": [
   2425       {"any": "vsha512msg1  X:ymm, R:xmm"                                  , "op": "[RM ] VEX.256.F2.0F38.W0 CC 11:rrr:bbb"},
   2426       {"any": "vsha512msg2  X:ymm, R:ymm"                                  , "op": "[RM ] VEX.256.F2.0F38.W0 CD 11:rrr:bbb"},
   2427       {"any": "vsha512rnds2 X:ymm, R:ymm, R:xmm"                           , "op": "[RVM] VEX.256.F2.0F38.W0 CB 11:rrr:bbb"}
   2428     ]},
   2429 
   2430     {"category": "AVX SIMD CRYPTO_HASH", "ext": "AVX SM3", "instructions": [
   2431       {"any": "vsm3msg1  X:xmm, R:xmm, R:xmm/m128"                         , "op": "[RVM] VEX.128.NP.0F38.W0 DA /r"},
   2432       {"any": "vsm3msg2  X:xmm, R:xmm, R:xmm/m128"                         , "op": "[RVM] VEX.128.66.0F38.W0 DA /r"},
   2433       {"any": "vsm3rnds2 X:xmm, R:xmm, R:xmm/m128, imm8"                   , "op": "[RVM] VEX.128.66.0F3A.W0 DE /r ib"}
   2434     ]},
   2435 
   2436     {"category": "AVX SIMD CRYPTO_HASH", "ext": "AVX SM4", "instructions": [
   2437       {"any": "vsm4key4  W:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.F3.0F38.W0 DA /r"},
   2438       {"any": "vsm4rnds4 W:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.F2.0F38.W0 DA /r"}
   2439     ]},
   2440 
   2441     {"category": "AVX SIMD CRYPTO_HASH", "ext": "AVX10_2 SM4", "instructions": [
   2442       {"any": "vsm4key4  W:xyz, R:xyz, R:xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.F3.0F38.W0 DA /r"},
   2443       {"any": "vsm4rnds4 W:xyz, R:xyz, R:xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.F2.0F38.W0 DA /r"}
   2444     ]},
   2445 
   2446     {"category": "AVX SIMD", "ext": "AVX_VNNI", "instructions": [
   2447       {"any": "vpdpbusd  X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.66.0F38.W0 50 /r"},
   2448       {"any": "vpdpbusds X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.66.0F38.W0 51 /r"},
   2449       {"any": "vpdpwssd  X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.66.0F38.W0 52 /r"},
   2450       {"any": "vpdpwssds X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.66.0F38.W0 53 /r"}
   2451     ]},
   2452 
   2453     {"category": "AVX SIMD", "ext": "AVX_VNNI_INT8", "instructions": [
   2454       {"any": "vpdpbssd  X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.F2.0F38.W0 50 /r"},
   2455       {"any": "vpdpbssds X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.F2.0F38.W0 51 /r"},
   2456       {"any": "vpdpbsud  X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.F3.0F38.W0 50 /r"},
   2457       {"any": "vpdpbsuds X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.F3.0F38.W0 51 /r"},
   2458       {"any": "vpdpbuud  X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.NP.0F38.W0 50 /r"},
   2459       {"any": "vpdpbuuds X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.NP.0F38.W0 51 /r"}
   2460     ]},
   2461 
   2462     {"category": "AVX SIMD", "ext": "AVX_VNNI_INT16", "instructions": [
   2463       {"any": "vpdpwsud  X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.F3.0F38.W0 D2 /r"},
   2464       {"any": "vpdpwsuds X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.F3.0F38.W0 D3 /r"},
   2465       {"any": "vpdpwusd  X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.66.0F38.W0 D2 /r"},
   2466       {"any": "vpdpwusds X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.66.0F38.W0 D3 /r"},
   2467       {"any": "vpdpwuud  X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.NP.0F38.W0 D2 /r"},
   2468       {"any": "vpdpwuuds X:xy, R:xy, R:xy/mxy"                             , "op": "[RVM] VEX.Lxy.NP.0F38.W0 D3 /r"}
   2469     ]},
   2470 
   2471     {"category": "AVX512 MASK", "ext": "AVX512_F", "instructions": [
   2472       {"any": "kandnw W:k[15:0], k[15:0], k[15:0]"                         , "op": "[RVM] VEX.L1.0F.W0 42 /r"},
   2473       {"any": "kandw W:k[15:0], ~k[15:0], ~k[15:0]"                        , "op": "[RVM] VEX.L1.0F.W0 41 /r"},
   2474       {"any": "kmovw W:k[15:0], k[15:0]/m16"                               , "op": "[RM ] VEX.L0.0F.W0 90 /r"},
   2475       {"apx": "kmovw W:k[15:0], k[15:0]/m16"                               , "op": "[RM ] EVEX.128.NP.0F.W0 90 /r"},
   2476       {"any": "kmovw W:k[15:0], r32[15:0]"                                 , "op": "[RM ] VEX.L0.0F.W0 92 /r"},
   2477       {"apx": "kmovw W:k[15:0], r32[15:0]"                                 , "op": "[RM ] EVEX.128.NP.0F.W0 92 11:rrr:bbb"},
   2478       {"any": "kmovw W:m16, k[15:0]"                                       , "op": "[MR ] VEX.L0.0F.W0 91 /r"},
   2479       {"apx": "kmovw W:m16, k[15:0]"                                       , "op": "[MR ] EVEX.128.NP.0F.W0 91 !(11):rrr:bbb"},
   2480       {"any": "kmovw W:r32[15:0], k[15:0]"                                 , "op": "[RM ] VEX.L0.0F.W0 93 /r"},
   2481       {"apx": "kmovw W:r32[15:0], k[15:0]"                                 , "op": "[RM ] EVEX.128.NP.0F.W0 93 11:rrr:bbb"},
   2482       {"any": "knotw W:k[15:0], k[15:0]"                                   , "op": "[RM ] VEX.L0.0F.W0 44 /r"},
   2483       {"any": "kortestw R:~k[15:0], ~k[15:0]"                              , "op": "[RM ] VEX.L0.0F.W0 98 /r"              , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=W"},
   2484       {"any": "korw W:k[15:0], ~k[15:0], ~k[15:0]"                         , "op": "[RVM] VEX.L1.0F.W0 45 /r"},
   2485       {"any": "kshiftlw W:k[15:0], k[15:0], imm8"                          , "op": "[RM ] VEX.L0.66.0F3A.W1 32 /r ib"},
   2486       {"any": "kshiftrw W:k[15:0], k[15:0], imm8"                          , "op": "[RM ] VEX.L0.66.0F3A.W1 30 /r ib"},
   2487       {"any": "kunpckbw W:k[15:0], k[7:0], k[7:0]"                         , "op": "[RVM] VEX.L1.66.0F.W0 4B /r"},
   2488       {"any": "kxnorw W:k[15:0], k[15:0], k[15:0]"                         , "op": "[RVM] VEX.L1.0F.W0 46 /r"},
   2489       {"any": "kxorw W:k[15:0], ~k[15:0], ~k[15:0]"                        , "op": "[RVM] VEX.L1.0F.W0 47 /r"}
   2490     ]},
   2491 
   2492     {"category": "AVX512 MASK", "ext": "AVX512_DQ", "instructions": [
   2493       {"any": "kaddb W:k[7:0], ~k[7:0], ~k[7:0]"                           , "op": "[RVM] VEX.L1.66.0F.W0 4A /r"},
   2494       {"any": "kaddw W:k[15:0], ~k[15:0], ~k[15:0]"                        , "op": "[RVM] VEX.L1.NP.0F.W0 4A /r"},
   2495       {"any": "kandb W:k[7:0], ~k[7:0], ~k[7:0]"                           , "op": "[RVM] VEX.L1.66.0F.W0 41 /r"},
   2496       {"any": "kandnb W:k[7:0], k[7:0], k[7:0]"                            , "op": "[RVM] VEX.L1.66.0F.W0 42 /r"},
   2497       {"any": "kmovb W:k[7:0], k[7:0]/m8"                                  , "op": "[RM ] VEX.L0.66.0F.W0 90 /r"},
   2498       {"apx": "kmovb W:k[7:0], k[7:0]/m8"                                  , "op": "[RM ] EVEX.128.66.0F.W0 90 /r"},
   2499       {"any": "kmovb W:k[7:0], r32[7:0]"                                   , "op": "[RM ] VEX.L0.66.0F.W0 92 /r"},
   2500       {"apx": "kmovb W:k[7:0], r32[7:0]"                                   , "op": "[RM ] EVEX.128.66.0F.W0 92 11:rrr:bbb"},
   2501       {"any": "kmovb W:m8, k[7:0]"                                         , "op": "[MR ] VEX.L0.66.0F.W0 91 /r"},
   2502       {"apx": "kmovb W:m8, k[7:0]"                                         , "op": "[MR ] EVEX.128.66.0F.W0 91 !(11):rrr:bbb"},
   2503       {"any": "kmovb W:r32[7:0], k[7:0]"                                   , "op": "[RM ] VEX.L0.66.0F.W0 93 /r"},
   2504       {"apx": "kmovb W:r32[7:0], k[7:0]"                                   , "op": "[RM ] EVEX.128.66.0F.W0 93 11:rrr:bbb"},
   2505       {"any": "knotb W:k[7:0], k[7:0]"                                     , "op": "[RM ] VEX.L0.66.0F.W0 44 /r"},
   2506       {"any": "korb W:k[7:0], ~k[7:0], ~k[7:0]"                            , "op": "[RVM] VEX.L1.66.0F.W0 45 /r"},
   2507       {"any": "kortestb R:~k[7:0], ~k[7:0]"                                , "op": "[RM ] VEX.L0.66.0F.W0 98 /r"           , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=W"},
   2508       {"any": "kshiftlb W:k[7:0], k[7:0], imm8"                            , "op": "[RM ] VEX.L0.66.0F3A.W0 32 /r ib"},
   2509       {"any": "kshiftrb W:k[7:0], k[7:0], imm8"                            , "op": "[RM ] VEX.L0.66.0F3A.W0 30 /r ib"},
   2510       {"any": "ktestb R:~k[7:0], ~k[7:0]"                                  , "op": "[RM ] VEX.L0.66.0F.W0 99 /r"           , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=W"},
   2511       {"any": "ktestw R:~k[15:0], ~k[15:0]"                                , "op": "[RM ] VEX.L0.NP.0F.W0 99 /r"           , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=W"},
   2512       {"any": "kxnorb W:k[7:0], k[7:0], k[7:0]"                            , "op": "[RVM] VEX.L1.66.0F.W0 46 /r"},
   2513       {"any": "kxorb W:k[7:0], ~k[7:0], ~k[7:0]"                           , "op": "[RVM] VEX.L1.66.0F.W0 47 /r"}
   2514     ]},
   2515 
   2516     {"category": "AVX512 MASK", "ext": "AVX512_BW", "instructions": [
   2517       {"any": "kaddd W:k[31:0], ~k[31:0], ~k[31:0]"                        , "op": "[RVM] VEX.L1.66.0F.W1 4A /r"},
   2518       {"any": "kaddq W:k[63:0], ~k[63:0], ~k[63:0]"                        , "op": "[RVM] VEX.L1.NP.0F.W1 4A /r"},
   2519       {"any": "kandd W:k[31:0], ~k[31:0], ~k[31:0]"                        , "op": "[RVM] VEX.L1.66.0F.W1 41 /r"},
   2520       {"any": "kandnd W:k[31:0], k[31:0], k[31:0]"                         , "op": "[RVM] VEX.L1.66.0F.W1 42 /r"},
   2521       {"any": "kandnq W:k[63:0], k[63:0], k[63:0]"                         , "op": "[RVM] VEX.L1.NP.0F.W1 42 /r"},
   2522       {"any": "kandq W:k[63:0], ~k[63:0], ~k[63:0]"                        , "op": "[RVM] VEX.L1.NP.0F.W1 41 /r"},
   2523       {"any": "kmovd W:k[31:0], k[31:0]/m32"                               , "op": "[RM ] VEX.L0.66.0F.W1 90 /r"},
   2524       {"apx": "kmovd W:k[31:0], k[31:0]/m32"                               , "op": "[RM ] EVEX.128.66.0F.W1 90 /r"},
   2525       {"any": "kmovd W:k[31:0], r32"                                       , "op": "[RM ] VEX.L0.F2.0F.W0 92 /r"},
   2526       {"apx": "kmovd W:k[31:0], r32"                                       , "op": "[RM ] EVEX.128.F2.0F.W0 92 11:rrr:bbb"},
   2527       {"any": "kmovd W:m32, k[31:0]"                                       , "op": "[MR ] VEX.L0.66.0F.W1 91 /r"},
   2528       {"apx": "kmovd W:m32, k[31:0]"                                       , "op": "[MR ] EVEX.128.66.0F.W1 91 !(11):rrr:bbb"},
   2529       {"any": "kmovd W:r32, k[31:0]"                                       , "op": "[RM ] VEX.L0.F2.0F.W0 93 /r"},
   2530       {"apx": "kmovd W:r32, k[31:0]"                                       , "op": "[RM ] EVEX.128.F2.0F.W0 93 11:rrr:bbb"},
   2531       {"any": "kmovq W:k[63:0], k[63:0]/m64"                               , "op": "[RM ] VEX.L0.NP.0F.W1 90 /r"},
   2532       {"apx": "kmovq W:k[63:0], k[63:0]/m64"                               , "op": "[RM ] EVEX.128.NP.0F.W1 90 /r"},
   2533       {"any": "kmovq W:k[63:0], r64"                                       , "op": "[RM ] VEX.L0.F2.0F.W1 92 /r"},
   2534       {"apx": "kmovq W:k[63:0], r64"                                       , "op": "[RM ] EVEX.128.F2.0F.W1 92 11:rrr:bbb"},
   2535       {"any": "kmovq W:m64, k[63:0]"                                       , "op": "[MR ] VEX.L0.NP.0F.W1 91 /r"},
   2536       {"apx": "kmovq W:m64, k[63:0]"                                       , "op": "[MR ] EVEX.128.NP.0F.W1 91 !(11):rrr:bbb"},
   2537       {"any": "kmovq W:r64, k[63:0]"                                       , "op": "[RM ] VEX.L0.F2.0F.W1 93 /r"},
   2538       {"apx": "kmovq W:r64, k[63:0]"                                       , "op": "[RM ] EVEX.128.F2.0F.W1 93 11:rrr:bbb"},
   2539       {"any": "knotd W:k[31:0], k[31:0]"                                   , "op": "[RM ] VEX.L0.66.0F.W1 44 /r"},
   2540       {"any": "knotq W:k[63:0], k[63:0]"                                   , "op": "[RM ] VEX.L0.NP.0F.W1 44 /r"},
   2541       {"any": "kord W:k[31:0], ~k[31:0], ~k[31:0]"                         , "op": "[RVM] VEX.L1.66.0F.W1 45 /r"},
   2542       {"any": "korq W:k[63:0], ~k[63:0], ~k[63:0]"                         , "op": "[RVM] VEX.L1.NP.0F.W1 45 /r"},
   2543       {"any": "kortestd R:~k[31:0], ~k[31:0]"                              , "op": "[RM ] VEX.L0.66.0F.W1 98 /r"           , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=W"},
   2544       {"any": "kortestq R:~k[63:0], ~k[63:0]"                              , "op": "[RM ] VEX.L0.NP.0F.W1 98 /r"           , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=W"},
   2545       {"any": "kshiftld W:k[31:0], k[31:0], imm8"                          , "op": "[RM ] VEX.L0.66.0F3A.W0 33 /r ib"},
   2546       {"any": "kshiftlq W:k[63:0], k[63:0], imm8"                          , "op": "[RM ] VEX.L0.66.0F3A.W1 33 /r ib"},
   2547       {"any": "kshiftrd W:k[31:0], k[31:0], imm8"                          , "op": "[RM ] VEX.L0.66.0F3A.W0 31 /r ib"},
   2548       {"any": "kshiftrq W:k[63:0], k[63:0], imm8"                          , "op": "[RM ] VEX.L0.66.0F3A.W1 31 /r ib"},
   2549       {"any": "ktestd R:~k[31:0], ~k[31:0]"                                , "op": "[RM ] VEX.L0.66.0F.W1 99 /r"           , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=W"},
   2550       {"any": "ktestq R:~k[63:0], ~k[63:0]"                                , "op": "[RM ] VEX.L0.NP.0F.W1 99 /r"           , "io": "OF=0 SF=0 ZF=W AF=0 PF=0 CF=W"},
   2551       {"any": "kunpckdq W:k[63:0], k[31:0], k[31:0]"                       , "op": "[RVM] VEX.L1.NP.0F.W1 4B /r"},
   2552       {"any": "kunpckwd W:k[31:0], k[15:0], k[15:0]"                       , "op": "[RVM] VEX.L1.NP.0F.W0 4B /r"},
   2553       {"any": "kxnord W:k[31:0], k[31:0], k[31:0]"                         , "op": "[RVM] VEX.L1.66.0F.W1 46 /r"},
   2554       {"any": "kxnorq W:k[63:0], k[63:0], k[63:0]"                         , "op": "[RVM] VEX.L1.NP.0F.W1 46 /r"},
   2555       {"any": "kxord W:k[31:0], ~k[31:0], ~k[31:0]"                        , "op": "[RVM] VEX.L1.66.0F.W1 47 /r"},
   2556       {"any": "kxorq W:k[63:0], ~k[63:0], ~k[63:0]"                        , "op": "[RVM] VEX.L1.NP.0F.W1 47 /r"}
   2557     ]},
   2558 
   2559     {"category": "AVX512 SIMD", "ext": "AVX512_F", "instructions": [
   2560       {"any": "vaddpd W:xyz {kz}, ~xyz, ~xyz/mxyz/b64 {er}"                , "op": "[RVM] EVEX.xyz.66.0F.W1 58 /r"         , "tt": "fv"     , "vl": "xy"},
   2561       {"any": "vaddps W:xyz {kz}, ~xyz, ~xyz/mxyz/b32 {er}"                , "op": "[RVM] EVEX.xyz.NP.0F.W0 58 /r"         , "tt": "fv"     , "vl": "xy"},
   2562       {"any": "vaddsd W:xmm {kz}, xmm, xmm[63:0]/m64 {er}"                 , "op": "[RVM] EVEX.LIG.F2.0F.W1 58 /r"         , "tt": "t1s"    , "vl": "no"},
   2563       {"any": "vaddss W:xmm {kz}, xmm, xmm[31:0]/m32 {er}"                 , "op": "[RVM] EVEX.LIG.F3.0F.W0 58 /r"         , "tt": "t1s"    , "vl": "no"},
   2564       {"any": "valignd W:xyz {kz}, xyz, xyz/mxyz/b32, imm8"                , "op": "[RVM] EVEX.xyz.66.0F3A.W0 03 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2565       {"any": "valignq W:xyz {kz}, xyz, xyz/mxyz/b64, imm8"                , "op": "[RVM] EVEX.xyz.66.0F3A.W1 03 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2566       {"any": "vblendmpd W:xyz {kz}, xyz, xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F38.W1 65 /r"       , "tt": "fv"     , "vl": "xy", "k": "blend"},
   2567       {"any": "vblendmps W:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 65 /r"       , "tt": "fv"     , "vl": "xy", "k": "blend"},
   2568       {"any": "vbroadcastf32x4 W:ymm {kz}, m128"                           , "op": "[RM ] EVEX.256.66.0F38.W0 1A /r"       , "tt": "t4"     , "vl": "xy"},
   2569       {"any": "vbroadcastf32x4 W:zmm {kz}, m128"                           , "op": "[RM ] EVEX.512.66.0F38.W0 1A /r"       , "tt": "t4"     , "vl": "xy"},
   2570       {"any": "vbroadcastf64x4 W:zmm {kz}, m256"                           , "op": "[RM ] EVEX.512.66.0F38.W1 1B /r"       , "tt": "t4"     , "vl": "xy"},
   2571       {"any": "vbroadcasti32x4 W:ymm {kz}, m128"                           , "op": "[RM ] EVEX.256.66.0F38.W0 5A /r"       , "tt": "t4"     , "vl": "xy"},
   2572       {"any": "vbroadcasti32x4 W:zmm {kz}, m128"                           , "op": "[RM ] EVEX.512.66.0F38.W0 5A /r"       , "tt": "t4"     , "vl": "xy"},
   2573       {"any": "vbroadcasti64x4 W:zmm {kz}, m256"                           , "op": "[RM ] EVEX.512.66.0F38.W1 5B /r"       , "tt": "t4"     , "vl": "xy"},
   2574       {"any": "vbroadcastsd W:ymm {kz}, xmm[63:0]/m64"                     , "op": "[RM ] EVEX.256.66.0F38.W1 19 /r"       , "tt": "t1s"    , "vl": "xy"},
   2575       {"any": "vbroadcastsd W:zmm {kz}, xmm[63:0]/m64"                     , "op": "[RM ] EVEX.512.66.0F38.W1 19 /r"       , "tt": "t1s"    , "vl": "xy"},
   2576       {"any": "vbroadcastss W:xyz {kz}, xmm[31:0]/m32"                     , "op": "[RM ] EVEX.xyz.66.0F38.W0 18 /r"       , "tt": "t1s"    , "vl": "xy"},
   2577       {"any": "vcmppd W:k {k}, xyz, xyz/mxyz/b64, imm8 {sae}"              , "op": "[RVM] EVEX.xyz.66.0F.W1 C2 /r ib"      , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2578       {"any": "vcmpps W:k {k}, xyz, xyz/mxyz/b32, imm8 {sae}"              , "op": "[RVM] EVEX.xyz.NP.0F.W0 C2 /r ib"      , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2579       {"any": "vcmpsd W:k {k}, xmm, xmm[63:0]/m64, imm8 {sae}"             , "op": "[RVM] EVEX.LIG.F2.0F.W1 C2 /r ib"      , "tt": "t1s"    , "vl": "no", "k": "zeroing"},
   2580       {"any": "vcmpss W:k {k}, xmm, xmm[31:0]/m32, imm8 {sae}"             , "op": "[RVM] EVEX.LIG.F3.0F.W0 C2 /r ib"      , "tt": "t1s"    , "vl": "no", "k": "zeroing"},
   2581       {"any": "vcomisd R:xmm[63:0], xmm[63:0]/m64 {sae}"                   , "op": "[RM ] EVEX.LIG.66.0F.W1 2F /r"         , "tt": "t1s"    , "vl": "no", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   2582       {"any": "vcomiss R:xmm[31:0], xmm[31:0]/m32 {sae}"                   , "op": "[RM ] EVEX.LIG.NP.0F.W0 2F /r"         , "tt": "t1s"    , "vl": "no", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   2583       {"any": "vcompresspd W:xyz/mxyz {kz}, xyz"                           , "op": "[MR ] EVEX.xyz.66.0F38.W1 8A /r"       , "tt": "t1s"    , "vl": "xy"},
   2584       {"any": "vcompressps W:xyz/mxyz {kz}, xyz"                           , "op": "[MR ] EVEX.xyz.66.0F38.W0 8A /r"       , "tt": "t1s"    , "vl": "xy"},
   2585       {"any": "vcvtdq2pd W:xyz {kz}, xxy/mxxy/b32"                         , "op": "[RM ] EVEX.xyz.F3.0F.W0 E6 /r"         , "tt": "hv"     , "vl": "xy"},
   2586       {"any": "vcvtdq2ps W:xyz {kz}, xyz/mxyz/b32 {er}"                    , "op": "[RM ] EVEX.xyz.NP.0F.W0 5B /r"         , "tt": "fv"     , "vl": "xy"},
   2587       {"any": "vcvtpd2ps W:xxy {kz}, xyz/mxyz/b64 {er}"                    , "op": "[RM ] EVEX.xyz.66.0F.W1 5A /r"         , "tt": "fv"     , "vl": "xy"},
   2588       {"any": "vcvtpd2dq W:xxy {kz}, xyz/mxyz/b64 {er}"                    , "op": "[RM ] EVEX.xyz.F2.0F.W1 E6 /r"         , "tt": "fv"     , "vl": "xy"},
   2589       {"any": "vcvtpd2udq W:xxy {kz}, xyz/mxyz/b64 {er}"                   , "op": "[RM ] EVEX.xyz.NP.0F.W1 79 /r"         , "tt": "fv"     , "vl": "xy"},
   2590       {"any": "vcvtph2ps W:xyz {kz}, xxy/mxxy {sae}"                       , "op": "[RM ] EVEX.xyz.66.0F38.W0 13 /r"       , "tt": "hvm"    , "vl": "xy"},
   2591       {"any": "vcvtps2dq W:xyz {kz}, xyz/mxyz/b32 {er}"                    , "op": "[RM ] EVEX.xyz.66.0F.W0 5B /r"         , "tt": "fv"     , "vl": "xy"},
   2592       {"any": "vcvtps2pd W:xyz {kz}, xxy/mxxy/b32 {er}"                    , "op": "[RM ] EVEX.xyz.NP.0F.W0 5A /r"         , "tt": "hv"     , "vl": "xy"},
   2593       {"any": "vcvtps2ph W:xxy/mxxy {kz}, xyz, imm8 {sae}"                 , "op": "[MR ] EVEX.xyz.66.0F3A.W0 1D /r ib"    , "tt": "hvm"    , "vl": "xy"},
   2594       {"any": "vcvtps2udq W:xyz {kz}, xyz/mxyz/b32 {er}"                   , "op": "[RM ] EVEX.xyz.NP.0F.W0 79 /r"         , "tt": "fv"     , "vl": "xy"},
   2595       {"any": "vcvtsd2si W:ry, xmm[63:0]/m64 {er}"                         , "op": "[RM ] EVEX.LIG.F2.0F.Wy 2D /r"         , "tt": "t1f"    , "vl": "no"},
   2596       {"any": "vcvtsd2ss W:xmm {kz}, xmm[127:32], xmm[63:0]/m64 {er}"      , "op": "[RVM] EVEX.LIG.F2.0F.W1 5A /r"         , "tt": "t1s"    , "vl": "no"},
   2597       {"any": "vcvtsd2usi W:ry, xmm[63:0]/m64 {er}"                        , "op": "[RM ] EVEX.LIG.F2.0F.Wy 79 /r"         , "tt": "t1f"    , "vl": "no"},
   2598       {"any": "vcvtsi2sd W:xmm, xmm[127:64], ry/my {er}"                   , "op": "[RVM] EVEX.LIG.F2.0F.Wy 2A /r"         , "tt": "t1s"    , "vl": "no"},
   2599       {"any": "vcvtsi2ss W:xmm, xmm[127:32], ry/my {er}"                   , "op": "[RVM] EVEX.LIG.F3.0F.Wy 2A /r"         , "tt": "t1s"    , "vl": "no"},
   2600       {"any": "vcvtss2sd W:xmm {kz}, xmm[127:64], xmm[31:0]/m32 {sae}"     , "op": "[RVM] EVEX.LIG.F3.0F.W0 5A /r"         , "tt": "t1s"    , "vl": "no"},
   2601       {"any": "vcvtss2si W:ry, xmm[31:0]/m32 {er}"                         , "op": "[RM ] EVEX.LIG.F3.0F.Wy 2D /r"         , "tt": "t1f"    , "vl": "no"},
   2602       {"any": "vcvtss2usi W:ry, xmm[31:0]/m32 {er}"                        , "op": "[RM ] EVEX.LIG.F3.0F.Wy 79 /r"         , "tt": "t1f"    , "vl": "no"},
   2603       {"any": "vcvttpd2dq W:xxy {kz}, xyz/mxyz/b64 {sae}"                  , "op": "[RM ] EVEX.xyz.66.0F.W1 E6 /r"         , "tt": "fv"     , "vl": "xy"},
   2604       {"any": "vcvttpd2qq W:xyz {kz}, xyz/mxyz/b64 {sae}"                  , "op": "[RM ] EVEX.xyz.66.0F.W1 7A /r"         , "tt": "fv"     , "vl": "xy"},
   2605       {"any": "vcvttpd2udq W:xxy {kz}, xyz/mxyz/b64 {sae}"                 , "op": "[RM ] EVEX.xyz.NP.0F.W1 78 /r"         , "tt": "fv"     , "vl": "xy"},
   2606       {"any": "vcvttps2dq W:xyz {kz}, xyz/mxyz/b32 {sae}"                  , "op": "[RM ] EVEX.xyz.F3.0F.W0 5B /r"         , "tt": "fv"     , "vl": "xy"},
   2607       {"any": "vcvttps2udq W:xyz {kz}, xyz/mxyz/b32 {sae}"                 , "op": "[RM ] EVEX.xyz.NP.0F.W0 78 /r"         , "tt": "fv"     , "vl": "xy"},
   2608       {"any": "vcvttsd2si W:ry, xmm[63:0]/m64 {sae}"                       , "op": "[RM ] EVEX.LIG.F2.0F.Wy 2C /r"         , "tt": "t1f"    , "vl": "no"},
   2609       {"any": "vcvttsd2usi W:ry, xmm[63:0]/m64 {sae}"                      , "op": "[RM ] EVEX.LIG.F2.0F.Wy 78 /r"         , "tt": "t1f"    , "vl": "no"},
   2610       {"any": "vcvttss2si W:ry, xmm[31:0]/m32 {sae}"                       , "op": "[RM ] EVEX.LIG.F3.0F.Wy 2C /r"         , "tt": "t1f"    , "vl": "no"},
   2611       {"any": "vcvttss2usi W:ry, xmm[31:0]/m32 {sae}"                      , "op": "[RM ] EVEX.LIG.F3.0F.Wy 78 /r"         , "tt": "t1f"    , "vl": "no"},
   2612       {"any": "vcvtudq2pd W:xyz {kz}, xxy/mxxy/b32 {er}"                   , "op": "[RM ] EVEX.xyz.F3.0F.W0 7A /r"         , "tt": "hv"     , "vl": "xy"},
   2613       {"any": "vcvtudq2ps W:xyz {kz}, xyz/mxyz/b32 {er}"                   , "op": "[RM ] EVEX.xyz.F2.0F.W0 7A /r"         , "tt": "fv"     , "vl": "xy"},
   2614       {"any": "vcvtusi2sd W:xmm, xmm[127:64], ry/my {er}"                  , "op": "[RVM] EVEX.LIG.F2.0F.Wy 7B /r"         , "tt": "t1s"    , "vl": "no"},
   2615       {"any": "vcvtusi2ss W:xmm, xmm[127:32], ry/my {er}"                  , "op": "[RVM] EVEX.LIG.F3.0F.Wy 7B /r"         , "tt": "t1s"    , "vl": "no"},
   2616       {"any": "vdivpd W:xyz {kz}, xyz, xyz/mxyz/b64 {er}"                  , "op": "[RVM] EVEX.xyz.66.0F.W1 5E /r"         , "tt": "fv"     , "vl": "xy"},
   2617       {"any": "vdivps W:xyz {kz}, xyz, xyz/mxyz/b32 {er}"                  , "op": "[RVM] EVEX.xyz.NP.0F.W0 5E /r"         , "tt": "fv"     , "vl": "xy"},
   2618       {"any": "vdivsd W:xmm {kz}, xmm, xmm[63:0]/m64 {er}"                 , "op": "[RVM] EVEX.LIG.F2.0F.W1 5E /r"         , "tt": "t1s"    , "vl": "no"},
   2619       {"any": "vdivss W:xmm {kz}, xmm, xmm[31:0]/m32 {er}"                 , "op": "[RVM] EVEX.LIG.F3.0F.W0 5E /r"         , "tt": "t1s"    , "vl": "no"},
   2620       {"any": "vexpandpd W:xyz {kz}, xyz/mxyz"                             , "op": "[RM ] EVEX.xyz.66.0F38.W1 88 /r"       , "tt": "t1s"    , "vl": "xy"},
   2621       {"any": "vexpandps W:xyz {kz}, xyz/mxyz"                             , "op": "[RM ] EVEX.xyz.66.0F38.W0 88 /r"       , "tt": "t1s"    , "vl": "xy"},
   2622       {"any": "vextractf32x4 W:xmm/m128 {kz}, ymm, imm8"                   , "op": "[MR ] EVEX.256.66.0F3A.W0 19 /r ib"    , "tt": "t4"     , "vl": "xy"},
   2623       {"any": "vextractf32x4 W:xmm/m128 {kz}, zmm, imm8"                   , "op": "[MR ] EVEX.512.66.0F3A.W0 19 /r ib"    , "tt": "t4"     , "vl": "xy"},
   2624       {"any": "vextractf64x4 W:ymm/m256 {kz}, zmm, imm8"                   , "op": "[MR ] EVEX.512.66.0F3A.W1 1B /r ib"    , "tt": "t4"     , "vl": "xy"},
   2625       {"any": "vextracti32x4 W:xmm/m128 {kz}, ymm, imm8"                   , "op": "[MR ] EVEX.256.66.0F3A.W0 39 /r ib"    , "tt": "t4"     , "vl": "xy"},
   2626       {"any": "vextracti32x4 W:xmm/m128 {kz}, zmm, imm8"                   , "op": "[MR ] EVEX.512.66.0F3A.W0 39 /r ib"    , "tt": "t4"     , "vl": "xy"},
   2627       {"any": "vextracti64x4 W:ymm/m256 {kz}, zmm, imm8"                   , "op": "[MR ] EVEX.512.66.0F3A.W1 3B /r ib"    , "tt": "t4"     , "vl": "xy"},
   2628       {"any": "vextractps W:r32[31:0]/m32, xmm, imm8"                      , "op": "[MR ] EVEX.128.66.0F3A.WIG 17 /r ib"   , "tt": "t1s"    , "vl": "no"},
   2629       {"any": "vfixupimmpd X:xyz {kz}, xyz, xyz/mxyz/b64, imm8 {sae}"      , "op": "[RVM] EVEX.xyz.66.0F3A.W1 54 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2630       {"any": "vfixupimmps X:xyz {kz}, xyz, xyz/mxyz/b32, imm8 {sae}"      , "op": "[RVM] EVEX.xyz.66.0F3A.W0 54 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2631       {"any": "vfixupimmsd X:xmm {kz},xmm[127:64],xmm[63:0]/m64,imm8 {sae}", "op": "[RVM] EVEX.LIG.66.0F3A.W1 55 /r ib"    , "tt": "t1s"    , "vl": "no"},
   2632       {"any": "vfixupimmss X:xmm {kz},xmm[127:32],xmm[31:0]/m32,imm8 {sae}", "op": "[RVM] EVEX.LIG.66.0F3A.W0 55 /r ib"    , "tt": "t1s"    , "vl": "no"},
   2633       {"any": "vfmadd132pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"             , "op": "[RVM] EVEX.xyz.66.0F38.W1 98 /r"       , "tt": "fv"     , "vl": "xy"},
   2634       {"any": "vfmadd132ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"             , "op": "[RVM] EVEX.xyz.66.0F38.W0 98 /r"       , "tt": "fv"     , "vl": "xy"},
   2635       {"any": "vfmadd132sd x:xmm[63:0] {kz}, xmm[63:0], xmm[63:0]/m64 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W1 99 /r"       , "tt": "t1s"    , "vl": "no"},
   2636       {"any": "vfmadd132ss x:xmm[31:0] {kz}, xmm[31:0], xmm[31:0]/m32 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W0 99 /r"       , "tt": "t1s"    , "vl": "no"},
   2637       {"any": "vfmadd213pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"             , "op": "[RVM] EVEX.xyz.66.0F38.W1 A8 /r"       , "tt": "fv"     , "vl": "xy"},
   2638       {"any": "vfmadd213ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"             , "op": "[RVM] EVEX.xyz.66.0F38.W0 A8 /r"       , "tt": "fv"     , "vl": "xy"},
   2639       {"any": "vfmadd213sd x:xmm[63:0] {kz}, xmm[63:0], xmm[63:0]/m64 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W1 A9 /r"       , "tt": "t1s"    , "vl": "no"},
   2640       {"any": "vfmadd213ss x:xmm[31:0] {kz}, xmm[31:0], xmm[31:0]/m32 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W0 A9 /r"       , "tt": "t1s"    , "vl": "no"},
   2641       {"any": "vfmadd231pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"             , "op": "[RVM] EVEX.xyz.66.0F38.W1 B8 /r"       , "tt": "fv"     , "vl": "xy"},
   2642       {"any": "vfmadd231ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"             , "op": "[RVM] EVEX.xyz.66.0F38.W0 B8 /r"       , "tt": "fv"     , "vl": "xy"},
   2643       {"any": "vfmadd231sd x:xmm[63:0] {kz}, xmm[63:0], xmm[63:0]/m64 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W1 B9 /r"       , "tt": "t1s"    , "vl": "no"},
   2644       {"any": "vfmadd231ss x:xmm[31:0] {kz}, xmm[31:0], xmm[31:0]/m32 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W0 B9 /r"       , "tt": "t1s"    , "vl": "no"},
   2645       {"any": "vfmaddsub132pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"          , "op": "[RVM] EVEX.xyz.66.0F38.W1 96 /r"       , "tt": "fv"     , "vl": "xy"},
   2646       {"any": "vfmaddsub132ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"          , "op": "[RVM] EVEX.xyz.66.0F38.W0 96 /r"       , "tt": "fv"     , "vl": "xy"},
   2647       {"any": "vfmaddsub213pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"          , "op": "[RVM] EVEX.xyz.66.0F38.W1 A6 /r"       , "tt": "fv"     , "vl": "xy"},
   2648       {"any": "vfmaddsub213ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"          , "op": "[RVM] EVEX.xyz.66.0F38.W0 A6 /r"       , "tt": "fv"     , "vl": "xy"},
   2649       {"any": "vfmaddsub231pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"          , "op": "[RVM] EVEX.xyz.66.0F38.W1 B6 /r"       , "tt": "fv"     , "vl": "xy"},
   2650       {"any": "vfmaddsub231ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"          , "op": "[RVM] EVEX.xyz.66.0F38.W0 B6 /r"       , "tt": "fv"     , "vl": "xy"},
   2651       {"any": "vfmsub132pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"             , "op": "[RVM] EVEX.xyz.66.0F38.W1 9A /r"       , "tt": "fv"     , "vl": "xy"},
   2652       {"any": "vfmsub132ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"             , "op": "[RVM] EVEX.xyz.66.0F38.W0 9A /r"       , "tt": "fv"     , "vl": "xy"},
   2653       {"any": "vfmsub132sd x:xmm[63:0] {kz}, xmm[63:0], xmm[63:0]/m64 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W1 9B /r"       , "tt": "t1s"    , "vl": "no"},
   2654       {"any": "vfmsub132ss x:xmm[31:0] {kz}, xmm[31:0], xmm[31:0]/m32 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W0 9B /r"       , "tt": "t1s"    , "vl": "no"},
   2655       {"any": "vfmsub213pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"             , "op": "[RVM] EVEX.xyz.66.0F38.W1 AA /r"       , "tt": "fv"     , "vl": "xy"},
   2656       {"any": "vfmsub213ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"             , "op": "[RVM] EVEX.xyz.66.0F38.W0 AA /r"       , "tt": "fv"     , "vl": "xy"},
   2657       {"any": "vfmsub213sd x:xmm[63:0] {kz}, xmm[63:0], xmm[63:0]/m64 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W1 AB /r"       , "tt": "t1s"    , "vl": "no"},
   2658       {"any": "vfmsub213ss x:xmm[31:0] {kz}, xmm[31:0], xmm[31:0]/m32 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W0 AB /r"       , "tt": "t1s"    , "vl": "no"},
   2659       {"any": "vfmsub231pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"             , "op": "[RVM] EVEX.xyz.66.0F38.W1 BA /r"       , "tt": "fv"     , "vl": "xy"},
   2660       {"any": "vfmsub231ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"             , "op": "[RVM] EVEX.xyz.66.0F38.W0 BA /r"       , "tt": "fv"     , "vl": "xy"},
   2661       {"any": "vfmsub231sd x:xmm[63:0] {kz}, xmm[63:0], xmm[63:0]/m64 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W1 BB /r"       , "tt": "t1s"    , "vl": "no"},
   2662       {"any": "vfmsub231ss x:xmm[31:0] {kz}, xmm[31:0], xmm[31:0]/m32 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W0 BB /r"       , "tt": "t1s"    , "vl": "no"},
   2663       {"any": "vfmsubadd132pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"          , "op": "[RVM] EVEX.xyz.66.0F38.W1 97 /r"       , "tt": "fv"     , "vl": "xy"},
   2664       {"any": "vfmsubadd132ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"          , "op": "[RVM] EVEX.xyz.66.0F38.W0 97 /r"       , "tt": "fv"     , "vl": "xy"},
   2665       {"any": "vfmsubadd213pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"          , "op": "[RVM] EVEX.xyz.66.0F38.W1 A7 /r"       , "tt": "fv"     , "vl": "xy"},
   2666       {"any": "vfmsubadd213ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"          , "op": "[RVM] EVEX.xyz.66.0F38.W0 A7 /r"       , "tt": "fv"     , "vl": "xy"},
   2667       {"any": "vfmsubadd231pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"          , "op": "[RVM] EVEX.xyz.66.0F38.W1 B7 /r"       , "tt": "fv"     , "vl": "xy"},
   2668       {"any": "vfmsubadd231ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"          , "op": "[RVM] EVEX.xyz.66.0F38.W0 B7 /r"       , "tt": "fv"     , "vl": "xy"},
   2669       {"any": "vfnmadd132pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"            , "op": "[RVM] EVEX.xyz.66.0F38.W1 9C /r"       , "tt": "fv"     , "vl": "xy"},
   2670       {"any": "vfnmadd132ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"            , "op": "[RVM] EVEX.xyz.66.0F38.W0 9C /r"       , "tt": "fv"     , "vl": "xy"},
   2671       {"any": "vfnmadd132sd x:xmm[63:0] {kz}, xmm[63:0],xmm[63:0]/m64 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W1 9D /r"       , "tt": "t1s"    , "vl": "no"},
   2672       {"any": "vfnmadd132ss x:xmm[31:0] {kz}, xmm[31:0],xmm[31:0]/m32 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W0 9D /r"       , "tt": "t1s"    , "vl": "no"},
   2673       {"any": "vfnmadd213pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"            , "op": "[RVM] EVEX.xyz.66.0F38.W1 AC /r"       , "tt": "fv"     , "vl": "xy"},
   2674       {"any": "vfnmadd213ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"            , "op": "[RVM] EVEX.xyz.66.0F38.W0 AC /r"       , "tt": "fv"     , "vl": "xy"},
   2675       {"any": "vfnmadd213sd x:xmm[63:0] {kz}, xmm[63:0],xmm[63:0]/m64 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W1 AD /r"       , "tt": "t1s"    , "vl": "no"},
   2676       {"any": "vfnmadd213ss x:xmm[31:0] {kz}, xmm[31:0],xmm[31:0]/m32 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W0 AD /r"       , "tt": "t1s"    , "vl": "no"},
   2677       {"any": "vfnmadd231pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"            , "op": "[RVM] EVEX.xyz.66.0F38.W1 BC /r"       , "tt": "fv"     , "vl": "xy"},
   2678       {"any": "vfnmadd231ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"            , "op": "[RVM] EVEX.xyz.66.0F38.W0 BC /r"       , "tt": "fv"     , "vl": "xy"},
   2679       {"any": "vfnmadd231sd x:xmm[63:0] {kz}, xmm[63:0],xmm[63:0]/m64 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W1 BD /r"       , "tt": "t1s"    , "vl": "no"},
   2680       {"any": "vfnmadd231ss x:xmm[31:0] {kz}, xmm[31:0],xmm[31:0]/m32 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W0 BD /r"       , "tt": "t1s"    , "vl": "no"},
   2681       {"any": "vfnmsub132pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"            , "op": "[RVM] EVEX.xyz.66.0F38.W1 9E /r"       , "tt": "fv"     , "vl": "xy"},
   2682       {"any": "vfnmsub132ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"            , "op": "[RVM] EVEX.xyz.66.0F38.W0 9E /r"       , "tt": "fv"     , "vl": "xy"},
   2683       {"any": "vfnmsub132sd x:xmm[63:0] {kz}, xmm[63:0],xmm[63:0]/m64 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W1 9F /r"       , "tt": "t1s"    , "vl": "no"},
   2684       {"any": "vfnmsub132ss x:xmm[31:0] {kz}, xmm[31:0],xmm[31:0]/m32 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W0 9F /r"       , "tt": "t1s"    , "vl": "no"},
   2685       {"any": "vfnmsub213pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"            , "op": "[RVM] EVEX.xyz.66.0F38.W1 AE /r"       , "tt": "fv"     , "vl": "xy"},
   2686       {"any": "vfnmsub213ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"            , "op": "[RVM] EVEX.xyz.66.0F38.W0 AE /r"       , "tt": "fv"     , "vl": "xy"},
   2687       {"any": "vfnmsub213sd x:xmm[63:0] {kz}, xmm[63:0],xmm[63:0]/m64 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W1 AF /r"       , "tt": "t1s"    , "vl": "no"},
   2688       {"any": "vfnmsub213ss x:xmm[31:0] {kz}, xmm[31:0],xmm[31:0]/m32 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W0 AF /r"       , "tt": "t1s"    , "vl": "no"},
   2689       {"any": "vfnmsub231pd X:xyz {kz}, xyz, xyz/mxyz/b64 {er}"            , "op": "[RVM] EVEX.xyz.66.0F38.W1 BE /r"       , "tt": "fv"     , "vl": "xy"},
   2690       {"any": "vfnmsub231ps X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"            , "op": "[RVM] EVEX.xyz.66.0F38.W0 BE /r"       , "tt": "fv"     , "vl": "xy"},
   2691       {"any": "vfnmsub231sd X:xmm[63:0] {kz}, xmm[63:0],xmm[63:0]/m64 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W1 BF /r"       , "tt": "t1s"    , "vl": "no"},
   2692       {"any": "vfnmsub231ss X:xmm[31:0] {kz}, xmm[31:0],xmm[31:0]/m32 {er}", "op": "[RVM] EVEX.LIG.66.0F38.W0 BF /r"       , "tt": "t1s"    , "vl": "no"},
   2693       {"any": "vgatherdpd X:xmm {k}, vm32x"                                , "op": "[RM ] EVEX.128.66.0F38.W1 92 /r"       , "tt": "t1s"    , "vl": "xy"},
   2694       {"any": "vgatherdpd X:ymm {k}, vm32x"                                , "op": "[RM ] EVEX.256.66.0F38.W1 92 /r"       , "tt": "t1s"    , "vl": "xy"},
   2695       {"any": "vgatherdpd X:zmm {k}, vm32y"                                , "op": "[RM ] EVEX.512.66.0F38.W1 92 /r"       , "tt": "t1s"    , "vl": "xy"},
   2696       {"any": "vgatherdps X:xmm {k}, vm32x"                                , "op": "[RM ] EVEX.128.66.0F38.W0 92 /r"       , "tt": "t1s"    , "vl": "xy"},
   2697       {"any": "vgatherdps X:ymm {k}, vm32y"                                , "op": "[RM ] EVEX.256.66.0F38.W0 92 /r"       , "tt": "t1s"    , "vl": "xy"},
   2698       {"any": "vgatherdps X:zmm {k}, vm32z"                                , "op": "[RM ] EVEX.512.66.0F38.W0 92 /r"       , "tt": "t1s"    , "vl": "xy"},
   2699       {"any": "vgatherqpd X:xmm {k}, vm64x"                                , "op": "[RM ] EVEX.128.66.0F38.W1 93 /r"       , "tt": "t1s"    , "vl": "xy"},
   2700       {"any": "vgatherqpd X:ymm {k}, vm64y"                                , "op": "[RM ] EVEX.256.66.0F38.W1 93 /r"       , "tt": "t1s"    , "vl": "xy"},
   2701       {"any": "vgatherqpd X:zmm {k}, vm64z"                                , "op": "[RM ] EVEX.512.66.0F38.W1 93 /r"       , "tt": "t1s"    , "vl": "xy"},
   2702       {"any": "vgatherqps X:xmm {k}, vm64x"                                , "op": "[RM ] EVEX.128.66.0F38.W0 93 /r"       , "tt": "t1s"    , "vl": "xy"},
   2703       {"any": "vgatherqps X:xmm {k}, vm64y"                                , "op": "[RM ] EVEX.256.66.0F38.W0 93 /r"       , "tt": "t1s"    , "vl": "xy"},
   2704       {"any": "vgatherqps X:ymm {k}, vm64z"                                , "op": "[RM ] EVEX.512.66.0F38.W0 93 /r"       , "tt": "t1s"    , "vl": "xy"},
   2705       {"any": "vgetexppd W:xyz {kz}, xyz/mxyz/b64 {sae}"                   , "op": "[RM ] EVEX.xyz.66.0F38.W1 42 /r"       , "tt": "fv"     , "vl": "xy"},
   2706       {"any": "vgetexpps W:xyz {kz}, xyz/mxyz/b32 {sae}"                   , "op": "[RM ] EVEX.xyz.66.0F38.W0 42 /r"       , "tt": "fv"     , "vl": "xy"},
   2707       {"any": "vgetexpsd W:xmm {kz}, xmm[127:64], xmm[63:0]/m64 {sae}"     , "op": "[RM ] EVEX.LIG.66.0F38.W1 43 /r"       , "tt": "t1s"    , "vl": "no"},
   2708       {"any": "vgetexpss W:xmm {kz}, xmm[127:32], xmm[31:0]/m32 {sae}"     , "op": "[RM ] EVEX.LIG.66.0F38.W0 43 /r"       , "tt": "t1s"    , "vl": "no"},
   2709       {"any": "vgetmantpd W:xyz {kz}, xyz/mxyz/b64, imm8 {sae}"            , "op": "[RM ] EVEX.xyz.66.0F3A.W1 26 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2710       {"any": "vgetmantps W:xyz {kz}, xyz/mxyz/b32, imm8 {sae}"            , "op": "[RM ] EVEX.xyz.66.0F3A.W0 26 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2711       {"any": "vgetmantsd W:xmm {kz}, xmm[127:64],xmm[63:0]/m64,imm8 {sae}", "op": "[RM ] EVEX.LIG.66.0F3A.W1 27 /r ib"    , "tt": "t1s"    , "vl": "no"},
   2712       {"any": "vgetmantss W:xmm {kz}, xmm[127:32],xmm[31:0]/m32,imm8 {sae}", "op": "[RM ] EVEX.LIG.66.0F3A.W0 27 /r ib"    , "tt": "t1s"    , "vl": "no"},
   2713       {"any": "vinsertf32x4 W:ymm {kz}, ymm, xmm/m128, imm8"               , "op": "[RVM] EVEX.256.66.0F3A.W0 18 /r ib"    , "tt": "t4"     , "vl": "xy"},
   2714       {"any": "vinsertf32x4 W:zmm {kz}, zmm, xmm/m128, imm8"               , "op": "[RVM] EVEX.512.66.0F3A.W0 18 /r ib"    , "tt": "t4"     , "vl": "xy"},
   2715       {"any": "vinsertf64x4 W:zmm {kz}, zmm, ymm/m256, imm8"               , "op": "[RVM] EVEX.512.66.0F3A.W1 1A /r ib"    , "tt": "t4"     , "vl": "xy"},
   2716       {"any": "vinserti32x4 W:ymm {kz}, ymm, xmm/m128, imm8"               , "op": "[RVM] EVEX.256.66.0F3A.W0 38 /r ib"    , "tt": "t4"     , "vl": "xy"},
   2717       {"any": "vinserti32x4 W:zmm {kz}, zmm, xmm/m128, imm8"               , "op": "[RVM] EVEX.512.66.0F3A.W0 38 /r ib"    , "tt": "t4"     , "vl": "xy"},
   2718       {"any": "vinserti64x4 W:zmm {kz}, zmm, ymm/m256, imm8"               , "op": "[RVM] EVEX.512.66.0F3A.W1 3A /r ib"    , "tt": "t2"     , "vl": "xy"},
   2719       {"any": "vinsertps W:xmm, xmm, xmm[31:0]/m32, imm8"                  , "op": "[RVM] EVEX.128.66.0F3A.W0 21 /r ib"    , "tt": "t1s"    , "vl": "no"},
   2720       {"any": "vmaxpd W:xyz {kz}, xyz, xyz/mxyz/b64 {sae}"                 , "op": "[RVM] EVEX.xyz.66.0F.W1 5F /r"         , "tt": "fv"     , "vl": "xy"},
   2721       {"any": "vmaxps W:xyz {kz}, xyz, xyz/mxyz/b32 {sae}"                 , "op": "[RVM] EVEX.xyz.NP.0F.W0 5F /r"         , "tt": "fv"     , "vl": "xy"},
   2722       {"any": "vmaxsd W:xmm {kz}, xmm, xmm[63:0]/m64 {sae}"                , "op": "[RVM] EVEX.LIG.F2.0F.W1 5F /r"         , "tt": "t1s"    , "vl": "no"},
   2723       {"any": "vmaxss W:xmm {kz}, xmm, xmm[31:0]/m32 {sae}"                , "op": "[RVM] EVEX.LIG.F3.0F.W0 5F /r"         , "tt": "t1s"    , "vl": "no"},
   2724       {"any": "vminpd W:xyz {kz}, xyz, xyz/mxyz/b64 {sae}"                 , "op": "[RVM] EVEX.xyz.66.0F.W1 5D /r"         , "tt": "fv"     , "vl": "xy"},
   2725       {"any": "vminps W:xyz {kz}, xyz, xyz/mxyz/b32 {sae}"                 , "op": "[RVM] EVEX.xyz.NP.0F.W0 5D /r"         , "tt": "fv"     , "vl": "xy"},
   2726       {"any": "vminsd W:xmm {kz}, xmm, xmm[63:0]/m64 {sae}"                , "op": "[RVM] EVEX.LIG.F2.0F.W1 5D /r"         , "tt": "t1s"    , "vl": "no"},
   2727       {"any": "vminss W:xmm {kz}, xmm, xmm[31:0]/m32 {sae}"                , "op": "[RVM] EVEX.LIG.F3.0F.W0 5D /r"         , "tt": "t1s"    , "vl": "no"},
   2728       {"any": "vmovapd W:xyz {kz}, xyz/mxyz"                               , "op": "[RM ] EVEX.xyz.66.0F.W1 28 /r"         , "tt": "fvm"    , "vl": "xy"},
   2729       {"any": "vmovapd W:xyz/mxyz {kz}, xyz"                               , "op": "[MR ] EVEX.xyz.66.0F.W1 29 /r"         , "tt": "fvm"    , "vl": "xy"},
   2730       {"any": "vmovaps W:xyz {kz}, xyz/mxyz"                               , "op": "[RM ] EVEX.xyz.NP.0F.W0 28 /r"         , "tt": "fvm"    , "vl": "xy"},
   2731       {"any": "vmovaps W:xyz/mxyz {kz}, xyz"                               , "op": "[MR ] EVEX.xyz.NP.0F.W0 29 /r"         , "tt": "fvm"    , "vl": "xy"},
   2732       {"any": "vmovd W:r32/m32, xmm[31:0]"                                 , "op": "[MR ] EVEX.128.66.0F.W0 7E /r"         , "tt": "t1s"    , "vl": "no"},
   2733       {"any": "vmovd W:xmm[31:0], r32/m32"                                 , "op": "[RM ] EVEX.128.66.0F.W0 6E /r"         , "tt": "t1s"    , "vl": "no"},
   2734       {"any": "vmovddup W:xmm {kz}, xmm[63:0]/m64"                         , "op": "[RM ] EVEX.128.F2.0F.W1 12 /r"         , "tt": "movddup", "vl": "xy"},
   2735       {"any": "vmovddup W:ymm {kz}, ymm/m256"                              , "op": "[RM ] EVEX.256.F2.0F.W1 12 /r"         , "tt": "movddup", "vl": "xy"},
   2736       {"any": "vmovddup W:zmm {kz}, zmm/m512"                              , "op": "[RM ] EVEX.512.F2.0F.W1 12 /r"         , "tt": "movddup", "vl": "xy"},
   2737       {"any": "vmovdqa32 W:xyz {kz}, xyz/mxyz"                             , "op": "[RM ] EVEX.xyz.66.0F.W0 6F /r"         , "tt": "fvm"    , "vl": "xy"},
   2738       {"any": "vmovdqa32 W:xyz/mxyz {kz}, xyz"                             , "op": "[MR ] EVEX.xyz.66.0F.W0 7F /r"         , "tt": "fvm"    , "vl": "xy"},
   2739       {"any": "vmovdqa64 W:xyz {kz}, xyz/mxyz"                             , "op": "[RM ] EVEX.xyz.66.0F.W1 6F /r"         , "tt": "fvm"    , "vl": "xy"},
   2740       {"any": "vmovdqa64 W:xyz/mxyz {kz}, xyz"                             , "op": "[MR ] EVEX.xyz.66.0F.W1 7F /r"         , "tt": "fvm"    , "vl": "xy"},
   2741       {"any": "vmovdqu32 W:xyz {kz}, xyz/mxyz"                             , "op": "[RM ] EVEX.xyz.F3.0F.W0 6F /r"         , "tt": "fvm"    , "vl": "xy"},
   2742       {"any": "vmovdqu32 W:xyz/mxyz {kz}, xyz"                             , "op": "[MR ] EVEX.xyz.F3.0F.W0 7F /r"         , "tt": "fvm"    , "vl": "xy"},
   2743       {"any": "vmovdqu64 W:xyz {kz}, xyz/mxyz"                             , "op": "[RM ] EVEX.xyz.F3.0F.W1 6F /r"         , "tt": "fvm"    , "vl": "xy"},
   2744       {"any": "vmovdqu64 W:xyz/mxyz {kz}, xyz"                             , "op": "[MR ] EVEX.xyz.F3.0F.W1 7F /r"         , "tt": "fvm"    , "vl": "xy"},
   2745       {"any": "vmovhlps W:xmm, xmm[127:64], xmm[127:64]"                   , "op": "[RVM] EVEX.128.NP.0F.W0 12 /r"         , "tt": "none"   , "vl": "no"},
   2746       {"any": "vmovhpd W:m64, xmm[127:64]"                                 , "op": "[MR ] EVEX.128.66.0F.W1 17 /r"         , "tt": "t1s"    , "vl": "no"},
   2747       {"any": "vmovhpd W:xmm, xmm[63:0], m64"                              , "op": "[RVM] EVEX.128.66.0F.W1 16 /r"         , "tt": "t1s"    , "vl": "no"},
   2748       {"any": "vmovhps W:m64, xmm[127:64]"                                 , "op": "[MR ] EVEX.128.NP.0F.W0 17 /r"         , "tt": "t2"     , "vl": "no"},
   2749       {"any": "vmovhps W:xmm, xmm[63:0], m64"                              , "op": "[RVM] EVEX.128.NP.0F.W0 16 /r"         , "tt": "t2"     , "vl": "no"},
   2750       {"any": "vmovlhps W:xmm, xmm[63:0], xmm[63:0]"                       , "op": "[RVM] EVEX.128.NP.0F.W0 16 /r"         , "tt": "none"   , "vl": "no"},
   2751       {"any": "vmovlpd W:m64, xmm[63:0]"                                   , "op": "[MR ] EVEX.128.66.0F.W1 13 /r"         , "tt": "t1s"    , "vl": "no"},
   2752       {"any": "vmovlpd W:xmm, xmm[127:64], m64"                            , "op": "[RVM] EVEX.128.66.0F.W1 12 /r"         , "tt": "t1s"    , "vl": "no"},
   2753       {"any": "vmovlps W:m64, xmm[63:0]"                                   , "op": "[MR ] EVEX.128.NP.0F.W0 13 /r"         , "tt": "t2"     , "vl": "no"},
   2754       {"any": "vmovlps W:xmm, xmm[127:64], m64"                            , "op": "[RVM] EVEX.128.NP.0F.W0 12 /r"         , "tt": "t2"     , "vl": "no"},
   2755       {"any": "vmovntdq W:mxyz, xyz"                                       , "op": "[MR ] EVEX.xyz.66.0F.W0 E7 /r"         , "tt": "fvm"    , "vl": "xy"},
   2756       {"any": "vmovntdqa W:xyz, mxyz"                                      , "op": "[RM ] EVEX.xyz.66.0F38.W0 2A /r"       , "tt": "fvm"    , "vl": "xy"},
   2757       {"any": "vmovntpd W:mxyz, xyz"                                       , "op": "[MR ] EVEX.xyz.66.0F.W1 2B /r"         , "tt": "fvm"    , "vl": "xy"},
   2758       {"any": "vmovntps W:mxyz, xyz"                                       , "op": "[MR ] EVEX.xyz.66.0F.W0 2B /r"         , "tt": "fvm"    , "vl": "xy"},
   2759       {"any": "vmovq W:r64/m64, xmm[63:0]"                                 , "op": "[MR ] EVEX.128.66.0F.W1 7E /r"         , "tt": "t1s"    , "vl": "no"},
   2760       {"any": "vmovq W:xmm[63:0], r64/m64"                                 , "op": "[RM ] EVEX.128.66.0F.W1 6E /r"         , "tt": "t1s"    , "vl": "no"},
   2761       {"any": "vmovq W:xmm[63:0], xmm[63:0]/m64"                           , "op": "[RM ] EVEX.128.F3.0F.W1 7E /r"         , "tt": "t1s"    , "vl": "no"},
   2762       {"any": "vmovq W:xmm[63:0]/m64, xmm[63:0]"                           , "op": "[MR ] EVEX.128.66.0F.W1 D6 /r"         , "tt": "t1s"    , "vl": "no"},
   2763       {"any": "vmovsd W:m64, xmm[63:0]"                                    , "op": "[MR ] EVEX.LIG.F2.0F.W1 11 /r"         , "tt": "t1s"    , "vl": "no"},
   2764       {"any": "vmovsd W:xmm[63:0] {kz}, m64"                               , "op": "[MR ] EVEX.LIG.F2.0F.W1 10 /r"         , "tt": "t1s"    , "vl": "no"},
   2765       {"any": "vmovsd W:xmm {kz}, xmm[127:64], xmm[63:0]"                  , "op": "[MVR] EVEX.LIG.F2.0F.W1 11 /r"         , "tt": "none"   , "vl": "no"},
   2766       {"any": "vmovsd W:xmm {kz}, xmm[127:64], xmm[63:0]"                  , "op": "[RVM] EVEX.LIG.F2.0F.W1 10 /r"         , "tt": "none"   , "vl": "no"},
   2767       {"any": "vmovshdup W:xyz {kz}, xyz/mxyz"                             , "op": "[RVM] EVEX.xyz.F3.0F.W0 16 /r"         , "tt": "fvm"    , "vl": "xy"},
   2768       {"any": "vmovsldup W:xyz {kz}, xyz/mxyz"                             , "op": "[RVM] EVEX.xyz.F3.0F.W0 12 /r"         , "tt": "fvm"    , "vl": "xy"},
   2769       {"any": "vmovss W:m32, xmm[31:0]"                                    , "op": "[MR ] EVEX.LIG.F3.0F.W0 11 /r"         , "tt": "t1s"    , "vl": "no"},
   2770       {"any": "vmovss W:xmm[31:0] {kz}, m32"                               , "op": "[MR ] EVEX.LIG.F3.0F.W0 10 /r"         , "tt": "t1s"    , "vl": "no"},
   2771       {"any": "vmovss W:xmm {kz}, xmm[127:32], xmm[31:0]"                  , "op": "[MVR] EVEX.LIG.F3.0F.W0 11 /r"         , "tt": "none"   , "vl": "no"},
   2772       {"any": "vmovss W:xmm {kz}, xmm[127:32], xmm[31:0]"                  , "op": "[RVM] EVEX.LIG.F3.0F.W0 10 /r"         , "tt": "none"   , "vl": "no"},
   2773       {"any": "vmovupd W:xyz {kz}, xyz/mxyz"                               , "op": "[RM ] EVEX.xyz.66.0F.W1 10 /r"         , "tt": "fvm"    , "vl": "xy"},
   2774       {"any": "vmovupd W:xyz/mxyz {kz}, xyz"                               , "op": "[MR ] EVEX.xyz.66.0F.W1 11 /r"         , "tt": "fvm"    , "vl": "xy"},
   2775       {"any": "vmovups W:xyz {kz}, xyz/mxyz"                               , "op": "[RM ] EVEX.xyz.0F.W0 10 /r"            , "tt": "fvm"    , "vl": "xy"},
   2776       {"any": "vmovups W:xyz/mxyz {kz}, xyz"                               , "op": "[MR ] EVEX.xyz.0F.W0 11 /r"            , "tt": "fvm"    , "vl": "xy"},
   2777       {"any": "vmulpd W:xyz {kz}, ~xyz, ~xyz/mxyz/b64 {er}"                , "op": "[RVM] EVEX.xyz.66.0F.W1 59 /r"         , "tt": "fv"     , "vl": "xy"},
   2778       {"any": "vmulps W:xyz {kz}, ~xyz, ~xyz/mxyz/b32 {er}"                , "op": "[RVM] EVEX.xyz.0F.W0 59 /r"            , "tt": "fv"     , "vl": "xy"},
   2779       {"any": "vmulsd W:xmm {kz}, xmm, xmm[63:0]/m64 {er}"                 , "op": "[RVM] EVEX.LIG.F2.0F.W1 59 /r"         , "tt": "t1s"    , "vl": "no"},
   2780       {"any": "vmulss W:xmm {kz}, xmm, xmm[31:0]/m32 {er}"                 , "op": "[RVM] EVEX.LIG.F3.0F.W0 59 /r"         , "tt": "t1s"    , "vl": "no"},
   2781       {"any": "vpabsd W:xyz {kz}, xyz/mxyz/b32"                            , "op": "[RM ] EVEX.xyz.66.0F38.W0 1E /r"       , "tt": "fv"     , "vl": "xy"},
   2782       {"any": "vpabsq W:xyz {kz}, xyz/mxyz/b64"                            , "op": "[RM ] EVEX.xyz.66.0F38.W1 1F /r"       , "tt": "fv"     , "vl": "xy"},
   2783       {"any": "vpaddd W:xyz {kz}, ~xyz, ~xyz/mxyz/b32"                     , "op": "[RVM] EVEX.xyz.66.0F.W0 FE /r"         , "tt": "fv"     , "vl": "xy"},
   2784       {"any": "vpaddq W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                     , "op": "[RVM] EVEX.xyz.66.0F.W1 D4 /r"         , "tt": "fv"     , "vl": "xy"},
   2785       {"any": "vpandd W:xyz {kz}, ~xyz, ~xyz/mxyz/b32"                     , "op": "[RVM] EVEX.xyz.66.0F.W0 DB /r"         , "tt": "fv"     , "vl": "xy"},
   2786       {"any": "vpandnd W:xyz {kz}, xyz, xyz/mxyz/b32"                      , "op": "[RVM] EVEX.xyz.66.0F.W0 DF /r"         , "tt": "fv"     , "vl": "xy"},
   2787       {"any": "vpandnq W:xyz {kz}, xyz, xyz/mxyz/b64"                      , "op": "[RVM] EVEX.xyz.66.0F.W1 DF /r"         , "tt": "fv"     , "vl": "xy"},
   2788       {"any": "vpandq W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                     , "op": "[RVM] EVEX.xyz.66.0F.W1 DB /r"         , "tt": "fv"     , "vl": "xy"},
   2789       {"any": "vpblendmd W:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 64 /r"       , "tt": "fv"     , "vl": "xy", "k": "blend"},
   2790       {"any": "vpblendmq W:xyz {kz}, xyz, xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F38.W1 64 /r"       , "tt": "fv"     , "vl": "xy", "k": "blend"},
   2791       {"any": "vpbroadcastd W:xyz {kz}, r32[31:0]"                         , "op": "[RM ] EVEX.xyz.66.0F38.W0 7C /r"       , "tt": "t1s"    , "vl": "xy"},
   2792       {"any": "vpbroadcastd W:xyz {kz}, xmm[31:0]/m32"                     , "op": "[RM ] EVEX.xyz.66.0F38.W0 58 /r"       , "tt": "t1s"    , "vl": "xy"},
   2793       {"any": "vpbroadcastq W:xyz {kz}, r64"                               , "op": "[RM ] EVEX.xyz.66.0F38.W1 7C /r"       , "tt": "t1s"    , "vl": "xy"},
   2794       {"any": "vpbroadcastq W:xyz {kz}, xmm[63:0]/m64"                     , "op": "[RM ] EVEX.xyz.66.0F38.W1 59 /r"       , "tt": "t1s"    , "vl": "xy"},
   2795       {"any": "vpcmpd W:k {k}, xyz, xyz/mxyz/b32, imm8"                    , "op": "[RVM] EVEX.xyz.66.0F3A.W0 1F /r ib"    , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2796       {"any": "vpcmpeqd W:k {k}, ~xyz, ~xyz/mxyz/b32"                      , "op": "[RVM] EVEX.xyz.66.0F.W0 76 /r"         , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2797       {"any": "vpcmpeqq W:k {k}, ~xyz, ~xyz/mxyz/b64"                      , "op": "[RVM] EVEX.xyz.66.0F38.W1 29 /r"       , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2798       {"any": "vpcmpgtd W:k {k}, xyz, xyz/mxyz/b32"                        , "op": "[RVM] EVEX.xyz.66.0F.W0 66 /r"         , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2799       {"any": "vpcmpgtq W:k {k}, xyz, xyz/mxyz/b64"                        , "op": "[RVM] EVEX.xyz.66.0F38.W1 37 /r"       , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2800       {"any": "vpcmpq W:k {k}, xyz, xyz/mxyz/b64, imm8"                    , "op": "[RVM] EVEX.xyz.66.0F3A.W1 1F /r ib"    , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2801       {"any": "vpcmpud W:k {k}, xyz, xyz/mxyz/b32, imm8"                   , "op": "[RVM] EVEX.xyz.66.0F3A.W0 1E /r ib"    , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2802       {"any": "vpcmpuq W:k {k}, xyz, xyz/mxyz/b64, imm8"                   , "op": "[RVM] EVEX.xyz.66.0F3A.W1 1E /r ib"    , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2803       {"any": "vpcompressd W:xyz/mxyz {kz}, xyz"                           , "op": "[MR ] EVEX.xyz.66.0F38.W0 8B /r"       , "tt": "t1s"    , "vl": "xy"},
   2804       {"any": "vpcompressq W:xyz/mxyz {kz}, xyz"                           , "op": "[MR ] EVEX.xyz.66.0F38.W1 8B /r"       , "tt": "t1s"    , "vl": "xy"},
   2805       {"any": "vpermd W:ymm {kz}, ymm, ymm/m256/b32"                       , "op": "[RVM] EVEX.256.66.0F38.W0 36 /r"       , "tt": "fv"     , "vl": "xy"},
   2806       {"any": "vpermd W:zmm {kz}, zmm, zmm/m512/b32"                       , "op": "[RVM] EVEX.512.66.0F38.W0 36 /r"       , "tt": "fv"     , "vl": "xy"},
   2807       {"any": "vpermi2d X:xyz {kz}, xyz, xyz/mxyz/b32"                     , "op": "[RVM] EVEX.xyz.66.0F38.W0 76 /r"       , "tt": "fv"     , "vl": "xy"},
   2808       {"any": "vpermi2pd W:xyz {kz}, xyz, xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F38.W1 77 /r"       , "tt": "fv"     , "vl": "xy"},
   2809       {"any": "vpermi2ps W:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 77 /r"       , "tt": "fv"     , "vl": "xy"},
   2810       {"any": "vpermi2q X:xyz {kz}, xyz, xyz/mxyz/b64"                     , "op": "[RVM] EVEX.xyz.66.0F38.W1 76 /r"       , "tt": "fv"     , "vl": "xy"},
   2811       {"any": "vpermilpd W:xyz {kz}, xyz, xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F38.W1 0D /r"       , "tt": "fv"     , "vl": "xy"},
   2812       {"any": "vpermilpd W:xyz {kz}, xyz/mxyz/b64, imm8"                   , "op": "[RM ] EVEX.xyz.66.0F3A.W1 05 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2813       {"any": "vpermilps W:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 0C /r"       , "tt": "fv"     , "vl": "xy"},
   2814       {"any": "vpermilps W:xyz {kz}, xyz/mxyz/b32, imm8"                   , "op": "[RM ] EVEX.xyz.66.0F3A.W0 04 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2815       {"any": "vpermpd W:ymm {kz}, ymm, ymm/m256/b64"                      , "op": "[RVM] EVEX.256.66.0F38.W1 16 /r"       , "tt": "fv"     , "vl": "xy"},
   2816       {"any": "vpermpd W:zmm {kz}, zmm, zmm/m512/b64"                      , "op": "[RVM] EVEX.512.66.0F38.W1 16 /r"       , "tt": "fv"     , "vl": "xy"},
   2817       {"any": "vpermpd W:ymm {kz}, ymm/m256/b64, imm8"                     , "op": "[RM ] EVEX.256.66.0F3A.W1 01 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2818       {"any": "vpermpd W:zmm {kz}, zmm/m512/b64, imm8"                     , "op": "[RM ] EVEX.512.66.0F3A.W1 01 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2819       {"any": "vpermps W:ymm {kz}, ymm, ymm/m256/b32"                      , "op": "[RVM] EVEX.256.66.0F38.W0 16 /r"       , "tt": "fv"     , "vl": "xy"},
   2820       {"any": "vpermps W:zmm {kz}, zmm, zmm/m512/b32"                      , "op": "[RVM] EVEX.512.66.0F38.W0 16 /r"       , "tt": "fv"     , "vl": "xy"},
   2821       {"any": "vpermq W:ymm {kz}, ymm, ymm/m256/b64"                       , "op": "[RVM] EVEX.256.66.0F38.W1 36 /r"       , "tt": "fv"     , "vl": "xy"},
   2822       {"any": "vpermq W:zmm {kz}, zmm, zmm/m512/b64"                       , "op": "[RVM] EVEX.512.66.0F38.W1 36 /r"       , "tt": "fv"     , "vl": "xy"},
   2823       {"any": "vpermq W:ymm {kz}, ymm/m256/b64, imm8"                      , "op": "[RM ] EVEX.256.66.0F3A.W1 00 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2824       {"any": "vpermq W:zmm {kz}, zmm/m512/b64, imm8"                      , "op": "[RM ] EVEX.512.66.0F3A.W1 00 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2825       {"any": "vpermt2d X:xyz {kz}, xyz, xyz/mxyz/b32"                     , "op": "[RVM] EVEX.xyz.66.0F38.W0 7E /r"       , "tt": "fv"     , "vl": "xy"},
   2826       {"any": "vpermt2pd X:xyz {kz}, xyz, xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F38.W1 7F /r"       , "tt": "fv"     , "vl": "xy"},
   2827       {"any": "vpermt2ps X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 7F /r"       , "tt": "fv"     , "vl": "xy"},
   2828       {"any": "vpermt2q X:xyz {kz}, xyz, xyz/mxyz/b64"                     , "op": "[RVM] EVEX.xyz.66.0F38.W1 7E /r"       , "tt": "fv"     , "vl": "xy"},
   2829       {"any": "vpexpandd W:xyz {kz}, xyz/mxyz"                             , "op": "[RM ] EVEX.xyz.66.0F38.W0 89 /r"       , "tt": "t1s"    , "vl": "xy"},
   2830       {"any": "vpexpandq W:xyz {kz}, xyz/mxyz"                             , "op": "[RM ] EVEX.xyz.66.0F38.W1 89 /r"       , "tt": "t1s"    , "vl": "xy"},
   2831       {"any": "vpgatherdd X:xmm {k}, vm32x"                                , "op": "[RM ] EVEX.128.66.0F38.W0 90"          , "tt": "t1s"    , "vl": "xy"},
   2832       {"any": "vpgatherdd X:ymm {k}, vm32y"                                , "op": "[RM ] EVEX.256.66.0F38.W0 90"          , "tt": "t1s"    , "vl": "xy"},
   2833       {"any": "vpgatherdd X:zmm {k}, vm32z"                                , "op": "[RM ] EVEX.512.66.0F38.W0 90"          , "tt": "t1s"    , "vl": "xy"},
   2834       {"any": "vpgatherdq X:xmm {k}, vm32x"                                , "op": "[RM ] EVEX.128.66.0F38.W1 90"          , "tt": "t1s"    , "vl": "xy"},
   2835       {"any": "vpgatherdq X:ymm {k}, vm32x"                                , "op": "[RM ] EVEX.256.66.0F38.W1 90"          , "tt": "t1s"    , "vl": "xy"},
   2836       {"any": "vpgatherdq X:zmm {k}, vm32y"                                , "op": "[RM ] EVEX.512.66.0F38.W1 90"          , "tt": "t1s"    , "vl": "xy"},
   2837       {"any": "vpgatherqd X:xmm {k}, vm64x"                                , "op": "[RM ] EVEX.128.66.0F38.W0 91"          , "tt": "t1s"    , "vl": "xy"},
   2838       {"any": "vpgatherqd X:xmm {k}, vm64y"                                , "op": "[RM ] EVEX.256.66.0F38.W0 91"          , "tt": "t1s"    , "vl": "xy"},
   2839       {"any": "vpgatherqd X:ymm {k}, vm64z"                                , "op": "[RM ] EVEX.512.66.0F38.W0 91"          , "tt": "t1s"    , "vl": "xy"},
   2840       {"any": "vpgatherqq X:xmm {k}, vm64x"                                , "op": "[RM ] EVEX.128.66.0F38.W1 91"          , "tt": "t1s"    , "vl": "xy"},
   2841       {"any": "vpgatherqq X:ymm {k}, vm64y"                                , "op": "[RM ] EVEX.256.66.0F38.W1 91"          , "tt": "t1s"    , "vl": "xy"},
   2842       {"any": "vpgatherqq X:zmm {k}, vm64z"                                , "op": "[RM ] EVEX.512.66.0F38.W1 91"          , "tt": "t1s"    , "vl": "xy"},
   2843       {"any": "vpmaxsd W:xyz {kz}, ~xyz, ~xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 3D /r"       , "tt": "fv"     , "vl": "xy"},
   2844       {"any": "vpmaxsq W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F38.W1 3D /r"       , "tt": "fv"     , "vl": "xy"},
   2845       {"any": "vpmaxud W:xyz {kz}, ~xyz, ~xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 3F /r"       , "tt": "fv"     , "vl": "xy"},
   2846       {"any": "vpmaxuq W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F38.W1 3F /r"       , "tt": "fv"     , "vl": "xy"},
   2847       {"any": "vpminsd W:xyz {kz}, ~xyz, ~xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 39 /r"       , "tt": "fv"     , "vl": "xy"},
   2848       {"any": "vpminsq W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F38.W1 39 /r"       , "tt": "fv"     , "vl": "xy"},
   2849       {"any": "vpminud W:xyz {kz}, ~xyz, ~xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 3B /r"       , "tt": "fv"     , "vl": "xy"},
   2850       {"any": "vpminuq W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F38.W1 3B /r"       , "tt": "fv"     , "vl": "xy"},
   2851       {"any": "vpmovdb W:xxx/mxxx {kz}, xyz"                               , "op": "[MR ] EVEX.xyz.F3.0F38.W0 31 /r"       , "tt": "qvm"    , "vl": "xy"},
   2852       {"any": "vpmovdw W:xxy/mxxy {kz}, xyz"                               , "op": "[MR ] EVEX.xyz.F3.0F38.W0 33 /r"       , "tt": "hvm"    , "vl": "xy"},
   2853       {"any": "vpmovqb W:xmm[15:0]/m16 {kz}, xmm"                          , "op": "[MR ] EVEX.128.F3.0F38.W0 32 /r"       , "tt": "ovm"    , "vl": "xy"},
   2854       {"any": "vpmovqb W:xmm[31:0]/m32 {kz}, ymm"                          , "op": "[MR ] EVEX.256.F3.0F38.W0 32 /r"       , "tt": "ovm"    , "vl": "xy"},
   2855       {"any": "vpmovqb W:xmm[63:0]/m64 {kz}, zmm"                          , "op": "[MR ] EVEX.512.F3.0F38.W0 32 /r"       , "tt": "ovm"    , "vl": "xy"},
   2856       {"any": "vpmovqd W:xxy/mxxy {kz}, xyz"                               , "op": "[MR ] EVEX.xyz.F3.0F38.W0 35 /r"       , "tt": "hvm"    , "vl": "xy"},
   2857       {"any": "vpmovqw W:xxx/mxxx {kz}, xyz"                               , "op": "[MR ] EVEX.xyz.F3.0F38.W0 34 /r"       , "tt": "qvm"    , "vl": "xy"},
   2858       {"any": "vpmovsdb W:xxx/mxxx {kz}, xyz"                              , "op": "[MR ] EVEX.xyz.F3.0F38.W0 21 /r"       , "tt": "qvm"    , "vl": "xy"},
   2859       {"any": "vpmovsdw W:xxy/mxxy {kz}, xyz"                              , "op": "[MR ] EVEX.xyz.F3.0F38.W0 23 /r"       , "tt": "hvm"    , "vl": "xy"},
   2860       {"any": "vpmovsqb W:xmm[15:0]/m16 {kz}, xmm"                         , "op": "[MR ] EVEX.128.F3.0F38.W0 22 /r"       , "tt": "ovm"    , "vl": "xy"},
   2861       {"any": "vpmovsqb W:xmm[31:0]/m32 {kz}, ymm"                         , "op": "[MR ] EVEX.256.F3.0F38.W0 22 /r"       , "tt": "ovm"    , "vl": "xy"},
   2862       {"any": "vpmovsqb W:xmm[63:0]/m64 {kz}, zmm"                         , "op": "[MR ] EVEX.512.F3.0F38.W0 22 /r"       , "tt": "ovm"    , "vl": "xy"},
   2863       {"any": "vpmovsqd W:xxy/mxxy {kz}, xyz"                              , "op": "[MR ] EVEX.xyz.F3.0F38.W0 25 /r"       , "tt": "hvm"    , "vl": "xy"},
   2864       {"any": "vpmovsqw W:xxx/mxxx {kz}, xyz"                              , "op": "[MR ] EVEX.xyz.F3.0F38.W0 24 /r"       , "tt": "qvm"    , "vl": "xy"},
   2865       {"any": "vpmovsxbd W:xyz {kz}, xxx/mxxx"                             , "op": "[RM ] EVEX.xyz.66.0F38.WIG 21 /r"      , "tt": "qvm"    , "vl": "xy"},
   2866       {"any": "vpmovsxbq W:xmm {kz}, xmm[15:0]/m16"                        , "op": "[RM ] EVEX.128.66.0F38.WIG 22 /r"      , "tt": "ovm"    , "vl": "xy"},
   2867       {"any": "vpmovsxbq W:ymm {kz}, xmm[31:0]/m32"                        , "op": "[RM ] EVEX.256.66.0F38.WIG 22 /r"      , "tt": "ovm"    , "vl": "xy"},
   2868       {"any": "vpmovsxbq W:zmm {kz}, xmm[63:0]/m64"                        , "op": "[RM ] EVEX.512.66.0F38.WIG 22 /r"      , "tt": "ovm"    , "vl": "xy"},
   2869       {"any": "vpmovsxdq W:xyz {kz}, xxy/mxxy"                             , "op": "[RM ] EVEX.xyz.66.0F38.W0 25 /r"       , "tt": "hvm"    , "vl": "xy"},
   2870       {"any": "vpmovsxwd W:xyz {kz}, xxy/mxxy"                             , "op": "[RM ] EVEX.xyz.66.0F38.WIG 23 /r"      , "tt": "hvm"    , "vl": "xy"},
   2871       {"any": "vpmovsxwq W:xyz {kz}, xxx/mxxx"                             , "op": "[RM ] EVEX.xyz.66.0F38.WIG 24 /r"      , "tt": "qvm"    , "vl": "xy"},
   2872       {"any": "vpmovusdb W:xxx/mxxx {kz}, xyz"                             , "op": "[MR ] EVEX.xyz.F3.0F38.W0 11 /r"       , "tt": "qvm"    , "vl": "xy"},
   2873       {"any": "vpmovusdw W:xxy/mxxy {kz}, xyz"                             , "op": "[MR ] EVEX.xyz.F3.0F38.W0 13 /r"       , "tt": "hvm"    , "vl": "xy"},
   2874       {"any": "vpmovusqb W:xmm[15:0]/m16 {kz}, xmm"                        , "op": "[MR ] EVEX.128.F3.0F38.W0 12 /r"       , "tt": "ovm"    , "vl": "xy"},
   2875       {"any": "vpmovusqb W:xmm[31:0]/m32 {kz}, ymm"                        , "op": "[MR ] EVEX.256.F3.0F38.W0 12 /r"       , "tt": "ovm"    , "vl": "xy"},
   2876       {"any": "vpmovusqb W:xmm[63:0]/m64 {kz}, zmm"                        , "op": "[MR ] EVEX.512.F3.0F38.W0 12 /r"       , "tt": "ovm"    , "vl": "xy"},
   2877       {"any": "vpmovusqd W:xxy/mxxy {kz}, xyz"                             , "op": "[MR ] EVEX.xyz.F3.0F38.W0 15 /r"       , "tt": "hvm"    , "vl": "xy"},
   2878       {"any": "vpmovusqw W:xxx/mxxx {kz}, xyz"                             , "op": "[MR ] EVEX.xyz.F3.0F38.W0 14 /r"       , "tt": "qvm"    , "vl": "xy"},
   2879       {"any": "vpmovzxbd W:xyz {kz}, xxx/mxxx"                             , "op": "[RM ] EVEX.xyz.66.0F38.WIG 31 /r"      , "tt": "qvm"    , "vl": "xy"},
   2880       {"any": "vpmovzxbq W:xmm {kz}, xmm[15:0]/m16"                        , "op": "[RM ] EVEX.128.66.0F38.WIG 32 /r"      , "tt": "ovm"    , "vl": "xy"},
   2881       {"any": "vpmovzxbq W:ymm {kz}, xmm[31:0]/m32"                        , "op": "[RM ] EVEX.256.66.0F38.WIG 32 /r"      , "tt": "ovm"    , "vl": "xy"},
   2882       {"any": "vpmovzxbq W:zmm {kz}, xmm[63:0]/m64"                        , "op": "[RM ] EVEX.512.66.0F38.WIG 32 /r"      , "tt": "ovm"    , "vl": "xy"},
   2883       {"any": "vpmovzxdq W:xyz {kz}, xxy/mxxy"                             , "op": "[RM ] EVEX.xyz.66.0F38.W0 35 /r"       , "tt": "hvm"    , "vl": "xy"},
   2884       {"any": "vpmovzxwd W:xyz {kz}, xxy/mxxy"                             , "op": "[RM ] EVEX.xyz.66.0F38.WIG 33 /r"      , "tt": "hvm"    , "vl": "xy"},
   2885       {"any": "vpmovzxwq W:xyz {kz}, xxx/mxxx"                             , "op": "[RM ] EVEX.xyz.66.0F38.WIG 34 /r"      , "tt": "qvm"    , "vl": "xy"},
   2886       {"any": "vpmuldq W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F38.W1 28 /r"       , "tt": "fv"     , "vl": "xy"},
   2887       {"any": "vpmulld W:xyz {kz}, ~xyz, ~xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 40 /r"       , "tt": "fv"     , "vl": "xy"},
   2888       {"any": "vpmuludq W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                   , "op": "[RVM] EVEX.xyz.66.0F.W1 F4 /r"         , "tt": "fv"     , "vl": "xy"},
   2889       {"any": "vpord W:xyz {kz}, ~xyz, ~xyz/mxyz/b32"                      , "op": "[RVM] EVEX.xyz.66.0F.W0 EB /r"         , "tt": "fv"     , "vl": "xy"},
   2890       {"any": "vporq W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                      , "op": "[RVM] EVEX.xyz.66.0F.W1 EB /r"         , "tt": "fv"     , "vl": "xy"},
   2891       {"any": "vprold W:xyz {kz}, xyz/mxyz/b32, imm8"                      , "op": "[VM ] EVEX.xyz.66.0F.W0 72 /1 ib"      , "tt": "fv"     , "vl": "xy"},
   2892       {"any": "vprolq W:xyz {kz}, xyz/mxyz/b64, imm8"                      , "op": "[VM ] EVEX.xyz.66.0F.W1 72 /1 ib"      , "tt": "fv"     , "vl": "xy"},
   2893       {"any": "vprolvd W:xyz {kz}, xyz, xyz/mxyz/b32"                      , "op": "[RVM] EVEX.xyz.66.0F38.W0 15 /r"       , "tt": "fv"     , "vl": "xy"},
   2894       {"any": "vprolvq W:xyz {kz}, xyz, xyz/mxyz/b64"                      , "op": "[RVM] EVEX.xyz.66.0F38.W1 15 /r"       , "tt": "fv"     , "vl": "xy"},
   2895       {"any": "vprord W:xyz {kz}, xyz/mxyz/b32, imm8"                      , "op": "[VM ] EVEX.xyz.66.0F.W0 72 /0 ib"      , "tt": "fv"     , "vl": "xy"},
   2896       {"any": "vprorq W:xyz {kz}, xyz/mxyz/b64, imm8"                      , "op": "[VM ] EVEX.xyz.66.0F.W1 72 /0 ib"      , "tt": "fv"     , "vl": "xy"},
   2897       {"any": "vprorvd W:xyz {kz}, xyz, xyz/mxyz/b32"                      , "op": "[RVM] EVEX.xyz.66.0F38.W0 14 /r"       , "tt": "fv"     , "vl": "xy"},
   2898       {"any": "vprorvq W:xyz {kz}, xyz, xyz/mxyz/b64"                      , "op": "[RVM] EVEX.xyz.66.0F38.W1 14 /r"       , "tt": "fv"     , "vl": "xy"},
   2899       {"any": "vpscatterdd W:vm32x {k}, xmm"                               , "op": "[MR ] EVEX.128.66.0F38.W0 A0 /r"       , "tt": "t1s"    , "vl": "xy"},
   2900       {"any": "vpscatterdd W:vm32y {k}, ymm"                               , "op": "[MR ] EVEX.256.66.0F38.W0 A0 /r"       , "tt": "t1s"    , "vl": "xy"},
   2901       {"any": "vpscatterdd W:vm32z {k}, zmm"                               , "op": "[MR ] EVEX.512.66.0F38.W0 A0 /r"       , "tt": "t1s"    , "vl": "xy"},
   2902       {"any": "vpscatterdq W:vm32x {k}, xmm"                               , "op": "[MR ] EVEX.128.66.0F38.W1 A0 /r"       , "tt": "t1s"    , "vl": "xy"},
   2903       {"any": "vpscatterdq W:vm32x {k}, ymm"                               , "op": "[MR ] EVEX.256.66.0F38.W1 A0 /r"       , "tt": "t1s"    , "vl": "xy"},
   2904       {"any": "vpscatterdq W:vm32y {k}, zmm"                               , "op": "[MR ] EVEX.512.66.0F38.W1 A0 /r"       , "tt": "t1s"    , "vl": "xy"},
   2905       {"any": "vpscatterqd W:vm64x {k}, xmm"                               , "op": "[MR ] EVEX.128.66.0F38.W0 A1 /r"       , "tt": "t1s"    , "vl": "xy"},
   2906       {"any": "vpscatterqd W:vm64y {k}, xmm"                               , "op": "[MR ] EVEX.256.66.0F38.W0 A1 /r"       , "tt": "t1s"    , "vl": "xy"},
   2907       {"any": "vpscatterqd W:vm64z {k}, ymm"                               , "op": "[MR ] EVEX.512.66.0F38.W0 A1 /r"       , "tt": "t1s"    , "vl": "xy"},
   2908       {"any": "vpscatterqq W:vm64x {k}, xmm"                               , "op": "[MR ] EVEX.128.66.0F38.W1 A1 /r"       , "tt": "t1s"    , "vl": "xy"},
   2909       {"any": "vpscatterqq W:vm64y {k}, ymm"                               , "op": "[MR ] EVEX.256.66.0F38.W1 A1 /r"       , "tt": "t1s"    , "vl": "xy"},
   2910       {"any": "vpscatterqq W:vm64z {k}, zmm"                               , "op": "[MR ] EVEX.512.66.0F38.W1 A1 /r"       , "tt": "t1s"    , "vl": "xy"},
   2911       {"any": "vpshufd W:xyz {kz}, xyz/mxyz/b32, imm8"                     , "op": "[RM ] EVEX.xyz.66.0F.W0 70 /r ib"      , "tt": "fv"     , "vl": "xy"},
   2912       {"any": "vpslld W:xyz {kz}, xyz, xmm/m128"                           , "op": "[RVM] EVEX.xyz.66.0F.W0 F2 /r"         , "tt": "m128"   , "vl": "xy"},
   2913       {"any": "vpslld W:xyz {kz}, xyz/mxyz/b32, imm8"                      , "op": "[VM ] EVEX.xyz.66.0F.W0 72 /6 ib"      , "tt": "fv"     , "vl": "xy"},
   2914       {"any": "vpsllq W:xyz {kz}, xyz, xmm/m128"                           , "op": "[RVM] EVEX.xyz.66.0F.W1 F3 /r"         , "tt": "m128"   , "vl": "xy"},
   2915       {"any": "vpsllq W:xyz {kz}, xyz/mxyz/b64, imm8"                      , "op": "[VM ] EVEX.xyz.66.0F.W1 73 /6 ib"      , "tt": "fv"     , "vl": "xy"},
   2916       {"any": "vpsllvd W:xyz {kz}, xyz, xyz/mxyz/b32"                      , "op": "[RVM] EVEX.xyz.66.0F38.W0 47 /r"       , "tt": "fv"     , "vl": "xy"},
   2917       {"any": "vpsllvq W:xyz {kz}, xyz, xyz/mxyz/b64"                      , "op": "[RVM] EVEX.xyz.66.0F38.W1 47 /r"       , "tt": "fv"     , "vl": "xy"},
   2918       {"any": "vpsrad W:xyz {kz}, xyz, xmm/m128"                           , "op": "[RVM] EVEX.xyz.66.0F.W0 E2 /r"         , "tt": "m128"   , "vl": "xy"},
   2919       {"any": "vpsrad W:xyz {kz}, xyz/mxyz/b32, imm8"                      , "op": "[VM ] EVEX.xyz.66.0F.W0 72 /4 ib"      , "tt": "fv"     , "vl": "xy"},
   2920       {"any": "vpsraq W:xyz {kz}, xyz, xmm/m128"                           , "op": "[RVM] EVEX.xyz.66.0F.W1 E2 /r"         , "tt": "m128"   , "vl": "xy"},
   2921       {"any": "vpsraq W:xyz {kz}, xyz/mxyz/b64, imm8"                      , "op": "[VM ] EVEX.xyz.66.0F.W1 72 /4 ib"      , "tt": "fv"     , "vl": "xy"},
   2922       {"any": "vpsravd W:xyz {kz}, xyz, xyz/mxyz/b32"                      , "op": "[RVM] EVEX.xyz.66.0F38.W0 46 /r"       , "tt": "fv"     , "vl": "xy"},
   2923       {"any": "vpsravq W:xyz {kz}, xyz, xyz/mxyz/b64"                      , "op": "[RVM] EVEX.xyz.66.0F38.W1 46 /r"       , "tt": "fv"     , "vl": "xy"},
   2924       {"any": "vpsrld W:xyz {kz}, xyz, xmm/m128"                           , "op": "[RVM] EVEX.xyz.66.0F.W0 D2 /r"         , "tt": "m128"   , "vl": "xy"},
   2925       {"any": "vpsrld W:xyz {kz}, xyz/mxyz/b32, imm8"                      , "op": "[VM ] EVEX.xyz.66.0F.W0 72 /2 ib"      , "tt": "fv"     , "vl": "xy"},
   2926       {"any": "vpsrlq W:xyz {kz}, xyz, xmm/m128"                           , "op": "[RVM] EVEX.xyz.66.0F.W1 D3 /r"         , "tt": "m128"   , "vl": "xy"},
   2927       {"any": "vpsrlq W:xyz {kz}, xyz/mxyz/b64, imm8"                      , "op": "[VM ] EVEX.xyz.66.0F.W1 73 /2 ib"      , "tt": "fv"     , "vl": "xy"},
   2928       {"any": "vpsrlvd W:xyz {kz}, xyz, xyz/mxyz/b32"                      , "op": "[RVM] EVEX.xyz.66.0F38.W0 45 /r"       , "tt": "fv"     , "vl": "xy"},
   2929       {"any": "vpsrlvq W:xyz {kz}, xyz, xyz/mxyz/b64"                      , "op": "[RVM] EVEX.xyz.66.0F38.W1 45 /r"       , "tt": "fv"     , "vl": "xy"},
   2930       {"any": "vpsubd W:xyz {kz}, xyz, xyz/mxyz/b32"                       , "op": "[RVM] EVEX.xyz.66.0F.W0 FA /r"         , "tt": "fv"     , "vl": "xy"},
   2931       {"any": "vpsubq W:xyz {kz}, xyz, xyz/mxyz/b64"                       , "op": "[RVM] EVEX.xyz.66.0F.W1 FB /r"         , "tt": "fv"     , "vl": "xy"},
   2932       {"any": "vpternlogd X:xyz {kz}, xyz, xyz/mxyz/b32, imm8"             , "op": "[RVM] EVEX.xyz.66.0F3A.W0 25 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2933       {"any": "vpternlogq X:xyz {kz}, xyz, xyz/mxyz/b64, imm8"             , "op": "[RVM] EVEX.xyz.66.0F3A.W1 25 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2934       {"any": "vptestmd W:k {k}, xyz, xyz/mxyz/b32"                        , "op": "[RVM] EVEX.xyz.66.0F38.W0 27 /r"       , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2935       {"any": "vptestmq W:k {k}, xyz, xyz/mxyz/b64"                        , "op": "[RVM] EVEX.xyz.66.0F38.W1 27 /r"       , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2936       {"any": "vptestnmd W:k {k}, xyz, xyz/mxyz/b32"                       , "op": "[RVM] EVEX.xyz.F3.0F38.W0 27 /r"       , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2937       {"any": "vptestnmq W:k {k}, xyz, xyz/mxyz/b64"                       , "op": "[RVM] EVEX.xyz.F3.0F38.W1 27 /r"       , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   2938       {"any": "vpunpckhdq W:xyz {kz}, xyz, xyz/mxyz/b32"                   , "op": "[RVM] EVEX.xyz.66.0F.W0 6A /r"         , "tt": "fv"     , "vl": "xy"},
   2939       {"any": "vpunpckhqdq W:xyz {kz}, xyz, xyz/mxyz/b64"                  , "op": "[RVM] EVEX.xyz.66.0F.W1 6D /r"         , "tt": "fv"     , "vl": "xy"},
   2940       {"any": "vpunpckldq W:xyz {kz}, xyz, xyz/mxyz/b32"                   , "op": "[RVM] EVEX.xyz.66.0F.W0 62 /r"         , "tt": "fv"     , "vl": "xy"},
   2941       {"any": "vpunpcklqdq W:xyz {kz}, xyz, xyz/mxyz/b64"                  , "op": "[RVM] EVEX.xyz.66.0F.W1 6C /r"         , "tt": "fv"     , "vl": "xy"},
   2942       {"any": "vpxord W:xyz {kz}, ~xyz, ~xyz/mxyz/b32"                     , "op": "[RVM] EVEX.xyz.66.0F.W0 EF /r"         , "tt": "fv"     , "vl": "xy"},
   2943       {"any": "vpxorq W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                     , "op": "[RVM] EVEX.xyz.66.0F.W1 EF /r"         , "tt": "fv"     , "vl": "xy"},
   2944       {"any": "vrcp14pd W:xyz {kz}, xyz/mxyz/b64"                          , "op": "[RM ] EVEX.xyz.66.0F38.W1 4C /r"       , "tt": "fv"     , "vl": "xy"},
   2945       {"any": "vrcp14ps W:xyz {kz}, xyz/mxyz/b32"                          , "op": "[RM ] EVEX.xyz.66.0F38.W0 4C /r"       , "tt": "fv"     , "vl": "xy"},
   2946       {"any": "vrcp14sd W:xmm {kz}, xmm[127:64], xmm[63:0]/m64"            , "op": "[RVM] EVEX.LIG.66.0F38.W1 4D /r"       , "tt": "t1s"    , "vl": "no"},
   2947       {"any": "vrcp14ss W:xmm {kz}, xmm[127:32], xmm[31:0]/m32"            , "op": "[RVM] EVEX.LIG.66.0F38.W0 4D /r"       , "tt": "t1s"    , "vl": "no"},
   2948       {"any": "vrndscalepd W:xyz {kz}, xyz/mxyz/b64, imm8 {sae}"           , "op": "[RM ] EVEX.xyz.66.0F3A.W1 09 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2949       {"any": "vrndscaleps W:xyz {kz}, xyz/mxyz/b32, imm8 {sae}"           , "op": "[RM ] EVEX.xyz.66.0F3A.W0 08 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2950       {"any": "vrndscalesd W:xmm {kz},xmm[127:64],xmm[63:0]/m64,imm8 {sae}", "op": "[RVM] EVEX.LIG.66.0F3A.W1 0B /r ib"    , "tt": "t1s"    , "vl": "no"},
   2951       {"any": "vrndscaless W:xmm {kz},xmm[127:32],xmm[31:0]/m32,imm8 {sae}", "op": "[RVM] EVEX.LIG.66.0F3A.W0 0A /r ib"    , "tt": "t1s"    , "vl": "no"},
   2952       {"any": "vrsqrt14pd W:xyz {kz}, xyz/mxyz/b64"                        , "op": "[RM ] EVEX.xyz.66.0F38.W1 4E /r"       , "tt": "fv"     , "vl": "xy"},
   2953       {"any": "vrsqrt14ps W:xyz {kz}, xyz/mxyz/b32"                        , "op": "[RM ] EVEX.xyz.66.0F38.W0 4E /r"       , "tt": "fv"     , "vl": "xy"},
   2954       {"any": "vrsqrt14sd W:xmm {kz}, xmm[127:64], xmm[63:0]/m64"          , "op": "[RVM] EVEX.LIG.66.0F38.W1 4F /r"       , "tt": "t1s"    , "vl": "no"},
   2955       {"any": "vrsqrt14ss W:xmm {kz}, xmm[127:32], xmm[31:0]/m32"          , "op": "[RVM] EVEX.LIG.66.0F38.W0 4F /r"       , "tt": "t1s"    , "vl": "no"},
   2956       {"any": "vscalefpd W:xyz {kz}, xyz, xyz/mxyz/b64 {er}"               , "op": "[RVM] EVEX.xyz.66.0F38.W1 2C /r"       , "tt": "fv"     , "vl": "xy"},
   2957       {"any": "vscalefps W:xyz {kz}, xyz, xyz/mxyz/b32 {er}"               , "op": "[RVM] EVEX.xyz.66.0F38.W0 2C /r"       , "tt": "fv"     , "vl": "xy"},
   2958       {"any": "vscalefsd W:xmm {kz}, xmm, xmm[63:0]/m64 {er}"              , "op": "[RVM] EVEX.LIG.66.0F38.W1 2D /r"       , "tt": "t1s"    , "vl": "no"},
   2959       {"any": "vscalefss W:xmm {kz}, xmm, xmm[31:0]/m32 {er}"              , "op": "[RVM] EVEX.LIG.66.0F38.W0 2D /r"       , "tt": "t1s"    , "vl": "no"},
   2960       {"any": "vscatterdpd W:vm32x {k}, xmm"                               , "op": "[MR ] EVEX.128.66.0F38.W1 A2 /r"       , "tt": "t1s"    , "vl": "xy"},
   2961       {"any": "vscatterdpd W:vm32x {k}, ymm"                               , "op": "[MR ] EVEX.256.66.0F38.W1 A2 /r"       , "tt": "t1s"    , "vl": "xy"},
   2962       {"any": "vscatterdpd W:vm32y {k}, zmm"                               , "op": "[MR ] EVEX.512.66.0F38.W1 A2 /r"       , "tt": "t1s"    , "vl": "xy"},
   2963       {"any": "vscatterdps W:vm32x {k}, xmm"                               , "op": "[MR ] EVEX.128.66.0F38.W0 A2 /r"       , "tt": "t1s"    , "vl": "xy"},
   2964       {"any": "vscatterdps W:vm32y {k}, ymm"                               , "op": "[MR ] EVEX.256.66.0F38.W0 A2 /r"       , "tt": "t1s"    , "vl": "xy"},
   2965       {"any": "vscatterdps W:vm32z {k}, zmm"                               , "op": "[MR ] EVEX.512.66.0F38.W0 A2 /r"       , "tt": "t1s"    , "vl": "xy"},
   2966       {"any": "vscatterqpd W:vm64x {k}, xmm"                               , "op": "[MR ] EVEX.128.66.0F38.W1 A3"          , "tt": "t1s"    , "vl": "xy"},
   2967       {"any": "vscatterqpd W:vm64y {k}, ymm"                               , "op": "[MR ] EVEX.256.66.0F38.W1 A3"          , "tt": "t1s"    , "vl": "xy"},
   2968       {"any": "vscatterqpd W:vm64z {k}, zmm"                               , "op": "[MR ] EVEX.512.66.0F38.W1 A3"          , "tt": "t1s"    , "vl": "xy"},
   2969       {"any": "vscatterqps W:vm64x {k}, xmm"                               , "op": "[MR ] EVEX.128.66.0F38.W0 A3"          , "tt": "t1s"    , "vl": "xy"},
   2970       {"any": "vscatterqps W:vm64y {k}, xmm"                               , "op": "[MR ] EVEX.256.66.0F38.W0 A3"          , "tt": "t1s"    , "vl": "xy"},
   2971       {"any": "vscatterqps W:vm64z {k}, ymm"                               , "op": "[MR ] EVEX.512.66.0F38.W0 A3"          , "tt": "t1s"    , "vl": "xy"},
   2972       {"any": "vshuff32x4 W:ymm {kz}, ymm, ymm/m256/b32, imm8"             , "op": "[RVM] EVEX.256.66.0F3A.W0 23 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2973       {"any": "vshuff32x4 W:zmm {kz}, zmm, zmm/m512/b32, imm8"             , "op": "[RVM] EVEX.512.66.0F3A.W0 23 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2974       {"any": "vshuff64x2 W:ymm {kz}, ymm, ymm/m256/b64, imm8"             , "op": "[RVM] EVEX.256.66.0F3A.W1 23 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2975       {"any": "vshuff64x2 W:zmm {kz}, zmm, zmm/m512/b64, imm8"             , "op": "[RVM] EVEX.512.66.0F3A.W1 23 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2976       {"any": "vshufi32x4 W:ymm {kz}, ymm, ymm/m256/b32, imm8"             , "op": "[RVM] EVEX.256.66.0F3A.W0 43 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2977       {"any": "vshufi32x4 W:zmm {kz}, zmm, zmm/m512/b32, imm8"             , "op": "[RVM] EVEX.512.66.0F3A.W0 43 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2978       {"any": "vshufi64x2 W:ymm {kz}, ymm, ymm/m256/b64, imm8"             , "op": "[RVM] EVEX.256.66.0F3A.W1 43 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2979       {"any": "vshufi64x2 W:zmm {kz}, zmm, zmm/m512/b64, imm8"             , "op": "[RVM] EVEX.512.66.0F3A.W1 43 /r ib"    , "tt": "fv"     , "vl": "xy"},
   2980       {"any": "vshufpd W:xyz {kz}, xyz, xyz/mxyz/b64, imm8"                , "op": "[RVM] EVEX.xyz.66.0F.W1 C6 /r ib"      , "tt": "fv"     , "vl": "xy"},
   2981       {"any": "vshufps W:xyz {kz}, xyz, xyz/mxyz/b32, imm8"                , "op": "[RVM] EVEX.xyz.0F.W0 C6 /r ib"         , "tt": "fv"     , "vl": "xy"},
   2982       {"any": "vsqrtpd W:xyz {kz}, xyz/mxyz/b64 {er}"                      , "op": "[RM ] EVEX.xyz.66.0F.W1 51 /r"         , "tt": "fv"     , "vl": "xy"},
   2983       {"any": "vsqrtps W:xyz {kz}, xyz/mxyz/b32 {er}"                      , "op": "[RM ] EVEX.xyz.0F.W0 51 /r"            , "tt": "fv"     , "vl": "xy"},
   2984       {"any": "vsqrtsd W:xmm {kz}, xmm[127:64], xmm[63:0]/m64 {er}"        , "op": "[RVM] EVEX.LIG.F2.0F.W1 51 /r"         , "tt": "t1s"    , "vl": "no"},
   2985       {"any": "vsqrtss W:xmm {kz}, xmm[127:32], xmm[31:0]/m32 {er}"        , "op": "[RVM] EVEX.LIG.F3.0F.W0 51 /r"         , "tt": "t1s"    , "vl": "no"},
   2986       {"any": "vsubpd W:xyz {kz}, xyz, xyz/mxyz/b64 {er}"                  , "op": "[RVM] EVEX.xyz.66.0F.W1 5C /r"         , "tt": "fv"     , "vl": "xy"},
   2987       {"any": "vsubps W:xyz {kz}, xyz, xyz/mxyz/b32 {er}"                  , "op": "[RVM] EVEX.xyz.0F.W0 5C /r"            , "tt": "fv"     , "vl": "xy"},
   2988       {"any": "vsubsd W:xmm {kz}, xmm, xmm[63:0]/m64 {er}"                 , "op": "[RVM] EVEX.LIG.F2.0F.W1 5C /r"         , "tt": "t1s"    , "vl": "no"},
   2989       {"any": "vsubss W:xmm {kz}, xmm, xmm[31:0]/m32 {er}"                 , "op": "[RVM] EVEX.LIG.F3.0F.W0 5C /r"         , "tt": "t1s"    , "vl": "no"},
   2990       {"any": "vucomisd R:xmm[63:0], xmm[63:0]/m64 {sae}"                  , "op": "[RM ] EVEX.LIG.66.0F.W1 2E /r"         , "tt": "t1s"    , "vl": "no", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   2991       {"any": "vucomiss R:xmm[31:0], xmm[31:0]/m32 {sae}"                  , "op": "[RM ] EVEX.LIG.NP.0F.W0 2E /r"         , "tt": "t1s"    , "vl": "no", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   2992       {"any": "vunpckhpd W:xyz {kz}, xyz, xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F.W1 15 /r"         , "tt": "fv"     , "vl": "xy"},
   2993       {"any": "vunpckhps W:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.0F.W0 15 /r"            , "tt": "fv"     , "vl": "xy"},
   2994       {"any": "vunpcklpd W:xyz {kz}, xyz, xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F.W1 14 /r"         , "tt": "fv"     , "vl": "xy"},
   2995       {"any": "vunpcklps W:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.0F.W0 14 /r"            , "tt": "fv"     , "vl": "xy"}
   2996     ]},
   2997 
   2998     {"category": "AVX512 SIMD CRYPTO_HASH", "ext": "AVX512_F VAES", "instructions": [
   2999       {"any": "vaesdec W:xyz, xyz, xyz/mxyz"                               , "op": "[RVM] EVEX.xyz.66.0F38.WIG DE /r"      , "tt": "fvm"    , "vl": "xy"},
   3000       {"any": "vaesdeclast W:xyz, xyz, xyz/mxyz"                           , "op": "[RVM] EVEX.xyz.66.0F38.WIG DF /r"      , "tt": "fvm"    , "vl": "xy"},
   3001       {"any": "vaesenc W:xyz, xyz, xyz/mxyz"                               , "op": "[RVM] EVEX.xyz.66.0F38.WIG DC /r"      , "tt": "fvm"    , "vl": "xy"},
   3002       {"any": "vaesenclast W:xyz, xyz, xyz/mxyz"                           , "op": "[RVM] EVEX.xyz.66.0F38.WIG DD /r"      , "tt": "fvm"    , "vl": "xy"}
   3003     ]},
   3004 
   3005     {"category": "AVX512 SIMD", "ext": "AVX512_F GFNI", "instructions": [
   3006       {"any": "vgf2p8affineinvqb W:xyz {kz}, xyz, xyz/mxyz, imm8"          , "op": "[RVM] EVEX.xyz.66.0F3A.W1 CF /r ib"    , "tt": "fvm"    , "vl": "xy"},
   3007       {"any": "vgf2p8affineqb W:xyz {kz}, xyz, xyz/mxyz, imm8"             , "op": "[RVM] EVEX.xyz.66.0F3A.W1 CE /r ib"    , "tt": "fvm"    , "vl": "xy"},
   3008       {"any": "vgf2p8mulb W:xyz {kz}, xyz, xyz/mxyz"                       , "op": "[RVM] EVEX.xyz.66.0F38.W0 CF /r"       , "tt": "fvm"    , "vl": "xy"}
   3009     ]},
   3010 
   3011     {"category": "AVX512 SIMD", "ext": "AVX512_F VPCLMULQDQ", "instructions": [
   3012       {"any": "vpclmulqdq W:xyz, xyz, xyz/mxyz, imm8"                      , "op": "[RVM] EVEX.xyz.66.0F3A.WIG 44 /r ib"   , "tt": "fvm"    , "vl": "xy"}
   3013     ]},
   3014 
   3015     {"category": "AVX512 SIMD", "ext": "AVX512_DQ", "instructions": [
   3016       {"any": "vandnpd W:xyz {kz}, xyz, xyz/mxyz/b64"                      , "op": "[RVM] EVEX.xyz.66.0F.W1 55 /r"         , "tt": "fv"     , "vl": "xy"},
   3017       {"any": "vandnps W:xyz {kz}, xyz, xyz/mxyz/b32"                      , "op": "[RVM] EVEX.xyz.66.W0 55 /r"            , "tt": "fv"     , "vl": "xy"},
   3018       {"any": "vandpd W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                     , "op": "[RVM] EVEX.xyz.66.0F.W1 54 /r"         , "tt": "fv"     , "vl": "xy"},
   3019       {"any": "vandps W:xyz {kz}, ~xyz, ~xyz/mxyz/b32"                     , "op": "[RVM] EVEX.xyz.0F.W0 54 /r"            , "tt": "fv"     , "vl": "xy"},
   3020       {"any": "vbroadcastf32x2 W:ymm {kz}, xmm[63:0]/m64"                  , "op": "[RM ] EVEX.256.66.0F38.W0 19 /r"       , "tt": "t2"     , "vl": "xy"},
   3021       {"any": "vbroadcastf32x2 W:zmm {kz}, xmm[63:0]/m64"                  , "op": "[RM ] EVEX.512.66.0F38.W0 19 /r"       , "tt": "t2"     , "vl": "xy"},
   3022       {"any": "vbroadcastf32x8 W:zmm {kz}, m256"                           , "op": "[RM ] EVEX.512.66.0F38.W0 1B /r"       , "tt": "t8"     , "vl": "xy"},
   3023       {"any": "vbroadcastf64x2 W:ymm {kz}, m128"                           , "op": "[RM ] EVEX.256.66.0F38.W1 1A /r"       , "tt": "t2"     , "vl": "xy"},
   3024       {"any": "vbroadcastf64x2 W:zmm {kz}, m128"                           , "op": "[RM ] EVEX.512.66.0F38.W1 1A /r"       , "tt": "t2"     , "vl": "xy"},
   3025       {"any": "vbroadcasti32x2 W:xmm {kz}, xmm[63:0]/m64"                  , "op": "[RM ] EVEX.128.66.0F38.W0 59 /r"       , "tt": "t2"     , "vl": "xy"},
   3026       {"any": "vbroadcasti32x2 W:ymm {kz}, xmm[63:0]/m64"                  , "op": "[RM ] EVEX.256.66.0F38.W0 59 /r"       , "tt": "t2"     , "vl": "xy"},
   3027       {"any": "vbroadcasti32x2 W:zmm {kz}, xmm[63:0]/m64"                  , "op": "[RM ] EVEX.512.66.0F38.W0 59 /r"       , "tt": "t2"     , "vl": "xy"},
   3028       {"any": "vbroadcasti32x8 W:zmm {kz}, m256"                           , "op": "[RM ] EVEX.512.66.0F38.W0 5B /r"       , "tt": "t8"     , "vl": "xy"},
   3029       {"any": "vbroadcasti64x2 W:ymm {kz}, m128"                           , "op": "[RM ] EVEX.256.66.0F38.W1 5A /r"       , "tt": "t2"     , "vl": "xy"},
   3030       {"any": "vbroadcasti64x2 W:zmm {kz}, m128"                           , "op": "[RM ] EVEX.512.66.0F38.W1 5A /r"       , "tt": "t2"     , "vl": "xy"},
   3031       {"any": "vcvtpd2qq W:xyz {kz}, xyz/mxyz/b64 {er}"                    , "op": "[RM ] EVEX.xyz.66.0F.W1 7B /r"         , "tt": "fv"     , "vl": "xy"},
   3032       {"any": "vcvtpd2uqq W:xyz {kz}, xyz/mxyz/b64 {er}"                   , "op": "[RM ] EVEX.xyz.66.0F.W1 79 /r"         , "tt": "fv"     , "vl": "xy"},
   3033       {"any": "vcvtps2qq W:xyz {kz}, xxy/mxxy/b32 {er}"                    , "op": "[RM ] EVEX.xyz.66.0F.W0 7B /r"         , "tt": "hv"     , "vl": "xy"},
   3034       {"any": "vcvtps2uqq W:xyz {kz}, xxy/mxxy/b32 {er}"                   , "op": "[RM ] EVEX.xyz.66.0F.W0 79 /r"         , "tt": "hv"     , "vl": "xy"},
   3035       {"any": "vcvtqq2pd W:xyz {kz}, xyz/mxyz/b64 {er}"                    , "op": "[RM ] EVEX.xyz.F3.0F.W1 E6 /r"         , "tt": "fv"     , "vl": "xy"},
   3036       {"any": "vcvtqq2ps W:xxy {kz}, xyz/mxyz/b64 {er}"                    , "op": "[RM ] EVEX.xyz.NP.0F.W1 5B /r"         , "tt": "fv"     , "vl": "xy"},
   3037       {"any": "vcvttpd2uqq W:xyz {kz}, xyz/mxyz/b64 {sae}"                 , "op": "[RM ] EVEX.xyz.66.0F.W1 78 /r"         , "tt": "fv"     , "vl": "xy"},
   3038       {"any": "vcvttps2qq W:xyz {kz}, xxy/mxxy/b32 {sae}"                  , "op": "[RM ] EVEX.xyz.66.0F.W0 7A /r"         , "tt": "hv"     , "vl": "xy"},
   3039       {"any": "vcvttps2uqq W:xyz {kz}, xxy/mxxy/b32 {sae}"                 , "op": "[RM ] EVEX.xyz.66.0F.W0 78 /r"         , "tt": "hv"     , "vl": "xy"},
   3040       {"any": "vcvtuqq2pd W:xyz {kz}, xyz/mxyz/b64 {er}"                   , "op": "[RM ] EVEX.xyz.F3.0F.W1 7A /r"         , "tt": "fv"     , "vl": "xy"},
   3041       {"any": "vcvtuqq2ps W:xxy {kz}, xyz/mxyz/b64 {er}"                   , "op": "[RM ] EVEX.xyz.F2.0F.W1 7A /r"         , "tt": "fv"     , "vl": "xy"},
   3042       {"any": "vextractf32x8 W:ymm/m256 {kz}, zmm, imm8"                   , "op": "[MR ] EVEX.512.66.0F3A.W0 1B /r ib"    , "tt": "t8"     , "vl": "xy"},
   3043       {"any": "vextractf64x2 W:xmm/m128 {kz}, ymm, imm8"                   , "op": "[MR ] EVEX.256.66.0F3A.W1 19 /r ib"    , "tt": "t2"     , "vl": "xy"},
   3044       {"any": "vextractf64x2 W:xmm/m128 {kz}, zmm, imm8"                   , "op": "[MR ] EVEX.512.66.0F3A.W1 19 /r ib"    , "tt": "t2"     , "vl": "xy"},
   3045       {"any": "vextracti32x8 W:ymm/m256 {kz}, zmm, imm8"                   , "op": "[MR ] EVEX.512.66.0F3A.W0 3B /r ib"    , "tt": "t8"     , "vl": "xy"},
   3046       {"any": "vextracti64x2 W:xmm/m128 {kz}, ymm, imm8"                   , "op": "[MR ] EVEX.256.66.0F3A.W1 39 /r ib"    , "tt": "t2"     , "vl": "xy"},
   3047       {"any": "vextracti64x2 W:xmm/m128 {kz}, zmm, imm8"                   , "op": "[MR ] EVEX.512.66.0F3A.W1 39 /r ib"    , "tt": "t2"     , "vl": "xy"},
   3048       {"any": "vfpclasspd W:k {k}, xyz/mxyz/b64, imm8"                     , "op": "[RM ] EVEX.xyz.66.0F3A.W1 66 /r ib"    , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   3049       {"any": "vfpclassps W:k {k}, xyz/mxyz/b32, imm8"                     , "op": "[RM ] EVEX.xyz.66.0F3A.W0 66 /r ib"    , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   3050       {"any": "vfpclasssd W:k {k}, xmm[63:0]/m64, imm8"                    , "op": "[RM ] EVEX.LIG.66.0F3A.W1 67 /r ib"    , "tt": "t1s"    , "vl": "no", "k": "zeroing"},
   3051       {"any": "vfpclassss W:k {k}, xmm[31:0]/m32, imm8"                    , "op": "[RM ] EVEX.LIG.66.0F3A.W0 67 /r ib"    , "tt": "t1s"    , "vl": "no", "k": "zeroing"},
   3052       {"any": "vinsertf32x8 W:zmm {kz}, zmm, ymm/m256, imm8"               , "op": "[RVM] EVEX.512.66.0F3A.W0 1A /r ib"    , "tt": "t8"     , "vl": "xy"},
   3053       {"any": "vinsertf64x2 W:ymm {kz}, ymm, xmm/m128, imm8"               , "op": "[RVM] EVEX.256.66.0F3A.W1 18 /r ib"    , "tt": "t2"     , "vl": "xy"},
   3054       {"any": "vinsertf64x2 W:zmm {kz}, zmm, xmm/m128, imm8"               , "op": "[RVM] EVEX.512.66.0F3A.W1 18 /r ib"    , "tt": "t2"     , "vl": "xy"},
   3055       {"any": "vinserti32x8 W:zmm {kz}, zmm, ymm/m256, imm8"               , "op": "[RVM] EVEX.512.66.0F3A.W0 3A /r ib"    , "tt": "t8"     , "vl": "xy"},
   3056       {"any": "vinserti64x2 W:ymm {kz}, ymm, xmm/m128, imm8"               , "op": "[RVM] EVEX.256.66.0F3A.W1 38 /r ib"    , "tt": "t2"     , "vl": "xy"},
   3057       {"any": "vinserti64x2 W:zmm {kz}, zmm, xmm/m128, imm8"               , "op": "[RVM] EVEX.512.66.0F3A.W1 38 /r ib"    , "tt": "t2"     , "vl": "xy"},
   3058       {"any": "vorpd W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                      , "op": "[RVM] EVEX.xyz.66.0F.W1 56 /r"         , "tt": "fv"     , "vl": "xy"},
   3059       {"any": "vorps W:xyz {kz}, ~xyz, ~xyz/mxyz/b32"                      , "op": "[RVM] EVEX.xyz.NP.0F.W0 56 /r"         , "tt": "fv"     , "vl": "xy"},
   3060       {"any": "vpextrd W:r32/m32, xmm, imm8"                               , "op": "[MR ] EVEX.128.66.0F3A.W0 16 /r ib"    , "tt": "t1s"    , "vl": "no"},
   3061       {"any": "vpextrq W:r64/m64, xmm, imm8"                               , "op": "[MR ] EVEX.128.66.0F3A.W1 16 /r ib"    , "tt": "t1s"    , "vl": "no"},
   3062       {"any": "vpinsrd W:xmm {kz}, xmm, r32/m32, imm8"                     , "op": "[RVM] EVEX.128.66.0F3A.W0 22 /r ib"    , "tt": "t1s"    , "vl": "no"},
   3063       {"any": "vpinsrq W:xmm {kz}, xmm, r64/m64, imm8"                     , "op": "[RVM] EVEX.128.66.0F3A.W1 22 /r ib"    , "tt": "t1s"    , "vl": "no"},
   3064       {"any": "vpmovd2m W:k, xyz"                                          , "op": "[RM ] EVEX.xyz.F3.0F38.W0 39 /r"       , "tt": "none"   , "vl": "xy"},
   3065       {"any": "vpmovm2d W:xyz, k"                                          , "op": "[RM ] EVEX.xyz.F3.0F38.W0 38 /r"       , "tt": "none"   , "vl": "xy"},
   3066       {"any": "vpmovm2q W:xyz, k"                                          , "op": "[RM ] EVEX.xyz.F3.0F38.W1 38 /r"       , "tt": "none"   , "vl": "xy"},
   3067       {"any": "vpmovq2m W:k, xyz"                                          , "op": "[RM ] EVEX.xyz.F3.0F38.W1 39 /r"       , "tt": "none"   , "vl": "xy"},
   3068       {"any": "vpmullq W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                    , "op": "[RVM] EVEX.xyz.66.0F38.W1 40 /r"       , "tt": "fv"     , "vl": "xy"},
   3069       {"any": "vrangepd W:xyz {kz}, xyz, xyz/mxyz/b64, imm8 {sae}"         , "op": "[RVM] EVEX.xyz.66.0F3A.W1 50 /r ib"    , "tt": "fv"     , "vl": "xy"},
   3070       {"any": "vrangeps W:xyz {kz}, xyz, xyz/mxyz/b32, imm8 {sae}"         , "op": "[RVM] EVEX.xyz.66.0F3A.W0 50 /r ib"    , "tt": "fv"     , "vl": "xy"},
   3071       {"any": "vrangesd W:xmm {kz}, xmm[127:64], xmm[63:0]/m64,imm8 {sae}" , "op": "[RVM] EVEX.LIG.66.0F3A.W1 51 /r ib"    , "tt": "t1s"    , "vl": "no"},
   3072       {"any": "vrangess W:xmm {kz}, xmm[127:32], xmm[31:0]/m32,imm8 {sae}" , "op": "[RVM] EVEX.LIG.66.0F3A.W0 51 /r ib"    , "tt": "t1s"    , "vl": "no"},
   3073       {"any": "vreducepd W:xyz {kz}, xyz/mxyz/b64, imm8"                   , "op": "[RM ] EVEX.xyz.66.0F3A.W1 56 /r ib"    , "tt": "fv"     , "vl": "xy"},
   3074       {"any": "vreduceps W:xyz {kz}, xyz/mxyz/b32, imm8"                   , "op": "[RM ] EVEX.xyz.66.0F3A.W0 56 /r ib"    , "tt": "fv"     , "vl": "xy"},
   3075       {"any": "vreducesd W:xmm {kz}, xmm[127:64], xmm[63:0]/m64, imm8"     , "op": "[RVM] EVEX.LIG.66.0F3A.W1 57 /r ib"    , "tt": "t1s"    , "vl": "no"},
   3076       {"any": "vreducess W:xmm {kz}, xmm[127:32], xmm[31:0]/m32, imm8"     , "op": "[RVM] EVEX.LIG.66.0F3A.W0 57 /r ib"    , "tt": "t1s"    , "vl": "no"},
   3077       {"any": "vxorpd W:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                     , "op": "[RVM] EVEX.xyz.66.0F.W1 57 /r"         , "tt": "fv"     , "vl": "xy"},
   3078       {"any": "vxorps W:xyz {kz}, ~xyz, ~xyz/mxyz/b32"                     , "op": "[RVM] EVEX.xyz.0F.W0 57 /r"            , "tt": "fv"     , "vl": "xy"}
   3079     ]},
   3080 
   3081     {"category": "AVX512 SIMD", "ext": "AVX512_BW", "instructions": [
   3082       {"any": "vdbpsadbw W:xyz {kz}, xyz, xyz/mxyz, imm8"                  , "op": "[RVM] EVEX.xyz.66.0F3A.W0 42 /r ib"    , "tt": "fvm"    , "vl": "xy"},
   3083       {"any": "vmovdqu16 W:xyz {kz}, xyz/mxyz"                             , "op": "[RM ] EVEX.xyz.F2.0F.W1 6F /r"         , "tt": "fvm"    , "vl": "xy"},
   3084       {"any": "vmovdqu16 W:xyz/mxyz {kz}, xyz"                             , "op": "[MR ] EVEX.xyz.F2.0F.W1 7F /r"         , "tt": "fvm"    , "vl": "xy"},
   3085       {"any": "vmovdqu8 W:xyz {kz}, xyz/mxyz"                              , "op": "[RM ] EVEX.xyz.F2.0F.W0 6F /r"         , "tt": "fvm"    , "vl": "xy"},
   3086       {"any": "vmovdqu8 W:xyz/mxyz {kz}, xyz"                              , "op": "[MR ] EVEX.xyz.F2.0F.W0 7F /r"         , "tt": "fvm"    , "vl": "xy"},
   3087       {"any": "vpabsb W:xyz {kz}, xyz/mxyz"                                , "op": "[RM ] EVEX.xyz.66.0F38 1C /r"          , "tt": "fvm"    , "vl": "xy"},
   3088       {"any": "vpabsw W:xyz {kz}, xyz/mxyz"                                , "op": "[RM ] EVEX.xyz.66.0F38 1D /r"          , "tt": "fvm"    , "vl": "xy"},
   3089       {"any": "vpackssdw W:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F.W0 6B /r"         , "tt": "fv"     , "vl": "xy"},
   3090       {"any": "vpacksswb W:xyz {kz}, xyz, xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F.WIG 63 /r"        , "tt": "fvm"    , "vl": "xy"},
   3091       {"any": "vpackusdw W:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 2B /r"       , "tt": "fv"     , "vl": "xy"},
   3092       {"any": "vpackuswb W:xyz {kz}, xyz, xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F.WIG 67 /r"        , "tt": "fvm"    , "vl": "xy"},
   3093       {"any": "vpaddb W:xyz {kz}, ~xyz, ~xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.66.0F.WIG FC /r"        , "tt": "fvm"    , "vl": "xy"},
   3094       {"any": "vpaddsb W:xyz {kz}, ~xyz, ~xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F.WIG EC /r"        , "tt": "fvm"    , "vl": "xy"},
   3095       {"any": "vpaddsw W:xyz {kz}, ~xyz, ~xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F.WIG ED /r"        , "tt": "fvm"    , "vl": "xy"},
   3096       {"any": "vpaddusb W:xyz {kz}, ~xyz, ~xyz/mxyz"                       , "op": "[RVM] EVEX.xyz.66.0F.WIG DC /r"        , "tt": "fvm"    , "vl": "xy"},
   3097       {"any": "vpaddusw W:xyz {kz}, ~xyz, ~xyz/mxyz"                       , "op": "[RVM] EVEX.xyz.66.0F.WIG DD /r"        , "tt": "fvm"    , "vl": "xy"},
   3098       {"any": "vpaddw W:xyz {kz}, ~xyz, ~xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.66.0F.WIG FD /r"        , "tt": "fvm"    , "vl": "xy"},
   3099       {"any": "vpalignr W:xyz {kz}, xyz, xyz/mxyz, imm8"                   , "op": "[RVM] EVEX.xyz.66.0F3A.WIG 0F /r ib"   , "tt": "fvm"    , "vl": "xy"},
   3100       {"any": "vpavgb W:xyz {kz}, ~xyz, ~xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.66.0F.WIG E0 /r"        , "tt": "fvm"    , "vl": "xy"},
   3101       {"any": "vpavgw W:xyz {kz}, ~xyz, ~xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.66.0F.WIG E3 /r"        , "tt": "fvm"    , "vl": "xy"},
   3102       {"any": "vpblendmb W:xyz {kz}, xyz, xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F38.W0 66 /r"       , "tt": "fvm"    , "vl": "xy", "k": "blend"},
   3103       {"any": "vpblendmw W:xyz {kz}, xyz, xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F38.W1 66 /r"       , "tt": "fvm"    , "vl": "xy", "k": "blend"},
   3104       {"any": "vpbroadcastb W:xyz {kz}, r32[7:0]"                          , "op": "[RM ] EVEX.xyz.66.0F38.W0 7A /r"       , "tt": "t1s"    , "vl": "xy"},
   3105       {"any": "vpbroadcastb W:xyz {kz}, xmm[7:0]/m8"                       , "op": "[RM ] EVEX.xyz.66.0F38.W0 78 /r"       , "tt": "t1s"    , "vl": "xy"},
   3106       {"any": "vpbroadcastw W:xyz {kz}, r32[15:0]"                         , "op": "[RM ] EVEX.xyz.66.0F38.W0 7B /r"       , "tt": "t1s"    , "vl": "xy"},
   3107       {"any": "vpbroadcastw W:xyz {kz}, xmm[15:0]/m16"                     , "op": "[RM ] EVEX.xyz.66.0F38.W0 79 /r"       , "tt": "t1s"    , "vl": "xy"},
   3108       {"any": "vpcmpb W:k {k}, xyz, xyz/mxyz, imm8"                        , "op": "[RVM] EVEX.xyz.66.0F3A.W0 3F /r ib"    , "tt": "fvm"    , "vl": "xy", "k": "zeroing"},
   3109       {"any": "vpcmpeqb W:k {k}, ~xyz, ~xyz/mxyz"                          , "op": "[RVM] EVEX.xyz.66.0F.WIG 74 /r"        , "tt": "fvm"    , "vl": "xy", "k": "zeroing"},
   3110       {"any": "vpcmpeqw W:k {k}, ~xyz, ~xyz/mxyz"                          , "op": "[RVM] EVEX.xyz.66.0F.WIG 75 /r"        , "tt": "fvm"    , "vl": "xy", "k": "zeroing"},
   3111       {"any": "vpcmpgtb W:k {k}, xyz, xyz/mxyz"                            , "op": "[RVM] EVEX.xyz.66.0F.WIG 64 /r"        , "tt": "fvm"    , "vl": "xy", "k": "zeroing"},
   3112       {"any": "vpcmpgtw W:k {k}, xyz, xyz/mxyz"                            , "op": "[RVM] EVEX.xyz.66.0F.WIG 65 /r"        , "tt": "fvm"    , "vl": "xy", "k": "zeroing"},
   3113       {"any": "vpcmpub W:k {k}, xyz, xyz/mxyz, imm8"                       , "op": "[RVM] EVEX.xyz.66.0F3A.W0 3E /r ib"    , "tt": "fvm"    , "vl": "xy", "k": "zeroing"},
   3114       {"any": "vpcmpuw W:k {k}, xyz, xyz/mxyz, imm8"                       , "op": "[RVM] EVEX.xyz.66.0F3A.W1 3E /r ib"    , "tt": "fvm"    , "vl": "xy", "k": "zeroing"},
   3115       {"any": "vpcmpw W:k {k}, xyz, xyz/mxyz, imm8"                        , "op": "[RVM] EVEX.xyz.66.0F3A.W1 3F /r ib"    , "tt": "fvm"    , "vl": "xy", "k": "zeroing"},
   3116       {"any": "vpermi2w X:xyz {kz}, xyz, xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.66.0F38.W1 75 /r"       , "tt": "fvm"    , "vl": "xy"},
   3117       {"any": "vpermt2w X:xyz {kz}, xyz, xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.66.0F38.W1 7D /r"       , "tt": "fvm"    , "vl": "xy"},
   3118       {"any": "vpermw W:xyz {kz}, xyz, xyz/mxyz"                           , "op": "[RVM] EVEX.xyz.66.0F38.W1 8D /r"       , "tt": "fvm"    , "vl": "xy"},
   3119       {"any": "vpextrb W:r32[7:0]/m8 , xmm, imm8"                          , "op": "[MR ] EVEX.128.66.0F3A.WIG 14 /r ib"   , "tt": "t1s"    , "vl": "no"},
   3120       {"any": "vpextrw W:r32[15:0], xmm, imm8"                             , "op": "[RM ] EVEX.128.66.0F.WIG C5 /r ib"     , "tt": "none"   , "vl": "no"},
   3121       {"any": "vpextrw W:r32[15:0]/m16, xmm, imm8"                         , "op": "[MR ] EVEX.128.66.0F3A.WIG 15 /r ib"   , "tt": "t1s"    , "vl": "no"},
   3122       {"any": "vpinsrb W:xmm {kz}, xmm, r32[7:0]/m8, imm8"                 , "op": "[RVM] EVEX.128.66.0F3A.WIG 20 /r ib"   , "tt": "t1s"    , "vl": "no"},
   3123       {"any": "vpinsrw W:xmm {kz}, xmm, r32[15:0]/m16, imm8"               , "op": "[RVM] EVEX.128.66.0F.WIG C4 /r ib"     , "tt": "t1s"    , "vl": "no"},
   3124       {"any": "vpmaddubsw W:xyz {kz}, ~xyz, ~xyz/mxyz"                     , "op": "[RVM] EVEX.xyz.66.0F38.WIG 04 /r"      , "tt": "fvm"    , "vl": "xy"},
   3125       {"any": "vpmaddwd W:xyz {kz}, ~xyz, ~xyz/mxyz"                       , "op": "[RVM] EVEX.xyz.66.0F.WIG F5 /r"        , "tt": "fvm"    , "vl": "xy"},
   3126       {"any": "vpmaxsb W:xyz {kz}, ~xyz, ~xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F38.WIG 3C /r"      , "tt": "fvm"    , "vl": "xy"},
   3127       {"any": "vpmaxsw W:xyz {kz}, ~xyz, ~xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F.WIG EE /r"        , "tt": "fvm"    , "vl": "xy"},
   3128       {"any": "vpmaxub W:xyz {kz}, ~xyz, ~xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F.WIG DE /r"        , "tt": "fvm"    , "vl": "xy"},
   3129       {"any": "vpmaxuw W:xyz {kz}, ~xyz, ~xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F38.WIG 3E /r"      , "tt": "fvm"    , "vl": "xy"},
   3130       {"any": "vpminsb W:xyz {kz}, ~xyz, ~xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F38.WIG 38 /r"      , "tt": "fvm"    , "vl": "xy"},
   3131       {"any": "vpminsw W:xyz {kz}, ~xyz, ~xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F.WIG EA /r"        , "tt": "fvm"    , "vl": "xy"},
   3132       {"any": "vpminub W:xyz {kz}, ~xyz, ~xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F DA /r"            , "tt": "fvm"    , "vl": "xy"},
   3133       {"any": "vpminuw W:xyz {kz}, ~xyz, ~xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F38 3A /r"          , "tt": "fvm"    , "vl": "xy"},
   3134       {"any": "vpmovb2m W:k, xyz"                                          , "op": "[RM ] EVEX.xyz.F3.0F38.W0 29 /r"       , "tt": "none"   , "vl": "xy"},
   3135       {"any": "vpmovm2b W:xyz, k"                                          , "op": "[RM ] EVEX.xyz.F3.0F38.W0 28 /r"       , "tt": "none"   , "vl": "xy"},
   3136       {"any": "vpmovm2w W:xyz, k"                                          , "op": "[RM ] EVEX.xyz.F3.0F38.W1 28 /r"       , "tt": "none"   , "vl": "xy"},
   3137       {"any": "vpmovswb W:xxy/mxxy {kz}, xyz"                              , "op": "[MR ] EVEX.xyz.F3.0F38.W0 20 /r"       , "tt": "hvm"    , "vl": "xy"},
   3138       {"any": "vpmovsxbw W:xyz {kz}, xxy/mxxy"                             , "op": "[RM ] EVEX.xyz.66.0F38.WIG 20 /r"      , "tt": "hvm"    , "vl": "xy"},
   3139       {"any": "vpmovuswb W:xxy/mxxy {kz}, xyz"                             , "op": "[MR ] EVEX.xyz.F3.0F38.W0 10 /r"       , "tt": "hvm"    , "vl": "xy"},
   3140       {"any": "vpmovw2m W:k, xyz"                                          , "op": "[RM ] EVEX.xyz.F3.0F38.W1 29 /r"       , "tt": "none"   , "vl": "xy"},
   3141       {"any": "vpmovwb W:xxy/mxxy {kz}, xyz"                               , "op": "[MR ] EVEX.xyz.F3.0F38.W0 30 /r"       , "tt": "hvm"    , "vl": "xy"},
   3142       {"any": "vpmovzxbw W:xyz {kz}, xxy/mxxy"                             , "op": "[RM ] EVEX.xyz.66.0F38.WIG 30 /r"      , "tt": "hvm"    , "vl": "xy"},
   3143       {"any": "vpmulhrsw W:xyz {kz}, xyz, xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F38.WIG 0B /r"      , "tt": "fvm"    , "vl": "xy"},
   3144       {"any": "vpmulhuw W:xyz {kz}, ~xyz, ~xyz/mxyz"                       , "op": "[RVM] EVEX.xyz.66.0F.WIG E4 /r"        , "tt": "fvm"    , "vl": "xy"},
   3145       {"any": "vpmulhw W:xyz {kz}, ~xyz, ~xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F.WIG E5 /r"        , "tt": "fvm"    , "vl": "xy"},
   3146       {"any": "vpmullw W:xyz {kz}, ~xyz, ~xyz/mxyz"                        , "op": "[RVM] EVEX.xyz.66.0F.WIG D5 /r"        , "tt": "fvm"    , "vl": "xy"},
   3147       {"any": "vpsadbw W:xyz, ~xyz, ~xyz/mxyz"                             , "op": "[RVM] EVEX.xyz.66.0F.WIG F6 /r"        , "tt": "fvm"    , "vl": "xy"},
   3148       {"any": "vpshufb W:xyz {kz}, xyz, xyz/mxyz"                          , "op": "[RVM] EVEX.xyz.66.0F38.WIG 00 /r"      , "tt": "fvm"    , "vl": "xy"},
   3149       {"any": "vpshufhw W:xyz {kz}, xyz/mxyz, imm8"                        , "op": "[RM ] EVEX.xyz.F3.0F.WIG 70 /r ib"     , "tt": "fvm"    , "vl": "xy"},
   3150       {"any": "vpshuflw W:xyz {kz}, xyz/mxyz, imm8"                        , "op": "[RM ] EVEX.xyz.F2.0F.WIG 70 /r ib"     , "tt": "fvm"    , "vl": "xy"},
   3151       {"any": "vpslldq W:xyz, xyz/mxyz, imm8"                              , "op": "[VM ] EVEX.xyz.66.0F.WIG 73 /7 ib"     , "tt": "fvm"    , "vl": "xy"},
   3152       {"any": "vpsllvw W:xyz {kz}, xyz, xyz/mxyz"                          , "op": "[RVM] EVEX.xyz.66.0F38.W1 12 /r"       , "tt": "fvm"    , "vl": "xy"},
   3153       {"any": "vpsllw W:xyz {kz}, xyz, xmm/m128"                           , "op": "[RVM] EVEX.xyz.66.0F.WIG F1 /r"        , "tt": "m128"   , "vl": "xy"},
   3154       {"any": "vpsllw W:xyz {kz}, xyz/mxyz, imm8"                          , "op": "[VM ] EVEX.xyz.66.0F.WIG 71 /6 ib"     , "tt": "fvm"    , "vl": "xy"},
   3155       {"any": "vpsravw W:xyz {kz}, xyz, xyz/mxyz"                          , "op": "[RVM] EVEX.xyz.66.0F38.W1 11 /r"       , "tt": "fvm"    , "vl": "xy"},
   3156       {"any": "vpsraw W:xyz {kz}, xyz, xmm/m128"                           , "op": "[RVM] EVEX.xyz.66.0F.WIG E1 /r"        , "tt": "m128"   , "vl": "xy"},
   3157       {"any": "vpsraw W:xyz {kz}, xyz/mxyz, imm8"                          , "op": "[VM ] EVEX.xyz.66.0F.WIG 71 /4 ib"     , "tt": "fvm"    , "vl": "xy"},
   3158       {"any": "vpsrldq W:xyz, xyz/mxyz, imm8"                              , "op": "[VM ] EVEX.xyz.66.0F.WIG 73 /3 ib"     , "tt": "fvm"    , "vl": "xy"},
   3159       {"any": "vpsrlvw W:xyz {kz}, xyz, xyz/mxyz"                          , "op": "[RVM] EVEX.xyz.66.0F38.W1 10 /r"       , "tt": "fvm"    , "vl": "xy"},
   3160       {"any": "vpsrlw W:xyz {kz}, xyz, xmm/m128"                           , "op": "[RVM] EVEX.xyz.66.0F.WIG D1 /r"        , "tt": "m128"   , "vl": "xy"},
   3161       {"any": "vpsrlw W:xyz {kz}, xyz/mxyz, imm8"                          , "op": "[VM ] EVEX.xyz.66.0F.WIG 71 /2 ib"     , "tt": "fvm"    , "vl": "xy"},
   3162       {"any": "vpsubb W:xyz {kz}, xyz, xyz/mxyz"                           , "op": "[RVM] EVEX.xyz.66.0F.WIG F8 /r"        , "tt": "fvm"    , "vl": "xy"},
   3163       {"any": "vpsubsb W:xyz {kz}, xyz, xyz/mxyz"                          , "op": "[RVM] EVEX.xyz.66.0F.WIG E8 /r"        , "tt": "fvm"    , "vl": "xy"},
   3164       {"any": "vpsubsw W:xyz {kz}, xyz, xyz/mxyz"                          , "op": "[RVM] EVEX.xyz.66.0F.WIG E9 /r"        , "tt": "fvm"    , "vl": "xy"},
   3165       {"any": "vpsubusb W:xyz {kz}, xyz, xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.66.0F.WIG D8 /r"        , "tt": "fvm"    , "vl": "xy"},
   3166       {"any": "vpsubusw W:xyz {kz}, xyz, xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.66.0F.WIG D9 /r"        , "tt": "fvm"    , "vl": "xy"},
   3167       {"any": "vpsubw W:xyz {kz}, xyz, xyz/mxyz"                           , "op": "[RVM] EVEX.xyz.66.0F.WIG F9 /r"        , "tt": "fvm"    , "vl": "xy"},
   3168       {"any": "vptestmb W:k {k}, xyz, xyz/mxyz"                            , "op": "[RVM] EVEX.xyz.66.0F38.W0 26 /r"       , "tt": "fvm"    , "vl": "xy", "k": "zeroing"},
   3169       {"any": "vptestmw W:k {k}, xyz, xyz/mxyz"                            , "op": "[RVM] EVEX.xyz.66.0F38.W1 26 /r"       , "tt": "fvm"    , "vl": "xy", "k": "zeroing"},
   3170       {"any": "vptestnmb W:k {k}, xyz, xyz/mxyz"                           , "op": "[RVM] EVEX.xyz.F3.0F38.W0 26 /r"       , "tt": "fvm"    , "vl": "xy", "k": "zeroing"},
   3171       {"any": "vptestnmw W:k {k}, xyz, xyz/mxyz"                           , "op": "[RVM] EVEX.xyz.F3.0F38.W1 26 /r"       , "tt": "fvm"    , "vl": "xy", "k": "zeroing"},
   3172       {"any": "vpunpckhbw W:xyz {kz}, xyz, xyz/mxyz"                       , "op": "[RVM] EVEX.xyz.66.0F.WIG 68 /r"        , "tt": "fvm"    , "vl": "xy"},
   3173       {"any": "vpunpckhwd W:xyz {kz}, xyz, xyz/mxyz"                       , "op": "[RVM] EVEX.xyz.66.0F.WIG 69 /r"        , "tt": "fvm"    , "vl": "xy"},
   3174       {"any": "vpunpcklbw W:xyz {kz}, xyz, xyz/mxyz"                       , "op": "[RVM] EVEX.xyz.66.0F.WIG 60 /r"        , "tt": "fvm"    , "vl": "xy"},
   3175       {"any": "vpunpcklwd W:xyz {kz}, xyz, xyz/mxyz"                       , "op": "[RVM] EVEX.xyz.66.0F.WIG 61 /r"        , "tt": "fvm"    , "vl": "xy"}
   3176     ]},
   3177 
   3178     {"category": "AVX512 SIMD", "ext": "AVX512_CD", "instructions": [
   3179       {"any": "vpbroadcastmb2q W:xyz, k"                                   , "op": "[RM ] EVEX.xyz.F3.0F38.W1 2A /r"       , "tt": "none"   , "vl": "xy"},
   3180       {"any": "vpbroadcastmw2d W:xyz, k"                                   , "op": "[RM ] EVEX.xyz.F3.0F38.W0 3A /r"       , "tt": "none"   , "vl": "xy"},
   3181       {"any": "vpconflictd W:xyz {kz}, xyz/mxyz/b32"                       , "op": "[RM ] EVEX.xyz.66.0F38.W0 C4 /r"       , "tt": "fv"     , "vl": "xy"},
   3182       {"any": "vpconflictq W:xyz {kz}, xyz/mxyz/b32"                       , "op": "[RM ] EVEX.xyz.66.0F38.W1 C4 /r"       , "tt": "fv"     , "vl": "xy"},
   3183       {"any": "vplzcntd W:xyz {kz}, xyz/mxyz/b32"                          , "op": "[RM ] EVEX.xyz.66.0F38.W0 44 /r"       , "tt": "fv"     , "vl": "xy"},
   3184       {"any": "vplzcntq W:xyz {kz}, xyz/mxyz/b64"                          , "op": "[RM ] EVEX.xyz.66.0F38.W1 44 /r"       , "tt": "fv"     , "vl": "xy"}
   3185     ]},
   3186 
   3187     {"category": "AVX512 SIMD", "ext": "AVX512_IFMA", "instructions": [
   3188       {"any": "vpmadd52luq X:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                , "op": "[RVM] EVEX.xyz.66.0F38.W1 B4 /r"       , "tt": "fv"     , "vl": "xy"},
   3189       {"any": "vpmadd52huq X:xyz {kz}, ~xyz, ~xyz/mxyz/b64"                , "op": "[RVM] EVEX.xyz.66.0F38.W1 B5 /r"       , "tt": "fv"     , "vl": "xy"}
   3190     ]},
   3191 
   3192     {"category": "AVX512 SIMD", "ext": "AVX512_VPOPCNTDQ", "instructions": [
   3193       {"any": "vpopcntd W:xyz {kz}, xyz/mxyz/b32"                          , "op": "[RM ] EVEX.xyz.66.0F38.W0 55 /r"       , "tt": "fv"     , "vl": "xy"},
   3194       {"any": "vpopcntq W:xyz {kz}, xyz/mxyz/b64"                          , "op": "[RM ] EVEX.xyz.66.0F38.W1 55 /r"       , "tt": "fv"     , "vl": "xy"}
   3195     ]},
   3196 
   3197     {"category": "AVX512 SIMD", "ext": "AVX512_VBMI", "instructions": [
   3198       {"any": "vpermb W:xyz {kz}, xyz, xyz/mxyz"                           , "op": "[RVM] EVEX.xyz.66.0F38.W0 8D /r"       , "tt": "fvm"    , "vl": "xy"},
   3199       {"any": "vpermi2b X:xyz {kz}, xyz, xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.66.0F38.W0 75 /r"       , "tt": "fvm"    , "vl": "xy"},
   3200       {"any": "vpermt2b X:xyz {kz}, xyz, xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.66.0F38.W0 7D /r"       , "tt": "fvm"    , "vl": "xy"},
   3201       {"any": "vpmultishiftqb W:xyz {kz}, xyz, xyz/mxyz/b64"               , "op": "[RVM] EVEX.xyz.66.0F38.W1 83 /r"       , "tt": "fv"     , "vl": "xy"}
   3202     ]},
   3203 
   3204     {"category": "AVX512 SIMD", "ext": "AVX512_VBMI2", "instructions": [
   3205       {"any": "vpcompressb W:xyz/mxyz {kz}, xyz"                           , "op": "[RVM] EVEX.xyz.66.0F38.W0 63 /r"       , "tt": "t1s"    , "vl": "xy"},
   3206       {"any": "vpcompressw W:xyz/mxyz {kz}, xyz"                           , "op": "[RVM] EVEX.xyz.66.0F38.W1 63 /r"       , "tt": "t1s"    , "vl": "xy"},
   3207       {"any": "vpexpandb W:xyz {kz}, xyz/mxyz"                             , "op": "[RM ] EVEX.xyz.66.0F38.W0 62 /r"       , "tt": "t1s"    , "vl": "xy"},
   3208       {"any": "vpexpandw W:xyz {kz}, xyz/mxyz"                             , "op": "[RM ] EVEX.xyz.66.0F38.W1 62 /r"       , "tt": "t1s"    , "vl": "xy"},
   3209       {"any": "vpshldd W:xyz {kz}, xyz, xyz/mxyz/b32, imm8"                , "op": "[RVM] EVEX.xyz.66.0F3A.W0 71 /r ib"    , "tt": "fv"     , "vl": "xy"},
   3210       {"any": "vpshldq W:xyz {kz}, xyz, xyz/mxyz/b64, imm8"                , "op": "[RVM] EVEX.xyz.66.0F3A.W1 71 /r ib"    , "tt": "fv"     , "vl": "xy"},
   3211       {"any": "vpshldvd X:xyz {kz}, xyz, xyz/mxyz/b32"                     , "op": "[RVM] EVEX.xyz.66.0F38.W0 71 /r"       , "tt": "fv"     , "vl": "xy"},
   3212       {"any": "vpshldvq X:xyz {kz}, xyz, xyz/mxyz/b64"                     , "op": "[RVM] EVEX.xyz.66.0F38.W1 71 /r"       , "tt": "fv"     , "vl": "xy"},
   3213       {"any": "vpshldvw X:xyz {kz}, xyz, xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.66.0F38.W1 70 /r"       , "tt": "fvm"    , "vl": "xy"},
   3214       {"any": "vpshldw W:xyz {kz}, xyz, xyz/mxyz, imm8"                    , "op": "[RVM] EVEX.xyz.66.0F3A.W1 70 /r ib"    , "tt": "fvm"    , "vl": "xy"},
   3215       {"any": "vpshrdd W:xyz {kz}, xyz, xyz/mxyz/b32, imm8"                , "op": "[RVM] EVEX.xyz.66.0F3A.W0 73 /r ib"    , "tt": "fv"     , "vl": "xy"},
   3216       {"any": "vpshrdq W:xyz {kz}, xyz, xyz/mxyz/b64, imm8"                , "op": "[RVM] EVEX.xyz.66.0F3A.W1 73 /r ib"    , "tt": "fv"     , "vl": "xy"},
   3217       {"any": "vpshrdvd X:xyz {kz}, xyz, xyz/mxyz/b32"                     , "op": "[RVM] EVEX.xyz.66.0F38.W0 73 /r"       , "tt": "fv"     , "vl": "xy"},
   3218       {"any": "vpshrdvq X:xyz {kz}, xyz, xyz/mxyz/b64"                     , "op": "[RVM] EVEX.xyz.66.0F38.W1 73 /r"       , "tt": "fv"     , "vl": "xy"},
   3219       {"any": "vpshrdvw X:xyz {kz}, xyz, xyz/mxyz"                         , "op": "[RVM] EVEX.xyz.66.0F38.W1 72 /r"       , "tt": "fvm"    , "vl": "xy"},
   3220       {"any": "vpshrdw W:xyz {kz}, xyz, xyz/mxyz, imm8"                    , "op": "[RVM] EVEX.xyz.66.0F3A.W1 72 /r ib"    , "tt": "fvm"    , "vl": "xy"}
   3221     ]},
   3222 
   3223     {"category": "AVX512 SIMD", "ext": "AVX512_VNNI", "instructions": [
   3224       {"any": "vpdpbusd X:xyz {kz}, xyz, xyz/mxyz/b32"                     , "op": "[RVM] EVEX.xyz.66.0F38.W0 50 /r"       , "tt": "fv"     , "vl": "xy"},
   3225       {"any": "vpdpbusds X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 51 /r"       , "tt": "fv"     , "vl": "xy"},
   3226       {"any": "vpdpwssd X:xyz {kz}, xyz, xyz/mxyz/b32"                     , "op": "[RVM] EVEX.xyz.66.0F38.W0 52 /r"       , "tt": "fv"     , "vl": "xy"},
   3227       {"any": "vpdpwssds X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 53 /r"       , "tt": "fv"     , "vl": "xy"}
   3228     ]},
   3229 
   3230     {"category": "AVX512 SIMD", "ext": "AVX512_BITALG", "instructions": [
   3231       {"any": "vpopcntb W:xyz {kz}, xyz/mxyz"                              , "op": "[RM ] EVEX.xyz.66.0F38.W0 54 /r"       , "tt": "fvm"    , "vl": "xy"},
   3232       {"any": "vpopcntw W:xyz {kz}, xyz/mxyz"                              , "op": "[RM ] EVEX.xyz.66.0F38.W1 54 /r"       , "tt": "fvm"    , "vl": "xy"},
   3233       {"any": "vpshufbitqmb W:k {k}, xyz, xyz/mxyz"                        , "op": "[RM ] EVEX.xyz.66.0F38.W0 8F /r"       , "tt": "fvm"    , "vl": "xy", "k": "zeroing"}
   3234     ]},
   3235 
   3236     {"category": "AVX512 SIMD", "ext": "AVX512_VP2INTERSECT", "instructions": [
   3237       {"any": "vp2intersectd W:k, W:k+1, xyz, xyz/mxyz/b32"                , "op": "[RVM] EVEX.xyz.F2.0F38.W0 68 /r"       , "tt": "fv"     , "vl": "xy"},
   3238       {"any": "vp2intersectq W:k, W:k+1, xyz, xyz/mxyz/b64"                , "op": "[RVM] EVEX.xyz.F2.0F38.W1 68 /r"       , "tt": "fv"     , "vl": "xy"}
   3239     ]},
   3240 
   3241     {"category": "AVX512 SIMD", "ext": "AVX512_BF16", "instructions": [
   3242       {"any": "vcvtne2ps2bf16 W:xyz {kz}, xyz, xyz/mxyz/b32"               , "op": "[RVM] EVEX.xyz.F2.0F38.W0 72 /r"       , "tt": "fv"     , "vl": "xy"},
   3243       {"any": "vcvtneps2bf16 W:xxy {kz}, xyz/mxyz/b32"                     , "op": "[RM ] EVEX.xyz.F3.0F38.W0 72 /r"       , "tt": "fv"     , "vl": "xy"},
   3244       {"any": "vdpbf16ps W:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.F3.0F38.W0 52 /r"       , "tt": "fv"     , "vl": "xy"}
   3245     ]},
   3246 
   3247     {"category": "AVX512 SIMD", "ext": "AVX512_FP16", "instructions": [
   3248       {"any": "vaddph W:xyz {kz}, ~xyz, ~xyz/mxyz/b16 {er}"                , "op": "[RVM] EVEX.xyz.NP.MAP5.W0 58 /r"       , "tt": "fv"     , "vl": "xy"},
   3249       {"any": "vaddsh W:xmm {kz}, xmm, xmm[15:0]/m16 {er}"                 , "op": "[RVM] EVEX.LIG.F3.MAP5.W0 58 /r"       , "tt": "t1s"    , "vl": "no"},
   3250       {"any": "vcmpph W:k {k}, xyz, xyz/mxyz/b16, imm8 {sae}"              , "op": "[RVM] EVEX.xyz.NP.0F3A.W0 C2 /r ib"    , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   3251       {"any": "vcmpsh W:k {k}, xmm[15:0], xmm[15:0]/m16, imm8 {sae}"       , "op": "[RVM] EVEX.LIG.F3.0F3A.W0 C2 /r ib"    , "tt": "t1s"    , "vl": "no", "k": "zeroing"},
   3252       {"any": "vcomish R:xmm[15:0], xmm[15:0]/m16 {sae}"                   , "op": "[RM ] EVEX.LIG.NP.MAP5.W0 2F /r"       , "tt": "t1s"    , "vl": "no", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   3253       {"any": "vcvtdq2ph W:xxy {kz}, xyz/mxyz/b32 {er}"                    , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 5B /r"       , "tt": "fv"     , "vl": "xy"},
   3254       {"any": "vcvtpd2ph W:xxx {kz}, xyz/mxyz/b64 {er}"                    , "op": "[RM ] EVEX.xyz.66.MAP5.W1 5A /r"       , "tt": "fv"     , "vl": "xy"},
   3255       {"any": "vcvtph2dq W:xyz {kz}, xxy/mxxy/b16 {er}"                    , "op": "[RM ] EVEX.xyz.66.MAP5.W0 5B /r"       , "tt": "hv"     , "vl": "xy"},
   3256       {"any": "vcvtph2pd W:xyz {kz}, xxx/mxxx/b16 {sae}"                   , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 5A /r"       , "tt": "qv"     , "vl": "xy"},
   3257       {"any": "vcvtph2psx W:xyz {kz}, xxy/mxxy/b16 {sae}"                  , "op": "[RM ] EVEX.xyz.66.MAP6.W0 13 /r"       , "tt": "qv"     , "vl": "xy"},
   3258       {"any": "vcvtph2qq W:xyz {kz}, xxx/mxxx/b16 {er}"                    , "op": "[RM ] EVEX.xyz.66.MAP5.W0 7B /r"       , "tt": "qv"     , "vl": "xy"},
   3259       {"any": "vcvtph2udq W:xyz {kz}, xxy/mxxy/b16 {er}"                   , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 79 /r"       , "tt": "hv"     , "vl": "xy"},
   3260       {"any": "vcvtph2uqq W:xyz {kz}, xxx/mxxx/b16 {er}"                   , "op": "[RM ] EVEX.xyz.66.MAP5.W0 79 /r"       , "tt": "qv"     , "vl": "xy"},
   3261       {"any": "vcvtph2uw W:xyz {kz}, xyz/mxyz/b16 {er}"                    , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 7D /r"       , "tt": "fv"     , "vl": "xy"},
   3262       {"any": "vcvtph2w W:xyz {kz}, xyz/mxyz/b16 {er}"                     , "op": "[RM ] EVEX.xyz.66.MAP5.W0 7D /r"       , "tt": "fv"     , "vl": "xy"},
   3263       {"any": "vcvtps2phx W:xxy {kz}, xyz/mxyz/b32 {er}"                   , "op": "[RM ] EVEX.xyz.66.MAP5.W0 1D /r"       , "tt": "fv"     , "vl": "xy"},
   3264       {"any": "vcvtqq2ph W:xmm {kz}, xyz/mxyz/b64 {er}"                    , "op": "[RM ] EVEX.xyz.NP.MAP5.W1 5B /r"       , "tt": "fv"     , "vl": "xy"},
   3265       {"any": "vcvtsd2sh W:xmm {kz}, xmm, xmm[63:0]/m64 {er}"              , "op": "[RVM] EVEX.LIG.F2.MAP5.W1 5A /r"       , "tt": "t1s"    , "vl": "no"},
   3266       {"any": "vcvtsh2sd W:xmm {kz}, xmm, xmm[15:0]/m16 {sae}"             , "op": "[RVM] EVEX.LIG.F3.MAP5.W0 5A /r"       , "tt": "t1s"    , "vl": "no"},
   3267       {"any": "vcvtsh2si W:ry, xmm[15:0]/m16 {er}"                         , "op": "[RM ] EVEX.LIG.F3.MAP5.Wy 2D /r"       , "tt": "t1s"    , "vl": "no"},
   3268       {"any": "vcvtsh2ss W:xmm {kz}, xmm, xmm/m16 {sae}"                   , "op": "[RVM] EVEX.LIG.NP.MAP6.W0 13 /r"       , "tt": "t1s"    , "vl": "no"},
   3269       {"any": "vcvtsh2usi W:ry, xmm[15:0]/m16 {er}"                        , "op": "[RM ] EVEX.LIG.F3.MAP5.Wy 79 /r"       , "tt": "t1s"    , "vl": "no"},
   3270       {"any": "vcvtsi2sh W:xmm, xmm, ry/my {er}"                           , "op": "[RVM] EVEX.LIG.F3.MAP5.Wy 2A /r"       , "tt": "t1s"    , "vl": "no"},
   3271       {"any": "vcvtss2sh W:xmm {kz}, xmm, xmm/m32 {er}"                    , "op": "[RVM] EVEX.LIG.NP.MAP5.W0 1D /r"       , "tt": "t1s"    , "vl": "no"},
   3272       {"any": "vcvttph2dq W:xyz {kz}, xxy/mxxy/b16 {sae}"                  , "op": "[RM ] EVEX.xyz.F3.MAP5.W0 5B /r"       , "tt": "hv"     , "vl": "xy"},
   3273       {"any": "vcvttph2qq W:xyz {kz}, xxx/mxxx/b16 {sae}"                  , "op": "[RM ] EVEX.xyz.66.MAP5.W0 7A /r"       , "tt": "qv"     , "vl": "xy"},
   3274       {"any": "vcvttph2udq W:xyz {kz}, xxy/mxxy/b16 {sae}"                 , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 78 /r"       , "tt": "hv"     , "vl": "xy"},
   3275       {"any": "vcvttph2uqq W:xyz {kz}, xxx/mxxx/b16 {sae}"                 , "op": "[RM ] EVEX.xyz.66.MAP5.W0 78 /r"       , "tt": "qv"     , "vl": "xy"},
   3276       {"any": "vcvttph2uw W:xyz {kz}, xyz/mxyz/b16 {sae}"                  , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 7C /r"       , "tt": "fv"     , "vl": "xy"},
   3277       {"any": "vcvttph2w W:xyz {kz}, xyz/mxyz/b16 {sae}"                   , "op": "[RM ] EVEX.xyz.66.MAP5.W0 7C /r"       , "tt": "fv"     , "vl": "xy"},
   3278       {"any": "vcvttsh2si W:ry, xmm[15:0]/m16 {sae}"                       , "op": "[RM ] EVEX.LIG.F3.MAP5.Wy 2C /r"       , "tt": "t1s"    , "vl": "no"},
   3279       {"any": "vcvttsh2usi W:ry, xmm[15:0]/m16 {sae}"                      , "op": "[RM ] EVEX.LIG.F3.MAP5.Wy 78 /r"       , "tt": "t1s"    , "vl": "no"},
   3280       {"any": "vcvtudq2ph W:xxy {kz}, xyz/mxyz/b32 {er}"                   , "op": "[RM ] EVEX.xyz.F2.MAP5.W0 7A /r"       , "tt": "fv"     , "vl": "xy"},
   3281       {"any": "vcvtuqq2ph W:xxx {kz}, xyz/mxyz/b64 {er}"                   , "op": "[RM ] EVEX.xyz.F2.MAP5.W1 7A /r"       , "tt": "fv"     , "vl": "xy"},
   3282       {"any": "vcvtusi2sh W:xmm, xmm, ry/my {er}"                          , "op": "[RVM] EVEX.LIG.F3.MAP5.Wy 7B /r"       , "tt": "t1s"    , "vl": "no"},
   3283       {"any": "vcvtuw2ph W:xyz {kz}, xyz/mxyz/b16 {er}"                    , "op": "[RM ] EVEX.xyz.F2.MAP5.W0 7D /r"       , "tt": "fv"     , "vl": "xy"},
   3284       {"any": "vcvtw2ph W:xyz {kz}, xyz/mxyz/b16 {er}"                     , "op": "[RM ] EVEX.xyz.F3.MAP5.W0 7D /r"       , "tt": "fv"     , "vl": "xy"},
   3285       {"any": "vdivph W:xyz {kz}, xyz, xyz/mxyz/b16 {er}"                  , "op": "[RVM] EVEX.xyz.NP.MAP5.W0 5E /r"       , "tt": "fv"     , "vl": "xy"},
   3286       {"any": "vdivsh W:xmm {kz}, xmm, xmm[15:0]/m16 {er}"                 , "op": "[RVM] EVEX.LIG.F3.MAP5.W0 5E /r"       , "tt": "t1s"    , "vl": "no"},
   3287       {"any": "vfcmaddcph X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"              , "op": "[RVM] EVEX.xyz.F2.MAP6.W0 56 /r"       , "tt": "fv"     , "vl": "xy"},
   3288       {"any": "vfcmaddcsh x:xmm {kz}, xmm, xmm/m32 {er}"                   , "op": "[RVM] EVEX.LIG.F2.MAP6.W0 57 /r"       , "tt": "t1s"    , "vl": "no"},
   3289       {"any": "vfcmulcph X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"               , "op": "[RVM] EVEX.xyz.F2.MAP6.W0 D6 /r"       , "tt": "fv"     , "vl": "xy"},
   3290       {"any": "vfcmulcsh x:xmm {kz}, xmm, xmm/m32 {er}"                    , "op": "[RVM] EVEX.LIG.F2.MAP6.W0 D7 /r"       , "tt": "t1s"    , "vl": "no"},
   3291       {"any": "vfmadd132ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"             , "op": "[RVM] EVEX.xyz.66.MAP6.W0 98 /r"       , "tt": "fv"     , "vl": "xy"},
   3292       {"any": "vfmadd132sh x:xmm {kz}, xmm, xmm/m16 {er}"                  , "op": "[RVM] EVEX.LIG.66.MAP6.W0 99 /r"       , "tt": "t1s"    , "vl": "no"},
   3293       {"any": "vfmadd213ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"             , "op": "[RVM] EVEX.xyz.66.MAP6.W0 A8 /r"       , "tt": "fv"     , "vl": "xy"},
   3294       {"any": "vfmadd213sh x:xmm {kz}, xmm, xmm/m16 {er}"                  , "op": "[RVM] EVEX.LIG.66.MAP6.W0 A9 /r"       , "tt": "t1s"    , "vl": "no"},
   3295       {"any": "vfmadd231ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"             , "op": "[RVM] EVEX.xyz.66.MAP6.W0 B8 /r"       , "tt": "fv"     , "vl": "xy"},
   3296       {"any": "vfmadd231sh x:xmm {kz}, xmm, xmm/m16 {er}"                  , "op": "[RVM] EVEX.LIG.66.MAP6.W0 B9 /r"       , "tt": "t1s"    , "vl": "no"},
   3297       {"any": "vfmaddcph X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"               , "op": "[RVM] EVEX.xyz.F3.MAP6.W0 56 /r"       , "tt": "fv"     , "vl": "xy"},
   3298       {"any": "vfmaddcsh x:xmm {kz}, xmm, xmm/m32 {er}"                    , "op": "[RVM] EVEX.LIG.F3.MAP6.W0 57 /r"       , "tt": "t1s"    , "vl": "no"},
   3299       {"any": "vfmaddsub132ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"          , "op": "[RVM] EVEX.xyz.66.MAP6.W0 96 /r"       , "tt": "fv"     , "vl": "xy"},
   3300       {"any": "vfmaddsub213ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"          , "op": "[RVM] EVEX.xyz.66.MAP6.W0 A6 /r"       , "tt": "fv"     , "vl": "xy"},
   3301       {"any": "vfmaddsub231ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"          , "op": "[RVM] EVEX.xyz.66.MAP6.W0 B6 /r"       , "tt": "fv"     , "vl": "xy"},
   3302       {"any": "vfmsub132ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"             , "op": "[RVM] EVEX.xyz.66.MAP6.W0 9A /r"       , "tt": "fv"     , "vl": "xy"},
   3303       {"any": "vfmsub132sh x:xmm {kz}, xmm, xmm[15:0]/m16 {er}"            , "op": "[RVM] EVEX.LIG.66.MAP6.W0 9B /r"       , "tt": "t1s"    , "vl": "no"},
   3304       {"any": "vfmsub213ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"             , "op": "[RVM] EVEX.xyz.66.MAP6.W0 AA /r"       , "tt": "fv"     , "vl": "xy"},
   3305       {"any": "vfmsub213sh x:xmm {kz}, xmm, xmm[15:0]/m16 {er}"            , "op": "[RVM] EVEX.LIG.66.MAP6.W0 AB /r"       , "tt": "t1s"    , "vl": "no"},
   3306       {"any": "vfmsub231ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"             , "op": "[RVM] EVEX.xyz.66.MAP6.W0 BA /r"       , "tt": "fv"     , "vl": "xy"},
   3307       {"any": "vfmsub231sh x:xmm {kz}, xmm, xmm[15:0]/m16 {er}"            , "op": "[RVM] EVEX.LIG.66.MAP6.W0 BB /r"       , "tt": "t1s"    , "vl": "no"},
   3308       {"any": "vfmsubadd132ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"          , "op": "[RVM] EVEX.xyz.66.MAP6.W0 97 /r"       , "tt": "fv"     , "vl": "xy"},
   3309       {"any": "vfmsubadd213ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"          , "op": "[RVM] EVEX.xyz.66.MAP6.W0 A7 /r"       , "tt": "fv"     , "vl": "xy"},
   3310       {"any": "vfmsubadd231ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"          , "op": "[RVM] EVEX.xyz.66.MAP6.W0 B7 /r"       , "tt": "fv"     , "vl": "xy"},
   3311       {"any": "vfmulcph X:xyz {kz}, xyz, xyz/mxyz/b32 {er}"                , "op": "[RVM] EVEX.xyz.F3.MAP6.W0 D6 /r"       , "tt": "fv"     , "vl": "xy"},
   3312       {"any": "vfmulcsh X:xmm {kz}, xmm, xmm/m32 {er}"                     , "op": "[RVM] EVEX.LIG.F3.MAP6.W0 D7 /r"       , "tt": "t1s"    , "vl": "no"},
   3313       {"any": "vfnmadd132ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"            , "op": "[RVM] EVEX.xyz.66.MAP6.W0 9C /r"       , "tt": "fv"     , "vl": "xy"},
   3314       {"any": "vfnmadd132sh x:xmm {kz}, xmm, xmm/m16 {er}"                 , "op": "[RVM] EVEX.LIG.66.MAP6.W0 9D /r"       , "tt": "t1s"    , "vl": "no"},
   3315       {"any": "vfnmadd213ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"            , "op": "[RVM] EVEX.xyz.66.MAP6.W0 AC /r"       , "tt": "fv"     , "vl": "xy"},
   3316       {"any": "vfnmadd213sh x:xmm {kz}, xmm, xmm/m16 {er}"                 , "op": "[RVM] EVEX.LIG.66.MAP6.W0 AD /r"       , "tt": "t1s"    , "vl": "no"},
   3317       {"any": "vfnmadd231ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"            , "op": "[RVM] EVEX.xyz.66.MAP6.W0 BC /r"       , "tt": "fv"     , "vl": "xy"},
   3318       {"any": "vfnmadd231sh x:xmm {kz}, xmm, xmm/m16 {er}"                 , "op": "[RVM] EVEX.LIG.66.MAP6.W0 BD /r"       , "tt": "t1s"    , "vl": "no"},
   3319       {"any": "vfnmsub132ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"            , "op": "[RVM] EVEX.xyz.66.MAP6.W0 9E /r"       , "tt": "fv"     , "vl": "xy"},
   3320       {"any": "vfnmsub132sh x:xmm {kz}, xmm, xmm[15:0]/m16 {er}"           , "op": "[RVM] EVEX.LIG.66.MAP6.W0 9F /r"       , "tt": "t1s"    , "vl": "no"},
   3321       {"any": "vfnmsub213ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"            , "op": "[RVM] EVEX.xyz.66.MAP6.W0 AE /r"       , "tt": "fv"     , "vl": "xy"},
   3322       {"any": "vfnmsub213sh x:xmm {kz}, xmm, xmm[15:0]/m16 {er}"           , "op": "[RVM] EVEX.LIG.66.MAP6.W0 AF /r"       , "tt": "t1s"    , "vl": "no"},
   3323       {"any": "vfnmsub231ph X:xyz {kz}, xyz, xyz/mxyz/b16 {er}"            , "op": "[RVM] EVEX.xyz.66.MAP6.W0 BE /r"       , "tt": "fv"     , "vl": "xy"},
   3324       {"any": "vfnmsub231sh x:xmm {kz}, xmm, xmm[15:0]/m16 {er}"           , "op": "[RVM] EVEX.LIG.66.MAP6.W0 BF /r"       , "tt": "t1s"    , "vl": "no"},
   3325       {"any": "vfpclassph W:k {k}, xyz/mxyz/b16, imm8"                     , "op": "[RM ] EVEX.xyz.NP.0F3A.W0 66 /r ib"    , "tt": "fv"     , "vl": "xy", "k": "zeroing"},
   3326       {"any": "vfpclasssh W:k {k}, xmm[15:0]/m16, imm8"                    , "op": "[RM ] EVEX.LIG.NP.0F3A.W0 67 /r ib"    , "tt": "t1s"    , "vl": "no", "k": "zeroing"},
   3327       {"any": "vgetexpph W:xyz {kz}, xyz/mxyz/b16 {sae}"                   , "op": "[RM ] EVEX.xyz.66.MAP6.W0 42 /r"       , "tt": "fv"     , "vl": "xy"},
   3328       {"any": "vgetexpsh W:xmm {kz}, xmm[127:16], xmm[15:0]/m16 {sae}"     , "op": "[RM ] EVEX.LIG.66.MAP6.W0 43 /r"       , "tt": "t1s"    , "vl": "no"},
   3329       {"any": "vgetmantph W:xyz {kz}, xyz/mxyz/b16, imm8 {sae}"            , "op": "[RM ] EVEX.xyz.NP.0F3A.W0 26 /r ib"    , "tt": "fv"     , "vl": "xy"},
   3330       {"any": "vgetmantsh W:xmm {kz},xmm[127:16],xmm[15:0]/m16,imm8 {sae}" , "op": "[RM ] EVEX.LIG.NP.0F3A.W0 27 /r ib"    , "tt": "t1s"    , "vl": "no"},
   3331       {"any": "vmaxph W:xyz {kz}, xyz, xyz/mxyz/b16 {sae}"                 , "op": "[RVM] EVEX.xyz.NP.MAP5.W0 5F /r"       , "tt": "fv"     , "vl": "xy"},
   3332       {"any": "vmaxsh W:xmm {kz}, xmm, xmm[15:0]/m16 {sae}"                , "op": "[RVM] EVEX.LIG.F3.MAP5.W0 5F /r"       , "tt": "t1s"    , "vl": "no"},
   3333       {"any": "vminph W:xyz {kz}, xyz, xyz/mxyz/b16 {sae}"                 , "op": "[RVM] EVEX.xyz.NP.MAP5.W0 5D /r"       , "tt": "fv"     , "vl": "xy"},
   3334       {"any": "vminsh W:xmm {kz}, xmm, xmm[15:0]/m16 {sae}"                , "op": "[RVM] EVEX.LIG.F3.MAP5.W0 5D /r"       , "tt": "t1s"    , "vl": "no"},
   3335       {"any": "vmovsh W:m16, xmm[15:0]"                                    , "op": "[MR ] EVEX.LIG.F3.MAP5.W0 11 /r"       , "tt": "t1s"    , "vl": "no"},
   3336       {"any": "vmovsh W:xmm[15:0] {kz}, m16"                               , "op": "[RM ] EVEX.LIG.F3.MAP5.W0 10 /r"       , "tt": "t1s"    , "vl": "no"},
   3337       {"any": "vmovsh W:xmm {kz}, xmm[127:16], xmm[15:0]"                  , "op": "[MVR] EVEX.LIG.F3.MAP5.W0 11 /r"       , "tt": "t1s"    , "vl": "no"},
   3338       {"any": "vmovsh W:xmm {kz}, xmm[127:16], xmm[15:0]"                  , "op": "[RVM] EVEX.LIG.F3.MAP5.W0 10 /r"       , "tt": "t1s"    , "vl": "no"},
   3339       {"any": "vmovw W:r32[15:0]/m16, xmm[15:0]"                           , "op": "[MR ] EVEX.128.66.MAP5.WIG 7E /r"      , "tt": "t1s"    , "vl": "no"},
   3340       {"any": "vmovw W:xmm[15:0] {kz}, r32[15:0]/m16"                      , "op": "[RM ] EVEX.128.66.MAP5.WIG 6E /r"      , "tt": "t1s"    , "vl": "no"},
   3341       {"any": "vmulph W:xyz {kz}, ~xyz, ~xyz/mxyz/b16 {er}"                , "op": "[RVM] EVEX.xyz.NP.MAP5.W0 59 /r"       , "tt": "fv"     , "vl": "xy"},
   3342       {"any": "vmulsh W:xmm {kz}, xmm, xmm[15:0]/m16 {er}"                 , "op": "[RVM] EVEX.LIG.F3.MAP5.W0 59 /r"       , "tt": "t1s"    , "vl": "no"},
   3343       {"any": "vrcpph W:xyz {kz}, xyz/mxyz/b16"                            , "op": "[RM ] EVEX.xyz.66.MAP6.W0 4C /r"       , "tt": "fv"     , "vl": "xy"},
   3344       {"any": "vrcpsh W:xmm {kz}, xmm[127:16], xmm[15:0]/m16"              , "op": "[RVM] EVEX.LIG.66.MAP6.W0 4D /r"       , "tt": "t1s"    , "vl": "no"},
   3345       {"any": "vreduceph W:xyz {kz}, xyz/mxyz/b16, imm8 {sae}"             , "op": "[RM ] EVEX.xyz.NP.0F3A.W0 56 /r ib"    , "tt": "fv"     , "vl": "xy"},
   3346       {"any": "vreducesh W:xmm {kz}, xmm[127:16], xmm[15:0]/m16,imm8 {sae}", "op": "[RVM] EVEX.LIG.NP.0F3A.W0 57 /r ib"    , "tt": "t1s"    , "vl": "no"},
   3347       {"any": "vrndscaleph W:xyz {kz}, xyz/mxyz/b16, imm8 {sae}"           , "op": "[RM ] EVEX.xyz.NP.0F3A.W0 08 /r ib"    , "tt": "fv"     , "vl": "xy"},
   3348       {"any": "vrndscalesh W:xmm {kz},xmm[127:16],xmm[15:0]/m16,imm8 {sae}", "op": "[RVM] EVEX.LIG.NP.0F3A.W0 0A /r ib"    , "tt": "t1s"    , "vl": "no"},
   3349       {"any": "vrsqrtph W:xyz {kz}, xyz/mxyz/b16"                          , "op": "[RM ] EVEX.xyz.66.MAP6.W0 4E /r"       , "tt": "fv"     , "vl": "xy"},
   3350       {"any": "vrsqrtsh W:xmm {kz}, xmm[127:16], xmm[15:0]/m16"            , "op": "[RVM] EVEX.LIG.66.MAP6.W0 4F /r"       , "tt": "t1s"    , "vl": "no"},
   3351       {"any": "vscalefph W:xyz {kz}, xyz, xyz/mxyz/b16 {er}"               , "op": "[RVM] EVEX.xyz.66.MAP6.W0 2C /r"       , "tt": "fv"     , "vl": "xy"},
   3352       {"any": "vscalefsh W:xmm {kz}, xmm, xmm[15:0]/m16 {er}"              , "op": "[RVM] EVEX.LIG.66.MAP6.W0 2D /r"       , "tt": "t1s"    , "vl": "no"},
   3353       {"any": "vsqrtph W:xyz {kz}, xyz/mxyz/b16 {er}"                      , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 51 /r"       , "tt": "fv"     , "vl": "xy"},
   3354       {"any": "vsqrtsh W:xmm {kz}, xmm[127:16], xmm[15:0]/m16 {er}"        , "op": "[RVM] EVEX.LIG.F3.MAP5.W0 51 /r"       , "tt": "t1s"    , "vl": "no"},
   3355       {"any": "vsubph W:xyz {kz}, ~xyz, ~xyz/mxyz/b16 {er}"                , "op": "[RVM] EVEX.xyz.NP.MAP5.W0 5C /r"       , "tt": "fv"     , "vl": "xy"},
   3356       {"any": "vsubsh W:xmm {kz}, xmm, xmm[15:0]/m16 {er}"                 , "op": "[RVM] EVEX.LIG.F3.MAP5.W0 5C /r"       , "tt": "t1s"    , "vl": "no"},
   3357       {"any": "vucomish R:xmm[15:0], xmm[15:0]/m16 {sae}"                  , "op": "[RM ] EVEX.LIG.NP.MAP5.W0 2E /r"       , "tt": "t1s"    , "vl": "no", "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"}
   3358     ]},
   3359 
   3360     {"category": "AVX10_2 SIMD", "ext": "AVX10_2", "instructions": [
   3361       {"any": "vaddnepbf16 W:xyz{kz}, xyz, xyz/mxyz/b16"                   , "op": "[RVM] EVEX.xyz.66.MAP5.W0 58 /r"       , "tt": "fv"},
   3362       {"any": "vcmppbf16 W:k {k}, xyz, xyz/mxyz/b16, imm8"                 , "op": "[RVM] EVEX.xyz.F2.0F3A.W0 C2 /r ib"    , "tt": "fv"     , "k": "zeroing"},
   3363       {"any": "vcomsbf16 R:xmm, xmm/m16"                                   , "op": "[RM ] EVEX.LIG.66.MAP5.W0 2F /r"       , "tt": "t1s"    , "io": "OF=0 SF=0 ZF=W AF=0 PF=W CF=W"},
   3364       {"any": "vdivnepbf16 W:xyz {kz}, xyz, xyz/mxyz/b16"                  , "op": "[RVM] EVEX.xyz.66.MAP5.W0 5E /r"       , "tt": "fv"},
   3365       {"any": "vfmadd132nepbf16 X:xyz {kz}, xyz, xyz/mxyz/b16"             , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 98 /r"       , "tt": "fv"},
   3366       {"any": "vfmadd213nepbf16 X:xyz {kz}, xyz, xyz/mxyz/b16"             , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 A8 /r"       , "tt": "fv"},
   3367       {"any": "vfmadd231nepbf16 X:xyz {kz}, xyz, xyz/mxyz/b16"             , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 B8 /r"       , "tt": "fv"},
   3368       {"any": "vfmsub132nepbf16 X:xyz {kz}, xyz, xyz/mxyz/b16"             , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 9A /r"       , "tt": "fv"},
   3369       {"any": "vfmsub213nepbf16 X:xyz {kz}, xyz, xyz/mxyz/b16"             , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 AA /r"       , "tt": "fv"},
   3370       {"any": "vfmsub231nepbf16 X:xyz {kz}, xyz, xyz/mxyz/b16"             , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 BA /r"       , "tt": "fv"},
   3371       {"any": "vfnmadd132nepbf16 X:xyz {kz}, xyz, xyz/mxyz/b16"            , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 9C /r"       , "tt": "fv"},
   3372       {"any": "vfnmadd213nepbf16 X:xyz {kz}, xyz, xyz/mxyz/b16"            , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 AC /r"       , "tt": "fv"},
   3373       {"any": "vfnmadd231nepbf16 X:xyz {kz}, xyz, xyz/mxyz/b16"            , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 BC /r"       , "tt": "fv"},
   3374       {"any": "vfnmsub132nepbf16 X:xyz {kz}, xyz, xyz/mxyz/b16"            , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 9E /r"       , "tt": "fv"},
   3375       {"any": "vfnmsub213nepbf16 X:xyz {kz}, xyz, xyz/mxyz/b16"            , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 AE /r"       , "tt": "fv"},
   3376       {"any": "vfnmsub231nepbf16 X:xyz {kz}, xyz, xyz/mxyz/b16"            , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 BE /r"       , "tt": "fv"},
   3377       {"any": "vfpclasspbf16 W:k {k}, xyz/mxyz/b16, imm8"                  , "op": "[RM ] EVEX.xyz.F2.0F3A.W0 66 /r ib"    , "tt": "fv"     , "k": "zeroing"},
   3378       {"any": "vgetexppbf16 W:xyz {kz}, xyz/mxyz/b16"                      , "op": "[RM ] EVEX.xyz.66.MAP5.W0 42 /r"       , "tt": "fv"},
   3379       {"any": "vgetmantpbf16 W:xyz {kz}, xyz/mxyz/b16, imm8"               , "op": "[RM ] EVEX.xyz.F2.0F3A.W0 26 /r ib"    , "tt": "fv"},
   3380       {"any": "vmaxpbf16 W:xyz {kz}, xyz, xyz/mxyz/b16"                    , "op": "[RVM] EVEX.xyz.66.MAP5.W0 5F /r"       , "tt": "fv"},
   3381       {"any": "vminpbf16 W:xyz {kz}, xyz, xyz/mxyz/b16"                    , "op": "[RVM] EVEX.xyz.66.MAP5.W0 5D /r"       , "tt": "fv"},
   3382       {"any": "vmulnepbf16 W:xyz {kz}, xyz, xyz/mxyz/b16"                  , "op": "[RVM] EVEX.xyz.66.MAP5.W0 59 /r"       , "tt": "fv"},
   3383       {"any": "vrcppbf16 W:xyz {kz}, xyz/mxyz/b16"                         , "op": "[RM ] EVEX.xyz.NP.MAP6.W0 4C /r"       , "tt": "fv"},
   3384       {"any": "vreducenepbf16 W:xyz {kz}, xyz/mxyz/b16, imm8"              , "op": "[RM ] EVEX.xyz.F2.0F3A.W0 56 /r ib"    , "tt": "fv"},
   3385       {"any": "vrndscalenepbf16 W:xyz {kz}, xyz/mxyz/b16, imm8"            , "op": "[RM ] EVEX.xyz.F2.0F3A.W0 08 /r ib"    , "tt": "fv"},
   3386       {"any": "vrsqrtpbf16 W:xyz {kz}, xyz/mxyz/b16"                       , "op": "[RM ] EVEX.xyz.NP.MAP6.W0 4E /r"       , "tt": "fv"},
   3387       {"any": "vscalefpbf16 W:xyz {kz}, xyz, xyz/mxyz/b16"                 , "op": "[RVM] EVEX.xyz.NP.MAP6.W0 2C /r"       , "tt": "fv"},
   3388       {"any": "vsqrtnepbf16 W:xyz {kz}, xyz/mxyz/b16"                      , "op": "[RM ] EVEX.xyz.66.MAP5.W0 51 /r "      , "tt": "fv"},
   3389       {"any": "vsubnepbf16 W:xyz {kz}, xyz, xyz/mxyz/b16"                  , "op": "[RVM] EVEX.xyz.66.MAP5.W0 5C /r"       , "tt": "fv"}
   3390     ]},
   3391 
   3392     {"category": "AVX10_2 SIMD", "ext": "AVX10_2", "instructions": [
   3393       {"any": "vcomxsd  R:xmm[63:0], R:xmm[63:0]/m64 {sae}"                , "op": "[RM ] EVEX.LIG.F3.0F.W1 2F /r"         , "tt": "t1s"    , "io": "OF=W SF=W ZF=W AF=0 PF=W CF=W"},
   3394       {"any": "vcomxsh  R:xmm[15:0], R:xmm[15:0]/m16 {sae}"                , "op": "[RM ] EVEX.LIG.F2.MAP5.W0 2F /r"       , "tt": "t1s"    , "io": "OF=W SF=W ZF=W AF=0 PF=W CF=W"},
   3395       {"any": "vcomxss  R:xmm[31:0], R:xmm[31:0]/m32 {sae}"                , "op": "[RM ] EVEX.LIG.F2.0F.W0 2F /r"         , "tt": "t1s"    , "io": "OF=W SF=W ZF=W AF=0 PF=W CF=W"},
   3396       {"any": "vucomxsd R:xmm[63:0], R:xmm[63:0]/m64 {sae}"                , "op": "[RM ] EVEX.LIG.F3.0F.W1 2E /r"         , "tt": "t1s"    , "io": "OF=W SF=W ZF=W AF=0 PF=W CF=W"},
   3397       {"any": "vucomxsh R:xmm[15:0], R:xmm[15:0]/m16 {sae}"                , "op": "[RM ] EVEX.LIG.F2.MAP5.W0 2E /r"       , "tt": "t1s"    , "io": "OF=W SF=W ZF=W AF=0 PF=W CF=W"},
   3398       {"any": "vucomxss R:xmm[31:0], R:xmm[31:0]/m32 {sae}"                , "op": "[RM ] EVEX.LIG.F2.0F.W0 2E /r"         , "tt": "t1s"    , "io": "OF=W SF=W ZF=W AF=0 PF=W CF=W"}
   3399     ]},
   3400 
   3401     {"category": "AVX10_2 SIMD", "ext": "AVX10_2", "instructions": [
   3402       {"any": "vcvt2ps2phx     W:xyz {kz}, xyz, xyz/mxyz/b32 {er}"         , "op": "[RVM] EVEX.xyz.66.0F38.W0 67 /r"       , "tt": "fv"},
   3403       {"any": "vcvtbiasph2bf8  W:xxy {kz}, xyz, xyz/mxyz/b16"              , "op": "[RVM] EVEX.xyz.NP.0F38.W0 74 /r"       , "tt": "fv"},
   3404       {"any": "vcvtbiasph2bf8s W:xxy {kz}, xyz, xyz/mxyz/b16"              , "op": "[RVM] EVEX.xyz.NP.MAP5.W0 74 /r"       , "tt": "fv"},
   3405       {"any": "vcvtbiasph2hf8  W:xxy {kz}, xyz, xyz/mxyz/b16"              , "op": "[RVM] EVEX.xyz.NP.MAP5.W0 18 /r"       , "tt": "fv"},
   3406       {"any": "vcvtbiasph2hf8s W:xxy {kz}, xyz, xyz/mxyz/b16"              , "op": "[RVM] EVEX.xyz.NP.MAP5.W0 1B /r"       , "tt": "fv"},
   3407       {"any": "vcvthf82ph      W:xyz {kz}, xxy/mxxy"                       , "op": "[RM ] EVEX.xyz.F2.MAP5.W0 1E /r"       , "tt": "hv"},
   3408       {"any": "vcvtne2ph2bf8   W:xyz {kz}, xyz, xyz/mxyz/b16"              , "op": "[RVM] EVEX.xyz.F2.0F38.W0 74 /r"       , "tt": "fv"},
   3409       {"any": "vcvtne2ph2bf8s  W:xyz {kz}, xyz, xyz/mxyz/b16"              , "op": "[RVM] EVEX.xyz.F2.MAP5.W0 74 /r"       , "tt": "fv"},
   3410       {"any": "vcvtne2ph2hf8   W:xyz {kz}, xyz, xyz/mxyz/b16"              , "op": "[RVM] EVEX.xyz.F2.MAP5.W0 18 /r"       , "tt": "fv"},
   3411       {"any": "vcvtne2ph2hf8s  W:xyz {kz}, xyz, xyz/mxyz/b16"              , "op": "[RVM] EVEX.xyz.F2.MAP5.W0 1B /r"       , "tt": "fv"},
   3412       {"any": "vcvtneph2bf8    W:xxy {kz}, xyz/mxyz/b16"                   , "op": "[RM ] EVEX.xyz.F3.0F38.W0 74 /r"       , "tt": "fv"},
   3413       {"any": "vcvtneph2bf8s   W:xxy {kz}, xyz/mxyz/b16"                   , "op": "[RM ] EVEX.xyz.F3.MAP5.W0 74 /r"       , "tt": "fv"},
   3414       {"any": "vcvtneph2hf8    W:xxy {kz}, xyz/mxyz/b16"                   , "op": "[RM ] EVEX.xyz.F3.MAP5.W0 18 /r"       , "tt": "fv"},
   3415       {"any": "vcvtneph2hf8s   W:xxy {kz}, xyz/mxyz/b16"                   , "op": "[RM ] EVEX.xyz.F3.MAP5.W0 1B /r"       , "tt": "fv"}
   3416     ]},
   3417 
   3418     {"category": "AVX10_2 SIMD", "ext": "AVX10_2", "instructions": [
   3419       {"any": "vdpphps   X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.NP.0F38.W0 52 /r"       , "tt": "fv"},
   3420       {"any": "vmpsadbw  W:xyz {kz}, xyz, xyz/mxyz, imm8"                  , "op": "[RVM] EVEX.xyz.F3.0F3A.W0 42 /r ib"    , "tt": "fv"},
   3421       {"any": "vpdpbssd  X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.F2.0F38.W0 50 /r"       , "tt": "fv"},
   3422       {"any": "vpdpbssds X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.F2.0F38.W0 51 /r"       , "tt": "fv"},
   3423       {"any": "vpdpbsud  X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.F3.0F38.W0 50 /r"       , "tt": "fv"},
   3424       {"any": "vpdpbsuds X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.F3.0F38.W0 51 /r"       , "tt": "fv"},
   3425       {"any": "vpdpbuud  X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.NP.0F38.W0 50 /r"       , "tt": "fv"},
   3426       {"any": "vpdpbuuds X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.NP.0F38.W0 51 /r"       , "tt": "fv"},
   3427       {"any": "vpdpwsud  X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.F3.0F38.W0 D2 /r"       , "tt": "fv"},
   3428       {"any": "vpdpwsuds X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.F3.0F38.W0 D3 /r"       , "tt": "fv"},
   3429       {"any": "vpdpwusd  X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 D2 /r"       , "tt": "fv"},
   3430       {"any": "vpdpwusds X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.66.0F38.W0 D3 /r"       , "tt": "fv"},
   3431       {"any": "vpdpwuud  X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.NP.0F38.W0 D2 /r"       , "tt": "fv"},
   3432       {"any": "vpdpwuuds X:xyz {kz}, xyz, xyz/mxyz/b32"                    , "op": "[RVM] EVEX.xyz.NP.0F38.W0 D3 /r"       , "tt": "fv"}
   3433     ]},
   3434 
   3435     {"category": "AVX10_2 SIMD", "ext": "AVX10_2", "instructions": [
   3436       {"any": "vminmaxnepbf16 W:xyz {kz}, xyz, xyz/mxyz/b16, imm8"         , "op": "[RVM] EVEX.xyz.F2.0F3A.W0 52 /r ib"    , "tt": "fv"},
   3437       {"any": "vminmaxpd W:xyz {kz}, xyz, xyz/mxyz/b64 {sae}, imm8"        , "op": "[RVM] EVEX.xyz.66.0F3A.W1 52 /r ib"    , "tt": "fv"},
   3438       {"any": "vminmaxph W:xyz {kz}, xyz, xyz/mxyz/b16 {sae}, imm8"        , "op": "[RVM] EVEX.xyz.NP.0F3A.W0 52 /r ib"    , "tt": "fv"},
   3439       {"any": "vminmaxps W:xyz {kz}, xyz, xyz/mxyz/b32 {sae}, imm8"        , "op": "[RVM] EVEX.xyz.66.0F3A.W0 52 /r ib"    , "tt": "fv"},
   3440       {"any": "vminmaxsd W:xmm {kz}, xmm, xmm/m64 {sae}, imm8"             , "op": "[RVM] EVEX.LIG.66.0F3A.W1 53 /r ib"    , "tt": "t1s"},
   3441       {"any": "vminmaxsh W:xmm {kz}, xmm, xmm/m16 {sae}, imm8"             , "op": "[RVM] EVEX.LIG.NP.0F3A.W0 53 /r ib"    , "tt": "t1s"},
   3442       {"any": "vminmaxss W:xmm {kz}, xmm, xmm/m32 {sae}, imm8"             , "op": "[RVM] EVEX.LIG.66.0F3A.W0 53 /r ib"    , "tt": "t1s"}
   3443     ]},
   3444 
   3445     {"category": "AVX10_2 SIMD", "ext": "AVX10_2", "instructions": [
   3446       {"any": "vcvtnebf162ibs W:xyz{kz}, xyz/mxyz/b16"                     , "op": "[RM ] EVEX.xyz.F2.MAP5.W0 69 /r"       , "tt": "fv"},
   3447       {"any": "vcvtnebf162iubs W:xyz{kz}, xyz/mxyz/b16"                    , "op": "[RM ] EVEX.xyz.F2.MAP5.W0 6B /r"       , "tt": "fv"},
   3448       {"any": "vcvttnebf162ibs W:xyz{kz}, xyz/mxyz/b16"                    , "op": "[RM ] EVEX.xyz.F2.MAP5.W0 68 /r"       , "tt": "fv"},
   3449       {"any": "vcvttnebf162iubs W:xyz{kz}, xyz/mxyz/b16"                   , "op": "[RM ] EVEX.xyz.F2.MAP5.W0 6A /r"       , "tt": "fv"},
   3450       {"any": "vcvttpd2dqs W:xxy{kz}, xyz/mxyz/b64 {sae}"                  , "op": "[RM ] EVEX.xyz.NP.MAP5.W1 6D /r"       , "tt": "fv"},
   3451       {"any": "vcvttpd2qqs W:xyz{kz}, xyz/mxyz/b64 {sae}"                  , "op": "[RM ] EVEX.xyz.66.MAP5.W1 6D /r"       , "tt": "fv"},
   3452       {"any": "vcvttpd2udqs W:xxy{kz}, xyz/mxyz/b64 {sae}"                 , "op": "[RM ] EVEX.xyz.NP.MAP5.W1 6C /r"       , "tt": "fv"},
   3453       {"any": "vcvttpd2uqqs W:xyz{kz}, xyz/mxyz/b64 {sae}"                 , "op": "[RM ] EVEX.xyz.66.MAP5.W1 6C /r"       , "tt": "fv"},
   3454       {"any": "vcvtph2ibs W:xyz{kz}, xyz/mxyz/b16 {er}"                    , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 69 /r"       , "tt": "fv"},
   3455       {"any": "vcvtph2iubs W:xyz{kz}, xyz/mxyz/b16 {er}"                   , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 6B /r"       , "tt": "fv"},
   3456       {"any": "vcvttph2ibs W:xyz{kz}, xyz/mxyz/b16 {sae}"                  , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 68 /r"       , "tt": "fv"},
   3457       {"any": "vcvttph2iubs W:xyz{kz}, xyz/mxyz/b16 {sae}"                 , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 6A /r"       , "tt": "fv"},
   3458       {"any": "vcvttps2dqs W:xyz{kz}, xyz/mxyz/b32 {sae}"                  , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 6D /r"       , "tt": "fv"},
   3459       {"any": "vcvtps2ibs W:xyz{kz}, xyz/mxyz/b32 {er}"                    , "op": "[RM ] EVEX.xyz.66.MAP5.W0 69 /r"       , "tt": "fv"},
   3460       {"any": "vcvtps2iubs W:xyz{kz}, xyz/mxyz/b32 {er}"                   , "op": "[RM ] EVEX.xyz.66.MAP5.W0 6B /r"       , "tt": "fv"},
   3461       {"any": "vcvttps2ibs W:xyz{kz}, xyz/mxyz/b32 {sae}"                  , "op": "[RM ] EVEX.xyz.66.MAP5.W0 68 /r"       , "tt": "fv"},
   3462       {"any": "vcvttps2iubs W:xyz{kz}, xyz/mxyz/b32 {sae}"                 , "op": "[RM ] EVEX.xyz.66.MAP5.W0 6A /r"       , "tt": "fv"},
   3463       {"any": "vcvttps2qqs W:xyz{kz}, xxy/mxxy/b32 {sae}"                  , "op": "[RM ] EVEX.xyz.66.MAP5.W0 6D /r"       , "tt": "fv"},
   3464       {"any": "vcvttps2udqs W:xyz{kz}, xyz/mxyz/b32 {sae}"                 , "op": "[RM ] EVEX.xyz.NP.MAP5.W0 6C /r"       , "tt": "fv"},
   3465       {"any": "vcvttps2uqqs W:xyz{kz}, xxy/mxxy/b32 {sae}"                 , "op": "[RM ] EVEX.xyz.66.MAP5.W0 6C /r"       , "tt": "fv"},
   3466       {"any": "vcvttsd2sis W:ry, xmm[63:0]/m64 {sae}"                      , "op": "[RM ] EVEX.LIG.F2.MAP5.Wy 6D /r"       , "tt": "t1f"},
   3467       {"any": "vcvttsd2usis W:ry, xmm[63:0]/m64 {sae}"                     , "op": "[RM ] EVEX.LIG.F2.MAP5.Wy 6C /r"       , "tt": "t1f"},
   3468       {"any": "vcvttss2sis W:ry, xmm[31:0]/m32 {sae}"                      , "op": "[RM ] EVEX.LIG.F3.MAP5.Wy 6D /r"       , "tt": "t1f"},
   3469       {"any": "vcvttss2usis W:ry, xmm[31:0]/m32 {sae}"                     , "op": "[RM ] EVEX.LIG.F3.MAP5.Wy 6C /r"       , "tt": "t1f"}
   3470     ]},
   3471 
   3472     {"category": "AVX10_2 SIMD", "ext": "AVX10_2", "instructions": [
   3473       {"any": "vmovd W:xmm[31:0], R:xmm[31:0]/m32"                         , "op": "[RM ] EVEX.128.F3.0F.W0 7E /r"         , "tt": "t1"},
   3474       {"any": "vmovd W:xmm[31:0]/m32, R:xmm[31:0]"                         , "op": "[MR ] EVEX.128.66.0F.W0 D6 /r"         , "tt": "t1"},
   3475       {"any": "vmovw W:xmm[15:0], R:xmm[15:0]/m16"                         , "op": "[RM ] EVEX.128.F3.MAP5.W0 6E /r"       , "tt": "t1"},
   3476       {"any": "vmovw W:xmm[15:0]/m16, R:xmm[15:0]"                         , "op": "[MR ] EVEX.128.F3.MAP5.W0 7E /r"       , "tt": "t1"}
   3477     ]},
   3478 
   3479     {"category": "AVX10_2 SIMD", "ext": "AVX10_2 MOVRS", "instructions": [
   3480       {"x64": "vmovrsb X:xyz {kz}, R:mxyz"                                 , "op": "[RM ] EVEX.xyz.F2.MAP5.W0 6F !(11):rrr:bbb", "tt": "fm"},
   3481       {"x64": "vmovrsd X:xyz {kz}, R:mxyz"                                 , "op": "[RM ] EVEX.xyz.F3.MAP5.W0 6F !(11):rrr:bbb", "tt": "fm"},
   3482       {"x64": "vmovrsq X:xyz {kz}, R:mxyz"                                 , "op": "[RM ] EVEX.xyz.F3.MAP5.W1 6F !(11):rrr:bbb", "tt": "fm"},
   3483       {"x64": "vmovrsw X:xyz {kz}, R:mxyz"                                 , "op": "[RM ] EVEX.xyz.F2.MAP5.W1 6F !(11):rrr:bbb", "tt": "fm"}
   3484     ]},
   3485 
   3486     {"category": "AMX", "ext": "AMX_TILE", "instructions": [
   3487       {"x64": "ldtilecfg R:m512"                                           , "op": "[M  ] VEX.128.NP.0F38.W0 49 !(11):000:bbb"},
   3488       {"apx": "ldtilecfg R:m512"                                           , "op": "[M  ] EVEX.128.NP.0F38.W0 49 !(11):000:bbb"},
   3489       {"x64": "sttilecfg W:m512"                                           , "op": "[M  ] VEX.128.66.0F38.W0 49 !(11):000:bbb"},
   3490       {"apx": "sttilecfg W:m512"                                           , "op": "[M  ] EVEX.128.66.0F38.W0 49 !(11):000:bbb"},
   3491       {"x64": "tileloadd W:tmm, tmem"                                      , "op": "[RM ] VEX.128.F2.0F38.W0 4B !(11):rrr:100"},
   3492       {"apx": "tileloadd W:tmm, R:tmem"                                    , "op": "[RM ] EVEX.128.F2.0F38.W0 4B !(11):rrr:100"},
   3493       {"x64": "tileloaddt1 W:tmm, tmem"                                    , "op": "[RM ] VEX.128.66.0F38.W0 4B !(11):rrr:100"},
   3494       {"apx": "tileloaddt1 W:tmm, R:tmem"                                  , "op": "[RM ] EVEX.128.66.0F38.W0 4B !(11):rrr:100"},
   3495       {"x64": "tilerelease"                                                , "op": "[OP ] VEX.128.NP.0F38.W0 49 /0"},
   3496       {"x64": "tilestored W:tmem, R:tmm"                                   , "op": "[MR ] VEX.128.F3.0F38.W0 4B !(11):rrr:100"},
   3497       {"apx": "tilestored W:tmem, R:tmm"                                   , "op": "[MR ] EVEX.128.F3.0F38.W0 4B !(11):rrr:100"},
   3498       {"x64": "tilezero W:tmm"                                             , "op": "[R  ] VEX.128.F2.0F38.W0 49 11:rrr:000"}
   3499     ]},
   3500 
   3501     {"category": "AMX", "ext": "AMX_BF16", "instructions": [
   3502       {"x64": "tdpbf16ps X:tmm, tmm, tmm"                                  , "op": "[RMV] VEX.128.F3.0F38.W0 5C 11:rrr:bbb"}
   3503     ]},
   3504 
   3505     {"category": "AMX", "ext": "AMX_COMPLEX", "instructions": [
   3506       {"x64": "tcmmimfp16ps X:tmm, tmm, tmm"                               , "op": "[RMV] VEX.128.66.0F38.W0 6C 11:rrr:bbb"},
   3507       {"x64": "tcmmrlfp16ps X:tmm, tmm, tmm"                               , "op": "[RMV] VEX.128.NP.0F38.W0 6C 11:rrr:bbb"}
   3508     ]},
   3509 
   3510     {"category": "AMX", "ext": "AMX_FP16", "instructions": [
   3511       {"x64": "tdpfp16ps X:tmm, tmm, tmm"                                  , "op": "[RMV] VEX.128.F2.0F38.W0 5C 11:rrr:bbb"}
   3512     ]},
   3513 
   3514     {"category": "AMX", "ext": "AMX_INT8", "instructions": [
   3515       {"x64": "tdpbssd X:tmm, tmm, tmm"                                    , "op": "[RMV] VEX.128.F2.0F38.W0 5E 11:rrr:bbb"},
   3516       {"x64": "tdpbsud X:tmm, tmm, tmm"                                    , "op": "[RMV] VEX.128.F3.0F38.W0 5E 11:rrr:bbb"},
   3517       {"x64": "tdpbusd X:tmm, tmm, tmm"                                    , "op": "[RMV] VEX.128.66.0F38.W0 5E 11:rrr:bbb"},
   3518       {"x64": "tdpbuud X:tmm, tmm, tmm"                                    , "op": "[RMV] VEX.128.NP.0F38.W0 5E 11:rrr:bbb"}
   3519     ]},
   3520 
   3521     {"category": "AMX", "ext": "AMX_AVX512 AVX10_2", "instructions": [
   3522       {"x64": "tcvtrowd2ps W:zmm, tmm, r32"                                , "op": "[RMV] EVEX.512.F3.0F38.W0 4A 11:rrr:bbb"},
   3523       {"x64": "tcvtrowd2ps W:zmm, tmm, imm8"                               , "op": "[RM ] EVEX.512.F3.0F3A.W0 07 11:rrr:bbb ib"},
   3524       {"x64": "tcvtrowps2pbf16h W:zmm, tmm, r32"                           , "op": "[RMV] EVEX.512.F2.0F38.W0 6D 11:rrr:bbb"},
   3525       {"x64": "tcvtrowps2pbf16h W:zmm, tmm, imm8"                          , "op": "[RM ] EVEX.512.F2.0F3A.W0 07 11:rrr:bbb ib"},
   3526       {"x64": "tcvtrowps2pbf16l W:zmm, tmm, r32"                           , "op": "[RMV] EVEX.512.F3.0F38.W0 6D 11:rrr:bbb"},
   3527       {"x64": "tcvtrowps2pbf16l W:zmm, tmm, imm8"                          , "op": "[RM ] EVEX.512.F3.0F3A.W0 77 11:rrr:bbb ib"},
   3528       {"x64": "tcvtrowps2phh W:zmm, tmm, r32"                              , "op": "[RMV] EVEX.512.NP.0F38.W0 6D 11:rrr:bbb"},
   3529       {"x64": "tcvtrowps2phh W:zmm, tmm, imm8"                             , "op": "[RM ] EVEX.512.NP.0F3A.W0 07 11:rrr:bbb ib"},
   3530       {"x64": "tcvtrowps2phl W:zmm, tmm, r32"                              , "op": "[RMV] EVEX.512.66.0F38.W0 6D 11:rrr:bbb"},
   3531       {"x64": "tcvtrowps2phl W:zmm, tmm, imm8"                             , "op": "[RM ] EVEX.512.F2.0F3A.W0 77 11:rrr:bbb ib"},
   3532       {"x64": "tilemovrow W:zmm, tmm, r32"                                 , "op": "[RMV] EVEX.512.66.0F38.W0 4A 11:rrr:bbb"},
   3533       {"x64": "tilemovrow W:zmm, tmm, imm8"                                , "op": "[RMV] EVEX.512.66.0F3A.W0 07 11:rrr:bbb ib"}
   3534     ]},
   3535 
   3536     {"category": "AMX", "ext": "AMX_FP8", "instructions": [
   3537       {"x64": "tdpbf8ps  X:tmm, tmm, tmm"                                  , "op": "[RMV] VEX.128.NP.MAP5.W0 FD 11:rrr:bbb"},
   3538       {"x64": "tdpbhf8ps X:tmm, tmm, tmm"                                  , "op": "[RMV] VEX.128.F2.MAP5.W0 FD 11:rrr:bbb"},
   3539       {"x64": "tdphbf8ps X:tmm, tmm, tmm"                                  , "op": "[RMV] VEX.128.F3.MAP5.W0 FD 11:rrr:bbb"},
   3540       {"x64": "tdphf8ps  X:tmm, tmm, tmm"                                  , "op": "[RMV] VEX.128.66.MAP5.W0 FD 11:rrr:bbb"}
   3541     ]},
   3542 
   3543     {"category": "AMX", "ext": "AMX_MOVRS", "instructions": [
   3544       {"x64": "tileloaddrs W:tmm, tmem"                                    , "op": "[RM ] VEX.128.F2.0F38.W0 4A !(11):rrr:100"},
   3545       {"apx": "tileloaddrs W:tmm, tmem"                                    , "op": "[RM ] EVEX.128.F2.0F38.W0 4A !(11):rrr:100"},
   3546       {"x64": "tileloaddrst1 W:tmm, tmem"                                  , "op": "[RM ] VEX.128.66.0F38.W0 4A !(11):rrr:100"},
   3547       {"apx": "tileloaddrst1 W:tmm, tmem"                                  , "op": "[RM ] EVEX.128.66.0F38.W0 4A !(11):rrr:100"}
   3548     ]},
   3549 
   3550     {"category": "AMX", "ext": "AMX_TF32", "instructions": [
   3551       {"x64": "tmmultf32ps X:tmm, tmm, tmm"                                , "op": "[RMV] VEX.128.66.0F38.W0 48 11:rrr:bbb"}
   3552     ]},
   3553 
   3554     {"category": "AMX", "ext": "AMX_TRANSPOSE", "instructions": [
   3555       {"x64": "t2rpntlvwz0   W:tmm, W:tmm+1, tmem"                         , "op": "[RM ] VEX.128.NP.0F38.W0 6E !(11):rrr:100"},
   3556       {"apx": "t2rpntlvwz0   W:tmm, W:tmm+1, tmem"                         , "op": "[RM ] EVEX.128.NP.0F38.W0 6E !(11):rrr:100"},
   3557       {"x64": "t2rpntlvwz0t1 W:tmm, W:tmm+1, tmem"                         , "op": "[RM ] VEX.128.NP.0F38.W0 6F !(11):rrr:100"},
   3558       {"apx": "t2rpntlvwz0t1 W:tmm, W:tmm+1, tmem"                         , "op": "[RM ] EVEX.128.NP.0F38.W0 6F !(11):rrr:100"},
   3559       {"x64": "t2rpntlvwz1   W:tmm, W:tmm+1, tmem"                         , "op": "[RM ] VEX.128.66.0F38.W0 6E !(11):rrr:100"},
   3560       {"apx": "t2rpntlvwz1   W:tmm, W:tmm+1, tmem"                         , "op": "[RM ] EVEX.128.66.0F38.W0 6E !(11):rrr:100"},
   3561       {"x64": "t2rpntlvwz1t1 W:tmm, W:tmm+1, tmem"                         , "op": "[RM ] VEX.128.66.0F38.W0 6F !(11):rrr:100"},
   3562       {"apx": "t2rpntlvwz1t1 W:tmm, W:tmm+1, tmem"                         , "op": "[RM ] EVEX.128.66.0F38.W0 6F !(11):rrr:100"},
   3563       {"x64": "ttransposed   W:tmm, tmm"                                   , "op": "[RMV] VEX.128.F3.0F38.W0 5F 11:rrr:bbb"}
   3564     ]},
   3565 
   3566     {"category": "AMX", "ext": "AMX_TRANSPOSE AMX_COMPLEX", "instructions": [
   3567       {"x64": "tconjtcmmimfp16ps W:tmm, tmm, tmm"                          , "op": "[RMV] VEX.128.NP.0F38.W0 6B 11:rrr:bbb"},
   3568       {"x64": "tconjtfp16        W:tmm, tmm"                               , "op": "[RM ] VEX.128.66.0F38.W0 6B 11:rrr:bbb"},
   3569       {"x64": "ttcmmimfp16ps     X:tmm, tmm, tmm"                          , "op": "[RMV] VEX.128.F2.0F38.W0 6B 11:rrr:bbb"},
   3570       {"x64": "ttcmmrlfp16ps     X:tmm, tmm, tmm"                          , "op": "[RMV] VEX.128.F3.0F38.W0 6B 11:rrr:bbb"}
   3571     ]},
   3572 
   3573     {"category": "AMX", "ext": "AMX_TRANSPOSE AMX_MOVRS", "instructions": [
   3574       {"x64": "t2rpntlvwz0rs     W:tmm, W:tmm+1, tmem"                     , "op": "[RM ] VEX.128.NP.MAP5.W0 F8 !(11):rrr:100"},
   3575       {"apx": "t2rpntlvwz0rs     W:tmm, W:tmm+1, tmem"                     , "op": "[RM ] EVEX.128.NP.MAP5.W0 F8 !(11):rrr:100"},
   3576       {"x64": "t2rpntlvwz0rst1   W:tmm, W:tmm+1, tmem"                     , "op": "[RM ] VEX.128.NP.MAP5.W0 F9 !(11):rrr:100"},
   3577       {"apx": "t2rpntlvwz0rst1   W:tmm, W:tmm+1, tmem"                     , "op": "[RM ] EVEX.128.NP.MAP5.W0 F9 !(11):rrr:100"},
   3578       {"x64": "t2rpntlvwz1rs     W:tmm, W:tmm+1, tmem"                     , "op": "[RM ] VEX.128.66.MAP5.W0 F8 !(11):rrr:100"},
   3579       {"apx": "t2rpntlvwz1rs     W:tmm, W:tmm+1, tmem"                     , "op": "[RM ] EVEX.128.66.MAP5.W0 F8 !(11):rrr:100"},
   3580       {"x64": "t2rpntlvwz1rst1   W:tmm, W:tmm+1, tmem"                     , "op": "[RM ] VEX.128.66.MAP5.W0 F9 !(11):rrr:100"},
   3581       {"apx": "t2rpntlvwz1rst1   W:tmm, W:tmm+1, tmem"                     , "op": "[RM ] EVEX.128.66.MAP5.W0 F9 !(11):rrr:100"}
   3582     ]},
   3583 
   3584     {"category": "AMX", "ext": "AMX_TRANSPOSE AMX_BF16", "instructions": [
   3585       {"x64": "ttdpbf16ps X:tmm, tmm, tmm"                                 , "op": "[RMV] VEX.128.F3.0F38.W0 6C 11:rrr:bbb"},
   3586       {"x64": "ttdpfp16ps X:tmm, tmm, tmm"                                 , "op": "[RMV] VEX.128.F2.0F38.W0 6C 11:rrr:bbb"}
   3587     ]},
   3588 
   3589     {"category": "AMX", "ext": "AMX_TRANSPOSE AMX_TF32", "instructions": [
   3590       {"x64": "ttmmultf32ps X:tmm, tmm, tmm"                               , "op": "[RMV] VEX.128.NP.0F38.W0 48 11:rrr:bbb"}
   3591     ]},
   3592 
   3593     {"category": "GP GP_EXT", "ext": "APX_F", "instructions": [
   3594       {"apx": "adc            x:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.LLZ.NP.MAP4.WIG 10 /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3595       {"apx": "adc            x:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 11 /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3596       {"apx": "adc            x:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.LLZ.NP.MAP4.WIG 12 /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3597       {"apx": "adc            x:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 13 /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3598       {"apx": "adc            x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG 80 /2 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3599       {"apx": "adc            x:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 83 /2 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3600       {"apx": "adc            x:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 81 /2 iv"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3601       {"apx": "adc            W:r8, R:r8/m8, R:r8"                         , "op": "[VMR] EVEX.ND=1.LLZ.NP.MAP4.WIG 10 /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3602       {"apx": "adc            W:rv, R:rv/mv, R:rv"                         , "op": "[VMR] EVEX.ND=1.LLZ.Pv.MAP4.Wv 11 /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3603       {"apx": "adc            W:r8, R:r8, R:r8/m8"                         , "op": "[VRM] EVEX.ND=1.LLZ.NP.MAP4.WIG 12 /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3604       {"apx": "adc            W:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 13 /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3605       {"apx": "adc            W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG 80 /2 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3606       {"apx": "adc            W:rv, R:rv/mv, imms8"                        , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 83 /2 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3607       {"apx": "adc            W:rv, R:rv/mv, immv"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 81 /2 iv"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3608       {"apx": "add{nf}        x:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.LLZ.NP.MAP4.WIG 00 /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3609       {"apx": "add{nf}        x:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 01 /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3610       {"apx": "add{nf}        x:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.LLZ.NP.MAP4.WIG 02 /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3611       {"apx": "add{nf}        x:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 03 /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3612       {"apx": "add{nf}        x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG 80 /0 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3613       {"apx": "add{nf}        x:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 83 /0 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3614       {"apx": "add{nf}        x:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 81 /0 iv"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3615       {"apx": "add{nf}        W:r8, R:r8/m8, R:r8"                         , "op": "[VMR] EVEX.ND=1.LLZ.NP.MAP4.WIG 00 /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3616       {"apx": "add{nf}        W:rv, R:rv/mv, R:rv"                         , "op": "[VMR] EVEX.ND=1.LLZ.Pv.MAP4.Wv 01 /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3617       {"apx": "add{nf}        W:r8, R:r8, R:r8/m8"                         , "op": "[VRM] EVEX.ND=1.LLZ.NP.MAP4.WIG 02 /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3618       {"apx": "add{nf}        W:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 03 /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3619       {"apx": "add{nf}        W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG 80 /0 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3620       {"apx": "add{nf}        W:rv, R:rv/mv, imms8"                        , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 83 /0 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3621       {"apx": "add{nf}        W:rv, R:rv/mv, immv"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 81 /0 iv"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3622       {"apx": "and{nf}        x:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.LLZ.NP.MAP4.WIG 20 /r"     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3623       {"apx": "and{nf}        x:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 21 /r"      , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3624       {"apx": "and{nf}        x:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.LLZ.NP.MAP4.WIG 22 /r"     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3625       {"apx": "and{nf}        x:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 23 /r"      , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3626       {"apx": "and{nf}        x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG 80 /4 ib"  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3627       {"apx": "and{nf}        x:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 83 /4 ib"   , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3628       {"apx": "and{nf}        x:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 81 /4 iv"   , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3629       {"apx": "and{nf}        W:r8, R:r8/m8, R:r8"                         , "op": "[VMR] EVEX.ND=1.LLZ.NP.MAP4.WIG 20 /r"     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3630       {"apx": "and{nf}        W:rv, R:rv/mv, R:rv"                         , "op": "[VMR] EVEX.ND=1.LLZ.Pv.MAP4.Wv 21 /r"      , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3631       {"apx": "and{nf}        W:r8, R:r8, R:r8/m8"                         , "op": "[VRM] EVEX.ND=1.LLZ.NP.MAP4.WIG 22 /r"     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3632       {"apx": "and{nf}        W:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 23 /r"      , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3633       {"apx": "and{nf}        W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG 80 /4 ib"  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3634       {"apx": "and{nf}        W:rv, R:rv/mv, imms8"                        , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 83 /4 ib"   , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3635       {"apx": "and{nf}        W:rv, R:rv/mv, immv"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 81 /4 iv"   , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3636       {"apx": "cmovb          X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 42 /r"      , "io": "CF=R"},
   3637       {"apx": "cmovbe         X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 46 /r"      , "io": "CF=R ZF=R"},
   3638       {"apx": "cmovl          X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 4C /r"      , "io": "SF=R OF=R"},
   3639       {"apx": "cmovle         X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 4E /r"      , "io": "ZF=R SF=R OF=R"},
   3640       {"apx": "cmovnb         X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 43 /r"      , "io": "CF=R"},
   3641       {"apx": "cmovnbe        X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 47 /r"      , "io": "CF=R ZF=R"},
   3642       {"apx": "cmovnl         X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 4D /r"      , "io": "SF=R OF=R"},
   3643       {"apx": "cmovnle        X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 4F /r"      , "io": "ZF=R SF=R OF=R"},
   3644       {"apx": "cmovno         X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 41 /r"      , "io": "OF=R"},
   3645       {"apx": "cmovnp         X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 4B /r"      , "io": "PF=R"},
   3646       {"apx": "cmovns         X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 49 /r"      , "io": "SF=R"},
   3647       {"apx": "cmovnz         X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 45 /r"      , "io": "ZF=R"},
   3648       {"apx": "cmovo          X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 40 /r"      , "io": "OF=R"},
   3649       {"apx": "cmovp          X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 4A /r"      , "io": "PF=R"},
   3650       {"apx": "cmovs          X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 48 /r"      , "io": "SF=R"},
   3651       {"apx": "cmovz          X:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 44 /r"      , "io": "ZF=R"},
   3652       {"any": "crc32          X:r32, R:r8/m8"                              , "op": "[RM ] EVEX.ND=0.LLZ.NP.MAP4.W0 F0 /r"},
   3653       {"any": "crc32          X:r64, R:r8/m8"                              , "op": "[RM ] EVEX.ND=0.LLZ.NP.MAP4.W1 F0 /r"},
   3654       {"any": "crc32          X:r32, R:r16/m16"                            , "op": "[RM ] EVEX.ND=0.LLZ.66.MAP4.W0 F1 /r"},
   3655       {"any": "crc32          X:r32, R:r32/m32"                            , "op": "[RM ] EVEX.ND=0.LLZ.NP.MAP4.W0 F1 /r"},
   3656       {"any": "crc32          X:r64, R:r64/m64"                            , "op": "[RM ] EVEX.ND=0.LLZ.NP.MAP4.W1 F1 /r"},
   3657       {"apx": "dec{nf}        X:r8/m8"                                     , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG FE /1"     , "io": "OF=W SF=W ZF=W AF=W PF=W"},
   3658       {"apx": "dec{nf}        X:rv/mv"                                     , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv FF /1"      , "io": "OF=W SF=W ZF=W AF=W PF=W"},
   3659       {"apx": "dec{nf}        W:r8, R:r8/m8"                               , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG FE /1"     , "io": "OF=W SF=W ZF=W AF=W PF=W"},
   3660       {"apx": "dec{nf}        W:rv, R:rv/mv"                               , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv FF /1"      , "io": "OF=W SF=W ZF=W AF=W PF=W"},
   3661       {"apx": "inc{nf}        X:r8/m8"                                     , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG FE /0"     , "io": "OF=W SF=W ZF=W AF=W PF=W"},
   3662       {"apx": "inc{nf}        X:rv/mv"                                     , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv FF /0"      , "io": "OF=W SF=W ZF=W AF=W PF=W"},
   3663       {"apx": "inc{nf}        W:r8, R:r8/m8"                               , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG FE /0"     , "io": "OF=W SF=W ZF=W AF=W PF=W"},
   3664       {"apx": "inc{nf}        W:rv, R:rv/mv"                               , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv FF /0"      , "io": "OF=W SF=W ZF=W AF=W PF=W"},
   3665       {"any": "div{nf}        x:<ax>, R:r8/m8"                             , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG F6 /6"     , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
   3666       {"any": "div{nf}        x:<dxv>, x:<axv>, R:rv/mv"                   , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv F7 /6"      , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
   3667       {"apx": "idiv{nf}       x:<ax>, R:r8/m8"                             , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG F6 /7"     , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
   3668       {"apx": "idiv{nf}       x:<dxv>, x:<axv>, R:rv/mv"                   , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv F7 /7"      , "io": "OF=U SF=U ZF=U AF=U PF=U CF=U"},
   3669       {"apx": "imul{nf}       x:<ax>, R:r8/m8"                             , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG F6 /5"     , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
   3670       {"apx": "imul{nf}       w:<dxv>, x:<axv>, R:rv/mv"                   , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv F7 /5"      , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
   3671       {"apx": "imul{nf}       x:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.LLZ.Pv.MAP4.Wv AF /r"      , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
   3672       {"apx": "imul{nf}       W:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv AF /r"      , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
   3673       {"apx": "imul{nf}       w:rv, R:rv/mv, imms8"                        , "op": "[RM ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 6B /r ib"   , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
   3674       {"apx": "imul{nf}       w:rv, R:rv/mv, immv"                         , "op": "[RM ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 69 /r iv"   , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
   3675       {"apx": "imulzu{nf}     W:r16, R:r16/m16, imms8"                     , "op": "[RM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 6B /r ib"   , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
   3676       {"apx": "imulzu{nf}     W:r16, R:r16/m16, imm16"                     , "op": "[RM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 69 /r iv"   , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
   3677       {"apx": "mul{nf}        x:<ax>, R:r8/m8"                             , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG F6 /4"     , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
   3678       {"apx": "mul{nf}        w:<dxv>, x:<axv>, rv/mv"                     , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv F7 /4"      , "io": "OF=W SF=W ZF=U AF=U PF=U CF=W"},
   3679       {"apx": "neg{nf}        X:r8/m8"                                     , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG F6 /3"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3680       {"apx": "neg{nf}        X:rv/mv"                                     , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv F7 /3"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3681       {"apx": "neg{nf}        W:r8, R:r8/m8"                               , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG F6 /3"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3682       {"apx": "neg{nf}        W:rv, R:rv/mv"                               , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv F7 /3"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3683       {"apx": "not{nf}        X:r8/m8"                                     , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG F6 /2"},
   3684       {"apx": "not{nf}        X:rv/mv"                                     , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv F7 /2"},
   3685       {"apx": "not{nf}        W:r8, R:r8/m8"                               , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG F6 /2"},
   3686       {"apx": "not{nf}        W:rv, R:rv/mv"                               , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv F7 /2"},
   3687       {"apx": "or{nf}         x:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.LLZ.NP.MAP4.WIG 08 /r"     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3688       {"apx": "or{nf}         x:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 09 /r"      , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3689       {"apx": "or{nf}         x:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.LLZ.NP.MAP4.WIG 0A /r"     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3690       {"apx": "or{nf}         x:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 0B /r"      , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3691       {"apx": "or{nf}         x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG 80 /1 ib"  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3692       {"apx": "or{nf}         x:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 83 /1 ib"   , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3693       {"apx": "or{nf}         x:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 81 /1 iv"   , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3694       {"apx": "or{nf}         W:r8, R:r8/m8, R:r8"                         , "op": "[VMR] EVEX.ND=1.LLZ.NP.MAP4.WIG 08 /r"     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3695       {"apx": "or{nf}         W:rv, R:rv/mv, R:rv"                         , "op": "[VMR] EVEX.ND=1.LLZ.Pv.MAP4.Wv 09 /r"      , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3696       {"apx": "or{nf}         W:r8, R:r8, R:r8/m8"                         , "op": "[VRM] EVEX.ND=1.LLZ.NP.MAP4.WIG 0A /r"     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3697       {"apx": "or{nf}         W:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 0B /r"      , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3698       {"apx": "or{nf}         W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG 80 /1 ib"  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3699       {"apx": "or{nf}         W:rv, R:rv/mv, imms8"                        , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 83 /1 ib"   , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3700       {"apx": "or{nf}         W:rv, R:rv/mv, immv"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 81 /1 iv"   , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3701       {"apx": "rcl            x:r8/m8, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D2 /2"     , "io": "CF=X OF=X"},
   3702       {"apx": "rcl            x:rv/mv, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D3 /2"      , "io": "CF=X OF=X"},
   3703       {"apx": "rcl            x:r8/m8, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D0 /2"     , "io": "CF=X OF=X"},
   3704       {"apx": "rcl            x:rv/mv, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D1 /2"      , "io": "CF=X OF=X"},
   3705       {"apx": "rcl            x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG C0 /2 ib"  , "io": "CF=X OF=X"},
   3706       {"apx": "rcl            x:rv/mv, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv C1 /2 ib"   , "io": "CF=X OF=X"},
   3707       {"apx": "rcl            W:r8, R:r8/m8, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D2 /2"     , "io": "CF=X OF=X"},
   3708       {"apx": "rcl            W:rv, R:rv/mv, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D3 /2"      , "io": "CF=X OF=X"},
   3709       {"apx": "rcl            W:r8, R:r8/m8, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D0 /2"     , "io": "CF=X OF=X"},
   3710       {"apx": "rcl            W:rv, R:rv/mv, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D1 /2"      , "io": "CF=X OF=X"},
   3711       {"apx": "rcl            W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG C0 /2 ib"  , "io": "CF=X OF=X"},
   3712       {"apx": "rcl            W:rv, R:rv/mv, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv C1 /2 ib"   , "io": "CF=X OF=X"},
   3713       {"apx": "rcr            x:r8/m8, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D2 /3"     , "io": "CF=X OF=X"},
   3714       {"apx": "rcr            x:rv/mv, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D3 /3"      , "io": "CF=X OF=X"},
   3715       {"apx": "rcr            x:r8/m8, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D0 /3"     , "io": "CF=X OF=X"},
   3716       {"apx": "rcr            x:rv/mv, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D1 /3"      , "io": "CF=X OF=X"},
   3717       {"apx": "rcr            x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG C0 /3 ib"  , "io": "CF=X OF=X"},
   3718       {"apx": "rcr            x:rv/mv, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv C1 /3 ib"   , "io": "CF=X OF=X"},
   3719       {"apx": "rcr            W:r8, R:r8/m8, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D2 /3"     , "io": "CF=X OF=X"},
   3720       {"apx": "rcr            W:rv, R:rv/mv, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D3 /3"      , "io": "CF=X OF=X"},
   3721       {"apx": "rcr            W:r8, R:r8/m8, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D0 /3"     , "io": "CF=X OF=X"},
   3722       {"apx": "rcr            W:rv, R:rv/mv, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D1 /3"      , "io": "CF=X OF=X"},
   3723       {"apx": "rcr            W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG C0 /3 ib"  , "io": "CF=X OF=X"},
   3724       {"apx": "rcr            W:rv, R:rv/mv, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv C1 /3 ib"   , "io": "CF=X OF=X"},
   3725       {"apx": "rol{nf}        x:r8/m8, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D2 /0"     , "io": "CF=W OF=W"},
   3726       {"apx": "rol{nf}        x:rv/mv, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D3 /0"      , "io": "CF=W OF=W"},
   3727       {"apx": "rol{nf}        x:r8/m8, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D0 /0"     , "io": "CF=W OF=W"},
   3728       {"apx": "rol{nf}        x:rv/mv, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D1 /0"      , "io": "CF=W OF=W"},
   3729       {"apx": "rol{nf}        x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG C0 /0 ib"  , "io": "CF=W OF=W"},
   3730       {"apx": "rol{nf}        x:rv/mv, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv C1 /0 ib"   , "io": "CF=W OF=W"},
   3731       {"apx": "rol{nf}        W:r8, R:r8/m8, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D2 /0"     , "io": "CF=W OF=W"},
   3732       {"apx": "rol{nf}        W:rv, R:rv/mv, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D3 /0"      , "io": "CF=W OF=W"},
   3733       {"apx": "rol{nf}        W:r8, R:r8/m8, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D0 /0"     , "io": "CF=W OF=W"},
   3734       {"apx": "rol{nf}        W:rv, R:rv/mv, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D1 /0"      , "io": "CF=W OF=W"},
   3735       {"apx": "rol{nf}        W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG C0 /0 ib"  , "io": "CF=W OF=W"},
   3736       {"apx": "rol{nf}        W:rv, R:rv/mv, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv C1 /0 ib"   , "io": "CF=W OF=W"},
   3737       {"apx": "ror{nf}        x:r8/m8, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D2 /1"     , "io": "CF=W OF=W"},
   3738       {"apx": "ror{nf}        x:rv/mv, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D3 /1"      , "io": "CF=W OF=W"},
   3739       {"apx": "ror{nf}        x:r8/m8, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D0 /1"     , "io": "CF=W OF=W"},
   3740       {"apx": "ror{nf}        x:rv/mv, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D1 /1"      , "io": "CF=W OF=W"},
   3741       {"apx": "ror{nf}        x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG C0 /1 ib"  , "io": "CF=W OF=W"},
   3742       {"apx": "ror{nf}        x:rv/mv, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv C1 /1 ib"   , "io": "CF=W OF=W"},
   3743       {"apx": "ror{nf}        W:r8, R:r8/m8, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D2 /1"     , "io": "CF=W OF=W"},
   3744       {"apx": "ror{nf}        W:rv, R:rv/mv, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D3 /1"      , "io": "CF=W OF=W"},
   3745       {"apx": "ror{nf}        W:r8, R:r8/m8, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D0 /1"     , "io": "CF=W OF=W"},
   3746       {"apx": "ror{nf}        W:rv, R:rv/mv, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D1 /1"      , "io": "CF=W OF=W"},
   3747       {"apx": "ror{nf}        W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG C0 /1 ib"  , "io": "CF=W OF=W"},
   3748       {"apx": "ror{nf}        W:rv, R:rv/mv, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv C1 /1 ib"   , "io": "CF=W OF=W"},
   3749       {"apx": "sar{nf}        x:r8/m8, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D2 /7"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3750       {"apx": "sar{nf}        x:rv/mv, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D3 /7"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3751       {"apx": "sar{nf}        x:r8/m8, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D0 /7"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3752       {"apx": "sar{nf}        x:rv/mv, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D1 /7"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3753       {"apx": "sar{nf}        x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG C0 /7 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3754       {"apx": "sar{nf}        x:rv/mv, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv C1 /7 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3755       {"apx": "sar{nf}        W:r8, R:r8/m8, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D2 /7"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3756       {"apx": "sar{nf}        W:rv, R:rv/mv, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D3 /7"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3757       {"apx": "sar{nf}        W:r8, R:r8/m8, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D0 /7"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3758       {"apx": "sar{nf}        W:rv, R:rv/mv, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D1 /7"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3759       {"apx": "sar{nf}        W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG C0 /7 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3760       {"apx": "sar{nf}        W:rv, R:rv/mv, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv C1 /7 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3761       {"apx": "sbb            x:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.LLZ.NP.MAP4.WIG 18 /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3762       {"apx": "sbb            x:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 19 /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3763       {"apx": "sbb            x:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.LLZ.NP.MAP4.WIG 1A /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3764       {"apx": "sbb            x:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 1B /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3765       {"apx": "sbb            x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG 80 /3 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3766       {"apx": "sbb            x:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 83 /3 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3767       {"apx": "sbb            x:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 81 /3 iv"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3768       {"apx": "sbb            W:r8, R:r8/m8, R:r8"                         , "op": "[VMR] EVEX.ND=1.LLZ.NP.MAP4.WIG 18 /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3769       {"apx": "sbb            W:rv, R:rv/mv, R:rv"                         , "op": "[VMR] EVEX.ND=1.LLZ.Pv.MAP4.Wv 19 /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3770       {"apx": "sbb            W:r8, R:r8, R:r8/m8"                         , "op": "[VRM] EVEX.ND=1.LLZ.NP.MAP4.WIG 1A /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3771       {"apx": "sbb            W:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 1B /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3772       {"apx": "sbb            W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG 80 /3 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3773       {"apx": "sbb            W:rv, R:rv/mv, imms8"                        , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 83 /3 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3774       {"apx": "sbb            W:rv, R:rv/mv, immv"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 81 /3 iv"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=X"},
   3775       {"apx": "shl{nf}        x:r8/m8, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D2 /4"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3776       {"apx": "shl{nf}        x:r8/m8, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D2 /6"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3777       {"apx": "shl{nf}        x:r8/m8, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D0 /4"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3778       {"apx": "shl{nf}        x:r8/m8, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D0 /6"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3779       {"apx": "shl{nf}        x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG C0 /4 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3780       {"apx": "shl{nf}        x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG C0 /6 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3781       {"apx": "shl{nf}        x:rv/mv, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D3 /4"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3782       {"apx": "shl{nf}        x:rv/mv, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D3 /6"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3783       {"apx": "shl{nf}        x:rv/mv, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D1 /4"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3784       {"apx": "shl{nf}        x:rv/mv, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D1 /6"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3785       {"apx": "shl{nf}        x:rv/mv, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv C1 /4 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3786       {"apx": "shl{nf}        x:rv/mv, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv C1 /6 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3787       {"apx": "shl{nf}        W:r8, R:r8/m8, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D2 /4"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3788       {"apx": "shl{nf}        W:r8, R:r8/m8, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D2 /6"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3789       {"apx": "shl{nf}        W:rv, R:rv/mv, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D3 /4"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3790       {"apx": "shl{nf}        W:rv, R:rv/mv, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D3 /6"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3791       {"apx": "shl{nf}        W:r8, R:r8/m8, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D0 /4"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3792       {"apx": "shl{nf}        W:r8, R:r8/m8, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D0 /6"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3793       {"apx": "shl{nf}        W:rv, R:rv/mv, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D1 /4"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3794       {"apx": "shl{nf}        W:rv, R:rv/mv, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D1 /6"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3795       {"apx": "shl{nf}        W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG C0 /4 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3796       {"apx": "shl{nf}        W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG C0 /6 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3797       {"apx": "shl{nf}        W:rv, R:rv/mv, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv C1 /4 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3798       {"apx": "shl{nf}        W:rv, R:rv/mv, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv C1 /6 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3799       {"apx": "shld{nf}       x:rv/mv, R:rv, R:cl"                         , "op": "[MR ] EVEX.ND=0.LLZ.Pv.MAP4.Wv A5 /r"      , "io": "OF=W SF=W ZF=W AF=U PF=W CF=W"},
   3800       {"apx": "shld{nf}       x:rv/mv, R:rv, imm8"                         , "op": "[MR ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 24 /r ib"   , "io": "OF=W SF=W ZF=W AF=U PF=W CF=W"},
   3801       {"apx": "shld{nf}       W:rv, R:rv/mv, R:rv, R:cl"                   , "op": "[VMR] EVEX.ND=1.LLZ.Pv.MAP4.Wv A5 /r"      , "io": "OF=W SF=W ZF=W AF=U PF=W CF=W"},
   3802       {"apx": "shld{nf}       W:rv, R:rv/mv, R:rv, imm8"                   , "op": "[VMR] EVEX.ND=1.LLZ.Pv.MAP4.Wv 24 /r ib"   , "io": "OF=W SF=W ZF=W AF=U PF=W CF=W"},
   3803       {"apx": "shr{nf}        x:r8/m8, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D2 /5"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3804       {"apx": "shr{nf}        x:rv/mv, R:cl"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D3 /5"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3805       {"apx": "shr{nf}        x:r8/m8, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG D0 /5"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3806       {"apx": "shr{nf}        x:rv/mv, 1"                                  , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv D1 /5"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3807       {"apx": "shr{nf}        x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG C0 /5 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3808       {"apx": "shr{nf}        x:rv/mv, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv C1 /5 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3809       {"apx": "shr{nf}        W:r8, R:r8/m8, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D2 /5"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3810       {"apx": "shr{nf}        W:rv, R:rv/mv, R:cl"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D3 /5"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3811       {"apx": "shr{nf}        W:r8, R:r8/m8, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG D0 /5"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3812       {"apx": "shr{nf}        W:rv, R:rv/mv, 1"                            , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv D1 /5"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3813       {"apx": "shr{nf}        W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG C0 /5 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3814       {"apx": "shr{nf}        W:rv, R:rv/mv, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv C1 /5 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3815       {"apx": "shrd{nf}       x:rv/mv, R:rv, R:cl"                         , "op": "[MR ] EVEX.ND=0.LLZ.Pv.MAP4.Wv AD /r"      , "io": "OF=W SF=W ZF=W AF=U PF=W CF=W"},
   3816       {"apx": "shrd{nf}       x:rv/mv, R:rv, imm8"                         , "op": "[MR ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 2C /r ib"   , "io": "OF=W SF=W ZF=W AF=U PF=W CF=W"},
   3817       {"apx": "shrd{nf}       W:rv, R:rv/mv, R:rv, R:cl"                   , "op": "[VMR] EVEX.ND=1.LLZ.Pv.MAP4.Wv AD /r"      , "io": "OF=W SF=W ZF=W AF=U PF=W CF=W"},
   3818       {"apx": "shrd{nf}       W:rv, R:rv/mv, R:rv, imm8"                   , "op": "[VMR] EVEX.ND=1.LLZ.Pv.MAP4.Wv 2C /r ib"   , "io": "OF=W SF=W ZF=W AF=U PF=W CF=W"},
   3819       {"apx": "sub{nf}        x:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.LLZ.NP.MAP4.WIG 28 /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3820       {"apx": "sub{nf}        x:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 29 /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3821       {"apx": "sub{nf}        x:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.LLZ.NP.MAP4.WIG 2A /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3822       {"apx": "sub{nf}        x:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 2B /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3823       {"apx": "sub{nf}        x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG 80 /5 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3824       {"apx": "sub{nf}        x:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 83 /5 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3825       {"apx": "sub{nf}        x:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 81 /5 iv"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3826       {"apx": "sub{nf}        W:r8, R:r8/m8, R:r8"                         , "op": "[VMR] EVEX.ND=1.LLZ.NP.MAP4.WIG 28 /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3827       {"apx": "sub{nf}        W:rv, R:rv/mv, R:rv"                         , "op": "[VMR] EVEX.ND=1.LLZ.Pv.MAP4.Wv 29 /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3828       {"apx": "sub{nf}        W:r8, R:r8, R:r8/m8"                         , "op": "[VRM] EVEX.ND=1.LLZ.NP.MAP4.WIG 2A /r"     , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3829       {"apx": "sub{nf}        W:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 2B /r"      , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3830       {"apx": "sub{nf}        W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG 80 /5 ib"  , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3831       {"apx": "sub{nf}        W:rv, R:rv/mv, imms8"                        , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 83 /5 ib"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3832       {"apx": "sub{nf}        W:rv, R:rv/mv, immv"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 81 /5 iv"   , "io": "OF=W SF=W ZF=W AF=W PF=W CF=W"},
   3833       {"apx": "xor{nf}        x:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.LLZ.NP.MAP4.WIG 38 /r"     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3834       {"apx": "xor{nf}        x:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 39 /r"      , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3835       {"apx": "xor{nf}        x:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.LLZ.NP.MAP4.WIG 3A /r"     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3836       {"apx": "xor{nf}        x:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 3B /r"      , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3837       {"apx": "xor{nf}        x:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.LLZ.NP.MAP4.WIG 80 /6 ib"  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3838       {"apx": "xor{nf}        x:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 83 /6 ib"   , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3839       {"apx": "xor{nf}        x:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.LLZ.Pv.MAP4.Wv 81 /6 iv"   , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3840       {"apx": "xor{nf}        W:r8, R:r8/m8, R:r8"                         , "op": "[VMR] EVEX.ND=1.LLZ.NP.MAP4.WIG 38 /r"     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3841       {"apx": "xor{nf}        W:rv, R:rv/mv, R:rv"                         , "op": "[VMR] EVEX.ND=1.LLZ.Pv.MAP4.Wv 39 /r"      , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3842       {"apx": "xor{nf}        W:r8, R:r8, R:r8/m8"                         , "op": "[VRM] EVEX.ND=1.LLZ.NP.MAP4.WIG 3A /r"     , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3843       {"apx": "xor{nf}        W:rv, R:rv, R:rv/mv"                         , "op": "[VRM] EVEX.ND=1.LLZ.Pv.MAP4.Wv 3B /r"      , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3844       {"apx": "xor{nf}        W:r8, R:r8/m8, imm8"                         , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.WIG 80 /6 ib"  , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3845       {"apx": "xor{nf}        W:rv, R:rv/mv, imms8"                        , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 83 /6 ib"   , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"},
   3846       {"apx": "xor{nf}        W:rv, R:rv/mv, immv"                         , "op": "[VM ] EVEX.ND=1.LLZ.Pv.MAP4.Wv 81 /6 iv"   , "io": "OF=0 SF=W ZF=W AF=U PF=W CF=0"}
   3847     ]},
   3848 
   3849     {"category": "GP GP_EXT", "ext": "USER_MSR", "instructions": [
   3850       {"x64": "urdmsr W:r64, R:r64"                                        , "op": "[MR ] F2 0F 38 F8 11:rrr:bbb"},
   3851       {"apx": "urdmsr W:r64, R:r64"                                        , "op": "[MR ] EVEX.ND=0.LLZ.F2.MAP4.W0 F8 11:rrr:bbb"},
   3852       {"x64": "urdmsr W:r64, imm32"                                        , "op": "[M  ] VEX.128.F2.MAP7.W0 F8 11:000:bbb id"},
   3853       {"apx": "urdmsr W:r64, imm32"                                        , "op": "[M  ] EVEX.128.F2.MAP7.W0 F8 11:000:bbb id"},
   3854       {"x64": "uwrmsr R:r64, R:r64"                                        , "op": "[RM ] F3 0F 38 F8 11:rrr:bbb"},
   3855       {"apx": "uwrmsr R:r64, R:r64"                                        , "op": "[RM ] EVEX.ND=0.LLZ.F3.MAP4.W0 F8 11:rrr:bbb"},
   3856       {"x64": "uwrmsr imm32, R:r64"                                        , "op": "[M  ] VEX.128.F3.MAP7.W0 F8 11:000:bbb id"},
   3857       {"apx": "uwrmsr imm32, R:r64"                                        , "op": "[M  ] EVEX.128.F3.MAP7.W0 F8 11:000:bbb id"}
   3858     ]},
   3859 
   3860     {"category": "GP GP_EXT", "ext": "APX_F", "instructions": [
   3861       {"x64": "ccmpb     dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=2.LLZ.NP.MAP4.WIG 38 /r"     },
   3862       {"x64": "ccmpb     dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=2.LLZ.Pv.MAP4.Wv 39 /r"      },
   3863       {"x64": "ccmpb     dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=2.LLZ.NP.MAP4.WIG 3A /r"     },
   3864       {"x64": "ccmpb     dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=2.LLZ.Pv.MAP4.Wv 3B /r"      },
   3865       {"x64": "ccmpb     dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=2.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3866       {"x64": "ccmpb     dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=2.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3867       {"x64": "ccmpb     dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=2.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3868       {"x64": "ccmpbe    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=6.LLZ.NP.MAP4.WIG 38 /r"     },
   3869       {"x64": "ccmpbe    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=6.LLZ.Pv.MAP4.Wv 39 /r"      },
   3870       {"x64": "ccmpbe    dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=6.LLZ.NP.MAP4.WIG 3A /r"     },
   3871       {"x64": "ccmpbe    dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=6.LLZ.Pv.MAP4.Wv 3B /r"      },
   3872       {"x64": "ccmpbe    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=6.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3873       {"x64": "ccmpbe    dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=6.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3874       {"x64": "ccmpbe    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=6.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3875       {"x64": "ccmpf     dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=A.LLZ.NP.MAP4.WIG 38 /r"     },
   3876       {"x64": "ccmpf     dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=A.LLZ.Pv.MAP4.Wv 39 /r"      },
   3877       {"x64": "ccmpf     dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=A.LLZ.NP.MAP4.WIG 3A /r"     },
   3878       {"x64": "ccmpf     dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=A.LLZ.Pv.MAP4.Wv 3B /r"      },
   3879       {"x64": "ccmpf     dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=A.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3880       {"x64": "ccmpf     dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=A.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3881       {"x64": "ccmpf     dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=A.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3882       {"x64": "ccmpl     dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=C.LLZ.NP.MAP4.WIG 38 /r"     },
   3883       {"x64": "ccmpl     dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=C.LLZ.Pv.MAP4.Wv 39 /r"      },
   3884       {"x64": "ccmpl     dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=C.LLZ.NP.MAP4.WIG 3A /r"     },
   3885       {"x64": "ccmpl     dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=C.LLZ.Pv.MAP4.Wv 3B /r"      },
   3886       {"x64": "ccmpl     dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=C.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3887       {"x64": "ccmpl     dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=C.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3888       {"x64": "ccmpl     dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=C.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3889       {"x64": "ccmple    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=E.LLZ.NP.MAP4.WIG 38 /r"     },
   3890       {"x64": "ccmple    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=E.LLZ.Pv.MAP4.Wv 39 /r"      },
   3891       {"x64": "ccmple    dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=E.LLZ.NP.MAP4.WIG 3A /r"     },
   3892       {"x64": "ccmple    dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=E.LLZ.Pv.MAP4.Wv 3B /r"      },
   3893       {"x64": "ccmple    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=E.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3894       {"x64": "ccmple    dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=E.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3895       {"x64": "ccmple    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=E.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3896       {"x64": "ccmpnb    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=3.LLZ.NP.MAP4.WIG 38 /r"     },
   3897       {"x64": "ccmpnb    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=3.LLZ.Pv.MAP4.Wv 39 /r"      },
   3898       {"x64": "ccmpnb    dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=3.LLZ.NP.MAP4.WIG 3A /r"     },
   3899       {"x64": "ccmpnb    dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=3.LLZ.Pv.MAP4.Wv 3B /r"      },
   3900       {"x64": "ccmpnb    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=3.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3901       {"x64": "ccmpnb    dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=3.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3902       {"x64": "ccmpnb    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=3.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3903       {"x64": "ccmpnbe   dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=7.LLZ.NP.MAP4.WIG 38 /r"     },
   3904       {"x64": "ccmpnbe   dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=7.LLZ.Pv.MAP4.Wv 39 /r"      },
   3905       {"x64": "ccmpnbe   dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=7.LLZ.NP.MAP4.WIG 3A /r"     },
   3906       {"x64": "ccmpnbe   dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=7.LLZ.Pv.MAP4.Wv 3B /r"      },
   3907       {"x64": "ccmpnbe   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=7.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3908       {"x64": "ccmpnbe   dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=7.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3909       {"x64": "ccmpnbe   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=7.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3910       {"x64": "ccmpnl    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=D.LLZ.NP.MAP4.WIG 38 /r"     },
   3911       {"x64": "ccmpnl    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=D.LLZ.Pv.MAP4.Wv 39 /r"      },
   3912       {"x64": "ccmpnl    dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=D.LLZ.NP.MAP4.WIG 3A /r"     },
   3913       {"x64": "ccmpnl    dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=D.LLZ.Pv.MAP4.Wv 3B /r"      },
   3914       {"x64": "ccmpnl    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=D.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3915       {"x64": "ccmpnl    dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=D.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3916       {"x64": "ccmpnl    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=D.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3917       {"x64": "ccmpnle   dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=F.LLZ.NP.MAP4.WIG 38 /r"     },
   3918       {"x64": "ccmpnle   dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=F.LLZ.Pv.MAP4.Wv 39 /r"      },
   3919       {"x64": "ccmpnle   dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=F.LLZ.NP.MAP4.WIG 3A /r"     },
   3920       {"x64": "ccmpnle   dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=F.LLZ.Pv.MAP4.Wv 3B /r"      },
   3921       {"x64": "ccmpnle   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=F.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3922       {"x64": "ccmpnle   dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=F.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3923       {"x64": "ccmpnle   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=F.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3924       {"x64": "ccmpno    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=1.LLZ.NP.MAP4.WIG 38 /r"     },
   3925       {"x64": "ccmpno    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=1.LLZ.Pv.MAP4.Wv 39 /r"      },
   3926       {"x64": "ccmpno    dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=1.LLZ.NP.MAP4.WIG 3A /r"     },
   3927       {"x64": "ccmpno    dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=1.LLZ.Pv.MAP4.Wv 3B /r"      },
   3928       {"x64": "ccmpno    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=1.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3929       {"x64": "ccmpno    dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=1.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3930       {"x64": "ccmpno    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=1.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3931       {"x64": "ccmpns    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=9.LLZ.NP.MAP4.WIG 38 /r"     },
   3932       {"x64": "ccmpns    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=9.LLZ.Pv.MAP4.Wv 39 /r"      },
   3933       {"x64": "ccmpns    dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=9.LLZ.NP.MAP4.WIG 3A /r"     },
   3934       {"x64": "ccmpns    dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=9.LLZ.Pv.MAP4.Wv 3B /r"      },
   3935       {"x64": "ccmpns    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=9.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3936       {"x64": "ccmpns    dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=9.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3937       {"x64": "ccmpns    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=9.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3938       {"x64": "ccmpnz    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=5.LLZ.NP.MAP4.WIG 38 /r"     },
   3939       {"x64": "ccmpnz    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=5.LLZ.Pv.MAP4.Wv 39 /r"      },
   3940       {"x64": "ccmpnz    dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=5.LLZ.NP.MAP4.WIG 3A /r"     },
   3941       {"x64": "ccmpnz    dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=5.LLZ.Pv.MAP4.Wv 3B /r"      },
   3942       {"x64": "ccmpnz    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=5.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3943       {"x64": "ccmpnz    dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=5.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3944       {"x64": "ccmpnz    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=5.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3945       {"x64": "ccmpo     dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=0.LLZ.NP.MAP4.WIG 38 /r"     },
   3946       {"x64": "ccmpo     dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=0.LLZ.Pv.MAP4.Wv 39 /r"      },
   3947       {"x64": "ccmpo     dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=0.LLZ.NP.MAP4.WIG 3A /r"     },
   3948       {"x64": "ccmpo     dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=0.LLZ.Pv.MAP4.Wv 3B /r"      },
   3949       {"x64": "ccmpo     dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=0.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3950       {"x64": "ccmpo     dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=0.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3951       {"x64": "ccmpo     dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=0.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3952       {"x64": "ccmps     dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=8.LLZ.NP.MAP4.WIG 38 /r"     },
   3953       {"x64": "ccmps     dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=8.LLZ.Pv.MAP4.Wv 39 /r"      },
   3954       {"x64": "ccmps     dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=8.LLZ.NP.MAP4.WIG 3A /r"     },
   3955       {"x64": "ccmps     dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=8.LLZ.Pv.MAP4.Wv 3B /r"      },
   3956       {"x64": "ccmps     dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=8.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3957       {"x64": "ccmps     dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=8.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3958       {"x64": "ccmps     dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=8.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3959       {"x64": "ccmpt     dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=B.LLZ.NP.MAP4.WIG 38 /r"     },
   3960       {"x64": "ccmpt     dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=B.LLZ.Pv.MAP4.Wv 39 /r"      },
   3961       {"x64": "ccmpt     dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=B.LLZ.NP.MAP4.WIG 3A /r"     },
   3962       {"x64": "ccmpt     dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=B.LLZ.Pv.MAP4.Wv 3B /r"      },
   3963       {"x64": "ccmpt     dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=B.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3964       {"x64": "ccmpt     dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=B.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3965       {"x64": "ccmpt     dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=B.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3966       {"x64": "ccmpz     dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=4.LLZ.NP.MAP4.WIG 38 /r"     },
   3967       {"x64": "ccmpz     dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=4.LLZ.Pv.MAP4.Wv 39 /r"      },
   3968       {"x64": "ccmpz     dfv, R:r8, R:r8/m8"                               , "op": "[RM ] EVEX.ND=0.SCC=4.LLZ.NP.MAP4.WIG 3A /r"     },
   3969       {"x64": "ccmpz     dfv, R:rv, R:rv/mv"                               , "op": "[RM ] EVEX.ND=0.SCC=4.LLZ.Pv.MAP4.Wv 3B /r"      },
   3970       {"x64": "ccmpz     dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=4.LLZ.NP.MAP4.WIG 80 /7 ib"  },
   3971       {"x64": "ccmpz     dfv, R:rv/mv, imms8"                              , "op": "[M  ] EVEX.ND=0.SCC=4.LLZ.Pv.MAP4.Wv 83 /7 ib"   },
   3972       {"x64": "ccmpz     dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=4.LLZ.Pv.MAP4.Wv 81 /7 iv"   },
   3973       {"x64": "cfcmovb   X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 42 /r" , "io": "CF=R"},
   3974       {"x64": "cfcmovb   X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 42 /r" , "io": "CF=R"},
   3975       {"x64": "cfcmovb   X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 42 /r" , "io": "CF=R"},
   3976       {"x64": "cfcmovb   W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 42 /r" , "io": "CF=R"},
   3977       {"x64": "cfcmovbe  X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 46 /r" , "io": "CF=R ZF=R"},
   3978       {"x64": "cfcmovbe  X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 46 /r" , "io": "CF=R ZF=R"},
   3979       {"x64": "cfcmovbe  X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 46 /r" , "io": "CF=R ZF=R"},
   3980       {"x64": "cfcmovbe  W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 46 /r" , "io": "CF=R ZF=R"},
   3981       {"x64": "cfcmovl   X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 4C /r" , "io": "SF=R OF=R"},
   3982       {"x64": "cfcmovl   X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 4C /r" , "io": "SF=R OF=R"},
   3983       {"x64": "cfcmovl   X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 4C /r" , "io": "SF=R OF=R"},
   3984       {"x64": "cfcmovl   W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 4C /r" , "io": "SF=R OF=R"},
   3985       {"x64": "cfcmovle  X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 4E /r" , "io": "ZF=R SF=R OF=R"},
   3986       {"x64": "cfcmovle  X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 4E /r" , "io": "ZF=R SF=R OF=R"},
   3987       {"x64": "cfcmovle  X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 4E /r" , "io": "ZF=R SF=R OF=R"},
   3988       {"x64": "cfcmovle  W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 4E /r" , "io": "ZF=R SF=R OF=R"},
   3989       {"x64": "cfcmovnb  X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 43 /r" , "io": "CF=R"},
   3990       {"x64": "cfcmovnb  X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 43 /r" , "io": "CF=R"},
   3991       {"x64": "cfcmovnb  X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 43 /r" , "io": "CF=R"},
   3992       {"x64": "cfcmovnb  W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 43 /r" , "io": "CF=R"},
   3993       {"x64": "cfcmovnbe X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 47 /r" , "io": "CF=R ZF=R"},
   3994       {"x64": "cfcmovnbe X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 47 /r" , "io": "CF=R ZF=R"},
   3995       {"x64": "cfcmovnbe X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 47 /r" , "io": "CF=R ZF=R"},
   3996       {"x64": "cfcmovnbe W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 47 /r" , "io": "CF=R ZF=R"},
   3997       {"x64": "cfcmovnl  X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 4D /r" , "io": "SF=R OF=R"},
   3998       {"x64": "cfcmovnl  X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 4D /r" , "io": "SF=R OF=R"},
   3999       {"x64": "cfcmovnl  X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 4D /r" , "io": "SF=R OF=R"},
   4000       {"x64": "cfcmovnl  W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 4D /r" , "io": "SF=R OF=R"},
   4001       {"x64": "cfcmovnle X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 4F /r" , "io": "ZF=R SF=R OF=R"},
   4002       {"x64": "cfcmovnle X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 4F /r" , "io": "ZF=R SF=R OF=R"},
   4003       {"x64": "cfcmovnle X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 4F /r" , "io": "ZF=R SF=R OF=R"},
   4004       {"x64": "cfcmovnle W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 4F /r" , "io": "ZF=R SF=R OF=R"},
   4005       {"x64": "cfcmovno  X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 41 /r" , "io": "OF=R"},
   4006       {"x64": "cfcmovno  X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 41 /r" , "io": "OF=R"},
   4007       {"x64": "cfcmovno  X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 41 /r" , "io": "OF=R"},
   4008       {"x64": "cfcmovno  W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 41 /r" , "io": "OF=R"},
   4009       {"x64": "cfcmovnp  X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 4B /r" , "io": "PF=R"},
   4010       {"x64": "cfcmovnp  X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 4B /r" , "io": "PF=R"},
   4011       {"x64": "cfcmovnp  X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 4B /r" , "io": "PF=R"},
   4012       {"x64": "cfcmovnp  W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 4B /r" , "io": "PF=R"},
   4013       {"x64": "cfcmovns  X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 49 /r" , "io": "SF=R"},
   4014       {"x64": "cfcmovns  X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 49 /r" , "io": "SF=R"},
   4015       {"x64": "cfcmovns  X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 49 /r" , "io": "SF=R"},
   4016       {"x64": "cfcmovns  W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 49 /r" , "io": "SF=R"},
   4017       {"x64": "cfcmovnz  X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 45 /r" , "io": "ZF=R"},
   4018       {"x64": "cfcmovnz  X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 45 /r" , "io": "ZF=R"},
   4019       {"x64": "cfcmovnz  X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 45 /r" , "io": "ZF=R"},
   4020       {"x64": "cfcmovnz  W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 45 /r" , "io": "ZF=R"},
   4021       {"x64": "cfcmovo   X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 40 /r" , "io": "OF=R"},
   4022       {"x64": "cfcmovo   X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 40 /r" , "io": "OF=R"},
   4023       {"x64": "cfcmovo   X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 40 /r" , "io": "OF=R"},
   4024       {"x64": "cfcmovo   W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 40 /r" , "io": "OF=R"},
   4025       {"x64": "cfcmovp   X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 4A /r" , "io": "PF=R"},
   4026       {"x64": "cfcmovp   X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 4A /r" , "io": "PF=R"},
   4027       {"x64": "cfcmovp   X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 4A /r" , "io": "PF=R"},
   4028       {"x64": "cfcmovp   W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 4A /r" , "io": "PF=R"},
   4029       {"x64": "cfcmovs   X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 48 /r" , "io": "SF=R"},
   4030       {"x64": "cfcmovs   X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 48 /r" , "io": "SF=R"},
   4031       {"x64": "cfcmovs   X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 48 /r" , "io": "SF=R"},
   4032       {"x64": "cfcmovs   W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 48 /r" , "io": "SF=R"},
   4033       {"x64": "cfcmovz   X:rv, R:rv/mv"                                    , "op": "[RM ] EVEX.ND=0.NF=0.LLZ.Pv.MAP4.Wv 44 /r" , "io": "ZF=R"},
   4034       {"x64": "cfcmovz   X:rv, R:rv"                                       , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 44 /r" , "io": "ZF=R"},
   4035       {"x64": "cfcmovz   X?:mv, R:rv"                                      , "op": "[MR ] EVEX.ND=0.NF=1.LLZ.Pv.MAP4.Wv 44 /r" , "io": "ZF=R"},
   4036       {"x64": "cfcmovz   W:rv, R:rv, R?:rv/mv"                             , "op": "[VRM] EVEX.ND=1.NF=1.LLZ.Pv.MAP4.Wv 44 /r" , "io": "ZF=R"},
   4037       {"x64": "ctestb    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=2.LLZ.NP.MAP4.WIG 84 /r"     },
   4038       {"x64": "ctestb    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=2.LLZ.Pv.MAP4.Wv 85 /r"      },
   4039       {"x64": "ctestb    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=2.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4040       {"x64": "ctestb    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=2.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4041       {"x64": "ctestb    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=2.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4042       {"x64": "ctestb    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=2.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4043       {"x64": "ctestbe   dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=6.LLZ.NP.MAP4.WIG 84 /r"     },
   4044       {"x64": "ctestbe   dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=6.LLZ.Pv.MAP4.Wv 85 /r"      },
   4045       {"x64": "ctestbe   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=6.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4046       {"x64": "ctestbe   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=6.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4047       {"x64": "ctestbe   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=6.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4048       {"x64": "ctestbe   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=6.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4049       {"x64": "ctestf    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=A.LLZ.NP.MAP4.WIG 84 /r"     },
   4050       {"x64": "ctestf    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=A.LLZ.Pv.MAP4.Wv 85 /r"      },
   4051       {"x64": "ctestf    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=A.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4052       {"x64": "ctestf    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=A.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4053       {"x64": "ctestf    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=A.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4054       {"x64": "ctestf    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=A.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4055       {"x64": "ctestl    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=C.LLZ.NP.MAP4.WIG 84 /r"     },
   4056       {"x64": "ctestl    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=C.LLZ.Pv.MAP4.Wv 85 /r"      },
   4057       {"x64": "ctestl    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=C.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4058       {"x64": "ctestl    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=C.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4059       {"x64": "ctestl    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=C.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4060       {"x64": "ctestl    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=C.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4061       {"x64": "ctestle   dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=E.LLZ.NP.MAP4.WIG 84 /r"     },
   4062       {"x64": "ctestle   dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=E.LLZ.Pv.MAP4.Wv 85 /r"      },
   4063       {"x64": "ctestle   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=E.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4064       {"x64": "ctestle   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=E.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4065       {"x64": "ctestle   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=E.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4066       {"x64": "ctestle   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=E.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4067       {"x64": "ctestnb   dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=3.LLZ.NP.MAP4.WIG 84 /r"     },
   4068       {"x64": "ctestnb   dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=3.LLZ.Pv.MAP4.Wv 85 /r"      },
   4069       {"x64": "ctestnb   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=3.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4070       {"x64": "ctestnb   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=3.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4071       {"x64": "ctestnb   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=3.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4072       {"x64": "ctestnb   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=3.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4073       {"x64": "ctestnbe  dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=7.LLZ.NP.MAP4.WIG 84 /r"     },
   4074       {"x64": "ctestnbe  dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=7.LLZ.Pv.MAP4.Wv 85 /r"      },
   4075       {"x64": "ctestnbe  dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=7.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4076       {"x64": "ctestnbe  dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=7.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4077       {"x64": "ctestnbe  dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=7.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4078       {"x64": "ctestnbe  dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=7.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4079       {"x64": "ctestnl   dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=D.LLZ.NP.MAP4.WIG 84 /r"     },
   4080       {"x64": "ctestnl   dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=D.LLZ.Pv.MAP4.Wv 85 /r"      },
   4081       {"x64": "ctestnl   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=D.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4082       {"x64": "ctestnl   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=D.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4083       {"x64": "ctestnl   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=D.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4084       {"x64": "ctestnl   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=D.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4085       {"x64": "ctestnle  dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=F.LLZ.NP.MAP4.WIG 84 /r"     },
   4086       {"x64": "ctestnle  dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=F.LLZ.Pv.MAP4.Wv 85 /r"      },
   4087       {"x64": "ctestnle  dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=F.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4088       {"x64": "ctestnle  dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=F.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4089       {"x64": "ctestnle  dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=F.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4090       {"x64": "ctestnle  dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=F.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4091       {"x64": "ctestno   dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=1.LLZ.NP.MAP4.WIG 84 /r"     },
   4092       {"x64": "ctestno   dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=1.LLZ.Pv.MAP4.Wv 85 /r"      },
   4093       {"x64": "ctestno   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=1.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4094       {"x64": "ctestno   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=1.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4095       {"x64": "ctestno   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=1.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4096       {"x64": "ctestno   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=1.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4097       {"x64": "ctestns   dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=9.LLZ.NP.MAP4.WIG 84 /r"     },
   4098       {"x64": "ctestns   dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=9.LLZ.Pv.MAP4.Wv 85 /r"      },
   4099       {"x64": "ctestns   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=9.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4100       {"x64": "ctestns   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=9.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4101       {"x64": "ctestns   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=9.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4102       {"x64": "ctestns   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=9.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4103       {"x64": "ctestnz   dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=5.LLZ.NP.MAP4.WIG 84 /r"     },
   4104       {"x64": "ctestnz   dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=5.LLZ.Pv.MAP4.Wv 85 /r"      },
   4105       {"x64": "ctestnz   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=5.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4106       {"x64": "ctestnz   dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=5.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4107       {"x64": "ctestnz   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=5.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4108       {"x64": "ctestnz   dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=5.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4109       {"x64": "ctesto    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=0.LLZ.NP.MAP4.WIG 84 /r"     },
   4110       {"x64": "ctesto    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=0.LLZ.Pv.MAP4.Wv 85 /r"      },
   4111       {"x64": "ctesto    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=0.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4112       {"x64": "ctesto    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=0.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4113       {"x64": "ctesto    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=0.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4114       {"x64": "ctesto    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=0.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4115       {"x64": "ctests    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=8.LLZ.NP.MAP4.WIG 84 /r"     },
   4116       {"x64": "ctests    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=8.LLZ.Pv.MAP4.Wv 85 /r"      },
   4117       {"x64": "ctests    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=8.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4118       {"x64": "ctests    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=8.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4119       {"x64": "ctests    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=8.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4120       {"x64": "ctests    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=8.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4121       {"x64": "ctestt    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=B.LLZ.NP.MAP4.WIG 84 /r"     },
   4122       {"x64": "ctestt    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=B.LLZ.Pv.MAP4.Wv 85 /r"      },
   4123       {"x64": "ctestt    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=B.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4124       {"x64": "ctestt    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=B.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4125       {"x64": "ctestt    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=B.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4126       {"x64": "ctestt    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=B.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4127       {"x64": "ctestz    dfv, R:r8/m8, R:r8"                               , "op": "[MR ] EVEX.ND=0.SCC=4.LLZ.NP.MAP4.WIG 84 /r"     },
   4128       {"x64": "ctestz    dfv, R:rv/mv, R:rv"                               , "op": "[MR ] EVEX.ND=0.SCC=4.LLZ.Pv.MAP4.Wv 85 /r"      },
   4129       {"x64": "ctestz    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=4.LLZ.NP.MAP4.WIG F6 /0 ib"  },
   4130       {"x64": "ctestz    dfv, R:r8/m8, imm8"                               , "op": "[M  ] EVEX.ND=0.SCC=4.LLZ.NP.MAP4.WIG F6 /1 ib"  },
   4131       {"x64": "ctestz    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=4.LLZ.Pv.MAP4.Wv F7 /0 iv"   },
   4132       {"x64": "ctestz    dfv, R:rv/mv, immv"                               , "op": "[M  ] EVEX.ND=0.SCC=4.LLZ.Pv.MAP4.Wv F7 /1 iv"   },
   4133       {"x64": "jmpabs    imm64"                                            , "op": "[OP] NO67 NP REX2.MAP0.W0 A1 iq"},
   4134       {"x64": "pop2      W:r64, W:r64"                                     , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.W0 8F 11:000:bbb"},
   4135       {"x64": "pop2p     W:r64, W:r64"                                     , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.W1 8F 11:000:bbb"},
   4136       {"x64": "popp      W:r64"                                            , "op": "[OP] REX2.MAP0.W1 58+r"},
   4137       {"x64": "push2     R:r64, R:r64"                                     , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.W0 FF 11:110:bbb"},
   4138       {"x64": "push2p    R:r64, R:r64"                                     , "op": "[VM ] EVEX.ND=1.LLZ.NP.MAP4.W1 FF 11:110:bbb"},
   4139       {"x64": "pushp     R:r64"                                            , "op": "[OP] REX2.MAP0.W1 50+r"},
   4140       {"x64": "setb      w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 42 /r"     , "io": "CF=R"},
   4141       {"x64": "setbe     w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 46 /r"     , "io": "CF=R ZF=R"},
   4142       {"x64": "setl      w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 4C /r"     , "io": "SF=R OF=R"},
   4143       {"x64": "setle     w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 4E /r"     , "io": "ZF=R SF=R OF=R"},
   4144       {"x64": "setnb     w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 43 /r"     , "io": "CF=R"},
   4145       {"x64": "setnbe    w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 47 /r"     , "io": "CF=R ZF=R"},
   4146       {"x64": "setnl     w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 4D /r"     , "io": "SF=R OF=R"},
   4147       {"x64": "setnle    w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 4F /r"     , "io": "ZF=R SF=R OF=R"},
   4148       {"x64": "setno     w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 41 /r"     , "io": "OF=R"},
   4149       {"x64": "setnp     w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 4B /r"     , "io": "PF=R"},
   4150       {"x64": "setns     w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 49 /r"     , "io": "SF=R"},
   4151       {"x64": "setnz     w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 45 /r"     , "io": "ZF=R"},
   4152       {"x64": "seto      w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 40 /r"     , "io": "OF=R"},
   4153       {"x64": "setp      w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 4A /r"     , "io": "PF=R"},
   4154       {"x64": "sets      w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 48 /r"     , "io": "SF=R"},
   4155       {"x64": "setz      w:r8/m8"                                          , "op": "[M  ] EVEX.ND=0.LLZ.F2.MAP4.WIG 44 /r"     , "io": "ZF=R"},
   4156       {"x64": "setzub    W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 42 /r"     , "io": "CF=R"},
   4157       {"x64": "setzube   W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 46 /r"     , "io": "CF=R ZF=R"},
   4158       {"x64": "setzul    W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 4C /r"     , "io": "SF=R OF=R"},
   4159       {"x64": "setzule   W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 4E /r"     , "io": "ZF=R SF=R OF=R"},
   4160       {"x64": "setzunb   W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 43 /r"     , "io": "CF=R"},
   4161       {"x64": "setzunbe  W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 47 /r"     , "io": "CF=R ZF=R"},
   4162       {"x64": "setzunl   W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 4D /r"     , "io": "SF=R OF=R"},
   4163       {"x64": "setzunle  W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 4F /r"     , "io": "ZF=R SF=R OF=R"},
   4164       {"x64": "setzuno   W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 41 /r"     , "io": "OF=R"},
   4165       {"x64": "setzunp   W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 4B /r"     , "io": "PF=R"},
   4166       {"x64": "setzuns   W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 49 /r"     , "io": "SF=R"},
   4167       {"x64": "setzunz   W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 45 /r"     , "io": "ZF=R"},
   4168       {"x64": "setzuo    W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 40 /r"     , "io": "OF=R"},
   4169       {"x64": "setzup    W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 4A /r"     , "io": "PF=R"},
   4170       {"x64": "setzus    W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 48 /r"     , "io": "SF=R"},
   4171       {"x64": "setzuz    W:r8"                                             , "op": "[M  ] EVEX.ND=1.LLZ.F2.MAP4.WIG 44 /r"     , "io": "ZF=R"}
   4172     ]}
   4173   ],
   4174 
   4175   "aliases": {
   4176     "ccmpb"    : {"aliases": ["ccmpnae", "ccmpc"    ], "format": "ccmp.b|nae|c"   , "sign": "u"},
   4177     "ccmpbe"   : {"aliases": ["ccmpna"              ], "format": "ccmp.be|na"     , "sign": "u"},
   4178     "ccmpl"    : {"aliases": ["ccmpnge"             ], "format": "ccmp.l|nge"     , "sign": "s"},
   4179     "ccmple"   : {"aliases": ["ccmpng"              ], "format": "ccmp.le|ng"     , "sign": "s"},
   4180     "ccmpnb"   : {"aliases": ["ccmpae", "ccmpnc"    ], "format": "ccmp.nb|ae|nc"  , "sign": "u"},
   4181     "ccmpnbe"  : {"aliases": ["ccmpa"               ], "format": "ccmp.nbe|a"     , "sign": "u"},
   4182     "ccmpnl"   : {"aliases": ["ccmpge"              ], "format": "ccmp.nl|ge"     , "sign": "s"},
   4183     "ccmpnle"  : {"aliases": ["ccmpg"               ], "format": "ccmp.nle|g"     , "sign": "s"},
   4184     "ccmpnz"   : {"aliases": ["ccmpne"              ], "format": "ccmp.nz|ne"     , "sign": "_"},
   4185     "ccmpz"    : {"aliases": ["ccmpe"               ], "format": "ccmp.z|e"       , "sign": "_"},
   4186 
   4187     "cfcmovb"  : {"aliases": ["cfcmovnae", "cfcmovc"], "format": "cfmov.b|nae|c"  , "sign": "u"},
   4188     "cfcmovbe" : {"aliases": ["cfcmovna"            ], "format": "cfmov.be|na"    , "sign": "u"},
   4189     "cfcmovl"  : {"aliases": ["cfcmovnge"           ], "format": "cfmov.l|nge"    , "sign": "s"},
   4190     "cfcmovle" : {"aliases": ["cfcmovng"            ], "format": "cfmov.le|ng"    , "sign": "s"},
   4191     "cfcmovnb" : {"aliases": ["cfcmovae", "cfcmovnc"], "format": "cfmov.nb|ae|nc" , "sign": "u"},
   4192     "cfcmovnbe": {"aliases": ["cfcmova"             ], "format": "cfmov.nbe|a"    , "sign": "u"},
   4193     "cfcmovnl" : {"aliases": ["cfcmovge"            ], "format": "cfmov.nl|ge"    , "sign": "s"},
   4194     "cfcmovnle": {"aliases": ["cfcmovg"             ], "format": "cfmov.nle|g"    , "sign": "s"},
   4195     "cfcmovnp" : {"aliases": ["cfcmovpo"            ], "format": "cfmov.np|po"    , "sign": "_"},
   4196     "cfcmovnz" : {"aliases": ["cfcmovne"            ], "format": "cfmov.nz|ne"    , "sign": "_"},
   4197     "cfcmovp"  : {"aliases": ["cfcmovpe"            ], "format": "cfmov.p|pe"     , "sign": "_"},
   4198     "cfcmovz"  : {"aliases": ["cfcmove"             ], "format": "cfmov.z|e"      , "sign": "_"},
   4199 
   4200     "cmovb"    : {"aliases": ["cmovnae", "cmovc"    ], "format": "cmov.b|nae|c"   , "sign": "u"},
   4201     "cmovbe"   : {"aliases": ["cmovna"              ], "format": "cmov.be|na"     , "sign": "u"},
   4202     "cmovl"    : {"aliases": ["cmovnge"             ], "format": "cmov.l|nge"     , "sign": "s"},
   4203     "cmovle"   : {"aliases": ["cmovng"              ], "format": "cmov.le|ng"     , "sign": "s"},
   4204     "cmovnb"   : {"aliases": ["cmovae", "cmovnc"    ], "format": "cmov.nb|ae|nc"  , "sign": "u"},
   4205     "cmovnbe"  : {"aliases": ["cmova"               ], "format": "cmov.nbe|a"     , "sign": "u"},
   4206     "cmovnl"   : {"aliases": ["cmovge"              ], "format": "cmov.nl|ge"     , "sign": "s"},
   4207     "cmovnle"  : {"aliases": ["cmovg"               ], "format": "cmov.nle|g"     , "sign": "s"},
   4208     "cmovnp"   : {"aliases": ["cmovpo"              ], "format": "cmov.np|po"     , "sign": "_"},
   4209     "cmovnz"   : {"aliases": ["cmovne"              ], "format": "cmov.nz|ne"     , "sign": "_"},
   4210     "cmovp"    : {"aliases": ["cmovpe"              ], "format": "cmov.p|pe"      , "sign": "_"},
   4211     "cmovz"    : {"aliases": ["cmove"               ], "format": "cmov.z|e"       , "sign": "_"},
   4212 
   4213     "ctestb"   : {"aliases": ["ctestnae", "ctestc"  ], "format": "ctest.b|nae|c"  , "sign": "u"},
   4214     "ctestbe"  : {"aliases": ["ctestna"             ], "format": "ctest.be|na"    , "sign": "u"},
   4215     "ctestl"   : {"aliases": ["ctestnge"            ], "format": "ctest.l|nge"    , "sign": "s"},
   4216     "ctestle"  : {"aliases": ["ctestng"             ], "format": "ctest.le|ng"    , "sign": "s"},
   4217     "ctestnb"  : {"aliases": ["ctestae", "ctestnc"  ], "format": "ctest.nb|ae|nc" , "sign": "u"},
   4218     "ctestnbe" : {"aliases": ["ctesta"              ], "format": "ctest.nbe|a"    , "sign": "u"},
   4219     "ctestnl"  : {"aliases": ["ctestge"             ], "format": "ctest.nl|ge"    , "sign": "s"},
   4220     "ctestnle" : {"aliases": ["ctestg"              ], "format": "ctest.nle|g"    , "sign": "s"},
   4221     "ctestnz"  : {"aliases": ["ctestne"             ], "format": "ctest.nz|ne"    , "sign": "_"},
   4222     "ctestz"   : {"aliases": ["cteste"              ], "format": "ctest.z|e"      , "sign": "_"},
   4223 
   4224     "jb"       : {"aliases": ["jnae", "jc"          ], "format": "jb|jnae|jc"     , "sign": "u"},
   4225     "jbe"      : {"aliases": ["jna"                 ], "format": "jbe|jna"        , "sign": "u"},
   4226     "jl"       : {"aliases": ["jnge"                ], "format": "jl|jnge"        , "sign": "s"},
   4227     "jle"      : {"aliases": ["jng"                 ], "format": "jle|jng"        , "sign": "s"},
   4228     "jnb"      : {"aliases": ["jae", "jnc"          ], "format": "jnb|jae|jnc"    , "sign": "u"},
   4229     "jnbe"     : {"aliases": ["ja"                  ], "format": "jnbe|ja"        , "sign": "u"},
   4230     "jnl"      : {"aliases": ["jge"                 ], "format": "jnl|jge"        , "sign": "s"},
   4231     "jnle"     : {"aliases": ["jg"                  ], "format": "jnle|jg"        , "sign": "s"},
   4232     "jnp"      : {"aliases": ["jpo"                 ], "format": "jnp|jpo"        , "sign": "_"},
   4233     "jnz"      : {"aliases": ["jne"                 ], "format": "jnz|jne"        , "sign": "_"},
   4234     "jp"       : {"aliases": ["jpe"                 ], "format": "jp|jpe"         , "sign": "_"},
   4235     "jz"       : {"aliases": ["je"                  ], "format": "jz|je"          , "sign": "_"},
   4236 
   4237     "setb"     : {"aliases": ["setnae", "setc"      ], "format": "set.b|nae|c"    , "sign": "u"},
   4238     "setbe"    : {"aliases": ["setna"               ], "format": "set.be|na"      , "sign": "u"},
   4239     "setl"     : {"aliases": ["setnge"              ], "format": "set.l|nge"      , "sign": "s"},
   4240     "setle"    : {"aliases": ["setng"               ], "format": "set.le|ng"      , "sign": "s"},
   4241     "setnb"    : {"aliases": ["setae", "setnc"      ], "format": "set.nb|ae|nc"   , "sign": "u"},
   4242     "setnbe"   : {"aliases": ["seta"                ], "format": "set.nbe|a"      , "sign": "u"},
   4243     "setnl"    : {"aliases": ["setge"               ], "format": "set.nl|ge"      , "sign": "s"},
   4244     "setnle"   : {"aliases": ["setg"                ], "format": "set.nle|g"      , "sign": "s"},
   4245     "setnp"    : {"aliases": ["setpo"               ], "format": "set.np|po"      , "sign": "_"},
   4246     "setnz"    : {"aliases": ["setne"               ], "format": "set.nz|ne"      , "sign": "_"},
   4247     "setp"     : {"aliases": ["setpe"               ], "format": "set.p|pe"       , "sign": "_"},
   4248     "setz"     : {"aliases": ["sete"                ], "format": "set.z|e"        , "sign": "_"},
   4249 
   4250     "setzub"   : {"aliases": ["setzunae", "setzuc"  ], "format": "setzu.b|nae|c"  , "sign": "u"},
   4251     "setzube"  : {"aliases": ["setzuna"             ], "format": "setzu.be|na"    , "sign": "u"},
   4252     "setzul"   : {"aliases": ["setzunge"            ], "format": "setzu.l|nge"    , "sign": "s"},
   4253     "setzule"  : {"aliases": ["setzung"             ], "format": "setzu.le|ng"    , "sign": "s"},
   4254     "setzunb"  : {"aliases": ["setzuae", "setzunc"  ], "format": "setzu.nb|ae|nc" , "sign": "u"},
   4255     "setzunbe" : {"aliases": ["setzua"              ], "format": "setzu.nbe|a"    , "sign": "u"},
   4256     "setzunl"  : {"aliases": ["setzuge"             ], "format": "setzu.nl|ge"    , "sign": "s"},
   4257     "setzunle" : {"aliases": ["setzug"              ], "format": "setzu.nle|g"    , "sign": "s"},
   4258     "setzunp"  : {"aliases": ["setzupo"             ], "format": "setzu.np|po"    , "sign": "_"},
   4259     "setzunz"  : {"aliases": ["setzune"             ], "format": "setzu.nz|ne"    , "sign": "_"},
   4260     "setzup"   : {"aliases": ["setzupe"             ], "format": "setzu.p|pe"     , "sign": "_"},
   4261     "setzuz"   : {"aliases": ["setzue"              ], "format": "setzu.z|e"      , "sign": "_"},
   4262 
   4263     "fwait"    : {"aliases": ["wait"                ], "format": "fwait"},
   4264     "shl"      : {"aliases": ["sal"                 ], "format": "shl"}
   4265   },
   4266 
   4267   "postproc": [
   4268     {"group": "Control Flow", "instructions": [
   4269       {"name": "call lcall", "control": "call"},
   4270       {"name": "iret iretd iretq", "control": "return"},
   4271       {"name": "jb jbe jl jle jnb jnbe jnl jnle jno jnp jns jnz jo jp js jz jecxz", "control": "branch"},
   4272       {"name": "jmp jmpabs ljmp", "control": "jump"},
   4273       {"name": "loop loope loopne", "control": "branch"},
   4274       {"name": "ret retf", "control": "return"}
   4275     ]},
   4276 
   4277     {"group": "Encoding Preference", "instructions": [
   4278       {"name": "vcvtneps2bf16", "encodingPreference": "EVEX"},
   4279       {"name": "vpmadd52huq vpmadd52luq", "encodingPreference": "EVEX"},
   4280       {"name": "vpdpbusd vpdpbusds vpdpwssd vpdpwssds", "encodingPreference": "EVEX"}
   4281     ]}
   4282   ]
   4283 }