Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / Mips / micromips-sizereduction / micromips-movep.ll
blob84998a334631d3dcd9bb20973312a7e786380f24
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=mipsel-unknown-linux-gnu -mattr=+micromips -mcpu=mips32r2 \
3 ; RUN: -verify-machineinstrs < %s | FileCheck %s
5 ; Function Attrs: nounwind
6 define i64 @move() {
7 ; CHECK-LABEL: move:
8 ; CHECK:       # %bb.0: # %entry
9 ; CHECK-NEXT:    addiusp -24
10 ; CHECK-NEXT:    .cfi_def_cfa_offset 24
11 ; CHECK-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
12 ; CHECK-NEXT:    .cfi_offset 31, -4
13 ; CHECK-NEXT:    jal g
14 ; CHECK-NEXT:    nop
15 ; CHECK-NEXT:    movep $4, $5, $2, $3
16 ; CHECK-NEXT:    jal f
17 ; CHECK-NEXT:    nop
18 ; CHECK-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
19 ; CHECK-NEXT:    addiusp 24
20 ; CHECK-NEXT:    jrc $ra
21 entry:
22   %call = call i64 @g()
23   %call1 = call i64 @f(i64 signext %call)
24   ret i64 %call1
27 declare i64 @f(i64 signext %a)
28 declare i64 @g()