[X86][Btver2] Correctly distinguish between scheduling pipe and functional unit for...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 18 Mar 2018 12:09:17 +0000 (12:09 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 18 Mar 2018 12:09:17 +0000 (12:09 +0000)
commite409f84e7e7cd7b50f6fe93673f4242a56d74805
tree811c7a151e51e2a214ae8421f5137131a23bc8b3
parenta6ef1abc0970ff3ae49a643cf3575226e3c5e762
[X86][Btver2] Correctly distinguish between scheduling pipe and functional unit for JWriteResFpuPair defs

Jaguar's FPU has 2 scheduler pipes (JFPU0/JFPU1) which forward to multiple functional sub-units each. We need to model that an micro-op will both consume the scheduler pipe and a functional unit.

This patch just handles the ops defined through JWriteResFpuPair, I'll go through the custom cases later.

llvm-svn: 327791
llvm/lib/Target/X86/X86ScheduleBtVer2.td
llvm/test/tools/llvm-mca/X86/BtVer2/dot-product.s
llvm/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s
llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s
llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s
llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s
llvm/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s
llvm/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s