> Am 25.03.2025 um 16:22 schrieb Jan Hubicka <hubi...@ucw.cz>:
> 
> 
>> 
>>> On Tue, 25 Mar 2025, Richard Biener wrote:
>>> 
>>> The following resolves missing reservations for DFmode *movdf_internal
>>> loads and stores, visible as 'nothing' in -fsched-verbose=2 dumps.
>>> 
>>> Bootstrap and regtest running on x86_64-unknown-linux-gnu.
>> 
>> The alternative for the larger scale problem of missing DFmode handling
>> is to s/V1DF/DF/ in the file - znver.md gets along without V1DF handling,
>> supposedly using V1DF (V1SF isn't a thing) was a mistake?
> 
> Hmm, so we use DF for movsd and V1DF for movlpd.
> movss is SF and movlps is V2SF so I guess we wnat to handle both?

Ok.  There are more missing DF cases, so I will followup with adding DF to all 
reservations covering V1DF.

> Also core2.md and others do not list V1 variants which I suppose is also
> missing case.  Perhaps as Jeff suggets, I could try to see how many
> insns misses reservations by adding the assert...
> 
> 
>> 
>> Richard.
>> 
>>>    PR target/119010
>>>    * config/i386/zn4zn5.md (znver4_sse_mov_fp, znver4_sse_mov_fp_load,
>>>    znver5_sse_mov_fp_load, znver4_sse_mov_fp_store,
>>>    znver5_sse_mov_fp_store): Also match V1SF and DF.
>>> ---
>>> gcc/config/i386/zn4zn5.md | 10 +++++-----
>>> 1 file changed, 5 insertions(+), 5 deletions(-)
>>> 
>>> diff --git a/gcc/config/i386/zn4zn5.md b/gcc/config/i386/zn4zn5.md
>>> index ae188a1201e..f8772fed620 100644
>>> --- a/gcc/config/i386/zn4zn5.md
>>> +++ b/gcc/config/i386/zn4zn5.md
>>> @@ -986,35 +986,35 @@
>>> (define_insn_reservation "znver4_sse_mov_fp" 1
>>>             (and (eq_attr "cpu" "znver4,znver5")
>>>                  (and (eq_attr "type" "ssemov")
>>> -                   (and (eq_attr "mode" 
>>> "V16SF,V8DF,V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
>>> +                   (and (eq_attr "mode" 
>>> "V16SF,V8DF,V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,DF,SF")
> 
> This is OK.  I believe movsd and movlpd are about the same for
> scheduling POV
> 
> Honza

Reply via email to