[Bug rtl-optimization/65401] [5 Regression] make_field_assignment broken for big-endian

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Mar 14 08:54:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65401

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Sat Mar 14 08:54:08 2015
New Revision: 221433

URL: https://gcc.gnu.org/viewcvs?rev=221433&root=gcc&view=rev
Log:
    PR rtl-optimization/65401
    * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
    argument.  If true, adjust_address_nv of x with big-endian
    correction for the mode widening to GET_MODE (y).
    (make_field_assignment): Don't do MEM mode widening here.
    Use MEM_P instead of GET_CODE == MEM.

    * gcc.c-torture/execute/pr65401.c: New test.

Added:
    trunk/gcc/testsuite/gcc.c-torture/execute/pr65401.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/combine.c
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-bugs mailing list