tree-optimization/107617 - big-endian .LEN_STORE VN
authorRichard Biener <rguenther@suse.de>
Mon, 28 Nov 2022 11:38:46 +0000 (12:38 +0100)
committerRichard Biener <rguenther@suse.de>
Wed, 14 Dec 2022 07:48:35 +0000 (08:48 +0100)
commitd3fee43fb3873b00de913e0501fbf28b56d2ce64
treedcd34a989970e4848e3619fb54d5249f024ceaf7
parent512098a3316f07d4b8bf0e035ab128ed2a50cb5e
tree-optimization/107617 - big-endian .LEN_STORE VN

The following fixes a mistake in interpreting .LEN_STORE definitions
during value-numbering when in big-endian mode.  We cannot offset
the encoding of the RHS but instead encode to an offsetted position
which is then treated correctly by the endian aware copying code.

PR tree-optimization/107617
* tree-ssa-sccvn.cc (vn_walk_cb_data::push_partial_def):
Handle negative pd.rhs_off.
(vn_reference_lookup_3): Properly provide pd.rhs_off
for .LEN_STORE on big-endian targets.
gcc/tree-ssa-sccvn.cc