diff --git a/compiler-rt/lib/builtins/aarch64/lse.S b/compiler-rt/lib/builtins/aarch64/lse.S --- a/compiler-rt/lib/builtins/aarch64/lse.S +++ b/compiler-rt/lib/builtins/aarch64/lse.S @@ -113,8 +113,7 @@ .endm #ifdef L_cas -DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED_START(NAME(cas)) -DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED_END(NAME(cas)) +DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED(NAME(cas)) JUMP_IF_NOT_LSE 8f #if SIZE < 16 #ifdef HAS_ASM_LSE @@ -167,8 +166,7 @@ #else #define SWP .inst 0x38208020 + B + N #endif -DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED_START(NAME(swp)) -DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED_END(NAME(swp)) +DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED(NAME(swp)) JUMP_IF_NOT_LSE 8f SWP // s(0), s(0), [x1] ret @@ -211,8 +209,7 @@ #define LDOP .inst 0x38200020 + OPN + B + N #endif -DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED_START(NAME(LDNM)) -DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED_END(NAME(LDNM)) +DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED(NAME(LDNM)) JUMP_IF_NOT_LSE 8f LDOP // s(0), s(0), [x1] ret diff --git a/compiler-rt/lib/builtins/assembly.h b/compiler-rt/lib/builtins/assembly.h --- a/compiler-rt/lib/builtins/assembly.h +++ b/compiler-rt/lib/builtins/assembly.h @@ -243,16 +243,12 @@ DECLARE_FUNC_ENCODING \ name: -// TODO(ilinpv) START & END parts will be merged when assembly parser bug -// (kristina) in MasmParser::parseDirectiveCFIStartProc() is fixed. -#define DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED_START(name) \ +#define DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED(name) \ DEFINE_CODE_STATE \ FUNC_ALIGN \ .globl name SEPARATOR \ SYMBOL_IS_FUNC(name) SEPARATOR \ - DECLARE_SYMBOL_VISIBILITY(name) - -#define DEFINE_COMPILERRT_OUTLINE_FUNCTION_UNMANGLED_END(name) \ + DECLARE_SYMBOL_VISIBILITY(name) SEPARATOR \ CFI_START SEPARATOR \ DECLARE_FUNC_ENCODING \ name: SEPARATOR BTI_C