re PR target/69706 (internal compiler error: in extract_constrain_insn, at recog...
authorEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 1 Mar 2016 00:22:26 +0000 (00:22 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 1 Mar 2016 00:22:26 +0000 (00:22 +0000)
PR target/69706
* config/sparc/sparc.c (NWORDS_UP): Rename to...
(CEIL_NWORDS): ...this.  Use CEIL macro.
(compute_fp_layout): Adjust to above renaming.
(function_arg_union_value): Likewise.
(sparc_arg_partial_bytes): Likewise.
(sparc_function_arg_advance): Likewise.

From-SVN: r233833

gcc/ChangeLog
gcc/config/sparc/sparc.c

index ccbcfe8676daf351014fc3208eaa82b08cecadda..1461a956204e54ae1a64490031ba9141de94ae23 100644 (file)
@@ -1,4 +1,14 @@
-2016-02-28  Jeff Law  <law@redhat.com>
+2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/69706
+       * config/sparc/sparc.c (NWORDS_UP): Rename to...
+       (CEIL_NWORDS): ...this.  Use CEIL macro.
+       (compute_fp_layout): Adjust to above renaming.
+       (function_arg_union_value): Likewise.
+       (sparc_arg_partial_bytes): Likewise.
+       (sparc_function_arg_advance): Likewise.
+
+2016-02-29  Jeff Law  <law@redhat.com>
 
        PR tree-optimization/70005
        * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
index d077680048c6b78d297ecc9291c063efd7af971c..080be617a5aae6aa51e5bc855baadbd637b1ed1a 100644 (file)
@@ -6086,7 +6086,7 @@ conventions.  */
 /* Maximum number of fp regs for args.  */
 #define SPARC_FP_ARG_MAX 16
 /* Number of words (partially) occupied for a given size in units.  */
-#define NWORDS_UP(SIZE) (((SIZE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
+#define CEIL_NWORDS(SIZE) CEIL((SIZE), UNITS_PER_WORD)
 
 /* Handle the INIT_CUMULATIVE_ARGS macro.
    Initialize a variable CUM of type CUMULATIVE_ARGS
@@ -6429,7 +6429,7 @@ compute_fp_layout (const_tree field, HOST_WIDE_INT bitpos,
   else
     nregs = 1;
 
-  nslots = NWORDS_UP (nregs * GET_MODE_SIZE (mode));
+  nslots = CEIL_NWORDS (nregs * GET_MODE_SIZE (mode));
 
   if (nslots > SPARC_FP_ARG_MAX - this_slotno)
     {
@@ -6661,7 +6661,7 @@ static rtx
 function_arg_union_value (int size, machine_mode mode, int slotno,
                          int regno)
 {
-  int nwords = NWORDS_UP (size), i;
+  int nwords = CEIL_NWORDS (size), i;
   rtx regs;
 
   /* See comment in previous function for empty structures.  */
@@ -6893,8 +6893,8 @@ sparc_arg_partial_bytes (cumulative_args_t cum, machine_mode mode,
   if (TARGET_ARCH32)
     {
       if ((slotno + (mode == BLKmode
-                    ? NWORDS_UP (int_size_in_bytes (type))
-                    : NWORDS_UP (GET_MODE_SIZE (mode))))
+                    ? CEIL_NWORDS (int_size_in_bytes (type))
+                    : CEIL_NWORDS (GET_MODE_SIZE (mode))))
          > SPARC_INT_ARG_MAX)
        return (SPARC_INT_ARG_MAX - slotno) * UNITS_PER_WORD;
     }
@@ -7004,8 +7004,8 @@ sparc_function_arg_advance (cumulative_args_t cum_v, machine_mode mode,
 
   if (TARGET_ARCH32)
     cum->words += (mode == BLKmode
-                  ? NWORDS_UP (int_size_in_bytes (type))
-                  : NWORDS_UP (GET_MODE_SIZE (mode)));
+                  ? CEIL_NWORDS (int_size_in_bytes (type))
+                  : CEIL_NWORDS (GET_MODE_SIZE (mode)));
   else
     {
       if (type && AGGREGATE_TYPE_P (type))
@@ -7021,8 +7021,8 @@ sparc_function_arg_advance (cumulative_args_t cum_v, machine_mode mode,
        }
       else
        cum->words += (mode == BLKmode
-                      ? NWORDS_UP (int_size_in_bytes (type))
-                      : NWORDS_UP (GET_MODE_SIZE (mode)));
+                      ? CEIL_NWORDS (int_size_in_bytes (type))
+                      : CEIL_NWORDS (GET_MODE_SIZE (mode)));
     }
 }