summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkos Chandras <markos.chandras@imgtec.com>2014-11-05 15:17:52 +0100
committerMarkos Chandras <markos.chandras@imgtec.com>2015-02-17 16:37:18 +0100
commit98a833c1fa4de0695830f77b2d13fd86693da298 (patch)
tree1539d75d7eb67d2565ac9ff62346ec8b64a13d4c
parentMIPS: asm: asmmacro: Add MIPS R6 support to the simple EI/DI variants (diff)
downloadlinux-98a833c1fa4de0695830f77b2d13fd86693da298.tar.xz
linux-98a833c1fa4de0695830f77b2d13fd86693da298.zip
MIPS: asm: asmmacro: Replace "add" instructions with "addu"
The "add" instruction is actually a macro in binutils and depending on the size of the immediate it can expand to an "addi" instruction. However, the "addi" instruction traps on overflows which is not something we want on address calculation. Link: http://www.linux-mips.org/archives/linux-mips/2015-01/msg00121.html Cc: Paul Burton <paul.burton@imgtec.com> Cc: Maciej W. Rozycki <macro@linux-mips.org> Cc: <stable@vger.kernel.org> # v3.15+ Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
-rw-r--r--arch/mips/include/asm/asmmacro.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/mips/include/asm/asmmacro.h b/arch/mips/include/asm/asmmacro.h
index b6540cfcc97b..0af29ce84e0b 100644
--- a/arch/mips/include/asm/asmmacro.h
+++ b/arch/mips/include/asm/asmmacro.h
@@ -304,7 +304,7 @@
.set push
.set noat
SET_HARDFLOAT
- add $1, \base, \off
+ addu $1, \base, \off
.word LDD_MSA_INSN | (\wd << 6)
.set pop
.endm
@@ -313,7 +313,7 @@
.set push
.set noat
SET_HARDFLOAT
- add $1, \base, \off
+ addu $1, \base, \off
.word STD_MSA_INSN | (\wd << 6)
.set pop
.endm