47 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=wasm32 -mattr=+simd128 | FileCheck %s3 4define void @f(ptr %0, ptr %pr) {5; CHECK-LABEL: f:6; CHECK: .functype f (i32, i32) -> ()7; CHECK-NEXT: .local v1288; CHECK-NEXT: # %bb.0: # %BB9; CHECK-NEXT: local.get 110; CHECK-NEXT: local.get 211; CHECK-NEXT: i32.const 1612; CHECK-NEXT: local.get 013; CHECK-NEXT: v128.load64_zero 014; CHECK-NEXT: v128.const 0, 1, 0, 015; CHECK-NEXT: i32x4.gt_u16; CHECK-NEXT: local.tee 217; CHECK-NEXT: i32x4.extract_lane 018; CHECK-NEXT: i32.const 119; CHECK-NEXT: i32.and20; CHECK-NEXT: i32.shr_u21; CHECK-NEXT: local.tee 022; CHECK-NEXT: local.get 023; CHECK-NEXT: i32.mul24; CHECK-NEXT: i8x16.replace_lane 025; CHECK-NEXT: i32.const 1626; CHECK-NEXT: local.get 227; CHECK-NEXT: i32x4.extract_lane 128; CHECK-NEXT: i32.const 129; CHECK-NEXT: i32.and30; CHECK-NEXT: i32.shr_u31; CHECK-NEXT: local.tee 032; CHECK-NEXT: local.get 033; CHECK-NEXT: i32.mul34; CHECK-NEXT: i8x16.replace_lane 135; CHECK-NEXT: v128.store16_lane 0, 036; CHECK-NEXT: # fallthrough-return37BB:38 %v0 = load <2 x i32>, ptr %039 %v1 = icmp ugt <2 x i32> %v0, <i32 0, i32 1>40 %v2 = zext <2 x i1> %v1 to <2 x i8>41 %v3 = ashr <2 x i8> <i8 16, i8 16>, %v242 %v4 = mul <2 x i8> %v3, %v343 store <2 x i8> %v4, ptr %pr44 ret void45}46 47