[Bug tree-optimization/98221] [10 regression] Wrong unpack operation emitted in tree-ssa-forwprop.c
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 11 10:47:28 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98221
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
Summary|[10/11 regression] Wrong |[10 regression] Wrong
|unpack operation emitted in |unpack operation emitted in
|tree-ssa-forwprop.c |tree-ssa-forwprop.c
Known to work| |11.0
Ever confirmed|0 |1
Last reconfirmed| |2021-01-11
Status|UNCONFIRMED |ASSIGNED
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed on trunk sofar.
commit 300a3ce5c5695eb1a7c0476e9d1b45420a463248 (HEAD -> trunk, origin/master,
o
rigin/HEAD)
Author: Andreas Krebbel <krebbel@gcc.gnu.org>
Date: Mon Jan 11 10:59:43 2021 +0100
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.
More information about the Gcc-bugs
mailing list