public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* large SPARC changes
@ 1998-04-16 22:46 John Carr
  1998-04-18  1:43 ` Richard Henderson
  0 siblings, 1 reply; 4+ messages in thread
From: John Carr @ 1998-04-16 22:46 UTC (permalink / raw)
  To: egcs

	* sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
	code generation.  Use 64 bit instructions in 32 bit mode when
	possible.  Use V9 return instruction.  UltraSPARC optimizations.

	* sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.

	* sparc.h (ASM_PIC_SETUP): New macro.
	* sparc.md (get_pc): New pattern, calling function written by
	ASM_PIC_SETUP.
	* sparc.c (pic_setup_code): Update for new get_pc.
	* toplev.c (compile_file)): Call ASM_PIC_SETUP macro if -fpic.



begin 644 sparc-diff.gz
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
LNL3Y([_5\__7(QQ<<C$;J7?1[!-%5LDAU"!.[!AH2!;7A?\?H)PG1(+C 0 .
 
end

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: large SPARC changes
  1998-04-16 22:46 large SPARC changes John Carr
@ 1998-04-18  1:43 ` Richard Henderson
  1998-04-19 10:52   ` Laurent Bonnaud
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Henderson @ 1998-04-18  1:43 UTC (permalink / raw)
  To: John Carr; +Cc: egcs

I must first apologize for being criminally slow in doing something with
your last set of patches.  I'd actually sat down and tried to get them
in once or twice, but it kept triggering scheduler bugs and never
bootstrapping, and I never quite got around to fixing whatever it was.

This time, however, everything bootstrapped smoothly, with and without
`-mcpu=ultrasparc -mv8plus'.  The changes on the whole look pretty spiff.


> 	* sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
> 	code generation.  Use 64 bit instructions in 32 bit mode when
> 	possible.  Use V9 return instruction.  UltraSPARC optimizations.
> 
> 	* sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.

These bits I committed.

> 	* sparc.h (ASM_PIC_SETUP): New macro.
> 	* sparc.md (get_pc): New pattern, calling function written by
> 	ASM_PIC_SETUP.
> 	* sparc.c (pic_setup_code): Update for new get_pc.
> 	* toplev.c (compile_file)): Call ASM_PIC_SETUP macro if -fpic.

These bits, I modified. 

I didn't really like the notion of using a moderately visible
symbol like __get_pc.  I prefer that whatever symbol be used be
eliminated by the assembler, so as not to show up in nm and
generally get in the way.

I also didn't think patching toplev was needed, and it had the
disadvantage of always emitting the __get_pc hunk even when it
wasn't needed.

So I changed things to use ASM_GENERATE_INTERNAL_LABEL, and hooked
the helper function-let generation into finalize_pic where it
would be conditional on at least one setting of
current_function_uses_pic_offset_table.


r~

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: large SPARC changes
  1998-04-18  1:43 ` Richard Henderson
@ 1998-04-19 10:52   ` Laurent Bonnaud
  1998-04-19 14:51     ` John Carr
  0 siblings, 1 reply; 4+ messages in thread
From: Laurent Bonnaud @ 1998-04-19 10:52 UTC (permalink / raw)
  To: egcs

>>>>> "r~" == Richard Henderson <rth@cygnus.com> writes:
r~> 
r~> This time, however, everything bootstrapped smoothly, with and without
r~> `-mcpu=ultrasparc -mv8plus'. 

There is something i don't understand here.  The doc says that the
-mv... options are obsolete:

     These options are deprecated and will be deleted in GNU CC 2.9.
     They have been replaced with `-mcpu=xxx'.

Why do you need -mv8plus then ?  Does the doc need an update ?

Furthermore there is no mention of v8plus architecture in the doc,
whereas it exists obviously :>.

-- 
Laurent.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: large SPARC changes
  1998-04-19 10:52   ` Laurent Bonnaud
@ 1998-04-19 14:51     ` John Carr
  0 siblings, 0 replies; 4+ messages in thread
From: John Carr @ 1998-04-19 14:51 UTC (permalink / raw)
  To: Laurent Bonnaud; +Cc: egcs

The doc needs an update.

-mv8plus is a new option affecting 32 SPARC V9 code.  With -mv8plus
gcc uses 64 bit registers in certain cases.  This option has no effect
unless -mcpu=ultrasparc or -mcpu=v9 (or gcc is configured
--with-cpu={ultrasparc|v9}, which does the same thing).

It should not be necessary to use -mv8plus or -mno-v8plus.  V8+ is the
default for Solaris.  Using it on Linux may cause hard-to-detect
failures because signals clear the high 32 bits of registers.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1998-04-19 14:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-04-16 22:46 large SPARC changes John Carr
1998-04-18  1:43 ` Richard Henderson
1998-04-19 10:52   ` Laurent Bonnaud
1998-04-19 14:51     ` John Carr

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).