aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Lawrence <alan.lawrence@arm.com>2014-09-05 10:21:46 +0000
committerAlan Lawrence <alalaw01@gcc.gnu.org>2014-09-05 10:21:46 +0000
commit8d3d350af830aeced6d9198cd6ce8c826ddcd0c4 (patch)
treecbbb57fc6805b6f710f0ea9b56566010f155045c
parent2f8a1720301c8efe6c450136769c8ec53bea097e (diff)
downloadgcc-8d3d350af830aeced6d9198cd6ce8c826ddcd0c4.zip
gcc-8d3d350af830aeced6d9198cd6ce8c826ddcd0c4.tar.gz
gcc-8d3d350af830aeced6d9198cd6ce8c826ddcd0c4.tar.bz2
[PATCH AArch64] Remove varargs from aarch64_simd_expand_args
* 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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/aarch64/aarch64-builtins.c16
2 files changed, 9 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c0e099c..9bf532b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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,
diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c
index 5217f4a..5e2f85e 100644
--- a/gcc/config/aarch64/aarch64-builtins.c
+++ b/gcc/config/aarch64/aarch64-builtins.c
@@ -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