aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index 1054204..7073f1e 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -3858,7 +3858,19 @@ fold_rtx (x, insn)
}
}
- new = simplify_relational_operation (code, mode_arg0,
+ new = simplify_relational_operation (code,
+ (mode_arg0 != VOIDmode
+ ? mode_arg0
+ : (GET_MODE (const_arg0
+ ? const_arg0
+ : folded_arg0)
+ != VOIDmode)
+ ? GET_MODE (const_arg0
+ ? const_arg0
+ : folded_arg0)
+ : GET_MODE (const_arg1
+ ? const_arg1
+ : folded_arg1)),
const_arg0 ? const_arg0 : folded_arg0,
const_arg1 ? const_arg1 : folded_arg1);
#ifdef FLOAT_STORE_FLAG_VALUE