Module Name: src Committed By: skrll Date: Wed Jan 29 11:03:04 UTC 2014
Modified Files: src/common/lib/libc/arch/hppa/atomic: Makefile.inc atomic_cas_up.S Log Message: Provide _atomic_cas_8_up and _atomic_cas_16_up functions To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/common/lib/libc/arch/hppa/atomic/Makefile.inc cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/hppa/atomic/atomic_cas_up.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/common/lib/libc/arch/hppa/atomic/Makefile.inc diff -u src/common/lib/libc/arch/hppa/atomic/Makefile.inc:1.8 src/common/lib/libc/arch/hppa/atomic/Makefile.inc:1.9 --- src/common/lib/libc/arch/hppa/atomic/Makefile.inc:1.8 Mon Jan 17 07:29:17 2011 +++ src/common/lib/libc/arch/hppa/atomic/Makefile.inc Wed Jan 29 11:03:04 2014 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.8 2011/01/17 07:29:17 skrll Exp $ +# $NetBSD: Makefile.inc,v 1.9 2014/01/29 11:03:04 skrll Exp $ .if defined(LIB) @@ -17,7 +17,8 @@ SRCS+= atomic_add_32_cas.c atomic_add_32 SRCS+= atomic_init_testset.c SRCS+= atomic_cas_up.S CPPFLAGS+= -D__HAVE_ASM_ATOMIC_CAS_UP - +CPPFLAGS+= -D__HAVE_ASM_ATOMIC_CAS_16_UP +CPPFLAGS+= -D__HAVE_ASM_ATOMIC_CAS_8_UP . endif .endif Index: src/common/lib/libc/arch/hppa/atomic/atomic_cas_up.S diff -u src/common/lib/libc/arch/hppa/atomic/atomic_cas_up.S:1.2 src/common/lib/libc/arch/hppa/atomic/atomic_cas_up.S:1.3 --- src/common/lib/libc/arch/hppa/atomic/atomic_cas_up.S:1.2 Sun Jan 16 12:07:26 2011 +++ src/common/lib/libc/arch/hppa/atomic/atomic_cas_up.S Wed Jan 29 11:03:04 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_cas_up.S,v 1.2 2011/01/16 12:07:26 skrll Exp $ */ +/* $NetBSD: atomic_cas_up.S,v 1.3 2014/01/29 11:03:04 skrll Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -44,3 +44,27 @@ RAS_END_ASM_HIDDEN(_atomic_cas) bv,n %r0(%rp) EXIT(_atomic_cas_up) + +LEAF_ENTRY_NOPROFILE(_atomic_cas_16_up) + .hidden _C_LABEL(_atomic_cas_16_up) + +RAS_START_ASM_HIDDEN(_atomic_cas_16) + ldh 0(%arg0),%ret0 + comb,<>,n %arg1, %ret0, 1f + sth %arg2, 0(%arg0) +RAS_END_ASM_HIDDEN(_atomic_cas_16) +1: + bv,n %r0(%rp) +EXIT(_atomic_cas_16_up) + +LEAF_ENTRY_NOPROFILE(_atomic_cas_8_up) + .hidden _C_LABEL(_atomic_cas_8_up) + +RAS_START_ASM_HIDDEN(_atomic_cas_8) + ldb 0(%arg0),%ret0 + comb,<>,n %arg1, %ret0, 1f + stb %arg2, 0(%arg0) +RAS_END_ASM_HIDDEN(_atomic_cas_8) +1: + bv,n %r0(%rp) +EXIT(_atomic_cas_8_up)