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"