diff options
author | Eric Botcazou <ebotcazou@libertysurf.fr> | 2003-03-24 12:29:11 +0100 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2003-03-24 11:29:11 +0000 |
commit | 02484af985da5f2f56cf2f8aecb69f7d50848807 (patch) | |
tree | 420839c3baf4ce62bb9390453b158cc7001f3df3 /gcc/combine.c | |
parent | 941bc65971482ba8194d7ab1b3eb2514b481cc70 (diff) | |
download | gcc-02484af985da5f2f56cf2f8aecb69f7d50848807.zip gcc-02484af985da5f2f56cf2f8aecb69f7d50848807.tar.gz gcc-02484af985da5f2f56cf2f8aecb69f7d50848807.tar.bz2 |
re PR target/10072 ([Sparc] internal compiler error: in trunc_int_for_mode, at explow.c:54)
PR target/10072
* combine.c (simplify_if_then_else): Check that the mode
has MODE_INT class before applying the (OP Z (mult COND C2))
transformation.
From-SVN: r64785
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index cd7261b..dd01706 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -4969,7 +4969,9 @@ simplify_if_then_else (x) neither 1 or -1, but it isn't worth checking for. */ if ((STORE_FLAG_VALUE == 1 || STORE_FLAG_VALUE == -1) - && comparison_p && mode != VOIDmode && ! side_effects_p (x)) + && comparison_p + && GET_MODE_CLASS (mode) == MODE_INT + && ! side_effects_p (x)) { rtx t = make_compound_operation (true_rtx, SET); rtx f = make_compound_operation (false_rtx, SET); |