re PR target/79924 (aarch64: untranslated diagnostics in aarch64_err_no_fpadvsimd)
authorSteve Ellcey <sellcey@cavium.com>
Tue, 5 Jun 2018 22:20:13 +0000 (22:20 +0000)
committerSteve Ellcey <sje@gcc.gnu.org>
Tue, 5 Jun 2018 22:20:13 +0000 (22:20 +0000)
2018-06-05  Steve Ellcey  <sellcey@cavium.com>

PR target/79924
* config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): Remove
second argument.
* config/aarch64/aarch64-protos..c (aarch64_err_no_fpadvsimd):
Remove second argument, change how error is called.
(aarch64_layout_arg): Remove second argument from
aarch64_err_no_fpadvsimd call.
(aarch64_init_cumulative_args): Ditto.
(aarch64_gimplify_va_arg_expr): Ditto.
* config/aarch64/aarch64.md (mov<mode>): Ditto.

From-SVN: r261217

gcc/ChangeLog
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/aarch64.md

index 39305c50cbdd22f37bea471602e2f877d065fc46..dd6b2716502635a6aa184161eaa37ba9fa0821f0 100644 (file)
@@ -1,3 +1,16 @@
+2018-06-05  Steve Ellcey  <sellcey@cavium.com>
+
+       PR target/79924
+       * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): Remove
+       second argument.
+       * config/aarch64/aarch64-protos..c (aarch64_err_no_fpadvsimd):
+       Remove second argument, change how error is called.
+       (aarch64_layout_arg): Remove second argument from
+       aarch64_err_no_fpadvsimd call.
+       (aarch64_init_cumulative_args): Ditto.
+       (aarch64_gimplify_va_arg_expr): Ditto.
+       * config/aarch64/aarch64.md (mov<mode>): Ditto.
+
 2018-06-05  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md (simple_return_indirect_internal): New expander.
index 4ea50acaa59c0b58a213bd1f27fb78b6d8deee96..87c6ae202783c1582913d07ecf38ca6c8fac4aac 100644 (file)
@@ -448,7 +448,7 @@ void aarch64_asm_output_labelref (FILE *, const char *);
 void aarch64_cpu_cpp_builtins (cpp_reader *);
 const char * aarch64_gen_far_branch (rtx *, int, const char *, const char *);
 const char * aarch64_output_probe_stack_range (rtx, rtx);
-void aarch64_err_no_fpadvsimd (machine_mode, const char *);
+void aarch64_err_no_fpadvsimd (machine_mode);
 void aarch64_expand_epilogue (bool);
 void aarch64_expand_mov_immediate (rtx, rtx, rtx (*) (rtx, rtx) = 0);
 void aarch64_emit_sve_pred_move (rtx, rtx, rtx);
index 98ef45714fd62678a39a10f705f89d322c083c5b..bd0ac2f04d8f43fd54b58ff9581645493b8d0cd1 100644 (file)
@@ -1077,13 +1077,22 @@ aarch64_gen_far_branch (rtx * operands, int pos_label, const char * dest,
 }
 
 void
-aarch64_err_no_fpadvsimd (machine_mode mode, const char *msg)
+aarch64_err_no_fpadvsimd (machine_mode mode)
 {
-  const char *mc = FLOAT_MODE_P (mode) ? "floating-point" : "vector";
   if (TARGET_GENERAL_REGS_ONLY)
-    error ("%qs is incompatible with %s %s", "-mgeneral-regs-only", mc, msg);
+    if (FLOAT_MODE_P (mode))
+      error ("%qs is incompatible with the use of floating-point types",
+            "-mgeneral-regs-only");
+    else
+      error ("%qs is incompatible with the use of vector types",
+            "-mgeneral-regs-only");
   else
-    error ("%qs feature modifier is incompatible with %s %s", "+nofp", mc, msg);
+    if (FLOAT_MODE_P (mode))
+      error ("%qs feature modifier is incompatible with the use of"
+            " floating-point types", "+nofp");
+    else
+      error ("%qs feature modifier is incompatible with the use of"
+            " vector types", "+nofp");
 }
 
 /* Implement TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS.
@@ -3519,7 +3528,7 @@ aarch64_layout_arg (cumulative_args_t pcum_v, machine_mode mode,
   if (allocate_nvrn)
     {
       if (!TARGET_FLOAT)
-       aarch64_err_no_fpadvsimd (mode, "argument");
+       aarch64_err_no_fpadvsimd (mode);
 
       if (nvrn + nregs <= NUM_FP_ARG_REGS)
        {
@@ -3661,7 +3670,7 @@ aarch64_init_cumulative_args (CUMULATIVE_ARGS *pcum,
       int nregs ATTRIBUTE_UNUSED; /* Likewise.  */
       if (aarch64_vfp_is_call_or_return_candidate (TYPE_MODE (type), type,
                                                   &mode, &nregs, NULL))
-       aarch64_err_no_fpadvsimd (TYPE_MODE (type), "return type");
+       aarch64_err_no_fpadvsimd (TYPE_MODE (type));
     }
   return;
 }
@@ -12254,7 +12263,7 @@ aarch64_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
 
       /* TYPE passed in fp/simd registers.  */
       if (!TARGET_FLOAT)
-       aarch64_err_no_fpadvsimd (mode, "varargs");
+       aarch64_err_no_fpadvsimd (mode);
 
       f_top = build3 (COMPONENT_REF, TREE_TYPE (f_vrtop),
                      unshare_expr (valist), f_vrtop, NULL_TREE);
index 2539f2e4b25af08b657c2b61791979f6503c677a..830f97603487d6ed07c4dc854a7898c4d17894d1 100644 (file)
   {
     if (!TARGET_FLOAT)
       {
-       aarch64_err_no_fpadvsimd (<MODE>mode, "code");
+       aarch64_err_no_fpadvsimd (<MODE>mode);
        FAIL;
       }