Ping. https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01084.html
Thanks, Kyrill On 19/08/15 14:41, Kyrill Tkachov wrote:
Hi all, This fixes the ICE exposed by Alexandre's patch (https://gcc.gnu.org/ml/gcc-patches/2015-08/msg00873.html) The solution I came up with is to re-layout the parameter decls not during expansion time (when RTL has already been allocated to SSA names) but in TARGET_SET_CURRENT_FUNCTION which is called much earlier before that and is used when setting cfun. This way we reach expand with the proper vector modes registered for the param decls and all seems to work ok. The aarch64-builtins.c workaround that I initially introduced in https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02012.html are partially reverted (at least the re-laying out parts). The patch fixes the target_attr_crypto_ice_1.c ICE but I'd like to add a second derived testcase that tests a different expansion path and it has proved useful in writing this patch. Bootstrapped and tested on aarch64. Ok for trunk? Thanks, Kyrill 2015-08-19 Kyrylo Tkachov <kyrylo.tkac...@arm.com> * config/aarch64/aarch64.c (aarch64_set_current_function): Re-layout any vector parameters have non-simd layout. * config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param): Delete. (aarch64_simd_expand_args): Delete call to the above. 2015-08-19 Kyrylo Tkachov <kyrylo.tkac...@arm.com> * gcc.target/aarch64/target_attr_crypto_ice_2.c: New test.