From 0cc4f2bd0f7b2662741cebb500d5139e22bb6489 Mon Sep 17 00:00:00 2001 From: dje Date: Wed, 15 Jun 1994 07:42:17 +0000 Subject: [PATCH] * genconfig.c (main): Allow targets to override HAVE_conditional_move. * jump.c (jump_optimize): Use it at run-time. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7482 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/genconfig.c | 10 +++++++++- gcc/jump.c | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gcc/genconfig.c b/gcc/genconfig.c index da230f1..f1585c6 100644 --- a/gcc/genconfig.c +++ b/gcc/genconfig.c @@ -343,7 +343,15 @@ from the machine description file `md'. */\n\n"); printf ("#define HAVE_cc0\n"); if (have_cmove_flag) - printf ("#define HAVE_conditional_move\n"); + { + /* ??? The #ifndef/#endif is a hack for targets like sparc where + conditional moves don't exist for all versions of the + architecture. This won't be needed after conditional move support + has been clean up. */ + printf ("#ifndef HAVE_conditional_move\n"); + printf ("#define HAVE_conditional_move 1\n"); + printf ("#endif\n"); + } if (have_lo_sum_flag) printf ("#define HAVE_lo_sum\n"); diff --git a/gcc/jump.c b/gcc/jump.c index b8eaf11..f21f085 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -1038,7 +1038,7 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan) ((BRANCH_COST >= 2 && temp2 == const0_rtx) #ifdef HAVE_conditional_move - || 1 + || HAVE_conditional_move #endif || BRANCH_COST >= 3))) /* INSN must either branch to the insn after TEMP or the insn @@ -1068,7 +1068,7 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan) && (reversep = can_reverse_comparison_p (temp4, insn))))) #ifdef HAVE_conditional_move - || 1 + || HAVE_conditional_move #endif || BRANCH_COST >= 3) #ifdef HAVE_cc0 -- 2.7.4