diff options
Diffstat (limited to 'lib/fetch_and_add_riscv64.S')
-rw-r--r-- | lib/fetch_and_add_riscv64.S | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/fetch_and_add_riscv64.S b/lib/fetch_and_add_riscv64.S new file mode 100644 index 0000000..b4cd575 --- /dev/null +++ b/lib/fetch_and_add_riscv64.S @@ -0,0 +1,16 @@ + .text + .align 2 + .global fetch_and_add_riscv64 + .type fetch_and_add_riscv64, %function +fetch_and_add_riscv64: +#ifdef __TINYC__ + .int 0x0f50000f + .int 0x004b5202f + .short 0x8082 +#else + fence iorw,ow + amoadd.w.aq zero,a1,0(a0) + ret +#endif + + .size fetch_and_add_riscv64, .-fetch_and_add_riscv64 |