diff options
| author | matt <matt@NetBSD.org> | 2015-03-27 06:42:37 +0000 |
|---|---|---|
| committer | matt <matt@NetBSD.org> | 2015-03-27 06:42:37 +0000 |
| commit | 3e68072645d229dfd3e5d44fd167a093e397483d (patch) | |
| tree | 1e1ca006eef36969eb5ff0898832d2eee7816f72 /common/lib/libc | |
| parent | 2ca4df07a510190d1782275a350822ceb26bcb4b (diff) | |
Switch to new ABI (a0/a1 replace v0/v1)
Diffstat (limited to 'common/lib/libc')
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_add_32.S | 8 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_add_64.S | 8 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_and_32.S | 8 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_and_64.S | 8 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_cas_32.S | 24 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_cas_64.S | 24 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_nand_32.S | 24 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_nand_64.S | 24 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_or_32.S | 8 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_or_64.S | 8 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_sub_32.S | 12 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_sub_64.S | 12 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_swap_32.S | 4 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_swap_64.S | 4 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_xor_32.S | 8 | ||||
| -rw-r--r-- | common/lib/libc/arch/riscv/atomic/atomic_xor_64.S | 8 |
16 files changed, 100 insertions, 92 deletions
diff --git a/common/lib/libc/arch/riscv/atomic/atomic_add_32.S b/common/lib/libc/arch/riscv/atomic/atomic_add_32.S index 681003cd593..11a10efdcdc 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_add_32.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_add_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_add_32.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_add_32.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ ENTRY_NP(_atomic_inc_32) li a1, 1 ENTRY_NP(_atomic_add_32) - amoadd.w.aq v0, a1, 0(a0) + amoadd.w.aq a0, a1, 0(a0) ret END(_atomic_add_32) END(_atomic_inc_32) @@ -64,8 +64,8 @@ STRONG_ALIAS(_atomic_inc_ptr,_atomic_inc_32) ENTRY_NP(_atomic_inc_32_nv) li a1, 1 ENTRY_NP(_atomic_add_32_nv) - amoadd.w.aq v0, a1, 0(a0) /* update memory and get old value */ - INT_ADD v0, v0, a1 /* turn into new value */ + amoadd.w.aq t0, a1, 0(a0) /* update memory and get old value */ + INT_ADD a0, t0, a1 /* turn into new value */ ret END(_atomic_add_32_nv) END(_atomic_inc_32_nv) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_add_64.S b/common/lib/libc/arch/riscv/atomic/atomic_add_64.S index 5a5257a5661..5b701d271b5 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_add_64.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_add_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_add_64.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_add_64.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ ENTRY_NP(_atomic_inc_64) li a1, 1 ENTRY_NP(_atomic_add_64) - amoadd.d.aq v0, a1, 0(a0) + amoadd.d.aq a0, a1, 0(a0) ret END(_atomic_add_64) END(_atomic_inc_64) @@ -56,8 +56,8 @@ STRONG_ALIAS(_atomic_inc_ptr,_atomic_inc_64) ENTRY_NP(_atomic_inc_64_nv) li a1, 1 ENTRY_NP(_atomic_add_64_nv) - amoadd.d.aq v0, a1, 0(a0) /* update memory and get old value */ - LONG_ADD v0, v0, a1 /* turn into new value */ + amoadd.d.aq t0, a1, 0(a0) /* update memory and get old value */ + LONG_ADD a0, t0, a1 /* turn into new value */ ret END(_atomic_add_64_nv) END(_atomic_inc_64_nv) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_and_32.S b/common/lib/libc/arch/riscv/atomic/atomic_and_32.S index bedc51fd242..10093df6f78 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_and_32.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_and_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_and_32.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_and_32.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_and_32) - amoand.w.aq v0, a1, 0(a0) + amoand.w.aq a0, a1, 0(a0) ret END(_atomic_and_32) @@ -47,8 +47,8 @@ CRT_ALIAS(__sync_fetch_and_and_4,_atomic_and_32) CRT_ALIAS(__atomic_fetch_and_4,_atomic_and_32) ENTRY_NP(_atomic_and_32_nv) - amoand.w.aq v0, a1, 0(a0) /* update memory and get old value */ - and v0, v0, a1 /* turn into new value */ + amoand.w.aq t0, a1, 0(a0) /* update memory and get old value */ + and a0, t0, a1 /* turn into new value */ ret END(_atomic_and_32_nv) ATOMIC_OP_ALIAS(atomic_and_32_nv,_atomic_and_32_nv) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_and_64.S b/common/lib/libc/arch/riscv/atomic/atomic_and_64.S index a38a181fb41..71351a085f8 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_and_64.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_and_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_and_64.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_and_64.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_and_64) - amoand.d.aq v0, a1, 0(a0) + amoand.d.aq a0, a1, 0(a0) ret END(_atomic_and_64) @@ -43,8 +43,8 @@ CRT_ALIAS(__sync_fetch_and_and_8,_atomic_and_64) CRT_ALIAS(__atomic_fetch_and_8,_atomic_and_64) ENTRY_NP(_atomic_and_64_nv) - amoand.d.aq v0, a1, 0(a0) /* update memory and get old value */ - and v0, v0, a1 /* turn into new value */ + amoand.d.aq t0, a1, 0(a0) /* update memory and get old value */ + and a0, t0, a1 /* turn into new value */ ret END(_atomic_and_64_nv) ATOMIC_OP_ALIAS(atomic_and_64_nv,_atomic_and_64_nv) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_cas_32.S b/common/lib/libc/arch/riscv/atomic/atomic_cas_32.S index ffac96e4528..4df78315b06 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_cas_32.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_cas_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_cas_32.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_cas_32.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. * All rights reserved. @@ -31,10 +31,11 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_cas_32) -1: lr.w v0, 0(a0) - bne a1, v0, 2f - sc.w v1, a2, 0(a0) - bnez v1, 1b + mv t0, a0 +1: lr.w a0, 0(t0) + bne a1, a0, 2f + sc.w t1, a2, 0(t0) + bnez t1, 1b 2: ret END(_atomic_cas_32) @@ -55,12 +56,13 @@ STRONG_ALIAS(_atomic_cas_ptr_ni,_atomic_cas_32) CRT_ALIAS(__sync_val_compare_and_swap_4,_atomic_cas_32) ENTRY_NP(_atomic_bool_cas_32) - li v0, 0 -1: lr.w v1, 0(a0) - bne a1, v1, 2f - sc.w v1, a2, 0(a0) - bnez v1, 1b - li v0, 1 + mv t0, a0 + li a0, 0 +1: lr.w t1, 0(t0) + bne a1, t1, 2f + sc.w t1, a2, 0(t0) + bnez t1, 1b + li a0, 1 2: ret END(_atomic_bool_cas_32) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_cas_64.S b/common/lib/libc/arch/riscv/atomic/atomic_cas_64.S index f69ae85354b..caedd8e778e 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_cas_64.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_cas_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_cas_64.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_cas_64.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. * All rights reserved. @@ -32,10 +32,11 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_cas_64) -1: lr.d v0, 0(a0) - bne a1, v0, 2f - sc.d v1, a2, 0(a0) - bnez v1, 1b + mv t0, a0 +1: lr.d a0, 0(t0) + bne a1, a0, 2f + sc.d t1, a2, 0(t0) + bnez t1, 1b 2: ret END(_atomic_cas_64) @@ -53,12 +54,13 @@ STRONG_ALIAS(_atomic_cas_ptr_ni,_atomic_cas_64) CRT_ALIAS(__sync_val_compare_and_swap_8,_atomic_cas_64) ENTRY_NP(_atomic_bool_cas_64) - li v0, 0 -1: lr.d v1, 0(a0) - bne a1, v1, 2f - sc.d v1, a2, 0(a0) - bnez v1, 1b - li v0, 1 + mv t0, a0 + li a0, 0 +1: lr.d t1, 0(t0) + bne a1, t1, 2f + sc.d t1, a2, 0(t0) + bnez t1, 1b + li a0, 1 2: ret END(_atomic_bool_cas_64) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_nand_32.S b/common/lib/libc/arch/riscv/atomic/atomic_nand_32.S index 855f2991b4d..d6c95327c88 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_nand_32.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_nand_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_nand_32.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_nand_32.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. * All rights reserved. @@ -31,11 +31,12 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_nand_32) -1: lr.w v0, 0(a0) - not t0, v0 - and t0, t0, a1 - sc.w v1, t0, 0(a0) - bnez v1, 1b + mv t0, a0 +1: lr.w a0, 0(t0) + not t2, a0 + and t2, t2, a1 + sc.w t1, t2, 0(t0) + bnez t1, 1b ret END(_atomic_nand_32) @@ -50,11 +51,12 @@ CRT_ALIAS(__sync_fetch_and_nand_4,_atomic_nand_32) CRT_ALIAS(__atomic_fetch_nand_4,_atomic_nand_32) ENTRY_NP(_atomic_nand_32_nv) -1: lr.w v0, 0(a0) - not v0, v0 - and v0, v0, a1 - sc.w v1, v0, 0(a0) - bnez v1, 1b + mv t0, a0 +1: lr.w a0, 0(t0) + not a0, a0 + and a0, a0, a1 + sc.w t1, a0, 0(t0) + bnez t1, 1b ret END(_atomic_nand_32_nv) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_nand_64.S b/common/lib/libc/arch/riscv/atomic/atomic_nand_64.S index 3c43d384b12..0756c6d9c38 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_nand_64.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_nand_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_nand_64.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_nand_64.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. * All rights reserved. @@ -31,11 +31,12 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_nand_64) -1: lr.d v0, 0(a0) - not t0, v0 - and t0, t0, a1 - sc.d v1, t0, 0(a0) - bnez v1, 1b + mv t0, a0 +1: lr.d a0, 0(t0) + not t2, a0 + and t2, t2, a1 + sc.d t1, t2, 0(t0) + bnez t1, 1b ret END(_atomic_nand_64) @@ -46,11 +47,12 @@ CRT_ALIAS(__sync_fetch_and_nand_8,_atomic_nand_64) CRT_ALIAS(__atomic_fetch_nand_8,_atomic_nand_64) ENTRY_NP(_atomic_nand_64_nv) -1: lr.d v0, 0(a0) - not v0, v0 - and v0, v0, a1 - sc.d v1, v0, 0(a0) - bnez v1, 1b + mv t0, a0 +1: lr.d a0, 0(t0) + not a0, a0 + and a0, a0, a1 + sc.d t1, a0, 0(t0) + bnez t1, 1b ret END(_atomic_nand_64_nv) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_or_32.S b/common/lib/libc/arch/riscv/atomic/atomic_or_32.S index 536065ba6ca..bad55b45887 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_or_32.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_or_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_or_32.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_or_32.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_or_32) - amoor.w.aq v0, a1, 0(a0) + amoor.w.aq a0, a1, 0(a0) ret END(_atomic_or_32) @@ -47,8 +47,8 @@ CRT_ALIAS(__sync_fetch_and_or_4,_atomic_or_32) CRT_ALIAS(__atomic_fetch_or_4,_atomic_or_32) ENTRY_NP(_atomic_or_32_nv) - amoor.w.aq v0, a1, 0(a0) /* update memory and get old value */ - or v0, v0, a1 /* turn into new value */ + amoor.w.aq t0, a1, 0(a0) /* update memory and get old value */ + or a0, t0, a1 /* turn into new value */ ret END(_atomic_or_32_nv) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_or_64.S b/common/lib/libc/arch/riscv/atomic/atomic_or_64.S index 13677feea9b..b780179c9ee 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_or_64.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_or_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_or_64.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_or_64.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_or_64) - amoor.d.aq v0, a1, 0(a0) + amoor.d.aq a0, a1, 0(a0) ret END(_atomic_or_64) @@ -43,8 +43,8 @@ CRT_ALIAS(__sync_fetch_and_or_8,_atomic_or_64) CRT_ALIAS(__atomic_fetch_or_8,_atomic_or_64) ENTRY_NP(_atomic_or_64_nv) - amoor.d.aq v0, a1, 0(a0) /* update memory and get old value */ - or v0, v0, a1 /* turn into new value */ + amoor.d.aq t0, a1, 0(a0) /* update memory and get old value */ + or a0, t0, a1 /* turn into new value */ ret END(_atomic_or_64_nv) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_sub_32.S b/common/lib/libc/arch/riscv/atomic/atomic_sub_32.S index 574958c40a7..730f55b694f 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_sub_32.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_sub_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_sub_32.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_sub_32.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -34,8 +34,8 @@ ENTRY_NP(_atomic_dec_32) li a1, 1 ENTRY_NP(_atomic_sub_32) - INT_SUB v1, zero, a1 - amoadd.w.aq v0, v1, 0(a0) + INT_SUB t0, zero, a1 + amoadd.w.aq a0, t0, 0(a0) ret END(_atomic_sub_32) END(_atomic_dec_32) @@ -65,9 +65,9 @@ STRONG_ALIAS(_atomic_dec_ptr,_atomic_dec_32) ENTRY_NP(_atomic_dec_32_nv) li a1, 1 ENTRY_NP(_atomic_sub_32_nv) - INT_SUB v1, zero, a1 - amoadd.w.aq v0, v1, 0(a0) /* update memory and get old value */ - INT_ADD v0, v0, v1 /* turn into new value */ + INT_SUB t1, zero, a1 + amoadd.w.aq t0, t1, 0(a0) /* update memory and get old value */ + INT_ADD a0, t0, t1 /* turn into new value */ ret END(_atomic_sub_32_nv) END(_atomic_dec_32_nv) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_sub_64.S b/common/lib/libc/arch/riscv/atomic/atomic_sub_64.S index 9130e3d163e..e7036b8f355 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_sub_64.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_sub_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_sub_64.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_sub_64.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -34,8 +34,8 @@ ENTRY_NP(_atomic_dec_64) li a1, 1 ENTRY_NP(_atomic_sub_64) - neg v1, a1 - amoadd.d.aq v0, a1, 0(a0) + neg t1, a1 + amoadd.d.aq a0, t1, 0(a0) ret END(_atomic_sub_64) END(_atomic_dec_64) @@ -57,9 +57,9 @@ STRONG_ALIAS(_atomic_dec_ptr,_atomic_dec_64) ENTRY_NP(_atomic_dec_64_nv) li a1, 1 ENTRY_NP(_atomic_sub_64_nv) - neg v1, a1 - amoadd.d.aq v0, v1, 0(a0) /* update memory and get old value */ - add v0, v0, v1 /* turn into new value */ + neg t1, a1 + amoadd.d.aq t0, t1, 0(a0) /* update memory and get old value */ + add a0, t0, t1 /* turn into new value */ ret END(_atomic_sub_64_nv) END(_atomic_dec_64_nv) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_swap_32.S b/common/lib/libc/arch/riscv/atomic/atomic_swap_32.S index ecd0c03ed4a..ab60def9ec9 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_swap_32.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_swap_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_swap_32.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_swap_32.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_swap_32) - amoswap.w.aq v0, a1, 0(a0) + amoswap.w.aq a0, a1, 0(a0) ret END(_atomic_swap_32) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_swap_64.S b/common/lib/libc/arch/riscv/atomic/atomic_swap_64.S index d6ec5be2b28..7718d8e31d7 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_swap_64.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_swap_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_swap_64.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_swap_64.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -33,7 +33,7 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_swap_64) - amoswap.d.aq v0, a1, 0(a0) + amoswap.d.aq a0, a1, 0(a0) ret END(_atomic_swap_64) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_xor_32.S b/common/lib/libc/arch/riscv/atomic/atomic_xor_32.S index 4f4e2c2c03f..aeee5f9aa4e 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_xor_32.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_xor_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_xor_32.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_xor_32.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_xor_32) - amoxor.w.aq v0, a1, 0(a0) + amoxor.w.aq a0, a1, 0(a0) ret END(_atomic_xor_32) @@ -47,8 +47,8 @@ CRT_ALIAS(__sync_fetch_and_xor_4,_atomic_xor_32) CRT_ALIAS(__atomic_fetch_xor_4,_atomic_xor_32) ENTRY_NP(_atomic_xor_32_nv) - amoxor.w.aq v0, a1, 0(a0) /* update memory and get old value */ - xor v0, v0, a1 /* turn into new value */ + amoxor.w.aq t0, a1, 0(a0) /* update memory and get old value */ + xor a0, t0, a1 /* turn into new value */ ret END(_atomic_xor_32_nv) diff --git a/common/lib/libc/arch/riscv/atomic/atomic_xor_64.S b/common/lib/libc/arch/riscv/atomic/atomic_xor_64.S index 0b4a2322831..e5c8950a30a 100644 --- a/common/lib/libc/arch/riscv/atomic/atomic_xor_64.S +++ b/common/lib/libc/arch/riscv/atomic/atomic_xor_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_xor_64.S,v 1.1 2014/09/19 17:36:24 matt Exp $ */ +/* $NetBSD: atomic_xor_64.S,v 1.2 2015/03/27 06:42:37 matt Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_xor_64) - amoxor.d.aq v0, a1, 0(a0) + amoxor.d.aq a0, a1, 0(a0) ret END(_atomic_xor_64) @@ -43,8 +43,8 @@ CRT_ALIAS(__sync_fetch_and_xor_8,_atomic_xor_64) CRT_ALIAS(__atomic_fetch_xor_8,_atomic_xor_64) ENTRY_NP(_atomic_xor_64_nv) - amoxor.d.aq v0, a1, 0(a0) /* update memory and get old value */ - xor v0, v0, a1 /* turn into new value */ + amoxor.d.aq t0, a1, 0(a0) /* update memory and get old value */ + xor a0, t0, a1 /* turn into new value */ ret END(_atomic_xor_64_nv) |
