@@ -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, VVVV, EVEX_B, T_MAP4, PS ;
168
+ []>, EVEX, VVVV, EVEX_B, T_MAP4;
169
169
def POP2P: I<0x8F, MRM0r, (outs GR64:$reg1, GR64:$reg2), (ins),
170
170
"pop2p\t{$reg2, $reg1|$reg1, $reg2}",
171
- []>, EVEX, VVVV, EVEX_B, T_MAP4, PS, REX_W;
171
+ []>, EVEX, VVVV, EVEX_B, T_MAP4, 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, VVVV, EVEX_B, T_MAP4, PS ;
189
+ []>, EVEX, VVVV, EVEX_B, T_MAP4;
190
190
def PUSH2P: I<0xFF, MRM6r, (outs), (ins GR64:$reg1, GR64:$reg2),
191
191
"push2p\t{$reg2, $reg1|$reg1, $reg2}",
192
- []>, EVEX, VVVV, EVEX_B, T_MAP4, PS, REX_W;
192
+ []>, EVEX, VVVV, EVEX_B, T_MAP4, 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", []>,
@@ -251,52 +251,52 @@ let Defs = [EFLAGS] in {
251
251
def BSF16rr : I<0xBC, MRMSrcReg, (outs GR16:$dst), (ins GR16:$src),
252
252
"bsf{w}\t{$src, $dst|$dst, $src}",
253
253
[(set GR16:$dst, EFLAGS, (X86bsf GR16:$src))]>,
254
- TB, PS, OpSize16, Sched<[WriteBSF]>;
254
+ TB, OpSize16, Sched<[WriteBSF]>;
255
255
def BSF16rm : I<0xBC, MRMSrcMem, (outs GR16:$dst), (ins i16mem:$src),
256
256
"bsf{w}\t{$src, $dst|$dst, $src}",
257
257
[(set GR16:$dst, EFLAGS, (X86bsf (loadi16 addr:$src)))]>,
258
- TB, PS, OpSize16, Sched<[WriteBSFLd]>;
258
+ TB, OpSize16, Sched<[WriteBSFLd]>;
259
259
def BSF32rr : I<0xBC, MRMSrcReg, (outs GR32:$dst), (ins GR32:$src),
260
260
"bsf{l}\t{$src, $dst|$dst, $src}",
261
261
[(set GR32:$dst, EFLAGS, (X86bsf GR32:$src))]>,
262
- TB, PS, OpSize32, Sched<[WriteBSF]>;
262
+ TB, OpSize32, Sched<[WriteBSF]>;
263
263
def BSF32rm : I<0xBC, MRMSrcMem, (outs GR32:$dst), (ins i32mem:$src),
264
264
"bsf{l}\t{$src, $dst|$dst, $src}",
265
265
[(set GR32:$dst, EFLAGS, (X86bsf (loadi32 addr:$src)))]>,
266
- TB, PS, OpSize32, Sched<[WriteBSFLd]>;
266
+ TB, OpSize32, Sched<[WriteBSFLd]>;
267
267
def BSF64rr : RI<0xBC, MRMSrcReg, (outs GR64:$dst), (ins GR64:$src),
268
268
"bsf{q}\t{$src, $dst|$dst, $src}",
269
269
[(set GR64:$dst, EFLAGS, (X86bsf GR64:$src))]>,
270
- TB, PS, Sched<[WriteBSF]>;
270
+ TB, Sched<[WriteBSF]>;
271
271
def BSF64rm : RI<0xBC, MRMSrcMem, (outs GR64:$dst), (ins i64mem:$src),
272
272
"bsf{q}\t{$src, $dst|$dst, $src}",
273
273
[(set GR64:$dst, EFLAGS, (X86bsf (loadi64 addr:$src)))]>,
274
- TB, PS, Sched<[WriteBSFLd]>;
274
+ TB, Sched<[WriteBSFLd]>;
275
275
276
276
def BSR16rr : I<0xBD, MRMSrcReg, (outs GR16:$dst), (ins GR16:$src),
277
277
"bsr{w}\t{$src, $dst|$dst, $src}",
278
278
[(set GR16:$dst, EFLAGS, (X86bsr GR16:$src))]>,
279
- TB, PS, OpSize16, Sched<[WriteBSR]>;
279
+ TB, OpSize16, Sched<[WriteBSR]>;
280
280
def BSR16rm : I<0xBD, MRMSrcMem, (outs GR16:$dst), (ins i16mem:$src),
281
281
"bsr{w}\t{$src, $dst|$dst, $src}",
282
282
[(set GR16:$dst, EFLAGS, (X86bsr (loadi16 addr:$src)))]>,
283
- TB, PS, OpSize16, Sched<[WriteBSRLd]>;
283
+ TB, OpSize16, Sched<[WriteBSRLd]>;
284
284
def BSR32rr : I<0xBD, MRMSrcReg, (outs GR32:$dst), (ins GR32:$src),
285
285
"bsr{l}\t{$src, $dst|$dst, $src}",
286
286
[(set GR32:$dst, EFLAGS, (X86bsr GR32:$src))]>,
287
- TB, PS, OpSize32, Sched<[WriteBSR]>;
287
+ TB, OpSize32, Sched<[WriteBSR]>;
288
288
def BSR32rm : I<0xBD, MRMSrcMem, (outs GR32:$dst), (ins i32mem:$src),
289
289
"bsr{l}\t{$src, $dst|$dst, $src}",
290
290
[(set GR32:$dst, EFLAGS, (X86bsr (loadi32 addr:$src)))]>,
291
- TB, PS, OpSize32, Sched<[WriteBSRLd]>;
291
+ TB, OpSize32, Sched<[WriteBSRLd]>;
292
292
def BSR64rr : RI<0xBD, MRMSrcReg, (outs GR64:$dst), (ins GR64:$src),
293
293
"bsr{q}\t{$src, $dst|$dst, $src}",
294
294
[(set GR64:$dst, EFLAGS, (X86bsr GR64:$src))]>,
295
- TB, PS, Sched<[WriteBSR]>;
295
+ TB, Sched<[WriteBSR]>;
296
296
def BSR64rm : RI<0xBD, MRMSrcMem, (outs GR64:$dst), (ins i64mem:$src),
297
297
"bsr{q}\t{$src, $dst|$dst, $src}",
298
298
[(set GR64:$dst, EFLAGS, (X86bsr (loadi64 addr:$src)))]>,
299
- TB, PS, Sched<[WriteBSRLd]>;
299
+ TB, Sched<[WriteBSRLd]>;
300
300
} // Defs = [EFLAGS]
301
301
302
302
let SchedRW = [WriteMicrocoded] in {
@@ -1095,29 +1095,29 @@ let Predicates = [HasMOVBE] in {
1095
1095
def MOVBE16rm : I<0xF0, MRMSrcMem, (outs GR16:$dst), (ins i16mem:$src),
1096
1096
"movbe{w}\t{$src, $dst|$dst, $src}",
1097
1097
[(set GR16:$dst, (bswap (loadi16 addr:$src)))]>,
1098
- OpSize16, T8, PS ;
1098
+ OpSize16, T8;
1099
1099
def MOVBE32rm : I<0xF0, MRMSrcMem, (outs GR32:$dst), (ins i32mem:$src),
1100
1100
"movbe{l}\t{$src, $dst|$dst, $src}",
1101
1101
[(set GR32:$dst, (bswap (loadi32 addr:$src)))]>,
1102
- OpSize32, T8, PS ;
1102
+ OpSize32, T8;
1103
1103
def MOVBE64rm : RI<0xF0, MRMSrcMem, (outs GR64:$dst), (ins i64mem:$src),
1104
1104
"movbe{q}\t{$src, $dst|$dst, $src}",
1105
1105
[(set GR64:$dst, (bswap (loadi64 addr:$src)))]>,
1106
- T8, PS ;
1106
+ T8;
1107
1107
}
1108
1108
let SchedRW = [WriteStore] in {
1109
1109
def MOVBE16mr : I<0xF1, MRMDestMem, (outs), (ins i16mem:$dst, GR16:$src),
1110
1110
"movbe{w}\t{$src, $dst|$dst, $src}",
1111
1111
[(store (bswap GR16:$src), addr:$dst)]>,
1112
- OpSize16, T8, PS ;
1112
+ OpSize16, T8;
1113
1113
def MOVBE32mr : I<0xF1, MRMDestMem, (outs), (ins i32mem:$dst, GR32:$src),
1114
1114
"movbe{l}\t{$src, $dst|$dst, $src}",
1115
1115
[(store (bswap GR32:$src), addr:$dst)]>,
1116
- OpSize32, T8, PS ;
1116
+ OpSize32, T8;
1117
1117
def MOVBE64mr : RI<0xF1, MRMDestMem, (outs), (ins i64mem:$dst, GR64:$src),
1118
1118
"movbe{q}\t{$src, $dst|$dst, $src}",
1119
1119
[(store (bswap GR64:$src), addr:$dst)]>,
1120
- T8, PS ;
1120
+ T8;
1121
1121
}
1122
1122
}
1123
1123
@@ -1127,25 +1127,25 @@ let Predicates = [HasMOVBE] in {
1127
1127
let Predicates = [HasRDRAND], Defs = [EFLAGS], SchedRW = [WriteSystem] in {
1128
1128
def RDRAND16r : I<0xC7, MRM6r, (outs GR16:$dst), (ins),
1129
1129
"rdrand{w}\t$dst", [(set GR16:$dst, EFLAGS, (X86rdrand))]>,
1130
- OpSize16, TB, PS ;
1130
+ OpSize16, TB;
1131
1131
def RDRAND32r : I<0xC7, MRM6r, (outs GR32:$dst), (ins),
1132
1132
"rdrand{l}\t$dst", [(set GR32:$dst, EFLAGS, (X86rdrand))]>,
1133
- OpSize32, TB, PS ;
1133
+ OpSize32, TB;
1134
1134
def RDRAND64r : RI<0xC7, MRM6r, (outs GR64:$dst), (ins),
1135
1135
"rdrand{q}\t$dst", [(set GR64:$dst, EFLAGS, (X86rdrand))]>,
1136
- TB, PS ;
1136
+ TB;
1137
1137
}
1138
1138
1139
1139
//===----------------------------------------------------------------------===//
1140
1140
// RDSEED Instruction
1141
1141
//
1142
1142
let Predicates = [HasRDSEED], Defs = [EFLAGS], SchedRW = [WriteSystem] in {
1143
1143
def RDSEED16r : I<0xC7, MRM7r, (outs GR16:$dst), (ins), "rdseed{w}\t$dst",
1144
- [(set GR16:$dst, EFLAGS, (X86rdseed))]>, OpSize16, TB, PS ;
1144
+ [(set GR16:$dst, EFLAGS, (X86rdseed))]>, OpSize16, TB;
1145
1145
def RDSEED32r : I<0xC7, MRM7r, (outs GR32:$dst), (ins), "rdseed{l}\t$dst",
1146
- [(set GR32:$dst, EFLAGS, (X86rdseed))]>, OpSize32, TB, PS ;
1146
+ [(set GR32:$dst, EFLAGS, (X86rdseed))]>, OpSize32, TB;
1147
1147
def RDSEED64r : RI<0xC7, MRM7r, (outs GR64:$dst), (ins), "rdseed{q}\t$dst",
1148
- [(set GR64:$dst, EFLAGS, (X86rdseed))]>, TB, PS ;
1148
+ [(set GR64:$dst, EFLAGS, (X86rdseed))]>, TB;
1149
1149
}
1150
1150
1151
1151
//===----------------------------------------------------------------------===//
@@ -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
- T8, PS, VEX, VVVV, Sched<[sched]>;
1221
+ T8, 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
- T8, PS, VEX, VVVV, Sched<[sched.Folded]>;
1225
+ T8, VEX, VVVV, Sched<[sched.Folded]>;
1226
1226
}
1227
1227
}
1228
1228
@@ -1288,12 +1288,12 @@ multiclass bmi4VOp3_base<bits<8> opc, string mnemonic, RegisterClass RC,
1288
1288
def rr#Suffix : I<opc, MRMSrcReg4VOp3, (outs RC:$dst), (ins RC:$src1, RC:$src2),
1289
1289
!strconcat(mnemonic, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
1290
1290
[(set RC:$dst, (OpNode RC:$src1, RC:$src2)), (implicit EFLAGS)]>,
1291
- T8, PS, VEX, Sched<[Sched]>;
1291
+ T8, VEX, Sched<[Sched]>;
1292
1292
let mayLoad = 1 in
1293
1293
def rm#Suffix : I<opc, MRMSrcMem4VOp3, (outs RC:$dst), (ins x86memop:$src1, RC:$src2),
1294
1294
!strconcat(mnemonic, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
1295
1295
[(set RC:$dst, (OpNode (ld_frag addr:$src1), RC:$src2)),
1296
- (implicit EFLAGS)]>, T8, PS, VEX,
1296
+ (implicit EFLAGS)]>, T8, VEX,
1297
1297
Sched<[Sched.Folded,
1298
1298
// x86memop:$src1
1299
1299
ReadDefault, ReadDefault, ReadDefault, ReadDefault,
@@ -1497,19 +1497,19 @@ let SchedRW = [WriteStore] in {
1497
1497
def MOVDIRI32 : I<0xF9, MRMDestMem, (outs), (ins i32mem:$dst, GR32:$src),
1498
1498
"movdiri\t{$src, $dst|$dst, $src}",
1499
1499
[(int_x86_directstore32 addr:$dst, GR32:$src)]>,
1500
- T8, PS, Requires<[HasMOVDIRI, NoEGPR]>;
1500
+ T8, Requires<[HasMOVDIRI, NoEGPR]>;
1501
1501
def MOVDIRI64 : RI<0xF9, MRMDestMem, (outs), (ins i64mem:$dst, GR64:$src),
1502
1502
"movdiri\t{$src, $dst|$dst, $src}",
1503
1503
[(int_x86_directstore64 addr:$dst, GR64:$src)]>,
1504
- T8, PS, Requires<[In64BitMode, HasMOVDIRI, NoEGPR]>;
1504
+ T8, Requires<[In64BitMode, HasMOVDIRI, NoEGPR]>;
1505
1505
def MOVDIRI32_EVEX : I<0xF9, MRMDestMem, (outs), (ins i32mem:$dst, GR32:$src),
1506
1506
"movdiri\t{$src, $dst|$dst, $src}",
1507
1507
[(int_x86_directstore32 addr:$dst, GR32:$src)]>,
1508
- EVEX, NoCD8, T_MAP4, PS, Requires<[In64BitMode, HasMOVDIRI, HasEGPR]>;
1508
+ EVEX, NoCD8, T_MAP4, Requires<[In64BitMode, HasMOVDIRI, HasEGPR]>;
1509
1509
def MOVDIRI64_EVEX : RI<0xF9, MRMDestMem, (outs), (ins i64mem:$dst, GR64:$src),
1510
1510
"movdiri\t{$src, $dst|$dst, $src}",
1511
1511
[(int_x86_directstore64 addr:$dst, GR64:$src)]>,
1512
- EVEX, NoCD8, T_MAP4, PS, Requires<[In64BitMode, HasMOVDIRI, HasEGPR]>;
1512
+ EVEX, NoCD8, T_MAP4, Requires<[In64BitMode, HasMOVDIRI, HasEGPR]>;
1513
1513
} // SchedRW
1514
1514
1515
1515
//===----------------------------------------------------------------------===//
@@ -1588,11 +1588,11 @@ let SchedRW = [WriteSystem] in {
1588
1588
let Uses = [EAX, EDX] in
1589
1589
def INVLPGB32 : I<0x01, MRM_FE, (outs), (ins),
1590
1590
"invlpgb", []>,
1591
- TB, PS, Requires<[Not64BitMode]>;
1591
+ TB, Requires<[Not64BitMode]>;
1592
1592
let Uses = [RAX, EDX] in
1593
1593
def INVLPGB64 : I<0x01, MRM_FE, (outs), (ins),
1594
1594
"invlpgb", []>,
1595
- TB, PS, Requires<[In64BitMode]>;
1595
+ TB, Requires<[In64BitMode]>;
1596
1596
} // SchedRW
1597
1597
1598
1598
//===----------------------------------------------------------------------===//
@@ -1602,7 +1602,7 @@ let SchedRW = [WriteSystem] in {
1602
1602
let SchedRW = [WriteSystem] in {
1603
1603
def TLBSYNC : I<0x01, MRM_FF, (outs), (ins),
1604
1604
"tlbsync", []>,
1605
- TB, PS, Requires<[]>;
1605
+ TB, Requires<[]>;
1606
1606
} // SchedRW
1607
1607
1608
1608
//===----------------------------------------------------------------------===//
@@ -1617,7 +1617,7 @@ let Uses = [EAX], SchedRW = [WriteSystem] in
1617
1617
//
1618
1618
let SchedRW = [WriteSystem] in
1619
1619
def SERIALIZE : I<0x01, MRM_E8, (outs), (ins), "serialize",
1620
- [(int_x86_serialize)]>, TB, PS,
1620
+ [(int_x86_serialize)]>, TB,
1621
1621
Requires<[HasSERIALIZE]>;
1622
1622
1623
1623
//===----------------------------------------------------------------------===//
@@ -1711,4 +1711,4 @@ def CLWB : I<0xAE, MRM6m, (outs), (ins i8mem:$src), "clwb\t$src",
1711
1711
1712
1712
let Predicates = [HasCLDEMOTE], SchedRW = [WriteLoad] in
1713
1713
def CLDEMOTE : I<0x1C, MRM0m, (outs), (ins i8mem:$src), "cldemote\t$src",
1714
- [(int_x86_cldemote addr:$src)]>, TB, PS ;
1714
+ [(int_x86_cldemote addr:$src)]>, TB;
0 commit comments