1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=wasm32-unknown-unknown | FileCheck %s
3
4; Regression test for PR41149.
5
6define void @mod() {
7; CHECK-LABEL: mod:
8; CHECK:         .functype mod () -> ()
9; CHECK-NEXT:    .local i32
10; CHECK-NEXT:  # %bb.0:
11; CHECK-NEXT:    local.get 0
12; CHECK-NEXT:    local.get 0
13; CHECK-NEXT:    i32.load8_u 0
14; CHECK-NEXT:    local.tee 0
15; CHECK-NEXT:    local.get 0
16; CHECK-NEXT:    i32.const 24
17; CHECK-NEXT:    i32.shl
18; CHECK-NEXT:    i32.const 31
19; CHECK-NEXT:    i32.shr_s
20; CHECK-NEXT:    local.tee 0
21; CHECK-NEXT:    i32.xor
22; CHECK-NEXT:    local.get 0
23; CHECK-NEXT:    i32.sub
24; CHECK-NEXT:    i32.store8 0
25; CHECK-NEXT:    # fallthrough-return
26  %tmp = load <4 x i8>, <4 x i8>* undef
27  %tmp2 = icmp slt <4 x i8> %tmp, zeroinitializer
28  %tmp3 = sub <4 x i8> zeroinitializer, %tmp
29  %tmp4 = select <4 x i1> %tmp2, <4 x i8> %tmp3, <4 x i8> %tmp
30  store <4 x i8> %tmp4, <4 x i8>* undef
31  ret void
32}
33