summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-04-24 12:56:34 +0000
committerTim Northover <tnorthover@apple.com>2014-04-24 12:56:34 +0000
commit624928134fe93991b70947a17f6706abda3dc652 (patch)
treedb3f9ea2abaaee4b13337b7981124817dac0f7e4 /llvm
parent0815a43e7c52bdcfab7115ca6818d99d43b0dfc2 (diff)
downloadbcm5719-llvm-624928134fe93991b70947a17f6706abda3dc652.tar.gz
bcm5719-llvm-624928134fe93991b70947a17f6706abda3dc652.zip
ARM64: support relocated "TBZ/TBNZ" instructions.
llvm-svn: 207110
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/ARM64/MCTargetDesc/ARM64ELFObjectWriter.cpp2
-rw-r--r--llvm/test/MC/AArch64/elf-reloc-tstb.s3
2 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM64/MCTargetDesc/ARM64ELFObjectWriter.cpp b/llvm/lib/Target/ARM64/MCTargetDesc/ARM64ELFObjectWriter.cpp
index 2ecc73cf808..b775dd332fe 100644
--- a/llvm/lib/Target/ARM64/MCTargetDesc/ARM64ELFObjectWriter.cpp
+++ b/llvm/lib/Target/ARM64/MCTargetDesc/ARM64ELFObjectWriter.cpp
@@ -87,6 +87,8 @@ unsigned ARM64ELFObjectWriter::GetRelocType(const MCValue &Target,
if (SymLoc == ARM64MCExpr::VK_GOTTPREL)
return ELF::R_AARCH64_TLSIE_LD_GOTTPREL_PREL19;
return ELF::R_AARCH64_LD_PREL_LO19;
+ case ARM64::fixup_arm64_pcrel_branch14:
+ return ELF::R_AARCH64_TSTBR14;
case ARM64::fixup_arm64_pcrel_branch19:
return ELF::R_AARCH64_CONDBR19;
default:
diff --git a/llvm/test/MC/AArch64/elf-reloc-tstb.s b/llvm/test/MC/AArch64/elf-reloc-tstb.s
index 25c98163b58..370b9ee126a 100644
--- a/llvm/test/MC/AArch64/elf-reloc-tstb.s
+++ b/llvm/test/MC/AArch64/elf-reloc-tstb.s
@@ -1,6 +1,9 @@
// RUN: llvm-mc -triple=aarch64-none-linux-gnu -filetype=obj %s -o - | \
// RUN: llvm-readobj -r | FileCheck -check-prefix=OBJ %s
+// RUN: llvm-mc -triple=arm64-none-linux-gnu -filetype=obj %s -o - | \
+// RUN: llvm-readobj -r | FileCheck -check-prefix=OBJ %s
+
tbz x6, #45, somewhere
tbnz w3, #15, somewhere
OpenPOWER on IntegriCloud