diff options
author | Stan Cox <coxs@gnu.org> | 1994-10-06 15:13:26 +0000 |
---|---|---|
committer | Stan Cox <coxs@gnu.org> | 1994-10-06 15:13:26 +0000 |
commit | 9a9a996b7b83ac05a2ff8715051a86a3abf59f39 (patch) | |
tree | 94ea0c49ba1c83be3bd3536869ab8f92c2f81866 /gcc/config/m88k | |
parent | 22619c3f61d8e60b5a45a75b4edec2d442f0ee02 (diff) | |
download | gcc-9a9a996b7b83ac05a2ff8715051a86a3abf59f39.zip gcc-9a9a996b7b83ac05a2ff8715051a86a3abf59f39.tar.gz gcc-9a9a996b7b83ac05a2ff8715051a86a3abf59f39.tar.bz2 |
If operand1 is an invalid PIC address, then legitimize it before doing anything else.
From-SVN: r8228
Diffstat (limited to 'gcc/config/m88k')
-rw-r--r-- | gcc/config/m88k/m88k.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/m88k/m88k.c b/gcc/config/m88k/m88k.c index 28ac763..b8ec1bd2 100644 --- a/gcc/config/m88k/m88k.c +++ b/gcc/config/m88k/m88k.c @@ -224,6 +224,10 @@ emit_move_sequence (operands, mode, scratch) register rtx operand0 = operands[0]; register rtx operand1 = operands[1]; + if (CONSTANT_P (operand1) && flag_pic + && pic_address_needs_scratch (operand1)) + operands[1] = operand1 = legitimize_address (1, operand1, 0, 0); + /* Handle most common case first: storing into a register. */ if (register_operand (operand0, mode)) { |