[Bug rtl-optimization/52876] [x32] - Sign extend 32 to 64bit then clear upper 32bits fails O1 or higher

hjl at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Apr 11 19:32:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52876

--- Comment #15 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> 2012-04-11 19:31:49 UTC ---
Author: hjl
Date: Wed Apr 11 19:31:45 2012
New Revision: 186351

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186351
Log:
Check for incompatible pointer sign extension

gcc/

    PR rtl-optimization/52876
    * emit-rtl.c (set_reg_attrs_from_value): Handle arbitrary value.
    Don't call mark_reg_pointer for incompatible pointer sign
    extension.

    * reginfo.c (reg_scan_mark_refs): Call set_reg_attrs_from_value 
    directly.

gcc/testsuite

    PR rtl-optimization/52876
    * gcc.target/i386/pr52876.c: New.

Added:
    trunk/gcc/testsuite/gcc.target/i386/pr52876.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/emit-rtl.c
    trunk/gcc/reginfo.c
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-bugs mailing list