summaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/i128-sdiv.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/X86/i128-sdiv.ll')
-rw-r--r--test/CodeGen/X86/i128-sdiv.ll24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/CodeGen/X86/i128-sdiv.ll b/test/CodeGen/X86/i128-sdiv.ll
new file mode 100644
index 0000000..ab5cdda
--- /dev/null
+++ b/test/CodeGen/X86/i128-sdiv.ll
@@ -0,0 +1,24 @@
+; RUN: llc < %s -march=x86-64 | FileCheck %s
+; Make sure none of these crash, and that the power-of-two transformations
+; trigger correctly.
+
+define i128 @test1(i128 %x) {
+ ; CHECK: test1:
+ ; CHECK-NOT: call
+ %tmp = sdiv i128 %x, 73786976294838206464
+ ret i128 %tmp
+}
+
+define i128 @test2(i128 %x) {
+ ; CHECK: test2:
+ ; CHECK-NOT: call
+ %tmp = sdiv i128 %x, -73786976294838206464
+ ret i128 %tmp
+}
+
+define i128 @test3(i128 %x) {
+ ; CHECK: test3:
+ ; CHECK: call
+ %tmp = sdiv i128 %x, -73786976294838206467
+ ret i128 %tmp
+}
OpenPOWER on IntegriCloud