Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / LoongArch / legalicmpimm.ll
blob3dc8785631dc2ca0077ceb323dee05a32e180885
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc --mtriple=loongarch32 < %s | FileCheck %s --check-prefix=LA32
3 ; RUN: llc --mtriple=loongarch64 < %s | FileCheck %s --check-prefix=LA64
5 define i32 @icmpimm(i32 %x) {
6 ; LA32-LABEL: icmpimm:
7 ; LA32:       # %bb.0:
8 ; LA32-NEXT:    srli.w $a0, $a0, 12
9 ; LA32-NEXT:    addi.w $a0, $a0, -1
10 ; LA32-NEXT:    sltui $a0, $a0, 1
11 ; LA32-NEXT:    ret
13 ; LA64-LABEL: icmpimm:
14 ; LA64:       # %bb.0:
15 ; LA64-NEXT:    bstrpick.d $a0, $a0, 31, 12
16 ; LA64-NEXT:    addi.d $a0, $a0, -1
17 ; LA64-NEXT:    sltui $a0, $a0, 1
18 ; LA64-NEXT:    ret
19   %1 = and i32 %x, -4096
20   %2 = icmp eq i32 %1, 4096
21   %3 = zext i1 %2 to i32
22   ret i32 %3