[PATCH] D46276: [CostModel][X86] Derive TTI costs from complete scheduling models (PR36550) (RFC)
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Aug 26 05:54:46 PDT 2018
RKSimon added inline comments.
================
Comment at: lib/Target/X86/X86TargetTransformInfo.cpp:698-716
+ { ISD::FADD, MVT::v8f32, 2, { X86::VADDPSYrr } },
+ { ISD::FADD, MVT::v2f64, 1, { X86::VADDPDrr } },
+ { ISD::FADD, MVT::v4f32, 1, { X86::VADDPSrr } },
+ { ISD::FADD, MVT::f64, 1, { X86::VADDSDrr } },
+ { ISD::FADD, MVT::f32, 1, { X86::VADDSSrr } },
+
+ { ISD::FSUB, MVT::v4f64, 2, { X86::VSUBPDYrr } },
----------------
RKSimon wrote:
> ABataev wrote:
> > andreadb wrote:
> > > I wonder if these cost tables could be auto-generates. For example via tablegen.
> > >
> > > ```
> > > class CostTableTransition<MVT, list<Instruction>, int DefaultCost = 1> {...};
> > > class CostTableEntry<ISDOpcode, list<CostTableTransition>> {...};
> > >
> > > def FMUL : ConstTableEntry<
> > > ISD::FMUL,
> > > [
> > > MVT::v4f64, [ X86::VMULPDYrr ],
> > > MVT::v8f32, [ X86::VMULPSYrr ],
> > > ...
> > > ]>
> > > >;
> > > ```
> > >
> > > That being said, I am not convinced that it is a good idea to do it.
> > > It is probably a lot of work for very little gain in return. Also, it is questionable whether tablegen descriptors would be more readable and less verbose than what you have here...
> > >
> > +1 here
> I agree that its getting very cluttered, so I'm open to ideas on how we improve the clarity of the cost tables in the future. But I'm not certain yet if a tblgen refactor will give us much extra benefit.
>
> I'd prefer to get this patch in first to demonstrate how we want to drive the costs from MI and scheduler models.
We will also need a plan for PR31274 before we consider a move to tblgen or other big changes.
Repository:
rL LLVM
https://reviews.llvm.org/D46276
More information about the llvm-commits
mailing list