Current Path : /usr/src/contrib/compiler-rt/lib/arm/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/src/contrib/compiler-rt/lib/arm/sync_synchronize.S |
//===-- sync_synchronize - Implement memory barrier * ----------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "../assembly.h" // // When compiling a use of the gcc built-in __sync_synchronize() in thumb1 mode // the compiler may emit a call to __sync_synchronize. // On Darwin the implementation jumps to an OS supplied function named // OSMemoryBarrier // .text .syntax unified #if __APPLE__ .align 2 DEFINE_COMPILERRT_PRIVATE_FUNCTION(__sync_synchronize) stmfd sp!, {r7, lr} add r7, sp, #0 bl _OSMemoryBarrier ldmfd sp!, {r7, pc} // tell linker it can break up file at label boundaries .subsections_via_symbols #endif