Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for mergePPC64SldiSrw (0.24 sec)

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

    	}
    	for i, v := range tests {
    		result := mergePPC64SldiSrw(v.sld, v.srw)
    		if v.valid && result == 0 {
    			t.Errorf("mergePPC64SldiSrw(Test %d) did not merge", i)
    		} else if !v.valid && result != 0 {
    			t.Errorf("mergePPC64SldiSrw(Test %d) should return 0", i)
    		} else if r, _, _, m := DecodePPC64RotateMask(result); v.rotate != r || v.mask != m {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 15 21:57:02 UTC 2021
    - 6.9K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/_gen/PPC64.rules

    (CLRLSLDI [c] (SRDconst [s] x)) && mergePPC64ClrlsldiSrd(int64(c),s) != 0 => (RLWINM [mergePPC64ClrlsldiSrd(int64(c),s)] x)
    (SLDconst [l] (SRWconst [r] x)) && mergePPC64SldiSrw(l,r) != 0 => (RLWINM [mergePPC64SldiSrw(l,r)] x)
    // The following reduction shows up frequently too. e.g b[(x>>14)&0xFF]
    (CLRLSLDI [c] i:(RLWINM [s] x)) && mergePPC64ClrlsldiRlwinm(c,s) != 0 => (RLWINM [mergePPC64ClrlsldiRlwinm(c,s)] x)
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 53.2K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/rewrite.go

    	}
    	return encodePPC64RotateMask(r_3, int64(mask_3), 32)
    }
    
    // Compute the encoded RLWINM constant from combining (SLDconst [sld] (SRWconst [srw] x)),
    // or return 0 if they cannot be combined.
    func mergePPC64SldiSrw(sld, srw int64) int64 {
    	if sld > srw || srw >= 32 {
    		return 0
    	}
    	mask_r := uint32(0xFFFFFFFF) >> uint(srw)
    	mask_l := uint32(0xFFFFFFFF) >> uint(sld)
    	mask := (mask_r & mask_l) << uint(sld)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 64.2K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/rewritePPC64.go

    	v_0 := v.Args[0]
    	// match: (SLDconst [l] (SRWconst [r] x))
    	// cond: mergePPC64SldiSrw(l,r) != 0
    	// result: (RLWINM [mergePPC64SldiSrw(l,r)] x)
    	for {
    		l := auxIntToInt64(v.AuxInt)
    		if v_0.Op != OpPPC64SRWconst {
    			break
    		}
    		r := auxIntToInt64(v_0.AuxInt)
    		x := v_0.Args[0]
    		if !(mergePPC64SldiSrw(l, r) != 0) {
    			break
    		}
    		v.reset(OpPPC64RLWINM)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 19:02:52 UTC 2024
    - 360.2K bytes
    - Viewed (0)
Back to top