summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2013-07-25 16:23:55 +0000
committerTim Northover <tnorthover@apple.com>2013-07-25 16:23:55 +0000
commit8f7613ae0380704f29da764eb997660de5d81ab8 (patch)
tree5fddcc547e84b5f97f62eedbde6f01c366c127c1 /llvm/test/CodeGen
parent27287930683de7c1a6ea782915ef03b155630b69 (diff)
downloadbcm5719-llvm-8f7613ae0380704f29da764eb997660de5d81ab8.tar.gz
bcm5719-llvm-8f7613ae0380704f29da764eb997660de5d81ab8.zip
AArch64: add llc-based tests for previous commit.
Better to have tests run even on non-AArch64 platforms. llvm-svn: 187128
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/AArch64/large-consts.ll13
-rw-r--r--llvm/test/CodeGen/AArch64/tls-execs.ll4
2 files changed, 15 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/AArch64/large-consts.ll b/llvm/test/CodeGen/AArch64/large-consts.ll
new file mode 100644
index 00000000000..1b769c6e350
--- /dev/null
+++ b/llvm/test/CodeGen/AArch64/large-consts.ll
@@ -0,0 +1,13 @@
+; RUN: llc -mtriple=aarch64-linux-gnu -o - %s -code-model=large -show-mc-encoding | FileCheck %s
+
+; Make sure the shift amount is encoded into the instructions by LLVM because
+; it's not the linker's job to put it there.
+
+define double @foo() {
+; CHECK: movz [[CPADDR:x[0-9]+]], #:abs_g3:.LCPI0_0 // encoding: [A,A,0xe0'A',0xd2'A']
+; CHECK: movk [[CPADDR]], #:abs_g2_nc:.LCPI0_0 // encoding: [A,A,0xc0'A',0xf2'A']
+; CHECK: movk [[CPADDR]], #:abs_g1_nc:.LCPI0_0 // encoding: [A,A,0xa0'A',0xf2'A']
+; CHECK: movk [[CPADDR]], #:abs_g0_nc:.LCPI0_0 // encoding: [A,A,0x80'A',0xf2'A']
+
+ ret double 3.14159
+}
diff --git a/llvm/test/CodeGen/AArch64/tls-execs.ll b/llvm/test/CodeGen/AArch64/tls-execs.ll
index 5bb9e32e99e..39ceb9a4795 100644
--- a/llvm/test/CodeGen/AArch64/tls-execs.ll
+++ b/llvm/test/CodeGen/AArch64/tls-execs.ll
@@ -1,4 +1,4 @@
-; RUN: llc -mtriple=aarch64-none-linux-gnu -verify-machineinstrs < %s | FileCheck %s
+; RUN: llc -mtriple=aarch64-none-linux-gnu -verify-machineinstrs -show-mc-encoding < %s | FileCheck %s
; RUN: llc -mtriple=aarch64-none-linux-gnu -filetype=obj < %s | llvm-objdump -r - | FileCheck --check-prefix=CHECK-RELOC %s
@initial_exec_var = external thread_local(initialexec) global i32
@@ -38,7 +38,7 @@ define i32 @test_local_exec() {
; CHECK-LABEL: test_local_exec:
%val = load i32* @local_exec_var
-; CHECK: movz [[TP_OFFSET:x[0-9]+]], #:tprel_g1:local_exec_var
+; CHECK: movz [[TP_OFFSET:x[0-9]+]], #:tprel_g1:local_exec_var // encoding: [A,A,0xa0'A',0x92'A']
; CHECK: movk [[TP_OFFSET]], #:tprel_g0_nc:local_exec_var
; CHECK: mrs x[[TP:[0-9]+]], tpidr_el0
; CHECK: ldr w0, [x[[TP]], [[TP_OFFSET]]]
OpenPOWER on IntegriCloud