Fix incorrect encoding of 'push lr' and 'pop pc'.
--HG-- branch : dtrg-videocore
This commit is contained in:
parent
2b3f95de0b
commit
edb174da8d
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue