Revert:
2010-10-30 Uros Bizjak <ubizjak@gmail.com> PR middle-end/44569 * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements, determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX. From-SVN: r166282
This commit is contained in:
parent
e977d24c8e
commit
8197abecff
|
@ -1,3 +1,12 @@
|
|||
2010-11-04 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
Revert:
|
||||
2010-10-30 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR middle-end/44569
|
||||
* lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
|
||||
determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
|
||||
|
||||
2010-11-04 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
|
||||
|
|
|
@ -388,7 +388,7 @@ simplify_subreg_concatn (enum machine_mode outermode, rtx op,
|
|||
unsigned int byte)
|
||||
{
|
||||
unsigned int inner_size;
|
||||
enum machine_mode innermode, partmode;
|
||||
enum machine_mode innermode;
|
||||
rtx part;
|
||||
unsigned int final_offset;
|
||||
|
||||
|
@ -401,19 +401,11 @@ simplify_subreg_concatn (enum machine_mode outermode, rtx op,
|
|||
|
||||
inner_size = GET_MODE_SIZE (innermode) / XVECLEN (op, 0);
|
||||
part = XVECEXP (op, 0, byte / inner_size);
|
||||
partmode = GET_MODE (part);
|
||||
|
||||
if (partmode == VOIDmode)
|
||||
{
|
||||
gcc_assert (VECTOR_MODE_P (innermode));
|
||||
partmode = GET_MODE_INNER (innermode);
|
||||
}
|
||||
|
||||
final_offset = byte % inner_size;
|
||||
if (final_offset + GET_MODE_SIZE (outermode) > inner_size)
|
||||
return NULL_RTX;
|
||||
|
||||
return simplify_gen_subreg (outermode, part, partmode, final_offset);
|
||||
return simplify_gen_subreg (outermode, part, GET_MODE (part), final_offset);
|
||||
}
|
||||
|
||||
/* Wrapper around simplify_gen_subreg which handles CONCATN. */
|
||||
|
|
Loading…
Reference in New Issue