Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 8 of 8 for TYPE_SHIFT (0.15 sec)

  1. src/cmd/internal/obj/addrtype_string.go

    	_ = x[TYPE_NONE-0]
    	_ = x[TYPE_BRANCH-1]
    	_ = x[TYPE_TEXTSIZE-2]
    	_ = x[TYPE_MEM-3]
    	_ = x[TYPE_CONST-4]
    	_ = x[TYPE_FCONST-5]
    	_ = x[TYPE_SCONST-6]
    	_ = x[TYPE_REG-7]
    	_ = x[TYPE_ADDR-8]
    	_ = x[TYPE_SHIFT-9]
    	_ = x[TYPE_REGREG-10]
    	_ = x[TYPE_REGREG2-11]
    	_ = x[TYPE_INDIR-12]
    	_ = x[TYPE_REGLIST-13]
    	_ = x[TYPE_SPECIAL-14]
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 01 03:16:26 UTC 2022
    - 1.1K bytes
    - Viewed (0)
  2. src/cmd/internal/obj/pass.go

    		if a.Val != nil {
    			break
    		}
    		if a.Reg == 0 && a.Index == 0 && a.Scale == 0 && a.Name == 0 && a.Sym == nil {
    			ctxt.Diag("argument is TYPE_ADDR, should be TYPE_CONST, in %v", p)
    		}
    		return
    
    	case TYPE_SHIFT, TYPE_REGREG:
    		if a.Index != 0 || a.Scale != 0 || a.Name != 0 || a.Sym != nil || a.Val != nil {
    			break
    		}
    		return
    
    	case TYPE_INDIR:
    		// Expect sym and name to be set, nothing else.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 24 01:26:58 UTC 2023
    - 5K bytes
    - Viewed (0)
  3. src/cmd/internal/obj/util.go

    			str += ".0"
    		}
    		fmt.Fprintf(w, "$(%s)", str)
    
    	case TYPE_SCONST:
    		fmt.Fprintf(w, "$%q", a.Val.(string))
    
    	case TYPE_ADDR:
    		io.WriteString(w, "$")
    		a.writeNameTo(w, abiDetail)
    
    	case TYPE_SHIFT:
    		v := int(a.Offset)
    		ops := "<<>>->@>"
    		switch buildcfg.GOARCH {
    		case "arm":
    			op := ops[((v>>5)&3)<<1:]
    			if v&(1<<4) != 0 {
    				fmt.Fprintf(w, "R%d%c%cR%d", v&15, op[0], op[1], (v>>8)&15)
    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/link.go

    //
    //	reg<<shift, reg>>shift, reg->shift, reg@>shift
    //		Shifted register value, for ARM and ARM64.
    //		In this form, reg must be a register and shift can be a register or an integer constant.
    //		Encoding:
    //			type = TYPE_SHIFT
    //		On ARM:
    //			offset = (reg&15) | shifttype<<5 | count
    //			shifttype = 0, 1, 2, 3 for <<, >>, ->, @>
    //			count = (reg&15)<<8 | 1<<4 for a register shift count, (n&31)<<7 for an integer constant.
    //		On ARM64:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 33.1K bytes
    - Viewed (0)
  5. src/cmd/internal/obj/arm64/obj7.go

    					if !ctxt.IsAsm {
    						ctxt.Diag("invalid auto-SPWRITE in non-assembly")
    						ctxt.DiagFlush()
    						log.Fatalf("bad SPWRITE")
    					}
    				}
    			}
    		}
    		if p.From.Type == obj.TYPE_SHIFT && (p.To.Reg == REG_RSP || p.Reg == REG_RSP) {
    			offset := p.From.Offset
    			op := offset & (3 << 22)
    			if op != SHIFT_LL {
    				ctxt.Diag("illegal combination: %v", p)
    			}
    			r := (offset >> 16) & 31
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Nov 08 05:46:32 UTC 2023
    - 28.4K bytes
    - Viewed (0)
  6. src/cmd/asm/internal/asm/parse.go

    		return
    	}
    
    	// Register: R1
    	if tok.ScanToken == scanner.Ident && p.atStartOfRegister(name) {
    		if p.atRegisterShift() {
    			// ARM shifted register such as R1<<R2 or R1>>2.
    			a.Type = obj.TYPE_SHIFT
    			a.Offset = p.registerShift(tok.String(), prefix)
    			if p.peek() == '(' {
    				// Can only be a literal register here.
    				p.next()
    				tok := p.next()
    				name := tok.String()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Feb 21 14:34:57 UTC 2024
    - 36.9K bytes
    - Viewed (0)
  7. src/cmd/internal/obj/arm/asm5.go

    			return C_SPR
    		}
    		return C_GOK
    
    	case obj.TYPE_REGREG:
    		return C_REGREG
    
    	case obj.TYPE_REGREG2:
    		return C_REGREG2
    
    	case obj.TYPE_REGLIST:
    		return C_REGLIST
    
    	case obj.TYPE_SHIFT:
    		if a.Reg == 0 {
    			// register shift R>>i
    			return C_SHIFT
    		} else {
    			// memory address with shifted offset R>>i(R)
    			return C_SHIFTADDR
    		}
    
    	case obj.TYPE_MEM:
    		switch a.Name {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Dec 15 20:51:01 UTC 2023
    - 79.4K bytes
    - Viewed (0)
  8. src/cmd/internal/obj/arm64/asm7.go

    	switch a.Type {
    	case obj.TYPE_NONE:
    		return C_NONE
    
    	case obj.TYPE_REG:
    		return rclass(a.Reg)
    
    	case obj.TYPE_REGREG:
    		return C_PAIR
    
    	case obj.TYPE_SHIFT:
    		return C_SHIFT
    
    	case obj.TYPE_REGLIST:
    		return C_LIST
    
    	case obj.TYPE_MEM:
    		// The base register should be an integer register.
    		if int16(REG_F0) <= a.Reg && a.Reg <= int16(REG_V31) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 15:44:14 UTC 2024
    - 201.1K bytes
    - Viewed (0)
Back to top