Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 24 for is32Bit (0.5 sec)

  1. src/cmd/compile/internal/ssa/_gen/PPC64.rules

    // Arithmetic constant ops
    
    (ADD x (MOVDconst <t> [c])) && is32Bit(c) && !t.IsPtr() => (ADDconst [c] x)
    (ADDconst [c] (ADDconst [d] x)) && is32Bit(c+d) => (ADDconst [c+d] x)
    (ADDconst [0] x) => x
    (SUB x (MOVDconst [c])) && is32Bit(-c) => (ADDconst [-c] x)
    
    (ADDconst [c] (MOVDaddr [d] {sym} x)) && is32Bit(c+int64(d)) => (MOVDaddr [int32(c+int64(d))] {sym} x)
    (ADDconst [c] x:(SP)) && is32Bit(c) => (MOVDaddr [int32(c)] x) // so it is rematerializeable
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 53.2K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/rewriteARM64.go

    	// match: (ADDconst [off1] (MOVDaddr [off2] {sym} ptr))
    	// cond: is32Bit(off1+int64(off2))
    	// result: (MOVDaddr [int32(off1)+off2] {sym} ptr)
    	for {
    		off1 := auxIntToInt64(v.AuxInt)
    		if v_0.Op != OpARM64MOVDaddr {
    			break
    		}
    		off2 := auxIntToInt32(v_0.AuxInt)
    		sym := auxToSym(v_0.Aux)
    		ptr := v_0.Args[0]
    		if !(is32Bit(off1 + int64(off2))) {
    			break
    		}
    		v.reset(OpARM64MOVDaddr)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 608.6K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/rewriteRISCV64.go

    	// match: (OffPtr [off] ptr:(SP))
    	// cond: is32Bit(off)
    	// result: (MOVaddr [int32(off)] ptr)
    	for {
    		off := auxIntToInt64(v.AuxInt)
    		ptr := v_0
    		if ptr.Op != OpSP || !(is32Bit(off)) {
    			break
    		}
    		v.reset(OpRISCV64MOVaddr)
    		v.AuxInt = int32ToAuxInt(int32(off))
    		v.AddArg(ptr)
    		return true
    	}
    	// match: (OffPtr [off] ptr)
    	// cond: is32Bit(off)
    	// result: (ADDI [off] ptr)
    	for {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Mar 07 14:57:07 UTC 2024
    - 205.1K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/rewritePPC64.go

    	// match: (ADDconst [c] x:(SP))
    	// cond: is32Bit(c)
    	// result: (MOVDaddr [int32(c)] x)
    	for {
    		c := auxIntToInt64(v.AuxInt)
    		x := v_0
    		if x.Op != OpSP || !(is32Bit(c)) {
    			break
    		}
    		v.reset(OpPPC64MOVDaddr)
    		v.AuxInt = int32ToAuxInt(int32(c))
    		v.AddArg(x)
    		return true
    	}
    	// match: (ADDconst [c] (SUBFCconst [d] x))
    	// cond: is32Bit(c+d)
    	// result: (SUBFCconst [c+d] x)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 360.2K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/rewriteS390X.go

    		v.reset(OpS390XMOVDaddr)
    		v.AuxInt = int32ToAuxInt(int32(off))
    		v.AddArg(ptr)
    		return true
    	}
    	// match: (OffPtr [off] ptr)
    	// cond: is32Bit(off)
    	// result: (ADDconst [int32(off)] ptr)
    	for {
    		off := auxIntToInt64(v.AuxInt)
    		ptr := v_0
    		if !(is32Bit(off)) {
    			break
    		}
    		v.reset(OpS390XADDconst)
    		v.AuxInt = int32ToAuxInt(int32(off))
    		v.AddArg(ptr)
    		return true
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 12 18:09:26 UTC 2023
    - 395.1K bytes
    - Viewed (0)
  6. src/go/constant/value.go

    	case complexVal:
    		return x
    	}
    	return unknownVal{}
    }
    
    // ----------------------------------------------------------------------------
    // Operations
    
    // is32bit reports whether x can be represented using 32 bits.
    func is32bit(x int64) bool {
    	const s = 32
    	return -1<<(s-1) <= x && x <= 1<<(s-1)-1
    }
    
    // is63bit reports whether x can be represented using 63 bits.
    func is63bit(x int64) bool {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 19 12:02:03 UTC 2023
    - 34K bytes
    - Viewed (0)
  7. src/math/rand/v2/rand.go

    	if n == 0 {
    		panic("invalid argument to Uint64N")
    	}
    	return r.uint64n(n)
    }
    
    // uint64n is the no-bounds-checks version of Uint64N.
    func (r *Rand) uint64n(n uint64) uint64 {
    	if is32bit && uint64(uint32(n)) == n {
    		return uint64(r.uint32n(uint32(n)))
    	}
    	if n&(n-1) == 0 { // n is power of two, can mask
    		return r.Uint64() & (n - 1)
    	}
    
    	// Suppose we have a uint64 x uniform in the range [0,2⁶⁴)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 02:25:49 UTC 2024
    - 12.8K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/addressingmodes.go

    package ssa
    
    // addressingModes combines address calculations into memory operations
    // that can perform complicated addressing modes.
    func addressingModes(f *Func) {
    	isInImmediateRange := is32Bit
    	switch f.Config.arch {
    	default:
    		// Most architectures can't do this.
    		return
    	case "amd64", "386":
    	case "s390x":
    		isInImmediateRange = is20Bit
    	}
    
    	var tmp []*Value
    	for _, b := range f.Blocks {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jul 26 17:19:57 UTC 2023
    - 24.3K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssa/rewrite.go

    // isUint32PowerOfTwo reports whether uint32(n) is a power of 2.
    func isUint32PowerOfTwo(in int64) bool {
    	n := uint64(uint32(in))
    	return n > 0 && n&(n-1) == 0
    }
    
    // is32Bit reports whether n can be represented as a signed 32 bit integer.
    func is32Bit(n int64) bool {
    	return n == int64(int32(n))
    }
    
    // is16Bit reports whether n can be represented as a signed 16 bit integer.
    func is16Bit(n int64) bool {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 64.2K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssa/_gen/Wasm.rules

    (I64AddConst [off] (LoweredAddr {sym} [off2] base)) && isU32Bit(off+int64(off2)) =>
    	(LoweredAddr {sym} [int32(off)+off2] base)
    (I64AddConst [off] x:(SP)) && isU32Bit(off) => (LoweredAddr [int32(off)] x) // so it is rematerializeable
    
    // transforming readonly globals into constants
    (I64Load [off] (LoweredAddr {sym} [off2] (SB)) _) && symIsRO(sym) && isU32Bit(off+int64(off2)) => (I64Const [int64(read64(sym, off+int64(off2), config.ctxt.Arch.ByteOrder))])
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Feb 17 03:56:57 UTC 2023
    - 16.9K bytes
    - Viewed (0)
Back to top