@@ -12,140 +12,140 @@ define half @ret_log_f16(half %arg) #1 {
1212}
1313
1414define float @ret_log_f32 (float %arg ) #1 {
15- ; CHECK-LABEL: define float @ret_log_f32(
15+ ; CHECK-LABEL: define nofpclass(sub) float @ret_log_f32(
1616; CHECK-SAME: float [[ARG:%.*]]) #[[ATTR0]] {
17- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float [[ARG]]) #[[ATTR7]]
17+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(sub) float @llvm.amdgcn.log.f32(float [[ARG]]) #[[ATTR7]]
1818; CHECK-NEXT: ret float [[CALL]]
1919;
2020 %call = call float @llvm.amdgcn.log.f32 (float %arg )
2121 ret float %call
2222}
2323
2424define float @ret_log_noinf (float nofpclass(inf) %arg ) #1 {
25- ; CHECK-LABEL: define float @ret_log_noinf(
25+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_noinf(
2626; CHECK-SAME: float nofpclass(inf) [[ARG:%.*]]) #[[ATTR0]] {
27- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf) [[ARG]]) #[[ATTR7]]
27+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf) [[ARG]]) #[[ATTR7]]
2828; CHECK-NEXT: ret float [[CALL]]
2929;
3030 %call = call float @llvm.amdgcn.log.f32 (float %arg )
3131 ret float %call
3232}
3333
3434define float @ret_log_noneg (float nofpclass(ninf nsub nnorm) %arg ) #1 {
35- ; CHECK-LABEL: define float @ret_log_noneg(
35+ ; CHECK-LABEL: define nofpclass(sub) float @ret_log_noneg(
3636; CHECK-SAME: float nofpclass(ninf nsub nnorm) [[ARG:%.*]]) #[[ATTR0]] {
37- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(ninf nsub nnorm) [[ARG]]) #[[ATTR7]]
37+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(sub) float @llvm.amdgcn.log.f32(float nofpclass(ninf nsub nnorm) [[ARG]]) #[[ATTR7]]
3838; CHECK-NEXT: ret float [[CALL]]
3939;
4040 %call = call float @llvm.amdgcn.log.f32 (float %arg )
4141 ret float %call
4242}
4343
4444define float @ret_log_noneg_nonan (float nofpclass(nan ninf nsub nnorm) %arg ) #1 {
45- ; CHECK-LABEL: define float @ret_log_noneg_nonan(
45+ ; CHECK-LABEL: define nofpclass(nan sub) float @ret_log_noneg_nonan(
4646; CHECK-SAME: float nofpclass(nan ninf nsub nnorm) [[ARG:%.*]]) #[[ATTR0]] {
47- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(nan ninf nsub nnorm) [[ARG]]) #[[ATTR7]]
47+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(nan sub) float @llvm.amdgcn.log.f32(float nofpclass(nan ninf nsub nnorm) [[ARG]]) #[[ATTR7]]
4848; CHECK-NEXT: ret float [[CALL]]
4949;
5050 %call = call float @llvm.amdgcn.log.f32 (float %arg )
5151 ret float %call
5252}
5353
5454define float @ret_log_noinf_noneg (float nofpclass(inf nsub nnorm) %arg ) #1 {
55- ; CHECK-LABEL: define float @ret_log_noinf_noneg(
55+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_noinf_noneg(
5656; CHECK-SAME: float nofpclass(inf nsub nnorm) [[ARG:%.*]]) #[[ATTR0]] {
57- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf nsub nnorm) [[ARG]]) #[[ATTR7]]
57+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf nsub nnorm) [[ARG]]) #[[ATTR7]]
5858; CHECK-NEXT: ret float [[CALL]]
5959;
6060 %call = call float @llvm.amdgcn.log.f32 (float %arg )
6161 ret float %call
6262}
6363
6464define float @ret_log_noinf_noneg_nonan (float nofpclass(nan inf nsub nnorm) %arg ) #1 {
65- ; CHECK-LABEL: define float @ret_log_noinf_noneg_nonan(
65+ ; CHECK-LABEL: define nofpclass(nan pinf sub) float @ret_log_noinf_noneg_nonan(
6666; CHECK-SAME: float nofpclass(nan inf nsub nnorm) [[ARG:%.*]]) #[[ATTR0]] {
67- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(nan inf nsub nnorm) [[ARG]]) #[[ATTR7]]
67+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(nan pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(nan inf nsub nnorm) [[ARG]]) #[[ATTR7]]
6868; CHECK-NEXT: ret float [[CALL]]
6969;
7070 %call = call float @llvm.amdgcn.log.f32 (float %arg )
7171 ret float %call
7272}
7373
7474define float @ret_log_nopinf (float nofpclass(pinf) %arg ) #1 {
75- ; CHECK-LABEL: define float @ret_log_nopinf(
75+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_nopinf(
7676; CHECK-SAME: float nofpclass(pinf) [[ARG:%.*]]) #[[ATTR0]] {
77- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(pinf) [[ARG]]) #[[ATTR7]]
77+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(pinf) [[ARG]]) #[[ATTR7]]
7878; CHECK-NEXT: ret float [[CALL]]
7979;
8080 %call = call float @llvm.amdgcn.log.f32 (float %arg )
8181 ret float %call
8282}
8383
8484define float @ret_log_noninf (float nofpclass(ninf) %arg ) #1 {
85- ; CHECK-LABEL: define float @ret_log_noninf(
85+ ; CHECK-LABEL: define nofpclass(sub) float @ret_log_noninf(
8686; CHECK-SAME: float nofpclass(ninf) [[ARG:%.*]]) #[[ATTR0]] {
87- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(ninf) [[ARG]]) #[[ATTR7]]
87+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(sub) float @llvm.amdgcn.log.f32(float nofpclass(ninf) [[ARG]]) #[[ATTR7]]
8888; CHECK-NEXT: ret float [[CALL]]
8989;
9090 %call = call float @llvm.amdgcn.log.f32 (float %arg )
9191 ret float %call
9292}
9393
9494define float @ret_log_nonan (float nofpclass(nan) %arg ) #1 {
95- ; CHECK-LABEL: define float @ret_log_nonan(
95+ ; CHECK-LABEL: define nofpclass(sub) float @ret_log_nonan(
9696; CHECK-SAME: float nofpclass(nan) [[ARG:%.*]]) #[[ATTR0]] {
97- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(nan) [[ARG]]) #[[ATTR7]]
97+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(sub) float @llvm.amdgcn.log.f32(float nofpclass(nan) [[ARG]]) #[[ATTR7]]
9898; CHECK-NEXT: ret float [[CALL]]
9999;
100100 %call = call float @llvm.amdgcn.log.f32 (float %arg )
101101 ret float %call
102102}
103103
104104define float @ret_log_nonan_noinf (float nofpclass(nan inf) %arg ) #1 {
105- ; CHECK-LABEL: define float @ret_log_nonan_noinf(
105+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_nonan_noinf(
106106; CHECK-SAME: float nofpclass(nan inf) [[ARG:%.*]]) #[[ATTR0]] {
107- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(nan inf) [[ARG]]) #[[ATTR7]]
107+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(nan inf) [[ARG]]) #[[ATTR7]]
108108; CHECK-NEXT: ret float [[CALL]]
109109;
110110 %call = call float @llvm.amdgcn.log.f32 (float %arg )
111111 ret float %call
112112}
113113
114114define float @ret_log_nonan_noinf_nozero (float nofpclass(nan inf zero) %arg ) #1 {
115- ; CHECK-LABEL: define float @ret_log_nonan_noinf_nozero(
115+ ; CHECK-LABEL: define nofpclass(inf sub) float @ret_log_nonan_noinf_nozero(
116116; CHECK-SAME: float nofpclass(nan inf zero) [[ARG:%.*]]) #[[ATTR0]] {
117- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(nan inf zero) [[ARG]]) #[[ATTR7]]
117+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(inf sub) float @llvm.amdgcn.log.f32(float nofpclass(nan inf zero) [[ARG]]) #[[ATTR7]]
118118; CHECK-NEXT: ret float [[CALL]]
119119;
120120 %call = call float @llvm.amdgcn.log.f32 (float %arg )
121121 ret float %call
122122}
123123
124124define float @ret_log_noinf_nozero (float nofpclass(inf zero) %arg ) #1 {
125- ; CHECK-LABEL: define float @ret_log_noinf_nozero(
125+ ; CHECK-LABEL: define nofpclass(inf sub) float @ret_log_noinf_nozero(
126126; CHECK-SAME: float nofpclass(inf zero) [[ARG:%.*]]) #[[ATTR0]] {
127- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf zero) [[ARG]]) #[[ATTR7]]
127+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(inf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf zero) [[ARG]]) #[[ATTR7]]
128128; CHECK-NEXT: ret float [[CALL]]
129129;
130130 %call = call float @llvm.amdgcn.log.f32 (float %arg )
131131 ret float %call
132132}
133133
134134define float @ret_log_noinf_nonegzero (float nofpclass(inf nzero) %arg ) #1 {
135- ; CHECK-LABEL: define float @ret_log_noinf_nonegzero(
135+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_noinf_nonegzero(
136136; CHECK-SAME: float nofpclass(inf nzero) [[ARG:%.*]]) #[[ATTR0]] {
137- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf nzero) [[ARG]]) #[[ATTR7]]
137+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf nzero) [[ARG]]) #[[ATTR7]]
138138; CHECK-NEXT: ret float [[CALL]]
139139;
140140 %call = call float @llvm.amdgcn.log.f32 (float %arg )
141141 ret float %call
142142}
143143
144144define float @ret_log_positive_source (i32 %arg ) #1 {
145- ; CHECK-LABEL: define float @ret_log_positive_source(
145+ ; CHECK-LABEL: define nofpclass(nan pinf sub) float @ret_log_positive_source(
146146; CHECK-SAME: i32 [[ARG:%.*]]) #[[ATTR0]] {
147147; CHECK-NEXT: [[UITOFP:%.*]] = uitofp i32 [[ARG]] to float
148- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float [[UITOFP]]) #[[ATTR7]]
148+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(nan pinf sub) float @llvm.amdgcn.log.f32(float [[UITOFP]]) #[[ATTR7]]
149149; CHECK-NEXT: ret float [[CALL]]
150150;
151151 %uitofp = uitofp i32 %arg to float
@@ -154,10 +154,10 @@ define float @ret_log_positive_source(i32 %arg) #1 {
154154}
155155
156156define float @ret_log_unknown_sign (float nofpclass(nan) %arg , float nofpclass(nan) %arg1 ) #1 {
157- ; CHECK-LABEL: define float @ret_log_unknown_sign(
157+ ; CHECK-LABEL: define nofpclass(sub) float @ret_log_unknown_sign(
158158; CHECK-SAME: float nofpclass(nan) [[ARG:%.*]], float nofpclass(nan) [[ARG1:%.*]]) #[[ATTR0]] {
159159; CHECK-NEXT: [[UNKNOWN_SIGN_NOT_NAN:%.*]] = fmul nnan float [[ARG]], [[ARG1]]
160- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float [[UNKNOWN_SIGN_NOT_NAN]]) #[[ATTR7]]
160+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(sub) float @llvm.amdgcn.log.f32(float [[UNKNOWN_SIGN_NOT_NAN]]) #[[ATTR7]]
161161; CHECK-NEXT: ret float [[CALL]]
162162;
163163 %unknown.sign.not.nan = fmul nnan float %arg , %arg1
@@ -166,9 +166,9 @@ define float @ret_log_unknown_sign(float nofpclass(nan) %arg, float nofpclass(na
166166}
167167
168168define float @ret_log_daz_noinf_nozero (float nofpclass(inf zero) %arg ) #2 {
169- ; CHECK-LABEL: define float @ret_log_daz_noinf_nozero(
169+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_daz_noinf_nozero(
170170; CHECK-SAME: float nofpclass(inf zero) [[ARG:%.*]]) #[[ATTR1:[0-9]+]] {
171- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf zero) [[ARG]]) #[[ATTR7]]
171+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf zero) [[ARG]]) #[[ATTR7]]
172172; CHECK-NEXT: ret float [[CALL]]
173173;
174174 %call = call float @llvm.amdgcn.log.f32 (float %arg )
@@ -186,79 +186,79 @@ define <2 x float> @ret_log_daz_noinf_nozero_v2f32(<2 x float> nofpclass(inf zer
186186}
187187
188188define float @ret_log_daz_noinf_nonegzero (float nofpclass(inf nzero) %arg ) #2 {
189- ; CHECK-LABEL: define float @ret_log_daz_noinf_nonegzero(
189+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_daz_noinf_nonegzero(
190190; CHECK-SAME: float nofpclass(inf nzero) [[ARG:%.*]]) #[[ATTR1]] {
191- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf nzero) [[ARG]]) #[[ATTR7]]
191+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf nzero) [[ARG]]) #[[ATTR7]]
192192; CHECK-NEXT: ret float [[CALL]]
193193;
194194 %call = call float @llvm.amdgcn.log.f32 (float %arg )
195195 ret float %call
196196}
197197
198198define float @ret_log_dynamic_noinf_nozero (float nofpclass(inf zero) %arg ) #3 {
199- ; CHECK-LABEL: define float @ret_log_dynamic_noinf_nozero(
199+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_dynamic_noinf_nozero(
200200; CHECK-SAME: float nofpclass(inf zero) [[ARG:%.*]]) #[[ATTR2:[0-9]+]] {
201- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf zero) [[ARG]]) #[[ATTR7]]
201+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf zero) [[ARG]]) #[[ATTR7]]
202202; CHECK-NEXT: ret float [[CALL]]
203203;
204204 %call = call float @llvm.amdgcn.log.f32 (float %arg )
205205 ret float %call
206206}
207207
208208define float @ret_log_dynamic_noinf_nonegzero (float nofpclass(inf nzero) %arg ) #3 {
209- ; CHECK-LABEL: define float @ret_log_dynamic_noinf_nonegzero(
209+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_dynamic_noinf_nonegzero(
210210; CHECK-SAME: float nofpclass(inf nzero) [[ARG:%.*]]) #[[ATTR2]] {
211- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf nzero) [[ARG]]) #[[ATTR7]]
211+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf nzero) [[ARG]]) #[[ATTR7]]
212212; CHECK-NEXT: ret float [[CALL]]
213213;
214214 %call = call float @llvm.amdgcn.log.f32 (float %arg )
215215 ret float %call
216216}
217217
218218define float @ret_log_ftz_noinf_nonegzero (float nofpclass(inf nzero) %arg ) #4 {
219- ; CHECK-LABEL: define float @ret_log_ftz_noinf_nonegzero(
219+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_ftz_noinf_nonegzero(
220220; CHECK-SAME: float nofpclass(inf nzero) [[ARG:%.*]]) #[[ATTR3:[0-9]+]] {
221- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf nzero) [[ARG]]) #[[ATTR7]]
221+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf nzero) [[ARG]]) #[[ATTR7]]
222222; CHECK-NEXT: ret float [[CALL]]
223223;
224224 %call = call float @llvm.amdgcn.log.f32 (float %arg )
225225 ret float %call
226226}
227227
228228define float @ret_log_ftz_dynamic_noinf_nonegzero (float nofpclass(inf nzero) %arg ) #5 {
229- ; CHECK-LABEL: define float @ret_log_ftz_dynamic_noinf_nonegzero(
229+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_ftz_dynamic_noinf_nonegzero(
230230; CHECK-SAME: float nofpclass(inf nzero) [[ARG:%.*]]) #[[ATTR4:[0-9]+]] {
231- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf nzero) [[ARG]]) #[[ATTR7]]
231+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf nzero) [[ARG]]) #[[ATTR7]]
232232; CHECK-NEXT: ret float [[CALL]]
233233;
234234 %call = call float @llvm.amdgcn.log.f32 (float %arg )
235235 ret float %call
236236}
237237
238238define float @ret_log_dynamic_noinf_nozero_nosub (float nofpclass(inf zero sub ) %arg ) #3 {
239- ; CHECK-LABEL: define float @ret_log_dynamic_noinf_nozero_nosub(
239+ ; CHECK-LABEL: define nofpclass(inf sub) float @ret_log_dynamic_noinf_nozero_nosub(
240240; CHECK-SAME: float nofpclass(inf zero sub) [[ARG:%.*]]) #[[ATTR2]] {
241- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf zero sub) [[ARG]]) #[[ATTR7]]
241+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(inf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf zero sub) [[ARG]]) #[[ATTR7]]
242242; CHECK-NEXT: ret float [[CALL]]
243243;
244244 %call = call float @llvm.amdgcn.log.f32 (float %arg )
245245 ret float %call
246246}
247247
248248define float @ret_log_dynamic_noinf_nopzero_nopsub (float nofpclass(inf pzero psub) %arg ) #3 {
249- ; CHECK-LABEL: define float @ret_log_dynamic_noinf_nopzero_nopsub(
249+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_dynamic_noinf_nopzero_nopsub(
250250; CHECK-SAME: float nofpclass(inf pzero psub) [[ARG:%.*]]) #[[ATTR2]] {
251- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf pzero psub) [[ARG]]) #[[ATTR7]]
251+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf pzero psub) [[ARG]]) #[[ATTR7]]
252252; CHECK-NEXT: ret float [[CALL]]
253253;
254254 %call = call float @llvm.amdgcn.log.f32 (float %arg )
255255 ret float %call
256256}
257257
258258define float @ret_log_dynamic_noinf_nonzero_nonsub (float nofpclass(inf nzero nsub) %arg ) #3 {
259- ; CHECK-LABEL: define float @ret_log_dynamic_noinf_nonzero_nonsub(
259+ ; CHECK-LABEL: define nofpclass(pinf sub) float @ret_log_dynamic_noinf_nonzero_nonsub(
260260; CHECK-SAME: float nofpclass(inf nzero nsub) [[ARG:%.*]]) #[[ATTR2]] {
261- ; CHECK-NEXT: [[CALL:%.*]] = call float @llvm.amdgcn.log.f32(float nofpclass(inf nzero nsub) [[ARG]]) #[[ATTR7]]
261+ ; CHECK-NEXT: [[CALL:%.*]] = call nofpclass(pinf sub) float @llvm.amdgcn.log.f32(float nofpclass(inf nzero nsub) [[ARG]]) #[[ATTR7]]
262262; CHECK-NEXT: ret float [[CALL]]
263263;
264264 %call = call float @llvm.amdgcn.log.f32 (float %arg )
0 commit comments