I'm pinging this early since I would like to make sure that it gets into
14.2 RC which is about to be done on Tuesday 23rd July.

On Tue, Jul 16, 2024 at 04:50:29PM +0200, Stefan Schulze Frielinghaus wrote:
> Code attribute bhfgq is missing a mapping for TF.  This results in
> unresolved iterators in assembler templates for *bswaptf.
> 
> With the TF mapping added the base mnemonics vlbr and vstbr are not
> "used" anymore but only the extended mnemonics (vlbr<bhfgq> was
> interpreted as vlbr; likewise for vstbr).  Therefore, remove the base
> mnemonics from the scheduling description, otherwise, genattrtab would
> error about unknown mnemonics.
> 
> Likewise, for movtf_vr only the extended mnemonics for vrepi are used,
> now, which means the base mnemonic is "unused" and has to be removed
> from the scheduling description.
> 
> Similarly, we end up with unresolved iterators in assembler templates
> for mulfprx23 since code attribute xdee is missing a mapping for FPRX2.
> 
> Note, this is basically a cherry pick of commit r15-2060-ga4abda934aa426
> with the addition that vrepi is removed from the scheduling description,
> too.
> 
> Bootstrapped on s390.  Ok for release branches 12, 13, and 14?
> 
> gcc/ChangeLog:
> 
>       * config/s390/3931.md (vlbr, vstbr, vrepi): Remove.
>       * config/s390/s390.md (xdee): Add FPRX2 mapping.
>       * config/s390/vector.md (bhfgq): Add TF mapping.
> ---
>  gcc/config/s390/3931.md   | 7 -------
>  gcc/config/s390/s390.md   | 2 +-
>  gcc/config/s390/vector.md | 2 +-
>  3 files changed, 2 insertions(+), 9 deletions(-)
> 
> diff --git a/gcc/config/s390/3931.md b/gcc/config/s390/3931.md
> index bed1f6c21f1..9cb11b72bba 100644
> --- a/gcc/config/s390/3931.md
> +++ b/gcc/config/s390/3931.md
> @@ -404,7 +404,6 @@ vlvgg,
>  vlvgh,
>  vlvgp,
>  vst,
> -vstbr,
>  vstbrf,
>  vstbrg,
>  vstbrh,
> @@ -627,7 +626,6 @@ tm,
>  tmy,
>  vl,
>  vlbb,
> -vlbr,
>  vlbrf,
>  vlbrg,
>  vlbrh,
> @@ -661,7 +659,6 @@ vlreph,
>  vlrl,
>  vlrlr,
>  vst,
> -vstbr,
>  vstbrf,
>  vstbrg,
>  vstbrh,
> @@ -1077,7 +1074,6 @@ vrepb,
>  vrepf,
>  vrepg,
>  vreph,
> -vrepi,
>  vrepib,
>  vrepif,
>  vrepig,
> @@ -1930,7 +1926,6 @@ vrepb,
>  vrepf,
>  vrepg,
>  vreph,
> -vrepi,
>  vrepib,
>  vrepif,
>  vrepig,
> @@ -2156,7 +2151,6 @@ vistrfs,
>  vistrhs,
>  vl,
>  vlbb,
> -vlbr,
>  vlbrf,
>  vlbrg,
>  vlbrh,
> @@ -2248,7 +2242,6 @@ tbegin,
>  tbeginc,
>  tend,
>  vst,
> -vstbr,
>  vstbrf,
>  vstbrg,
>  vstbrh,
> diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
> index 50a828f2bbb..8edc1261c38 100644
> --- a/gcc/config/s390/s390.md
> +++ b/gcc/config/s390/s390.md
> @@ -744,7 +744,7 @@
>  ;; In FP templates, a <dee> in "m<dee><bt>r" will expand to "mx<bt>r" in
>  ;; TF/TDmode, "md<bt>r" in DF/DDmode, "mee<bt>r" in SFmode and "me<bt>r in
>  ;; SDmode.
> -(define_mode_attr xdee [(TF "x") (DF "d") (SF "ee") (TD "x") (DD "d") (SD 
> "e")])
> +(define_mode_attr xdee [(TF "x") (FPRX2 "x") (DF "d") (SF "ee") (TD "x") (DD 
> "d") (SD "e")])
>  
>  ;; The decimal floating point variants of add, sub, div and mul support 3
>  ;; fp register operands.  The following attributes allow to merge the bfp and
> diff --git a/gcc/config/s390/vector.md b/gcc/config/s390/vector.md
> index 1bae1056951..f88e8b655fa 100644
> --- a/gcc/config/s390/vector.md
> +++ b/gcc/config/s390/vector.md
> @@ -134,7 +134,7 @@
>                       (V1TI "q") (TI "q")
>                       (V1SF "f") (V2SF "f") (V4SF "f")
>                       (V1DF "g") (V2DF "g")
> -                     (V1TF "q")])
> +                     (V1TF "q") (TF "q")])
>  
>  ; This is for vmalhw. It gets an 'w' attached to avoid confusion with
>  ; multiply and add logical high vmalh.
> -- 
> 2.45.0
> 

Reply via email to