This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ada/48835] Porting GNAT to GNU/Linux/m68k
- From: "mikpe at it dot uu.se" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 12 Oct 2011 17:20:46 +0000
- Subject: [Bug ada/48835] Porting GNAT to GNU/Linux/m68k
- Auto-submitted: auto-generated
- References: <bug-48835-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48835
Mikael Pettersson <mikpe at it dot uu.se> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rsandifo at gcc dot gnu.org
--- Comment #33 from Mikael Pettersson <mikpe at it dot uu.se> 2011-10-12 17:20:46 UTC ---
(In reply to comment #32)
> (In reply to comment #31)
> > * expmed.c
> > (store_bit_field_1): Use the new interfaces.
> >
> > I'll continue trying to minimize the changeset.
>
> Of the three translation paths in store_bit_field_1 that were updated in that
> revision, vec_set, movstrict, and insv, only the insv path update matters for
> GNAT/m68k.
Progress. The minimal fragment of r171341 that allows r171340 to bootstrap
GNAT/m68k is the following:
--- gcc-4.7-r171340/gcc/expmed.c.~1~ 2011-03-04 11:31:33.000000000 +0100
+++ gcc-4.7-r171340/gcc/expmed.c 2011-10-11 09:31:31.000000000 +0200
@@ -656,7 +656,8 @@ store_bit_field_1 (rtx str_rtx, unsigned
&& (bitsize + bitpos > GET_MODE_BITSIZE (op_mode)))
&& insn_data[CODE_FOR_insv].operand[1].predicate (GEN_INT (bitsize),
VOIDmode)
- && check_predicate_volatile_ok (CODE_FOR_insv, 0, op0, VOIDmode))
+ && check_predicate_volatile_ok (CODE_FOR_insv, 0, op0,
+
insn_data[CODE_FOR_insv].operand[0].mode))
{
int xbitpos = bitpos;
rtx value1;
That is, when checking insv opnd 0 use the mode from insn_data[] not VOIDmode.
(The code looks different in r171341 due new APIs and moving the operand
checking to a later point. The essential _functional_ difference wrt opnd 0 is
however just the different mode value used in the check.)
I'm currently trying to bootstrap GNAT/m68k with gcc-4.6.1 and the above patch.
Adding Richard Sandiford to CC: list. Richard, do you have any idea why the
above mode change might have unbroken m68k?