> Joern Rennecke <joern.renne...@embecosm.com> wrote:
>> That's a bug, then; we shouldn't use a library function there,
>> but the cmpordered[sd]f_t_4 patterns.
> 
> Argh, I've missed the required patterns are incorporated already
> in your patch.  I'll test it again with sh-softfp-predicate-fix
> when the tests for 4.5.1-rc are done.  Thanks!

I've tested sh-softfp-20100718-2131 + sh-softfp-predicate-fix
on -m1, -m2, -m3, -m3 -ml, -m2a on sh-elf, sh4-linux and
sh64-linux.  sh64-linux required the first hunk of the attached
patch to build.  The test with -m3 -ml shows some regressions
which look to be solved with the second hunk of the patch.
Now all test results look clean.

For NaN issue, I'd like to wait a full patch from Christian.
I'm curious again about the numbers with/without it.

Regards,
        kaz
--
        * config/sh/sh.md (cstoresf4): Fix typos.
        * config/sh/ieee-754-df.S (unorddf2): Use DBL1H instead of r6.

diff -upr ORIG/trunk/gcc/config/sh/sh.md trunk/gcc/config/sh/sh.md
--- ORIG/trunk/gcc/config/sh/sh.md      Wed Jul 21 08:12:23 2010
+++ trunk/gcc/config/sh/sh.md   Thu Jul 22 10:36:36 2010
@@ -9462,10 +9462,10 @@ mov.l\\t1f,r0\\n\\
   "TARGET_SH1 || TARGET_SHMEDIA_FPU"
   "if (TARGET_SHMEDIA)
      {
-       if (!arith_operand (operands[2], DFmode))
-        operands[2] = copy_to_mode_reg (DFmode, operands[2]);
-       if (!arith_operand (operands[3], DFmode))
-        operands[3] = copy_to_mode_reg (DFmode, operands[3]);
+       if (!arith_operand (operands[2], SFmode))
+        operands[2] = copy_to_mode_reg (SFmode, operands[2]);
+       if (!arith_operand (operands[3], SFmode))
+        operands[3] = copy_to_mode_reg (SFmode, operands[3]);
        emit_insn (gen_cstore4_media (operands[0], operands[1],
                                     operands[2], operands[3]));
        DONE;
diff -uprN ORIG/trunk/gcc/config/sh/ieee-754-df.S 
trunk/gcc/config/sh/ieee-754-df.S
--- ORIG/trunk/gcc/config/sh/ieee-754-df.S      2010-07-20 11:39:29.000000000 
+0900
+++ trunk/gcc/config/sh/ieee-754-df.S   2010-07-22 13:16:07.000000000 +0900
@@ -123,7 +123,7 @@ GLOBAL(unorddf2):
        mov.l   LOCAL(c_DF_NAN_MASK),r1
        not     DBL0H,r0
        tst     r1,r0
-       not     r6,r0
+       not     DBL1H,r0
        bt      LOCAL(unord)
        tst     r1,r0
 LOCAL(unord):

Reply via email to