[v6,2/6] LoongArch: Add support for LA32 in sysdeps/loongarch/fpu

Message ID 20260312014203.1916933-3-mengqinggang@loongson.cn (mailing list archive)
State Committed
Commit e228970623bf3d4e09f54a1d6db61f90f651ec97
Delegated to: Adhemerval Zanella Netto
Headers
Series Add support for LoongArch32 |

Checks

Context Check Description
redhat-pt-bot/TryBot-apply_patch success Patch applied to master at the time it was sent
linaro-tcwg-bot/tcwg_glibc_build--master-arm success Build passed
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_glibc_check--master-arm success Test passed
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 success Test passed

Commit Message

mengqinggang March 12, 2026, 1:41 a.m. UTC
  Move the loongarch64 implementation to sysdeps/loongarch/lp64/fpu.
---
 sysdeps/loongarch/fpu/math-use-builtins-llrint.h |  2 +-
 sysdeps/loongarch/fpu/math-use-builtins-logb.h   |  2 +-
 sysdeps/loongarch/fpu/math-use-builtins-lrint.h  |  2 +-
 sysdeps/loongarch/fpu/math-use-builtins-rint.h   |  2 +-
 sysdeps/loongarch/fpu/math-use-builtins-sqrt.h   | 10 ++++++++--
 sysdeps/loongarch/lp64/fpu/Implies               |  1 +
 sysdeps/loongarch/{ => lp64}/fpu/e_scalb.c       |  0
 sysdeps/loongarch/{ => lp64}/fpu/e_scalbf.c      |  0
 sysdeps/loongarch/{ => lp64}/fpu/s_scalbn.c      |  0
 sysdeps/loongarch/{ => lp64}/fpu/s_scalbnf.c     |  0
 sysdeps/loongarch/{ => lp64}/fpu/w_ilogb-impl.h  |  0
 sysdeps/loongarch/{ => lp64}/fpu/w_ilogbf-impl.h |  0
 12 files changed, 13 insertions(+), 6 deletions(-)
 create mode 100644 sysdeps/loongarch/lp64/fpu/Implies
 rename sysdeps/loongarch/{ => lp64}/fpu/e_scalb.c (100%)
 rename sysdeps/loongarch/{ => lp64}/fpu/e_scalbf.c (100%)
 rename sysdeps/loongarch/{ => lp64}/fpu/s_scalbn.c (100%)
 rename sysdeps/loongarch/{ => lp64}/fpu/s_scalbnf.c (100%)
 rename sysdeps/loongarch/{ => lp64}/fpu/w_ilogb-impl.h (100%)
 rename sysdeps/loongarch/{ => lp64}/fpu/w_ilogbf-impl.h (100%)
  

Patch

diff --git a/sysdeps/loongarch/fpu/math-use-builtins-llrint.h b/sysdeps/loongarch/fpu/math-use-builtins-llrint.h
index bee5910b09..82f89d41f9 100644
--- a/sysdeps/loongarch/fpu/math-use-builtins-llrint.h
+++ b/sysdeps/loongarch/fpu/math-use-builtins-llrint.h
@@ -1,4 +1,4 @@ 
-#if __GNUC_PREREQ (13, 0)
+#if __GNUC_PREREQ (13, 0) && __loongarch_grlen == 64
 # define USE_LLRINT_BUILTIN 1
 # define USE_LLRINTF_BUILTIN 1
 #else
diff --git a/sysdeps/loongarch/fpu/math-use-builtins-logb.h b/sysdeps/loongarch/fpu/math-use-builtins-logb.h
index b1c3f30dc4..d8ca3d1aa2 100644
--- a/sysdeps/loongarch/fpu/math-use-builtins-logb.h
+++ b/sysdeps/loongarch/fpu/math-use-builtins-logb.h
@@ -1,4 +1,4 @@ 
-#if __GNUC_PREREQ (13, 0)
+#if __GNUC_PREREQ (13, 0) && __loongarch_grlen == 64
 # define USE_LOGB_BUILTIN 1
 # define USE_LOGBF_BUILTIN 1
 #else
