This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/39910] New: [4.5 regression] i386: Error: suffix or operands invalid for `fidivr'
- From: "gerald at pfeifer dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Apr 2009 14:55:15 -0000
- Subject: [Bug target/39910] New: [4.5 regression] i386: Error: suffix or operands invalid for `fidivr'
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Building Wine started to fail on i386-unknown-freebsd7.1 with the
following failure mode:
...gcc -c -I. -I. -I../../include -I../../include
-D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing
-Wdeclaration-after-statement -Wwrite-strings -Wtype-limits -Wpointer-arith
-I/usr/local/include -g -O2 -o graphics.o graphics.c
{standard input}: Assembler messages:
{standard input}:7118: Error: suffix or operands invalid for `fidivr'
{standard input}:7123: Error: suffix or operands invalid for `fidivr'
gmake[2]: *** [graphics.o] Error 1
gmake[2]: Leaving directory `/usr/test/Wine/dlls/gdiplus'
gmake[1]: *** [gdiplus] Error 2
gmake[1]: Leaving directory `/usr/test/Wine/dlls'
gmake: *** [dlls] Error 2
The assembly code in question is:
.loc 1 1023 0
movl (%esi), %eax
movl 16(%ebp), %edx
filds 14(%edx)
fidivrw 6(%edx) <-- here
fstps 12(%eax)
.loc 1 1024 0
movl (%esi), %eax
filds 14(%edx)
fidivrw 10(%edx) <-- here
fstps 16(%eax)
.loc 1 1025 0
Sadly, FreeBSD still uses gas 2.15; still, this is a regression.
--
Summary: [4.5 regression] i386: Error: suffix or operands invalid
for `fidivr'
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gerald at pfeifer dot com
GCC host triplet: i386-unknown-freebsd7.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39910