|
2 | 2 | ; RUN: %if ptxas %{ llc < %s -march=nvptx -mcpu=sm_20 | %ptxas-verify %}
|
3 | 3 |
|
4 | 4 | ; CHECK: .visible .global .align 4 .u32 g = 42;
|
| 5 | +; CHECK: .visible .global .align 1 .b8 ga[4] = {0, 1, 2, 3}; |
5 | 6 | ; CHECK: .visible .global .align 4 .u32 g2 = generic(g);
|
6 | 7 | ; CHECK: .visible .global .align 4 .u32 g3 = g;
|
7 | 8 | ; CHECK: .visible .global .align 8 .u32 g4[2] = {0, generic(g)};
|
8 | 9 | ; CHECK: .visible .global .align 8 .u32 g5[2] = {0, generic(g)+8};
|
9 | 10 |
|
10 | 11 | @g = addrspace(1) global i32 42
|
| 12 | +@ga = addrspace(1) global [4 x i8] c"\00\01\02\03" |
11 | 13 | @g2 = addrspace(1) global i32* addrspacecast (i32 addrspace(1)* @g to i32*)
|
12 | 14 | @g3 = addrspace(1) global i32 addrspace(1)* @g
|
13 | 15 | @g4 = constant {i32*, i32*} {i32* null, i32* addrspacecast (i32 addrspace(1)* @g to i32*)}
|
14 | 16 | @g5 = constant {i32*, i32*} {i32* null, i32* addrspacecast (i32 addrspace(1)* getelementptr (i32, i32 addrspace(1)* @g, i32 2) to i32*)}
|
| 17 | + |
| 18 | +; CHECK: .visible .global .align 4 .u32 g6 = generic(ga)+2; |
| 19 | +@g6 = addrspace(1) global i8* getelementptr inbounds ( |
| 20 | + [4 x i8], [4 x i8]* addrspacecast ([4 x i8] addrspace(1)* @ga to [4 x i8]*), |
| 21 | + i32 0, i32 2 |
| 22 | +) |
| 23 | + |
| 24 | +; CHECK: .visible .global .align 4 .u32 g7 = generic(g); |
| 25 | +@g7 = addrspace(1) global i8* addrspacecast ( |
| 26 | + i8 addrspace(1)* bitcast (i32 addrspace(1)* @g to i8 addrspace(1)*) |
| 27 | + to i8* |
| 28 | +) |
| 29 | + |
| 30 | +; CHECK: .visible .global .align 4 .u32 g8[2] = {0, g}; |
| 31 | +@g8 = addrspace(1) global [2 x i32 addrspace(1)*] [i32 addrspace(1)* null, i32 addrspace(1)* @g] |
| 32 | + |
| 33 | +; CHECK: .visible .global .align 4 .u32 g9[2] = {0, generic(g)}; |
| 34 | +@g9 = addrspace(1) global [2 x i32*] [ |
| 35 | + i32* null, |
| 36 | + i32* addrspacecast (i32 addrspace(1)* @g to i32*) |
| 37 | +] |
| 38 | + |
| 39 | +; CHECK: .visible .global .align 4 .u32 g10[2] = {0, g}; |
| 40 | +@g10 = addrspace(1) global [2 x i8 addrspace(1)*] [ |
| 41 | + i8 addrspace(1)* null, |
| 42 | + i8 addrspace(1)* bitcast (i32 addrspace(1)* @g to i8 addrspace(1)*) |
| 43 | +] |
| 44 | + |
| 45 | +; CHECK: .visible .global .align 4 .u32 g11[2] = {0, generic(g)}; |
| 46 | +@g11 = addrspace(1) global [2 x i8*] [ |
| 47 | + i8* null, |
| 48 | + i8* bitcast (i32* addrspacecast (i32 addrspace(1)* @g to i32*) to i8*) |
| 49 | +] |
0 commit comments