Lines Matching full:rc
36 multiclass fma3p_rm_213<bits<8> opc, string OpcodeStr, RegisterClass RC,
39 def r : FMA3<opc, MRMSrcReg, (outs RC:$dst),
40 (ins RC:$src1, RC:$src2, RC:$src3),
43 [(set RC:$dst, (VT (Op RC:$src2, RC:$src1, RC:$src3)))]>,
47 def m : FMA3<opc, MRMSrcMem, (outs RC:$dst),
48 (ins RC:$src1, RC:$src2, x86memop:$src3),
51 [(set RC:$dst, (VT (Op RC:$src2, RC:$src1,
56 multiclass fma3p_rm_231<bits<8> opc, string OpcodeStr, RegisterClass RC,
60 def r : FMA3<opc, MRMSrcReg, (outs RC:$dst),
61 (ins RC:$src1, RC:$src2, RC:$src3),
67 def m : FMA3<opc, MRMSrcMem, (outs RC:$dst),
68 (ins RC:$src1, RC:$src2, x86memop:$src3),
71 [(set RC:$dst, (VT (Op RC:$src2, (MemFrag addr:$src3),
72 RC:$src1)))]>,
76 multiclass fma3p_rm_132<bits<8> opc, string OpcodeStr, RegisterClass RC,
80 def r : FMA3<opc, MRMSrcReg, (outs RC:$dst),
81 (ins RC:$src1, RC:$src2, RC:$src3),
89 def m : FMA3<opc, MRMSrcMem, (outs RC:$dst),
90 (ins RC:$src1, RC:$src2, x86memop:$src3),
93 [(set RC:$dst, (VT (Op (MemFrag addr:$src3), RC:$src1,
94 RC:$src2)))]>,
178 X86MemOperand x86memop, RegisterClass RC,
181 def r : FMA3S<opc, MRMSrcReg, (outs RC:$dst),
182 (ins RC:$src1, RC:$src2, RC:$src3),
185 [(set RC:$dst, (OpNode RC:$src2, RC:$src1, RC:$src3))]>,
189 def m : FMA3S<opc, MRMSrcMem, (outs RC:$dst),
190 (ins RC:$src1, RC:$src2, x86memop:$src3),
193 [(set RC:$dst,
194 (OpNode RC:$src2, RC:$src1, (load addr:$src3)))]>,
199 X86MemOperand x86memop, RegisterClass RC,
202 def r : FMA3S<opc, MRMSrcReg, (outs RC:$dst),
203 (ins RC:$src1, RC:$src2, RC:$src3),
209 def m : FMA3S<opc, MRMSrcMem, (outs RC:$dst),
210 (ins RC:$src1, RC:$src2, x86memop:$src3),
213 [(set RC:$dst,
214 (OpNode RC:$src2, (load addr:$src3), RC:$src1))]>,
219 X86MemOperand x86memop, RegisterClass RC,
222 def r : FMA3S<opc, MRMSrcReg, (outs RC:$dst),
223 (ins RC:$src1, RC:$src2, RC:$src3),
231 def m : FMA3S<opc, MRMSrcMem, (outs RC:$dst),
232 (ins RC:$src1, RC:$src2, x86memop:$src3),
235 [(set RC:$dst,
236 (OpNode (load addr:$src3), RC:$src1, RC:$src2))]>,
244 SDPatternOperator OpNode, RegisterClass RC,
247 x86memop, RC, OpNode, sched>;
249 x86memop, RC, OpNode, sched>;
251 x86memop, RC, OpNode, sched>;
270 Operand memopr, RegisterClass RC,
272 def r_Int : FMA3S_Int<opc, MRMSrcReg, (outs RC:$dst),
273 (ins RC:$src1, RC:$src2, RC:$src3),
279 def m_Int : FMA3S_Int<opc, MRMSrcMem, (outs RC:$dst),
280 (ins RC:$src1, RC:$src2, memopr:$src3),
297 RegisterClass RC, Operand memop,
300 memop, RC, sched>;
302 memop, RC, sched>;
304 memop, RC, sched>;
334 RegisterClass RC, PatFrag mem_frag> {
337 (Op RC:$src2,
339 RC:$src3))))),
341 VR128:$src1, (VT (COPY_TO_REGCLASS RC:$src2, VR128)),
342 (VT (COPY_TO_REGCLASS RC:$src3, VR128)))>;
345 (Op RC:$src2, RC:$src3,
348 VR128:$src1, (VT (COPY_TO_REGCLASS RC:$src2, VR128)),
349 (VT (COPY_TO_REGCLASS RC:$src3, VR128)))>;
352 (Op RC:$src2,
356 VR128:$src1, (VT (COPY_TO_REGCLASS RC:$src2, VR128)),
361 (mem_frag addr:$src3), RC:$src2))))),
363 VR128:$src1, (VT (COPY_TO_REGCLASS RC:$src2, VR128)),
367 (Op RC:$src2, (mem_frag addr:$src3),
370 VR128:$src1, (VT (COPY_TO_REGCLASS RC:$src2, VR128)),
390 multiclass fma4s<bits<8> opc, string OpcodeStr, RegisterClass RC,
394 def rr : FMA4S<opc, MRMSrcRegOp4, (outs RC:$dst),
395 (ins RC:$src1, RC:$src2, RC:$src3),
398 [(set RC:$dst,
399 (OpVT (OpNode RC:$src1, RC:$src2, RC:$src3)))]>, REX_W, VEX_LIG,
401 def rm : FMA4S<opc, MRMSrcMemOp4, (outs RC:$dst),
402 (ins RC:$src1, RC:$src2, x86memop:$src3),
405 [(set RC:$dst, (OpNode RC:$src1, RC:$src2,
408 def mr : FMA4S<opc, MRMSrcMem, (outs RC:$dst),
409 (ins RC:$src1, x86memop:$src2, RC:$src3),
412 [(set RC:$dst,
413 (OpNode RC:$src1, (mem_frag addr:$src2), RC:$src3))]>, VEX_LIG,
418 // RC:$src3
422 def rr_REV : FMA4S<opc, MRMSrcReg, (outs RC:$dst),
423 (ins RC:$src1, RC:$src2, RC:$src3),
598 ValueType VT, RegisterClass RC,
602 (Op RC:$src1, RC:$src2, RC:$src3))))),
604 (VT (COPY_TO_REGCLASS RC:$src1, VR128)),
605 (VT (COPY_TO_REGCLASS RC:$src2, VR128)),
606 (VT (COPY_TO_REGCLASS RC:$src3, VR128)))>;
609 (Op RC:$src1, RC:$src2,
612 (VT (COPY_TO_REGCLASS RC:$src1, VR128)),
613 (VT (COPY_TO_REGCLASS RC:$src2, VR128)), addr:$src3)>;
616 (Op RC:$src1, (mem_frag addr:$src2),
617 RC:$src3))))),
619 (VT (COPY_TO_REGCLASS RC:$src1, VR128)), addr:$src2,
620 (VT (COPY_TO_REGCLASS RC:$src3, VR128)))>;