Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 31 for ornot (0.07 sec)

  1. test/codegen/logic.go

    	if z == 0 {
    		return 77
    	}
    	// use z by returning it
    	return z
    }
    
    // Verify (OR x (NOT y)) rewrites to (ORN x y) where supported
    func ornot(x, y int) int {
    	// ppc64x:"ORN"
    	z := x | ^y
    	return z
    }
    
    // Verify that (OR (NOT x) (NOT y)) rewrites to (NOT (AND x y))
    func orDemorgans(x, y int) int {
    	// amd64:"AND",-"OR"
    	z := ^x | ^y
    	return z
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 10 16:32:25 UTC 2023
    - 1.1K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/phiopt.go

    			// and
    			//   if a { x = false } else { x = true } with x = !a
    			if v.Args[0].Op == OpConstBool && v.Args[1].Op == OpConstBool {
    				if v.Args[reverse].AuxInt != v.Args[1-reverse].AuxInt {
    					ops := [2]Op{OpNot, OpCopy}
    					v.reset(ops[v.Args[reverse].AuxInt])
    					v.AddArg(b0.Controls[0])
    					if f.pass.debug > 0 {
    						f.Warnl(b.Pos, "converted OpPhi to %v", v.Op)
    					}
    					continue
    				}
    			}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 11 16:34:30 UTC 2022
    - 8.1K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/fuse_branchredirect.go

    	for i := len(f.Blocks) - 1; i >= 0; i-- {
    		b := f.Blocks[i]
    		if b.Kind != BlockIf {
    			continue
    		}
    		// b is either empty or only contains the control value.
    		// TODO: if b contains only OpCopy or OpNot related to b.Controls,
    		// such as Copy(Not(Copy(Less64(v1, v2)))), perhaps it can be optimized.
    		bCtl := b.Controls[0]
    		if bCtl.Block != b && len(b.Values) != 0 || (len(b.Values) != 1 || bCtl.Uses != 1) && bCtl.Block == b {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 16 21:40:11 UTC 2023
    - 3.2K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/sccp_test.go

    			Valu("t20", OpCtz64, c.config.Types.Int64, 0, nil, "v2"),
    			Valu("t21", OpSlicemask, c.config.Types.Int64, 0, nil, "t20"),
    			Valu("t22", OpIsNonNil, c.config.Types.Int64, 0, nil, "v2"),
    			Valu("t23", OpNot, c.config.Types.Bool, 0, nil, "v4"),
    			Valu("t24", OpEq64, c.config.Types.Bool, 0, nil, "v1", "v2"),
    			Valu("t25", OpLess64, c.config.Types.Bool, 0, nil, "v1", "v2"),
    			Valu("t26", OpLeq64, c.config.Types.Bool, 0, nil, "v1", "v2"),
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Sep 12 21:01:50 UTC 2023
    - 3.6K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/walk/compare.go

    		call.Args.Append(typecheck.NodAddr(cmpr))
    		if needsLength {
    			call.Args.Append(ir.NewInt(base.Pos, t.Size()))
    		}
    		res := ir.Node(call)
    		if n.Op() != ir.OEQ {
    			res = ir.NewUnaryExpr(base.Pos, ir.ONOT, res)
    		}
    		return finishCompare(n, res, init)
    	}
    
    	// inline: build boolean expression comparing element by element
    	andor := ir.OANDAND
    	if n.Op() == ir.ONE {
    		andor = ir.OOROR
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 24 21:55:14 UTC 2023
    - 16.2K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/typecheck/universe.go

    	okfor[ir.OSUB] = okforarith[:]
    	okfor[ir.OXOR] = okforand[:]
    	okfor[ir.OLSH] = okforand[:]
    	okfor[ir.ORSH] = okforand[:]
    
    	// unary
    	okfor[ir.OBITNOT] = okforand[:]
    	okfor[ir.ONEG] = okforarith[:]
    	okfor[ir.ONOT] = okforbool[:]
    	okfor[ir.OPLUS] = okforarith[:]
    
    	// special
    	okfor[ir.OCAP] = okforcap[:]
    	okfor[ir.OLEN] = okforlen[:]
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 05 15:20:28 UTC 2023
    - 4.7K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/sccp.go

    		OpSignExt8to64, OpSignExt16to32, OpSignExt16to64, OpSignExt32to64,
    		// bit
    		OpCtz8, OpCtz16, OpCtz32, OpCtz64,
    		// mask
    		OpSlicemask,
    		// safety check
    		OpIsNonNil,
    		// not
    		OpNot:
    		return true
    	case
    		// add
    		OpAdd64, OpAdd32, OpAdd16, OpAdd8,
    		OpAdd32F, OpAdd64F,
    		// sub
    		OpSub64, OpSub32, OpSub16, OpSub8,
    		OpSub32F, OpSub64F,
    		// mul
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jan 22 16:54:50 UTC 2024
    - 17.6K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/shortcircuit.go

    	// Track the negations so that we can swap successors as needed later.
    	ctl := b.Controls[0]
    	nval := 1 // the control value
    	var swap int64
    	for ctl.Uses == 1 && ctl.Block == b && (ctl.Op == OpCopy || ctl.Op == OpNot) {
    		if ctl.Op == OpNot {
    			swap = 1 ^ swap
    		}
    		ctl = ctl.Args[0]
    		nval++ // wrapper around control value
    	}
    	if ctl.Op != OpPhi || ctl.Block != b || ctl.Uses != 1 {
    		return false
    	}
    	nOtherPhi := 0
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 03 17:47:02 UTC 2022
    - 12.6K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ir/fmt.go

    	OMAKE:             "make",
    	ONEG:              "-",
    	OMAX:              "max",
    	OMIN:              "min",
    	OMOD:              "%",
    	OMUL:              "*",
    	ONEW:              "new",
    	ONE:               "!=",
    	ONOT:              "!",
    	OOROR:             "||",
    	OOR:               "|",
    	OPANIC:            "panic",
    	OPLUS:             "+",
    	OPRINTLN:          "println",
    	OPRINT:            "print",
    	ORANGE:            "range",
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 05 15:20:28 UTC 2023
    - 26K bytes
    - Viewed (0)
  10. src/debug/dwarf/const.go

    	opRot        = 0x17
    	opXderef     = 0x18
    	opAbs        = 0x19
    	opAnd        = 0x1A
    	opDiv        = 0x1B
    	opMinus      = 0x1C
    	opMod        = 0x1D
    	opMul        = 0x1E
    	opNeg        = 0x1F
    	opNot        = 0x20
    	opOr         = 0x21
    	opPlus       = 0x22
    	opPlusUconst = 0x23 /* 1 op, ULEB128 addend */
    	opShl        = 0x24
    	opShr        = 0x25
    	opShra       = 0x26
    	opXor        = 0x27
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Oct 18 19:33:30 UTC 2023
    - 13.8K bytes
    - Viewed (0)
Back to top