]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fix IFN_MASK_STORE handling of IFN_GOMP_SIMD_LANE
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Jan 2019 18:53:44 +0000 (18:53 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Jan 2019 18:53:44 +0000 (18:53 +0000)
commit398650c9d3aa85568b8aa250a2c76c19ac9c3e38
tree090efe1f6a373e86577ea4af3e3a903729327a64
parentc38103e81616b1be6761860b2514cdccba7f1df4
Fix IFN_MASK_STORE handling of IFN_GOMP_SIMD_LANE

The IFN_GOMP_SIMD_LANE handling in vectorizable_store tries to use MEM_REF
offsets to maintain pointer disambiguation info.  This patch makes sure
that we don't try to do the same optimisation for IFN_MASK_STOREs, which
have no similar offset argument.

The patch fixes libgomp.c-c++-common/pr66199-*.c for SVE.  Previously
we had an ncopies==2 store and stored both halves to the same address.

2019-01-07  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* tree-vect-stmts.c (vectorizable_store): Don't use the dataref_offset
optimization for masked stores.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267654 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/tree-vect-stmts.c