diff options
author | Stephen Hines <srhines@google.com> | 2014-12-01 14:51:49 -0800 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2014-12-02 16:08:10 -0800 |
commit | 37ed9c199ca639565f6ce88105f9e39e898d82d0 (patch) | |
tree | 8fb36d3910e3ee4c4e1b7422f4f017108efc52f5 /test/CodeGen/PowerPC/ppc32-lshrti3.ll | |
parent | d2327b22152ced7bc46dc629fc908959e8a52d03 (diff) | |
download | external_llvm-37ed9c199ca639565f6ce88105f9e39e898d82d0.zip external_llvm-37ed9c199ca639565f6ce88105f9e39e898d82d0.tar.gz external_llvm-37ed9c199ca639565f6ce88105f9e39e898d82d0.tar.bz2 |
Update aosp/master LLVM for rebase to r222494.
Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
Diffstat (limited to 'test/CodeGen/PowerPC/ppc32-lshrti3.ll')
-rw-r--r-- | test/CodeGen/PowerPC/ppc32-lshrti3.ll | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/ppc32-lshrti3.ll b/test/CodeGen/PowerPC/ppc32-lshrti3.ll new file mode 100644 index 0000000..6e76fea --- /dev/null +++ b/test/CodeGen/PowerPC/ppc32-lshrti3.ll @@ -0,0 +1,39 @@ +; RUN: llc -O=2 < %s -mtriple=powerpc-netbsd | FileCheck %s + +; CHECK-NOT: bl __lshrti3 + +; ModuleID = 'lshrti3-ppc32.c' +target datalayout = "E-m:e-p:32:32-i64:64-n32" +target triple = "powerpc--netbsd" + +; Function Attrs: nounwind uwtable +define i32 @fn1() #0 { +entry: + %.promoted = load i72* inttoptr (i32 1 to i72*), align 4 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %bf.set3 = phi i72 [ %bf.set, %while.cond ], [ %.promoted, %entry ] + %bf.lshr = lshr i72 %bf.set3, 40 + %bf.lshr.tr = trunc i72 %bf.lshr to i32 + %bf.cast = and i32 %bf.lshr.tr, 65535 + %dec = add nsw i32 %bf.lshr.tr, 65535 + %0 = zext i32 %dec to i72 + %bf.value = shl nuw i72 %0, 40 + %bf.shl = and i72 %bf.value, 72056494526300160 + %bf.clear2 = and i72 %bf.set3, -72056494526300161 + %bf.set = or i72 %bf.shl, %bf.clear2 + %tobool = icmp eq i32 %bf.cast, 0 + br i1 %tobool, label %while.end, label %while.cond + +while.end: ; preds = %while.cond + %bf.set.lcssa = phi i72 [ %bf.set, %while.cond ] + store i72 %bf.set.lcssa, i72* inttoptr (i32 1 to i72*), align 4 + ret i32 undef +} + +attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } + +!llvm.ident = !{!0} + +!0 = metadata !{metadata !"clang version 3.5.0 (213754)"} |