; REQUIRES: asserts
; RUN: llc < %s -mtriple=x86_64-apple-darwin10.0 -relocation-model=pic -frame-pointer=all -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], [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], [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], [80 x i64]* @K512, i64 0, i64 0		; <i64*> [#uses=1]
	%50 = load i64, 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], [16 x i64]* null, i64 0, i64 %62		; <i64*> [#uses=2]
	%64 = load i64, 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, i64* %46, align 8		; <i64> [#uses=1]
	%69 = load i64, 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], [80 x i64]* @K512, i64 0, i64 0		; <i64*> [#uses=1]
	%79 = load i64, 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, 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, i64* %63, align 8		; <i64> [#uses=1]
	%94 = load i64, 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
}
