xref: /aosp_15_r20/external/llvm/test/CodeGen/NVPTX/reg-copy.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=nvptx64 -mcpu=sm_35 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-i64:64-v16:16-v32:32-n16:32:64"
4*9880d681SAndroid Build Coastguard Workertarget triple = "nvptx64-unknown-unknown"
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Workerdefine void @PR24303(float* %f) {
7*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: .visible .entry PR24303(
8*9880d681SAndroid Build Coastguard Worker; Do not use mov.f or mov.u to convert between float and int.
9*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: mov.{{f|u}}{{32|64}} %f{{[0-9]+}}, %r{{[0-9]+}}
10*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: mov.{{f|u}}{{32|64}} %r{{[0-9]+}}, %f{{[0-9]+}}
11*9880d681SAndroid Build Coastguard Workerentry:
12*9880d681SAndroid Build Coastguard Worker  %arrayidx1 = getelementptr inbounds float, float* %f, i64 1
13*9880d681SAndroid Build Coastguard Worker  %0 = load float, float* %f, align 4
14*9880d681SAndroid Build Coastguard Worker  %1 = load float, float* %arrayidx1, align 4
15*9880d681SAndroid Build Coastguard Worker  %arrayidx2 = getelementptr inbounds float, float* %f, i64 2
16*9880d681SAndroid Build Coastguard Worker  %arrayidx3 = getelementptr inbounds float, float* %f, i64 3
17*9880d681SAndroid Build Coastguard Worker  %2 = load float, float* %arrayidx2, align 4
18*9880d681SAndroid Build Coastguard Worker  %3 = load float, float* %arrayidx3, align 4
19*9880d681SAndroid Build Coastguard Worker  %mul.i = fmul float %0, %2
20*9880d681SAndroid Build Coastguard Worker  %mul4.i = fmul float %1, %3
21*9880d681SAndroid Build Coastguard Worker  %mul5.i = fmul float %0, %3
22*9880d681SAndroid Build Coastguard Worker  %mul6.i = fmul float %1, %2
23*9880d681SAndroid Build Coastguard Worker  %sub.i = fsub float %mul.i, %mul4.i
24*9880d681SAndroid Build Coastguard Worker  %4 = bitcast float %sub.i to i32
25*9880d681SAndroid Build Coastguard Worker  %add.i = fadd float %mul6.i, %mul5.i
26*9880d681SAndroid Build Coastguard Worker  %5 = bitcast float %add.i to i32
27*9880d681SAndroid Build Coastguard Worker  %6 = tail call float @llvm.nvvm.fabs.f(float %sub.i) #2
28*9880d681SAndroid Build Coastguard Worker  %7 = fcmp ugt float %6, 0x7FF0000000000000
29*9880d681SAndroid Build Coastguard Worker  br i1 %7, label %land.lhs.true.i, label %_ZN12cuda_builtinmlIfEENS_7complexIT_EERKS3_S5_.exit
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Workerland.lhs.true.i:                                  ; preds = %entry
32*9880d681SAndroid Build Coastguard Worker  %8 = tail call float @llvm.nvvm.fabs.f(float %add.i) #2
33*9880d681SAndroid Build Coastguard Worker  %9 = fcmp ugt float %8, 0x7FF0000000000000
34*9880d681SAndroid Build Coastguard Worker  br i1 %9, label %if.then.i, label %_ZN12cuda_builtinmlIfEENS_7complexIT_EERKS3_S5_.exit
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Workerif.then.i:                                        ; preds = %land.lhs.true.i
37*9880d681SAndroid Build Coastguard Worker  %10 = tail call float @llvm.nvvm.fabs.f(float %0) #2
38*9880d681SAndroid Build Coastguard Worker  %11 = fcmp oeq float %10, 0x7FF0000000000000
39*9880d681SAndroid Build Coastguard Worker  %.pre.i = tail call float @llvm.nvvm.fabs.f(float %1) #2
40*9880d681SAndroid Build Coastguard Worker  %12 = fcmp oeq float %.pre.i, 0x7FF0000000000000
41*9880d681SAndroid Build Coastguard Worker  %or.cond.i = or i1 %11, %12
42*9880d681SAndroid Build Coastguard Worker  br i1 %or.cond.i, label %if.then.14.i, label %if.end.31.i
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Workerif.then.14.i:                                     ; preds = %if.then.i
45*9880d681SAndroid Build Coastguard Worker  %13 = bitcast float %0 to i32
46*9880d681SAndroid Build Coastguard Worker  %14 = and i32 %13, -2147483648
47*9880d681SAndroid Build Coastguard Worker  %15 = select i1 %11, i32 1065353216, i32 0
48*9880d681SAndroid Build Coastguard Worker  %16 = or i32 %15, %14
49*9880d681SAndroid Build Coastguard Worker  %17 = bitcast i32 %16 to float
50*9880d681SAndroid Build Coastguard Worker  %18 = bitcast float %1 to i32
51*9880d681SAndroid Build Coastguard Worker  %19 = and i32 %18, -2147483648
52*9880d681SAndroid Build Coastguard Worker  %20 = select i1 %12, i32 1065353216, i32 0
53*9880d681SAndroid Build Coastguard Worker  %21 = or i32 %20, %19
54*9880d681SAndroid Build Coastguard Worker  %22 = bitcast i32 %21 to float
55*9880d681SAndroid Build Coastguard Worker  %23 = tail call float @llvm.nvvm.fabs.f(float %2) #2
56*9880d681SAndroid Build Coastguard Worker  %24 = fcmp ugt float %23, 0x7FF0000000000000
57*9880d681SAndroid Build Coastguard Worker  br i1 %24, label %if.then.24.i, label %if.end.i
58*9880d681SAndroid Build Coastguard Worker
59*9880d681SAndroid Build Coastguard Workerif.then.24.i:                                     ; preds = %if.then.14.i
60*9880d681SAndroid Build Coastguard Worker  %25 = bitcast float %2 to i32
61*9880d681SAndroid Build Coastguard Worker  %26 = and i32 %25, -2147483648
62*9880d681SAndroid Build Coastguard Worker  %27 = bitcast i32 %26 to float
63*9880d681SAndroid Build Coastguard Worker  br label %if.end.i
64*9880d681SAndroid Build Coastguard Worker
65*9880d681SAndroid Build Coastguard Workerif.end.i:                                         ; preds = %if.then.24.i, %if.then.14.i
66*9880d681SAndroid Build Coastguard Worker  %__c.0.i = phi float [ %27, %if.then.24.i ], [ %2, %if.then.14.i ]
67*9880d681SAndroid Build Coastguard Worker  %28 = tail call float @llvm.nvvm.fabs.f(float %3) #2
68*9880d681SAndroid Build Coastguard Worker  %29 = fcmp ugt float %28, 0x7FF0000000000000
69*9880d681SAndroid Build Coastguard Worker  br i1 %29, label %if.then.28.i, label %if.end.31.i
70*9880d681SAndroid Build Coastguard Worker
71*9880d681SAndroid Build Coastguard Workerif.then.28.i:                                     ; preds = %if.end.i
72*9880d681SAndroid Build Coastguard Worker  %30 = bitcast float %3 to i32
73*9880d681SAndroid Build Coastguard Worker  %31 = and i32 %30, -2147483648
74*9880d681SAndroid Build Coastguard Worker  %32 = bitcast i32 %31 to float
75*9880d681SAndroid Build Coastguard Worker  br label %if.end.31.i
76*9880d681SAndroid Build Coastguard Worker
77*9880d681SAndroid Build Coastguard Workerif.end.31.i:                                      ; preds = %if.then.28.i, %if.end.i, %if.then.i
78*9880d681SAndroid Build Coastguard Worker  %__d.1.i = phi float [ %32, %if.then.28.i ], [ %3, %if.end.i ], [ %3, %if.then.i ]
79*9880d681SAndroid Build Coastguard Worker  %__c.1.i = phi float [ %__c.0.i, %if.then.28.i ], [ %__c.0.i, %if.end.i ], [ %2, %if.then.i ]
80*9880d681SAndroid Build Coastguard Worker  %__b.0.i = phi float [ %22, %if.then.28.i ], [ %22, %if.end.i ], [ %1, %if.then.i ]
81*9880d681SAndroid Build Coastguard Worker  %__a.0.i = phi float [ %17, %if.then.28.i ], [ %17, %if.end.i ], [ %0, %if.then.i ]
82*9880d681SAndroid Build Coastguard Worker  %__recalc.0.off0.i = phi i1 [ true, %if.then.28.i ], [ true, %if.end.i ], [ false, %if.then.i ]
83*9880d681SAndroid Build Coastguard Worker  %33 = tail call float @llvm.nvvm.fabs.f(float %__c.1.i) #2
84*9880d681SAndroid Build Coastguard Worker  %34 = fcmp oeq float %33, 0x7FF0000000000000
85*9880d681SAndroid Build Coastguard Worker  %.pre6.i = tail call float @llvm.nvvm.fabs.f(float %__d.1.i) #2
86*9880d681SAndroid Build Coastguard Worker  %35 = fcmp oeq float %.pre6.i, 0x7FF0000000000000
87*9880d681SAndroid Build Coastguard Worker  %or.cond8.i = or i1 %34, %35
88*9880d681SAndroid Build Coastguard Worker  br i1 %or.cond8.i, label %if.then.37.i, label %if.end.56.i
89*9880d681SAndroid Build Coastguard Worker
90*9880d681SAndroid Build Coastguard Workerif.then.37.i:                                     ; preds = %if.end.31.i
91*9880d681SAndroid Build Coastguard Worker  %36 = bitcast float %__c.1.i to i32
92*9880d681SAndroid Build Coastguard Worker  %37 = and i32 %36, -2147483648
93*9880d681SAndroid Build Coastguard Worker  %38 = select i1 %34, i32 1065353216, i32 0
94*9880d681SAndroid Build Coastguard Worker  %39 = or i32 %38, %37
95*9880d681SAndroid Build Coastguard Worker  %40 = bitcast i32 %39 to float
96*9880d681SAndroid Build Coastguard Worker  %41 = bitcast float %__d.1.i to i32
97*9880d681SAndroid Build Coastguard Worker  %42 = and i32 %41, -2147483648
98*9880d681SAndroid Build Coastguard Worker  %43 = select i1 %35, i32 1065353216, i32 0
99*9880d681SAndroid Build Coastguard Worker  %44 = or i32 %43, %42
100*9880d681SAndroid Build Coastguard Worker  %45 = bitcast i32 %44 to float
101*9880d681SAndroid Build Coastguard Worker  %46 = tail call float @llvm.nvvm.fabs.f(float %__a.0.i) #2
102*9880d681SAndroid Build Coastguard Worker  %47 = fcmp ugt float %46, 0x7FF0000000000000
103*9880d681SAndroid Build Coastguard Worker  br i1 %47, label %if.then.48.i, label %if.end.50.i
104*9880d681SAndroid Build Coastguard Worker
105*9880d681SAndroid Build Coastguard Workerif.then.48.i:                                     ; preds = %if.then.37.i
106*9880d681SAndroid Build Coastguard Worker  %48 = bitcast float %__a.0.i to i32
107*9880d681SAndroid Build Coastguard Worker  %49 = and i32 %48, -2147483648
108*9880d681SAndroid Build Coastguard Worker  %50 = bitcast i32 %49 to float
109*9880d681SAndroid Build Coastguard Worker  br label %if.end.50.i
110*9880d681SAndroid Build Coastguard Worker
111*9880d681SAndroid Build Coastguard Workerif.end.50.i:                                      ; preds = %if.then.48.i, %if.then.37.i
112*9880d681SAndroid Build Coastguard Worker  %__a.1.i = phi float [ %50, %if.then.48.i ], [ %__a.0.i, %if.then.37.i ]
113*9880d681SAndroid Build Coastguard Worker  %51 = tail call float @llvm.nvvm.fabs.f(float %__b.0.i) #2
114*9880d681SAndroid Build Coastguard Worker  %52 = fcmp ugt float %51, 0x7FF0000000000000
115*9880d681SAndroid Build Coastguard Worker  br i1 %52, label %if.then.53.i, label %if.then.93.i
116*9880d681SAndroid Build Coastguard Worker
117*9880d681SAndroid Build Coastguard Workerif.then.53.i:                                     ; preds = %if.end.50.i
118*9880d681SAndroid Build Coastguard Worker  %53 = bitcast float %__b.0.i to i32
119*9880d681SAndroid Build Coastguard Worker  %54 = and i32 %53, -2147483648
120*9880d681SAndroid Build Coastguard Worker  %55 = bitcast i32 %54 to float
121*9880d681SAndroid Build Coastguard Worker  br label %if.then.93.i
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Workerif.end.56.i:                                      ; preds = %if.end.31.i
124*9880d681SAndroid Build Coastguard Worker  br i1 %__recalc.0.off0.i, label %if.then.93.i, label %land.lhs.true.58.i
125*9880d681SAndroid Build Coastguard Worker
126*9880d681SAndroid Build Coastguard Workerland.lhs.true.58.i:                               ; preds = %if.end.56.i
127*9880d681SAndroid Build Coastguard Worker  %56 = tail call float @llvm.nvvm.fabs.f(float %mul.i) #2
128*9880d681SAndroid Build Coastguard Worker  %57 = fcmp oeq float %56, 0x7FF0000000000000
129*9880d681SAndroid Build Coastguard Worker  br i1 %57, label %if.then.70.i, label %lor.lhs.false.61.i
130*9880d681SAndroid Build Coastguard Worker
131*9880d681SAndroid Build Coastguard Workerlor.lhs.false.61.i:                               ; preds = %land.lhs.true.58.i
132*9880d681SAndroid Build Coastguard Worker  %58 = tail call float @llvm.nvvm.fabs.f(float %mul4.i) #2
133*9880d681SAndroid Build Coastguard Worker  %59 = fcmp oeq float %58, 0x7FF0000000000000
134*9880d681SAndroid Build Coastguard Worker  br i1 %59, label %if.then.70.i, label %lor.lhs.false.64.i
135*9880d681SAndroid Build Coastguard Worker
136*9880d681SAndroid Build Coastguard Workerlor.lhs.false.64.i:                               ; preds = %lor.lhs.false.61.i
137*9880d681SAndroid Build Coastguard Worker  %60 = tail call float @llvm.nvvm.fabs.f(float %mul5.i) #2
138*9880d681SAndroid Build Coastguard Worker  %61 = fcmp oeq float %60, 0x7FF0000000000000
139*9880d681SAndroid Build Coastguard Worker  br i1 %61, label %if.then.70.i, label %lor.lhs.false.67.i
140*9880d681SAndroid Build Coastguard Worker
141*9880d681SAndroid Build Coastguard Workerlor.lhs.false.67.i:                               ; preds = %lor.lhs.false.64.i
142*9880d681SAndroid Build Coastguard Worker  %62 = tail call float @llvm.nvvm.fabs.f(float %mul6.i) #2
143*9880d681SAndroid Build Coastguard Worker  %63 = fcmp oeq float %62, 0x7FF0000000000000
144*9880d681SAndroid Build Coastguard Worker  br i1 %63, label %if.then.70.i, label %_ZN12cuda_builtinmlIfEENS_7complexIT_EERKS3_S5_.exit
145*9880d681SAndroid Build Coastguard Worker
146*9880d681SAndroid Build Coastguard Workerif.then.70.i:                                     ; preds = %lor.lhs.false.67.i, %lor.lhs.false.64.i, %lor.lhs.false.61.i, %land.lhs.true.58.i
147*9880d681SAndroid Build Coastguard Worker  %64 = tail call float @llvm.nvvm.fabs.f(float %__a.0.i) #2
148*9880d681SAndroid Build Coastguard Worker  %65 = fcmp ugt float %64, 0x7FF0000000000000
149*9880d681SAndroid Build Coastguard Worker  br i1 %65, label %if.then.73.i, label %if.end.75.i
150*9880d681SAndroid Build Coastguard Worker
151*9880d681SAndroid Build Coastguard Workerif.then.73.i:                                     ; preds = %if.then.70.i
152*9880d681SAndroid Build Coastguard Worker  %66 = bitcast float %__a.0.i to i32
153*9880d681SAndroid Build Coastguard Worker  %67 = and i32 %66, -2147483648
154*9880d681SAndroid Build Coastguard Worker  %68 = bitcast i32 %67 to float
155*9880d681SAndroid Build Coastguard Worker  br label %if.end.75.i
156*9880d681SAndroid Build Coastguard Worker
157*9880d681SAndroid Build Coastguard Workerif.end.75.i:                                      ; preds = %if.then.73.i, %if.then.70.i
158*9880d681SAndroid Build Coastguard Worker  %__a.3.i = phi float [ %68, %if.then.73.i ], [ %__a.0.i, %if.then.70.i ]
159*9880d681SAndroid Build Coastguard Worker  %69 = tail call float @llvm.nvvm.fabs.f(float %__b.0.i) #2
160*9880d681SAndroid Build Coastguard Worker  %70 = fcmp ugt float %69, 0x7FF0000000000000
161*9880d681SAndroid Build Coastguard Worker  br i1 %70, label %if.then.78.i, label %if.end.80.i
162*9880d681SAndroid Build Coastguard Worker
163*9880d681SAndroid Build Coastguard Workerif.then.78.i:                                     ; preds = %if.end.75.i
164*9880d681SAndroid Build Coastguard Worker  %71 = bitcast float %__b.0.i to i32
165*9880d681SAndroid Build Coastguard Worker  %72 = and i32 %71, -2147483648
166*9880d681SAndroid Build Coastguard Worker  %73 = bitcast i32 %72 to float
167*9880d681SAndroid Build Coastguard Worker  br label %if.end.80.i
168*9880d681SAndroid Build Coastguard Worker
169*9880d681SAndroid Build Coastguard Workerif.end.80.i:                                      ; preds = %if.then.78.i, %if.end.75.i
170*9880d681SAndroid Build Coastguard Worker  %__b.3.i = phi float [ %73, %if.then.78.i ], [ %__b.0.i, %if.end.75.i ]
171*9880d681SAndroid Build Coastguard Worker  %74 = fcmp ugt float %33, 0x7FF0000000000000
172*9880d681SAndroid Build Coastguard Worker  br i1 %74, label %if.then.83.i, label %if.end.85.i
173*9880d681SAndroid Build Coastguard Worker
174*9880d681SAndroid Build Coastguard Workerif.then.83.i:                                     ; preds = %if.end.80.i
175*9880d681SAndroid Build Coastguard Worker  %75 = bitcast float %__c.1.i to i32
176*9880d681SAndroid Build Coastguard Worker  %76 = and i32 %75, -2147483648
177*9880d681SAndroid Build Coastguard Worker  %77 = bitcast i32 %76 to float
178*9880d681SAndroid Build Coastguard Worker  br label %if.end.85.i
179*9880d681SAndroid Build Coastguard Worker
180*9880d681SAndroid Build Coastguard Workerif.end.85.i:                                      ; preds = %if.then.83.i, %if.end.80.i
181*9880d681SAndroid Build Coastguard Worker  %__c.3.i = phi float [ %77, %if.then.83.i ], [ %__c.1.i, %if.end.80.i ]
182*9880d681SAndroid Build Coastguard Worker  %78 = fcmp ugt float %.pre6.i, 0x7FF0000000000000
183*9880d681SAndroid Build Coastguard Worker  br i1 %78, label %if.then.88.i, label %if.then.93.i
184*9880d681SAndroid Build Coastguard Worker
185*9880d681SAndroid Build Coastguard Workerif.then.88.i:                                     ; preds = %if.end.85.i
186*9880d681SAndroid Build Coastguard Worker  %79 = bitcast float %__d.1.i to i32
187*9880d681SAndroid Build Coastguard Worker  %80 = and i32 %79, -2147483648
188*9880d681SAndroid Build Coastguard Worker  %81 = bitcast i32 %80 to float
189*9880d681SAndroid Build Coastguard Worker  br label %if.then.93.i
190*9880d681SAndroid Build Coastguard Worker
191*9880d681SAndroid Build Coastguard Workerif.then.93.i:                                     ; preds = %if.then.88.i, %if.end.85.i, %if.end.56.i, %if.then.53.i, %if.end.50.i
192*9880d681SAndroid Build Coastguard Worker  %__d.4.ph.i = phi float [ %__d.1.i, %if.end.85.i ], [ %81, %if.then.88.i ], [ %__d.1.i, %if.end.56.i ], [ %45, %if.end.50.i ], [ %45, %if.then.53.i ]
193*9880d681SAndroid Build Coastguard Worker  %__c.4.ph.i = phi float [ %__c.3.i, %if.end.85.i ], [ %__c.3.i, %if.then.88.i ], [ %__c.1.i, %if.end.56.i ], [ %40, %if.end.50.i ], [ %40, %if.then.53.i ]
194*9880d681SAndroid Build Coastguard Worker  %__b.4.ph.i = phi float [ %__b.3.i, %if.end.85.i ], [ %__b.3.i, %if.then.88.i ], [ %__b.0.i, %if.end.56.i ], [ %__b.0.i, %if.end.50.i ], [ %55, %if.then.53.i ]
195*9880d681SAndroid Build Coastguard Worker  %__a.4.ph.i = phi float [ %__a.3.i, %if.end.85.i ], [ %__a.3.i, %if.then.88.i ], [ %__a.0.i, %if.end.56.i ], [ %__a.1.i, %if.end.50.i ], [ %__a.1.i, %if.then.53.i ]
196*9880d681SAndroid Build Coastguard Worker  %mul95.i = fmul float %__c.4.ph.i, %__a.4.ph.i
197*9880d681SAndroid Build Coastguard Worker  %mul96.i = fmul float %__d.4.ph.i, %__b.4.ph.i
198*9880d681SAndroid Build Coastguard Worker  %sub97.i = fsub float %mul95.i, %mul96.i
199*9880d681SAndroid Build Coastguard Worker  %mul98.i = fmul float %sub97.i, 0x7FF0000000000000
200*9880d681SAndroid Build Coastguard Worker  %82 = bitcast float %mul98.i to i32
201*9880d681SAndroid Build Coastguard Worker  %mul100.i = fmul float %__d.4.ph.i, %__a.4.ph.i
202*9880d681SAndroid Build Coastguard Worker  %mul101.i = fmul float %__c.4.ph.i, %__b.4.ph.i
203*9880d681SAndroid Build Coastguard Worker  %add102.i = fadd float %mul101.i, %mul100.i
204*9880d681SAndroid Build Coastguard Worker  %mul103.i = fmul float %add102.i, 0x7FF0000000000000
205*9880d681SAndroid Build Coastguard Worker  %83 = bitcast float %mul103.i to i32
206*9880d681SAndroid Build Coastguard Worker  br label %_ZN12cuda_builtinmlIfEENS_7complexIT_EERKS3_S5_.exit
207*9880d681SAndroid Build Coastguard Worker
208*9880d681SAndroid Build Coastguard Worker_ZN12cuda_builtinmlIfEENS_7complexIT_EERKS3_S5_.exit: ; preds = %if.then.93.i, %lor.lhs.false.67.i, %land.lhs.true.i, %entry
209*9880d681SAndroid Build Coastguard Worker  %84 = phi i32 [ %4, %land.lhs.true.i ], [ %4, %entry ], [ %82, %if.then.93.i ], [ %4, %lor.lhs.false.67.i ]
210*9880d681SAndroid Build Coastguard Worker  %85 = phi i32 [ %5, %land.lhs.true.i ], [ %5, %entry ], [ %83, %if.then.93.i ], [ %5, %lor.lhs.false.67.i ]
211*9880d681SAndroid Build Coastguard Worker  %arrayidx5 = getelementptr inbounds float, float* %f, i64 5
212*9880d681SAndroid Build Coastguard Worker  %86 = bitcast float* %arrayidx5 to i32*
213*9880d681SAndroid Build Coastguard Worker  store i32 %84, i32* %86, align 4
214*9880d681SAndroid Build Coastguard Worker  %arrayidx7 = getelementptr inbounds float, float* %f, i64 6
215*9880d681SAndroid Build Coastguard Worker  %87 = bitcast float* %arrayidx7 to i32*
216*9880d681SAndroid Build Coastguard Worker  store i32 %85, i32* %87, align 4
217*9880d681SAndroid Build Coastguard Worker  ret void
218*9880d681SAndroid Build Coastguard Worker}
219*9880d681SAndroid Build Coastguard Worker
220*9880d681SAndroid Build Coastguard Workerdeclare float @llvm.nvvm.fabs.f(float)
221*9880d681SAndroid Build Coastguard Worker
222*9880d681SAndroid Build Coastguard Worker!nvvm.annotations = !{!0}
223*9880d681SAndroid Build Coastguard Worker
224*9880d681SAndroid Build Coastguard Worker!0 = !{void (float*)* @PR24303, !"kernel", i32 1}
225