Commit 71aa66e4 by Kyrylo Tkachov Committed by Kyrylo Tkachov

sourcebuild.texi: Document arm_v8_neon_ok.

2012-12-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	gcc/
	* doc/sourcebuild.texi: Document arm_v8_neon_ok.

	gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_arm_v8_neon_ok):
	New procedure.
	(add_options_for_arm_v8_neon): Likewise.

From-SVN: r194245
parent 79739965
2012-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* doc/sourcebuild.texi: Document arm_v8_neon_ok.
2012-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.c (neon_itype): Define NEON_RINT enum element.
(neon_builtin_data): Register vrintn, vrinta, vrintp, vrintm,
vrintz, vrintx neon builtins.
......@@ -1560,6 +1560,10 @@ Some multilibs may be incompatible with these options.
ARM target supports @code{-mfpu=fp-armv8 -mfloat-abi=softfp}.
Some multilibs may be incompatible with these options.
@item arm_v8_neon_ok
ARM target supports @code{-mfpu=neon-fp-armv8 -mfloat-abi=softfp}.
Some multilibs may be incompatible with these options.
@item arm_prefer_ldrd_strd
ARM target prefers @code{LDRD} and @code{STRD} instructions over
@code{LDM} and @code{STM} instructions.
......
2012-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* lib/target-supports.exp (check_effective_target_arm_v8_neon_ok):
New procedure.
(add_options_for_arm_v8_neon): Likewise.
2012-12-05 Steven Bosscher <steven@gcc.gnu.org>
* g++.dg/pr55604.C: New test.
......
......@@ -2107,6 +2107,22 @@ proc check_effective_target_arm_v8_vfp_ok {} {
}
}
# Return 1 if this is an ARM target supporting -mfpu=neon-fp-armv8
# -mfloat-abi=softfp
proc check_effective_target_arm_v8_neon_ok {} {
if { [check_effective_target_arm32] } {
return [check_no_compiler_messages arm_v8_neon_ok object {
int foo (void)
{
__asm__ volatile ("vrintn.f32 q0, q0");
return 0;
}
} "-mfpu=neon-fp-armv8 -mfloat-abi=softfp"]
} else {
return 0
}
}
# Return 1 if this is an ARM target supporting -mfpu=vfp
# -mfloat-abi=hard. Some multilibs may be incompatible with these
# options.
......@@ -2166,6 +2182,13 @@ proc add_options_for_arm_v8_vfp { flags } {
return "$flags -mfpu=fp-armv8 -mfloat-abi=softfp"
}
proc add_options_for_arm_v8_neon { flags } {
if { ! [check_effective_target_arm_v8_neon_ok] } {
return "$flags"
}
return "$flags -mfpu=neon-fp-armv8 -mfloat-abi=softfp"
}
# Add the options needed for NEON. We need either -mfloat-abi=softfp
# or -mfloat-abi=hard, but if one is already specified by the
# multilib, use it. Similarly, if a -mfpu option already enables
......
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