mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-24 05:47:35 -04:00
96 lines
2.2 KiB
Diff
96 lines
2.2 KiB
Diff
diff --git a/src/internal/atomic.h b/src/internal/atomic.h
|
|
index 96c1552d..41b02e75 100644
|
|
--- a/src/internal/atomic.h
|
|
+++ b/src/internal/atomic.h
|
|
@@ -226,7 +226,7 @@ static inline void a_or_64(volatile uint64_t *p, uint64_t v)
|
|
#endif
|
|
|
|
#ifndef a_cas_p
|
|
-typedef char a_cas_p_undefined_but_pointer_not_32bit[-sizeof(char) == 0xffffffff ? 1 : -1];
|
|
+//typedef char a_cas_p_undefined_but_pointer_not_32bit[-sizeof(char) == 0xffffffff ? 1 : -1];
|
|
#define a_cas_p a_cas_p
|
|
static inline void *a_cas_p(volatile void *p, void *t, void *s)
|
|
{
|
|
diff --git a/src/setjmp/riscv32/longjmp.S b/src/setjmp/riscv32/longjmp.S
|
|
index f9cb3318..0980ea23 100644
|
|
--- a/src/setjmp/riscv32/longjmp.S
|
|
+++ b/src/setjmp/riscv32/longjmp.S
|
|
@@ -23,6 +23,20 @@ longjmp:
|
|
lw ra, 52(a0)
|
|
|
|
#ifndef __riscv_float_abi_soft
|
|
+#ifdef __riscv_float_abi_single
|
|
+ flw fs0, 56(a0)
|
|
+ flw fs1, 64(a0)
|
|
+ flw fs2, 72(a0)
|
|
+ flw fs3, 80(a0)
|
|
+ flw fs4, 88(a0)
|
|
+ flw fs5, 96(a0)
|
|
+ flw fs6, 104(a0)
|
|
+ flw fs7, 112(a0)
|
|
+ flw fs8, 120(a0)
|
|
+ flw fs9, 128(a0)
|
|
+ flw fs10, 136(a0)
|
|
+ flw fs11, 144(a0)
|
|
+#else
|
|
fld fs0, 56(a0)
|
|
fld fs1, 64(a0)
|
|
fld fs2, 72(a0)
|
|
@@ -35,6 +49,7 @@ longjmp:
|
|
fld fs9, 128(a0)
|
|
fld fs10, 136(a0)
|
|
fld fs11, 144(a0)
|
|
+#endif
|
|
#endif
|
|
|
|
seqz a0, a1
|
|
diff --git a/src/setjmp/riscv32/setjmp.S b/src/setjmp/riscv32/setjmp.S
|
|
index 8a75cf55..7efb10e0 100644
|
|
--- a/src/setjmp/riscv32/setjmp.S
|
|
+++ b/src/setjmp/riscv32/setjmp.S
|
|
@@ -23,18 +23,33 @@ setjmp:
|
|
sw ra, 52(a0)
|
|
|
|
#ifndef __riscv_float_abi_soft
|
|
- fsd fs0, 56(a0)
|
|
- fsd fs1, 64(a0)
|
|
- fsd fs2, 72(a0)
|
|
- fsd fs3, 80(a0)
|
|
- fsd fs4, 88(a0)
|
|
- fsd fs5, 96(a0)
|
|
- fsd fs6, 104(a0)
|
|
- fsd fs7, 112(a0)
|
|
- fsd fs8, 120(a0)
|
|
- fsd fs9, 128(a0)
|
|
- fsd fs10, 136(a0)
|
|
- fsd fs11, 144(a0)
|
|
+#ifdef __riscv_float_abi_single
|
|
+ flw fs0, 56(a0)
|
|
+ flw fs1, 64(a0)
|
|
+ flw fs2, 72(a0)
|
|
+ flw fs3, 80(a0)
|
|
+ flw fs4, 88(a0)
|
|
+ flw fs5, 96(a0)
|
|
+ flw fs6, 104(a0)
|
|
+ flw fs7, 112(a0)
|
|
+ flw fs8, 120(a0)
|
|
+ flw fs9, 128(a0)
|
|
+ flw fs10, 136(a0)
|
|
+ flw fs11, 144(a0)
|
|
+#else
|
|
+ fld fs0, 56(a0)
|
|
+ fld fs1, 64(a0)
|
|
+ fld fs2, 72(a0)
|
|
+ fld fs3, 80(a0)
|
|
+ fld fs4, 88(a0)
|
|
+ fld fs5, 96(a0)
|
|
+ fld fs6, 104(a0)
|
|
+ fld fs7, 112(a0)
|
|
+ fld fs8, 120(a0)
|
|
+ fld fs9, 128(a0)
|
|
+ fld fs10, 136(a0)
|
|
+ fld fs11, 144(a0)
|
|
+#endif
|
|
#endif
|
|
|
|
li a0, 0
|