public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/14907] bogus sign/zero extension when relaying parameters with regparm
       [not found] <bug-14907-1037@http.gcc.gnu.org/bugzilla/>
@ 2006-03-01  5:54 ` nmiell at comcast dot net
  0 siblings, 0 replies; 3+ messages in thread
From: nmiell at comcast dot net @ 2006-03-01  5:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from nmiell at comcast dot net  2006-03-01 05:54 -------
This also occurs on AMD64 without any special attributes (the ABI passes params
in registers already).

When compiling:
extern char c2(char);
char c1(char c) { return c2(c); }

with gcc -Wall -O2 -S tail-char.c
using gcc (GCC) 4.0.2 20051125 (Red Hat 4.0.2-8)

The result is:
c1:
        subq    $8, %rsp
        movsbl  %dil,%edi
        call    c2
        addq    $8, %rsp
        movsbl  %al,%eax
        ret


-- 

nmiell at comcast dot net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nmiell at comcast dot net


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14907


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

* [Bug target/14907] bogus sign/zero extension when relaying parameters with regparm
  2004-04-10 14:59 [Bug optimization/14907] New: " cesarb at nitnet dot com dot br
  2004-04-10 15:48 ` [Bug target/14907] " pinskia at gcc dot gnu dot org
@ 2004-07-10  1:28 ` pinskia at gcc dot gnu dot org
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-07-10  1:28 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-07-10 01:28 -------
Basically the problem is that the RTL optimizers do not know if they come in as full 32bit register even 
though the ABI demands it.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2004-04-10 15:31:46         |2004-07-10 01:28:55
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14907


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

* [Bug target/14907] bogus sign/zero extension when relaying parameters with regparm
  2004-04-10 14:59 [Bug optimization/14907] New: " cesarb at nitnet dot com dot br
@ 2004-04-10 15:48 ` pinskia at gcc dot gnu dot org
  2004-07-10  1:28 ` pinskia at gcc dot gnu dot org
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-04-10 15:48 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-04-10 15:31 -------
Confirmed.  I think this is requied by the ABI to promote it but since it is already promoted it could just 
use the full register, I do not know if this is really a bug but then again I could be wrong.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
          Component|optimization                |target
     Ever Confirmed|                            |1
           Keywords|                            |pessimizes-code
   Last reconfirmed|0000-00-00 00:00:00         |2004-04-10 15:31:46
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14907


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

end of thread, other threads:[~2006-03-01  5:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-14907-1037@http.gcc.gnu.org/bugzilla/>
2006-03-01  5:54 ` [Bug target/14907] bogus sign/zero extension when relaying parameters with regparm nmiell at comcast dot net
2004-04-10 14:59 [Bug optimization/14907] New: " cesarb at nitnet dot com dot br
2004-04-10 15:48 ` [Bug target/14907] " pinskia at gcc dot gnu dot org
2004-07-10  1:28 ` pinskia at gcc dot gnu dot org

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