; ModuleID = 'radeon' target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024-v2048:2048:2048-n32:64" target triple = "r600--" %struct.gpu_inbuffer = type { %struct.SHA_DEV_CTX, %struct.SHA_DEV_CTX, %struct.SHA_DEV_CTX, %struct.SHA_DEV_CTX } %struct.SHA_DEV_CTX = type { i32, i32, i32, i32, i32 } %struct.gpu_outbuffer = type { %struct.SHA_DEV_CTX, %struct.SHA_DEV_CTX } ; Function Attrs: nounwind define void @opencl_pmk_kernel(%struct.gpu_inbuffer addrspace(1)* nocapture readonly %inbuffer, %struct.gpu_outbuffer addrspace(1)* nocapture %outbuffer) #0 { %opad9 = alloca %struct.SHA_DEV_CTX, align 1 %ipad6 = alloca %struct.SHA_DEV_CTX, align 1 %opad3 = alloca %struct.SHA_DEV_CTX, align 1 %ipad1 = alloca %struct.SHA_DEV_CTX, align 1 %temp_ctx = alloca %struct.SHA_DEV_CTX, align 4 %ipad = alloca %struct.SHA_DEV_CTX, align 4 %opad = alloca %struct.SHA_DEV_CTX, align 4 %x.i8.i = tail call i32 @llvm.r600.read.local.size.x() #1 %x.i.i = tail call i32 @llvm.r600.read.tgid.x() #1 %x.i1.i = tail call i32 @llvm.r600.read.tidig.x() #1 %1 = mul i32 %x.i.i, %x.i8.i %2 = add i32 %x.i1.i, %1 %3 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 0, i32 0 %4 = load i32 addrspace(1)* %3, align 4, !tbaa !1 %5 = getelementptr inbounds %struct.SHA_DEV_CTX* %ipad, i32 0, i32 0 store i32 %4, i32* %5, align 4, !tbaa !1 %6 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 0, i32 1 %7 = load i32 addrspace(1)* %6, align 4, !tbaa !1 %8 = getelementptr inbounds %struct.SHA_DEV_CTX* %ipad, i32 0, i32 1 store i32 %7, i32* %8, align 4, !tbaa !1 %9 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 0, i32 2 %10 = load i32 addrspace(1)* %9, align 4, !tbaa !1 %11 = getelementptr inbounds %struct.SHA_DEV_CTX* %ipad, i32 0, i32 2 store i32 %10, i32* %11, align 4, !tbaa !1 %12 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 0, i32 3 %13 = load i32 addrspace(1)* %12, align 4, !tbaa !1 %14 = getelementptr inbounds %struct.SHA_DEV_CTX* %ipad, i32 0, i32 3 store i32 %13, i32* %14, align 4, !tbaa !1 %15 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 0, i32 4 %16 = load i32 addrspace(1)* %15, align 4, !tbaa !1 %17 = getelementptr inbounds %struct.SHA_DEV_CTX* %ipad, i32 0, i32 4 store i32 %16, i32* %17, align 4, !tbaa !1 %18 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 1, i32 0 %19 = load i32 addrspace(1)* %18, align 4, !tbaa !1 %20 = getelementptr inbounds %struct.SHA_DEV_CTX* %opad, i32 0, i32 0 store i32 %19, i32* %20, align 4, !tbaa !1 %21 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 1, i32 1 %22 = load i32 addrspace(1)* %21, align 4, !tbaa !1 %23 = getelementptr inbounds %struct.SHA_DEV_CTX* %opad, i32 0, i32 1 store i32 %22, i32* %23, align 4, !tbaa !1 %24 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 1, i32 2 %25 = load i32 addrspace(1)* %24, align 4, !tbaa !1 %26 = getelementptr inbounds %struct.SHA_DEV_CTX* %opad, i32 0, i32 2 store i32 %25, i32* %26, align 4, !tbaa !1 %27 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 1, i32 3 %28 = load i32 addrspace(1)* %27, align 4, !tbaa !1 %29 = getelementptr inbounds %struct.SHA_DEV_CTX* %opad, i32 0, i32 3 store i32 %28, i32* %29, align 4, !tbaa !1 %30 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 1, i32 4 %31 = load i32 addrspace(1)* %30, align 4, !tbaa !1 %32 = getelementptr inbounds %struct.SHA_DEV_CTX* %opad, i32 0, i32 4 store i32 %31, i32* %32, align 4, !tbaa !1 %33 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 2, i32 0 %34 = load i32 addrspace(1)* %33, align 4, !tbaa !1 %35 = getelementptr inbounds %struct.SHA_DEV_CTX* %temp_ctx, i32 0, i32 0 store i32 %34, i32* %35, align 4, !tbaa !1 %36 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 2, i32 1 %37 = load i32 addrspace(1)* %36, align 4, !tbaa !1 %38 = getelementptr inbounds %struct.SHA_DEV_CTX* %temp_ctx, i32 0, i32 1 store i32 %37, i32* %38, align 4, !tbaa !1 %39 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 2, i32 2 %40 = load i32 addrspace(1)* %39, align 4, !tbaa !1 %41 = getelementptr inbounds %struct.SHA_DEV_CTX* %temp_ctx, i32 0, i32 2 store i32 %40, i32* %41, align 4, !tbaa !1 %42 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 2, i32 3 %43 = load i32 addrspace(1)* %42, align 4, !tbaa !1 %44 = getelementptr inbounds %struct.SHA_DEV_CTX* %temp_ctx, i32 0, i32 3 store i32 %43, i32* %44, align 4, !tbaa !1 %45 = getelementptr inbounds %struct.gpu_inbuffer addrspace(1)* %inbuffer, i32 %2, i32 2, i32 4 %46 = load i32 addrspace(1)* %45, align 4, !tbaa !1 %47 = getelementptr inbounds %struct.SHA_DEV_CTX* %temp_ctx, i32 0, i32 4 store i32 %46, i32* %47, align 4, !tbaa !1 %tmp = bitcast %struct.SHA_DEV_CTX* %ipad1 to i8* %tmp2 = bitcast %struct.SHA_DEV_CTX* %ipad to i8* %48 = getelementptr inbounds %struct.SHA_DEV_CTX* %ipad1, i32 0, i32 0 %49 = getelementptr inbounds %struct.SHA_DEV_CTX* %ipad1, i32 0, i32 1 %50 = getelementptr inbounds %struct.SHA_DEV_CTX* %ipad1, i32 0, i32 2 %51 = getelementptr inbounds %struct.SHA_DEV_CTX* %ipad1, i32 0, i32 3 %52 = getelementptr inbounds %struct.SHA_DEV_CTX* %ipad1, i32 0, i32 4 %tmp10 = bitcast %struct.SHA_DEV_CTX* %opad9 to i8* %tmp11 = bitcast %struct.SHA_DEV_CTX* %opad to i8* %53 = getelementptr inbounds %struct.SHA_DEV_CTX* %opad9, i32 0, i32 0 %54 = getelementptr inbounds %struct.SHA_DEV_CTX* %opad9, i32 0, i32 1 %55 = getelementptr inbounds %struct.SHA_DEV_CTX* %opad9, i32 0, i32 2 %56 = getelementptr inbounds %struct.SHA_DEV_CTX* %opad9, i32 0, i32 3 %57 = getelementptr inbounds %struct.SHA_DEV_CTX* %opad9, i32 0, i32 4 %.pre = load i32* %35, align 4, !tbaa !1 %.pre30 = load i32* %38, align 4, !tbaa !1 %.pre31 = load i32* %41, align 4, !tbaa !1 %.pre32 = load i32* %44, align 4, !tbaa !1 br label %58 ;