Lines Matching refs:node

447 def z_loadbswap16 : PatFrag<(ops node:$addr), (z_loadbswap node:$addr), [{
450 def z_loadbswap32 : PatFrag<(ops node:$addr), (z_loadbswap node:$addr), [{
453 def z_loadbswap64 : PatFrag<(ops node:$addr), (z_loadbswap node:$addr), [{
457 def z_storebswap16 : PatFrag<(ops node:$src, node:$addr),
458 (z_storebswap node:$src, node:$addr), [{
461 def z_storebswap32 : PatFrag<(ops node:$src, node:$addr),
462 (z_storebswap node:$src, node:$addr), [{
465 def z_storebswap64 : PatFrag<(ops node:$src, node:$addr),
466 (z_storebswap node:$src, node:$addr), [{
472 : PatFrag<(ops node:$valid, node:$mask, node:$bb),
473 (z_br_ccmask_1 node:$valid, node:$mask, node:$bb, CC)>;
475 : PatFrag<(ops node:$true, node:$false, node:$valid, node:$mask),
476 (z_select_ccmask_1 node:$true, node:$false,
477 node:$valid, node:$mask, CC)>;
479 def z_addcarry : PatFrag<(ops node:$lhs, node:$rhs),
480 (z_addcarry_1 node:$lhs, node:$rhs, CC)>;
481 def z_subcarry : PatFrag<(ops node:$lhs, node:$rhs),
482 (z_subcarry_1 node:$lhs, node:$rhs, CC)>;
485 def z_scmp : PatFrag<(ops node:$a, node:$b), (z_icmp node:$a, node:$b, timm), [{
489 def z_ucmp : PatFrag<(ops node:$a, node:$b), (z_icmp node:$a, node:$b, timm), [{
495 def z_tm_reg : PatFrag<(ops node:$a, node:$b), (z_tm node:$a, node:$b, timm)>;
496 def z_tm_mem : PatFrag<(ops node:$a, node:$b), (z_tm node:$a, node:$b, 0)>;
499 def sext8 : PatFrag<(ops node:$src), (sext_inreg node:$src, i8)>;
500 def sext16 : PatFrag<(ops node:$src), (sext_inreg node:$src, i16)>;
501 def sext32 : PatFrag<(ops node:$src), (sext (i32 node:$src))>;
505 def sext8dbl : PatFrag<(ops node:$src), (sext8 (anyext node:$src))>;
506 def sext16dbl : PatFrag<(ops node:$src), (sext16 (anyext node:$src))>;
509 def zext8 : PatFrag<(ops node:$src), (and node:$src, 0xff)>;
510 def zext16 : PatFrag<(ops node:$src), (and node:$src, 0xffff)>;
511 def zext32 : PatFrag<(ops node:$src), (zext (i32 node:$src))>;
514 def asextload : PatFrag<(ops node:$ptr), (unindexedload node:$ptr), [{
518 def asextloadi8 : PatFrag<(ops node:$ptr), (asextload node:$ptr), [{
521 def asextloadi16 : PatFrag<(ops node:$ptr), (asextload node:$ptr), [{
524 def asextloadi32 : PatFrag<(ops node:$ptr), (asextload node:$ptr), [{
529 def azextload : PatFrag<(ops node:$ptr), (unindexedload node:$ptr), [{
533 def azextloadi8 : PatFrag<(ops node:$ptr), (azextload node:$ptr), [{
536 def azextloadi16 : PatFrag<(ops node:$ptr), (azextload node:$ptr), [{
539 def azextloadi32 : PatFrag<(ops node:$ptr), (azextload node:$ptr), [{
544 def anyextload : PatFrag<(ops node:$ptr), (unindexedload node:$ptr), [{
547 def anyextloadi8 : PatFrag<(ops node:$ptr), (anyextload node:$ptr), [{
550 def anyextloadi16 : PatFrag<(ops node:$ptr), (anyextload node:$ptr), [{
553 def anyextloadi32 : PatFrag<(ops node:$ptr), (anyextload node:$ptr), [{
559 : PatFrag<(ops node:$addr), (load node:$addr),
569 : PatFrag<(ops node:$src, node:$addr), (store node:$src, node:$addr),
578 : PatFrag<(ops node:$addr), (load node:$addr), [{
588 : PatFrag<(ops node:$src, node:$addr), (store node:$src, node:$addr), [{
597 def mvc_store : PatFrag<(ops node:$value, node:$addr),
598 (unindexedstore node:$value, node:$addr),
606 def "1" : PatFrag<(ops node:$value, node:$addr),
607 (unindexedstore (operator node:$value,
608 (unindexedload node:$addr)),
609 node:$addr),
611 def "2" : PatFrag<(ops node:$value, node:$addr),
612 (unindexedstore (operator (unindexedload node:$addr),
613 node:$value),
614 node:$addr),
622 def inserti8 : PatFrag<(ops node:$src1, node:$src2),
623 (or (and node:$src1, -256), node:$src2)>;
624 def insertll : PatFrag<(ops node:$src1, node:$src2),
625 (or (and node:$src1, 0xffffffffffff0000), node:$src2)>;
626 def insertlh : PatFrag<(ops node:$src1, node:$src2),
627 (or (and node:$src1, 0xffffffff0000ffff), node:$src2)>;
628 def inserthl : PatFrag<(ops node:$src1, node:$src2),
629 (or (and node:$src1, 0xffff0000ffffffff), node:$src2)>;
630 def inserthh : PatFrag<(ops node:$src1, node:$src2),
631 (or (and node:$src1, 0x0000ffffffffffff), node:$src2)>;
632 def insertlf : PatFrag<(ops node:$src1, node:$src2),
633 (or (and node:$src1, 0xffffffff00000000), node:$src2)>;
634 def inserthf : PatFrag<(ops node:$src1, node:$src2),
635 (or (and node:$src1, 0x00000000ffffffff), node:$src2)>;
638 def or_as_inserti8 : PatFrag<(ops node:$src1, node:$src2),
639 (or node:$src1, node:$src2), [{
646 def or_as_revinserti8 : PatFrag<(ops node:$src1, node:$src2),
647 (or node:$src1, node:$src2), [{
654 def z_inegabs : PatFrag<(ops node:$src), (ineg (abs node:$src))>;
657 def z_muladd : PatFrag<(ops node:$src1, node:$src2, node:$src3),
658 (add (mul node:$src1, node:$src2), node:$src3)>;
661 def z_sadd : PatFrags<(ops node:$src1, node:$src2),
662 [(z_saddo node:$src1, node:$src2),
663 (add node:$src1, node:$src2)]>;
664 def z_uadd : PatFrags<(ops node:$src1, node:$src2),
665 [(z_uaddo node:$src1, node:$src2),
666 (add node:$src1, node:$src2)]>;
667 def z_ssub : PatFrags<(ops node:$src1, node:$src2),
668 [(z_ssubo node:$src1, node:$src2),
669 (sub node:$src1, node:$src2)]>;
670 def z_usub : PatFrags<(ops node:$src1, node:$src2),
671 [(z_usubo node:$src1, node:$src2),
672 (sub node:$src1, node:$src2)]>;
675 def andc : PatFrag<(ops node:$src1, node:$src2),
676 (and node:$src1, (not node:$src2))>;
677 def orc : PatFrag<(ops node:$src1, node:$src2),
678 (or node:$src1, (not node:$src2))>;
679 def nand : PatFrag<(ops node:$src1, node:$src2),
680 (not (and node:$src1, node:$src2))>;
681 def nor : PatFrag<(ops node:$src1, node:$src2),
682 (not (or node:$src1, node:$src2))>;
683 def nxor : PatFrag<(ops node:$src1, node:$src2),
684 (not (xor node:$src1, node:$src2))>;
687 def any_fms : PatFrag<(ops node:$src1, node:$src2, node:$src3),
688 (any_fma node:$src1, node:$src2, (fneg node:$src3))>;
692 def z_any_fma : PatFrag<(ops node:$src1, node:$src2, node:$src3),
693 (any_fma node:$src2, node:$src3, node:$src1)>;
694 def z_any_fms : PatFrag<(ops node:$src1, node:$src2, node:$src3),
695 (any_fma node:$src2, node:$src3, (fneg node:$src1))>;
698 def any_fnma : PatFrag<(ops node:$src1, node:$src2, node:$src3),
699 (fneg (any_fma node:$src1, node:$src2, node:$src3))>;
700 def any_fnms : PatFrag<(ops node:$src1, node:$src2, node:$src3),
701 (fneg (any_fms node:$src1, node:$src2, node:$src3))>;
704 def fnabs : PatFrag<(ops node:$ptr), (fneg (fabs node:$ptr))>;
707 def z_any_fcmp : PatFrags<(ops node:$lhs, node:$rhs),
708 [(z_strict_fcmp node:$lhs, node:$rhs),
709 (z_fcmp node:$lhs, node:$rhs)]>;
710 def z_any_vfcmpe : PatFrags<(ops node:$lhs, node:$rhs),
711 [(z_strict_vfcmpe node:$lhs, node:$rhs),
712 (z_vfcmpe node:$lhs, node:$rhs)]>;
713 def z_any_vfcmph : PatFrags<(ops node:$lhs, node:$rhs),
714 [(z_strict_vfcmph node:$lhs, node:$rhs),
715 (z_vfcmph node:$lhs, node:$rhs)]>;
716 def z_any_vfcmphe : PatFrags<(ops node:$lhs, node:$rhs),
717 [(z_strict_vfcmphe node:$lhs, node:$rhs),
718 (z_vfcmphe node:$lhs, node:$rhs)]>;
719 def z_any_vextend : PatFrags<(ops node:$src),
720 [(z_strict_vextend node:$src),
721 (z_vextend node:$src)]>;
722 def z_any_vround : PatFrags<(ops node:$src),
723 [(z_strict_vround node:$src),
724 (z_vround node:$src)]>;
729 : PatFrag<(ops node:$addr), (operator (load node:$addr))>;
734 : PatFrag<(ops node:$value, node:$addr),
735 (store (operator node:$value), node:$addr)>;
740 : PatFrag<(ops node:$addr),
741 (store (operator), node:$addr)>;
749 : PatFrags<(ops node:$val, node:$count),
750 [(operator node:$val, node:$count),
751 (operator node:$val, (and node:$count, imm32bottom6set))]>;
759 : PatFrag<(ops node:$addr),
760 (z_replicate (scalartype (load node:$addr)))>;
774 : PatFrag<(ops node:$vec, node:$addr, node:$index),
775 (z_vector_insert node:$vec, (scalartype (load node:$addr)),
776 node:$index)>;
791 : PatFrag<(ops node:$addr),
793 (scalartype (load node:$addr)), (i32 index))>;
797 def z_vllezi64 : PatFrags<(ops node:$addr),
799 (i64 (load node:$addr)), (i32 0)),
800 (z_join_dwords (i64 (load node:$addr)), (i64 0))]>;
803 def z_vllezf32 : PatFrag<(ops node:$addr),
810 (f32 (load node:$addr)))))))),
813 def z_vllezf64 : PatFrag<(ops node:$addr),
815 (v2f64 (scalar_to_vector (f64 (load node:$addr)))),
820 def z_vllezlf32 : PatFrag<(ops node:$addr),
826 (f32 (load node:$addr)))),
835 def z_vllebrzi64 : PatFrags<(ops node:$addr),
837 (i64 (z_loadbswap64 node:$addr)),
839 (z_join_dwords (i64 (z_loadbswap64 node:$addr)),
845 : PatFrag<(ops node:$vec, node:$addr, node:$index),
846 (store (scalartype (z_vector_extract node:$vec, node:$index)),
847 node:$addr)>;
860 def z_vneg : PatFrag<(ops node:$x), (sub immAllZerosV, node:$x)>;
863 def z_vnot : PatFrag<(ops node:$x), (xor node:$x, immAllOnesV)>;
866 def z_vicmph_zero : PatFrag<(ops node:$x), (z_vicmph node:$x, immAllZerosV)>;
869 def z_vicmpl_zero : PatFrag<(ops node:$x), (z_vicmph immAllZerosV, node:$x)>;
873 : PatFrag<(ops node:$src),
874 (z_vsra_by_scalar (z_vshl_by_scalar node:$src, shift), shift)>;
881 : PatFrag<(ops node:$src),
883 (operator (z_vector_extract node:$src, index1)),
884 (operator (z_vector_extract node:$src, index2)))>;