Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 20 for Prog64 (0.16 sec)

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

    	// on the tour from p1 to p2.  We've precomputed minimum
    	// depth blocks for powers-of-two subsequences of the tour.
    	// Combine the right two precomputed values to get the answer.
    	logS := uint(log64(int64(p2 - p1)))
    	bid1 := lca.rangeMin[logS][p1]
    	bid2 := lca.rangeMin[logS][p2-1<<logS+1]
    	if lca.blocks[bid1].depth < lca.blocks[bid2].depth {
    		return lca.blocks[bid1].b
    	}
    	return lca.blocks[bid2].b
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 30 21:52:15 UTC 2023
    - 3.8K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/_gen/AMD64.rules

    ((NE|EQ) (TESTQconst [c] x)) && isUint64PowerOfTwo(int64(c))
        => ((ULT|UGE) (BTQconst [int8(log32(c))] x))
    ((NE|EQ) (TESTQ (MOVQconst [c]) x)) && isUint64PowerOfTwo(c)
        => ((ULT|UGE) (BTQconst [int8(log64(c))] x))
    (SET(NE|EQ) (TESTL (SHLL (MOVLconst [1]) x) y)) => (SET(B|AE)  (BTL x y))
    (SET(NE|EQ) (TESTQ (SHLQ (MOVQconst [1]) x) y)) => (SET(B|AE)  (BTQ x y))
    (SET(NE|EQ) (TESTLconst [c] x)) && isUint32PowerOfTwo(int64(c))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 12 19:38:41 UTC 2024
    - 93.9K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/_gen/LOONG64.rules

    (MULV _ (MOVVconst [0])) => (MOVVconst [0])
    (MULV x (MOVVconst [1])) => x
    (MULV x (MOVVconst [c])) && isPowerOfTwo64(c) => (SLLVconst [log64(c)] x)
    
    // div by constant
    (DIVVU x (MOVVconst [1])) => x
    (DIVVU x (MOVVconst [c])) && isPowerOfTwo64(c) => (SRLVconst [log64(c)] x)
    (REMVU _ (MOVVconst [1])) => (MOVVconst [0])                       // mod
    (REMVU x (MOVVconst [c])) && isPowerOfTwo64(c) => (ANDconst [c-1] x) // mod
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 21 19:26:25 UTC 2023
    - 31.8K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/_gen/generic.rules

    (Div64 <t> n (Const64 [c])) && isPowerOfTwo64(c) =>
      (Rsh64x64
        (Add64 <t> n (Rsh64Ux64 <t> (Rsh64x64 <t> n (Const64 <typ.UInt64> [63])) (Const64 <typ.UInt64> [int64(64-log64(c))])))
        (Const64 <typ.UInt64> [int64(log64(c))]))
    
    // Signed divide, not a power of 2.  Strength reduce to a multiply.
    (Div8 <t> x (Const8 [c])) && smagicOK8(c) =>
      (Sub8 <t>
        (Rsh32x64 <t>
          (Mul32 <typ.UInt32>
    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/ssa/_gen/MIPS64.rules

    (Select1 (MULVU x (MOVVconst [1]))) => x
    (Select1 (MULVU x (MOVVconst [c]))) && isPowerOfTwo64(c) => (SLLVconst [log64(c)] x)
    
    // div by constant
    (Select1 (DIVVU x (MOVVconst [1]))) => x
    (Select1 (DIVVU x (MOVVconst [c]))) && isPowerOfTwo64(c) => (SRLVconst [log64(c)] x)
    (Select0 (DIVVU _ (MOVVconst [1]))) => (MOVVconst [0])                       // mod
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jul 31 03:59:48 UTC 2023
    - 41.9K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/rewriteAMD64.go

    	// result: (BTRQconst [int8(log64(^c))] x)
    	for {
    		for _i0 := 0; _i0 <= 1; _i0, v_0, v_1 = _i0+1, v_1, v_0 {
    			if v_0.Op != OpAMD64MOVQconst {
    				continue
    			}
    			c := auxIntToInt64(v_0.AuxInt)
    			x := v_1
    			if !(isUint64PowerOfTwo(^c) && uint64(^c) >= 1<<31) {
    				continue
    			}
    			v.reset(OpAMD64BTRQconst)
    			v.AuxInt = int8ToAuxInt(int8(log64(^c)))
    			v.AddArg(x)
    			return true
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 12 19:38:41 UTC 2024
    - 712.7K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/rewriteLOONG64.go

    	// match: (DIVVU x (MOVVconst [c]))
    	// cond: isPowerOfTwo64(c)
    	// result: (SRLVconst [log64(c)] x)
    	for {
    		x := v_0
    		if v_1.Op != OpLOONG64MOVVconst {
    			break
    		}
    		c := auxIntToInt64(v_1.AuxInt)
    		if !(isPowerOfTwo64(c)) {
    			break
    		}
    		v.reset(OpLOONG64SRLVconst)
    		v.AuxInt = int64ToAuxInt(log64(c))
    		v.AddArg(x)
    		return true
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 21 19:26:25 UTC 2023
    - 195.8K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/rewriteMIPS64.go

    				continue
    			}
    			v.copyOf(x)
    			return true
    		}
    		break
    	}
    	// match: (Select1 (MULVU x (MOVVconst [c])))
    	// cond: isPowerOfTwo64(c)
    	// result: (SLLVconst [log64(c)] x)
    	for {
    		if v_0.Op != OpMIPS64MULVU {
    			break
    		}
    		_ = v_0.Args[1]
    		v_0_0 := v_0.Args[0]
    		v_0_1 := v_0.Args[1]
    		for _i0 := 0; _i0 <= 1; _i0, v_0_0, v_0_1 = _i0+1, v_0_1, v_0_0 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jul 31 03:59:48 UTC 2023
    - 211.6K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssa/rewrite.go

    	return int64(bits.Len8(uint8(n))) - 1
    }
    func log16(n int16) int64 {
    	return int64(bits.Len16(uint16(n))) - 1
    }
    func log32(n int32) int64 {
    	return int64(bits.Len32(uint32(n))) - 1
    }
    func log64(n int64) int64 {
    	return int64(bits.Len64(uint64(n))) - 1
    }
    
    // log2uint32 returns logarithm in base 2 of uint32(n), with log2(0) = -1.
    // Rounds down.
    func log2uint32(n int64) int64 {
    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/rewritegeneric.go

    	// result: (Rsh64Ux64 n (Const64 <typ.UInt64> [log64(c)]))
    	for {
    		n := v_0
    		if v_1.Op != OpConst64 {
    			break
    		}
    		c := auxIntToInt64(v_1.AuxInt)
    		if !(isNonNegative(n) && isPowerOfTwo64(c)) {
    			break
    		}
    		v.reset(OpRsh64Ux64)
    		v0 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
    		v0.AuxInt = int64ToAuxInt(log64(c))
    		v.AddArg2(n, v0)
    		return true
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 22 18:24:47 UTC 2024
    - 812.2K bytes
    - Viewed (0)
Back to top