]> git.ipfire.org Git - thirdparty/gcc.git/commit
rs6000: Fix .machine cpu selection w/ altivec [PR97367]
authorRené Rebe <rene@exactcode.de>
Fri, 12 Jul 2024 21:17:08 +0000 (21:17 +0000)
committerPeter Bergner <bergner@linux.ibm.com>
Sat, 20 Jul 2024 16:06:59 +0000 (11:06 -0500)
commit319b57fb02b52ba9036c00dda36ff28d8274e13d
tree0707819c44fd36f638d0958f2993ee18de350adb
parent7ad764fe3c3ad0e1167b58cf3785629d788491f4
rs6000: Fix .machine cpu selection w/ altivec [PR97367]

There are various non-IBM CPUs with altivec, so we cannot use that
flag to determine which .machine cpu to use, so ignore it.
Emit an additional ".machine altivec" if Altivec is enabled so
that the assembler doesn't require an explicit -maltivec option
to assemble any Altivec instructions for those targets where
the ".machine cpu" is insufficient to enable Altivec.  For example,
-mcpu=G5 emits a ".machine power4".

2024-07-18  René Rebe  <rene@exactcode.de>
    Peter Bergner  <bergner@linux.ibm.com>

gcc/
PR target/97367
* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Do not consider
OPTION_MASK_ALTIVEC.
(emit_asm_machine): For Altivec compiles, emit a ".machine altivec".

gcc/testsuite/
PR target/97367
* gcc.target/powerpc/pr97367.c: New test.

Signed-off-by: René Rebe <rene@exactcode.de>
(cherry picked from commit 6962835bca3e6bef0f6ceae84a7814138b08b8a5)
gcc/config/rs6000/rs6000.cc
gcc/testsuite/gcc.target/powerpc/pr97367.c [new file with mode: 0644]