OSDN Git Service

[X86] ALU/ADC RMW instructions should use the WriteRMW sequence class
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 3 Oct 2018 10:01:13 +0000 (10:01 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 3 Oct 2018 10:01:13 +0000 (10:01 +0000)
commitf7055267ae21773785a616886578a0752ddaf977
treea292db31d4f3feb24f70001b6214e6e064977896
parentce8f59266c63538ca171ceb7b263d062c8bf696e
[X86] ALU/ADC RMW instructions should use the WriteRMW sequence class

I was expecting this to be a nfc but Silvermont seems to be setup a little differently:

// A folded store needs a cycle on MEC_RSV for the store data, but it does not need an extra port cycle to recompute the address.
def : WriteRes<WriteRMW, [SLM_MEC_RSV]>;

So moving from WriteStore to WriteRMW reduces predicted port pressure, confirmed by @craig.topper that this is correct.

Differential Revision: https://reviews.llvm.org/D52740

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@343670 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86Schedule.td
test/tools/llvm-mca/X86/SLM/resources-x86_64.s