http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49468

--- Comment #9 from Kazumoto Kojima <kkojima at gcc dot gnu.org> 2012-02-29 
23:18:23 UTC ---
(In reply to comment #8)
Perhaps.  Anyway looks fine to me except one minor failure
on sh64-elf:

xsh64-elf-combined/combined/libgcc/libgcc2.c: In function '__powisf2':
xsh64-elf-combined/combined/libgcc/libgcc2.c:1779:1: error: unrecognizable
insn:
(insn 11 10 12 3 (set (reg:DI 170)
        (abs:DI (reg:DI 169)))
xsh64-elf-combined/combined/libgcc/libgcc2.c:1770 -1
     (nil))
xsh64-elf-combined/combined/libgcc/libgcc2.c:1779:1: internal compiler error:
in extract_insn, at recog.c:2123

The failure went away if restricting new absdi2 expander to TARGET_SH1.

--- gcc/config/sh/sh.md~    2012-02-29 10:52:16.000000000 +0900
+++ gcc/config/sh/sh.md    2012-02-29 11:07:42.000000000 +0900
@@ -4538,7 +4538,7 @@ label:
   [(set (match_operand:DI 0 "arith_reg_dest" "")
     (abs:DI (match_operand:DI 1 "arith_reg_operand" "")))
    (clobber (reg:SI T_REG))]
-  ""
+  "TARGET_SH1"
   "")

 (define_insn_and_split "*absdi2"

Reply via email to