Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 8 of 8 for LWSYNC (0.09 sec)

  1. src/internal/runtime/atomic/atomic_ppc64x.s

    //	} else
    //		return 0;
    TEXT ·Cas(SB), NOSPLIT, $0-17
    	MOVD	ptr+0(FP), R3
    	MOVWZ	old+8(FP), R4
    	MOVWZ	new+12(FP), R5
    	LWSYNC
    cas_again:
    	LWAR	(R3), R6
    	CMPW	R6, R4
    	BNE	cas_fail
    	STWCCC	R5, (R3)
    	BNE	cas_again
    	MOVD	$1, R3
    	LWSYNC
    	MOVB	R3, ret+16(FP)
    	RET
    cas_fail:
    	LWSYNC
    	MOVB	R0, ret+16(FP)
    	RET
    
    // bool	·Cas64(uint64 *ptr, uint64 old, uint64 new)
    // Atomically:
    //	if(*val == old){
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 7.5K bytes
    - Viewed (0)
  2. src/runtime/atomic_ppc64x.s

    //go:build ppc64 || ppc64le
    
    #include "textflag.h"
    
    TEXT ·publicationBarrier(SB),NOSPLIT|NOFRAME,$0-0
    	// LWSYNC is the "export" barrier recommended by Power ISA
    	// v2.07 book II, appendix B.2.2.2.
    	// LWSYNC is a load/load, load/store, and store/store barrier.
    	LWSYNC
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat Nov 06 10:24:44 UTC 2021
    - 437 bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ppc64/ssa.go

    		ssa.OpPPC64LoweredAtomicExchange64:
    		// LWSYNC
    		// LDAR/LWAR    (Rarg0), Rout
    		// STDCCC/STWCCC Rout, (Rarg0)
    		// BNE         -2(PC)
    		// ISYNC
    		ld := ppc64.ALDAR
    		st := ppc64.ASTDCCC
    		if v.Op == ssa.OpPPC64LoweredAtomicExchange32 {
    			ld = ppc64.ALWAR
    			st = ppc64.ASTWCCC
    		}
    		r0 := v.Args[0].Reg()
    		r1 := v.Args[1].Reg()
    		out := v.Reg0()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 19:59:38 UTC 2024
    - 55.4K bytes
    - Viewed (0)
  4. src/cmd/internal/obj/ppc64/anames.go

    	"FNMSUBCC",
    	"FNMSUBS",
    	"FNMSUBSCC",
    	"FRSP",
    	"FRSPCC",
    	"FSUB",
    	"FSUBCC",
    	"FSUBS",
    	"FSUBSCC",
    	"ISEL",
    	"MOVMW",
    	"LBAR",
    	"LHAR",
    	"LSW",
    	"LWAR",
    	"LWSYNC",
    	"MOVDBR",
    	"MOVWBR",
    	"MOVB",
    	"MOVBU",
    	"MOVBZ",
    	"MOVBZU",
    	"MOVH",
    	"MOVHBR",
    	"MOVHU",
    	"MOVHZ",
    	"MOVHZU",
    	"MOVW",
    	"MOVWU",
    	"MOVFL",
    	"MOVCRFS",
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 01 18:50:29 UTC 2024
    - 6.7K bytes
    - Viewed (0)
  5. src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/plan9.go

    	case PASTECC:
    		// paste. has two input registers, and an L field, unlike other 3 operand instructions.
    		return op + " " + args[0] + "," + args[1] + "," + args[2]
    	case SYNC:
    		if args[0] == "$1" {
    			return "LWSYNC"
    		}
    		return "HWSYNC"
    
    	case ISEL:
    		return "ISEL " + args[3] + "," + args[1] + "," + args[2] + "," + args[0]
    
    	// store instructions always have the memory operand at the end, no need to reorder
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 22 17:16:14 UTC 2022
    - 10.9K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/_gen/PPC64Ops.go

    		{name: "LoweredAtomicLoadPtr", argLength: 2, reg: gpload, typ: "Int64", aux: "Int64", clobberFlags: true, faultOnNilArg0: true},
    
    		// atomic add32, 64
    		// LWSYNC
    		// LDAR         (Rarg0), Rout
    		// ADD		Rarg1, Rout
    		// STDCCC       Rout, (Rarg0)
    		// BNE          -3(PC)
    		// return new sum
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 19:59:38 UTC 2024
    - 43.8K bytes
    - Viewed (0)
  7. src/cmd/vendor/golang.org/x/arch/ppc64/ppc64asm/gnu.go

    			startArg = 4
    		}
    
    	case "sync":
    		lsc := inst.Args[0].(Imm)<<4 | inst.Args[1].(Imm)
    		switch lsc {
    		case 0x00:
    			buf.WriteString("hwsync")
    			startArg = 2
    		case 0x10:
    			buf.WriteString("lwsync")
    			startArg = 2
    		default:
    			buf.WriteString(opName)
    		}
    
    	case "lbarx", "lharx", "lwarx", "ldarx":
    		// If EH == 0, omit printing EH.
    		eh := inst.Args[3].(Imm)
    		if eh == 0 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 19 23:33:33 UTC 2023
    - 12.2K bytes
    - Viewed (0)
  8. src/cmd/asm/internal/asm/testdata/ppc64.s

    	STSW R3, (R4)(R0)               // 7c60252a
    	STSW R3, (R4)                   // 7c60252a
    
    	SYNC                            // 7c0004ac
    	ISYNC                           // 4c00012c
    	LWSYNC                          // 7c2004ac
    	EIEIO                           // 7c0006ac
    	PTESYNC                         // 7c4004ac
    	TLBIE R3                        // 7c001a64
    	TLBIEL R3                       // 7c001a24
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 21:53:50 UTC 2024
    - 50.2K bytes
    - Viewed (0)
Back to top