VirtualBox

Ignore:
Timestamp:
Mar 6, 2024 7:07:51 AM (13 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
162062
Message:

WIP: consolidate some of the `instruction_then_icebp' code generator macros. Ragged indentations should be fixed in a separate no-change commit; but first I want to consolidate more: so there will be fewer lines needing such attention. bugref:9898

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-instr-3-template.mac

    r103559 r103695  
    6868BS3_PROC_BEGIN_CMN %1, BS3_PBC_NEAR
    6969  %endmacro
    70  %endif
     70 %endif ; !BS3CPUINSTR3_PROC_BEGIN_CMN_DEFINED
    7171
    7272;;
     
    124124  %endmacro
    125125
    126  %endif
     126  %macro EMIT_INSTR_PLUS_ICEBP_C64 2
     127   %if TMPL_BITS == 64
     128    EMIT_INSTR_PLUS_ICEBP %1, %2
     129   %endif
     130  %endmacro
     131
     132  %macro EMIT_INSTR_PLUS_ICEBP_C64 3
     133   %if TMPL_BITS == 64
     134    EMIT_INSTR_PLUS_ICEBP %1, %2, %3
     135   %endif
     136  %endmacro
     137
     138  %macro EMIT_INSTR_PLUS_ICEBP_C64 4
     139   %if TMPL_BITS == 64
     140    EMIT_INSTR_PLUS_ICEBP %1, %2, %3, %4
     141   %endif
     142  %endmacro
     143
     144  %macro EMIT_INSTR_PLUS_ICEBP_C64 5
     145   %if TMPL_BITS == 64
     146    EMIT_INSTR_PLUS_ICEBP %1, %2, %3, %4, %5
     147   %endif
     148  %endmacro
     149
     150 %endif ; !EMIT_INSTR_PLUS_ICEBP_DEFINED
    127151
    128152;;
     
    152176BS3_PROC_END_CMN            bs3CpuInstr3_ %+ %1 %+ _icebp
    153177  %endmacro
    154  %endif
     178 %endif ; !EMIT_INSTR_PLUS_ICEBP_BYTES_DEFINED
    155179
    156180
     
    158182%ifndef EMIT_TYPE1_INSTR_DEFINED
    159183 %define EMIT_TYPE1_INSTR_DEFINED
     184
     185 %macro EMIT_INSTR_PLUS_ICEBP_xBX 3
     186EMIT_INSTR_PLUS_ICEBP   %1, %2, %3
     187EMIT_INSTR_PLUS_ICEBP   %1, %2, FSxBX
     188 %endmacro ; EMIT_INSTR_PLUS_ICEBP_xBX
     189
     190 %macro EMIT_INSTR_PLUS_ICEBP_xBX 4
     191EMIT_INSTR_PLUS_ICEBP   %1, %2, %3, %4
     192EMIT_INSTR_PLUS_ICEBP   %1, %2, %3, FSxBX
     193 %endmacro ; EMIT_INSTR_PLUS_ICEBP_xBX
     194
     195 %macro EMIT_INSTR_PLUS_ICEBP_MMX 1
     196EMIT_INSTR_PLUS_ICEBP_xBX %1, MM1, MM2
     197 %endmacro ; EMIT_INSTR_PLUS_ICEBP_MMX
     198
     199 %macro EMIT_INSTR_PLUS_ICEBP_XMM 1
     200EMIT_INSTR_PLUS_ICEBP_xBX %1, XMM1, XMM2
     201 %endmacro ; EMIT_INSTR_PLUS_ICEBP_XMM
     202
     203 %macro EMIT_INSTR_PLUS_ICEBP_XMM_123 1
     204EMIT_INSTR_PLUS_ICEBP_xBX %1, XMM1, XMM2, XMM3
     205 %endmacro ; EMIT_INSTR_PLUS_ICEBP_XMM_123
     206
     207 %macro EMIT_INSTR_PLUS_ICEBP_XMM_89 1
     208  %if TMPL_BITS == 64
     209EMIT_INSTR_PLUS_ICEBP_xBX %1, XMM8, XMM9
     210  %endif
     211 %endmacro ; EMIT_INSTR_PLUS_ICEBP_XMM_89
     212
     213 %macro EMIT_INSTR_PLUS_ICEBP_XMM_98 1
     214  %if TMPL_BITS == 64
     215EMIT_INSTR_PLUS_ICEBP_xBX %1, XMM9, XMM8
     216  %endif
     217 %endmacro ; EMIT_INSTR_PLUS_ICEBP_XMM_98
     218
     219 %macro EMIT_INSTR_PLUS_ICEBP_XMM_890 1
     220  %if TMPL_BITS == 64
     221EMIT_INSTR_PLUS_ICEBP_xBX %1, XMM8, XMM9, XMM10
     222  %endif
     223 %endmacro ; EMIT_INSTR_PLUS_ICEBP_XMM_890
     224
     225 %macro EMIT_INSTR_PLUS_ICEBP_YMM 1
     226EMIT_INSTR_PLUS_ICEBP_xBX %1, YMM1, YMM2
     227 %endmacro ; EMIT_INSTR_PLUS_ICEBP_YMM
     228
     229 %macro EMIT_INSTR_PLUS_ICEBP_YMM_123 1
     230EMIT_INSTR_PLUS_ICEBP_xBX %1, YMM1, YMM2, YMM3
     231 %endmacro ; EMIT_INSTR_PLUS_ICEBP_YMM_123
     232
     233 %macro EMIT_INSTR_PLUS_ICEBP_YMM_890 1
     234  %if TMPL_BITS == 64
     235EMIT_INSTR_PLUS_ICEBP_xBX %1, YMM8, YMM9, YMM10
     236  %endif
     237 %endmacro ; EMIT_INSTR_PLUS_ICEBP_YMM_890
     238
    160239 ;; @param 7 Indicates whether the 2nd and 3rd pair has MMX variants.
    161240 %macro EMIT_TYPE1_INSTR 7
     
    163242; PXOR (SSE2) & VPXOR (AVX2)
    164243;
    165 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %1 %+ _MM1_MM2_icebp
    166         %1      mm1, mm2
    167 .again:
    168         icebp
    169         jmp     .again
    170 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %1 %+ _MM1_MM2_icebp
    171 
    172 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %1 %+ _MM1_FSxBX_icebp
    173         %1      mm1, [fs:xBX]
    174 .again:
    175         icebp
    176         jmp     .again
    177 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %1 %+ _MM1_FSxBX_icebp
    178 
    179 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %1 %+ _XMM1_XMM2_icebp
    180         %1      xmm1, xmm2
    181 .again:
    182         icebp
    183         jmp     .again
    184 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %1 %+ _XMM1_XMM2_icebp
    185 
    186 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %1 %+ _XMM1_FSxBX_icebp
    187         %1      xmm1, [fs:xBX]
    188 .again:
    189         icebp
    190         jmp     .again
    191 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %1 %+ _XMM1_FSxBX_icebp
    192 
    193 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _XMM1_XMM1_XMM2_icebp
    194         %2      xmm1, xmm1, xmm2
    195 .again:
    196         icebp
    197         jmp     .again
    198 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _XMM1_XMM1_XMM2_icebp
    199 
    200 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _XMM1_XMM1_FSxBX_icebp
    201         %2      xmm1, xmm1, [fs:xBX]
    202 .again:
    203         icebp
    204         jmp     .again
    205 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _XMM1_XMM1_FSxBX_icebp
    206 
    207 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _YMM7_YMM2_YMM3_icebp
    208         %2      ymm7, ymm2, ymm3
    209 .again:
    210         icebp
    211         jmp     .again
    212 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _YMM7_YMM2_YMM3_icebp
    213 
    214 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _YMM7_YMM2_FSxBX_icebp
    215         %2      ymm7, ymm2, [fs:xBX]
    216 .again:
    217         icebp
    218         jmp     .again
    219 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _YMM7_YMM2_FSxBX_icebp
     244EMIT_INSTR_PLUS_ICEBP_MMX   %1
     245EMIT_INSTR_PLUS_ICEBP_XMM   %1
     246
     247EMIT_INSTR_PLUS_ICEBP   %2, XMM1, XMM1, XMM2
     248EMIT_INSTR_PLUS_ICEBP   %2, XMM1, XMM1, FSxBX
     249EMIT_INSTR_PLUS_ICEBP   %2, YMM7, YMM2, YMM3
     250EMIT_INSTR_PLUS_ICEBP   %2, YMM7, YMM2, FSxBX
    220251
    221252
     
    224255;
    225256 %if %7 != 0
    226 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %3 %+ _MM1_MM2_icebp
    227         %3      mm1, mm2
    228 .again:
    229         icebp
    230         jmp     .again
    231 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %3 %+ _MM1_MM2_icebp
    232 
    233 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %3 %+ _MM1_FSxBX_icebp
    234         %3      mm1, [fs:xBX]
    235 .again:
    236         icebp
    237         jmp     .again
    238 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %3 %+ _MM1_FSxBX_icebp
     257EMIT_INSTR_PLUS_ICEBP_MMX   %3
    239258 %endif
    240 
    241 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %3 %+ _XMM1_XMM2_icebp
    242         %3      xmm1, xmm2
    243 .again:
    244         icebp
    245         jmp     .again
    246 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %3 %+ _XMM1_XMM2_icebp
    247 
    248 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %3 %+ _XMM1_FSxBX_icebp
    249         %3      xmm1, [fs:xBX]
    250 .again:
    251         icebp
    252         jmp     .again
    253 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %3 %+ _XMM1_FSxBX_icebp
    254 
    255 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %4 %+ _XMM1_XMM1_XMM2_icebp
    256         %4        xmm1, xmm1, xmm2
    257 .again:
    258         icebp
    259         jmp     .again
    260 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %4 %+ _XMM1_XMM1_XMM2_icebp
    261 
    262 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %4 %+ _XMM1_XMM1_FSxBX_icebp
    263         %4        xmm1, xmm1, [fs:xBX]
    264 .again:
    265         icebp
    266         jmp     .again
    267 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %4 %+ _XMM1_XMM1_FSxBX_icebp
    268 
    269 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %4 %+ _YMM1_YMM1_YMM2_icebp
    270         %4        ymm1, ymm1, ymm2
    271 .again:
    272         icebp
    273         jmp     .again
    274 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %4 %+ _YMM1_YMM1_YMM2_icebp
    275 
    276 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %4 %+ _YMM1_YMM1_FSxBX_icebp
    277         %4        ymm1, ymm1, [fs:xBX]
    278 .again:
    279         icebp
    280         jmp     .again
    281 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %4 %+ _YMM1_YMM1_FSxBX_icebp
    282 
     259EMIT_INSTR_PLUS_ICEBP_XMM   %3
     260
     261EMIT_INSTR_PLUS_ICEBP   %4, XMM1, XMM1, XMM2
     262EMIT_INSTR_PLUS_ICEBP   %4, XMM1, XMM1, FSxBX
     263EMIT_INSTR_PLUS_ICEBP   %4, YMM1, YMM1, YMM2
     264EMIT_INSTR_PLUS_ICEBP   %4, YMM1, YMM1, FSxBX
    283265
    284266
     
    287269;
    288270 %if %7 != 0
    289 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %5 %+ _MM1_MM2_icebp
    290         %5      mm1, mm2
    291 .again:
    292         icebp
    293         jmp     .again
    294 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %5 %+ _MM1_MM2_icebp
    295 
    296 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %5 %+ _MM1_FSxBX_icebp
    297         %5      mm1, [fs:xBX]
    298 .again:
    299         icebp
    300         jmp     .again
    301 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %5 %+ _MM1_FSxBX_icebp
     271EMIT_INSTR_PLUS_ICEBP_MMX   %5
    302272 %endif
    303 
    304 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %5 %+ _XMM1_XMM2_icebp
    305         %5      xmm1, xmm2
    306 .again:
    307         icebp
    308         jmp     .again
    309 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %5 %+ _XMM1_XMM2_icebp
    310 
    311 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %5 %+ _XMM1_FSxBX_icebp
    312         %5      xmm1, [fs:xBX]
    313 .again:
    314         icebp
    315         jmp     .again
    316 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %5 %+ _XMM1_FSxBX_icebp
    317 
    318 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %6 %+ _XMM2_XMM1_XMM0_icebp
    319         %6        xmm2, xmm1, xmm0
    320 .again:
    321         icebp
    322         jmp     .again
    323 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %6 %+ _XMM2_XMM1_XMM0_icebp
    324 
    325 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %6 %+ _XMM2_XMM1_FSxBX_icebp
    326         %6        xmm2, xmm1, [fs:xBX]
    327 .again:
    328         icebp
    329         jmp     .again
    330 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %6 %+ _XMM2_XMM1_FSxBX_icebp
    331 
    332 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %6 %+ _YMM2_YMM1_YMM0_icebp
    333         %6        ymm2, ymm1, ymm0
    334 .again:
    335         icebp
    336         jmp     .again
    337 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %6 %+ _YMM2_YMM1_YMM0_icebp
    338 
    339 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %6 %+ _YMM2_YMM1_FSxBX_icebp
    340         %6        ymm2, ymm1, [fs:xBX]
    341 .again:
    342         icebp
    343         jmp     .again
    344 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %6 %+ _YMM2_YMM1_FSxBX_icebp
    345 
    346   %if TMPL_BITS == 64
    347 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %6 %+ _YMM10_YMM8_YMM15_icebp
    348         %6        ymm10, ymm8, ymm15
    349 .again:
    350         icebp
    351         jmp     .again
    352 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %6 %+ _YMM10_YMM8_YMM15_icebp
    353   %endif
     273EMIT_INSTR_PLUS_ICEBP_XMM   %5
     274
     275EMIT_INSTR_PLUS_ICEBP   %6, XMM2, XMM1, XMM0
     276EMIT_INSTR_PLUS_ICEBP   %6, XMM2, XMM1, FSxBX
     277EMIT_INSTR_PLUS_ICEBP   %6, YMM2, YMM1, YMM0
     278EMIT_INSTR_PLUS_ICEBP   %6, YMM2, YMM1, FSxBX
     279EMIT_INSTR_PLUS_ICEBP_C64   %6, YMM10, YMM8, YMM15
    354280
    355281 %endmacro  ; EMIT_TYPE1_INSTR
     
    357283 %macro EMIT_TYPE1_ONE_INSTR 3
    358284  %if %3 != 0
    359 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %1 %+ _MM1_MM2_icebp
    360         %1      mm1, mm2
    361 .again:
    362         icebp
    363         jmp     .again
    364 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %1 %+ _MM1_MM2_icebp
    365 
    366 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %1 %+ _MM1_FSxBX_icebp
    367         %1      mm1, [fs:xBX]
    368 .again:
    369         icebp
    370         jmp     .again
    371 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %1 %+ _MM1_FSxBX_icebp
     285EMIT_INSTR_PLUS_ICEBP_MMX   %1
    372286  %endif
    373 
    374 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %1 %+ _XMM1_XMM2_icebp
    375         %1      xmm1, xmm2
    376 .again:
    377         icebp
    378         jmp     .again
    379 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %1 %+ _XMM1_XMM2_icebp
    380 
    381 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %1 %+ _XMM1_FSxBX_icebp
    382         %1      xmm1, [fs:xBX]
    383 .again:
    384         icebp
    385         jmp     .again
    386 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %1 %+ _XMM1_FSxBX_icebp
    387 
    388 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _XMM2_XMM1_XMM0_icebp
    389         %2        xmm2, xmm1, xmm0
    390 .again:
    391         icebp
    392         jmp     .again
    393 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _XMM2_XMM1_XMM0_icebp
    394 
    395 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _XMM2_XMM1_FSxBX_icebp
    396         %2        xmm2, xmm1, [fs:xBX]
    397 .again:
    398         icebp
    399         jmp     .again
    400 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _XMM2_XMM1_FSxBX_icebp
    401 
    402 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _YMM2_YMM1_YMM0_icebp
    403         %2        ymm2, ymm1, ymm0
    404 .again:
    405         icebp
    406         jmp     .again
    407 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _YMM2_YMM1_YMM0_icebp
    408 
    409 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _YMM2_YMM1_FSxBX_icebp
    410         %2        ymm2, ymm1, [fs:xBX]
    411 .again:
    412         icebp
    413         jmp     .again
    414 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _YMM2_YMM1_FSxBX_icebp
    415 
    416   %if TMPL_BITS == 64
    417 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _YMM10_YMM8_YMM15_icebp
    418         %2        ymm10, ymm8, ymm15
    419 .again:
    420         icebp
    421         jmp     .again
    422 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _YMM10_YMM8_YMM15_icebp
    423   %endif
     287EMIT_INSTR_PLUS_ICEBP_XMM   %1
     288
     289EMIT_INSTR_PLUS_ICEBP   %2, XMM2, XMM1, XMM0
     290EMIT_INSTR_PLUS_ICEBP   %2, XMM2, XMM1, FSxBX
     291EMIT_INSTR_PLUS_ICEBP   %2, YMM2, YMM1, YMM0
     292EMIT_INSTR_PLUS_ICEBP   %2, YMM2, YMM1, FSxBX
     293EMIT_INSTR_PLUS_ICEBP_C64   %2, YMM10, YMM8, YMM15
    424294 %endmacro ; EMIT_TYPE1_ONE_INSTR
    425295
    426 %endif
     296%endif ; !EMIT_TYPE1_INSTR_DEFINED
    427297
    428298EMIT_TYPE1_INSTR pand,  vpand,  andps,  vandps,  andpd,  vandpd,  0
     
    454324 %macro EMIT_TYPE2_ONE_INSTR 4
    455325  %if %3 != 0
    456 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %1 %+ _EAX_MM2_icebp
    457         %1      eax, mm2
    458 .again:
    459         icebp
    460         jmp     .again
    461 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %1 %+ _EAX_MM2_icebp
     326EMIT_INSTR_PLUS_ICEBP   %1, EAX, MM2
    462327
    463328BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %1 %+ _EAX_qword_FSxBX_icebp
     
    491356BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %1 %+ _EAX_dqword_FSxBX_icebp
    492357
    493 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _EAX_XMM2_icebp
    494         %2      eax, xmm2
    495 .again:
    496         icebp
    497         jmp     .again
    498 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _EAX_XMM2_icebp
     358EMIT_INSTR_PLUS_ICEBP   %2, EAX, XMM2
    499359
    500360BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _EAX_dqword_FSxBX_icebp
     
    509369BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _EAX_dqword_FSxBX_icebp
    510370
    511 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _EAX_YMM2_icebp
    512         %2        eax, ymm2
    513 .again:
    514         icebp
    515         jmp     .again
    516 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _EAX_YMM2_icebp
     371EMIT_INSTR_PLUS_ICEBP   %2, EAX, YMM2
    517372
    518373BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _EAX_qqword_FSxBX_icebp
     
    527382BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _EAX_qqword_FSxBX_icebp
    528383
    529   %if TMPL_BITS == 64
    530 BS3CPUINSTR3_PROC_BEGIN_CMN bs3CpuInstr3_ %+ %2 %+ _RAX_YMM9_icebp
    531         %2        rax, ymm9
    532 .again:
    533         icebp
    534         jmp     .again
    535 BS3_PROC_END_CMN   bs3CpuInstr3_ %+ %2 %+ _RAX_YMM9_icebp
    536   %endif
     384EMIT_INSTR_PLUS_ICEBP_C64   %2, RAX, YMM9
    537385 %endmacro ; EMIT_TYPE2_ONE_INSTR
    538 %endif
     386%endif ; !EMIT_TYPE2_ONE_INSTR_DEFINED
    539387
    540388EMIT_TYPE2_ONE_INSTR pmovmskb, vpmovmskb, 1, 0d7h
     
    543391; [V]PMULLW
    544392;
    545 EMIT_INSTR_PLUS_ICEBP   pmullw, MM1, MM2
    546 EMIT_INSTR_PLUS_ICEBP   pmullw, MM1, FSxBX
    547 
    548 EMIT_INSTR_PLUS_ICEBP   pmullw, XMM1, XMM2
    549 EMIT_INSTR_PLUS_ICEBP   pmullw, XMM1, FSxBX
    550  %if TMPL_BITS == 64
    551 EMIT_INSTR_PLUS_ICEBP   pmullw, XMM8, XMM9
    552 EMIT_INSTR_PLUS_ICEBP   pmullw, XMM8, FSxBX
    553  %endif
     393EMIT_INSTR_PLUS_ICEBP_MMX   pmullw
     394
     395EMIT_INSTR_PLUS_ICEBP_XMM   pmullw
     396EMIT_INSTR_PLUS_ICEBP_XMM_89   pmullw
    554397
    555398EMIT_INSTR_PLUS_ICEBP   vpmullw, XMM1, XMM1, XMM2
    556399EMIT_INSTR_PLUS_ICEBP   vpmullw, XMM1, XMM1, FSxBX
    557  %if TMPL_BITS == 64
    558 EMIT_INSTR_PLUS_ICEBP   vpmullw, XMM8, XMM9, XMM10
    559 EMIT_INSTR_PLUS_ICEBP   vpmullw, XMM8, XMM9, FSxBX
    560  %endif
     400EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmullw
    561401
    562402EMIT_INSTR_PLUS_ICEBP   vpmullw, YMM1, YMM1, YMM2
    563403EMIT_INSTR_PLUS_ICEBP   vpmullw, YMM1, YMM1, FSxBX
    564  %if TMPL_BITS == 64
    565 EMIT_INSTR_PLUS_ICEBP   vpmullw, YMM8, YMM9, YMM10
    566 EMIT_INSTR_PLUS_ICEBP   vpmullw, YMM8, YMM9, FSxBX
    567  %endif
     404EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmullw
    568405
    569406;
    570407; [V]PMULLD
    571408;
    572 EMIT_INSTR_PLUS_ICEBP   pmulld, XMM1, XMM2
    573 EMIT_INSTR_PLUS_ICEBP   pmulld, XMM1, FSxBX
    574  %if TMPL_BITS == 64
    575 EMIT_INSTR_PLUS_ICEBP   pmulld, XMM8, XMM9
    576 EMIT_INSTR_PLUS_ICEBP   pmulld, XMM8, FSxBX
    577  %endif
     409EMIT_INSTR_PLUS_ICEBP_XMM   pmulld
     410EMIT_INSTR_PLUS_ICEBP_XMM_89   pmulld
    578411
    579412EMIT_INSTR_PLUS_ICEBP   vpmulld, XMM2, XMM1, XMM0
    580413EMIT_INSTR_PLUS_ICEBP   vpmulld, XMM2, XMM1, FSxBX
    581  %if TMPL_BITS == 64
    582 EMIT_INSTR_PLUS_ICEBP   vpmulld, XMM8, XMM9, XMM10
    583 EMIT_INSTR_PLUS_ICEBP   vpmulld, XMM8, XMM9, FSxBX
    584  %endif
     414EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmulld
    585415
    586416EMIT_INSTR_PLUS_ICEBP   vpmulld, YMM2, YMM1, YMM0
    587417EMIT_INSTR_PLUS_ICEBP   vpmulld, YMM2, YMM1, FSxBX
    588  %if TMPL_BITS == 64
    589 EMIT_INSTR_PLUS_ICEBP   vpmulld, YMM10, YMM8, YMM15
    590 EMIT_INSTR_PLUS_ICEBP   vpmulld, YMM10, YMM8, FSxBX
    591  %endif
     418EMIT_INSTR_PLUS_ICEBP_C64   vpmulld, YMM10, YMM8, YMM15
     419EMIT_INSTR_PLUS_ICEBP_C64   vpmulld, YMM10, YMM8, FSxBX
    592420
    593421;
    594422; [V]PMULHW
    595423;
    596 EMIT_INSTR_PLUS_ICEBP   pmulhw, MM1, MM2
    597 EMIT_INSTR_PLUS_ICEBP   pmulhw, MM1, FSxBX
    598 
    599 EMIT_INSTR_PLUS_ICEBP   pmulhw, XMM1, XMM2
    600 EMIT_INSTR_PLUS_ICEBP   pmulhw, XMM1, FSxBX
    601  %if TMPL_BITS == 64
    602 EMIT_INSTR_PLUS_ICEBP   pmulhw, XMM8, XMM9
    603 EMIT_INSTR_PLUS_ICEBP   pmulhw, XMM8, FSxBX
    604  %endif
     424EMIT_INSTR_PLUS_ICEBP_MMX   pmulhw
     425
     426EMIT_INSTR_PLUS_ICEBP_XMM   pmulhw
     427EMIT_INSTR_PLUS_ICEBP_XMM_89   pmulhw
    605428
    606429EMIT_INSTR_PLUS_ICEBP   vpmulhw, XMM1, XMM1, XMM2
    607430EMIT_INSTR_PLUS_ICEBP   vpmulhw, XMM1, XMM1, FSxBX
    608  %if TMPL_BITS == 64
    609 EMIT_INSTR_PLUS_ICEBP   vpmulhw, XMM8, XMM9, XMM10
    610 EMIT_INSTR_PLUS_ICEBP   vpmulhw, XMM8, XMM9, FSxBX
    611  %endif
     431EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmulhw
    612432
    613433EMIT_INSTR_PLUS_ICEBP   vpmulhw, YMM1, YMM1, YMM2
    614434EMIT_INSTR_PLUS_ICEBP   vpmulhw, YMM1, YMM1, FSxBX
    615  %if TMPL_BITS == 64
    616 EMIT_INSTR_PLUS_ICEBP   vpmulhw, YMM8, YMM9, YMM10
    617 EMIT_INSTR_PLUS_ICEBP   vpmulhw, YMM8, YMM9, FSxBX
    618  %endif
     435EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmulhw
    619436
    620437;
    621438; [V]PMULHUW
    622439;
    623 EMIT_INSTR_PLUS_ICEBP   pmulhuw, MM1, MM2
    624 EMIT_INSTR_PLUS_ICEBP   pmulhuw, MM1, FSxBX
    625 
    626 EMIT_INSTR_PLUS_ICEBP   pmulhuw, XMM1, XMM2
    627 EMIT_INSTR_PLUS_ICEBP   pmulhuw, XMM1, FSxBX
    628  %if TMPL_BITS == 64
    629 EMIT_INSTR_PLUS_ICEBP   pmulhuw, XMM8, XMM9
    630 EMIT_INSTR_PLUS_ICEBP   pmulhuw, XMM8, FSxBX
    631  %endif
     440EMIT_INSTR_PLUS_ICEBP_MMX   pmulhuw
     441
     442EMIT_INSTR_PLUS_ICEBP_XMM   pmulhuw
     443EMIT_INSTR_PLUS_ICEBP_XMM_89   pmulhuw
    632444
    633445EMIT_INSTR_PLUS_ICEBP   vpmulhuw, XMM1, XMM1, XMM2
    634446EMIT_INSTR_PLUS_ICEBP   vpmulhuw, XMM1, XMM1, FSxBX
    635  %if TMPL_BITS == 64
    636 EMIT_INSTR_PLUS_ICEBP   vpmulhuw, XMM8, XMM9, XMM10
    637 EMIT_INSTR_PLUS_ICEBP   vpmulhuw, XMM8, XMM9, FSxBX
    638  %endif
     447EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmulhuw
    639448
    640449EMIT_INSTR_PLUS_ICEBP   vpmulhuw, YMM1, YMM1, YMM2
    641450EMIT_INSTR_PLUS_ICEBP   vpmulhuw, YMM1, YMM1, FSxBX
    642  %if TMPL_BITS == 64
    643 EMIT_INSTR_PLUS_ICEBP   vpmulhuw, YMM8, YMM9, YMM10
    644 EMIT_INSTR_PLUS_ICEBP   vpmulhuw, YMM8, YMM9, FSxBX
    645  %endif
     451EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmulhuw
    646452
    647453;
    648454; [V]PSHUFB
    649455;
    650 EMIT_INSTR_PLUS_ICEBP   pshufb, MM1, MM2
    651 EMIT_INSTR_PLUS_ICEBP   pshufb, MM1, FSxBX
    652 
    653 EMIT_INSTR_PLUS_ICEBP   pshufb, XMM1, XMM2
    654 EMIT_INSTR_PLUS_ICEBP   pshufb, XMM1, FSxBX
    655  %if TMPL_BITS == 64
    656 EMIT_INSTR_PLUS_ICEBP   pshufb, XMM8, XMM9
    657 EMIT_INSTR_PLUS_ICEBP   pshufb, XMM8, FSxBX
    658  %endif
    659 
    660 EMIT_INSTR_PLUS_ICEBP   vpshufb, XMM1, XMM2, XMM3
    661 EMIT_INSTR_PLUS_ICEBP   vpshufb, XMM1, XMM2, FSxBX
    662  %if TMPL_BITS == 64
    663 EMIT_INSTR_PLUS_ICEBP   vpshufb, XMM8, XMM9, XMM10
    664 EMIT_INSTR_PLUS_ICEBP   vpshufb, XMM8, XMM9, FSxBX
    665  %endif
    666 
    667 EMIT_INSTR_PLUS_ICEBP   vpshufb, YMM1, YMM2, YMM3
    668 EMIT_INSTR_PLUS_ICEBP   vpshufb, YMM1, YMM2, FSxBX
    669  %if TMPL_BITS == 64
    670 EMIT_INSTR_PLUS_ICEBP   vpshufb, YMM8, YMM9, YMM10
    671 EMIT_INSTR_PLUS_ICEBP   vpshufb, YMM8, YMM9, FSxBX
    672  %endif
     456EMIT_INSTR_PLUS_ICEBP_MMX   pshufb
     457
     458EMIT_INSTR_PLUS_ICEBP_XMM   pshufb
     459EMIT_INSTR_PLUS_ICEBP_XMM_89   pshufb
     460
     461EMIT_INSTR_PLUS_ICEBP_XMM_123   vpshufb
     462EMIT_INSTR_PLUS_ICEBP_XMM_890   vpshufb
     463
     464EMIT_INSTR_PLUS_ICEBP_YMM_123   vpshufb
     465EMIT_INSTR_PLUS_ICEBP_YMM_890   vpshufb
    673466
    674467;
     
    698491EMIT_INSTR_PLUS_ICEBP   vpshufhw, YMM1, FSxBX, 01Bh
    699492
    700  %if TMPL_BITS == 64
    701 EMIT_INSTR_PLUS_ICEBP   vpshufhw, YMM12, YMM7, 0FFh
    702 EMIT_INSTR_PLUS_ICEBP   vpshufhw, YMM9, YMM12, 01Bh
    703  %endif
     493EMIT_INSTR_PLUS_ICEBP_C64   vpshufhw, YMM12, YMM7, 0FFh
     494EMIT_INSTR_PLUS_ICEBP_C64   vpshufhw, YMM9, YMM12, 01Bh
    704495
    705496;
     
    721512EMIT_INSTR_PLUS_ICEBP   vpshuflw, YMM1, FSxBX, 01Bh
    722513
    723  %if TMPL_BITS == 64
    724 EMIT_INSTR_PLUS_ICEBP   vpshuflw, YMM12, YMM7, 0FFh
    725 EMIT_INSTR_PLUS_ICEBP   vpshuflw, YMM9, YMM12, 01Bh
    726  %endif
     514EMIT_INSTR_PLUS_ICEBP_C64   vpshuflw, YMM12, YMM7, 0FFh
     515EMIT_INSTR_PLUS_ICEBP_C64   vpshuflw, YMM9, YMM12, 01Bh
    727516
    728517;
     
    744533EMIT_INSTR_PLUS_ICEBP   vpshufd, YMM1, FSxBX, 01Bh
    745534
    746  %if TMPL_BITS == 64
    747 EMIT_INSTR_PLUS_ICEBP   vpshufd, YMM12, YMM7, 0FFh
    748 EMIT_INSTR_PLUS_ICEBP   vpshufd, YMM9, YMM12, 01Bh
    749  %endif
     535EMIT_INSTR_PLUS_ICEBP_C64   vpshufd, YMM12, YMM7, 0FFh
     536EMIT_INSTR_PLUS_ICEBP_C64   vpshufd, YMM9, YMM12, 01Bh
    750537
    751538;
    752539; [V]PUNPCKHBW
    753540;
    754 EMIT_INSTR_PLUS_ICEBP   punpckhbw, MM1, MM2
    755 EMIT_INSTR_PLUS_ICEBP   punpckhbw, MM1, FSxBX
    756 
    757 EMIT_INSTR_PLUS_ICEBP   punpckhbw, XMM1, XMM2
    758 EMIT_INSTR_PLUS_ICEBP   punpckhbw, XMM1, FSxBX
    759  %if TMPL_BITS == 64
    760 EMIT_INSTR_PLUS_ICEBP   punpckhbw, XMM8, XMM9
    761 EMIT_INSTR_PLUS_ICEBP   punpckhbw, XMM8, FSxBX
    762  %endif
    763 
    764 EMIT_INSTR_PLUS_ICEBP   vpunpckhbw, XMM1, XMM2, XMM3
    765 EMIT_INSTR_PLUS_ICEBP   vpunpckhbw, XMM1, XMM2, FSxBX
    766  %if TMPL_BITS == 64
    767 EMIT_INSTR_PLUS_ICEBP   vpunpckhbw, XMM8, XMM9, XMM10
    768 EMIT_INSTR_PLUS_ICEBP   vpunpckhbw, XMM8, XMM9, FSxBX
    769  %endif
    770 
    771 EMIT_INSTR_PLUS_ICEBP   vpunpckhbw, YMM1, YMM2, YMM3
    772 EMIT_INSTR_PLUS_ICEBP   vpunpckhbw, YMM1, YMM2, FSxBX
    773  %if TMPL_BITS == 64
    774 EMIT_INSTR_PLUS_ICEBP   vpunpckhbw, YMM8, YMM9, YMM10
    775 EMIT_INSTR_PLUS_ICEBP   vpunpckhbw, YMM8, YMM9, FSxBX
    776  %endif
     541EMIT_INSTR_PLUS_ICEBP_MMX   punpckhbw
     542
     543EMIT_INSTR_PLUS_ICEBP_XMM   punpckhbw
     544EMIT_INSTR_PLUS_ICEBP_XMM_89   punpckhbw
     545
     546EMIT_INSTR_PLUS_ICEBP_XMM_123   vpunpckhbw
     547EMIT_INSTR_PLUS_ICEBP_XMM_890   vpunpckhbw
     548
     549EMIT_INSTR_PLUS_ICEBP_YMM_123   vpunpckhbw
     550EMIT_INSTR_PLUS_ICEBP_YMM_890   vpunpckhbw
    777551
    778552;
    779553; [V]PUNPCKHWD
    780554;
    781 EMIT_INSTR_PLUS_ICEBP   punpckhwd, MM1, MM2
    782 EMIT_INSTR_PLUS_ICEBP   punpckhwd, MM1, FSxBX
    783 
    784 EMIT_INSTR_PLUS_ICEBP   punpckhwd, XMM1, XMM2
    785 EMIT_INSTR_PLUS_ICEBP   punpckhwd, XMM1, FSxBX
    786  %if TMPL_BITS == 64
    787 EMIT_INSTR_PLUS_ICEBP   punpckhwd, XMM8, XMM9
    788 EMIT_INSTR_PLUS_ICEBP   punpckhwd, XMM8, FSxBX
    789  %endif
    790 
    791 EMIT_INSTR_PLUS_ICEBP   vpunpckhwd, XMM1, XMM2, XMM3
    792 EMIT_INSTR_PLUS_ICEBP   vpunpckhwd, XMM1, XMM2, FSxBX
    793  %if TMPL_BITS == 64
    794 EMIT_INSTR_PLUS_ICEBP   vpunpckhwd, XMM8, XMM9, XMM10
    795 EMIT_INSTR_PLUS_ICEBP   vpunpckhwd, XMM8, XMM9, FSxBX
    796  %endif
    797 
    798 EMIT_INSTR_PLUS_ICEBP   vpunpckhwd, YMM1, YMM2, YMM3
    799 EMIT_INSTR_PLUS_ICEBP   vpunpckhwd, YMM1, YMM2, FSxBX
    800  %if TMPL_BITS == 64
    801 EMIT_INSTR_PLUS_ICEBP   vpunpckhwd, YMM8, YMM9, YMM10
    802 EMIT_INSTR_PLUS_ICEBP   vpunpckhwd, YMM8, YMM9, FSxBX
    803  %endif
     555EMIT_INSTR_PLUS_ICEBP_MMX   punpckhwd
     556
     557EMIT_INSTR_PLUS_ICEBP_XMM   punpckhwd
     558EMIT_INSTR_PLUS_ICEBP_XMM_89   punpckhwd
     559
     560EMIT_INSTR_PLUS_ICEBP_XMM_123   vpunpckhwd
     561EMIT_INSTR_PLUS_ICEBP_XMM_890   vpunpckhwd
     562
     563EMIT_INSTR_PLUS_ICEBP_YMM_123   vpunpckhwd
     564EMIT_INSTR_PLUS_ICEBP_YMM_890   vpunpckhwd
    804565
    805566;
    806567; [V]PUNPCKHDQ
    807568;
    808 EMIT_INSTR_PLUS_ICEBP   punpckhdq, MM1, MM2
    809 EMIT_INSTR_PLUS_ICEBP   punpckhdq, MM1, FSxBX
    810 
    811 EMIT_INSTR_PLUS_ICEBP   punpckhdq, XMM1, XMM2
    812 EMIT_INSTR_PLUS_ICEBP   punpckhdq, XMM1, FSxBX
    813  %if TMPL_BITS == 64
    814 EMIT_INSTR_PLUS_ICEBP   punpckhdq, XMM8, XMM9
    815 EMIT_INSTR_PLUS_ICEBP   punpckhdq, XMM8, FSxBX
    816  %endif
    817 
    818 EMIT_INSTR_PLUS_ICEBP   vpunpckhdq, XMM1, XMM2, XMM3
    819 EMIT_INSTR_PLUS_ICEBP   vpunpckhdq, XMM1, XMM2, FSxBX
    820  %if TMPL_BITS == 64
    821 EMIT_INSTR_PLUS_ICEBP   vpunpckhdq, XMM8, XMM9, XMM10
    822 EMIT_INSTR_PLUS_ICEBP   vpunpckhdq, XMM8, XMM9, FSxBX
    823  %endif
    824 
    825 EMIT_INSTR_PLUS_ICEBP   vpunpckhdq, YMM1, YMM2, YMM3
    826 EMIT_INSTR_PLUS_ICEBP   vpunpckhdq, YMM1, YMM2, FSxBX
    827  %if TMPL_BITS == 64
    828 EMIT_INSTR_PLUS_ICEBP   vpunpckhdq, YMM8, YMM9, YMM10
    829 EMIT_INSTR_PLUS_ICEBP   vpunpckhdq, YMM8, YMM9, FSxBX
    830  %endif
     569EMIT_INSTR_PLUS_ICEBP_MMX   punpckhdq
     570
     571EMIT_INSTR_PLUS_ICEBP_XMM   punpckhdq
     572EMIT_INSTR_PLUS_ICEBP_XMM_89   punpckhdq
     573
     574EMIT_INSTR_PLUS_ICEBP_XMM_123   vpunpckhdq
     575EMIT_INSTR_PLUS_ICEBP_XMM_890   vpunpckhdq
     576
     577EMIT_INSTR_PLUS_ICEBP_YMM_123   vpunpckhdq
     578EMIT_INSTR_PLUS_ICEBP_YMM_890   vpunpckhdq
    831579
    832580;
    833581; [V]PUNPCKHQDQ (no MMX)
    834582;
    835 EMIT_INSTR_PLUS_ICEBP   punpckhqdq, XMM1, XMM2
    836 EMIT_INSTR_PLUS_ICEBP   punpckhqdq, XMM1, FSxBX
    837  %if TMPL_BITS == 64
    838 EMIT_INSTR_PLUS_ICEBP   punpckhqdq, XMM8, XMM9
    839 EMIT_INSTR_PLUS_ICEBP   punpckhqdq, XMM8, FSxBX
    840  %endif
    841 
    842 EMIT_INSTR_PLUS_ICEBP   vpunpckhqdq, XMM1, XMM2, XMM3
    843 EMIT_INSTR_PLUS_ICEBP   vpunpckhqdq, XMM1, XMM2, FSxBX
    844  %if TMPL_BITS == 64
    845 EMIT_INSTR_PLUS_ICEBP   vpunpckhqdq, XMM8, XMM9, XMM10
    846 EMIT_INSTR_PLUS_ICEBP   vpunpckhqdq, XMM8, XMM9, FSxBX
    847  %endif
    848 
    849 EMIT_INSTR_PLUS_ICEBP   vpunpckhqdq, YMM1, YMM2, YMM3
    850 EMIT_INSTR_PLUS_ICEBP   vpunpckhqdq, YMM1, YMM2, FSxBX
    851  %if TMPL_BITS == 64
    852 EMIT_INSTR_PLUS_ICEBP   vpunpckhqdq, YMM8, YMM9, YMM10
    853 EMIT_INSTR_PLUS_ICEBP   vpunpckhqdq, YMM8, YMM9, FSxBX
    854  %endif
     583EMIT_INSTR_PLUS_ICEBP_XMM   punpckhqdq
     584EMIT_INSTR_PLUS_ICEBP_XMM_89   punpckhqdq
     585
     586EMIT_INSTR_PLUS_ICEBP_XMM_123   vpunpckhqdq
     587EMIT_INSTR_PLUS_ICEBP_XMM_890   vpunpckhqdq
     588
     589EMIT_INSTR_PLUS_ICEBP_YMM_123   vpunpckhqdq
     590EMIT_INSTR_PLUS_ICEBP_YMM_890   vpunpckhqdq
    855591
    856592;
    857593; [V]PUNPCKLBW
    858594;
    859 EMIT_INSTR_PLUS_ICEBP   punpcklbw, MM1, MM2
    860 EMIT_INSTR_PLUS_ICEBP   punpcklbw, MM1, FSxBX
    861 
    862 EMIT_INSTR_PLUS_ICEBP   punpcklbw, XMM1, XMM2
    863 EMIT_INSTR_PLUS_ICEBP   punpcklbw, XMM1, FSxBX
    864  %if TMPL_BITS == 64
    865 EMIT_INSTR_PLUS_ICEBP   punpcklbw, XMM8, XMM9
    866 EMIT_INSTR_PLUS_ICEBP   punpcklbw, XMM8, FSxBX
    867  %endif
    868 
    869 EMIT_INSTR_PLUS_ICEBP   vpunpcklbw, XMM1, XMM2, XMM3
    870 EMIT_INSTR_PLUS_ICEBP   vpunpcklbw, XMM1, XMM2, FSxBX
    871  %if TMPL_BITS == 64
    872 EMIT_INSTR_PLUS_ICEBP   vpunpcklbw, XMM8, XMM9, XMM10
    873 EMIT_INSTR_PLUS_ICEBP   vpunpcklbw, XMM8, XMM9, FSxBX
    874  %endif
    875 
    876 EMIT_INSTR_PLUS_ICEBP   vpunpcklbw, YMM1, YMM2, YMM3
    877 EMIT_INSTR_PLUS_ICEBP   vpunpcklbw, YMM1, YMM2, FSxBX
    878  %if TMPL_BITS == 64
    879 EMIT_INSTR_PLUS_ICEBP   vpunpcklbw, YMM8, YMM9, YMM10
    880 EMIT_INSTR_PLUS_ICEBP   vpunpcklbw, YMM8, YMM9, FSxBX
    881  %endif
     595EMIT_INSTR_PLUS_ICEBP_MMX   punpcklbw
     596
     597EMIT_INSTR_PLUS_ICEBP_XMM   punpcklbw
     598EMIT_INSTR_PLUS_ICEBP_XMM_89   punpcklbw
     599
     600EMIT_INSTR_PLUS_ICEBP_XMM_123   vpunpcklbw
     601EMIT_INSTR_PLUS_ICEBP_XMM_890   vpunpcklbw
     602
     603EMIT_INSTR_PLUS_ICEBP_YMM_123   vpunpcklbw
     604EMIT_INSTR_PLUS_ICEBP_YMM_890   vpunpcklbw
    882605
    883606;
    884607; [V]PUNPCKLWD
    885608;
    886 EMIT_INSTR_PLUS_ICEBP   punpcklwd, MM1, MM2
    887 EMIT_INSTR_PLUS_ICEBP   punpcklwd, MM1, FSxBX
    888 
    889 EMIT_INSTR_PLUS_ICEBP   punpcklwd, XMM1, XMM2
    890 EMIT_INSTR_PLUS_ICEBP   punpcklwd, XMM1, FSxBX
    891  %if TMPL_BITS == 64
    892 EMIT_INSTR_PLUS_ICEBP   punpcklwd, XMM8, XMM9
    893 EMIT_INSTR_PLUS_ICEBP   punpcklwd, XMM8, FSxBX
    894  %endif
    895 
    896 EMIT_INSTR_PLUS_ICEBP   vpunpcklwd, XMM1, XMM2, XMM3
    897 EMIT_INSTR_PLUS_ICEBP   vpunpcklwd, XMM1, XMM2, FSxBX
    898  %if TMPL_BITS == 64
    899 EMIT_INSTR_PLUS_ICEBP   vpunpcklwd, XMM8, XMM9, XMM10
    900 EMIT_INSTR_PLUS_ICEBP   vpunpcklwd, XMM8, XMM9, FSxBX
    901  %endif
    902 
    903 EMIT_INSTR_PLUS_ICEBP   vpunpcklwd, YMM1, YMM2, YMM3
    904 EMIT_INSTR_PLUS_ICEBP   vpunpcklwd, YMM1, YMM2, FSxBX
    905  %if TMPL_BITS == 64
    906 EMIT_INSTR_PLUS_ICEBP   vpunpcklwd, YMM8, YMM9, YMM10
    907 EMIT_INSTR_PLUS_ICEBP   vpunpcklwd, YMM8, YMM9, FSxBX
    908  %endif
     609EMIT_INSTR_PLUS_ICEBP_MMX   punpcklwd
     610
     611EMIT_INSTR_PLUS_ICEBP_XMM   punpcklwd
     612EMIT_INSTR_PLUS_ICEBP_XMM_89   punpcklwd
     613
     614EMIT_INSTR_PLUS_ICEBP_XMM_123   vpunpcklwd
     615EMIT_INSTR_PLUS_ICEBP_XMM_890   vpunpcklwd
     616
     617EMIT_INSTR_PLUS_ICEBP_YMM_123   vpunpcklwd
     618EMIT_INSTR_PLUS_ICEBP_YMM_890   vpunpcklwd
    909619
    910620;
    911621; [V]PUNPCKLDQ
    912622;
    913 EMIT_INSTR_PLUS_ICEBP   punpckldq, MM1, MM2
    914 EMIT_INSTR_PLUS_ICEBP   punpckldq, MM1, FSxBX
    915 
    916 EMIT_INSTR_PLUS_ICEBP   punpckldq, XMM1, XMM2
    917 EMIT_INSTR_PLUS_ICEBP   punpckldq, XMM1, FSxBX
    918  %if TMPL_BITS == 64
    919 EMIT_INSTR_PLUS_ICEBP   punpckldq, XMM8, XMM9
    920 EMIT_INSTR_PLUS_ICEBP   punpckldq, XMM8, FSxBX
    921  %endif
    922 
    923 EMIT_INSTR_PLUS_ICEBP   vpunpckldq, XMM1, XMM2, XMM3
    924 EMIT_INSTR_PLUS_ICEBP   vpunpckldq, XMM1, XMM2, FSxBX
    925  %if TMPL_BITS == 64
    926 EMIT_INSTR_PLUS_ICEBP   vpunpckldq, XMM8, XMM9, XMM10
    927 EMIT_INSTR_PLUS_ICEBP   vpunpckldq, XMM8, XMM9, FSxBX
    928  %endif
    929 
    930 EMIT_INSTR_PLUS_ICEBP   vpunpckldq, YMM1, YMM2, YMM3
    931 EMIT_INSTR_PLUS_ICEBP   vpunpckldq, YMM1, YMM2, FSxBX
    932  %if TMPL_BITS == 64
    933 EMIT_INSTR_PLUS_ICEBP   vpunpckldq, YMM8, YMM9, YMM10
    934 EMIT_INSTR_PLUS_ICEBP   vpunpckldq, YMM8, YMM9, FSxBX
    935  %endif
     623EMIT_INSTR_PLUS_ICEBP_MMX   punpckldq
     624
     625EMIT_INSTR_PLUS_ICEBP_XMM   punpckldq
     626EMIT_INSTR_PLUS_ICEBP_XMM_89   punpckldq
     627
     628EMIT_INSTR_PLUS_ICEBP_XMM_123   vpunpckldq
     629EMIT_INSTR_PLUS_ICEBP_XMM_890   vpunpckldq
     630
     631EMIT_INSTR_PLUS_ICEBP_YMM_123   vpunpckldq
     632EMIT_INSTR_PLUS_ICEBP_YMM_890   vpunpckldq
    936633
    937634;
    938635; [V]PUNPCKLQDQ (no MMX)
    939636;
    940 EMIT_INSTR_PLUS_ICEBP   punpcklqdq, XMM1, XMM2
    941 EMIT_INSTR_PLUS_ICEBP   punpcklqdq, XMM1, FSxBX
    942  %if TMPL_BITS == 64
    943 EMIT_INSTR_PLUS_ICEBP   punpcklqdq, XMM8, XMM9
    944 EMIT_INSTR_PLUS_ICEBP   punpcklqdq, XMM8, FSxBX
    945  %endif
    946 
    947 EMIT_INSTR_PLUS_ICEBP   vpunpcklqdq, XMM1, XMM2, XMM3
    948 EMIT_INSTR_PLUS_ICEBP   vpunpcklqdq, XMM1, XMM2, FSxBX
    949  %if TMPL_BITS == 64
    950 EMIT_INSTR_PLUS_ICEBP   vpunpcklqdq, XMM8, XMM9, XMM10
    951 EMIT_INSTR_PLUS_ICEBP   vpunpcklqdq, XMM8, XMM9, FSxBX
    952  %endif
    953 
    954 EMIT_INSTR_PLUS_ICEBP   vpunpcklqdq, YMM1, YMM2, YMM3
    955 EMIT_INSTR_PLUS_ICEBP   vpunpcklqdq, YMM1, YMM2, FSxBX
    956  %if TMPL_BITS == 64
    957 EMIT_INSTR_PLUS_ICEBP   vpunpcklqdq, YMM8, YMM9, YMM10
    958 EMIT_INSTR_PLUS_ICEBP   vpunpcklqdq, YMM8, YMM9, FSxBX
    959  %endif
     637EMIT_INSTR_PLUS_ICEBP_XMM   punpcklqdq
     638EMIT_INSTR_PLUS_ICEBP_XMM_89   punpcklqdq
     639
     640EMIT_INSTR_PLUS_ICEBP_XMM_123   vpunpcklqdq
     641EMIT_INSTR_PLUS_ICEBP_XMM_890   vpunpcklqdq
     642
     643EMIT_INSTR_PLUS_ICEBP_YMM_123   vpunpcklqdq
     644EMIT_INSTR_PLUS_ICEBP_YMM_890   vpunpcklqdq
    960645
    961646;
    962647; [V]PACKSSWB
    963648;
    964 EMIT_INSTR_PLUS_ICEBP   packsswb, MM1, MM2
    965 EMIT_INSTR_PLUS_ICEBP   packsswb, MM1, FSxBX
    966 
    967 EMIT_INSTR_PLUS_ICEBP   packsswb, XMM1, XMM2
    968 EMIT_INSTR_PLUS_ICEBP   packsswb, XMM1, FSxBX
    969  %if TMPL_BITS == 64
    970 EMIT_INSTR_PLUS_ICEBP   packsswb, XMM8, XMM9
    971 EMIT_INSTR_PLUS_ICEBP   packsswb, XMM8, FSxBX
    972  %endif
    973 
    974 EMIT_INSTR_PLUS_ICEBP   vpacksswb, XMM1, XMM2, XMM3
    975 EMIT_INSTR_PLUS_ICEBP   vpacksswb, XMM1, XMM2, FSxBX
    976  %if TMPL_BITS == 64
    977 EMIT_INSTR_PLUS_ICEBP   vpacksswb, XMM8, XMM9, XMM10
    978 EMIT_INSTR_PLUS_ICEBP   vpacksswb, XMM8, XMM9, FSxBX
    979  %endif
    980 
    981 EMIT_INSTR_PLUS_ICEBP   vpacksswb, YMM1, YMM2, YMM3
    982 EMIT_INSTR_PLUS_ICEBP   vpacksswb, YMM1, YMM2, FSxBX
    983  %if TMPL_BITS == 64
    984 EMIT_INSTR_PLUS_ICEBP   vpacksswb, YMM8, YMM9, YMM10
    985 EMIT_INSTR_PLUS_ICEBP   vpacksswb, YMM8, YMM9, FSxBX
    986  %endif
     649EMIT_INSTR_PLUS_ICEBP_MMX   packsswb
     650
     651EMIT_INSTR_PLUS_ICEBP_XMM   packsswb
     652EMIT_INSTR_PLUS_ICEBP_XMM_89   packsswb
     653
     654EMIT_INSTR_PLUS_ICEBP_XMM_123   vpacksswb
     655EMIT_INSTR_PLUS_ICEBP_XMM_890   vpacksswb
     656
     657EMIT_INSTR_PLUS_ICEBP_YMM_123   vpacksswb
     658EMIT_INSTR_PLUS_ICEBP_YMM_890   vpacksswb
    987659
    988660;
    989661; [V]PACKSSWD
    990662;
    991 EMIT_INSTR_PLUS_ICEBP   packssdw, MM1, MM2
    992 EMIT_INSTR_PLUS_ICEBP   packssdw, MM1, FSxBX
    993 
    994 EMIT_INSTR_PLUS_ICEBP   packssdw, XMM1, XMM2
    995 EMIT_INSTR_PLUS_ICEBP   packssdw, XMM1, FSxBX
    996  %if TMPL_BITS == 64
    997 EMIT_INSTR_PLUS_ICEBP   packssdw, XMM8, XMM9
    998 EMIT_INSTR_PLUS_ICEBP   packssdw, XMM8, FSxBX
    999  %endif
    1000 
    1001 EMIT_INSTR_PLUS_ICEBP   vpackssdw, XMM1, XMM2, XMM3
    1002 EMIT_INSTR_PLUS_ICEBP   vpackssdw, XMM1, XMM2, FSxBX
    1003  %if TMPL_BITS == 64
    1004 EMIT_INSTR_PLUS_ICEBP   vpackssdw, XMM8, XMM9, XMM10
    1005 EMIT_INSTR_PLUS_ICEBP   vpackssdw, XMM8, XMM9, FSxBX
    1006  %endif
    1007 
    1008 EMIT_INSTR_PLUS_ICEBP   vpackssdw, YMM1, YMM2, YMM3
    1009 EMIT_INSTR_PLUS_ICEBP   vpackssdw, YMM1, YMM2, FSxBX
    1010  %if TMPL_BITS == 64
    1011 EMIT_INSTR_PLUS_ICEBP   vpackssdw, YMM8, YMM9, YMM10
    1012 EMIT_INSTR_PLUS_ICEBP   vpackssdw, YMM8, YMM9, FSxBX
    1013  %endif
     663EMIT_INSTR_PLUS_ICEBP_MMX   packssdw
     664
     665EMIT_INSTR_PLUS_ICEBP_XMM   packssdw
     666EMIT_INSTR_PLUS_ICEBP_XMM_89   packssdw
     667
     668EMIT_INSTR_PLUS_ICEBP_XMM_123   vpackssdw
     669EMIT_INSTR_PLUS_ICEBP_XMM_890   vpackssdw
     670
     671EMIT_INSTR_PLUS_ICEBP_YMM_123   vpackssdw
     672EMIT_INSTR_PLUS_ICEBP_YMM_890   vpackssdw
    1014673
    1015674;
    1016675; [V]PACKUSWB
    1017676;
    1018 EMIT_INSTR_PLUS_ICEBP   packuswb, MM1, MM2
    1019 EMIT_INSTR_PLUS_ICEBP   packuswb, MM1, FSxBX
    1020 
    1021 EMIT_INSTR_PLUS_ICEBP   packuswb, XMM1, XMM2
    1022 EMIT_INSTR_PLUS_ICEBP   packuswb, XMM1, FSxBX
    1023  %if TMPL_BITS == 64
    1024 EMIT_INSTR_PLUS_ICEBP   packuswb, XMM8, XMM9
    1025 EMIT_INSTR_PLUS_ICEBP   packuswb, XMM8, FSxBX
    1026  %endif
    1027 
    1028 EMIT_INSTR_PLUS_ICEBP   vpackuswb, XMM1, XMM2, XMM3
    1029 EMIT_INSTR_PLUS_ICEBP   vpackuswb, XMM1, XMM2, FSxBX
    1030  %if TMPL_BITS == 64
    1031 EMIT_INSTR_PLUS_ICEBP   vpackuswb, XMM8, XMM9, XMM10
    1032 EMIT_INSTR_PLUS_ICEBP   vpackuswb, XMM8, XMM9, FSxBX
    1033  %endif
    1034 
    1035 EMIT_INSTR_PLUS_ICEBP   vpackuswb, YMM1, YMM2, YMM3
    1036 EMIT_INSTR_PLUS_ICEBP   vpackuswb, YMM1, YMM2, FSxBX
    1037  %if TMPL_BITS == 64
    1038 EMIT_INSTR_PLUS_ICEBP   vpackuswb, YMM8, YMM9, YMM10
    1039 EMIT_INSTR_PLUS_ICEBP   vpackuswb, YMM8, YMM9, FSxBX
    1040  %endif
     677EMIT_INSTR_PLUS_ICEBP_MMX   packuswb
     678
     679EMIT_INSTR_PLUS_ICEBP_XMM   packuswb
     680EMIT_INSTR_PLUS_ICEBP_XMM_89   packuswb
     681
     682EMIT_INSTR_PLUS_ICEBP_XMM_123   vpackuswb
     683EMIT_INSTR_PLUS_ICEBP_XMM_890   vpackuswb
     684
     685EMIT_INSTR_PLUS_ICEBP_YMM_123   vpackuswb
     686EMIT_INSTR_PLUS_ICEBP_YMM_890   vpackuswb
    1041687
    1042688;
    1043689; [V]PACKUSWD (no MMX)
    1044690;
    1045 EMIT_INSTR_PLUS_ICEBP   packusdw, XMM1, XMM2
    1046 EMIT_INSTR_PLUS_ICEBP   packusdw, XMM1, FSxBX
    1047  %if TMPL_BITS == 64
    1048 EMIT_INSTR_PLUS_ICEBP   packusdw, XMM8, XMM9
    1049 EMIT_INSTR_PLUS_ICEBP   packusdw, XMM8, FSxBX
    1050  %endif
    1051 
    1052 EMIT_INSTR_PLUS_ICEBP   vpackusdw, XMM1, XMM2, XMM3
    1053 EMIT_INSTR_PLUS_ICEBP   vpackusdw, XMM1, XMM2, FSxBX
    1054  %if TMPL_BITS == 64
    1055 EMIT_INSTR_PLUS_ICEBP   vpackusdw, XMM8, XMM9, XMM10
    1056 EMIT_INSTR_PLUS_ICEBP   vpackusdw, XMM8, XMM9, FSxBX
    1057  %endif
    1058 
    1059 EMIT_INSTR_PLUS_ICEBP   vpackusdw, YMM1, YMM2, YMM3
    1060 EMIT_INSTR_PLUS_ICEBP   vpackusdw, YMM1, YMM2, FSxBX
    1061  %if TMPL_BITS == 64
    1062 EMIT_INSTR_PLUS_ICEBP   vpackusdw, YMM8, YMM9, YMM10
    1063 EMIT_INSTR_PLUS_ICEBP   vpackusdw, YMM8, YMM9, FSxBX
    1064  %endif
     691EMIT_INSTR_PLUS_ICEBP_XMM   packusdw
     692EMIT_INSTR_PLUS_ICEBP_XMM_89   packusdw
     693
     694EMIT_INSTR_PLUS_ICEBP_XMM_123   vpackusdw
     695EMIT_INSTR_PLUS_ICEBP_XMM_890   vpackusdw
     696
     697EMIT_INSTR_PLUS_ICEBP_YMM_123   vpackusdw
     698EMIT_INSTR_PLUS_ICEBP_YMM_890   vpackusdw
    1065699
    1066700;
    1067701; [V]PMAXUB
    1068702;
    1069 EMIT_INSTR_PLUS_ICEBP   pmaxub, MM1, MM2
    1070 EMIT_INSTR_PLUS_ICEBP   pmaxub, MM1, FSxBX
    1071 
    1072 EMIT_INSTR_PLUS_ICEBP   pmaxub, XMM1, XMM2
    1073 EMIT_INSTR_PLUS_ICEBP   pmaxub, XMM1, FSxBX
    1074  %if TMPL_BITS == 64
    1075 EMIT_INSTR_PLUS_ICEBP   pmaxub, XMM8, XMM9
    1076 EMIT_INSTR_PLUS_ICEBP   pmaxub, XMM8, FSxBX
    1077  %endif
    1078 
    1079 EMIT_INSTR_PLUS_ICEBP   vpmaxub, XMM1, XMM2, XMM3
    1080 EMIT_INSTR_PLUS_ICEBP   vpmaxub, XMM1, XMM2, FSxBX
    1081  %if TMPL_BITS == 64
    1082 EMIT_INSTR_PLUS_ICEBP   vpmaxub, XMM8, XMM9, XMM10
    1083 EMIT_INSTR_PLUS_ICEBP   vpmaxub, XMM8, XMM9, FSxBX
    1084  %endif
    1085 
    1086 EMIT_INSTR_PLUS_ICEBP   vpmaxub, YMM1, YMM2, YMM3
    1087 EMIT_INSTR_PLUS_ICEBP   vpmaxub, YMM1, YMM2, FSxBX
    1088  %if TMPL_BITS == 64
    1089 EMIT_INSTR_PLUS_ICEBP   vpmaxub, YMM8, YMM9, YMM10
    1090 EMIT_INSTR_PLUS_ICEBP   vpmaxub, YMM8, YMM9, FSxBX
    1091  %endif
     703EMIT_INSTR_PLUS_ICEBP_MMX   pmaxub
     704
     705EMIT_INSTR_PLUS_ICEBP_XMM   pmaxub
     706EMIT_INSTR_PLUS_ICEBP_XMM_89   pmaxub
     707
     708EMIT_INSTR_PLUS_ICEBP_XMM_123   vpmaxub
     709EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmaxub
     710
     711EMIT_INSTR_PLUS_ICEBP_YMM_123   vpmaxub
     712EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmaxub
    1092713
    1093714;
    1094715; [V]PMAXUW
    1095716;
    1096 EMIT_INSTR_PLUS_ICEBP   pmaxuw, XMM1, XMM2
    1097 EMIT_INSTR_PLUS_ICEBP   pmaxuw, XMM1, FSxBX
    1098  %if TMPL_BITS == 64
    1099 EMIT_INSTR_PLUS_ICEBP   pmaxuw, XMM8, XMM9
    1100 EMIT_INSTR_PLUS_ICEBP   pmaxuw, XMM8, FSxBX
    1101  %endif
    1102 
    1103 EMIT_INSTR_PLUS_ICEBP   vpmaxuw, XMM1, XMM2, XMM3
    1104 EMIT_INSTR_PLUS_ICEBP   vpmaxuw, XMM1, XMM2, FSxBX
    1105  %if TMPL_BITS == 64
    1106 EMIT_INSTR_PLUS_ICEBP   vpmaxuw, XMM8, XMM9, XMM10
    1107 EMIT_INSTR_PLUS_ICEBP   vpmaxuw, XMM8, XMM9, FSxBX
    1108  %endif
    1109 
    1110 EMIT_INSTR_PLUS_ICEBP   vpmaxuw, YMM1, YMM2, YMM3
    1111 EMIT_INSTR_PLUS_ICEBP   vpmaxuw, YMM1, YMM2, FSxBX
    1112  %if TMPL_BITS == 64
    1113 EMIT_INSTR_PLUS_ICEBP   vpmaxuw, YMM8, YMM9, YMM10
    1114 EMIT_INSTR_PLUS_ICEBP   vpmaxuw, YMM8, YMM9, FSxBX
    1115  %endif
     717EMIT_INSTR_PLUS_ICEBP_XMM   pmaxuw
     718EMIT_INSTR_PLUS_ICEBP_XMM_89   pmaxuw
     719
     720EMIT_INSTR_PLUS_ICEBP_XMM_123   vpmaxuw
     721EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmaxuw
     722
     723EMIT_INSTR_PLUS_ICEBP_YMM_123   vpmaxuw
     724EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmaxuw
    1116725
    1117726;
    1118727; [V]PMAXUD
    1119728;
    1120 EMIT_INSTR_PLUS_ICEBP   pmaxud, XMM1, XMM2
    1121 EMIT_INSTR_PLUS_ICEBP   pmaxud, XMM1, FSxBX
    1122  %if TMPL_BITS == 64
    1123 EMIT_INSTR_PLUS_ICEBP   pmaxud, XMM8, XMM9
    1124 EMIT_INSTR_PLUS_ICEBP   pmaxud, XMM8, FSxBX
    1125  %endif
    1126 
    1127 EMIT_INSTR_PLUS_ICEBP   vpmaxud, XMM1, XMM2, XMM3
    1128 EMIT_INSTR_PLUS_ICEBP   vpmaxud, XMM1, XMM2, FSxBX
    1129  %if TMPL_BITS == 64
    1130 EMIT_INSTR_PLUS_ICEBP   vpmaxud, XMM8, XMM9, XMM10
    1131 EMIT_INSTR_PLUS_ICEBP   vpmaxud, XMM8, XMM9, FSxBX
    1132  %endif
    1133 
    1134 EMIT_INSTR_PLUS_ICEBP   vpmaxud, YMM1, YMM2, YMM3
    1135 EMIT_INSTR_PLUS_ICEBP   vpmaxud, YMM1, YMM2, FSxBX
    1136  %if TMPL_BITS == 64
    1137 EMIT_INSTR_PLUS_ICEBP   vpmaxud, YMM8, YMM9, YMM10
    1138 EMIT_INSTR_PLUS_ICEBP   vpmaxud, YMM8, YMM9, FSxBX
    1139  %endif
     729EMIT_INSTR_PLUS_ICEBP_XMM   pmaxud
     730EMIT_INSTR_PLUS_ICEBP_XMM_89   pmaxud
     731
     732EMIT_INSTR_PLUS_ICEBP_XMM_123   vpmaxud
     733EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmaxud
     734
     735EMIT_INSTR_PLUS_ICEBP_YMM_123   vpmaxud
     736EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmaxud
    1140737
    1141738;
    1142739; [V]PMAXSB
    1143740;
    1144 EMIT_INSTR_PLUS_ICEBP   pmaxsb, XMM1, XMM2
    1145 EMIT_INSTR_PLUS_ICEBP   pmaxsb, XMM1, FSxBX
    1146  %if TMPL_BITS == 64
    1147 EMIT_INSTR_PLUS_ICEBP   pmaxsb, XMM8, XMM9
    1148 EMIT_INSTR_PLUS_ICEBP   pmaxsb, XMM8, FSxBX
    1149  %endif
    1150 
    1151 EMIT_INSTR_PLUS_ICEBP   vpmaxsb, XMM1, XMM2, XMM3
    1152 EMIT_INSTR_PLUS_ICEBP   vpmaxsb, XMM1, XMM2, FSxBX
    1153  %if TMPL_BITS == 64
    1154 EMIT_INSTR_PLUS_ICEBP   vpmaxsb, XMM8, XMM9, XMM10
    1155 EMIT_INSTR_PLUS_ICEBP   vpmaxsb, XMM8, XMM9, FSxBX
    1156  %endif
    1157 
    1158 EMIT_INSTR_PLUS_ICEBP   vpmaxsb, YMM1, YMM2, YMM3
    1159 EMIT_INSTR_PLUS_ICEBP   vpmaxsb, YMM1, YMM2, FSxBX
    1160  %if TMPL_BITS == 64
    1161 EMIT_INSTR_PLUS_ICEBP   vpmaxsb, YMM8, YMM9, YMM10
    1162 EMIT_INSTR_PLUS_ICEBP   vpmaxsb, YMM8, YMM9, FSxBX
    1163  %endif
     741EMIT_INSTR_PLUS_ICEBP_XMM   pmaxsb
     742EMIT_INSTR_PLUS_ICEBP_XMM_89   pmaxsb
     743
     744EMIT_INSTR_PLUS_ICEBP_XMM_123   vpmaxsb
     745EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmaxsb
     746
     747EMIT_INSTR_PLUS_ICEBP_YMM_123   vpmaxsb
     748EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmaxsb
    1164749
    1165750;
    1166751; [V]PMAXSW
    1167752;
    1168 EMIT_INSTR_PLUS_ICEBP   pmaxsw, MM1, MM2
    1169 EMIT_INSTR_PLUS_ICEBP   pmaxsw, MM1, FSxBX
    1170 
    1171 EMIT_INSTR_PLUS_ICEBP   pmaxsw, XMM1, XMM2
    1172 EMIT_INSTR_PLUS_ICEBP   pmaxsw, XMM1, FSxBX
    1173  %if TMPL_BITS == 64
    1174 EMIT_INSTR_PLUS_ICEBP   pmaxsw, XMM8, XMM9
    1175 EMIT_INSTR_PLUS_ICEBP   pmaxsw, XMM8, FSxBX
    1176  %endif
    1177 
    1178 EMIT_INSTR_PLUS_ICEBP   vpmaxsw, XMM1, XMM2, XMM3
    1179 EMIT_INSTR_PLUS_ICEBP   vpmaxsw, XMM1, XMM2, FSxBX
    1180  %if TMPL_BITS == 64
    1181 EMIT_INSTR_PLUS_ICEBP   vpmaxsw, XMM8, XMM9, XMM10
    1182 EMIT_INSTR_PLUS_ICEBP   vpmaxsw, XMM8, XMM9, FSxBX
    1183  %endif
    1184 
    1185 EMIT_INSTR_PLUS_ICEBP   vpmaxsw, YMM1, YMM2, YMM3
    1186 EMIT_INSTR_PLUS_ICEBP   vpmaxsw, YMM1, YMM2, FSxBX
    1187  %if TMPL_BITS == 64
    1188 EMIT_INSTR_PLUS_ICEBP   vpmaxsw, YMM8, YMM9, YMM10
    1189 EMIT_INSTR_PLUS_ICEBP   vpmaxsw, YMM8, YMM9, FSxBX
    1190  %endif
     753EMIT_INSTR_PLUS_ICEBP_MMX   pmaxsw
     754
     755EMIT_INSTR_PLUS_ICEBP_XMM   pmaxsw
     756EMIT_INSTR_PLUS_ICEBP_XMM_89   pmaxsw
     757
     758EMIT_INSTR_PLUS_ICEBP_XMM_123   vpmaxsw
     759EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmaxsw
     760
     761EMIT_INSTR_PLUS_ICEBP_YMM_123   vpmaxsw
     762EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmaxsw
    1191763
    1192764;
    1193765; [V]PMAXSD
    1194766;
    1195 EMIT_INSTR_PLUS_ICEBP   pmaxsd, XMM1, XMM2
    1196 EMIT_INSTR_PLUS_ICEBP   pmaxsd, XMM1, FSxBX
    1197  %if TMPL_BITS == 64
    1198 EMIT_INSTR_PLUS_ICEBP   pmaxsd, XMM8, XMM9
    1199 EMIT_INSTR_PLUS_ICEBP   pmaxsd, XMM8, FSxBX
    1200  %endif
    1201 
    1202 EMIT_INSTR_PLUS_ICEBP   vpmaxsd, XMM1, XMM2, XMM3
    1203 EMIT_INSTR_PLUS_ICEBP   vpmaxsd, XMM1, XMM2, FSxBX
    1204  %if TMPL_BITS == 64
    1205 EMIT_INSTR_PLUS_ICEBP   vpmaxsd, XMM8, XMM9, XMM10
    1206 EMIT_INSTR_PLUS_ICEBP   vpmaxsd, XMM8, XMM9, FSxBX
    1207  %endif
    1208 
    1209 EMIT_INSTR_PLUS_ICEBP   vpmaxsd, YMM1, YMM2, YMM3
    1210 EMIT_INSTR_PLUS_ICEBP   vpmaxsd, YMM1, YMM2, FSxBX
    1211  %if TMPL_BITS == 64
    1212 EMIT_INSTR_PLUS_ICEBP   vpmaxsd, YMM8, YMM9, YMM10
    1213 EMIT_INSTR_PLUS_ICEBP   vpmaxsd, YMM8, YMM9, FSxBX
    1214  %endif
     767EMIT_INSTR_PLUS_ICEBP_XMM   pmaxsd
     768EMIT_INSTR_PLUS_ICEBP_XMM_89   pmaxsd
     769
     770EMIT_INSTR_PLUS_ICEBP_XMM_123   vpmaxsd
     771EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmaxsd
     772
     773EMIT_INSTR_PLUS_ICEBP_YMM_123   vpmaxsd
     774EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmaxsd
    1215775
    1216776;
    1217777; [V]PMINUB
    1218778;
    1219 EMIT_INSTR_PLUS_ICEBP   pminub, MM1, MM2
    1220 EMIT_INSTR_PLUS_ICEBP   pminub, MM1, FSxBX
    1221 
    1222 EMIT_INSTR_PLUS_ICEBP   pminub, XMM1, XMM2
    1223 EMIT_INSTR_PLUS_ICEBP   pminub, XMM1, FSxBX
    1224  %if TMPL_BITS == 64
    1225 EMIT_INSTR_PLUS_ICEBP   pminub, XMM8, XMM9
    1226 EMIT_INSTR_PLUS_ICEBP   pminub, XMM8, FSxBX
    1227  %endif
    1228 
    1229 EMIT_INSTR_PLUS_ICEBP   vpminub, XMM1, XMM2, XMM3
    1230 EMIT_INSTR_PLUS_ICEBP   vpminub, XMM1, XMM2, FSxBX
    1231  %if TMPL_BITS == 64
    1232 EMIT_INSTR_PLUS_ICEBP   vpminub, XMM8, XMM9, XMM10
    1233 EMIT_INSTR_PLUS_ICEBP   vpminub, XMM8, XMM9, FSxBX
    1234  %endif
    1235 
    1236 EMIT_INSTR_PLUS_ICEBP   vpminub, YMM1, YMM2, YMM3
    1237 EMIT_INSTR_PLUS_ICEBP   vpminub, YMM1, YMM2, FSxBX
    1238  %if TMPL_BITS == 64
    1239 EMIT_INSTR_PLUS_ICEBP   vpminub, YMM8, YMM9, YMM10
    1240 EMIT_INSTR_PLUS_ICEBP   vpminub, YMM8, YMM9, FSxBX
    1241  %endif
     779EMIT_INSTR_PLUS_ICEBP_MMX   pminub
     780
     781EMIT_INSTR_PLUS_ICEBP_XMM   pminub
     782EMIT_INSTR_PLUS_ICEBP_XMM_89   pminub
     783
     784EMIT_INSTR_PLUS_ICEBP_XMM_123   vpminub
     785EMIT_INSTR_PLUS_ICEBP_XMM_890   vpminub
     786
     787EMIT_INSTR_PLUS_ICEBP_YMM_123   vpminub
     788EMIT_INSTR_PLUS_ICEBP_YMM_890   vpminub
    1242789
    1243790;
    1244791; [V]PMINUW
    1245792;
    1246 EMIT_INSTR_PLUS_ICEBP   pminuw, XMM1, XMM2
    1247 EMIT_INSTR_PLUS_ICEBP   pminuw, XMM1, FSxBX
    1248  %if TMPL_BITS == 64
    1249 EMIT_INSTR_PLUS_ICEBP   pminuw, XMM8, XMM9
    1250 EMIT_INSTR_PLUS_ICEBP   pminuw, XMM8, FSxBX
    1251  %endif
    1252 
    1253 EMIT_INSTR_PLUS_ICEBP   vpminuw, XMM1, XMM2, XMM3
    1254 EMIT_INSTR_PLUS_ICEBP   vpminuw, XMM1, XMM2, FSxBX
    1255  %if TMPL_BITS == 64
    1256 EMIT_INSTR_PLUS_ICEBP   vpminuw, XMM8, XMM9, XMM10
    1257 EMIT_INSTR_PLUS_ICEBP   vpminuw, XMM8, XMM9, FSxBX
    1258  %endif
    1259 
    1260 EMIT_INSTR_PLUS_ICEBP   vpminuw, YMM1, YMM2, YMM3
    1261 EMIT_INSTR_PLUS_ICEBP   vpminuw, YMM1, YMM2, FSxBX
    1262  %if TMPL_BITS == 64
    1263 EMIT_INSTR_PLUS_ICEBP   vpminuw, YMM8, YMM9, YMM10
    1264 EMIT_INSTR_PLUS_ICEBP   vpminuw, YMM8, YMM9, FSxBX
    1265  %endif
     793EMIT_INSTR_PLUS_ICEBP_XMM   pminuw
     794EMIT_INSTR_PLUS_ICEBP_XMM_89   pminuw
     795
     796EMIT_INSTR_PLUS_ICEBP_XMM_123   vpminuw
     797EMIT_INSTR_PLUS_ICEBP_XMM_890   vpminuw
     798
     799EMIT_INSTR_PLUS_ICEBP_YMM_123   vpminuw
     800EMIT_INSTR_PLUS_ICEBP_YMM_890   vpminuw
    1266801
    1267802;
    1268803; [V]PMINUD
    1269804;
    1270 EMIT_INSTR_PLUS_ICEBP   pminud, XMM1, XMM2
    1271 EMIT_INSTR_PLUS_ICEBP   pminud, XMM1, FSxBX
    1272  %if TMPL_BITS == 64
    1273 EMIT_INSTR_PLUS_ICEBP   pminud, XMM8, XMM9
    1274 EMIT_INSTR_PLUS_ICEBP   pminud, XMM8, FSxBX
    1275  %endif
    1276 
    1277 EMIT_INSTR_PLUS_ICEBP   vpminud, XMM1, XMM2, XMM3
    1278 EMIT_INSTR_PLUS_ICEBP   vpminud, XMM1, XMM2, FSxBX
    1279  %if TMPL_BITS == 64
    1280 EMIT_INSTR_PLUS_ICEBP   vpminud, XMM8, XMM9, XMM10
    1281 EMIT_INSTR_PLUS_ICEBP   vpminud, XMM8, XMM9, FSxBX
    1282  %endif
    1283 
    1284 EMIT_INSTR_PLUS_ICEBP   vpminud, YMM1, YMM2, YMM3
    1285 EMIT_INSTR_PLUS_ICEBP   vpminud, YMM1, YMM2, FSxBX
    1286  %if TMPL_BITS == 64
    1287 EMIT_INSTR_PLUS_ICEBP   vpminud, YMM8, YMM9, YMM10
    1288 EMIT_INSTR_PLUS_ICEBP   vpminud, YMM8, YMM9, FSxBX
    1289  %endif
     805EMIT_INSTR_PLUS_ICEBP_XMM   pminud
     806EMIT_INSTR_PLUS_ICEBP_XMM_89   pminud
     807
     808EMIT_INSTR_PLUS_ICEBP_XMM_123   vpminud
     809EMIT_INSTR_PLUS_ICEBP_XMM_890   vpminud
     810
     811EMIT_INSTR_PLUS_ICEBP_YMM_123   vpminud
     812EMIT_INSTR_PLUS_ICEBP_YMM_890   vpminud
    1290813
    1291814;
    1292815; [V]PMINSB
    1293816;
    1294 EMIT_INSTR_PLUS_ICEBP   pminsb, XMM1, XMM2
    1295 EMIT_INSTR_PLUS_ICEBP   pminsb, XMM1, FSxBX
    1296  %if TMPL_BITS == 64
    1297 EMIT_INSTR_PLUS_ICEBP   pminsb, XMM8, XMM9
    1298 EMIT_INSTR_PLUS_ICEBP   pminsb, XMM8, FSxBX
    1299  %endif
    1300 
    1301 EMIT_INSTR_PLUS_ICEBP   vpminsb, XMM1, XMM2, XMM3
    1302 EMIT_INSTR_PLUS_ICEBP   vpminsb, XMM1, XMM2, FSxBX
    1303  %if TMPL_BITS == 64
    1304 EMIT_INSTR_PLUS_ICEBP   vpminsb, XMM8, XMM9, XMM10
    1305 EMIT_INSTR_PLUS_ICEBP   vpminsb, XMM8, XMM9, FSxBX
    1306  %endif
    1307 
    1308 EMIT_INSTR_PLUS_ICEBP   vpminsb, YMM1, YMM2, YMM3
    1309 EMIT_INSTR_PLUS_ICEBP   vpminsb, YMM1, YMM2, FSxBX
    1310  %if TMPL_BITS == 64
    1311 EMIT_INSTR_PLUS_ICEBP   vpminsb, YMM8, YMM9, YMM10
    1312 EMIT_INSTR_PLUS_ICEBP   vpminsb, YMM8, YMM9, FSxBX
    1313  %endif
     817EMIT_INSTR_PLUS_ICEBP_XMM   pminsb
     818EMIT_INSTR_PLUS_ICEBP_XMM_89   pminsb
     819
     820EMIT_INSTR_PLUS_ICEBP_XMM_123   vpminsb
     821EMIT_INSTR_PLUS_ICEBP_XMM_890   vpminsb
     822
     823EMIT_INSTR_PLUS_ICEBP_YMM_123   vpminsb
     824EMIT_INSTR_PLUS_ICEBP_YMM_890   vpminsb
    1314825
    1315826;
    1316827; [V]PMINSW
    1317828;
    1318 EMIT_INSTR_PLUS_ICEBP   pminsw, MM1, MM2
    1319 EMIT_INSTR_PLUS_ICEBP   pminsw, MM1, FSxBX
    1320 
    1321 EMIT_INSTR_PLUS_ICEBP   pminsw, XMM1, XMM2
    1322 EMIT_INSTR_PLUS_ICEBP   pminsw, XMM1, FSxBX
    1323  %if TMPL_BITS == 64
    1324 EMIT_INSTR_PLUS_ICEBP   pminsw, XMM8, XMM9
    1325 EMIT_INSTR_PLUS_ICEBP   pminsw, XMM8, FSxBX
    1326  %endif
    1327 
    1328 EMIT_INSTR_PLUS_ICEBP   vpminsw, XMM1, XMM2, XMM3
    1329 EMIT_INSTR_PLUS_ICEBP   vpminsw, XMM1, XMM2, FSxBX
    1330  %if TMPL_BITS == 64
    1331 EMIT_INSTR_PLUS_ICEBP   vpminsw, XMM8, XMM9, XMM10
    1332 EMIT_INSTR_PLUS_ICEBP   vpminsw, XMM8, XMM9, FSxBX
    1333  %endif
    1334 
    1335 EMIT_INSTR_PLUS_ICEBP   vpminsw, YMM1, YMM2, YMM3
    1336 EMIT_INSTR_PLUS_ICEBP   vpminsw, YMM1, YMM2, FSxBX
    1337  %if TMPL_BITS == 64
    1338 EMIT_INSTR_PLUS_ICEBP   vpminsw, YMM8, YMM9, YMM10
    1339 EMIT_INSTR_PLUS_ICEBP   vpminsw, YMM8, YMM9, FSxBX
    1340  %endif
     829EMIT_INSTR_PLUS_ICEBP_MMX   pminsw
     830
     831EMIT_INSTR_PLUS_ICEBP_XMM   pminsw
     832EMIT_INSTR_PLUS_ICEBP_XMM_89   pminsw
     833
     834EMIT_INSTR_PLUS_ICEBP_XMM_123   vpminsw
     835EMIT_INSTR_PLUS_ICEBP_XMM_890   vpminsw
     836
     837EMIT_INSTR_PLUS_ICEBP_YMM_123   vpminsw
     838EMIT_INSTR_PLUS_ICEBP_YMM_890   vpminsw
    1341839
    1342840;
    1343841; [V]PMINSD
    1344842;
    1345 EMIT_INSTR_PLUS_ICEBP   pminsd, XMM1, XMM2
    1346 EMIT_INSTR_PLUS_ICEBP   pminsd, XMM1, FSxBX
    1347  %if TMPL_BITS == 64
    1348 EMIT_INSTR_PLUS_ICEBP   pminsd, XMM8, XMM9
    1349 EMIT_INSTR_PLUS_ICEBP   pminsd, XMM8, FSxBX
    1350  %endif
    1351 
    1352 EMIT_INSTR_PLUS_ICEBP   vpminsd, XMM1, XMM2, XMM3
    1353 EMIT_INSTR_PLUS_ICEBP   vpminsd, XMM1, XMM2, FSxBX
    1354  %if TMPL_BITS == 64
    1355 EMIT_INSTR_PLUS_ICEBP   vpminsd, XMM8, XMM9, XMM10
    1356 EMIT_INSTR_PLUS_ICEBP   vpminsd, XMM8, XMM9, FSxBX
    1357  %endif
    1358 
    1359 EMIT_INSTR_PLUS_ICEBP   vpminsd, YMM1, YMM2, YMM3
    1360 EMIT_INSTR_PLUS_ICEBP   vpminsd, YMM1, YMM2, FSxBX
    1361  %if TMPL_BITS == 64
    1362 EMIT_INSTR_PLUS_ICEBP   vpminsd, YMM8, YMM9, YMM10
    1363 EMIT_INSTR_PLUS_ICEBP   vpminsd, YMM8, YMM9, FSxBX
    1364  %endif
     843EMIT_INSTR_PLUS_ICEBP_XMM   pminsd
     844EMIT_INSTR_PLUS_ICEBP_XMM_89   pminsd
     845
     846EMIT_INSTR_PLUS_ICEBP_XMM_123   vpminsd
     847EMIT_INSTR_PLUS_ICEBP_XMM_890   vpminsd
     848
     849EMIT_INSTR_PLUS_ICEBP_YMM_123   vpminsd
     850EMIT_INSTR_PLUS_ICEBP_YMM_890   vpminsd
    1365851
    1366852;
     
    1370856EMIT_INSTR_PLUS_ICEBP vmovntdqa, XMM1, FSxBX
    1371857EMIT_INSTR_PLUS_ICEBP vmovntdqa, YMM1, FSxBX
    1372  %if TMPL_BITS == 64
    1373 EMIT_INSTR_PLUS_ICEBP movntdqa,  XMM10, FSxBX
    1374 EMIT_INSTR_PLUS_ICEBP vmovntdqa, XMM11, FSxBX
    1375 EMIT_INSTR_PLUS_ICEBP vmovntdqa, YMM12, FSxBX
    1376  %endif
     858EMIT_INSTR_PLUS_ICEBP_C64 movntdqa,  XMM10, FSxBX
     859EMIT_INSTR_PLUS_ICEBP_C64 vmovntdqa, XMM11, FSxBX
     860EMIT_INSTR_PLUS_ICEBP_C64 vmovntdqa, YMM12, FSxBX
    1377861
    1378862;
     
    1382866EMIT_INSTR_PLUS_ICEBP vmovntdq, FSxBX, XMM1
    1383867EMIT_INSTR_PLUS_ICEBP vmovntdq, FSxBX, YMM1
    1384  %if TMPL_BITS == 64
    1385 EMIT_INSTR_PLUS_ICEBP movntdq,  FSxBX, XMM10
    1386 EMIT_INSTR_PLUS_ICEBP vmovntdq, FSxBX, XMM10
    1387 EMIT_INSTR_PLUS_ICEBP vmovntdq, FSxBX, YMM10
    1388  %endif
     868EMIT_INSTR_PLUS_ICEBP_C64 movntdq,  FSxBX, XMM10
     869EMIT_INSTR_PLUS_ICEBP_C64 vmovntdq, FSxBX, XMM10
     870EMIT_INSTR_PLUS_ICEBP_C64 vmovntdq, FSxBX, YMM10
    1389871
    1390872
     
    1395877EMIT_INSTR_PLUS_ICEBP vmovntps, FSxBX, XMM1
    1396878EMIT_INSTR_PLUS_ICEBP vmovntps, FSxBX, YMM1
    1397  %if TMPL_BITS == 64
    1398 EMIT_INSTR_PLUS_ICEBP movntps,  FSxBX, XMM10
    1399 EMIT_INSTR_PLUS_ICEBP vmovntps, FSxBX, XMM11
    1400 EMIT_INSTR_PLUS_ICEBP vmovntps, FSxBX, YMM12
    1401  %endif
     879EMIT_INSTR_PLUS_ICEBP_C64 movntps,  FSxBX, XMM10
     880EMIT_INSTR_PLUS_ICEBP_C64 vmovntps, FSxBX, XMM11
     881EMIT_INSTR_PLUS_ICEBP_C64 vmovntps, FSxBX, YMM12
    1402882
    1403883;
     
    1407887EMIT_INSTR_PLUS_ICEBP vmovntpd, FSxBX, XMM1
    1408888EMIT_INSTR_PLUS_ICEBP vmovntpd, FSxBX, YMM1
    1409  %if TMPL_BITS == 64
    1410 EMIT_INSTR_PLUS_ICEBP movntpd,  FSxBX, XMM10
    1411 EMIT_INSTR_PLUS_ICEBP vmovntpd, FSxBX, XMM11
    1412 EMIT_INSTR_PLUS_ICEBP vmovntpd, FSxBX, YMM12
    1413  %endif
     889EMIT_INSTR_PLUS_ICEBP_C64 movntpd,  FSxBX, XMM10
     890EMIT_INSTR_PLUS_ICEBP_C64 vmovntpd, FSxBX, XMM11
     891EMIT_INSTR_PLUS_ICEBP_C64 vmovntpd, FSxBX, YMM12
    1414892
    1415893;
    1416894; [V]MOVUPS - not testing the 2nd register variant.
    1417895;
    1418 EMIT_INSTR_PLUS_ICEBP movups,  XMM1, XMM2
    1419 EMIT_INSTR_PLUS_ICEBP movups,  XMM1, FSxBX
     896EMIT_INSTR_PLUS_ICEBP_XMM movups
    1420897EMIT_INSTR_PLUS_ICEBP movups,  FSxBX, XMM1
    1421 EMIT_INSTR_PLUS_ICEBP vmovups, XMM1, XMM2
    1422 EMIT_INSTR_PLUS_ICEBP vmovups, XMM1, FSxBX
     898EMIT_INSTR_PLUS_ICEBP_XMM vmovups
    1423899EMIT_INSTR_PLUS_ICEBP vmovups, FSxBX, XMM1
    1424 EMIT_INSTR_PLUS_ICEBP vmovups, YMM1, YMM2
    1425 EMIT_INSTR_PLUS_ICEBP vmovups, YMM1, FSxBX
     900EMIT_INSTR_PLUS_ICEBP_YMM vmovups
    1426901EMIT_INSTR_PLUS_ICEBP vmovups, FSxBX, YMM1
    1427  %if TMPL_BITS == 64
    1428 EMIT_INSTR_PLUS_ICEBP movups,  XMM8,  XMM12
    1429 EMIT_INSTR_PLUS_ICEBP movups,  XMM10, FSxBX
    1430 EMIT_INSTR_PLUS_ICEBP movups,  FSxBX, XMM10
    1431 EMIT_INSTR_PLUS_ICEBP vmovups, XMM7,  XMM14
    1432 EMIT_INSTR_PLUS_ICEBP vmovups, XMM11, FSxBX
    1433 EMIT_INSTR_PLUS_ICEBP vmovups, FSxBX, XMM11
    1434 EMIT_INSTR_PLUS_ICEBP vmovups, YMM12, YMM8
    1435 EMIT_INSTR_PLUS_ICEBP vmovups, YMM12, FSxBX
    1436 EMIT_INSTR_PLUS_ICEBP vmovups, FSxBX, YMM12
    1437  %endif
     902EMIT_INSTR_PLUS_ICEBP_C64 movups,  XMM8,  XMM12
     903EMIT_INSTR_PLUS_ICEBP_C64 movups,  XMM10, FSxBX
     904EMIT_INSTR_PLUS_ICEBP_C64 movups,  FSxBX, XMM10
     905EMIT_INSTR_PLUS_ICEBP_C64 vmovups, XMM7,  XMM14
     906EMIT_INSTR_PLUS_ICEBP_C64 vmovups, XMM11, FSxBX
     907EMIT_INSTR_PLUS_ICEBP_C64 vmovups, FSxBX, XMM11
     908EMIT_INSTR_PLUS_ICEBP_C64 vmovups, YMM12, YMM8
     909EMIT_INSTR_PLUS_ICEBP_C64 vmovups, YMM12, FSxBX
     910EMIT_INSTR_PLUS_ICEBP_C64 vmovups, FSxBX, YMM12
    1438911
    1439912;
    1440913; [V]MOVUPD - not testing the 2nd register variant.
    1441914;
    1442 EMIT_INSTR_PLUS_ICEBP movupd,  XMM1, XMM2
    1443 EMIT_INSTR_PLUS_ICEBP movupd,  XMM1, FSxBX
     915EMIT_INSTR_PLUS_ICEBP_XMM movupd
    1444916EMIT_INSTR_PLUS_ICEBP movupd,  FSxBX, XMM1
    1445 EMIT_INSTR_PLUS_ICEBP vmovupd, XMM1, XMM2
    1446 EMIT_INSTR_PLUS_ICEBP vmovupd, XMM1, FSxBX
     917EMIT_INSTR_PLUS_ICEBP_XMM vmovupd
    1447918EMIT_INSTR_PLUS_ICEBP vmovupd, FSxBX, XMM1
    1448 EMIT_INSTR_PLUS_ICEBP vmovupd, YMM1, YMM2
    1449 EMIT_INSTR_PLUS_ICEBP vmovupd, YMM1, FSxBX
     919EMIT_INSTR_PLUS_ICEBP_YMM vmovupd
    1450920EMIT_INSTR_PLUS_ICEBP vmovupd, FSxBX, YMM1
    1451  %if TMPL_BITS == 64
    1452 EMIT_INSTR_PLUS_ICEBP movupd,  XMM8,  XMM12
    1453 EMIT_INSTR_PLUS_ICEBP movupd,  XMM10, FSxBX
    1454 EMIT_INSTR_PLUS_ICEBP movupd,  FSxBX, XMM10
    1455 EMIT_INSTR_PLUS_ICEBP vmovupd, XMM7,  XMM14
    1456 EMIT_INSTR_PLUS_ICEBP vmovupd, XMM11, FSxBX
    1457 EMIT_INSTR_PLUS_ICEBP vmovupd, FSxBX, XMM11
    1458 EMIT_INSTR_PLUS_ICEBP vmovupd, YMM12, YMM8
    1459 EMIT_INSTR_PLUS_ICEBP vmovupd, YMM12, FSxBX
    1460 EMIT_INSTR_PLUS_ICEBP vmovupd, FSxBX, YMM12
    1461  %endif
     921EMIT_INSTR_PLUS_ICEBP_C64 movupd,  XMM8,  XMM12
     922EMIT_INSTR_PLUS_ICEBP_C64 movupd,  XMM10, FSxBX
     923EMIT_INSTR_PLUS_ICEBP_C64 movupd,  FSxBX, XMM10
     924EMIT_INSTR_PLUS_ICEBP_C64 vmovupd, XMM7,  XMM14
     925EMIT_INSTR_PLUS_ICEBP_C64 vmovupd, XMM11, FSxBX
     926EMIT_INSTR_PLUS_ICEBP_C64 vmovupd, FSxBX, XMM11
     927EMIT_INSTR_PLUS_ICEBP_C64 vmovupd, YMM12, YMM8
     928EMIT_INSTR_PLUS_ICEBP_C64 vmovupd, YMM12, FSxBX
     929EMIT_INSTR_PLUS_ICEBP_C64 vmovupd, FSxBX, YMM12
    1462930
    1463931;
    1464932; [V]MOVSS - not testing the 2nd register variant.
    1465933;
    1466 EMIT_INSTR_PLUS_ICEBP movss,  XMM1, XMM2
    1467 EMIT_INSTR_PLUS_ICEBP movss,  XMM1, FSxBX
     934EMIT_INSTR_PLUS_ICEBP_XMM movss
    1468935EMIT_INSTR_PLUS_ICEBP movss,  FSxBX, XMM1
    1469 EMIT_INSTR_PLUS_ICEBP vmovss, XMM1, XMM2
    1470 EMIT_INSTR_PLUS_ICEBP vmovss, XMM1, FSxBX
     936EMIT_INSTR_PLUS_ICEBP_XMM vmovss
    1471937EMIT_INSTR_PLUS_ICEBP vmovss, FSxBX, XMM1
    1472  %if TMPL_BITS == 64
    1473 EMIT_INSTR_PLUS_ICEBP movss,  XMM11, XMM8
    1474 EMIT_INSTR_PLUS_ICEBP movss,  XMM8, FSxBX
    1475 EMIT_INSTR_PLUS_ICEBP movss,  FSxBX, XMM11
    1476 EMIT_INSTR_PLUS_ICEBP vmovss, XMM9, XMM10
    1477 EMIT_INSTR_PLUS_ICEBP vmovss, XMM10, FSxBX
    1478 EMIT_INSTR_PLUS_ICEBP vmovss, FSxBX, XMM9
    1479  %endif
     938EMIT_INSTR_PLUS_ICEBP_C64 movss,  XMM11, XMM8
     939EMIT_INSTR_PLUS_ICEBP_C64 movss,  XMM8, FSxBX
     940EMIT_INSTR_PLUS_ICEBP_C64 movss,  FSxBX, XMM11
     941EMIT_INSTR_PLUS_ICEBP_C64 vmovss, XMM9, XMM10
     942EMIT_INSTR_PLUS_ICEBP_C64 vmovss, XMM10, FSxBX
     943EMIT_INSTR_PLUS_ICEBP_C64 vmovss, FSxBX, XMM9
    1480944
    1481945;
    1482946; [V]MOVSD - not testing the 2nd register variant.
    1483947;
    1484 EMIT_INSTR_PLUS_ICEBP movsd,  XMM1, XMM2
    1485 EMIT_INSTR_PLUS_ICEBP movsd,  XMM1, FSxBX
     948EMIT_INSTR_PLUS_ICEBP_XMM movsd
    1486949EMIT_INSTR_PLUS_ICEBP movsd,  FSxBX, XMM1
    1487 EMIT_INSTR_PLUS_ICEBP vmovsd, XMM1, XMM2
    1488 EMIT_INSTR_PLUS_ICEBP vmovsd, XMM1, FSxBX
     950EMIT_INSTR_PLUS_ICEBP_XMM vmovsd
    1489951EMIT_INSTR_PLUS_ICEBP vmovsd, FSxBX, XMM1
    1490  %if TMPL_BITS == 64
    1491 EMIT_INSTR_PLUS_ICEBP movsd,  XMM11, XMM8
    1492 EMIT_INSTR_PLUS_ICEBP movsd,  XMM8, FSxBX
    1493 EMIT_INSTR_PLUS_ICEBP movsd,  FSxBX, XMM11
    1494 EMIT_INSTR_PLUS_ICEBP vmovsd, XMM9, XMM10
    1495 EMIT_INSTR_PLUS_ICEBP vmovsd, XMM10, FSxBX
    1496 EMIT_INSTR_PLUS_ICEBP vmovsd, FSxBX, XMM9
    1497  %endif
     952EMIT_INSTR_PLUS_ICEBP_C64 movsd,  XMM11, XMM8
     953EMIT_INSTR_PLUS_ICEBP_C64 movsd,  XMM8, FSxBX
     954EMIT_INSTR_PLUS_ICEBP_C64 movsd,  FSxBX, XMM11
     955EMIT_INSTR_PLUS_ICEBP_C64 vmovsd, XMM9, XMM10
     956EMIT_INSTR_PLUS_ICEBP_C64 vmovsd, XMM10, FSxBX
     957EMIT_INSTR_PLUS_ICEBP_C64 vmovsd, FSxBX, XMM9
    1498958
    1499959;
     
    1504964EMIT_INSTR_PLUS_ICEBP vmovlps, XMM1, XMM2, FSxBX
    1505965EMIT_INSTR_PLUS_ICEBP vmovlps, FSxBX, XMM1
    1506  %if TMPL_BITS == 64
    1507 EMIT_INSTR_PLUS_ICEBP movlps,  XMM8, FSxBX
    1508 EMIT_INSTR_PLUS_ICEBP movlps,  FSxBX, XMM11
    1509 EMIT_INSTR_PLUS_ICEBP vmovlps, XMM10, XMM14, FSxBX
    1510 EMIT_INSTR_PLUS_ICEBP vmovlps, FSxBX, XMM9
    1511  %endif
     966EMIT_INSTR_PLUS_ICEBP_C64 movlps,  XMM8, FSxBX
     967EMIT_INSTR_PLUS_ICEBP_C64 movlps,  FSxBX, XMM11
     968EMIT_INSTR_PLUS_ICEBP_C64 vmovlps, XMM10, XMM14, FSxBX
     969EMIT_INSTR_PLUS_ICEBP_C64 vmovlps, FSxBX, XMM9
    1512970
    1513971;
     
    1518976EMIT_INSTR_PLUS_ICEBP vmovlpd, XMM1, XMM2, FSxBX
    1519977EMIT_INSTR_PLUS_ICEBP vmovlpd, FSxBX, XMM1
    1520  %if TMPL_BITS == 64
    1521 EMIT_INSTR_PLUS_ICEBP movlpd,  XMM8, FSxBX
    1522 EMIT_INSTR_PLUS_ICEBP movlpd,  FSxBX, XMM11
    1523 EMIT_INSTR_PLUS_ICEBP vmovlpd, XMM10, XMM14, FSxBX
    1524 EMIT_INSTR_PLUS_ICEBP vmovlpd, FSxBX, XMM9
    1525  %endif
     978EMIT_INSTR_PLUS_ICEBP_C64 movlpd,  XMM8, FSxBX
     979EMIT_INSTR_PLUS_ICEBP_C64 movlpd,  FSxBX, XMM11
     980EMIT_INSTR_PLUS_ICEBP_C64 vmovlpd, XMM10, XMM14, FSxBX
     981EMIT_INSTR_PLUS_ICEBP_C64 vmovlpd, FSxBX, XMM9
    1526982
    1527983;
     
    1532988EMIT_INSTR_PLUS_ICEBP vmovhps, XMM1, XMM2, FSxBX
    1533989EMIT_INSTR_PLUS_ICEBP vmovhps, FSxBX, XMM1
    1534  %if TMPL_BITS == 64
    1535 EMIT_INSTR_PLUS_ICEBP movhps,  XMM8, FSxBX
    1536 EMIT_INSTR_PLUS_ICEBP movhps,  FSxBX, XMM11
    1537 EMIT_INSTR_PLUS_ICEBP vmovhps, XMM10, XMM14, FSxBX
    1538 EMIT_INSTR_PLUS_ICEBP vmovhps, FSxBX, XMM9
    1539  %endif
     990EMIT_INSTR_PLUS_ICEBP_C64 movhps,  XMM8, FSxBX
     991EMIT_INSTR_PLUS_ICEBP_C64 movhps,  FSxBX, XMM11
     992EMIT_INSTR_PLUS_ICEBP_C64 vmovhps, XMM10, XMM14, FSxBX
     993EMIT_INSTR_PLUS_ICEBP_C64 vmovhps, FSxBX, XMM9
    1540994
    1541995;
     
    15461000EMIT_INSTR_PLUS_ICEBP vmovhpd, XMM1, XMM2, FSxBX
    15471001EMIT_INSTR_PLUS_ICEBP vmovhpd, FSxBX, XMM1
    1548  %if TMPL_BITS == 64
    1549 EMIT_INSTR_PLUS_ICEBP movhpd,  XMM8, FSxBX
    1550 EMIT_INSTR_PLUS_ICEBP movhpd,  FSxBX, XMM11
    1551 EMIT_INSTR_PLUS_ICEBP vmovhpd, XMM10, XMM14, FSxBX
    1552 EMIT_INSTR_PLUS_ICEBP vmovhpd, FSxBX, XMM9
    1553  %endif
     1002EMIT_INSTR_PLUS_ICEBP_C64 movhpd,  XMM8, FSxBX
     1003EMIT_INSTR_PLUS_ICEBP_C64 movhpd,  FSxBX, XMM11
     1004EMIT_INSTR_PLUS_ICEBP_C64 vmovhpd, XMM10, XMM14, FSxBX
     1005EMIT_INSTR_PLUS_ICEBP_C64 vmovhpd, FSxBX, XMM9
    15541006
    15551007;
     
    15581010EMIT_INSTR_PLUS_ICEBP movhlps,  XMM1, XMM2
    15591011EMIT_INSTR_PLUS_ICEBP vmovhlps, XMM1, XMM2, XMM3
    1560  %if TMPL_BITS == 64
    1561 EMIT_INSTR_PLUS_ICEBP movhlps,  XMM8, XMM12
    1562 EMIT_INSTR_PLUS_ICEBP vmovhlps, XMM10, XMM14, XMM12
    1563  %endif
     1012EMIT_INSTR_PLUS_ICEBP_C64 movhlps,  XMM8, XMM12
     1013EMIT_INSTR_PLUS_ICEBP_C64 vmovhlps, XMM10, XMM14, XMM12
    15641014
    15651015;
    15661016; [V]MOVSLDUP
    15671017;
    1568 EMIT_INSTR_PLUS_ICEBP movsldup,  XMM1, XMM2
    1569 EMIT_INSTR_PLUS_ICEBP movsldup,  XMM1, FSxBX
    1570 EMIT_INSTR_PLUS_ICEBP vmovsldup, XMM1, XMM2
    1571 EMIT_INSTR_PLUS_ICEBP vmovsldup, XMM1, FSxBX
    1572 EMIT_INSTR_PLUS_ICEBP vmovsldup, YMM1, YMM2
    1573 EMIT_INSTR_PLUS_ICEBP vmovsldup, YMM1, FSxBX
    1574  %if TMPL_BITS == 64
    1575 EMIT_INSTR_PLUS_ICEBP movsldup,  XMM8,  XMM12
    1576 EMIT_INSTR_PLUS_ICEBP movsldup,  XMM10, FSxBX
    1577 EMIT_INSTR_PLUS_ICEBP vmovsldup, XMM7,  XMM14
    1578 EMIT_INSTR_PLUS_ICEBP vmovsldup, XMM11, FSxBX
    1579 EMIT_INSTR_PLUS_ICEBP vmovsldup, YMM12, YMM8
    1580 EMIT_INSTR_PLUS_ICEBP vmovsldup, YMM12, FSxBX
    1581  %endif
     1018EMIT_INSTR_PLUS_ICEBP_XMM movsldup
     1019EMIT_INSTR_PLUS_ICEBP_XMM vmovsldup
     1020EMIT_INSTR_PLUS_ICEBP_YMM vmovsldup
     1021EMIT_INSTR_PLUS_ICEBP_C64 movsldup,  XMM8,  XMM12
     1022EMIT_INSTR_PLUS_ICEBP_C64 movsldup,  XMM10, FSxBX
     1023EMIT_INSTR_PLUS_ICEBP_C64 vmovsldup, XMM7,  XMM14
     1024EMIT_INSTR_PLUS_ICEBP_C64 vmovsldup, XMM11, FSxBX
     1025EMIT_INSTR_PLUS_ICEBP_C64 vmovsldup, YMM12, YMM8
     1026EMIT_INSTR_PLUS_ICEBP_C64 vmovsldup, YMM12, FSxBX
    15821027
    15831028;
    15841029; [V]MOVSHDUP
    15851030;
    1586 EMIT_INSTR_PLUS_ICEBP movshdup,  XMM1, XMM2
    1587 EMIT_INSTR_PLUS_ICEBP movshdup,  XMM1, FSxBX
    1588 EMIT_INSTR_PLUS_ICEBP vmovshdup, XMM1, XMM2
    1589 EMIT_INSTR_PLUS_ICEBP vmovshdup, XMM1, FSxBX
    1590 EMIT_INSTR_PLUS_ICEBP vmovshdup, YMM1, YMM2
    1591 EMIT_INSTR_PLUS_ICEBP vmovshdup, YMM1, FSxBX
    1592  %if TMPL_BITS == 64
    1593 EMIT_INSTR_PLUS_ICEBP movshdup,  XMM8,  XMM12
    1594 EMIT_INSTR_PLUS_ICEBP movshdup,  XMM10, FSxBX
    1595 EMIT_INSTR_PLUS_ICEBP vmovshdup, XMM7,  XMM14
    1596 EMIT_INSTR_PLUS_ICEBP vmovshdup, XMM11, FSxBX
    1597 EMIT_INSTR_PLUS_ICEBP vmovshdup, YMM12, YMM8
    1598 EMIT_INSTR_PLUS_ICEBP vmovshdup, YMM12, FSxBX
    1599  %endif
     1031EMIT_INSTR_PLUS_ICEBP_XMM movshdup
     1032EMIT_INSTR_PLUS_ICEBP_XMM vmovshdup
     1033EMIT_INSTR_PLUS_ICEBP_YMM vmovshdup
     1034EMIT_INSTR_PLUS_ICEBP_C64 movshdup,  XMM8,  XMM12
     1035EMIT_INSTR_PLUS_ICEBP_C64 movshdup,  XMM10, FSxBX
     1036EMIT_INSTR_PLUS_ICEBP_C64 vmovshdup, XMM7,  XMM14
     1037EMIT_INSTR_PLUS_ICEBP_C64 vmovshdup, XMM11, FSxBX
     1038EMIT_INSTR_PLUS_ICEBP_C64 vmovshdup, YMM12, YMM8
     1039EMIT_INSTR_PLUS_ICEBP_C64 vmovshdup, YMM12, FSxBX
    16001040
    16011041;
    16021042; [V]MOVDDUP
    16031043;
    1604 EMIT_INSTR_PLUS_ICEBP movddup,  XMM1, XMM2
    1605 EMIT_INSTR_PLUS_ICEBP movddup,  XMM1, FSxBX
    1606 EMIT_INSTR_PLUS_ICEBP vmovddup, XMM1, XMM2
    1607 EMIT_INSTR_PLUS_ICEBP vmovddup, XMM1, FSxBX
    1608 EMIT_INSTR_PLUS_ICEBP vmovddup, YMM1, YMM2
    1609 EMIT_INSTR_PLUS_ICEBP vmovddup, YMM1, FSxBX
    1610  %if TMPL_BITS == 64
    1611 EMIT_INSTR_PLUS_ICEBP movddup,  XMM8,  XMM12
    1612 EMIT_INSTR_PLUS_ICEBP movddup,  XMM10, FSxBX
    1613 EMIT_INSTR_PLUS_ICEBP vmovddup, XMM7,  XMM14
    1614 EMIT_INSTR_PLUS_ICEBP vmovddup, XMM11, FSxBX
    1615 EMIT_INSTR_PLUS_ICEBP vmovddup, YMM12, YMM8
    1616 EMIT_INSTR_PLUS_ICEBP vmovddup, YMM12, FSxBX
    1617  %endif
     1044EMIT_INSTR_PLUS_ICEBP_XMM movddup
     1045EMIT_INSTR_PLUS_ICEBP_XMM vmovddup
     1046EMIT_INSTR_PLUS_ICEBP_YMM vmovddup
     1047EMIT_INSTR_PLUS_ICEBP_C64 movddup,  XMM8,  XMM12
     1048EMIT_INSTR_PLUS_ICEBP_C64 movddup,  XMM10, FSxBX
     1049EMIT_INSTR_PLUS_ICEBP_C64 vmovddup, XMM7,  XMM14
     1050EMIT_INSTR_PLUS_ICEBP_C64 vmovddup, XMM11, FSxBX
     1051EMIT_INSTR_PLUS_ICEBP_C64 vmovddup, YMM12, YMM8
     1052EMIT_INSTR_PLUS_ICEBP_C64 vmovddup, YMM12, FSxBX
    16181053
    16191054;
    16201055; [V]MOVAPS
    16211056;
    1622 EMIT_INSTR_PLUS_ICEBP movaps,  XMM1, XMM2
    1623 EMIT_INSTR_PLUS_ICEBP movaps,  XMM1, FSxBX
    1624 EMIT_INSTR_PLUS_ICEBP vmovaps, XMM1, XMM2
    1625 EMIT_INSTR_PLUS_ICEBP vmovaps, XMM1, FSxBX
    1626 EMIT_INSTR_PLUS_ICEBP vmovaps, YMM1, YMM2
    1627 EMIT_INSTR_PLUS_ICEBP vmovaps, YMM1, FSxBX
    1628  %if TMPL_BITS == 64
    1629 EMIT_INSTR_PLUS_ICEBP movaps,  XMM8,  XMM12
    1630 EMIT_INSTR_PLUS_ICEBP movaps,  XMM10, FSxBX
    1631 EMIT_INSTR_PLUS_ICEBP vmovaps, XMM7,  XMM14
    1632 EMIT_INSTR_PLUS_ICEBP vmovaps, XMM11, FSxBX
    1633 EMIT_INSTR_PLUS_ICEBP vmovaps, YMM12, YMM8
    1634 EMIT_INSTR_PLUS_ICEBP vmovaps, YMM12, FSxBX
    1635  %endif
    1636 
    1637 EMIT_INSTR_PLUS_ICEBP movapd,  XMM1, XMM2
    1638 EMIT_INSTR_PLUS_ICEBP movapd,  XMM1, FSxBX
    1639 EMIT_INSTR_PLUS_ICEBP vmovapd, XMM1, XMM2
    1640 EMIT_INSTR_PLUS_ICEBP vmovapd, XMM1, FSxBX
    1641 EMIT_INSTR_PLUS_ICEBP vmovapd, YMM1, YMM2
    1642 EMIT_INSTR_PLUS_ICEBP vmovapd, YMM1, FSxBX
    1643  %if TMPL_BITS == 64
    1644 EMIT_INSTR_PLUS_ICEBP movapd,  XMM8,  XMM12
    1645 EMIT_INSTR_PLUS_ICEBP movapd,  XMM10, FSxBX
    1646 EMIT_INSTR_PLUS_ICEBP vmovapd, XMM7,  XMM14
    1647 EMIT_INSTR_PLUS_ICEBP vmovapd, XMM11, FSxBX
    1648 EMIT_INSTR_PLUS_ICEBP vmovapd, YMM12, YMM8
    1649 EMIT_INSTR_PLUS_ICEBP vmovapd, YMM12, FSxBX
    1650  %endif
     1057EMIT_INSTR_PLUS_ICEBP_XMM movaps
     1058EMIT_INSTR_PLUS_ICEBP_XMM vmovaps
     1059EMIT_INSTR_PLUS_ICEBP_YMM vmovaps
     1060EMIT_INSTR_PLUS_ICEBP_C64 movaps,  XMM8,  XMM12
     1061EMIT_INSTR_PLUS_ICEBP_C64 movaps,  XMM10, FSxBX
     1062EMIT_INSTR_PLUS_ICEBP_C64 vmovaps, XMM7,  XMM14
     1063EMIT_INSTR_PLUS_ICEBP_C64 vmovaps, XMM11, FSxBX
     1064EMIT_INSTR_PLUS_ICEBP_C64 vmovaps, YMM12, YMM8
     1065EMIT_INSTR_PLUS_ICEBP_C64 vmovaps, YMM12, FSxBX
     1066
     1067EMIT_INSTR_PLUS_ICEBP_XMM movapd
     1068EMIT_INSTR_PLUS_ICEBP_XMM vmovapd
     1069EMIT_INSTR_PLUS_ICEBP_YMM vmovapd
     1070EMIT_INSTR_PLUS_ICEBP_C64 movapd,  XMM8,  XMM12
     1071EMIT_INSTR_PLUS_ICEBP_C64 movapd,  XMM10, FSxBX
     1072EMIT_INSTR_PLUS_ICEBP_C64 vmovapd, XMM7,  XMM14
     1073EMIT_INSTR_PLUS_ICEBP_C64 vmovapd, XMM11, FSxBX
     1074EMIT_INSTR_PLUS_ICEBP_C64 vmovapd, YMM12, YMM8
     1075EMIT_INSTR_PLUS_ICEBP_C64 vmovapd, YMM12, FSxBX
    16511076
    16521077;
     
    16571082EMIT_INSTR_PLUS_ICEBP movd,  EAX,   MM1
    16581083EMIT_INSTR_PLUS_ICEBP movd,  FSxBX, MM1
    1659  %if TMPL_BITS == 64
    1660 EMIT_INSTR_PLUS_ICEBP movd,  MM1,   R9D
    1661 EMIT_INSTR_PLUS_ICEBP movd,  R10D,  MM0
    1662  %endif
     1084EMIT_INSTR_PLUS_ICEBP_C64 movd,  MM1,   R9D
     1085EMIT_INSTR_PLUS_ICEBP_C64 movd,  R10D,  MM0
    16631086
    16641087EMIT_INSTR_PLUS_ICEBP movd,  XMM1,  EAX
     
    16661089EMIT_INSTR_PLUS_ICEBP movd,  FSxBX, XMM1
    16671090EMIT_INSTR_PLUS_ICEBP movd,  EAX,   XMM1
    1668  %if TMPL_BITS == 64
    1669 EMIT_INSTR_PLUS_ICEBP movd,  XMM9,  R8D
    1670 EMIT_INSTR_PLUS_ICEBP movd,  R8D,   XMM9
    1671 EMIT_INSTR_PLUS_ICEBP movd,  XMM9,  FSxBX
    1672 EMIT_INSTR_PLUS_ICEBP movd,  FSxBX, XMM9
    1673  %endif
     1091EMIT_INSTR_PLUS_ICEBP_C64 movd,  XMM9,  R8D
     1092EMIT_INSTR_PLUS_ICEBP_C64 movd,  R8D,   XMM9
     1093EMIT_INSTR_PLUS_ICEBP_C64 movd,  XMM9,  FSxBX
     1094EMIT_INSTR_PLUS_ICEBP_C64 movd,  FSxBX, XMM9
    16741095
    16751096EMIT_INSTR_PLUS_ICEBP vmovd, XMM1,  EAX
     
    16771098EMIT_INSTR_PLUS_ICEBP vmovd, FSxBX, XMM1
    16781099EMIT_INSTR_PLUS_ICEBP vmovd, EDX,   XMM1
     1100EMIT_INSTR_PLUS_ICEBP_C64 vmovd, XMM9,  R9D
     1101EMIT_INSTR_PLUS_ICEBP_C64 vmovd, R8D,   XMM9
     1102EMIT_INSTR_PLUS_ICEBP_C64 vmovd, XMM9,  FSxBX
     1103EMIT_INSTR_PLUS_ICEBP_C64 vmovd, FSxBX, XMM9
     1104
     1105;
     1106; [V]MOVQ - some hand coded stuff here as the assembler prefers the 7f/6f variants.
     1107;
     1108EMIT_INSTR_PLUS_ICEBP_MMX movq
     1109EMIT_INSTR_PLUS_ICEBP movq,  FSxBX, MM1
     1110EMIT_INSTR_PLUS_ICEBP_C64 movq,  R9,    MM1
     1111EMIT_INSTR_PLUS_ICEBP_C64 movq,  MM1,   R9
    16791112 %if TMPL_BITS == 64
    1680 EMIT_INSTR_PLUS_ICEBP vmovd, XMM9,  R9D
    1681 EMIT_INSTR_PLUS_ICEBP vmovd, R8D,   XMM9
    1682 EMIT_INSTR_PLUS_ICEBP vmovd, XMM9,  FSxBX
    1683 EMIT_INSTR_PLUS_ICEBP vmovd, FSxBX, XMM9
    1684  %endif
    1685 
    1686 ;
    1687 ; [V]MOVQ - some hand coded stuff here as the assembler prefers the 7f/6f variants.
    1688 ;
    1689 EMIT_INSTR_PLUS_ICEBP movq,  MM1,   MM2
    1690 EMIT_INSTR_PLUS_ICEBP movq,  MM1,   FSxBX
    1691 EMIT_INSTR_PLUS_ICEBP movq,  FSxBX, MM1
    1692  %if TMPL_BITS == 64
    1693 EMIT_INSTR_PLUS_ICEBP movq,  R9,    MM1
    1694 EMIT_INSTR_PLUS_ICEBP movq,  MM1,   R9
    16951113EMIT_INSTR_PLUS_ICEBP_BYTES 06e_movq_MM1_FSxBX,  FSxBX_PFX, 48h, 0fh, 06eh, FSxBX_MODRM | (1 << X86_MODRM_REG_SHIFT)
    16961114EMIT_INSTR_PLUS_ICEBP_BYTES 07e_movq_FSxBX_MM1,  FSxBX_PFX, 48h, 0fh, 07eh, FSxBX_MODRM | (1 << X86_MODRM_REG_SHIFT)
    16971115 %endif
    16981116
    1699 EMIT_INSTR_PLUS_ICEBP movq,  XMM1,  XMM2
    1700 EMIT_INSTR_PLUS_ICEBP movq,  XMM1,  FSxBX
     1117EMIT_INSTR_PLUS_ICEBP_XMM movq
    17011118EMIT_INSTR_PLUS_ICEBP movq,  FSxBX, XMM1
     1119EMIT_INSTR_PLUS_ICEBP_C64 movq,  XMM9,  R8
     1120EMIT_INSTR_PLUS_ICEBP_C64 movq,  R8,    XMM9
     1121EMIT_INSTR_PLUS_ICEBP_C64 movq,  XMM9,  FSxBX
     1122EMIT_INSTR_PLUS_ICEBP_C64 movq,  FSxBX, XMM9
    17021123 %if TMPL_BITS == 64
    1703 EMIT_INSTR_PLUS_ICEBP movq,  XMM9,  R8
    1704 EMIT_INSTR_PLUS_ICEBP movq,  R8,    XMM9
    1705 EMIT_INSTR_PLUS_ICEBP movq,  XMM9,  FSxBX
    1706 EMIT_INSTR_PLUS_ICEBP movq,  FSxBX, XMM9
    17071124EMIT_INSTR_PLUS_ICEBP_BYTES 06e_movq_XMM1_FSxBX,  FSxBX_PFX, 66h, 48h, 0fh, 06eh, FSxBX_MODRM | (1 << X86_MODRM_REG_SHIFT)
    17081125EMIT_INSTR_PLUS_ICEBP_BYTES 06e_movq_XMM9_FSxBX,  FSxBX_PFX, 66h, 4ch, 0fh, 06eh, FSxBX_MODRM | (1 << X86_MODRM_REG_SHIFT)
     
    17111128 %endif
    17121129
    1713 EMIT_INSTR_PLUS_ICEBP vmovq,  XMM1,  XMM2
    1714 EMIT_INSTR_PLUS_ICEBP vmovq,  XMM1,  FSxBX
     1130EMIT_INSTR_PLUS_ICEBP_XMM vmovq
    17151131EMIT_INSTR_PLUS_ICEBP_BYTES 06e_vmovq_XMM1_FSxBX, FSxBX_PFX, 0c4h, 0e1h, 0f9h, 06eh, FSxBX_MODRM | (1 << X86_MODRM_REG_SHIFT)
    17161132EMIT_INSTR_PLUS_ICEBP vmovq,  FSxBX, XMM1
    17171133EMIT_INSTR_PLUS_ICEBP_BYTES 07e_vmovq_FSxBX_XMM1, FSxBX_PFX, 0c4h, 0e1h, 0f9h, 07eh, FSxBX_MODRM | (1 << X86_MODRM_REG_SHIFT)
     1134EMIT_INSTR_PLUS_ICEBP_C64 vmovq,  XMM9,  R8
     1135EMIT_INSTR_PLUS_ICEBP_C64 vmovq,  R8,    XMM9
     1136EMIT_INSTR_PLUS_ICEBP_C64 vmovq,  XMM9,  FSxBX
     1137EMIT_INSTR_PLUS_ICEBP_C64 vmovq,  FSxBX, XMM9
    17181138 %if TMPL_BITS == 64
    1719 EMIT_INSTR_PLUS_ICEBP vmovq,  XMM9,  R8
    1720 EMIT_INSTR_PLUS_ICEBP vmovq,  R8,    XMM9
    1721 EMIT_INSTR_PLUS_ICEBP vmovq,  XMM9,  FSxBX
    1722 EMIT_INSTR_PLUS_ICEBP vmovq,  FSxBX, XMM9
    17231139EMIT_INSTR_PLUS_ICEBP_BYTES 06e_vmovq_XMM9_FSxBX, FSxBX_PFX, 0c4h, 061h, 0f9h, 06eh, FSxBX_MODRM | (1 << X86_MODRM_REG_SHIFT)
    17241140EMIT_INSTR_PLUS_ICEBP_BYTES 07e_vmovq_FSxBX_XMM9, FSxBX_PFX, 0c4h, 061h, 0f9h, 07eh, FSxBX_MODRM | (1 << X86_MODRM_REG_SHIFT)
     
    17281144; [V]MOVDQU - not testing the 2nd register variant.
    17291145;
    1730 EMIT_INSTR_PLUS_ICEBP movdqu,  XMM1, XMM2
     1146EMIT_INSTR_PLUS_ICEBP_XMM movdqu
    17311147EMIT_INSTR_PLUS_ICEBP_BYTES 07f_movdqu_XMM1_XMM2, 0f3h, 00fh, 07fh, X86_MODRM_MAKE(3, 2, 1)
    1732 EMIT_INSTR_PLUS_ICEBP movdqu,  XMM1, FSxBX
    17331148EMIT_INSTR_PLUS_ICEBP movdqu,  FSxBX, XMM1
    17341149EMIT_INSTR_PLUS_ICEBP vmovdqu, XMM1, XMM2        ; C5 FA 6F CA
     
    17401155EMIT_INSTR_PLUS_ICEBP vmovdqu, YMM1, FSxBX
    17411156EMIT_INSTR_PLUS_ICEBP vmovdqu, FSxBX, YMM1
     1157EMIT_INSTR_PLUS_ICEBP_C64 movdqu,  XMM8,  XMM12      ; F3 45 0F 6F C4
    17421158 %if TMPL_BITS == 64
    1743 EMIT_INSTR_PLUS_ICEBP movdqu,  XMM8,  XMM12      ; F3 45 0F 6F C4
    17441159EMIT_INSTR_PLUS_ICEBP_BYTES 07f_movdqu_XMM8_XMM12, 0f3h, 045h, 00fh, 07fh, X86_MODRM_MAKE(3, 4, 0)
    1745 EMIT_INSTR_PLUS_ICEBP movdqu,  XMM10, FSxBX
    1746 EMIT_INSTR_PLUS_ICEBP movdqu,  FSxBX, XMM10
    1747 EMIT_INSTR_PLUS_ICEBP vmovdqu, XMM7,  XMM14
    1748 EMIT_INSTR_PLUS_ICEBP vmovdqu, XMM11, FSxBX
    1749 EMIT_INSTR_PLUS_ICEBP vmovdqu, FSxBX, XMM11
    1750 EMIT_INSTR_PLUS_ICEBP vmovdqu, YMM12, YMM8
    1751 EMIT_INSTR_PLUS_ICEBP vmovdqu, YMM12, FSxBX
    1752 EMIT_INSTR_PLUS_ICEBP vmovdqu, FSxBX, YMM12
    17531160 %endif
     1161EMIT_INSTR_PLUS_ICEBP_C64 movdqu,  XMM10, FSxBX
     1162EMIT_INSTR_PLUS_ICEBP_C64 movdqu,  FSxBX, XMM10
     1163EMIT_INSTR_PLUS_ICEBP_C64 vmovdqu, XMM7,  XMM14
     1164EMIT_INSTR_PLUS_ICEBP_C64 vmovdqu, XMM11, FSxBX
     1165EMIT_INSTR_PLUS_ICEBP_C64 vmovdqu, FSxBX, XMM11
     1166EMIT_INSTR_PLUS_ICEBP_C64 vmovdqu, YMM12, YMM8
     1167EMIT_INSTR_PLUS_ICEBP_C64 vmovdqu, YMM12, FSxBX
     1168EMIT_INSTR_PLUS_ICEBP_C64 vmovdqu, FSxBX, YMM12
    17541169
    17551170;
    17561171; [V]MOVDQA - not testing the 2nd register variant.
    17571172;
    1758 EMIT_INSTR_PLUS_ICEBP movdqa,  XMM1, XMM2
     1173EMIT_INSTR_PLUS_ICEBP_XMM movdqa
    17591174EMIT_INSTR_PLUS_ICEBP_BYTES 07f_movdqa_XMM1_XMM2, 066h, 00fh, 07fh, X86_MODRM_MAKE(3, 2, 1)
    1760 EMIT_INSTR_PLUS_ICEBP movdqa,  XMM1, FSxBX
    17611175EMIT_INSTR_PLUS_ICEBP movdqa,  FSxBX, XMM1
    1762 EMIT_INSTR_PLUS_ICEBP vmovdqa, XMM1, XMM2
     1176EMIT_INSTR_PLUS_ICEBP_XMM vmovdqa
    17631177EMIT_INSTR_PLUS_ICEBP_BYTES 07f_vmovdqa_XMM1_XMM2, 0c5h, 0f9h, 07fh, X86_MODRM_MAKE(3, 2, 1)
    1764 EMIT_INSTR_PLUS_ICEBP vmovdqa, XMM1, FSxBX
    17651178EMIT_INSTR_PLUS_ICEBP vmovdqa, FSxBX, XMM1
    1766 EMIT_INSTR_PLUS_ICEBP vmovdqa, YMM1, YMM2
     1179EMIT_INSTR_PLUS_ICEBP_YMM vmovdqa
    17671180EMIT_INSTR_PLUS_ICEBP_BYTES 07f_vmovdqa_YMM1_YMM2, 0c5h, 0fdh, 07fh, X86_MODRM_MAKE(3, 2, 1)
    1768 EMIT_INSTR_PLUS_ICEBP vmovdqa, YMM1, FSxBX
    17691181EMIT_INSTR_PLUS_ICEBP vmovdqa, FSxBX, YMM1
    17701182 %if TMPL_BITS == 64
    1771 EMIT_INSTR_PLUS_ICEBP movdqa,  XMM8,  XMM12      ; 66 45 0F 6F C4
     1183EMIT_INSTR_PLUS_ICEBP_C64 movdqa,  XMM8,  XMM12      ; 66 45 0F 6F C4
    17721184EMIT_INSTR_PLUS_ICEBP_BYTES 07f_movdqa_XMM8_XMM12, 066h, 045h, 00fh, 07fh, X86_MODRM_MAKE(3, 4, 0)
    1773 EMIT_INSTR_PLUS_ICEBP movdqa,  XMM10, FSxBX
    1774 EMIT_INSTR_PLUS_ICEBP movdqa,  FSxBX, XMM10
    1775 EMIT_INSTR_PLUS_ICEBP vmovdqa, XMM8,  XMM14       ; C4     C1   79    6F   FE
     1185EMIT_INSTR_PLUS_ICEBP_C64 movdqa,  XMM10, FSxBX
     1186EMIT_INSTR_PLUS_ICEBP_C64 movdqa,  FSxBX, XMM10
     1187EMIT_INSTR_PLUS_ICEBP_C64 vmovdqa, XMM8,  XMM14       ; C4     C1   79    6F   FE
    17761188EMIT_INSTR_PLUS_ICEBP_BYTES 07f_vmovdqa_XMM8_XMM14, 0c4h, 041h, 79h, 07fh, X86_MODRM_MAKE(3, 6, 0)
    1777 EMIT_INSTR_PLUS_ICEBP vmovdqa, XMM11, FSxBX
    1778 EMIT_INSTR_PLUS_ICEBP vmovdqa, FSxBX, XMM11
    1779 EMIT_INSTR_PLUS_ICEBP vmovdqa, YMM12, YMM8
     1189EMIT_INSTR_PLUS_ICEBP_C64 vmovdqa, XMM11, FSxBX
     1190EMIT_INSTR_PLUS_ICEBP_C64 vmovdqa, FSxBX, XMM11
     1191EMIT_INSTR_PLUS_ICEBP_C64 vmovdqa, YMM12, YMM8
    17801192EMIT_INSTR_PLUS_ICEBP_BYTES 07f_vmovdqa_YMM12_YMM8, 0c4h, 041h, 7dh, 07fh, X86_MODRM_MAKE(3, 0, 4)
    1781 EMIT_INSTR_PLUS_ICEBP vmovdqa, YMM12, FSxBX
    1782 EMIT_INSTR_PLUS_ICEBP vmovdqa, FSxBX, YMM12
     1193EMIT_INSTR_PLUS_ICEBP_C64 vmovdqa, YMM12, FSxBX
     1194EMIT_INSTR_PLUS_ICEBP_C64 vmovdqa, FSxBX, YMM12
    17831195 %endif
    17841196
     
    17861198; [V]PTEST
    17871199;
    1788 EMIT_INSTR_PLUS_ICEBP ptest,  XMM1, XMM2
    1789 EMIT_INSTR_PLUS_ICEBP ptest,  XMM1, FSxBX
    1790 EMIT_INSTR_PLUS_ICEBP vptest, XMM1, XMM2
    1791 EMIT_INSTR_PLUS_ICEBP vptest, XMM1, FSxBX
    1792 EMIT_INSTR_PLUS_ICEBP vptest, YMM1, YMM2
    1793 EMIT_INSTR_PLUS_ICEBP vptest, YMM1, FSxBX
    1794  %if TMPL_BITS == 64
    1795 EMIT_INSTR_PLUS_ICEBP ptest,  XMM9, XMM8
    1796 EMIT_INSTR_PLUS_ICEBP ptest,  XMM9, FSxBX
    1797 EMIT_INSTR_PLUS_ICEBP vptest, XMM9, XMM8
    1798 EMIT_INSTR_PLUS_ICEBP vptest, XMM9, FSxBX
    1799 EMIT_INSTR_PLUS_ICEBP vptest, YMM9, YMM8
    1800 EMIT_INSTR_PLUS_ICEBP vptest, YMM9, FSxBX
    1801  %endif
     1200EMIT_INSTR_PLUS_ICEBP_XMM ptest
     1201EMIT_INSTR_PLUS_ICEBP_XMM vptest
     1202EMIT_INSTR_PLUS_ICEBP_YMM vptest
     1203EMIT_INSTR_PLUS_ICEBP_XMM_98 ptest
     1204EMIT_INSTR_PLUS_ICEBP_XMM_98 vptest
     1205EMIT_INSTR_PLUS_ICEBP_C64 vptest, YMM9, YMM8
     1206EMIT_INSTR_PLUS_ICEBP_C64 vptest, YMM9, FSxBX
    18021207
    18031208;
    18041209; [V]PAVGB
    18051210;
    1806 EMIT_INSTR_PLUS_ICEBP   pavgb, MM1, MM2
    1807 EMIT_INSTR_PLUS_ICEBP   pavgb, MM1, FSxBX
    1808 
    1809 EMIT_INSTR_PLUS_ICEBP   pavgb, XMM1, XMM2
    1810 EMIT_INSTR_PLUS_ICEBP   pavgb, XMM1, FSxBX
    1811  %if TMPL_BITS == 64
    1812 EMIT_INSTR_PLUS_ICEBP   pavgb, XMM8, XMM9
    1813 EMIT_INSTR_PLUS_ICEBP   pavgb, XMM8, FSxBX
    1814  %endif
    1815 
    1816 EMIT_INSTR_PLUS_ICEBP   vpavgb, XMM1, XMM2, XMM3
    1817 EMIT_INSTR_PLUS_ICEBP   vpavgb, XMM1, XMM2, FSxBX
    1818  %if TMPL_BITS == 64
    1819 EMIT_INSTR_PLUS_ICEBP   vpavgb, XMM8, XMM9, XMM10
    1820 EMIT_INSTR_PLUS_ICEBP   vpavgb, XMM8, XMM9, FSxBX
    1821  %endif
    1822 
    1823 EMIT_INSTR_PLUS_ICEBP   vpavgb, YMM1, YMM2, YMM3
    1824 EMIT_INSTR_PLUS_ICEBP   vpavgb, YMM1, YMM2, FSxBX
    1825  %if TMPL_BITS == 64
    1826 EMIT_INSTR_PLUS_ICEBP   vpavgb, YMM8, YMM9, YMM10
    1827 EMIT_INSTR_PLUS_ICEBP   vpavgb, YMM8, YMM9, FSxBX
    1828  %endif
     1211EMIT_INSTR_PLUS_ICEBP_MMX   pavgb
     1212
     1213EMIT_INSTR_PLUS_ICEBP_XMM   pavgb
     1214EMIT_INSTR_PLUS_ICEBP_XMM_89   pavgb
     1215
     1216EMIT_INSTR_PLUS_ICEBP_XMM_123   vpavgb
     1217EMIT_INSTR_PLUS_ICEBP_XMM_890   vpavgb
     1218
     1219EMIT_INSTR_PLUS_ICEBP_YMM_123   vpavgb
     1220EMIT_INSTR_PLUS_ICEBP_YMM_890   vpavgb
    18291221
    18301222;
    18311223; [V]PAVGW
    18321224;
    1833 EMIT_INSTR_PLUS_ICEBP   pavgw, MM1, MM2
    1834 EMIT_INSTR_PLUS_ICEBP   pavgw, MM1, FSxBX
    1835 
    1836 EMIT_INSTR_PLUS_ICEBP   pavgw, XMM1, XMM2
    1837 EMIT_INSTR_PLUS_ICEBP   pavgw, XMM1, FSxBX
    1838  %if TMPL_BITS == 64
    1839 EMIT_INSTR_PLUS_ICEBP   pavgw, XMM8, XMM9
    1840 EMIT_INSTR_PLUS_ICEBP   pavgw, XMM8, FSxBX
    1841  %endif
    1842 
    1843 EMIT_INSTR_PLUS_ICEBP   vpavgw, XMM1, XMM2, XMM3
    1844 EMIT_INSTR_PLUS_ICEBP   vpavgw, XMM1, XMM2, FSxBX
    1845  %if TMPL_BITS == 64
    1846 EMIT_INSTR_PLUS_ICEBP   vpavgw, XMM8, XMM9, XMM10
    1847 EMIT_INSTR_PLUS_ICEBP   vpavgw, XMM8, XMM9, FSxBX
    1848  %endif
    1849 
    1850 EMIT_INSTR_PLUS_ICEBP   vpavgw, YMM1, YMM2, YMM3
    1851 EMIT_INSTR_PLUS_ICEBP   vpavgw, YMM1, YMM2, FSxBX
    1852  %if TMPL_BITS == 64
    1853 EMIT_INSTR_PLUS_ICEBP   vpavgw, YMM8, YMM9, YMM10
    1854 EMIT_INSTR_PLUS_ICEBP   vpavgw, YMM8, YMM9, FSxBX
    1855  %endif
     1225EMIT_INSTR_PLUS_ICEBP_MMX   pavgw
     1226
     1227EMIT_INSTR_PLUS_ICEBP_XMM   pavgw
     1228EMIT_INSTR_PLUS_ICEBP_XMM_89   pavgw
     1229
     1230EMIT_INSTR_PLUS_ICEBP_XMM_123   vpavgw
     1231EMIT_INSTR_PLUS_ICEBP_XMM_890   vpavgw
     1232
     1233EMIT_INSTR_PLUS_ICEBP_YMM_123   vpavgw
     1234EMIT_INSTR_PLUS_ICEBP_YMM_890   vpavgw
    18561235
    18571236;
    18581237; [V]PSIGNB
    18591238;
    1860 EMIT_INSTR_PLUS_ICEBP   psignb, MM1, MM2
    1861 EMIT_INSTR_PLUS_ICEBP   psignb, MM1, FSxBX
    1862 
    1863 EMIT_INSTR_PLUS_ICEBP   psignb, XMM1, XMM2
    1864 EMIT_INSTR_PLUS_ICEBP   psignb, XMM1, FSxBX
    1865  %if TMPL_BITS == 64
    1866 EMIT_INSTR_PLUS_ICEBP   psignb, XMM8, XMM9
    1867 EMIT_INSTR_PLUS_ICEBP   psignb, XMM8, FSxBX
    1868  %endif
    1869 
    1870 EMIT_INSTR_PLUS_ICEBP   vpsignb, XMM1, XMM2, XMM3
    1871 EMIT_INSTR_PLUS_ICEBP   vpsignb, XMM1, XMM2, FSxBX
    1872  %if TMPL_BITS == 64
    1873 EMIT_INSTR_PLUS_ICEBP   vpsignb, XMM8, XMM9, XMM10
    1874 EMIT_INSTR_PLUS_ICEBP   vpsignb, XMM8, XMM9, FSxBX
    1875  %endif
    1876 
    1877 EMIT_INSTR_PLUS_ICEBP   vpsignb, YMM1, YMM2, YMM3
    1878 EMIT_INSTR_PLUS_ICEBP   vpsignb, YMM1, YMM2, FSxBX
    1879  %if TMPL_BITS == 64
    1880 EMIT_INSTR_PLUS_ICEBP   vpsignb, YMM8, YMM9, YMM10
    1881 EMIT_INSTR_PLUS_ICEBP   vpsignb, YMM8, YMM9, FSxBX
    1882  %endif
     1239EMIT_INSTR_PLUS_ICEBP_MMX   psignb
     1240
     1241EMIT_INSTR_PLUS_ICEBP_XMM   psignb
     1242EMIT_INSTR_PLUS_ICEBP_XMM_89   psignb
     1243
     1244EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsignb
     1245EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsignb
     1246
     1247EMIT_INSTR_PLUS_ICEBP_YMM_123   vpsignb
     1248EMIT_INSTR_PLUS_ICEBP_YMM_890   vpsignb
    18831249
    18841250;
    18851251; [V]PSIGNW
    18861252;
    1887 EMIT_INSTR_PLUS_ICEBP   psignw, MM1, MM2
    1888 EMIT_INSTR_PLUS_ICEBP   psignw, MM1, FSxBX
    1889 
    1890 EMIT_INSTR_PLUS_ICEBP   psignw, XMM1, XMM2
    1891 EMIT_INSTR_PLUS_ICEBP   psignw, XMM1, FSxBX
    1892  %if TMPL_BITS == 64
    1893 EMIT_INSTR_PLUS_ICEBP   psignw, XMM8, XMM9
    1894 EMIT_INSTR_PLUS_ICEBP   psignw, XMM8, FSxBX
    1895  %endif
    1896 
    1897 EMIT_INSTR_PLUS_ICEBP   vpsignw, XMM1, XMM2, XMM3
    1898 EMIT_INSTR_PLUS_ICEBP   vpsignw, XMM1, XMM2, FSxBX
    1899  %if TMPL_BITS == 64
    1900 EMIT_INSTR_PLUS_ICEBP   vpsignw, XMM8, XMM9, XMM10
    1901 EMIT_INSTR_PLUS_ICEBP   vpsignw, XMM8, XMM9, FSxBX
    1902  %endif
    1903 
    1904 EMIT_INSTR_PLUS_ICEBP   vpsignw, YMM1, YMM2, YMM3
    1905 EMIT_INSTR_PLUS_ICEBP   vpsignw, YMM1, YMM2, FSxBX
    1906  %if TMPL_BITS == 64
    1907 EMIT_INSTR_PLUS_ICEBP   vpsignw, YMM8, YMM9, YMM10
    1908 EMIT_INSTR_PLUS_ICEBP   vpsignw, YMM8, YMM9, FSxBX
    1909  %endif
     1253EMIT_INSTR_PLUS_ICEBP_MMX   psignw
     1254
     1255EMIT_INSTR_PLUS_ICEBP_XMM   psignw
     1256EMIT_INSTR_PLUS_ICEBP_XMM_89   psignw
     1257
     1258EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsignw
     1259EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsignw
     1260
     1261EMIT_INSTR_PLUS_ICEBP_YMM_123   vpsignw
     1262EMIT_INSTR_PLUS_ICEBP_YMM_890   vpsignw
    19101263
    19111264;
    19121265; [V]PSIGND
    19131266;
    1914 EMIT_INSTR_PLUS_ICEBP   psignd, MM1, MM2
    1915 EMIT_INSTR_PLUS_ICEBP   psignd, MM1, FSxBX
    1916 
    1917 EMIT_INSTR_PLUS_ICEBP   psignd, XMM1, XMM2
    1918 EMIT_INSTR_PLUS_ICEBP   psignd, XMM1, FSxBX
    1919  %if TMPL_BITS == 64
    1920 EMIT_INSTR_PLUS_ICEBP   psignd, XMM8, XMM9
    1921 EMIT_INSTR_PLUS_ICEBP   psignd, XMM8, FSxBX
    1922  %endif
    1923 
    1924 EMIT_INSTR_PLUS_ICEBP   vpsignd, XMM1, XMM2, XMM3
    1925 EMIT_INSTR_PLUS_ICEBP   vpsignd, XMM1, XMM2, FSxBX
    1926  %if TMPL_BITS == 64
    1927 EMIT_INSTR_PLUS_ICEBP   vpsignd, XMM8, XMM9, XMM10
    1928 EMIT_INSTR_PLUS_ICEBP   vpsignd, XMM8, XMM9, FSxBX
    1929  %endif
    1930 
    1931 EMIT_INSTR_PLUS_ICEBP   vpsignd, YMM1, YMM2, YMM3
    1932 EMIT_INSTR_PLUS_ICEBP   vpsignd, YMM1, YMM2, FSxBX
    1933  %if TMPL_BITS == 64
    1934 EMIT_INSTR_PLUS_ICEBP   vpsignd, YMM8, YMM9, YMM10
    1935 EMIT_INSTR_PLUS_ICEBP   vpsignd, YMM8, YMM9, FSxBX
    1936  %endif
     1267EMIT_INSTR_PLUS_ICEBP_MMX   psignd
     1268
     1269EMIT_INSTR_PLUS_ICEBP_XMM   psignd
     1270EMIT_INSTR_PLUS_ICEBP_XMM_89   psignd
     1271
     1272EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsignd
     1273EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsignd
     1274
     1275EMIT_INSTR_PLUS_ICEBP_YMM_123   vpsignd
     1276EMIT_INSTR_PLUS_ICEBP_YMM_890   vpsignd
    19371277
    19381278;
    19391279; [V]ABSB
    19401280;
    1941 EMIT_INSTR_PLUS_ICEBP pabsb,  MM1, MM2
    1942 EMIT_INSTR_PLUS_ICEBP pabsb,  MM1, FSxBX
    1943 EMIT_INSTR_PLUS_ICEBP pabsb,  XMM1, XMM2
    1944 EMIT_INSTR_PLUS_ICEBP pabsb,  XMM1, FSxBX
    1945 EMIT_INSTR_PLUS_ICEBP vpabsb, XMM1, XMM2
    1946 EMIT_INSTR_PLUS_ICEBP vpabsb, XMM1, FSxBX
    1947 EMIT_INSTR_PLUS_ICEBP vpabsb, YMM1, YMM2
    1948 EMIT_INSTR_PLUS_ICEBP vpabsb, YMM1, FSxBX
    1949  %if TMPL_BITS == 64
    1950 EMIT_INSTR_PLUS_ICEBP pabsb,  XMM9, XMM8
    1951 EMIT_INSTR_PLUS_ICEBP pabsb,  XMM9, FSxBX
    1952 EMIT_INSTR_PLUS_ICEBP vpabsb, XMM9, XMM8
    1953 EMIT_INSTR_PLUS_ICEBP vpabsb, XMM9, FSxBX
    1954 EMIT_INSTR_PLUS_ICEBP vpabsb, YMM9, YMM8
    1955 EMIT_INSTR_PLUS_ICEBP vpabsb, YMM9, FSxBX
    1956  %endif
     1281EMIT_INSTR_PLUS_ICEBP_MMX pabsb
     1282EMIT_INSTR_PLUS_ICEBP_XMM pabsb
     1283EMIT_INSTR_PLUS_ICEBP_XMM vpabsb
     1284EMIT_INSTR_PLUS_ICEBP_YMM vpabsb
     1285EMIT_INSTR_PLUS_ICEBP_XMM_98 pabsb
     1286EMIT_INSTR_PLUS_ICEBP_XMM_98 vpabsb
     1287EMIT_INSTR_PLUS_ICEBP_C64 vpabsb, YMM9, YMM8
     1288EMIT_INSTR_PLUS_ICEBP_C64 vpabsb, YMM9, FSxBX
    19571289
    19581290;
    19591291; [V]ABSW
    19601292;
    1961 EMIT_INSTR_PLUS_ICEBP pabsw,  MM1, MM2
    1962 EMIT_INSTR_PLUS_ICEBP pabsw,  MM1, FSxBX
    1963 EMIT_INSTR_PLUS_ICEBP pabsw,  XMM1, XMM2
    1964 EMIT_INSTR_PLUS_ICEBP pabsw,  XMM1, FSxBX
    1965 EMIT_INSTR_PLUS_ICEBP vpabsw, XMM1, XMM2
    1966 EMIT_INSTR_PLUS_ICEBP vpabsw, XMM1, FSxBX
    1967 EMIT_INSTR_PLUS_ICEBP vpabsw, YMM1, YMM2
    1968 EMIT_INSTR_PLUS_ICEBP vpabsw, YMM1, FSxBX
    1969  %if TMPL_BITS == 64
    1970 EMIT_INSTR_PLUS_ICEBP pabsw,  XMM9, XMM8
    1971 EMIT_INSTR_PLUS_ICEBP pabsw,  XMM9, FSxBX
    1972 EMIT_INSTR_PLUS_ICEBP vpabsw, XMM9, XMM8
    1973 EMIT_INSTR_PLUS_ICEBP vpabsw, XMM9, FSxBX
    1974 EMIT_INSTR_PLUS_ICEBP vpabsw, YMM9, YMM8
    1975 EMIT_INSTR_PLUS_ICEBP vpabsw, YMM9, FSxBX
    1976  %endif
     1293EMIT_INSTR_PLUS_ICEBP_MMX pabsw
     1294EMIT_INSTR_PLUS_ICEBP_XMM pabsw
     1295EMIT_INSTR_PLUS_ICEBP_XMM vpabsw
     1296EMIT_INSTR_PLUS_ICEBP_YMM vpabsw
     1297EMIT_INSTR_PLUS_ICEBP_XMM_98 pabsw
     1298EMIT_INSTR_PLUS_ICEBP_XMM_98 vpabsw
     1299EMIT_INSTR_PLUS_ICEBP_C64 vpabsw, YMM9, YMM8
     1300EMIT_INSTR_PLUS_ICEBP_C64 vpabsw, YMM9, FSxBX
    19771301
    19781302;
    19791303; [V]ABSD
    19801304;
    1981 EMIT_INSTR_PLUS_ICEBP pabsd,  MM1, MM2
    1982 EMIT_INSTR_PLUS_ICEBP pabsd,  MM1, FSxBX
    1983 EMIT_INSTR_PLUS_ICEBP pabsd,  XMM1, XMM2
    1984 EMIT_INSTR_PLUS_ICEBP pabsd,  XMM1, FSxBX
    1985 EMIT_INSTR_PLUS_ICEBP vpabsd, XMM1, XMM2
    1986 EMIT_INSTR_PLUS_ICEBP vpabsd, XMM1, FSxBX
    1987 EMIT_INSTR_PLUS_ICEBP vpabsd, YMM1, YMM2
    1988 EMIT_INSTR_PLUS_ICEBP vpabsd, YMM1, FSxBX
    1989  %if TMPL_BITS == 64
    1990 EMIT_INSTR_PLUS_ICEBP pabsd,  XMM9, XMM8
    1991 EMIT_INSTR_PLUS_ICEBP pabsd,  XMM9, FSxBX
    1992 EMIT_INSTR_PLUS_ICEBP vpabsd, XMM9, XMM8
    1993 EMIT_INSTR_PLUS_ICEBP vpabsd, XMM9, FSxBX
    1994 EMIT_INSTR_PLUS_ICEBP vpabsd, YMM9, YMM8
    1995 EMIT_INSTR_PLUS_ICEBP vpabsd, YMM9, FSxBX
    1996  %endif
     1305EMIT_INSTR_PLUS_ICEBP_MMX pabsd
     1306EMIT_INSTR_PLUS_ICEBP_XMM pabsd
     1307EMIT_INSTR_PLUS_ICEBP_XMM vpabsd
     1308EMIT_INSTR_PLUS_ICEBP_YMM vpabsd
     1309EMIT_INSTR_PLUS_ICEBP_XMM_98 pabsd
     1310EMIT_INSTR_PLUS_ICEBP_XMM_98 vpabsd
     1311EMIT_INSTR_PLUS_ICEBP_C64 vpabsd, YMM9, YMM8
     1312EMIT_INSTR_PLUS_ICEBP_C64 vpabsd, YMM9, FSxBX
    19971313
    19981314;
    19991315; [V]PHADDW
    20001316;
    2001 EMIT_INSTR_PLUS_ICEBP   phaddw, MM1, MM2
    2002 EMIT_INSTR_PLUS_ICEBP   phaddw, MM1, FSxBX
    2003 EMIT_INSTR_PLUS_ICEBP   phaddw, XMM1, XMM2
    2004 EMIT_INSTR_PLUS_ICEBP   phaddw, XMM1, FSxBX
    2005 EMIT_INSTR_PLUS_ICEBP   vphaddw, XMM1, XMM2, XMM3
    2006 EMIT_INSTR_PLUS_ICEBP   vphaddw, XMM1, XMM2, FSxBX
    2007 EMIT_INSTR_PLUS_ICEBP   vphaddw, YMM1, YMM2, YMM3
    2008 EMIT_INSTR_PLUS_ICEBP   vphaddw, YMM1, YMM2, FSxBX
    2009  %if TMPL_BITS == 64
    2010 EMIT_INSTR_PLUS_ICEBP   phaddw, XMM8, XMM9
    2011 EMIT_INSTR_PLUS_ICEBP   phaddw, XMM8, FSxBX
    2012 EMIT_INSTR_PLUS_ICEBP   vphaddw, XMM8, XMM9, XMM10
    2013 EMIT_INSTR_PLUS_ICEBP   vphaddw, XMM8, XMM9, FSxBX
    2014 EMIT_INSTR_PLUS_ICEBP   vphaddw, YMM8, YMM9, YMM10
    2015 EMIT_INSTR_PLUS_ICEBP   vphaddw, YMM8, YMM9, FSxBX
    2016  %endif
     1317EMIT_INSTR_PLUS_ICEBP_MMX   phaddw
     1318EMIT_INSTR_PLUS_ICEBP_XMM   phaddw
     1319EMIT_INSTR_PLUS_ICEBP_XMM_123   vphaddw
     1320EMIT_INSTR_PLUS_ICEBP_YMM_123   vphaddw
     1321EMIT_INSTR_PLUS_ICEBP_XMM_89   phaddw
     1322EMIT_INSTR_PLUS_ICEBP_XMM_890   vphaddw
     1323EMIT_INSTR_PLUS_ICEBP_YMM_890   vphaddw
    20171324
    20181325;
    20191326; [V]PHADDD
    20201327;
    2021 EMIT_INSTR_PLUS_ICEBP   phaddd, MM1, MM2
    2022 EMIT_INSTR_PLUS_ICEBP   phaddd, MM1, FSxBX
    2023 EMIT_INSTR_PLUS_ICEBP   phaddd, XMM1, XMM2
    2024 EMIT_INSTR_PLUS_ICEBP   phaddd, XMM1, FSxBX
    2025 EMIT_INSTR_PLUS_ICEBP   vphaddd, XMM1, XMM2, XMM3
    2026 EMIT_INSTR_PLUS_ICEBP   vphaddd, XMM1, XMM2, FSxBX
    2027 EMIT_INSTR_PLUS_ICEBP   vphaddd, YMM1, YMM2, YMM3
    2028 EMIT_INSTR_PLUS_ICEBP   vphaddd, YMM1, YMM2, FSxBX
    2029  %if TMPL_BITS == 64
    2030 EMIT_INSTR_PLUS_ICEBP   phaddd, XMM8, XMM9
    2031 EMIT_INSTR_PLUS_ICEBP   phaddd, XMM8, FSxBX
    2032 EMIT_INSTR_PLUS_ICEBP   vphaddd, XMM8, XMM9, XMM10
    2033 EMIT_INSTR_PLUS_ICEBP   vphaddd, XMM8, XMM9, FSxBX
    2034 EMIT_INSTR_PLUS_ICEBP   vphaddd, YMM8, YMM9, YMM10
    2035 EMIT_INSTR_PLUS_ICEBP   vphaddd, YMM8, YMM9, FSxBX
    2036  %endif
     1328EMIT_INSTR_PLUS_ICEBP_MMX   phaddd
     1329EMIT_INSTR_PLUS_ICEBP_XMM   phaddd
     1330EMIT_INSTR_PLUS_ICEBP_XMM_123   vphaddd
     1331EMIT_INSTR_PLUS_ICEBP_YMM_123   vphaddd
     1332EMIT_INSTR_PLUS_ICEBP_XMM_89   phaddd
     1333EMIT_INSTR_PLUS_ICEBP_XMM_890   vphaddd
     1334EMIT_INSTR_PLUS_ICEBP_YMM_890   vphaddd
    20371335
    20381336
     
    20401338; [V]PHSUBW
    20411339;
    2042 EMIT_INSTR_PLUS_ICEBP   phsubw, MM1, MM2
    2043 EMIT_INSTR_PLUS_ICEBP   phsubw, MM1, FSxBX
    2044 EMIT_INSTR_PLUS_ICEBP   phsubw, XMM1, XMM2
    2045 EMIT_INSTR_PLUS_ICEBP   phsubw, XMM1, FSxBX
    2046 EMIT_INSTR_PLUS_ICEBP   vphsubw, XMM1, XMM2, XMM3
    2047 EMIT_INSTR_PLUS_ICEBP   vphsubw, XMM1, XMM2, FSxBX
    2048 EMIT_INSTR_PLUS_ICEBP   vphsubw, YMM1, YMM2, YMM3
    2049 EMIT_INSTR_PLUS_ICEBP   vphsubw, YMM1, YMM2, FSxBX
    2050  %if TMPL_BITS == 64
    2051 EMIT_INSTR_PLUS_ICEBP   phsubw, XMM8, XMM9
    2052 EMIT_INSTR_PLUS_ICEBP   phsubw, XMM8, FSxBX
    2053 EMIT_INSTR_PLUS_ICEBP   vphsubw, XMM8, XMM9, XMM10
    2054 EMIT_INSTR_PLUS_ICEBP   vphsubw, XMM8, XMM9, FSxBX
    2055 EMIT_INSTR_PLUS_ICEBP   vphsubw, YMM8, YMM9, YMM10
    2056 EMIT_INSTR_PLUS_ICEBP   vphsubw, YMM8, YMM9, FSxBX
    2057  %endif
     1340EMIT_INSTR_PLUS_ICEBP_MMX   phsubw
     1341EMIT_INSTR_PLUS_ICEBP_XMM   phsubw
     1342EMIT_INSTR_PLUS_ICEBP_XMM_123   vphsubw
     1343EMIT_INSTR_PLUS_ICEBP_YMM_123   vphsubw
     1344EMIT_INSTR_PLUS_ICEBP_XMM_89   phsubw
     1345EMIT_INSTR_PLUS_ICEBP_XMM_890   vphsubw
     1346EMIT_INSTR_PLUS_ICEBP_YMM_890   vphsubw
    20581347
    20591348;
    20601349; [V]PHSUBD
    20611350;
    2062 EMIT_INSTR_PLUS_ICEBP   phsubd, MM1, MM2
    2063 EMIT_INSTR_PLUS_ICEBP   phsubd, MM1, FSxBX
    2064 EMIT_INSTR_PLUS_ICEBP   phsubd, XMM1, XMM2
    2065 EMIT_INSTR_PLUS_ICEBP   phsubd, XMM1, FSxBX
    2066 EMIT_INSTR_PLUS_ICEBP   vphsubd, XMM1, XMM2, XMM3
    2067 EMIT_INSTR_PLUS_ICEBP   vphsubd, XMM1, XMM2, FSxBX
    2068 EMIT_INSTR_PLUS_ICEBP   vphsubd, YMM1, YMM2, YMM3
    2069 EMIT_INSTR_PLUS_ICEBP   vphsubd, YMM1, YMM2, FSxBX
    2070  %if TMPL_BITS == 64
    2071 EMIT_INSTR_PLUS_ICEBP   phsubd, XMM8, XMM9
    2072 EMIT_INSTR_PLUS_ICEBP   phsubd, XMM8, FSxBX
    2073 EMIT_INSTR_PLUS_ICEBP   vphsubd, XMM8, XMM9, XMM10
    2074 EMIT_INSTR_PLUS_ICEBP   vphsubd, XMM8, XMM9, FSxBX
    2075 EMIT_INSTR_PLUS_ICEBP   vphsubd, YMM8, YMM9, YMM10
    2076 EMIT_INSTR_PLUS_ICEBP   vphsubd, YMM8, YMM9, FSxBX
    2077  %endif
     1351EMIT_INSTR_PLUS_ICEBP_MMX   phsubd
     1352EMIT_INSTR_PLUS_ICEBP_XMM   phsubd
     1353EMIT_INSTR_PLUS_ICEBP_XMM_123   vphsubd
     1354EMIT_INSTR_PLUS_ICEBP_YMM_123   vphsubd
     1355EMIT_INSTR_PLUS_ICEBP_XMM_89   phsubd
     1356EMIT_INSTR_PLUS_ICEBP_XMM_890   vphsubd
     1357EMIT_INSTR_PLUS_ICEBP_YMM_890   vphsubd
    20781358
    20791359;
    20801360; [V]PHADDSW
    20811361;
    2082 EMIT_INSTR_PLUS_ICEBP   phaddsw, MM1, MM2
    2083 EMIT_INSTR_PLUS_ICEBP   phaddsw, MM1, FSxBX
    2084 EMIT_INSTR_PLUS_ICEBP   phaddsw, XMM1, XMM2
    2085 EMIT_INSTR_PLUS_ICEBP   phaddsw, XMM1, FSxBX
    2086 EMIT_INSTR_PLUS_ICEBP   vphaddsw, XMM1, XMM2, XMM3
    2087 EMIT_INSTR_PLUS_ICEBP   vphaddsw, XMM1, XMM2, FSxBX
    2088 EMIT_INSTR_PLUS_ICEBP   vphaddsw, YMM1, YMM2, YMM3
    2089 EMIT_INSTR_PLUS_ICEBP   vphaddsw, YMM1, YMM2, FSxBX
    2090  %if TMPL_BITS == 64
    2091 EMIT_INSTR_PLUS_ICEBP   phaddsw, XMM8, XMM9
    2092 EMIT_INSTR_PLUS_ICEBP   phaddsw, XMM8, FSxBX
    2093 EMIT_INSTR_PLUS_ICEBP   vphaddsw, XMM8, XMM9, XMM10
    2094 EMIT_INSTR_PLUS_ICEBP   vphaddsw, XMM8, XMM9, FSxBX
    2095 EMIT_INSTR_PLUS_ICEBP   vphaddsw, YMM8, YMM9, YMM10
    2096 EMIT_INSTR_PLUS_ICEBP   vphaddsw, YMM8, YMM9, FSxBX
    2097  %endif
     1362EMIT_INSTR_PLUS_ICEBP_MMX   phaddsw
     1363EMIT_INSTR_PLUS_ICEBP_XMM   phaddsw
     1364EMIT_INSTR_PLUS_ICEBP_XMM_123   vphaddsw
     1365EMIT_INSTR_PLUS_ICEBP_YMM_123   vphaddsw
     1366EMIT_INSTR_PLUS_ICEBP_XMM_89   phaddsw
     1367EMIT_INSTR_PLUS_ICEBP_XMM_890   vphaddsw
     1368EMIT_INSTR_PLUS_ICEBP_YMM_890   vphaddsw
    20981369
    20991370;
    21001371; [V]PHSUBSW
    21011372;
    2102 EMIT_INSTR_PLUS_ICEBP   phsubsw, MM1, MM2
    2103 EMIT_INSTR_PLUS_ICEBP   phsubsw, MM1, FSxBX
    2104 EMIT_INSTR_PLUS_ICEBP   phsubsw, XMM1, XMM2
    2105 EMIT_INSTR_PLUS_ICEBP   phsubsw, XMM1, FSxBX
    2106 EMIT_INSTR_PLUS_ICEBP   vphsubsw, XMM1, XMM2, XMM3
    2107 EMIT_INSTR_PLUS_ICEBP   vphsubsw, XMM1, XMM2, FSxBX
    2108 EMIT_INSTR_PLUS_ICEBP   vphsubsw, YMM1, YMM2, YMM3
    2109 EMIT_INSTR_PLUS_ICEBP   vphsubsw, YMM1, YMM2, FSxBX
    2110  %if TMPL_BITS == 64
    2111 EMIT_INSTR_PLUS_ICEBP   phsubsw, XMM8, XMM9
    2112 EMIT_INSTR_PLUS_ICEBP   phsubsw, XMM8, FSxBX
    2113 EMIT_INSTR_PLUS_ICEBP   vphsubsw, XMM8, XMM9, XMM10
    2114 EMIT_INSTR_PLUS_ICEBP   vphsubsw, XMM8, XMM9, FSxBX
    2115 EMIT_INSTR_PLUS_ICEBP   vphsubsw, YMM8, YMM9, YMM10
    2116 EMIT_INSTR_PLUS_ICEBP   vphsubsw, YMM8, YMM9, FSxBX
    2117  %endif
     1373EMIT_INSTR_PLUS_ICEBP_MMX   phsubsw
     1374EMIT_INSTR_PLUS_ICEBP_XMM   phsubsw
     1375EMIT_INSTR_PLUS_ICEBP_XMM_123   vphsubsw
     1376EMIT_INSTR_PLUS_ICEBP_YMM_123   vphsubsw
     1377EMIT_INSTR_PLUS_ICEBP_XMM_89   phsubsw
     1378EMIT_INSTR_PLUS_ICEBP_XMM_890   vphsubsw
     1379EMIT_INSTR_PLUS_ICEBP_YMM_890   vphsubsw
    21181380
    21191381;
    21201382; [V]PMADDUBSW
    21211383;
    2122 EMIT_INSTR_PLUS_ICEBP   pmaddubsw,  MM1, MM2
    2123 EMIT_INSTR_PLUS_ICEBP   pmaddubsw,  MM1, FSxBX
    2124 EMIT_INSTR_PLUS_ICEBP   pmaddubsw,  XMM1, XMM2
    2125 EMIT_INSTR_PLUS_ICEBP   pmaddubsw,  XMM1, FSxBX
    2126 EMIT_INSTR_PLUS_ICEBP   vpmaddubsw, XMM1, XMM2, XMM3
    2127 EMIT_INSTR_PLUS_ICEBP   vpmaddubsw, XMM1, XMM2, FSxBX
    2128 EMIT_INSTR_PLUS_ICEBP   vpmaddubsw, YMM1, YMM2, YMM3
    2129 EMIT_INSTR_PLUS_ICEBP   vpmaddubsw, YMM1, YMM2, FSxBX
    2130  %if TMPL_BITS == 64
    2131 EMIT_INSTR_PLUS_ICEBP   pmaddubsw,  XMM8, XMM9
    2132 EMIT_INSTR_PLUS_ICEBP   pmaddubsw,  XMM8, FSxBX
    2133 EMIT_INSTR_PLUS_ICEBP   vpmaddubsw, XMM8, XMM9, XMM10
    2134 EMIT_INSTR_PLUS_ICEBP   vpmaddubsw, XMM8, XMM9, FSxBX
    2135 EMIT_INSTR_PLUS_ICEBP   vpmaddubsw, YMM8, YMM9, YMM10
    2136 EMIT_INSTR_PLUS_ICEBP   vpmaddubsw, YMM8, YMM9, FSxBX
    2137  %endif
     1384EMIT_INSTR_PLUS_ICEBP_MMX   pmaddubsw
     1385EMIT_INSTR_PLUS_ICEBP_XMM   pmaddubsw
     1386EMIT_INSTR_PLUS_ICEBP_XMM_123   vpmaddubsw
     1387EMIT_INSTR_PLUS_ICEBP_YMM_123   vpmaddubsw
     1388EMIT_INSTR_PLUS_ICEBP_XMM_89   pmaddubsw
     1389EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmaddubsw
     1390EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmaddubsw
    21381391
    21391392;
    21401393; [V]PMULHRSW
    21411394;
    2142 EMIT_INSTR_PLUS_ICEBP   pmulhrsw,  MM1, MM2
    2143 EMIT_INSTR_PLUS_ICEBP   pmulhrsw,  MM1, FSxBX
    2144 EMIT_INSTR_PLUS_ICEBP   pmulhrsw,  XMM1, XMM2
    2145 EMIT_INSTR_PLUS_ICEBP   pmulhrsw,  XMM1, FSxBX
    2146 EMIT_INSTR_PLUS_ICEBP   vpmulhrsw, XMM1, XMM2, XMM3
    2147 EMIT_INSTR_PLUS_ICEBP   vpmulhrsw, XMM1, XMM2, FSxBX
    2148 EMIT_INSTR_PLUS_ICEBP   vpmulhrsw, YMM1, YMM2, YMM3
    2149 EMIT_INSTR_PLUS_ICEBP   vpmulhrsw, YMM1, YMM2, FSxBX
    2150  %if TMPL_BITS == 64
    2151 EMIT_INSTR_PLUS_ICEBP   pmulhrsw,  XMM8, XMM9
    2152 EMIT_INSTR_PLUS_ICEBP   pmulhrsw,  XMM8, FSxBX
    2153 EMIT_INSTR_PLUS_ICEBP   vpmulhrsw, XMM8, XMM9, XMM10
    2154 EMIT_INSTR_PLUS_ICEBP   vpmulhrsw, XMM8, XMM9, FSxBX
    2155 EMIT_INSTR_PLUS_ICEBP   vpmulhrsw, YMM8, YMM9, YMM10
    2156 EMIT_INSTR_PLUS_ICEBP   vpmulhrsw, YMM8, YMM9, FSxBX
    2157  %endif
     1395EMIT_INSTR_PLUS_ICEBP_MMX   pmulhrsw
     1396EMIT_INSTR_PLUS_ICEBP_XMM   pmulhrsw
     1397EMIT_INSTR_PLUS_ICEBP_XMM_123   vpmulhrsw
     1398EMIT_INSTR_PLUS_ICEBP_YMM_123   vpmulhrsw
     1399EMIT_INSTR_PLUS_ICEBP_XMM_89   pmulhrsw
     1400EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmulhrsw
     1401EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmulhrsw
    21581402
    21591403;
    21601404; [V]PSADBW
    21611405;
    2162 EMIT_INSTR_PLUS_ICEBP   psadbw,  MM1, MM2
    2163 EMIT_INSTR_PLUS_ICEBP   psadbw,  MM1, FSxBX
    2164 EMIT_INSTR_PLUS_ICEBP   psadbw,  XMM1, XMM2
    2165 EMIT_INSTR_PLUS_ICEBP   psadbw,  XMM1, FSxBX
    2166 EMIT_INSTR_PLUS_ICEBP   vpsadbw, XMM1, XMM2, XMM3
    2167 EMIT_INSTR_PLUS_ICEBP   vpsadbw, XMM1, XMM2, FSxBX
    2168 EMIT_INSTR_PLUS_ICEBP   vpsadbw, YMM1, YMM2, YMM3
    2169 EMIT_INSTR_PLUS_ICEBP   vpsadbw, YMM1, YMM2, FSxBX
    2170  %if TMPL_BITS == 64
    2171 EMIT_INSTR_PLUS_ICEBP   psadbw,  XMM8, XMM9
    2172 EMIT_INSTR_PLUS_ICEBP   psadbw,  XMM8, FSxBX
    2173 EMIT_INSTR_PLUS_ICEBP   vpsadbw, XMM8, XMM9, XMM10
    2174 EMIT_INSTR_PLUS_ICEBP   vpsadbw, XMM8, XMM9, FSxBX
    2175 EMIT_INSTR_PLUS_ICEBP   vpsadbw, YMM8, YMM9, YMM10
    2176 EMIT_INSTR_PLUS_ICEBP   vpsadbw, YMM8, YMM9, FSxBX
    2177  %endif
     1406EMIT_INSTR_PLUS_ICEBP_MMX   psadbw
     1407EMIT_INSTR_PLUS_ICEBP_XMM   psadbw
     1408EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsadbw
     1409EMIT_INSTR_PLUS_ICEBP_YMM_123   vpsadbw
     1410EMIT_INSTR_PLUS_ICEBP_XMM_89   psadbw
     1411EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsadbw
     1412EMIT_INSTR_PLUS_ICEBP_YMM_890   vpsadbw
    21781413
    21791414;
    21801415; [V]PMULDQ
    21811416;
    2182 EMIT_INSTR_PLUS_ICEBP   pmuldq,  XMM1, XMM2
    2183 EMIT_INSTR_PLUS_ICEBP   pmuldq,  XMM1, FSxBX
    2184 EMIT_INSTR_PLUS_ICEBP   vpmuldq, XMM1, XMM2, XMM3
    2185 EMIT_INSTR_PLUS_ICEBP   vpmuldq, XMM1, XMM2, FSxBX
    2186 EMIT_INSTR_PLUS_ICEBP   vpmuldq, YMM1, YMM2, YMM3
    2187 EMIT_INSTR_PLUS_ICEBP   vpmuldq, YMM1, YMM2, FSxBX
    2188  %if TMPL_BITS == 64
    2189 EMIT_INSTR_PLUS_ICEBP   pmuldq,  XMM8, XMM9
    2190 EMIT_INSTR_PLUS_ICEBP   pmuldq,  XMM8, FSxBX
    2191 EMIT_INSTR_PLUS_ICEBP   vpmuldq, XMM8, XMM9, XMM10
    2192 EMIT_INSTR_PLUS_ICEBP   vpmuldq, XMM8, XMM9, FSxBX
    2193 EMIT_INSTR_PLUS_ICEBP   vpmuldq, YMM8, YMM9, YMM10
    2194 EMIT_INSTR_PLUS_ICEBP   vpmuldq, YMM8, YMM9, FSxBX
    2195  %endif
     1417EMIT_INSTR_PLUS_ICEBP_XMM   pmuldq
     1418EMIT_INSTR_PLUS_ICEBP_XMM_123   vpmuldq
     1419EMIT_INSTR_PLUS_ICEBP_YMM_123   vpmuldq
     1420EMIT_INSTR_PLUS_ICEBP_XMM_89   pmuldq
     1421EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmuldq
     1422EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmuldq
    21961423
    21971424;
    21981425; [V]PMULUDQ
    21991426;
    2200 EMIT_INSTR_PLUS_ICEBP   pmuludq,  MM1, MM2
    2201 EMIT_INSTR_PLUS_ICEBP   pmuludq,  MM1, FSxBX
    2202 EMIT_INSTR_PLUS_ICEBP   pmuludq,  XMM1, XMM2
    2203 EMIT_INSTR_PLUS_ICEBP   pmuludq,  XMM1, FSxBX
    2204 EMIT_INSTR_PLUS_ICEBP   vpmuludq, XMM1, XMM2, XMM3
    2205 EMIT_INSTR_PLUS_ICEBP   vpmuludq, XMM1, XMM2, FSxBX
    2206 EMIT_INSTR_PLUS_ICEBP   vpmuludq, YMM1, YMM2, YMM3
    2207 EMIT_INSTR_PLUS_ICEBP   vpmuludq, YMM1, YMM2, FSxBX
    2208  %if TMPL_BITS == 64
    2209 EMIT_INSTR_PLUS_ICEBP   pmuludq,  XMM8, XMM9
    2210 EMIT_INSTR_PLUS_ICEBP   pmuludq,  XMM8, FSxBX
    2211 EMIT_INSTR_PLUS_ICEBP   vpmuludq, XMM8, XMM9, XMM10
    2212 EMIT_INSTR_PLUS_ICEBP   vpmuludq, XMM8, XMM9, FSxBX
    2213 EMIT_INSTR_PLUS_ICEBP   vpmuludq, YMM8, YMM9, YMM10
    2214 EMIT_INSTR_PLUS_ICEBP   vpmuludq, YMM8, YMM9, FSxBX
    2215  %endif
     1427EMIT_INSTR_PLUS_ICEBP_MMX   pmuludq
     1428EMIT_INSTR_PLUS_ICEBP_XMM   pmuludq
     1429EMIT_INSTR_PLUS_ICEBP_XMM_123   vpmuludq
     1430EMIT_INSTR_PLUS_ICEBP_YMM_123   vpmuludq
     1431EMIT_INSTR_PLUS_ICEBP_XMM_89   pmuludq
     1432EMIT_INSTR_PLUS_ICEBP_XMM_890   vpmuludq
     1433EMIT_INSTR_PLUS_ICEBP_YMM_890   vpmuludq
    22161434
    22171435;
    22181436; [V]PUNPCKLPS
    22191437;
    2220 EMIT_INSTR_PLUS_ICEBP   unpcklps,  XMM1, XMM2
    2221 EMIT_INSTR_PLUS_ICEBP   unpcklps,  XMM1, FSxBX
    2222 EMIT_INSTR_PLUS_ICEBP   vunpcklps, XMM1, XMM2, XMM3
    2223 EMIT_INSTR_PLUS_ICEBP   vunpcklps, XMM1, XMM2, FSxBX
    2224 EMIT_INSTR_PLUS_ICEBP   vunpcklps, YMM1, YMM2, YMM3
    2225 EMIT_INSTR_PLUS_ICEBP   vunpcklps, YMM1, YMM2, FSxBX
    2226  %if TMPL_BITS == 64
    2227 EMIT_INSTR_PLUS_ICEBP   unpcklps,  XMM8, XMM9
    2228 EMIT_INSTR_PLUS_ICEBP   unpcklps,  XMM8, FSxBX
    2229 EMIT_INSTR_PLUS_ICEBP   vunpcklps, XMM8, XMM9, XMM10
    2230 EMIT_INSTR_PLUS_ICEBP   vunpcklps, XMM8, XMM9, FSxBX
    2231 EMIT_INSTR_PLUS_ICEBP   vunpcklps, YMM8, YMM9, YMM10
    2232 EMIT_INSTR_PLUS_ICEBP   vunpcklps, YMM8, YMM9, FSxBX
    2233  %endif
     1438EMIT_INSTR_PLUS_ICEBP_XMM   unpcklps
     1439EMIT_INSTR_PLUS_ICEBP_XMM_123   vunpcklps
     1440EMIT_INSTR_PLUS_ICEBP_YMM_123   vunpcklps
     1441EMIT_INSTR_PLUS_ICEBP_XMM_89   unpcklps
     1442EMIT_INSTR_PLUS_ICEBP_XMM_890   vunpcklps
     1443EMIT_INSTR_PLUS_ICEBP_YMM_890   vunpcklps
    22341444
    22351445;
    22361446; [V]PUNPCKLPD
    22371447;
    2238 EMIT_INSTR_PLUS_ICEBP   unpcklpd,  XMM1, XMM2
    2239 EMIT_INSTR_PLUS_ICEBP   unpcklpd,  XMM1, FSxBX
    2240 EMIT_INSTR_PLUS_ICEBP   vunpcklpd, XMM1, XMM2, XMM3
    2241 EMIT_INSTR_PLUS_ICEBP   vunpcklpd, XMM1, XMM2, FSxBX
    2242 EMIT_INSTR_PLUS_ICEBP   vunpcklpd, YMM1, YMM2, YMM3
    2243 EMIT_INSTR_PLUS_ICEBP   vunpcklpd, YMM1, YMM2, FSxBX
    2244  %if TMPL_BITS == 64
    2245 EMIT_INSTR_PLUS_ICEBP   unpcklpd,  XMM8, XMM9
    2246 EMIT_INSTR_PLUS_ICEBP   unpcklpd,  XMM8, FSxBX
    2247 EMIT_INSTR_PLUS_ICEBP   vunpcklpd, XMM8, XMM9, XMM10
    2248 EMIT_INSTR_PLUS_ICEBP   vunpcklpd, XMM8, XMM9, FSxBX
    2249 EMIT_INSTR_PLUS_ICEBP   vunpcklpd, YMM8, YMM9, YMM10
    2250 EMIT_INSTR_PLUS_ICEBP   vunpcklpd, YMM8, YMM9, FSxBX
    2251  %endif
     1448EMIT_INSTR_PLUS_ICEBP_XMM   unpcklpd
     1449EMIT_INSTR_PLUS_ICEBP_XMM_123   vunpcklpd
     1450EMIT_INSTR_PLUS_ICEBP_YMM_123   vunpcklpd
     1451EMIT_INSTR_PLUS_ICEBP_XMM_89   unpcklpd
     1452EMIT_INSTR_PLUS_ICEBP_XMM_890   vunpcklpd
     1453EMIT_INSTR_PLUS_ICEBP_YMM_890   vunpcklpd
    22521454
    22531455;
    22541456; [V]PUNPCKHPS
    22551457;
    2256 EMIT_INSTR_PLUS_ICEBP   unpckhps,  XMM1, XMM2
    2257 EMIT_INSTR_PLUS_ICEBP   unpckhps,  XMM1, FSxBX
    2258 EMIT_INSTR_PLUS_ICEBP   vunpckhps, XMM1, XMM2, XMM3
    2259 EMIT_INSTR_PLUS_ICEBP   vunpckhps, XMM1, XMM2, FSxBX
    2260 EMIT_INSTR_PLUS_ICEBP   vunpckhps, YMM1, YMM2, YMM3
    2261 EMIT_INSTR_PLUS_ICEBP   vunpckhps, YMM1, YMM2, FSxBX
    2262  %if TMPL_BITS == 64
    2263 EMIT_INSTR_PLUS_ICEBP   unpckhps,  XMM8, XMM9
    2264 EMIT_INSTR_PLUS_ICEBP   unpckhps,  XMM8, FSxBX
    2265 EMIT_INSTR_PLUS_ICEBP   vunpckhps, XMM8, XMM9, XMM10
    2266 EMIT_INSTR_PLUS_ICEBP   vunpckhps, XMM8, XMM9, FSxBX
    2267 EMIT_INSTR_PLUS_ICEBP   vunpckhps, YMM8, YMM9, YMM10
    2268 EMIT_INSTR_PLUS_ICEBP   vunpckhps, YMM8, YMM9, FSxBX
    2269  %endif
     1458EMIT_INSTR_PLUS_ICEBP_XMM   unpckhps
     1459EMIT_INSTR_PLUS_ICEBP_XMM_123   vunpckhps
     1460EMIT_INSTR_PLUS_ICEBP_YMM_123   vunpckhps
     1461EMIT_INSTR_PLUS_ICEBP_XMM_89   unpckhps
     1462EMIT_INSTR_PLUS_ICEBP_XMM_890   vunpckhps
     1463EMIT_INSTR_PLUS_ICEBP_YMM_890   vunpckhps
    22701464
    22711465;
    22721466; [V]PUNPCKHPD
    22731467;
    2274 EMIT_INSTR_PLUS_ICEBP   unpckhpd,  XMM1, XMM2
    2275 EMIT_INSTR_PLUS_ICEBP   unpckhpd,  XMM1, FSxBX
    2276 EMIT_INSTR_PLUS_ICEBP   vunpckhpd, XMM1, XMM2, XMM3
    2277 EMIT_INSTR_PLUS_ICEBP   vunpckhpd, XMM1, XMM2, FSxBX
    2278 EMIT_INSTR_PLUS_ICEBP   vunpckhpd, YMM1, YMM2, YMM3
    2279 EMIT_INSTR_PLUS_ICEBP   vunpckhpd, YMM1, YMM2, FSxBX
    2280  %if TMPL_BITS == 64
    2281 EMIT_INSTR_PLUS_ICEBP   unpckhpd,  XMM8, XMM9
    2282 EMIT_INSTR_PLUS_ICEBP   unpckhpd,  XMM8, FSxBX
    2283 EMIT_INSTR_PLUS_ICEBP   vunpckhpd, XMM8, XMM9, XMM10
    2284 EMIT_INSTR_PLUS_ICEBP   vunpckhpd, XMM8, XMM9, FSxBX
    2285 EMIT_INSTR_PLUS_ICEBP   vunpckhpd, YMM8, YMM9, YMM10
    2286 EMIT_INSTR_PLUS_ICEBP   vunpckhpd, YMM8, YMM9, FSxBX
    2287  %endif
     1468EMIT_INSTR_PLUS_ICEBP_XMM   unpckhpd
     1469EMIT_INSTR_PLUS_ICEBP_XMM_123   vunpckhpd
     1470EMIT_INSTR_PLUS_ICEBP_YMM_123   vunpckhpd
     1471EMIT_INSTR_PLUS_ICEBP_XMM_89   unpckhpd
     1472EMIT_INSTR_PLUS_ICEBP_XMM_890   vunpckhpd
     1473EMIT_INSTR_PLUS_ICEBP_YMM_890   vunpckhpd
    22881474
    22891475;
    22901476; [V]PMOVSXBW
    22911477;
    2292 EMIT_INSTR_PLUS_ICEBP pmovsxbw,  XMM1, XMM2
    2293 EMIT_INSTR_PLUS_ICEBP pmovsxbw,  XMM1, FSxBX
    2294 EMIT_INSTR_PLUS_ICEBP vpmovsxbw, XMM1, XMM2
    2295 EMIT_INSTR_PLUS_ICEBP vpmovsxbw, XMM1, FSxBX
     1478EMIT_INSTR_PLUS_ICEBP_XMM pmovsxbw
     1479EMIT_INSTR_PLUS_ICEBP_XMM vpmovsxbw
    22961480EMIT_INSTR_PLUS_ICEBP vpmovsxbw, YMM1, XMM2
    22971481EMIT_INSTR_PLUS_ICEBP vpmovsxbw, YMM1, FSxBX
    2298  %if TMPL_BITS == 64
    2299 EMIT_INSTR_PLUS_ICEBP pmovsxbw,  XMM9, XMM8
    2300 EMIT_INSTR_PLUS_ICEBP pmovsxbw,  XMM9, FSxBX
    2301 EMIT_INSTR_PLUS_ICEBP vpmovsxbw, XMM9, XMM8
    2302 EMIT_INSTR_PLUS_ICEBP vpmovsxbw, XMM9, FSxBX
    2303 EMIT_INSTR_PLUS_ICEBP vpmovsxbw, YMM9, XMM8
    2304 EMIT_INSTR_PLUS_ICEBP vpmovsxbw, YMM9, FSxBX
    2305  %endif
     1482EMIT_INSTR_PLUS_ICEBP_XMM_98 pmovsxbw
     1483EMIT_INSTR_PLUS_ICEBP_XMM_98 vpmovsxbw
     1484EMIT_INSTR_PLUS_ICEBP_C64 vpmovsxbw, YMM9, XMM8
     1485EMIT_INSTR_PLUS_ICEBP_C64 vpmovsxbw, YMM9, FSxBX
    23061486
    23071487;
    23081488; [V]PMOVSXBD
    23091489;
    2310 EMIT_INSTR_PLUS_ICEBP pmovsxbd,  XMM1, XMM2
    2311 EMIT_INSTR_PLUS_ICEBP pmovsxbd,  XMM1, FSxBX
    2312 EMIT_INSTR_PLUS_ICEBP vpmovsxbd, XMM1, XMM2
    2313 EMIT_INSTR_PLUS_ICEBP vpmovsxbd, XMM1, FSxBX
     1490EMIT_INSTR_PLUS_ICEBP_XMM pmovsxbd
     1491EMIT_INSTR_PLUS_ICEBP_XMM vpmovsxbd
    23141492EMIT_INSTR_PLUS_ICEBP vpmovsxbd, YMM1, XMM2
    23151493EMIT_INSTR_PLUS_ICEBP vpmovsxbd, YMM1, FSxBX
    2316  %if TMPL_BITS == 64
    2317 EMIT_INSTR_PLUS_ICEBP pmovsxbd,  XMM9, XMM8
    2318 EMIT_INSTR_PLUS_ICEBP pmovsxbd,  XMM9, FSxBX
    2319 EMIT_INSTR_PLUS_ICEBP vpmovsxbd, XMM9, XMM8
    2320 EMIT_INSTR_PLUS_ICEBP vpmovsxbd, XMM9, FSxBX
    2321 EMIT_INSTR_PLUS_ICEBP vpmovsxbd, YMM9, XMM8
    2322 EMIT_INSTR_PLUS_ICEBP vpmovsxbd, YMM9, FSxBX
    2323  %endif
     1494EMIT_INSTR_PLUS_ICEBP_XMM_98 pmovsxbd
     1495EMIT_INSTR_PLUS_ICEBP_XMM_98 vpmovsxbd
     1496EMIT_INSTR_PLUS_ICEBP_C64 vpmovsxbd, YMM9, XMM8
     1497EMIT_INSTR_PLUS_ICEBP_C64 vpmovsxbd, YMM9, FSxBX
    23241498
    23251499;
    23261500; [V]PMOVSXBQ
    23271501;
    2328 EMIT_INSTR_PLUS_ICEBP pmovsxbq,  XMM1, XMM2
    2329 EMIT_INSTR_PLUS_ICEBP pmovsxbq,  XMM1, FSxBX
    2330 EMIT_INSTR_PLUS_ICEBP vpmovsxbq, XMM1, XMM2
    2331 EMIT_INSTR_PLUS_ICEBP vpmovsxbq, XMM1, FSxBX
     1502EMIT_INSTR_PLUS_ICEBP_XMM pmovsxbq
     1503EMIT_INSTR_PLUS_ICEBP_XMM vpmovsxbq
    23321504EMIT_INSTR_PLUS_ICEBP vpmovsxbq, YMM1, XMM2
    23331505EMIT_INSTR_PLUS_ICEBP vpmovsxbq, YMM1, FSxBX
    2334  %if TMPL_BITS == 64
    2335 EMIT_INSTR_PLUS_ICEBP pmovsxbq,  XMM9, XMM8
    2336 EMIT_INSTR_PLUS_ICEBP pmovsxbq,  XMM9, FSxBX
    2337 EMIT_INSTR_PLUS_ICEBP vpmovsxbq, XMM9, XMM8
    2338 EMIT_INSTR_PLUS_ICEBP vpmovsxbq, XMM9, FSxBX
    2339 EMIT_INSTR_PLUS_ICEBP vpmovsxbq, YMM9, XMM8
    2340 EMIT_INSTR_PLUS_ICEBP vpmovsxbq, YMM9, FSxBX
    2341  %endif
     1506EMIT_INSTR_PLUS_ICEBP_XMM_98 pmovsxbq
     1507EMIT_INSTR_PLUS_ICEBP_XMM_98 vpmovsxbq
     1508EMIT_INSTR_PLUS_ICEBP_C64 vpmovsxbq, YMM9, XMM8
     1509EMIT_INSTR_PLUS_ICEBP_C64 vpmovsxbq, YMM9, FSxBX
    23421510
    23431511;
    23441512; [V]PMOVSXWD
    23451513;
    2346 EMIT_INSTR_PLUS_ICEBP pmovsxwd,  XMM1, XMM2
    2347 EMIT_INSTR_PLUS_ICEBP pmovsxwd,  XMM1, FSxBX
    2348 EMIT_INSTR_PLUS_ICEBP vpmovsxwd, XMM1, XMM2
    2349 EMIT_INSTR_PLUS_ICEBP vpmovsxwd, XMM1, FSxBX
     1514EMIT_INSTR_PLUS_ICEBP_XMM pmovsxwd
     1515EMIT_INSTR_PLUS_ICEBP_XMM vpmovsxwd
    23501516EMIT_INSTR_PLUS_ICEBP vpmovsxwd, YMM1, XMM2
    23511517EMIT_INSTR_PLUS_ICEBP vpmovsxwd, YMM1, FSxBX
    2352  %if TMPL_BITS == 64
    2353 EMIT_INSTR_PLUS_ICEBP pmovsxwd,  XMM9, XMM8
    2354 EMIT_INSTR_PLUS_ICEBP pmovsxwd,  XMM9, FSxBX
    2355 EMIT_INSTR_PLUS_ICEBP vpmovsxwd, XMM9, XMM8
    2356 EMIT_INSTR_PLUS_ICEBP vpmovsxwd, XMM9, FSxBX
    2357 EMIT_INSTR_PLUS_ICEBP vpmovsxwd, YMM9, XMM8
    2358 EMIT_INSTR_PLUS_ICEBP vpmovsxwd, YMM9, FSxBX
    2359  %endif
     1518EMIT_INSTR_PLUS_ICEBP_XMM_98 pmovsxwd
     1519EMIT_INSTR_PLUS_ICEBP_XMM_98 vpmovsxwd
     1520EMIT_INSTR_PLUS_ICEBP_C64 vpmovsxwd, YMM9, XMM8
     1521EMIT_INSTR_PLUS_ICEBP_C64 vpmovsxwd, YMM9, FSxBX
    23601522
    23611523;
    23621524; [V]PMOVSXWQ
    23631525;
    2364 EMIT_INSTR_PLUS_ICEBP pmovsxwq,  XMM1, XMM2
    2365 EMIT_INSTR_PLUS_ICEBP pmovsxwq,  XMM1, FSxBX
    2366 EMIT_INSTR_PLUS_ICEBP vpmovsxwq, XMM1, XMM2
    2367 EMIT_INSTR_PLUS_ICEBP vpmovsxwq, XMM1, FSxBX
     1526EMIT_INSTR_PLUS_ICEBP_XMM pmovsxwq
     1527EMIT_INSTR_PLUS_ICEBP_XMM vpmovsxwq
    23681528EMIT_INSTR_PLUS_ICEBP vpmovsxwq, YMM1, XMM2
    23691529EMIT_INSTR_PLUS_ICEBP vpmovsxwq, YMM1, FSxBX
    2370  %if TMPL_BITS == 64
    2371 EMIT_INSTR_PLUS_ICEBP pmovsxwq,  XMM9, XMM8
    2372 EMIT_INSTR_PLUS_ICEBP pmovsxwq,  XMM9, FSxBX
    2373 EMIT_INSTR_PLUS_ICEBP vpmovsxwq, XMM9, XMM8
    2374 EMIT_INSTR_PLUS_ICEBP vpmovsxwq, XMM9, FSxBX
    2375 EMIT_INSTR_PLUS_ICEBP vpmovsxwq, YMM9, XMM8
    2376 EMIT_INSTR_PLUS_ICEBP vpmovsxwq, YMM9, FSxBX
    2377  %endif
     1530EMIT_INSTR_PLUS_ICEBP_XMM_98 pmovsxwq
     1531EMIT_INSTR_PLUS_ICEBP_XMM_98 vpmovsxwq
     1532EMIT_INSTR_PLUS_ICEBP_C64 vpmovsxwq, YMM9, XMM8
     1533EMIT_INSTR_PLUS_ICEBP_C64 vpmovsxwq, YMM9, FSxBX
    23781534
    23791535;
    23801536; [V]PMOVSXDQ
    23811537;
    2382 EMIT_INSTR_PLUS_ICEBP pmovsxdq,  XMM1, XMM2
    2383 EMIT_INSTR_PLUS_ICEBP pmovsxdq,  XMM1, FSxBX
    2384 EMIT_INSTR_PLUS_ICEBP vpmovsxdq, XMM1, XMM2
    2385 EMIT_INSTR_PLUS_ICEBP vpmovsxdq, XMM1, FSxBX
     1538EMIT_INSTR_PLUS_ICEBP_XMM pmovsxdq
     1539EMIT_INSTR_PLUS_ICEBP_XMM vpmovsxdq
    23861540EMIT_INSTR_PLUS_ICEBP vpmovsxdq, YMM1, XMM2
    23871541EMIT_INSTR_PLUS_ICEBP vpmovsxdq, YMM1, FSxBX
    2388  %if TMPL_BITS == 64
    2389 EMIT_INSTR_PLUS_ICEBP pmovsxdq,  XMM9, XMM8
    2390 EMIT_INSTR_PLUS_ICEBP pmovsxdq,  XMM9, FSxBX
    2391 EMIT_INSTR_PLUS_ICEBP vpmovsxdq, XMM9, XMM8
    2392 EMIT_INSTR_PLUS_ICEBP vpmovsxdq, XMM9, FSxBX
    2393 EMIT_INSTR_PLUS_ICEBP vpmovsxdq, YMM9, XMM8
    2394 EMIT_INSTR_PLUS_ICEBP vpmovsxdq, YMM9, FSxBX
    2395  %endif
     1542EMIT_INSTR_PLUS_ICEBP_XMM_98 pmovsxdq
     1543EMIT_INSTR_PLUS_ICEBP_XMM_98 vpmovsxdq
     1544EMIT_INSTR_PLUS_ICEBP_C64 vpmovsxdq, YMM9, XMM8
     1545EMIT_INSTR_PLUS_ICEBP_C64 vpmovsxdq, YMM9, FSxBX
    23961546
    23971547;
    23981548; [V]PMOVZXBW
    23991549;
    2400 EMIT_INSTR_PLUS_ICEBP pmovzxbw,  XMM1, XMM2
    2401 EMIT_INSTR_PLUS_ICEBP pmovzxbw,  XMM1, FSxBX
    2402 EMIT_INSTR_PLUS_ICEBP vpmovzxbw, XMM1, XMM2
    2403 EMIT_INSTR_PLUS_ICEBP vpmovzxbw, XMM1, FSxBX
     1550EMIT_INSTR_PLUS_ICEBP_XMM pmovzxbw
     1551EMIT_INSTR_PLUS_ICEBP_XMM vpmovzxbw
    24041552EMIT_INSTR_PLUS_ICEBP vpmovzxbw, YMM1, XMM2
    24051553EMIT_INSTR_PLUS_ICEBP vpmovzxbw, YMM1, FSxBX
    2406  %if TMPL_BITS == 64
    2407 EMIT_INSTR_PLUS_ICEBP pmovzxbw,  XMM9, XMM8
    2408 EMIT_INSTR_PLUS_ICEBP pmovzxbw,  XMM9, FSxBX
    2409 EMIT_INSTR_PLUS_ICEBP vpmovzxbw, XMM9, XMM8
    2410 EMIT_INSTR_PLUS_ICEBP vpmovzxbw, XMM9, FSxBX
    2411 EMIT_INSTR_PLUS_ICEBP vpmovzxbw, YMM9, XMM8
    2412 EMIT_INSTR_PLUS_ICEBP vpmovzxbw, YMM9, FSxBX
    2413  %endif
     1554EMIT_INSTR_PLUS_ICEBP_XMM_98 pmovzxbw
     1555EMIT_INSTR_PLUS_ICEBP_XMM_98 vpmovzxbw
     1556EMIT_INSTR_PLUS_ICEBP_C64 vpmovzxbw, YMM9, XMM8
     1557EMIT_INSTR_PLUS_ICEBP_C64 vpmovzxbw, YMM9, FSxBX
    24141558
    24151559;
    24161560; [V]PMOVZXBD
    24171561;
    2418 EMIT_INSTR_PLUS_ICEBP pmovzxbd,  XMM1, XMM2
    2419 EMIT_INSTR_PLUS_ICEBP pmovzxbd,  XMM1, FSxBX
    2420 EMIT_INSTR_PLUS_ICEBP vpmovzxbd, XMM1, XMM2
    2421 EMIT_INSTR_PLUS_ICEBP vpmovzxbd, XMM1, FSxBX
     1562EMIT_INSTR_PLUS_ICEBP_XMM pmovzxbd
     1563EMIT_INSTR_PLUS_ICEBP_XMM vpmovzxbd
    24221564EMIT_INSTR_PLUS_ICEBP vpmovzxbd, YMM1, XMM2
    24231565EMIT_INSTR_PLUS_ICEBP vpmovzxbd, YMM1, FSxBX
    2424  %if TMPL_BITS == 64
    2425 EMIT_INSTR_PLUS_ICEBP pmovzxbd,  XMM9, XMM8
    2426 EMIT_INSTR_PLUS_ICEBP pmovzxbd,  XMM9, FSxBX
    2427 EMIT_INSTR_PLUS_ICEBP vpmovzxbd, XMM9, XMM8
    2428 EMIT_INSTR_PLUS_ICEBP vpmovzxbd, XMM9, FSxBX
    2429 EMIT_INSTR_PLUS_ICEBP vpmovzxbd, YMM9, XMM8
    2430 EMIT_INSTR_PLUS_ICEBP vpmovzxbd, YMM9, FSxBX
    2431  %endif
     1566EMIT_INSTR_PLUS_ICEBP_XMM_98 pmovzxbd
     1567EMIT_INSTR_PLUS_ICEBP_XMM_98 vpmovzxbd
     1568EMIT_INSTR_PLUS_ICEBP_C64 vpmovzxbd, YMM9, XMM8
     1569EMIT_INSTR_PLUS_ICEBP_C64 vpmovzxbd, YMM9, FSxBX
    24321570
    24331571;
    24341572; [V]PMOVZXBQ
    24351573;
    2436 EMIT_INSTR_PLUS_ICEBP pmovzxbq,  XMM1, XMM2
    2437 EMIT_INSTR_PLUS_ICEBP pmovzxbq,  XMM1, FSxBX
    2438 EMIT_INSTR_PLUS_ICEBP vpmovzxbq, XMM1, XMM2
    2439 EMIT_INSTR_PLUS_ICEBP vpmovzxbq, XMM1, FSxBX
     1574EMIT_INSTR_PLUS_ICEBP_XMM pmovzxbq
     1575EMIT_INSTR_PLUS_ICEBP_XMM vpmovzxbq
    24401576EMIT_INSTR_PLUS_ICEBP vpmovzxbq, YMM1, XMM2
    24411577EMIT_INSTR_PLUS_ICEBP vpmovzxbq, YMM1, FSxBX
    2442  %if TMPL_BITS == 64
    2443 EMIT_INSTR_PLUS_ICEBP pmovzxbq,  XMM9, XMM8
    2444 EMIT_INSTR_PLUS_ICEBP pmovzxbq,  XMM9, FSxBX
    2445 EMIT_INSTR_PLUS_ICEBP vpmovzxbq, XMM9, XMM8
    2446 EMIT_INSTR_PLUS_ICEBP vpmovzxbq, XMM9, FSxBX
    2447 EMIT_INSTR_PLUS_ICEBP vpmovzxbq, YMM9, XMM8
    2448 EMIT_INSTR_PLUS_ICEBP vpmovzxbq, YMM9, FSxBX
    2449  %endif
     1578EMIT_INSTR_PLUS_ICEBP_XMM_98 pmovzxbq
     1579EMIT_INSTR_PLUS_ICEBP_XMM_98 vpmovzxbq
     1580EMIT_INSTR_PLUS_ICEBP_C64 vpmovzxbq, YMM9, XMM8
     1581EMIT_INSTR_PLUS_ICEBP_C64 vpmovzxbq, YMM9, FSxBX
    24501582
    24511583;
    24521584; [V]PMOVZXWD
    24531585;
    2454 EMIT_INSTR_PLUS_ICEBP pmovzxwd,  XMM1, XMM2
    2455 EMIT_INSTR_PLUS_ICEBP pmovzxwd,  XMM1, FSxBX
    2456 EMIT_INSTR_PLUS_ICEBP vpmovzxwd, XMM1, XMM2
    2457 EMIT_INSTR_PLUS_ICEBP vpmovzxwd, XMM1, FSxBX
     1586EMIT_INSTR_PLUS_ICEBP_XMM pmovzxwd
     1587EMIT_INSTR_PLUS_ICEBP_XMM vpmovzxwd
    24581588EMIT_INSTR_PLUS_ICEBP vpmovzxwd, YMM1, XMM2
    24591589EMIT_INSTR_PLUS_ICEBP vpmovzxwd, YMM1, FSxBX
    2460  %if TMPL_BITS == 64
    2461 EMIT_INSTR_PLUS_ICEBP pmovzxwd,  XMM9, XMM8
    2462 EMIT_INSTR_PLUS_ICEBP pmovzxwd,  XMM9, FSxBX
    2463 EMIT_INSTR_PLUS_ICEBP vpmovzxwd, XMM9, XMM8
    2464 EMIT_INSTR_PLUS_ICEBP vpmovzxwd, XMM9, FSxBX
    2465 EMIT_INSTR_PLUS_ICEBP vpmovzxwd, YMM9, XMM8
    2466 EMIT_INSTR_PLUS_ICEBP vpmovzxwd, YMM9, FSxBX
    2467  %endif
     1590EMIT_INSTR_PLUS_ICEBP_XMM_98 pmovzxwd
     1591EMIT_INSTR_PLUS_ICEBP_XMM_98 vpmovzxwd
     1592EMIT_INSTR_PLUS_ICEBP_C64 vpmovzxwd, YMM9, XMM8
     1593EMIT_INSTR_PLUS_ICEBP_C64 vpmovzxwd, YMM9, FSxBX
    24681594
    24691595;
    24701596; [V]PMOVZXWQ
    24711597;
    2472 EMIT_INSTR_PLUS_ICEBP pmovzxwq,  XMM1, XMM2
    2473 EMIT_INSTR_PLUS_ICEBP pmovzxwq,  XMM1, FSxBX
    2474 EMIT_INSTR_PLUS_ICEBP vpmovzxwq, XMM1, XMM2
    2475 EMIT_INSTR_PLUS_ICEBP vpmovzxwq, XMM1, FSxBX
     1598EMIT_INSTR_PLUS_ICEBP_XMM pmovzxwq
     1599EMIT_INSTR_PLUS_ICEBP_XMM vpmovzxwq
    24761600EMIT_INSTR_PLUS_ICEBP vpmovzxwq, YMM1, XMM2
    24771601EMIT_INSTR_PLUS_ICEBP vpmovzxwq, YMM1, FSxBX
    2478  %if TMPL_BITS == 64
    2479 EMIT_INSTR_PLUS_ICEBP pmovzxwq,  XMM9, XMM8
    2480 EMIT_INSTR_PLUS_ICEBP pmovzxwq,  XMM9, FSxBX
    2481 EMIT_INSTR_PLUS_ICEBP vpmovzxwq, XMM9, XMM8
    2482 EMIT_INSTR_PLUS_ICEBP vpmovzxwq, XMM9, FSxBX
    2483 EMIT_INSTR_PLUS_ICEBP vpmovzxwq, YMM9, XMM8
    2484 EMIT_INSTR_PLUS_ICEBP vpmovzxwq, YMM9, FSxBX
    2485  %endif
     1602EMIT_INSTR_PLUS_ICEBP_XMM_98 pmovzxwq
     1603EMIT_INSTR_PLUS_ICEBP_XMM_98 vpmovzxwq
     1604EMIT_INSTR_PLUS_ICEBP_C64 vpmovzxwq, YMM9, XMM8
     1605EMIT_INSTR_PLUS_ICEBP_C64 vpmovzxwq, YMM9, FSxBX
    24861606
    24871607;
    24881608; [V]PMOVZXDQ
    24891609;
    2490 EMIT_INSTR_PLUS_ICEBP pmovzxdq,  XMM1, XMM2
    2491 EMIT_INSTR_PLUS_ICEBP pmovzxdq,  XMM1, FSxBX
    2492 EMIT_INSTR_PLUS_ICEBP vpmovzxdq, XMM1, XMM2
    2493 EMIT_INSTR_PLUS_ICEBP vpmovzxdq, XMM1, FSxBX
     1610EMIT_INSTR_PLUS_ICEBP_XMM pmovzxdq
     1611EMIT_INSTR_PLUS_ICEBP_XMM vpmovzxdq
    24941612EMIT_INSTR_PLUS_ICEBP vpmovzxdq, YMM1, XMM2
    24951613EMIT_INSTR_PLUS_ICEBP vpmovzxdq, YMM1, FSxBX
    2496  %if TMPL_BITS == 64
    2497 EMIT_INSTR_PLUS_ICEBP pmovzxdq,  XMM9, XMM8
    2498 EMIT_INSTR_PLUS_ICEBP pmovzxdq,  XMM9, FSxBX
    2499 EMIT_INSTR_PLUS_ICEBP vpmovzxdq, XMM9, XMM8
    2500 EMIT_INSTR_PLUS_ICEBP vpmovzxdq, XMM9, FSxBX
    2501 EMIT_INSTR_PLUS_ICEBP vpmovzxdq, YMM9, XMM8
    2502 EMIT_INSTR_PLUS_ICEBP vpmovzxdq, YMM9, FSxBX
    2503  %endif
     1614EMIT_INSTR_PLUS_ICEBP_XMM_98 pmovzxdq
     1615EMIT_INSTR_PLUS_ICEBP_XMM_98 vpmovzxdq
     1616EMIT_INSTR_PLUS_ICEBP_C64 vpmovzxdq, YMM9, XMM8
     1617EMIT_INSTR_PLUS_ICEBP_C64 vpmovzxdq, YMM9, FSxBX
    25041618
    25051619;
     
    25211635EMIT_INSTR_PLUS_ICEBP   vshufps, YMM1, YMM2, FSxBX, 000h
    25221636
    2523  %if TMPL_BITS == 64
    2524 EMIT_INSTR_PLUS_ICEBP   shufps,  XMM8, XMM9,  0FFh
    2525 EMIT_INSTR_PLUS_ICEBP   shufps,  XMM8, FSxBX, 0FFh
    2526 EMIT_INSTR_PLUS_ICEBP   shufps,  XMM8, XMM9,  000h
    2527 EMIT_INSTR_PLUS_ICEBP   shufps,  XMM8, FSxBX, 000h
    2528 
    2529 EMIT_INSTR_PLUS_ICEBP   vshufps, XMM8, XMM9, XMM10, 0FFh
    2530 EMIT_INSTR_PLUS_ICEBP   vshufps, XMM8, XMM9, FSxBX, 0FFh
    2531 EMIT_INSTR_PLUS_ICEBP   vshufps, XMM8, XMM9, XMM10, 000h
    2532 EMIT_INSTR_PLUS_ICEBP   vshufps, XMM8, XMM9, FSxBX, 000h
    2533 
    2534 EMIT_INSTR_PLUS_ICEBP   vshufps, YMM8, YMM9, YMM10, 0FFh
    2535 EMIT_INSTR_PLUS_ICEBP   vshufps, YMM8, YMM9, FSxBX, 0FFh
    2536 EMIT_INSTR_PLUS_ICEBP   vshufps, YMM8, YMM9, YMM10, 000h
    2537 EMIT_INSTR_PLUS_ICEBP   vshufps, YMM8, YMM9, FSxBX, 000h
    2538  %endif
     1637EMIT_INSTR_PLUS_ICEBP_C64   shufps,  XMM8, XMM9,  0FFh
     1638EMIT_INSTR_PLUS_ICEBP_C64   shufps,  XMM8, FSxBX, 0FFh
     1639EMIT_INSTR_PLUS_ICEBP_C64   shufps,  XMM8, XMM9,  000h
     1640EMIT_INSTR_PLUS_ICEBP_C64   shufps,  XMM8, FSxBX, 000h
     1641
     1642EMIT_INSTR_PLUS_ICEBP_C64   vshufps, XMM8, XMM9, XMM10, 0FFh
     1643EMIT_INSTR_PLUS_ICEBP_C64   vshufps, XMM8, XMM9, FSxBX, 0FFh
     1644EMIT_INSTR_PLUS_ICEBP_C64   vshufps, XMM8, XMM9, XMM10, 000h
     1645EMIT_INSTR_PLUS_ICEBP_C64   vshufps, XMM8, XMM9, FSxBX, 000h
     1646
     1647EMIT_INSTR_PLUS_ICEBP_C64   vshufps, YMM8, YMM9, YMM10, 0FFh
     1648EMIT_INSTR_PLUS_ICEBP_C64   vshufps, YMM8, YMM9, FSxBX, 0FFh
     1649EMIT_INSTR_PLUS_ICEBP_C64   vshufps, YMM8, YMM9, YMM10, 000h
     1650EMIT_INSTR_PLUS_ICEBP_C64   vshufps, YMM8, YMM9, FSxBX, 000h
    25391651
    25401652;
     
    25561668EMIT_INSTR_PLUS_ICEBP   vshufpd, YMM1, YMM2, FSxBX, 000h
    25571669
    2558  %if TMPL_BITS == 64
    2559 EMIT_INSTR_PLUS_ICEBP   shufpd,  XMM8, XMM9,  0FFh
    2560 EMIT_INSTR_PLUS_ICEBP   shufpd,  XMM8, FSxBX, 0FFh
    2561 EMIT_INSTR_PLUS_ICEBP   shufpd,  XMM8, XMM9,  000h
    2562 EMIT_INSTR_PLUS_ICEBP   shufpd,  XMM8, FSxBX, 000h
    2563 
    2564 EMIT_INSTR_PLUS_ICEBP   vshufpd, XMM8, XMM9, XMM10, 0FFh
    2565 EMIT_INSTR_PLUS_ICEBP   vshufpd, XMM8, XMM9, FSxBX, 0FFh
    2566 EMIT_INSTR_PLUS_ICEBP   vshufpd, XMM8, XMM9, XMM10, 000h
    2567 EMIT_INSTR_PLUS_ICEBP   vshufpd, XMM8, XMM9, FSxBX, 000h
    2568 
    2569 EMIT_INSTR_PLUS_ICEBP   vshufpd, YMM8, YMM9, YMM10, 0FFh
    2570 EMIT_INSTR_PLUS_ICEBP   vshufpd, YMM8, YMM9, FSxBX, 0FFh
    2571 EMIT_INSTR_PLUS_ICEBP   vshufpd, YMM8, YMM9, YMM10, 000h
    2572 EMIT_INSTR_PLUS_ICEBP   vshufpd, YMM8, YMM9, FSxBX, 000h
    2573  %endif
     1670EMIT_INSTR_PLUS_ICEBP_C64   shufpd,  XMM8, XMM9,  0FFh
     1671EMIT_INSTR_PLUS_ICEBP_C64   shufpd,  XMM8, FSxBX, 0FFh
     1672EMIT_INSTR_PLUS_ICEBP_C64   shufpd,  XMM8, XMM9,  000h
     1673EMIT_INSTR_PLUS_ICEBP_C64   shufpd,  XMM8, FSxBX, 000h
     1674
     1675EMIT_INSTR_PLUS_ICEBP_C64   vshufpd, XMM8, XMM9, XMM10, 0FFh
     1676EMIT_INSTR_PLUS_ICEBP_C64   vshufpd, XMM8, XMM9, FSxBX, 0FFh
     1677EMIT_INSTR_PLUS_ICEBP_C64   vshufpd, XMM8, XMM9, XMM10, 000h
     1678EMIT_INSTR_PLUS_ICEBP_C64   vshufpd, XMM8, XMM9, FSxBX, 000h
     1679
     1680EMIT_INSTR_PLUS_ICEBP_C64   vshufpd, YMM8, YMM9, YMM10, 0FFh
     1681EMIT_INSTR_PLUS_ICEBP_C64   vshufpd, YMM8, YMM9, FSxBX, 0FFh
     1682EMIT_INSTR_PLUS_ICEBP_C64   vshufpd, YMM8, YMM9, YMM10, 000h
     1683EMIT_INSTR_PLUS_ICEBP_C64   vshufpd, YMM8, YMM9, FSxBX, 000h
    25741684
    25751685;
     
    25791689EMIT_INSTR_PLUS_ICEBP vlddqu, XMM1, FSxBX
    25801690EMIT_INSTR_PLUS_ICEBP vlddqu, YMM1, FSxBX
    2581  %if TMPL_BITS == 64
    2582 EMIT_INSTR_PLUS_ICEBP lddqu,  XMM10, FSxBX
    2583 EMIT_INSTR_PLUS_ICEBP vlddqu, XMM11, FSxBX
    2584 EMIT_INSTR_PLUS_ICEBP vlddqu, YMM12, FSxBX
    2585  %endif
     1691EMIT_INSTR_PLUS_ICEBP_C64 lddqu,  XMM10, FSxBX
     1692EMIT_INSTR_PLUS_ICEBP_C64 vlddqu, XMM11, FSxBX
     1693EMIT_INSTR_PLUS_ICEBP_C64 vlddqu, YMM12, FSxBX
    25861694
    25871695;
    25881696; [V]PHMINPOSUW
    25891697;
    2590 EMIT_INSTR_PLUS_ICEBP phminposuw,  XMM1, XMM2
    2591 EMIT_INSTR_PLUS_ICEBP phminposuw,  XMM1, FSxBX
    2592 EMIT_INSTR_PLUS_ICEBP vphminposuw, XMM1, XMM2
    2593 EMIT_INSTR_PLUS_ICEBP vphminposuw, XMM1, FSxBX
    2594  %if TMPL_BITS == 64
    2595 EMIT_INSTR_PLUS_ICEBP phminposuw,  XMM9, XMM8
    2596 EMIT_INSTR_PLUS_ICEBP phminposuw,  XMM9, FSxBX
    2597 EMIT_INSTR_PLUS_ICEBP vphminposuw, XMM9, XMM8
    2598 EMIT_INSTR_PLUS_ICEBP vphminposuw, XMM9, FSxBX
    2599  %endif
     1698EMIT_INSTR_PLUS_ICEBP_XMM phminposuw
     1699EMIT_INSTR_PLUS_ICEBP_XMM vphminposuw
     1700EMIT_INSTR_PLUS_ICEBP_XMM_98 phminposuw
     1701EMIT_INSTR_PLUS_ICEBP_XMM_98 vphminposuw
    26001702
    26011703;
    26021704; VBROADCASTSS
    26031705;
    2604 EMIT_INSTR_PLUS_ICEBP vbroadcastss, XMM1, XMM2
    2605 EMIT_INSTR_PLUS_ICEBP vbroadcastss, XMM1, FSxBX
     1706EMIT_INSTR_PLUS_ICEBP_XMM vbroadcastss
    26061707EMIT_INSTR_PLUS_ICEBP vbroadcastss, YMM1, XMM2
    26071708EMIT_INSTR_PLUS_ICEBP vbroadcastss, YMM1, FSxBX
    2608  %if TMPL_BITS == 64
    2609 EMIT_INSTR_PLUS_ICEBP vbroadcastss, XMM9, XMM8
    2610 EMIT_INSTR_PLUS_ICEBP vbroadcastss, XMM9, FSxBX
    2611 EMIT_INSTR_PLUS_ICEBP vbroadcastss, YMM9, XMM8
    2612 EMIT_INSTR_PLUS_ICEBP vbroadcastss, YMM9, FSxBX
    2613  %endif
     1709EMIT_INSTR_PLUS_ICEBP_XMM_98 vbroadcastss
     1710EMIT_INSTR_PLUS_ICEBP_C64 vbroadcastss, YMM9, XMM8
     1711EMIT_INSTR_PLUS_ICEBP_C64 vbroadcastss, YMM9, FSxBX
    26141712
    26151713;
     
    26181716EMIT_INSTR_PLUS_ICEBP vbroadcastsd, YMM1, XMM2
    26191717EMIT_INSTR_PLUS_ICEBP vbroadcastsd, YMM1, FSxBX
    2620  %if TMPL_BITS == 64
    2621 EMIT_INSTR_PLUS_ICEBP vbroadcastsd, YMM9, XMM8
    2622 EMIT_INSTR_PLUS_ICEBP vbroadcastsd, YMM9, FSxBX
    2623  %endif
     1718EMIT_INSTR_PLUS_ICEBP_C64 vbroadcastsd, YMM9, XMM8
     1719EMIT_INSTR_PLUS_ICEBP_C64 vbroadcastsd, YMM9, FSxBX
    26241720
    26251721;
     
    26271723;
    26281724EMIT_INSTR_PLUS_ICEBP vbroadcastf128, YMM1, FSxBX
    2629  %if TMPL_BITS == 64
    2630 EMIT_INSTR_PLUS_ICEBP vbroadcastf128, YMM9, FSxBX
    2631  %endif
     1725EMIT_INSTR_PLUS_ICEBP_C64 vbroadcastf128, YMM9, FSxBX
    26321726
    26331727;
    26341728; VPBROADCASTB
    26351729;
    2636 EMIT_INSTR_PLUS_ICEBP vpbroadcastb, XMM1, XMM2
    2637 EMIT_INSTR_PLUS_ICEBP vpbroadcastb, XMM1, FSxBX
     1730EMIT_INSTR_PLUS_ICEBP_XMM vpbroadcastb
    26381731EMIT_INSTR_PLUS_ICEBP vpbroadcastb, YMM1, XMM2
    26391732EMIT_INSTR_PLUS_ICEBP vpbroadcastb, YMM1, FSxBX
    2640  %if TMPL_BITS == 64
    2641 EMIT_INSTR_PLUS_ICEBP vpbroadcastb, XMM9, XMM8
    2642 EMIT_INSTR_PLUS_ICEBP vpbroadcastb, XMM9, FSxBX
    2643 EMIT_INSTR_PLUS_ICEBP vpbroadcastb, YMM9, XMM8
    2644 EMIT_INSTR_PLUS_ICEBP vpbroadcastb, YMM9, FSxBX
    2645  %endif
     1733EMIT_INSTR_PLUS_ICEBP_XMM_98 vpbroadcastb
     1734EMIT_INSTR_PLUS_ICEBP_C64 vpbroadcastb, YMM9, XMM8
     1735EMIT_INSTR_PLUS_ICEBP_C64 vpbroadcastb, YMM9, FSxBX
    26461736
    26471737;
    26481738; VPBROADCASTW
    26491739;
    2650 EMIT_INSTR_PLUS_ICEBP vpbroadcastw, XMM1, XMM2
    2651 EMIT_INSTR_PLUS_ICEBP vpbroadcastw, XMM1, FSxBX
     1740EMIT_INSTR_PLUS_ICEBP_XMM vpbroadcastw
    26521741EMIT_INSTR_PLUS_ICEBP vpbroadcastw, YMM1, XMM2
    26531742EMIT_INSTR_PLUS_ICEBP vpbroadcastw, YMM1, FSxBX
    2654  %if TMPL_BITS == 64
    2655 EMIT_INSTR_PLUS_ICEBP vpbroadcastw, XMM9, XMM8
    2656 EMIT_INSTR_PLUS_ICEBP vpbroadcastw, XMM9, FSxBX
    2657 EMIT_INSTR_PLUS_ICEBP vpbroadcastw, YMM9, XMM8
    2658 EMIT_INSTR_PLUS_ICEBP vpbroadcastw, YMM9, FSxBX
    2659  %endif
     1743EMIT_INSTR_PLUS_ICEBP_XMM_98 vpbroadcastw
     1744EMIT_INSTR_PLUS_ICEBP_C64 vpbroadcastw, YMM9, XMM8
     1745EMIT_INSTR_PLUS_ICEBP_C64 vpbroadcastw, YMM9, FSxBX
    26601746
    26611747;
    26621748; VPBROADCASTD
    26631749;
    2664 EMIT_INSTR_PLUS_ICEBP vpbroadcastd, XMM1, XMM2
    2665 EMIT_INSTR_PLUS_ICEBP vpbroadcastd, XMM1, FSxBX
     1750EMIT_INSTR_PLUS_ICEBP_XMM vpbroadcastd
    26661751EMIT_INSTR_PLUS_ICEBP vpbroadcastd, YMM1, XMM2
    26671752EMIT_INSTR_PLUS_ICEBP vpbroadcastd, YMM1, FSxBX
    2668  %if TMPL_BITS == 64
    2669 EMIT_INSTR_PLUS_ICEBP vpbroadcastd, XMM9, XMM8
    2670 EMIT_INSTR_PLUS_ICEBP vpbroadcastd, XMM9, FSxBX
    2671 EMIT_INSTR_PLUS_ICEBP vpbroadcastd, YMM9, XMM8
    2672 EMIT_INSTR_PLUS_ICEBP vpbroadcastd, YMM9, FSxBX
    2673  %endif
     1753EMIT_INSTR_PLUS_ICEBP_XMM_98 vpbroadcastd
     1754EMIT_INSTR_PLUS_ICEBP_C64 vpbroadcastd, YMM9, XMM8
     1755EMIT_INSTR_PLUS_ICEBP_C64 vpbroadcastd, YMM9, FSxBX
    26741756
    26751757;
    26761758; VPBROADCASTQ
    26771759;
    2678 EMIT_INSTR_PLUS_ICEBP vpbroadcastq, XMM1, XMM2
    2679 EMIT_INSTR_PLUS_ICEBP vpbroadcastq, XMM1, FSxBX
     1760EMIT_INSTR_PLUS_ICEBP_XMM vpbroadcastq
    26801761EMIT_INSTR_PLUS_ICEBP vpbroadcastq, YMM1, XMM2
    26811762EMIT_INSTR_PLUS_ICEBP vpbroadcastq, YMM1, FSxBX
    2682  %if TMPL_BITS == 64
    2683 EMIT_INSTR_PLUS_ICEBP vpbroadcastq, XMM9, XMM8
    2684 EMIT_INSTR_PLUS_ICEBP vpbroadcastq, XMM9, FSxBX
    2685 EMIT_INSTR_PLUS_ICEBP vpbroadcastq, YMM9, XMM8
    2686 EMIT_INSTR_PLUS_ICEBP vpbroadcastq, YMM9, FSxBX
    2687  %endif
     1763EMIT_INSTR_PLUS_ICEBP_XMM_98 vpbroadcastq
     1764EMIT_INSTR_PLUS_ICEBP_C64 vpbroadcastq, YMM9, XMM8
     1765EMIT_INSTR_PLUS_ICEBP_C64 vpbroadcastq, YMM9, FSxBX
    26881766
    26891767;
     
    26911769;
    26921770EMIT_INSTR_PLUS_ICEBP vbroadcasti128, YMM1, FSxBX
    2693  %if TMPL_BITS == 64
    2694 EMIT_INSTR_PLUS_ICEBP vbroadcasti128, YMM9, FSxBX
    2695  %endif
     1771EMIT_INSTR_PLUS_ICEBP_C64 vbroadcasti128, YMM9, FSxBX
    26961772
    26971773;
    26981774; SHA1NEXTE
    26991775;
    2700 EMIT_INSTR_PLUS_ICEBP sha1nexte, XMM1, XMM2
    2701 EMIT_INSTR_PLUS_ICEBP sha1nexte, XMM1, FSxBX
    2702  %if TMPL_BITS == 64
    2703 EMIT_INSTR_PLUS_ICEBP sha1nexte, XMM9, XMM8
    2704 EMIT_INSTR_PLUS_ICEBP sha1nexte, XMM9, FSxBX
    2705  %endif
     1776EMIT_INSTR_PLUS_ICEBP_XMM sha1nexte
     1777EMIT_INSTR_PLUS_ICEBP_XMM_98 sha1nexte
    27061778
    27071779;
    27081780; SHA1MSG1
    27091781;
    2710 EMIT_INSTR_PLUS_ICEBP sha1msg1, XMM1, XMM2
    2711 EMIT_INSTR_PLUS_ICEBP sha1msg1, XMM1, FSxBX
    2712  %if TMPL_BITS == 64
    2713 EMIT_INSTR_PLUS_ICEBP sha1msg1, XMM9, XMM8
    2714 EMIT_INSTR_PLUS_ICEBP sha1msg1, XMM9, FSxBX
    2715  %endif
     1782EMIT_INSTR_PLUS_ICEBP_XMM sha1msg1
     1783EMIT_INSTR_PLUS_ICEBP_XMM_98 sha1msg1
    27161784
    27171785;
    27181786; SHA1MSG2
    27191787;
    2720 EMIT_INSTR_PLUS_ICEBP sha1msg2, XMM1, XMM2
    2721 EMIT_INSTR_PLUS_ICEBP sha1msg2, XMM1, FSxBX
    2722  %if TMPL_BITS == 64
    2723 EMIT_INSTR_PLUS_ICEBP sha1msg2, XMM9, XMM8
    2724 EMIT_INSTR_PLUS_ICEBP sha1msg2, XMM9, FSxBX
    2725  %endif
     1788EMIT_INSTR_PLUS_ICEBP_XMM sha1msg2
     1789EMIT_INSTR_PLUS_ICEBP_XMM_98 sha1msg2
    27261790
    27271791;
    27281792; SHA256MSG1
    27291793;
    2730 EMIT_INSTR_PLUS_ICEBP sha256msg1, XMM1, XMM2
    2731 EMIT_INSTR_PLUS_ICEBP sha256msg1, XMM1, FSxBX
    2732  %if TMPL_BITS == 64
    2733 EMIT_INSTR_PLUS_ICEBP sha256msg1, XMM9, XMM8
    2734 EMIT_INSTR_PLUS_ICEBP sha256msg1, XMM9, FSxBX
    2735  %endif
     1794EMIT_INSTR_PLUS_ICEBP_XMM sha256msg1
     1795EMIT_INSTR_PLUS_ICEBP_XMM_98 sha256msg1
    27361796
    27371797;
    27381798; SHA256MSG2
    27391799;
    2740 EMIT_INSTR_PLUS_ICEBP sha256msg2, XMM1, XMM2
    2741 EMIT_INSTR_PLUS_ICEBP sha256msg2, XMM1, FSxBX
    2742  %if TMPL_BITS == 64
    2743 EMIT_INSTR_PLUS_ICEBP sha256msg2, XMM9, XMM8
    2744 EMIT_INSTR_PLUS_ICEBP sha256msg2, XMM9, FSxBX
    2745  %endif
     1800EMIT_INSTR_PLUS_ICEBP_XMM sha256msg2
     1801EMIT_INSTR_PLUS_ICEBP_XMM_98 sha256msg2
    27461802
    27471803;
     
    27561812EMIT_INSTR_PLUS_ICEBP sha1rnds4, XMM1, XMM2,  003h
    27571813EMIT_INSTR_PLUS_ICEBP sha1rnds4, XMM1, FSxBX, 003h
    2758  %if TMPL_BITS == 64
    2759 EMIT_INSTR_PLUS_ICEBP sha1rnds4, XMM9, XMM8,  000h
    2760 EMIT_INSTR_PLUS_ICEBP sha1rnds4, XMM9, FSxBX, 000h
    2761 EMIT_INSTR_PLUS_ICEBP sha1rnds4, XMM9, XMM8,  001h
    2762 EMIT_INSTR_PLUS_ICEBP sha1rnds4, XMM9, FSxBX, 001h
    2763 EMIT_INSTR_PLUS_ICEBP sha1rnds4, XMM9, XMM8,  002h
    2764 EMIT_INSTR_PLUS_ICEBP sha1rnds4, XMM9, FSxBX, 002h
    2765 EMIT_INSTR_PLUS_ICEBP sha1rnds4, XMM9, XMM8,  003h
    2766 EMIT_INSTR_PLUS_ICEBP sha1rnds4, XMM9, FSxBX, 003h
    2767  %endif
     1814EMIT_INSTR_PLUS_ICEBP_C64 sha1rnds4, XMM9, XMM8,  000h
     1815EMIT_INSTR_PLUS_ICEBP_C64 sha1rnds4, XMM9, FSxBX, 000h
     1816EMIT_INSTR_PLUS_ICEBP_C64 sha1rnds4, XMM9, XMM8,  001h
     1817EMIT_INSTR_PLUS_ICEBP_C64 sha1rnds4, XMM9, FSxBX, 001h
     1818EMIT_INSTR_PLUS_ICEBP_C64 sha1rnds4, XMM9, XMM8,  002h
     1819EMIT_INSTR_PLUS_ICEBP_C64 sha1rnds4, XMM9, FSxBX, 002h
     1820EMIT_INSTR_PLUS_ICEBP_C64 sha1rnds4, XMM9, XMM8,  003h
     1821EMIT_INSTR_PLUS_ICEBP_C64 sha1rnds4, XMM9, FSxBX, 003h
    27681822
    27691823;
     
    27721826EMIT_INSTR_PLUS_ICEBP sha256rnds2, XMM1, XMM2,  XMM0
    27731827EMIT_INSTR_PLUS_ICEBP sha256rnds2, XMM1, FSxBX, XMM0
    2774  %if TMPL_BITS == 64
    2775 EMIT_INSTR_PLUS_ICEBP sha256rnds2, XMM8, XMM9,  XMM0
    2776 EMIT_INSTR_PLUS_ICEBP sha256rnds2, XMM8, FSxBX, XMM0
    2777  %endif
     1828EMIT_INSTR_PLUS_ICEBP_C64 sha256rnds2, XMM8, XMM9,  XMM0
     1829EMIT_INSTR_PLUS_ICEBP_C64 sha256rnds2, XMM8, FSxBX, XMM0
    27781830
    27791831;
    27801832; [V]PBLENDVB
    27811833;
    2782 EMIT_INSTR_PLUS_ICEBP   pblendvb,  XMM1, XMM2
    2783 EMIT_INSTR_PLUS_ICEBP   pblendvb,  XMM1, FSxBX
     1834EMIT_INSTR_PLUS_ICEBP_XMM   pblendvb
    27841835EMIT_INSTR_PLUS_ICEBP   vpblendvb, XMM1, XMM2, XMM3, XMM4
    27851836EMIT_INSTR_PLUS_ICEBP   vpblendvb, XMM1, XMM2, FSxBX, XMM4
    2786  %if TMPL_BITS == 64
    2787 EMIT_INSTR_PLUS_ICEBP   pblendvb,  XMM8, XMM9
    2788 EMIT_INSTR_PLUS_ICEBP   pblendvb,  XMM8, FSxBX
    2789 EMIT_INSTR_PLUS_ICEBP   vpblendvb, XMM8, XMM9, XMM10, XMM11
    2790 EMIT_INSTR_PLUS_ICEBP   vpblendvb, XMM8, XMM9, FSxBX, XMM11
    2791  %endif
     1837EMIT_INSTR_PLUS_ICEBP_XMM_89   pblendvb
     1838EMIT_INSTR_PLUS_ICEBP_C64   vpblendvb, XMM8, XMM9, XMM10, XMM11
     1839EMIT_INSTR_PLUS_ICEBP_C64   vpblendvb, XMM8, XMM9, FSxBX, XMM11
    27921840
    27931841EMIT_INSTR_PLUS_ICEBP   vpblendvb, YMM1, YMM2, YMM3, YMM4
    27941842EMIT_INSTR_PLUS_ICEBP   vpblendvb, YMM1, YMM2, FSxBX, YMM4
    2795  %if TMPL_BITS == 64
    2796 EMIT_INSTR_PLUS_ICEBP   vpblendvb, YMM8, YMM9, YMM10, YMM11
    2797 EMIT_INSTR_PLUS_ICEBP   vpblendvb, YMM8, YMM9, FSxBX, YMM11
    2798  %endif
     1843EMIT_INSTR_PLUS_ICEBP_C64   vpblendvb, YMM8, YMM9, YMM10, YMM11
     1844EMIT_INSTR_PLUS_ICEBP_C64   vpblendvb, YMM8, YMM9, FSxBX, YMM11
    27991845
    28001846;
    28011847; [V]BLENDVPS
    28021848;
    2803 EMIT_INSTR_PLUS_ICEBP   blendvps,  XMM1, XMM2
    2804 EMIT_INSTR_PLUS_ICEBP   blendvps,  XMM1, FSxBX
     1849EMIT_INSTR_PLUS_ICEBP_XMM   blendvps
    28051850EMIT_INSTR_PLUS_ICEBP   vblendvps, XMM1, XMM2, XMM3, XMM4
    28061851EMIT_INSTR_PLUS_ICEBP   vblendvps, XMM1, XMM2, FSxBX, XMM4
    2807  %if TMPL_BITS == 64
    2808 EMIT_INSTR_PLUS_ICEBP   blendvps,  XMM8, XMM9
    2809 EMIT_INSTR_PLUS_ICEBP   blendvps,  XMM8, FSxBX
    2810 EMIT_INSTR_PLUS_ICEBP   vblendvps, XMM8, XMM9, XMM10, XMM11
    2811 EMIT_INSTR_PLUS_ICEBP   vblendvps, XMM8, XMM9, FSxBX, XMM11
    2812  %endif
     1852EMIT_INSTR_PLUS_ICEBP_XMM_89   blendvps
     1853EMIT_INSTR_PLUS_ICEBP_C64   vblendvps, XMM8, XMM9, XMM10, XMM11
     1854EMIT_INSTR_PLUS_ICEBP_C64   vblendvps, XMM8, XMM9, FSxBX, XMM11
    28131855
    28141856EMIT_INSTR_PLUS_ICEBP   vblendvps, YMM1, YMM2, YMM3, YMM4
    28151857EMIT_INSTR_PLUS_ICEBP   vblendvps, YMM1, YMM2, FSxBX, YMM4
    2816  %if TMPL_BITS == 64
    2817 EMIT_INSTR_PLUS_ICEBP   vblendvps, YMM8, YMM9, YMM10, YMM11
    2818 EMIT_INSTR_PLUS_ICEBP   vblendvps, YMM8, YMM9, FSxBX, YMM11
    2819  %endif
     1858EMIT_INSTR_PLUS_ICEBP_C64   vblendvps, YMM8, YMM9, YMM10, YMM11
     1859EMIT_INSTR_PLUS_ICEBP_C64   vblendvps, YMM8, YMM9, FSxBX, YMM11
    28201860
    28211861;
    28221862; [V]BLENDVPD
    28231863;
    2824 EMIT_INSTR_PLUS_ICEBP   blendvpd,  XMM1, XMM2
    2825 EMIT_INSTR_PLUS_ICEBP   blendvpd,  XMM1, FSxBX
     1864EMIT_INSTR_PLUS_ICEBP_XMM   blendvpd
    28261865EMIT_INSTR_PLUS_ICEBP   vblendvpd, XMM1, XMM2, XMM3, XMM4
    28271866EMIT_INSTR_PLUS_ICEBP   vblendvpd, XMM1, XMM2, FSxBX, XMM4
    2828  %if TMPL_BITS == 64
    2829 EMIT_INSTR_PLUS_ICEBP   blendvpd,  XMM8, XMM9
    2830 EMIT_INSTR_PLUS_ICEBP   blendvpd,  XMM8, FSxBX
    2831 EMIT_INSTR_PLUS_ICEBP   vblendvpd, XMM8, XMM9, XMM10, XMM11
    2832 EMIT_INSTR_PLUS_ICEBP   vblendvpd, XMM8, XMM9, FSxBX, XMM11
    2833  %endif
     1867EMIT_INSTR_PLUS_ICEBP_XMM_89   blendvpd
     1868EMIT_INSTR_PLUS_ICEBP_C64   vblendvpd, XMM8, XMM9, XMM10, XMM11
     1869EMIT_INSTR_PLUS_ICEBP_C64   vblendvpd, XMM8, XMM9, FSxBX, XMM11
    28341870
    28351871EMIT_INSTR_PLUS_ICEBP   vblendvpd, YMM1, YMM2, YMM3, YMM4
    28361872EMIT_INSTR_PLUS_ICEBP   vblendvpd, YMM1, YMM2, FSxBX, YMM4
    2837  %if TMPL_BITS == 64
    2838 EMIT_INSTR_PLUS_ICEBP   vblendvpd, YMM8, YMM9, YMM10, YMM11
    2839 EMIT_INSTR_PLUS_ICEBP   vblendvpd, YMM8, YMM9, FSxBX, YMM11
    2840  %endif
     1873EMIT_INSTR_PLUS_ICEBP_C64   vblendvpd, YMM8, YMM9, YMM10, YMM11
     1874EMIT_INSTR_PLUS_ICEBP_C64   vblendvpd, YMM8, YMM9, FSxBX, YMM11
    28411875
    28421876;
     
    28791913EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM1, YMM2, FSxBX, 013h
    28801914
    2881  %if TMPL_BITS == 64
    2882 EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, XMM9,  0FFh
    2883 EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, FSxBX, 0FFh
    2884 EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, XMM9,  000h
    2885 EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, FSxBX, 000h
    2886 EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, XMM9,  003h
    2887 EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, FSxBX, 003h
    2888 EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, XMM9,  013h
    2889 EMIT_INSTR_PLUS_ICEBP   palignr,  XMM8, FSxBX, 013h
    2890 
    2891 EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, XMM10, 0FFh
    2892 EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, FSxBX, 0FFh
    2893 EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, XMM10, 000h
    2894 EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, FSxBX, 000h
    2895 EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, XMM10, 003h
    2896 EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, FSxBX, 003h
    2897 EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, XMM10, 013h
    2898 EMIT_INSTR_PLUS_ICEBP   vpalignr, XMM8, XMM9, FSxBX, 013h
    2899 
    2900 EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, YMM10, 0FFh
    2901 EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, FSxBX, 0FFh
    2902 EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, YMM10, 000h
    2903 EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, FSxBX, 000h
    2904 EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, YMM10, 003h
    2905 EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, FSxBX, 003h
    2906 EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, YMM10, 013h
    2907 EMIT_INSTR_PLUS_ICEBP   vpalignr, YMM8, YMM9, FSxBX, 013h
    2908  %endif
     1915EMIT_INSTR_PLUS_ICEBP_C64   palignr,  XMM8, XMM9,  0FFh
     1916EMIT_INSTR_PLUS_ICEBP_C64   palignr,  XMM8, FSxBX, 0FFh
     1917EMIT_INSTR_PLUS_ICEBP_C64   palignr,  XMM8, XMM9,  000h
     1918EMIT_INSTR_PLUS_ICEBP_C64   palignr,  XMM8, FSxBX, 000h
     1919EMIT_INSTR_PLUS_ICEBP_C64   palignr,  XMM8, XMM9,  003h
     1920EMIT_INSTR_PLUS_ICEBP_C64   palignr,  XMM8, FSxBX, 003h
     1921EMIT_INSTR_PLUS_ICEBP_C64   palignr,  XMM8, XMM9,  013h
     1922EMIT_INSTR_PLUS_ICEBP_C64   palignr,  XMM8, FSxBX, 013h
     1923
     1924EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, XMM8, XMM9, XMM10, 0FFh
     1925EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, XMM8, XMM9, FSxBX, 0FFh
     1926EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, XMM8, XMM9, XMM10, 000h
     1927EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, XMM8, XMM9, FSxBX, 000h
     1928EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, XMM8, XMM9, XMM10, 003h
     1929EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, XMM8, XMM9, FSxBX, 003h
     1930EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, XMM8, XMM9, XMM10, 013h
     1931EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, XMM8, XMM9, FSxBX, 013h
     1932
     1933EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, YMM8, YMM9, YMM10, 0FFh
     1934EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, YMM8, YMM9, FSxBX, 0FFh
     1935EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, YMM8, YMM9, YMM10, 000h
     1936EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, YMM8, YMM9, FSxBX, 000h
     1937EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, YMM8, YMM9, YMM10, 003h
     1938EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, YMM8, YMM9, FSxBX, 003h
     1939EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, YMM8, YMM9, YMM10, 013h
     1940EMIT_INSTR_PLUS_ICEBP_C64   vpalignr, YMM8, YMM9, FSxBX, 013h
    29091941
    29101942;
     
    29261958EMIT_INSTR_PLUS_ICEBP   vpblendw, YMM1, YMM2, FSxBX, 000h
    29271959
    2928  %if TMPL_BITS == 64
    2929 EMIT_INSTR_PLUS_ICEBP   pblendw,  XMM8, XMM9,  0FFh
    2930 EMIT_INSTR_PLUS_ICEBP   pblendw,  XMM8, FSxBX, 0FFh
    2931 EMIT_INSTR_PLUS_ICEBP   pblendw,  XMM8, XMM9,  000h
    2932 EMIT_INSTR_PLUS_ICEBP   pblendw,  XMM8, FSxBX, 000h
    2933 
    2934 EMIT_INSTR_PLUS_ICEBP   vpblendw, XMM8, XMM9, XMM10, 0FFh
    2935 EMIT_INSTR_PLUS_ICEBP   vpblendw, XMM8, XMM9, FSxBX, 0FFh
    2936 EMIT_INSTR_PLUS_ICEBP   vpblendw, XMM8, XMM9, XMM10, 000h
    2937 EMIT_INSTR_PLUS_ICEBP   vpblendw, XMM8, XMM9, FSxBX, 000h
    2938 
    2939 EMIT_INSTR_PLUS_ICEBP   vpblendw, YMM8, YMM9, YMM10, 0FFh
    2940 EMIT_INSTR_PLUS_ICEBP   vpblendw, YMM8, YMM9, FSxBX, 0FFh
    2941 EMIT_INSTR_PLUS_ICEBP   vpblendw, YMM8, YMM9, YMM10, 000h
    2942 EMIT_INSTR_PLUS_ICEBP   vpblendw, YMM8, YMM9, FSxBX, 000h
    2943  %endif
     1960EMIT_INSTR_PLUS_ICEBP_C64   pblendw,  XMM8, XMM9,  0FFh
     1961EMIT_INSTR_PLUS_ICEBP_C64   pblendw,  XMM8, FSxBX, 0FFh
     1962EMIT_INSTR_PLUS_ICEBP_C64   pblendw,  XMM8, XMM9,  000h
     1963EMIT_INSTR_PLUS_ICEBP_C64   pblendw,  XMM8, FSxBX, 000h
     1964
     1965EMIT_INSTR_PLUS_ICEBP_C64   vpblendw, XMM8, XMM9, XMM10, 0FFh
     1966EMIT_INSTR_PLUS_ICEBP_C64   vpblendw, XMM8, XMM9, FSxBX, 0FFh
     1967EMIT_INSTR_PLUS_ICEBP_C64   vpblendw, XMM8, XMM9, XMM10, 000h
     1968EMIT_INSTR_PLUS_ICEBP_C64   vpblendw, XMM8, XMM9, FSxBX, 000h
     1969
     1970EMIT_INSTR_PLUS_ICEBP_C64   vpblendw, YMM8, YMM9, YMM10, 0FFh
     1971EMIT_INSTR_PLUS_ICEBP_C64   vpblendw, YMM8, YMM9, FSxBX, 0FFh
     1972EMIT_INSTR_PLUS_ICEBP_C64   vpblendw, YMM8, YMM9, YMM10, 000h
     1973EMIT_INSTR_PLUS_ICEBP_C64   vpblendw, YMM8, YMM9, FSxBX, 000h
    29441974
    29451975;
     
    29611991EMIT_INSTR_PLUS_ICEBP   vblendps, YMM1, YMM2, FSxBX, 000h
    29621992
    2963  %if TMPL_BITS == 64
    2964 EMIT_INSTR_PLUS_ICEBP   blendps,  XMM8, XMM9,  0FFh
    2965 EMIT_INSTR_PLUS_ICEBP   blendps,  XMM8, FSxBX, 0FFh
    2966 EMIT_INSTR_PLUS_ICEBP   blendps,  XMM8, XMM9,  000h
    2967 EMIT_INSTR_PLUS_ICEBP   blendps,  XMM8, FSxBX, 000h
    2968 
    2969 EMIT_INSTR_PLUS_ICEBP   vblendps, XMM8, XMM9, XMM10, 0FFh
    2970 EMIT_INSTR_PLUS_ICEBP   vblendps, XMM8, XMM9, FSxBX, 0FFh
    2971 EMIT_INSTR_PLUS_ICEBP   vblendps, XMM8, XMM9, XMM10, 000h
    2972 EMIT_INSTR_PLUS_ICEBP   vblendps, XMM8, XMM9, FSxBX, 000h
    2973 
    2974 EMIT_INSTR_PLUS_ICEBP   vblendps, YMM8, YMM9, YMM10, 0FFh
    2975 EMIT_INSTR_PLUS_ICEBP   vblendps, YMM8, YMM9, FSxBX, 0FFh
    2976 EMIT_INSTR_PLUS_ICEBP   vblendps, YMM8, YMM9, YMM10, 000h
    2977 EMIT_INSTR_PLUS_ICEBP   vblendps, YMM8, YMM9, FSxBX, 000h
    2978  %endif
     1993EMIT_INSTR_PLUS_ICEBP_C64   blendps,  XMM8, XMM9,  0FFh
     1994EMIT_INSTR_PLUS_ICEBP_C64   blendps,  XMM8, FSxBX, 0FFh
     1995EMIT_INSTR_PLUS_ICEBP_C64   blendps,  XMM8, XMM9,  000h
     1996EMIT_INSTR_PLUS_ICEBP_C64   blendps,  XMM8, FSxBX, 000h
     1997
     1998EMIT_INSTR_PLUS_ICEBP_C64   vblendps, XMM8, XMM9, XMM10, 0FFh
     1999EMIT_INSTR_PLUS_ICEBP_C64   vblendps, XMM8, XMM9, FSxBX, 0FFh
     2000EMIT_INSTR_PLUS_ICEBP_C64   vblendps, XMM8, XMM9, XMM10, 000h
     2001EMIT_INSTR_PLUS_ICEBP_C64   vblendps, XMM8, XMM9, FSxBX, 000h
     2002
     2003EMIT_INSTR_PLUS_ICEBP_C64   vblendps, YMM8, YMM9, YMM10, 0FFh
     2004EMIT_INSTR_PLUS_ICEBP_C64   vblendps, YMM8, YMM9, FSxBX, 0FFh
     2005EMIT_INSTR_PLUS_ICEBP_C64   vblendps, YMM8, YMM9, YMM10, 000h
     2006EMIT_INSTR_PLUS_ICEBP_C64   vblendps, YMM8, YMM9, FSxBX, 000h
    29792007
    29802008;
     
    29962024EMIT_INSTR_PLUS_ICEBP   vblendpd, YMM1, YMM2, FSxBX, 000h
    29972025
    2998  %if TMPL_BITS == 64
    2999 EMIT_INSTR_PLUS_ICEBP   blendpd,  XMM8, XMM9,  0FFh
    3000 EMIT_INSTR_PLUS_ICEBP   blendpd,  XMM8, FSxBX, 0FFh
    3001 EMIT_INSTR_PLUS_ICEBP   blendpd,  XMM8, XMM9,  000h
    3002 EMIT_INSTR_PLUS_ICEBP   blendpd,  XMM8, FSxBX, 000h
    3003 
    3004 EMIT_INSTR_PLUS_ICEBP   vblendpd, XMM8, XMM9, XMM10, 0FFh
    3005 EMIT_INSTR_PLUS_ICEBP   vblendpd, XMM8, XMM9, FSxBX, 0FFh
    3006 EMIT_INSTR_PLUS_ICEBP   vblendpd, XMM8, XMM9, XMM10, 000h
    3007 EMIT_INSTR_PLUS_ICEBP   vblendpd, XMM8, XMM9, FSxBX, 000h
    3008 
    3009 EMIT_INSTR_PLUS_ICEBP   vblendpd, YMM8, YMM9, YMM10, 0FFh
    3010 EMIT_INSTR_PLUS_ICEBP   vblendpd, YMM8, YMM9, FSxBX, 0FFh
    3011 EMIT_INSTR_PLUS_ICEBP   vblendpd, YMM8, YMM9, YMM10, 000h
    3012 EMIT_INSTR_PLUS_ICEBP   vblendpd, YMM8, YMM9, FSxBX, 000h
    3013  %endif
     2026EMIT_INSTR_PLUS_ICEBP_C64   blendpd,  XMM8, XMM9,  0FFh
     2027EMIT_INSTR_PLUS_ICEBP_C64   blendpd,  XMM8, FSxBX, 0FFh
     2028EMIT_INSTR_PLUS_ICEBP_C64   blendpd,  XMM8, XMM9,  000h
     2029EMIT_INSTR_PLUS_ICEBP_C64   blendpd,  XMM8, FSxBX, 000h
     2030
     2031EMIT_INSTR_PLUS_ICEBP_C64   vblendpd, XMM8, XMM9, XMM10, 0FFh
     2032EMIT_INSTR_PLUS_ICEBP_C64   vblendpd, XMM8, XMM9, FSxBX, 0FFh
     2033EMIT_INSTR_PLUS_ICEBP_C64   vblendpd, XMM8, XMM9, XMM10, 000h
     2034EMIT_INSTR_PLUS_ICEBP_C64   vblendpd, XMM8, XMM9, FSxBX, 000h
     2035
     2036EMIT_INSTR_PLUS_ICEBP_C64   vblendpd, YMM8, YMM9, YMM10, 0FFh
     2037EMIT_INSTR_PLUS_ICEBP_C64   vblendpd, YMM8, YMM9, FSxBX, 0FFh
     2038EMIT_INSTR_PLUS_ICEBP_C64   vblendpd, YMM8, YMM9, YMM10, 000h
     2039EMIT_INSTR_PLUS_ICEBP_C64   vblendpd, YMM8, YMM9, FSxBX, 000h
    30142040
    30152041;
     
    30262052EMIT_INSTR_PLUS_ICEBP   vpclmulqdq, XMM1, XMM2, FSxBX, 000h
    30272053
    3028  %if TMPL_BITS == 64
    3029 EMIT_INSTR_PLUS_ICEBP   pclmulqdq,  XMM8, XMM9,  0FFh
    3030 EMIT_INSTR_PLUS_ICEBP   pclmulqdq,  XMM8, FSxBX, 0FFh
    3031 EMIT_INSTR_PLUS_ICEBP   pclmulqdq,  XMM8, XMM9,  000h
    3032 EMIT_INSTR_PLUS_ICEBP   pclmulqdq,  XMM8, FSxBX, 000h
    3033 
    3034 EMIT_INSTR_PLUS_ICEBP   vpclmulqdq, XMM8, XMM9, XMM10, 0FFh
    3035 EMIT_INSTR_PLUS_ICEBP   vpclmulqdq, XMM8, XMM9, FSxBX, 0FFh
    3036 EMIT_INSTR_PLUS_ICEBP   vpclmulqdq, XMM8, XMM9, XMM10, 000h
    3037 EMIT_INSTR_PLUS_ICEBP   vpclmulqdq, XMM8, XMM9, FSxBX, 000h
    3038  %endif
     2054EMIT_INSTR_PLUS_ICEBP_C64   pclmulqdq,  XMM8, XMM9,  0FFh
     2055EMIT_INSTR_PLUS_ICEBP_C64   pclmulqdq,  XMM8, FSxBX, 0FFh
     2056EMIT_INSTR_PLUS_ICEBP_C64   pclmulqdq,  XMM8, XMM9,  000h
     2057EMIT_INSTR_PLUS_ICEBP_C64   pclmulqdq,  XMM8, FSxBX, 000h
     2058
     2059EMIT_INSTR_PLUS_ICEBP_C64   vpclmulqdq, XMM8, XMM9, XMM10, 0FFh
     2060EMIT_INSTR_PLUS_ICEBP_C64   vpclmulqdq, XMM8, XMM9, FSxBX, 0FFh
     2061EMIT_INSTR_PLUS_ICEBP_C64   vpclmulqdq, XMM8, XMM9, XMM10, 000h
     2062EMIT_INSTR_PLUS_ICEBP_C64   vpclmulqdq, XMM8, XMM9, FSxBX, 000h
    30392063
    30402064;
     
    30562080EMIT_INSTR_PLUS_ICEBP   vpinsrw, XMM1, XMM2, FSxBX, 000h
    30572081
    3058  %if TMPL_BITS == 64
    3059 EMIT_INSTR_PLUS_ICEBP   pinsrw,  MM1, R9D,   0FFh
    3060 EMIT_INSTR_PLUS_ICEBP   pinsrw,  MM1, R9D,   000h
    3061 
    3062 EMIT_INSTR_PLUS_ICEBP   pinsrw,  XMM8, R9D,   0FFh
    3063 EMIT_INSTR_PLUS_ICEBP   pinsrw,  XMM8, FSxBX, 0FFh
    3064 EMIT_INSTR_PLUS_ICEBP   pinsrw,  XMM8, R9D,   000h
    3065 EMIT_INSTR_PLUS_ICEBP   pinsrw,  XMM8, FSxBX, 000h
    3066 
    3067 EMIT_INSTR_PLUS_ICEBP   vpinsrw, XMM8, XMM9, R9D,   0FFh
    3068 EMIT_INSTR_PLUS_ICEBP   vpinsrw, XMM8, XMM9, FSxBX, 0FFh
    3069 EMIT_INSTR_PLUS_ICEBP   vpinsrw, XMM8, XMM9, R9D,   000h
    3070 EMIT_INSTR_PLUS_ICEBP   vpinsrw, XMM8, XMM9, FSxBX, 000h
    3071  %endif
     2082EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  MM1, R9D,   0FFh
     2083EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  MM1, R9D,   000h
     2084
     2085EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  XMM8, R9D,   0FFh
     2086EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  XMM8, FSxBX, 0FFh
     2087EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  XMM8, R9D,   000h
     2088EMIT_INSTR_PLUS_ICEBP_C64   pinsrw,  XMM8, FSxBX, 000h
     2089
     2090EMIT_INSTR_PLUS_ICEBP_C64   vpinsrw, XMM8, XMM9, R9D,   0FFh
     2091EMIT_INSTR_PLUS_ICEBP_C64   vpinsrw, XMM8, XMM9, FSxBX, 0FFh
     2092EMIT_INSTR_PLUS_ICEBP_C64   vpinsrw, XMM8, XMM9, R9D,   000h
     2093EMIT_INSTR_PLUS_ICEBP_C64   vpinsrw, XMM8, XMM9, FSxBX, 000h
    30722094
    30732095;
     
    30832105EMIT_INSTR_PLUS_ICEBP   vpextrw, EDX, XMM1, 000h
    30842106
    3085  %if TMPL_BITS == 64
    3086 EMIT_INSTR_PLUS_ICEBP   pextrw,  R9D, MM1, 0FFh
    3087 EMIT_INSTR_PLUS_ICEBP   pextrw,  R9D, MM1, 000h
    3088 
    3089 ; @todo Emits the SSE4.1 0f3a variant EMIT_INSTR_PLUS_ICEBP   pextrw,  RDX, XMM1, 0FFh
    3090 ; @todo Emits the SSE4.1 0f3a variant EMIT_INSTR_PLUS_ICEBP   pextrw,  RDX, XMM1, 000h
    3091 
    3092 EMIT_INSTR_PLUS_ICEBP   pextrw,  R9D, XMM8, 0FFh
    3093 EMIT_INSTR_PLUS_ICEBP   pextrw,  R9D, XMM8, 000h
    3094 
    3095 EMIT_INSTR_PLUS_ICEBP   vpextrw, R9D, XMM8, 0FFh
    3096 EMIT_INSTR_PLUS_ICEBP   vpextrw, R9D, XMM8, 000h
    3097 
    3098 EMIT_INSTR_PLUS_ICEBP   vpextrw, RDX, XMM1, 0FFh
    3099 EMIT_INSTR_PLUS_ICEBP   vpextrw, RDX, XMM1, 000h
    3100  %endif
     2107EMIT_INSTR_PLUS_ICEBP_C64   pextrw,  R9D, MM1, 0FFh
     2108EMIT_INSTR_PLUS_ICEBP_C64   pextrw,  R9D, MM1, 000h
     2109
     2110; @todo Emits the SSE4.1 0f3a variant EMIT_INSTR_PLUS_ICEBP_C64   pextrw,  RDX, XMM1, 0FFh
     2111; @todo Emits the SSE4.1 0f3a variant EMIT_INSTR_PLUS_ICEBP_C64   pextrw,  RDX, XMM1, 000h
     2112
     2113EMIT_INSTR_PLUS_ICEBP_C64   pextrw,  R9D, XMM8, 0FFh
     2114EMIT_INSTR_PLUS_ICEBP_C64   pextrw,  R9D, XMM8, 000h
     2115
     2116EMIT_INSTR_PLUS_ICEBP_C64   vpextrw, R9D, XMM8, 0FFh
     2117EMIT_INSTR_PLUS_ICEBP_C64   vpextrw, R9D, XMM8, 000h
     2118
     2119EMIT_INSTR_PLUS_ICEBP_C64   vpextrw, RDX, XMM1, 0FFh
     2120EMIT_INSTR_PLUS_ICEBP_C64   vpextrw, RDX, XMM1, 000h
    31012121
    31022122;
     
    31072127EMIT_INSTR_PLUS_ICEBP   vmovmskps, EDX, YMM1
    31082128
    3109  %if TMPL_BITS == 64
    3110 EMIT_INSTR_PLUS_ICEBP   movmskps, R9D, XMM8
    3111 EMIT_INSTR_PLUS_ICEBP   movmskps, RDX, XMM1
    3112 
    3113 EMIT_INSTR_PLUS_ICEBP   vmovmskps, R9D, XMM8
    3114 EMIT_INSTR_PLUS_ICEBP   vmovmskps, RDX, XMM1
    3115 
    3116 EMIT_INSTR_PLUS_ICEBP   vmovmskps, R9D, YMM8
    3117 EMIT_INSTR_PLUS_ICEBP   vmovmskps, RDX, YMM1
    3118  %endif
     2129EMIT_INSTR_PLUS_ICEBP_C64   movmskps, R9D, XMM8
     2130EMIT_INSTR_PLUS_ICEBP_C64   movmskps, RDX, XMM1
     2131
     2132EMIT_INSTR_PLUS_ICEBP_C64   vmovmskps, R9D, XMM8
     2133EMIT_INSTR_PLUS_ICEBP_C64   vmovmskps, RDX, XMM1
     2134
     2135EMIT_INSTR_PLUS_ICEBP_C64   vmovmskps, R9D, YMM8
     2136EMIT_INSTR_PLUS_ICEBP_C64   vmovmskps, RDX, YMM1
    31192137
    31202138;
     
    31252143EMIT_INSTR_PLUS_ICEBP   vmovmskpd, EDX, YMM1
    31262144
    3127  %if TMPL_BITS == 64
    3128 EMIT_INSTR_PLUS_ICEBP   movmskpd, R9D, XMM8
    3129 EMIT_INSTR_PLUS_ICEBP   movmskpd, RDX, XMM1
    3130 
    3131 EMIT_INSTR_PLUS_ICEBP   vmovmskpd, R9D, XMM8
    3132 EMIT_INSTR_PLUS_ICEBP   vmovmskpd, RDX, XMM1
    3133 
    3134 EMIT_INSTR_PLUS_ICEBP   vmovmskpd, R9D, YMM8
    3135 EMIT_INSTR_PLUS_ICEBP   vmovmskpd, RDX, YMM1
    3136  %endif
     2145EMIT_INSTR_PLUS_ICEBP_C64   movmskpd, R9D, XMM8
     2146EMIT_INSTR_PLUS_ICEBP_C64   movmskpd, RDX, XMM1
     2147
     2148EMIT_INSTR_PLUS_ICEBP_C64   vmovmskpd, R9D, XMM8
     2149EMIT_INSTR_PLUS_ICEBP_C64   vmovmskpd, RDX, XMM1
     2150
     2151EMIT_INSTR_PLUS_ICEBP_C64   vmovmskpd, R9D, YMM8
     2152EMIT_INSTR_PLUS_ICEBP_C64   vmovmskpd, RDX, YMM1
    31372153
    31382154;
     
    31542170EMIT_INSTR_PLUS_ICEBP   vmpsadbw, YMM1, YMM2, FSxBX, 000h
    31552171
    3156  %if TMPL_BITS == 64
    3157 EMIT_INSTR_PLUS_ICEBP   mpsadbw,  XMM8, XMM9,  0FFh
    3158 EMIT_INSTR_PLUS_ICEBP   mpsadbw,  XMM8, FSxBX, 0FFh
    3159 EMIT_INSTR_PLUS_ICEBP   mpsadbw,  XMM8, XMM9,  000h
    3160 EMIT_INSTR_PLUS_ICEBP   mpsadbw,  XMM8, FSxBX, 000h
    3161 
    3162 EMIT_INSTR_PLUS_ICEBP   vmpsadbw, XMM8, XMM9, XMM10, 0FFh
    3163 EMIT_INSTR_PLUS_ICEBP   vmpsadbw, XMM8, XMM9, FSxBX, 0FFh
    3164 EMIT_INSTR_PLUS_ICEBP   vmpsadbw, XMM8, XMM9, XMM10, 000h
    3165 EMIT_INSTR_PLUS_ICEBP   vmpsadbw, XMM8, XMM9, FSxBX, 000h
    3166 
    3167 EMIT_INSTR_PLUS_ICEBP   vmpsadbw, YMM8, YMM9, YMM10, 0FFh
    3168 EMIT_INSTR_PLUS_ICEBP   vmpsadbw, YMM8, YMM9, FSxBX, 0FFh
    3169 EMIT_INSTR_PLUS_ICEBP   vmpsadbw, YMM8, YMM9, YMM10, 000h
    3170 EMIT_INSTR_PLUS_ICEBP   vmpsadbw, YMM8, YMM9, FSxBX, 000h
    3171  %endif
     2172EMIT_INSTR_PLUS_ICEBP_C64   mpsadbw,  XMM8, XMM9,  0FFh
     2173EMIT_INSTR_PLUS_ICEBP_C64   mpsadbw,  XMM8, FSxBX, 0FFh
     2174EMIT_INSTR_PLUS_ICEBP_C64   mpsadbw,  XMM8, XMM9,  000h
     2175EMIT_INSTR_PLUS_ICEBP_C64   mpsadbw,  XMM8, FSxBX, 000h
     2176
     2177EMIT_INSTR_PLUS_ICEBP_C64   vmpsadbw, XMM8, XMM9, XMM10, 0FFh
     2178EMIT_INSTR_PLUS_ICEBP_C64   vmpsadbw, XMM8, XMM9, FSxBX, 0FFh
     2179EMIT_INSTR_PLUS_ICEBP_C64   vmpsadbw, XMM8, XMM9, XMM10, 000h
     2180EMIT_INSTR_PLUS_ICEBP_C64   vmpsadbw, XMM8, XMM9, FSxBX, 000h
     2181
     2182EMIT_INSTR_PLUS_ICEBP_C64   vmpsadbw, YMM8, YMM9, YMM10, 0FFh
     2183EMIT_INSTR_PLUS_ICEBP_C64   vmpsadbw, YMM8, YMM9, FSxBX, 0FFh
     2184EMIT_INSTR_PLUS_ICEBP_C64   vmpsadbw, YMM8, YMM9, YMM10, 000h
     2185EMIT_INSTR_PLUS_ICEBP_C64   vmpsadbw, YMM8, YMM9, FSxBX, 000h
    31722186
    31732187;
     
    31792193EMIT_INSTR_PLUS_ICEBP   vinserti128, YMM1, YMM2, FSxBX, 000h
    31802194
    3181  %if TMPL_BITS == 64
    3182 EMIT_INSTR_PLUS_ICEBP   vinserti128, YMM8, YMM9, XMM10, 0FFh
    3183 EMIT_INSTR_PLUS_ICEBP   vinserti128, YMM8, YMM9, FSxBX, 0FFh
    3184 EMIT_INSTR_PLUS_ICEBP   vinserti128, YMM8, YMM9, XMM10, 000h
    3185 EMIT_INSTR_PLUS_ICEBP   vinserti128, YMM8, YMM9, FSxBX, 000h
    3186  %endif
     2195EMIT_INSTR_PLUS_ICEBP_C64   vinserti128, YMM8, YMM9, XMM10, 0FFh
     2196EMIT_INSTR_PLUS_ICEBP_C64   vinserti128, YMM8, YMM9, FSxBX, 0FFh
     2197EMIT_INSTR_PLUS_ICEBP_C64   vinserti128, YMM8, YMM9, XMM10, 000h
     2198EMIT_INSTR_PLUS_ICEBP_C64   vinserti128, YMM8, YMM9, FSxBX, 000h
    31872199
    31882200;
     
    31942206EMIT_INSTR_PLUS_ICEBP   vinsertf128, YMM1, YMM2, FSxBX, 000h
    31952207
    3196  %if TMPL_BITS == 64
    3197 EMIT_INSTR_PLUS_ICEBP   vinsertf128, YMM8, YMM9, XMM10, 0FFh
    3198 EMIT_INSTR_PLUS_ICEBP   vinsertf128, YMM8, YMM9, FSxBX, 0FFh
    3199 EMIT_INSTR_PLUS_ICEBP   vinsertf128, YMM8, YMM9, XMM10, 000h
    3200 EMIT_INSTR_PLUS_ICEBP   vinsertf128, YMM8, YMM9, FSxBX, 000h
    3201  %endif
     2208EMIT_INSTR_PLUS_ICEBP_C64   vinsertf128, YMM8, YMM9, XMM10, 0FFh
     2209EMIT_INSTR_PLUS_ICEBP_C64   vinsertf128, YMM8, YMM9, FSxBX, 0FFh
     2210EMIT_INSTR_PLUS_ICEBP_C64   vinsertf128, YMM8, YMM9, XMM10, 000h
     2211EMIT_INSTR_PLUS_ICEBP_C64   vinsertf128, YMM8, YMM9, FSxBX, 000h
    32022212
    32032213;
    32042214; [V]PSUBSB
    32052215;
    3206 EMIT_INSTR_PLUS_ICEBP   psubsb,  MM1, MM2
    3207 EMIT_INSTR_PLUS_ICEBP   psubsb,  MM1, FSxBX
    3208 EMIT_INSTR_PLUS_ICEBP   psubsb,  XMM1, XMM2
    3209 EMIT_INSTR_PLUS_ICEBP   psubsb,  XMM1, FSxBX
    3210 EMIT_INSTR_PLUS_ICEBP   vpsubsb, XMM1, XMM2, XMM3
    3211 EMIT_INSTR_PLUS_ICEBP   vpsubsb, XMM1, XMM2, FSxBX
    3212 EMIT_INSTR_PLUS_ICEBP   vpsubsb, YMM1, YMM2, YMM3
    3213 EMIT_INSTR_PLUS_ICEBP   vpsubsb, YMM1, YMM2, FSxBX
    3214  %if TMPL_BITS == 64
    3215 EMIT_INSTR_PLUS_ICEBP   psubsb,  XMM8, XMM9
    3216 EMIT_INSTR_PLUS_ICEBP   psubsb,  XMM8, FSxBX
    3217 EMIT_INSTR_PLUS_ICEBP   vpsubsb, XMM8, XMM9, XMM10
    3218 EMIT_INSTR_PLUS_ICEBP   vpsubsb, XMM8, XMM9, FSxBX
    3219 EMIT_INSTR_PLUS_ICEBP   vpsubsb, YMM8, YMM9, YMM10
    3220 EMIT_INSTR_PLUS_ICEBP   vpsubsb, YMM8, YMM9, FSxBX
    3221  %endif
     2216EMIT_INSTR_PLUS_ICEBP_MMX   psubsb
     2217EMIT_INSTR_PLUS_ICEBP_XMM   psubsb
     2218EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsubsb
     2219EMIT_INSTR_PLUS_ICEBP_YMM_123   vpsubsb
     2220EMIT_INSTR_PLUS_ICEBP_XMM_89   psubsb
     2221EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsubsb
     2222EMIT_INSTR_PLUS_ICEBP_YMM_890   vpsubsb
    32222223
    32232224;
    32242225; [V]PSUBSW
    32252226;
    3226 EMIT_INSTR_PLUS_ICEBP   psubsw,  MM1, MM2
    3227 EMIT_INSTR_PLUS_ICEBP   psubsw,  MM1, FSxBX
    3228 EMIT_INSTR_PLUS_ICEBP   psubsw,  XMM1, XMM2
    3229 EMIT_INSTR_PLUS_ICEBP   psubsw,  XMM1, FSxBX
    3230 EMIT_INSTR_PLUS_ICEBP   vpsubsw, XMM1, XMM2, XMM3
    3231 EMIT_INSTR_PLUS_ICEBP   vpsubsw, XMM1, XMM2, FSxBX
    3232 EMIT_INSTR_PLUS_ICEBP   vpsubsw, YMM1, YMM2, YMM3
    3233 EMIT_INSTR_PLUS_ICEBP   vpsubsw, YMM1, YMM2, FSxBX
    3234  %if TMPL_BITS == 64
    3235 EMIT_INSTR_PLUS_ICEBP   psubsw,  XMM8, XMM9
    3236 EMIT_INSTR_PLUS_ICEBP   psubsw,  XMM8, FSxBX
    3237 EMIT_INSTR_PLUS_ICEBP   vpsubsw, XMM8, XMM9, XMM10
    3238 EMIT_INSTR_PLUS_ICEBP   vpsubsw, XMM8, XMM9, FSxBX
    3239 EMIT_INSTR_PLUS_ICEBP   vpsubsw, YMM8, YMM9, YMM10
    3240 EMIT_INSTR_PLUS_ICEBP   vpsubsw, YMM8, YMM9, FSxBX
    3241  %endif
     2227EMIT_INSTR_PLUS_ICEBP_MMX   psubsw
     2228EMIT_INSTR_PLUS_ICEBP_XMM   psubsw
     2229EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsubsw
     2230EMIT_INSTR_PLUS_ICEBP_YMM_123   vpsubsw
     2231EMIT_INSTR_PLUS_ICEBP_XMM_89   psubsw
     2232EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsubsw
     2233EMIT_INSTR_PLUS_ICEBP_YMM_890   vpsubsw
    32422234
    32432235;
    32442236; [V]PSUBUSB
    32452237;
    3246 EMIT_INSTR_PLUS_ICEBP   psubusb,  MM1, MM2
    3247 EMIT_INSTR_PLUS_ICEBP   psubusb,  MM1, FSxBX
    3248 EMIT_INSTR_PLUS_ICEBP   psubusb,  XMM1, XMM2
    3249 EMIT_INSTR_PLUS_ICEBP   psubusb,  XMM1, FSxBX
    3250 EMIT_INSTR_PLUS_ICEBP   vpsubusb, XMM1, XMM2, XMM3
    3251 EMIT_INSTR_PLUS_ICEBP   vpsubusb, XMM1, XMM2, FSxBX
    3252 EMIT_INSTR_PLUS_ICEBP   vpsubusb, YMM1, YMM2, YMM3
    3253 EMIT_INSTR_PLUS_ICEBP   vpsubusb, YMM1, YMM2, FSxBX
    3254  %if TMPL_BITS == 64
    3255 EMIT_INSTR_PLUS_ICEBP   psubusb,  XMM8, XMM9
    3256 EMIT_INSTR_PLUS_ICEBP   psubusb,  XMM8, FSxBX
    3257 EMIT_INSTR_PLUS_ICEBP   vpsubusb, XMM8, XMM9, XMM10
    3258 EMIT_INSTR_PLUS_ICEBP   vpsubusb, XMM8, XMM9, FSxBX
    3259 EMIT_INSTR_PLUS_ICEBP   vpsubusb, YMM8, YMM9, YMM10
    3260 EMIT_INSTR_PLUS_ICEBP   vpsubusb, YMM8, YMM9, FSxBX
    3261  %endif
     2238EMIT_INSTR_PLUS_ICEBP_MMX   psubusb
     2239EMIT_INSTR_PLUS_ICEBP_XMM   psubusb
     2240EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsubusb
     2241EMIT_INSTR_PLUS_ICEBP_YMM_123   vpsubusb
     2242EMIT_INSTR_PLUS_ICEBP_XMM_89   psubusb
     2243EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsubusb
     2244EMIT_INSTR_PLUS_ICEBP_YMM_890   vpsubusb
    32622245
    32632246;
    32642247; [V]PSUBUSW
    32652248;
    3266 EMIT_INSTR_PLUS_ICEBP   psubusw,  MM1, MM2
    3267 EMIT_INSTR_PLUS_ICEBP   psubusw,  MM1, FSxBX
    3268 EMIT_INSTR_PLUS_ICEBP   psubusw,  XMM1, XMM2
    3269 EMIT_INSTR_PLUS_ICEBP   psubusw,  XMM1, FSxBX
    3270 EMIT_INSTR_PLUS_ICEBP   vpsubusw, XMM1, XMM2, XMM3
    3271 EMIT_INSTR_PLUS_ICEBP   vpsubusw, XMM1, XMM2, FSxBX
    3272 EMIT_INSTR_PLUS_ICEBP   vpsubusw, YMM1, YMM2, YMM3
    3273 EMIT_INSTR_PLUS_ICEBP   vpsubusw, YMM1, YMM2, FSxBX
    3274  %if TMPL_BITS == 64
    3275 EMIT_INSTR_PLUS_ICEBP   psubusw,  XMM8, XMM9
    3276 EMIT_INSTR_PLUS_ICEBP   psubusw,  XMM8, FSxBX
    3277 EMIT_INSTR_PLUS_ICEBP   vpsubusw, XMM8, XMM9, XMM10
    3278 EMIT_INSTR_PLUS_ICEBP   vpsubusw, XMM8, XMM9, FSxBX
    3279 EMIT_INSTR_PLUS_ICEBP   vpsubusw, YMM8, YMM9, YMM10
    3280 EMIT_INSTR_PLUS_ICEBP   vpsubusw, YMM8, YMM9, FSxBX
    3281  %endif
     2249EMIT_INSTR_PLUS_ICEBP_MMX   psubusw
     2250EMIT_INSTR_PLUS_ICEBP_XMM   psubusw
     2251EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsubusw
     2252EMIT_INSTR_PLUS_ICEBP_YMM_123   vpsubusw
     2253EMIT_INSTR_PLUS_ICEBP_XMM_89   psubusw
     2254EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsubusw
     2255EMIT_INSTR_PLUS_ICEBP_YMM_890   vpsubusw
    32822256
    32832257;
    32842258; [V]PADDUSB
    32852259;
    3286 EMIT_INSTR_PLUS_ICEBP   paddusb,  MM1, MM2
    3287 EMIT_INSTR_PLUS_ICEBP   paddusb,  MM1, FSxBX
    3288 EMIT_INSTR_PLUS_ICEBP   paddusb,  XMM1, XMM2
    3289 EMIT_INSTR_PLUS_ICEBP   paddusb,  XMM1, FSxBX
    3290 EMIT_INSTR_PLUS_ICEBP   vpaddusb, XMM1, XMM2, XMM3
    3291 EMIT_INSTR_PLUS_ICEBP   vpaddusb, XMM1, XMM2, FSxBX
    3292 EMIT_INSTR_PLUS_ICEBP   vpaddusb, YMM1, YMM2, YMM3
    3293 EMIT_INSTR_PLUS_ICEBP   vpaddusb, YMM1, YMM2, FSxBX
    3294  %if TMPL_BITS == 64
    3295 EMIT_INSTR_PLUS_ICEBP   paddusb,  XMM8, XMM9
    3296 EMIT_INSTR_PLUS_ICEBP   paddusb,  XMM8, FSxBX
    3297 EMIT_INSTR_PLUS_ICEBP   vpaddusb, XMM8, XMM9, XMM10
    3298 EMIT_INSTR_PLUS_ICEBP   vpaddusb, XMM8, XMM9, FSxBX
    3299 EMIT_INSTR_PLUS_ICEBP   vpaddusb, YMM8, YMM9, YMM10
    3300 EMIT_INSTR_PLUS_ICEBP   vpaddusb, YMM8, YMM9, FSxBX
    3301  %endif
     2260EMIT_INSTR_PLUS_ICEBP_MMX   paddusb
     2261EMIT_INSTR_PLUS_ICEBP_XMM   paddusb
     2262EMIT_INSTR_PLUS_ICEBP_XMM_123   vpaddusb
     2263EMIT_INSTR_PLUS_ICEBP_YMM_123   vpaddusb
     2264EMIT_INSTR_PLUS_ICEBP_XMM_89   paddusb
     2265EMIT_INSTR_PLUS_ICEBP_XMM_890   vpaddusb
     2266EMIT_INSTR_PLUS_ICEBP_YMM_890   vpaddusb
    33022267
    33032268;
    33042269; [V]PADDUSW
    33052270;
    3306 EMIT_INSTR_PLUS_ICEBP   paddusw,  MM1, MM2
    3307 EMIT_INSTR_PLUS_ICEBP   paddusw,  MM1, FSxBX
    3308 EMIT_INSTR_PLUS_ICEBP   paddusw,  XMM1, XMM2
    3309 EMIT_INSTR_PLUS_ICEBP   paddusw,  XMM1, FSxBX
    3310 EMIT_INSTR_PLUS_ICEBP   vpaddusw, XMM1, XMM2, XMM3
    3311 EMIT_INSTR_PLUS_ICEBP   vpaddusw, XMM1, XMM2, FSxBX
    3312 EMIT_INSTR_PLUS_ICEBP   vpaddusw, YMM1, YMM2, YMM3
    3313 EMIT_INSTR_PLUS_ICEBP   vpaddusw, YMM1, YMM2, FSxBX
    3314  %if TMPL_BITS == 64
    3315 EMIT_INSTR_PLUS_ICEBP   paddusw,  XMM8, XMM9
    3316 EMIT_INSTR_PLUS_ICEBP   paddusw,  XMM8, FSxBX
    3317 EMIT_INSTR_PLUS_ICEBP   vpaddusw, XMM8, XMM9, XMM10
    3318 EMIT_INSTR_PLUS_ICEBP   vpaddusw, XMM8, XMM9, FSxBX
    3319 EMIT_INSTR_PLUS_ICEBP   vpaddusw, YMM8, YMM9, YMM10
    3320 EMIT_INSTR_PLUS_ICEBP   vpaddusw, YMM8, YMM9, FSxBX
    3321  %endif
     2271EMIT_INSTR_PLUS_ICEBP_MMX   paddusw
     2272EMIT_INSTR_PLUS_ICEBP_XMM   paddusw
     2273EMIT_INSTR_PLUS_ICEBP_XMM_123   vpaddusw
     2274EMIT_INSTR_PLUS_ICEBP_YMM_123   vpaddusw
     2275EMIT_INSTR_PLUS_ICEBP_XMM_89   paddusw
     2276EMIT_INSTR_PLUS_ICEBP_XMM_890   vpaddusw
     2277EMIT_INSTR_PLUS_ICEBP_YMM_890   vpaddusw
    33222278
    33232279;
    33242280; [V]PADDSB
    33252281;
    3326 EMIT_INSTR_PLUS_ICEBP   paddsb,  MM1, MM2
    3327 EMIT_INSTR_PLUS_ICEBP   paddsb,  MM1, FSxBX
    3328 EMIT_INSTR_PLUS_ICEBP   paddsb,  XMM1, XMM2
    3329 EMIT_INSTR_PLUS_ICEBP   paddsb,  XMM1, FSxBX
    3330 EMIT_INSTR_PLUS_ICEBP   vpaddsb, XMM1, XMM2, XMM3
    3331 EMIT_INSTR_PLUS_ICEBP   vpaddsb, XMM1, XMM2, FSxBX
    3332 EMIT_INSTR_PLUS_ICEBP   vpaddsb, YMM1, YMM2, YMM3
    3333 EMIT_INSTR_PLUS_ICEBP   vpaddsb, YMM1, YMM2, FSxBX
    3334  %if TMPL_BITS == 64
    3335 EMIT_INSTR_PLUS_ICEBP   paddsb,  XMM8, XMM9
    3336 EMIT_INSTR_PLUS_ICEBP   paddsb,  XMM8, FSxBX
    3337 EMIT_INSTR_PLUS_ICEBP   vpaddsb, XMM8, XMM9, XMM10
    3338 EMIT_INSTR_PLUS_ICEBP   vpaddsb, XMM8, XMM9, FSxBX
    3339 EMIT_INSTR_PLUS_ICEBP   vpaddsb, YMM8, YMM9, YMM10
    3340 EMIT_INSTR_PLUS_ICEBP   vpaddsb, YMM8, YMM9, FSxBX
    3341  %endif
     2282EMIT_INSTR_PLUS_ICEBP_MMX   paddsb
     2283EMIT_INSTR_PLUS_ICEBP_XMM   paddsb
     2284EMIT_INSTR_PLUS_ICEBP_XMM_123   vpaddsb
     2285EMIT_INSTR_PLUS_ICEBP_YMM_123   vpaddsb
     2286EMIT_INSTR_PLUS_ICEBP_XMM_89   paddsb
     2287EMIT_INSTR_PLUS_ICEBP_XMM_890   vpaddsb
     2288EMIT_INSTR_PLUS_ICEBP_YMM_890   vpaddsb
    33422289
    33432290;
    33442291; [V]PADDSW
    33452292;
    3346 EMIT_INSTR_PLUS_ICEBP   paddsw,  MM1, MM2
    3347 EMIT_INSTR_PLUS_ICEBP   paddsw,  MM1, FSxBX
    3348 EMIT_INSTR_PLUS_ICEBP   paddsw,  XMM1, XMM2
    3349 EMIT_INSTR_PLUS_ICEBP   paddsw,  XMM1, FSxBX
    3350 EMIT_INSTR_PLUS_ICEBP   vpaddsw, XMM1, XMM2, XMM3
    3351 EMIT_INSTR_PLUS_ICEBP   vpaddsw, XMM1, XMM2, FSxBX
    3352 EMIT_INSTR_PLUS_ICEBP   vpaddsw, YMM1, YMM2, YMM3
    3353 EMIT_INSTR_PLUS_ICEBP   vpaddsw, YMM1, YMM2, FSxBX
    3354  %if TMPL_BITS == 64
    3355 EMIT_INSTR_PLUS_ICEBP   paddsw,  XMM8, XMM9
    3356 EMIT_INSTR_PLUS_ICEBP   paddsw,  XMM8, FSxBX
    3357 EMIT_INSTR_PLUS_ICEBP   vpaddsw, XMM8, XMM9, XMM10
    3358 EMIT_INSTR_PLUS_ICEBP   vpaddsw, XMM8, XMM9, FSxBX
    3359 EMIT_INSTR_PLUS_ICEBP   vpaddsw, YMM8, YMM9, YMM10
    3360 EMIT_INSTR_PLUS_ICEBP   vpaddsw, YMM8, YMM9, FSxBX
    3361  %endif
     2293EMIT_INSTR_PLUS_ICEBP_MMX   paddsw
     2294EMIT_INSTR_PLUS_ICEBP_XMM   paddsw
     2295EMIT_INSTR_PLUS_ICEBP_XMM_123   vpaddsw
     2296EMIT_INSTR_PLUS_ICEBP_YMM_123   vpaddsw
     2297EMIT_INSTR_PLUS_ICEBP_XMM_89   paddsw
     2298EMIT_INSTR_PLUS_ICEBP_XMM_890   vpaddsw
     2299EMIT_INSTR_PLUS_ICEBP_YMM_890   vpaddsw
    33622300
    33632301;
    33642302; [V]PSLLW
    33652303;
    3366 EMIT_INSTR_PLUS_ICEBP   psllw,  MM1,  MM2
    3367 EMIT_INSTR_PLUS_ICEBP   psllw,  MM1,  FSxBX
     2304EMIT_INSTR_PLUS_ICEBP_MMX psllw
    33682305EMIT_INSTR_PLUS_ICEBP   psllw,  MM1,  001h
    33692306EMIT_INSTR_PLUS_ICEBP   psllw,  MM1,  012h
    3370 EMIT_INSTR_PLUS_ICEBP   psllw,  XMM1, XMM2
    3371 EMIT_INSTR_PLUS_ICEBP   psllw,  XMM1, FSxBX
     2307EMIT_INSTR_PLUS_ICEBP_XMM   psllw
    33722308EMIT_INSTR_PLUS_ICEBP   psllw,  XMM1, 001h
    33732309EMIT_INSTR_PLUS_ICEBP   psllw,  XMM1, 012h
    3374 EMIT_INSTR_PLUS_ICEBP   vpsllw, XMM1, XMM2, XMM3
    3375 EMIT_INSTR_PLUS_ICEBP   vpsllw, XMM1, XMM2, FSxBX
     2310EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsllw
    33762311EMIT_INSTR_PLUS_ICEBP   vpsllw, XMM1, XMM2, 001h
    33772312EMIT_INSTR_PLUS_ICEBP   vpsllw, XMM1, XMM2, 012h
     
    33802315EMIT_INSTR_PLUS_ICEBP   vpsllw, YMM1, YMM2, 001h
    33812316EMIT_INSTR_PLUS_ICEBP   vpsllw, YMM1, YMM2, 012h
    3382  %if TMPL_BITS == 64
    3383 EMIT_INSTR_PLUS_ICEBP   vpsllw, XMM8, XMM9, XMM10
    3384 EMIT_INSTR_PLUS_ICEBP   vpsllw, XMM8, XMM9, FSxBX
    3385 EMIT_INSTR_PLUS_ICEBP   vpsllw, XMM8, XMM9, 001h
    3386 EMIT_INSTR_PLUS_ICEBP   vpsllw, XMM8, XMM9, 012h
    3387 EMIT_INSTR_PLUS_ICEBP   vpsllw, YMM8, YMM9, XMM10
    3388 EMIT_INSTR_PLUS_ICEBP   vpsllw, YMM8, YMM9, FSxBX
    3389 EMIT_INSTR_PLUS_ICEBP   vpsllw, YMM8, YMM9, 001h
    3390 EMIT_INSTR_PLUS_ICEBP   vpsllw, YMM8, YMM9, 012h
    3391  %endif
     2317EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsllw
     2318EMIT_INSTR_PLUS_ICEBP_C64   vpsllw, XMM8, XMM9, 001h
     2319EMIT_INSTR_PLUS_ICEBP_C64   vpsllw, XMM8, XMM9, 012h
     2320EMIT_INSTR_PLUS_ICEBP_C64   vpsllw, YMM8, YMM9, XMM10
     2321EMIT_INSTR_PLUS_ICEBP_C64   vpsllw, YMM8, YMM9, FSxBX
     2322EMIT_INSTR_PLUS_ICEBP_C64   vpsllw, YMM8, YMM9, 001h
     2323EMIT_INSTR_PLUS_ICEBP_C64   vpsllw, YMM8, YMM9, 012h
    33922324
    33932325;
    33942326; [V]PSLLD
    33952327;
    3396 EMIT_INSTR_PLUS_ICEBP   pslld,  MM1,  MM2
    3397 EMIT_INSTR_PLUS_ICEBP   pslld,  MM1,  FSxBX
     2328EMIT_INSTR_PLUS_ICEBP_MMX pslld
    33982329EMIT_INSTR_PLUS_ICEBP   pslld,  MM1,  001h
    33992330EMIT_INSTR_PLUS_ICEBP   pslld,  MM1,  012h
    3400 EMIT_INSTR_PLUS_ICEBP   pslld,  XMM1, XMM2
    3401 EMIT_INSTR_PLUS_ICEBP   pslld,  XMM1, FSxBX
     2331EMIT_INSTR_PLUS_ICEBP_XMM   pslld
    34022332EMIT_INSTR_PLUS_ICEBP   pslld,  XMM1, 001h
    34032333EMIT_INSTR_PLUS_ICEBP   pslld,  XMM1, 012h
    3404 EMIT_INSTR_PLUS_ICEBP   vpslld, XMM1, XMM2, XMM3
    3405 EMIT_INSTR_PLUS_ICEBP   vpslld, XMM1, XMM2, FSxBX
     2334EMIT_INSTR_PLUS_ICEBP_XMM_123   vpslld
    34062335EMIT_INSTR_PLUS_ICEBP   vpslld, XMM1, XMM2, 001h
    34072336EMIT_INSTR_PLUS_ICEBP   vpslld, XMM1, XMM2, 012h
     
    34102339EMIT_INSTR_PLUS_ICEBP   vpslld, YMM1, YMM2, 001h
    34112340EMIT_INSTR_PLUS_ICEBP   vpslld, YMM1, YMM2, 012h
    3412  %if TMPL_BITS == 64
    3413 EMIT_INSTR_PLUS_ICEBP   vpslld, XMM8, XMM9, XMM10
    3414 EMIT_INSTR_PLUS_ICEBP   vpslld, XMM8, XMM9, FSxBX
    3415 EMIT_INSTR_PLUS_ICEBP   vpslld, XMM8, XMM9, 001h
    3416 EMIT_INSTR_PLUS_ICEBP   vpslld, XMM8, XMM9, 012h
    3417 EMIT_INSTR_PLUS_ICEBP   vpslld, YMM8, YMM9, XMM10
    3418 EMIT_INSTR_PLUS_ICEBP   vpslld, YMM8, YMM9, FSxBX
    3419 EMIT_INSTR_PLUS_ICEBP   vpslld, YMM8, YMM9, 001h
    3420 EMIT_INSTR_PLUS_ICEBP   vpslld, YMM8, YMM9, 012h
    3421  %endif
     2341EMIT_INSTR_PLUS_ICEBP_XMM_890   vpslld
     2342EMIT_INSTR_PLUS_ICEBP_C64   vpslld, XMM8, XMM9, 001h
     2343EMIT_INSTR_PLUS_ICEBP_C64   vpslld, XMM8, XMM9, 012h
     2344EMIT_INSTR_PLUS_ICEBP_C64   vpslld, YMM8, YMM9, XMM10
     2345EMIT_INSTR_PLUS_ICEBP_C64   vpslld, YMM8, YMM9, FSxBX
     2346EMIT_INSTR_PLUS_ICEBP_C64   vpslld, YMM8, YMM9, 001h
     2347EMIT_INSTR_PLUS_ICEBP_C64   vpslld, YMM8, YMM9, 012h
    34222348
    34232349;
    34242350; [V]PSLLQ
    34252351;
    3426 EMIT_INSTR_PLUS_ICEBP   psllq,  MM1,  MM2
    3427 EMIT_INSTR_PLUS_ICEBP   psllq,  MM1,  FSxBX
     2352EMIT_INSTR_PLUS_ICEBP_MMX psllq
    34282353EMIT_INSTR_PLUS_ICEBP   psllq,  MM1,  001h
    34292354EMIT_INSTR_PLUS_ICEBP   psllq,  MM1,  012h
    3430 EMIT_INSTR_PLUS_ICEBP   psllq,  XMM1, XMM2
    3431 EMIT_INSTR_PLUS_ICEBP   psllq,  XMM1, FSxBX
     2355EMIT_INSTR_PLUS_ICEBP_XMM   psllq
    34322356EMIT_INSTR_PLUS_ICEBP   psllq,  XMM1, 001h
    34332357EMIT_INSTR_PLUS_ICEBP   psllq,  XMM1, 012h
    3434 EMIT_INSTR_PLUS_ICEBP   vpsllq, XMM1, XMM2, XMM3
    3435 EMIT_INSTR_PLUS_ICEBP   vpsllq, XMM1, XMM2, FSxBX
     2358EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsllq
    34362359EMIT_INSTR_PLUS_ICEBP   vpsllq, XMM1, XMM2, 001h
    34372360EMIT_INSTR_PLUS_ICEBP   vpsllq, XMM1, XMM2, 012h
     
    34402363EMIT_INSTR_PLUS_ICEBP   vpsllq, YMM1, YMM2, 001h
    34412364EMIT_INSTR_PLUS_ICEBP   vpsllq, YMM1, YMM2, 012h
    3442  %if TMPL_BITS == 64
    3443 EMIT_INSTR_PLUS_ICEBP   vpsllq, XMM8, XMM9, XMM10
    3444 EMIT_INSTR_PLUS_ICEBP   vpsllq, XMM8, XMM9, FSxBX
    3445 EMIT_INSTR_PLUS_ICEBP   vpsllq, XMM8, XMM9, 001h
    3446 EMIT_INSTR_PLUS_ICEBP   vpsllq, XMM8, XMM9, 012h
    3447 EMIT_INSTR_PLUS_ICEBP   vpsllq, YMM8, YMM9, XMM10
    3448 EMIT_INSTR_PLUS_ICEBP   vpsllq, YMM8, YMM9, FSxBX
    3449 EMIT_INSTR_PLUS_ICEBP   vpsllq, YMM8, YMM9, 001h
    3450 EMIT_INSTR_PLUS_ICEBP   vpsllq, YMM8, YMM9, 012h
    3451  %endif
     2365EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsllq
     2366EMIT_INSTR_PLUS_ICEBP_C64   vpsllq, XMM8, XMM9, 001h
     2367EMIT_INSTR_PLUS_ICEBP_C64   vpsllq, XMM8, XMM9, 012h
     2368EMIT_INSTR_PLUS_ICEBP_C64   vpsllq, YMM8, YMM9, XMM10
     2369EMIT_INSTR_PLUS_ICEBP_C64   vpsllq, YMM8, YMM9, FSxBX
     2370EMIT_INSTR_PLUS_ICEBP_C64   vpsllq, YMM8, YMM9, 001h
     2371EMIT_INSTR_PLUS_ICEBP_C64   vpsllq, YMM8, YMM9, 012h
    34522372
    34532373;
    34542374; [V]PSRAW
    34552375;
    3456 EMIT_INSTR_PLUS_ICEBP   psraw,  MM1,  MM2
    3457 EMIT_INSTR_PLUS_ICEBP   psraw,  MM1,  FSxBX
     2376EMIT_INSTR_PLUS_ICEBP_MMX psraw
    34582377EMIT_INSTR_PLUS_ICEBP   psraw,  MM1,  001h
    34592378EMIT_INSTR_PLUS_ICEBP   psraw,  MM1,  012h
    3460 EMIT_INSTR_PLUS_ICEBP   psraw,  XMM1, XMM2
    3461 EMIT_INSTR_PLUS_ICEBP   psraw,  XMM1, FSxBX
     2379EMIT_INSTR_PLUS_ICEBP_XMM   psraw
    34622380EMIT_INSTR_PLUS_ICEBP   psraw,  XMM1, 001h
    34632381EMIT_INSTR_PLUS_ICEBP   psraw,  XMM1, 012h
    3464 EMIT_INSTR_PLUS_ICEBP   vpsraw, XMM1, XMM2, XMM3
    3465 EMIT_INSTR_PLUS_ICEBP   vpsraw, XMM1, XMM2, FSxBX
     2382EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsraw
    34662383EMIT_INSTR_PLUS_ICEBP   vpsraw, XMM1, XMM2, 001h
    34672384EMIT_INSTR_PLUS_ICEBP   vpsraw, XMM1, XMM2, 012h
     
    34702387EMIT_INSTR_PLUS_ICEBP   vpsraw, YMM1, YMM2, 001h
    34712388EMIT_INSTR_PLUS_ICEBP   vpsraw, YMM1, YMM2, 012h
    3472  %if TMPL_BITS == 64
    3473 EMIT_INSTR_PLUS_ICEBP   vpsraw, XMM8, XMM9, XMM10
    3474 EMIT_INSTR_PLUS_ICEBP   vpsraw, XMM8, XMM9, FSxBX
    3475 EMIT_INSTR_PLUS_ICEBP   vpsraw, XMM8, XMM9, 001h
    3476 EMIT_INSTR_PLUS_ICEBP   vpsraw, XMM8, XMM9, 012h
    3477 EMIT_INSTR_PLUS_ICEBP   vpsraw, YMM8, YMM9, XMM10
    3478 EMIT_INSTR_PLUS_ICEBP   vpsraw, YMM8, YMM9, FSxBX
    3479 EMIT_INSTR_PLUS_ICEBP   vpsraw, YMM8, YMM9, 001h
    3480 EMIT_INSTR_PLUS_ICEBP   vpsraw, YMM8, YMM9, 012h
    3481  %endif
     2389EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsraw
     2390EMIT_INSTR_PLUS_ICEBP_C64   vpsraw, XMM8, XMM9, 001h
     2391EMIT_INSTR_PLUS_ICEBP_C64   vpsraw, XMM8, XMM9, 012h
     2392EMIT_INSTR_PLUS_ICEBP_C64   vpsraw, YMM8, YMM9, XMM10
     2393EMIT_INSTR_PLUS_ICEBP_C64   vpsraw, YMM8, YMM9, FSxBX
     2394EMIT_INSTR_PLUS_ICEBP_C64   vpsraw, YMM8, YMM9, 001h
     2395EMIT_INSTR_PLUS_ICEBP_C64   vpsraw, YMM8, YMM9, 012h
    34822396
    34832397;
    34842398; [V]PSRAD
    34852399;
    3486 EMIT_INSTR_PLUS_ICEBP   psrad,  MM1,  MM2
    3487 EMIT_INSTR_PLUS_ICEBP   psrad,  MM1,  FSxBX
     2400EMIT_INSTR_PLUS_ICEBP_MMX psrad
    34882401EMIT_INSTR_PLUS_ICEBP   psrad,  MM1,  001h
    34892402EMIT_INSTR_PLUS_ICEBP   psrad,  MM1,  012h
    3490 EMIT_INSTR_PLUS_ICEBP   psrad,  XMM1, XMM2
    3491 EMIT_INSTR_PLUS_ICEBP   psrad,  XMM1, FSxBX
     2403EMIT_INSTR_PLUS_ICEBP_XMM   psrad
    34922404EMIT_INSTR_PLUS_ICEBP   psrad,  XMM1, 001h
    34932405EMIT_INSTR_PLUS_ICEBP   psrad,  XMM1, 012h
    3494 EMIT_INSTR_PLUS_ICEBP   vpsrad, XMM1, XMM2, XMM3
    3495 EMIT_INSTR_PLUS_ICEBP   vpsrad, XMM1, XMM2, FSxBX
     2406EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsrad
    34962407EMIT_INSTR_PLUS_ICEBP   vpsrad, XMM1, XMM2, 001h
    34972408EMIT_INSTR_PLUS_ICEBP   vpsrad, XMM1, XMM2, 012h
     
    35002411EMIT_INSTR_PLUS_ICEBP   vpsrad, YMM1, YMM2, 001h
    35012412EMIT_INSTR_PLUS_ICEBP   vpsrad, YMM1, YMM2, 012h
    3502  %if TMPL_BITS == 64
    3503 EMIT_INSTR_PLUS_ICEBP   vpsrad, XMM8, XMM9, XMM10
    3504 EMIT_INSTR_PLUS_ICEBP   vpsrad, XMM8, XMM9, FSxBX
    3505 EMIT_INSTR_PLUS_ICEBP   vpsrad, XMM8, XMM9, 001h
    3506 EMIT_INSTR_PLUS_ICEBP   vpsrad, XMM8, XMM9, 012h
    3507 EMIT_INSTR_PLUS_ICEBP   vpsrad, YMM8, YMM9, XMM10
    3508 EMIT_INSTR_PLUS_ICEBP   vpsrad, YMM8, YMM9, FSxBX
    3509 EMIT_INSTR_PLUS_ICEBP   vpsrad, YMM8, YMM9, 001h
    3510 EMIT_INSTR_PLUS_ICEBP   vpsrad, YMM8, YMM9, 012h
    3511  %endif
     2413EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsrad
     2414EMIT_INSTR_PLUS_ICEBP_C64   vpsrad, XMM8, XMM9, 001h
     2415EMIT_INSTR_PLUS_ICEBP_C64   vpsrad, XMM8, XMM9, 012h
     2416EMIT_INSTR_PLUS_ICEBP_C64   vpsrad, YMM8, YMM9, XMM10
     2417EMIT_INSTR_PLUS_ICEBP_C64   vpsrad, YMM8, YMM9, FSxBX
     2418EMIT_INSTR_PLUS_ICEBP_C64   vpsrad, YMM8, YMM9, 001h
     2419EMIT_INSTR_PLUS_ICEBP_C64   vpsrad, YMM8, YMM9, 012h
    35122420
    35132421;
     
    35182426; [V]PSRLW
    35192427;
    3520 EMIT_INSTR_PLUS_ICEBP   psrlw,  MM1,  MM2
    3521 EMIT_INSTR_PLUS_ICEBP   psrlw,  MM1,  FSxBX
     2428EMIT_INSTR_PLUS_ICEBP_MMX psrlw
    35222429EMIT_INSTR_PLUS_ICEBP   psrlw,  MM1,  001h
    35232430EMIT_INSTR_PLUS_ICEBP   psrlw,  MM1,  012h
    3524 EMIT_INSTR_PLUS_ICEBP   psrlw,  XMM1, XMM2
    3525 EMIT_INSTR_PLUS_ICEBP   psrlw,  XMM1, FSxBX
     2431EMIT_INSTR_PLUS_ICEBP_XMM   psrlw
    35262432EMIT_INSTR_PLUS_ICEBP   psrlw,  XMM1, 001h
    35272433EMIT_INSTR_PLUS_ICEBP   psrlw,  XMM1, 012h
    3528 EMIT_INSTR_PLUS_ICEBP   vpsrlw, XMM1, XMM2, XMM3
    3529 EMIT_INSTR_PLUS_ICEBP   vpsrlw, XMM1, XMM2, FSxBX
     2434EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsrlw
    35302435EMIT_INSTR_PLUS_ICEBP   vpsrlw, XMM1, XMM2, 001h
    35312436EMIT_INSTR_PLUS_ICEBP   vpsrlw, XMM1, XMM2, 012h
     
    35342439EMIT_INSTR_PLUS_ICEBP   vpsrlw, YMM1, YMM2, 001h
    35352440EMIT_INSTR_PLUS_ICEBP   vpsrlw, YMM1, YMM2, 012h
    3536  %if TMPL_BITS == 64
    3537 EMIT_INSTR_PLUS_ICEBP   vpsrlw, XMM8, XMM9, XMM10
    3538 EMIT_INSTR_PLUS_ICEBP   vpsrlw, XMM8, XMM9, FSxBX
    3539 EMIT_INSTR_PLUS_ICEBP   vpsrlw, XMM8, XMM9, 001h
    3540 EMIT_INSTR_PLUS_ICEBP   vpsrlw, XMM8, XMM9, 012h
    3541 EMIT_INSTR_PLUS_ICEBP   vpsrlw, YMM8, YMM9, XMM10
    3542 EMIT_INSTR_PLUS_ICEBP   vpsrlw, YMM8, YMM9, FSxBX
    3543 EMIT_INSTR_PLUS_ICEBP   vpsrlw, YMM8, YMM9, 001h
    3544 EMIT_INSTR_PLUS_ICEBP   vpsrlw, YMM8, YMM9, 012h
    3545  %endif
     2441EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsrlw
     2442EMIT_INSTR_PLUS_ICEBP_C64   vpsrlw, XMM8, XMM9, 001h
     2443EMIT_INSTR_PLUS_ICEBP_C64   vpsrlw, XMM8, XMM9, 012h
     2444EMIT_INSTR_PLUS_ICEBP_C64   vpsrlw, YMM8, YMM9, XMM10
     2445EMIT_INSTR_PLUS_ICEBP_C64   vpsrlw, YMM8, YMM9, FSxBX
     2446EMIT_INSTR_PLUS_ICEBP_C64   vpsrlw, YMM8, YMM9, 001h
     2447EMIT_INSTR_PLUS_ICEBP_C64   vpsrlw, YMM8, YMM9, 012h
    35462448
    35472449;
    35482450; [V]PSRLD
    35492451;
    3550 EMIT_INSTR_PLUS_ICEBP   psrld,  MM1,  MM2
    3551 EMIT_INSTR_PLUS_ICEBP   psrld,  MM1,  FSxBX
     2452EMIT_INSTR_PLUS_ICEBP_MMX psrld
    35522453EMIT_INSTR_PLUS_ICEBP   psrld,  MM1,  001h
    35532454EMIT_INSTR_PLUS_ICEBP   psrld,  MM1,  012h
    3554 EMIT_INSTR_PLUS_ICEBP   psrld,  XMM1, XMM2
    3555 EMIT_INSTR_PLUS_ICEBP   psrld,  XMM1, FSxBX
     2455EMIT_INSTR_PLUS_ICEBP_XMM   psrld
    35562456EMIT_INSTR_PLUS_ICEBP   psrld,  XMM1, 001h
    35572457EMIT_INSTR_PLUS_ICEBP   psrld,  XMM1, 012h
    3558 EMIT_INSTR_PLUS_ICEBP   vpsrld, XMM1, XMM2, XMM3
    3559 EMIT_INSTR_PLUS_ICEBP   vpsrld, XMM1, XMM2, FSxBX
     2458EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsrld
    35602459EMIT_INSTR_PLUS_ICEBP   vpsrld, XMM1, XMM2, 001h
    35612460EMIT_INSTR_PLUS_ICEBP   vpsrld, XMM1, XMM2, 012h
     
    35642463EMIT_INSTR_PLUS_ICEBP   vpsrld, YMM1, YMM2, 001h
    35652464EMIT_INSTR_PLUS_ICEBP   vpsrld, YMM1, YMM2, 012h
    3566  %if TMPL_BITS == 64
    3567 EMIT_INSTR_PLUS_ICEBP   vpsrld, XMM8, XMM9, XMM10
    3568 EMIT_INSTR_PLUS_ICEBP   vpsrld, XMM8, XMM9, FSxBX
    3569 EMIT_INSTR_PLUS_ICEBP   vpsrld, XMM8, XMM9, 001h
    3570 EMIT_INSTR_PLUS_ICEBP   vpsrld, XMM8, XMM9, 012h
    3571 EMIT_INSTR_PLUS_ICEBP   vpsrld, YMM8, YMM9, XMM10
    3572 EMIT_INSTR_PLUS_ICEBP   vpsrld, YMM8, YMM9, FSxBX
    3573 EMIT_INSTR_PLUS_ICEBP   vpsrld, YMM8, YMM9, 001h
    3574 EMIT_INSTR_PLUS_ICEBP   vpsrld, YMM8, YMM9, 012h
    3575  %endif
     2465EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsrld
     2466EMIT_INSTR_PLUS_ICEBP_C64   vpsrld, XMM8, XMM9, 001h
     2467EMIT_INSTR_PLUS_ICEBP_C64   vpsrld, XMM8, XMM9, 012h
     2468EMIT_INSTR_PLUS_ICEBP_C64   vpsrld, YMM8, YMM9, XMM10
     2469EMIT_INSTR_PLUS_ICEBP_C64   vpsrld, YMM8, YMM9, FSxBX
     2470EMIT_INSTR_PLUS_ICEBP_C64   vpsrld, YMM8, YMM9, 001h
     2471EMIT_INSTR_PLUS_ICEBP_C64   vpsrld, YMM8, YMM9, 012h
    35762472
    35772473;
    35782474; [V]PSRLQ
    35792475;
    3580 EMIT_INSTR_PLUS_ICEBP   psrlq,  MM1,  MM2
    3581 EMIT_INSTR_PLUS_ICEBP   psrlq,  MM1,  FSxBX
     2476EMIT_INSTR_PLUS_ICEBP_MMX psrlq
    35822477EMIT_INSTR_PLUS_ICEBP   psrlq,  MM1,  001h
    35832478EMIT_INSTR_PLUS_ICEBP   psrlq,  MM1,  012h
    3584 EMIT_INSTR_PLUS_ICEBP   psrlq,  XMM1, XMM2
    3585 EMIT_INSTR_PLUS_ICEBP   psrlq,  XMM1, FSxBX
     2479EMIT_INSTR_PLUS_ICEBP_XMM   psrlq
    35862480EMIT_INSTR_PLUS_ICEBP   psrlq,  XMM1, 001h
    35872481EMIT_INSTR_PLUS_ICEBP   psrlq,  XMM1, 012h
    3588 EMIT_INSTR_PLUS_ICEBP   vpsrlq, XMM1, XMM2, XMM3
    3589 EMIT_INSTR_PLUS_ICEBP   vpsrlq, XMM1, XMM2, FSxBX
     2482EMIT_INSTR_PLUS_ICEBP_XMM_123   vpsrlq
    35902483EMIT_INSTR_PLUS_ICEBP   vpsrlq, XMM1, XMM2, 001h
    35912484EMIT_INSTR_PLUS_ICEBP   vpsrlq, XMM1, XMM2, 012h
     
    35942487EMIT_INSTR_PLUS_ICEBP   vpsrlq, YMM1, YMM2, 001h
    35952488EMIT_INSTR_PLUS_ICEBP   vpsrlq, YMM1, YMM2, 012h
    3596  %if TMPL_BITS == 64
    3597 EMIT_INSTR_PLUS_ICEBP   vpsrlq, XMM8, XMM9, XMM10
    3598 EMIT_INSTR_PLUS_ICEBP   vpsrlq, XMM8, XMM9, FSxBX
    3599 EMIT_INSTR_PLUS_ICEBP   vpsrlq, XMM8, XMM9, 001h
    3600 EMIT_INSTR_PLUS_ICEBP   vpsrlq, XMM8, XMM9, 012h
    3601 EMIT_INSTR_PLUS_ICEBP   vpsrlq, YMM8, YMM9, XMM10
    3602 EMIT_INSTR_PLUS_ICEBP   vpsrlq, YMM8, YMM9, FSxBX
    3603 EMIT_INSTR_PLUS_ICEBP   vpsrlq, YMM8, YMM9, 001h
    3604 EMIT_INSTR_PLUS_ICEBP   vpsrlq, YMM8, YMM9, 012h
    3605  %endif
     2489EMIT_INSTR_PLUS_ICEBP_XMM_890   vpsrlq
     2490EMIT_INSTR_PLUS_ICEBP_C64   vpsrlq, XMM8, XMM9, 001h
     2491EMIT_INSTR_PLUS_ICEBP_C64   vpsrlq, XMM8, XMM9, 012h
     2492EMIT_INSTR_PLUS_ICEBP_C64   vpsrlq, YMM8, YMM9, XMM10
     2493EMIT_INSTR_PLUS_ICEBP_C64   vpsrlq, YMM8, YMM9, FSxBX
     2494EMIT_INSTR_PLUS_ICEBP_C64   vpsrlq, YMM8, YMM9, 001h
     2495EMIT_INSTR_PLUS_ICEBP_C64   vpsrlq, YMM8, YMM9, 012h
    36062496
    36072497;
     
    36282518EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, YMM3,  080h
    36292519EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM1, YMM2, FSxBX, 080h
    3630  %if TMPL_BITS == 64
    3631 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 0FFh
    3632 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 0FFh
    3633 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 000h
    3634 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 000h
    3635 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 001h
    3636 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 001h
    3637 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 002h
    3638 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 002h
    3639 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 003h
    3640 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 003h
    3641 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 008h
    3642 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 008h
    3643 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 010h
    3644 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 010h
    3645 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 020h
    3646 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 020h
    3647 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 030h
    3648 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 030h
    3649 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, YMM10, 080h
    3650 EMIT_INSTR_PLUS_ICEBP   vperm2i128, YMM8, YMM9, FSxBX, 080h
    3651  %endif
     2520EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, YMM10, 0FFh
     2521EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, FSxBX, 0FFh
     2522EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, YMM10, 000h
     2523EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, FSxBX, 000h
     2524EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, YMM10, 001h
     2525EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, FSxBX, 001h
     2526EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, YMM10, 002h
     2527EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, FSxBX, 002h
     2528EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, YMM10, 003h
     2529EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, FSxBX, 003h
     2530EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, YMM10, 008h
     2531EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, FSxBX, 008h
     2532EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, YMM10, 010h
     2533EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, FSxBX, 010h
     2534EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, YMM10, 020h
     2535EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, FSxBX, 020h
     2536EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, YMM10, 030h
     2537EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, FSxBX, 030h
     2538EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, YMM10, 080h
     2539EMIT_INSTR_PLUS_ICEBP_C64   vperm2i128, YMM8, YMM9, FSxBX, 080h
    36522540
    36532541;
     
    36742562EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, YMM3,  080h
    36752563EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM1, YMM2, FSxBX, 080h
    3676  %if TMPL_BITS == 64
    3677 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 0FFh
    3678 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 0FFh
    3679 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 000h
    3680 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 000h
    3681 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 001h
    3682 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 001h
    3683 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 002h
    3684 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 002h
    3685 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 003h
    3686 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 003h
    3687 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 008h
    3688 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 008h
    3689 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 010h
    3690 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 010h
    3691 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 020h
    3692 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 020h
    3693 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 030h
    3694 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 030h
    3695 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, YMM10, 080h
    3696 EMIT_INSTR_PLUS_ICEBP   vperm2f128, YMM8, YMM9, FSxBX, 080h
    3697  %endif
     2564EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, YMM10, 0FFh
     2565EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, FSxBX, 0FFh
     2566EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, YMM10, 000h
     2567EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, FSxBX, 000h
     2568EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, YMM10, 001h
     2569EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, FSxBX, 001h
     2570EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, YMM10, 002h
     2571EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, FSxBX, 002h
     2572EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, YMM10, 003h
     2573EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, FSxBX, 003h
     2574EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, YMM10, 008h
     2575EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, FSxBX, 008h
     2576EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, YMM10, 010h
     2577EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, FSxBX, 010h
     2578EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, YMM10, 020h
     2579EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, FSxBX, 020h
     2580EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, YMM10, 030h
     2581EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, FSxBX, 030h
     2582EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, YMM10, 080h
     2583EMIT_INSTR_PLUS_ICEBP_C64   vperm2f128, YMM8, YMM9, FSxBX, 080h
    36982584
    36992585;
    37002586; VPERMILPS
    37012587;
    3702 EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM1, XMM2,  XMM3
    3703 EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM1, XMM2,  FSxBX
     2588EMIT_INSTR_PLUS_ICEBP_XMM_123   vpermilps
    37042589EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM1, XMM2,  000h
    37052590EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM1, XMM2,  01Bh
     
    37102595EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM1, FSxBX, 0E4h
    37112596EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM1, FSxBX, 03Dh
    3712 EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM1, YMM2,  YMM3
    3713 EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM1, YMM2,  FSxBX
     2597EMIT_INSTR_PLUS_ICEBP_YMM_123   vpermilps
    37142598EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM1, YMM2,  000h
    37152599EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM1, YMM2,  01Bh
     
    37202604EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM1, FSxBX, 0E4h
    37212605EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM1, FSxBX, 03Dh
    3722  %if TMPL_BITS == 64
    3723 EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM8, XMM9,  XMM10
    3724 EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM8, XMM9,  FSxBX
    3725 EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM8, XMM9,  000h
    3726 EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM8, XMM9,  01Bh
    3727 EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM8, XMM9,  0E4h
    3728 EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM8, XMM9,  03Dh
    3729 EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM8, FSxBX, 000h
    3730 EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM8, FSxBX, 01Bh
    3731 EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM8, FSxBX, 0E4h
    3732 EMIT_INSTR_PLUS_ICEBP   vpermilps, XMM8, FSxBX, 03Dh
    3733 EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM8, YMM9,  YMM10
    3734 EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM8, YMM9,  FSxBX
    3735 EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM8, YMM9,  000h
    3736 EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM8, YMM9,  01Bh
    3737 EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM8, YMM9,  0E4h
    3738 EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM8, YMM9,  03Dh
    3739 EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM8, FSxBX, 000h
    3740 EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM8, FSxBX, 01Bh
    3741 EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM8, FSxBX, 0E4h
    3742 EMIT_INSTR_PLUS_ICEBP   vpermilps, YMM8, FSxBX, 03Dh
    3743  %endif
     2606EMIT_INSTR_PLUS_ICEBP_XMM_890   vpermilps
     2607EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, XMM8, XMM9,  000h
     2608EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, XMM8, XMM9,  01Bh
     2609EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, XMM8, XMM9,  0E4h
     2610EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, XMM8, XMM9,  03Dh
     2611EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, XMM8, FSxBX, 000h
     2612EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, XMM8, FSxBX, 01Bh
     2613EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, XMM8, FSxBX, 0E4h
     2614EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, XMM8, FSxBX, 03Dh
     2615EMIT_INSTR_PLUS_ICEBP_YMM_890   vpermilps
     2616EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, YMM8, YMM9,  000h
     2617EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, YMM8, YMM9,  01Bh
     2618EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, YMM8, YMM9,  0E4h
     2619EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, YMM8, YMM9,  03Dh
     2620EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, YMM8, FSxBX, 000h
     2621EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, YMM8, FSxBX, 01Bh
     2622EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, YMM8, FSxBX, 0E4h
     2623EMIT_INSTR_PLUS_ICEBP_C64   vpermilps, YMM8, FSxBX, 03Dh
    37442624
    37452625;
    37462626; VPERMILPD
    37472627;
    3748 EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM1, XMM2,  XMM3
    3749 EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM1, XMM2,  FSxBX
     2628EMIT_INSTR_PLUS_ICEBP_XMM_123   vpermilpd
    37502629EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM1, XMM2,  000h
    37512630EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM1, XMM2,  0E7h
     
    37542633EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM1, FSxBX, 0E7h
    37552634EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM1, FSxBX, 091h
    3756 EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM1, YMM2,  YMM3
    3757 EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM1, YMM2,  FSxBX
     2635EMIT_INSTR_PLUS_ICEBP_YMM_123   vpermilpd
    37582636EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM1, YMM2,  000h
    37592637EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM1, YMM2,  0E7h
     
    37622640EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM1, FSxBX, 0E7h
    37632641EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM1, FSxBX, 091h
    3764  %if TMPL_BITS == 64
    3765 EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM8, XMM9,  XMM10
    3766 EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM8, XMM9,  FSxBX
    3767 EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM8, XMM9,  000h
    3768 EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM8, XMM9,  0E7h
    3769 EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM8, XMM9,  091h
    3770 EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM8, FSxBX, 000h
    3771 EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM8, FSxBX, 0E7h
    3772 EMIT_INSTR_PLUS_ICEBP   vpermilpd, XMM8, FSxBX, 091h
    3773 EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM8, YMM9,  YMM10
    3774 EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM8, YMM9,  FSxBX
    3775 EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM8, YMM9,  000h
    3776 EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM8, YMM9,  0E7h
    3777 EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM8, YMM9,  091h
    3778 EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM8, FSxBX, 000h
    3779 EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM8, FSxBX, 0E7h
    3780 EMIT_INSTR_PLUS_ICEBP   vpermilpd, YMM8, FSxBX, 091h
    3781  %endif
     2642EMIT_INSTR_PLUS_ICEBP_XMM_890   vpermilpd
     2643EMIT_INSTR_PLUS_ICEBP_C64   vpermilpd, XMM8, XMM9,  000h
     2644EMIT_INSTR_PLUS_ICEBP_C64   vpermilpd, XMM8, XMM9,  0E7h
     2645EMIT_INSTR_PLUS_ICEBP_C64   vpermilpd, XMM8, XMM9,  091h
     2646EMIT_INSTR_PLUS_ICEBP_C64   vpermilpd, XMM8, FSxBX, 000h
     2647EMIT_INSTR_PLUS_ICEBP_C64   vpermilpd, XMM8, FSxBX, 0E7h
     2648EMIT_INSTR_PLUS_ICEBP_C64   vpermilpd, XMM8, FSxBX, 091h
     2649EMIT_INSTR_PLUS_ICEBP_YMM_890   vpermilpd
     2650EMIT_INSTR_PLUS_ICEBP_C64   vpermilpd, YMM8, YMM9,  000h
     2651EMIT_INSTR_PLUS_ICEBP_C64   vpermilpd, YMM8, YMM9,  0E7h
     2652EMIT_INSTR_PLUS_ICEBP_C64   vpermilpd, YMM8, YMM9,  091h
     2653EMIT_INSTR_PLUS_ICEBP_C64   vpermilpd, YMM8, FSxBX, 000h
     2654EMIT_INSTR_PLUS_ICEBP_C64   vpermilpd, YMM8, FSxBX, 0E7h
     2655EMIT_INSTR_PLUS_ICEBP_C64   vpermilpd, YMM8, FSxBX, 091h
    37822656
    37832657%endif ; BS3_INSTANTIATING_CMN
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette