commit
ea1688573426adc2587ed52d086b51c7c62eaca3 upstream.
The MSA ld_*/st_* assembler macros for when the toolchain doesn't
support MSA use addu to offset the base address. However it is a virtual
memory pointer so fix it to use PTR_ADDU which expands to daddu for
64-bit kernels.
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/13062/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
.set push
.set noat
SET_HARDFLOAT
.set push
.set noat
SET_HARDFLOAT
+ PTR_ADDU $1, \base, \off
.word LDB_MSA_INSN | (\wd << 6)
.set pop
.endm
.word LDB_MSA_INSN | (\wd << 6)
.set pop
.endm
.set push
.set noat
SET_HARDFLOAT
.set push
.set noat
SET_HARDFLOAT
+ PTR_ADDU $1, \base, \off
.word LDH_MSA_INSN | (\wd << 6)
.set pop
.endm
.word LDH_MSA_INSN | (\wd << 6)
.set pop
.endm
.set push
.set noat
SET_HARDFLOAT
.set push
.set noat
SET_HARDFLOAT
+ PTR_ADDU $1, \base, \off
.word LDW_MSA_INSN | (\wd << 6)
.set pop
.endm
.word LDW_MSA_INSN | (\wd << 6)
.set pop
.endm
.set push
.set noat
SET_HARDFLOAT
.set push
.set noat
SET_HARDFLOAT
+ PTR_ADDU $1, \base, \off
.word LDD_MSA_INSN | (\wd << 6)
.set pop
.endm
.word LDD_MSA_INSN | (\wd << 6)
.set pop
.endm
.set push
.set noat
SET_HARDFLOAT
.set push
.set noat
SET_HARDFLOAT
+ PTR_ADDU $1, \base, \off
.word STB_MSA_INSN | (\wd << 6)
.set pop
.endm
.word STB_MSA_INSN | (\wd << 6)
.set pop
.endm
.set push
.set noat
SET_HARDFLOAT
.set push
.set noat
SET_HARDFLOAT
+ PTR_ADDU $1, \base, \off
.word STH_MSA_INSN | (\wd << 6)
.set pop
.endm
.word STH_MSA_INSN | (\wd << 6)
.set pop
.endm
.set push
.set noat
SET_HARDFLOAT
.set push
.set noat
SET_HARDFLOAT
+ PTR_ADDU $1, \base, \off
.word STW_MSA_INSN | (\wd << 6)
.set pop
.endm
.word STW_MSA_INSN | (\wd << 6)
.set pop
.endm
.set push
.set noat
SET_HARDFLOAT
.set push
.set noat
SET_HARDFLOAT
+ PTR_ADDU $1, \base, \off
.word STD_MSA_INSN | (\wd << 6)
.set pop
.endm
.word STD_MSA_INSN | (\wd << 6)
.set pop
.endm