[PATCH] Fix PR59471

Jakub Jelinek jakub@redhat.com
Tue Jan 7 15:10:00 GMT 2014


On Tue, Jan 07, 2014 at 03:54:56PM +0100, Richard Biener wrote:
> 
> This fixes PR59471 by properly gimplifying
> 
>   VIEW_CONVERT_EXPR<uint8x8_t>(BIT_FIELD_REF <VIEW_CONVERT_EXPR<vector(2) 
> long unsigned int>(x), 64, 0>)
> 
> to use separate stmts for the VIEW_CONVERT_EXPRs.
> 
> Bootstrap and regtest running on x86_64-unknown-linux-gnu.

What about if something post gimplification creates VCE(BFR(VCE())) or
similar and tries to force_gimple_operand_gsi or similar, then without
making the above invalid in the predicates we'd still not try to gimplify it
at all (because it would pass the predicate), and then hit the verification
ICE.

> 2014-01-07  Richard Biener  <rguenther@suse.de>
> 
> 	PR middle-end/59471
> 	* gimplify.c (gimplify_expr): Gimplify register-register type
> 	VIEW_CONVERT_EXPRs to separate stmts.
> 
> 	* gcc.dg/pr59471.c: New testcase.

	Jakub



More information about the Gcc-patches mailing list