[gnu.gcc.bug] GCC version 1.36 88k bug

diekema@SHARKEY.CC.UMICH.EDU (Jon Diekema) (01/07/90)

Bug report:

Tool: GNU C compiler version 1.36, 88k target
Host: Sun 3/160, Sun OS 4.0.3
File: config/tm-m88k.h

/* Definitions of target machine for GNU compiler, for the Motorola 88000 chip.
   Copyright (C) 1988 Free Software Foundation, Inc.
   Contributed by Michael Tiemann (tiemann@mcc.com)

Contact: Jon Diekema
	 Smiths Industries, M/S 119
	 4141 Eastern Ave.
	 Grand Rapids, MI 49508

	 Work: (616)-241-8310
	 Home: (616)-669-6413


RCS file:        RCS/tm-m88k.h,v;   Working file:    tm-m88k.h
head:            1.3
branch:          
locks:         
access list:   
symbolic names:
comment leader:  " * "
total revisions: 3;    selected revisions: 3
description:
88k target for GNU C
----------------------------
revision 1.3        
date: 89/12/26 15:51:13;  author: diekema;  state: Exp;  lines added/del: 1/1
The absolute address jump table that is output for switch statement,
didn't assemble. The label was being emitted without a storage 
mnemonic (i.e. "word").
----------------------------
revision 1.2        
date: 89/12/26 15:39:33;  author: diekema;  state: Exp;  lines added/del: 29/0
Needed to add dummy macro's for ASM_OUTPUT_REG_PUSH and ASM_OUTPUT_REG_POP
to prevent these macro's from becoming undefined external references.
----------------------------
revision 1.1        
date: 89/12/26 15:37:13;  author: diekema;  state: Exp;  
Initial revision
=============================================================================


rcsdiff -r1.1 -r1.2 tm-m88k.h
1127a1128,1156
> 
> /************************************************************/
> /************************************************************/
> 
> /* This is how to output an insn to push a register on the stack.
>    It need not be very fast code.  */
> 
> #define ASM_OUTPUT_REG_PUSH(FILE,REGNO)  \
>   fprintf (FILE, "\tUnimpleted 88k macro ASM_OUTPUT_REG_PUSH\n"); \
>   fprintf (FILE, "\tIn file %s line %s\n",__FILE__,__LINE__); \
>   fprintf (FILE, "\tPlease fix this up in tm-m88k.h\n");
> 
> /*
> ** In the 68k version the ASM_OUTPUT_REG_PUSH was:
> **     fprintf (FILE, "\tmovel %s,sp@-\n", reg_names[REGNO])
> */
> 
> /* This is how to output an insn to pop a register from the stack.
>    It need not be very fast code.  */
> 
> #define ASM_OUTPUT_REG_POP(FILE,REGNO)  \
>   fprintf (FILE, "\tUnimpleted 88k macro ASM_OUTPUT_REG_POP\n"); \
>   fprintf (FILE, "\tIn file %s line %s\n",__FILE__,__LINE__); \
>   fprintf (FILE, "\tPlease fix this up in tm-m88k.h\n");
> 
> /*
> ** In the 68k version the ASM_OUTPUT_REG_PUSH was:
> **     fprintf (FILE, "\tmovel sp@+,%s\n", reg_names[REGNO])
> */


rcsdiff -r1.2 -r1.3 tm-m88k.h
1000c1000
<   fprintf (FILE, "\t@L%d\n", VALUE)
---
>   fprintf (FILE, "\tword @L%d\n", VALUE)

-- 
"You don't get trained here, you get here trained!"
------------------ \--------------------\-----------------------------------
Jon Diekema 	   | JD's Connection	| diekema@jdbbs.UUCP
7719 Park Lane     | (616) 669-3792 	| sharkey!wyn386!wybbs!jdbbs!diekema  
Jenison, MI  49428 \ 19200 PEP/2400/1200 \