40 lines · plain
1; RUN: llc -verify-machineinstrs -O=2 < %s -mtriple=powerpc-netbsd | FileCheck %s2 3; CHECK-NOT: bl __lshrti34 5; ModuleID = 'lshrti3-ppc32.c'6target datalayout = "E-m:e-p:32:32-i64:64-n32"7target triple = "powerpc--netbsd"8 9; Function Attrs: nounwind uwtable10define i32 @fn1() #0 {11entry:12 %.promoted = load i72, ptr inttoptr (i32 1 to ptr), align 413 br label %while.cond14 15while.cond: ; preds = %while.cond, %entry16 %bf.set3 = phi i72 [ %bf.set, %while.cond ], [ %.promoted, %entry ]17 %bf.lshr = lshr i72 %bf.set3, 4018 %bf.lshr.tr = trunc i72 %bf.lshr to i3219 %bf.cast = and i32 %bf.lshr.tr, 6553520 %dec = add nsw i32 %bf.lshr.tr, 6553521 %0 = zext i32 %dec to i7222 %bf.value = shl nuw i72 %0, 4023 %bf.shl = and i72 %bf.value, 7205649452630016024 %bf.clear2 = and i72 %bf.set3, -7205649452630016125 %bf.set = or i72 %bf.shl, %bf.clear226 %tobool = icmp eq i32 %bf.cast, 027 br i1 %tobool, label %while.end, label %while.cond28 29while.end: ; preds = %while.cond30 %bf.set.lcssa = phi i72 [ %bf.set, %while.cond ]31 store i72 %bf.set.lcssa, ptr inttoptr (i32 1 to ptr), align 432 ret i32 undef33}34 35attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "use-soft-float"="false" }36 37!llvm.ident = !{!0}38 39!0 = !{!"clang version 3.5.0 (213754)"}40