• Paul Burton's avatar
    MIPS: remove MSA macro recursion · a3a49810
    Paul Burton authored
    Recursive macros made the code more concise & worked great for the
    case where the toolchain doesn't support MSA. However, with toolchains
    which do support MSA they lead to build failures such as:
    
      arch/mips/kernel/r4k_switch.S: Assembler messages:
      arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w $w(0+1)[2],$1'
      arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w $w(0+1)[3],$1'
      arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w $w((0+1)+1)[2],$1'
      arch/mips/kernel/r4k_switch.S:148: Error: invalid operands `insert.w $w((0+1)+1)[3],$1'
      ...
    
    Drop the recursion from msa_init_all_upper invoking the msa_init_upper
    macro explicitly for each vector register.
    Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9162/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    a3a49810
asmmacro.h 10.7 KB