@@ -123,49 +123,49 @@ long long trunc_u_i64_f64(double f) {
123123
124124int trunc_saturate_s_i32_f32 (float f ) {
125125 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)
127127 // WEBASSEMBLY-NEXT: ret
128128}
129129
130130int trunc_saturate_u_i32_f32 (float f ) {
131131 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)
133133 // WEBASSEMBLY-NEXT: ret
134134}
135135
136136int trunc_saturate_s_i32_f64 (double f ) {
137137 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)
139139 // WEBASSEMBLY-NEXT: ret
140140}
141141
142142int trunc_saturate_u_i32_f64 (double f ) {
143143 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)
145145 // WEBASSEMBLY-NEXT: ret
146146}
147147
148148long long trunc_saturate_s_i64_f32 (float f ) {
149149 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)
151151 // WEBASSEMBLY-NEXT: ret
152152}
153153
154154long long trunc_saturate_u_i64_f32 (float f ) {
155155 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)
157157 // WEBASSEMBLY-NEXT: ret
158158}
159159
160160long long trunc_saturate_s_i64_f64 (double f ) {
161161 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)
163163 // WEBASSEMBLY-NEXT: ret
164164}
165165
166166long long trunc_saturate_u_i64_f64 (double f ) {
167167 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)
169169 // WEBASSEMBLY-NEXT: ret
170170}
171171
@@ -792,49 +792,49 @@ f64x2 pmax_f64x2(f64x2 x, f64x2 y) {
792792
793793f32x4 ceil_f32x4 (f32x4 x ) {
794794 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)
796796 // WEBASSEMBLY: ret
797797}
798798
799799f32x4 floor_f32x4 (f32x4 x ) {
800800 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)
802802 // WEBASSEMBLY: ret
803803}
804804
805805f32x4 trunc_f32x4 (f32x4 x ) {
806806 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)
808808 // WEBASSEMBLY: ret
809809}
810810
811811f32x4 nearest_f32x4 (f32x4 x ) {
812812 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)
814814 // WEBASSEMBLY: ret
815815}
816816
817817f64x2 ceil_f64x2 (f64x2 x ) {
818818 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)
820820 // WEBASSEMBLY: ret
821821}
822822
823823f64x2 floor_f64x2 (f64x2 x ) {
824824 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)
826826 // WEBASSEMBLY: ret
827827}
828828
829829f64x2 trunc_f64x2 (f64x2 x ) {
830830 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)
832832 // WEBASSEMBLY: ret
833833}
834834
835835f64x2 nearest_f64x2 (f64x2 x ) {
836836 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)
838838 // WEBASSEMBLY: ret
839839}
840840
@@ -852,13 +852,13 @@ f64x2 sqrt_f64x2(f64x2 x) {
852852
853853i32x4 trunc_saturate_s_i32x4_f32x4 (f32x4 f ) {
854854 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)
856856 // WEBASSEMBLY-NEXT: ret
857857}
858858
859859i32x4 trunc_saturate_u_i32x4_f32x4 (f32x4 f ) {
860860 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)
862862 // WEBASSEMBLY-NEXT: ret
863863}
864864
@@ -890,52 +890,18 @@ u16x8 narrow_u_i16x8_i32x4(u32x4 low, u32x4 high) {
890890 // WEBASSEMBLY: ret
891891}
892892
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-
929893i32x4 trunc_sat_zero_s_f64x2_i32x4 (f64x2 x ) {
930894 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
933898}
934899
935900u32x4 trunc_sat_zero_u_f64x2_i32x4 (f64x2 x ) {
936901 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
939905}
940906
941907f32x4 wasm_demote_zero_f64x2_f32x4 (f64x2 x ) {
0 commit comments