search for: x86movddup

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...