@@ -166,16 +166,16 @@ let isBranch = 1, isTerminator = 1, isBarrier = 1, isIndirectBranch = 1 in {
166166 Requires<[In64BitMode]>, Sched<[WriteJumpLd]>, NOTRACK;
167167 }
168168
169- let Predicates = [Not64BitMode], AsmVariantName = "att" in {
169+ let Predicates = [Not64BitMode], AsmVariantName = "att" in
170170 def FARJMP32i : Iseg32<0xEA, RawFrmImm16, (outs),
171171 (ins i32imm:$off, i16imm:$seg),
172172 "ljmp{l}\t$seg, $off", []>,
173173 OpSize32, Sched<[WriteJump]>;
174+ let AsmVariantName = "att" in
174175 def FARJMP16i : Iseg16<0xEA, RawFrmImm16, (outs),
175176 (ins i16imm:$off, i16imm:$seg),
176177 "ljmp{w}\t$seg, $off", []>,
177178 OpSize16, Sched<[WriteJump]>;
178- }
179179 let mayLoad = 1 in {
180180 def FARJMP64m : RI<0xFF, MRM5m, (outs), (ins opaquemem:$dst),
181181 "ljmp{q}\t{*}$dst", []>, Sched<[WriteJump]>, Requires<[In64BitMode]>;
@@ -214,11 +214,6 @@ let isCall = 1 in
214214 (outs), (ins i32imm_brtarget:$dst),
215215 "call{l}\t$dst", []>, OpSize32,
216216 Requires<[Not64BitMode]>, Sched<[WriteJump]>;
217- let hasSideEffects = 0 in
218- def CALLpcrel16 : Ii16PCRel<0xE8, RawFrm,
219- (outs), (ins i16imm_brtarget:$dst),
220- "call{w}\t$dst", []>, OpSize16,
221- Requires<[Not64BitMode]>, Sched<[WriteJump]>;
222217 def CALL16r : I<0xFF, MRM2r, (outs), (ins GR16:$dst),
223218 "call{w}\t{*}$dst", [(X86call GR16:$dst)]>,
224219 OpSize16, Requires<[Not64BitMode]>, Sched<[WriteJump]>;
@@ -329,6 +324,11 @@ let isCall = 1, Uses = [RSP, SSP], SchedRW = [WriteJump] in {
329324 (outs), (ins i64i32imm_brtarget:$dst),
330325 "call{q}\t$dst", []>, OpSize32,
331326 Requires<[In64BitMode]>;
327+ let hasSideEffects = 0 in
328+ def CALLpcrel16 : Ii16PCRel<0xE8, RawFrm,
329+ (outs), (ins i16imm_brtarget:$dst),
330+ "call{w}\t$dst", []>, OpSize16,
331+ Sched<[WriteJump]>;
332332 def CALL64r : I<0xFF, MRM2r, (outs), (ins GR64:$dst),
333333 "call{q}\t{*}$dst", [(X86call GR64:$dst)]>,
334334 Requires<[In64BitMode,NotUseIndirectThunkCalls,ImportCallOptimizationDisabled]>;
0 commit comments