diff options
author | Stephen Hines <srhines@google.com> | 2014-04-23 16:57:46 -0700 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2014-04-24 15:53:16 -0700 |
commit | 36b56886974eae4f9c5ebc96befd3e7bfe5de338 (patch) | |
tree | e6cfb69fbbd937f450eeb83bfb83b9da3b01275a /test/MC/Sparc/sparc-relocations.s | |
parent | 69a8640022b04415ae9fac62f8ab090601d8f889 (diff) | |
download | external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.zip external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.tar.gz external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.tar.bz2 |
Update to LLVM 3.5a.
Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
Diffstat (limited to 'test/MC/Sparc/sparc-relocations.s')
-rw-r--r-- | test/MC/Sparc/sparc-relocations.s | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/MC/Sparc/sparc-relocations.s b/test/MC/Sparc/sparc-relocations.s new file mode 100644 index 0000000..a5b7baf --- /dev/null +++ b/test/MC/Sparc/sparc-relocations.s @@ -0,0 +1,46 @@ +! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s +! RUN: llvm-mc %s -arch=sparcv9 -filetype=obj | llvm-readobj -r | FileCheck %s --check-prefix=CHECK-OBJ + + ! CHECK-OBJ: Format: ELF64-sparc + ! CHECK-OBJ: Relocations [ + ! CHECK-OBJ: 0x{{[0-9,A-F]+}} R_SPARC_WDISP30 foo + ! CHECK-OBJ: 0x{{[0-9,A-F]+}} R_SPARC_LO10 sym + ! CHECK-OBJ: 0x{{[0-9,A-F]+}} R_SPARC_HI22 sym + ! CHECK-OBJ: 0x{{[0-9,A-F]+}} R_SPARC_H44 sym + ! CHECK-OBJ: 0x{{[0-9,A-F]+}} R_SPARC_M44 sym + ! CHECK-OBJ: 0x{{[0-9,A-F]+}} R_SPARC_L44 sym + ! CHECK-OBJ: 0x{{[0-9,A-F]+}} R_SPARC_HH22 sym + ! CHECK-OBJ: 0x{{[0-9,A-F]+}} R_SPARC_HM10 sym + ! CHECK-ELF: ] + + ! CHECK: call foo ! encoding: [0b01AAAAAA,A,A,A] + ! CHECK: ! fixup A - offset: 0, value: foo, kind: fixup_sparc_call30 + call foo + + ! CHECK: or %g1, %lo(sym), %g3 ! encoding: [0x86,0x10,0b011000AA,A] + ! CHECK-NEXT ! fixup A - offset: 0, value: %lo(sym), kind: fixup_sparc_lo10 + or %g1, %lo(sym), %g3 + + ! CHECK: sethi %hi(sym), %l0 ! encoding: [0x21,0b00AAAAAA,A,A] + ! CHECK-NEXT: ! fixup A - offset: 0, value: %hi(sym), kind: fixup_sparc_hi22 + sethi %hi(sym), %l0 + + ! CHECK: sethi %h44(sym), %l0 ! encoding: [0x21,0b00AAAAAA,A,A] + ! CHECK-NEXT: ! fixup A - offset: 0, value: %h44(sym), kind: fixup_sparc_h44 + sethi %h44(sym), %l0 + + ! CHECK: or %g1, %m44(sym), %g3 ! encoding: [0x86,0x10,0b011000AA,A] + ! CHECK-NEXT ! fixup A - offset: 0, value: %m44(sym), kind: fixup_sparc_m44 + or %g1, %m44(sym), %g3 + + ! CHECK: or %g1, %l44(sym), %g3 ! encoding: [0x86,0x10,0b0110AAAA,A] + ! CHECK-NEXT ! fixup A - offset: 0, value: %l44(sym), kind: fixup_sparc_l44 + or %g1, %l44(sym), %g3 + + ! CHECK: sethi %hh(sym), %l0 ! encoding: [0x21,0b00AAAAAA,A,A] + ! CHECK-NEXT: ! fixup A - offset: 0, value: %hh(sym), kind: fixup_sparc_hh + sethi %hh(sym), %l0 + + ! CHECK: or %g1, %hm(sym), %g3 ! encoding: [0x86,0x10,0b011000AA,A] + ! CHECK-NEXT ! fixup A - offset: 0, value: %hm(sym), kind: fixup_sparc_hm + or %g1, %hm(sym), %g3 |