[PATCH] [PATCH] Test case and FastISel fixes with FeatureVSX enabled

Bill Schmidt wschmidt at linux.vnet.ibm.com
Mon Sep 22 11:50:43 PDT 2014


On Mon, 2014-09-22 at 10:05 -0700, Eric Christopher wrote:
> >> How about changing getRegForValue to return 0 if it ends up with a VSX register.  All the uses of getRegForValue already check for a 0 return value.  That moves the code to just one spot and there are already multiple checks there for things that FastISel can't handle.
> >
> > Hi Bill,
> >
> > I believe this is generally what Eric is suggesting, but
> > FastISel::getRegForValue() is in the common code, so we have to change
> > it in one of the backend-specific calls.  There is a call to
> > TLI.isTypeLegal(VT) in FastISel::getRegForValue() that will call into
> > PPCFastISel.isTypeLegal().  So you can add a check there for the VSX
> > register classes and return false for now, and that will take care of it
> > everywhere.
> >
> 
> Not the register classes, but the types that would lead to those
> classes. (f128 probably, etc)

Right, I misspoke (with my phalanges).  I think you should be able to
just return false when VSX is enabled and VT.isVector() is true.

> 
> -eric
> 
> > Thanks,
> > Bill
> >>
> >> > As a general note, please upload full-context diffs in the future (see http://llvm.org/docs/Phabricator.html for instructions).
> >>
> >> Will do.
> >>
> >> http://reviews.llvm.org/D5362
> >>
> >>
> >
> >
> 





More information about the llvm-commits mailing list