On 09/20/2013 01:07 AM, Kaz Kojima wrote: > Christian Bruel <christian.br...@st.com> 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