arm.c (arm_override_options): Error on iWMMXt and hardware floating point.

2006-04-21  Paul Brook  <paul@codesourcery.com>

gcc/
	* config/arm/arm.c (arm_override_options): Error on iWMMXt and
	hardware floating point.
gcc/testsuite/
	* gcc.dg/arm-vfp1.c: Skip on iWMMXt cpus.

From-SVN: r113138
This commit is contained in:
Paul Brook 2006-04-21 17:05:51 +00:00 committed by Paul Brook
parent e3604432aa
commit 87b24aaf2b
4 changed files with 16 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2006-04-21 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_override_options): Error on iWMMXt and
hardware floating point.
2006-04-21 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to

View File

@ -1230,6 +1230,12 @@ arm_override_options (void)
if (arm_float_abi == ARM_FLOAT_ABI_HARD && TARGET_VFP)
sorry ("-mfloat-abi=hard and VFP");
/* FPA and iWMMXt are incompatible because the insn encodings overlap.
VFP and iWMMXt can theoretically coexist, but it's unlikely such silicon
will ever exist. GCC makes no attempt to support this combination. */
if (TARGET_IWMMXT && !TARGET_SOFT_FLOAT)
sorry ("iWMMXt and hardware floating point");
/* If soft-float is specified then don't use FPU. */
if (TARGET_SOFT_FLOAT)
arm_fpu_arch = FPUTYPE_NONE;

View File

@ -1,3 +1,7 @@
2006-04-21 Paul Brook <paul@codesourcery.com>
* gcc.dg/arm-vfp1.c: Skip on iWMMXt cpus.
2006-04-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/27122

View File

@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
/* { dg-require-effective-target arm32 } */
/* { dg-skip-if "" { *-*-* } { "-mcpu=iwmmxt" "-march=iwmmxt" } { "" } } */
extern float fabsf (float);
extern float sqrtf (float);