Lines Matching refs:node

462 def z_loadbswap16 : PatFrag<(ops node:$addr), (z_loadbswap node:$addr), [{
465 def z_loadbswap32 : PatFrag<(ops node:$addr), (z_loadbswap node:$addr), [{
468 def z_loadbswap64 : PatFrag<(ops node:$addr), (z_loadbswap node:$addr), [{
472 def z_storebswap16 : PatFrag<(ops node:$src, node:$addr),
473 (z_storebswap node:$src, node:$addr), [{
476 def z_storebswap32 : PatFrag<(ops node:$src, node:$addr),
477 (z_storebswap node:$src, node:$addr), [{
480 def z_storebswap64 : PatFrag<(ops node:$src, node:$addr),
481 (z_storebswap node:$src, node:$addr), [{
487 : PatFrag<(ops node:$valid, node:$mask, node:$bb),
488 (z_br_ccmask_1 node:$valid, node:$mask, node:$bb, CC)>;
490 : PatFrag<(ops node:$true, node:$false, node:$valid, node:$mask),
491 (z_select_ccmask_1 node:$true, node:$false,
492 node:$valid, node:$mask, CC)>;
494 def z_addcarry : PatFrag<(ops node:$lhs, node:$rhs),
495 (z_addcarry_1 node:$lhs, node:$rhs, CC)>;
496 def z_subcarry : PatFrag<(ops node:$lhs, node:$rhs),
497 (z_subcarry_1 node:$lhs, node:$rhs, CC)>;
500 def z_scmp : PatFrag<(ops node:$a, node:$b), (z_icmp node:$a, node:$b, timm), [{
504 def z_ucmp : PatFrag<(ops node:$a, node:$b), (z_icmp node:$a, node:$b, timm), [{
510 def z_tm_reg : PatFrag<(ops node:$a, node:$b), (z_tm node:$a, node:$b, timm)>;
511 def z_tm_mem : PatFrag<(ops node:$a, node:$b), (z_tm node:$a, node:$b, 0)>;
514 def sext8 : PatFrag<(ops node:$src), (sext_inreg node:$src, i8)>;
515 def sext16 : PatFrag<(ops node:$src), (sext_inreg node:$src, i16)>;
516 def sext32 : PatFrag<(ops node:$src), (sext (i32 node:$src))>;
520 def sext8dbl : PatFrag<(ops node:$src), (sext8 (anyext node:$src))>;
521 def sext16dbl : PatFrag<(ops node:$src), (sext16 (anyext node:$src))>;
524 def zext8 : PatFrag<(ops node:$src), (and node:$src, 0xff)>;
525 def zext16 : PatFrag<(ops node:$src), (and node:$src, 0xffff)>;
526 def zext32 : PatFrag<(ops node:$src), (zext (i32 node:$src))>;
529 def asextload : PatFrag<(ops node:$ptr), (unindexedload node:$ptr), [{
533 def asextloadi8 : PatFrag<(ops node:$ptr), (asextload node:$ptr), [{
536 def asextloadi16 : PatFrag<(ops node:$ptr), (asextload node:$ptr), [{
539 def asextloadi32 : PatFrag<(ops node:$ptr), (asextload node:$ptr), [{
544 def azextload : PatFrag<(ops node:$ptr), (unindexedload node:$ptr), [{
548 def azextloadi8 : PatFrag<(ops node:$ptr), (azextload node:$ptr), [{
551 def azextloadi16 : PatFrag<(ops node:$ptr), (azextload node:$ptr), [{
554 def azextloadi32 : PatFrag<(ops node:$ptr), (azextload node:$ptr), [{
559 def anyextload : PatFrag<(ops node:$ptr), (unindexedload node:$ptr), [{
562 def anyextloadi8 : PatFrag<(ops node:$ptr), (anyextload node:$ptr), [{
565 def anyextloadi16 : PatFrag<(ops node:$ptr), (anyextload node:$ptr), [{
568 def anyextloadi32 : PatFrag<(ops node:$ptr), (anyextload node:$ptr), [{
574 : PatFrag<(ops node:$addr), (load node:$addr),
584 : PatFrag<(ops node:$src, node:$addr), (store node:$src, node:$addr),
593 : PatFrag<(ops node:$addr), (load node:$addr), [{
603 : PatFrag<(ops node:$src, node:$addr), (store node:$src, node:$addr), [{
612 def mvc_store : PatFrag<(ops node:$value, node:$addr),
613 (unindexedstore node:$value, node:$addr),
621 def "1" : PatFrag<(ops node:$value, node:$addr),
622 (unindexedstore (operator node:$value,
623 (unindexedload node:$addr)),
624 node:$addr),
626 def "2" : PatFrag<(ops node:$value, node:$addr),
627 (unindexedstore (operator (unindexedload node:$addr),
628 node:$value),
629 node:$addr),
637 def inserti8 : PatFrag<(ops node:$src1, node:$src2),
638 (or (and node:$src1, -256), node:$src2)>;
639 def insertll : PatFrag<(ops node:$src1, node:$src2),
640 (or (and node:$src1, 0xffffffffffff0000), node:$src2)>;
641 def insertlh : PatFrag<(ops node:$src1, node:$src2),
642 (or (and node:$src1, 0xffffffff0000ffff), node:$src2)>;
643 def inserthl : PatFrag<(ops node:$src1, node:$src2),
644 (or (and node:$src1, 0xffff0000ffffffff), node:$src2)>;
645 def inserthh : PatFrag<(ops node:$src1, node:$src2),
646 (or (and node:$src1, 0x0000ffffffffffff), node:$src2)>;
647 def insertlf : PatFrag<(ops node:$src1, node:$src2),
648 (or (and node:$src1, 0xffffffff00000000), node:$src2)>;
649 def inserthf : PatFrag<(ops node:$src1, node:$src2),
650 (or (and node:$src1, 0x00000000ffffffff), node:$src2)>;
653 def or_as_inserti8 : PatFrag<(ops node:$src1, node:$src2),
654 (or node:$src1, node:$src2), [{
661 def or_as_revinserti8 : PatFrag<(ops node:$src1, node:$src2),
662 (or node:$src1, node:$src2), [{
669 def z_inegabs : PatFrag<(ops node:$src), (ineg (abs node:$src))>;
672 def z_muladd : PatFrag<(ops node:$src1, node:$src2, node:$src3),
673 (add (mul node:$src1, node:$src2), node:$src3)>;
676 def z_sadd : PatFrags<(ops node:$src1, node:$src2),
677 [(z_saddo node:$src1, node:$src2),
678 (add node:$src1, node:$src2)]>;
679 def z_uadd : PatFrags<(ops node:$src1, node:$src2),
680 [(z_uaddo node:$src1, node:$src2),
681 (add node:$src1, node:$src2)]>;
682 def z_ssub : PatFrags<(ops node:$src1, node:$src2),
683 [(z_ssubo node:$src1, node:$src2),
684 (sub node:$src1, node:$src2)]>;
685 def z_usub : PatFrags<(ops node:$src1, node:$src2),
686 [(z_usubo node:$src1, node:$src2),
687 (sub node:$src1, node:$src2)]>;
690 def andc : PatFrag<(ops node:$src1, node:$src2),
691 (and node:$src1, (not node:$src2))>;
692 def orc : PatFrag<(ops node:$src1, node:$src2),
693 (or node:$src1, (not node:$src2))>;
694 def nand : PatFrag<(ops node:$src1, node:$src2),
695 (not (and node:$src1, node:$src2))>;
696 def nor : PatFrag<(ops node:$src1, node:$src2),
697 (not (or node:$src1, node:$src2))>;
698 def nxor : PatFrag<(ops node:$src1, node:$src2),
699 (not (xor node:$src1, node:$src2))>;
702 def any_fms : PatFrag<(ops node:$src1, node:$src2, node:$src3),
703 (any_fma node:$src1, node:$src2, (fneg node:$src3))>;
707 def z_any_fma : PatFrag<(ops node:$src1, node:$src2, node:$src3),
708 (any_fma node:$src2, node:$src3, node:$src1)>;
709 def z_any_fms : PatFrag<(ops node:$src1, node:$src2, node:$src3),
710 (any_fma node:$src2, node:$src3, (fneg node:$src1))>;
713 def any_fnma : PatFrag<(ops node:$src1, node:$src2, node:$src3),
714 (fneg (any_fma node:$src1, node:$src2, node:$src3))>;
715 def any_fnms : PatFrag<(ops node:$src1, node:$src2, node:$src3),
716 (fneg (any_fms node:$src1, node:$src2, node:$src3))>;
719 def fnabs : PatFrag<(ops node:$ptr), (fneg (fabs node:$ptr))>;
722 def z_any_fcmp : PatFrags<(ops node:$lhs, node:$rhs),
723 [(z_strict_fcmp node:$lhs, node:$rhs),
724 (z_fcmp node:$lhs, node:$rhs)]>;
725 def z_any_vfcmpe : PatFrags<(ops node:$lhs, node:$rhs),
726 [(z_strict_vfcmpe node:$lhs, node:$rhs),
727 (z_vfcmpe node:$lhs, node:$rhs)]>;
728 def z_any_vfcmph : PatFrags<(ops node:$lhs, node:$rhs),
729 [(z_strict_vfcmph node:$lhs, node:$rhs),
730 (z_vfcmph node:$lhs, node:$rhs)]>;
731 def z_any_vfcmphe : PatFrags<(ops node:$lhs, node:$rhs),
732 [(z_strict_vfcmphe node:$lhs, node:$rhs),
733 (z_vfcmphe node:$lhs, node:$rhs)]>;
734 def z_any_vextend : PatFrags<(ops node:$src),
735 [(z_strict_vextend node:$src),
736 (z_vextend node:$src)]>;
737 def z_any_vround : PatFrags<(ops node:$src),
738 [(z_strict_vround node:$src),
739 (z_vround node:$src)]>;
744 : PatFrag<(ops node:$addr), (operator (load node:$addr))>;
749 : PatFrag<(ops node:$value, node:$addr),
750 (store (operator node:$value), node:$addr)>;
755 : PatFrag<(ops node:$addr),
756 (store (operator), node:$addr)>;
764 : PatFrags<(ops node:$val, node:$count),
765 [(operator node:$val, node:$count),
766 (operator node:$val, (and node:$count, imm32bottom6set))]>;
774 : PatFrag<(ops node:$addr),
775 (z_replicate (scalartype (load node:$addr)))>;
789 : PatFrag<(ops node:$vec, node:$addr, node:$index),
790 (z_vector_insert node:$vec, (scalartype (load node:$addr)),
791 node:$index)>;
806 : PatFrag<(ops node:$addr),
808 (scalartype (load node:$addr)), (i32 index))>;
812 def z_vllezi64 : PatFrags<(ops node:$addr),
814 (i64 (load node:$addr)), (i32 0)),
815 (z_join_dwords (i64 (load node:$addr)), (i64 0))]>;
818 def z_vllezf32 : PatFrag<(ops node:$addr),
825 (f32 (load node:$addr)))))))),
828 def z_vllezf64 : PatFrag<(ops node:$addr),
830 (v2f64 (scalar_to_vector (f64 (load node:$addr)))),
835 def z_vllezlf32 : PatFrag<(ops node:$addr),
841 (f32 (load node:$addr)))),
850 def z_vllebrzi64 : PatFrags<(ops node:$addr),
852 (i64 (z_loadbswap64 node:$addr)),
854 (z_join_dwords (i64 (z_loadbswap64 node:$addr)),
860 : PatFrag<(ops node:$vec, node:$addr, node:$index),
861 (store (scalartype (z_vector_extract node:$vec, node:$index)),
862 node:$addr)>;
875 def z_vneg : PatFrag<(ops node:$x), (sub immAllZerosV, node:$x)>;
878 def z_vnot : PatFrag<(ops node:$x), (xor node:$x, immAllOnesV)>;
881 def z_vicmph_zero : PatFrag<(ops node:$x), (z_vicmph node:$x, immAllZerosV)>;
884 def z_vicmpl_zero : PatFrag<(ops node:$x), (z_vicmph immAllZerosV, node:$x)>;
888 : PatFrag<(ops node:$src),
889 (z_vsra_by_scalar (z_vshl_by_scalar node:$src, shift), shift)>;
896 : PatFrag<(ops node:$src),
898 (operator (z_vector_extract node:$src, index1)),
899 (operator (z_vector_extract node:$src, index2)))>;