Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 10 for APCALIGN (0.13 sec)

  1. src/cmd/internal/obj/loong64/asm.go

    			// because pc will be adjusted if padding happens.
    			if p.Mark&branchLoopHead != 0 && pc&(loopAlign-1) != 0 &&
    				!(prev.As == obj.APCALIGN && prev.From.Offset >= loopAlign) {
    				q := c.newprog()
    				prev.Link = q
    				q.Link = p
    				q.Pc = pc
    				q.As = obj.APCALIGN
    				q.From.Type = obj.TYPE_CONST
    				q.From.Offset = loopAlign
    				// Don't associate the synthesized PCALIGN with
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 02:04:54 UTC 2024
    - 61.8K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ppc64/ssa.go

    			p.From.Reg = ppc64.REGTMP
    			p.To.Type = obj.TYPE_REG
    			p.To.Reg = ppc64.REG_CTR
    
    			// Don't generate padding for
    			// loops with few iterations.
    			if ctr > 3 {
    				p = s.Prog(obj.APCALIGN)
    				p.From.Type = obj.TYPE_CONST
    				p.From.Offset = 16
    			}
    
    			// generate 4 STXVs to zero 64 bytes
    			var top *obj.Prog
    
    			p = s.Prog(ppc64.ASTXV)
    			p.From.Type = obj.TYPE_REG
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 19:59:38 UTC 2024
    - 55.4K bytes
    - Viewed (0)
  3. src/cmd/internal/obj/util.go

    		return 0
    	}
    	pc64 := int64(pc)
    	lob := pc64 & (a - 1) // Low Order Bits -- if not zero, then not aligned
    	if p.As == APCALIGN {
    		if lob != 0 {
    			return int(a - lob)
    		}
    		return 0
    	}
    	// emit as many as s bytes of padding to obtain alignment
    	s := p.To.Offset
    	if s < 0 || s >= a {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 15:44:14 UTC 2024
    - 17.5K bytes
    - Viewed (0)
  4. src/cmd/internal/obj/riscv/obj.go

    func setPCs(p *obj.Prog, pc int64) int64 {
    	for ; p != nil; p = p.Link {
    		p.Pc = pc
    		for _, ins := range instructionsForProg(p) {
    			pc += int64(ins.length())
    		}
    
    		if p.As == obj.APCALIGN {
    			alignedValue := p.From.Offset
    			v := pcAlignPadLength(pc, alignedValue)
    			pc += int64(v)
    		}
    	}
    	return pc
    }
    
    // stackOffset updates Addr offsets based on the current stack size.
    //
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sun Apr 07 03:32:27 UTC 2024
    - 77K bytes
    - Viewed (0)
  5. src/cmd/asm/internal/asm/asm.go

    		return
    	}
    
    	// Operand 0 must be an immediate constant.
    	key := p.address(operands[0])
    	if !p.validImmediate("PCALIGN", &key) {
    		return
    	}
    
    	prog := &obj.Prog{
    		Ctxt: p.ctxt,
    		As:   obj.APCALIGN,
    		From: key,
    	}
    	p.append(prog, "", true)
    }
    
    // asmFuncData assembles a FUNCDATA pseudo-op.
    // FUNCDATA $1, funcdata<>+4(SB)
    func (p *Parser) asmFuncData(operands [][]lex.Token) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 02:04:54 UTC 2024
    - 25.5K bytes
    - Viewed (0)
  6. src/cmd/internal/obj/ppc64/asm9.go

    	{as: obj.ANOP, a1: C_FREG, type_: 0, size: 0},
    	{as: obj.ADUFFZERO, a6: C_BRA, type_: 11, size: 4}, // same as ABR/ABL
    	{as: obj.ADUFFCOPY, a6: C_BRA, type_: 11, size: 4}, // same as ABR/ABL
    	{as: obj.APCALIGN, a1: C_32CON, type_: 0, size: 0}, // align code
    }
    
    // These are opcodes above which may generate different sequences depending on whether prefix opcode support
    // is available
    type PrefixableOptab struct {
    	Optab
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 13:55:28 UTC 2024
    - 156.1K bytes
    - Viewed (0)
  7. src/cmd/internal/obj/link.go

    type As int16
    
    // These are the portable opcodes.
    const (
    	AXXX As = iota
    	ACALL
    	ADUFFCOPY
    	ADUFFZERO
    	AEND
    	AFUNCDATA
    	AJMP
    	ANOP
    	APCALIGN
    	APCALIGNMAX // currently x86, amd64 and arm64
    	APCDATA
    	ARET
    	AGETCALLERPC
    	ATEXT
    	AUNDEF
    	A_ARCHSPECIFIC
    )
    
    // Each architecture is allotted a distinct subspace of opcode values
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 33.1K bytes
    - Viewed (0)
  8. src/cmd/internal/obj/arm64/asm7.go

    	{obj.ADUFFZERO, C_NONE, C_NONE, C_NONE, C_SBRA, C_NONE, 5, 4, 0, 0, 0},   // same as AB/ABL
    	{obj.ADUFFCOPY, C_NONE, C_NONE, C_NONE, C_SBRA, C_NONE, 5, 4, 0, 0, 0},   // same as AB/ABL
    	{obj.APCALIGN, C_LCON, C_NONE, C_NONE, C_NONE, C_NONE, 0, 0, 0, 0, 0},    // align code
    	{obj.APCALIGNMAX, C_LCON, C_NONE, C_NONE, C_LCON, C_NONE, 0, 0, 0, 0, 0}, // align code, conditional
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 15:44:14 UTC 2024
    - 201.1K bytes
    - Viewed (0)
  9. src/cmd/internal/obj/x86/asm6.go

    		s.P = s.P[:0]
    		c = 0
    		var pPrev *obj.Prog
    		nops = nops[:0]
    		for p := s.Func().Text; p != nil; p = p.Link {
    			c0 := c
    			c = pjc.padJump(ctxt, s, p, c)
    
    			if p.As == obj.APCALIGN || p.As == obj.APCALIGNMAX {
    				v := obj.AlignmentPadding(c, p, ctxt, s)
    				if v > 0 {
    					s.Grow(int64(c) + int64(v))
    					fillnop(s.P[c:], int(v))
    				}
    				p.Pc = int64(c)
    				c += int32(v)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 15:44:14 UTC 2024
    - 146.9K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssagen/ssa.go

    		// inline marks.
    		for p := s.pp.Text; p != nil; p = p.Link {
    			if p.As == obj.ANOP || p.As == obj.AFUNCDATA || p.As == obj.APCDATA || p.As == obj.ATEXT ||
    				p.As == obj.APCALIGN || p.As == obj.APCALIGNMAX || Arch.LinkArch.Family == sys.Wasm {
    				// Don't use 0-sized instructions as inline marks, because we need
    				// to identify inline mark instructions by pc offset.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 284.9K bytes
    - Viewed (0)
Back to top