public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH][ARM][2/3] AArch32 NEON vrint builtins and intrinsics
@ 2012-11-29 14:27 Kyrylo Tkachov
  0 siblings, 0 replies; 2+ messages in thread
From: Kyrylo Tkachov @ 2012-11-29 14:27 UTC (permalink / raw)
  To: gcc-patches; +Cc: 'Ramana Radhakrishnan', Richard Earnshaw, mikestump

[-- Attachment #1: Type: text/plain, Size: 617 bytes --]

Hi all,
This patch adds an effective target check to the testsuite for ARMv8 NEON
support. A corresponding add_options procedure is added.
This is used by the AArch32 NEON intrinsics tests. An entry in the
documentation is added as well.

Ok for trunk?

Thanks,
Kyrill

gcc/ChangeLog

2012-11-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* doc/sourcebuild.texi: Document arm_v8_neon_ok.

gcc/testsuite/ChangeLog

2012-11-29  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.

[-- Attachment #2: armv8_neon_checks.txt --]
[-- Type: text/plain, Size: 2076 bytes --]

diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index 0f29326..ae05681 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -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.
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 5935346..ca78808 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH][ARM][2/3] AArch32 NEON vrint builtins and intrinsics
       [not found] <50b770dd.a3e8440a.17f6.ffffe167SMTPIN_ADDED_BROKEN@mx.google.com>
@ 2012-12-05 22:15 ` Ramana Radhakrishnan
  0 siblings, 0 replies; 2+ messages in thread
From: Ramana Radhakrishnan @ 2012-12-05 22:15 UTC (permalink / raw)
  To: Kyrylo Tkachov
  Cc: gcc-patches, Ramana Radhakrishnan, Richard Earnshaw, mikestump

On Thu, Nov 29, 2012 at 2:27 PM, Kyrylo Tkachov <kyrylo.tkachov@arm.com> wrote:
> Hi all,
> This patch adds an effective target check to the testsuite for ARMv8 NEON
> support. A corresponding add_options procedure is added.
> This is used by the AArch32 NEON intrinsics tests. An entry in the
> documentation is added as well.
>
> Ok for trunk?
>

Ok.

Ramana
> Thanks,
> Kyrill
>
> gcc/ChangeLog
>
> 2012-11-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
>
>         * doc/sourcebuild.texi: Document arm_v8_neon_ok.
>
> gcc/testsuite/ChangeLog
>
> 2012-11-29  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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-12-05 22:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-29 14:27 [PATCH][ARM][2/3] AArch32 NEON vrint builtins and intrinsics Kyrylo Tkachov
     [not found] <50b770dd.a3e8440a.17f6.ffffe167SMTPIN_ADDED_BROKEN@mx.google.com>
2012-12-05 22:15 ` Ramana Radhakrishnan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).