From b6b5125d03321af79fe3d25a191c613f87c8003a Mon Sep 17 00:00:00 2001 From: aleksana Date: Thu, 1 May 2025 10:26:17 +0800 Subject: [PATCH] lib.systems.architectures: add loongarch64 --- lib/systems/architectures.nix | 45 +++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/lib/systems/architectures.nix b/lib/systems/architectures.nix index 615e5f6af56f..f061b0d1b266 100644 --- a/lib/systems/architectures.nix +++ b/lib/systems/architectures.nix @@ -329,6 +329,39 @@ rec { "avx512" "fma" ]; + # LoongArch64 + # https://github.com/loongson/la-toolchain-conventions + loongarch64 = [ + "fpu64" + ]; + la464 = [ + "fpu64" + "lsx" + "lasx" + ]; + la664 = [ + "fpu64" + "lsx" + "lasx" + "div32" + "frecipe" + "lam-bh" + "lamcas" + "ld-seq-sa" + ]; + "la64v1.0" = [ + "fpu64" + "lsx" + ]; + "la64v1.1" = [ + "fpu64" + "lsx" + "div32" + "frecipe" + "lam-bh" + "lamcas" + "ld-seq-sa" + ]; # other armv5te = [ ]; armv6 = [ ]; @@ -486,6 +519,16 @@ rec { ampere1a = [ "ampere1" ] ++ inferiors.ampere1; ampere1b = [ "ampere1a" ] ++ inferiors.ampere1a; + # LoongArch64 + loongarch64 = [ ]; + "la64v1.0" = [ "loongarch64" ]; + la464 = [ "la64v1.0" ] ++ inferiors."la64v1.0"; + "la64v1.1" = [ "la64v1.0" ] ++ inferiors."la64v1.0"; + la664 = withInferiors [ + "la464" + "la64v1.1" + ]; + # other armv5te = [ ]; armv6 = [ ]; @@ -510,5 +553,7 @@ rec { aesSupport = featureSupport "aes"; fmaSupport = featureSupport "fma"; fma4Support = featureSupport "fma4"; + lsxSupport = featureSupport "lsx"; + lasxSupport = featureSupport "lasx"; }; }