This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: PR 834: IA64: Change br to brl for "far" branches when possible


On Fri, May 13, 2005 at 09:40:46AM +0200, Jan Beulich wrote:
> >+      /* Check if slot 2 is NOP. Possible templates are MBB and BBB.
> >+	 For BBB, slot 0 also has to be nop.b.  */
> >+      if (!((template == 0x12				/* MBB */
> >+	     && (s2 & 0x1e1f8000000LL) == 0x4000000000LL)
> >+	    || (template == 0x16			/* BBB */
> >+		&& (s0 & 0x1e1f8000000LL) == 0x4000000000LL
> >+		&& (s2 & 0x1e1f8000000LL) == 0x4000000000LL)))
> >+	return FALSE;
> >...
> 
> I would think the code would become much better readable if the template values were symbolic (macros or enumeration values) and the nop checks would be hidden in macros.
> 

I will take a look.

> 
> >+      /* For BBB, we need to put nop.m in slot 0 and keep the original
> >+	 predicate.  */
> >+      t0 &= 0x7e0LL;
> 
> Why do you try to keep the predicate on a nop?

Because it was there before.



H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]