Hi,
Following last patch, this patch patch prevents arm_thumb1 XPASS in
sibcall-3.c and sibcall-4.c by skipping on arm_thumb1 and arm_thumb2
respectively.
This patch also documents arm_thumb1 and arm_thumb2 effective target
options.
Is patch ok for trunk and fsf-5?
gcc/testsuite
2015-07-28 Alex Velenko <alex.vele...@arm.com>
* gcc.dg/sibcall-3.c (dg-skip-if): Skip if arm_thumb1.
* gcc.dg/sibcall-4.c (dg-skip-if): Likewise.
gcc/
2015-07-28 Alex Velenko <alex.vele...@arm.com>
* doc/sourcebuild.texi (arm_thumb1): Documented.
(arm-thumb2): Likewise.
---
gcc/doc/sourcebuild.texi | 8 ++++++++
gcc/testsuite/gcc.dg/sibcall-3.c | 1 +
gcc/testsuite/gcc.dg/sibcall-4.c | 1 +
3 files changed, 10 insertions(+)
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index c6ef40e..ca42a09 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -1551,6 +1551,14 @@ options. Some multilibs may be incompatible with
these options.
ARM Target supports @code{-mfpu=neon-fp16 -mfloat-abi=softfp} or
compatible
options. Some multilibs may be incompatible with these options.
+@item arm_thumb1
+ARM target interworks with Thumb-1 - given @code{-mthumb-interwork}
both ARM and
+Thumb code may be generated interleaved.
+
+@item arm_thumb2
+ARM target interworks with Thumb-2 - given @code{-mthumb-interwork}
both ARM and
+Thumb code may be generated interleaved.
+
@item arm_thumb1_ok
ARM target generates Thumb-1 code for @code{-mthumb}.
diff --git a/gcc/testsuite/gcc.dg/sibcall-3.c
b/gcc/testsuite/gcc.dg/sibcall-3.c
index eafe8dd..e44596e 100644
--- a/gcc/testsuite/gcc.dg/sibcall-3.c
+++ b/gcc/testsuite/gcc.dg/sibcall-3.c
@@ -8,6 +8,7 @@
/* { dg-do run { xfail { { cris-*-* crisv32-*-* h8300-*-* hppa*64*-*-*
m32r-*-* mcore-*-* mn10300-*-* msp430*-*-* nds32*-*-* xstormy16-*-*
v850*-*-* vax-*-* xtensa*-*-* } || { arm*-*-* && { ! arm32 } } } } } */
/* -mlongcall disables sibcall patterns. */
/* { dg-skip-if "" { powerpc*-*-* } { "-mlongcall" } { "" } } */
+/* { dg-skip-if "" { arm_thumb1 } } */
/* { dg-options "-O2 -foptimize-sibling-calls" } */
/* The option -foptimize-sibling-calls is the default, but serves as
diff --git a/gcc/testsuite/gcc.dg/sibcall-4.c
b/gcc/testsuite/gcc.dg/sibcall-4.c
index 1e039c6..5c69490 100644
--- a/gcc/testsuite/gcc.dg/sibcall-4.c
+++ b/gcc/testsuite/gcc.dg/sibcall-4.c
@@ -8,6 +8,7 @@
/* { dg-do run { xfail { { cris-*-* crisv32-*-* h8300-*-* hppa*64*-*-*
m32r-*-* mcore-*-* mn10300-*-* msp430*-*-* nds32*-*-* xstormy16-*-*
v850*-*-* vax-*-* xtensa*-*-* } || { arm*-*-* && { ! arm32 } } } } } */
/* -mlongcall disables sibcall patterns. */
/* { dg-skip-if "" { powerpc*-*-* } { "-mlongcall" } { "" } } */
+/* { dg-skip-if "" { arm_thumb1 } } */
/* { dg-options "-O2 -foptimize-sibling-calls" } */
/* The option -foptimize-sibling-calls is the default, but serves as
--
1.8.1.2