x86: Define __APX_INLINE_ASM_USE_GPR32__

Define __APX_INLINE_ASM_USE_GPR32__ for -mapx-inline-asm-use-gpr32.
When __APX_INLINE_ASM_USE_GPR32__ is defined, inline asm statements
should contain only instructions compatible with r16-r31.

gcc/

	PR target/114587
	* config/i386/i386-c.cc (ix86_target_macros_internal): Define
	__APX_INLINE_ASM_USE_GPR32__ for -mapx-inline-asm-use-gpr32.

gcc/testsuite/

	PR target/114587
	* gcc.target/i386/apx-3.c: Likewise.
This commit is contained in:
H.J. Lu 2024-04-08 18:57:49 -07:00 committed by H.J. Lu
parent 9c97de6823
commit 18e94e04da
2 changed files with 8 additions and 0 deletions

View File

@ -751,6 +751,8 @@ ix86_target_macros_internal (HOST_WIDE_INT isa_flag,
def_or_undef (parse_in, "__AVX10_1_512__");
if (isa_flag2 & OPTION_MASK_ISA2_APX_F)
def_or_undef (parse_in, "__APX_F__");
if (ix86_apx_inline_asm_use_gpr32)
def_or_undef (parse_in, "__APX_INLINE_ASM_USE_GPR32__");
if (TARGET_IAMCU)
{
def_or_undef (parse_in, "__iamcu");

View File

@ -0,0 +1,6 @@
/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-mapx-inline-asm-use-gpr32" } */
#ifndef __APX_INLINE_ASM_USE_GPR32__
# error __APX_INLINE_ASM_USE_GPR32__ not defined
#endif