f8f29c8147
Porting memory and string optimize functions from newlib and bionic Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
53 lines
1.6 KiB
C
53 lines
1.6 KiB
C
/****************************************************************************
|
|
* libs/libc/machine/risc-v/gnu/asm.h
|
|
*
|
|
* Copyright (c) 2017 SiFive Inc. All rights reserved.
|
|
*
|
|
* This copyrighted material is made available to anyone wishing to use,
|
|
* modify, copy, or redistribute it subject to the terms and conditions
|
|
* of the FreeBSD License. This program is distributed in the hope that
|
|
* it will be useful, but WITHOUT ANY WARRANTY expressed or implied,
|
|
* including the implied warranties of MERCHANTABILITY or FITNESS FOR
|
|
* A PARTICULAR PURPOSE. A copy of this license is available at
|
|
* http://www.opensource.org/licenses.
|
|
****************************************************************************/
|
|
|
|
#ifndef __LIBS_LIBC_MACHINE_RISCV_GNU_ASM_H
|
|
#define __LIBS_LIBC_MACHINE_RISCV_GNU_ASM_H
|
|
|
|
/****************************************************************************
|
|
* Included Files
|
|
****************************************************************************/
|
|
|
|
#include <nuttx/config.h>
|
|
|
|
/****************************************************************************
|
|
* Pre-processor Definitions
|
|
****************************************************************************/
|
|
|
|
#ifdef CONFIG_ARCH_RV64
|
|
# define SZREG 8
|
|
# define REG_S sd
|
|
# define REG_L ld
|
|
#else
|
|
# define SZREG 4
|
|
# define REG_S sw
|
|
# define REG_L lw
|
|
#endif
|
|
|
|
#ifdef CONFIG_ARCH_QPFPU
|
|
# define SZFREG 16
|
|
# define FREG_S fsq
|
|
# define FREG_L flq
|
|
#elif defined(CONFIG_ARCH_DPFPU)
|
|
# define SZFREG 8
|
|
# define FREG_S fsd
|
|
# define FREG_L fld
|
|
#elif defined(CONFIG_ARCH_FPU)
|
|
# define SZFREG 4
|
|
# define FREG_S fsw
|
|
# define FREG_L flw
|
|
#endif
|
|
|
|
#endif /* __LIBS_LIBC_MACHINE_RISCV_GNU_ASM_H */
|