LLVM's integrated assembler does not support 'stli <reg>, <imm>':
<instantiation>:16:12: error: invalid operand for instruction
slti $12, (0x6300 | 0x0008)
^
arch/mips/kernel/head.S:86:2: note: while in macro instantiation
kernel_entry_setup # cpu specific setup
^
<instantiation>:16:12: error: invalid operand for instruction
slti $12, (0x6300 | 0x0008)
^
arch/mips/kernel/head.S:150:2: note: while in macro instantiation
smp_slave_setup
^
To increase compatibility with LLVM's integrated assembler, use the full
form of 'stli <reg>, <reg>, <imm>', which matches the rest of
arch/mips/. This does not result in any change for GNU as.
Link: https://github.com/ClangBuiltLinux/linux/issues/1526
Reported-by: Ryutaroh Matsumoto <[email protected]>
Signed-off-by: Nathan Chancellor <[email protected]>
---
arch/mips/include/asm/mach-loongson64/kernel-entry-init.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/mips/include/asm/mach-loongson64/kernel-entry-init.h b/arch/mips/include/asm/mach-loongson64/kernel-entry-init.h
index 13373c5144f8..efb41b351974 100644
--- a/arch/mips/include/asm/mach-loongson64/kernel-entry-init.h
+++ b/arch/mips/include/asm/mach-loongson64/kernel-entry-init.h
@@ -32,7 +32,7 @@
nop
/* Loongson-3A R2/R3 */
andi t0, (PRID_IMP_MASK | PRID_REV_MASK)
- slti t0, (PRID_IMP_LOONGSON_64C | PRID_REV_LOONGSON3A_R2_0)
+ slti t0, t0, (PRID_IMP_LOONGSON_64C | PRID_REV_LOONGSON3A_R2_0)
bnez t0, 2f
nop
1:
@@ -63,7 +63,7 @@
nop
/* Loongson-3A R2/R3 */
andi t0, (PRID_IMP_MASK | PRID_REV_MASK)
- slti t0, (PRID_IMP_LOONGSON_64C | PRID_REV_LOONGSON3A_R2_0)
+ slti t0, t0, (PRID_IMP_LOONGSON_64C | PRID_REV_LOONGSON3A_R2_0)
bnez t0, 2f
nop
1:
base-commit: 0fcfb00b28c0b7884635dacf38e46d60bf3d4eb1
--
2.34.1
Hello!
On 07.12.2021 20:01, Nathan Chancellor wrote:
> LLVM's integrated assembler does not support 'stli <reg>, <imm>':
Perhaps slti (as below)?
> <instantiation>:16:12: error: invalid operand for instruction
> slti $12, (0x6300 | 0x0008)
> ^
> arch/mips/kernel/head.S:86:2: note: while in macro instantiation
> kernel_entry_setup # cpu specific setup
> ^
> <instantiation>:16:12: error: invalid operand for instruction
> slti $12, (0x6300 | 0x0008)
> ^
> arch/mips/kernel/head.S:150:2: note: while in macro instantiation
> smp_slave_setup
> ^
>
> To increase compatibility with LLVM's integrated assembler, use the full
> form of 'stli <reg>, <reg>, <imm>', which matches the rest of
Again, slti?
> arch/mips/. This does not result in any change for GNU as.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/1526
> Reported-by: Ryutaroh Matsumoto <[email protected]>
> Signed-off-by: Nathan Chancellor <[email protected]>
[...]
MBR, Sergey