https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99025

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Uroš Bizjak from comment #2)
> Comment on attachment 50154 [details]
> gcc11-pr99025.patch
> 
> >2021-02-09  Jakub Jelinek  <ja...@redhat.com>
> 
> >+  if (SUBREG_P (operands[1]))
> >+    operands[1] = force_reg (V2SFmode, operands[1]);
> 
> There is no need to check for SUBREG, force_reg has early exit in case
> operand is already a register.

I know, I've just misread nonimmediate_operand as nonmemory_operand and thought
I need to let immediates get through to simplify_gen_subreg.
The predicates are register_operand (so REG or SUBREG) or nonimmediate_operand
(so REG, SUBREG or MEM and in that case this is used in !MEM_P paths) and so
you're right force_reg can be called unconditionally.

Reply via email to