OSDN Git Service

[X86] Make the multiply and divide itineraries more consistent.
authorCraig Topper <craig.topper@intel.com>
Mon, 19 Mar 2018 16:38:33 +0000 (16:38 +0000)
committerCraig Topper <craig.topper@intel.com>
Mon, 19 Mar 2018 16:38:33 +0000 (16:38 +0000)
commit34035f0c288a1a6e2b45daf8e3af2b47985167b9
tree60272cec2d82faae792f2e0d48e6bf8a7f5080b3
parentf01789ae30957e4ccba9735e095fbf88b5db2b4a
[X86] Make the multiply and divide itineraries more consistent.

Sometimes we used the same itinerary for MEM and REG forms, but that seems inconsistent with our usual usage.

We also used the MUL8 itinerary for MULX32/64 which was also weird.

The test changes are because we were using IIC_IMUL32_RR and IIC_IMUL64_RR instead of IIC_IMUL32_REG/IIC_IMUL64_REG for the 32 and 64 bit multiplies that produce double width result.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327866 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86InstrArithmetic.td
lib/Target/X86/X86Schedule.td
lib/Target/X86/X86ScheduleAtom.td
test/CodeGen/X86/schedule-x86_64.ll