Re: try multi dest registers in default_zero_call_used_regs

2022-04-04 Thread Alexandre Oliva via Gcc-patches
On Apr 4, 2022, Richard Sandiford wrote: > But if that's true, it should happen in gen_rtx_REG. Yeah, I agree, that makes sense. > OK without the introduction of the ?:, thanks. Thanks, here's what I'm checking in. try multi-reg dest in default_zero_call_used_regs From: Alexandre Oliva W

Re: try multi dest registers in default_zero_call_used_regs

2022-04-04 Thread Richard Sandiford via Gcc-patches
Alexandre Oliva writes: > Hello, Richard, > > Thanks for the review! > > On Mar 31, 2022, Richard Sandiford wrote: > >>> + /* If the natural mode doesn't work, try some wider mode. */ >>> + if (!targetm.hard_regno_mode_ok (regno, mode)) >>> + { >>> + for (int nregs = 2; >>> +

Re: try multi dest registers in default_zero_call_used_regs

2022-03-31 Thread Alexandre Oliva via Gcc-patches
Hello, Richard, Thanks for the review! On Mar 31, 2022, Richard Sandiford wrote: >> +/* If the natural mode doesn't work, try some wider mode. */ >> +if (!targetm.hard_regno_mode_ok (regno, mode)) >> + { >> +for (int nregs = 2; >> + regno + nregs <= FIRST_PSEUD

Re: try multi dest registers in default_zero_call_used_regs

2022-03-31 Thread Richard Sandiford via Gcc-patches
Alexandre Oliva via Gcc-patches writes: > When the mode of regno_reg_rtx is not hard_regno_mode_ok for the > target, try grouping the register with subsequent ones. This enables > s16 to s31 and their hidden pairs to be zeroed with the default logic > on some arm variants. > > Regstrapped on x86_

try multi dest registers in default_zero_call_used_regs

2022-03-27 Thread Alexandre Oliva via Gcc-patches
When the mode of regno_reg_rtx is not hard_regno_mode_ok for the target, try grouping the register with subsequent ones. This enables s16 to s31 and their hidden pairs to be zeroed with the default logic on some arm variants. Regstrapped on x86_64-linux-gnu, also tested on an affected arm confi