public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* PATCH: Re: optimization/6162: gcc 3.0.4: certain i386 asm reloader ice
@ 2002-10-30 21:14 Nathanael Nerode
  2002-11-10  8:17 ` [PATCH] Fastcall support on cygwin and mingw targets Casper Hornstrup
  0 siblings, 1 reply; 26+ messages in thread
From: Nathanael Nerode @ 2002-10-30 21:14 UTC (permalink / raw)
  To: user42, gcc-gnats, gcc-patches, gcc-bugs, nobody

Here's a documentation fix.  I suspect this is enough to allow the PR to 
be closed, given that
* this asm syntax is a gcc extension, I believe, and as such we
can specify it to behave however we like.
* the behavior isn't going to change any time in the near future.
* in general the problem can be worked around if people are aware of it.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6162

	PR optimization/6162
	* md.texi: Document restriction on commutative operand
	specification.

Index: md.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/md.texi,v
retrieving revision 1.51
diff -u -r1.51 md.texi
--- md.texi     15 Sep 2002 22:48:05 -0000      1.51
+++ md.texi     31 Oct 2002 05:09:57 -0000
@@ -1256,6 +1256,8 @@
    @dots{})
  @end smallexample
  @end ifset
+GCC can only handle one commutative pair in an asm; if you use more,
+the compiler may fail.

  @cindex @samp{#} in constraint
  @item #

^ permalink raw reply	[flat|nested] 26+ messages in thread
* [PATCH] Fastcall support on cygwin and mingw targets
@ 2002-11-20 11:03 Casper Hornstrup
  0 siblings, 0 replies; 26+ messages in thread
From: Casper Hornstrup @ 2002-11-20 11:03 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 2601 bytes --]

This is a refresh of the patch that implements support
in gcc for the fastcall calling convention on cygwin and
mingw targets (found here:
http://gcc.gnu.org/ml/gcc-patches/2002-11/msg00638.html).
This version of the patch includes changes as suggested
by people on this list.


gcc/testsuite/ChangeLog

2002-11-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>

	* gcc.c-torture/compile/20021110-1.c: New test.
	* gcc.c-torture/compile/20021110-1.x: Likewise.
	* gcc.c-torture/compile/20021110-2.c: Likewise.
	* gcc.c-torture/compile/20021110-2.x: Likewise.
	* gcc.c-torture/compile/20021110-3.c: Likewise.
	* gcc.c-torture/compile/20021110-3.x: Likewise.
	* gcc.c-torture/compile/20021110-4.c: Likewise.
	* gcc.c-torture/compile/20021110-4.x: Likewise.


gcc/ChangeLog

2002-11-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>

	* config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
	attributes incompatible with fastcall attribute.
	(ix86_handle_regparm_attribute): Likewise.

2002-11-13  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/i386/i386.c (ix86_comp_type_attributes): Check for
mismatched
	fastcall types.

2002-11-13  Eric Kohl  <ekohl@rz-online.de>

	* config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
	attributes.
	(ASM_OUTPUT_LABELREF): Add __imp_ prefix now rather than in
winnt.c.
	* config/i386/winnt.c (i386_pe_mark_dllimport). Convert internal
	fastcall decoration to MS-compatible decoration. Add __imp_
prefix in
	ASM_OUTPUT_LABELREF rather than here.
	* config/i386/i386.c (ix86_attribute_table): Accept 'fastcall'
as a
	valid attribute.
	(ix86_return_pops_args): Fastcall functions pop the stack.
	(init_cumulative_args): Reserve registers ECX and EDX if
function has
	fastcall attribute.
	(function_arg): Use registers ECX and EDX if function has
fastcall
	attribute.
	* config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute
flag.
	* config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
	attributes.
	* config/i386/winnt.c (gen_fastcall_suffix): New function.
Decorates a
	label name with a preliminary fastcall prefix (+) and the
stdcall
	suffix.
	(i386_pe_encode_section_info): Call gen_fastcall_suffix() if a
symbol
	has a fastcall attribute.
	(i386_pe_strip_name_encoding): Return length of internal
fastcall
	prefix (+).
	(i386_pe_fastcall_name_p): New function. Checks a symbol for
presence
	of internal fastcall prefix ('+' prefix).
	(i386_pe_asm_file_end): Converts internal fastcall prefix ('+'
prefix)
	into the Microsoft compatible '@' prefix.
	* doc/extend.texi: Add documentation of fastcall attribute.

[-- Attachment #2: fastcall.tar.gz --]
[-- Type: application/octet-stream, Size: 5812 bytes --]

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

end of thread, other threads:[~2002-12-19 22:07 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-30 21:14 PATCH: Re: optimization/6162: gcc 3.0.4: certain i386 asm reloader ice Nathanael Nerode
2002-11-10  8:17 ` [PATCH] Fastcall support on cygwin and mingw targets Casper Hornstrup
2002-11-10 17:50   ` Fergus Henderson
2002-11-10 19:10     ` Christopher Faylor
2002-11-11 12:47     ` Casper Hornstrup
2002-11-11 12:27       ` Fergus Henderson
2002-11-12 10:45         ` Casper Hornstrup
2002-11-12 22:08           ` Fergus Henderson
2002-11-13 12:17             ` Casper Hornstrup
2002-11-13 15:47               ` Joseph S. Myers
2002-11-13 20:27               ` Fergus Henderson
2002-11-14  0:31                 ` Joseph S. Myers
2002-11-14  8:28                 ` Casper Hornstrup
2002-11-25 15:39                   ` Richard Henderson
2002-11-27 19:52                     ` Casper Hornstrup
2002-11-27 21:15                       ` Casper Hornstrup
2002-11-27 22:19                       ` Richard Henderson
2002-11-28  2:00                         ` Richard Henderson
2002-12-02 13:25                     ` Casper Hornstrup
2002-12-02 13:48                       ` Richard Henderson
2002-12-03 13:52                         ` Casper Hornstrup
2002-12-03 16:32                           ` Richard Henderson
2002-12-08  4:08                             ` Casper Hornstrup
2002-12-19 14:01                               ` Richard Henderson
2002-12-19 14:07                                 ` Casper Hornstrup
2002-11-20 11:03 Casper Hornstrup

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).