|
22 | 22 | // SPVCHECK-LABEL: define spir_func noundef nofpclass(nan inf) half @_Z20test_smoothstep_halfDhDhDh( |
23 | 23 | // SPVCHECK-SAME: half noundef nofpclass(nan inf) [[MIN:%.*]], half noundef nofpclass(nan inf) [[MAX:%.*]], half noundef nofpclass(nan inf) [[X:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] { |
24 | 24 | // SPVCHECK-NEXT: [[ENTRY:.*:]] |
25 | | -// SPVCHECK-NEXT: [[CONV_I:%.*]] = fpext reassoc nnan ninf nsz arcp afn half [[MIN]] to double |
26 | | -// SPVCHECK-NEXT: [[CONV1_I:%.*]] = fpext reassoc nnan ninf nsz arcp afn half [[MAX]] to double |
27 | | -// SPVCHECK-NEXT: [[CONV2_I:%.*]] = fpext reassoc nnan ninf nsz arcp afn half [[X]] to double |
28 | | -// SPVCHECK-NEXT: [[SPV_SMOOTHSTEP_I:%.*]] = tail call reassoc nnan ninf nsz arcp afn double @llvm.spv.smoothstep.f64(double [[CONV_I]], double [[CONV1_I]], double [[CONV2_I]]) |
29 | | -// SPVCHECK-NEXT: [[CONV3_I:%.*]] = fptrunc reassoc nnan ninf nsz arcp afn double [[SPV_SMOOTHSTEP_I]] to half |
30 | | -// SPVCHECK-NEXT: ret half [[CONV3_I]] |
| 25 | +// SPVCHECK-NEXT: [[SPV_SMOOTHSTEP_I:%.*]] = tail call reassoc nnan ninf nsz arcp afn noundef half @llvm.spv.smoothstep.f16(half [[MIN]], half [[MAX]], half [[X]]) |
| 26 | +// SPVCHECK-NEXT: ret half [[SPV_SMOOTHSTEP_I]] |
31 | 27 | // |
32 | 28 | half test_smoothstep_half(half Min, half Max, half X) { return smoothstep(Min, Max, X); } |
33 | 29 |
|
@@ -110,12 +106,8 @@ half4 test_smoothstep_half4(half4 Min, half4 Max, half4 X) { return smoothstep(M |
110 | 106 | // SPVCHECK-LABEL: define spir_func noundef nofpclass(nan inf) float @_Z21test_smoothstep_floatfff( |
111 | 107 | // SPVCHECK-SAME: float noundef nofpclass(nan inf) [[MIN:%.*]], float noundef nofpclass(nan inf) [[MAX:%.*]], float noundef nofpclass(nan inf) [[X:%.*]]) local_unnamed_addr #[[ATTR0]] { |
112 | 108 | // SPVCHECK-NEXT: [[ENTRY:.*:]] |
113 | | -// SPVCHECK-NEXT: [[CONV_I:%.*]] = fpext reassoc nnan ninf nsz arcp afn float [[MIN]] to double |
114 | | -// SPVCHECK-NEXT: [[CONV1_I:%.*]] = fpext reassoc nnan ninf nsz arcp afn float [[MAX]] to double |
115 | | -// SPVCHECK-NEXT: [[CONV2_I:%.*]] = fpext reassoc nnan ninf nsz arcp afn float [[X]] to double |
116 | | -// SPVCHECK-NEXT: [[SPV_SMOOTHSTEP_I:%.*]] = tail call reassoc nnan ninf nsz arcp afn double @llvm.spv.smoothstep.f64(double [[CONV_I]], double [[CONV1_I]], double [[CONV2_I]]) |
117 | | -// SPVCHECK-NEXT: [[CONV3_I:%.*]] = fptrunc reassoc nnan ninf nsz arcp afn double [[SPV_SMOOTHSTEP_I]] to float |
118 | | -// SPVCHECK-NEXT: ret float [[CONV3_I]] |
| 109 | +// SPVCHECK-NEXT: [[SPV_SMOOTHSTEP_I:%.*]] = tail call reassoc nnan ninf nsz arcp afn noundef float @llvm.spv.smoothstep.f32(float [[MIN]], float [[MAX]], float [[X]]) |
| 110 | +// SPVCHECK-NEXT: ret float [[SPV_SMOOTHSTEP_I]] |
119 | 111 | // |
120 | 112 | float test_smoothstep_float(float Min, float Max, float X) { return smoothstep(Min, Max, X); } |
121 | 113 |
|
|
0 commit comments