]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
s390: Fix dealing with HF vector modes in s390_secondary_reload
authorStefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
Fri, 1 May 2026 07:16:48 +0000 (09:16 +0200)
committerStefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
Fri, 1 May 2026 07:16:48 +0000 (09:16 +0200)
Initial HF mode support was added in commit r16-6682-g5d6d56d837c which
is missing HF vector mode support when dealing with secondary reloads
for instructions which do not accept relative operands.

gcc/ChangeLog:

* config/s390/s390.cc (s390_secondary_reload): Add cases for HF
vector modes.
* config/s390/s390.md: Add modes V{1,2,4,8}HF to mode iterator
ALL.

gcc/config/s390/s390.cc
gcc/config/s390/s390.md

index a8afef3222bb1224a40d3915939658531c690d90..67e002eed3ac2cc03b5f2d2bb31e8afe1af0816c 100644 (file)
@@ -5038,6 +5038,10 @@ s390_secondary_reload (bool in_p, rtx x, reg_class_t rclass_i,
              __SECONDARY_RELOAD_CASE (V1DI, v1di);
              __SECONDARY_RELOAD_CASE (V2DI, v2di);
              __SECONDARY_RELOAD_CASE (V1TI, v1ti);
+             __SECONDARY_RELOAD_CASE (V1HF, v1hf);
+             __SECONDARY_RELOAD_CASE (V2HF, v2hf);
+             __SECONDARY_RELOAD_CASE (V4HF, v4hf);
+             __SECONDARY_RELOAD_CASE (V8HF, v8hf);
              __SECONDARY_RELOAD_CASE (V1SF, v1sf);
              __SECONDARY_RELOAD_CASE (V2SF, v2sf);
              __SECONDARY_RELOAD_CASE (V4SF, v4sf);
index 7219c9b4a6dbd12998d517a22120f688f07230ce..0f3222827c7a405973fd121f6beec240cee1418b 100644 (file)
 
 (define_mode_iterator ALL [TI DI SI HI QI TF FPRX2 DF SF HF TD DD SD V1QI V2QI
                           V4QI V8QI V16QI V1HI V2HI V4HI V8HI V1SI V2SI V4SI
-                          V1DI V2DI V1SF V2SF V4SF V1TI V1DF V2DF V1TF])
+                          V1DI V2DI V1HF V2HF V4HF V8HF V1SF V2SF V4SF
+                          V1TI V1DF V2DF V1TF])
 
 ;; These mode iterators allow floating point patterns to be generated from the
 ;; same template.