OpCapability GenericPointer OpCapability Linkage OpCapability Addresses OpCapability Kernel OpCapability Int8 OpCapability Int16 OpCapability Int64 OpCapability Float16 OpCapability Float64 %29 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical64 OpenCL OpEntryPoint Kernel %1 "selp" %void = OpTypeVoid %ulong = OpTypeInt 64 0 %32 = OpTypeFunction %void %ulong %ulong %_ptr_Function_ulong = OpTypePointer Function %ulong %ushort = OpTypeInt 16 0 %_ptr_Function_ushort = OpTypePointer Function %ushort %_ptr_Generic_ushort = OpTypePointer Generic %ushort %ulong_2 = OpConstant %ulong 2 %uchar = OpTypeInt 8 0 %_ptr_Generic_uchar = OpTypePointer Generic %uchar %bool = OpTypeBool %false = OpConstantFalse %bool %1 = OpFunction %void None %32 %8 = OpFunctionParameter %ulong %9 = OpFunctionParameter %ulong %27 = 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_ushort Function %7 = OpVariable %_ptr_Function_ushort Function OpStore %2 %8 OpStore %3 %9 %10 = OpLoad %ulong %2 Aligned 8 OpStore %4 %10 %11 = OpLoad %ulong %3 Aligned 8 OpStore %5 %11 %13 = OpLoad %ulong %4 %24 = OpConvertUToPtr %_ptr_Generic_ushort %13 %12 = OpLoad %ushort %24 Aligned 2 OpStore %6 %12 %15 = OpLoad %ulong %4 %25 = OpConvertUToPtr %_ptr_Generic_ushort %15 %39 = OpBitcast %_ptr_Generic_uchar %25 %40 = OpInBoundsPtrAccessChain %_ptr_Generic_uchar %39 %ulong_2 %22 = OpBitcast %_ptr_Generic_ushort %40 %14 = OpLoad %ushort %22 Aligned 2 OpStore %7 %14 %17 = OpLoad %ushort %6 %18 = OpLoad %ushort %7 %16 = OpSelect %ushort %false %17 %18 OpStore %6 %16 %19 = OpLoad %ulong %5 %20 = OpLoad %ushort %6 %26 = OpConvertUToPtr %_ptr_Generic_ushort %19 OpStore %26 %20 Aligned 2 OpReturn OpFunctionEnd