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 -verify-machineinstrs < %s | FileCheck %s

@multvec_i = external unnamed_addr global [100 x i32], align 4

define fastcc void @subs_STMultiExceptIntern(i32 %input) nounwind {
entry:
  br i1 undef, label %while.body.lr.ph, label %return

while.body.lr.ph:                                 ; preds = %entry
  br label %while.body

while.body:                                       ; preds = %if.end12, %while.body.lr.ph
  %i.0240 = phi i32 [ -1, %while.body.lr.ph ], [ %i.1, %if.end12 ]
  br i1 undef, label %if.end12, label %if.then

if.then:                                          ; preds = %while.body
  %0 = add i32 %input, 1
  br label %if.end12

if.end12:                                         ; preds = %if.then, %while.body
  %i.1 = phi i32 [ %i.0240, %while.body ], [ %0, %if.then ]
  br i1 undef, label %while.body, label %while.end

while.end:                                        ; preds = %if.end12
  br i1 undef, label %return, label %if.end15

if.end15:                                         ; preds = %while.end
  %idxprom.i.i230 = sext i32 %i.1 to i64
  %arrayidx18 = getelementptr inbounds [100 x i32], [100 x i32]* @multvec_i, i64 0, i64 %idxprom.i.i230
  store i32 0, i32* %arrayidx18, align 4
  br i1 undef, label %while.body21, label %while.end90

while.body21:                                     ; preds = %if.end15
  unreachable

while.end90:                                      ; preds = %if.end15
  store i32 0, i32* %arrayidx18, align 4
  br label %return

return:                                           ; preds = %while.end90, %while.end, %entry
  ret void

; CHECK: @subs_STMultiExceptIntern
; CHECK: stwux
}

