2005-05-17 H.J. Lu <hongjiu.lu@intel.com>

* elfxx-ia64.c (elfNN_ia64_relax_br): Keep the original
	predicate on slot 0 only if slot 0 isn't br.
This commit is contained in:
H.J. Lu 2005-05-17 17:23:37 +00:00
parent 75ff45898c
commit 5e27d42770
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2005-05-17 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_ia64_relax_br): Keep the original
predicate on slot 0 only if slot 0 isn't br.
2005-05-17 H.J. Lu <hongjiu.lu@intel.com>
PR 797

View File

@ -795,9 +795,12 @@ elfNN_ia64_relax_br (bfd_byte *contents, bfd_vma off)
if (template == 0x16)
{
/* For BBB, we need to put nop.m in slot 0 and keep the original
predicate. */
t0 &= PREDICATE_BITS << 5;
/* For BBB, we need to put nop.m in slot 0. We keep the original
predicate only if slot 0 isn't br. */
if (br_slot == 0)
t0 = 0LL;
else
t0 &= PREDICATE_BITS << 5;
t0 |= 0x1LL << (X4_SHIFT + 5);
}
else