Merge.
--HG-- branch : dtrg-videocore
This commit is contained in:
commit
62cc636f10
|
@ -174,13 +174,11 @@ void stack_instr(quad opcode, int loreg, int hireg, int extrareg)
|
||||||
case 26: /* lr */
|
case 26: /* lr */
|
||||||
extrareg = 26;
|
extrareg = 26;
|
||||||
hireg = loreg = -1;
|
hireg = loreg = -1;
|
||||||
b = 0;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 31: /* pc */
|
case 31: /* pc */
|
||||||
extrareg = 31;
|
extrareg = 31;
|
||||||
hireg = loreg = -1;
|
hireg = loreg = -1;
|
||||||
b = 0;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -204,7 +202,10 @@ void stack_instr(quad opcode, int loreg, int hireg, int extrareg)
|
||||||
serror("invalid register range");
|
serror("invalid register range");
|
||||||
|
|
||||||
if (hireg == -1)
|
if (hireg == -1)
|
||||||
m = 31;
|
{
|
||||||
|
b = 3;
|
||||||
|
m = 15;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
m = hireg - loreg;
|
m = hireg - loreg;
|
||||||
|
|
||||||
|
@ -456,6 +457,7 @@ void lea_stack_instr(int rd, long va, int rs)
|
||||||
if (rs != 25)
|
if (rs != 25)
|
||||||
serror("source register must be sp");
|
serror("source register must be sp");
|
||||||
|
|
||||||
|
va /= 4;
|
||||||
if (!fitx(va, 6))
|
if (!fitx(va, 6))
|
||||||
serror("offset too big to encode in instruction");
|
serror("offset too big to encode in instruction");
|
||||||
va = maskx(va, 6);
|
va = maskx(va, 6);
|
||||||
|
|
Loading…
Reference in a new issue