@@ -450,44 +450,47 @@ defm : X86WriteRes<WriteVecMoveFromGpr, [JFPU01, JFPX], 8, [1, 1], 2>;
450
450
451
451
defm : JWriteResFpuPair<WriteVecALU, [JFPU01, JVALU], 1>;
452
452
defm : JWriteResFpuPair<WriteVecALUX, [JFPU01, JVALU], 1>;
453
- defm : JWriteResFpuPair <WriteVecALUY, [JFPU01, JVALU], 1 >;
453
+ defm : X86WriteResPairUnsupported <WriteVecALUY>;
454
454
defm : X86WriteResPairUnsupported<WriteVecALUZ>;
455
455
defm : JWriteResFpuPair<WriteVecShift, [JFPU01, JVALU], 1>;
456
456
defm : JWriteResFpuPair<WriteVecShiftX, [JFPU01, JVALU], 1>;
457
- defm : JWriteResFpuPair <WriteVecShiftY, [JFPU01, JVALU], 1 >;
457
+ defm : X86WriteResPairUnsupported <WriteVecShiftY>;
458
458
defm : X86WriteResPairUnsupported<WriteVecShiftZ>;
459
459
defm : JWriteResFpuPair<WriteVecShiftImm, [JFPU01, JVALU], 1>;
460
460
defm : JWriteResFpuPair<WriteVecShiftImmX,[JFPU01, JVALU], 1>;
461
- defm : JWriteResFpuPair <WriteVecShiftImmY,[JFPU01, JVALU], 1 >;
461
+ defm : X86WriteResPairUnsupported <WriteVecShiftImmY>;
462
462
defm : X86WriteResPairUnsupported<WriteVecShiftImmZ>;
463
+ defm : X86WriteResPairUnsupported<WriteVarVecShift>;
464
+ defm : X86WriteResPairUnsupported<WriteVarVecShiftY>;
465
+ defm : X86WriteResPairUnsupported<WriteVarVecShiftZ>;
463
466
defm : JWriteResFpuPair<WriteVecIMul, [JFPU0, JVIMUL], 2>;
464
467
defm : JWriteResFpuPair<WriteVecIMulX, [JFPU0, JVIMUL], 2>;
465
- defm : JWriteResFpuPair <WriteVecIMulY, [JFPU0, JVIMUL], 2 >;
468
+ defm : X86WriteResPairUnsupported <WriteVecIMulY>;
466
469
defm : X86WriteResPairUnsupported<WriteVecIMulZ>;
467
470
defm : JWriteResFpuPair<WritePMULLD, [JFPU0, JFPU01, JVIMUL, JVALU], 4, [2, 1, 2, 1], 3>;
468
- defm : JWriteResFpuPair <WritePMULLDY, [JFPU0, JFPU01, JVIMUL, JVALU], 4, [2, 1, 2, 1], 3 >;
471
+ defm : X86WriteResPairUnsupported <WritePMULLDY>;
469
472
defm : X86WriteResPairUnsupported<WritePMULLDZ>;
470
473
defm : JWriteResFpuPair<WriteMPSAD, [JFPU0, JVIMUL], 3, [1, 2]>;
471
- defm : JWriteResFpuPair <WriteMPSADY, [JFPU0, JVIMUL], 3, [1, 2] >;
474
+ defm : X86WriteResPairUnsupported <WriteMPSADY>;
472
475
defm : X86WriteResPairUnsupported<WriteMPSADZ>;
473
476
defm : JWriteResFpuPair<WritePSADBW, [JFPU01, JVALU], 2>;
474
477
defm : JWriteResFpuPair<WritePSADBWX, [JFPU01, JVALU], 2>;
475
- defm : JWriteResFpuPair <WritePSADBWY, [JFPU01, JVALU], 2 >;
478
+ defm : X86WriteResPairUnsupported <WritePSADBWY>;
476
479
defm : X86WriteResPairUnsupported<WritePSADBWZ>;
477
480
defm : JWriteResFpuPair<WritePHMINPOS, [JFPU0, JVALU], 2>;
478
481
defm : JWriteResFpuPair<WriteShuffle, [JFPU01, JVALU], 1>;
479
482
defm : JWriteResFpuPair<WriteShuffleX, [JFPU01, JVALU], 1>;
480
- defm : JWriteResFpuPair <WriteShuffleY, [JFPU01, JVALU], 1 >;
483
+ defm : X86WriteResPairUnsupported <WriteShuffleY>;
481
484
defm : X86WriteResPairUnsupported<WriteShuffleZ>;
482
485
defm : JWriteResFpuPair<WriteVarShuffle, [JFPU01, JVALU], 2, [1, 4], 3>;
483
486
defm : JWriteResFpuPair<WriteVarShuffleX, [JFPU01, JVALU], 2, [1, 4], 3>;
484
- defm : JWriteResFpuPair <WriteVarShuffleY, [JFPU01, JVALU], 2, [1, 4], 3 >;
487
+ defm : X86WriteResPairUnsupported <WriteVarShuffleY>;
485
488
defm : X86WriteResPairUnsupported<WriteVarShuffleZ>;
486
489
defm : JWriteResFpuPair<WriteBlend, [JFPU01, JVALU], 1>;
487
- defm : JWriteResFpuPair <WriteBlendY, [JFPU01, JVALU], 1 >;
490
+ defm : X86WriteResPairUnsupported <WriteBlendY>;
488
491
defm : X86WriteResPairUnsupported<WriteBlendZ>;
489
492
defm : JWriteResFpuPair<WriteVarBlend, [JFPU01, JVALU], 2, [1, 4], 3>;
490
- defm : JWriteResFpuPair <WriteVarBlendY, [JFPU01, JVALU], 2, [1, 4], 3 >;
493
+ defm : X86WriteResPairUnsupported <WriteVarBlendY>;
491
494
defm : X86WriteResPairUnsupported<WriteVarBlendZ>;
492
495
defm : JWriteResFpuPair<WriteVecLogic, [JFPU01, JVALU], 1>;
493
496
defm : JWriteResFpuPair<WriteVecLogicX, [JFPU01, JVALU], 1>;
@@ -496,11 +499,8 @@ defm : X86WriteResPairUnsupported<WriteVecLogicZ>;
496
499
defm : JWriteResFpuPair<WriteVecTest, [JFPU0, JFPA, JALU0], 3>;
497
500
defm : JWriteResYMMPair<WriteVecTestY, [JFPU01, JFPX, JFPA, JALU0], 4, [2, 2, 2, 1], 3>;
498
501
defm : X86WriteResPairUnsupported<WriteVecTestZ>;
499
- defm : JWriteResFpuPair <WriteShuffle256, [JFPU01, JVALU], 1 >;
502
+ defm : X86WriteResPairUnsupported <WriteShuffle256>;
500
503
defm : X86WriteResPairUnsupported<WriteVarShuffle256>;
501
- defm : X86WriteResPairUnsupported<WriteVarVecShift>;
502
- defm : X86WriteResPairUnsupported<WriteVarVecShiftY>;
503
- defm : X86WriteResPairUnsupported<WriteVarVecShiftZ>;
504
504
505
505
////////////////////////////////////////////////////////////////////////////////
506
506
// Vector insert/extract operations.
@@ -524,10 +524,10 @@ defm : JWriteResFpuPair<WritePCmpEStrM, [JFPU1, JSAGU, JLAGU, JVALU, JVALU1, JFP
524
524
// MOVMSK Instructions.
525
525
////////////////////////////////////////////////////////////////////////////////
526
526
527
- def : WriteRes<WriteFMOVMSK, [JFPU0, JFPA, JALU0]> { let Latency = 3; }
528
- def : WriteRes<WriteVecMOVMSK, [JFPU0, JFPA, JALU0]> { let Latency = 3; }
529
- def : WriteRes <WriteVecMOVMSKY, [JFPU0, JFPA, JALU0]> { let Latency = 3; }
530
- def : WriteRes<WriteMMXMOVMSK, [JFPU0, JFPA, JALU0]> { let Latency = 3; }
527
+ def : WriteRes<WriteFMOVMSK, [JFPU0, JFPA, JALU0]> { let Latency = 3; }
528
+ def : WriteRes<WriteVecMOVMSK, [JFPU0, JFPA, JALU0]> { let Latency = 3; }
529
+ defm : X86WriteResUnsupported <WriteVecMOVMSKY>;
530
+ def : WriteRes<WriteMMXMOVMSK, [JFPU0, JFPA, JALU0]> { let Latency = 3; }
531
531
532
532
////////////////////////////////////////////////////////////////////////////////
533
533
// AES Instructions.
@@ -545,7 +545,7 @@ defm : JWriteResFpuPair<WriteFHAdd, [JFPU0, JFPA], 3>;
545
545
defm : JWriteResYMMPair<WriteFHAddY, [JFPU0, JFPA], 3, [2,2], 2>;
546
546
defm : JWriteResFpuPair<WritePHAdd, [JFPU01, JVALU], 1>;
547
547
defm : JWriteResFpuPair<WritePHAddX, [JFPU01, JVALU], 1>;
548
- defm : JWriteResFpuPair <WritePHAddY, [JFPU01, JVALU], 1 >;
548
+ defm : X86WriteResPairUnsupported <WritePHAddY>;
549
549
550
550
////////////////////////////////////////////////////////////////////////////////
551
551
// Carry-less multiplication instructions.
0 commit comments