Lines Matching refs:XT

92     def NAME : XX3Form_Rc<opcode, xo, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
94 [(set OutTy:$XT, (Int InTy:$XA, InTy:$XB))]>;
96 def o : XX3Form_Rc<opcode, xo, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
98 [(set InTy:$XT,
135 (outs vsfrc:$XT), (ins memrr:$src),
136 "lxsdx $XT, $src", IIC_LdStLFD,
141 def XFLOADf64 : PseudoXFormMemOp<(outs vsfrc:$XT), (ins memrr:$src),
143 [(set f64:$XT, (load xoaddr:$src))]>;
147 (outs vsrc:$XT), (ins memrr:$src),
148 "lxvd2x $XT, $src", IIC_LdStLFD,
149 [(set v2f64:$XT, (int_ppc_vsx_lxvd2x xoaddr:$src))]>;
152 (outs vsrc:$XT), (ins memrr:$src),
153 "lxvdsx $XT, $src", IIC_LdStLFD, []>;
157 (outs vsrc:$XT), (ins memrr:$src),
158 "lxvw4x $XT, $src", IIC_LdStLFD,
166 (outs), (ins vsfrc:$XT, memrr:$dst),
167 "stxsdx $XT, $dst", IIC_LdStSTFD,
172 def XFSTOREf64 : PseudoXFormMemOp<(outs), (ins vsfrc:$XT, memrr:$dst),
174 [(store f64:$XT, xoaddr:$dst)]>;
180 (outs), (ins vsrc:$XT, memrr:$dst),
181 "stxvd2x $XT, $dst", IIC_LdStSTFD,
185 (outs), (ins vsrc:$XT, memrr:$dst),
186 "stxvw4x $XT, $dst", IIC_LdStSTFD,
194 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
195 "xsadddp $XT, $XA, $XB", IIC_VecFP,
196 [(set f64:$XT, (fadd f64:$XA, f64:$XB))]>;
198 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
199 "xsmuldp $XT, $XA, $XB", IIC_VecFP,
200 [(set f64:$XT, (fmul f64:$XA, f64:$XB))]>;
203 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
204 "xvadddp $XT, $XA, $XB", IIC_VecFP,
205 [(set v2f64:$XT, (fadd v2f64:$XA, v2f64:$XB))]>;
208 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
209 "xvaddsp $XT, $XA, $XB", IIC_VecFP,
210 [(set v4f32:$XT, (fadd v4f32:$XA, v4f32:$XB))]>;
213 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
214 "xvmuldp $XT, $XA, $XB", IIC_VecFP,
215 [(set v2f64:$XT, (fmul v2f64:$XA, v2f64:$XB))]>;
218 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
219 "xvmulsp $XT, $XA, $XB", IIC_VecFP,
220 [(set v4f32:$XT, (fmul v4f32:$XA, v4f32:$XB))]>;
225 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
226 "xssubdp $XT, $XA, $XB", IIC_VecFP,
227 [(set f64:$XT, (fsub f64:$XA, f64:$XB))]>;
230 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
231 "xvsubdp $XT, $XA, $XB", IIC_VecFP,
232 [(set v2f64:$XT, (fsub v2f64:$XA, v2f64:$XB))]>;
234 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
235 "xvsubsp $XT, $XA, $XB", IIC_VecFP,
236 [(set v4f32:$XT, (fsub v4f32:$XA, v4f32:$XB))]>;
242 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
243 "xsmaddadp $XT, $XA, $XB", IIC_VecFP,
244 [(set f64:$XT, (fma f64:$XA, f64:$XB, f64:$XTi))]>,
245 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
249 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
250 "xsmaddmdp $XT, $XA, $XB", IIC_VecFP, []>,
251 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
258 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
259 "xsmsubadp $XT, $XA, $XB", IIC_VecFP,
260 [(set f64:$XT, (fma f64:$XA, f64:$XB, (fneg f64:$XTi)))]>,
261 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
265 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
266 "xsmsubmdp $XT, $XA, $XB", IIC_VecFP, []>,
267 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
274 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
275 "xsnmaddadp $XT, $XA, $XB", IIC_VecFP,
276 [(set f64:$XT, (fneg (fma f64:$XA, f64:$XB, f64:$XTi)))]>,
277 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
281 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
282 "xsnmaddmdp $XT, $XA, $XB", IIC_VecFP, []>,
283 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
290 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
291 "xsnmsubadp $XT, $XA, $XB", IIC_VecFP,
292 [(set f64:$XT, (fneg (fma f64:$XA, f64:$XB, (fneg f64:$XTi))))]>,
293 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
297 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
298 "xsnmsubmdp $XT, $XA, $XB", IIC_VecFP, []>,
299 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
306 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
307 "xvmaddadp $XT, $XA, $XB", IIC_VecFP,
308 [(set v2f64:$XT, (fma v2f64:$XA, v2f64:$XB, v2f64:$XTi))]>,
309 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
313 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
314 "xvmaddmdp $XT, $XA, $XB", IIC_VecFP, []>,
315 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
322 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
323 "xvmaddasp $XT, $XA, $XB", IIC_VecFP,
324 [(set v4f32:$XT, (fma v4f32:$XA, v4f32:$XB, v4f32:$XTi))]>,
325 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
329 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
330 "xvmaddmsp $XT, $XA, $XB", IIC_VecFP, []>,
331 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
338 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
339 "xvmsubadp $XT, $XA, $XB", IIC_VecFP,
340 [(set v2f64:$XT, (fma v2f64:$XA, v2f64:$XB, (fneg v2f64:$XTi)))]>,
341 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
345 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
346 "xvmsubmdp $XT, $XA, $XB", IIC_VecFP, []>,
347 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
354 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
355 "xvmsubasp $XT, $XA, $XB", IIC_VecFP,
356 [(set v4f32:$XT, (fma v4f32:$XA, v4f32:$XB, (fneg v4f32:$XTi)))]>,
357 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
361 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
362 "xvmsubmsp $XT, $XA, $XB", IIC_VecFP, []>,
363 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
370 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
371 "xvnmaddadp $XT, $XA, $XB", IIC_VecFP,
372 [(set v2f64:$XT, (fneg (fma v2f64:$XA, v2f64:$XB, v2f64:$XTi)))]>,
373 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
377 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
378 "xvnmaddmdp $XT, $XA, $XB", IIC_VecFP, []>,
379 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
386 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
387 "xvnmaddasp $XT, $XA, $XB", IIC_VecFP,
388 [(set v4f32:$XT, (fneg (fma v4f32:$XA, v4f32:$XB, v4f32:$XTi)))]>,
389 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
393 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
394 "xvnmaddmsp $XT, $XA, $XB", IIC_VecFP, []>,
395 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
402 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
403 "xvnmsubadp $XT, $XA, $XB", IIC_VecFP,
404 [(set v2f64:$XT, (fneg (fma v2f64:$XA, v2f64:$XB, (fneg v2f64:$XTi))))]>,
405 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
409 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
410 "xvnmsubmdp $XT, $XA, $XB", IIC_VecFP, []>,
411 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
418 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
419 "xvnmsubasp $XT, $XA, $XB", IIC_VecFP,
420 [(set v4f32:$XT, (fneg (fma v4f32:$XA, v4f32:$XB, (fneg v4f32:$XTi))))]>,
421 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
425 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
426 "xvnmsubmsp $XT, $XA, $XB", IIC_VecFP, []>,
427 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
433 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
434 "xsdivdp $XT, $XA, $XB", IIC_FPDivD,
435 [(set f64:$XT, (fdiv f64:$XA, f64:$XB))]>;
437 (outs vsfrc:$XT), (ins vsfrc:$XB),
438 "xssqrtdp $XT, $XB", IIC_FPSqrtD,
439 [(set f64:$XT, (fsqrt f64:$XB))]>;
442 (outs vsfrc:$XT), (ins vsfrc:$XB),
443 "xsredp $XT, $XB", IIC_VecFP,
444 [(set f64:$XT, (PPCfre f64:$XB))]>;
446 (outs vsfrc:$XT), (ins vsfrc:$XB),
447 "xsrsqrtedp $XT, $XB", IIC_VecFP,
448 [(set f64:$XT, (PPCfrsqrte f64:$XB))]>;
458 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
459 "xvdivdp $XT, $XA, $XB", IIC_FPDivD,
460 [(set v2f64:$XT, (fdiv v2f64:$XA, v2f64:$XB))]>;
462 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
463 "xvdivsp $XT, $XA, $XB", IIC_FPDivS,
464 [(set v4f32:$XT, (fdiv v4f32:$XA, v4f32:$XB))]>;
467 (outs vsrc:$XT), (ins vsrc:$XB),
468 "xvsqrtdp $XT, $XB", IIC_FPSqrtD,
469 [(set v2f64:$XT, (fsqrt v2f64:$XB))]>;
471 (outs vsrc:$XT), (ins vsrc:$XB),
472 "xvsqrtsp $XT, $XB", IIC_FPSqrtS,
473 [(set v4f32:$XT, (fsqrt v4f32:$XB))]>;
490 (outs vsrc:$XT), (ins vsrc:$XB),
491 "xvredp $XT, $XB", IIC_VecFP,
492 [(set v2f64:$XT, (PPCfre v2f64:$XB))]>;
494 (outs vsrc:$XT), (ins vsrc:$XB),
495 "xvresp $XT, $XB", IIC_VecFP,
496 [(set v4f32:$XT, (PPCfre v4f32:$XB))]>;
499 (outs vsrc:$XT), (ins vsrc:$XB),
500 "xvrsqrtedp $XT, $XB", IIC_VecFP,
501 [(set v2f64:$XT, (PPCfrsqrte v2f64:$XB))]>;
503 (outs vsrc:$XT), (ins vsrc:$XB),
504 "xvrsqrtesp $XT, $XB", IIC_VecFP,
505 [(set v4f32:$XT, (PPCfrsqrte v4f32:$XB))]>;
516 "xvcmpeqdp", "$XT, $XA, $XB", IIC_VecFPCompare,
519 "xvcmpeqsp", "$XT, $XA, $XB", IIC_VecFPCompare,
522 "xvcmpgedp", "$XT, $XA, $XB", IIC_VecFPCompare,
525 "xvcmpgesp", "$XT, $XA, $XB", IIC_VecFPCompare,
528 "xvcmpgtdp", "$XT, $XA, $XB", IIC_VecFPCompare,
531 "xvcmpgtsp", "$XT, $XA, $XB", IIC_VecFPCompare,
536 (outs vsfrc:$XT), (ins vsfrc:$XB),
537 "xsabsdp $XT, $XB", IIC_VecFP,
538 [(set f64:$XT, (fabs f64:$XB))]>;
540 (outs vsfrc:$XT), (ins vsfrc:$XB),
541 "xsnabsdp $XT, $XB", IIC_VecFP,
542 [(set f64:$XT, (fneg (fabs f64:$XB)))]>;
544 (outs vsfrc:$XT), (ins vsfrc:$XB),
545 "xsnegdp $XT, $XB", IIC_VecFP,
546 [(set f64:$XT, (fneg f64:$XB))]>;
548 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
549 "xscpsgndp $XT, $XA, $XB", IIC_VecFP,
550 [(set f64:$XT, (fcopysign f64:$XB, f64:$XA))]>;
553 (outs vsrc:$XT), (ins vsrc:$XB),
554 "xvabsdp $XT, $XB", IIC_VecFP,
555 [(set v2f64:$XT, (fabs v2f64:$XB))]>;
558 (outs vsrc:$XT), (ins vsrc:$XB),
559 "xvabssp $XT, $XB", IIC_VecFP,
560 [(set v4f32:$XT, (fabs v4f32:$XB))]>;
563 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
564 "xvcpsgndp $XT, $XA, $XB", IIC_VecFP,
565 [(set v2f64:$XT, (fcopysign v2f64:$XB, v2f64:$XA))]>;
567 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
568 "xvcpsgnsp $XT, $XA, $XB", IIC_VecFP,
569 [(set v4f32:$XT, (fcopysign v4f32:$XB, v4f32:$XA))]>;
572 (outs vsrc:$XT), (ins vsrc:$XB),
573 "xvnabsdp $XT, $XB", IIC_VecFP,
574 [(set v2f64:$XT, (fneg (fabs v2f64:$XB)))]>;
576 (outs vsrc:$XT), (ins vsrc:$XB),
577 "xvnabssp $XT, $XB", IIC_VecFP,
578 [(set v4f32:$XT, (fneg (fabs v4f32:$XB)))]>;
581 (outs vsrc:$XT), (ins vsrc:$XB),
582 "xvnegdp $XT, $XB", IIC_VecFP,
583 [(set v2f64:$XT, (fneg v2f64:$XB))]>;
585 (outs vsrc:$XT), (ins vsrc:$XB),
586 "xvnegsp $XT, $XB", IIC_VecFP,
587 [(set v4f32:$XT, (fneg v4f32:$XB))]>;
591 (outs vsfrc:$XT), (ins vsfrc:$XB),
592 "xscvdpsp $XT, $XB", IIC_VecFP, []>;
594 (outs vsfrc:$XT), (ins vsfrc:$XB),
595 "xscvdpsxds $XT, $XB", IIC_VecFP,
596 [(set f64:$XT, (PPCfctidz f64:$XB))]>;
599 (outs vssrc:$XT), (ins vssrc:$XB),
600 "xscvdpsxds $XT, $XB", IIC_VecFP,
601 [(set f32:$XT, (PPCfctidz f32:$XB))]>;
603 (outs vsfrc:$XT), (ins vsfrc:$XB),
604 "xscvdpsxws $XT, $XB", IIC_VecFP,
605 [(set f64:$XT, (PPCfctiwz f64:$XB))]>;
608 (outs vssrc:$XT), (ins vssrc:$XB),
609 "xscvdpsxws $XT, $XB", IIC_VecFP,
610 [(set f32:$XT, (PPCfctiwz f32:$XB))]>;
612 (outs vsfrc:$XT), (ins vsfrc:$XB),
613 "xscvdpuxds $XT, $XB", IIC_VecFP,
614 [(set f64:$XT, (PPCfctiduz f64:$XB))]>;
617 (outs vssrc:$XT), (ins vssrc:$XB),
618 "xscvdpuxds $XT, $XB", IIC_VecFP,
619 [(set f32:$XT, (PPCfctiduz f32:$XB))]>;
621 (outs vsfrc:$XT), (ins vsfrc:$XB),
622 "xscvdpuxws $XT, $XB", IIC_VecFP,
623 [(set f64:$XT, (PPCfctiwuz f64:$XB))]>;
626 (outs vssrc:$XT), (ins vssrc:$XB),
627 "xscvdpuxws $XT, $XB", IIC_VecFP,
628 [(set f32:$XT, (PPCfctiwuz f32:$XB))]>;
630 (outs vsfrc:$XT), (ins vsfrc:$XB),
631 "xscvspdp $XT, $XB", IIC_VecFP, []>;
633 (outs vsfrc:$XT), (ins vsfrc:$XB),
634 "xscvsxddp $XT, $XB", IIC_VecFP,
635 [(set f64:$XT, (PPCfcfid f64:$XB))]>;
637 (outs vsfrc:$XT), (ins vsfrc:$XB),
638 "xscvuxddp $XT, $XB", IIC_VecFP,
639 [(set f64:$XT, (PPCfcfidu f64:$XB))]>;
642 (outs vsrc:$XT), (ins vsrc:$XB),
643 "xvcvdpsp $XT, $XB", IIC_VecFP,
644 [(set v4f32:$XT, (int_ppc_vsx_xvcvdpsp v2f64:$XB))]>;
646 (outs vsrc:$XT), (ins vsrc:$XB),
647 "xvcvdpsxds $XT, $XB", IIC_VecFP,
648 [(set v2i64:$XT, (fp_to_sint v2f64:$XB))]>;
650 (outs vsrc:$XT), (ins vsrc:$XB),
651 "xvcvdpsxws $XT, $XB", IIC_VecFP,
652 [(set v4i32:$XT, (int_ppc_vsx_xvcvdpsxws v2f64:$XB))]>;
654 (outs vsrc:$XT), (ins vsrc:$XB),
655 "xvcvdpuxds $XT, $XB", IIC_VecFP,
656 [(set v2i64:$XT, (fp_to_uint v2f64:$XB))]>;
658 (outs vsrc:$XT), (ins vsrc:$XB),
659 "xvcvdpuxws $XT, $XB", IIC_VecFP,
660 [(set v4i32:$XT, (int_ppc_vsx_xvcvdpuxws v2f64:$XB))]>;
663 (outs vsrc:$XT), (ins vsrc:$XB),
664 "xvcvspdp $XT, $XB", IIC_VecFP,
665 [(set v2f64:$XT, (int_ppc_vsx_xvcvspdp v4f32:$XB))]>;
667 (outs vsrc:$XT), (ins vsrc:$XB),
668 "xvcvspsxds $XT, $XB", IIC_VecFP, []>;
670 (outs vsrc:$XT), (ins vsrc:$XB),
671 "xvcvspsxws $XT, $XB", IIC_VecFP,
672 [(set v4i32:$XT, (fp_to_sint v4f32:$XB))]>;
674 (outs vsrc:$XT), (ins vsrc:$XB),
675 "xvcvspuxds $XT, $XB", IIC_VecFP, []>;
677 (outs vsrc:$XT), (ins vsrc:$XB),
678 "xvcvspuxws $XT, $XB", IIC_VecFP,
679 [(set v4i32:$XT, (fp_to_uint v4f32:$XB))]>;
681 (outs vsrc:$XT), (ins vsrc:$XB),
682 "xvcvsxddp $XT, $XB", IIC_VecFP,
683 [(set v2f64:$XT, (sint_to_fp v2i64:$XB))]>;
685 (outs vsrc:$XT), (ins vsrc:$XB),
686 "xvcvsxdsp $XT, $XB", IIC_VecFP,
687 [(set v4f32:$XT, (int_ppc_vsx_xvcvsxdsp v2i64:$XB))]>;
689 (outs vsrc:$XT), (ins vsrc:$XB),
690 "xvcvsxwdp $XT, $XB", IIC_VecFP,
691 [(set v2f64:$XT, (int_ppc_vsx_xvcvsxwdp v4i32:$XB))]>;
693 (outs vsrc:$XT), (ins vsrc:$XB),
694 "xvcvsxwsp $XT, $XB", IIC_VecFP,
695 [(set v4f32:$XT, (sint_to_fp v4i32:$XB))]>;
697 (outs vsrc:$XT), (ins vsrc:$XB),
698 "xvcvuxddp $XT, $XB", IIC_VecFP,
699 [(set v2f64:$XT, (uint_to_fp v2i64:$XB))]>;
701 (outs vsrc:$XT), (ins vsrc:$XB),
702 "xvcvuxdsp $XT, $XB", IIC_VecFP,
703 [(set v4f32:$XT, (int_ppc_vsx_xvcvuxdsp v2i64:$XB))]>;
705 (outs vsrc:$XT), (ins vsrc:$XB),
706 "xvcvuxwdp $XT, $XB", IIC_VecFP,
707 [(set v2f64:$XT, (int_ppc_vsx_xvcvuxwdp v4i32:$XB))]>;
709 (outs vsrc:$XT), (ins vsrc:$XB),
710 "xvcvuxwsp $XT, $XB", IIC_VecFP,
711 [(set v4f32:$XT, (uint_to_fp v4i32:$XB))]>;
715 (outs vsfrc:$XT), (ins vsfrc:$XB),
716 "xsrdpi $XT, $XB", IIC_VecFP,
717 [(set f64:$XT, (fround f64:$XB))]>;
719 (outs vsfrc:$XT), (ins vsfrc:$XB),
720 "xsrdpic $XT, $XB", IIC_VecFP,
721 [(set f64:$XT, (fnearbyint f64:$XB))]>;
723 (outs vsfrc:$XT), (ins vsfrc:$XB),
724 "xsrdpim $XT, $XB", IIC_VecFP,
725 [(set f64:$XT, (ffloor f64:$XB))]>;
727 (outs vsfrc:$XT), (ins vsfrc:$XB),
728 "xsrdpip $XT, $XB", IIC_VecFP,
729 [(set f64:$XT, (fceil f64:$XB))]>;
731 (outs vsfrc:$XT), (ins vsfrc:$XB),
732 "xsrdpiz $XT, $XB", IIC_VecFP,
733 [(set f64:$XT, (ftrunc f64:$XB))]>;
736 (outs vsrc:$XT), (ins vsrc:$XB),
737 "xvrdpi $XT, $XB", IIC_VecFP,
738 [(set v2f64:$XT, (fround v2f64:$XB))]>;
740 (outs vsrc:$XT), (ins vsrc:$XB),
741 "xvrdpic $XT, $XB", IIC_VecFP,
742 [(set v2f64:$XT, (fnearbyint v2f64:$XB))]>;
744 (outs vsrc:$XT), (ins vsrc:$XB),
745 "xvrdpim $XT, $XB", IIC_VecFP,
746 [(set v2f64:$XT, (ffloor v2f64:$XB))]>;
748 (outs vsrc:$XT), (ins vsrc:$XB),
749 "xvrdpip $XT, $XB", IIC_VecFP,
750 [(set v2f64:$XT, (fceil v2f64:$XB))]>;
752 (outs vsrc:$XT), (ins vsrc:$XB),
753 "xvrdpiz $XT, $XB", IIC_VecFP,
754 [(set v2f64:$XT, (ftrunc v2f64:$XB))]>;
757 (outs vsrc:$XT), (ins vsrc:$XB),
758 "xvrspi $XT, $XB", IIC_VecFP,
759 [(set v4f32:$XT, (fround v4f32:$XB))]>;
761 (outs vsrc:$XT), (ins vsrc:$XB),
762 "xvrspic $XT, $XB", IIC_VecFP,
763 [(set v4f32:$XT, (fnearbyint v4f32:$XB))]>;
765 (outs vsrc:$XT), (ins vsrc:$XB),
766 "xvrspim $XT, $XB", IIC_VecFP,
767 [(set v4f32:$XT, (ffloor v4f32:$XB))]>;
769 (outs vsrc:$XT), (ins vsrc:$XB),
770 "xvrspip $XT, $XB", IIC_VecFP,
771 [(set v4f32:$XT, (fceil v4f32:$XB))]>;
773 (outs vsrc:$XT), (ins vsrc:$XB),
774 "xvrspiz $XT, $XB", IIC_VecFP,
775 [(set v4f32:$XT, (ftrunc v4f32:$XB))]>;
780 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
781 "xsmaxdp $XT, $XA, $XB", IIC_VecFP,
782 [(set vsfrc:$XT,
785 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
786 "xsmindp $XT, $XA, $XB", IIC_VecFP,
787 [(set vsfrc:$XT,
791 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
792 "xvmaxdp $XT, $XA, $XB", IIC_VecFP,
793 [(set vsrc:$XT,
796 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
797 "xvmindp $XT, $XA, $XB", IIC_VecFP,
798 [(set vsrc:$XT,
802 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
803 "xvmaxsp $XT, $XA, $XB", IIC_VecFP,
804 [(set vsrc:$XT,
807 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
808 "xvminsp $XT, $XA, $XB", IIC_VecFP,
809 [(set vsrc:$XT,
817 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
818 "xxland $XT, $XA, $XB", IIC_VecGeneral,
819 [(set v4i32:$XT, (and v4i32:$XA, v4i32:$XB))]>;
821 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
822 "xxlandc $XT, $XA, $XB", IIC_VecGeneral,
823 [(set v4i32:$XT, (and v4i32:$XA,
827 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
828 "xxlnor $XT, $XA, $XB", IIC_VecGeneral,
829 [(set v4i32:$XT, (vnot_ppc (or v4i32:$XA,
832 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
833 "xxlor $XT, $XA, $XB", IIC_VecGeneral,
834 [(set v4i32:$XT, (or v4i32:$XA, v4i32:$XB))]>;
837 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
838 "xxlor $XT, $XA, $XB", IIC_VecGeneral, []>;
840 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
841 "xxlxor $XT, $XA, $XB", IIC_VecGeneral,
842 [(set v4i32:$XT, (xor v4i32:$XA, v4i32:$XB))]>;
845 def XXLXORz : XX3Form_Zero<60, 154, (outs vsrc:$XT), (ins),
846 "xxlxor $XT, $XT, $XT", IIC_VecGeneral,
847 [(set v4i32:$XT, (v4i32 immAllZerosV))]>;
851 (outs vsfrc:$XT), (ins),
852 "xxlxor $XT, $XT, $XT", IIC_VecGeneral,
853 [(set f64:$XT, (fpimm0))]>;
855 (outs vssrc:$XT), (ins),
856 "xxlxor $XT, $XT, $XT", IIC_VecGeneral,
857 [(set f32:$XT, (fpimm0))]>;
862 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
863 "xxmrghw $XT, $XA, $XB", IIC_VecPerm, []>;
865 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
866 "xxmrglw $XT, $XA, $XB", IIC_VecPerm, []>;
869 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB, u2imm:$DM),
870 "xxpermdi $XT, $XA, $XB, $DM", IIC_VecPerm,
871 [(set v2i64:$XT, (PPCxxpermdi v2i64:$XA, v2i64:$XB,
874 def XXPERMDIs : XX3Form_2s<60, 10, (outs vsrc:$XT), (ins vsfrc:$XA, u2imm:$DM),
875 "xxpermdi $XT, $XA, $XA, $DM", IIC_VecPerm, []>;
877 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB, vsrc:$XC),
878 "xxsel $XT, $XA, $XB, $XC", IIC_VecPerm, []>;
881 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB, u2imm:$SHW),
882 "xxsldwi $XT, $XA, $XB, $SHW", IIC_VecPerm,
883 [(set v4i32:$XT, (PPCvecshl v4i32:$XA, v4i32:$XB,
888 (outs vsrc:$XT), (ins vsfrc:$XA, u2imm:$SHW),
889 "xxsldwi $XT, $XA, $XA, $SHW", IIC_VecPerm, []>;
892 (outs vsrc:$XT), (ins vsrc:$XB, u2imm:$UIM),
893 "xxspltw $XT, $XB, $UIM", IIC_VecPerm,
894 [(set v4i32:$XT,
898 (outs vsrc:$XT), (ins vfrc:$XB, u2imm:$UIM),
899 "xxspltw $XT, $XB, $UIM", IIC_VecPerm, []>;
938 def : InstAlias<"xvmovdp $XT, $XB",
939 (XVCPSGNDP vsrc:$XT, vsrc:$XB, vsrc:$XB)>;
940 def : InstAlias<"xvmovsp $XT, $XB",
941 (XVCPSGNSP vsrc:$XT, vsrc:$XB, vsrc:$XB)>;
943 def : InstAlias<"xxspltd $XT, $XB, 0",
944 (XXPERMDI vsrc:$XT, vsrc:$XB, vsrc:$XB, 0)>;
945 def : InstAlias<"xxspltd $XT, $XB, 1",
946 (XXPERMDI vsrc:$XT, vsrc:$XB, vsrc:$XB, 3)>;
947 def : InstAlias<"xxmrghd $XT, $XA, $XB",
948 (XXPERMDI vsrc:$XT, vsrc:$XA, vsrc:$XB, 0)>;
949 def : InstAlias<"xxmrgld $XT, $XA, $XB",
950 (XXPERMDI vsrc:$XT, vsrc:$XA, vsrc:$XB, 3)>;
951 def : InstAlias<"xxswapd $XT, $XB",
952 (XXPERMDI vsrc:$XT, vsrc:$XB, vsrc:$XB, 2)>;
953 def : InstAlias<"xxspltd $XT, $XB, 0",
954 (XXPERMDIs vsrc:$XT, vsfrc:$XB, 0)>;
955 def : InstAlias<"xxspltd $XT, $XB, 1",
956 (XXPERMDIs vsrc:$XT, vsfrc:$XB, 3)>;
957 def : InstAlias<"xxswapd $XT, $XB",
958 (XXPERMDIs vsrc:$XT, vsfrc:$XB, 2)>;
1082 def : Pat<(store v4i32:$XT, xoaddr:$dst), (STXVW4X $XT, xoaddr:$dst)>;
1094 // PPCvecshl XT, XA, XA, 2 can be selected to both XXSLDWI XT,XA,XA,2 and
1095 // XXSWAPD XT,XA (i.e. XXPERMDI XT,XA,XA,2), the later one is more profitable.
1253 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
1254 "xxleqv $XT, $XA, $XB", IIC_VecGeneral,
1255 [(set v4i32:$XT, (vnot_ppc (xor v4i32:$XA, v4i32:$XB)))]>;
1257 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
1258 "xxlnand $XT, $XA, $XB", IIC_VecGeneral,
1259 [(set v4i32:$XT, (vnot_ppc (and v4i32:$XA,
1268 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
1269 "xxlorc $XT, $XA, $XB", IIC_VecGeneral,
1270 [(set v4i32:$XT, (or v4i32:$XA, (vnot_ppc v4i32:$XB)))]>;
1275 def LXSSPX : XX1Form_memOp<31, 524, (outs vssrc:$XT), (ins memrr:$src),
1276 "lxsspx $XT, $src", IIC_LdStLFD, []>;
1277 def LXSIWAX : XX1Form_memOp<31, 76, (outs vsfrc:$XT), (ins memrr:$src),
1278 "lxsiwax $XT, $src", IIC_LdStLFD, []>;
1279 def LXSIWZX : XX1Form_memOp<31, 12, (outs vsfrc:$XT), (ins memrr:$src),
1280 "lxsiwzx $XT, $src", IIC_LdStLFD, []>;
1284 def XFLOADf32 : PseudoXFormMemOp<(outs vssrc:$XT), (ins memrr:$src),
1286 [(set f32:$XT, (load xoaddr:$src))]>;
1288 def LIWAX : PseudoXFormMemOp<(outs vsfrc:$XT), (ins memrr:$src),
1290 [(set f64:$XT, (PPClfiwax xoaddr:$src))]>;
1292 def LIWZX : PseudoXFormMemOp<(outs vsfrc:$XT), (ins memrr:$src),
1294 [(set f64:$XT, (PPClfiwzx xoaddr:$src))]>;
1300 def STXSSPX : XX1Form_memOp<31, 652, (outs), (ins vssrc:$XT, memrr:$dst),
1301 "stxsspx $XT, $dst", IIC_LdStSTFD, []>;
1302 def STXSIWX : XX1Form_memOp<31, 140, (outs), (ins vsfrc:$XT, memrr:$dst),
1303 "stxsiwx $XT, $dst", IIC_LdStSTFD, []>;
1307 def XFSTOREf32 : PseudoXFormMemOp<(outs), (ins vssrc:$XT, memrr:$dst),
1309 [(store f32:$XT, xoaddr:$dst)]>;
1311 def STIWX : PseudoXFormMemOp<(outs), (ins vsfrc:$XT, memrr:$dst),
1313 [(PPCstfiwx f64:$XT, xoaddr:$dst)]>;
1349 (outs vssrc:$XT), (ins vssrc:$XA, vssrc:$XB),
1350 "xsaddsp $XT, $XA, $XB", IIC_VecFP,
1351 [(set f32:$XT, (fadd f32:$XA, f32:$XB))]>;
1353 (outs vssrc:$XT), (ins vssrc:$XA, vssrc:$XB),
1354 "xsmulsp $XT, $XA, $XB", IIC_VecFP,
1355 [(set f32:$XT, (fmul f32:$XA, f32:$XB))]>;
1359 (outs vssrc:$XT), (ins vssrc:$XA, vssrc:$XB),
1360 "xsdivsp $XT, $XA, $XB", IIC_FPDivS,
1361 [(set f32:$XT, (fdiv f32:$XA, f32:$XB))]>;
1363 (outs vssrc:$XT), (ins vssrc:$XB),
1364 "xsresp $XT, $XB", IIC_VecFP,
1365 [(set f32:$XT, (PPCfre f32:$XB))]>;
1367 (outs vssrc:$XT), (ins vsfrc:$XB),
1368 "xsrsp $XT, $XB", IIC_VecFP, []>;
1370 (outs vssrc:$XT), (ins vssrc:$XB),
1371 "xssqrtsp $XT, $XB", IIC_FPSqrtS,
1372 [(set f32:$XT, (fsqrt f32:$XB))]>;
1374 (outs vssrc:$XT), (ins vssrc:$XB),
1375 "xsrsqrtesp $XT, $XB", IIC_VecFP,
1376 [(set f32:$XT, (PPCfrsqrte f32:$XB))]>;
1378 (outs vssrc:$XT), (ins vssrc:$XA, vssrc:$XB),
1379 "xssubsp $XT, $XA, $XB", IIC_VecFP,
1380 [(set f32:$XT, (fsub f32:$XA, f32:$XB))]>;
1386 (outs vssrc:$XT),
1388 "xsmaddasp $XT, $XA, $XB", IIC_VecFP,
1389 [(set f32:$XT, (fma f32:$XA, f32:$XB, f32:$XTi))]>,
1390 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
1394 (outs vssrc:$XT),
1396 "xsmaddmsp $XT, $XA, $XB", IIC_VecFP, []>,
1397 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
1404 (outs vssrc:$XT),
1406 "xsmsubasp $XT, $XA, $XB", IIC_VecFP,
1407 [(set f32:$XT, (fma f32:$XA, f32:$XB,
1409 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
1413 (outs vssrc:$XT),
1415 "xsmsubmsp $XT, $XA, $XB", IIC_VecFP, []>,
1416 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
1423 (outs vssrc:$XT),
1425 "xsnmaddasp $XT, $XA, $XB", IIC_VecFP,
1426 [(set f32:$XT, (fneg (fma f32:$XA, f32:$XB,
1428 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
1432 (outs vssrc:$XT),
1434 "xsnmaddmsp $XT, $XA, $XB", IIC_VecFP, []>,
1435 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
1442 (outs vssrc:$XT),
1444 "xsnmsubasp $XT, $XA, $XB", IIC_VecFP,
1445 [(set f32:$XT, (fneg (fma f32:$XA, f32:$XB,
1447 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
1451 (outs vssrc:$XT),
1453 "xsnmsubmsp $XT, $XA, $XB", IIC_VecFP, []>,
1454 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">,
1460 (outs vssrc:$XT), (ins vsfrc:$XB),
1461 "xscvsxdsp $XT, $XB", IIC_VecFP,
1462 [(set f32:$XT, (PPCfcfids f64:$XB))]>;
1464 (outs vssrc:$XT), (ins vsfrc:$XB),
1465 "xscvuxdsp $XT, $XB", IIC_VecFP,
1466 [(set f32:$XT, (PPCfcfidus f64:$XB))]>;
1469 def XSCVDPSPN : XX2Form<60, 267, (outs vsrc:$XT), (ins vssrc:$XB),
1470 "xscvdpspn $XT, $XB", IIC_VecFP, []>;
1471 def XSCVSPDPN : XX2Form<60, 331, (outs vssrc:$XT), (ins vsrc:$XB),
1472 "xscvspdpn $XT, $XB", IIC_VecFP, []>;
1523 def MFVSRD : XX1_RS6_RD5_XO<31, 51, (outs g8rc:$rA), (ins vsfrc:$XT),
1524 "mfvsrd $rA, $XT", IIC_VecGeneral,
1525 [(set i64:$rA, (PPCmfvsr f64:$XT))]>,
1528 def MFVRD : XX1_RS6_RD5_XO<31, 51, (outs g8rc:$rA), (ins vrrc:$XT),
1529 "mfvsrd $rA, $XT", IIC_VecGeneral,
1532 def MFVSRWZ : XX1_RS6_RD5_XO<31, 115, (outs gprc:$rA), (ins vsfrc:$XT),
1533 "mfvsrwz $rA, $XT", IIC_VecGeneral,
1534 [(set i32:$rA, (PPCmfvsr f64:$XT))]>;
1535 def MTVSRD : XX1_RS6_RD5_XO<31, 179, (outs vsfrc:$XT), (ins g8rc:$rA),
1536 "mtvsrd $XT, $rA", IIC_VecGeneral,
1537 [(set f64:$XT, (PPCmtvsra i64:$rA))]>,
1539 def MTVSRWA : XX1_RS6_RD5_XO<31, 211, (outs vsfrc:$XT), (ins gprc:$rA),
1540 "mtvsrwa $XT, $rA", IIC_VecGeneral,
1541 [(set f64:$XT, (PPCmtvsra i32:$rA))]>;
1542 def MTVSRWZ : XX1_RS6_RD5_XO<31, 243, (outs vsfrc:$XT), (ins gprc:$rA),
1543 "mtvsrwz $XT, $rA", IIC_VecGeneral,
1544 [(set f64:$XT, (PPCmtvsrz i32:$rA))]>;
1548 def MTVSRWS: XX1_RS6_RD5_XO<31, 403, (outs vsrc:$XT), (ins gprc:$rA),
1549 "mtvsrws $XT, $rA", IIC_VecGeneral, []>;
1551 def MTVSRDD: XX1Form<31, 435, (outs vsrc:$XT), (ins g8rc_nox0:$rA, g8rc:$rB),
1552 "mtvsrdd $XT, $rA, $rB", IIC_VecGeneral,
1555 def MFVSRLD: XX1_RS6_RD5_XO<31, 307, (outs g8rc:$rA), (ins vsrc:$XT),
1556 "mfvsrld $rA, $XT", IIC_VecGeneral,
1564 def : InstAlias<"mfvrd $rA, $XT",
1565 (MFVRD g8rc:$rA, vrrc:$XT), 0>;
2428 : XX2_RD6_XO5_RS6<opcode, xo2, xo, (outs vtype:$XT), (ins vtype:$XB),
2429 !strconcat(opc, " $XT, $XB"), IIC_VecFP, pattern>;
2435 : XX3Form<opcode, xo, (outs xty:$XT), (ins aty:$XA, bty:$XB),
2436 !strconcat(opc, " $XT, $XA, $XB"), itin, pattern>;
2580 // Use vsrc for XT, because the entire register of XT is set.
2581 // XT.dword[1] = 0x0000_0000_0000_0000
2648 [(set v4f32:$XT,
2692 // XT NOTE: XT.dword[1] = 0xUUUU_UUUU_UUUU_UUUU
2693 def XSIEXPDP : XX1Form <60, 918, (outs vsrc:$XT), (ins g8rc:$rA, g8rc:$rB),
2694 "xsiexpdp $XT, $rA, $rB", IIC_VecFP, []>, UseVSXReg;
2718 XX2_RD6_UIM5_RS6<60, 181, (outs vsrc:$XT),
2720 "xxinsertw $XT, $XB, $UIM", IIC_VecFP,
2721 [(set v4i32:$XT, (PPCvecinsert v4i32:$XTi, v4i32:$XB,
2723 RegConstraint<"$XTi = $XT">, NoEncode<"$XTi">;
2727 (outs vsfrc:$XT), (ins vsrc:$XB, u4imm:$UIMM),
2728 "xxextractuw $XT, $XB, $UIMM", IIC_VecFP, []>;
2733 IIC_VecFP, [(set v2f64: $XT,(int_ppc_vsx_xviexpdp v2i64:$XA, v2i64:$XB))]>;
2735 IIC_VecFP, [(set v4f32: $XT,(int_ppc_vsx_xviexpsp v4i32:$XA, v4i32:$XB))]>;
2739 [(set v2i64: $XT,
2742 [(set v4i32: $XT,
2745 [(set v2i64: $XT,
2748 [(set v4i32: $XT,
2777 (outs vsrc:$XT), (ins u7imm:$DCMX, vsrc:$XB),
2778 "xvtstdcsp $XT, $XB, $DCMX", IIC_VecFP,
2779 [(set v4i32: $XT,
2782 (outs vsrc:$XT), (ins u7imm:$DCMX, vsrc:$XB),
2783 "xvtstdcdp $XT, $XB, $DCMX", IIC_VecFP,
2784 [(set v2i64: $XT,
2791 // XT.dword[1] = 0xUUUU_UUUU_UUUU_UUUU, so we use vsrc for XT
2826 def XXSPLTIB : X_RD6_IMM8<60, 360, (outs vsrc:$XT), (ins u8imm:$IMM8),
2827 "xxspltib $XT, $IMM8", IIC_VecPerm, []>, UseVSXReg;
2836 def LXV : DQ_RD6_RS5_DQ12<61, 1, (outs vsrc:$XT), (ins memrix16:$src),
2837 "lxv $XT, $src", IIC_LdStLFD, []>, UseVSXReg;
2849 : XX1Form_memOp<opcode, xo, (outs vtype:$XT), (ins memrr:$src),
2850 !strconcat(opc, " $XT, $src"), IIC_LdStLFD, pattern>, UseVSXReg;
2854 [(set f64:$XT, (PPClxsizx xoaddr:$src, 1))]>;
2856 [(set f64:$XT, (PPClxsizx xoaddr:$src, 2))]>;
2864 [(set v2f64:$XT, (load xaddr:$src))]>;
2866 def LXVL : XX1Form_memOp<31, 269, (outs vsrc:$XT), (ins memr:$src, g8rc:$rB),
2867 "lxvl $XT, $src, $rB", IIC_LdStLoad,
2868 [(set v4i32:$XT, (int_ppc_vsx_lxvl addr:$src, i64:$rB))]>,
2870 def LXVLL : XX1Form_memOp<31,301, (outs vsrc:$XT), (ins memr:$src, g8rc:$rB),
2871 "lxvll $XT, $src, $rB", IIC_LdStLoad,
2872 [(set v4i32:$XT, (int_ppc_vsx_lxvll addr:$src, i64:$rB))]>,
2883 def STXV : DQ_RD6_RS5_DQ12<61, 5, (outs), (ins vsrc:$XT, memrix16:$dst),
2884 "stxv $XT, $dst", IIC_LdStSTFD, []>, UseVSXReg;
2895 : XX1Form_memOp<opcode, xo, (outs), (ins vtype:$XT, memrr:$dst),
2896 !strconcat(opc, " $XT, $dst"), IIC_LdStSTFD, pattern>, UseVSXReg;
2900 [(PPCstxsix f64:$XT, xoaddr:$dst, 1)]>;
2902 [(PPCstxsix f64:$XT, xoaddr:$dst, 2)]>;
2914 [(store v2f64:$XT, xaddr:$dst)]>;
2918 (ins vsrc:$XT, memr:$dst, g8rc:$rB),
2919 "stxvl $XT, $dst, $rB", IIC_LdStLoad,
2920 [(int_ppc_vsx_stxvl v4i32:$XT, addr:$dst,
2924 (ins vsrc:$XT, memr:$dst, g8rc:$rB),
2925 "stxvll $XT, $dst, $rB", IIC_LdStLoad,
2926 [(int_ppc_vsx_stxvll v4i32:$XT, addr:$dst,
3274 def DFLOADf32 : PPCPostRAExpPseudo<(outs vssrc:$XT), (ins memrix:$src),
3276 [(set f32:$XT, (load ixaddr:$src))]>;
3277 def DFLOADf64 : PPCPostRAExpPseudo<(outs vsfrc:$XT), (ins memrix:$src),
3279 [(set f64:$XT, (load ixaddr:$src))]>;
3280 def DFSTOREf32 : PPCPostRAExpPseudo<(outs), (ins vssrc:$XT, memrix:$dst),
3282 [(store f32:$XT, ixaddr:$dst)]>;
3283 def DFSTOREf64 : PPCPostRAExpPseudo<(outs), (ins vsfrc:$XT, memrix:$dst),
3285 [(store f64:$XT, ixaddr:$dst)]>;
3570 (ins spilltovsrrc:$XT, memrr:$dst),
3572 def SPILLTOVSR_ST : PPCPostRAExpPseudo<(outs), (ins spilltovsrrc:$XT, memrix:$dst),
3576 def SPILLTOVSR_LDX : PseudoXFormMemOp<(outs spilltovsrrc:$XT),
3579 def SPILLTOVSR_LD : PPCPostRAExpPseudo<(outs spilltovsrrc:$XT), (ins memrix:$src),