blob: 6c3a1bfe40473fe96cb2c40d57efe91cff8302a1 [file] [log] [blame]
Jakob Stoklund Olesen26932102013-04-14 04:35:16 +00001; RUN: llc < %s -march=sparc -relocation-model=static -code-model=small | FileCheck --check-prefix=abs32 %s
2; RUN: llc < %s -march=sparcv9 -relocation-model=static -code-model=small | FileCheck --check-prefix=abs32 %s
Jakob Stoklund Olesen87ce0172013-04-14 04:57:51 +00003; RUN: llc < %s -march=sparcv9 -relocation-model=static -code-model=medium | FileCheck --check-prefix=abs44 %s
Jakob Stoklund Olesen26932102013-04-14 04:35:16 +00004; RUN: llc < %s -march=sparc -relocation-model=pic -code-model=medium | FileCheck --check-prefix=v8pic32 %s
5; RUN: llc < %s -march=sparcv9 -relocation-model=pic -code-model=medium | FileCheck --check-prefix=v9pic32 %s
6
7define float @floatCP() {
8entry:
9 ret float 1.000000e+00
10}
11
12; abs32: floatCP
13; abs32: sethi %hi(.LCPI0_0), %[[R:[gilo][0-7]]]
14; abs32: ld [%[[R]]+%lo(.LCPI0_0)], %f
15; abs32: jmp %i7+8
16
Jakob Stoklund Olesen87ce0172013-04-14 04:57:51 +000017; abs44: floatCP
18; abs44: sethi %h44(.LCPI0_0), %[[R1:[gilo][0-7]]]
19; abs44: add %[[R1]], %m44(.LCPI0_0), %[[R2:[gilo][0-7]]]
20; abs44: sllx %[[R2]], 12, %[[R3:[gilo][0-7]]]
21; abs44: ld [%[[R3]]+%l44(.LCPI0_0)], %f1
22; abs44: jmp %i7+8
23
Jakob Stoklund Olesen26932102013-04-14 04:35:16 +000024; v8pic32: floatCP
25; v8pic32: _GLOBAL_OFFSET_TABLE_
26; v8pic32: sethi %hi(.LCPI0_0), %[[R1:[gilo][0-7]]]
27; v8pic32: add %[[R1]], %lo(.LCPI0_0), %[[Goffs:[gilo][0-7]]]
28; v8pic32: ld [%[[GOT:[gilo][0-7]]]+%[[Goffs]]], %[[Gaddr:[gilo][0-7]]]
29; v8pic32: ld [%[[Gaddr]]], %f0
30; v8pic32: jmp %i7+8
31
32; v9pic32: floatCP
33; v9pic32: _GLOBAL_OFFSET_TABLE_
34; v9pic32: sethi %hi(.LCPI0_0), %[[R1:[gilo][0-7]]]
35; v9pic32: add %[[R1]], %lo(.LCPI0_0), %[[Goffs:[gilo][0-7]]]
36; v9pic32: ldx [%[[GOT:[gilo][0-7]]]+%[[Goffs]]], %[[Gaddr:[gilo][0-7]]]
37; v9pic32: ld [%[[Gaddr]]], %f1
38; v9pic32: jmp %i7+8