aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/InstCombine/overflow-mul.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/InstCombine/overflow-mul.ll')
-rw-r--r--test/Transforms/InstCombine/overflow-mul.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/overflow-mul.ll b/test/Transforms/InstCombine/overflow-mul.ll
index 6d8d40b..bc0504b 100644
--- a/test/Transforms/InstCombine/overflow-mul.ll
+++ b/test/Transforms/InstCombine/overflow-mul.ll
@@ -174,6 +174,17 @@ define <4 x i32> @pr20113(<4 x i16> %a, <4 x i16> %b) {
ret <4 x i32> %vcgez.i
}
+
+; The last test needs this weird datalayout.
+target datalayout = "i32:8:8"
+; Without it, InstCombine will align the pointed on 4 Bytes
+; The KnownBitsZero that result from the alignment allows to
+; turn:
+; and i32 %mul, 255
+; to:
+; and i32 %mul, 252
+; The mask is no longer in the form 2^n-1 and this prevents the transformation.
+
@pr21445_data = external global i32
define i1 @pr21445(i8 %a) {
; CHECK-LABEL: @pr21445(