[PATCH AArch64] Remove varargs from aarch64_simd_expand_args
authorAlan Lawrence <alan.lawrence@arm.com>
Fri, 5 Sep 2014 10:21:46 +0000 (10:21 +0000)
committerAlan Lawrence <alalaw01@gcc.gnu.org>
Fri, 5 Sep 2014 10:21:46 +0000 (10:21 +0000)
        * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Replace
        varargs with pointer parameter.
        (aarch64_simd_expand_builtin): pass pointer into previous.

From-SVN: r214945

gcc/ChangeLog
gcc/config/aarch64/aarch64-builtins.c

index c0e099ca341671484167dc6cdae997c2b7a3b8a3..9bf532b9a9e049a7d948e5702005028a0b1134e8 100644 (file)
@@ -1,3 +1,9 @@
+2014-09-05  Alan Lawrence  <alan.lawrence@arm.com>
+
+       * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Replace
+       varargs with pointer parameter.
+       (aarch64_simd_expand_builtin): pass pointer into previous.
+
 2014-09-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * config/arm/cortex-a53.md (cortex_a53_alu_shift): Add alu_ext,
index 5217f4a5f39224dbf8029542ad33790ef2c191be..5e2f85edc3dcaa0028d372f4e178127fe4bbbda8 100644 (file)
@@ -862,9 +862,8 @@ typedef enum
 
 static rtx
 aarch64_simd_expand_args (rtx target, int icode, int have_retval,
-                         tree exp, ...)
+                         tree exp, builtin_simd_arg *args)
 {
-  va_list ap;
   rtx pat;
   tree arg[SIMD_MAX_BUILTIN_ARGS];
   rtx op[SIMD_MAX_BUILTIN_ARGS];
@@ -878,11 +877,9 @@ aarch64_simd_expand_args (rtx target, int icode, int have_retval,
          || !(*insn_data[icode].operand[0].predicate) (target, tmode)))
     target = gen_reg_rtx (tmode);
 
-  va_start (ap, exp);
-
   for (;;)
     {
-      builtin_simd_arg thisarg = (builtin_simd_arg) va_arg (ap, int);
+      builtin_simd_arg thisarg = args[argc];
 
       if (thisarg == SIMD_ARG_STOP)
        break;
@@ -918,8 +915,6 @@ aarch64_simd_expand_args (rtx target, int icode, int have_retval,
        }
     }
 
-  va_end (ap);
-
   if (have_retval)
     switch (argc)
       {
@@ -1033,12 +1028,7 @@ aarch64_simd_expand_builtin (int fcode, tree exp, rtx target)
   /* The interface to aarch64_simd_expand_args expects a 0 if
      the function is void, and a 1 if it is not.  */
   return aarch64_simd_expand_args
-         (target, icode, !is_void, exp,
-          args[1],
-          args[2],
-          args[3],
-          args[4],
-          SIMD_ARG_STOP);
+         (target, icode, !is_void, exp, &args[1]);
 }
 
 rtx