@@ -19,9 +19,9 @@ define <2 x half> @nearbyint_v2f16(<2 x half> %v) strictfp {
19
19
; CHECK-NEXT: frflags a0
20
20
; CHECK-NEXT: vfcvt.x.f.v v9, v8, v0.t
21
21
; CHECK-NEXT: vfcvt.f.x.v v9, v9, v0.t
22
- ; CHECK-NEXT: fsflags a0
23
22
; CHECK-NEXT: vsetvli zero, zero, e16, mf4, ta, mu
24
23
; CHECK-NEXT: vfsgnj.vv v8, v9, v8, v0.t
24
+ ; CHECK-NEXT: fsflags a0
25
25
; CHECK-NEXT: ret
26
26
%r = call <2 x half > @llvm.experimental.constrained.nearbyint.v2f16 (<2 x half > %v , metadata !"round.dynamic" , metadata !"fpexcept.strict" )
27
27
ret <2 x half > %r
@@ -42,9 +42,9 @@ define <4 x half> @nearbyint_v4f16(<4 x half> %v) strictfp {
42
42
; CHECK-NEXT: frflags a0
43
43
; CHECK-NEXT: vfcvt.x.f.v v9, v8, v0.t
44
44
; CHECK-NEXT: vfcvt.f.x.v v9, v9, v0.t
45
- ; CHECK-NEXT: fsflags a0
46
45
; CHECK-NEXT: vsetvli zero, zero, e16, mf2, ta, mu
47
46
; CHECK-NEXT: vfsgnj.vv v8, v9, v8, v0.t
47
+ ; CHECK-NEXT: fsflags a0
48
48
; CHECK-NEXT: ret
49
49
%r = call <4 x half > @llvm.experimental.constrained.nearbyint.v4f16 (<4 x half > %v , metadata !"round.dynamic" , metadata !"fpexcept.strict" )
50
50
ret <4 x half > %r
@@ -65,9 +65,9 @@ define <8 x half> @nearbyint_v8f16(<8 x half> %v) strictfp {
65
65
; CHECK-NEXT: frflags a0
66
66
; CHECK-NEXT: vfcvt.x.f.v v9, v8, v0.t
67
67
; CHECK-NEXT: vfcvt.f.x.v v9, v9, v0.t
68
- ; CHECK-NEXT: fsflags a0
69
68
; CHECK-NEXT: vsetvli zero, zero, e16, m1, ta, mu
70
69
; CHECK-NEXT: vfsgnj.vv v8, v9, v8, v0.t
70
+ ; CHECK-NEXT: fsflags a0
71
71
; CHECK-NEXT: ret
72
72
%r = call <8 x half > @llvm.experimental.constrained.nearbyint.v8f16 (<8 x half > %v , metadata !"round.dynamic" , metadata !"fpexcept.strict" )
73
73
ret <8 x half > %r
@@ -88,9 +88,9 @@ define <16 x half> @nearbyint_v16f16(<16 x half> %v) strictfp {
88
88
; CHECK-NEXT: frflags a0
89
89
; CHECK-NEXT: vfcvt.x.f.v v10, v8, v0.t
90
90
; CHECK-NEXT: vfcvt.f.x.v v10, v10, v0.t
91
- ; CHECK-NEXT: fsflags a0
92
91
; CHECK-NEXT: vsetvli zero, zero, e16, m2, ta, mu
93
92
; CHECK-NEXT: vfsgnj.vv v8, v10, v8, v0.t
93
+ ; CHECK-NEXT: fsflags a0
94
94
; CHECK-NEXT: ret
95
95
%r = call <16 x half > @llvm.experimental.constrained.nearbyint.v16f16 (<16 x half > %v , metadata !"round.dynamic" , metadata !"fpexcept.strict" )
96
96
ret <16 x half > %r
@@ -112,9 +112,9 @@ define <32 x half> @nearbyint_v32f16(<32 x half> %v) strictfp {
112
112
; CHECK-NEXT: frflags a0
113
113
; CHECK-NEXT: vfcvt.x.f.v v12, v8, v0.t
114
114
; CHECK-NEXT: vfcvt.f.x.v v12, v12, v0.t
115
- ; CHECK-NEXT: fsflags a0
116
115
; CHECK-NEXT: vsetvli zero, zero, e16, m4, ta, mu
117
116
; CHECK-NEXT: vfsgnj.vv v8, v12, v8, v0.t
117
+ ; CHECK-NEXT: fsflags a0
118
118
; CHECK-NEXT: ret
119
119
%r = call <32 x half > @llvm.experimental.constrained.nearbyint.v32f16 (<32 x half > %v , metadata !"round.dynamic" , metadata !"fpexcept.strict" )
120
120
ret <32 x half > %r
@@ -135,9 +135,9 @@ define <2 x float> @nearbyint_v2f32(<2 x float> %v) strictfp {
135
135
; CHECK-NEXT: frflags a0
136
136
; CHECK-NEXT: vfcvt.x.f.v v9, v8, v0.t
137
137
; CHECK-NEXT: vfcvt.f.x.v v9, v9, v0.t
138
- ; CHECK-NEXT: fsflags a0
139
138
; CHECK-NEXT: vsetvli zero, zero, e32, mf2, ta, mu
140
139
; CHECK-NEXT: vfsgnj.vv v8, v9, v8, v0.t
140
+ ; CHECK-NEXT: fsflags a0
141
141
; CHECK-NEXT: ret
142
142
%r = call <2 x float > @llvm.experimental.constrained.nearbyint.v2f32 (<2 x float > %v , metadata !"round.dynamic" , metadata !"fpexcept.strict" )
143
143
ret <2 x float > %r
@@ -158,9 +158,9 @@ define <4 x float> @nearbyint_v4f32(<4 x float> %v) strictfp {
158
158
; CHECK-NEXT: frflags a0
159
159
; CHECK-NEXT: vfcvt.x.f.v v9, v8, v0.t
160
160
; CHECK-NEXT: vfcvt.f.x.v v9, v9, v0.t
161
- ; CHECK-NEXT: fsflags a0
162
161
; CHECK-NEXT: vsetvli zero, zero, e32, m1, ta, mu
163
162
; CHECK-NEXT: vfsgnj.vv v8, v9, v8, v0.t
163
+ ; CHECK-NEXT: fsflags a0
164
164
; CHECK-NEXT: ret
165
165
%r = call <4 x float > @llvm.experimental.constrained.nearbyint.v4f32 (<4 x float > %v , metadata !"round.dynamic" , metadata !"fpexcept.strict" )
166
166
ret <4 x float > %r
@@ -181,9 +181,9 @@ define <8 x float> @nearbyint_v8f32(<8 x float> %v) strictfp {
181
181
; CHECK-NEXT: frflags a0
182
182
; CHECK-NEXT: vfcvt.x.f.v v10, v8, v0.t
183
183
; CHECK-NEXT: vfcvt.f.x.v v10, v10, v0.t
184
- ; CHECK-NEXT: fsflags a0
185
184
; CHECK-NEXT: vsetvli zero, zero, e32, m2, ta, mu
186
185
; CHECK-NEXT: vfsgnj.vv v8, v10, v8, v0.t
186
+ ; CHECK-NEXT: fsflags a0
187
187
; CHECK-NEXT: ret
188
188
%r = call <8 x float > @llvm.experimental.constrained.nearbyint.v8f32 (<8 x float > %v , metadata !"round.dynamic" , metadata !"fpexcept.strict" )
189
189
ret <8 x float > %r
@@ -204,9 +204,9 @@ define <16 x float> @nearbyint_v16f32(<16 x float> %v) strictfp {
204
204
; CHECK-NEXT: frflags a0
205
205
; CHECK-NEXT: vfcvt.x.f.v v12, v8, v0.t
206
206
; CHECK-NEXT: vfcvt.f.x.v v12, v12, v0.t
207
- ; CHECK-NEXT: fsflags a0
208
207
; CHECK-NEXT: vsetvli zero, zero, e32, m4, ta, mu
209
208
; CHECK-NEXT: vfsgnj.vv v8, v12, v8, v0.t
209
+ ; CHECK-NEXT: fsflags a0
210
210
; CHECK-NEXT: ret
211
211
%r = call <16 x float > @llvm.experimental.constrained.nearbyint.v16f32 (<16 x float > %v , metadata !"round.dynamic" , metadata !"fpexcept.strict" )
212
212
ret <16 x float > %r
@@ -227,9 +227,9 @@ define <2 x double> @nearbyint_v2f64(<2 x double> %v) strictfp {
227
227
; CHECK-NEXT: frflags a0
228
228
; CHECK-NEXT: vfcvt.x.f.v v9, v8, v0.t
229
229
; CHECK-NEXT: vfcvt.f.x.v v9, v9, v0.t
230
- ; CHECK-NEXT: fsflags a0
231
230
; CHECK-NEXT: vsetvli zero, zero, e64, m1, ta, mu
232
231
; CHECK-NEXT: vfsgnj.vv v8, v9, v8, v0.t
232
+ ; CHECK-NEXT: fsflags a0
233
233
; CHECK-NEXT: ret
234
234
%r = call <2 x double > @llvm.experimental.constrained.nearbyint.v2f64 (<2 x double > %v , metadata !"round.dynamic" , metadata !"fpexcept.strict" )
235
235
ret <2 x double > %r
@@ -250,9 +250,9 @@ define <4 x double> @nearbyint_v4f64(<4 x double> %v) strictfp {
250
250
; CHECK-NEXT: frflags a0
251
251
; CHECK-NEXT: vfcvt.x.f.v v10, v8, v0.t
252
252
; CHECK-NEXT: vfcvt.f.x.v v10, v10, v0.t
253
- ; CHECK-NEXT: fsflags a0
254
253
; CHECK-NEXT: vsetvli zero, zero, e64, m2, ta, mu
255
254
; CHECK-NEXT: vfsgnj.vv v8, v10, v8, v0.t
255
+ ; CHECK-NEXT: fsflags a0
256
256
; CHECK-NEXT: ret
257
257
%r = call <4 x double > @llvm.experimental.constrained.nearbyint.v4f64 (<4 x double > %v , metadata !"round.dynamic" , metadata !"fpexcept.strict" )
258
258
ret <4 x double > %r
@@ -273,9 +273,9 @@ define <8 x double> @nearbyint_v8f64(<8 x double> %v) strictfp {
273
273
; CHECK-NEXT: frflags a0
274
274
; CHECK-NEXT: vfcvt.x.f.v v12, v8, v0.t
275
275
; CHECK-NEXT: vfcvt.f.x.v v12, v12, v0.t
276
- ; CHECK-NEXT: fsflags a0
277
276
; CHECK-NEXT: vsetvli zero, zero, e64, m4, ta, mu
278
277
; CHECK-NEXT: vfsgnj.vv v8, v12, v8, v0.t
278
+ ; CHECK-NEXT: fsflags a0
279
279
; CHECK-NEXT: ret
280
280
%r = call <8 x double > @llvm.experimental.constrained.nearbyint.v8f64 (<8 x double > %v , metadata !"round.dynamic" , metadata !"fpexcept.strict" )
281
281
ret <8 x double > %r
0 commit comments