AArch64: add llc-based tests for previous commit.
authorTim Northover <tnorthover@apple.com>
Thu, 25 Jul 2013 16:23:55 +0000 (16:23 +0000)
committerTim Northover <tnorthover@apple.com>
Thu, 25 Jul 2013 16:23:55 +0000 (16:23 +0000)
Better to have tests run even on non-AArch64 platforms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187128 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/AArch64/large-consts.ll [new file with mode: 0644]
test/CodeGen/AArch64/tls-execs.ll

diff --git a/test/CodeGen/AArch64/large-consts.ll b/test/CodeGen/AArch64/large-consts.ll
new file mode 100644 (file)
index 0000000..1b769c6
--- /dev/null
@@ -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
+}
index 5bb9e32e99e24cd635fba74a95f08297a3390034..39ceb9a4795c9889857f55bc425430e7d7fdb46a 100644 (file)
@@ -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]]]