aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-03-16 09:07:29 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1994-03-16 09:07:29 -0500
commitf8eb03658ea5b282968f62e641d490f6de6a8540 (patch)
tree84de252a86862d8bedf31a4b932aced18de5d711
parentbc69bfacd48428c3fe9aab1924b9b7dbb9041dff (diff)
downloadgcc-f8eb03658ea5b282968f62e641d490f6de6a8540.zip
gcc-f8eb03658ea5b282968f62e641d490f6de6a8540.tar.gz
gcc-f8eb03658ea5b282968f62e641d490f6de6a8540.tar.bz2
(FUNCTION_PROLOGUE): Load sb through r0 if TARGET_REGPARM is false.
From-SVN: r6797
-rw-r--r--gcc/config/ns32k/ns32k.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/config/ns32k/ns32k.h b/gcc/config/ns32k/ns32k.h
index c3d0621..dee0b06 100644
--- a/gcc/config/ns32k/ns32k.h
+++ b/gcc/config/ns32k/ns32k.h
@@ -601,8 +601,16 @@ enum reg_class { NO_REGS, GENERAL_REGS, FLOAT_REGS, GEN_AND_FP_REGS,
if (flag_pic && current_function_uses_pic_offset_table) \
{ \
fprintf (FILE, "\tsprd sb,tos\n"); \
- fprintf (FILE, "\taddr _GLOBAL_OFFSET_TABLE_(pc),tos\n"); \
- fprintf (FILE, "\tlprd sb,tos\n"); \
+ if (TARGET_REGPARM) \
+ { \
+ fprintf (FILE, "\taddr _GLOBAL_OFFSET_TABLE_(pc),tos\n"); \
+ fprintf (FILE, "\tlprd sb,tos\n"); \
+ } \
+ else \
+ { \
+ fprintf (FILE, "\taddr _GLOBAL_OFFSET_TABLE_(pc),r0\n"); \
+ fprintf (FILE, "\tlprd sb,r0\n"); \
+ } \
} \
}