]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
s390: Fix unresolved iterators bhfgq and xdee
authorStefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
Tue, 16 Jul 2024 09:23:10 +0000 (11:23 +0200)
committerStefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
Tue, 16 Jul 2024 09:23:10 +0000 (11:23 +0200)
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.

Similarly, we end up with unresolved iterators in assembler templates
for mulfprx23 since code attribute xdee is missing a mapping for FPRX2.

gcc/ChangeLog:

* config/s390/3931.md (vlbr, vstbr): Remove.
* config/s390/s390.md (xdee): Add FPRX2 mapping.
* config/s390/vector.md (bhfgq): Add TF mapping.

gcc/config/s390/3931.md
gcc/config/s390/s390.md
gcc/config/s390/vector.md

index 632c2456b6a32b36f6aab51c93683823b270bfdd..9f7a4c58755c3e77d8628b972afc06c52e5288a9 100644 (file)
@@ -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,
@@ -2148,7 +2145,6 @@ vistrfs,
 vistrhs,
 vl,
 vlbb,
-vlbr,
 vlbrf,
 vlbrg,
 vlbrh,
@@ -2240,7 +2236,6 @@ tbegin,
 tbeginc,
 tend,
 vst,
-vstbr,
 vstbrf,
 vstbrg,
 vstbrh,
index 303026f6af7ccc3c089896b8c4b9b0872456249b..3d5759d6252128695baa40cf171a0281f4030558 100644 (file)
 ;; 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
index 69efbbb61acd3dbc3e78606e04c752c73a065957..a75b7cb58257204299a1cd15b8941f94b17c7059 100644 (file)
                        (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.