From cba0eb7a9a7504847f48366c2efc901d3f3652ec Mon Sep 17 00:00:00 2001 From: zhangzikang Date: Tue, 21 May 2024 15:28:14 +0800 Subject: [PATCH] Add loongarch64 support for third_party --- third_party/benchmark/src/cycleclock.h | 2 +- .../third_party/onnx/third_party/benchmark/src/cycleclock.h | 2 +- third_party/onnx/third_party/benchmark/src/cycleclock.h | 2 +- third_party/protobuf/third_party/benchmark/src/cycleclock.h | 2 +- third_party/sleef/src/arch/helperpurec_scalar.h | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/third_party/benchmark/src/cycleclock.h b/third_party/benchmark/src/cycleclock.h index d65d32a3..4efaf582 100644 --- a/third_party/benchmark/src/cycleclock.h +++ b/third_party/benchmark/src/cycleclock.h @@ -208,7 +208,7 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { asm volatile("rdcycle %0" : "=r"(cycles)); return cycles; #endif -#elif defined(__e2k__) || defined(__elbrus__) +#elif defined(__e2k__) || defined(__elbrus__) || defined(__loongarch64) struct timeval tv; gettimeofday(&tv, nullptr); return static_cast(tv.tv_sec) * 1000000 + tv.tv_usec; diff --git a/third_party/onnx-tensorrt/third_party/onnx/third_party/benchmark/src/cycleclock.h b/third_party/onnx-tensorrt/third_party/onnx/third_party/benchmark/src/cycleclock.h index 3b376ac5..b0a3c0cb 100644 --- a/third_party/onnx-tensorrt/third_party/onnx/third_party/benchmark/src/cycleclock.h +++ b/third_party/onnx-tensorrt/third_party/onnx/third_party/benchmark/src/cycleclock.h @@ -153,7 +153,7 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { struct timeval tv; gettimeofday(&tv, nullptr); return static_cast(tv.tv_sec) * 1000000 + tv.tv_usec; -#elif defined(__mips__) +#elif defined(__mips__) || defined(__loongarch64) // mips apparently only allows rdtsc for superusers, so we fall // back to gettimeofday. It's possible clock_gettime would be better. struct timeval tv; diff --git a/third_party/onnx/third_party/benchmark/src/cycleclock.h b/third_party/onnx/third_party/benchmark/src/cycleclock.h index d65d32a3..4efaf582 100644 --- a/third_party/onnx/third_party/benchmark/src/cycleclock.h +++ b/third_party/onnx/third_party/benchmark/src/cycleclock.h @@ -208,7 +208,7 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { asm volatile("rdcycle %0" : "=r"(cycles)); return cycles; #endif -#elif defined(__e2k__) || defined(__elbrus__) +#elif defined(__e2k__) || defined(__elbrus__) || defined(__loongarch64) struct timeval tv; gettimeofday(&tv, nullptr); return static_cast(tv.tv_sec) * 1000000 + tv.tv_usec; diff --git a/third_party/protobuf/third_party/benchmark/src/cycleclock.h b/third_party/protobuf/third_party/benchmark/src/cycleclock.h index 4251fe4c..694e03dc 100644 --- a/third_party/protobuf/third_party/benchmark/src/cycleclock.h +++ b/third_party/protobuf/third_party/benchmark/src/cycleclock.h @@ -153,7 +153,7 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() { struct timeval tv; gettimeofday(&tv, nullptr); return static_cast(tv.tv_sec) * 1000000 + tv.tv_usec; -#elif defined(__mips__) +#elif defined(__mips__) || defined(__loongarch64) // mips apparently only allows rdtsc for superusers, so we fall // back to gettimeofday. It's possible clock_gettime would be better. struct timeval tv; diff --git a/third_party/sleef/src/arch/helperpurec_scalar.h b/third_party/sleef/src/arch/helperpurec_scalar.h index e77e518f..a8c96e3b 100644 --- a/third_party/sleef/src/arch/helperpurec_scalar.h +++ b/third_party/sleef/src/arch/helperpurec_scalar.h @@ -54,7 +54,7 @@ #define ENABLE_FMA_SP //@#define ENABLE_FMA_SP -#if defined(__AVX2__) || defined(__aarch64__) || defined(__arm__) || defined(__powerpc64__) || defined(__zarch__) || CONFIG == 3 +#if defined(__AVX2__) || defined(__aarch64__) || defined(__arm__) || defined(__powerpc64__) || defined(__zarch__) || defined(__loongarch64) || CONFIG == 3 #ifndef FP_FAST_FMA #define FP_FAST_FMA //@#define FP_FAST_FMA -- 2.33.0