@@ -34,11 +34,11 @@ entry:
3434  %src1.el2  = extractelement  <2  x half > %src1.vec , i64  1 
3535  %src2.el2  = extractelement  <2  x half > %src2.vec , i64  1 
3636
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 
3939  %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 
4242  store  half  %acc2 , ptr  addrspace (1 ) %dst , align  2 
4343  ret  void 
4444}
@@ -101,11 +101,11 @@ entry:
101101  %src2.el2  = extractelement  <2  x half > %src2.vec , i64  1 
102102  %csrc2.el2  = fpext  half  %src2.el2  to  float 
103103
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 
106106  %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 
109109  store  float  %acc2 , ptr  addrspace (1 ) %dst , align  4 
110110  ret  void 
111111}
@@ -172,11 +172,11 @@ entry:
172172  %src2.el2  = extractelement  <2  x half > %src2.vec , i64  1 
173173  %csrc2.el2  = fpext  half  %src2.el2  to  float 
174174
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 
177177  %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 
180180  store  float  %acc2 , ptr  addrspace (1 ) %dst , align  4 
181181  ret  void 
182182}
@@ -239,11 +239,11 @@ entry:
239239  %src2.el2  = extractelement  <4  x half > %src2.vec , i64  1 
240240  %csrc2.el2  = fpext  half  %src2.el2  to  float 
241241
242-   %mul2  = fmul  fast  float  %csrc1.el2 , %csrc2.el2 
242+   %mul2  = fmul  contract  float  %csrc1.el2 , %csrc2.el2 
243243  %mul1  = fmul  float  %csrc1.el1 , %csrc2.el1 
244244  %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 
247247  store  float  %acc2 , ptr  addrspace (1 ) %dst , align  4 
248248  ret  void 
249249}
@@ -304,11 +304,11 @@ entry:
304304  %src2.el2  = extractelement  <2  x half > %src2.vec , i64  1 
305305  %csrc2.el2  = fpext  half  %src2.el2  to  float 
306306
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 
309309  %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 
312312  store  float  %acc2 , ptr  addrspace (1 ) %dst , align  4 
313313  ret  void 
314314}
@@ -370,11 +370,11 @@ entry:
370370  %src2.el2  = extractelement  <2  x half > %src2.vec , i64  1 
371371  %csrc2.el2  = fpext  half  %src2.el2  to  float 
372372
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 
375375  %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 
378378  store  float  %acc2 , ptr  addrspace (1 ) %dst , align  4 
379379  ret  void 
380380}
0 commit comments