This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: PATCH: Disable hint in B unit for Montecito
On Thu, Feb 17, 2005 at 10:47:32AM -0800, H. J. Lu wrote:
> On Wed, Feb 16, 2005 at 08:43:11PM -0800, H. J. Lu wrote:
> > On Wed, Feb 16, 2005 at 06:02:14PM -0800, H. J. Lu wrote:
> > > On Wed, Feb 16, 2005 at 03:50:56PM -0800, James E Wilson wrote:
> > > > On Wed, 2005-02-16 at 09:02, H. J. Lu wrote:
> > > > > + else if (strcmp (idesc->name, "hint") == 0)
> > > > > + {
> > > > > + if (required_unit == IA64_UNIT_B
> > > > > + && md.hint_b != hint_b_ok)
> > > > > + insn_unit = IA64_UNIT_I;
> > > > > + else
> > > > > + insn_unit = required_unit;
> > > > > + }
> > > >
> > > > It isn't OK to change units like this. This will lead to assembler
> > > > errors when explicit mode is used. This example for instance
> > > > .explicit
> > > > { .bbb
> > > > hint @pause
> > > > hint @pause
> > > > hint @pause
> > > > }
> > > > gives me
> > > > aretha$ ./as-new tmp.s
> > > > tmp.s: Assembler messages:
> > > > tmp.s:3: Error: `hint.i' does not fit into BBB template
> > > > which may be confusing to the end user.
> > > >
> > > [...]
> > > > Since b is always at the end of a template, or followed by another b,
> > > > there are no unit changes we can make here. The only thing we can do is
> > > > emit a warning/error, same as in md_assemble, and then emit the hint.b
> > > > instruction that the user asked for.
> > > >
> > > > I don't know if this effects the linux kernel compilation. If it does,
> > > > then we might need to make this a warning instead of an error by
> > > > default.
> > >
> > > It shouldn't be a problem. We can change the kernel if needed.
> > >
> >
> > Unfortunately, it is trickier than I thought. With 2.6 kernel, my
> > old change works OK. My new change doesn't work. Jim, do you have
> > any suggestions?
>
> I think it is OK to change unit when manual bundling is off there is no
> user template. I am testing 2.4 and 2.6 kernel build now.
>
>
The patched assembler works fine with 2.4 and 2.6 kernel build. Jim, is
that OK to install?
Thanks.
H.J.