Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 4 of 4 for OutMerge (0.11 sec)

  1. src/cmd/internal/obj/s390x/rotate.go

    func (r RotateParams) InMask() uint64 {
    	return bits.RotateLeft64(r.OutMask(), -int(r.Amount))
    }
    
    // OutMerge tries to generate a new set of parameters representing
    // the intersection between the selected bits and the provided mask.
    // If the intersection is unrepresentable (0 or not contiguous) nil
    // will be returned.
    func (r RotateParams) OutMerge(mask uint64) *RotateParams {
    	mask &= r.OutMask()
    	if mask == 0 {
    		return nil
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Dec 21 19:19:04 UTC 2020
    - 3.6K bytes
    - Viewed (0)
  2. src/cmd/internal/obj/s390x/rotate_test.go

    	}
    
    	for _, test := range tests {
    		if r := test.src.InMerge(test.mask); !eq(r, test.in) {
    			t.Errorf("%v merged with %#x (input): want %v, got %v", test.src, test.mask, test.in, r)
    		}
    		if r := test.src.OutMerge(test.mask); !eq(r, test.out) {
    			t.Errorf("%v merged with %#x (output): want %v, got %v", test.src, test.mask, test.out, r)
    		}
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Dec 14 17:17:59 UTC 2020
    - 3.6K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/_gen/S390X.rules

    // Absorb 'rotate then insert selected bits [into zero]' into zero extension.
    (MOVWZreg (RISBGZ x {r})) && r.OutMerge(0xffffffff) != nil => (RISBGZ x {*r.OutMerge(0xffffffff)})
    (MOVHZreg (RISBGZ x {r})) && r.OutMerge(0x0000ffff) != nil => (RISBGZ x {*r.OutMerge(0x0000ffff)})
    (MOVBZreg (RISBGZ x {r})) && r.OutMerge(0x000000ff) != nil => (RISBGZ x {*r.OutMerge(0x000000ff)})
    
    // Absorb shift into 'rotate then insert selected bits [into zero]'.
    //
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 12 18:09:26 UTC 2023
    - 74.3K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/rewriteS390X.go

    	// match: (MOVBZreg (RISBGZ x {r}))
    	// cond: r.OutMerge(0x000000ff) != nil
    	// result: (RISBGZ x {*r.OutMerge(0x000000ff)})
    	for {
    		if v_0.Op != OpS390XRISBGZ {
    			break
    		}
    		r := auxToS390xRotateParams(v_0.Aux)
    		x := v_0.Args[0]
    		if !(r.OutMerge(0x000000ff) != nil) {
    			break
    		}
    		v.reset(OpS390XRISBGZ)
    		v.Aux = s390xRotateParamsToAux(*r.OutMerge(0x000000ff))
    		v.AddArg(x)
    		return true
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 12 18:09:26 UTC 2023
    - 395.1K bytes
    - Viewed (0)
Back to top