diff options
author | Andreas Krebbel <krebbel@gcc.gnu.org> | 2021-01-11 10:59:43 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2021-01-11 11:46:31 +0100 |
commit | 300a3ce5c5695eb1a7c0476e9d1b45420a463248 (patch) | |
tree | a16eee1a253605fa99a03098828223be1801e9f8 /gcc/tree-vectorizer.c | |
parent | 0c18faac3fb407d182dfa82426d1be7cce587926 (diff) | |
download | gcc-300a3ce5c5695eb1a7c0476e9d1b45420a463248.zip gcc-300a3ce5c5695eb1a7c0476e9d1b45420a463248.tar.gz gcc-300a3ce5c5695eb1a7c0476e9d1b45420a463248.tar.bz2 |
tree-optimization/98221 - fix wrong unpack operation used for big-endian
The vec-abi-varargs-1.c testcase on IBM Z currently fails.
While adding an SI mode vector to a DI mode vector the first is unpacked using:
_28 = BIT_INSERT_EXPR <{ 0, 0, 0, 0 }, _2, 0>;
_34 = [vec_unpack_lo_expr] _28;
However, on big endian targets lo refers to the right hand side of the vector - in this case the zeroes.
2021-01-11 Andreas Krebbel <krebbel@linux.ibm.com>
* tree-ssa-forwprop.c (simplify_vector_constructor): For
big-endian, use UNPACK[_FLOAT]_HI.
Diffstat (limited to 'gcc/tree-vectorizer.c')
0 files changed, 0 insertions, 0 deletions