; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu
; rdar://7819990

%0 = type { i32 }
%1 = type { i64 }
%struct.Buffer = type { [1024 x i8], i64, i64, i64 }
%struct.InStream = type { %struct.Buffer, %0, %1, i32*, %struct.InStreamMethods* }
%struct.InStreamMethods = type { void (%struct.InStream*, i8*, i32)*, void (%struct.InStream*, i64)*, i64 (%struct.InStream*)*, void (%struct.InStream*)* }

define i64 @t(%struct.InStream* %is) nounwind optsize ssp {
entry:
  br i1 undef, label %is_read_byte.exit, label %bb.i

bb.i:                                             ; preds = %entry
  br label %is_read_byte.exit

is_read_byte.exit:                                ; preds = %bb.i, %entry
  br i1 undef, label %is_read_byte.exit22, label %bb.i21

bb.i21:                                           ; preds = %is_read_byte.exit
  unreachable

is_read_byte.exit22:                              ; preds = %is_read_byte.exit
  br i1 undef, label %is_read_byte.exit19, label %bb.i18

bb.i18:                                           ; preds = %is_read_byte.exit22
  br label %is_read_byte.exit19

is_read_byte.exit19:                              ; preds = %bb.i18, %is_read_byte.exit22
  br i1 undef, label %is_read_byte.exit16, label %bb.i15

bb.i15:                                           ; preds = %is_read_byte.exit19
  unreachable

is_read_byte.exit16:                              ; preds = %is_read_byte.exit19
  %0 = shl i64 undef, 32                          ; <i64> [#uses=1]
  br i1 undef, label %is_read_byte.exit13, label %bb.i12

bb.i12:                                           ; preds = %is_read_byte.exit16
  unreachable

is_read_byte.exit13:                              ; preds = %is_read_byte.exit16
  %1 = shl i64 undef, 24                          ; <i64> [#uses=1]
  br i1 undef, label %is_read_byte.exit10, label %bb.i9

bb.i9:                                            ; preds = %is_read_byte.exit13
  unreachable

is_read_byte.exit10:                              ; preds = %is_read_byte.exit13
  %2 = shl i64 undef, 16                          ; <i64> [#uses=1]
  br i1 undef, label %is_read_byte.exit7, label %bb.i6

bb.i6:                                            ; preds = %is_read_byte.exit10
  br label %is_read_byte.exit7

is_read_byte.exit7:                               ; preds = %bb.i6, %is_read_byte.exit10
  %3 = shl i64 undef, 8                           ; <i64> [#uses=1]
  br i1 undef, label %is_read_byte.exit4, label %bb.i3

bb.i3:                                            ; preds = %is_read_byte.exit7
  unreachable

is_read_byte.exit4:                               ; preds = %is_read_byte.exit7
  %4 = or i64 0, %0                               ; <i64> [#uses=1]
  %5 = or i64 %4, %1                              ; <i64> [#uses=1]
  %6 = or i64 %5, %2                              ; <i64> [#uses=1]
  %7 = or i64 %6, %3                              ; <i64> [#uses=1]
  %8 = or i64 %7, 0                               ; <i64> [#uses=1]
  ret i64 %8
}
