2015-08-25 21:32:46 +02:00
|
|
|
--- binutils-2.25.1.orig/gas/config/tc-sh.c
|
|
|
|
+++ binutils-2.25.1/gas/config/tc-sh.c
|
|
|
|
@@ -1730,6 +1730,11 @@
|
|
|
|
goto fail;
|
|
|
|
break;
|
|
|
|
|
|
|
|
+ case A_IND_0:
|
|
|
|
+ if (user->type != A_IND_N || user->reg != 0)
|
|
|
|
+ goto fail;
|
|
|
|
+ break;
|
|
|
|
+
|
|
|
|
case A_REG_N:
|
|
|
|
case A_INC_N:
|
|
|
|
case A_DEC_N:
|
|
|
|
--- binutils-2.25.1.orig/opcodes/sh-dis.c
|
|
|
|
+++ binutils-2.25.1/opcodes/sh-dis.c
|
|
|
|
@@ -703,6 +703,9 @@
|
|
|
|
case AS_DEC_N:
|
|
|
|
fprintf_fn (stream, "@-r%d", rn);
|
|
|
|
break;
|
|
|
|
+ case A_IND_0:
|
|
|
|
+ fprintf_fn (stream, "@r0");
|
|
|
|
+ break;
|
|
|
|
case A_IND_N:
|
|
|
|
case AS_IND_N:
|
|
|
|
fprintf_fn (stream, "@r%d", rn);
|
|
|
|
--- binutils-2.25.1.orig/opcodes/sh-opc.h
|
|
|
|
+++ binutils-2.25.1/opcodes/sh-opc.h
|
|
|
|
@@ -112,6 +112,7 @@
|
|
|
|
A_IMM,
|
|
|
|
A_INC_M,
|
|
|
|
A_INC_N,
|
|
|
|
+ A_IND_0,
|
|
|
|
A_IND_M,
|
|
|
|
A_IND_N,
|
|
|
|
A_IND_R0_REG_M,
|
|
|
|
@@ -410,6 +411,8 @@
|
|
|
|
/* 10001111i8p1.... bf.s <bdisp8> */{"bf.s",{A_BDISP8},{HEX_8,HEX_F,BRANCH_8}, arch_sh2_up},
|
|
|
|
|
|
|
|
/* 10001111i8p1.... bf/s <bdisp8> */{"bf/s",{A_BDISP8},{HEX_8,HEX_F,BRANCH_8}, arch_sh2_up},
|
|
|
|
+
|
2016-01-15 02:13:15 +01:00
|
|
|
+/* 0010nnnnmmmm0011 cas.l <REG_M>,<REG_N>,@R0*/{"cas.l",{A_REG_M,A_REG_N,A_IND_0},{HEX_2,REG_N,REG_M,HEX_3}, arch_sh2_up},
|
2015-08-25 21:32:46 +02:00
|
|
|
|
|
|
|
/* 0000000010001000 clrdmxy */{"clrdmxy",{0},{HEX_0,HEX_0,HEX_8,HEX_8}, arch_sh4al_dsp_up},
|
|
|
|
|