summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2013-04-14 05:10:36 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2013-04-14 05:10:36 +0000
commitc3c28f8599f56c91974000f8044bf392beb753e5 (patch)
tree1d97cd9ad39e01ef60d117f2d8a80662bcbd0ab2 /llvm/test
parentc8fc76b0788357e3e0f1ba6a29f25458dc18e696 (diff)
downloadbcm5719-llvm-c3c28f8599f56c91974000f8044bf392beb753e5.tar.gz
bcm5719-llvm-c3c28f8599f56c91974000f8044bf392beb753e5.zip
Add support for the abs64 SPARC v9 code model.
For when 16 TB just isn't enough. llvm-svn: 179474
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/SPARC/constpool.ll10
-rw-r--r--llvm/test/CodeGen/SPARC/globals.ll10
2 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/SPARC/constpool.ll b/llvm/test/CodeGen/SPARC/constpool.ll
index 6c3a1bfe404..d93a53b3ac0 100644
--- a/llvm/test/CodeGen/SPARC/constpool.ll
+++ b/llvm/test/CodeGen/SPARC/constpool.ll
@@ -1,6 +1,7 @@
; RUN: llc < %s -march=sparc -relocation-model=static -code-model=small | FileCheck --check-prefix=abs32 %s
; RUN: llc < %s -march=sparcv9 -relocation-model=static -code-model=small | FileCheck --check-prefix=abs32 %s
; RUN: llc < %s -march=sparcv9 -relocation-model=static -code-model=medium | FileCheck --check-prefix=abs44 %s
+; RUN: llc < %s -march=sparcv9 -relocation-model=static -code-model=large | FileCheck --check-prefix=abs64 %s
; RUN: llc < %s -march=sparc -relocation-model=pic -code-model=medium | FileCheck --check-prefix=v8pic32 %s
; RUN: llc < %s -march=sparcv9 -relocation-model=pic -code-model=medium | FileCheck --check-prefix=v9pic32 %s
@@ -21,6 +22,15 @@ entry:
; abs44: ld [%[[R3]]+%l44(.LCPI0_0)], %f1
; abs44: jmp %i7+8
+; abs64: floatCP
+; abs64: sethi %hi(.LCPI0_0), %[[R1:[gilo][0-7]]]
+; abs64: add %[[R1]], %lo(.LCPI0_0), %[[R2:[gilo][0-7]]]
+; abs64: sethi %hh(.LCPI0_0), %[[R3:[gilo][0-7]]]
+; abs64: add %[[R3]], %hm(.LCPI0_0), %[[R4:[gilo][0-7]]]
+; abs64: sllx %[[R4]], 32, %[[R5:[gilo][0-7]]]
+; abs64: ld [%[[R5]]+%[[R2]]], %f1
+; abs64: jmp %i7+8
+
; v8pic32: floatCP
; v8pic32: _GLOBAL_OFFSET_TABLE_
; v8pic32: sethi %hi(.LCPI0_0), %[[R1:[gilo][0-7]]]
diff --git a/llvm/test/CodeGen/SPARC/globals.ll b/llvm/test/CodeGen/SPARC/globals.ll
index 957059d0b83..8d8de58f7cc 100644
--- a/llvm/test/CodeGen/SPARC/globals.ll
+++ b/llvm/test/CodeGen/SPARC/globals.ll
@@ -1,6 +1,7 @@
; RUN: llc < %s -march=sparc -relocation-model=static -code-model=small | FileCheck --check-prefix=abs32 %s
; RUN: llc < %s -march=sparcv9 -relocation-model=static -code-model=small | FileCheck --check-prefix=abs32 %s
; RUN: llc < %s -march=sparcv9 -relocation-model=static -code-model=medium | FileCheck --check-prefix=abs44 %s
+; RUN: llc < %s -march=sparcv9 -relocation-model=static -code-model=large | FileCheck --check-prefix=abs64 %s
; RUN: llc < %s -march=sparc -relocation-model=pic -code-model=medium | FileCheck --check-prefix=v8pic32 %s
; RUN: llc < %s -march=sparcv9 -relocation-model=pic -code-model=medium | FileCheck --check-prefix=v9pic32 %s
@@ -23,6 +24,15 @@ define zeroext i8 @loadG() {
; abs44: ldub [%[[R3]]+%l44(G)], %i0
; abs44: jmp %i7+8
+; abs64: loadG
+; abs64: sethi %hi(G), %[[R1:[gilo][0-7]]]
+; abs64: add %[[R1]], %lo(G), %[[R2:[gilo][0-7]]]
+; abs64: sethi %hh(G), %[[R3:[gilo][0-7]]]
+; abs64: add %[[R3]], %hm(G), %[[R4:[gilo][0-7]]]
+; abs64: sllx %[[R4]], 32, %[[R5:[gilo][0-7]]]
+; abs64: ldub [%[[R5]]+%[[R2]]], %i0
+; abs64: jmp %i7+8
+
; v8pic32: loadG
; v8pic32: _GLOBAL_OFFSET_TABLE_
; v8pic32: sethi %hi(G), %[[R1:[gilo][0-7]]]
OpenPOWER on IntegriCloud