//
// Generated by NVIDIA NVVM Compiler
// Compiler built on Fri Jul 25 04:36:16 2014 (1406288176)
// Cuda compilation tools, release 6.5, V6.5.13
//

.version 4.1
.target sm_30
.address_size 64

.global .texref texture0_RECT;
.global .texref texture1_RECT;
// ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local has been demoted

.visible .entry ShaderKernel_fxBloomV(
	.param .u64 ShaderKernel_fxBloomV_param_0,
	.param .u32 ShaderKernel_fxBloomV_param_1,
	.param .u32 ShaderKernel_fxBloomV_param_2,
	.param .u32 ShaderKernel_fxBloomV_param_3,
	.param .u32 ShaderKernel_fxBloomV_param_4,
	.param .u64 ShaderKernel_fxBloomV_param_5,
	.param .u64 ShaderKernel_fxBloomV_param_6,
	.param .u64 ShaderKernel_fxBloomV_param_7
)
{
	.reg .pred 	%p<6>;
	.reg .s16 	%rs<5>;
	.reg .s32 	%r<14>;
	.reg .f32 	%f<274>;
	.reg .s64 	%rd<46>;
	// demoted variable
	.shared .align 16 .b8 ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local[176];

	ld.param.u64 	%rd4, [ShaderKernel_fxBloomV_param_0];
	ld.param.u32 	%r4, [ShaderKernel_fxBloomV_param_1];
	ld.param.u32 	%r5, [ShaderKernel_fxBloomV_param_2];
	ld.param.u32 	%r6, [ShaderKernel_fxBloomV_param_3];
	ld.param.u32 	%r7, [ShaderKernel_fxBloomV_param_4];
	ld.param.u64 	%rd3, [ShaderKernel_fxBloomV_param_5];
	cvta.to.global.u64 	%rd1, %rd4;
	mov.u32 	%r8, %ntid.x;
	mov.u32 	%r9, %ctaid.x;
	mov.u32 	%r1, %tid.x;
	mad.lo.s32 	%r2, %r8, %r9, %r1;
	mov.u32 	%r10, %ntid.y;
	mov.u32 	%r11, %ctaid.y;
	mov.u32 	%r12, %tid.y;
	mad.lo.s32 	%r3, %r10, %r11, %r12;
	setp.lt.s32	%p1, %r2, %r6;
	setp.lt.s32	%p2, %r3, %r7;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB0_6;
	bra.uni 	BB0_1;

BB0_1:
	setp.gt.u32	%p4, %r1, 10;
	@%p4 bra 	BB0_3;

	cvta.to.global.u64 	%rd5, %rd3;
	mul.wide.u32 	%rd6, %r1, 16;
	mov.u64 	%rd7, ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local;
	add.s64 	%rd8, %rd7, %rd6;
	add.s64 	%rd9, %rd5, %rd6;
	ld.global.v4.f32 	{%f7, %f8, %f9, %f10}, [%rd9];
	st.shared.v4.f32 	[%rd8], {%f7, %f8, %f9, %f10};

BB0_3:
	cvt.rn.f32.s32	%f15, %r2;
	add.ftz.f32 	%f1, %f15, 0f3F000000;
	cvt.rn.f32.s32	%f16, %r3;
	add.ftz.f32 	%f2, %f16, 0f3F000000;
	bar.sync 	0;
	// inline asm
	tex.2d.v4.f32.f32 {%f17, %f18, %f19, %f20}, [texture1_RECT, {%f1, %f2}];
	// inline asm
	// inline asm
	tex.2d.v4.f32.f32 {%f23, %f24, %f25, %f26}, [texture0_RECT, {%f1, %f2}];
	// inline asm
	add.ftz.f32 	%f111, %f1, 0f00000000;
	add.ftz.f32 	%f34, %f2, 0fBF800000;
	// inline asm
	tex.2d.v4.f32.f32 {%f29, %f30, %f31, %f32}, [texture0_RECT, {%f111, %f34}];
	// inline asm
	ld.shared.v4.f32 	{%f113, %f114, %f115, %f116}, [ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local];
	fma.rn.ftz.f32 	%f118, %f31, %f113, %f25;
	fma.rn.ftz.f32 	%f120, %f30, %f114, %f24;
	fma.rn.ftz.f32 	%f122, %f29, %f115, %f23;
	fma.rn.ftz.f32 	%f124, %f32, %f116, %f26;
	add.ftz.f32 	%f40, %f2, 0f3F800000;
	mov.f32 	%f125, 0f3F800000;
	// inline asm
	tex.2d.v4.f32.f32 {%f35, %f36, %f37, %f38}, [texture0_RECT, {%f111, %f40}];
	// inline asm
	fma.rn.ftz.f32 	%f126, %f37, %f113, %f118;
	fma.rn.ftz.f32 	%f127, %f36, %f114, %f120;
	fma.rn.ftz.f32 	%f128, %f35, %f115, %f122;
	fma.rn.ftz.f32 	%f129, %f38, %f116, %f124;
	add.ftz.f32 	%f46, %f2, 0fC0000000;
	// inline asm
	tex.2d.v4.f32.f32 {%f41, %f42, %f43, %f44}, [texture0_RECT, {%f111, %f46}];
	// inline asm
	ld.shared.v4.f32 	{%f130, %f131, %f132, %f133}, [ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local+16];
	fma.rn.ftz.f32 	%f135, %f43, %f130, %f126;
	fma.rn.ftz.f32 	%f137, %f42, %f131, %f127;
	fma.rn.ftz.f32 	%f139, %f41, %f132, %f128;
	fma.rn.ftz.f32 	%f141, %f44, %f133, %f129;
	add.ftz.f32 	%f52, %f2, 0f40000000;
	// inline asm
	tex.2d.v4.f32.f32 {%f47, %f48, %f49, %f50}, [texture0_RECT, {%f111, %f52}];
	// inline asm
	fma.rn.ftz.f32 	%f142, %f49, %f130, %f135;
	fma.rn.ftz.f32 	%f143, %f48, %f131, %f137;
	fma.rn.ftz.f32 	%f144, %f47, %f132, %f139;
	fma.rn.ftz.f32 	%f145, %f50, %f133, %f141;
	add.ftz.f32 	%f58, %f2, 0fC0400000;
	// inline asm
	tex.2d.v4.f32.f32 {%f53, %f54, %f55, %f56}, [texture0_RECT, {%f111, %f58}];
	// inline asm
	ld.shared.v4.f32 	{%f146, %f147, %f148, %f149}, [ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local+32];
	fma.rn.ftz.f32 	%f151, %f55, %f146, %f142;
	fma.rn.ftz.f32 	%f153, %f54, %f147, %f143;
	fma.rn.ftz.f32 	%f155, %f53, %f148, %f144;
	fma.rn.ftz.f32 	%f157, %f56, %f149, %f145;
	add.ftz.f32 	%f64, %f2, 0f40400000;
	// inline asm
	tex.2d.v4.f32.f32 {%f59, %f60, %f61, %f62}, [texture0_RECT, {%f111, %f64}];
	// inline asm
	fma.rn.ftz.f32 	%f158, %f61, %f146, %f151;
	fma.rn.ftz.f32 	%f159, %f60, %f147, %f153;
	fma.rn.ftz.f32 	%f160, %f59, %f148, %f155;
	fma.rn.ftz.f32 	%f161, %f62, %f149, %f157;
	add.ftz.f32 	%f70, %f2, 0fC0800000;
	// inline asm
	tex.2d.v4.f32.f32 {%f65, %f66, %f67, %f68}, [texture0_RECT, {%f111, %f70}];
	// inline asm
	ld.shared.v4.f32 	{%f162, %f163, %f164, %f165}, [ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local+48];
	fma.rn.ftz.f32 	%f167, %f67, %f162, %f158;
	fma.rn.ftz.f32 	%f169, %f66, %f163, %f159;
	fma.rn.ftz.f32 	%f171, %f65, %f164, %f160;
	fma.rn.ftz.f32 	%f173, %f68, %f165, %f161;
	add.ftz.f32 	%f76, %f2, 0f40800000;
	// inline asm
	tex.2d.v4.f32.f32 {%f71, %f72, %f73, %f74}, [texture0_RECT, {%f111, %f76}];
	// inline asm
	fma.rn.ftz.f32 	%f174, %f73, %f162, %f167;
	fma.rn.ftz.f32 	%f175, %f72, %f163, %f169;
	fma.rn.ftz.f32 	%f176, %f71, %f164, %f171;
	fma.rn.ftz.f32 	%f177, %f74, %f165, %f173;
	add.ftz.f32 	%f82, %f2, 0fC0A00000;
	// inline asm
	tex.2d.v4.f32.f32 {%f77, %f78, %f79, %f80}, [texture0_RECT, {%f111, %f82}];
	// inline asm
	ld.shared.v4.f32 	{%f178, %f179, %f180, %f181}, [ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local+64];
	fma.rn.ftz.f32 	%f183, %f79, %f178, %f174;
	fma.rn.ftz.f32 	%f185, %f78, %f179, %f175;
	fma.rn.ftz.f32 	%f187, %f77, %f180, %f176;
	fma.rn.ftz.f32 	%f189, %f80, %f181, %f177;
	add.ftz.f32 	%f88, %f2, 0f40A00000;
	// inline asm
	tex.2d.v4.f32.f32 {%f83, %f84, %f85, %f86}, [texture0_RECT, {%f111, %f88}];
	// inline asm
	fma.rn.ftz.f32 	%f190, %f85, %f178, %f183;
	fma.rn.ftz.f32 	%f191, %f84, %f179, %f185;
	fma.rn.ftz.f32 	%f192, %f83, %f180, %f187;
	fma.rn.ftz.f32 	%f193, %f86, %f181, %f189;
	add.ftz.f32 	%f94, %f2, 0fC0C00000;
	// inline asm
	tex.2d.v4.f32.f32 {%f89, %f90, %f91, %f92}, [texture0_RECT, {%f111, %f94}];
	// inline asm
	ld.shared.v4.f32 	{%f194, %f195, %f196, %f197}, [ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local+80];
	fma.rn.ftz.f32 	%f199, %f91, %f194, %f190;
	fma.rn.ftz.f32 	%f201, %f90, %f195, %f191;
	fma.rn.ftz.f32 	%f203, %f89, %f196, %f192;
	fma.rn.ftz.f32 	%f205, %f92, %f197, %f193;
	add.ftz.f32 	%f100, %f2, 0f40C00000;
	// inline asm
	tex.2d.v4.f32.f32 {%f95, %f96, %f97, %f98}, [texture0_RECT, {%f111, %f100}];
	// inline asm
	fma.rn.ftz.f32 	%f206, %f97, %f194, %f199;
	fma.rn.ftz.f32 	%f207, %f96, %f195, %f201;
	fma.rn.ftz.f32 	%f208, %f95, %f196, %f203;
	fma.rn.ftz.f32 	%f209, %f98, %f197, %f205;
	add.ftz.f32 	%f106, %f2, 0fC0E00000;
	// inline asm
	tex.2d.v4.f32.f32 {%f101, %f102, %f103, %f104}, [texture0_RECT, {%f111, %f106}];
	// inline asm
	ld.shared.v4.f32 	{%f210, %f211, %f212, %f213}, [ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local+96];
	fma.rn.ftz.f32 	%f215, %f103, %f210, %f206;
	fma.rn.ftz.f32 	%f217, %f102, %f211, %f207;
	fma.rn.ftz.f32 	%f219, %f101, %f212, %f208;
	fma.rn.ftz.f32 	%f221, %f104, %f213, %f209;
	add.ftz.f32 	%f112, %f2, 0f40E00000;
	// inline asm
	tex.2d.v4.f32.f32 {%f107, %f108, %f109, %f110}, [texture0_RECT, {%f111, %f112}];
	// inline asm
	fma.rn.ftz.f32 	%f222, %f109, %f210, %f215;
	fma.rn.ftz.f32 	%f223, %f108, %f211, %f217;
	fma.rn.ftz.f32 	%f224, %f107, %f212, %f219;
	fma.rn.ftz.f32 	%f225, %f110, %f213, %f221;
	ld.shared.v4.f32 	{%f226, %f227, %f228, %f229}, [ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local+112];
	ld.shared.v4.f32 	{%f230, %f231, %f232, %f233}, [ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local+128];
	fma.rn.ftz.f32 	%f236, %f222, %f226, %f230;
	fma.rn.ftz.f32 	%f239, %f223, %f227, %f231;
	fma.rn.ftz.f32 	%f242, %f224, %f228, %f232;
	fma.rn.ftz.f32 	%f245, %f225, %f229, %f233;
	ld.shared.v4.f32 	{%f246, %f247, %f248, %f249}, [ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local+144];
	fma.rn.ftz.f32 	%f251, %f236, %f246, %f19;
	fma.rn.ftz.f32 	%f253, %f239, %f247, %f18;
	fma.rn.ftz.f32 	%f255, %f242, %f248, %f17;
	fma.rn.ftz.f32 	%f257, %f245, %f249, %f20;
	ld.shared.v4.f32 	{%f258, %f259, %f260, %f261}, [ShaderKernel_fxBloomV$__cuda_local_var_180683_633_non_const_p_local+160];
	sub.ftz.f32 	%f263, %f125, %f258;
	mul.ftz.f32 	%f264, %f263, %f19;
	fma.rn.ftz.f32 	%f3, %f258, %f251, %f264;
	sub.ftz.f32 	%f266, %f125, %f259;
	mul.ftz.f32 	%f267, %f266, %f18;
	fma.rn.ftz.f32 	%f4, %f259, %f253, %f267;
	sub.ftz.f32 	%f269, %f125, %f260;
	mul.ftz.f32 	%f270, %f269, %f17;
	fma.rn.ftz.f32 	%f5, %f260, %f255, %f270;
	sub.ftz.f32 	%f272, %f125, %f261;
	mul.ftz.f32 	%f273, %f272, %f20;
	fma.rn.ftz.f32 	%f6, %f261, %f257, %f273;
	mad.lo.s32 	%r13, %r3, %r4, %r2;
	cvt.s64.s32	%rd2, %r13;
	setp.eq.s32	%p5, %r5, 0;
	@%p5 bra 	BB0_5;

	shl.b64 	%rd42, %rd2, 4;
	add.s64 	%rd43, %rd1, %rd42;
	st.global.v4.f32 	[%rd43], {%f5, %f4, %f3, %f6};
	bra.uni 	BB0_6;

BB0_5:
	shl.b64 	%rd44, %rd2, 3;
	add.s64 	%rd45, %rd1, %rd44;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f6;
	mov.b16 	%rs1, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f3;
	mov.b16 	%rs2, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f4;
	mov.b16 	%rs3, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f5;
	mov.b16 	%rs4, %temp;
}
	st.global.v4.u16 	[%rd45], {%rs4, %rs3, %rs2, %rs1};

BB0_6:
	ret;
}


