Displaying 2 results from an estimated 2 matches for "x86movddup".
2014 Sep 18
3
[LLVMdev] predicates vs. requirements [TableGen, X86InstrInfo.td]
...*Requires<[OptForSize**]>*;
But this does:
* let Predicates = [OptForSize] in* {
def : Pat<(v2f64 (X86VBroadcast (loadf64 addr:$src))), (VMOVDDUPrm addr
:$src)>;
}
I see both forms used on some patterns like this:
* let Predicates = [HasAVX] *in {
def : Pat<(X86Movddup (loadv2f64 addr:$src)),
(VMOVDDUPrm addr:$src)>, *Requires<[HasAVX]>*;
}
Is a predicate different than a requirement or is this a bug?
There are existing patterns that specify 'OptForSize' with "Requires", but
they are not behaving as I expected.
Exampl...
2014 Sep 19
2
[LLVMdev] predicates vs. requirements [TableGen, X86InstrInfo.td]
...tes = [OptForSize] in* {
> > def : Pat<(v2f64 (X86VBroadcast (loadf64 addr:$src))), (VMOVDDUPrm
> addr
> > :$src)>;
> > }
> >
> > I see both forms used on some patterns like this:
> > * let Predicates = [HasAVX] *in {
> > def : Pat<(X86Movddup (loadv2f64 addr:$src)),
> > (VMOVDDUPrm addr:$src)>, *Requires<[HasAVX]>*;
> > }
> >
> > Is a predicate different than a requirement or is this a bug?
> >
> > There are existing patterns that specify 'OptForSize' with "Requir...