On Wed, Aug 19, 2015 at 02:41:35PM +0100, 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?

OK.

Thanks,
James

> 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.


Reply via email to