Commit 43947b88 authored by Stefan Agner's avatar Stefan Agner Committed by Russell King

ARM: 8853/1: drop WASM to work around LLVM issue

Currently LLVM's integrated assembler does not recognize .w form
of the pld instructions (LLVM Bug 40972 [0]):

  ./arch/arm/include/asm/processor.h:133:5: error: invalid instruction
                          "pldw.wt%a0 n"
                           ^
  <inline asm>:2:1: note: instantiated into assembly here
  pldw.w  [r0]
  ^
  1 error generated.

The W macro for generating wide instructions when targeting Thumb-2
is not strictly required for the preload data instructions (pld, pldw)
since they are only available as wide instructions. The GNU assembler
works with or without the .w appended when compiling an Thumb-2 kernel.

Drop the macro to work around LLVM Bug 40972 issue.

[0] https://bugs.llvm.org/show_bug.cgi?id=40972Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
parent fe09d9c6
...@@ -135,8 +135,8 @@ static inline void prefetchw(const void *ptr) ...@@ -135,8 +135,8 @@ static inline void prefetchw(const void *ptr)
__asm__ __volatile__( __asm__ __volatile__(
".arch_extension mp\n" ".arch_extension mp\n"
__ALT_SMP_ASM( __ALT_SMP_ASM(
WASM(pldw) "\t%a0", "pldw\t%a0",
WASM(pld) "\t%a0" "pld\t%a0"
) )
:: "p" (ptr)); :: "p" (ptr));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment