; REQUIRES: asserts
; RUN: llc < %s -mtriple=x86_64-apple-darwin10.0 -relocation-model=pic -disable-fp-elim -stats 2>&1 | FileCheck %s
; XFAIL: *
; 69408 removed the opportunity for this optimization to work

; CHECK: {{Number of modref unfolded}}

	%struct.SHA512_CTX = type { [8 x i64], i64, i64, %struct.anon, i32, i32 }
	%struct.anon = type { [16 x i64] }
@K512 = external constant [80 x i64], align 32		; <[80 x i64]*> [#uses=2]

define fastcc void @sha512_block_data_order(%struct.SHA512_CTX* nocapture %ctx, i8* nocapture %in, i64 %num) nounwind ssp {
entry:
	br label %bb349

bb349:		; preds = %bb349, %entry
	%e.0489 = phi i64 [ 0, %entry ], [ %e.0, %bb349 ]		; <i64> [#uses=3]
	%b.0472 = phi i64 [ 0, %entry ], [ %87, %bb349 ]		; <i64> [#uses=2]
	%asmtmp356 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 41, i64 %e.0489) nounwind		; <i64> [#uses=1]
	%0 = xor i64 0, %asmtmp356		; <i64> [#uses=1]
	%1 = add i64 0, %0		; <i64> [#uses=1]
	%2 = add i64 %1, 0		; <i64> [#uses=1]
	%3 = add i64 %2, 0		; <i64> [#uses=1]
	%4 = add i64 %3, 0		; <i64> [#uses=5]
	%asmtmp372 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 34, i64 %4) nounwind		; <i64> [#uses=1]
	%asmtmp373 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 39, i64 %4) nounwind		; <i64> [#uses=0]
	%5 = xor i64 %asmtmp372, 0		; <i64> [#uses=0]
	%6 = xor i64 0, %b.0472		; <i64> [#uses=1]
	%7 = and i64 %4, %6		; <i64> [#uses=1]
	%8 = xor i64 %7, 0		; <i64> [#uses=1]
	%9 = add i64 0, %8		; <i64> [#uses=1]
	%10 = add i64 %9, 0		; <i64> [#uses=2]
	%asmtmp377 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 61, i64 0) nounwind		; <i64> [#uses=1]
	%11 = xor i64 0, %asmtmp377		; <i64> [#uses=1]
	%12 = add i64 0, %11		; <i64> [#uses=1]
	%13 = add i64 %12, 0		; <i64> [#uses=1]
	%not381 = xor i64 0, -1		; <i64> [#uses=1]
	%14 = and i64 %e.0489, %not381		; <i64> [#uses=1]
	%15 = xor i64 0, %14		; <i64> [#uses=1]
	%16 = add i64 %15, 0		; <i64> [#uses=1]
	%17 = add i64 %16, %13		; <i64> [#uses=1]
	%18 = add i64 %17, 0		; <i64> [#uses=1]
	%19 = add i64 %18, 0		; <i64> [#uses=2]
	%20 = add i64 %19, %b.0472		; <i64> [#uses=3]
	%21 = add i64 %19, 0		; <i64> [#uses=1]
	%22 = add i64 %21, 0		; <i64> [#uses=1]
	%23 = add i32 0, 12		; <i32> [#uses=1]
	%24 = and i32 %23, 12		; <i32> [#uses=1]
	%25 = zext i32 %24 to i64		; <i64> [#uses=1]
	%26 = getelementptr [16 x i64]* null, i64 0, i64 %25		; <i64*> [#uses=0]
	%27 = add i64 0, %e.0489		; <i64> [#uses=1]
	%28 = add i64 %27, 0		; <i64> [#uses=1]
	%29 = add i64 %28, 0		; <i64> [#uses=1]
	%30 = add i64 %29, 0		; <i64> [#uses=2]
	%31 = and i64 %10, %4		; <i64> [#uses=1]
	%32 = xor i64 0, %31		; <i64> [#uses=1]
	%33 = add i64 %30, 0		; <i64> [#uses=3]
	%34 = add i64 %30, %32		; <i64> [#uses=1]
	%35 = add i64 %34, 0		; <i64> [#uses=1]
	%36 = and i64 %33, %20		; <i64> [#uses=1]
	%37 = xor i64 %36, 0		; <i64> [#uses=1]
	%38 = add i64 %37, 0		; <i64> [#uses=1]
	%39 = add i64 %38, 0		; <i64> [#uses=1]
	%40 = add i64 %39, 0		; <i64> [#uses=1]
	%41 = add i64 %40, 0		; <i64> [#uses=1]
	%42 = add i64 %41, %4		; <i64> [#uses=3]
	%43 = or i32 0, 6		; <i32> [#uses=1]
	%44 = and i32 %43, 14		; <i32> [#uses=1]
	%45 = zext i32 %44 to i64		; <i64> [#uses=1]
	%46 = getelementptr [16 x i64]* null, i64 0, i64 %45		; <i64*> [#uses=1]
	%not417 = xor i64 %42, -1		; <i64> [#uses=1]
	%47 = and i64 %20, %not417		; <i64> [#uses=1]
	%48 = xor i64 0, %47		; <i64> [#uses=1]
	%49 = getelementptr [80 x i64]* @K512, i64 0, i64 0		; <i64*> [#uses=1]
	%50 = load i64* %49, align 8		; <i64> [#uses=1]
	%51 = add i64 %48, 0		; <i64> [#uses=1]
	%52 = add i64 %51, 0		; <i64> [#uses=1]
	%53 = add i64 %52, 0		; <i64> [#uses=1]
	%54 = add i64 %53, %50		; <i64> [#uses=2]
	%asmtmp420 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 34, i64 0) nounwind		; <i64> [#uses=1]
	%asmtmp421 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 39, i64 0) nounwind		; <i64> [#uses=1]
	%55 = xor i64 %asmtmp420, 0		; <i64> [#uses=1]
	%56 = xor i64 %55, %asmtmp421		; <i64> [#uses=1]
	%57 = add i64 %54, %10		; <i64> [#uses=5]
	%58 = add i64 %54, 0		; <i64> [#uses=1]
	%59 = add i64 %58, %56		; <i64> [#uses=2]
	%60 = or i32 0, 7		; <i32> [#uses=1]
	%61 = and i32 %60, 15		; <i32> [#uses=1]
	%62 = zext i32 %61 to i64		; <i64> [#uses=1]
	%63 = getelementptr [16 x i64]* null, i64 0, i64 %62		; <i64*> [#uses=2]
	%64 = load i64* null, align 8		; <i64> [#uses=1]
	%65 = lshr i64 %64, 6		; <i64> [#uses=1]
	%66 = xor i64 0, %65		; <i64> [#uses=1]
	%67 = xor i64 %66, 0		; <i64> [#uses=1]
	%68 = load i64* %46, align 8		; <i64> [#uses=1]
	%69 = load i64* null, align 8		; <i64> [#uses=1]
	%70 = add i64 %68, 0		; <i64> [#uses=1]
	%71 = add i64 %70, %67		; <i64> [#uses=1]
	%72 = add i64 %71, %69		; <i64> [#uses=1]
	%asmtmp427 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 18, i64 %57) nounwind		; <i64> [#uses=1]
	%asmtmp428 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 41, i64 %57) nounwind		; <i64> [#uses=1]
	%73 = xor i64 %asmtmp427, 0		; <i64> [#uses=1]
	%74 = xor i64 %73, %asmtmp428		; <i64> [#uses=1]
	%75 = and i64 %57, %42		; <i64> [#uses=1]
	%not429 = xor i64 %57, -1		; <i64> [#uses=1]
	%76 = and i64 %33, %not429		; <i64> [#uses=1]
	%77 = xor i64 %75, %76		; <i64> [#uses=1]
	%78 = getelementptr [80 x i64]* @K512, i64 0, i64 0		; <i64*> [#uses=1]
	%79 = load i64* %78, align 16		; <i64> [#uses=1]
	%80 = add i64 %77, %20		; <i64> [#uses=1]
	%81 = add i64 %80, %72		; <i64> [#uses=1]
	%82 = add i64 %81, %74		; <i64> [#uses=1]
	%83 = add i64 %82, %79		; <i64> [#uses=1]
	%asmtmp432 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 34, i64 %59) nounwind		; <i64> [#uses=1]
	%asmtmp433 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 39, i64 %59) nounwind		; <i64> [#uses=1]
	%84 = xor i64 %asmtmp432, 0		; <i64> [#uses=1]
	%85 = xor i64 %84, %asmtmp433		; <i64> [#uses=1]
	%86 = add i64 %83, %22		; <i64> [#uses=2]
	%87 = add i64 0, %85		; <i64> [#uses=1]
	%asmtmp435 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 8, i64 0) nounwind		; <i64> [#uses=1]
	%88 = xor i64 0, %asmtmp435		; <i64> [#uses=1]
	%89 = load i64* null, align 8		; <i64> [#uses=3]
	%asmtmp436 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 19, i64 %89) nounwind		; <i64> [#uses=1]
	%asmtmp437 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 61, i64 %89) nounwind		; <i64> [#uses=1]
	%90 = lshr i64 %89, 6		; <i64> [#uses=1]
	%91 = xor i64 %asmtmp436, %90		; <i64> [#uses=1]
	%92 = xor i64 %91, %asmtmp437		; <i64> [#uses=1]
	%93 = load i64* %63, align 8		; <i64> [#uses=1]
	%94 = load i64* null, align 8		; <i64> [#uses=1]
	%95 = add i64 %93, %88		; <i64> [#uses=1]
	%96 = add i64 %95, %92		; <i64> [#uses=1]
	%97 = add i64 %96, %94		; <i64> [#uses=2]
	store i64 %97, i64* %63, align 8
	%98 = and i64 %86, %57		; <i64> [#uses=1]
	%not441 = xor i64 %86, -1		; <i64> [#uses=1]
	%99 = and i64 %42, %not441		; <i64> [#uses=1]
	%100 = xor i64 %98, %99		; <i64> [#uses=1]
	%101 = add i64 %100, %33		; <i64> [#uses=1]
	%102 = add i64 %101, %97		; <i64> [#uses=1]
	%103 = add i64 %102, 0		; <i64> [#uses=1]
	%104 = add i64 %103, 0		; <i64> [#uses=1]
	%e.0 = add i64 %104, %35		; <i64> [#uses=1]
	br label %bb349
}
