MIPS: asmmacro: Ensure 64-bit FP registers are used with MSA
authorMarkos Chandras <markos.chandras@imgtec.com>
Thu, 16 Apr 2015 10:05:59 +0000 (11:05 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 24 Jun 2015 12:45:17 +0000 (14:45 +0200)
This silences warnings like the following one when building with the
latest binutils:

arch/mips/kernel/genex.S: Assembler messages:
arch/mips/kernel/genex.S:438: Warning: the `msa' extension requires 64-bit FPRs

[ralf@linux-mips.org: Markos says binutils 2.25 and some 2.24 snapshots
are affected.]

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Reviewed-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/9745/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/asmmacro.h

index 6156ac8c4cfb9a854bf3ed3a5546606216161118..76317a70200d18048404438bd85b69fb8bf8ec3e 100644 (file)
        .endm
 
 #ifdef TOOLCHAIN_SUPPORTS_MSA
+/* preprocessor replaces the fp in ".set fp=64" with $30 otherwise */
+#undef fp
+
        .macro  _cfcmsa rd, cs
        .set    push
        .set    mips32r2
+       .set    fp=64
        .set    msa
        cfcmsa  \rd, $\cs
        .set    pop
        .macro  _ctcmsa cd, rs
        .set    push
        .set    mips32r2
+       .set    fp=64
        .set    msa
        ctcmsa  $\cd, \rs
        .set    pop
        .macro  ld_d    wd, off, base
        .set    push
        .set    mips32r2
+       .set    fp=64
        .set    msa
        ld.d    $w\wd, \off(\base)
        .set    pop
        .macro  st_d    wd, off, base
        .set    push
        .set    mips32r2
+       .set    fp=64
        .set    msa
        st.d    $w\wd, \off(\base)
        .set    pop
        .macro  copy_u_w        ws, n
        .set    push
        .set    mips32r2
+       .set    fp=64
        .set    msa
        copy_u.w $1, $w\ws[\n]
        .set    pop
        .macro  copy_u_d        ws, n
        .set    push
        .set    mips64r2
+       .set    fp=64
        .set    msa
        copy_u.d $1, $w\ws[\n]
        .set    pop
        .macro  insert_w        wd, n
        .set    push
        .set    mips32r2
+       .set    fp=64
        .set    msa
        insert.w $w\wd[\n], $1
        .set    pop
        .macro  insert_d        wd, n
        .set    push
        .set    mips64r2
+       .set    fp=64
        .set    msa
        insert.d $w\wd[\n], $1
        .set    pop
This page took 0.047597 seconds and 5 git commands to generate.