572 VMINSH_OPCODE = (4u << OPCODE_SHIFT | 834u ),
573 VMINUB_OPCODE = (4u << OPCODE_SHIFT | 514u ),
574 VMINUW_OPCODE = (4u << OPCODE_SHIFT | 642u ),
575 VMINUH_OPCODE = (4u << OPCODE_SHIFT | 578u ),
576
577 VCMPEQUB_OPCODE= (4u << OPCODE_SHIFT | 6u ),
578 VCMPEQUH_OPCODE= (4u << OPCODE_SHIFT | 70u ),
579 VCMPEQUW_OPCODE= (4u << OPCODE_SHIFT | 134u ),
580 VCMPGTSH_OPCODE= (4u << OPCODE_SHIFT | 838u ),
581 VCMPGTSB_OPCODE= (4u << OPCODE_SHIFT | 774u ),
582 VCMPGTSW_OPCODE= (4u << OPCODE_SHIFT | 902u ),
583 VCMPGTUB_OPCODE= (4u << OPCODE_SHIFT | 518u ),
584 VCMPGTUH_OPCODE= (4u << OPCODE_SHIFT | 582u ),
585 VCMPGTUW_OPCODE= (4u << OPCODE_SHIFT | 646u ),
586
587 VAND_OPCODE = (4u << OPCODE_SHIFT | 1028u ),
588 VANDC_OPCODE = (4u << OPCODE_SHIFT | 1092u ),
589 VNOR_OPCODE = (4u << OPCODE_SHIFT | 1284u ),
590 VOR_OPCODE = (4u << OPCODE_SHIFT | 1156u ),
591 VXOR_OPCODE = (4u << OPCODE_SHIFT | 1220u ),
592 VRLB_OPCODE = (4u << OPCODE_SHIFT | 4u ),
593 VRLW_OPCODE = (4u << OPCODE_SHIFT | 132u ),
594 VRLH_OPCODE = (4u << OPCODE_SHIFT | 68u ),
595 VSLB_OPCODE = (4u << OPCODE_SHIFT | 260u ),
596 VSKW_OPCODE = (4u << OPCODE_SHIFT | 388u ),
597 VSLH_OPCODE = (4u << OPCODE_SHIFT | 324u ),
598 VSRB_OPCODE = (4u << OPCODE_SHIFT | 516u ),
599 VSRW_OPCODE = (4u << OPCODE_SHIFT | 644u ),
600 VSRH_OPCODE = (4u << OPCODE_SHIFT | 580u ),
601 VSRAB_OPCODE = (4u << OPCODE_SHIFT | 772u ),
602 VSRAW_OPCODE = (4u << OPCODE_SHIFT | 900u ),
603 VSRAH_OPCODE = (4u << OPCODE_SHIFT | 836u ),
604
605 // Vector Floating-Point
606 // not implemented yet
607
608 // Vector Status and Control
609 MTVSCR_OPCODE = (4u << OPCODE_SHIFT | 1604u ),
610 MFVSCR_OPCODE = (4u << OPCODE_SHIFT | 1540u ),
611
1901 inline void vcmpgtsh( VectorRegister d, VectorRegister a, VectorRegister b);
1902 inline void vcmpgtsb( VectorRegister d, VectorRegister a, VectorRegister b);
1903 inline void vcmpgtsw( VectorRegister d, VectorRegister a, VectorRegister b);
1904 inline void vcmpgtub( VectorRegister d, VectorRegister a, VectorRegister b);
1905 inline void vcmpgtuh( VectorRegister d, VectorRegister a, VectorRegister b);
1906 inline void vcmpgtuw( VectorRegister d, VectorRegister a, VectorRegister b);
1907 inline void vcmpequb_(VectorRegister d, VectorRegister a, VectorRegister b);
1908 inline void vcmpequh_(VectorRegister d, VectorRegister a, VectorRegister b);
1909 inline void vcmpequw_(VectorRegister d, VectorRegister a, VectorRegister b);
1910 inline void vcmpgtsh_(VectorRegister d, VectorRegister a, VectorRegister b);
1911 inline void vcmpgtsb_(VectorRegister d, VectorRegister a, VectorRegister b);
1912 inline void vcmpgtsw_(VectorRegister d, VectorRegister a, VectorRegister b);
1913 inline void vcmpgtub_(VectorRegister d, VectorRegister a, VectorRegister b);
1914 inline void vcmpgtuh_(VectorRegister d, VectorRegister a, VectorRegister b);
1915 inline void vcmpgtuw_(VectorRegister d, VectorRegister a, VectorRegister b);
1916 inline void vand( VectorRegister d, VectorRegister a, VectorRegister b);
1917 inline void vandc( VectorRegister d, VectorRegister a, VectorRegister b);
1918 inline void vnor( VectorRegister d, VectorRegister a, VectorRegister b);
1919 inline void vor( VectorRegister d, VectorRegister a, VectorRegister b);
1920 inline void vxor( VectorRegister d, VectorRegister a, VectorRegister b);
1921 inline void vrlb( VectorRegister d, VectorRegister a, VectorRegister b);
1922 inline void vrlw( VectorRegister d, VectorRegister a, VectorRegister b);
1923 inline void vrlh( VectorRegister d, VectorRegister a, VectorRegister b);
1924 inline void vslb( VectorRegister d, VectorRegister a, VectorRegister b);
1925 inline void vskw( VectorRegister d, VectorRegister a, VectorRegister b);
1926 inline void vslh( VectorRegister d, VectorRegister a, VectorRegister b);
1927 inline void vsrb( VectorRegister d, VectorRegister a, VectorRegister b);
1928 inline void vsrw( VectorRegister d, VectorRegister a, VectorRegister b);
1929 inline void vsrh( VectorRegister d, VectorRegister a, VectorRegister b);
1930 inline void vsrab( VectorRegister d, VectorRegister a, VectorRegister b);
1931 inline void vsraw( VectorRegister d, VectorRegister a, VectorRegister b);
1932 inline void vsrah( VectorRegister d, VectorRegister a, VectorRegister b);
1933 // Vector Floating-Point not implemented yet
1934 inline void mtvscr( VectorRegister b);
1935 inline void mfvscr( VectorRegister d);
1936
1937 // AES (introduced with Power 8)
1938 inline void vcipher( VectorRegister d, VectorRegister a, VectorRegister b);
1939 inline void vcipherlast( VectorRegister d, VectorRegister a, VectorRegister b);
1940 inline void vncipher( VectorRegister d, VectorRegister a, VectorRegister b);
|
572 VMINSH_OPCODE = (4u << OPCODE_SHIFT | 834u ),
573 VMINUB_OPCODE = (4u << OPCODE_SHIFT | 514u ),
574 VMINUW_OPCODE = (4u << OPCODE_SHIFT | 642u ),
575 VMINUH_OPCODE = (4u << OPCODE_SHIFT | 578u ),
576
577 VCMPEQUB_OPCODE= (4u << OPCODE_SHIFT | 6u ),
578 VCMPEQUH_OPCODE= (4u << OPCODE_SHIFT | 70u ),
579 VCMPEQUW_OPCODE= (4u << OPCODE_SHIFT | 134u ),
580 VCMPGTSH_OPCODE= (4u << OPCODE_SHIFT | 838u ),
581 VCMPGTSB_OPCODE= (4u << OPCODE_SHIFT | 774u ),
582 VCMPGTSW_OPCODE= (4u << OPCODE_SHIFT | 902u ),
583 VCMPGTUB_OPCODE= (4u << OPCODE_SHIFT | 518u ),
584 VCMPGTUH_OPCODE= (4u << OPCODE_SHIFT | 582u ),
585 VCMPGTUW_OPCODE= (4u << OPCODE_SHIFT | 646u ),
586
587 VAND_OPCODE = (4u << OPCODE_SHIFT | 1028u ),
588 VANDC_OPCODE = (4u << OPCODE_SHIFT | 1092u ),
589 VNOR_OPCODE = (4u << OPCODE_SHIFT | 1284u ),
590 VOR_OPCODE = (4u << OPCODE_SHIFT | 1156u ),
591 VXOR_OPCODE = (4u << OPCODE_SHIFT | 1220u ),
592 VRLD_OPCODE = (4u << OPCODE_SHIFT | 196u ),
593 VRLB_OPCODE = (4u << OPCODE_SHIFT | 4u ),
594 VRLW_OPCODE = (4u << OPCODE_SHIFT | 132u ),
595 VRLH_OPCODE = (4u << OPCODE_SHIFT | 68u ),
596 VSLB_OPCODE = (4u << OPCODE_SHIFT | 260u ),
597 VSKW_OPCODE = (4u << OPCODE_SHIFT | 388u ),
598 VSLH_OPCODE = (4u << OPCODE_SHIFT | 324u ),
599 VSRB_OPCODE = (4u << OPCODE_SHIFT | 516u ),
600 VSRW_OPCODE = (4u << OPCODE_SHIFT | 644u ),
601 VSRH_OPCODE = (4u << OPCODE_SHIFT | 580u ),
602 VSRAB_OPCODE = (4u << OPCODE_SHIFT | 772u ),
603 VSRAW_OPCODE = (4u << OPCODE_SHIFT | 900u ),
604 VSRAH_OPCODE = (4u << OPCODE_SHIFT | 836u ),
605
606 // Vector Floating-Point
607 // not implemented yet
608
609 // Vector Status and Control
610 MTVSCR_OPCODE = (4u << OPCODE_SHIFT | 1604u ),
611 MFVSCR_OPCODE = (4u << OPCODE_SHIFT | 1540u ),
612
1902 inline void vcmpgtsh( VectorRegister d, VectorRegister a, VectorRegister b);
1903 inline void vcmpgtsb( VectorRegister d, VectorRegister a, VectorRegister b);
1904 inline void vcmpgtsw( VectorRegister d, VectorRegister a, VectorRegister b);
1905 inline void vcmpgtub( VectorRegister d, VectorRegister a, VectorRegister b);
1906 inline void vcmpgtuh( VectorRegister d, VectorRegister a, VectorRegister b);
1907 inline void vcmpgtuw( VectorRegister d, VectorRegister a, VectorRegister b);
1908 inline void vcmpequb_(VectorRegister d, VectorRegister a, VectorRegister b);
1909 inline void vcmpequh_(VectorRegister d, VectorRegister a, VectorRegister b);
1910 inline void vcmpequw_(VectorRegister d, VectorRegister a, VectorRegister b);
1911 inline void vcmpgtsh_(VectorRegister d, VectorRegister a, VectorRegister b);
1912 inline void vcmpgtsb_(VectorRegister d, VectorRegister a, VectorRegister b);
1913 inline void vcmpgtsw_(VectorRegister d, VectorRegister a, VectorRegister b);
1914 inline void vcmpgtub_(VectorRegister d, VectorRegister a, VectorRegister b);
1915 inline void vcmpgtuh_(VectorRegister d, VectorRegister a, VectorRegister b);
1916 inline void vcmpgtuw_(VectorRegister d, VectorRegister a, VectorRegister b);
1917 inline void vand( VectorRegister d, VectorRegister a, VectorRegister b);
1918 inline void vandc( VectorRegister d, VectorRegister a, VectorRegister b);
1919 inline void vnor( VectorRegister d, VectorRegister a, VectorRegister b);
1920 inline void vor( VectorRegister d, VectorRegister a, VectorRegister b);
1921 inline void vxor( VectorRegister d, VectorRegister a, VectorRegister b);
1922 inline void vrld( VectorRegister d, VectorRegister a, VectorRegister b);
1923 inline void vrlb( VectorRegister d, VectorRegister a, VectorRegister b);
1924 inline void vrlw( VectorRegister d, VectorRegister a, VectorRegister b);
1925 inline void vrlh( VectorRegister d, VectorRegister a, VectorRegister b);
1926 inline void vslb( VectorRegister d, VectorRegister a, VectorRegister b);
1927 inline void vskw( VectorRegister d, VectorRegister a, VectorRegister b);
1928 inline void vslh( VectorRegister d, VectorRegister a, VectorRegister b);
1929 inline void vsrb( VectorRegister d, VectorRegister a, VectorRegister b);
1930 inline void vsrw( VectorRegister d, VectorRegister a, VectorRegister b);
1931 inline void vsrh( VectorRegister d, VectorRegister a, VectorRegister b);
1932 inline void vsrab( VectorRegister d, VectorRegister a, VectorRegister b);
1933 inline void vsraw( VectorRegister d, VectorRegister a, VectorRegister b);
1934 inline void vsrah( VectorRegister d, VectorRegister a, VectorRegister b);
1935 // Vector Floating-Point not implemented yet
1936 inline void mtvscr( VectorRegister b);
1937 inline void mfvscr( VectorRegister d);
1938
1939 // AES (introduced with Power 8)
1940 inline void vcipher( VectorRegister d, VectorRegister a, VectorRegister b);
1941 inline void vcipherlast( VectorRegister d, VectorRegister a, VectorRegister b);
1942 inline void vncipher( VectorRegister d, VectorRegister a, VectorRegister b);
|