On 2/20/19 3:32 PM, Jakub Jelinek wrote:
> Hi!
>
> On the following testcase we ICE in simplify_gen_subreg, when result has
> BLKmode and we want to convert it to some complex mode (e.g. DCmode or
> in theory XCmode or TCmode too).
> Such SUBREGs are invalid, but BLKmode can only live in memory and when it
> is a MEM, we don't really need to create a subreg, we can change_address
> and just load it as if it is a complex MEM.
>
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
>
> 2019-02-20 Jakub Jelinek <ja...@redhat.com>
>
> PR middle-end/89412
> * expr.c (expand_assignment): If result is a MEM, use change_address
> instead of simplify_gen_subreg.
>
> * gcc.c-torture/compile/pr89412.c: New test.
OK
Jeff