From 87ce01739b058fd6d929cd8e609ceecf82f919a7 Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Sun, 14 Apr 2013 04:57:51 +0000 Subject: Add support for the SPARC v9 abs44 code model. This is the default model for non-PIC 64-bit code. It supports text+data+bss linked anywhere in the low 16 TB of the address space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179473 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/SPARC/constpool.ll | 8 ++++++++ test/CodeGen/SPARC/globals.ll | 8 ++++++++ 2 files changed, 16 insertions(+) (limited to 'test/CodeGen') diff --git a/test/CodeGen/SPARC/constpool.ll b/test/CodeGen/SPARC/constpool.ll index 76c485e..6c3a1bf 100644 --- a/test/CodeGen/SPARC/constpool.ll +++ b/test/CodeGen/SPARC/constpool.ll @@ -1,5 +1,6 @@ ; 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=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 @@ -13,6 +14,13 @@ entry: ; abs32: ld [%[[R]]+%lo(.LCPI0_0)], %f ; abs32: jmp %i7+8 +; abs44: floatCP +; abs44: sethi %h44(.LCPI0_0), %[[R1:[gilo][0-7]]] +; abs44: add %[[R1]], %m44(.LCPI0_0), %[[R2:[gilo][0-7]]] +; abs44: sllx %[[R2]], 12, %[[R3:[gilo][0-7]]] +; abs44: ld [%[[R3]]+%l44(.LCPI0_0)], %f1 +; abs44: jmp %i7+8 + ; v8pic32: floatCP ; v8pic32: _GLOBAL_OFFSET_TABLE_ ; v8pic32: sethi %hi(.LCPI0_0), %[[R1:[gilo][0-7]]] diff --git a/test/CodeGen/SPARC/globals.ll b/test/CodeGen/SPARC/globals.ll index 882fe7f..957059d 100644 --- a/test/CodeGen/SPARC/globals.ll +++ b/test/CodeGen/SPARC/globals.ll @@ -1,5 +1,6 @@ ; 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=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 @@ -15,6 +16,13 @@ define zeroext i8 @loadG() { ; abs32: ldub [%[[R]]+%lo(G)], %i0 ; abs32: jmp %i7+8 +; abs44: loadG +; abs44: sethi %h44(G), %[[R1:[gilo][0-7]]] +; abs44: add %[[R1]], %m44(G), %[[R2:[gilo][0-7]]] +; abs44: sllx %[[R2]], 12, %[[R3:[gilo][0-7]]] +; abs44: ldub [%[[R3]]+%l44(G)], %i0 +; abs44: jmp %i7+8 + ; v8pic32: loadG ; v8pic32: _GLOBAL_OFFSET_TABLE_ ; v8pic32: sethi %hi(G), %[[R1:[gilo][0-7]]] -- cgit v1.1