Commit 29e1d31b by Mantas Mikaitis Committed by Alan Lawrence

[ARM] __ARM_FP & __ARM_NEON_FP defined when -march=armv7-m

gcc/:

	* config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
	define to zero if !TARGET_NEON.
	(TARGET_CPU_CPP_BUILTINS): Added second condition before defining
	__ARM_FP macro.

gcc/testsuite/:

	* gcc.target/arm/macro_defs0.c: New test.
	* gcc.target/arm/macro_defs1.c: New test.
	* gcc.target/arm/macro_defs2.c: New test.

From-SVN: r220456
parent 06fa4f00
2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
* config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
define to zero if !TARGET_NEON.
(TARGET_CPU_CPP_BUILTINS): Added second condition before defining
__ARM_FP macro.
2015-02-04 Jan Hubicka <hubicka@ucw.cz>
Trevor Saunders <tsaunders@mozilla.com>
......
......@@ -2360,17 +2360,17 @@ extern int making_const_table;
point types. Where bit 1 indicates 16-bit support, bit 2 indicates
32-bit support, bit 3 indicates 64-bit support. */
#define TARGET_ARM_FP \
(TARGET_VFP_SINGLE ? 4 \
: (TARGET_VFP_DOUBLE ? (TARGET_FP16 ? 14 : 12) : 0))
(!TARGET_SOFT_FLOAT ? (TARGET_VFP_SINGLE ? 4 \
: (TARGET_VFP_DOUBLE ? (TARGET_FP16 ? 14 : 12) : 0)) \
: 0)
/* Set as a bit mask indicating the available widths of floating point
types for hardware NEON floating point. This is the same as
TARGET_ARM_FP without the 64-bit bit set. */
#ifdef TARGET_NEON
#define TARGET_NEON_FP \
(TARGET_ARM_FP & (0xff ^ 0x08))
#endif
#define TARGET_NEON_FP \
(TARGET_NEON ? (TARGET_ARM_FP & (0xff ^ 0x08)) \
: 0)
/* The maximum number of parallel loads or stores we support in an ldm/stm
instruction. */
......
2015-02-05 Mantas Mikaitis <mantas.mikaitis@arm.com>
* gcc.target/arm/macro_defs0.c: New test.
* gcc.target/arm/macro_defs1.c: New test.
* gcc.target/arm/macro_defs2.c: New test.
2015-02-05 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/64905
......
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv7-m" } } */
/* { dg-skip-if "avoid conflicting multilib options" { target *-*-* } { "-mfloat-abi=*" } { "-mfloat-abi=soft" } } */
/* { dg-options "-march=armv7-m -mcpu=cortex-m3 -mfloat-abi=soft -mthumb" } */
#ifdef __ARM_FP
#error __ARM_FP should not be defined
#endif
#ifdef __ARM_NEON_FP
#error __ARM_NEON_FP should not be defined
#endif
/* { dg-do compile } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6-m" } } */
/* { dg-options "-march=armv6-m -mthumb" } */
#ifdef __ARM_NEON_FP
#error __ARM_NEON_FP should not be defined
#endif
/* { dg-do compile } */
/* { dg-options "-march=armv7ve -mcpu=cortex-a15 -mfpu=neon-vfpv4" } */
/* { dg-add-options arm_neon } */
/* { dg-require-effective-target arm_neon_ok } */
#ifndef __ARM_NEON_FP
#error __ARM_NEON_FP is not defined but should be
#endif
#ifndef __ARM_FP
#error __ARM_FP is not defined but should be
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment