[Bug target/78303] PowerPC vec-init-{1,2,4,5,8,9} tests do not run on -mlittle -maltivec=be
wschmidt at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Feb 6 20:55:00 GMT 2018
- Previous message (by thread): [Bug target/78303] PowerPC vec-init-{1,2,4,5,8,9} tests do not run on -mlittle -maltivec=be
- Next message (by thread): [Bug target/78303] PowerPC vec-init-{1,2,4,5,8,9} tests do not run on -mlittle -maltivec=be
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78303
--- Comment #3 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
The memory layout is correct. It should not change regardless of endianness
settings. (The byte order of each element is dependent upon the fundamental
endianness, but the order of array elements with respect to one another is
always the same.
On a POWER8, -maltivec=be means to load the array with lxvd2x, whereas
-maltivec=le means to load the array with lxvd2x and adjust with a swap
instruction.
On a POWER9, lxvx can be used when the -maltivec setting matches the
fundamental endianness (so is correct on BE and LE by default). Using
-maltivec=be on an LE system requires using lxvd2x or similar (depending upon
element size).
I am tempted to deprecate -maltivec=be in GCC 8 and remove support for it in
GCC 9. This behavior is optional and was designed primarily to support certain
libraries that are not supported by GCC anyway. Keeping it consistent is a
time sink with little benefit...
- Previous message (by thread): [Bug target/78303] PowerPC vec-init-{1,2,4,5,8,9} tests do not run on -mlittle -maltivec=be
- Next message (by thread): [Bug target/78303] PowerPC vec-init-{1,2,4,5,8,9} tests do not run on -mlittle -maltivec=be
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Gcc-bugs
mailing list