Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 20 for clobbers (0.15 sec)

  1. src/cmd/compile/internal/ssa/_gen/S390XOps.go

    		// It saves all GP registers if necessary,
    		// but clobbers R14 (LR) because it's a call,
    		// and also clobbers R1 as the PLT stub does.
    		// Returns a pointer to a write barrier buffer in R9.
    		{name: "LoweredWB", argLength: 1, reg: regInfo{clobbers: (callerSave &^ gpg) | buildReg("R14") | r1, outputs: []regMask{r9}}, clobberFlags: true, aux: "Int64"},
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Feb 24 00:21:13 UTC 2023
    - 52.5K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/_gen/ARM64Ops.go

    		// It saves all GP registers if necessary,
    		// but clobbers R30 (LR) because it's a call.
    		// R16 and R17 may be clobbered by linker trampoline.
    		// Returns a pointer to a write barrier buffer in R25.
    		{name: "LoweredWB", argLength: 1, reg: regInfo{clobbers: (callerSave &^ gpg) | buildReg("R16 R17 R30"), outputs: []regMask{buildReg("R25")}}, clobberFlags: true, aux: "Int64"},
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 58.8K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/regalloc.go

    			}
    
    			// Dump any registers which will be clobbered
    			if s.doClobber && v.Op.IsCall() {
    				// clobber registers that are marked as clobber in regmask, but
    				// don't clobber inputs.
    				s.clobberRegs(regspec.clobbers &^ s.tmpused &^ s.nospill)
    			}
    			s.freeRegs(regspec.clobbers)
    			s.tmpused |= regspec.clobbers
    
    			// Pick registers for outputs.
    			{
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 21 17:49:56 UTC 2023
    - 87.2K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/debug.go

    	}
    
    	// Handle any register clobbering. Call operations, for example,
    	// clobber all registers even though they don't explicitly write to
    	// them.
    	clobbers := uint64(opcodeTable[v.Op].reg.clobbers)
    	for {
    		if clobbers == 0 {
    			break
    		}
    		reg := uint8(bits.TrailingZeros64(clobbers))
    		clobbers &^= 1 << reg
    
    		for _, slot := range locs.registers[reg] {
    			if state.loggingLevel > 1 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 58.4K bytes
    - Viewed (0)
  5. src/cmd/internal/obj/mips/asm0.go

    }
    
    // isUnsafePoint returns whether p is an unsafe point.
    func (c *ctxt0) isUnsafePoint(p *obj.Prog) bool {
    	// If p explicitly uses REGTMP, it's unsafe to preempt, because the
    	// preemption sequence clobbers REGTMP.
    	return p.From.Reg == REGTMP || p.To.Reg == REGTMP || p.Reg == REGTMP
    }
    
    // isRestartable returns whether p is a multi-instruction sequence that,
    // if preempted, can be restarted.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 16 17:46:09 UTC 2024
    - 53.6K bytes
    - Viewed (0)
  6. src/crypto/internal/nistec/p256_asm_ppc64le.s

    	VOR    T1, T1, U1H           // SAVE: U1H
    
    	// SUB(H<H-T)            // H  = H-U1
    	p256SubInternal(HH,HL,HH,HL,T1,T0)
    
    	// if H == 0 or H^P == 0 then ret=1 else ret=0
    	// clobbers T1H and T1L
    	MOVD       $1, TRUE
    	VSPLTISB   $0, ZER
    	VOR        HL, HH, T1H
    	VCMPEQUDCC ZER, T1H, T1H
    
    	// 26 = CR6 NE
    	ISEL       $26, R0, TRUE, RES1
    	VXOR       HL, PL, T1L         // SAVE: T1L
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:29:44 UTC 2024
    - 56.5K bytes
    - Viewed (0)
  7. src/crypto/internal/nistec/p256_asm_s390x.s

    	CALL p256MulInternal<>(SB)
    	VLR  T0, U1L
    	VLR  T1, U1H
    
    	// SUB(H<H-T)            // H  = H-U1
    	p256SubInternal(HH,HL,HH,HL,T1,T0)
    
    	// if H == 0 or H^P == 0 then ret=1 else ret=0
    	// clobbers T1H and T1L
    	MOVD   $0, ISZERO
    	MOVD   $1, TRUE
    	VZERO  ZER
    	VO     HL, HH, T1H
    	VCEQGS ZER, T1H, T1H
    	MOVDEQ TRUE, ISZERO
    	VX     HL, PL, T1L
    	VX     HH, PH, T1H
    	VO     T1L, T1H, T1H
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:29:44 UTC 2024
    - 55.4K bytes
    - Viewed (0)
  8. src/runtime/asm_amd64.s

    // gcWriteBarrier does NOT follow the Go ABI. It accepts the
    // number of bytes of buffer needed in R11, and returns a pointer
    // to the buffer space in R11.
    // It clobbers FLAGS. It does not clobber any general-purpose registers,
    // but may clobber others (e.g., SSE registers).
    // Typical use would be, when doing *(CX+88) = AX
    //     CMPL    $0, runtime.writeBarrier(SB)
    //     JEQ     dowrite
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sat May 11 20:38:24 UTC 2024
    - 60.4K bytes
    - Viewed (0)
  9. src/cmd/internal/obj/loong64/asm.go

    }
    
    // isUnsafePoint returns whether p is an unsafe point.
    func (c *ctxt0) isUnsafePoint(p *obj.Prog) bool {
    	// If p explicitly uses REGTMP, it's unsafe to preempt, because the
    	// preemption sequence clobbers REGTMP.
    	return p.From.Reg == REGTMP || p.To.Reg == REGTMP || p.Reg == REGTMP
    }
    
    // isRestartable returns whether p is a multi-instruction sequence that,
    // if preempted, can be restarted.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 02:04:54 UTC 2024
    - 61.8K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssa/_gen/AMD64.rules

    (MOVBQZX x:(MOVBload [off] {sym} ptr mem)) && x.Uses == 1 && clobber(x) => @x.Block (MOVBload <v.Type> [off] {sym} ptr mem)
    (MOVBQZX x:(MOVWload [off] {sym} ptr mem)) && x.Uses == 1 && clobber(x) => @x.Block (MOVBload <v.Type> [off] {sym} ptr mem)
    (MOVBQZX x:(MOVLload [off] {sym} ptr mem)) && x.Uses == 1 && clobber(x) => @x.Block (MOVBload <v.Type> [off] {sym} ptr mem)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 12 19:38:41 UTC 2024
    - 93.9K bytes
    - Viewed (0)
Back to top