...

Text file src/pkg/cmd/compile/internal/ssa/gen/AMD64splitload.rules

     1	// Copyright 2019 The Go Authors. All rights reserved.
     2	// Use of this source code is governed by a BSD-style
     3	// license that can be found in the LICENSE file.
     4	
     5	// This file contains rules used by flagalloc to split
     6	// a flag-generating merged load op into separate load and op.
     7	// Unlike with the other rules files, not all of these
     8	// rules will be applied to all values.
     9	// Rather, flagalloc will request for rules to be applied
    10	// to a particular problematic value.
    11	// These are often the exact inverse of rules in AMD64.rules,
    12	// only with the conditions removed.
    13	
    14	(CMP(Q|L|W|B)load {sym} [off] ptr x mem) -> (CMP(Q|L|W|B) (MOV(Q|L|W|B)load {sym} [off] ptr mem) x)
    15	
    16	(CMP(Q|L|W|B)constload {sym} [vo] ptr mem) -> (CMP(Q|L|W|B)const (MOV(Q|L|W|B)load {sym} [offOnly(vo)] ptr mem) [valOnly(vo)])

View as plain text