@@ -34,11 +34,11 @@ entry:
34
34
%src1.el2 = extractelement <2 x half > %src1.vec , i64 1
35
35
%src2.el2 = extractelement <2 x half > %src2.vec , i64 1
36
36
37
- %mul2 = fmul fast half %src1.el2 , %src2.el2
38
- %mul1 = fmul fast half %src1.el1 , %src2.el1
37
+ %mul2 = fmul contract half %src1.el2 , %src2.el2
38
+ %mul1 = fmul contract half %src1.el1 , %src2.el1
39
39
%acc = load half , ptr addrspace (1 ) %dst , align 2
40
- %acc1 = fadd fast half %mul2 , %acc
41
- %acc2 = fadd fast half %mul1 , %acc1
40
+ %acc1 = fadd contract half %mul2 , %acc
41
+ %acc2 = fadd contract half %mul1 , %acc1
42
42
store half %acc2 , ptr addrspace (1 ) %dst , align 2
43
43
ret void
44
44
}
@@ -101,11 +101,11 @@ entry:
101
101
%src2.el2 = extractelement <2 x half > %src2.vec , i64 1
102
102
%csrc2.el2 = fpext half %src2.el2 to float
103
103
104
- %mul2 = fmul fast float %csrc1.el2 , %csrc2.el2
105
- %mul1 = fmul fast float %csrc1.el1 , %csrc2.el1
104
+ %mul2 = fmul contract float %csrc1.el2 , %csrc2.el2
105
+ %mul1 = fmul contract float %csrc1.el1 , %csrc2.el1
106
106
%acc = load float , ptr addrspace (1 ) %dst , align 4
107
- %acc1 = fadd fast float %mul2 , %acc
108
- %acc2 = fadd fast float %mul1 , %acc1
107
+ %acc1 = fadd contract float %mul2 , %acc
108
+ %acc2 = fadd contract float %mul1 , %acc1
109
109
store float %acc2 , ptr addrspace (1 ) %dst , align 4
110
110
ret void
111
111
}
@@ -172,11 +172,11 @@ entry:
172
172
%src2.el2 = extractelement <2 x half > %src2.vec , i64 1
173
173
%csrc2.el2 = fpext half %src2.el2 to float
174
174
175
- %mul2 = fmul fast float %csrc2.el2 , %csrc1.el2
176
- %mul1 = fmul fast float %csrc1.el1 , %csrc2.el1
175
+ %mul2 = fmul contract float %csrc2.el2 , %csrc1.el2
176
+ %mul1 = fmul contract float %csrc1.el1 , %csrc2.el1
177
177
%acc = load float , ptr addrspace (1 ) %dst , align 4
178
- %acc1 = fadd fast float %mul2 , %acc
179
- %acc2 = fadd fast float %mul1 , %acc1
178
+ %acc1 = fadd contract float %mul2 , %acc
179
+ %acc2 = fadd contract float %mul1 , %acc1
180
180
store float %acc2 , ptr addrspace (1 ) %dst , align 4
181
181
ret void
182
182
}
@@ -239,11 +239,11 @@ entry:
239
239
%src2.el2 = extractelement <4 x half > %src2.vec , i64 1
240
240
%csrc2.el2 = fpext half %src2.el2 to float
241
241
242
- %mul2 = fmul fast float %csrc1.el2 , %csrc2.el2
242
+ %mul2 = fmul contract float %csrc1.el2 , %csrc2.el2
243
243
%mul1 = fmul float %csrc1.el1 , %csrc2.el1
244
244
%acc = load float , ptr addrspace (1 ) %dst , align 4
245
- %acc1 = fadd fast float %mul2 , %acc
246
- %acc2 = fadd fast float %mul1 , %acc1
245
+ %acc1 = fadd contract float %mul2 , %acc
246
+ %acc2 = fadd contract float %mul1 , %acc1
247
247
store float %acc2 , ptr addrspace (1 ) %dst , align 4
248
248
ret void
249
249
}
@@ -304,11 +304,11 @@ entry:
304
304
%src2.el2 = extractelement <2 x half > %src2.vec , i64 1
305
305
%csrc2.el2 = fpext half %src2.el2 to float
306
306
307
- %mul2 = fmul fast float %csrc1.el2 , %csrc1.el1
308
- %mul1 = fmul fast float %csrc2.el1 , %csrc2.el2
307
+ %mul2 = fmul contract float %csrc1.el2 , %csrc1.el1
308
+ %mul1 = fmul contract float %csrc2.el1 , %csrc2.el2
309
309
%acc = load float , ptr addrspace (1 ) %dst , align 4
310
- %acc1 = fadd fast float %mul2 , %acc
311
- %acc2 = fadd fast float %mul1 , %acc1
310
+ %acc1 = fadd contract float %mul2 , %acc
311
+ %acc2 = fadd contract float %mul1 , %acc1
312
312
store float %acc2 , ptr addrspace (1 ) %dst , align 4
313
313
ret void
314
314
}
@@ -370,11 +370,11 @@ entry:
370
370
%src2.el2 = extractelement <2 x half > %src2.vec , i64 1
371
371
%csrc2.el2 = fpext half %src2.el2 to float
372
372
373
- %mul2 = fmul fast float %csrc1.el2 , %csrc2.el1
374
- %mul1 = fmul fast float %csrc1.el1 , %csrc2.el2
373
+ %mul2 = fmul contract float %csrc1.el2 , %csrc2.el1
374
+ %mul1 = fmul contract float %csrc1.el1 , %csrc2.el2
375
375
%acc = load float , ptr addrspace (1 ) %dst , align 4
376
- %acc1 = fadd fast float %mul2 , %acc
377
- %acc2 = fadd fast float %mul1 , %acc1
376
+ %acc1 = fadd contract float %mul2 , %acc
377
+ %acc2 = fadd contract float %mul1 , %acc1
378
378
store float %acc2 , ptr addrspace (1 ) %dst , align 4
379
379
ret void
380
380
}
0 commit comments