summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/SafeDivRemIntrinsics-Opts.ll
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-04-21 07:11:15 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-04-21 07:11:15 +0000
commit81549a0a3907f7e49f4f49bdfdadc313cf61025a (patch)
tree18e6fe174a3449ce55dd4a40c2b1bcefa1948c2c /test/CodeGen/X86/SafeDivRemIntrinsics-Opts.ll
parent215fc7d9988bda6ae21370def427aaa81349a34a (diff)
downloadllvm-81549a0a3907f7e49f4f49bdfdadc313cf61025a.tar.gz
llvm-81549a0a3907f7e49f4f49bdfdadc313cf61025a.tar.bz2
llvm-81549a0a3907f7e49f4f49bdfdadc313cf61025a.tar.xz
Revert r206732 which is causing llc to crash on most of the build bots.
Original commit message: Implement builtins for safe division: safe.sdiv.iN, safe.udiv.iN, safe.srem.iN, safe.urem.iN (iN = i8, i61, i32, or i64). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206735 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/SafeDivRemIntrinsics-Opts.ll')
-rw-r--r--test/CodeGen/X86/SafeDivRemIntrinsics-Opts.ll110
1 files changed, 0 insertions, 110 deletions
diff --git a/test/CodeGen/X86/SafeDivRemIntrinsics-Opts.ll b/test/CodeGen/X86/SafeDivRemIntrinsics-Opts.ll
deleted file mode 100644
index 90763166b7..0000000000
--- a/test/CodeGen/X86/SafeDivRemIntrinsics-Opts.ll
+++ /dev/null
@@ -1,110 +0,0 @@
-; RUN: llc < %s | FileCheck %s
-target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
-
-%divovf32 = type { i32, i1 }
-
-declare %divovf32 @llvm.safe.sdiv.i32(i32, i32) nounwind readnone
-declare %divovf32 @llvm.safe.udiv.i32(i32, i32) nounwind readnone
-
-; CHECK-LABEL: sdiv32_results_unused
-; CHECK: entry
-; CHECK-NEXT: ret
-define void @sdiv32_results_unused(i32 %x, i32 %y) {
-entry:
- %divr = call %divovf32 @llvm.safe.sdiv.i32(i32 %x, i32 %y)
- ret void
-}
-
-; CHECK-LABEL: sdiv32_div_result_unused
-; CHECK-NOT: idiv
-define i1 @sdiv32_div_result_unused(i32 %x, i32 %y) {
-entry:
- %divr = call %divovf32 @llvm.safe.sdiv.i32(i32 %x, i32 %y)
- %bit = extractvalue %divovf32 %divr, 1
- ret i1 %bit
-}
-
-; CHECK-LABEL: sdiv32_flag_result_unused
-; CHECK: idiv
-define i32 @sdiv32_flag_result_unused(i32 %x, i32 %y) {
-entry:
- %divr = call %divovf32 @llvm.safe.sdiv.i32(i32 %x, i32 %y)
- %div = extractvalue %divovf32 %divr, 0
- ret i32 %div
-}
-
-; CHECK-LABEL: sdiv32_result_returned
-; CHECK: idiv
-define %divovf32 @sdiv32_result_returned(i32 %x, i32 %y) {
-entry:
- %divr = call %divovf32 @llvm.safe.sdiv.i32(i32 %x, i32 %y)
- ret %divovf32 %divr
-}
-
-; CHECK-LABEL: sdiv32_trap_relinked
-; CHECK: %div.div{{min|z}}
-define i32 @sdiv32_trap_relinked(i32 %x, i32 %y) {
-entry:
- %divr = call %divovf32 @llvm.safe.sdiv.i32(i32 %x, i32 %y)
- %div = extractvalue %divovf32 %divr, 0
- %bit = extractvalue %divovf32 %divr, 1
- br i1 %bit, label %trap.bb, label %ok.bb
-trap.bb:
- ret i32 7
-ok.bb:
- ret i32 %div
-}
-
-; CHECK-LABEL: udiv32_results_unused
-; CHECK: entry
-; CHECK-NEXT: ret
-define void @udiv32_results_unused(i32 %x, i32 %y) {
-entry:
- %divr = call %divovf32 @llvm.safe.udiv.i32(i32 %x, i32 %y)
- ret void
-}
-
-; CHECK-LABEL: udiv32_div_result_unused
-; CHECK-NOT: udiv{{[ ]}}
-define i1 @udiv32_div_result_unused(i32 %x, i32 %y) {
-entry:
- %divr = call %divovf32 @llvm.safe.udiv.i32(i32 %x, i32 %y)
- %bit = extractvalue %divovf32 %divr, 1
- ret i1 %bit
-}
-
-; CHECK-LABEL: udiv32_flag_result_unused
-; CHECK-NOT: cb
-; CHECK: {{[ ]}}div
-define i32 @udiv32_flag_result_unused(i32 %x, i32 %y) {
-entry:
- %divr = call %divovf32 @llvm.safe.udiv.i32(i32 %x, i32 %y)
- %div = extractvalue %divovf32 %divr, 0
- ret i32 %div
-}
-
-; CHECK-LABEL: udiv32_result_returned
-; CHECK: {{[ ]}}div
-define %divovf32 @udiv32_result_returned(i32 %x, i32 %y) {
-entry:
- %divr = call %divovf32 @llvm.safe.udiv.i32(i32 %x, i32 %y)
- ret %divovf32 %divr
-}
-
-; CHECK-LABEL: udiv32_trap_relinked
-; CHECK: %div.divz
-define i32 @udiv32_trap_relinked(i32 %x, i32 %y) {
-entry:
- %divr = call %divovf32 @llvm.safe.udiv.i32(i32 %x, i32 %y)
- %div = extractvalue %divovf32 %divr, 0
- %bit = extractvalue %divovf32 %divr, 1
- br i1 %bit, label %trap.bb, label %ok.bb
-trap.bb:
- ret i32 7
-ok.bb:
- ret i32 %div
-}
-
-!llvm.ident = !{!0}
-
-!0 = metadata !{metadata !"clang version 3.5.0 "}