Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / LoongArch / get-setcc-result-type.ll
blob432cedff6d83199e85f87b4f3fda18fe03073a15
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc --mtriple=loongarch64 --verify-machineinstrs < %s \
3 ; RUN:   | FileCheck %s
5 define void @getSetCCResultType(ptr %p) {
6 ; CHECK-LABEL: getSetCCResultType:
7 ; CHECK:       # %bb.0: # %entry
8 ; CHECK-NEXT:    ld.w $a1, $a0, 12
9 ; CHECK-NEXT:    sltui $a1, $a1, 1
10 ; CHECK-NEXT:    sub.d $a1, $zero, $a1
11 ; CHECK-NEXT:    st.w $a1, $a0, 12
12 ; CHECK-NEXT:    ld.w $a1, $a0, 8
13 ; CHECK-NEXT:    sltui $a1, $a1, 1
14 ; CHECK-NEXT:    sub.d $a1, $zero, $a1
15 ; CHECK-NEXT:    st.w $a1, $a0, 8
16 ; CHECK-NEXT:    ld.w $a1, $a0, 4
17 ; CHECK-NEXT:    sltui $a1, $a1, 1
18 ; CHECK-NEXT:    sub.d $a1, $zero, $a1
19 ; CHECK-NEXT:    st.w $a1, $a0, 4
20 ; CHECK-NEXT:    ld.w $a1, $a0, 0
21 ; CHECK-NEXT:    sltui $a1, $a1, 1
22 ; CHECK-NEXT:    sub.d $a1, $zero, $a1
23 ; CHECK-NEXT:    st.w $a1, $a0, 0
24 ; CHECK-NEXT:    ret
25 entry:
26   %0 = load <4 x i32>, ptr %p, align 16
27   %cmp = icmp eq <4 x i32> %0, zeroinitializer
28   %sext = sext <4 x i1> %cmp to <4 x i32>
29   store <4 x i32> %sext, ptr %p, align 16
30   ret void