From fc561b96a4f013c19d4479aa54ae61d8543cd100 Mon Sep 17 00:00:00 2001 From: Huang Yang Date: Mon, 1 Sep 2025 15:25:24 +0800 Subject: [PATCH] Add loongarch64 support --- 0001-bigfft-add-loong64.patch | 60 ++++++++++++++++++++++++ golang-github-remyoudompheng-bigfft.spec | 8 +++- 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 0001-bigfft-add-loong64.patch diff --git a/0001-bigfft-add-loong64.patch b/0001-bigfft-add-loong64.patch new file mode 100644 index 0000000..a94e5c6 --- /dev/null +++ b/0001-bigfft-add-loong64.patch @@ -0,0 +1,60 @@ +From b834d9c22dbbacbc38978280141711baa63904c9 Mon Sep 17 00:00:00 2001 +From: Huang Yang +Date: Mon, 1 Sep 2025 15:20:30 +0800 +Subject: [PATCH] bigfft add loong64 + +--- + arith_loong64.s | 41 +++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 41 insertions(+) + create mode 100644 arith_loong64.s + +diff --git a/arith_loong64.s b/arith_loong64.s +new file mode 100644 +index 0000000..53bcc7e +--- /dev/null ++++ b/arith_loong64.s +@@ -0,0 +1,41 @@ ++// Trampolines to math/big assembly implementations. ++ ++// +build loong64 ++ ++#include "textflag.h" ++ ++// func addVV(z, x, y []Word) (c Word) ++TEXT ·addVV(SB),NOSPLIT,$0 ++ JMP math∕big·addVV(SB) ++ ++// func subVV(z, x, y []Word) (c Word) ++// (same as addVV except for SBBQ instead of ADCQ and label names) ++TEXT ·subVV(SB),NOSPLIT,$0 ++ JMP math∕big·subVV(SB) ++ ++// func addVW(z, x []Word, y Word) (c Word) ++TEXT ·addVW(SB),NOSPLIT,$0 ++ JMP math∕big·addVW(SB) ++ ++// func subVW(z, x []Word, y Word) (c Word) ++// (same as addVW except for SUBQ/SBBQ instead of ADDQ/ADCQ and label names) ++TEXT ·subVW(SB),NOSPLIT,$0 ++ JMP math∕big·subVW(SB) ++ ++// func shlVU(z, x []Word, s uint) (c Word) ++TEXT ·shlVU(SB),NOSPLIT,$0 ++ JMP math∕big·shlVU(SB) ++ ++// func shrVU(z, x []Word, s uint) (c Word) ++TEXT ·shrVU(SB),NOSPLIT,$0 ++ JMP math∕big·shrVU(SB) ++ ++// func mulAddVWW(z, x []Word, y, r Word) (c Word) ++TEXT ·mulAddVWW(SB),NOSPLIT,$0 ++ JMP math∕big·mulAddVWW(SB) ++ ++// func addMulVVW(z, x []Word, y Word) (c Word) ++TEXT ·addMulVVW(SB),NOSPLIT,$0 ++ JMP math∕big·addMulVVW(SB) ++ ++ +-- +2.43.7 + diff --git a/golang-github-remyoudompheng-bigfft.spec b/golang-github-remyoudompheng-bigfft.spec index 3baa13f..9f9f817 100644 --- a/golang-github-remyoudompheng-bigfft.spec +++ b/golang-github-remyoudompheng-bigfft.spec @@ -15,12 +15,13 @@ Big integer multiplication library for Go using Fast Fourier transform.} Name: %{goname} Version: 0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Big integer multiplication library for Go using Fast Fourier transform License: BSD URL: %{gourl} Source0: %{gosource} +Patch3000: 0001-bigfft-add-loong64.patch %description %{common_description} @@ -29,6 +30,7 @@ Source0: %{gosource} %prep %goprep +%autopatch -p1 %install %gopkginstall @@ -41,6 +43,10 @@ Source0: %{gosource} %gopkgfiles %changelog +* Mon Sep 01 2025 Huang Yang - 0-3.giteec4a21 +- [Type] bugfix +- [DESC] add loongarch support + * Mon Jun 09 2025 bbrucezhang - 0-2.giteec4a21 - Rebuilt for loongarch64 -- Gitee