OSDN Git Service

[X86][Nearly NFC] Split SHLD/SHRD into their own WriteShiftDouble class
authorRoman Lebedev <lebedev.ri@gmail.com>
Sun, 8 Jul 2018 19:01:55 +0000 (19:01 +0000)
committerRoman Lebedev <lebedev.ri@gmail.com>
Sun, 8 Jul 2018 19:01:55 +0000 (19:01 +0000)
commit1f94f5a559eb5c928c04d6472ab2c37322f9e807
tree0c895614ebb012c7a4089dde34d3d7be04604690
parent2ad74abae519dd5e99f59457a3310aa678d4bab9
[X86][Nearly NFC] Split SHLD/SHRD into their own WriteShiftDouble class

Summary:
{F6603964}
While there is still some discrepancies within that new group,
it is clearly separate from the other shifts.
And Agner's tables agree, these double shifts are clearly
different from the normal shifts/rotates.

I'm guessing `FeatureSlowSHLD` is related.

Indeed, a basic sched pair is *not* the /best/ match.
But keeping it in the WriteShift is /clearly/ not ideal either.
This can and likely will be fine-tuned later.

This is purely mechanical change, it does not change any numbers,
as the [lack of the change of] mca tests show.

Reviewers: craig.topper, RKSimon, andreadb

Reviewed By: craig.topper

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336515 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86InstrShiftRotate.td
lib/Target/X86/X86SchedBroadwell.td
lib/Target/X86/X86SchedHaswell.td
lib/Target/X86/X86SchedSandyBridge.td
lib/Target/X86/X86SchedSkylakeClient.td
lib/Target/X86/X86SchedSkylakeServer.td
lib/Target/X86/X86Schedule.td
lib/Target/X86/X86ScheduleAtom.td
lib/Target/X86/X86ScheduleBtVer2.td
lib/Target/X86/X86ScheduleSLM.td
lib/Target/X86/X86ScheduleZnver1.td