summaryrefslogtreecommitdiffstats
path: root/gcc/config.in
diff options
context:
space:
mode:
authordavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-15 21:24:22 +0000
committerdavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-15 21:24:22 +0000
commit6c940e8ddfb4fa24b07cd8314f70a791816244d6 (patch)
treef03d2f8dce9c22de2316eabb57bfd128e7c91f42 /gcc/config.in
parent8738bcea960a6a0a226a3002915224f7713a46ac (diff)
downloadppe42-gcc-6c940e8ddfb4fa24b07cd8314f70a791816244d6.tar.gz
ppe42-gcc-6c940e8ddfb4fa24b07cd8314f70a791816244d6.zip
Add support for sparc fused compare-and-branch.
gcc/ 2012-11-15 David S. Miller <davem@davemloft.net> * configure.ac: Add check for assembler SPARC4 instruction support. * configure: Rebuild. * config.in: Add HAVE_AS_SPARC4 section. * config/sparc/sparc.opt (mcbcond): New option. * doc/invoke.texi: Document it. * config/sparc/constraints.md: New constraint 'A' for 5-bit signed immediates. * doc/md.texi: Document it. * config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_CBCOND. (sparc_option_override): Likewise. (emit_cbcond_insn): New function. (emit_conditional_branch_insn): Call it. (emit_cbcond_nop): New function. (output_ubranch): Use cbcond, remove label arg. (output_cbcond): New function. * config/sparc/sparc-protos.h (output_ubranch): Update. (output_cbcond): Declare it. (emit_cbcond_nop): Likewise. * config/sparc/sparc.md (type attribute): New types 'cbcond' and uncond_cbcond. (emit_cbcond_nop): New attribute. (length attribute): Handle cbcond and uncond_cbcond. (in_call_delay attribute): Reject cbcond and uncond_cbcond. (in_branch_delay attribute): Likewise. (in_uncond_branch_delay attribute): Likewise. (in_annul_branch_delay attribute): Likewise. (*cbcond_sp32, *cbcond_sp64): New insn patterns. (jump): Rewrite into an expander. (*jump_ubranch, *jump_cbcond): New patterns. * config/sparc/niagara4.md: Match 'cbcond' in 'n4_cti'. * config/sparc/sparc.h (AS_NIAGARA4_FLAG): New macro, use it when target default is niagara4. (SPARC_SIMM5_P): Define. * config/sparc/sol2.h (AS_SPARC64_FLAG): Adjust. (AS_SPARC32_FLAG): Define. (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Use AS_NIAGARA4_FLAG as needed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193543 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config.in')
-rw-r--r--gcc/config.in6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config.in b/gcc/config.in
index ee2a4d8b57c..70389063401 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -266,6 +266,12 @@
#endif
+/* Define if your assembler supports SPARC4 instructions. */
+#ifndef USED_FOR_TARGET
+#undef HAVE_AS_SPARC4
+#endif
+
+
/* Define if your assembler supports fprnd. */
#ifndef USED_FOR_TARGET
#undef HAVE_AS_FPRND
OpenPOWER on IntegriCloud