On 09/20/2013 01:07 AM, Kaz Kojima wrote:
> Christian Bruel <[email protected]> wrote:
>> This patch fixes the aforementioned PR by refusing FPUL_REG to be an
>> acceptable reg for any arithmetic_operand on TARGET_SH4. (This was a
>> strange SH4 singularity with regards to the SH family).
>>
>> The only impacted insn is movsf_ie used for reg-fpreg transfers. So the
>> condition now mentions explicitly fpul_operand, allowing to simplify a
>> bit the logic to match by removing the extra checks.
>>
>> The testsuite survived (no regression) for
>> -m2,-m2a,-m2a-nofpu,-m2a-single,-m2a-single-only,-m3,-m3e,-m4,-m4-single,-m4-single-only,-m4a,-m4a-single,-m4a-single-only
>>
>> No performance impact on a large number of benchmarks (CSIBE, EEMBC,
>> Coremark, ...)
>>
>> sh4-linux-elf survived a full Linux distribution rebuild
>>
>> OK for trunk?
> OK.
>
> Regards,
> kaz
committed. Note that this fixes the ICE:
testsuite/gcc.c-torture/compile/pr55921.c:21:1: error: insn does not
satisfy its constraints:
(insn 128 33 129 (parallel [
(set (reg:SF 65 fr1 [ cf ])
(reg:SF 3 r3))
(use (reg/v:PSI 151 ))
(clobber (scratch:SI))
])
for -m2a (but still fails with error: 'asm' operand requires impossible
reload as previously with the other configurations)
Thanks
Christian