Skip to content

Commit 019990e

Browse files
committed
WIP: Enable build on aarch64
1 parent 960fdbf commit 019990e

4 files changed

Lines changed: 12 additions & 6 deletions

File tree

Make.inc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ REAL_ARCH := $(ARCH)
7373
ifeq ($(findstring arm,$(ARCH)),arm)
7474
override ARCH := arm
7575
endif
76+
ifeq ($(ARCH),aarch64)
77+
override ARCH := arm
78+
endif
7679
ifeq ($(findstring powerpc,$(ARCH)),powerpc)
7780
override ARCH := powerpc
7881
endif

bsdsrc/b_tgamma.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,16 +128,16 @@ tgamma(x)
128128
{
129129
struct Double u;
130130

131-
if (x >= 6) {
131+
if (isgreaterequal(x, 6)) {
132132
if(x > 171.63)
133133
return (x / zero);
134134
u = large_gam(x);
135135
return(__exp__D(u.a, u.b));
136-
} else if (x >= 1.0 + LEFT + x0)
136+
} else if (isgreaterequal(x, 1.0 + LEFT + x0))
137137
return (small_gam(x));
138-
else if (x > 1.e-17)
138+
else if (isgreater(x, 1.e-17))
139139
return (smaller_gam(x));
140-
else if (x > -1.e-17) {
140+
else if (isgreater(x, -1.e-17)) {
141141
if (x != 0.0)
142142
u.a = one - tiny; /* raise inexact */
143143
return (one/x);

include/openlibm_fenv.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include <fenv.h>
33
#else /* !OPENLIBM_USE_HOST_FENV_H */
44

5-
#if defined(__arm__)
5+
#if defined(__aarch64__) || defined(__arm__)
66
#include <openlibm_fenv_arm.h>
77
#elif defined(__x86_64__)
88
#include <openlibm_fenv_amd64.h>

include/openlibm_fenv_arm.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,10 @@ extern const fenv_t __fe_dfl_env;
6464
#define _FPUSW_SHIFT 16
6565
#define _ENABLE_MASK (FE_ALL_EXCEPT << _FPUSW_SHIFT)
6666

67-
#ifdef ARM_HARD_FLOAT
67+
#if defined(__aarch64__)
68+
#define __rfs(__fpsr) __asm __volatile("mrs %0,fpsr" : "=r" (*(__fpsr)))
69+
#define __wfs(__fpsr) __asm __volatile("msr fpsr,%0" : : "r" (__fpsr))
70+
#elif defined(ARM_HARD_FLOAT)
6871
#define __rfs(__fpsr) __asm __volatile("rfs %0" : "=r" (*(__fpsr)))
6972
#define __wfs(__fpsr) __asm __volatile("wfs %0" : : "r" (__fpsr))
7073
#else

0 commit comments

Comments
 (0)