@@ -1191,10 +1191,13 @@ def POP16r : I<0x58, AddRegFrm, (outs GR16:$reg), (ins), "pop{w}\t$reg", []>,
1191
1191
OpSize16;
1192
1192
def POP32r : I<0x58, AddRegFrm, (outs GR32:$reg), (ins), "pop{l}\t$reg", []>,
1193
1193
OpSize32, Requires<[Not64BitMode]>;
1194
+ // Long form for the disassembler.
1195
+ let isCodeGenOnly = 1, ForceDisassemble = 1 in {
1194
1196
def POP16rmr: I<0x8F, MRM0r, (outs GR16:$reg), (ins), "pop{w}\t$reg", []>,
1195
1197
OpSize16, NotMemoryFoldable;
1196
1198
def POP32rmr: I<0x8F, MRM0r, (outs GR32:$reg), (ins), "pop{l}\t$reg", []>,
1197
1199
OpSize32, Requires<[Not64BitMode]>, NotMemoryFoldable;
1200
+ } // isCodeGenOnly = 1, ForceDisassemble = 1
1198
1201
} // mayLoad, SchedRW
1199
1202
let mayStore = 1, mayLoad = 1, SchedRW = [WriteRMW] in {
1200
1203
def POP16rmm: I<0x8F, MRM0m, (outs), (ins i16mem:$dst), "pop{w}\t$dst", []>,
@@ -1208,10 +1211,13 @@ def PUSH16r : I<0x50, AddRegFrm, (outs), (ins GR16:$reg), "push{w}\t$reg",[]>,
1208
1211
OpSize16;
1209
1212
def PUSH32r : I<0x50, AddRegFrm, (outs), (ins GR32:$reg), "push{l}\t$reg",[]>,
1210
1213
OpSize32, Requires<[Not64BitMode]>;
1214
+ // Long form for the disassembler.
1215
+ let isCodeGenOnly = 1, ForceDisassemble = 1 in {
1211
1216
def PUSH16rmr: I<0xFF, MRM6r, (outs), (ins GR16:$reg), "push{w}\t$reg",[]>,
1212
1217
OpSize16, NotMemoryFoldable;
1213
1218
def PUSH32rmr: I<0xFF, MRM6r, (outs), (ins GR32:$reg), "push{l}\t$reg",[]>,
1214
1219
OpSize32, Requires<[Not64BitMode]>, NotMemoryFoldable;
1220
+ } // isCodeGenOnly = 1, ForceDisassemble = 1
1215
1221
1216
1222
def PUSH16i8 : Ii8<0x6a, RawFrm, (outs), (ins i16i8imm:$imm),
1217
1223
"push{w}\t$imm", []>, OpSize16;
@@ -1279,17 +1285,23 @@ let Defs = [RSP], Uses = [RSP], hasSideEffects=0 in {
1279
1285
let mayLoad = 1, SchedRW = [WriteLoad] in {
1280
1286
def POP64r : I<0x58, AddRegFrm, (outs GR64:$reg), (ins), "pop{q}\t$reg", []>,
1281
1287
OpSize32, Requires<[In64BitMode]>;
1288
+ // Long form for the disassembler.
1289
+ let isCodeGenOnly = 1, ForceDisassemble = 1 in {
1282
1290
def POP64rmr: I<0x8F, MRM0r, (outs GR64:$reg), (ins), "pop{q}\t$reg", []>,
1283
1291
OpSize32, Requires<[In64BitMode]>, NotMemoryFoldable;
1292
+ } // isCodeGenOnly = 1, ForceDisassemble = 1
1284
1293
} // mayLoad, SchedRW
1285
1294
let mayLoad = 1, mayStore = 1, SchedRW = [WriteRMW] in
1286
1295
def POP64rmm: I<0x8F, MRM0m, (outs), (ins i64mem:$dst), "pop{q}\t$dst", []>,
1287
1296
OpSize32, Requires<[In64BitMode]>;
1288
1297
let mayStore = 1, SchedRW = [WriteStore] in {
1289
1298
def PUSH64r : I<0x50, AddRegFrm, (outs), (ins GR64:$reg), "push{q}\t$reg", []>,
1290
1299
OpSize32, Requires<[In64BitMode]>;
1300
+ // Long form for the disassembler.
1301
+ let isCodeGenOnly = 1, ForceDisassemble = 1 in {
1291
1302
def PUSH64rmr: I<0xFF, MRM6r, (outs), (ins GR64:$reg), "push{q}\t$reg", []>,
1292
1303
OpSize32, Requires<[In64BitMode]>, NotMemoryFoldable;
1304
+ } // isCodeGenOnly = 1, ForceDisassemble = 1
1293
1305
} // mayStore, SchedRW
1294
1306
let mayLoad = 1, mayStore = 1, SchedRW = [WriteRMW] in {
1295
1307
def PUSH64rmm: I<0xFF, MRM6m, (outs), (ins i64mem:$src), "push{q}\t$src", []>,
0 commit comments