]> git.ipfire.org Git - thirdparty/gcc.git/commit
s390: Streamline vector builtins with LLVM
authorStefan Schulze Frielinghaus <stefansf@linux.ibm.com>
Wed, 13 Mar 2024 10:03:02 +0000 (11:03 +0100)
committerStefan Schulze Frielinghaus <stefansf@linux.ibm.com>
Wed, 13 Mar 2024 10:03:02 +0000 (11:03 +0100)
commit9f2b16ce1efef0648a6d52c1d744735c46e2eec1
treef3752400c443e02b5f471b5b97051c7175490177
parentb59f0c9c5a4838658dd2a1db58ac09d9f3be0f51
s390: Streamline vector builtins with LLVM

Similar as to s390_lcbb, s390_vll, s390_vstl, et al. make use of a
signed vector type for vlbb.  Furthermore, a const void pointer seems
more common and an integer for the mask.

For s390_vfi(s,d)b make use of integers for masks, too.

Use unsigned integers for all s390_vlbr/vstbr variants.

Make use of type UV16QI for the length operand of s390_vstrs(,z)(h,f).

Following the Principles of Operation, change from signed to unsigned
type for s390_va(c,cc,ccc)q and s390_vs(,c,bc)biq and s390_vmslg.

Make use of scalar type UINT128 instead of UV16QI for s390_vgfm(,a)g,
and s390_vsumq(f,g).

gcc/ChangeLog:

* config/s390/s390-builtin-types.def: Update to reflect latest
changes.
* config/s390/s390-builtins.def: Streamline vector builtins with
LLVM.
gcc/config/s390/s390-builtin-types.def
gcc/config/s390/s390-builtins.def