diff options
Diffstat (limited to 'llvm/test/CodeGen/ARM/umulo-32.ll')
-rw-r--r-- | llvm/test/CodeGen/ARM/umulo-32.ll | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/llvm/test/CodeGen/ARM/umulo-32.ll b/llvm/test/CodeGen/ARM/umulo-32.ll index 9b099c2a2b9..608788130a3 100644 --- a/llvm/test/CodeGen/ARM/umulo-32.ll +++ b/llvm/test/CodeGen/ARM/umulo-32.ll @@ -31,22 +31,23 @@ define i32 @test2(i32* %m_degree) ssp { ; CHECK-LABEL: test2: ; CHECK: @ %bb.0: ; CHECK-NEXT: push {r4, lr} +; CHECK-NEXT: movs r1, #7 +; CHECK-NEXT: lsls r1, r1, #29 ; CHECK-NEXT: ldr r0, [r0] -; CHECK-NEXT: movs r2, #8 +; CHECK-NEXT: mov r2, r0 +; CHECK-NEXT: bics r2, r1 +; CHECK-NEXT: subs r1, r0, r2 +; CHECK-NEXT: subs r2, r1, #1 +; CHECK-NEXT: sbcs r1, r2 ; CHECK-NEXT: movs r4, #0 -; CHECK-NEXT: mov r1, r4 -; CHECK-NEXT: mov r3, r4 -; CHECK-NEXT: bl __muldi3 ; CHECK-NEXT: cmp r1, #0 -; CHECK-NEXT: beq .LBB1_2 +; CHECK-NEXT: bne .LBB1_2 ; CHECK-NEXT: @ %bb.1: -; CHECK-NEXT: movs r1, #1 +; CHECK-NEXT: lsls r0, r0, #3 +; CHECK-NEXT: b .LBB1_3 ; CHECK-NEXT: .LBB1_2: -; CHECK-NEXT: cmp r1, #0 -; CHECK-NEXT: beq .LBB1_4 -; CHECK-NEXT: @ %bb.3: ; CHECK-NEXT: mvns r0, r4 -; CHECK-NEXT: .LBB1_4: +; CHECK-NEXT: .LBB1_3: ; CHECK-NEXT: bl _Znam ; CHECK-NEXT: mov r0, r4 ; CHECK-NEXT: pop {r4, pc} |