aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreta Yorsh <greta.yorsh@arm.com>2012-10-19 17:33:28 +0100
committerGreta Yorsh <gretay@gcc.gnu.org>2012-10-19 17:33:28 +0100
commitcf5607f85aba4e94b2feda9c9ecf4f1da1edc27e (patch)
tree3c53625d21f1b3f015e67ae2a8c8461e050967f4
parent644b2e4c0dc69212ca11ed5d58be5a82b1b7dcc8 (diff)
downloadgcc-cf5607f85aba4e94b2feda9c9ecf4f1da1edc27e.zip
gcc-cf5607f85aba4e94b2feda9c9ecf4f1da1edc27e.tar.gz
gcc-cf5607f85aba4e94b2feda9c9ecf4f1da1edc27e.tar.bz2
target-supports.exp (check_effective_target_arm_prefer_ldrd_strd): New procedure.
2012-10-19 Greta Yorsh <Greta.Yorsh@arm.com> gcc/testsuite/ * gcc.target/arm/target-supports.exp (check_effective_target_arm_prefer_ldrd_strd): New procedure. gcc/ * doc/sourcebuild.texi (Effective-Target Keywords): Document new effective target keyword arm_prefer_ldrd_strd. From-SVN: r192615
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/sourcebuild.texi5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/lib/target-supports.exp12
4 files changed, 27 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7a82d9f..f599d1e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-10-19 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * doc/sourcebuild.texi (Effective-Target Keywords): Document
+ new effective target keyword arm_prefer_ldrd_strd.
+
2012-10-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54981
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index 2efd799..89e7712 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -1555,6 +1555,11 @@ ARM target generates Thumb-2 code for @code{-mthumb}.
@item arm_vfp_ok
ARM target supports @code{-mfpu=vfp -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.
+
@end table
@subsubsection MIPS-specific attributes
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a7e4d3e..be805f2 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-10-19 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * lib/target-supports.exp (check_effective_target_arm_prefer_ldrd_strd):
+ New procedure.
+
2012-10-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54981
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 2ab630e..944143b 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2464,6 +2464,18 @@ proc check_effective_target_arm_iwmmxt_ok { } {
}
}
+# Return true if LDRD/STRD instructions are prefered over LDM/STM instructions
+# for an ARM target.
+proc check_effective_target_arm_prefer_ldrd_strd { } {
+ if { ![check_effective_target_arm32] } {
+ return 0;
+ }
+
+ return [check_no_messages_and_pattern arm_prefer_ldrd_strd "strd\tr" assembly {
+ void foo (int *p) { p[0] = 1; p[1] = 0;}
+ } "-O2 -mthumb" ]
+}
+
# Return 1 if this is a PowerPC target with floating-point registers.
proc check_effective_target_powerpc_fprs { } {