On Tue, Jul 19, 2011 at 7:04 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Tue, Jul 19, 2011 at 3:47 PM, H.J. Lu <hjl.to...@gmail.com> wrote: > >>> Attached patch simply removes these two checks, as it seems they are >>> not needed. This also follows how other Pmode != ptr_mode targets. >>> >>> 2011-07-19 Uros Bizjak <ubiz...@gmail.com> >>> >>> PR target/49780 >>> * config/i386/i386.c (ix86_legitimate_address_p): Remove checks that >>> base and index registers are in Pmode. >>> >>> Patch was bootstrapped and regression tested on x86_64-pc-linux-gnu >>> {,-m32}. Can you please re-test it on x32? >> >> Comparing with my patch, which only allows DImode and SImode, >> it caused the following regressions: >> >> FAIL: libgomp.fortran/omp_atomic1.f90 -O1 execution test >> FAIL: libgomp.fortran/omp_atomic1.f90 -O2 execution test >> FAIL: libgomp.fortran/omp_atomic1.f90 -O3 -fomit-frame-pointer execution >> test >> FAIL: libgomp.fortran/omp_atomic1.f90 -O3 -fomit-frame-pointer >> -funroll-all-loops -finline-functions execution test >> FAIL: libgomp.fortran/omp_atomic1.f90 -O3 -fomit-frame-pointer >> -funroll-loops execution test >> FAIL: libgomp.fortran/omp_atomic1.f90 -O3 -g execution test >> FAIL: libgomp.fortran/omp_atomic1.f90 -Os execution test >> >>> BTW: I still think that template should return the same address >>> structure as expansion, but this won't crash the compiler anymore. > > There is no non-DImode addresses in insn stream, so I doubt the bug is > due to my change. >
I saw the same failures on x86-64: http://gcc.gnu.org/ml/gcc-testresults/2011-07/msg02224.html Can you take a look? Thanks. -- H.J.