|
|
|
@ -1281,10 +1281,10 @@ extract_sprg (unsigned long insn, |
|
|
|
|
|
|
|
/* mfsprg can use 260..263 and 272..279. mtsprg only uses spr 272..279
|
|
|
|
If not BOOKE or 405, then both use only 272..275. */ |
|
|
|
if (val <= 3 |
|
|
|
|| (val < 0x10 && (insn & 0x100) != 0) |
|
|
|
|| (val - 0x10 > 3 |
|
|
|
&& (dialect & (PPC_OPCODE_BOOKE | PPC_OPCODE_403)) == 0)) |
|
|
|
if ((val - 0x10 > 3 && (dialect & (PPC_OPCODE_BOOKE | PPC_OPCODE_405)) == 0) |
|
|
|
|| (val - 0x10 > 7 && (insn & 0x100) != 0) |
|
|
|
|| val <= 3 |
|
|
|
|| (val & 8) != 0) |
|
|
|
*invalid = 1; |
|
|
|
return val & 7; |
|
|
|
} |
|
|
|
|