diff options
Diffstat (limited to 'test/MC/ELF/got-relaxed-rex.s')
| -rw-r--r-- | test/MC/ELF/got-relaxed-rex.s | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/MC/ELF/got-relaxed-rex.s b/test/MC/ELF/got-relaxed-rex.s new file mode 100644 index 000000000000..d35afaab3e52 --- /dev/null +++ b/test/MC/ELF/got-relaxed-rex.s @@ -0,0 +1,29 @@ +// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o - | llvm-readobj -r | FileCheck %s + +// these should produce R_X86_64_REX_GOTPCRELX + + movq mov@GOTPCREL(%rip), %rax + test %rax, test@GOTPCREL(%rip) + adc adc@GOTPCREL(%rip), %rax + add add@GOTPCREL(%rip), %rax + and and@GOTPCREL(%rip), %rax + cmp cmp@GOTPCREL(%rip), %rax + or or@GOTPCREL(%rip), %rax + sbb sbb@GOTPCREL(%rip), %rax + sub sub@GOTPCREL(%rip), %rax + xor xor@GOTPCREL(%rip), %rax + +// CHECK: Relocations [ +// CHECK-NEXT: Section ({{.*}}) .rela.text { +// CHECK-NEXT: R_X86_64_REX_GOTPCRELX mov +// CHECK-NEXT: R_X86_64_REX_GOTPCRELX test +// CHECK-NEXT: R_X86_64_REX_GOTPCRELX adc +// CHECK-NEXT: R_X86_64_REX_GOTPCRELX add +// CHECK-NEXT: R_X86_64_REX_GOTPCRELX and +// CHECK-NEXT: R_X86_64_REX_GOTPCRELX cmp +// CHECK-NEXT: R_X86_64_REX_GOTPCRELX or +// CHECK-NEXT: R_X86_64_REX_GOTPCRELX sbb +// CHECK-NEXT: R_X86_64_REX_GOTPCRELX sub +// CHECK-NEXT: R_X86_64_REX_GOTPCRELX xor +// CHECK-NEXT: } +// CHECK-NEXT: ] |
