Lines Matching refs:Pat
835 def : Pat<(v2f64 (scalar_to_vector f64:$A)),
838 def : Pat<(f64 (extractelt v2f64:$S, 0)),
840 def : Pat<(f64 (extractelt v2f64:$S, 1)),
845 def : Pat<(v2f64 (scalar_to_vector f64:$A)),
849 def : Pat<(f64 (extractelt v2f64:$S, 0)),
851 def : Pat<(f64 (extractelt v2f64:$S, 1)),
856 def : Pat<(fma (fneg f64:$A), f64:$C, f64:$B),
858 def : Pat<(fma f64:$A, (fneg f64:$C), f64:$B),
861 def : Pat<(fma (fneg v2f64:$A), v2f64:$C, v2f64:$B),
863 def : Pat<(fma v2f64:$A, (fneg v2f64:$C), v2f64:$B),
866 def : Pat<(fma (fneg v4f32:$A), v4f32:$C, v4f32:$B),
868 def : Pat<(fma v4f32:$A, (fneg v4f32:$C), v4f32:$B),
871 def : Pat<(v2f64 (bitconvert v4f32:$A)),
873 def : Pat<(v2f64 (bitconvert v4i32:$A)),
875 def : Pat<(v2f64 (bitconvert v8i16:$A)),
877 def : Pat<(v2f64 (bitconvert v16i8:$A)),
880 def : Pat<(v4f32 (bitconvert v2f64:$A)),
882 def : Pat<(v4i32 (bitconvert v2f64:$A)),
884 def : Pat<(v8i16 (bitconvert v2f64:$A)),
886 def : Pat<(v16i8 (bitconvert v2f64:$A)),
889 def : Pat<(v2i64 (bitconvert v4f32:$A)),
891 def : Pat<(v2i64 (bitconvert v4i32:$A)),
893 def : Pat<(v2i64 (bitconvert v8i16:$A)),
895 def : Pat<(v2i64 (bitconvert v16i8:$A)),
898 def : Pat<(v4f32 (bitconvert v2i64:$A)),
900 def : Pat<(v4i32 (bitconvert v2i64:$A)),
902 def : Pat<(v8i16 (bitconvert v2i64:$A)),
904 def : Pat<(v16i8 (bitconvert v2i64:$A)),
907 def : Pat<(v2f64 (bitconvert v2i64:$A)),
909 def : Pat<(v2i64 (bitconvert v2f64:$A)),
912 def : Pat<(v2f64 (bitconvert v1i128:$A)),
914 def : Pat<(v1i128 (bitconvert v2f64:$A)),
924 def : Pat<(sext_inreg v2i64:$C, v2i32),
926 def : Pat<(v2f64 (sint_to_fp (sext_inreg v2i64:$C, v2i32))),
930 def : Pat<(v2f64 (load xoaddr:$src)), (LXVD2X xoaddr:$src)>;
931 def : Pat<(v2i64 (load xoaddr:$src)), (LXVD2X xoaddr:$src)>;
932 def : Pat<(v4i32 (load xoaddr:$src)), (LXVW4X xoaddr:$src)>;
933 def : Pat<(v2f64 (PPClxvd2x xoaddr:$src)), (LXVD2X xoaddr:$src)>;
936 def : Pat<(int_ppc_vsx_stxvd2x v2f64:$rS, xoaddr:$dst),
938 def : Pat<(store v2i64:$rS, xoaddr:$dst), (STXVD2X $rS, xoaddr:$dst)>;
939 def : Pat<(int_ppc_vsx_stxvw4x v4i32:$rS, xoaddr:$dst),
941 def : Pat<(PPCstxvd2x v2f64:$rS, xoaddr:$dst), (STXVD2X $rS, xoaddr:$dst)>;
944 def : Pat<(v2f64 (PPCxxswapd v2f64:$src)), (XXPERMDI $src, $src, 2)>;
945 def : Pat<(v2i64 (PPCxxswapd v2i64:$src)), (XXPERMDI $src, $src, 2)>;
946 def : Pat<(v4f32 (PPCxxswapd v4f32:$src)), (XXPERMDI $src, $src, 2)>;
947 def : Pat<(v4i32 (PPCxxswapd v4i32:$src)), (XXPERMDI $src, $src, 2)>;
950 def : Pat<(v2f64 (selectcc i1:$lhs, i1:$rhs, v2f64:$tval, v2f64:$fval, SETLT)),
952 def : Pat<(v2f64 (selectcc i1:$lhs, i1:$rhs, v2f64:$tval, v2f64:$fval, SETULT)),
954 def : Pat<(v2f64 (selectcc i1:$lhs, i1:$rhs, v2f64:$tval, v2f64:$fval, SETLE)),
956 def : Pat<(v2f64 (selectcc i1:$lhs, i1:$rhs, v2f64:$tval, v2f64:$fval, SETULE)),
958 def : Pat<(v2f64 (selectcc i1:$lhs, i1:$rhs, v2f64:$tval, v2f64:$fval, SETEQ)),
960 def : Pat<(v2f64 (selectcc i1:$lhs, i1:$rhs, v2f64:$tval, v2f64:$fval, SETGE)),
962 def : Pat<(v2f64 (selectcc i1:$lhs, i1:$rhs, v2f64:$tval, v2f64:$fval, SETUGE)),
964 def : Pat<(v2f64 (selectcc i1:$lhs, i1:$rhs, v2f64:$tval, v2f64:$fval, SETGT)),
966 def : Pat<(v2f64 (selectcc i1:$lhs, i1:$rhs, v2f64:$tval, v2f64:$fval, SETUGT)),
968 def : Pat<(v2f64 (selectcc i1:$lhs, i1:$rhs, v2f64:$tval, v2f64:$fval, SETNE)),
971 def : Pat<(f64 (selectcc i1:$lhs, i1:$rhs, f64:$tval, f64:$fval, SETLT)),
973 def : Pat<(f64 (selectcc i1:$lhs, i1:$rhs, f64:$tval, f64:$fval, SETULT)),
975 def : Pat<(f64 (selectcc i1:$lhs, i1:$rhs, f64:$tval, f64:$fval, SETLE)),
977 def : Pat<(f64 (selectcc i1:$lhs, i1:$rhs, f64:$tval, f64:$fval, SETULE)),
979 def : Pat<(f64 (selectcc i1:$lhs, i1:$rhs, f64:$tval, f64:$fval, SETEQ)),
981 def : Pat<(f64 (selectcc i1:$lhs, i1:$rhs, f64:$tval, f64:$fval, SETGE)),
983 def : Pat<(f64 (selectcc i1:$lhs, i1:$rhs, f64:$tval, f64:$fval, SETUGE)),
985 def : Pat<(f64 (selectcc i1:$lhs, i1:$rhs, f64:$tval, f64:$fval, SETGT)),
987 def : Pat<(f64 (selectcc i1:$lhs, i1:$rhs, f64:$tval, f64:$fval, SETUGT)),
989 def : Pat<(f64 (selectcc i1:$lhs, i1:$rhs, f64:$tval, f64:$fval, SETNE)),
993 def : Pat<(int_ppc_vsx_xvdivsp v4f32:$A, v4f32:$B),
995 def : Pat<(int_ppc_vsx_xvdivdp v2f64:$A, v2f64:$B),
999 def : Pat<(int_ppc_vsx_xvresp v4f32:$A),
1001 def : Pat<(int_ppc_vsx_xvredp v2f64:$A),
1005 def : Pat<(int_ppc_vsx_xvrsqrtesp v4f32:$A),
1007 def : Pat<(int_ppc_vsx_xvrsqrtedp v2f64:$A),
1034 def : Pat<(int_ppc_vsx_xxleqv v4i32:$A, v4i32:$B),
1065 def : Pat<(f64 (extloadf32 xoaddr:$src)),
1067 def : Pat<(f64 (fextend f32:$src)),
1070 def : Pat<(f32 (selectcc i1:$lhs, i1:$rhs, f32:$tval, f32:$fval, SETLT)),
1072 def : Pat<(f32 (selectcc i1:$lhs, i1:$rhs, f32:$tval, f32:$fval, SETULT)),
1074 def : Pat<(f32 (selectcc i1:$lhs, i1:$rhs, f32:$tval, f32:$fval, SETLE)),
1076 def : Pat<(f32 (selectcc i1:$lhs, i1:$rhs, f32:$tval, f32:$fval, SETULE)),
1078 def : Pat<(f32 (selectcc i1:$lhs, i1:$rhs, f32:$tval, f32:$fval, SETEQ)),
1080 def : Pat<(f32 (selectcc i1:$lhs, i1:$rhs, f32:$tval, f32:$fval, SETGE)),
1082 def : Pat<(f32 (selectcc i1:$lhs, i1:$rhs, f32:$tval, f32:$fval, SETUGE)),
1084 def : Pat<(f32 (selectcc i1:$lhs, i1:$rhs, f32:$tval, f32:$fval, SETGT)),
1086 def : Pat<(f32 (selectcc i1:$lhs, i1:$rhs, f32:$tval, f32:$fval, SETUGT)),
1088 def : Pat<(f32 (selectcc i1:$lhs, i1:$rhs, f32:$tval, f32:$fval, SETNE)),
1551 def : Pat<(v4f32 (scalar_to_vector f32:$A)),
1553 def : Pat<(f32 (vector_extract v4f32:$S, 0)),
1555 def : Pat<(f32 (vector_extract v4f32:$S, 1)),
1557 def : Pat<(f32 (vector_extract v4f32:$S, 2)),
1559 def : Pat<(f32 (vector_extract v4f32:$S, 3)),
1561 def : Pat<(f32 (vector_extract v4f32:$S, i64:$Idx)),
1567 def : Pat<(f64 (vector_extract v2f64:$S, i64:$Idx)),
1572 def : Pat<(v16i8 (scalar_to_vector i32:$A)),
1574 def : Pat<(v8i16 (scalar_to_vector i32:$A)),
1576 def : Pat<(v4i32 (scalar_to_vector i32:$A)),
1578 def : Pat<(v2i64 (scalar_to_vector i64:$A)),
1580 def : Pat<(i32 (vector_extract v16i8:$S, 0)),
1582 def : Pat<(i32 (vector_extract v16i8:$S, 1)),
1584 def : Pat<(i32 (vector_extract v16i8:$S, 2)),
1586 def : Pat<(i32 (vector_extract v16i8:$S, 3)),
1588 def : Pat<(i32 (vector_extract v16i8:$S, 4)),
1590 def : Pat<(i32 (vector_extract v16i8:$S, 5)),
1592 def : Pat<(i32 (vector_extract v16i8:$S, 6)),
1594 def : Pat<(i32 (vector_extract v16i8:$S, 7)),
1596 def : Pat<(i32 (vector_extract v16i8:$S, 8)),
1598 def : Pat<(i32 (vector_extract v16i8:$S, 9)),
1600 def : Pat<(i32 (vector_extract v16i8:$S, 10)),
1602 def : Pat<(i32 (vector_extract v16i8:$S, 11)),
1604 def : Pat<(i32 (vector_extract v16i8:$S, 12)),
1606 def : Pat<(i32 (vector_extract v16i8:$S, 13)),
1608 def : Pat<(i32 (vector_extract v16i8:$S, 14)),
1610 def : Pat<(i32 (vector_extract v16i8:$S, 15)),
1612 def : Pat<(i32 (vector_extract v16i8:$S, i64:$Idx)),
1616 def : Pat<(i32 (vector_extract v8i16:$S, 0)),
1618 def : Pat<(i32 (vector_extract v8i16:$S, 1)),
1620 def : Pat<(i32 (vector_extract v8i16:$S, 2)),
1622 def : Pat<(i32 (vector_extract v8i16:$S, 3)),
1624 def : Pat<(i32 (vector_extract v8i16:$S, 4)),
1626 def : Pat<(i32 (vector_extract v8i16:$S, 5)),
1628 def : Pat<(i32 (vector_extract v8i16:$S, 6)),
1630 def : Pat<(i32 (vector_extract v8i16:$S, 7)),
1632 def : Pat<(i32 (vector_extract v8i16:$S, i64:$Idx)),
1636 def : Pat<(i32 (vector_extract v4i32:$S, 0)),
1638 def : Pat<(i32 (vector_extract v4i32:$S, 1)),
1640 def : Pat<(i32 (vector_extract v4i32:$S, 2)),
1642 def : Pat<(i32 (vector_extract v4i32:$S, 3)),
1644 def : Pat<(i32 (vector_extract v4i32:$S, i64:$Idx)),
1648 def : Pat<(i64 (vector_extract v2i64:$S, 0)),
1650 def : Pat<(i64 (vector_extract v2i64:$S, 1)),
1652 def : Pat<(i64 (vector_extract v2i64:$S, i64:$Idx)),
1658 def : Pat<(v4f32 (scalar_to_vector f32:$A)),
1660 def : Pat<(f32 (vector_extract v4f32:$S, 0)),
1662 def : Pat<(f32 (vector_extract v4f32:$S, 1)),
1664 def : Pat<(f32 (vector_extract v4f32:$S, 2)),
1666 def : Pat<(f32 (vector_extract v4f32:$S, 3)),
1668 def : Pat<(f32 (vector_extract v4f32:$S, i64:$Idx)),
1674 def : Pat<(f64 (vector_extract v2f64:$S, i64:$Idx)),
1679 def : Pat<(v16i8 (scalar_to_vector i32:$A)),
1681 def : Pat<(v8i16 (scalar_to_vector i32:$A)),
1683 def : Pat<(v4i32 (scalar_to_vector i32:$A)),
1685 def : Pat<(v2i64 (scalar_to_vector i64:$A)),
1687 def : Pat<(i32 (vector_extract v16i8:$S, 0)),
1689 def : Pat<(i32 (vector_extract v16i8:$S, 1)),
1691 def : Pat<(i32 (vector_extract v16i8:$S, 2)),
1693 def : Pat<(i32 (vector_extract v16i8:$S, 3)),
1695 def : Pat<(i32 (vector_extract v16i8:$S, 4)),
1697 def : Pat<(i32 (vector_extract v16i8:$S, 5)),
1699 def : Pat<(i32 (vector_extract v16i8:$S, 6)),
1701 def : Pat<(i32 (vector_extract v16i8:$S, 7)),
1703 def : Pat<(i32 (vector_extract v16i8:$S, 8)),
1705 def : Pat<(i32 (vector_extract v16i8:$S, 9)),
1707 def : Pat<(i32 (vector_extract v16i8:$S, 10)),
1709 def : Pat<(i32 (vector_extract v16i8:$S, 11)),
1711 def : Pat<(i32 (vector_extract v16i8:$S, 12)),
1713 def : Pat<(i32 (vector_extract v16i8:$S, 13)),
1715 def : Pat<(i32 (vector_extract v16i8:$S, 14)),
1717 def : Pat<(i32 (vector_extract v16i8:$S, 15)),
1719 def : Pat<(i32 (vector_extract v16i8:$S, i64:$Idx)),
1723 def : Pat<(i32 (vector_extract v8i16:$S, 0)),
1725 def : Pat<(i32 (vector_extract v8i16:$S, 1)),
1727 def : Pat<(i32 (vector_extract v8i16:$S, 2)),
1729 def : Pat<(i32 (vector_extract v8i16:$S, 3)),
1731 def : Pat<(i32 (vector_extract v8i16:$S, 4)),
1733 def : Pat<(i32 (vector_extract v8i16:$S, 5)),
1735 def : Pat<(i32 (vector_extract v8i16:$S, 6)),
1737 def : Pat<(i32 (vector_extract v8i16:$S, 7)),
1739 def : Pat<(i32 (vector_extract v8i16:$S, i64:$Idx)),
1743 def : Pat<(i32 (vector_extract v4i32:$S, 0)),
1745 def : Pat<(i32 (vector_extract v4i32:$S, 1)),
1747 def : Pat<(i32 (vector_extract v4i32:$S, 2)),
1749 def : Pat<(i32 (vector_extract v4i32:$S, 3)),
1751 def : Pat<(i32 (vector_extract v4i32:$S, i64:$Idx)),
1755 def : Pat<(i64 (vector_extract v2i64:$S, 0)),
1757 def : Pat<(i64 (vector_extract v2i64:$S, 1)),
1759 def : Pat<(i64 (vector_extract v2i64:$S, i64:$Idx)),
1766 def : Pat<(i32 (bitconvert f32:$S)),
1772 def : Pat<(f32 (bitconvert i32:$A)),
1778 def : Pat<(i64 (bitconvert f64:$S)),
1783 def : Pat<(f64 (bitconvert i64:$S)),