[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2025-03-12 Thread fw at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 --- Comment #15 from Florian Weimer --- (In reply to Jakub Jelinek from comment #14) > > I think this means that the implementation of f must extend (if needed) > > because g did not sign-extend or zero-extend. > > If I read your psABI change r

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2025-03-12 Thread fw at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 Florian Weimer changed: What|Removed |Added CC||fw at gcc dot gnu.org --- Comment #11 f

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2025-03-12 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 --- Comment #14 from Jakub Jelinek --- (In reply to Florian Weimer from comment #13) > (In reply to Jakub Jelinek from comment #12) > > (In reply to Florian Weimer from comment #11) > > > The ABI document was updated: > > > > > > Clarify the uns

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2025-03-12 Thread fw at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 --- Comment #13 from Florian Weimer --- (In reply to Jakub Jelinek from comment #12) > (In reply to Florian Weimer from comment #11) > > The ABI document was updated: > > > > Clarify the unspecified nature of excess bits in INTEGER type argument

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2025-03-12 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 --- Comment #12 from Jakub Jelinek --- (In reply to Florian Weimer from comment #11) > The ABI document was updated: > > Clarify the unspecified nature of excess bits in INTEGER type arguments >

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2015-09-16 Thread foom at fuhm dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 James Y Knight changed: What|Removed |Added CC||foom at fuhm dot net --- Comment #10 fr

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2012-03-07 Thread meadori at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 Meador Inge changed: What|Removed |Added CC||meadori at gmail dot com --- Comment #9 fro

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2011-04-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 Richard Guenther changed: What|Removed |Added Target Milestone|4.6.1 |---

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2011-03-25 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 Jakub Jelinek changed: What|Removed |Added Target Milestone|4.6.0 |4.6.1 --- Comment #8 from Jakub Jelinek

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2011-01-03 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 --- Comment #7 from H.J. Lu 2011-01-03 14:23:05 UTC --- For void f1(char c, char d, char e, char f, char g, char h, char i); char x; void f2() { f1(x, x, x, x, x, x, x); } ICC generates this assembly, where we only sto

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2011-01-02 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 --- Comment #6 from H.J. Lu 2011-01-02 20:53:12 UTC --- (In reply to comment #5) > And upper 32 bits are undefined if the argument is 8/16/32 bit (i.e. callee > must sign/zero extend, instead of caller)? If callee wants 64bit, it has to sign/zer

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2011-01-02 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 --- Comment #5 from Jakub Jelinek 2011-01-02 19:01:58 UTC --- And upper 32 bits are undefined if the argument is 8/16/32 bit (i.e. callee must sign/zero extend, instead of caller)?

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2011-01-02 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 H.J. Lu changed: What|Removed |Added Target Milestone|--- |4.6.0

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2011-01-02 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 H.J. Lu changed: What|Removed |Added Depends on||42324 --- Comment #4 from H.J. Lu 2011-01-02 1

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2010-12-16 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 Richard Guenther changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2010-12-14 Thread joseph at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 --- Comment #2 from joseph at codesourcery dot com 2010-12-14 17:26:11 UTC --- If the conclusion is that the callee can rely on the caller having done the extension then you need to watch out for security issues in the kernel syscall ABI when bu

[Bug target/46942] x86_64 parameter passing unnecessary sign/zero extends

2010-12-14 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46942 --- Comment #1 from Jakub Jelinek 2010-12-14 17:13:19 UTC --- __attribute__((noinline, noclone)) unsigned long f1 (unsigned int a, int b, unsigned short c, short d, unsigned char e, signed char f) { return (unsigned long) a + b + c + d + e + f;