You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gu...@apache.org on 2021/11/10 17:36:15 UTC

[incubator-nuttx] branch master updated: Revert "libc: Implement fesetround & fegetround for arm"

This is an automated email from the ASF dual-hosted git repository.

gustavonihei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new bec1b0b  Revert "libc: Implement fesetround & fegetround for arm"
bec1b0b is described below

commit bec1b0bc9259e079859a42cc137b1d20b8c281dc
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Sun Oct 31 17:24:10 2021 +0800

    Revert "libc: Implement fesetround & fegetround for arm"
    
    Since the toolchain provide the implementation now.
    This reverts commit fe992a5b6c91f2caa2ad9ac92d0876b5ec39978a.
---
 include/fenv.h                   |  44 --------------
 libs/libc/machine/arm/Make.defs  |   2 -
 libs/libc/machine/arm/arm_fenv.c | 120 ---------------------------------------
 3 files changed, 166 deletions(-)

diff --git a/include/fenv.h b/include/fenv.h
deleted file mode 100644
index 81e44a8..0000000
--- a/include/fenv.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
- * include/fenv.h
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.  The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-#ifndef __INCLUDE_FENV_H
-#define __INCLUDE_FENV_H
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#define FE_TONEAREST       0
-#define FE_DOWNWARD        1
-#define FE_UPWARD          2
-#define FE_TOWARDZERO      3
-
-/****************************************************************************
- * Public Function Prototypes
- ****************************************************************************/
-
-int fegetround(void);
-int fesetround(int round);
-
-#endif /* __INCLUDE_FENV_H */
\ No newline at end of file
diff --git a/libs/libc/machine/arm/Make.defs b/libs/libc/machine/arm/Make.defs
index c1b096e..d9d60ce 100644
--- a/libs/libc/machine/arm/Make.defs
+++ b/libs/libc/machine/arm/Make.defs
@@ -46,7 +46,5 @@ ifeq ($(CONFIG_CXX_EXCEPTION),y)
 CSRCS += gnu_unwind_find_exidx.c
 endif
 
-CSRCS += arm_fenv.c
-
 DEPPATH += --dep-path machine/arm
 VPATH += :machine/arm
diff --git a/libs/libc/machine/arm/arm_fenv.c b/libs/libc/machine/arm/arm_fenv.c
deleted file mode 100644
index 12ca8c4..0000000
--- a/libs/libc/machine/arm/arm_fenv.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/****************************************************************************
- * libs/libc/machine/arm/arm_fenv.c
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.  The
- * ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the
- * License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
- * License for the specific language governing permissions and limitations
- * under the License.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <assert.h>
-#include <fenv.h>
-
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
-
-#define ARM_FPSCR_TONEAREST   0x00000000
-#define ARM_FPSCR_DOWNWARD    0x00400000
-#define ARM_FPSCR_UPWARD      0x00800000
-#define ARM_FPSCR_TOWARDZERO  0x00c00000
-
-#define ARM_FPSCR_ROUNDMASK   0x00c00000
-
-#define	SET_FPSCR(__r)	      __asm __volatile("vmrs %0, fpscr" : "=&r"(__r))
-#define	GET_FPSCR(__r)	      __asm __volatile("vmsr fpscr, %0" : : "r"(__r))
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-int fegetround(void)
-{
-  int ret = FE_TONEAREST;
-
-#ifndef __SOFTFP__
-  int fpscr = 0;
-
-  GET_FPSCR(fpscr);
-
-  fpscr &= ARM_FPSCR_ROUNDMASK;
-
-  switch (fpscr)
-  {
-  case ARM_FPSCR_TONEAREST:
-    ret = FE_TONEAREST;
-    break;
-
-  case ARM_FPSCR_DOWNWARD:
-    ret = FE_DOWNWARD;
-    break;
-
-  case ARM_FPSCR_UPWARD:
-    ret = FE_UPWARD;
-    break;
-
-  case ARM_FPSCR_TOWARDZERO:
-    ret = FE_TOWARDZERO;
-    break;
-
-  default:
-    assert(0);
-    break;
-  }
-
-#endif
-
-  return ret;
-}
-
-int fesetround(int round)
-{
-#ifndef __SOFTFP__
-  int fpscr = 0;
-
-  GET_FPSCR(fpscr);
-  fpscr &= ~(ARM_FPSCR_ROUNDMASK);
-
-  switch (fpscr)
-  {
-  case FE_TONEAREST:
-    round = ARM_FPSCR_TONEAREST;
-    break;
-
-  case FE_DOWNWARD:
-    round = ARM_FPSCR_DOWNWARD;
-    break;
-
-  case FE_UPWARD:
-    round = ARM_FPSCR_UPWARD;
-    break;
-
-  case FE_TOWARDZERO:
-    round = ARM_FPSCR_TOWARDZERO;
-    break;
-
-  default:
-    assert(0);
-    break;
-  }
-
-  fpscr |= round;
-  SET_FPSCR(fpscr);
-#endif
-  return (0);
-}