On 07/28/2015 06:00 AM, Kugan wrote:
On 27/07/15 05:38, Andreas Schwab wrote:
Kugan <kugan.vivekanandara...@linaro.org> writes:
* cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
clean up.
This breaks
gcc.target/m68k/tls-ie-xgot.c scan-assembler jsr __m68k_read_tp
gcc.target/m68k/tls-ie.c scan-assembler jsr __m68k_read_tp
gcc.target/m68k/tls-le-xtls.c scan-assembler jsr __m68k_read_tp
gcc.target/m68k/tls-le.c scan-assembler jsr __m68k_read_tp
Andreas.
Sorry for the breakage. My patch to add ZERO_EXTRACT unfortunately
restricts the behaviour in one other case. That is, even when REG_EQUAL
note and src are same, we were setting src_eqv to src when it is
STRICT_LOW_PART. Not sure why but restored the old behaviour.
I could reproduce this issue by inspecting the generated asm and made
sure that it is fixed. However I could not run regression for m68k
(Sorry I don’t have access to the set-up).
I bootstrapped and regression tested on x86_64-linux-gnu and
arm-none-linux-gnu with no new regressions.
Thanks,
Kugan
gcc/ChangeLog:
2015-07-27 Kugan Vivekanandarajah <kug...@linaro.org>
* cse.c (cse_insn): Restoring old behaviour for src_eqv
when dest and value in the REG_EQUAL are same and dest
is STRICT_LOW_PART.
OK.
I verified there were no regressions on m68k.exp with a cross compiler
and that the tests referenced by Andreas indeed passes with the patch
installed.
Thanks,
jeff