]> 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>
Thu, 18 Jul 2024 18:13:34 +0000 (13:13 -0500)
commit6962835bca3e6bef0f6ceae84a7814138b08b8a5
treeaa9cfbf7ac42c97178860c1f69e2131144d66dd3
parentc19237614b42ddae80a9a24e0b282cecc8aefb86
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>
gcc/config/rs6000/rs6000.cc
gcc/testsuite/gcc.target/powerpc/pr97367.c [new file with mode: 0644]