musl-cross-make/patches/binutils-2.25.1/0002-cas.diff

46 lines
1.3 KiB
Diff

--- 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},
+
+/* 0011nnnnmmmm0001 cas.l <REG_M>,<REG_N>,@R0*/{"cas.l",{A_REG_M,A_REG_N,A_IND_0},{HEX_3,REG_N,REG_M,HEX_1}, arch_sh2_up},
/* 0000000010001000 clrdmxy */{"clrdmxy",{0},{HEX_0,HEX_0,HEX_8,HEX_8}, arch_sh4al_dsp_up},