Lines Matching refs:VB
161 // VX-Form: [ PO VT R VB RC XO ]
166 bits<5> VB;
173 let Inst{16-20} = VB;
368 bits<5> VB;
376 let Inst{16-20} = VB;
384 : VXForm_1<xo, (outs vrrc:$VD), (ins vrrc:$VDi, gprc:$VA, vrrc:$VB),
385 !strconcat(opc, " $VD, $VA, $VB"), IIC_VecGeneral, pattern>,
391 : VXForm_1<xo, (outs vrrc:$VD), (ins vrrc:$VDi, gprc:$VA, gprc:$VB),
392 !strconcat(opc, " $VD, $VA, $VB"), IIC_VecGeneral, pattern>,
401 bits<5> VB;
408 let Inst{16-20} = VB;
436 bits<5> VB;
444 let Inst{16-20} = VB;
1455 defm VSTRIBR : VXForm_VTB5_RCr<13, 1, (outs vrrc:$VT), (ins vrrc:$VB),
1456 "vstribr", "$VT, $VB", IIC_VecGeneral,
1458 (int_ppc_altivec_vstribr v16i8:$VB))]>;
1459 defm VSTRIBL : VXForm_VTB5_RCr<13, 0, (outs vrrc:$VT), (ins vrrc:$VB),
1460 "vstribl", "$VT, $VB", IIC_VecGeneral,
1462 (int_ppc_altivec_vstribl v16i8:$VB))]>;
1463 defm VSTRIHR : VXForm_VTB5_RCr<13, 3, (outs vrrc:$VT), (ins vrrc:$VB),
1464 "vstrihr", "$VT, $VB", IIC_VecGeneral,
1466 (int_ppc_altivec_vstrihr v8i16:$VB))]>;
1467 defm VSTRIHL : VXForm_VTB5_RCr<13, 2, (outs vrrc:$VT), (ins vrrc:$VB),
1468 "vstrihl", "$VT, $VB", IIC_VecGeneral,
1470 (int_ppc_altivec_vstrihl v8i16:$VB))]>;
1472 VXForm_1<207, (outs vrrc:$VD), (ins vrrc:$VDi, u4imm:$VA, gprc:$VB),
1473 "vinsw $VD, $VB, $VA", IIC_VecGeneral,
1475 (int_ppc_altivec_vinsw v4i32:$VDi, i32:$VB, timm:$VA))]>,
1478 VXForm_1<463, (outs vrrc:$VD), (ins vrrc:$VDi, u4imm:$VA, g8rc:$VB),
1479 "vinsd $VD, $VB, $VA", IIC_VecGeneral,
1481 (int_ppc_altivec_vinsd v2i64:$VDi, i64:$VB, timm:$VA))]>,
1487 v16i8:$VB))]>;
1492 v16i8:$VB))]>;
1497 v8i16:$VB))]>;
1502 v8i16:$VB))]>;
1507 v4i32:$VB))]>;
1512 v4i32:$VB))]>;
1517 i32:$VB))]>;
1522 i32:$VB))]>;
1527 i32:$VB))]>;
1532 i32:$VB))]>;
1537 i32:$VB))]>;
1542 i32:$VB))]>;
1544 VXForm_1<719, (outs vrrc:$VD), (ins vrrc:$VDi, g8rc:$VA, g8rc:$VB),
1545 "vinsdlx $VD, $VA, $VB", IIC_VecGeneral,
1547 (int_ppc_altivec_vinsdlx v2i64:$VDi, i64:$VA, i64:$VB))]>,
1550 VXForm_1<975, (outs vrrc:$VD), (ins vrrc:$VDi, g8rc:$VA, g8rc:$VB),
1551 "vinsdrx $VD, $VA, $VB", IIC_VecGeneral,
1553 (int_ppc_altivec_vinsdrx v2i64:$VDi, i64:$VA, i64:$VB))]>,
1555 def VEXTRACTBM : VXForm_RD5_XO5_RS5<1602, 8, (outs gprc:$VD), (ins vrrc:$VB),
1556 "vextractbm $VD, $VB", IIC_VecGeneral,
1558 (int_ppc_altivec_vextractbm v16i8:$VB))]>,
1560 def VEXTRACTHM : VXForm_RD5_XO5_RS5<1602, 9, (outs gprc:$VD), (ins vrrc:$VB),
1561 "vextracthm $VD, $VB", IIC_VecGeneral,
1563 (int_ppc_altivec_vextracthm v8i16:$VB))]>,
1565 def VEXTRACTWM : VXForm_RD5_XO5_RS5<1602, 10, (outs gprc:$VD), (ins vrrc:$VB),
1566 "vextractwm $VD, $VB", IIC_VecGeneral,
1568 (int_ppc_altivec_vextractwm v4i32:$VB))]>,
1570 def VEXTRACTDM : VXForm_RD5_XO5_RS5<1602, 11, (outs gprc:$VD), (ins vrrc:$VB),
1571 "vextractdm $VD, $VB", IIC_VecGeneral,
1573 (int_ppc_altivec_vextractdm v2i64:$VB))]>,
1575 def VEXTRACTQM : VXForm_RD5_XO5_RS5<1602, 12, (outs gprc:$VD), (ins vrrc:$VB),
1576 "vextractqm $VD, $VB", IIC_VecGeneral,
1578 (int_ppc_altivec_vextractqm v1i128:$VB))]>;
1579 def VEXPANDBM : VXForm_RD5_XO5_RS5<1602, 0, (outs vrrc:$VD), (ins vrrc:$VB),
1580 "vexpandbm $VD, $VB", IIC_VecGeneral,
1582 v16i8:$VB))]>;
1583 def VEXPANDHM : VXForm_RD5_XO5_RS5<1602, 1, (outs vrrc:$VD), (ins vrrc:$VB),
1584 "vexpandhm $VD, $VB", IIC_VecGeneral,
1586 v8i16:$VB))]>;
1587 def VEXPANDWM : VXForm_RD5_XO5_RS5<1602, 2, (outs vrrc:$VD), (ins vrrc:$VB),
1588 "vexpandwm $VD, $VB", IIC_VecGeneral,
1590 v4i32:$VB))]>;
1591 def VEXPANDDM : VXForm_RD5_XO5_RS5<1602, 3, (outs vrrc:$VD), (ins vrrc:$VB),
1592 "vexpanddm $VD, $VB", IIC_VecGeneral,
1594 v2i64:$VB))]>;
1595 def VEXPANDQM : VXForm_RD5_XO5_RS5<1602, 4, (outs vrrc:$VD), (ins vrrc:$VB),
1596 "vexpandqm $VD, $VB", IIC_VecGeneral,
1598 v1i128:$VB))]>;
1599 def MTVSRBM : VXForm_RD5_XO5_RS5<1602, 16, (outs vrrc:$VD), (ins g8rc:$VB),
1600 "mtvsrbm $VD, $VB", IIC_VecGeneral,
1602 (int_ppc_altivec_mtvsrbm i64:$VB))]>;
1603 def MTVSRHM : VXForm_RD5_XO5_RS5<1602, 17, (outs vrrc:$VD), (ins g8rc:$VB),
1604 "mtvsrhm $VD, $VB", IIC_VecGeneral,
1606 (int_ppc_altivec_mtvsrhm i64:$VB))]>;
1607 def MTVSRWM : VXForm_RD5_XO5_RS5<1602, 18, (outs vrrc:$VD), (ins g8rc:$VB),
1608 "mtvsrwm $VD, $VB", IIC_VecGeneral,
1610 (int_ppc_altivec_mtvsrwm i64:$VB))]>;
1611 def MTVSRDM : VXForm_RD5_XO5_RS5<1602, 19, (outs vrrc:$VD), (ins g8rc:$VB),
1612 "mtvsrdm $VD, $VB", IIC_VecGeneral,
1614 (int_ppc_altivec_mtvsrdm i64:$VB))]>;
1615 def MTVSRQM : VXForm_RD5_XO5_RS5<1602, 20, (outs vrrc:$VD), (ins g8rc:$VB),
1616 "mtvsrqm $VD, $VB", IIC_VecGeneral,
1618 (int_ppc_altivec_mtvsrqm i64:$VB))]>;
1624 (ins vrrc:$VB, u1imm:$MP),
1625 "vcntmbb $RD, $VB, $MP", IIC_VecGeneral,
1627 v16i8:$VB, timm:$MP))]>;
1629 (ins vrrc:$VB, u1imm:$MP),
1630 "vcntmbh $RD, $VB, $MP", IIC_VecGeneral,
1632 v8i16:$VB, timm:$MP))]>;
1634 (ins vrrc:$VB, u1imm:$MP),
1635 "vcntmbw $RD, $VB, $MP", IIC_VecGeneral,
1637 v4i32:$VB, timm:$MP))]>;
1639 (ins vrrc:$VB, u1imm:$MP),
1640 "vcntmbd $RD, $VB, $MP", IIC_VecGeneral,
1642 v2i64:$VB, timm:$MP))]>;
1707 def VPDEPD : VXForm_1<1485, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1708 "vpdepd $VD, $VA, $VB", IIC_VecGeneral,
1710 (int_ppc_altivec_vpdepd v2i64:$VA, v2i64:$VB))]>;
1711 def VPEXTD : VXForm_1<1421, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1712 "vpextd $VD, $VA, $VB", IIC_VecGeneral,
1714 (int_ppc_altivec_vpextd v2i64:$VA, v2i64:$VB))]>;
1721 def VCFUGED : VXForm_1<1357, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1722 "vcfuged $VD, $VA, $VB", IIC_VecGeneral,
1724 (int_ppc_altivec_vcfuged v2i64:$VA, v2i64:$VB))]>;
1725 def VGNB : VXForm_RD5_N3_VB5<1228, (outs g8rc:$RD), (ins vrrc:$VB, u3imm:$N),
1726 "vgnb $RD, $VB, $N", IIC_VecGeneral,
1728 (int_ppc_altivec_vgnb v1i128:$VB, timm:$N))]>;
1738 def VCLZDM : VXForm_1<1924, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1739 "vclzdm $VD, $VA, $VB", IIC_VecGeneral,
1741 (int_ppc_altivec_vclzdm v2i64:$VA, v2i64:$VB))]>;
1742 def VCTZDM : VXForm_1<1988, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1743 "vctzdm $VD, $VA, $VB", IIC_VecGeneral,
1745 (int_ppc_altivec_vctzdm v2i64:$VA, v2i64:$VB))]>;
1766 def VCLRLB : VXForm_1<397, (outs vrrc:$VD), (ins vrrc:$VA, gprc:$VB),
1767 "vclrlb $VD, $VA, $VB", IIC_VecGeneral,
1769 (int_ppc_altivec_vclrlb v16i8:$VA, i32:$VB))]>;
1770 def VCLRRB : VXForm_1<461, (outs vrrc:$VD), (ins vrrc:$VA, gprc:$VB),
1771 "vclrrb $VD, $VA, $VB", IIC_VecGeneral,
1773 (int_ppc_altivec_vclrrb v16i8:$VA, i32:$VB))]>;
1774 def VMULLD : VXForm_1<457, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1775 "vmulld $VD, $VA, $VB", IIC_VecGeneral,
1776 [(set v2i64:$VD, (mul v2i64:$VA, v2i64:$VB))]>;
1777 def VMULHSW : VXForm_1<905, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1778 "vmulhsw $VD, $VA, $VB", IIC_VecGeneral,
1779 [(set v4i32:$VD, (mulhs v4i32:$VA, v4i32:$VB))]>;
1780 def VMULHUW : VXForm_1<649, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1781 "vmulhuw $VD, $VA, $VB", IIC_VecGeneral,
1782 [(set v4i32:$VD, (mulhu v4i32:$VA, v4i32:$VB))]>;
1783 def VMULHSD : VXForm_1<969, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1784 "vmulhsd $VD, $VA, $VB", IIC_VecGeneral,
1785 [(set v2i64:$VD, (mulhs v2i64:$VA, v2i64:$VB))]>;
1786 def VMULHUD : VXForm_1<713, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1787 "vmulhud $VD, $VA, $VB", IIC_VecGeneral,
1788 [(set v2i64:$VD, (mulhu v2i64:$VA, v2i64:$VB))]>;
1789 def VMODSW : VXForm_1<1931, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1790 "vmodsw $VD, $VA, $VB", IIC_VecGeneral,
1791 [(set v4i32:$VD, (srem v4i32:$VA, v4i32:$VB))]>;
1792 def VMODUW : VXForm_1<1675, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1793 "vmoduw $VD, $VA, $VB", IIC_VecGeneral,
1794 [(set v4i32:$VD, (urem v4i32:$VA, v4i32:$VB))]>;
1795 def VMODSD : VXForm_1<1995, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1796 "vmodsd $VD, $VA, $VB", IIC_VecGeneral,
1797 [(set v2i64:$VD, (srem v2i64:$VA, v2i64:$VB))]>;
1798 def VMODUD : VXForm_1<1739, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1799 "vmodud $VD, $VA, $VB", IIC_VecGeneral,
1800 [(set v2i64:$VD, (urem v2i64:$VA, v2i64:$VB))]>;
1801 def VDIVSW : VXForm_1<395, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1802 "vdivsw $VD, $VA, $VB", IIC_VecGeneral,
1803 [(set v4i32:$VD, (sdiv v4i32:$VA, v4i32:$VB))]>;
1804 def VDIVUW : VXForm_1<139, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1805 "vdivuw $VD, $VA, $VB", IIC_VecGeneral,
1806 [(set v4i32:$VD, (udiv v4i32:$VA, v4i32:$VB))]>;
1807 def VDIVSD : VXForm_1<459, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1808 "vdivsd $VD, $VA, $VB", IIC_VecGeneral,
1809 [(set v2i64:$VD, (sdiv v2i64:$VA, v2i64:$VB))]>;
1810 def VDIVUD : VXForm_1<203, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1811 "vdivud $VD, $VA, $VB", IIC_VecGeneral,
1812 [(set v2i64:$VD, (udiv v2i64:$VA, v2i64:$VB))]>;
1813 def VDIVESW : VXForm_1<907, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1814 "vdivesw $VD, $VA, $VB", IIC_VecGeneral,
1816 v4i32:$VB))]>;
1817 def VDIVEUW : VXForm_1<651, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1818 "vdiveuw $VD, $VA, $VB", IIC_VecGeneral,
1820 v4i32:$VB))]>;
1821 def VDIVESD : VXForm_1<971, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1822 "vdivesd $VD, $VA, $VB", IIC_VecGeneral,
1824 v2i64:$VB))]>;
1825 def VDIVEUD : VXForm_1<715, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1826 "vdiveud $VD, $VA, $VB", IIC_VecGeneral,
1828 v2i64:$VB))]>;
1862 def VMULESD : VXForm_1<968, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1863 "vmulesd $VD, $VA, $VB", IIC_VecGeneral,
1865 v2i64:$VB))]>;
1866 def VMULEUD : VXForm_1<712, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1867 "vmuleud $VD, $VA, $VB", IIC_VecGeneral,
1869 v2i64:$VB))]>;
1870 def VMULOSD : VXForm_1<456, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1871 "vmulosd $VD, $VA, $VB", IIC_VecGeneral,
1873 v2i64:$VB))]>;
1874 def VMULOUD : VXForm_1<200, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1875 "vmuloud $VD, $VA, $VB", IIC_VecGeneral,
1877 v2i64:$VB))]>;
1882 def VDIVSQ : VXForm_1<267, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1883 "vdivsq $VD, $VA, $VB", IIC_VecGeneral,
1884 [(set v1i128:$VD, (sdiv v1i128:$VA, v1i128:$VB))]>;
1885 def VDIVUQ : VXForm_1<11, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1886 "vdivuq $VD, $VA, $VB", IIC_VecGeneral,
1887 [(set v1i128:$VD, (udiv v1i128:$VA, v1i128:$VB))]>;
1888 def VDIVESQ : VXForm_1<779, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1889 "vdivesq $VD, $VA, $VB", IIC_VecGeneral,
1891 v1i128:$VB))]>;
1892 def VDIVEUQ : VXForm_1<523, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1893 "vdiveuq $VD, $VA, $VB", IIC_VecGeneral,
1895 v1i128:$VB))]>;
1896 def VCMPEQUQ : VCMP <455, "vcmpequq $VD, $VA, $VB" , v1i128>;
1897 def VCMPGTSQ : VCMP <903, "vcmpgtsq $VD, $VA, $VB" , v1i128>;
1898 def VCMPGTUQ : VCMP <647, "vcmpgtuq $VD, $VA, $VB" , v1i128>;
1899 def VCMPEQUQ_rec : VCMP_rec <455, "vcmpequq. $VD, $VA, $VB" , v1i128>;
1900 def VCMPGTSQ_rec : VCMP_rec <903, "vcmpgtsq. $VD, $VA, $VB" , v1i128>;
1901 def VCMPGTUQ_rec : VCMP_rec <647, "vcmpgtuq. $VD, $VA, $VB" , v1i128>;
1902 def VMODSQ : VXForm_1<1803, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1903 "vmodsq $VD, $VA, $VB", IIC_VecGeneral,
1904 [(set v1i128:$VD, (srem v1i128:$VA, v1i128:$VB))]>;
1905 def VMODUQ : VXForm_1<1547, (outs vrrc:$VD), (ins vrrc:$VA, vrrc:$VB),
1906 "vmoduq $VD, $VA, $VB", IIC_VecGeneral,
1907 [(set v1i128:$VD, (urem v1i128:$VA, v1i128:$VB))]>;
1908 def VEXTSD2Q : VXForm_RD5_XO5_RS5<1538, 27, (outs vrrc:$VD), (ins vrrc:$VB),
1909 "vextsd2q $VD, $VB", IIC_VecGeneral,
1910 [(set v1i128:$VD, (int_ppc_altivec_vextsd2q v2i64:$VB))]>;
1911 def VCMPUQ : VXForm_BF3_VAB5<257, (outs crrc:$BF), (ins vrrc:$VA, vrrc:$VB),
1912 "vcmpuq $BF, $VA, $VB", IIC_VecGeneral, []>;
1913 def VCMPSQ : VXForm_BF3_VAB5<321, (outs crrc:$BF), (ins vrrc:$VA, vrrc:$VB),
1914 "vcmpsq $BF, $VA, $VB", IIC_VecGeneral, []>;
1918 v1i128:$VB))]>;
1920 (ins vrrc:$VA, vrrc:$VB, vrrc:$VDi),
1921 "vrlqmi $VD, $VA, $VB", IIC_VecFP,
1923 (int_ppc_altivec_vrlqmi v1i128:$VA, v1i128:$VB,