Lines Matching refs:SIMD128

1 …disable-explicit-locals -mattr=+unimplemented-simd128 | FileCheck %s --check-prefixes CHECK,SIMD128
2 …llthrough-return-opt -wasm-disable-explicit-locals | FileCheck %s --check-prefixes CHECK,NO-SIMD128
10 ; NO-SIMD128-NOT: i8x16
11 ; SIMD128-NEXT: .functype sext_v16i8 (v128) -> (v128){{$}}
12 ; SIMD128-NEXT: i32.const $push[[T0:[0-9]+]]=, 7{{$}}
13 ; SIMD128-NEXT: i8x16.shl $push[[T1:[0-9]+]]=, $0, $pop[[T0]]{{$}}
14 ; SIMD128-NEXT: i32.const $push[[T2:[0-9]+]]=, 7{{$}}
15 ; SIMD128-NEXT: i8x16.shr_s $push[[R:[0-9]+]]=, $pop[[T1]], $pop[[T2]]{{$}}
16 ; SIMD128-NEXT: return $pop[[R]]{{$}}
23 ; NO-SIMD128-NOT: i16x8
24 ; SIMD128-NEXT: .functype sext_v8i16 (v128) -> (v128){{$}}
25 ; SIMD128-NEXT: i32.const $push[[T0:[0-9]+]]=, 15{{$}}
26 ; SIMD128-NEXT: i16x8.shl $push[[T1:[0-9]+]]=, $0, $pop[[T0]]{{$}}
27 ; SIMD128-NEXT: i32.const $push[[T2:[0-9]+]]=, 15{{$}}
28 ; SIMD128-NEXT: i16x8.shr_s $push[[R:[0-9]+]]=, $pop[[T1]], $pop[[T2]]{{$}}
29 ; SIMD128-NEXT: return $pop[[R]]{{$}}
36 ; NO-SIMD128-NOT: i32x4
37 ; SIMD128-NEXT: .functype sext_v4i32 (v128) -> (v128){{$}}
38 ; SIMD128-NEXT: i32.const $push[[T0:[0-9]+]]=, 31{{$}}
39 ; SIMD128-NEXT: i32x4.shl $push[[T1:[0-9]+]]=, $0, $pop[[T0]]{{$}}
40 ; SIMD128-NEXT: i32.const $push[[T2:[0-9]+]]=, 31{{$}}
41 ; SIMD128-NEXT: i32x4.shr_s $push[[R:[0-9]+]]=, $pop[[T1]], $pop[[T2]]{{$}}
42 ; SIMD128-NEXT: return $pop[[R]]{{$}}
49 ; NO-SIMD128-NOT: i64x2
50 ; SIMD128-NEXT: .functype sext_v2i64 (v128) -> (v128){{$}}
51 ; SIMD128-NEXT: i32.const $push[[T0:[0-9]+]]=, 63{{$}}
52 ; SIMD128-NEXT: i64x2.shl $push[[T1:[0-9]+]]=, $0, $pop[[T0]]{{$}}
53 ; SIMD128-NEXT: i32.const $push[[T2:[0-9]+]]=, 63{{$}}
54 ; SIMD128-NEXT: i64x2.shr_s $push[[R:[0-9]+]]=, $pop[[T1]], $pop[[T2]]{{$}}
55 ; SIMD128-NEXT: return $pop[[R]]{{$}}
62 ; SIMD128-NEXT: .functype sext_inreg_i8_to_i16 (v128) -> (i32){{$}}
63 ; SIMD128-NEXT: i8x16.extract_lane_s $push[[R:[0-9]+]]=, $0, 2{{$}}
64 ; SIMD128-NEXT: return $pop[[R]]{{$}}
73 ; SIMD128-NEXT: .functype sext_inreg_i8_to_i32 (v128) -> (i32){{$}}
74 ; SIMD128-NEXT: i8x16.extract_lane_s $push[[R:[0-9]+]]=, $0, 4{{$}}
75 ; SIMD128-NEXT: return $pop[[R]]{{$}}
84 ; SIMD128-NEXT: .functype sext_inreg_i16_to_i32 (v128) -> (i32){{$}}
85 ; SIMD128-NEXT: i16x8.extract_lane_s $push[[R:[0-9]+]]=, $0, 2{{$}}
86 ; SIMD128-NEXT: return $pop[[R]]{{$}}
95 ; SIMD128-NEXT: .functype sext_inreg_i8_to_i64 (v128) -> (i64){{$}}
96 ; SIMD128-NEXT: i64x2.extract_lane $push[[T0:[0-9]+]]=, $0, 1{{$}}
97 ; SIMD128-NEXT: i64.const $push[[T1:[0-9]+]]=, 56{{$}}
98 ; SIMD128-NEXT: i64.shl $push[[T2:[0-9]+]]=, $pop[[T0]], $pop[[T1]]{{$}}
99 ; SIMD128-NEXT: i64.const $push[[T3:[0-9]+]]=, 56{{$}}
100 ; SIMD128-NEXT: i64.shr_s $push[[R:[0-9]+]]=, $pop[[T2]], $pop[[T3]]{{$}}
101 ; SIMD128-NEXT: return $pop[[R]]{{$}}
110 ; SIMD128-NEXT: .functype sext_inreg_i16_to_i64 (v128) -> (i64){{$}}
111 ; SIMD128-NEXT: i64x2.extract_lane $push[[T0:[0-9]+]]=, $0, 1{{$}}
112 ; SIMD128-NEXT: i64.const $push[[T1:[0-9]+]]=, 48{{$}}
113 ; SIMD128-NEXT: i64.shl $push[[T2:[0-9]+]]=, $pop[[T0]], $pop[[T1]]{{$}}
114 ; SIMD128-NEXT: i64.const $push[[T3:[0-9]+]]=, 48{{$}}
115 ; SIMD128-NEXT: i64.shr_s $push[[R:[0-9]+]]=, $pop[[T2]], $pop[[T3]]{{$}}
116 ; SIMD128-NEXT: return $pop[[R]]{{$}}
125 ; NO-SIMD128-NOT: i64x2
126 ; SIMD128-NEXT: .functype sext_inreg_i32_to_i64 (v128) -> (i64){{$}}
127 ; SIMD128-NEXT: i64x2.extract_lane $push[[T0:[0-9]+]]=, $0, 1{{$}}
128 ; SIMD128-NEXT: i64.const $push[[T1:[0-9]+]]=, 32{{$}}
129 ; SIMD128-NEXT: i64.shl $push[[T2:[0-9]+]]=, $pop[[T0]], $pop[[T1]]{{$}}
130 ; SIMD128-NEXT: i64.const $push[[T3:[0-9]+]]=, 32{{$}}
131 ; SIMD128-NEXT: i64.shr_s $push[[R:[0-9]+]]=, $pop[[T2]], $pop[[T3]]{{$}}
132 ; SIMD128-NEXT: return $pop[[R]]{{$}}