DragonFly bugs List (threaded) for 2004-02
Re: bad register name `%sil'
:YONETANI Tomokazu wrote:
:> 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?
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.