[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / nullptr.ll
blobeab5cc82ee6e389ca8378cd3ef65593201f3481c
1 ;RUN: llc < %s -mtriple=amdgcn-- -verify-machineinstrs | FileCheck -check-prefixes=CHECK,GCN %s
2 ;RUN: llc < %s -march=r600 -mtriple=r600-- -verify-machineinstrs | FileCheck -check-prefixes=CHECK,R600 %s
4 %struct.S = type { ptr addrspace(5), ptr addrspace(1), ptr addrspace(4), ptr addrspace(3), ptr, ptr addrspace(2)}
6 ; CHECK-LABEL: nullptr_priv:
7 ; CHECK-NEXT: .long -1
8 @nullptr_priv = global ptr addrspace(5) addrspacecast (ptr null to ptr addrspace(5))
10 ; CHECK-LABEL: nullptr_glob:
11 ; GCN-NEXT: .quad 0
12 ; R600-NEXT: .long 0
13 @nullptr_glob = global ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1))
15 ; CHECK-LABEL: nullptr_const:
16 ; GCN-NEXT: .quad 0
17 ; R600-NEXT: .long 0
18 @nullptr_const = global ptr addrspace(4) addrspacecast (ptr null to ptr addrspace(4))
20 ; CHECK-LABEL: nullptr_local:
21 ; CHECK-NEXT: .long -1
22 @nullptr_local = global ptr addrspace(3) addrspacecast (ptr null to ptr addrspace(3))
24 ; CHECK-LABEL: nullptr_region:
25 ; CHECK-NEXT: .long -1
26 @nullptr_region = global ptr addrspace(2) addrspacecast (ptr null to ptr addrspace(2))
28 ; CHECK-LABEL: nullptr6:
29 ; R600-NEXT: .long 0
30 @nullptr6 = global ptr addrspace(6) addrspacecast (ptr null to ptr addrspace(6))
32 ; FIXME: AsmPrinter can't handle 128-bit constants
33 ; FIXME-LABEL: nullptr7:
34 ; FIXME-R600-NEXT: .long 0
35 ; FIXME @nullptr7 = global ptr addrspace(7) addrspacecast (ptr null to ptr addrspace(7))
37 ; FIXME-LABEL: nullptr8:
38 ; FIXME-R600-NEXT: .long 0
39 ; FIXME @nullptr8 = global ptr addrspace(8) addrspacecast (ptr null to ptr addrspace(8))
41 ; CHECK-LABEL: nullptr9:
42 ; R600-NEXT: .long 0
43 @nullptr9 = global ptr addrspace(9) addrspacecast (ptr null to ptr addrspace(9))
45 ; CHECK-LABEL: nullptr10:
46 ; R600-NEXT: .long 0
47 @nullptr10 = global ptr addrspace(10) addrspacecast (ptr null to ptr addrspace(10))
49 ; CHECK-LABEL: nullptr11:
50 ; R600-NEXT: .long 0
51 @nullptr11 = global ptr addrspace(11) addrspacecast (ptr null to ptr addrspace(11))
53 ; CHECK-LABEL: nullptr12:
54 ; R600-NEXT: .long 0
55 @nullptr12 = global ptr addrspace(12) addrspacecast (ptr null to ptr addrspace(12))
57 ; CHECK-LABEL: nullptr13:
58 ; R600-NEXT: .long 0
59 @nullptr13 = global ptr addrspace(13) addrspacecast (ptr null to ptr addrspace(13))
61 ; CHECK-LABEL: nullptr14:
62 ; R600-NEXT: .long 0
63 @nullptr14 = global ptr addrspace(14) addrspacecast (ptr null to ptr addrspace(14))
65 ; CHECK-LABEL: nullptr15:
66 ; R600-NEXT: .long 0
67 @nullptr15 = global ptr addrspace(15) addrspacecast (ptr null to ptr addrspace(15))
69 ; CHECK-LABEL: nullptr16:
70 ; R600-NEXT: .long 0
71 @nullptr16 = global ptr addrspace(16) addrspacecast (ptr null to ptr addrspace(16))
73 ; CHECK-LABEL: nullptr17:
74 ; R600-NEXT: .long 0
75 @nullptr17 = global ptr addrspace(17) addrspacecast (ptr null to ptr addrspace(17))
77 ; CHECK-LABEL: nullptr18:
78 ; R600-NEXT: .long 0
79 @nullptr18 = global ptr addrspace(18) addrspacecast (ptr null to ptr addrspace(18))
81 ; CHECK-LABEL: nullptr19:
82 ; R600-NEXT: .long 0
83 @nullptr19 = global ptr addrspace(19) addrspacecast (ptr null to ptr addrspace(19))
85 ; CHECK-LABEL: nullptr20:
86 ; R600-NEXT: .long 0
87 @nullptr20 = global ptr addrspace(20) addrspacecast (ptr null to ptr addrspace(20))
89 ; CHECK-LABEL: nullptr21:
90 ; R600-NEXT: .long 0
91 @nullptr21 = global ptr addrspace(21) addrspacecast (ptr null to ptr addrspace(21))
93 ; CHECK-LABEL: nullptr22:
94 ; R600-NEXT: .long 0
95 @nullptr22 = global ptr addrspace(22) addrspacecast (ptr null to ptr addrspace(22))
97 ; CHECK-LABEL: nullptr23:
98 ; R600-NEXT: .long 0
99 @nullptr23 = global ptr addrspace(23) addrspacecast (ptr null to ptr addrspace(23))
101 ; CHECK-LABEL: structWithPointers:
102 ; CHECK-NEXT: .long -1
103 ; GCN-NEXT:   .zero 4
104 ; GCN-NEXT:   .quad 0
105 ; R600-NEXT:  .long 0
106 ; GCN-NEXT:   .quad 0
107 ; R600-NEXT:  .long 0
108 ; CHECK-NEXT: .long -1
109 ; GCN-NEXT:   .zero 4
110 ; GCN-NEXT:   .quad 0
111 ; R600-NEXT:  .long 0
112 ; CHECK-NEXT: .long -1
113 ; GCN-NEXT:   .zero 4
114 @structWithPointers = addrspace(1) global %struct.S {
115   ptr addrspace(5) addrspacecast (ptr null to ptr addrspace(5)),
116   ptr addrspace(1) addrspacecast (ptr null to ptr addrspace(1)),
117   ptr addrspace(4) addrspacecast (ptr null to ptr addrspace(4)),
118   ptr addrspace(3) addrspacecast (ptr null to ptr addrspace(3)),
119   ptr null,
120   ptr addrspace(2) addrspacecast (ptr null to ptr addrspace(2))}, align 4