All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] MIPS: asm: asmmacro: Replace "add" instructions with "addu"
@ 2015-01-21 15:26 ` Markos Chandras
  0 siblings, 0 replies; 3+ messages in thread
From: Markos Chandras @ 2015-01-21 15:26 UTC (permalink / raw)
  To: linux-mips; +Cc: Markos Chandras, Paul Burton, Maciej W. Rozycki, stable

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>
---
Moving this out of the R6 patchset as requested by Maciej
---
 arch/mips/include/asm/asmmacro.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/mips/include/asm/asmmacro.h b/arch/mips/include/asm/asmmacro.h
index fe08084f5adb..42b90c9fd756 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
-- 
2.2.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH] MIPS: asm: asmmacro: Replace "add" instructions with "addu"
@ 2015-01-21 15:26 ` Markos Chandras
  0 siblings, 0 replies; 3+ messages in thread
From: Markos Chandras @ 2015-01-21 15:26 UTC (permalink / raw)
  To: linux-mips; +Cc: Markos Chandras, Paul Burton, Maciej W. Rozycki, stable

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>
---
Moving this out of the R6 patchset as requested by Maciej
---
 arch/mips/include/asm/asmmacro.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/mips/include/asm/asmmacro.h b/arch/mips/include/asm/asmmacro.h
index fe08084f5adb..42b90c9fd756 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
-- 
2.2.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] MIPS: asm: asmmacro: Replace "add" instructions with "addu"
  2015-01-21 15:26 ` Markos Chandras
  (?)
@ 2015-01-21 17:58 ` David Daney
  -1 siblings, 0 replies; 3+ messages in thread
From: David Daney @ 2015-01-21 17:58 UTC (permalink / raw)
  To: Markos Chandras; +Cc: linux-mips, Paul Burton, Maciej W. Rozycki, stable

On 01/21/2015 07:26 AM, Markos Chandras wrote:
> 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.
>

I like it:

Acked-by: David Daney <david.daney@cavium.com>


> 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+

Is it causing problems with existing kernels, or is it only in 
preparation for MIPS r6?  If the later, it probably isn't stable material.


> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
> ---
> Moving this out of the R6 patchset as requested by Maciej
> ---
>   arch/mips/include/asm/asmmacro.h | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/mips/include/asm/asmmacro.h b/arch/mips/include/asm/asmmacro.h
> index fe08084f5adb..42b90c9fd756 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
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-01-21 17:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-21 15:26 [PATCH] MIPS: asm: asmmacro: Replace "add" instructions with "addu" Markos Chandras
2015-01-21 15:26 ` Markos Chandras
2015-01-21 17:58 ` David Daney

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.