diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrFormats.td')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrFormats.td | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86InstrFormats.td b/llvm/lib/Target/X86/X86InstrFormats.td index 371b5046ff3..2a6ed02fada 100644 --- a/llvm/lib/Target/X86/X86InstrFormats.td +++ b/llvm/lib/Target/X86/X86InstrFormats.td @@ -862,10 +862,14 @@ class PCLMULIi8<bits<8> o, Format F, dag outs, dag ins, string asm,  class FMA3<bits<8> o, Format F, dag outs, dag ins, string asm,             list<dag>pattern, InstrItinClass itin = NoItinerary>        : I<o, F, outs, ins, asm, pattern, itin>, T8PD, -        VEX_4V, FMASC, Requires<[HasFMA, NoVLX]>; +        VEX_4V, FMASC, Requires<[HasFMA, NoFMA4, NoVLX]>;  class FMA3S<bits<8> o, Format F, dag outs, dag ins, string asm,              list<dag>pattern, InstrItinClass itin = NoItinerary>        : I<o, F, outs, ins, asm, pattern, itin>, T8PD, +        VEX_4V, FMASC, Requires<[HasFMA, NoFMA4, NoAVX512]>; +class FMA3S_Int<bits<8> o, Format F, dag outs, dag ins, string asm, +                list<dag>pattern, InstrItinClass itin = NoItinerary> +      : I<o, F, outs, ins, asm, pattern, itin>, T8PD,          VEX_4V, FMASC, Requires<[HasFMA, NoAVX512]>;  // FMA4 Instruction Templates @@ -877,6 +881,10 @@ class FMA4S<bits<8> o, Format F, dag outs, dag ins, string asm,              list<dag>pattern, InstrItinClass itin = NoItinerary>        : Ii8Reg<o, F, outs, ins, asm, pattern, itin>, TAPD,          VEX_4V, FMASC, Requires<[HasFMA4, NoAVX512]>; +class FMA4S_Int<bits<8> o, Format F, dag outs, dag ins, string asm, +                list<dag>pattern, InstrItinClass itin = NoItinerary> +      : Ii8Reg<o, F, outs, ins, asm, pattern, itin>, TAPD, +        VEX_4V, FMASC, Requires<[HasFMA4]>;  // XOP 2, 3 and 4 Operand Instruction Template  class IXOP<bits<8> o, Format F, dag outs, dag ins, string asm,  | 

