Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for isARM64BFMask (0.74 sec)

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

    // (x >> sc) & ac
    (ANDconst [ac] (SRLconst [sc] x)) && isARM64BFMask(sc, ac, 0)
    	=> (UBFX [armBFAuxInt(sc, arm64BFWidth(ac, 0))] x)
    // (x & ac) >> sc
    (SRLconst [sc] (ANDconst [ac] x)) && isARM64BFMask(sc, ac, sc)
    	=> (UBFX [armBFAuxInt(sc, arm64BFWidth(ac, sc))] x)
    // merge ANDconst and ubfx into ubfx
    (ANDconst [c] (UBFX [bfc] x)) && isARM64BFMask(0, c, 0) =>
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 113.1K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/rewriteARM64.go

    		return true
    	}
    	// match: (ANDconst [ac] (SLLconst [sc] x))
    	// cond: isARM64BFMask(sc, ac, sc)
    	// result: (UBFIZ [armBFAuxInt(sc, arm64BFWidth(ac, sc))] x)
    	for {
    		ac := auxIntToInt64(v.AuxInt)
    		if v_0.Op != OpARM64SLLconst {
    			break
    		}
    		sc := auxIntToInt64(v_0.AuxInt)
    		x := v_0.Args[0]
    		if !(isARM64BFMask(sc, ac, sc)) {
    			break
    		}
    		v.reset(OpARM64UBFIZ)
    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/rewrite.go

    func (bfc arm64BitField) getARM64BFwidth() int64 {
    	return int64(bfc) & 0xff
    }
    
    // checks if mask >> rshift applied at lsb is a valid arm64 bitfield op mask.
    func isARM64BFMask(lsb, mask, rshift int64) bool {
    	shiftedMask := int64(uint64(mask) >> uint64(rshift))
    	return shiftedMask != 0 && isPowerOfTwo64(shiftedMask+1) && nto(shiftedMask)+lsb < 64
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 64.2K bytes
    - Viewed (0)
Back to top