DragonFly BSD
DragonFly bugs List (threaded) for 2004-02
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: bad register name `%sil'


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 13 Feb 2004 10:19:46 -0800 (PST)

: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@xxxxxxxxxxxxx>



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]