@@ -434,7 +434,6 @@ entry:
434434define <8 x i16 > @stest_f16i16 (<8 x half > %x ) {
435435; CHECK-LABEL: stest_f16i16:
436436; CHECK: .functype stest_f16i16 (f32, f32, f32, f32, f32, f32, f32, f32) -> (v128)
437- ; CHECK-NEXT: .local v128, v128, v128
438437; CHECK-NEXT: # %bb.0: # %entry
439438; CHECK-NEXT: local.get 5
440439; CHECK-NEXT: call __truncsfhf2
@@ -474,15 +473,6 @@ define <8 x i16> @stest_f16i16(<8 x half> %x) {
474473; CHECK-NEXT: call __extendhfsf2
475474; CHECK-NEXT: i32.trunc_sat_f32_s
476475; CHECK-NEXT: i32x4.replace_lane 3
477- ; CHECK-NEXT: v128.const 32767, 32767, 32767, 32767
478- ; CHECK-NEXT: local.tee 8
479- ; CHECK-NEXT: i32x4.min_s
480- ; CHECK-NEXT: v128.const -32768, -32768, -32768, -32768
481- ; CHECK-NEXT: local.tee 9
482- ; CHECK-NEXT: i32x4.max_s
483- ; CHECK-NEXT: v128.const 65535, 65535, 65535, 65535
484- ; CHECK-NEXT: local.tee 10
485- ; CHECK-NEXT: v128.and
486476; CHECK-NEXT: local.get 4
487477; CHECK-NEXT: i32.trunc_sat_f32_s
488478; CHECK-NEXT: i32x4.splat
@@ -495,13 +485,7 @@ define <8 x i16> @stest_f16i16(<8 x half> %x) {
495485; CHECK-NEXT: local.get 7
496486; CHECK-NEXT: i32.trunc_sat_f32_s
497487; CHECK-NEXT: i32x4.replace_lane 3
498- ; CHECK-NEXT: local.get 8
499- ; CHECK-NEXT: i32x4.min_s
500- ; CHECK-NEXT: local.get 9
501- ; CHECK-NEXT: i32x4.max_s
502- ; CHECK-NEXT: local.get 10
503- ; CHECK-NEXT: v128.and
504- ; CHECK-NEXT: i16x8.narrow_i32x4_u
488+ ; CHECK-NEXT: i16x8.narrow_i32x4_s
505489; CHECK-NEXT: # fallthrough-return
506490entry:
507491 %conv = fptosi <8 x half > %x to <8 x i32 >
@@ -516,7 +500,6 @@ entry:
516500define <8 x i16 > @utest_f16i16 (<8 x half > %x ) {
517501; CHECK-LABEL: utest_f16i16:
518502; CHECK: .functype utest_f16i16 (f32, f32, f32, f32, f32, f32, f32, f32) -> (v128)
519- ; CHECK-NEXT: .local v128
520503; CHECK-NEXT: # %bb.0: # %entry
521504; CHECK-NEXT: local.get 5
522505; CHECK-NEXT: call __truncsfhf2
@@ -556,9 +539,6 @@ define <8 x i16> @utest_f16i16(<8 x half> %x) {
556539; CHECK-NEXT: call __extendhfsf2
557540; CHECK-NEXT: i32.trunc_sat_f32_u
558541; CHECK-NEXT: i32x4.replace_lane 3
559- ; CHECK-NEXT: v128.const 65535, 65535, 65535, 65535
560- ; CHECK-NEXT: local.tee 8
561- ; CHECK-NEXT: i32x4.min_u
562542; CHECK-NEXT: local.get 4
563543; CHECK-NEXT: i32.trunc_sat_f32_u
564544; CHECK-NEXT: i32x4.splat
@@ -571,8 +551,6 @@ define <8 x i16> @utest_f16i16(<8 x half> %x) {
571551; CHECK-NEXT: local.get 7
572552; CHECK-NEXT: i32.trunc_sat_f32_u
573553; CHECK-NEXT: i32x4.replace_lane 3
574- ; CHECK-NEXT: local.get 8
575- ; CHECK-NEXT: i32x4.min_u
576554; CHECK-NEXT: i16x8.narrow_i32x4_u
577555; CHECK-NEXT: # fallthrough-return
578556entry:
@@ -1861,7 +1839,6 @@ entry:
18611839define <8 x i16 > @stest_f16i16_mm (<8 x half > %x ) {
18621840; CHECK-LABEL: stest_f16i16_mm:
18631841; CHECK: .functype stest_f16i16_mm (f32, f32, f32, f32, f32, f32, f32, f32) -> (v128)
1864- ; CHECK-NEXT: .local v128, v128, v128
18651842; CHECK-NEXT: # %bb.0: # %entry
18661843; CHECK-NEXT: local.get 5
18671844; CHECK-NEXT: call __truncsfhf2
@@ -1901,15 +1878,6 @@ define <8 x i16> @stest_f16i16_mm(<8 x half> %x) {
19011878; CHECK-NEXT: call __extendhfsf2
19021879; CHECK-NEXT: i32.trunc_sat_f32_s
19031880; CHECK-NEXT: i32x4.replace_lane 3
1904- ; CHECK-NEXT: v128.const 32767, 32767, 32767, 32767
1905- ; CHECK-NEXT: local.tee 8
1906- ; CHECK-NEXT: i32x4.min_s
1907- ; CHECK-NEXT: v128.const -32768, -32768, -32768, -32768
1908- ; CHECK-NEXT: local.tee 9
1909- ; CHECK-NEXT: i32x4.max_s
1910- ; CHECK-NEXT: v128.const 65535, 65535, 65535, 65535
1911- ; CHECK-NEXT: local.tee 10
1912- ; CHECK-NEXT: v128.and
19131881; CHECK-NEXT: local.get 4
19141882; CHECK-NEXT: i32.trunc_sat_f32_s
19151883; CHECK-NEXT: i32x4.splat
@@ -1922,13 +1890,7 @@ define <8 x i16> @stest_f16i16_mm(<8 x half> %x) {
19221890; CHECK-NEXT: local.get 7
19231891; CHECK-NEXT: i32.trunc_sat_f32_s
19241892; CHECK-NEXT: i32x4.replace_lane 3
1925- ; CHECK-NEXT: local.get 8
1926- ; CHECK-NEXT: i32x4.min_s
1927- ; CHECK-NEXT: local.get 9
1928- ; CHECK-NEXT: i32x4.max_s
1929- ; CHECK-NEXT: local.get 10
1930- ; CHECK-NEXT: v128.and
1931- ; CHECK-NEXT: i16x8.narrow_i32x4_u
1893+ ; CHECK-NEXT: i16x8.narrow_i32x4_s
19321894; CHECK-NEXT: # fallthrough-return
19331895entry:
19341896 %conv = fptosi <8 x half > %x to <8 x i32 >
@@ -1941,7 +1903,6 @@ entry:
19411903define <8 x i16 > @utest_f16i16_mm (<8 x half > %x ) {
19421904; CHECK-LABEL: utest_f16i16_mm:
19431905; CHECK: .functype utest_f16i16_mm (f32, f32, f32, f32, f32, f32, f32, f32) -> (v128)
1944- ; CHECK-NEXT: .local v128
19451906; CHECK-NEXT: # %bb.0: # %entry
19461907; CHECK-NEXT: local.get 5
19471908; CHECK-NEXT: call __truncsfhf2
@@ -1981,9 +1942,6 @@ define <8 x i16> @utest_f16i16_mm(<8 x half> %x) {
19811942; CHECK-NEXT: call __extendhfsf2
19821943; CHECK-NEXT: i32.trunc_sat_f32_u
19831944; CHECK-NEXT: i32x4.replace_lane 3
1984- ; CHECK-NEXT: v128.const 65535, 65535, 65535, 65535
1985- ; CHECK-NEXT: local.tee 8
1986- ; CHECK-NEXT: i32x4.min_u
19871945; CHECK-NEXT: local.get 4
19881946; CHECK-NEXT: i32.trunc_sat_f32_u
19891947; CHECK-NEXT: i32x4.splat
@@ -1996,8 +1954,6 @@ define <8 x i16> @utest_f16i16_mm(<8 x half> %x) {
19961954; CHECK-NEXT: local.get 7
19971955; CHECK-NEXT: i32.trunc_sat_f32_u
19981956; CHECK-NEXT: i32x4.replace_lane 3
1999- ; CHECK-NEXT: local.get 8
2000- ; CHECK-NEXT: i32x4.min_u
20011957; CHECK-NEXT: i16x8.narrow_i32x4_u
20021958; CHECK-NEXT: # fallthrough-return
20031959entry:
0 commit comments