Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 10 for SRAconst (0.13 sec)

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

    // large constant signed right shift, we leave the sign bit
    (Rsh32x64 x (Const64 [c])) && uint64(c) >= 32 => (SRAconst x [31])
    (Rsh16x64 x (Const64 [c])) && uint64(c) >= 16 => (SRAconst (SLLconst <typ.UInt32> x [16]) [31])
    (Rsh8x64 x (Const64 [c])) && uint64(c) >= 8 => (SRAconst (SLLconst <typ.UInt32> x [24]) [31])
    
    // constants
    (Const(8|16|32) [val]) => (MOVWconst [int32(val)])
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Nov 20 17:19:36 UTC 2023
    - 90.1K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/_gen/ARM64.rules

    // sbfx
    // (x << lc) >> rc
    (SRAconst [rc] (SLLconst [lc] x)) && lc <= rc => (SBFX [armBFAuxInt(rc-lc, 64-rc)] x)
    // int64(x) >> rc
    (SRAconst [rc] (MOVWreg x)) && rc < 32 => (SBFX [armBFAuxInt(rc, 32-rc)] x)
    (SRAconst [rc] (MOVHreg x)) && rc < 16 => (SBFX [armBFAuxInt(rc, 16-rc)] x)
    (SRAconst [rc] (MOVBreg x)) && rc < 8  => (SBFX [armBFAuxInt(rc,  8-rc)] x)
    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/MIPS.rules

    // large constant signed right shift, we leave the sign bit
    (Rsh32x64 x (Const64 [c])) && uint32(c) >= 32 => (SRAconst x [31])
    (Rsh16x64 x (Const64 [c])) && uint32(c) >= 16 => (SRAconst (SLLconst <typ.UInt32> x [16]) [31])
    (Rsh8x64  x (Const64 [c])) && uint32(c) >= 8  => (SRAconst (SLLconst <typ.UInt32> x [24]) [31])
    
    // shifts
    // hardware instruction uses only the low 5 bits of the shift
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 24 14:43:03 UTC 2023
    - 35.3K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/rewriteARM.go

    		return true
    	}
    	// match: (CMP x (SRAconst [c] y))
    	// result: (CMPshiftRA x y [c])
    	for {
    		x := v_0
    		if v_1.Op != OpARMSRAconst {
    			break
    		}
    		c := auxIntToInt32(v_1.AuxInt)
    		y := v_1.Args[0]
    		v.reset(OpARMCMPshiftRA)
    		v.AuxInt = int32ToAuxInt(c)
    		v.AddArg2(x, y)
    		return true
    	}
    	// match: (CMP (SRAconst [c] y) x)
    	// result: (InvertFlags (CMPshiftRA x y [c]))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Nov 20 17:19:36 UTC 2023
    - 486.8K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/rewriteARM64.go

    	v_0 := v.Args[0]
    	// match: (SRAconst [c] (MOVDconst [d]))
    	// result: (MOVDconst [d>>uint64(c)])
    	for {
    		c := auxIntToInt64(v.AuxInt)
    		if v_0.Op != OpARM64MOVDconst {
    			break
    		}
    		d := auxIntToInt64(v_0.AuxInt)
    		v.reset(OpARM64MOVDconst)
    		v.AuxInt = int64ToAuxInt(d >> uint64(c))
    		return true
    	}
    	// match: (SRAconst [rc] (SLLconst [lc] x))
    	// cond: lc > rc
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 608.6K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/rewriteMIPS.go

    	v_0 := v.Args[0]
    	// match: (Signmask x)
    	// result: (SRAconst x [31])
    	for {
    		x := v_0
    		v.reset(OpMIPSSRAconst)
    		v.AuxInt = int32ToAuxInt(31)
    		v.AddArg(x)
    		return true
    	}
    }
    func rewriteValueMIPS_OpSlicemask(v *Value) bool {
    	v_0 := v.Args[0]
    	b := v.Block
    	// match: (Slicemask <t> x)
    	// result: (SRAconst (NEG <t> x) [31])
    	for {
    		t := v.Type
    		x := v_0
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 24 14:43:03 UTC 2023
    - 176.6K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/_gen/MIPSOps.go

    		{name: "SRA", argLength: 2, reg: gp21, asm: "SRA"},                    // arg0 >> arg1, signed, shift amount is mod 32
    		{name: "SRAconst", argLength: 1, reg: gp11, asm: "SRA", aux: "Int32"}, // arg0 >> auxInt, signed, shift amount must be 0 through 31 inclusive
    
    		{name: "CLZ", argLength: 1, reg: gp11, asm: "CLZ"},
    
    		// comparisons
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 24 14:43:03 UTC 2023
    - 24K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/_gen/ARMOps.go

    		{name: "SRA", argLength: 2, reg: gp21, asm: "SRA"},                    // arg0 >> arg1, signed, shift amount is mod 256
    		{name: "SRAconst", argLength: 1, reg: gp11, asm: "SRA", aux: "Int32"}, // arg0 >> auxInt, signed, 0 <= auxInt < 32
    		{name: "SRR", argLength: 2, reg: gp21},                                // arg0 right rotate by arg1 bits
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Feb 24 00:21:13 UTC 2023
    - 41K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssa/_gen/ARM64Ops.go

    		{name: "SRA", argLength: 2, reg: gp21, asm: "ASR"},                        // arg0 >> arg1, signed, shift amount is mod 64
    		{name: "SRAconst", argLength: 1, reg: gp11, asm: "ASR", aux: "Int64"},     // arg0 >> auxInt, signed, auxInt should be in the range 0 to 63.
    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/opGen.go

    				{1, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
    			},
    			outputs: []outputInfo{
    				{0, 21503}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R12 R14
    			},
    		},
    	},
    	{
    		name:    "SRAconst",
    		auxType: auxInt32,
    		argLen:  1,
    		asm:     arm.ASRA,
    		reg: regInfo{
    			inputs: []inputInfo{
    				{0, 22527}, // R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 g R12 R14
    			},
    			outputs: []outputInfo{
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 1M bytes
    - Viewed (0)
Back to top