aboutsummaryrefslogtreecommitdiffstats
path: root/test/Analysis/ValueTracking/pr23011.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Analysis/ValueTracking/pr23011.ll')
-rw-r--r--test/Analysis/ValueTracking/pr23011.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Analysis/ValueTracking/pr23011.ll b/test/Analysis/ValueTracking/pr23011.ll
new file mode 100644
index 0000000..9edc1c4
--- /dev/null
+++ b/test/Analysis/ValueTracking/pr23011.ll
@@ -0,0 +1,15 @@
+; RUN: opt -indvars -S < %s | FileCheck %s
+
+declare { i8, i1 } @llvm.smul.with.overflow.i8(i8, i8) nounwind readnone
+
+define i1 @test1(i8 %x) {
+ entry:
+; CHECK-LABEL: @test1
+ %rem = srem i8 %x, 15
+ %t = call { i8, i1 } @llvm.smul.with.overflow.i8(i8 %rem, i8 %rem)
+; CHECK: %t = call { i8, i1 } @llvm.smul.with.overflow.i8(i8 %rem, i8 %rem)
+; CHECK: %obit = extractvalue { i8, i1 } %t, 1
+; CHECK: ret i1 %obit
+ %obit = extractvalue { i8, i1 } %t, 1
+ ret i1 %obit
+}