diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2021-04-30 04:36:36 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2021-04-30 04:36:36 -0700 |
commit | 18d713fbd345c5c54ab6091ac5f114df4551d1bb (patch) | |
tree | ad63516e3ef82ea1329adf16830da03eed091363 | |
parent | 86c77c52f7b812adccf9620860f7c392f9a16cfc (diff) | |
download | gcc-18d713fbd345c5c54ab6091ac5f114df4551d1bb.zip gcc-18d713fbd345c5c54ab6091ac5f114df4551d1bb.tar.gz gcc-18d713fbd345c5c54ab6091ac5f114df4551d1bb.tar.bz2 |
Update alignment_for_piecewise_move
alignment_for_piecewise_move is called only with MOVE_MAX_PIECES or
STORE_MAX_PIECES, which are the number of bytes at a time that we
can move or store efficiently. We should call mode_for_size without
limit to MAX_FIXED_MODE_SIZE, which is an integer expression for the
size in bits of the largest integer machine mode that should actually
be used, may be smaller than MOVE_MAX_PIECES or STORE_MAX_PIECES, which
may use vector.
* expr.c (alignment_for_piecewise_move): Call mode_for_size
without limit to MAX_FIXED_MODE_SIZE.
-rw-r--r-- | gcc/expr.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -746,7 +746,7 @@ static unsigned int alignment_for_piecewise_move (unsigned int max_pieces, unsigned int align) { scalar_int_mode tmode - = int_mode_for_size (max_pieces * BITS_PER_UNIT, 1).require (); + = int_mode_for_size (max_pieces * BITS_PER_UNIT, 0).require (); if (align >= GET_MODE_ALIGNMENT (tmode)) align = GET_MODE_ALIGNMENT (tmode); |