https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90453
--- Comment #4 from Shawn Landden <slandden at gmail dot com> --- 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 = vec_unpackl(packed); The point is that it is similar to the other pack/unpack unfunctions. Yet somehow this one doesn't exist (probably because there is no hardware instruction for it).