Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 11 for TSTW (0.07 sec)

  1. test/fixedbugs/issue26438.go

    // Issue 26438: arm64 backend may use 64-bit TST for
    // "if uint32(a)&uint32(b) == 0", which should be
    // 32-bit TSTW
    
    package main
    
    //go:noinline
    func tstw(a, b uint64) uint64 {
    	if uint32(a)&uint32(b) == 0 {
    		return 100
    	} else {
    		return 200
    	}
    }
    
    func main() {
    	if tstw(0xff00000000, 0xaa00000000) == 200 {
    		panic("impossible")
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jul 18 14:15:05 UTC 2018
    - 507 bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/_gen/ARM64latelower.rules

    (XORconst [c] x) && !isARM64bitcon(uint64(c))  => (XOR x (MOVDconst [c]))
    (TSTconst [c] x) && !isARM64bitcon(uint64(c))  => (TST x (MOVDconst [c]))
    (TSTWconst [c] x) && !isARM64bitcon(uint64(c)|uint64(c)<<32)  => (TSTW x (MOVDconst [int64(c)]))
    
    (CMPconst [c] x) && !isARM64addcon(c)  => (CMP x (MOVDconst [c]))
    (CMPWconst [c] x) && !isARM64addcon(int64(c))  => (CMPW x (MOVDconst [int64(c)]))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 12 19:38:41 UTC 2024
    - 4.1K bytes
    - Viewed (0)
  3. src/cmd/internal/obj/arm64/anames.go

    	"SWPH",
    	"SWPLB",
    	"SWPLD",
    	"SWPLH",
    	"SWPLW",
    	"SWPW",
    	"SXTB",
    	"SXTBW",
    	"SXTH",
    	"SXTHW",
    	"SXTW",
    	"SYS",
    	"SYSL",
    	"TBNZ",
    	"TBZ",
    	"TLBI",
    	"TST",
    	"TSTW",
    	"UBFIZ",
    	"UBFIZW",
    	"UBFM",
    	"UBFMW",
    	"UBFX",
    	"UBFXW",
    	"UCVTFD",
    	"UCVTFS",
    	"UCVTFWD",
    	"UCVTFWS",
    	"UDIV",
    	"UDIVW",
    	"UMADDL",
    	"UMNEGL",
    	"UMSUBL",
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 18 01:40:37 UTC 2023
    - 5.4K bytes
    - Viewed (0)
  4. src/cmd/asm/internal/asm/testdata/arm64.s

    	TSTW	$0x60060, R5                        // TSTW	$393312, R5                     // 1b0c8052db00a072bf001b6a
    	TSTW	$0x6006000060060, R5                // TSTW	$1689262177517664, R5           // 1b0c8052db00a072bf001b6a
    	ANDW	$0x6006000060060, R5                // ANDW	$1689262177517664, R5           // 1b0c8052db00a072a5001b0a
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Dec 08 03:28:17 UTC 2023
    - 94.9K bytes
    - Viewed (0)
  5. test/codegen/comparisons.go

    	c4 := e+f < 0
    	// not optimized to single CMNW/CMN due to further use of b+d
    	// arm64:`ADD`,-`CMNW`
    	// arm:`ADD`,-`CMN`
    	c5 := b+d == 0
    	// not optimized to single TSTW/TST due to further use of a&d
    	// arm64:`AND`,-`TSTW`
    	// arm:`AND`,-`TST`
    	// 386:`ANDL`
    	c6 := a&d >= 0
    	// arm64:`TST\sR[0-9]+<<3,\sR[0-9]+`
    	c7 := e&(f<<3) < 0
    	// arm64:`CMN\sR[0-9]+<<3,\sR[0-9]+`
    	c8 := e+(f<<3) < 0
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 19 16:31:02 UTC 2024
    - 15.2K bytes
    - Viewed (0)
  6. src/cmd/asm/internal/asm/testdata/arm64enc.s

    	SYSL $285440, R12                          // 0c5b2cd5
    	TLBI VAE1IS, R1                            // 218308d5
    	TSTW $0x80000007, R9                       // TSTW $2147483655, R9          // 3f0d0172
    	TST $0xfffffff0, LR                        // TST $4294967280, R30          // df6f7cf2
    	TSTW R10@>21, R2                           // 5f54ca6a
    	TST R17<<11, R24                           // 1f2f11ea
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jul 24 01:11:41 UTC 2023
    - 43.9K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/rewriteARM64latelower.go

    func rewriteValueARM64latelower_OpARM64TSTWconst(v *Value) bool {
    	v_0 := v.Args[0]
    	b := v.Block
    	typ := &b.Func.Config.Types
    	// match: (TSTWconst [c] x)
    	// cond: !isARM64bitcon(uint64(c)|uint64(c)<<32)
    	// result: (TSTW x (MOVDconst [int64(c)]))
    	for {
    		c := auxIntToInt32(v.AuxInt)
    		x := v_0
    		if !(!isARM64bitcon(uint64(c) | uint64(c)<<32)) {
    			break
    		}
    		v.reset(OpARM64TSTW)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Mar 12 19:38:41 UTC 2024
    - 19.3K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/_gen/ARM64Ops.go

    		{name: "TSTconst", argLength: 1, reg: gp1flags, asm: "TST", aux: "Int64", typ: "Flags"},   // arg0 & auxInt compare to 0
    		{name: "TSTW", argLength: 2, reg: gp2flags, asm: "TSTW", typ: "Flags", commutative: true}, // arg0 & arg1 compare to 0, 32 bit
    		{name: "TSTWconst", argLength: 1, reg: gp1flags, asm: "TSTW", aux: "Int32", typ: "Flags"}, // arg0 & auxInt compare to 0, 32 bit
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 58.8K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssa/_gen/ARM64.rules

    (FCMPS (FMOVSconst [0]) x) => (InvertFlags (FCMPS0 x))
    (FCMPD x (FMOVDconst [0])) => (FCMPD0 x)
    (FCMPD (FMOVDconst [0]) x) => (InvertFlags (FCMPD0 x))
    
    // CSEL needs a flag-generating argument. Synthesize a TSTW if necessary.
    (CondSelect x y boolval) && flagArg(boolval) != nil => (CSEL [boolval.Op] x y flagArg(boolval))
    (CondSelect x y boolval) && flagArg(boolval) == nil => (CSEL [OpARM64NotEqual] x y (TSTWconst [1] boolval))
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 113.1K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssa/rewriteARM64.go

    		v0.AuxInt = int32ToAuxInt(int32(c))
    		v0.AddArg(y)
    		v.AddArg(v0)
    		return true
    	}
    	// match: (Equal (CMPWconst [0] z:(AND x y)))
    	// cond: z.Uses == 1
    	// result: (Equal (TSTW x y))
    	for {
    		if v_0.Op != OpARM64CMPWconst || auxIntToInt32(v_0.AuxInt) != 0 {
    			break
    		}
    		z := v_0.Args[0]
    		if z.Op != OpARM64AND {
    			break
    		}
    		y := z.Args[1]
    		x := z.Args[0]
    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