[libunwind][LoongArch] Add 64-bit LoongArch support

Defines enums for the LoongArch registers.
Adds the register class implementation for LoongArch.
Adds save and restore context functionality.

This only supports 64 bits integer and float-point register
implementation.

Fix https://github.com/llvm/llvm-project/issues/55398

Reviewed By: SixWeining

Differential Revision: https://reviews.llvm.org/D137010

NOKEYCHECK=True
GitOrigin-RevId: c5072695127e767a76973cdbed683215df31fa40
diff --git a/src/libunwind.cpp b/src/libunwind.cpp
index 292544d..0faea2b 100644
--- a/src/libunwind.cpp
+++ b/src/libunwind.cpp
@@ -77,6 +77,8 @@
 # define REGISTER_KIND Registers_ve
 #elif defined(__s390x__)
 # define REGISTER_KIND Registers_s390x
+#elif defined(__loongarch__) && __loongarch_grlen == 64
+#define REGISTER_KIND Registers_loongarch
 #else
 # error Architecture not supported
 #endif