https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70396
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
CC| |jakub at gcc dot gnu.org
Resolution|FIXED |---
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I'd say we really don't want vector mode ZERO_EXTRACTs/SIGN_EXTRACTs, so
perhaps
make_extraction could give up in that case, maybe:
/* Never narrow an object, since that might not be safe. */
if (mode != VOIDmode
&& GET_MODE_SIZE (extraction_mode) < GET_MODE_SIZE (mode))
extraction_mode = mode;
and inside of if just do
{
/* Avoid vector mode extractions. */
if (VECTOR_MODE_P (mode))
return NULL_RTX;
extraction_mode = mode;
}
Or should we punt even earlier?