Commit cd7d9ca4 by David Edelsohn Committed by David Edelsohn

rs6000.c (expand_block_move): Use SImode and HImode with STRICT_ALIGNMENT.

        * config/rs6000/rs6000.c (expand_block_move): Use SImode and
        HImode with STRICT_ALIGNMENT.

From-SVN: r87021
parent 40a1c5cb
2004-09-02 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/rs6000.c (expand_block_move): Use SImode and
HImode with STRICT_ALIGNMENT.
2004-09-02 Mark Mitchell <mark@codesourcery.com> 2004-09-02 Mark Mitchell <mark@codesourcery.com>
* config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define. * config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
......
...@@ -8510,13 +8510,13 @@ expand_block_move (rtx operands[]) ...@@ -8510,13 +8510,13 @@ expand_block_move (rtx operands[])
move_bytes = (bytes > 8) ? 8 : bytes; move_bytes = (bytes > 8) ? 8 : bytes;
gen_func.movmemsi = gen_movmemsi_2reg; gen_func.movmemsi = gen_movmemsi_2reg;
} }
else if (bytes >= 4 && !STRICT_ALIGNMENT) else if (bytes >= 4 && (align >= 32 || !STRICT_ALIGNMENT))
{ /* move 4 bytes */ { /* move 4 bytes */
move_bytes = 4; move_bytes = 4;
mode = SImode; mode = SImode;
gen_func.mov = gen_movsi; gen_func.mov = gen_movsi;
} }
else if (bytes == 2 && !STRICT_ALIGNMENT) else if (bytes == 2 && (align >= 16 || !STRICT_ALIGNMENT))
{ /* move 2 bytes */ { /* move 2 bytes */
move_bytes = 2; move_bytes = 2;
mode = HImode; mode = HImode;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment