unpack.c
2.41 KB
-
altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec. · 52a93551
gcc: 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec. (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise. (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise. (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of gen_altivec_vpkuwum. (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for BYTES_BIG_ENDIAN. (altivec_vpks<VI_char>ss): Likewise. (altivec_vpks<VI_char>us): Likewise. (altivec_vpku<VI_char>us): Likewise. (altivec_vpku<VI_char>um): Likewise. (altivec_vpku<VI_char>um_direct): New (copy of altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for internal use). (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when target is little endian and -maltivec=be is not specified. (*altivec_vupkhs<VU_char>_direct): New (copy of altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use). (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when target is little endian and -maltivec=be is not specified. (*altivec_vupkls<VU_char>_direct): New (copy of altivec_vupkls<VU_char> that always emits vupkls*, for internal use). (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is little endian and -maltivec=be is not specified. (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is little endian and -maltivec=be is not specified. gcc/testsuite: 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.dg/vmx/pack.c: New. * gcc.dg/vmx/pack-be-order.c: New. * gcc.dg/vmx/unpack.c: New. * gcc.dg/vmx/unpack-be-order.c: New. From-SVN: r207520
Bill Schmidt committed