summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/AArch64/sdivpow2.ll19
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
+}
+
OpenPOWER on IntegriCloud