[RISCV] Support 'f' Inline Assembly Constraint
[llvm-core.git] / test / CodeGen / XCore / globals.ll
blobc7eba786b99e568e680a20e9e22534bdbc74f122
1 ; RUN: llc < %s -march=xcore -mcpu=xs1b-generic | FileCheck %s
3 define i32 *@addr_G1() {
4 entry:
5 ; CHECK-LABEL: addr_G1:
6 ; CHECK: ldaw r0, dp[G1]
7         ret i32* @G1
10 define i32 *@addr_G2() {
11 entry:
12 ; CHECK-LABEL: addr_G2:
13 ; CHECK: ldaw r0, dp[G2]
14         ret i32* @G2
17 define i32 *@addr_G3() {
18 entry:
19 ; CHECK-LABEL: addr_G3:
20 ; CHECK: ldaw r0, dp[G3]
21         ret i32* @G3
24 define i32 *@addr_iG3() {
25 entry:
26 ; CHECK-LABEL: addr_iG3:
27 ; CHECK: ldaw r11, cp[iG3]
28 ; CHECK: mov r0, r11
29   ret i32* @iG3
32 define i32 **@addr_G4() {
33 entry:
34 ; CHECK-LABEL: addr_G4:
35 ; CHECK: ldaw r0, dp[G4]
36         ret i32** @G4
39 define i32 **@addr_G5() {
40 entry:
41 ; CHECK-LABEL: addr_G5:
42 ; CHECK: ldaw r0, dp[G5]
43         ret i32** @G5
46 define i32 **@addr_iG5() {
47 entry:
48 ; CHECK-LABEL: addr_iG5:
49 ; CHECK: ldaw r11, cp[iG5]
50 ; CHECK: mov r0, r11
51   ret i32** @iG5
54 define i32 **@addr_G6() {
55 entry:
56 ; CHECK-LABEL: addr_G6:
57 ; CHECK: ldaw r0, dp[G6]
58         ret i32** @G6
61 define i32 **@addr_G7() {
62 entry:
63 ; CHECK-LABEL: addr_G7:
64 ; CHECK: ldaw r0, dp[G7]
65         ret i32** @G7
68 define i32 **@addr_iG7() {
69 entry:
70 ; CHECK-LABEL: addr_iG7:
71 ; CHECK: ldaw r11, cp[iG7]
72 ; CHECK: mov r0, r11
73   ret i32** @iG7
76 define i32 *@addr_G8() {
77 entry:
78 ; CHECK-LABEL: addr_G8:
79 ; CHECK: ldaw r0, dp[G8]
80         ret i32* @G8
83 @G1 = global i32 4712
84 ; CHECK: .section .dp.data,"awd",@progbits
85 ; CHECK: G1:
87 @G2 = global i32 0
88 ; CHECK: .section .dp.bss,"awd",@nobits
89 ; CHECK: G2:
91 @G3 = unnamed_addr constant i32 9401
92 ; CHECK: .section .dp.rodata,"awd",@progbits
93 ; CHECK: G3:
95 @iG3 = internal constant i32 9401
96 ; CHECK: .section .cp.rodata,"ac",@progbits
97 ; CHECK: iG3:
99 @G4 = global i32* @G1
100 ; CHECK: .section .dp.data,"awd",@progbits
101 ; CHECK: G4:
103 @G5 = unnamed_addr constant i32* @G1
104 ; CHECK: .section .dp.rodata,"awd",@progbits
105 ; CHECK: G5:
107 @iG5 = internal unnamed_addr constant i32* @G1
108 ; CHECK: .section .cp.rodata,"ac",@progbits
109 ; CHECK: iG5:
111 @G6 = global i32* @G8
112 ; CHECK: .section .dp.data,"awd",@progbits
113 ; CHECK: G6:
115 @G7 = unnamed_addr constant i32* @G8
116 ; CHECK: .section .dp.rodata,"awd",@progbits
117 ; CHECK: G7:
119 @iG7 = internal unnamed_addr constant i32* @G8
120 ; CHECK: .section .cp.rodata,"ac",@progbits
121 ; CHECK: iG7:
123 @G8 = global i32 9312
124 ; CHECK: .section .dp.data,"awd",@progbits
125 ; CHECK: G8:
127 @array = global [10 x i16] zeroinitializer, align 2
128 ; CHECK: .globl  array.globound
129 ; CHECK: .set array.globound, 10