mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-30 08:49:04 -04:00

These routines do not require executable stacks. However, by default ELFish linkers may assume an executable stack on GNUish environments (and some non-GNU ones too!). The GNU extension to add a note to indicate a non-executable stack is honoured by these environments to mark the stack as non-executable (the compiler normally emits this directive on appropriate targets whenever possible). This allows normal builds from getting executable stacks due to linking to the compiler rt builtins. llvm-svn: 273500
25 lines
760 B
ArmAsm
25 lines
760 B
ArmAsm
/*===-- sync_fetch_and_umin_8.S - ------------------------------------------===//
|
|
*
|
|
* 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.
|
|
*
|
|
*===----------------------------------------------------------------------===//
|
|
*
|
|
* This file implements the __sync_fetch_and_umin_8 function for the ARM
|
|
* architecture.
|
|
*
|
|
*===----------------------------------------------------------------------===*/
|
|
|
|
#include "sync-ops.h"
|
|
|
|
#if __ARM_ARCH_PROFILE != 'M'
|
|
#define umin_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI) MINMAX_8(rD_LO, rD_HI, rN_LO, rN_HI, rM_LO, rM_HI, lo)
|
|
|
|
SYNC_OP_8(umin_8)
|
|
#endif
|
|
|
|
NO_EXEC_STACK_DIRECTIVE
|
|
|