aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2017-10-17 20:28:33 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2017-10-17 20:28:33 +0000
commit34311c5ee64df8dd6dbdaa6141adfe16534c1349 (patch)
treebb13380c745c6270665a5f2bb7824f29008257b1 /gcc/config
parent8e7014b45585b89418564db079f9ad469a581ea2 (diff)
downloadgcc-34311c5ee64df8dd6dbdaa6141adfe16534c1349.zip
gcc-34311c5ee64df8dd6dbdaa6141adfe16534c1349.tar.gz
gcc-34311c5ee64df8dd6dbdaa6141adfe16534c1349.tar.bz2
visium.c (visium_select_cc_mode): Return CCmode for any RTX present on the RHS of a SET.
* config/visium/visium.c (visium_select_cc_mode): Return CCmode for any RTX present on the RHS of a SET. * compare-elim.c (try_eliminate_compare): Restore comment. From-SVN: r253830
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/visium/visium.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/gcc/config/visium/visium.c b/gcc/config/visium/visium.c
index 381d432..3311dd2 100644
--- a/gcc/config/visium/visium.c
+++ b/gcc/config/visium/visium.c
@@ -2938,12 +2938,6 @@ visium_select_cc_mode (enum rtx_code code, rtx op0, rtx op1)
/* This is a btst, the result is in C instead of Z. */
return CCCmode;
- case CONST_INT:
- /* This is a degenerate case, typically an uninitialized variable. */
- gcc_assert (op0 == constm1_rtx);
-
- /* ... fall through ... */
-
case REG:
case AND:
case IOR:
@@ -2960,6 +2954,17 @@ visium_select_cc_mode (enum rtx_code code, rtx op0, rtx op1)
when applied to a comparison with zero. */
return CCmode;
+ /* ??? Cater to the junk RTXes sent by try_merge_compare. */
+ case ASM_OPERANDS:
+ case CALL:
+ case CONST_INT:
+ case LO_SUM:
+ case HIGH:
+ case MEM:
+ case UNSPEC:
+ case ZERO_EXTEND:
+ return CCmode;
+
default:
gcc_unreachable ();
}