[gcc r17-2942] aarch64: Use shifts in `aarch64_type_qualifiers` enum
Karl Meakin via Gcc-cvs <[email protected]> Tue, 4 Aug 2026 14:24:33 +0000 (GMT)
| Newsgroups | gmane.comp.gcc.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://gcc.gnu.org/g:61c13bdd44335ecf79540e624bee42ac3f67d9b8 commit r17-2942-g61c13bdd44335ecf79540e624bee42ac3f67d9b8 Author: Karl Meakin <[email protected]> Date: Thu Sep 18 15:33:33 2025 +0000 aarch64: Use shifts in `aarch64_type_qualifiers` enum Use shifts to define each member of `aarch64_type_qualifiers` instead of calculating the shift manually. gcc/ChangeLog: * config/aarch64/aarch64-builtins.h (enum aarch64_type_qualifiers): Use shifts. Diff: --- gcc/config/aarch64/aarch64-builtins.h | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/gcc/config/aarch64/aarch64-builtins.h b/gcc/config/aarch64/aarch64-builtins.h index 372d3a5b0888..87fc0dcb2d57 100644 --- a/gcc/config/aarch64/aarch64-builtins.h +++ b/gcc/config/aarch64/aarch64-builtins.h @@ -23,41 +23,40 @@ enum aarch64_type_qualifiers /* T foo. */ qualifier_none = 0x0, /* unsigned T foo. */ - qualifier_unsigned = 0x1, /* 1 << 0 */ + qualifier_unsigned = 1 << 0, /* const T foo. */ - qualifier_const = 0x2, /* 1 << 1 */ + qualifier_const = 1 << 1, /* T *foo. */ - qualifier_pointer = 0x4, /* 1 << 2 */ + qualifier_pointer = 1 << 2, /* const T *foo. */ - qualifier_const_pointer = 0x6, + qualifier_const_pointer = qualifier_const | qualifier_pointer, /* Used when expanding arguments if an operand could be an immediate. */ - qualifier_immediate = 0x8, /* 1 << 3 */ - qualifier_maybe_immediate = 0x10, /* 1 << 4 */ + qualifier_immediate = 1 << 3, + qualifier_maybe_immediate = 1 << 4, /* void foo (...). */ - qualifier_void = 0x20, /* 1 << 5 */ + qualifier_void = 1 << 5, /* 1 << 6 is now unused */ /* Some builtins should use the T_*mode* encoded in a simd_builtin_datum rather than using the type of the operand. */ - qualifier_map_mode = 0x80, /* 1 << 7 */ - /* qualifier_pointer | qualifier_map_mode */ - qualifier_pointer_map_mode = 0x84, - /* qualifier_const | qualifier_pointer | qualifier_map_mode */ - qualifier_const_pointer_map_mode = 0x86, + qualifier_map_mode = 1 << 7, + qualifier_pointer_map_mode = qualifier_pointer | qualifier_map_mode, + qualifier_const_pointer_map_mode + = qualifier_const | qualifier_pointer_map_mode, /* Polynomial types. */ - qualifier_poly = 0x100, + qualifier_poly = 1 << 8, /* Lane indices - must be in range, and flipped for bigendian. */ - qualifier_lane_index = 0x200, + qualifier_lane_index = 1 << 9, /* Lane indices for single lane structure loads and stores. */ - qualifier_struct_load_store_lane_index = 0x400, + qualifier_struct_load_store_lane_index = 1 << 10, /* Lane indices selected in pairs. - must be in range, and flipped for bigendian. */ - qualifier_lane_pair_index = 0x800, + qualifier_lane_pair_index = 1 << 11, /* Lane indices selected in quadtuplets. - must be in range, and flipped for bigendian. */ - qualifier_lane_quadtup_index = 0x1000, + qualifier_lane_quadtup_index = 1 << 12, /* Modal FP types. */ - qualifier_modal_float = 0x2000, + qualifier_modal_float = 1 << 13, }; enum aarch64_simd_type