Lines Matching refs:node
471 def z_loadbswap16 : PatFrag<(ops node:$addr), (z_loadbswap node:$addr), [{
474 def z_loadbswap32 : PatFrag<(ops node:$addr), (z_loadbswap node:$addr), [{
477 def z_loadbswap64 : PatFrag<(ops node:$addr), (z_loadbswap node:$addr), [{
481 def z_storebswap16 : PatFrag<(ops node:$src, node:$addr),
482 (z_storebswap node:$src, node:$addr), [{
485 def z_storebswap32 : PatFrag<(ops node:$src, node:$addr),
486 (z_storebswap node:$src, node:$addr), [{
489 def z_storebswap64 : PatFrag<(ops node:$src, node:$addr),
490 (z_storebswap node:$src, node:$addr), [{
496 : PatFrag<(ops node:$valid, node:$mask, node:$bb),
497 (z_br_ccmask_1 node:$valid, node:$mask, node:$bb, CC)>;
499 : PatFrag<(ops node:$true, node:$false, node:$valid, node:$mask),
500 (z_select_ccmask_1 node:$true, node:$false,
501 node:$valid, node:$mask, CC)>;
503 def z_addcarry : PatFrag<(ops node:$lhs, node:$rhs),
504 (z_addcarry_1 node:$lhs, node:$rhs, CC)>;
505 def z_subcarry : PatFrag<(ops node:$lhs, node:$rhs),
506 (z_subcarry_1 node:$lhs, node:$rhs, CC)>;
509 def z_scmp : PatFrag<(ops node:$a, node:$b), (z_icmp node:$a, node:$b, timm), [{
513 def z_ucmp : PatFrag<(ops node:$a, node:$b), (z_icmp node:$a, node:$b, timm), [{
519 def z_tm_reg : PatFrag<(ops node:$a, node:$b), (z_tm node:$a, node:$b, timm)>;
520 def z_tm_mem : PatFrag<(ops node:$a, node:$b), (z_tm node:$a, node:$b, 0)>;
523 def sext8 : PatFrag<(ops node:$src), (sext_inreg node:$src, i8)>;
524 def sext16 : PatFrag<(ops node:$src), (sext_inreg node:$src, i16)>;
525 def sext32 : PatFrag<(ops node:$src), (sext (i32 node:$src))>;
529 def sext8dbl : PatFrag<(ops node:$src), (sext8 (anyext node:$src))>;
530 def sext16dbl : PatFrag<(ops node:$src), (sext16 (anyext node:$src))>;
533 def zext8 : PatFrag<(ops node:$src), (and node:$src, 0xff)>;
534 def zext16 : PatFrag<(ops node:$src), (and node:$src, 0xffff)>;
535 def zext32 : PatFrag<(ops node:$src), (zext (i32 node:$src))>;
538 def asextload : PatFrag<(ops node:$ptr), (unindexedload node:$ptr), [{
542 def asextloadi8 : PatFrag<(ops node:$ptr), (asextload node:$ptr), [{
545 def asextloadi16 : PatFrag<(ops node:$ptr), (asextload node:$ptr), [{
548 def asextloadi32 : PatFrag<(ops node:$ptr), (asextload node:$ptr), [{
553 def azextload : PatFrag<(ops node:$ptr), (unindexedload node:$ptr), [{
557 def azextloadi8 : PatFrag<(ops node:$ptr), (azextload node:$ptr), [{
560 def azextloadi16 : PatFrag<(ops node:$ptr), (azextload node:$ptr), [{
563 def azextloadi32 : PatFrag<(ops node:$ptr), (azextload node:$ptr), [{
568 def anyextload : PatFrag<(ops node:$ptr), (unindexedload node:$ptr), [{
571 def anyextloadi8 : PatFrag<(ops node:$ptr), (anyextload node:$ptr), [{
574 def anyextloadi16 : PatFrag<(ops node:$ptr), (anyextload node:$ptr), [{
577 def anyextloadi32 : PatFrag<(ops node:$ptr), (anyextload node:$ptr), [{
583 : PatFrag<(ops node:$addr), (load node:$addr),
593 : PatFrag<(ops node:$src, node:$addr), (store node:$src, node:$addr),
602 : PatFrag<(ops node:$addr), (load node:$addr), [{
612 : PatFrag<(ops node:$src, node:$addr), (store node:$src, node:$addr), [{
621 def mvc_store : PatFrag<(ops node:$value, node:$addr),
622 (unindexedstore node:$value, node:$addr),
630 def "1" : PatFrag<(ops node:$value, node:$addr),
631 (unindexedstore (operator node:$value,
632 (unindexedload node:$addr)),
633 node:$addr),
635 def "2" : PatFrag<(ops node:$value, node:$addr),
636 (unindexedstore (operator (unindexedload node:$addr),
637 node:$value),
638 node:$addr),
646 def inserti8 : PatFrag<(ops node:$src1, node:$src2),
647 (or (and node:$src1, -256), node:$src2)>;
648 def insertll : PatFrag<(ops node:$src1, node:$src2),
649 (or (and node:$src1, 0xffffffffffff0000), node:$src2)>;
650 def insertlh : PatFrag<(ops node:$src1, node:$src2),
651 (or (and node:$src1, 0xffffffff0000ffff), node:$src2)>;
652 def inserthl : PatFrag<(ops node:$src1, node:$src2),
653 (or (and node:$src1, 0xffff0000ffffffff), node:$src2)>;
654 def inserthh : PatFrag<(ops node:$src1, node:$src2),
655 (or (and node:$src1, 0x0000ffffffffffff), node:$src2)>;
656 def insertlf : PatFrag<(ops node:$src1, node:$src2),
657 (or (and node:$src1, 0xffffffff00000000), node:$src2)>;
658 def inserthf : PatFrag<(ops node:$src1, node:$src2),
659 (or (and node:$src1, 0x00000000ffffffff), node:$src2)>;
662 def or_as_inserti8 : PatFrag<(ops node:$src1, node:$src2),
663 (or node:$src1, node:$src2), [{
670 def or_as_revinserti8 : PatFrag<(ops node:$src1, node:$src2),
671 (or node:$src1, node:$src2), [{
678 def z_inegabs : PatFrag<(ops node:$src), (ineg (abs node:$src))>;
681 def z_muladd : PatFrag<(ops node:$src1, node:$src2, node:$src3),
682 (add (mul node:$src1, node:$src2), node:$src3)>;
685 def z_sadd : PatFrags<(ops node:$src1, node:$src2),
686 [(z_saddo node:$src1, node:$src2),
687 (add node:$src1, node:$src2)]>;
688 def z_uadd : PatFrags<(ops node:$src1, node:$src2),
689 [(z_uaddo node:$src1, node:$src2),
690 (add node:$src1, node:$src2)]>;
691 def z_ssub : PatFrags<(ops node:$src1, node:$src2),
692 [(z_ssubo node:$src1, node:$src2),
693 (sub node:$src1, node:$src2)]>;
694 def z_usub : PatFrags<(ops node:$src1, node:$src2),
695 [(z_usubo node:$src1, node:$src2),
696 (sub node:$src1, node:$src2)]>;
699 def andc : PatFrag<(ops node:$src1, node:$src2),
700 (and node:$src1, (not node:$src2))>;
701 def orc : PatFrag<(ops node:$src1, node:$src2),
702 (or node:$src1, (not node:$src2))>;
703 def nand : PatFrag<(ops node:$src1, node:$src2),
704 (not (and node:$src1, node:$src2))>;
705 def nor : PatFrag<(ops node:$src1, node:$src2),
706 (not (or node:$src1, node:$src2))>;
707 def nxor : PatFrag<(ops node:$src1, node:$src2),
708 (not (xor node:$src1, node:$src2))>;
711 def any_fms : PatFrag<(ops node:$src1, node:$src2, node:$src3),
712 (any_fma node:$src1, node:$src2, (fneg node:$src3))>;
716 def z_any_fma : PatFrag<(ops node:$src1, node:$src2, node:$src3),
717 (any_fma node:$src2, node:$src3, node:$src1)>;
718 def z_any_fms : PatFrag<(ops node:$src1, node:$src2, node:$src3),
719 (any_fma node:$src2, node:$src3, (fneg node:$src1))>;
722 def any_fnma : PatFrag<(ops node:$src1, node:$src2, node:$src3),
723 (fneg (any_fma node:$src1, node:$src2, node:$src3))>;
724 def any_fnms : PatFrag<(ops node:$src1, node:$src2, node:$src3),
725 (fneg (any_fms node:$src1, node:$src2, node:$src3))>;
728 def fnabs : PatFrag<(ops node:$ptr), (fneg (fabs node:$ptr))>;
731 def z_any_fcmp : PatFrags<(ops node:$lhs, node:$rhs),
732 [(z_strict_fcmp node:$lhs, node:$rhs),
733 (z_fcmp node:$lhs, node:$rhs)]>;
734 def z_any_vfcmpe : PatFrags<(ops node:$lhs, node:$rhs),
735 [(z_strict_vfcmpe node:$lhs, node:$rhs),
736 (z_vfcmpe node:$lhs, node:$rhs)]>;
737 def z_any_vfcmph : PatFrags<(ops node:$lhs, node:$rhs),
738 [(z_strict_vfcmph node:$lhs, node:$rhs),
739 (z_vfcmph node:$lhs, node:$rhs)]>;
740 def z_any_vfcmphe : PatFrags<(ops node:$lhs, node:$rhs),
741 [(z_strict_vfcmphe node:$lhs, node:$rhs),
742 (z_vfcmphe node:$lhs, node:$rhs)]>;
743 def z_any_vextend : PatFrags<(ops node:$src),
744 [(z_strict_vextend node:$src),
745 (z_vextend node:$src)]>;
746 def z_any_vround : PatFrags<(ops node:$src),
747 [(z_strict_vround node:$src),
748 (z_vround node:$src)]>;
753 : PatFrag<(ops node:$addr), (operator (load node:$addr))>;
758 : PatFrag<(ops node:$value, node:$addr),
759 (store (operator node:$value), node:$addr)>;
764 : PatFrag<(ops node:$addr),
765 (store (operator), node:$addr)>;
773 : PatFrags<(ops node:$val, node:$count),
774 [(operator node:$val, node:$count),
775 (operator node:$val, (and node:$count, imm32bottom6set))]>;
783 : PatFrags<(ops node:$val, node:$count),
784 [(operator node:$val, node:$count),
785 (operator node:$val, (and node:$count, imm32bottom7set))]>;
800 : PatFrag<(ops node:$addr),
801 (z_replicate (scalartype (load node:$addr)))>;
815 : PatFrag<(ops node:$vec, node:$addr, node:$index),
816 (z_vector_insert node:$vec, (scalartype (load node:$addr)),
817 node:$index)>;
832 : PatFrag<(ops node:$addr),
834 (scalartype (load node:$addr)), (i32 index))>;
838 def z_vllezi64 : PatFrags<(ops node:$addr),
840 (i64 (load node:$addr)), (i32 0)),
841 (z_join_dwords (i64 (load node:$addr)), (i64 0))]>;
844 def z_vllezf32 : PatFrag<(ops node:$addr),
851 (f32 (load node:$addr)))))))),
854 def z_vllezf64 : PatFrag<(ops node:$addr),
856 (v2f64 (scalar_to_vector (f64 (load node:$addr)))),
861 def z_vllezlf32 : PatFrag<(ops node:$addr),
867 (f32 (load node:$addr)))),
876 def z_vllebrzi64 : PatFrags<(ops node:$addr),
878 (i64 (z_loadbswap64 node:$addr)),
880 (z_join_dwords (i64 (z_loadbswap64 node:$addr)),
886 : PatFrag<(ops node:$vec, node:$addr, node:$index),
887 (store (scalartype (z_vector_extract node:$vec, node:$index)),
888 node:$addr)>;
901 def z_vneg : PatFrag<(ops node:$x), (sub immAllZerosV, node:$x)>;
904 def z_vnot : PatFrag<(ops node:$x), (xor node:$x, immAllOnesV)>;
907 def z_vicmph_zero : PatFrag<(ops node:$x), (z_vicmph node:$x, immAllZerosV)>;
910 def z_vicmpl_zero : PatFrag<(ops node:$x), (z_vicmph immAllZerosV, node:$x)>;
914 : PatFrag<(ops node:$src),
915 (z_vsra_by_scalar (z_vshl_by_scalar node:$src, shift), shift)>;
922 : PatFrag<(ops node:$src),
924 (operator (z_vector_extract node:$src, index1)),
925 (operator (z_vector_extract node:$src, index2)))>;