diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 9c069b12f6f..4e150857f6d 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -44,6 +44,9 @@
$(DefineConstants);ARM64
+
+ $(DefineConstants);LOONGARCH64
+
diff --git a/src/Runner.Common/Constants.cs b/src/Runner.Common/Constants.cs
index 03d01b6288d..99613802ac2 100644
--- a/src/Runner.Common/Constants.cs
+++ b/src/Runner.Common/Constants.cs
@@ -59,7 +59,8 @@ public enum Architecture
X86,
X64,
Arm,
- Arm64
+ Arm64,
+ LoongArch64
}
public static class Runner
@@ -82,6 +83,8 @@ public static class Runner
public static readonly Architecture PlatformArchitecture = Architecture.Arm;
#elif ARM64
public static readonly Architecture PlatformArchitecture = Architecture.Arm64;
+#elif LOONGARCH64
+ public static readonly Architecture PlatformArchitecture = Architecture.LoongArch64;
#else
public static readonly Architecture PlatformArchitecture = Architecture.X64;
#endif
diff --git a/src/Runner.Common/Util/VarUtil.cs b/src/Runner.Common/Util/VarUtil.cs
index 97273a1adb3..3b7795de7e7 100644
--- a/src/Runner.Common/Util/VarUtil.cs
+++ b/src/Runner.Common/Util/VarUtil.cs
@@ -53,6 +53,8 @@ public static string OSArchitecture
return "ARM";
case Constants.Architecture.Arm64:
return "ARM64";
+ case Constants.Architecture.LoongArch64:
+ return "LOONGARCH64";
default:
throw new NotSupportedException(); // Should never reach here.
}
diff --git a/src/Test/L0/ConstantGenerationL0.cs b/src/Test/L0/ConstantGenerationL0.cs
index f3c1b8f9eaf..4bbd5b0e61b 100644
--- a/src/Test/L0/ConstantGenerationL0.cs
+++ b/src/Test/L0/ConstantGenerationL0.cs
@@ -20,6 +20,7 @@ public void BuildConstantGenerateSucceed()
"linux-x64",
"linux-arm",
"linux-arm64",
+ "linux-loongarch64",
"osx-x64",
"osx-arm64"
};