This avoids decomposing hard-register accesses that masquerade as
loads.
2021-08-11 Richard Biener <rguenther@suse.de>
PR target/101877
* tree-ssa-forwprop.c (pass_forwprop::execute): Do not decompose
hard-register accesses.
|| (fun->curr_properties & PROP_gimple_lvec))
&& gimple_assign_load_p (stmt)
&& !gimple_has_volatile_ops (stmt)
- && !stmt_can_throw_internal (cfun, stmt))
+ && !stmt_can_throw_internal (cfun, stmt)
+ && (!VAR_P (rhs) || !DECL_HARD_REGISTER (rhs)))
optimize_vector_load (&gsi);
else if (code == COMPLEX_EXPR)