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.

Uros.

Reply via email to