]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler
authorJian Cai <jiancai@google.com>
Tue, 17 Nov 2020 22:11:36 +0000 (23:11 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Tue, 8 Dec 2020 10:14:59 +0000 (10:14 +0000)
commit70a89f70c97ac3265970da7cd6adc1dbef2879e7
tree4d5ffc3b6b1623bdd7fbc3530209e6c31c6426ba
parentfe656b748b304358d6c6b72b39c2dbf1c39fca9b
ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler

This patch replaces 6 IWMMXT instructions Clang's integrated assembler
does not support in iwmmxt.S using macros, while making sure GNU
assembler still emit the same instructions. This should be easier than
providing full IWMMXT support in Clang.  This is one of the last bits of
kernel code that could be compiled but not assembled with clang. Once
all of it works with IAS, we no longer need to special-case 32-bit Arm
in Kbuild, or turn off CONFIG_IWMMXT when build-testing.

"Intel Wireless MMX Technology - Developer Guide - August, 2002" should
be referenced for the encoding schemes of these extensions.

Link: https://github.com/ClangBuiltLinux/linux/issues/975
Suggested-by: Nick Desaulniers <ndesaulniers@google.com>
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Jian Cai <jiancai@google.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/kernel/iwmmxt.S
arch/arm/kernel/iwmmxt.h [new file with mode: 0644]