| target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v128:128:128-n32:64" |
| target triple = "powerpc64-unknown-linux-gnu" |
| ; RUN: llc -disable-ppc-unaligned < %s | FileCheck %s |
| |
| define fastcc void @allocateSpace(i1 %cond1, i1 %cond2) nounwind { |
| entry: |
| %0 = load i8** undef, align 8, !tbaa !0 |
| br i1 undef, label %return, label %lor.lhs.false |
| |
| lor.lhs.false: ; preds = %entry |
| br i1 undef, label %if.end7, label %return |
| |
| if.end7: ; preds = %lor.lhs.false |
| br i1 undef, label %if.then15, label %if.end71 |
| |
| if.then15: ; preds = %if.end7 |
| br label %while.cond |
| |
| while.cond: ; preds = %while.body, %if.then15 |
| %idxprom17 = sext i32 0 to i64 |
| %arrayidx18 = getelementptr inbounds i8* %0, i64 %idxprom17 |
| %or = or i32 undef, undef |
| br i1 %cond1, label %if.end71, label %while.body |
| |
| while.body: ; preds = %while.cond |
| br i1 %cond2, label %while.cond, label %if.then45 |
| |
| if.then45: ; preds = %while.body |
| %idxprom48139 = zext i32 %or to i64 |
| %arrayidx49 = getelementptr inbounds i8* %0, i64 %idxprom48139 |
| %1 = bitcast i8* %arrayidx49 to i16* |
| %2 = bitcast i8* %arrayidx18 to i16* |
| %3 = load i16* %1, align 1 |
| store i16 %3, i16* %2, align 1 |
| br label %return |
| |
| if.end71: ; preds = %while.cond, %if.end7 |
| unreachable |
| |
| return: ; preds = %if.then45, %lor.lhs.false, %entry |
| ret void |
| |
| ; CHECK: @allocateSpace |
| ; CHECK: lbzux |
| } |
| |
| !0 = metadata !{metadata !"any pointer", metadata !1} |
| !1 = metadata !{metadata !"omnipotent char", metadata !2} |
| !2 = metadata !{metadata !"Simple C/C++ TBAA"} |