[Bug target/90453] PowerPC/AltiVec VSX: Provide vec_pack/vec_unpackh/vec_unpackl for 32<->64

2019-05-19 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90453 --- Comment #7 from Segher Boessenkool --- Note that vec_pack works for unsigned as well. For vec_unpack[hl] of unsigned you can do a vec_merge[hl] instead (with the first arg a zero vector).

[Bug target/90453] PowerPC/AltiVec VSX: Provide vec_pack/vec_unpackh/vec_unpackl for 32<->64

2019-05-18 Thread slandden at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90453 --- Comment #6 from Shawn Landden --- Ahh, sorry for wasting your time. I didn't notice the signed requirement, which is why it didn't work.

[Bug target/90453] PowerPC/AltiVec VSX: Provide vec_pack/vec_unpackh/vec_unpackl for 32<->64

2019-05-18 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90453 Segher Boessenkool changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|---

[Bug target/90453] PowerPC/AltiVec VSX: Provide vec_pack/vec_unpackh/vec_unpackl for 32<->64

2019-05-18 Thread slandden at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90453 --- Comment #4 from Shawn Landden --- Oh my bad, I got it backwards vector unsigned long long unpackedl, unpackedr; vector unsigned int packed; packed = vec_pack(unpackedl, unpackedr); unpackedl = vec_unpackh(packed); unpackedr =

[Bug target/90453] PowerPC/AltiVec VSX: Provide vec_pack/vec_unpackh/vec_unpackl for 32<->64

2019-05-18 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90453 --- Comment #3 from Segher Boessenkool --- What should the semantics of this be? There are four 32-bit elts each in packedl and packedr, which of those go where in unpacked? I think what you want to do can be expressed with just two or maybe

[Bug target/90453] PowerPC/AltiVec VSX: Provide vec_pack/vec_unpackh/vec_unpackl for 32<->64

2019-05-18 Thread slandden at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90453 --- Comment #2 from Shawn Landden --- vector unsigned long long unpacked; vector unsigned int packedl, packedr; unpacked = vec_pack(packedl, packedr); packedl = vec_unpackh(unpacked); packedr = vec_unpackl(unpacked);

[Bug target/90453] PowerPC/AltiVec VSX: Provide vec_pack/vec_unpackh/vec_unpackl for 32<->64

2019-05-18 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90453 Segher Boessenkool changed: What|Removed |Added Target|powerpc |powerpc*-*-*

[Bug target/90453] PowerPC/AltiVec VSX: Provide vec_pack/vec_unpackh/vec_unpackl for 32<->64

2019-05-14 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90453 Richard Biener changed: What|Removed |Added Target||powerpc Severity|normal