Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / LoongArch / inline-asm-operand-modifiers.ll
blobd3cf288bfd010b246574ea7020c03a53a65a7e01
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc --mtriple=loongarch32 --verify-machineinstrs < %s | FileCheck %s
3 ; RUN: llc --mtriple=loongarch64 --verify-machineinstrs < %s | FileCheck %s
5 define i32 @modifier_z_zero(i32 %a) nounwind {
6 ; CHECK-LABEL: modifier_z_zero:
7 ; CHECK:       # %bb.0:
8 ; CHECK-NEXT:    #APP
9 ; CHECK-NEXT:    add.w $a0, $a0, $zero
10 ; CHECK-NEXT:    #NO_APP
11 ; CHECK-NEXT:    ret
12   %1 = tail call i32 asm "add.w $0, $1, ${2:z}", "=r,r,ri"(i32 %a, i32 0)
13   ret i32 %1
16 define i32 @modifier_z_nonzero(i32 %a) nounwind {
17 ; CHECK-LABEL: modifier_z_nonzero:
18 ; CHECK:       # %bb.0:
19 ; CHECK-NEXT:    #APP
20 ; CHECK-NEXT:    addi.w $a0, $a0, 1
21 ; CHECK-NEXT:    #NO_APP
22 ; CHECK-NEXT:    ret
23   %1 = tail call i32 asm "addi.w $0, $1, ${2:z}", "=r,r,ri"(i32 %a, i32 1)
24   ret i32 %1