Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / WebAssembly / PR41149.ll
bloba31fd5e830820094ba2f5b980f354ae0c181b3f3
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=wasm32-unknown-unknown | FileCheck %s
4 ; Regression test for PR41149.
6 define 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.extend8_s
17 ; CHECK-NEXT:    i32.const 7
18 ; CHECK-NEXT:    i32.shr_s
19 ; CHECK-NEXT:    local.tee 0
20 ; CHECK-NEXT:    i32.xor
21 ; CHECK-NEXT:    local.get 0
22 ; CHECK-NEXT:    i32.sub
23 ; CHECK-NEXT:    i32.store8 0
24 ; CHECK-NEXT:    # fallthrough-return
25   %tmp = load <4 x i8>, ptr undef
26   %tmp2 = icmp slt <4 x i8> %tmp, zeroinitializer
27   %tmp3 = sub <4 x i8> zeroinitializer, %tmp
28   %tmp4 = select <4 x i1> %tmp2, <4 x i8> %tmp3, <4 x i8> %tmp
29   store <4 x i8> %tmp4, ptr undef
30   ret void