Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 28 for RegSize (0.14 sec)

  1. src/cmd/compile/internal/ssa/export_test.go

    func (d TestFrontend) Func() *ir.Func {
    	return d.f
    }
    
    var testTypes Types
    
    func init() {
    	// TODO(mdempsky): Push into types.InitUniverse or typecheck.InitUniverse.
    	types.PtrSize = 8
    	types.RegSize = 8
    	types.MaxWidth = 1 << 50
    
    	base.Ctxt = &obj.Link{Arch: &obj.LinkArch{Arch: &sys.Arch{Alignment: 1, CanMergeLoads: true}}}
    	typecheck.InitUniverse()
    	testTypes.SetTypPtrs()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 20 21:19:39 UTC 2024
    - 3.2K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/memcombine.go

    		for _, v := range order {
    			if v.Op != OpStore { // already rewritten
    				continue
    			}
    
    			size := v.Aux.(*types.Type).Size()
    			if size >= f.Config.RegSize || size == 0 {
    				continue
    			}
    
    			for n := f.Config.RegSize / size; n > 1; n /= 2 {
    				if combineStores(v, n) {
    					continue
    				}
    			}
    		}
    	}
    }
    
    // Try to combine the n stores ending in root.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Mar 21 19:45:41 UTC 2024
    - 18.4K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssagen/pgen.go

    	default:
    		base.FatalfAt(n.Pos(), "%v has unexpected Class %v", n, n.Class)
    		return false
    	}
    }
    
    func (s *ssafn) AllocFrame(f *ssa.Func) {
    	s.stksize = 0
    	s.stkptrsize = 0
    	s.stkalign = int64(types.RegSize)
    	fn := s.curfn
    
    	// Mark the PAUTO's unused.
    	for _, ln := range fn.Dcl {
    		if ln.OpenDeferSlot() {
    			// Open-coded defer slots have indices that were assigned
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 15:44:14 UTC 2024
    - 13.1K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/_gen/generic.rules

    (Div16u x (Const16 [c])) && umagicOK16(c) && config.RegSize == 8 =>
      (Trunc64to16
        (Rsh64Ux64 <typ.UInt64>
          (Mul64 <typ.UInt64>
            (Const64 <typ.UInt64> [int64(1<<16+umagic16(c).m)])
            (ZeroExt16to64 x))
          (Const64 <typ.UInt64> [16+umagic16(c).s])))
    
    // For 16-bit divides on 32-bit machines
    (Div16u x (Const16 [c])) && umagicOK16(c) && config.RegSize == 4 && umagic16(c).m&1 == 0 =>
      (Trunc32to16
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 16 22:21:05 UTC 2024
    - 135.3K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/test/abiutils_test.go

    	base.Ctxt.DiagFlush = base.FlushErrors
    	base.Ctxt.Bso = bufio.NewWriter(os.Stdout)
    	types.LocalPkg = types.NewPkg("p", "local")
    	types.LocalPkg.Prefix = "p"
    	types.PtrSize = ssagen.Arch.LinkArch.PtrSize
    	types.RegSize = ssagen.Arch.LinkArch.RegSize
    	typecheck.InitUniverse()
    	os.Exit(m.Run())
    }
    
    func TestABIUtilsBasic1(t *testing.T) {
    
    	// func(x int32) int32
    	i32 := types.Types[types.TINT32]
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Oct 04 15:11:40 UTC 2023
    - 14.2K bytes
    - Viewed (0)
  6. src/cmd/link/internal/ld/stackcheck.go

    		height:    make(map[loader.Sym]int16, len(ctxt.Textp)),
    	}
    	// Compute stack effect of a CALL operation. 0 on LR machines.
    	// 1 register pushed on non-LR machines.
    	if !ctxt.Arch.HasLR {
    		sc.callSize = ctxt.Arch.RegSize
    	}
    
    	if graph {
    		// We're going to record the call graph.
    		sc.graph = make(map[loader.Sym][]stackCheckEdge)
    	}
    
    	return sc
    }
    
    func (sc *stackCheck) symName(sym loader.Sym) string {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 24 16:49:08 UTC 2023
    - 11.9K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/branchelim.go

    			!(v.Args[1].isGenericIntConst() && v.Args[1].AuxInt == 0) {
    			return false
    		}
    	}
    	// For now, stick to simple scalars that fit in registers
    	switch {
    	case v.Type.Size() > v.Block.Func.Config.RegSize:
    		return false
    	case v.Type.IsPtrShaped():
    		return true
    	case v.Type.IsInteger():
    		if arch == "amd64" && v.Type.Size() < 2 {
    			// amd64 doesn't support CMOV with byte registers
    			return false
    		}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Nov 30 17:46:51 UTC 2022
    - 12.7K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssagen/abi.go

    	}
    
    	ir.InitLSym(fn, true)
    
    	setupWasmABI(fn)
    
    	pp := objw.NewProgs(fn, 0)
    	defer pp.Free()
    	pp.Text.To.Type = obj.TYPE_TEXTSIZE
    	pp.Text.To.Val = int32(types.RoundUp(fn.Type().ArgWidth(), int64(types.RegSize)))
    	// Wrapper functions never need their own stack frame
    	pp.Text.To.Offset = 0
    	pp.Flush()
    
    	return true
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 19:57:43 UTC 2024
    - 13.8K bytes
    - Viewed (0)
  9. src/cmd/internal/obj/x86/obj6.go

    		p = obj.Appendp(p, newprog)
    
    		p.As = AMOVQ
    		p.From.Type = obj.TYPE_REG
    		p.From.Reg = REG_SP
    		p.To.Type = obj.TYPE_REG
    		p.To.Reg = REG_BP
    	}
    
    	if autoffset%int32(ctxt.Arch.RegSize) != 0 {
    		ctxt.Diag("unaligned stack size %d", autoffset)
    	}
    
    	// localoffset is autoffset discounting the frame pointer,
    	// which has already been allocated in the stack.
    	localoffset := autoffset - int32(bpsize)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 08 18:36:45 UTC 2023
    - 40.9K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssa/writebarrier.go

    		}
    		return nil, false
    	}
    	if v.Args[0].Op != OpOffPtr {
    		return nil, false
    	}
    	if v.Args[0].Args[0].Op != OpSP {
    		return nil, false
    	}
    	if v.Args[0].AuxInt != c.ctxt.Arch.FixedFrameSize+c.RegSize { // offset of return value
    		return nil, false
    	}
    	return mem, true
    }
    
    // IsSanitizerSafeAddr reports whether v is known to be an address
    // that doesn't need instrumentation.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 08 19:09:14 UTC 2023
    - 23.5K bytes
    - Viewed (0)
Back to top