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> 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
Trevor Saunders <tsaunders@mozilla.com> Trevor Saunders <tsaunders@mozilla.com>
......
...@@ -2360,17 +2360,17 @@ extern int making_const_table; ...@@ -2360,17 +2360,17 @@ extern int making_const_table;
point types. Where bit 1 indicates 16-bit support, bit 2 indicates point types. Where bit 1 indicates 16-bit support, bit 2 indicates
32-bit support, bit 3 indicates 64-bit support. */ 32-bit support, bit 3 indicates 64-bit support. */
#define TARGET_ARM_FP \ #define TARGET_ARM_FP \
(TARGET_VFP_SINGLE ? 4 \ (!TARGET_SOFT_FLOAT ? (TARGET_VFP_SINGLE ? 4 \
: (TARGET_VFP_DOUBLE ? (TARGET_FP16 ? 14 : 12) : 0)) : (TARGET_VFP_DOUBLE ? (TARGET_FP16 ? 14 : 12) : 0)) \
: 0)
/* Set as a bit mask indicating the available widths of floating point /* Set as a bit mask indicating the available widths of floating point
types for hardware NEON floating point. This is the same as types for hardware NEON floating point. This is the same as
TARGET_ARM_FP without the 64-bit bit set. */ TARGET_ARM_FP without the 64-bit bit set. */
#ifdef TARGET_NEON #define TARGET_NEON_FP \
#define TARGET_NEON_FP \ (TARGET_NEON ? (TARGET_ARM_FP & (0xff ^ 0x08)) \
(TARGET_ARM_FP & (0xff ^ 0x08)) : 0)
#endif
/* The maximum number of parallel loads or stores we support in an ldm/stm /* The maximum number of parallel loads or stores we support in an ldm/stm
instruction. */ 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> 2015-02-05 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/64905 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