jnp Assembler

Thomas Kuehne thomas-dloop at kuehne.cn
Tue Jun 5 11:42:00 PDT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Manfred Hansen schrieb am 2007-06-05:
> Hello,
>
> the following programm runs with dmd but didn't with gdc .
>  
> import tango.io.Stdout;
>
> real sin(real x)
> {
>         asm {
>                 fld x;
>                 fsin;
>                 sahf;
>                 jnp Lret;
>         }
>         end:
>                 return real.nan;
>         Lret:
>                 ;
> }
> void main() {
>         real r = sin(1);
>         Stdout(r);
> }
>
> hansen at hansen-lx:~/dd/tango$ rebuild fsin_gdc.d
> ./nmd_fsin_gdc.o: In function `_D8fsin_gdc3sinFeZe':
> fsin_gdc.d:(.text+0xe): undefined reference to `.LDASM1'
> collect2: ld returned 1 exit status
>
> I think the problem is the "jnp Lret; command.

[snip]

> Is a jump outside the asm block not possible with gdc?

http://d.puremagic.com/issues/show_bug.cgi?id=747

Thomas

-----BEGIN PGP SIGNATURE-----

iQIVAwUBRmW6xbZlboUnBhRKAQJGwxAApWAAuAFHXzZpn1LDmp1XqOWs78mhLx8w
kIhVoZa5pEQmL6eyAgNDqHlowDqwEkjtaGZzIjIFDKKpEoBm9mchRxUOJ3GUDp1a
ITzSJwCM6qMN2kQZot63ZKPr+2myudSWpZfZ+xAyXlguTq/953KW23Olrdf3UhaP
dI3Vf97V0TwC7cwG6NZoXlaUs4Xl7/zcch9V3/C7+hc2SSFIxJo2C1FHrSe6qmWQ
f5i20MnHs8zL76QxWfkYNlDWrrgXgI7xOg1ZM0sAQHna29KbZ3uDHRXhAxdDHv+s
mnirfXEqao2bSIBgYap6XwtU+dkR5lYFgtC4I5bxUnzqos0d8RQNve0nW8GBueWq
8PjkDSo71Oyvd7Kh5SRZ3lvQT9gHEvGCj/U9ts7uAsJ40UMGHAGdh8YA1TeE1jdo
J3PjJKz156x1H5ysdwPX6twXM5RBgFC7Xv0HlBpGnWHfgKUh8e/xSuIC+TnZoyXk
PrO8OwiTWmHoY0pMww1c29W2BxgfKzzBSaBgZDp2dGu1iyrQZY916FV/3AQD5C0u
5wMdG8vEAdAComcdsSxqAkzWZCh51WFluMfbaHi6aOY/rBTYOE1bPlwklm3C/Cru
dOFsM7V8LIz9TGCwVuSASW2+kbBsE1fSC4g6DFK+HQe2B23GlenB595RJwXr7Y+9
n90LyfbDbjk=
=p6Ml
-----END PGP SIGNATURE-----


More information about the D.gnu mailing list