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 >