diff options
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/AArch64/sdivpow2.ll | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/sdivpow2.ll b/llvm/test/CodeGen/AArch64/sdivpow2.ll index 158a778f0e9..25e89176ad0 100644 --- a/llvm/test/CodeGen/AArch64/sdivpow2.ll +++ b/llvm/test/CodeGen/AArch64/sdivpow2.ll @@ -87,3 +87,22 @@ define i64 @test7(i64 %x) { ret i64 %div } +define i64 @test8(i64 %x) { +; ISEL-LABEL: test8: +; ISEL: // %bb.0: +; ISEL-NEXT: cmp x0, #0 // =0 +; ISEL-NEXT: cinc x8, x0, lt +; ISEL-NEXT: asr x0, x8, #1 +; ISEL-NEXT: ret +; +; FAST-LABEL: test8: +; FAST: // %bb.0: +; FAST-NEXT: add x8, x0, #1 // =1 +; FAST-NEXT: cmp x0, #0 // =0 +; FAST-NEXT: csel x8, x8, x0, lt +; FAST-NEXT: asr x0, x8, #1 +; FAST-NEXT: ret + %div = sdiv i64 %x, 2 + ret i64 %div +} + |

