diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64-builtins.c | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f5ef6fc..6d93bab 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-09-20 Yufeng Zhang <yufeng.zhang@arm.com> + + * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): + Call aarch64_simd_expand_args to update op[argc]. + 2013-09-20 Basile Starynkevitch <basile@starynkevitch.net> * plugin.c (parse_plugin_arg_opt): Accept equal sign inside diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c index 6816b9c..0df5b3b 100644 --- a/gcc/config/aarch64/aarch64-builtins.c +++ b/gcc/config/aarch64/aarch64-builtins.c @@ -989,6 +989,8 @@ aarch64_simd_expand_args (rtx target, int icode, int have_retval, switch (thisarg) { case SIMD_ARG_COPY_TO_REG: + if (POINTER_TYPE_P (TREE_TYPE (arg[argc]))) + op[argc] = convert_memory_address (Pmode, op[argc]); /*gcc_assert (GET_MODE (op[argc]) == mode[argc]); */ if (!(*insn_data[icode].operand[argc + have_retval].predicate) (op[argc], mode[argc])) |