For LEA and PEA, while the manual says "size = (long)", it also says
that the pre-decrement and post-increment addressing modes are illegal.
For JMP, the manual says "unsized". OS_UNSIZED is the way to signal
gen_lea_mode to reject those addressing modes.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/m68k/translate.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index 4f70b77621..23449e4d22 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -2561,7 +2561,7 @@ DISAS_INSN(lea)
TCGv tmp;
reg = AREG(insn, 9);
- tmp = gen_lea(env, s, insn, OS_LONG);
+ tmp = gen_lea(env, s, insn, OS_UNSIZED);
if (IS_NULL_QREG(tmp)) {
gen_addr_fault(s);
return;
@@ -2658,7 +2658,7 @@ DISAS_INSN(pea)
{
TCGv tmp;
- tmp = gen_lea(env, s, insn, OS_LONG);
+ tmp = gen_lea(env, s, insn, OS_UNSIZED);
if (IS_NULL_QREG(tmp)) {
gen_addr_fault(s);
return;
@@ -2909,7 +2909,7 @@ DISAS_INSN(jump)
* Load the target address first to ensure correct exception
* behavior.
*/
- tmp = gen_lea(env, s, insn, OS_LONG);
+ tmp = gen_lea(env, s, insn, OS_UNSIZED);
if (IS_NULL_QREG(tmp)) {
gen_addr_fault(s);
return;
--
2.43.0