Skip to content

Commit 31d147c

Browse files
bswap: add RISC-V support.
1 parent 590fe7c commit 31d147c

File tree

1 file changed

+4
-0
lines changed
  • hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib

1 file changed

+4
-0
lines changed

hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ inline uint32_t bswap(uint32_t val) {
101101
__asm__("rev %w[dst], %w[src]" : [dst]"=r"(val) : [src]"r"(val));
102102
#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__loongarch64)
103103
return __builtin_bswap32(val);
104+
#elif #elif defined(__riscv) && __riscv_xlen == 32
105+
return __builtin_bswap32(val);
104106
#else
105107
__asm__("bswap %0" : "=r" (val) : "0" (val));
106108
#endif
@@ -112,6 +114,8 @@ inline uint64_t bswap64(uint64_t val) {
112114
__asm__("rev %[dst], %[src]" : [dst]"=r"(val) : [src]"r"(val));
113115
#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__loongarch64)
114116
return __builtin_bswap64(val);
117+
#elif #elif defined(__riscv) && __riscv_xlen == 64
118+
return __builtin_bswap64(val);
115119
#else
116120
#ifdef __X64
117121
__asm__("bswapq %0" : "=r" (val) : "0" (val));

0 commit comments

Comments
 (0)