aboutsummaryrefslogtreecommitdiff
path: root/gcc/machmode.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2017-08-30 11:13:02 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2017-08-30 11:13:02 +0000
commite72b0ef4b787599b87cd16b0d929d5d75c6da6bc (patch)
treea9063034435caa463ed4649ec7f0cd66b018e15f /gcc/machmode.h
parente05c94bad29dd443cc28ae314e2874992afce348 (diff)
downloadgcc-e72b0ef4b787599b87cd16b0d929d5d75c6da6bc.zip
gcc-e72b0ef4b787599b87cd16b0d929d5d75c6da6bc.tar.gz
gcc-e72b0ef4b787599b87cd16b0d929d5d75c6da6bc.tar.bz2
[33/77] Add a NARROWEST_INT_MODE macro
This patch replaces uses of GET_CLASS_NARROWEST_MODE (MODE_INT) with a new NARROWEST_INT_MODE macro, which has type scalar_int_mode. 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * machmode.h (NARROWEST_INT_MODE): New macro. * expr.c (alignment_for_piecewise_move): Use it instead of GET_CLASS_NARROWEST_MODE (MODE_INT). (push_block): Likewise. * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator): Likewise. * tree-vrp.c (simplify_float_conversion_using_ranges): Likewise. gcc/ada/ * gcc-interface/decl.c (validate_size): Use NARROWEST_INT_MODE instead of GET_CLASS_NARROWEST_MODE (MODE_INT). Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251485
Diffstat (limited to 'gcc/machmode.h')
-rw-r--r--gcc/machmode.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/machmode.h b/gcc/machmode.h
index 497b0fb..a9fc93a 100644
--- a/gcc/machmode.h
+++ b/gcc/machmode.h
@@ -655,6 +655,12 @@ extern const unsigned char class_narrowest_mode[MAX_MODE_CLASS];
#define GET_CLASS_NARROWEST_MODE(CLASS) \
((machine_mode) class_narrowest_mode[CLASS])
+/* The narrowest full integer mode available on the target. */
+
+#define NARROWEST_INT_MODE \
+ (scalar_int_mode \
+ (scalar_int_mode::from_int (class_narrowest_mode[MODE_INT])))
+
/* Return the narrowest mode in T's class. */
template<typename T>