------- Comment #2 from ubizjak at gmail dot com 2008-04-23 17:28 ------- Index: expmed.c =================================================================== --- expmed.c (revision 134561) +++ expmed.c (working copy) @@ -976,7 +976,10 @@ store_fixed_bit_field (rtx op0, unsigned }
if (op0 != temp) - emit_move_insn (op0, temp); + { + op0 = copy_rtx (op0); + emit_move_insn (op0, temp); + } } /* Store a bit field that is split across multiple accessible memory objects. The above patch fixes invalid rtl sharing. BTW: The testcase doesn't fail for x86_64-linux. Can you please regression test the patch (and write a testcase ;) on *-mingw target? -- ubizjak at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2008-04-23 17:28:45 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36006