diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.md | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3a3ac8b1fe2..dbb44d57532 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-02-09 Scott Bambrough <scottb@netwinder.org> + + * config/arm/arm.md (movsi): In PIC mode, make sure that a + constant source address is legitimate. + 2000-02-09 Philip Blundell <pb@futuretv.com> * config/arm/arm.c (legitimize_pic_address): Handle LABEL_REF diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 62e1f09d276..afeb238c270 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -3793,7 +3793,10 @@ } } - if (CONSTANT_P (operands[1]) && flag_pic) + if (flag_pic + && (CONSTANT_P (operands[1]) + || symbol_mentioned_p (operands[1]) + || label_mentioned_p (operands[1]))) operands[1] = legitimize_pic_address (operands[1], SImode, ((reload_in_progress || reload_completed) ? operands[0] : 0)); |