[X86] Split WriteFAdd/WriteFCmp/WriteFMul schedule classes
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 7 May 2018 20:52:53 +0000 (20:52 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 7 May 2018 20:52:53 +0000 (20:52 +0000)
commit1233e1234ab8466b7997cc0a50683f85061b5e64
tree043ef1390e66dff2b8b49a88bb957d3d71298f55
parentd48f236a7e4255ac8fcdd4ba28270a65e4f16905
[X86] Split WriteFAdd/WriteFCmp/WriteFMul schedule classes

Split to support single/double for scalar, XMM and YMM/ZMM instructions - removing InstrRW overrides for these instructions.

Fixes Atom ADDSUBPD instruction and reclassifies VFPCLASS as WriteFCmp which is closer in behaviour.

llvm-svn: 331672
15 files changed:
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/lib/Target/X86/X86InstrSSE.td
llvm/lib/Target/X86/X86SchedBroadwell.td
llvm/lib/Target/X86/X86SchedHaswell.td
llvm/lib/Target/X86/X86SchedSandyBridge.td
llvm/lib/Target/X86/X86SchedSkylakeClient.td
llvm/lib/Target/X86/X86SchedSkylakeServer.td
llvm/lib/Target/X86/X86Schedule.td
llvm/lib/Target/X86/X86ScheduleAtom.td
llvm/lib/Target/X86/X86ScheduleBtVer2.td
llvm/lib/Target/X86/X86ScheduleSLM.td
llvm/lib/Target/X86/X86ScheduleZnver1.td
llvm/test/CodeGen/X86/sse3-schedule.ll
llvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s
llvm/test/tools/llvm-mca/X86/Atom/resources-sse3.s