Skip to content
Snippets Groups Projects
Commit 43947b88 authored by Stefan Agner's avatar Stefan Agner Committed by Russell King
Browse files

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=40972



Signed-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
No related branches found
No related tags found
No related merge requests found
...@@ -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));
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment