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

Jan Beulich JBeulich@novell.com
Fri May 13 07:47:00 GMT 2005


>+      /* 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.


>+      /* 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?

Jan



More information about the Binutils mailing list