diff options
Diffstat (limited to 'gcc/final.c')
-rw-r--r-- | gcc/final.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/final.c b/gcc/final.c index 5cc0a1e..be41d6e 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -3204,8 +3204,7 @@ alter_subreg (rtx *xp, bool final_p) /* For paradoxical subregs on big-endian machines, SUBREG_BYTE contains 0 instead of the proper offset. See simplify_subreg. */ - if (offset == 0 - && GET_MODE_SIZE (GET_MODE (y)) < GET_MODE_SIZE (GET_MODE (x))) + if (paradoxical_subreg_p (x)) { int difference = GET_MODE_SIZE (GET_MODE (y)) - GET_MODE_SIZE (GET_MODE (x)); |