Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 37 for Or64 (0.05 sec)

  1. src/internal/runtime/atomic/atomic_andor_generic.go

    // license that can be found in the LICENSE file.
    
    //go:build arm || wasm
    
    // Export some functions via linkname to assembly in sync/atomic.
    //
    //go:linkname And32
    //go:linkname Or32
    //go:linkname And64
    //go:linkname Or64
    //go:linkname Anduintptr
    //go:linkname Oruintptr
    
    package atomic
    
    import _ "unsafe" // For linkname
    
    //go:nosplit
    func And32(ptr *uint32, val uint32) uint32 {
    	for {
    		old := *ptr
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 20:08:37 UTC 2024
    - 1.2K bytes
    - Viewed (0)
  2. test/armimm.go

    	}
    	if want, got = a-c64s, sub64s(a); got != want {
    		panic(fmt.Sprintf("sub64s(%x) = %x, want %x", a, got, want))
    	}
    	if want, got = a|c64a, or64(a); got != want {
    		panic(fmt.Sprintf("or64(%x) = %x, want %x", a, got, want))
    	}
    	if want, got = a^c64a, xor64(a); got != want {
    		panic(fmt.Sprintf("xor64(%x) = %x, want %x", a, got, want))
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 11 13:53:54 UTC 2017
    - 3.9K bytes
    - Viewed (0)
  3. src/internal/runtime/atomic/atomic_andor_test.go

    	var x [128]uint64 // give x its own cache line
    	sink = &x
    	for i := 0; i < b.N; i++ {
    		atomic.Or64(&x[63], uint64(i))
    	}
    }
    
    func BenchmarkOr64Parallel(b *testing.B) {
    	var x [128]uint64 // give x its own cache line
    	sink = &x
    	b.RunParallel(func(pb *testing.PB) {
    		i := uint64(0)
    		for pb.Next() {
    			atomic.Or64(&x[63], i)
    			i++
    		}
    	})
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat Apr 27 20:49:32 UTC 2024
    - 5.2K bytes
    - Viewed (0)
  4. src/internal/runtime/atomic/atomic_amd64.s

    	MOVL	val+8(FP), CX
    casloop:
    	MOVL 	CX, DX
    	MOVL	(BX), AX
    	ANDL	AX, DX
    	LOCK
    	CMPXCHGL	DX, (BX)
    	JNZ casloop
    	MOVL 	AX, ret+16(FP)
    	RET
    
    // func Or64(addr *uint64, v uint64) old uint64
    TEXT ·Or64(SB), NOSPLIT, $0-24
    	MOVQ	ptr+0(FP), BX
    	MOVQ	val+8(FP), CX
    casloop:
    	MOVQ 	CX, DX
    	MOVQ	(BX), AX
    	ORQ	AX, DX
    	LOCK
    	CMPXCHGQ	DX, (BX)
    	JNZ casloop
    	MOVQ 	AX, ret+16(FP)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 5.2K bytes
    - Viewed (0)
  5. src/internal/runtime/atomic/atomic_mipsx.go

    //go:build mips || mipsle
    
    // Export some functions via linkname to assembly in sync/atomic.
    //
    //go:linkname Xadd64
    //go:linkname Xchg64
    //go:linkname Cas64
    //go:linkname Load64
    //go:linkname Store64
    //go:linkname Or64
    //go:linkname And64
    
    package atomic
    
    import (
    	"internal/cpu"
    	"unsafe"
    )
    
    // TODO implement lock striping
    var lock struct {
    	state uint32
    	pad   [cpu.CacheLinePadSize - 4]byte
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 20:08:37 UTC 2024
    - 3.2K bytes
    - Viewed (0)
  6. src/internal/runtime/atomic/atomic_loong64.s

    	MOVV	ptr+0(FP), R4
    	MOVW	val+8(FP), R5
    	DBAR
    	LL	(R4), R6
    	AND	R5, R6, R7
    	SC	R7, (R4)
    	BEQ	R7, -4(PC)
    	DBAR
    	MOVW R6, ret+16(FP)
    	RET
    
    // func Or64(addr *uint64, v uint64) old uint64
    TEXT ·Or64(SB), NOSPLIT, $0-24
    	MOVV	ptr+0(FP), R4
    	MOVV	val+8(FP), R5
    	DBAR
    	LLV	(R4), R6
    	OR	R5, R6, R7
    	SCV	R7, (R4)
    	BEQ	R7, -4(PC)
    	DBAR
    	MOVV R6, ret+16(FP)
    	RET
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 6.3K bytes
    - Viewed (0)
  7. src/internal/runtime/atomic/atomic_mips64x.s

    	MOVV	ptr+0(FP), R1
    	MOVW	val+8(FP), R2
    
    	SYNC
    	LL	(R1), R3
    	AND	R2, R3, R4
    	SC	R4, (R1)
    	BEQ	R4, -3(PC)
    	SYNC
    	MOVW	R3, ret+16(FP)
    	RET
    
    // func Or64(addr *uint64, v uint64) old uint64
    TEXT ·Or64(SB), NOSPLIT, $0-24
    	MOVV	ptr+0(FP), R1
    	MOVV	val+8(FP), R2
    
    	SYNC
    	LLV	(R1), R3
    	OR	R2, R3, R4
    	SCV	R4, (R1)
    	BEQ	R4, -3(PC)
    	SYNC
    	MOVV	R3, ret+16(FP)
    	RET
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat May 11 21:29:34 UTC 2024
    - 7.2K bytes
    - Viewed (0)
  8. src/internal/runtime/atomic/atomic_mips64x.go

    //go:noescape
    func And32(ptr *uint32, val uint32) uint32
    
    //go:noescape
    func Or32(ptr *uint32, val uint32) uint32
    
    //go:noescape
    func And64(ptr *uint64, val uint64) uint64
    
    //go:noescape
    func Or64(ptr *uint64, val uint64) uint64
    
    //go:noescape
    func Anduintptr(ptr *uintptr, val uintptr) uintptr
    
    //go:noescape
    func Oruintptr(ptr *uintptr, val uintptr) uintptr
    
    //go:noescape
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat May 11 21:29:34 UTC 2024
    - 2.1K bytes
    - Viewed (0)
  9. src/internal/runtime/atomic/atomic_s390x.s

    	MOVW	val+8(FP), R5
    	MOVW	(R4), R3
    repeat:
    	AND	R5, R3, R6
    	CS	R3, R6, (R4) // if R3==(R4) then (R4)=R6 else R3=(R4)
    	BNE	repeat
    	MOVW	R3, ret+16(FP)
    	RET
    
    // func Or64(addr *uint64, v uint64) old uint64
    TEXT ·Or64(SB), NOSPLIT, $0-24
    	MOVD	ptr+0(FP), R4
    	MOVD	val+8(FP), R5
    	MOVD	(R4), R3
    repeat:
    	OR	R5, R3, R6
    	CSG	R3, R6, (R4) // if R3==(R4) then (R4)=R6 else R3=(R4)
    	BNE	repeat
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 7.1K bytes
    - Viewed (0)
  10. src/internal/runtime/atomic/atomic_s390x.go

    //go:noescape
    func And32(ptr *uint32, val uint32) uint32
    
    //go:noescape
    func Or32(ptr *uint32, val uint32) uint32
    
    //go:noescape
    func And64(ptr *uint64, val uint64) uint64
    
    //go:noescape
    func Or64(ptr *uint64, val uint64) uint64
    
    //go:noescape
    func Anduintptr(ptr *uintptr, val uintptr) uintptr
    
    //go:noescape
    func Oruintptr(ptr *uintptr, val uintptr) uintptr
    
    //go:noescape
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 2.5K bytes
    - Viewed (0)
Back to top