diff options
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r-- | gcc/cfgexpand.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index bd3312eb3ba..be93c5843e5 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -4326,9 +4326,11 @@ expand_debug_expr (tree exp) if (FLOAT_MODE_P (mode) && FLOAT_MODE_P (inner_mode)) { - if (GET_MODE_BITSIZE (mode) == GET_MODE_BITSIZE (inner_mode)) + if (GET_MODE_UNIT_BITSIZE (mode) + == GET_MODE_UNIT_BITSIZE (inner_mode)) op0 = simplify_gen_subreg (mode, op0, inner_mode, 0); - else if (GET_MODE_BITSIZE (mode) < GET_MODE_BITSIZE (inner_mode)) + else if (GET_MODE_UNIT_BITSIZE (mode) + < GET_MODE_UNIT_BITSIZE (inner_mode)) op0 = simplify_gen_unary (FLOAT_TRUNCATE, mode, op0, inner_mode); else op0 = simplify_gen_unary (FLOAT_EXTEND, mode, op0, inner_mode); @@ -5191,9 +5193,11 @@ expand_debug_source_expr (tree exp) if (FLOAT_MODE_P (mode) && FLOAT_MODE_P (inner_mode)) { - if (GET_MODE_BITSIZE (mode) == GET_MODE_BITSIZE (inner_mode)) + if (GET_MODE_UNIT_BITSIZE (mode) + == GET_MODE_UNIT_BITSIZE (inner_mode)) op0 = simplify_gen_subreg (mode, op0, inner_mode, 0); - else if (GET_MODE_BITSIZE (mode) < GET_MODE_BITSIZE (inner_mode)) + else if (GET_MODE_UNIT_BITSIZE (mode) + < GET_MODE_UNIT_BITSIZE (inner_mode)) op0 = simplify_gen_unary (FLOAT_TRUNCATE, mode, op0, inner_mode); else op0 = simplify_gen_unary (FLOAT_EXTEND, mode, op0, inner_mode); |