for floating-point branch instructions.
+2005-05-29 Joel Brobecker <brobecker@adacore.com>
+
+ * alpha-tdep.c (alpha_next_pc): Use correct register number
+ for floating-point branch instructions.
+
2005-05-28 Daniel Jacobowitz <dan@codesourcery.com>
Jonathan Larmour <jifl@eCosCentric.com>
{
unsigned int insn;
unsigned int op;
+ int regno;
int offset;
LONGEST rav;
char reg[8];
}
/* Need to determine if branch is taken; read RA. */
- regcache_cooked_read (current_regcache, (insn >> 21) & 0x1f, reg);
+ regno = (insn >> 21) & 0x1f;
+ switch (op)
+ {
+ case 0x31: /* FBEQ */
+ case 0x36: /* FBGE */
+ case 0x37: /* FBGT */
+ case 0x33: /* FBLE */
+ case 0x32: /* FBLT */
+ case 0x35: /* FBNE */
+ regno += FP0_REGNUM;
+ }
+
+ regcache_cooked_read (current_regcache, regno, reg);
rav = extract_signed_integer (reg, 8);
switch (op)