forked from OSchip/llvm-project
[X86] Add description comments to SandyBridge for COPY/WriteZero/WriteVecMaskedGatherWriteback cases. NFC.
Match other models. Use X86WriteRes for WriteVecMaskedGatherWriteback like other models as well.
This commit is contained in:
parent
2db46db54d
commit
eeb44579f1
|
@ -111,9 +111,17 @@ def : WriteRes<WriteStore, [SBPort23, SBPort4]>;
|
|||
def : WriteRes<WriteStoreNT, [SBPort23, SBPort4]>;
|
||||
def : WriteRes<WriteLoad, [SBPort23]> { let Latency = 5; }
|
||||
def : WriteRes<WriteMove, [SBPort015]>;
|
||||
|
||||
// Treat misc copies as a move.
|
||||
def : InstRW<[WriteMove], (instrs COPY)>;
|
||||
|
||||
// Idioms that clear a register, like xorps %xmm0, %xmm0.
|
||||
// These can often bypass execution ports completely.
|
||||
def : WriteRes<WriteZero, []>;
|
||||
def : WriteRes<WriteVecMaskedGatherWriteback, []> { let Latency = 5; let NumMicroOps = 0; }
|
||||
|
||||
// Model the effect of clobbering the read-write mask operand of the GATHER operation.
|
||||
// Does not cost anything by itself, only has latency, matching that of the WriteLoad,
|
||||
defm : X86WriteRes<WriteVecMaskedGatherWriteback, [], 5, [], 0>;
|
||||
|
||||
// Arithmetic.
|
||||
defm : SBWriteResPair<WriteALU, [SBPort015], 1>;
|
||||
|
|
Loading…
Reference in New Issue