Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for logicFlags64 (0.37 sec)

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

    	var numbers = []int64{
    		1, 0, -1,
    		2, -2,
    		1<<63 - 1, -1 << 63,
    	}
    	coverage := map[flagConstant]bool{}
    	for _, x := range numbers {
    		for _, y := range numbers {
    			a := logicFlags64(x & y)
    			b := flagRegister2flagConstant(asmAndFlags(x, y), false)
    			if a != b {
    				t.Errorf("asmAnd diff: x=%x y=%x got=%s want=%s\n", x, y, a, b)
    			}
    			coverage[a] = true
    		}
    	}
    	if len(coverage) != 3 {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Oct 04 19:36:17 UTC 2022
    - 2.5K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/rewrite.go

    	fcb.V = x >= 0 && y < 0 && x-y < 0 || x < 0 && y >= 0 && x-y >= 0
    	return fcb.encode()
    }
    
    // logicFlags64 returns flags set to the sign/zeroness of x.
    // C and V are set to false.
    func logicFlags64(x int64) flagConstant {
    	var fcb flagConstantBuilder
    	fcb.Z = x == 0
    	fcb.N = x < 0
    	return fcb.encode()
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 64.2K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/_gen/ARM64.rules

    // constant comparisons
    (CMPconst  (MOVDconst [x]) [y]) => (FlagConstant [subFlags64(x,y)])
    (CMPWconst (MOVDconst [x]) [y]) => (FlagConstant [subFlags32(int32(x),y)])
    (TSTconst  (MOVDconst [x]) [y]) => (FlagConstant [logicFlags64(x&y)])
    (TSTWconst (MOVDconst [x]) [y]) => (FlagConstant [logicFlags32(int32(x)&y)])
    (CMNconst  (MOVDconst [x]) [y]) => (FlagConstant [addFlags64(x,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)
  4. src/cmd/compile/internal/ssa/rewriteARM64.go

    	v_0 := v.Args[0]
    	// match: (TSTconst (MOVDconst [x]) [y])
    	// result: (FlagConstant [logicFlags64(x&y)])
    	for {
    		y := auxIntToInt64(v.AuxInt)
    		if v_0.Op != OpARM64MOVDconst {
    			break
    		}
    		x := auxIntToInt64(v_0.AuxInt)
    		v.reset(OpARM64FlagConstant)
    		v.AuxInt = flagConstantToAuxInt(logicFlags64(x & y))
    		return true
    	}
    	return false
    }
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 608.6K bytes
    - Viewed (0)
Back to top