From f916eeb6db92d698c87706411143f50ddfe9b126 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 23 Sep 1998 16:24:09 +0000 Subject: [PATCH] Add comment provided by Jim Wilson. From-SVN: r22560 --- gcc/ChangeLog | 4 ++++ gcc/expmed.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c022fc6697e..8351c3723a3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Wed Sep 23 16:22:01 1998 Nick Clifton + + * expmed.c (extract_bit_field): Add comment from Jim Wilson. + Wed Sep 23 13:26:02 1998 Richard Henderson * alpha.c (get_aligned_mem): Revert Sep 20 change. diff --git a/gcc/expmed.c b/gcc/expmed.c index 730d904a1cf..734365f8d35 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -983,6 +983,10 @@ extract_bit_field (str_rtx, bitsize, bitnum, unsignedp, && ((bitsize >= BITS_PER_WORD && bitsize == GET_MODE_BITSIZE (mode) && bitpos % BITS_PER_WORD == 0) || (mode_for_size (bitsize, GET_MODE_CLASS (tmode), 0) != BLKmode + /* ??? The big endian test here is wrong. This is correct + if the value is in a register, and if mode_for_size is not + the same mode as op0. This causes us to get unnecessarily + inefficient code from the Thumb port when -mbig-endian. */ && (BYTES_BIG_ENDIAN ? bitpos + bitsize == BITS_PER_WORD : bitpos == 0))))