On Tue, May 24, 2016 at 03:28:42PM +0200, Richard Biener wrote: > The following fixes the ICEs in PR71230. > > Bootstrap and regtest running on x86_64-unknown-linux-gnu.
Wouldn't it be enough to use TYPE_SIZE_UNIT instead of TYPE_PRECISION for the non-INTEGRAL_TYPE_Ps and just deal with it at the bswap_replace point? I mean, if we don't want to optimize those further (the tests I've posted in the PR), then it is just a matter of creating low part BIT_FIELD_REF instead of the one we have and use that. This patch as is will I think not attempt to optimize the testcase with unsigned char l[8]; array instead of two ints. > 2016-05-24 Richard Biener <rguent...@suse.de> > > PR tree-optimization/71240 > * tree-ssa-math-opts.c (init_symbolic_number): Verify the source > has integral type. > > * gcc.dg/optimize-bswapsi-5.c: New testcase. Jakub