bad register name `%sil'
Matthew Dillon
dillon at apollo.backplane.com
Fri Feb 13 10:20:34 PST 2004
:YONETANI Tomokazu wrote:
:
:> Hello.
:> Is our gcc3 known to produce a bad code when '-O -march=pentium4'
:> are specified? This is from buildkernel(sorry, very long lines):
:>
:> cc -c -O -pipe -march=pentium4 -Wall -Wredundant-decls -Wnested-externs
:> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline
:> -Wcast-qual -fformat-extensions -ansi -g -nostdinc -I.
:...
:matt, how do you feel about this?
:
:Rob
It's a bug in our inline assembly. %sil is not an AMD64 register per
say, it's simply GCC trying to access the 'low byte' of the %si
register. This is only legal to do on %ax, %bx, %cx, or %dx. So
FreeBSD's solution is the correct one.
I'll commit a fix once I check compatibility with some other things
FreeBSD has done in 5.x that I might want to also use.
-Matt
Matthew Dillon
<dillon at xxxxxxxxxxxxx>
More information about the Bugs
mailing list