@@ -165,10 +165,10 @@ def POPP64r : I<0x58, AddRegFrm, (outs GR64:$reg), (ins), "popp\t$reg", []>,
165
165
REX_W, ExplicitREX2Prefix, Requires<[In64BitMode]>;
166
166
def POP2: I<0x8F, MRM0r, (outs GR64:$reg1, GR64:$reg2), (ins),
167
167
"pop2\t{$reg2, $reg1|$reg1, $reg2}",
168
- []>, EVEX_4V , EVEX_B, T_MAP4PS;
168
+ []>, EVEX, VVVV , EVEX_B, T_MAP4PS;
169
169
def POP2P: I<0x8F, MRM0r, (outs GR64:$reg1, GR64:$reg2), (ins),
170
170
"pop2p\t{$reg2, $reg1|$reg1, $reg2}",
171
- []>, EVEX_4V , EVEX_B, T_MAP4PS, REX_W;
171
+ []>, EVEX, VVVV , EVEX_B, T_MAP4PS, REX_W;
172
172
173
173
} // mayLoad, SchedRW
174
174
let mayLoad = 1, mayStore = 1, SchedRW = [WriteCopy] in
@@ -186,10 +186,10 @@ def PUSHP64r : I<0x50, AddRegFrm, (outs), (ins GR64:$reg), "pushp\t$reg", []>,
186
186
REX_W, ExplicitREX2Prefix, Requires<[In64BitMode]>;
187
187
def PUSH2: I<0xFF, MRM6r, (outs), (ins GR64:$reg1, GR64:$reg2),
188
188
"push2\t{$reg2, $reg1|$reg1, $reg2}",
189
- []>, EVEX_4V , EVEX_B, T_MAP4PS;
189
+ []>, EVEX, VVVV , EVEX_B, T_MAP4PS;
190
190
def PUSH2P: I<0xFF, MRM6r, (outs), (ins GR64:$reg1, GR64:$reg2),
191
191
"push2p\t{$reg2, $reg1|$reg1, $reg2}",
192
- []>, EVEX_4V , EVEX_B, T_MAP4PS, REX_W;
192
+ []>, EVEX, VVVV , EVEX_B, T_MAP4PS, REX_W;
193
193
} // mayStore, SchedRW
194
194
let mayLoad = 1, mayStore = 1, SchedRW = [WriteCopy] in {
195
195
def PUSH64rmm: I<0xFF, MRM6m, (outs), (ins i64mem:$src), "push{q}\t$src", []>,
@@ -1218,11 +1218,11 @@ multiclass bmi_bls<string mnemonic, Format RegMRM, Format MemMRM,
1218
1218
let hasSideEffects = 0 in {
1219
1219
def rr#Suffix : I<0xF3, RegMRM, (outs RC:$dst), (ins RC:$src),
1220
1220
!strconcat(mnemonic, "\t{$src, $dst|$dst, $src}"), []>,
1221
- T8PS, VEX_4V , Sched<[sched]>;
1221
+ T8PS, VEX, VVVV , Sched<[sched]>;
1222
1222
let mayLoad = 1 in
1223
1223
def rm#Suffix : I<0xF3, MemMRM, (outs RC:$dst), (ins x86memop:$src),
1224
1224
!strconcat(mnemonic, "\t{$src, $dst|$dst, $src}"), []>,
1225
- T8PS, VEX_4V , Sched<[sched.Folded]>;
1225
+ T8PS, VEX, VVVV , Sched<[sched.Folded]>;
1226
1226
}
1227
1227
}
1228
1228
@@ -1371,11 +1371,11 @@ multiclass bmi_pdep_pext<string mnemonic, RegisterClass RC,
1371
1371
def rr#Suffix : I<0xF5, MRMSrcReg, (outs RC:$dst), (ins RC:$src1, RC:$src2),
1372
1372
!strconcat(mnemonic, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
1373
1373
[(set RC:$dst, (OpNode RC:$src1, RC:$src2))]>,
1374
- VEX_4V , Sched<[WriteALU]>;
1374
+ VEX, VVVV , Sched<[WriteALU]>;
1375
1375
def rm#Suffix : I<0xF5, MRMSrcMem, (outs RC:$dst), (ins RC:$src1, x86memop:$src2),
1376
1376
!strconcat(mnemonic, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
1377
1377
[(set RC:$dst, (OpNode RC:$src1, (ld_frag addr:$src2)))]>,
1378
- VEX_4V , Sched<[WriteALU.Folded, WriteALU.ReadAfterFold]>;
1378
+ VEX, VVVV , Sched<[WriteALU.Folded, WriteALU.ReadAfterFold]>;
1379
1379
}
1380
1380
1381
1381
let Predicates = [HasBMI2, NoEGPR] in {
@@ -1419,12 +1419,12 @@ multiclass lwpins_intr<RegisterClass RC> {
1419
1419
def rri : Ii32<0x12, MRM0r, (outs), (ins RC:$src0, GR32:$src1, i32imm:$cntl),
1420
1420
"lwpins\t{$cntl, $src1, $src0|$src0, $src1, $cntl}",
1421
1421
[(set EFLAGS, (X86lwpins RC:$src0, GR32:$src1, timm:$cntl))]>,
1422
- XOP_4V , XOPA;
1422
+ XOP, VVVV , XOPA;
1423
1423
let mayLoad = 1 in
1424
1424
def rmi : Ii32<0x12, MRM0m, (outs), (ins RC:$src0, i32mem:$src1, i32imm:$cntl),
1425
1425
"lwpins\t{$cntl, $src1, $src0|$src0, $src1, $cntl}",
1426
1426
[(set EFLAGS, (X86lwpins RC:$src0, (loadi32 addr:$src1), timm:$cntl))]>,
1427
- XOP_4V , XOPA;
1427
+ XOP, VVVV , XOPA;
1428
1428
}
1429
1429
1430
1430
let Defs = [EFLAGS] in {
@@ -1435,12 +1435,12 @@ let Defs = [EFLAGS] in {
1435
1435
multiclass lwpval_intr<RegisterClass RC, Intrinsic Int> {
1436
1436
def rri : Ii32<0x12, MRM1r, (outs), (ins RC:$src0, GR32:$src1, i32imm:$cntl),
1437
1437
"lwpval\t{$cntl, $src1, $src0|$src0, $src1, $cntl}",
1438
- [(Int RC:$src0, GR32:$src1, timm:$cntl)]>, XOP_4V , XOPA;
1438
+ [(Int RC:$src0, GR32:$src1, timm:$cntl)]>, XOP, VVVV , XOPA;
1439
1439
let mayLoad = 1 in
1440
1440
def rmi : Ii32<0x12, MRM1m, (outs), (ins RC:$src0, i32mem:$src1, i32imm:$cntl),
1441
1441
"lwpval\t{$cntl, $src1, $src0|$src0, $src1, $cntl}",
1442
1442
[(Int RC:$src0, (loadi32 addr:$src1), timm:$cntl)]>,
1443
- XOP_4V , XOPA;
1443
+ XOP, VVVV , XOPA;
1444
1444
}
1445
1445
1446
1446
defm LWPVAL32 : lwpval_intr<GR32, int_x86_lwpval32>;
@@ -1670,14 +1670,14 @@ def CMPCCXADDmr32 : I<0xe0, MRMDestMem4VOp3CC, (outs GR32:$dst),
1670
1670
"cmp${cond}xadd\t{$src3, $dst, $dstsrc2|$dstsrc2, $dst, $src3}",
1671
1671
[(set GR32:$dst, (X86cmpccxadd addr:$dstsrc2,
1672
1672
GR32:$dstsrc1, GR32:$src3, timm:$cond))]>,
1673
- VEX_4V , T8PD, Sched<[WriteXCHG]>;
1673
+ VEX, VVVV , T8PD, Sched<[WriteXCHG]>;
1674
1674
1675
1675
def CMPCCXADDmr64 : I<0xe0, MRMDestMem4VOp3CC, (outs GR64:$dst),
1676
1676
(ins GR64:$dstsrc1, i64mem:$dstsrc2, GR64:$src3, ccode:$cond),
1677
1677
"cmp${cond}xadd\t{$src3, $dst, $dstsrc2|$dstsrc2, $dst, $src3}",
1678
1678
[(set GR64:$dst, (X86cmpccxadd addr:$dstsrc2,
1679
1679
GR64:$dstsrc1, GR64:$src3, timm:$cond))]>,
1680
- VEX_4V , REX_W, T8PD, Sched<[WriteXCHG]>;
1680
+ VEX, VVVV , REX_W, T8PD, Sched<[WriteXCHG]>;
1681
1681
}
1682
1682
1683
1683
//===----------------------------------------------------------------------===//
0 commit comments