From eeb44579f13d2bf7d7c6769746b11d6425ff0990 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Sat, 7 May 2022 10:42:12 +0100 Subject: [PATCH] [X86] Add description comments to SandyBridge for COPY/WriteZero/WriteVecMaskedGatherWriteback cases. NFC. Match other models. Use X86WriteRes for WriteVecMaskedGatherWriteback like other models as well. --- llvm/lib/Target/X86/X86SchedSandyBridge.td | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Target/X86/X86SchedSandyBridge.td b/llvm/lib/Target/X86/X86SchedSandyBridge.td index b26004ce19f8..49858ca0a800 100644 --- a/llvm/lib/Target/X86/X86SchedSandyBridge.td +++ b/llvm/lib/Target/X86/X86SchedSandyBridge.td @@ -111,9 +111,17 @@ def : WriteRes; def : WriteRes; def : WriteRes { let Latency = 5; } def : WriteRes; + +// 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; -def : WriteRes { 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; // Arithmetic. defm : SBWriteResPair;