MIPS: Fix MSA asm warnings in control reg accessors
authorJames Hogan <james.hogan@imgtec.com>
Thu, 9 Jun 2016 12:13:04 +0000 (13:13 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Sun, 24 Jul 2016 10:45:00 +0000 (12:45 +0200)
Building an MSA capable kernel with a toolchain that supports MSA
produces warnings such as this:

  CC      arch/mips/kernel/cpu-probe.o
{standard input}: Assembler messages:
{standard input}:4786: Warning: the `msa' extension requires 64-bit FPRs

This is due to ".set msa" without ".set fp=64" in the inline assembly of
control register accessors, since MSA requires the 64-bit FPU registers
(FR=1). Add the missing fp=64 in these functions to silence the
warnings.

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/13554/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/msa.h

index ddf496cb2a2a955b4ac1c665ee23fa06f5368e15..8967b475ab10bd28799af296c7ea98715d053eb0 100644 (file)
@@ -168,6 +168,7 @@ static inline unsigned int read_msa_##name(void)            \
        unsigned int reg;                                       \
        __asm__ __volatile__(                                   \
        "       .set    push\n"                                 \
+       "       .set    fp=64\n"                                \
        "       .set    msa\n"                                  \
        "       cfcmsa  %0, $" #cs "\n"                         \
        "       .set    pop\n"                                  \
@@ -179,6 +180,7 @@ static inline void write_msa_##name(unsigned int val)               \
 {                                                              \
        __asm__ __volatile__(                                   \
        "       .set    push\n"                                 \
+       "       .set    fp=64\n"                                \
        "       .set    msa\n"                                  \
        "       ctcmsa  $" #cs ", %0\n"                         \
        "       .set    pop\n"                                  \