Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for ccARM64Eval (0.37 sec)

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

    (CSEL  [cc] x _ flag) && ccARM64Eval(cc, flag) > 0 => x
    (CSEL  [cc] _ y flag) && ccARM64Eval(cc, flag) < 0 => y
    (CSEL0 [cc] x   flag) && ccARM64Eval(cc, flag) > 0 => x
    (CSEL0 [cc] _   flag) && ccARM64Eval(cc, flag) < 0 => (MOVDconst [0])
    (CSNEG [cc] x _ flag) && ccARM64Eval(cc, flag) > 0 => x
    (CSNEG [cc] _ y flag) && ccARM64Eval(cc, flag) < 0 => (NEG y)
    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: (CSEL [cc] x _ flag)
    	// cond: ccARM64Eval(cc, flag) > 0
    	// result: x
    	for {
    		cc := auxIntToOp(v.AuxInt)
    		x := v_0
    		flag := v_2
    		if !(ccARM64Eval(cc, flag) > 0) {
    			break
    		}
    		v.copyOf(x)
    		return true
    	}
    	// match: (CSEL [cc] _ y flag)
    	// cond: ccARM64Eval(cc, flag) < 0
    	// result: y
    	for {
    		cc := auxIntToOp(v.AuxInt)
    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

    	}
    }
    
    // evaluate an ARM64 op against a flags value
    // that is potentially constant; return 1 for true,
    // -1 for false, and 0 for not constant.
    func ccARM64Eval(op Op, flags *Value) int {
    	fop := flags.Op
    	if fop == OpARM64InvertFlags {
    		return -ccARM64Eval(op, flags.Args[0])
    	}
    	if fop != OpARM64FlagConstant {
    		return 0
    	}
    	fc := flagConstant(flags.AuxInt)
    	b2i := func(b bool) int {
    		if b {
    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