Fix incorrect encoding of 'push lr' and 'pop pc'.

--HG--
branch : dtrg-videocore
This commit is contained in:
David Given 2013-06-29 00:32:39 +01:00
parent 2b3f95de0b
commit edb174da8d

View file

@ -174,13 +174,11 @@ void stack_instr(quad opcode, int loreg, int hireg, int extrareg)
case 26: /* lr */
extrareg = 26;
hireg = loreg = -1;
b = 0;
break;
case 31: /* pc */
extrareg = 31;
hireg = loreg = -1;
b = 0;
break;
default:
@ -204,7 +202,10 @@ void stack_instr(quad opcode, int loreg, int hireg, int extrareg)
serror("invalid register range");
if (hireg == -1)
m = 31;
{
b = 3;
m = 15;
}
else
m = hireg - loreg;