OpCapability GenericPointer OpCapability Linkage OpCapability Addresses OpCapability Kernel OpCapability Int8 OpCapability Int16 OpCapability Int64 OpCapability Float16 OpCapability Float64 %20 = OpExtInstImport "OpenCL.std" OpMemoryModel Physical64 OpenCL OpEntryPoint Kernel %1 "sign_extend" %void = OpTypeVoid %ulong = OpTypeInt 64 0 %23 = OpTypeFunction %void %ulong %ulong %_ptr_Function_ulong = OpTypePointer Function %ulong %uint = OpTypeInt 32 0 %_ptr_Function_uint = OpTypePointer Function %uint %ushort = OpTypeInt 16 0 %_ptr_Generic_ushort = OpTypePointer Generic %ushort %_ptr_Generic_uint = OpTypePointer Generic %uint %1 = OpFunction %void None %23 %7 = OpFunctionParameter %ulong %8 = OpFunctionParameter %ulong %18 = 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 OpStore %2 %7 OpStore %3 %8 %9 = OpLoad %ulong %2 Aligned 8 OpStore %4 %9 %10 = OpLoad %ulong %3 Aligned 8 OpStore %5 %10 %12 = OpLoad %ulong %4 %16 = OpConvertUToPtr %_ptr_Generic_ushort %12 %15 = OpLoad %ushort %16 Aligned 2 %11 = OpSConvert %uint %15 OpStore %6 %11 %13 = OpLoad %ulong %5 %14 = OpLoad %uint %6 %17 = OpConvertUToPtr %_ptr_Generic_uint %13 OpStore %17 %14 Aligned 4 OpReturn OpFunctionEnd