Commit 98a833c1 authored by Markos Chandras's avatar Markos Chandras

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: default avatarMarkos Chandras <markos.chandras@imgtec.com>
parent 226da55f
...@@ -304,7 +304,7 @@ ...@@ -304,7 +304,7 @@
.set push .set push
.set noat .set noat
SET_HARDFLOAT SET_HARDFLOAT
add $1, \base, \off addu $1, \base, \off
.word LDD_MSA_INSN | (\wd << 6) .word LDD_MSA_INSN | (\wd << 6)
.set pop .set pop
.endm .endm
...@@ -313,7 +313,7 @@ ...@@ -313,7 +313,7 @@
.set push .set push
.set noat .set noat
SET_HARDFLOAT SET_HARDFLOAT
add $1, \base, \off addu $1, \base, \off
.word STD_MSA_INSN | (\wd << 6) .word STD_MSA_INSN | (\wd << 6)
.set pop .set pop
.endm .endm
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment