Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 12 for InvertFlags (0.35 sec)

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

    // reverse ordering of compare instruction
    (SETL (InvertFlags x)) => (SETG x)
    (SETG (InvertFlags x)) => (SETL x)
    (SETB (InvertFlags x)) => (SETA x)
    (SETA (InvertFlags x)) => (SETB x)
    (SETLE (InvertFlags x)) => (SETGE x)
    (SETGE (InvertFlags x)) => (SETLE x)
    (SETBE (InvertFlags x)) => (SETAE x)
    (SETAE (InvertFlags x)) => (SETBE x)
    (SETEQ (InvertFlags x)) => (SETEQ x)
    (SETNE (InvertFlags x)) => (SETNE x)
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 12 19:38:41 UTC 2024
    - 93.9K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/_gen/ARM64.rules

    // absorb InvertFlags into branches
    (LT  (InvertFlags cmp) yes no) => (GT cmp yes no)
    (GT  (InvertFlags cmp) yes no) => (LT cmp yes no)
    (LE  (InvertFlags cmp) yes no) => (GE cmp yes no)
    (GE  (InvertFlags cmp) yes no) => (LE cmp yes no)
    (ULT (InvertFlags cmp) yes no) => (UGT cmp yes no)
    (UGT (InvertFlags cmp) yes no) => (ULT cmp yes no)
    (ULE (InvertFlags cmp) yes no) => (UGE cmp yes no)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 113.1K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/_gen/PPC64.rules

    (GE (FlagGT) yes no) => (First yes no)
    
    // absorb InvertFlags into branches
    (LT (InvertFlags cmp) yes no) => (GT cmp yes no)
    (GT (InvertFlags cmp) yes no) => (LT cmp yes no)
    (LE (InvertFlags cmp) yes no) => (GE cmp yes no)
    (GE (InvertFlags cmp) yes no) => (LE cmp yes no)
    (EQ (InvertFlags cmp) yes no) => (EQ cmp yes no)
    (NE (InvertFlags cmp) yes no) => (NE cmp yes no)
    
    // constant comparisons
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 53.2K bytes
    - Viewed (0)
  4. test/codegen/comparisons.go

    }
    
    type Point struct {
    	X, Y int
    }
    
    // invertLessThanNoov checks (LessThanNoov (InvertFlags x)) is lowered as
    // CMP, CSET, CSEL instruction sequence. InvertFlags are only generated under
    // certain conditions, see canonLessThan, so if the code below does not
    // generate an InvertFlags OP, this check may fail.
    func invertLessThanNoov(p1, p2, p3 Point) bool {
    	// arm64:`CMP`,`CSET`,`CSEL`
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 19 16:31:02 UTC 2024
    - 15.2K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/rewriteAMD64.go

    		return true
    	}
    	return false
    }
    func rewriteValueAMD64_OpAMD64CMOVLCC(v *Value) bool {
    	v_2 := v.Args[2]
    	v_1 := v.Args[1]
    	v_0 := v.Args[0]
    	// match: (CMOVLCC x y (InvertFlags cond))
    	// result: (CMOVLLS x y cond)
    	for {
    		x := v_0
    		y := v_1
    		if v_2.Op != OpAMD64InvertFlags {
    			break
    		}
    		cond := v_2.Args[0]
    		v.reset(OpAMD64CMOVLLS)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 12 19:38:41 UTC 2024
    - 712.7K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/_gen/PPC64Ops.go

    		// (InvertFlags (CMP a b)) == (CMP b a)
    		// So if we want (LessThan (CMP a b)) but we can't do that because a is a constant,
    		// then we do (LessThan (InvertFlags (CMP b a))) instead.
    		// Rewrites will convert this to (GreaterThan (CMP b a)).
    		// InvertFlags is a pseudo-op which can't appear in assembly output.
    		{name: "InvertFlags", argLength: 1}, // reverse direction of arg0
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 19:59:38 UTC 2024
    - 43.8K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/rewriteARM64.go

    	}
    	// match: (GreaterEqual (InvertFlags x))
    	// result: (LessEqual x)
    	for {
    		if v_0.Op != OpARM64InvertFlags {
    			break
    		}
    		x := v_0.Args[0]
    		v.reset(OpARM64LessEqual)
    		v.AddArg(x)
    		return true
    	}
    	return false
    }
    func rewriteValueARM64_OpARM64GreaterEqualF(v *Value) bool {
    	v_0 := v.Args[0]
    	// match: (GreaterEqualF (InvertFlags x))
    	// result: (LessEqualF x)
    	for {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 608.6K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/rewritePPC64.go

    		return true
    	}
    	// match: (SETBC [0] (InvertFlags bool))
    	// result: (SETBC [1] bool)
    	for {
    		if auxIntToInt32(v.AuxInt) != 0 || v_0.Op != OpPPC64InvertFlags {
    			break
    		}
    		bool := v_0.Args[0]
    		v.reset(OpPPC64SETBC)
    		v.AuxInt = int32ToAuxInt(1)
    		v.AddArg(bool)
    		return true
    	}
    	// match: (SETBC [1] (InvertFlags bool))
    	// result: (SETBC [0] bool)
    	for {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 360.2K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssa/_gen/ARM64Ops.go

    		// This op is for temporary use by rewrite rules. It
    		// cannot appear in the generated assembly.
    		{name: "FlagConstant", aux: "FlagConstant"},
    
    		// (InvertFlags (CMP a b)) == (CMP b a)
    		// InvertFlags is a pseudo-op which can't appear in assembly output.
    		{name: "InvertFlags", argLength: 1}, // reverse direction of arg0
    
    		// atomic loads.
    		// load from arg0. arg1=mem. auxint must be zero.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 58.8K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssa/rewrite.go

    		return OpARM64GreaterEqualF
    	default:
    		panic("unreachable")
    	}
    }
    
    // arm64Invert evaluates (InvertFlags op), which
    // is the same as altering the condition codes such
    // that the same result would be produced if the arguments
    // to the flag-generating instruction were reversed, e.g.
    // (InvertFlags (CMP x y)) -> (CMP y x)
    func arm64Invert(op Op) Op {
    	switch op {
    	case OpARM64LessThan:
    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