OpCapability GenericPointer OpCapability Linkage OpCapability Addresses OpCapability Kernel OpCapability Int8 OpCapability Int16 OpCapability Int64 OpCapability Float16 OpCapability Float64 %46 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical64 OpenCL OpEntryPoint Kernel %1 "mad_s32" %void = OpTypeVoid %ulong = OpTypeInt 64 0 %49 = OpTypeFunction %void %ulong %ulong %_ptr_Function_ulong = OpTypePointer Function %ulong %uint = OpTypeInt 32 0 %_ptr_Function_uint = OpTypePointer Function %uint %_ptr_Generic_uint = OpTypePointer Generic %uint %ulong_4 = OpConstant %ulong 4 %uchar = OpTypeInt 8 0 %_ptr_Generic_uchar = OpTypePointer Generic %uchar %ulong_8 = OpConstant %ulong 8 %ulong_4_0 = OpConstant %ulong 4 %ulong_8_0 = OpConstant %ulong 8 %1 = OpFunction %void None %49 %10 = OpFunctionParameter %ulong %11 = OpFunctionParameter %ulong %44 = OpLabel %2 = OpVariable %_ptr_Function_ulong Function %3 = OpVariable %_ptr_Function_ulong Function %4 = OpVariable %_ptr_Function_ulong Function %5 = OpVariable %_ptr_Function_ulong Function %6 = OpVariable %_ptr_Function_uint Function %7 = OpVariable %_ptr_Function_uint Function %8 = OpVariable %_ptr_Function_uint Function %9 = OpVariable %_ptr_Function_uint Function OpStore %2 %10 OpStore %3 %11 %12 = OpLoad %ulong %2 Aligned 8 OpStore %4 %12 %13 = OpLoad %ulong %3 Aligned 8 OpStore %5 %13 %15 = OpLoad %ulong %4 %38 = OpConvertUToPtr %_ptr_Generic_uint %15 %14 = OpLoad %uint %38 Aligned 4 OpStore %7 %14 %17 = OpLoad %ulong %4 %39 = OpConvertUToPtr %_ptr_Generic_uint %17 %56 = OpBitcast %_ptr_Generic_uchar %39 %57 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %56 %ulong_4 %31 = OpBitcast %_ptr_Generic_uint %57 %16 = OpLoad %uint %31 Aligned 4 OpStore %8 %16 %19 = OpLoad %ulong %4 %40 = OpConvertUToPtr %_ptr_Generic_uint %19 %58 = OpBitcast %_ptr_Generic_uchar %40 %59 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %58 %ulong_8 %33 = OpBitcast %_ptr_Generic_uint %59 %18 = OpLoad %uint %33 Aligned 4 OpStore %9 %18 %21 = OpLoad %uint %7 %22 = OpLoad %uint %8 %23 = OpLoad %uint %9 %60 = OpIMul %uint %21 %22 %20 = OpIAdd %uint %23 %60 OpStore %6 %20 %24 = OpLoad %ulong %5 %25 = OpLoad %uint %6 %41 = OpConvertUToPtr %_ptr_Generic_uint %24 OpStore %41 %25 Aligned 4 %26 = OpLoad %ulong %5 %27 = OpLoad %uint %6 %42 = OpConvertUToPtr %_ptr_Generic_uint %26 %61 = OpBitcast %_ptr_Generic_uchar %42 %62 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %61 %ulong_4_0 %35 = OpBitcast %_ptr_Generic_uint %62 OpStore %35 %27 Aligned 4 %28 = OpLoad %ulong %5 %29 = OpLoad %uint %6 %43 = OpConvertUToPtr %_ptr_Generic_uint %28 %63 = OpBitcast %_ptr_Generic_uchar %43 %64 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %63 %ulong_8_0 %37 = OpBitcast %_ptr_Generic_uint %64 OpStore %37 %29 Aligned 4 OpReturn OpFunctionEnd