public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug target/21981] __m64 return value should be returned in %mm0 [not found] <20050609125635.21981.uros@kss-loka.si> @ 2005-06-09 14:16 ` pinskia at gcc dot gnu dot org 2005-06-09 16:14 ` gcc-bugzilla at gcc dot gnu dot org ` (6 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: pinskia at gcc dot gnu dot org @ 2005-06-09 14:16 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-09 14:16 ------- Confirmed, ICC returns it in %mm0. Note this is the testcase which I used: #include <mmintrin.h> __m64 aaa (__m64 x, __m64 y) { __m64 mm1; mm1 = _mm_add_pi8 (x, y); return mm1; } int main() { __m64 mm0; __m64 mm1; union ttt { __m64 mm; char x[8]; } temp; temp.mm = aaa (mm0, mm1); printf ("%i\n", temp.x[0]); return 0; } -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed| |1 Keywords| |wrong-code Last reconfirmed|0000-00-00 00:00:00 |2005-06-09 14:16:35 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21981 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/21981] __m64 return value should be returned in %mm0 [not found] <20050609125635.21981.uros@kss-loka.si> 2005-06-09 14:16 ` [Bug target/21981] __m64 return value should be returned in %mm0 pinskia at gcc dot gnu dot org @ 2005-06-09 16:14 ` gcc-bugzilla at gcc dot gnu dot org 2005-06-10 12:12 ` uros at kss-loka dot si ` (5 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: gcc-bugzilla at gcc dot gnu dot org @ 2005-06-09 16:14 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From gcc-bugzilla at gcc dot gnu dot org 2005-06-09 16:11 ------- Subject: New: __m64 return value should be returned in %mm0 Calling convetions for x86 specify that __m64 values should be returned in %mm0 MMX register [1]. Gcc returns __m64 values on stack. The testcase: --cut here-- #include <mmintrin.h> __v8qi aaa (__v8qi x, __v8qi y) { __v8qi mm1; mm1 = _mm_add_pi8 (x, y); return mm1; } int main() { __v8qi mm0 = { 1,2,3,4,5,6,7,8 }; __v8qi mm1 = { 11,12,13,14,15,16,17,18 }; union ttt { __v8qi mm; char x[8]; } temp; temp.mm = aaa (mm0, mm1); printf ("%i\n", temp.x[0]); return 0; } --cut here-- will produce: aaa: pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax paddb %mm1, %mm0 movq %mm0, (%eax) <<<<-- %mm0 goes to memory popl %ebp ret $4 main: pushl %ebp movl %esp, %ebp subl $24, %esp andl $-16, %esp subl $16, %esp leal -8(%ebp), %eax movl %eax, (%esp) movq .LC0, %mm1 movq .LC1, %mm0 call aaa movsbl -8(%ebp),%eax <<<<-- return value taken from memory subl $4, %esp movl %eax, 4(%esp) movl $.LC2, (%esp) call printf xorl %eax, %eax leave ret [1] http://www.agner.org/assem/calling_conventions.pdf -- Summary: __m64 return value should be returned in %mm0 Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: uros at kss-loka dot si CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21981 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21981 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/21981] __m64 return value should be returned in %mm0 [not found] <20050609125635.21981.uros@kss-loka.si> 2005-06-09 14:16 ` [Bug target/21981] __m64 return value should be returned in %mm0 pinskia at gcc dot gnu dot org 2005-06-09 16:14 ` gcc-bugzilla at gcc dot gnu dot org @ 2005-06-10 12:12 ` uros at kss-loka dot si 2005-06-10 21:45 ` cvs-commit at gcc dot gnu dot org ` (4 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: uros at kss-loka dot si @ 2005-06-10 12:12 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |uros at kss-loka dot si |dot org | URL| |http://gcc.gnu.org/ml/gcc- | |patches/2005- | |06/msg00953.html Status|NEW |ASSIGNED Last reconfirmed|2005-06-09 14:16:35 |2005-06-10 12:12:31 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21981 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/21981] __m64 return value should be returned in %mm0 [not found] <20050609125635.21981.uros@kss-loka.si> ` (2 preceding siblings ...) 2005-06-10 12:12 ` uros at kss-loka dot si @ 2005-06-10 21:45 ` cvs-commit at gcc dot gnu dot org 2005-06-21 12:09 ` uros at kss-loka dot si ` (3 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: cvs-commit at gcc dot gnu dot org @ 2005-06-10 21:45 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-06-10 21:45 ------- Subject: Bug 21981 CVSROOT: /cvs/gcc Module name: gcc Changes by: rth@gcc.gnu.org 2005-06-10 21:45:15 Modified files: gcc : ChangeLog gcc/config/i386: i386.c Log message: PR target/21981 * config/i386/i386.c (ix86_function_value_regno_p): Return true for FIRST_MMX_REG if TARGET_MMX. (ix86_return_in_memory): Return 1 for MMX/3dNow vectors. Delete wrong comment. (ix86_struct_value_rtx): Emit warning for MMX ABI violations. (ix86_value_regno): Return FIRST_MMX_REG for MMX vector modes. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9122&r2=2.9123 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.828&r2=1.829 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21981 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/21981] __m64 return value should be returned in %mm0 [not found] <20050609125635.21981.uros@kss-loka.si> ` (3 preceding siblings ...) 2005-06-10 21:45 ` cvs-commit at gcc dot gnu dot org @ 2005-06-21 12:09 ` uros at kss-loka dot si 2005-07-27 22:30 ` [Bug target/21981] [4.0 only] " pinskia at gcc dot gnu dot org ` (2 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: uros at kss-loka dot si @ 2005-06-21 12:09 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From uros at kss-loka dot si 2005-06-21 12:09 ------- Fixed on mailine for 4.1.0, what about branches? -- What |Removed |Added ---------------------------------------------------------------------------- Known to fail|3.2.3 3.3.3 3.4.0 4.0.0 |3.2.3 3.3.3 3.4.0 4.0.0 |4.1.0 | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21981 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/21981] [4.0 only] __m64 return value should be returned in %mm0 [not found] <20050609125635.21981.uros@kss-loka.si> ` (4 preceding siblings ...) 2005-06-21 12:09 ` uros at kss-loka dot si @ 2005-07-27 22:30 ` pinskia at gcc dot gnu dot org 2005-09-05 15:25 ` jakub at gcc dot gnu dot org 2005-09-27 16:24 ` mmitchel at gcc dot gnu dot org 7 siblings, 0 replies; 9+ messages in thread From: pinskia at gcc dot gnu dot org @ 2005-07-27 22:30 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- Summary|__m64 return value should |[4.0 only] __m64 return |be returned in %mm0 |value should be returned in | |%mm0 Target Milestone|--- |4.0.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21981 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/21981] [4.0 only] __m64 return value should be returned in %mm0 [not found] <20050609125635.21981.uros@kss-loka.si> ` (5 preceding siblings ...) 2005-07-27 22:30 ` [Bug target/21981] [4.0 only] " pinskia at gcc dot gnu dot org @ 2005-09-05 15:25 ` jakub at gcc dot gnu dot org 2005-09-27 16:24 ` mmitchel at gcc dot gnu dot org 7 siblings, 0 replies; 9+ messages in thread From: jakub at gcc dot gnu dot org @ 2005-09-05 15:25 UTC (permalink / raw) To: gcc-bugs ------- Additional Comments From jakub at gcc dot gnu dot org 2005-09-05 15:24 ------- I don't think this should go to the branches. It is an ABI change, which shouldn't IMO happen between x.y.z and x.y.z+1. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21981 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/21981] [4.0 only] __m64 return value should be returned in %mm0 [not found] <20050609125635.21981.uros@kss-loka.si> ` (6 preceding siblings ...) 2005-09-05 15:25 ` jakub at gcc dot gnu dot org @ 2005-09-27 16:24 ` mmitchel at gcc dot gnu dot org 7 siblings, 0 replies; 9+ messages in thread From: mmitchel at gcc dot gnu dot org @ 2005-09-27 16:24 UTC (permalink / raw) To: gcc-bugs -- What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|4.0.2 |4.0.3 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21981 ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <bug-21981-1649@http.gcc.gnu.org/bugzilla/>]
* [Bug target/21981] [4.0 only] __m64 return value should be returned in %mm0 [not found] <bug-21981-1649@http.gcc.gnu.org/bugzilla/> @ 2005-10-05 16:12 ` uros at kss-loka dot si 0 siblings, 0 replies; 9+ messages in thread From: uros at kss-loka dot si @ 2005-10-05 16:12 UTC (permalink / raw) To: gcc-bugs ------- Comment #6 from uros at kss-loka dot si 2005-10-05 16:11 ------- According to comment #5, closed as WONTFIX on branches. -- uros at kss-loka dot si changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21981 ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2005-10-05 16:12 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20050609125635.21981.uros@kss-loka.si> 2005-06-09 14:16 ` [Bug target/21981] __m64 return value should be returned in %mm0 pinskia at gcc dot gnu dot org 2005-06-09 16:14 ` gcc-bugzilla at gcc dot gnu dot org 2005-06-10 12:12 ` uros at kss-loka dot si 2005-06-10 21:45 ` cvs-commit at gcc dot gnu dot org 2005-06-21 12:09 ` uros at kss-loka dot si 2005-07-27 22:30 ` [Bug target/21981] [4.0 only] " pinskia at gcc dot gnu dot org 2005-09-05 15:25 ` jakub at gcc dot gnu dot org 2005-09-27 16:24 ` mmitchel at gcc dot gnu dot org [not found] <bug-21981-1649@http.gcc.gnu.org/bugzilla/> 2005-10-05 16:12 ` uros at kss-loka dot si
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).