diff options
-rw-r--r-- | gcc/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/builtins.c | 5 | ||||
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/mangle.c | 2 | ||||
-rw-r--r-- | gcc/fold-const.c | 7 | ||||
-rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/fortran/target-memory.c | 2 | ||||
-rw-r--r-- | gcc/hsa-brig.c | 2 | ||||
-rw-r--r-- | gcc/objc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/objc/objc-encoding.c | 2 | ||||
-rw-r--r-- | gcc/tree-vrp.c | 3 | ||||
-rw-r--r-- | gcc/tree.h | 2 |
12 files changed, 48 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 736902b..5ca560e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -2,6 +2,18 @@ Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> + * tree.h (SCALAR_FLOAT_TYPE_MODE): New macro. + * builtins.c (expand_builtin_signbit): Use it instead of TYPE_MODE. + * fold-const.c (fold_convert_const_real_from_fixed): Likewise. + (native_encode_real): Likewise. + (native_interpret_real): Likewise. + * hsa-brig.c (emit_immediate_scalar_to_buffer): Likewise. + * tree-vrp.c (simplify_float_conversion_using_ranges): Likewise. + +2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> + Alan Hayward <alan.hayward@arm.com> + David Sherwood <david.sherwood@arm.com> + * optabs-libfuncs.c (gen_trunc_conv_libfunc): Use is_a <scalar_float_mode>. Simplify. (gen_extend_conv_libfunc): Likewise. diff --git a/gcc/builtins.c b/gcc/builtins.c index 2f361bf..4cb1d37 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -5301,7 +5301,8 @@ static rtx expand_builtin_signbit (tree exp, rtx target) { const struct real_format *fmt; - machine_mode fmode, imode, rmode; + scalar_float_mode fmode; + machine_mode imode, rmode; tree arg; int word, bitpos; enum insn_code icode; @@ -5312,7 +5313,7 @@ expand_builtin_signbit (tree exp, rtx target) return NULL_RTX; arg = CALL_EXPR_ARG (exp, 0); - fmode = TYPE_MODE (TREE_TYPE (arg)); + fmode = SCALAR_FLOAT_TYPE_MODE (TREE_TYPE (arg)); rmode = TYPE_MODE (TREE_TYPE (exp)); fmt = REAL_MODE_FORMAT (fmode); diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8532f57..fc6231c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> + Alan Hayward <alan.hayward@arm.com> + David Sherwood <david.sherwood@arm.com> + + * mangle.c (write_real_cst): Use SCALAR_FLOAT_TYPE_MODE + instead of TYPE_MODE. + 2017-08-29 Jason Merrill <jason@redhat.com> PR c++/81236 - ICE with template-id in generic lambda diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index ce7c0c5..15f4421 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -1788,7 +1788,7 @@ write_real_cst (const tree value) int i, limit, dir; tree type = TREE_TYPE (value); - int words = GET_MODE_BITSIZE (TYPE_MODE (type)) / 32; + int words = GET_MODE_BITSIZE (SCALAR_FLOAT_TYPE_MODE (type)) / 32; real_to_target (target_real, &TREE_REAL_CST (value), TYPE_MODE (type)); diff --git a/gcc/fold-const.c b/gcc/fold-const.c index de60f68..27f4f4e 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -2032,7 +2032,8 @@ fold_convert_const_real_from_fixed (tree type, const_tree arg1) REAL_VALUE_TYPE value; tree t; - real_convert_from_fixed (&value, TYPE_MODE (type), &TREE_FIXED_CST (arg1)); + real_convert_from_fixed (&value, SCALAR_FLOAT_TYPE_MODE (type), + &TREE_FIXED_CST (arg1)); t = build_real (type, value); TREE_OVERFLOW (t) = TREE_OVERFLOW (arg1); @@ -7057,7 +7058,7 @@ static int native_encode_real (const_tree expr, unsigned char *ptr, int len, int off) { tree type = TREE_TYPE (expr); - int total_bytes = GET_MODE_SIZE (TYPE_MODE (type)); + int total_bytes = GET_MODE_SIZE (SCALAR_FLOAT_TYPE_MODE (type)); int byte, offset, word, words, bitpos; unsigned char value; @@ -7302,7 +7303,7 @@ native_interpret_fixed (tree type, const unsigned char *ptr, int len) static tree native_interpret_real (tree type, const unsigned char *ptr, int len) { - machine_mode mode = TYPE_MODE (type); + scalar_float_mode mode = SCALAR_FLOAT_TYPE_MODE (type); int total_bytes = GET_MODE_SIZE (mode); unsigned char value; /* There are always 32 bits in each long, no matter the size of diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index fe2d802..6baf74f 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -2,6 +2,13 @@ Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> + * target-memory.c (size_float): Use SCALAR_FLOAT_TYPE_MODE + instead of TYPE_MODE. + +2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> + Alan Hayward <alan.hayward@arm.com> + David Sherwood <david.sherwood@arm.com> + * trans-types.c (gfc_init_kinds): Use machine_mode instead of int for "mode". diff --git a/gcc/fortran/target-memory.c b/gcc/fortran/target-memory.c index d239cf1..1c8de1c 100644 --- a/gcc/fortran/target-memory.c +++ b/gcc/fortran/target-memory.c @@ -46,7 +46,7 @@ size_integer (int kind) static size_t size_float (int kind) { - return GET_MODE_SIZE (TYPE_MODE (gfc_get_real_type (kind)));; + return GET_MODE_SIZE (SCALAR_FLOAT_TYPE_MODE (gfc_get_real_type (kind))); } diff --git a/gcc/hsa-brig.c b/gcc/hsa-brig.c index 0f6cac5..d15ce26 100644 --- a/gcc/hsa-brig.c +++ b/gcc/hsa-brig.c @@ -910,7 +910,7 @@ emit_immediate_scalar_to_buffer (tree value, char *data, unsigned need_len) "operands"); return 2; } - unsigned int_len = GET_MODE_SIZE (TYPE_MODE (type)); + unsigned int_len = GET_MODE_SIZE (SCALAR_FLOAT_TYPE_MODE (type)); /* There are always 32 bits in each long, no matter the size of the hosts long. */ long tmp[6]; diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 0e59ebf..8270c92 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -2,6 +2,13 @@ Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> + * objc-encoding.c (encode_type): Use SCALAR_FLOAT_TYPE_MODE + instead of TYPE_MODE. + +2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> + Alan Hayward <alan.hayward@arm.com> + David Sherwood <david.sherwood@arm.com> + * objc-encoding.c (encode_gnu_bitfield): Prefix mode names with E_ in case statements. diff --git a/gcc/objc/objc-encoding.c b/gcc/objc/objc-encoding.c index fa15c31..bd59a29 100644 --- a/gcc/objc/objc-encoding.c +++ b/gcc/objc/objc-encoding.c @@ -664,7 +664,7 @@ encode_type (tree type, int curtype, int format) { char c; /* Floating point types. */ - switch (GET_MODE_BITSIZE (TYPE_MODE (type))) + switch (GET_MODE_BITSIZE (SCALAR_FLOAT_TYPE_MODE (type))) { case 32: c = 'f'; break; case 64: c = 'd'; break; diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 2689697..4da6a2b 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -10094,7 +10094,8 @@ simplify_float_conversion_using_ranges (gimple_stmt_iterator *gsi, { tree rhs1 = gimple_assign_rhs1 (stmt); value_range *vr = get_value_range (rhs1); - machine_mode fltmode = TYPE_MODE (TREE_TYPE (gimple_assign_lhs (stmt))); + scalar_float_mode fltmode + = SCALAR_FLOAT_TYPE_MODE (TREE_TYPE (gimple_assign_lhs (stmt))); machine_mode mode; tree tem; gassign *conv; @@ -1849,6 +1849,8 @@ extern void protected_set_expr_location (tree, location_t); #define TYPE_MODE(NODE) \ (VECTOR_TYPE_P (TYPE_CHECK (NODE)) \ ? vector_type_mode (NODE) : (NODE)->type_common.mode) +#define SCALAR_FLOAT_TYPE_MODE(NODE) \ + (as_a <scalar_float_mode> (TYPE_CHECK (NODE)->type_common.mode)) #define SET_TYPE_MODE(NODE, MODE) \ (TYPE_CHECK (NODE)->type_common.mode = (MODE)) |