diff options
author | Henry Linjamäki <henry.linjamaki@parmance.com> | 2017-09-28 15:29:07 +0000 |
---|---|---|
committer | Pekka Jääskeläinen <visit0r@gcc.gnu.org> | 2017-09-28 15:29:07 +0000 |
commit | f276c46cd81d7a0008c696ddb75638dc6aa25f92 (patch) | |
tree | 5b5a01851c89b143aa7ec7663621fc61d906b795 /gcc/brig-builtins.def | |
parent | 2caf41096411bfe76c54df77ca24724eab0f53c9 (diff) | |
download | gcc-f276c46cd81d7a0008c696ddb75638dc6aa25f92.zip gcc-f276c46cd81d7a0008c696ddb75638dc6aa25f92.tar.gz gcc-f276c46cd81d7a0008c696ddb75638dc6aa25f92.tar.bz2 |
[BRIGFE] Changed pure attributes to const for the brig-builtins
that are actually const.
Also:
* Fixed brig-lang.c such that the builtin attributes actually
have effect...
* Made -O3 the default optimization level for BRIG.
From-SVN: r253254
Diffstat (limited to 'gcc/brig-builtins.def')
-rw-r--r-- | gcc/brig-builtins.def | 189 |
1 files changed, 100 insertions, 89 deletions
diff --git a/gcc/brig-builtins.def b/gcc/brig-builtins.def index 39f403e..c2d8422 100644 --- a/gcc/brig-builtins.def +++ b/gcc/brig-builtins.def @@ -107,136 +107,136 @@ DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_GRIDGROUPS, BRIG_OPCODE_GRIDGROUPS, DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITEXTRACT_S32, BRIG_OPCODE_BITEXTRACT, BRIG_TYPE_S32, "__hsail_bitextract_s32", - BT_FN_INT_INT_UINT_UINT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT_INT_UINT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITEXTRACT_U32, BRIG_OPCODE_BITEXTRACT, BRIG_TYPE_U32, "__hsail_bitextract_u32", - BT_FN_UINT_UINT_UINT_UINT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT_UINT_UINT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITEXTRACT_S64, BRIG_OPCODE_BITEXTRACT, BRIG_TYPE_S64, "__hsail_bitextract_s64", - BT_FN_LONG_LONG_UINT_UINT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_LONG_LONG_UINT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITEXTRACT_U64, BRIG_OPCODE_BITEXTRACT, BRIG_TYPE_U64, "__hsail_bitextract_u64", - BT_FN_ULONG_ULONG_UINT_UINT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_ULONG_ULONG_UINT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITINSERT_U32, BRIG_OPCODE_BITINSERT, BRIG_TYPE_U32, "__hsail_bitinsert_u32", - BT_FN_UINT_UINT_UINT_UINT_UINT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT_UINT_UINT_UINT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITINSERT_U64, BRIG_OPCODE_BITINSERT, BRIG_TYPE_U64, "__hsail_bitinsert_u64", BT_FN_ULONG_ULONG_ULONG_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITMASK_B32, BRIG_OPCODE_BITMASK, BRIG_TYPE_B32, "__hsail_bitmask_u32", BT_FN_UINT_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITMASK_B64, BRIG_OPCODE_BITMASK, BRIG_TYPE_B64, "__hsail_bitmask_u64", BT_FN_ULONG_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITREV_B32, BRIG_OPCODE_BITREV, BRIG_TYPE_B32, "__hsail_bitrev_u32", BT_FN_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITREV_B64, BRIG_OPCODE_BITREV, BRIG_TYPE_B64, "__hsail_bitrev_u64", BT_FN_ULONG_ULONG, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITSELECT_B32, BRIG_OPCODE_BITSELECT, BRIG_TYPE_B32, "__hsail_bitselect_u32", - BT_FN_UINT_UINT_UINT_UINT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT_UINT_UINT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITSELECT_U64, BRIG_OPCODE_BITSELECT, BRIG_TYPE_B64, "__hsail_bitselect_u64", - BT_FN_ULONG_ULONG_ULONG_ULONG, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_ULONG_ULONG_ULONG_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_FIRSTBIT_U32, BRIG_OPCODE_FIRSTBIT, BRIG_TYPE_U32, "__hsail_firstbit_u32", BT_FN_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_FIRSTBIT_S32, BRIG_OPCODE_FIRSTBIT, BRIG_TYPE_S32, "__hsail_firstbit_s32", BT_FN_UINT_INT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_FIRSTBIT_U64, BRIG_OPCODE_FIRSTBIT, BRIG_TYPE_U64, "__hsail_firstbit_u64", BT_FN_UINT_ULONG, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_FIRSTBIT_S64, BRIG_OPCODE_FIRSTBIT, BRIG_TYPE_S64, "__hsail_firstbit_s64", BT_FN_UINT_LONG, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_LASTBIT_U32, BRIG_OPCODE_LASTBIT, BRIG_TYPE_U32, "__hsail_lastbit_u32", BT_FN_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_LASTBIT_U64, BRIG_OPCODE_LASTBIT, BRIG_TYPE_U64, "__hsail_lastbit_u64", BT_FN_UINT_ULONG, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BORROW_U32, BRIG_OPCODE_BORROW, BRIG_TYPE_U32, "__hsail_borrow_u32", BT_FN_UINT_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BORROW_U64, BRIG_OPCODE_BORROW, BRIG_TYPE_U64, "__hsail_borrow_u64", BT_FN_ULONG_ULONG_ULONG, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_CARRY_U32, BRIG_OPCODE_CARRY, BRIG_TYPE_U32, "__hsail_carry_u32", BT_FN_UINT_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_CARRY_U64, BRIG_OPCODE_CARRY, BRIG_TYPE_U64, "__hsail_carry_u64", BT_FN_ULONG_ULONG_ULONG, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_REM_S32, BRIG_OPCODE_REM, BRIG_TYPE_S32, "__hsail_rem_s32", BT_FN_INT_INT_INT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_REM_S64, BRIG_OPCODE_REM, BRIG_TYPE_S64, "__hsail_rem_s64", BT_FN_LONG_LONG_LONG, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_MIN_F32, BRIG_OPCODE_MIN, BRIG_TYPE_F32, "__hsail_min_f32", BT_FN_FLOAT_FLOAT_FLOAT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_MAX_F32, BRIG_OPCODE_MAX, BRIG_TYPE_F32, "__hsail_max_f32", BT_FN_FLOAT_FLOAT_FLOAT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_MIN_F64, BRIG_OPCODE_MIN, BRIG_TYPE_F64, "__hsail_min_f64", BT_FN_DOUBLE_DOUBLE_DOUBLE, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_MAX_F64, BRIG_OPCODE_MAX, BRIG_TYPE_F64, "__hsail_max_f64", BT_FN_DOUBLE_DOUBLE_DOUBLE, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_CLASS_F32, BRIG_OPCODE_CLASS, BRIG_TYPE_F32, "__hsail_class_f32", BT_FN_UINT_FLOAT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_CLASS_F64, BRIG_OPCODE_CLASS, BRIG_TYPE_F64, "__hsail_class_f64", BT_FN_UINT_DOUBLE_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_CLASS_F32_F16, BRIG_OPCODE_CLASS, - BRIG_TYPE_F16, "__hsail_class_f32_f16", BT_FN_UINT_FLOAT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + BRIG_TYPE_F16, "__hsail_class_f32_f16", + BT_FN_UINT_FLOAT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_FRACT_F32, BRIG_OPCODE_FRACT, BRIG_TYPE_F32, "__hsail_fract_f32", BT_FN_FLOAT_FLOAT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_FRACT_F64, BRIG_OPCODE_FRACT, BRIG_TYPE_F64, "__hsail_fract_f64", BT_FN_DOUBLE_DOUBLE, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BARRIER, BRIG_OPCODE_BARRIER, BRIG_TYPE_NONE, "__hsail_barrier", BT_FN_VOID_PTR, @@ -268,41 +268,41 @@ DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_RELEASEFBAR, BRIG_OPCODE_RELEASEFBAR, DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BITALIGN, BRIG_OPCODE_BITALIGN, BRIG_TYPE_B32, "__hsail_bitalign", - BT_FN_UINT_ULONG_ULONG_UINT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT_ULONG_ULONG_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_BYTEALIGN, BRIG_OPCODE_BYTEALIGN, BRIG_TYPE_B32, "__hsail_bytealign", - BT_FN_UINT_ULONG_ULONG_UINT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT_ULONG_ULONG_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_LERP, BRIG_OPCODE_LERP, BRIG_TYPE_U8X4, "__hsail_lerp", BT_FN_UINT_UINT_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_PACKCVT, BRIG_OPCODE_PACKCVT, BRIG_TYPE_U8X4, "__hsail_packcvt", BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_UNPACKCVT, BRIG_OPCODE_UNPACKCVT, BRIG_TYPE_F32, "__hsail_unpackcvt", BT_FN_FLOAT_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_SAD_U16X2, BRIG_OPCODE_SAD, BRIG_TYPE_U16X2, "__hsail_sad_u16x2", - BT_FN_UINT_UINT_UINT_UINT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT_UINT_UINT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_SAD_U32, BRIG_OPCODE_SAD, BRIG_TYPE_U32, "__hsail_sad_u32", BT_FN_UINT_UINT_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_SAD_U8X4, BRIG_OPCODE_SAD, - BRIG_TYPE_U8X4, "__hsail_sad_u8x4", BT_FN_UINT_UINT_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + BRIG_TYPE_U8X4, "__hsail_sad_u8x4", + BT_FN_UINT_UINT_UINT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_SADHI_U8X4, BRIG_OPCODE_SADHI, BRIG_TYPE_U16X2, "__hsail_sadhi_u16x2_u8x4", BT_FN_UINT_UINT_UINT_UINT, - ATTR_PURE_NOTHROW_LEAF_LIST) + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_BUILTIN (BUILT_IN_HSAIL_CLOCK, BRIG_OPCODE_CLOCK, BRIG_TYPE_U64, "__hsail_clock", BT_FN_ULONG, @@ -447,112 +447,112 @@ DEF_HSAIL_ATOMIC_BUILTIN (BUILT_IN_HSAIL_ATOMIC_WRAPINC_U64, DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_ADD_U64, BRIG_OPCODE_ADD, BRIG_TYPE_U64, "__hsail_sat_add_u64", - BT_FN_ULONG_ULONG_ULONG, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_ULONG_ULONG_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_ADD_S64, BRIG_OPCODE_ADD, BRIG_TYPE_S64, "__hsail_sat_add_s64", - BT_FN_LONG_LONG_LONG, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_LONG_LONG_LONG, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_ADD_U32, BRIG_OPCODE_ADD, BRIG_TYPE_U32, "__hsail_sat_add_u32", - BT_FN_UINT_UINT_UINT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT_UINT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_ADD_S32, BRIG_OPCODE_ADD, BRIG_TYPE_S32, "__hsail_sat_add_s32", - BT_FN_INT_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_ADD_U16, BRIG_OPCODE_ADD, BRIG_TYPE_U16, "__hsail_sat_add_u16", - BT_FN_UINT16_UINT16_UINT16, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT16_UINT16_UINT16, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_ADD_S16, BRIG_OPCODE_ADD, BRIG_TYPE_S16, "__hsail_sat_add_s16", - BT_FN_INT16_INT16_INT16, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT16_INT16_INT16, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_ADD_U8, BRIG_OPCODE_ADD, BRIG_TYPE_U8, "__hsail_sat_add_u8", - BT_FN_UINT8_UINT8_UINT8, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT8_UINT8_UINT8, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_ADD_S8, BRIG_OPCODE_ADD, BRIG_TYPE_S8, "__hsail_sat_add_s8", - BT_FN_INT8_INT8_INT8, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT8_INT8_INT8, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_SUB_U64, BRIG_OPCODE_SUB, BRIG_TYPE_U64, "__hsail_sat_sub_u64", - BT_FN_ULONG_ULONG_ULONG, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_ULONG_ULONG_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_SUB_S64, BRIG_OPCODE_SUB, BRIG_TYPE_S64, "__hsail_sat_sub_s64", - BT_FN_LONG_LONG_LONG, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_LONG_LONG_LONG, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_SUB_U32, BRIG_OPCODE_SUB, BRIG_TYPE_U32, "__hsail_sat_sub_u32", - BT_FN_UINT_UINT_UINT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT_UINT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_SUB_S32, BRIG_OPCODE_SUB, BRIG_TYPE_S32, "__hsail_sat_sub_s32", - BT_FN_INT_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_SUB_U16, BRIG_OPCODE_SUB, BRIG_TYPE_U16, "__hsail_sat_sub_u16", - BT_FN_UINT16_UINT16_UINT16, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT16_UINT16_UINT16, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_SUB_S16, BRIG_OPCODE_SUB, BRIG_TYPE_S16, "__hsail_sat_sub_s16", - BT_FN_INT16_INT16_INT16, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT16_INT16_INT16, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_SUB_U8, BRIG_OPCODE_SUB, BRIG_TYPE_U8, "__hsail_sat_sub_u8", - BT_FN_UINT8_UINT8_UINT8, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT8_UINT8_UINT8, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_SUB_S8, BRIG_OPCODE_SUB, BRIG_TYPE_S8, "__hsail_sat_sub_s8", - BT_FN_INT8_INT8_INT8, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT8_INT8_INT8, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_MUL_U64, BRIG_OPCODE_MUL, BRIG_TYPE_U64, "__hsail_sat_mul_u64", - BT_FN_ULONG_ULONG_ULONG, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_ULONG_ULONG_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_MUL_S64, BRIG_OPCODE_MUL, BRIG_TYPE_S64, "__hsail_sat_mul_s64", - BT_FN_LONG_LONG_LONG, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_LONG_LONG_LONG, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_MUL_U32, BRIG_OPCODE_MUL, BRIG_TYPE_U32, "__hsail_sat_mul_u32", - BT_FN_UINT_UINT_UINT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT_UINT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_MUL_S32, BRIG_OPCODE_MUL, BRIG_TYPE_S32, "__hsail_sat_mul_s32", - BT_FN_INT_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_MUL_U16, BRIG_OPCODE_MUL, BRIG_TYPE_U16, "__hsail_sat_mul_u16", - BT_FN_UINT16_UINT16_UINT16, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT16_UINT16_UINT16, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_MUL_S16, BRIG_OPCODE_MUL, BRIG_TYPE_S16, "__hsail_sat_mul_s16", - BT_FN_INT16_INT16_INT16, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT16_INT16_INT16, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_MUL_U8, BRIG_OPCODE_MUL, BRIG_TYPE_U8, "__hsail_sat_mul_u8", - BT_FN_UINT8_UINT8_UINT8, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT8_UINT8_UINT8, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_SAT_BUILTIN (BUILT_IN_HSAIL_SAT_MUL_S8, BRIG_OPCODE_MUL, BRIG_TYPE_S8, "__hsail_sat_mul_s8", - BT_FN_INT8_INT8_INT8, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT8_INT8_INT8, ATTR_CONST_NOTHROW_LEAF_LIST) #ifndef DEF_HSAIL_INTR_BUILTIN #define DEF_HSAIL_INTR_BUILTIN(ENUM, NAME, TYPE, ATTRS) #endif DEF_HSAIL_INTR_BUILTIN (BUILT_IN_HSAIL_FTZ_F32_F16, "__hsail_ftz_f32_f16", - BT_FN_FLOAT_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_INTR_BUILTIN (BUILT_IN_HSAIL_FTZ_F32, "__hsail_ftz_f32", - BT_FN_FLOAT_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_INTR_BUILTIN (BUILT_IN_HSAIL_FTZ_F64, "__hsail_ftz_f64", - BT_FN_DOUBLE_DOUBLE, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_INTR_BUILTIN (BUILT_IN_HSAIL_PUSH_FRAME, "__hsail_alloca_push_frame", BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST) @@ -572,10 +572,10 @@ DEF_HSAIL_INTR_BUILTIN (BUILT_IN_HSAIL_LAUNCH_KERNEL, BT_FN_VOID_PTR_PTR_PTR, ATTR_NOTHROW_LEAF_LIST) DEF_HSAIL_INTR_BUILTIN (BUILT_IN_HSAIL_F32_TO_F16, "__hsail_f32_to_f16", - BT_FN_UINT16_UINT32, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT16_UINT32, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_INTR_BUILTIN (BUILT_IN_HSAIL_F16_TO_F32, "__hsail_f16_to_f32", - BT_FN_UINT32_UINT16, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT32_UINT16, ATTR_CONST_NOTHROW_LEAF_LIST) #ifndef DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN #define DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN(ENUM, HSAIL_DEST_TYPE, HSAIL_SRC_TYPE, \ @@ -585,79 +585,90 @@ DEF_HSAIL_INTR_BUILTIN (BUILT_IN_HSAIL_F16_TO_F32, "__hsail_f16_to_f32", DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_U8_F32, BRIG_TYPE_U8, BRIG_TYPE_F32, "__hsail_cvt_zeroi_sat_u8_f32", - BT_FN_UINT8_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT8_FLOAT, + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_S8_F32, BRIG_TYPE_S8, BRIG_TYPE_F32, "__hsail_cvt_zeroi_sat_s8_f32", - BT_FN_INT8_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT8_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_U16_F32, BRIG_TYPE_U16, BRIG_TYPE_F32, "__hsail_cvt_zeroi_sat_u16_f32", - BT_FN_UINT16_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT16_FLOAT, + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_S16_F32, BRIG_TYPE_S16, BRIG_TYPE_F32, "__hsail_cvt_zeroi_sat_s16_f32", - BT_FN_INT16_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT16_FLOAT, + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_U32_F32, BRIG_TYPE_U32, BRIG_TYPE_F32, "__hsail_cvt_zeroi_sat_u32_f32", - BT_FN_UINT32_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT32_FLOAT, + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_S32_F32, BRIG_TYPE_S32, BRIG_TYPE_F32, "__hsail_cvt_zeroi_sat_s32_f32", - BT_FN_INT_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_U64_F32, BRIG_TYPE_U64, BRIG_TYPE_F32, "__hsail_cvt_zeroi_sat_u64_f32", - BT_FN_UINT64_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT64_FLOAT, + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_S64_F32, BRIG_TYPE_S64, BRIG_TYPE_F32, "__hsail_cvt_zeroi_sat_s64_f32", - BT_FN_LONG_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_LONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_U8_F64, BRIG_TYPE_U8, BRIG_TYPE_F64, "__hsail_cvt_zeroi_sat_u8_f64", - BT_FN_UINT8_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT8_FLOAT, + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_S8_F64, BRIG_TYPE_S8, BRIG_TYPE_F64, "__hsail_cvt_zeroi_sat_s8_f64", - BT_FN_INT8_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT8_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_U16_F64, BRIG_TYPE_U16, BRIG_TYPE_F64, "__hsail_cvt_zeroi_sat_u16_f64", - BT_FN_UINT16_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT16_FLOAT, + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_S16_F64, BRIG_TYPE_S16, BRIG_TYPE_F64, "__hsail_cvt_zeroi_sat_s16_f64", - BT_FN_INT16_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT16_FLOAT, + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_U32_F64, BRIG_TYPE_U32, BRIG_TYPE_F64, "__hsail_cvt_zeroi_sat_u32_f64", - BT_FN_UINT32_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT32_FLOAT, + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_S32_F64, BRIG_TYPE_S32, BRIG_TYPE_F64, "__hsail_cvt_zeroi_sat_s32_f64", - BT_FN_INT_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_U64_F64, BRIG_TYPE_U64, BRIG_TYPE_F64, "__hsail_cvt_zeroi_sat_u64_f64", - BT_FN_UINT64_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_UINT64_FLOAT, + ATTR_CONST_NOTHROW_LEAF_LIST) DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN (BUILT_IN_HSAIL_CVT_ZEROI_SAT_S64_F64, BRIG_TYPE_S64, BRIG_TYPE_F64, "__hsail_cvt_zeroi_sat_s64_f64", - BT_FN_LONG_FLOAT, ATTR_PURE_NOTHROW_LEAF_LIST) + BT_FN_LONG_FLOAT, + ATTR_CONST_NOTHROW_LEAF_LIST) |