clang doesn't have __builtin_riscv_pause()
Use raw instruction encoding like in src/sys CPU_BUSY_CYCLE(),
no idea how to cleanly access the "pause" instruction from the
Zihintpause extension.

Index: include/my_cpu.h
--- include/my_cpu.h.orig
+++ include/my_cpu.h
@@ -97,7 +97,11 @@ static inline void MY_RELAX_CPU(void)
   /* Changed from __ppc_get_timebase for musl and clang compatibility */
   __builtin_ppc_get_timebase();
 #elif defined __GNUC__ && defined __riscv
+# if defined(__clang__)
+  __asm volatile(".long 0x0100000f" ::: "memory");
+# else /* !clang */
   __builtin_riscv_pause();
+# endif
 #elif defined __GNUC__
   /* Mainly, prevent the compiler from optimizing away delay loops */
   __asm__ __volatile__ ("":::"memory");
