There is a regression in gnat.dg visible on various 32-bit platforms:
http://gcc.gnu.org/ml/gcc-testresults/2010-07/msg00744.html
http://gcc.gnu.org/ml/gcc-testresults/2010-07/msg00743.html
http://gcc.gnu.org/ml/gcc-testresults/2010-07/msg00709.html
The problem is that the new code seems to overlook TYPE_NONALIASED_COMPONENT
when building the MEM_REF and thus gives the wrong alias set to the RTL mem,
causing aliasing memory references to be swapped by the scheduler.
--
Summary: [4.6 regression] miscompilation of gnat.dg/aliasing3.adb
after mem-ref2
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ebotcazou at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44885