summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/ARM
diff options
context:
space:
mode:
authorMikhail Maltsev <mikhail.maltsev@arm.com>2019-06-26 10:48:40 +0000
committerMikhail Maltsev <mikhail.maltsev@arm.com>2019-06-26 10:48:40 +0000
commit6dcbb3161e35a9a2bbe4d49760bb25f6bd25ce48 (patch)
tree83db01a5b91cb09ab6e83546c3eb12514b8be0a2 /llvm/test/MC/ARM
parentcf74881329d3b2bce063b70cbac85792a1b76b0f (diff)
downloadbcm5719-llvm-6dcbb3161e35a9a2bbe4d49760bb25f6bd25ce48.tar.gz
bcm5719-llvm-6dcbb3161e35a9a2bbe4d49760bb25f6bd25ce48.zip
[ARM] Handle fixup_arm_pcrel_9 correctly on big-endian targets
Summary: The getFixupKindContainerSizeBytes function returns the size of the instruction containing a given fixup. Currently fixup_arm_pcrel_9 is not handled in this function, this causes an assertion failure in the debug build and incorrect codegen in the release build. This patch fixes the problem. Reviewers: ostannard, simon_tatham Reviewed By: ostannard Subscribers: javed.absar, kristof.beyls, hiraditya, pbarrio, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63778 llvm-svn: 364404
Diffstat (limited to 'llvm/test/MC/ARM')
-rw-r--r--llvm/test/MC/ARM/fixup-pcrel9.s18
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/MC/ARM/fixup-pcrel9.s b/llvm/test/MC/ARM/fixup-pcrel9.s
new file mode 100644
index 00000000000..620b6799a07
--- /dev/null
+++ b/llvm/test/MC/ARM/fixup-pcrel9.s
@@ -0,0 +1,18 @@
+// RUN: llvm-mc -triple=armebv8.2a-eabi -filetype=obj < %s | llvm-objdump -s - | FileCheck %s --check-prefix=CHECK-BE
+// RUN: llvm-mc -triple=armv8.2a-eabi -filetype=obj < %s | llvm-objdump -s - | FileCheck %s --check-prefix=CHECK-LE
+
+ .text
+ .fpu crypto-neon-fp-armv8
+ .arch_extension fp16
+
+.section s_pcrel_9,"ax",%progbits
+// CHECK-BE-LABEL: Contents of section s_pcrel_9
+// CHECK-LE-LABEL: Contents of section s_pcrel_9
+// CHECK-BE: 0000 ed9f0902
+// CHECK-LE: 0000 02099fed
+ vldr.16 s0, .LCPI0_0
+ nop
+ bx lr
+.LCPI0_0:
+ .short 28012
+
OpenPOWER on IntegriCloud