From c68cc4efbe5f8ad49dbd4d5080a9a5fb1720013b Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Wed, 3 Oct 2018 10:28:43 +0000 Subject: [X86][Btver2] Most RMW instructions don't require an additional uop Remove uop on WriteRMW and move it into the few instructions that need it. Match AMD Fam16h SOG + llvm-exegesis tests llvm-svn: 343671 --- llvm/lib/Target/X86/X86ScheduleBtVer2.td | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'llvm/lib/Target') diff --git a/llvm/lib/Target/X86/X86ScheduleBtVer2.td b/llvm/lib/Target/X86/X86ScheduleBtVer2.td index 3d73e38efb6..b807fa58b55 100644 --- a/llvm/lib/Target/X86/X86ScheduleBtVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBtVer2.td @@ -158,8 +158,9 @@ multiclass JWriteResYMMPair; +// A folded store needs a cycle on the SAGU for the store data, +// most RMW instructions don't need an extra uop. +defm : X86WriteRes; //////////////////////////////////////////////////////////////////////////////// // Arithmetic. @@ -208,8 +209,8 @@ defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteRes; defm : X86WriteRes; -defm : X86WriteRes; -defm : X86WriteRes; +defm : X86WriteRes; +defm : X86WriteRes; // This is for simple LEAs with one or two input operands. def : WriteRes; -- cgit v1.2.3