aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.c
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.ibm.com>2019-02-07 15:53:38 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2019-02-07 15:53:38 +0000
commit993f9e7d06de3e08f92fc4c72efe219495140967 (patch)
tree0c1bc7a4b0330764d1b62101bf30f683cf0e7de2 /gcc/tree-vectorizer.c
parentc272bbda1af0f316c4c5e9a1d8b4d673c3b1bf58 (diff)
downloadgcc-993f9e7d06de3e08f92fc4c72efe219495140967.zip
gcc-993f9e7d06de3e08f92fc4c72efe219495140967.tar.gz
gcc-993f9e7d06de3e08f92fc4c72efe219495140967.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-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-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: r268651
Diffstat (limited to 'gcc/tree-vectorizer.c')
0 files changed, 0 insertions, 0 deletions