blob: 32f4c23c2de29c380b051cd7ab3d9cd149257aa0 [file] [log] [blame]
Bob Wilson9f3e6b22013-11-15 19:09:27 +00001; fastisel should not fold add with non-pointer bitwidth
2; sext(a) + sext(b) != sext(a + b)
3; RUN: llc -mtriple=powerpc64-unknown-freebsd10.0 %s -O0 -o - | FileCheck %s
4
Eric Christopher1fb23392015-07-24 01:07:50 +00005define zeroext i8 @gep_promotion(i8* %ptr) nounwind {
Bob Wilson9f3e6b22013-11-15 19:09:27 +00006entry:
7 %ptr.addr = alloca i8*, align 8
8 %add = add i8 64, 64 ; 0x40 + 0x40
David Blaikiea79ac142015-02-27 21:17:42 +00009 %0 = load i8*, i8** %ptr.addr, align 8
Bob Wilson9f3e6b22013-11-15 19:09:27 +000010
11 ; CHECK-LABEL: gep_promotion:
12 ; CHECK: lbz {{[0-9]+}}, 0({{.*}})
David Blaikie79e6c742015-02-27 19:29:02 +000013 %arrayidx = getelementptr inbounds i8, i8* %0, i8 %add
Bob Wilson9f3e6b22013-11-15 19:09:27 +000014
David Blaikiea79ac142015-02-27 21:17:42 +000015 %1 = load i8, i8* %arrayidx, align 1
Bob Wilson9f3e6b22013-11-15 19:09:27 +000016 ret i8 %1
17}