Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 5 of 5 for supportsPPC64PCRel (0.19 sec)

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

    			break
    		}
    		v.reset(OpPPC64FMOVDload)
    		v.AuxInt = int32ToAuxInt(off1 + off2)
    		v.Aux = symToAux(mergeSym(sym1, sym2))
    		v.AddArg2(ptr, mem)
    		return true
    	}
    	// match: (FMOVDload [off1] {sym} (ADDconst [off2] ptr) mem)
    	// cond: (is16Bit(int64(off1)+off2) || (supportsPPC64PCRel() && is32Bit(int64(off1)+off2)))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 360.2K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/_gen/PPC64latelower.rules

    (AND <t> x:(MOVDconst [m]) n) && t.Size() == 4 && isPPC64WordRotateMask(m) => (RLWINM [encodePPC64RotateMask(0,m,32)] n)
    
    // When PCRel is supported, paddi can add a 34b signed constant in one instruction.
    (ADD (MOVDconst [m]) x) && supportsPPC64PCRel() && (m<<30)>>30 == m => (ADDconst [m] x)
    
    
    // Where possible and practical, generate CC opcodes. Due to the structure of the rules, there are limits to how
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 19:59:38 UTC 2024
    - 3.8K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/_gen/PPC64.rules

    // Fold offsets for stores.
    (MOV(D|W|H|B)store [off1] {sym} (ADDconst [off2] x) val mem) && (is16Bit(int64(off1)+off2) || (supportsPPC64PCRel() && is32Bit(int64(off1)+off2))) => (MOV(D|W|H|B)store [off1+int32(off2)] {sym} x val mem)
    
    (FMOV(S|D)store [off1] {sym} (ADDconst [off2] ptr) val mem) && (is16Bit(int64(off1)+off2) || (supportsPPC64PCRel() && is32Bit(int64(off1)+off2))) => (FMOV(S|D)store [off1+int32(off2)] {sym} ptr val mem)
    
    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. src/cmd/compile/internal/ssa/rewritePPC64latelower.go

    	v_1 := v.Args[1]
    	v_0 := v.Args[0]
    	// match: (ADD (MOVDconst [m]) x)
    	// cond: supportsPPC64PCRel() && (m<<30)>>30 == m
    	// result: (ADDconst [m] x)
    	for {
    		for _i0 := 0; _i0 <= 1; _i0, v_0, v_1 = _i0+1, v_1, v_0 {
    			if v_0.Op != OpPPC64MOVDconst {
    				continue
    			}
    			m := auxIntToInt64(v_0.AuxInt)
    			x := v_1
    			if !(supportsPPC64PCRel() && (m<<30)>>30 == m) {
    				continue
    			}
    			v.reset(OpPPC64ADDconst)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 19:59:38 UTC 2024
    - 16.5K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/rewrite.go

    func hasSmallRotate(c *Config) bool {
    	switch c.arch {
    	case "amd64", "386":
    		return true
    	default:
    		return false
    	}
    }
    
    func supportsPPC64PCRel() bool {
    	// PCRel is currently supported for >= power10, linux only
    	// Internal and external linking supports this on ppc64le; internal linking on ppc64.
    	return buildcfg.GOPPC64 >= 10 && buildcfg.GOOS == "linux"
    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