@@ -123,49 +123,49 @@ long long trunc_u_i64_f64(double f) {
123
123
124
124
int trunc_saturate_s_i32_f32 (float f ) {
125
125
return __builtin_wasm_trunc_saturate_s_i32_f32 (f );
126
- // WEBASSEMBLY: call i32 @llvm.wasm.trunc.saturate.signed .i32.f32(float %f)
126
+ // WEBASSEMBLY: call i32 @llvm.fptosi.sat .i32.f32(float %f)
127
127
// WEBASSEMBLY-NEXT: ret
128
128
}
129
129
130
130
int trunc_saturate_u_i32_f32 (float f ) {
131
131
return __builtin_wasm_trunc_saturate_u_i32_f32 (f );
132
- // WEBASSEMBLY: call i32 @llvm.wasm.trunc.saturate.unsigned .i32.f32(float %f)
132
+ // WEBASSEMBLY: call i32 @llvm.fptoui.sat .i32.f32(float %f)
133
133
// WEBASSEMBLY-NEXT: ret
134
134
}
135
135
136
136
int trunc_saturate_s_i32_f64 (double f ) {
137
137
return __builtin_wasm_trunc_saturate_s_i32_f64 (f );
138
- // WEBASSEMBLY: call i32 @llvm.wasm.trunc.saturate.signed .i32.f64(double %f)
138
+ // WEBASSEMBLY: call i32 @llvm.fptosi.sat .i32.f64(double %f)
139
139
// WEBASSEMBLY-NEXT: ret
140
140
}
141
141
142
142
int trunc_saturate_u_i32_f64 (double f ) {
143
143
return __builtin_wasm_trunc_saturate_u_i32_f64 (f );
144
- // WEBASSEMBLY: call i32 @llvm.wasm.trunc.saturate.unsigned .i32.f64(double %f)
144
+ // WEBASSEMBLY: call i32 @llvm.fptoui.sat .i32.f64(double %f)
145
145
// WEBASSEMBLY-NEXT: ret
146
146
}
147
147
148
148
long long trunc_saturate_s_i64_f32 (float f ) {
149
149
return __builtin_wasm_trunc_saturate_s_i64_f32 (f );
150
- // WEBASSEMBLY: call i64 @llvm.wasm.trunc.saturate.signed .i64.f32(float %f)
150
+ // WEBASSEMBLY: call i64 @llvm.fptosi.sat .i64.f32(float %f)
151
151
// WEBASSEMBLY-NEXT: ret
152
152
}
153
153
154
154
long long trunc_saturate_u_i64_f32 (float f ) {
155
155
return __builtin_wasm_trunc_saturate_u_i64_f32 (f );
156
- // WEBASSEMBLY: call i64 @llvm.wasm.trunc.saturate.unsigned .i64.f32(float %f)
156
+ // WEBASSEMBLY: call i64 @llvm.fptoui.sat .i64.f32(float %f)
157
157
// WEBASSEMBLY-NEXT: ret
158
158
}
159
159
160
160
long long trunc_saturate_s_i64_f64 (double f ) {
161
161
return __builtin_wasm_trunc_saturate_s_i64_f64 (f );
162
- // WEBASSEMBLY: call i64 @llvm.wasm.trunc.saturate.signed .i64.f64(double %f)
162
+ // WEBASSEMBLY: call i64 @llvm.fptosi.sat .i64.f64(double %f)
163
163
// WEBASSEMBLY-NEXT: ret
164
164
}
165
165
166
166
long long trunc_saturate_u_i64_f64 (double f ) {
167
167
return __builtin_wasm_trunc_saturate_u_i64_f64 (f );
168
- // WEBASSEMBLY: call i64 @llvm.wasm.trunc.saturate.unsigned .i64.f64(double %f)
168
+ // WEBASSEMBLY: call i64 @llvm.fptoui.sat .i64.f64(double %f)
169
169
// WEBASSEMBLY-NEXT: ret
170
170
}
171
171
@@ -792,49 +792,49 @@ f64x2 pmax_f64x2(f64x2 x, f64x2 y) {
792
792
793
793
f32x4 ceil_f32x4 (f32x4 x ) {
794
794
return __builtin_wasm_ceil_f32x4 (x );
795
- // WEBASSEMBLY: call <4 x float> @llvm.wasm. ceil.v4f32(<4 x float> %x)
795
+ // WEBASSEMBLY: call <4 x float> @llvm.ceil.v4f32(<4 x float> %x)
796
796
// WEBASSEMBLY: ret
797
797
}
798
798
799
799
f32x4 floor_f32x4 (f32x4 x ) {
800
800
return __builtin_wasm_floor_f32x4 (x );
801
- // WEBASSEMBLY: call <4 x float> @llvm.wasm. floor.v4f32(<4 x float> %x)
801
+ // WEBASSEMBLY: call <4 x float> @llvm.floor.v4f32(<4 x float> %x)
802
802
// WEBASSEMBLY: ret
803
803
}
804
804
805
805
f32x4 trunc_f32x4 (f32x4 x ) {
806
806
return __builtin_wasm_trunc_f32x4 (x );
807
- // WEBASSEMBLY: call <4 x float> @llvm.wasm. trunc.v4f32(<4 x float> %x)
807
+ // WEBASSEMBLY: call <4 x float> @llvm.trunc.v4f32(<4 x float> %x)
808
808
// WEBASSEMBLY: ret
809
809
}
810
810
811
811
f32x4 nearest_f32x4 (f32x4 x ) {
812
812
return __builtin_wasm_nearest_f32x4 (x );
813
- // WEBASSEMBLY: call <4 x float> @llvm.wasm.nearest .v4f32(<4 x float> %x)
813
+ // WEBASSEMBLY: call <4 x float> @llvm.nearbyint .v4f32(<4 x float> %x)
814
814
// WEBASSEMBLY: ret
815
815
}
816
816
817
817
f64x2 ceil_f64x2 (f64x2 x ) {
818
818
return __builtin_wasm_ceil_f64x2 (x );
819
- // WEBASSEMBLY: call <2 x double> @llvm.wasm. ceil.v2f64(<2 x double> %x)
819
+ // WEBASSEMBLY: call <2 x double> @llvm.ceil.v2f64(<2 x double> %x)
820
820
// WEBASSEMBLY: ret
821
821
}
822
822
823
823
f64x2 floor_f64x2 (f64x2 x ) {
824
824
return __builtin_wasm_floor_f64x2 (x );
825
- // WEBASSEMBLY: call <2 x double> @llvm.wasm. floor.v2f64(<2 x double> %x)
825
+ // WEBASSEMBLY: call <2 x double> @llvm.floor.v2f64(<2 x double> %x)
826
826
// WEBASSEMBLY: ret
827
827
}
828
828
829
829
f64x2 trunc_f64x2 (f64x2 x ) {
830
830
return __builtin_wasm_trunc_f64x2 (x );
831
- // WEBASSEMBLY: call <2 x double> @llvm.wasm. trunc.v2f64(<2 x double> %x)
831
+ // WEBASSEMBLY: call <2 x double> @llvm.trunc.v2f64(<2 x double> %x)
832
832
// WEBASSEMBLY: ret
833
833
}
834
834
835
835
f64x2 nearest_f64x2 (f64x2 x ) {
836
836
return __builtin_wasm_nearest_f64x2 (x );
837
- // WEBASSEMBLY: call <2 x double> @llvm.wasm.nearest .v2f64(<2 x double> %x)
837
+ // WEBASSEMBLY: call <2 x double> @llvm.nearbyint .v2f64(<2 x double> %x)
838
838
// WEBASSEMBLY: ret
839
839
}
840
840
@@ -852,13 +852,13 @@ f64x2 sqrt_f64x2(f64x2 x) {
852
852
853
853
i32x4 trunc_saturate_s_i32x4_f32x4 (f32x4 f ) {
854
854
return __builtin_wasm_trunc_saturate_s_i32x4_f32x4 (f );
855
- // WEBASSEMBLY: call <4 x i32> @llvm.wasm.trunc.saturate.signed .v4i32.v4f32(<4 x float> %f)
855
+ // WEBASSEMBLY: call <4 x i32> @llvm.fptosi.sat .v4i32.v4f32(<4 x float> %f)
856
856
// WEBASSEMBLY-NEXT: ret
857
857
}
858
858
859
859
i32x4 trunc_saturate_u_i32x4_f32x4 (f32x4 f ) {
860
860
return __builtin_wasm_trunc_saturate_u_i32x4_f32x4 (f );
861
- // WEBASSEMBLY: call <4 x i32> @llvm.wasm.trunc.saturate.unsigned .v4i32.v4f32(<4 x float> %f)
861
+ // WEBASSEMBLY: call <4 x i32> @llvm.fptoui.sat .v4i32.v4f32(<4 x float> %f)
862
862
// WEBASSEMBLY-NEXT: ret
863
863
}
864
864
@@ -890,52 +890,18 @@ u16x8 narrow_u_i16x8_i32x4(u32x4 low, u32x4 high) {
890
890
// WEBASSEMBLY: ret
891
891
}
892
892
893
- i64x2 extend_low_s_i32x4_i64x2 (i32x4 x ) {
894
- return __builtin_wasm_extend_low_s_i32x4_i64x2 (x );
895
- // WEBASSEMBLY: call <2 x i64> @llvm.wasm.extend.low.signed(<4 x i32> %x)
896
- // WEBASSEMBLY: ret
897
- }
898
-
899
- i64x2 extend_high_s_i32x4_i64x2 (i32x4 x ) {
900
- return __builtin_wasm_extend_high_s_i32x4_i64x2 (x );
901
- // WEBASSEMBLY: call <2 x i64> @llvm.wasm.extend.high.signed(<4 x i32> %x)
902
- // WEBASSEMBLY: ret
903
- }
904
-
905
- u64x2 extend_low_u_i32x4_i64x2 (u32x4 x ) {
906
- return __builtin_wasm_extend_low_u_i32x4_i64x2 (x );
907
- // WEBASSEMBLY: call <2 x i64> @llvm.wasm.extend.low.unsigned(<4 x i32> %x)
908
- // WEBASSEMBLY: ret
909
- }
910
-
911
- u64x2 extend_high_u_i32x4_i64x2 (u32x4 x ) {
912
- return __builtin_wasm_extend_high_u_i32x4_i64x2 (x );
913
- // WEBASSEMBLY: call <2 x i64> @llvm.wasm.extend.high.unsigned(<4 x i32> %x)
914
- // WEBASSEMBLY: ret
915
- }
916
-
917
- f64x2 convert_low_s_i32x4_f64x2 (i32x4 x ) {
918
- return __builtin_wasm_convert_low_s_i32x4_f64x2 (x );
919
- // WEBASSEMBLY: call <2 x double> @llvm.wasm.convert.low.signed(<4 x i32> %x)
920
- // WEBASSEMBLY: ret
921
- }
922
-
923
- f64x2 convert_low_u_i32x4_f64x2 (u32x4 x ) {
924
- return __builtin_wasm_convert_low_u_i32x4_f64x2 (x );
925
- // WEBASSEMBLY: call <2 x double> @llvm.wasm.convert.low.unsigned(<4 x i32> %x)
926
- // WEBASSEMBLY: ret
927
- }
928
-
929
893
i32x4 trunc_sat_zero_s_f64x2_i32x4 (f64x2 x ) {
930
894
return __builtin_wasm_trunc_sat_zero_s_f64x2_i32x4 (x );
931
- // WEBASSEMBLY: call <4 x i32> @llvm.wasm.trunc.sat.zero.signed(<2 x double> %x)
932
- // WEBASSEMBLY: ret
895
+ // WEBASSEMBLY: %0 = tail call <2 x i32> @llvm.fptosi.sat.v2i32.v2f64(<2 x double> %x)
896
+ // WEBASSEMBLY: %1 = shufflevector <2 x i32> %0, <2 x i32> zeroinitializer, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
897
+ // WEBASSEMBLY: ret <4 x i32> %1
933
898
}
934
899
935
900
u32x4 trunc_sat_zero_u_f64x2_i32x4 (f64x2 x ) {
936
901
return __builtin_wasm_trunc_sat_zero_u_f64x2_i32x4 (x );
937
- // WEBASSEMBLY: call <4 x i32> @llvm.wasm.trunc.sat.zero.unsigned(<2 x double> %x)
938
- // WEBASSEMBLY: ret
902
+ // WEBASSEMBLY: %0 = tail call <2 x i32> @llvm.fptoui.sat.v2i32.v2f64(<2 x double> %x)
903
+ // WEBASSEMBLY: %1 = shufflevector <2 x i32> %0, <2 x i32> zeroinitializer, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
904
+ // WEBASSEMBLY: ret <4 x i32> %1
939
905
}
940
906
941
907
f32x4 wasm_demote_zero_f64x2_f32x4 (f64x2 x ) {
0 commit comments