mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-12 23:40:43 +00:00
finish up support for callw: PR7195
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107826 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9fc05227a2
commit
da3051a17f
@ -33,6 +33,7 @@ static unsigned getFixupKindLog2Size(unsigned Kind) {
|
|||||||
default: llvm_unreachable("invalid fixup kind!");
|
default: llvm_unreachable("invalid fixup kind!");
|
||||||
case X86::reloc_pcrel_1byte:
|
case X86::reloc_pcrel_1byte:
|
||||||
case FK_Data_1: return 0;
|
case FK_Data_1: return 0;
|
||||||
|
case X86::reloc_pcrel_2byte:
|
||||||
case FK_Data_2: return 1;
|
case FK_Data_2: return 1;
|
||||||
case X86::reloc_pcrel_4byte:
|
case X86::reloc_pcrel_4byte:
|
||||||
case X86::reloc_riprel_4byte:
|
case X86::reloc_riprel_4byte:
|
||||||
@ -47,6 +48,7 @@ static bool isFixupKindPCRel(unsigned Kind) {
|
|||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
case X86::reloc_pcrel_1byte:
|
case X86::reloc_pcrel_1byte:
|
||||||
|
case X86::reloc_pcrel_2byte:
|
||||||
case X86::reloc_pcrel_4byte:
|
case X86::reloc_pcrel_4byte:
|
||||||
case X86::reloc_riprel_4byte:
|
case X86::reloc_riprel_4byte:
|
||||||
case X86::reloc_riprel_4byte_movq_load:
|
case X86::reloc_riprel_4byte_movq_load:
|
||||||
|
@ -201,7 +201,7 @@ EmitImmediate(const MCOperand &DispOp, unsigned Size, MCFixupKind FixupKind,
|
|||||||
FixupKind == MCFixupKind(X86::reloc_riprel_4byte_movq_load))
|
FixupKind == MCFixupKind(X86::reloc_riprel_4byte_movq_load))
|
||||||
ImmOffset -= 4;
|
ImmOffset -= 4;
|
||||||
if (FixupKind == MCFixupKind(X86::reloc_pcrel_2byte))
|
if (FixupKind == MCFixupKind(X86::reloc_pcrel_2byte))
|
||||||
ImmOffset -= 4;// FIXME: This should be 2, but 'as' produces an offset of 4.
|
ImmOffset -= 2;
|
||||||
if (FixupKind == MCFixupKind(X86::reloc_pcrel_1byte))
|
if (FixupKind == MCFixupKind(X86::reloc_pcrel_1byte))
|
||||||
ImmOffset -= 1;
|
ImmOffset -= 1;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user