diff options
| author | Coby Tayree <coby.tayree@intel.com> | 2017-08-09 15:34:55 +0000 |
|---|---|---|
| committer | Coby Tayree <coby.tayree@intel.com> | 2017-08-09 15:34:55 +0000 |
| commit | 3638655325839ade51b6c7b3a4c48dd0ae772128 (patch) | |
| tree | 2e3b921488457ff13c7d12c4c04aa15effb899a2 /llvm/lib | |
| parent | 08465828789cf3255f79f17a4eaa3b25b727fdbd (diff) | |
| download | bcm5719-llvm-3638655325839ade51b6c7b3a4c48dd0ae772128.tar.gz bcm5719-llvm-3638655325839ade51b6c7b3a4c48dd0ae772128.zip | |
[X86][Asm]Allow far jmp/call to be picked when using explicit FWORD size specifier
Currently, far jmp/call which utilizes a 48bit memory operand would have been invoked via the 'lcall/ljmp' mnemonic (intel style).
This patch align those variants to formal intel spec
Differential Revision: https://reviews.llvm.org/D35846
llvm-svn: 310485
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrControl.td | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86InstrControl.td b/llvm/lib/Target/X86/X86InstrControl.td index 4ea223e82be..8f9226cf228 100644 --- a/llvm/lib/Target/X86/X86InstrControl.td +++ b/llvm/lib/Target/X86/X86InstrControl.td @@ -171,7 +171,7 @@ let isBranch = 1, isTerminator = 1, isBarrier = 1, isIndirectBranch = 1 in { "ljmp{w}\t{*}$dst", [], IIC_JMP_FAR_MEM>, OpSize16, Sched<[WriteJumpLd]>; def FARJMP32m : I<0xFF, MRM5m, (outs), (ins opaque48mem:$dst), - "ljmp{l}\t{*}$dst", [], IIC_JMP_FAR_MEM>, OpSize32, + "{l}jmp{l}\t{*}$dst", [], IIC_JMP_FAR_MEM>, OpSize32, Sched<[WriteJumpLd]>; } @@ -233,7 +233,7 @@ let isCall = 1 in "lcall{w}\t{*}$dst", [], IIC_CALL_FAR_MEM>, OpSize16, Sched<[WriteJumpLd]>; def FARCALL32m : I<0xFF, MRM3m, (outs), (ins opaque48mem:$dst), - "lcall{l}\t{*}$dst", [], IIC_CALL_FAR_MEM>, OpSize32, + "{l}call{l}\t{*}$dst", [], IIC_CALL_FAR_MEM>, OpSize32, Sched<[WriteJumpLd]>; } |

