1 /*========================== begin_copyright_notice ============================ 2 3 Copyright (C) 2021 Intel Corporation 4 5 SPDX-License-Identifier: MIT 6 7 ============================= end_copyright_notice ===========================*/ 8 9 #ifndef __SPIRV_MACROS_H__ 10 #define __SPIRV_MACROS_H__ 11 12 #if !defined(__USE_KHRONOS_SPIRV_TRANSLATOR__) 13 #define SPIRV_OVERLOADABLE 14 #define SPIRV_BUILTIN(opcode, old_mangling, new_mangling) \ 15 __builtin_spirv_Op##opcode##old_mangling 16 #define SPIRV_BUILTIN_NO_OP(opcode, old_mangling, new_mangling) \ 17 __builtin_spirv_##opcode##old_mangling 18 #define SPIRV_OCL_BUILTIN(func, old_mangling, new_mangling) \ 19 __builtin_spirv_OpenCL_##func##old_mangling 20 #else 21 #define SPIRV_OVERLOADABLE __attribute__((overloadable)) 22 #define SPIRV_BUILTIN(opcode, old_mangling, new_mangling) \ 23 __spirv_##opcode##new_mangling 24 #define SPIRV_BUILTIN_NO_OP(opcode, old_mangling, new_mangling) \ 25 __spirv_##opcode##new_mangling 26 #define SPIRV_OCL_BUILTIN(func, old_mangling, new_mangling) \ 27 __spirv_ocl_##func##new_mangling 28 #endif 29 30 #endif // __SPIRV_MACROS_H__