003 File Manager
Current Path:
/usr/src/contrib/llvm-project/compiler-rt/lib/builtins/arm
usr
/
src
/
contrib
/
llvm-project
/
compiler-rt
/
lib
/
builtins
/
arm
/
📁
..
📄
adddf3vfp.S
(1008 B)
📄
addsf3.S
(6.89 KB)
📄
addsf3vfp.S
(989 B)
📄
aeabi_cdcmp.S
(3.25 KB)
📄
aeabi_cdcmpeq_check_nan.c
(570 B)
📄
aeabi_cfcmp.S
(3.16 KB)
📄
aeabi_cfcmpeq_check_nan.c
(568 B)
📄
aeabi_dcmp.S
(1.83 KB)
📄
aeabi_div0.c
(1.43 KB)
📄
aeabi_drsub.c
(541 B)
📄
aeabi_fcmp.S
(1.83 KB)
📄
aeabi_frsub.c
(541 B)
📄
aeabi_idivmod.S
(1.42 KB)
📄
aeabi_ldivmod.S
(1.23 KB)
📄
aeabi_memcmp.S
(883 B)
📄
aeabi_memcpy.S
(883 B)
📄
aeabi_memmove.S
(867 B)
📄
aeabi_memset.S
(1.39 KB)
📄
aeabi_uidivmod.S
(1.57 KB)
📄
aeabi_uldivmod.S
(1.21 KB)
📄
bswapdi2.S
(1.07 KB)
📄
bswapsi2.S
(856 B)
📄
chkstk.S
(1.02 KB)
📄
clzdi2.S
(1.96 KB)
📄
clzsi2.S
(1.67 KB)
📄
comparesf2.S
(7.21 KB)
📄
divdf3vfp.S
(1006 B)
📄
divmodsi4.S
(2.07 KB)
📄
divsf3vfp.S
(1002 B)
📄
divsi3.S
(2.21 KB)
📄
eqdf2vfp.S
(1023 B)
📄
eqsf2vfp.S
(1.01 KB)
📄
extendsfdf2vfp.S
(1.01 KB)
📄
fixdfsivfp.S
(1009 B)
📄
fixsfsivfp.S
(996 B)
📄
fixunsdfsivfp.S
(1.05 KB)
📄
fixunssfsivfp.S
(1.05 KB)
📄
floatsidfvfp.S
(1016 B)
📄
floatsisfvfp.S
(1014 B)
📄
floatunssidfvfp.S
(1.01 KB)
📄
floatunssisfvfp.S
(1.01 KB)
📄
fp_mode.c
(1.56 KB)
📄
gedf2vfp.S
(1.03 KB)
📄
gesf2vfp.S
(1.02 KB)
📄
gtdf2vfp.S
(1.01 KB)
📄
gtsf2vfp.S
(1019 B)
📄
ledf2vfp.S
(1.01 KB)
📄
lesf2vfp.S
(1.01 KB)
📄
ltdf2vfp.S
(1.01 KB)
📄
ltsf2vfp.S
(1 KB)
📄
modsi3.S
(1.7 KB)
📄
muldf3vfp.S
(1.01 KB)
📄
mulsf3vfp.S
(1005 B)
📄
nedf2vfp.S
(1.02 KB)
📄
negdf2vfp.S
(883 B)
📄
negsf2vfp.S
(868 B)
📄
nesf2vfp.S
(1.01 KB)
📄
restore_vfp_d8_d15_regs.S
(1.23 KB)
📄
save_vfp_d8_d15_regs.S
(1.23 KB)
📄
softfloat-alias.list
(580 B)
📄
subdf3vfp.S
(1.02 KB)
📄
subsf3vfp.S
(1 KB)
📄
switch16.S
(1.9 KB)
📄
switch32.S
(1.9 KB)
📄
switch8.S
(1.75 KB)
📄
switchu8.S
(1.74 KB)
📄
sync-ops.h
(3.7 KB)
📄
sync_fetch_and_add_4.S
(696 B)
📄
sync_fetch_and_add_8.S
(769 B)
📄
sync_fetch_and_and_4.S
(655 B)
📄
sync_fetch_and_and_8.S
(768 B)
📄
sync_fetch_and_max_4.S
(665 B)
📄
sync_fetch_and_max_8.S
(769 B)
📄
sync_fetch_and_min_4.S
(664 B)
📄
sync_fetch_and_min_8.S
(769 B)
📄
sync_fetch_and_nand_4.S
(658 B)
📄
sync_fetch_and_nand_8.S
(772 B)
📄
sync_fetch_and_or_4.S
(652 B)
📄
sync_fetch_and_or_8.S
(765 B)
📄
sync_fetch_and_sub_4.S
(696 B)
📄
sync_fetch_and_sub_8.S
(769 B)
📄
sync_fetch_and_umax_4.S
(669 B)
📄
sync_fetch_and_umax_8.S
(773 B)
📄
sync_fetch_and_umin_4.S
(668 B)
📄
sync_fetch_and_umin_8.S
(773 B)
📄
sync_fetch_and_xor_4.S
(655 B)
📄
sync_fetch_and_xor_8.S
(768 B)
📄
sync_synchronize.S
(973 B)
📄
truncdfsf2vfp.S
(1.02 KB)
📄
udivmodsi4.S
(3.75 KB)
📄
udivsi3.S
(5.8 KB)
📄
umodsi3.S
(3.24 KB)
📄
unorddf2vfp.S
(1.02 KB)
📄
unordsf2vfp.S
(1.02 KB)
Editing: fp_mode.c
//===----- lib/arm/fp_mode.c - Floaing-point mode utilities -------*- C -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include <stdint.h> #include "../fp_mode.h" #define ARM_TONEAREST 0x0 #define ARM_UPWARD 0x1 #define ARM_DOWNWARD 0x2 #define ARM_TOWARDZERO 0x3 #define ARM_RMODE_MASK (ARM_TONEAREST | ARM_UPWARD | \ ARM_DOWNWARD | ARM_TOWARDZERO) #define ARM_RMODE_SHIFT 22 #define ARM_INEXACT 0x1000 #ifndef __ARM_FP // For soft float targets, allow changing rounding mode by overriding the weak // __arm_fe_default_rmode symbol. FE_ROUND_MODE __attribute__((weak)) __arm_fe_default_rmode = FE_TONEAREST; #endif FE_ROUND_MODE __fe_getround() { #ifdef __ARM_FP uint32_t fpscr; __asm__ __volatile__("vmrs %0, fpscr" : "=r" (fpscr)); fpscr = fpscr >> ARM_RMODE_SHIFT & ARM_RMODE_MASK; switch (fpscr) { case ARM_UPWARD: return FE_UPWARD; case ARM_DOWNWARD: return FE_DOWNWARD; case ARM_TOWARDZERO: return FE_TOWARDZERO; case ARM_TONEAREST: default: return FE_TONEAREST; } #else return __arm_fe_default_rmode; #endif } int __fe_raise_inexact() { #ifdef __ARM_FP uint32_t fpscr; __asm__ __volatile__("vmrs %0, fpscr" : "=r" (fpscr)); __asm__ __volatile__("vmsr fpscr, %0" : : "ri" (fpscr | ARM_INEXACT)); return 0; #else return 0; #endif }
Upload File
Create Folder