Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for mergePPC64ClrlsldiSrw (0.18 sec)

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

    	}
    	for i, v := range tests {
    		result := mergePPC64ClrlsldiSrw(int64(v.clrlsldi), v.srw)
    		if v.valid && result == 0 {
    			t.Errorf("mergePPC64ClrlsldiSrw(Test %d) did not merge", i)
    		} else if !v.valid && result != 0 {
    			t.Errorf("mergePPC64ClrlsldiSrw(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

    // Merge shift right + shift left and clear left (e.g for a table lookup)
    (CLRLSLDI [c] (SRWconst [s] x)) && mergePPC64ClrlsldiSrw(int64(c),s) != 0 => (RLWINM [mergePPC64ClrlsldiSrw(int64(c),s)] x)
    (CLRLSLDI [c] (SRDconst [s] x)) && mergePPC64ClrlsldiSrd(int64(c),s) != 0 => (RLWINM [mergePPC64ClrlsldiSrd(int64(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

    }
    
    // Test if a word shift right feeding into a CLRLSLDI can be merged into RLWINM.
    // Return the encoded RLWINM constant, or 0 if they cannot be merged.
    func mergePPC64ClrlsldiSrw(sld, srw int64) int64 {
    	mask_1 := uint64(0xFFFFFFFF >> uint(srw))
    	// for CLRLSLDI, it's more convenient to think of it as a mask left bits then rotate left.
    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: (CLRLSLDI [c] (SRWconst [s] x))
    	// cond: mergePPC64ClrlsldiSrw(int64(c),s) != 0
    	// result: (RLWINM [mergePPC64ClrlsldiSrw(int64(c),s)] x)
    	for {
    		c := auxIntToInt32(v.AuxInt)
    		if v_0.Op != OpPPC64SRWconst {
    			break
    		}
    		s := auxIntToInt64(v_0.AuxInt)
    		x := v_0.Args[0]
    		if !(mergePPC64ClrlsldiSrw(int64(c), s) != 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