]> git.ipfire.org Git - thirdparty/gcc.git/commit
s390: Fix high-level builtins vec_gfmsum{,_accum}_128
authorStefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
Wed, 14 Aug 2024 18:01:36 +0000 (20:01 +0200)
committerStefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
Wed, 14 Aug 2024 18:01:36 +0000 (20:01 +0200)
commite8a7142a697c5d2673adea33ba23af82a89c9559
tree3b3e1cddc68905b108c27292b880af9a5237c75f
parenta82c4dfe52dac332e0a6f1522459d2f8548419bc
s390: Fix high-level builtins vec_gfmsum{,_accum}_128

Starting with r14-9449-g9f2b16ce1efef0 builtins were streamlined with
those in LLVM.  In particular s390_vgfm{,a}g have been changed from
UV16QI to UINT128 in order to match those in LLVM.  However, these
low-level builtins are directly used by the high-level builtins
vec_gfmsum{,_accum}_128 which expect UV16QI instead.  Therefore,
introduce new low-level builtins s390_vgfm{,a}g_128 and make use of
them, respectively.

gcc/ChangeLog:

* config/s390/s390-builtin-types.def (BT_FN_UV16QI_UV2DI_UV2DI):
New.
(BT_FN_UV16QI_UV2DI_UV2DI_UV16QI): New.
* config/s390/s390-builtins.def (s390_vgfmg_128): New.
(s390_vgfmag_128): New.
* config/s390/vecintrin.h (vec_gfmsum_128): Use s390_vgfmg_128.
(vec_gfmsum_accum_128): Use s390_vgfmag_128.
gcc/config/s390/s390-builtin-types.def
gcc/config/s390/s390-builtins.def
gcc/config/s390/vecintrin.h