• Home
  • Raw
  • Download

Lines Matching refs:XB

80     def NAME : XX3Form_Rc<opcode, xo, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
82 [(set OutTy:$XT, (Int InTy:$XA, InTy:$XB))]>;
84 def o : XX3Form_Rc<opcode, xo, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
87 (InTy (PPCvcmp_o InTy:$XA, InTy:$XB, xo)))]>,
145 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
146 "xsadddp $XT, $XA, $XB", IIC_VecFP,
147 [(set f64:$XT, (fadd f64:$XA, f64:$XB))]>;
149 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
150 "xsmuldp $XT, $XA, $XB", IIC_VecFP,
151 [(set f64:$XT, (fmul f64:$XA, f64:$XB))]>;
154 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
155 "xvadddp $XT, $XA, $XB", IIC_VecFP,
156 [(set v2f64:$XT, (fadd v2f64:$XA, v2f64:$XB))]>;
159 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
160 "xvaddsp $XT, $XA, $XB", IIC_VecFP,
161 [(set v4f32:$XT, (fadd v4f32:$XA, v4f32:$XB))]>;
164 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
165 "xvmuldp $XT, $XA, $XB", IIC_VecFP,
166 [(set v2f64:$XT, (fmul v2f64:$XA, v2f64:$XB))]>;
169 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
170 "xvmulsp $XT, $XA, $XB", IIC_VecFP,
171 [(set v4f32:$XT, (fmul v4f32:$XA, v4f32:$XB))]>;
176 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
177 "xssubdp $XT, $XA, $XB", IIC_VecFP,
178 [(set f64:$XT, (fsub f64:$XA, f64:$XB))]>;
181 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
182 "xvsubdp $XT, $XA, $XB", IIC_VecFP,
183 [(set v2f64:$XT, (fsub v2f64:$XA, v2f64:$XB))]>;
185 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
186 "xvsubsp $XT, $XA, $XB", IIC_VecFP,
187 [(set v4f32:$XT, (fsub v4f32:$XA, v4f32:$XB))]>;
193 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
194 "xsmaddadp $XT, $XA, $XB", IIC_VecFP,
195 [(set f64:$XT, (fma f64:$XA, f64:$XB, f64:$XTi))]>,
200 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
201 "xsmaddmdp $XT, $XA, $XB", IIC_VecFP, []>,
209 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
210 "xsmsubadp $XT, $XA, $XB", IIC_VecFP,
211 [(set f64:$XT, (fma f64:$XA, f64:$XB, (fneg f64:$XTi)))]>,
216 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
217 "xsmsubmdp $XT, $XA, $XB", IIC_VecFP, []>,
225 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
226 "xsnmaddadp $XT, $XA, $XB", IIC_VecFP,
227 [(set f64:$XT, (fneg (fma f64:$XA, f64:$XB, f64:$XTi)))]>,
232 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
233 "xsnmaddmdp $XT, $XA, $XB", IIC_VecFP, []>,
241 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
242 "xsnmsubadp $XT, $XA, $XB", IIC_VecFP,
243 [(set f64:$XT, (fneg (fma f64:$XA, f64:$XB, (fneg f64:$XTi))))]>,
248 (outs vsfrc:$XT), (ins vsfrc:$XTi, vsfrc:$XA, vsfrc:$XB),
249 "xsnmsubmdp $XT, $XA, $XB", IIC_VecFP, []>,
257 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
258 "xvmaddadp $XT, $XA, $XB", IIC_VecFP,
259 [(set v2f64:$XT, (fma v2f64:$XA, v2f64:$XB, v2f64:$XTi))]>,
264 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
265 "xvmaddmdp $XT, $XA, $XB", IIC_VecFP, []>,
273 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
274 "xvmaddasp $XT, $XA, $XB", IIC_VecFP,
275 [(set v4f32:$XT, (fma v4f32:$XA, v4f32:$XB, v4f32:$XTi))]>,
280 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
281 "xvmaddmsp $XT, $XA, $XB", IIC_VecFP, []>,
289 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
290 "xvmsubadp $XT, $XA, $XB", IIC_VecFP,
291 [(set v2f64:$XT, (fma v2f64:$XA, v2f64:$XB, (fneg v2f64:$XTi)))]>,
296 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
297 "xvmsubmdp $XT, $XA, $XB", IIC_VecFP, []>,
305 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
306 "xvmsubasp $XT, $XA, $XB", IIC_VecFP,
307 [(set v4f32:$XT, (fma v4f32:$XA, v4f32:$XB, (fneg v4f32:$XTi)))]>,
312 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
313 "xvmsubmsp $XT, $XA, $XB", IIC_VecFP, []>,
321 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
322 "xvnmaddadp $XT, $XA, $XB", IIC_VecFP,
323 [(set v2f64:$XT, (fneg (fma v2f64:$XA, v2f64:$XB, v2f64:$XTi)))]>,
328 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
329 "xvnmaddmdp $XT, $XA, $XB", IIC_VecFP, []>,
337 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
338 "xvnmaddasp $XT, $XA, $XB", IIC_VecFP,
339 [(set v4f32:$XT, (fneg (fma v4f32:$XA, v4f32:$XB, v4f32:$XTi)))]>,
344 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
345 "xvnmaddmsp $XT, $XA, $XB", IIC_VecFP, []>,
353 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
354 "xvnmsubadp $XT, $XA, $XB", IIC_VecFP,
355 [(set v2f64:$XT, (fneg (fma v2f64:$XA, v2f64:$XB, (fneg v2f64:$XTi))))]>,
360 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
361 "xvnmsubmdp $XT, $XA, $XB", IIC_VecFP, []>,
369 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
370 "xvnmsubasp $XT, $XA, $XB", IIC_VecFP,
371 [(set v4f32:$XT, (fneg (fma v4f32:$XA, v4f32:$XB, (fneg v4f32:$XTi))))]>,
376 (outs vsrc:$XT), (ins vsrc:$XTi, vsrc:$XA, vsrc:$XB),
377 "xvnmsubmsp $XT, $XA, $XB", IIC_VecFP, []>,
384 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
385 "xsdivdp $XT, $XA, $XB", IIC_FPDivD,
386 [(set f64:$XT, (fdiv f64:$XA, f64:$XB))]>;
388 (outs vsfrc:$XT), (ins vsfrc:$XB),
389 "xssqrtdp $XT, $XB", IIC_FPSqrtD,
390 [(set f64:$XT, (fsqrt f64:$XB))]>;
393 (outs vsfrc:$XT), (ins vsfrc:$XB),
394 "xsredp $XT, $XB", IIC_VecFP,
395 [(set f64:$XT, (PPCfre f64:$XB))]>;
397 (outs vsfrc:$XT), (ins vsfrc:$XB),
398 "xsrsqrtedp $XT, $XB", IIC_VecFP,
399 [(set f64:$XT, (PPCfrsqrte f64:$XB))]>;
402 (outs crrc:$crD), (ins vsfrc:$XA, vsfrc:$XB),
403 "xstdivdp $crD, $XA, $XB", IIC_FPCompare, []>;
405 (outs crrc:$crD), (ins vsfrc:$XB),
406 "xstsqrtdp $crD, $XB", IIC_FPCompare, []>;
409 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
410 "xvdivdp $XT, $XA, $XB", IIC_FPDivD,
411 [(set v2f64:$XT, (fdiv v2f64:$XA, v2f64:$XB))]>;
413 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
414 "xvdivsp $XT, $XA, $XB", IIC_FPDivS,
415 [(set v4f32:$XT, (fdiv v4f32:$XA, v4f32:$XB))]>;
418 (outs vsrc:$XT), (ins vsrc:$XB),
419 "xvsqrtdp $XT, $XB", IIC_FPSqrtD,
420 [(set v2f64:$XT, (fsqrt v2f64:$XB))]>;
422 (outs vsrc:$XT), (ins vsrc:$XB),
423 "xvsqrtsp $XT, $XB", IIC_FPSqrtS,
424 [(set v4f32:$XT, (fsqrt v4f32:$XB))]>;
427 (outs crrc:$crD), (ins vsrc:$XA, vsrc:$XB),
428 "xvtdivdp $crD, $XA, $XB", IIC_FPCompare, []>;
430 (outs crrc:$crD), (ins vsrc:$XA, vsrc:$XB),
431 "xvtdivsp $crD, $XA, $XB", IIC_FPCompare, []>;
434 (outs crrc:$crD), (ins vsrc:$XB),
435 "xvtsqrtdp $crD, $XB", IIC_FPCompare, []>;
437 (outs crrc:$crD), (ins vsrc:$XB),
438 "xvtsqrtsp $crD, $XB", IIC_FPCompare, []>;
441 (outs vsrc:$XT), (ins vsrc:$XB),
442 "xvredp $XT, $XB", IIC_VecFP,
443 [(set v2f64:$XT, (PPCfre v2f64:$XB))]>;
445 (outs vsrc:$XT), (ins vsrc:$XB),
446 "xvresp $XT, $XB", IIC_VecFP,
447 [(set v4f32:$XT, (PPCfre v4f32:$XB))]>;
450 (outs vsrc:$XT), (ins vsrc:$XB),
451 "xvrsqrtedp $XT, $XB", IIC_VecFP,
452 [(set v2f64:$XT, (PPCfrsqrte v2f64:$XB))]>;
454 (outs vsrc:$XT), (ins vsrc:$XB),
455 "xvrsqrtesp $XT, $XB", IIC_VecFP,
456 [(set v4f32:$XT, (PPCfrsqrte v4f32:$XB))]>;
460 (outs crrc:$crD), (ins vsfrc:$XA, vsfrc:$XB),
461 "xscmpodp $crD, $XA, $XB", IIC_FPCompare, []>;
463 (outs crrc:$crD), (ins vsfrc:$XA, vsfrc:$XB),
464 "xscmpudp $crD, $XA, $XB", IIC_FPCompare, []>;
467 "xvcmpeqdp", "$XT, $XA, $XB", IIC_VecFPCompare,
470 "xvcmpeqsp", "$XT, $XA, $XB", IIC_VecFPCompare,
473 "xvcmpgedp", "$XT, $XA, $XB", IIC_VecFPCompare,
476 "xvcmpgesp", "$XT, $XA, $XB", IIC_VecFPCompare,
479 "xvcmpgtdp", "$XT, $XA, $XB", IIC_VecFPCompare,
482 "xvcmpgtsp", "$XT, $XA, $XB", IIC_VecFPCompare,
487 (outs vsfrc:$XT), (ins vsfrc:$XB),
488 "xsabsdp $XT, $XB", IIC_VecFP,
489 [(set f64:$XT, (fabs f64:$XB))]>;
491 (outs vsfrc:$XT), (ins vsfrc:$XB),
492 "xsnabsdp $XT, $XB", IIC_VecFP,
493 [(set f64:$XT, (fneg (fabs f64:$XB)))]>;
495 (outs vsfrc:$XT), (ins vsfrc:$XB),
496 "xsnegdp $XT, $XB", IIC_VecFP,
497 [(set f64:$XT, (fneg f64:$XB))]>;
499 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
500 "xscpsgndp $XT, $XA, $XB", IIC_VecFP,
501 [(set f64:$XT, (fcopysign f64:$XB, f64:$XA))]>;
504 (outs vsrc:$XT), (ins vsrc:$XB),
505 "xvabsdp $XT, $XB", IIC_VecFP,
506 [(set v2f64:$XT, (fabs v2f64:$XB))]>;
509 (outs vsrc:$XT), (ins vsrc:$XB),
510 "xvabssp $XT, $XB", IIC_VecFP,
511 [(set v4f32:$XT, (fabs v4f32:$XB))]>;
514 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
515 "xvcpsgndp $XT, $XA, $XB", IIC_VecFP,
516 [(set v2f64:$XT, (fcopysign v2f64:$XB, v2f64:$XA))]>;
518 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
519 "xvcpsgnsp $XT, $XA, $XB", IIC_VecFP,
520 [(set v4f32:$XT, (fcopysign v4f32:$XB, v4f32:$XA))]>;
523 (outs vsrc:$XT), (ins vsrc:$XB),
524 "xvnabsdp $XT, $XB", IIC_VecFP,
525 [(set v2f64:$XT, (fneg (fabs v2f64:$XB)))]>;
527 (outs vsrc:$XT), (ins vsrc:$XB),
528 "xvnabssp $XT, $XB", IIC_VecFP,
529 [(set v4f32:$XT, (fneg (fabs v4f32:$XB)))]>;
532 (outs vsrc:$XT), (ins vsrc:$XB),
533 "xvnegdp $XT, $XB", IIC_VecFP,
534 [(set v2f64:$XT, (fneg v2f64:$XB))]>;
536 (outs vsrc:$XT), (ins vsrc:$XB),
537 "xvnegsp $XT, $XB", IIC_VecFP,
538 [(set v4f32:$XT, (fneg v4f32:$XB))]>;
542 (outs vsfrc:$XT), (ins vsfrc:$XB),
543 "xscvdpsp $XT, $XB", IIC_VecFP, []>;
545 (outs vsfrc:$XT), (ins vsfrc:$XB),
546 "xscvdpsxds $XT, $XB", IIC_VecFP,
547 [(set f64:$XT, (PPCfctidz f64:$XB))]>;
549 (outs vsfrc:$XT), (ins vsfrc:$XB),
550 "xscvdpsxws $XT, $XB", IIC_VecFP,
551 [(set f64:$XT, (PPCfctiwz f64:$XB))]>;
553 (outs vsfrc:$XT), (ins vsfrc:$XB),
554 "xscvdpuxds $XT, $XB", IIC_VecFP,
555 [(set f64:$XT, (PPCfctiduz f64:$XB))]>;
557 (outs vsfrc:$XT), (ins vsfrc:$XB),
558 "xscvdpuxws $XT, $XB", IIC_VecFP,
559 [(set f64:$XT, (PPCfctiwuz f64:$XB))]>;
561 (outs vsfrc:$XT), (ins vsfrc:$XB),
562 "xscvspdp $XT, $XB", IIC_VecFP, []>;
564 (outs vsfrc:$XT), (ins vsfrc:$XB),
565 "xscvsxddp $XT, $XB", IIC_VecFP,
566 [(set f64:$XT, (PPCfcfid f64:$XB))]>;
568 (outs vsfrc:$XT), (ins vsfrc:$XB),
569 "xscvuxddp $XT, $XB", IIC_VecFP,
570 [(set f64:$XT, (PPCfcfidu f64:$XB))]>;
573 (outs vsrc:$XT), (ins vsrc:$XB),
574 "xvcvdpsp $XT, $XB", IIC_VecFP, []>;
576 (outs vsrc:$XT), (ins vsrc:$XB),
577 "xvcvdpsxds $XT, $XB", IIC_VecFP,
578 [(set v2i64:$XT, (fp_to_sint v2f64:$XB))]>;
580 (outs vsrc:$XT), (ins vsrc:$XB),
581 "xvcvdpsxws $XT, $XB", IIC_VecFP, []>;
583 (outs vsrc:$XT), (ins vsrc:$XB),
584 "xvcvdpuxds $XT, $XB", IIC_VecFP,
585 [(set v2i64:$XT, (fp_to_uint v2f64:$XB))]>;
587 (outs vsrc:$XT), (ins vsrc:$XB),
588 "xvcvdpuxws $XT, $XB", IIC_VecFP, []>;
591 (outs vsrc:$XT), (ins vsrc:$XB),
592 "xvcvspdp $XT, $XB", IIC_VecFP, []>;
594 (outs vsrc:$XT), (ins vsrc:$XB),
595 "xvcvspsxds $XT, $XB", IIC_VecFP, []>;
597 (outs vsrc:$XT), (ins vsrc:$XB),
598 "xvcvspsxws $XT, $XB", IIC_VecFP, []>;
600 (outs vsrc:$XT), (ins vsrc:$XB),
601 "xvcvspuxds $XT, $XB", IIC_VecFP, []>;
603 (outs vsrc:$XT), (ins vsrc:$XB),
604 "xvcvspuxws $XT, $XB", IIC_VecFP, []>;
606 (outs vsrc:$XT), (ins vsrc:$XB),
607 "xvcvsxddp $XT, $XB", IIC_VecFP,
608 [(set v2f64:$XT, (sint_to_fp v2i64:$XB))]>;
610 (outs vsrc:$XT), (ins vsrc:$XB),
611 "xvcvsxdsp $XT, $XB", IIC_VecFP, []>;
613 (outs vsrc:$XT), (ins vsrc:$XB),
614 "xvcvsxwdp $XT, $XB", IIC_VecFP, []>;
616 (outs vsrc:$XT), (ins vsrc:$XB),
617 "xvcvsxwsp $XT, $XB", IIC_VecFP,
618 [(set v4f32:$XT, (sint_to_fp v4i32:$XB))]>;
620 (outs vsrc:$XT), (ins vsrc:$XB),
621 "xvcvuxddp $XT, $XB", IIC_VecFP,
622 [(set v2f64:$XT, (uint_to_fp v2i64:$XB))]>;
624 (outs vsrc:$XT), (ins vsrc:$XB),
625 "xvcvuxdsp $XT, $XB", IIC_VecFP, []>;
627 (outs vsrc:$XT), (ins vsrc:$XB),
628 "xvcvuxwdp $XT, $XB", IIC_VecFP, []>;
630 (outs vsrc:$XT), (ins vsrc:$XB),
631 "xvcvuxwsp $XT, $XB", IIC_VecFP, []>;
635 (outs vsfrc:$XT), (ins vsfrc:$XB),
636 "xsrdpi $XT, $XB", IIC_VecFP,
637 [(set f64:$XT, (frnd f64:$XB))]>;
639 (outs vsfrc:$XT), (ins vsfrc:$XB),
640 "xsrdpic $XT, $XB", IIC_VecFP,
641 [(set f64:$XT, (fnearbyint f64:$XB))]>;
643 (outs vsfrc:$XT), (ins vsfrc:$XB),
644 "xsrdpim $XT, $XB", IIC_VecFP,
645 [(set f64:$XT, (ffloor f64:$XB))]>;
647 (outs vsfrc:$XT), (ins vsfrc:$XB),
648 "xsrdpip $XT, $XB", IIC_VecFP,
649 [(set f64:$XT, (fceil f64:$XB))]>;
651 (outs vsfrc:$XT), (ins vsfrc:$XB),
652 "xsrdpiz $XT, $XB", IIC_VecFP,
653 [(set f64:$XT, (ftrunc f64:$XB))]>;
656 (outs vsrc:$XT), (ins vsrc:$XB),
657 "xvrdpi $XT, $XB", IIC_VecFP,
658 [(set v2f64:$XT, (frnd v2f64:$XB))]>;
660 (outs vsrc:$XT), (ins vsrc:$XB),
661 "xvrdpic $XT, $XB", IIC_VecFP,
662 [(set v2f64:$XT, (fnearbyint v2f64:$XB))]>;
664 (outs vsrc:$XT), (ins vsrc:$XB),
665 "xvrdpim $XT, $XB", IIC_VecFP,
666 [(set v2f64:$XT, (ffloor v2f64:$XB))]>;
668 (outs vsrc:$XT), (ins vsrc:$XB),
669 "xvrdpip $XT, $XB", IIC_VecFP,
670 [(set v2f64:$XT, (fceil v2f64:$XB))]>;
672 (outs vsrc:$XT), (ins vsrc:$XB),
673 "xvrdpiz $XT, $XB", IIC_VecFP,
674 [(set v2f64:$XT, (ftrunc v2f64:$XB))]>;
677 (outs vsrc:$XT), (ins vsrc:$XB),
678 "xvrspi $XT, $XB", IIC_VecFP,
679 [(set v4f32:$XT, (frnd v4f32:$XB))]>;
681 (outs vsrc:$XT), (ins vsrc:$XB),
682 "xvrspic $XT, $XB", IIC_VecFP,
683 [(set v4f32:$XT, (fnearbyint v4f32:$XB))]>;
685 (outs vsrc:$XT), (ins vsrc:$XB),
686 "xvrspim $XT, $XB", IIC_VecFP,
687 [(set v4f32:$XT, (ffloor v4f32:$XB))]>;
689 (outs vsrc:$XT), (ins vsrc:$XB),
690 "xvrspip $XT, $XB", IIC_VecFP,
691 [(set v4f32:$XT, (fceil v4f32:$XB))]>;
693 (outs vsrc:$XT), (ins vsrc:$XB),
694 "xvrspiz $XT, $XB", IIC_VecFP,
695 [(set v4f32:$XT, (ftrunc v4f32:$XB))]>;
700 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
701 "xsmaxdp $XT, $XA, $XB", IIC_VecFP,
703 (int_ppc_vsx_xsmaxdp vsfrc:$XA, vsfrc:$XB))]>;
705 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
706 "xsmindp $XT, $XA, $XB", IIC_VecFP,
708 (int_ppc_vsx_xsmindp vsfrc:$XA, vsfrc:$XB))]>;
711 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
712 "xvmaxdp $XT, $XA, $XB", IIC_VecFP,
714 (int_ppc_vsx_xvmaxdp vsrc:$XA, vsrc:$XB))]>;
716 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
717 "xvmindp $XT, $XA, $XB", IIC_VecFP,
719 (int_ppc_vsx_xvmindp vsrc:$XA, vsrc:$XB))]>;
722 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
723 "xvmaxsp $XT, $XA, $XB", IIC_VecFP,
725 (int_ppc_vsx_xvmaxsp vsrc:$XA, vsrc:$XB))]>;
727 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
728 "xvminsp $XT, $XA, $XB", IIC_VecFP,
730 (int_ppc_vsx_xvminsp vsrc:$XA, vsrc:$XB))]>;
737 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
738 "xxland $XT, $XA, $XB", IIC_VecGeneral,
739 [(set v4i32:$XT, (and v4i32:$XA, v4i32:$XB))]>;
741 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
742 "xxlandc $XT, $XA, $XB", IIC_VecGeneral,
744 (vnot_ppc v4i32:$XB)))]>;
747 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
748 "xxlnor $XT, $XA, $XB", IIC_VecGeneral,
750 v4i32:$XB)))]>;
752 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
753 "xxlor $XT, $XA, $XB", IIC_VecGeneral,
754 [(set v4i32:$XT, (or v4i32:$XA, v4i32:$XB))]>;
757 (outs vsfrc:$XT), (ins vsfrc:$XA, vsfrc:$XB),
758 "xxlor $XT, $XA, $XB", IIC_VecGeneral, []>;
760 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
761 "xxlxor $XT, $XA, $XB", IIC_VecGeneral,
762 [(set v4i32:$XT, (xor v4i32:$XA, v4i32:$XB))]>;
767 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
768 "xxmrghw $XT, $XA, $XB", IIC_VecPerm, []>;
770 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
771 "xxmrglw $XT, $XA, $XB", IIC_VecPerm, []>;
774 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB, u2imm:$DM),
775 "xxpermdi $XT, $XA, $XB, $DM", IIC_VecPerm, []>;
777 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB, vsrc:$XC),
778 "xxsel $XT, $XA, $XB, $XC", IIC_VecPerm, []>;
781 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB, u2imm:$SHW),
782 "xxsldwi $XT, $XA, $XB, $SHW", IIC_VecPerm,
783 [(set v4i32:$XT, (PPCvecshl v4i32:$XA, v4i32:$XB,
786 (outs vsrc:$XT), (ins vsrc:$XB, u2imm:$UIM),
787 "xxspltw $XT, $XB, $UIM", IIC_VecPerm,
789 (PPCxxsplt v4i32:$XB, imm32SExt16:$UIM))]>;
827 def : InstAlias<"xvmovdp $XT, $XB",
828 (XVCPSGNDP vsrc:$XT, vsrc:$XB, vsrc:$XB)>;
829 def : InstAlias<"xvmovsp $XT, $XB",
830 (XVCPSGNSP vsrc:$XT, vsrc:$XB, vsrc:$XB)>;
832 def : InstAlias<"xxspltd $XT, $XB, 0",
833 (XXPERMDI vsrc:$XT, vsrc:$XB, vsrc:$XB, 0)>;
834 def : InstAlias<"xxspltd $XT, $XB, 1",
835 (XXPERMDI vsrc:$XT, vsrc:$XB, vsrc:$XB, 3)>;
836 def : InstAlias<"xxmrghd $XT, $XA, $XB",
837 (XXPERMDI vsrc:$XT, vsrc:$XA, vsrc:$XB, 0)>;
838 def : InstAlias<"xxmrgld $XT, $XA, $XB",
839 (XXPERMDI vsrc:$XT, vsrc:$XA, vsrc:$XB, 3)>;
840 def : InstAlias<"xxswapd $XT, $XB",
841 (XXPERMDI vsrc:$XT, vsrc:$XB, vsrc:$XB, 2)>;
1046 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
1047 "xxleqv $XT, $XA, $XB", IIC_VecGeneral,
1048 [(set v4i32:$XT, (vnot_ppc (xor v4i32:$XA, v4i32:$XB)))]>;
1050 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
1051 "xxlnand $XT, $XA, $XB", IIC_VecGeneral,
1053 v4i32:$XB)))]>;
1060 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
1061 "xxlorc $XT, $XA, $XB", IIC_VecGeneral,
1062 [(set v4i32:$XT, (or v4i32:$XA, (vnot_ppc v4i32:$XB)))]>;
1116 (outs vssrc:$XT), (ins vssrc:$XA, vssrc:$XB),
1117 "xsaddsp $XT, $XA, $XB", IIC_VecFP,
1118 [(set f32:$XT, (fadd f32:$XA, f32:$XB))]>;
1120 (outs vssrc:$XT), (ins vssrc:$XA, vssrc:$XB),
1121 "xsmulsp $XT, $XA, $XB", IIC_VecFP,
1122 [(set f32:$XT, (fmul f32:$XA, f32:$XB))]>;
1126 (outs vssrc:$XT), (ins vssrc:$XA, vssrc:$XB),
1127 "xsdivsp $XT, $XA, $XB", IIC_FPDivS,
1128 [(set f32:$XT, (fdiv f32:$XA, f32:$XB))]>;
1130 (outs vssrc:$XT), (ins vssrc:$XB),
1131 "xsresp $XT, $XB", IIC_VecFP,
1132 [(set f32:$XT, (PPCfre f32:$XB))]>;
1134 (outs vssrc:$XT), (ins vssrc:$XB),
1135 "xssqrtsp $XT, $XB", IIC_FPSqrtS,
1136 [(set f32:$XT, (fsqrt f32:$XB))]>;
1138 (outs vssrc:$XT), (ins vssrc:$XB),
1139 "xsrsqrtesp $XT, $XB", IIC_VecFP,
1140 [(set f32:$XT, (PPCfrsqrte f32:$XB))]>;
1142 (outs vssrc:$XT), (ins vssrc:$XA, vssrc:$XB),
1143 "xssubsp $XT, $XA, $XB", IIC_VecFP,
1144 [(set f32:$XT, (fsub f32:$XA, f32:$XB))]>;
1151 (ins vssrc:$XTi, vssrc:$XA, vssrc:$XB),
1152 "xsmaddasp $XT, $XA, $XB", IIC_VecFP,
1153 [(set f32:$XT, (fma f32:$XA, f32:$XB, f32:$XTi))]>,
1159 (ins vssrc:$XTi, vssrc:$XA, vssrc:$XB),
1160 "xsmaddmsp $XT, $XA, $XB", IIC_VecFP, []>,
1169 (ins vssrc:$XTi, vssrc:$XA, vssrc:$XB),
1170 "xsmsubasp $XT, $XA, $XB", IIC_VecFP,
1171 [(set f32:$XT, (fma f32:$XA, f32:$XB,
1178 (ins vssrc:$XTi, vssrc:$XA, vssrc:$XB),
1179 "xsmsubmsp $XT, $XA, $XB", IIC_VecFP, []>,
1188 (ins vssrc:$XTi, vssrc:$XA, vssrc:$XB),
1189 "xsnmaddasp $XT, $XA, $XB", IIC_VecFP,
1190 [(set f32:$XT, (fneg (fma f32:$XA, f32:$XB,
1197 (ins vssrc:$XTi, vssrc:$XA, vssrc:$XB),
1198 "xsnmaddmsp $XT, $XA, $XB", IIC_VecFP, []>,
1207 (ins vssrc:$XTi, vssrc:$XA, vssrc:$XB),
1208 "xsnmsubasp $XT, $XA, $XB", IIC_VecFP,
1209 [(set f32:$XT, (fneg (fma f32:$XA, f32:$XB,
1216 (ins vssrc:$XTi, vssrc:$XA, vssrc:$XB),
1217 "xsnmsubmsp $XT, $XA, $XB", IIC_VecFP, []>,
1224 (outs vssrc:$XT), (ins vsfrc:$XB),
1225 "xscvsxdsp $XT, $XB", IIC_VecFP,
1226 [(set f32:$XT, (PPCfcfids f64:$XB))]>;
1228 (outs vssrc:$XT), (ins vsfrc:$XB),
1229 "xscvuxdsp $XT, $XB", IIC_VecFP,
1230 [(set f32:$XT, (PPCfcfidus f64:$XB))]>;
1233 def XSCVDPSPN : XX2Form<60, 267, (outs vsrc:$XT), (ins vssrc:$XB),
1234 "xscvdpspn $XT, $XB", IIC_VecFP, []>;
1235 def XSCVSPDPN : XX2Form<60, 331, (outs vssrc:$XT), (ins vsrc:$XB),
1236 "xscvspdpn $XT, $XB", IIC_VecFP, []>;
1854 : XX2_RD5_XO5_RS6<opcode, xo2, xo, (outs g8rc:$rT), (ins vsfrc:$XB),
1855 !strconcat(opc, " $rT, $XB"), IIC_VecFP, pattern>;
1860 : XX2_RD6_XO5_RS6<opcode, xo2, xo, (outs vtype:$XT), (ins vtype:$XB),
1861 !strconcat(opc, " $XT, $XB"), IIC_VecFP, pattern>;
1867 : XX3Form<opcode, xo, (outs xty:$XT), (ins aty:$XA, bty:$XB),
1868 !strconcat(opc, " $XT, $XA, $XB"), itin, pattern>;
1936 (outs crrc:$crD), (ins vsfrc:$XA, vsfrc:$XB),
1937 "xscmpexpdp $crD, $XA, $XB", IIC_FPCompare, []>;
1953 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
1954 "xvcmpnedp $XT, $XA, $XB", IIC_VecFPCompare, []>;
1957 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
1958 "xvcmpnedp. $XT, $XA, $XB", IIC_VecFPCompare, []>,
1961 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
1962 "xvcmpnesp $XT, $XA, $XB", IIC_VecFPCompare, []>;
1965 (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
1966 "xvcmpnesp. $XT, $XA, $XB", IIC_VecFPCompare, []>,
2037 // XB NOTE: Only XB.dword[1] is used, but we use vsrc on XB.
2040 (ins vsrc:$XTi, vsrc:$XB, u4imm:$UIM),
2041 "xxinsertw $XT, $XB, $UIM", IIC_VecFP,
2042 [(set v4i32:$XT, (PPCxxinsert v4i32:$XTi, v4i32:$XB,
2048 (outs vsfrc:$XT), (ins vsrc:$XB, u4imm:$UIMM),
2049 "xxextractuw $XT, $XB, $UIMM", IIC_VecFP, []>;
2067 (outs crrc:$BF), (ins u7imm:$DCMX, vsfrc:$XB),
2068 "xststdcsp $BF, $XB, $DCMX", IIC_VecFP, []>;
2070 (outs crrc:$BF), (ins u7imm:$DCMX, vsfrc:$XB),
2071 "xststdcdp $BF, $XB, $DCMX", IIC_VecFP, []>;
2078 (outs vsrc:$XT), (ins u7imm:$DCMX, vsrc:$XB),
2079 "xvtstdcsp $XT, $XB, $DCMX", IIC_VecFP, []>;
2081 (outs vsrc:$XT), (ins u7imm:$DCMX, vsrc:$XB),
2082 "xvtstdcdp $XT, $XB, $DCMX", IIC_VecFP, []>;