This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/44900] The variable of SSE will be broken
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Jul 2010 11:39:03 -0000
- Subject: [Bug target/44900] The variable of SSE will be broken
- References: <bug-44900-19344@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from ubizjak at gmail dot com 2010-07-11 11:39 -------
For some reason, we got:
movl $0x41800000, 112(%esp)
movl $0x41700000, 116(%esp)
movl $0x41600000, 120(%esp)
movl $0x41500000, 124(%esp)
movl $0x41400000, 128(%esp)
movl $0x41300000, 132(%esp)
movl $0x41200000, 136(%esp)
movl $0x41100000, 140(%esp)
movl $0x41000000, 144(%esp)
movl $0x40e00000, 148(%esp)
movl $0x40c00000, 152(%esp)
movl $0x40a00000, 156(%esp)
movups 136(%esp), %xmm0
movaps %xmm0, 96(%esp)
movups 120(%esp), %xmm0
movaps %xmm0, 80(%esp)
movaps %xmm0, 160(%esp)
movaps 96(%esp), %xmm0
movaps %xmm0, 176(%esp)
>>> fldz
fstpl 60(%esp)
flds 184(%esp)
fstpl 52(%esp)
flds 180(%esp)
fstpl 44(%esp)
flds 176(%esp)
fstpl 36(%esp)
flds 172(%esp)
fstpl 28(%esp)
flds 168(%esp)
fstpl 20(%esp)
flds 164(%esp)
fstpl 12(%esp)
flds 160(%esp)
fstpl 4(%esp)
movl $.LC12, (%esp)
call printf
Changing fldz to "flds 188(%esp)" produces correct output.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44900