Lines Matching refs:node
496 def z_loadbswap16 : PatFrag<(ops node:$addr), (z_loadbswap node:$addr), [{
499 def z_loadbswap32 : PatFrag<(ops node:$addr), (z_loadbswap node:$addr), [{
502 def z_loadbswap64 : PatFrag<(ops node:$addr), (z_loadbswap node:$addr), [{
506 def z_storebswap16 : PatFrag<(ops node:$src, node:$addr),
507 (z_storebswap node:$src, node:$addr), [{
510 def z_storebswap32 : PatFrag<(ops node:$src, node:$addr),
511 (z_storebswap node:$src, node:$addr), [{
514 def z_storebswap64 : PatFrag<(ops node:$src, node:$addr),
515 (z_storebswap node:$src, node:$addr), [{
521 : PatFrag<(ops node:$valid, node:$mask, node:$bb),
522 (z_br_ccmask_1 node:$valid, node:$mask, node:$bb, CC)>;
524 : PatFrag<(ops node:$true, node:$false, node:$valid, node:$mask),
525 (z_select_ccmask_1 node:$true, node:$false,
526 node:$valid, node:$mask, CC)>;
528 def z_addcarry : PatFrag<(ops node:$lhs, node:$rhs),
529 (z_addcarry_1 node:$lhs, node:$rhs, CC)>;
530 def z_subcarry : PatFrag<(ops node:$lhs, node:$rhs),
531 (z_subcarry_1 node:$lhs, node:$rhs, CC)>;
534 def z_scmp : PatFrag<(ops node:$a, node:$b), (z_icmp node:$a, node:$b, timm), [{
538 def z_ucmp : PatFrag<(ops node:$a, node:$b), (z_icmp node:$a, node:$b, timm), [{
544 def z_tm_reg : PatFrag<(ops node:$a, node:$b), (z_tm node:$a, node:$b, timm)>;
545 def z_tm_mem : PatFrag<(ops node:$a, node:$b), (z_tm node:$a, node:$b, 0)>;
548 def shl1 : PatFrag<(ops node:$src), (shl node:$src, (i32 1))>;
549 def shl2 : PatFrag<(ops node:$src), (shl node:$src, (i32 2))>;
550 def shl3 : PatFrag<(ops node:$src), (shl node:$src, (i32 3))>;
551 def shl4 : PatFrag<(ops node:$src), (shl node:$src, (i32 4))>;
554 def sext8 : PatFrag<(ops node:$src), (sext_inreg node:$src, i8)>;
555 def sext16 : PatFrag<(ops node:$src), (sext_inreg node:$src, i16)>;
556 def sext32 : PatFrag<(ops node:$src), (sext (i32 node:$src))>;
560 def sext8dbl : PatFrag<(ops node:$src), (sext8 (anyext node:$src))>;
561 def sext16dbl : PatFrag<(ops node:$src), (sext16 (anyext node:$src))>;
564 def zext8 : PatFrag<(ops node:$src), (and node:$src, 0xff)>;
565 def zext16 : PatFrag<(ops node:$src), (and node:$src, 0xffff)>;
566 def zext32 : PatFrag<(ops node:$src), (zext (i32 node:$src))>;
570 def assertsext32 : PatFrag<(ops node:$src), (assertsext node:$src), [{
573 def assertzext32 : PatFrag<(ops node:$src), (assertzext node:$src), [{
578 def z_load : PatFrags<(ops node:$ptr),
579 [(load node:$ptr),
580 (atomic_load node:$ptr)], [{
588 def z_sextload : PatFrags<(ops node:$ptr),
589 [(unindexedload node:$ptr),
590 (atomic_load node:$ptr)], [{
593 def z_sextloadi8 : PatFrag<(ops node:$ptr), (z_sextload node:$ptr), [{
596 def z_sextloadi16 : PatFrag<(ops node:$ptr), (z_sextload node:$ptr), [{
599 def z_sextloadi32 : PatFrag<(ops node:$ptr), (z_sextload node:$ptr), [{
602 def z_sextloadi64 : PatFrag<(ops node:$ptr), (z_sextload node:$ptr), [{
607 def z_zextload : PatFrags<(ops node:$ptr),
608 [(unindexedload node:$ptr),
609 (atomic_load node:$ptr)], [{
612 def z_zextloadi8 : PatFrag<(ops node:$ptr), (z_zextload node:$ptr), [{
615 def z_zextloadi16 : PatFrag<(ops node:$ptr), (z_zextload node:$ptr), [{
618 def z_zextloadi32 : PatFrag<(ops node:$ptr), (z_zextload node:$ptr), [{
621 def z_zextloadi64 : PatFrag<(ops node:$ptr), (z_zextload node:$ptr), [{
626 def z_asextload : PatFrags<(ops node:$ptr),
627 [(unindexedload node:$ptr),
628 (atomic_load node:$ptr)], [{
632 def z_asextloadi8 : PatFrag<(ops node:$ptr), (z_asextload node:$ptr), [{
635 def z_asextloadi16 : PatFrag<(ops node:$ptr), (z_asextload node:$ptr), [{
638 def z_asextloadi32 : PatFrag<(ops node:$ptr), (z_asextload node:$ptr), [{
643 def z_azextload : PatFrags<(ops node:$ptr),
644 [(unindexedload node:$ptr),
645 (atomic_load node:$ptr)], [{
649 def z_azextloadi8 : PatFrag<(ops node:$ptr), (z_azextload node:$ptr), [{
652 def z_azextloadi16 : PatFrag<(ops node:$ptr), (z_azextload node:$ptr), [{
655 def z_azextloadi32 : PatFrag<(ops node:$ptr), (z_azextload node:$ptr), [{
660 def z_anyextload : PatFrags<(ops node:$ptr),
661 [(unindexedload node:$ptr),
662 (atomic_load node:$ptr)], [{
665 def z_anyextloadi8 : PatFrag<(ops node:$ptr), (z_anyextload node:$ptr), [{
668 def z_anyextloadi16 : PatFrag<(ops node:$ptr), (z_anyextload node:$ptr), [{
671 def z_anyextloadi32 : PatFrag<(ops node:$ptr), (z_anyextload node:$ptr), [{
674 def z_anyextloadi64 : PatFrag<(ops node:$ptr), (z_anyextload node:$ptr), [{
679 def anyextload : PatFrag<(ops node:$ptr), (unindexedload node:$ptr), [{
682 def anyextloadi8 : PatFrag<(ops node:$ptr), (anyextload node:$ptr), [{
685 def anyextloadi16 : PatFrag<(ops node:$ptr), (anyextload node:$ptr), [{
688 def anyextloadi32 : PatFrag<(ops node:$ptr), (anyextload node:$ptr), [{
693 def z_extload : PatFrags<(ops node:$ptr),
694 [(extload node:$ptr),
695 (atomic_load node:$ptr)], [{
698 def z_extloadi8 : PatFrag<(ops node:$ptr), (z_extload node:$ptr), [{
701 def z_extloadi16 : PatFrag<(ops node:$ptr), (z_extload node:$ptr), [{
704 def z_extloadi32 : PatFrag<(ops node:$ptr), (z_extload node:$ptr), [{
707 def z_extloadi64 : PatFrag<(ops node:$ptr), (z_extload node:$ptr), [{
712 def z_any_extloadf32 : PatFrags<(ops node:$ptr),
713 [(any_extloadf32 node:$ptr),
714 (any_fpextend (f32 (atomic_load node:$ptr)))]>;
715 def z_any_extloadf64 : PatFrags<(ops node:$ptr),
716 [(any_extloadf64 node:$ptr),
717 (any_fpextend (f64 (atomic_load node:$ptr)))]>;
721 : PatFrag<(ops node:$addr), (load node:$addr),
731 : PatFrag<(ops node:$src, node:$addr), (store node:$src, node:$addr),
740 : PatFrag<(ops node:$addr), (load node:$addr), [{
750 : PatFrag<(ops node:$src, node:$addr), (store node:$src, node:$addr), [{
759 def mvc_store : PatFrag<(ops node:$value, node:$addr),
760 (unindexedstore node:$value, node:$addr),
768 def "1" : PatFrag<(ops node:$value, node:$addr),
769 (unindexedstore (operator node:$value,
770 (unindexedload node:$addr)),
771 node:$addr),
773 def "2" : PatFrag<(ops node:$value, node:$addr),
774 (unindexedstore (operator (unindexedload node:$addr),
775 node:$value),
776 node:$addr),
784 class insert_imm<int mask> : PatFrag<(ops node:$src1, node:$src2),
785 (or (and node:$src1, mask), node:$src2)>;
798 def or_as_inserti8 : PatFrag<(ops node:$src1, node:$src2),
799 (or node:$src1, node:$src2), [{
806 def or_as_revinserti8 : PatFrag<(ops node:$src1, node:$src2),
807 (or node:$src1, node:$src2), [{
814 def z_inegabs : PatFrag<(ops node:$src), (ineg (abs node:$src))>;
817 def z_muladd : PatFrag<(ops node:$src1, node:$src2, node:$src3),
818 (add (mul node:$src1, node:$src2), node:$src3)>;
821 def z_sadd : PatFrags<(ops node:$src1, node:$src2),
822 [(z_saddo node:$src1, node:$src2),
823 (add node:$src1, node:$src2)]>;
824 def z_uadd : PatFrags<(ops node:$src1, node:$src2),
825 [(z_uaddo node:$src1, node:$src2),
826 (add node:$src1, node:$src2)]>;
827 def z_ssub : PatFrags<(ops node:$src1, node:$src2),
828 [(z_ssubo node:$src1, node:$src2),
829 (sub node:$src1, node:$src2)]>;
830 def z_usub : PatFrags<(ops node:$src1, node:$src2),
831 [(z_usubo node:$src1, node:$src2),
832 (sub node:$src1, node:$src2)]>;
835 def andc : PatFrag<(ops node:$src1, node:$src2),
836 (and node:$src1, (not node:$src2))>;
837 def orc : PatFrag<(ops node:$src1, node:$src2),
838 (or node:$src1, (not node:$src2))>;
839 def nand : PatFrag<(ops node:$src1, node:$src2),
840 (not (and node:$src1, node:$src2))>;
841 def nor : PatFrag<(ops node:$src1, node:$src2),
842 (not (or node:$src1, node:$src2))>;
843 def nxor : PatFrag<(ops node:$src1, node:$src2),
844 (not (xor node:$src1, node:$src2))>;
847 def any_fms : PatFrag<(ops node:$src1, node:$src2, node:$src3),
848 (any_fma node:$src1, node:$src2, (fneg node:$src3))>;
852 def z_any_fma : PatFrag<(ops node:$src1, node:$src2, node:$src3),
853 (any_fma node:$src2, node:$src3, node:$src1)>;
854 def z_any_fms : PatFrag<(ops node:$src1, node:$src2, node:$src3),
855 (any_fma node:$src2, node:$src3, (fneg node:$src1))>;
858 def any_fnma : PatFrag<(ops node:$src1, node:$src2, node:$src3),
859 (fneg (any_fma node:$src1, node:$src2, node:$src3))>;
860 def any_fnms : PatFrag<(ops node:$src1, node:$src2, node:$src3),
861 (fneg (any_fms node:$src1, node:$src2, node:$src3))>;
864 def fnabs : PatFrag<(ops node:$ptr), (fneg (fabs node:$ptr))>;
868 def z_any_fadd_noreassoc : PatFrag<(ops node:$src1, node:$src2),
869 (any_fadd node:$src1, node:$src2),
871 def z_any_fsub_noreassoc : PatFrag<(ops node:$src1, node:$src2),
872 (any_fsub node:$src1, node:$src2),
874 def z_any_fmul_noreassoc : PatFrag<(ops node:$src1, node:$src2),
875 (any_fmul node:$src1, node:$src2),
879 def z_any_fcmp : PatFrags<(ops node:$lhs, node:$rhs),
880 [(z_strict_fcmp node:$lhs, node:$rhs),
881 (z_fcmp node:$lhs, node:$rhs)]>;
882 def z_any_vfcmpe : PatFrags<(ops node:$lhs, node:$rhs),
883 [(z_strict_vfcmpe node:$lhs, node:$rhs),
884 (z_vfcmpe node:$lhs, node:$rhs)]>;
885 def z_any_vfcmph : PatFrags<(ops node:$lhs, node:$rhs),
886 [(z_strict_vfcmph node:$lhs, node:$rhs),
887 (z_vfcmph node:$lhs, node:$rhs)]>;
888 def z_any_vfcmphe : PatFrags<(ops node:$lhs, node:$rhs),
889 [(z_strict_vfcmphe node:$lhs, node:$rhs),
890 (z_vfcmphe node:$lhs, node:$rhs)]>;
891 def z_any_vextend : PatFrags<(ops node:$src),
892 [(z_strict_vextend node:$src),
893 (z_vextend node:$src)]>;
894 def z_any_vround : PatFrags<(ops node:$src),
895 [(z_strict_vround node:$src),
896 (z_vround node:$src)]>;
901 : PatFrag<(ops node:$addr), (operator (load node:$addr))>;
906 : PatFrag<(ops node:$value, node:$addr),
907 (store (operator node:$value), node:$addr)>;
912 : PatFrag<(ops node:$addr),
913 (store (operator), node:$addr)>;
921 : PatFrags<(ops node:$val, node:$count),
922 [(operator node:$val, node:$count),
923 (operator node:$val, (and node:$count, imm32bottom6set))]>;
931 : PatFrags<(ops node:$val, node:$count),
932 [(operator node:$val, node:$count),
933 (operator node:$val, (and node:$count, imm32bottom7set))]>;
948 : PatFrag<(ops node:$addr),
949 (z_replicate (scalartype (load node:$addr)))>;
963 : PatFrag<(ops node:$vec, node:$addr, node:$index),
964 (z_vector_insert node:$vec, (scalartype (load node:$addr)),
965 node:$index)>;
980 : PatFrag<(ops node:$addr),
982 (scalartype (load node:$addr)), (i32 index))>;
986 def z_vllezi64 : PatFrags<(ops node:$addr),
988 (i64 (z_load node:$addr)), (i32 0)),
989 (z_join_dwords (i64 (z_load node:$addr)), (i64 0))]>;
992 def z_vllezf32 : PatFrag<(ops node:$addr),
999 (f32 (z_load node:$addr)))))))),
1002 def z_vllezf64 : PatFrag<(ops node:$addr),
1004 (v2f64 (scalar_to_vector (f64 (z_load node:$addr)))),
1009 def z_vllezlf32 : PatFrag<(ops node:$addr),
1015 (f32 (z_load node:$addr)))),
1024 def z_vllebrzi64 : PatFrags<(ops node:$addr),
1026 (i64 (z_loadbswap64 node:$addr)),
1028 (z_join_dwords (i64 (z_loadbswap64 node:$addr)),
1034 : PatFrag<(ops node:$vec, node:$addr, node:$index),
1035 (store (scalartype (z_vector_extract node:$vec, node:$index)),
1036 node:$addr)>;
1049 def z_vneg : PatFrag<(ops node:$x), (sub immAllZerosV, node:$x)>;
1052 def z_vnot : PatFrag<(ops node:$x), (xor node:$x, immAllOnesV)>;
1055 def z_vicmph_zero : PatFrag<(ops node:$x), (z_vicmph node:$x, immAllZerosV)>;
1058 def z_vicmpl_zero : PatFrag<(ops node:$x), (z_vicmph immAllZerosV, node:$x)>;
1062 : PatFrag<(ops node:$src),
1063 (z_vsra_by_scalar (z_vshl_by_scalar node:$src, shift), shift)>;
1070 : PatFrag<(ops node:$src),
1072 (operator (z_vector_extract node:$src, index1)),
1073 (operator (z_vector_extract node:$src, index2)))>;