diff --git a/sysdeps/loongarch/fpu/math-use-builtins-lrint.h b/sysdeps/loongarch/fpu/math-use-builtins-lrint.h
index 7df8aac81f..80345fdf3f 100644
--- a/sysdeps/loongarch/fpu/math-use-builtins-lrint.h
+++ b/sysdeps/loongarch/fpu/math-use-builtins-lrint.h
@@ -1,4 +1,4 @@ 
-#if __GNUC_PREREQ (13, 0)
+#if __GNUC_PREREQ (13, 0) && __loongarch_grlen == 64
 # define USE_LRINT_BUILTIN 1
 # define USE_LRINTF_BUILTIN 1
 #else
diff --git a/sysdeps/loongarch/fpu/math-use-builtins-rint.h b/sysdeps/loongarch/fpu/math-use-builtins-rint.h
index cd91482f5f..73ce3e45bc 100644
--- a/sysdeps/loongarch/fpu/math-use-builtins-rint.h
+++ b/sysdeps/loongarch/fpu/math-use-builtins-rint.h
@@ -1,4 +1,4 @@ 
-#if __GNUC_PREREQ (13, 0)
+#if __GNUC_PREREQ (13, 0) && __loongarch_grlen == 64
 #  define USE_RINT_BUILTIN 1
 #  define USE_RINTF_BUILTIN 1
 #else
diff --git a/sysdeps/loongarch/fpu/math-use-builtins-sqrt.h b/sysdeps/loongarch/fpu/math-use-builtins-sqrt.h
index e94c915ba6..f031bd7536 100644
--- a/sysdeps/loongarch/fpu/math-use-builtins-sqrt.h
+++ b/sysdeps/loongarch/fpu/math-use-builtins-sqrt.h
@@ -1,4 +1,10 @@ 
-#define USE_SQRT_BUILTIN 1
-#define USE_SQRTF_BUILTIN 1
+#if __loongarch_grlen == 64
+  #define USE_SQRT_BUILTIN 1
+  #define USE_SQRTF_BUILTIN 1
+#else
+  #define USE_SQRT_BUILTIN 0
+  #define USE_SQRTF_BUILTIN 0
+#endif
+
 #define USE_SQRTL_BUILTIN 0
 #define USE_SQRTF128_BUILTIN 0
diff --git a/sysdeps/loongarch/lp64/fpu/Implies b/sysdeps/loongarch/lp64/fpu/Implies
new file mode 100644
index 0000000000..fccda41bd0
--- /dev/null
+++ b/sysdeps/loongarch/lp64/fpu/Implies
@@ -0,0 +1 @@ 
+loongarch/lp64/fpu
diff --git a/sysdeps/loongarch/fpu/e_scalb.c b/sysdeps/loongarch/lp64/fpu/e_scalb.c
similarity index 100%
rename from sysdeps/loongarch/fpu/e_scalb.c
rename to sysdeps/loongarch/lp64/fpu/e_scalb.c
diff --git a/sysdeps/loongarch/fpu/e_scalbf.c b/sysdeps/loongarch/lp64/fpu/e_scalbf.c
similarity index 100%
rename from sysdeps/loongarch/fpu/e_scalbf.c
rename to sysdeps/loongarch/lp64/fpu/e_scalbf.c
diff --git a/sysdeps/loongarch/fpu/s_scalbn.c b/sysdeps/loongarch/lp64/fpu/s_scalbn.c
similarity index 100%
rename from sysdeps/loongarch/fpu/s_scalbn.c
rename to sysdeps/loongarch/lp64/fpu/s_scalbn.c
diff --git a/sysdeps/loongarch/fpu/s_scalbnf.c b/sysdeps/loongarch/lp64/fpu/s_scalbnf.c
similarity index 100%
rename from sysdeps/loongarch/fpu/s_scalbnf.c
rename to sysdeps/loongarch/lp64/fpu/s_scalbnf.c
diff --git a/sysdeps/loongarch/fpu/w_ilogb-impl.h b/sysdeps/loongarch/lp64/fpu/w_ilogb-impl.h
similarity index 100%
rename from sysdeps/loongarch/fpu/w_ilogb-impl.h
rename to sysdeps/loongarch/lp64/fpu/w_ilogb-impl.h
diff --git a/sysdeps/loongarch/fpu/w_ilogbf-impl.h b/sysdeps/loongarch/lp64/fpu/w_ilogbf-impl.h
similarity index 100%
rename from sysdeps/loongarch/fpu/w_ilogbf-impl.h
rename to sysdeps/loongarch/lp64/fpu/w_ilogbf-impl.h