diff options
Diffstat (limited to 'llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll')
| -rw-r--r-- | llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll b/llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll index 6136c321c08c..252ecd33ca47 100644 --- a/llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll +++ b/llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll @@ -48,38 +48,35 @@ for.body: ; preds = %for.body.preheader, define void @test2(ptr nocapture noundef %a, i32 noundef signext %n) { ; CHECK-LABEL: test2: ; CHECK: # %bb.0: # %entry -; CHECK-NEXT: blez a1, .LBB1_7 +; CHECK-NEXT: blez a1, .LBB1_6 ; CHECK-NEXT: # %bb.1: # %for.body.preheader -; CHECK-NEXT: li a3, 1 -; CHECK-NEXT: andi a2, a1, 1 -; CHECK-NEXT: bne a1, a3, .LBB1_3 -; CHECK-NEXT: # %bb.2: -; CHECK-NEXT: li a3, 0 -; CHECK-NEXT: j .LBB1_5 -; CHECK-NEXT: .LBB1_3: # %for.body.preheader.new -; CHECK-NEXT: li a3, 0 +; CHECK-NEXT: li a4, 1 +; CHECK-NEXT: andi a3, a1, 1 +; CHECK-NEXT: li a2, 0 +; CHECK-NEXT: beq a1, a4, .LBB1_4 +; CHECK-NEXT: # %bb.2: # %for.body.preheader.new ; CHECK-NEXT: andi a1, a1, -2 ; CHECK-NEXT: addi a4, a0, 4 -; CHECK-NEXT: .LBB1_4: # %for.body +; CHECK-NEXT: .LBB1_3: # %for.body ; CHECK-NEXT: # =>This Inner Loop Header: Depth=1 ; CHECK-NEXT: lw a5, -4(a4) ; CHECK-NEXT: lw a6, 0(a4) -; CHECK-NEXT: addi a3, a3, 2 +; CHECK-NEXT: addi a2, a2, 2 ; CHECK-NEXT: addi a5, a5, 4 ; CHECK-NEXT: addi a6, a6, 4 ; CHECK-NEXT: sw a5, -4(a4) ; CHECK-NEXT: sw a6, 0(a4) ; CHECK-NEXT: addi a4, a4, 8 -; CHECK-NEXT: bne a1, a3, .LBB1_4 -; CHECK-NEXT: .LBB1_5: # %for.cond.cleanup.loopexit.unr-lcssa -; CHECK-NEXT: beqz a2, .LBB1_7 -; CHECK-NEXT: # %bb.6: # %for.body.epil -; CHECK-NEXT: slli a3, a3, 2 -; CHECK-NEXT: add a0, a0, a3 +; CHECK-NEXT: bne a1, a2, .LBB1_3 +; CHECK-NEXT: .LBB1_4: # %for.cond.cleanup.loopexit.unr-lcssa +; CHECK-NEXT: beqz a3, .LBB1_6 +; CHECK-NEXT: # %bb.5: # %for.body.epil +; CHECK-NEXT: slli a2, a2, 2 +; CHECK-NEXT: add a0, a0, a2 ; CHECK-NEXT: lw a1, 0(a0) ; CHECK-NEXT: addi a1, a1, 4 ; CHECK-NEXT: sw a1, 0(a0) -; CHECK-NEXT: .LBB1_7: # %for.cond.cleanup +; CHECK-NEXT: .LBB1_6: # %for.cond.cleanup ; CHECK-NEXT: ret entry: %cmp3 = icmp sgt i32 %n, 0 |
