[X86] Adjust fsetcc/fmin/fmax costs to match SoG (Issue #54889)
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 14 Apr 2022 12:27:27 +0000 (13:27 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 14 Apr 2022 12:27:33 +0000 (13:27 +0100)
commita305d8f44ec8e91739c1f1e714cbfd19acc80489
tree58b0f2d4e18c56494861c63a0550532b8c843ada
parent66c44b20b4a538fbb1bae8bc9533c25f5a006bd5
[X86] Adjust fsetcc/fmin/fmax costs to match SoG (Issue #54889)

znver1/2 models were incorrectly modelling these as 3 cycle latency instructions on the wrong pipe and znver1 ymm variants also require double pumping.

Now matches AMD SoG, Agner and instlatx64 numbers.

Thanks to @fabian-r for the report
llvm/lib/Target/X86/X86ScheduleZnver1.td
llvm/lib/Target/X86/X86ScheduleZnver2.td
llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s