As reported by Christophe Lyon, gcc.target/arm/movdi_movw test fails on big endian targets. This is because on big endian targets the low bits of a 64bit value would be in the highest numbered register of a pair rather than the lowest numbered register as on little endian targets. This patch fixes that by allowing both r0 and r1. It also changes effective target to use arm_thumb2_ok instead of arm_thumb2 to allow the test on ARM mode targets.

ChangeLog entry is as follows:

*** gcc/testsuite/ChangeLog ***

2016-10-11  Thomas Preud'homme  <thomas.preudho...@arm.com>

        * gcc.target/arm/movhi_movw.c: Enable test for ARM mode.
        * gcc.target/arm/movsi_movw.c: Likewise.
        * gcc.target/arm/movdi_movw.c: Likewise and adapt scan-assembler
        directive to work on big endian targets.

Tested testcases with armeb-none-eabi for -march=armv8-a.

Is this ok for trunk?

Best regards,


Reply via email to