[Bug optimization/10904] [Sparc64] invalid (misaligned) FP register
ebotcazou@gcc.gnu.org
gcc-bugzilla@gcc.gnu.org
Thu May 22 10:42:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10904
ebotcazou@gcc.gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Priority|P1 |P3
Summary|[3.3/3.4 regression] [Sparc]|[Sparc64] invalid
|invalid (misaligned) FP |(misaligned) FP register
|register |
------- Additional Comments From ebotcazou@gcc.gnu.org 2003-05-22 10:12 -------
Um, no, this is actually a progression: the code emitted by GCC 3.2.1, 3.2.2 and
3.2.3 is wrong:
fdtox %f4, %f2
st %f2, [%fp+2027]
ld [%fp+2027], %o0
sra %o0, 0, %l1
We should have
st %f3, [%fp+2027]
because of the big-endianness of Sparc CPUs.
With 3.3 we have:
fdtox %f10, %f7
st %f8, [%fp+2027]
ld [%fp+2027], %g1
sra %g1, 0, %l1
That's slighty better because we correctly take the lower SI part of a DI value.
But:
fdtox %f10, %f7
is illegal because %f7 in an odd FP register.
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
More information about the Gcc-bugs
mailing list