Lines Matching full:load

39 // with LOAD, OPERATOR and STORE being the read, modify and write
42 class RMWI<SDPatternOperator load, SDPatternOperator operator,
45 : Pat<(store (operator (load mode:$addr), imm:$src), mode:$addr),
57 // The inserted operand is loaded using LOAD from an address of mode MODE.
59 SDPatternOperator load, AddressingMode mode> {
61 cls:$src1, (load mode:$src2)),
64 (load mode:$src2), cls:$src1),
97 // condition is false. Record that they are equivalent to a LOAD/select/STORE
100 SDPatternOperator store, SDPatternOperator load,
102 def : Pat<(store (z_select_ccmask GR64:$new, (load mode:$addr),
107 def : Pat<(store (z_select_ccmask (load mode:$addr), GR64:$new,
114 // Try to use MVC instruction INSN for a load of type LOAD followed by a store
116 // LENGTH is the number of bytes loaded by LOAD.
117 multiclass MVCLoadStore<SDPatternOperator load, ValueType vt, Instruction insn,
119 def : Pat<(mvc_store (vt (load bdaddr12only:$src)), bdaddr12only:$dest),
124 // The other operand is a load of type LOAD, which accesses LENGTH bytes.
127 multiclass BinaryLoadStore<SDPatternOperator operator, SDPatternOperator load,
129 def : Pat<(operator (vt (load bdaddr12only:$src)), bdaddr12only:$dest),
134 // LOAD/VT/LENGTH combination.
135 multiclass BlockLoadStore<SDPatternOperator load, ValueType vt,
138 defm : MVCLoadStore<load, vt, mvc, length>;
139 defm : BinaryLoadStore<block_and1, load, vt, nc, length>;
140 defm : BinaryLoadStore<block_and2, load, vt, nc, length>;
141 defm : BinaryLoadStore<block_or1, load, vt, oc, length>;
142 defm : BinaryLoadStore<block_or2, load, vt, oc, length>;
143 defm : BinaryLoadStore<block_xor1, load, vt, xc, length>;
144 defm : BinaryLoadStore<block_xor2, load, vt, xc, length>;
147 // Record that INSN is a LOAD AND TEST that can be used to compare