[llvm] r187128 - AArch64: add llc-based tests for previous commit.

Tim Northover tnorthover at apple.com
Thu Jul 25 09:23:55 PDT 2013


Author: tnorthover
Date: Thu Jul 25 11:23:55 2013
New Revision: 187128

URL: http://llvm.org/viewvc/llvm-project?rev=187128&view=rev
Log:
AArch64: add llc-based tests for previous commit.

Better to have tests run even on non-AArch64 platforms.

Added:
    llvm/trunk/test/CodeGen/AArch64/large-consts.ll
Modified:
    llvm/trunk/test/CodeGen/AArch64/tls-execs.ll

Added: llvm/trunk/test/CodeGen/AArch64/large-consts.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/large-consts.ll?rev=187128&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/large-consts.ll (added)
+++ llvm/trunk/test/CodeGen/AArch64/large-consts.ll Thu Jul 25 11:23:55 2013
@@ -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
+}

Modified: llvm/trunk/test/CodeGen/AArch64/tls-execs.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/tls-execs.ll?rev=187128&r1=187127&r2=187128&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/tls-execs.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/tls-execs.ll Thu Jul 25 11:23:55 2013
@@ -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]]]





More information about the llvm-commits mailing list