diff options
author | Stan Cox <coxs@gnu.org> | 1995-04-28 17:04:06 +0000 |
---|---|---|
committer | Stan Cox <coxs@gnu.org> | 1995-04-28 17:04:06 +0000 |
commit | 17a2962cbbe7bb8c1f49d2fafedcc0f656a1463d (patch) | |
tree | ec7330e46c79feb23e80b8bf08198d9c7f207c2c | |
parent | 60678486db4abc3df61874d5da303d078baca3c7 (diff) | |
download | gcc-17a2962cbbe7bb8c1f49d2fafedcc0f656a1463d.zip gcc-17a2962cbbe7bb8c1f49d2fafedcc0f656a1463d.tar.gz gcc-17a2962cbbe7bb8c1f49d2fafedcc0f656a1463d.tar.bz2 |
(symbolic_operand) Put relocatable pic constants in data
From-SVN: r9536
-rw-r--r-- | gcc/config/m88k/m88k.c | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/gcc/config/m88k/m88k.c b/gcc/config/m88k/m88k.c index b8ec1bd2..64e7ebc 100644 --- a/gcc/config/m88k/m88k.c +++ b/gcc/config/m88k/m88k.c @@ -1,8 +1,7 @@ /* Subroutines for insn-output.c for Motorola 88000. - Copyright (C) 1988, 1989, 1990, 1991, 1994 Free Software Foundation, Inc. + Copyright (C) 1988, 92, 93, 94, 1995 Free Software Foundation, Inc. Contributed by Michael Tiemann (tiemann@mcc.com) - Enhanced by Michael Meissner (meissner@osf.org) - Version 2 port by Tom Wood (twood@pets.sps.mot.com) + Currently maintained by (gcc@dg-rtp.dg.com) This file is part of GNU CC. @@ -3094,3 +3093,32 @@ pic_address_needs_scratch (x) return 0; } + +/* Returns 1 if OP is either a symbol reference or a sum of a symbol + reference and a constant. */ + +int +symbolic_operand (op, mode) + register rtx op; + enum machine_mode mode; +{ + switch (GET_CODE (op)) + { + case SYMBOL_REF: + case LABEL_REF: + return 1; + + case CONST: + op = XEXP (op, 0); + return ((GET_CODE (XEXP (op, 0)) == SYMBOL_REF + || GET_CODE (XEXP (op, 0)) == LABEL_REF) + && GET_CODE (XEXP (op, 1)) == CONST_INT); + + /* ??? This clause seems to be irrelevant. */ + case CONST_DOUBLE: + return GET_MODE (op) == mode; + + default: + return 0; + } +} |