diff options
author | Andreas Krebbel <krebbel@linux.ibm.com> | 2019-03-13 09:50:21 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2019-03-13 09:50:21 +0000 |
commit | 4344ab1c80fe364488ecb01021a07259df0ae5ef (patch) | |
tree | e655e83012e21ab3c4cb3cffb5833d90d3302189 /gcc/tree-ssa-loop-ch.c | |
parent | 507c09de6df6a72306768c6a5d1cce95e79ccc1a (diff) | |
download | gcc-4344ab1c80fe364488ecb01021a07259df0ae5ef.zip gcc-4344ab1c80fe364488ecb01021a07259df0ae5ef.tar.gz gcc-4344ab1c80fe364488ecb01021a07259df0ae5ef.tar.bz2 |
S/390: Fix the vec_xl / vec_xst style builtins
This patch fixes several problems with the vec_xl/vec_xst builtins:
- vec_xl/vec_xst needs to use the alignment of the scalar memory
operand for the vector type reference. This is required to emit the
proper vl/vst alignment hints.
- vec_xl / vec_xld2 / vec_xlw4 should accept const pointer source operands
- vec_xlw4 / vec_xstw4 needs to accept float memory operands
gcc/ChangeLog:
2019-03-13 Andreas Krebbel <krebbel@linux.ibm.com>
Backport from mainline
2019-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
* config/s390/s390-builtin-types.def: Add new types.
* config/s390/s390-builtins.def: (s390_vec_xl, s390_vec_xld2)
(s390_vec_xlw4): Make the memory operand into a const pointer.
(s390_vec_xld2, s390_vec_xlw4): Add a variant for single precision
float.
* config/s390/s390-c.c (s390_expand_overloaded_builtin): Generate
a new vector type with the alignment of the scalar memory operand.
gcc/testsuite/ChangeLog:
2019-03-13 Andreas Krebbel <krebbel@linux.ibm.com>
Backport from mainline
2019-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
* gcc.target/s390/zvector/xl-xst-align-1.c: New test.
* gcc.target/s390/zvector/xl-xst-align-2.c: New test.
From-SVN: r269642
Diffstat (limited to 'gcc/tree-ssa-loop-ch.c')
0 files changed, 0 insertions, 0 deletions