llvm/test/MC/X86/x86_64-signed-reloc.s
David Woodhouse 93f81d9b33 [x86] Fix signed relocations for i64i32imm operands
These should end up (in ELF) as R_X86_64_32S relocs, not R_X86_64_32.
Kill the horrid and incomplete special case and FIXME in
EncodeInstruction() and set things up so it can infer the signedness
from the ImmType just like it can the size and whether it's PC-relative.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200495 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-30 22:20:41 +00:00

17 lines
585 B
ArmAsm

// RUN: llvm-mc -triple x86_64-linux-gnu -filetype=obj %s | llvm-readobj -r | FileCheck %s
// CHECK: Relocations [
// CHECK-NEXT: Section ({{[0-9]+}}) .rela.text {
pushq $foo // CHECK-NEXT: R_X86_64_32S
addq $foo, %rax // CHECK-NEXT: R_X86_64_32S
andq $foo, %rax // CHECK-NEXT: R_X86_64_32S
movq $foo, %rax // CHECK-NEXT: R_X86_64_32S
bextr $foo, (%edi), %eax // CHECK-NEXT: R_X86_64_32
bextr $foo, (%rdi), %rax // CHECK-NEXT: R_X86_64_32S
imul $foo, %rax // CHECK-NEXT: R_X86_64_32S
// CHECK-NEXT: }
// CHECK-NEXT: ]