Hi! On Thu, Aug 11, 2022 at 08:52:49PM +0800, Jiufu Guo wrote: > Segher Boessenkool <seg...@kernel.crashing.org> writes: > > On Wed, Aug 10, 2022 at 03:11:23PM +0800, Jiufu Guo wrote: > >> @@ -9659,7 +9659,7 @@ (define_split > >> ;; When non-easy constants can go in the TOC, this should use > >> ;; easy_fp_constant predicate. > >> (define_split > >> - [(set (match_operand:DI 0 "int_reg_operand_not_pseudo") > >> + [(set (match_operand:DI 0 "gpc_reg_operand") > >> (match_operand:DI 1 "const_int_operand"))] > >> "TARGET_POWERPC64 && num_insns_constant (operands[1], DImode) > 1" > >> [(set (match_dup 0) (match_dup 2)) > > > > This is a huge change. Do you have some indication that it helps / > > hurts / is neutral? Some reasoning why it is a good idea? > Thanks for this concern! I would do more check/test for this. > > The 'int_reg_operand_not_pseudo' cause this splitter only work after RA. > Using 'int_reg_operand_not_pseudo', the code sequence "pli+sldi+paddi" > can be used.
Yes. Splitting early and to allowing pseudos is all good -- but this was disallowed for a reason, supposedly. Changing this now and then changing it back in a few weeks or months isn't progress :-/ Segher