From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <9c9d07436eff1c038450ca310ea13a7a@plan9.jp> To: 9fans@cse.psu.edu From: Joel Salomon Date: Tue, 20 Feb 2007 18:55:31 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Subject: [9fans] NaN(2) Content-Transfer-Encoding: quoted-printable Topicbox-Message-UUID: 118bd238-ead2-11e9-9d60-3106f5b1d025 My system doesn=E2=80=99t seem to like it when I call NaN(2): cpu% cat tnan.c #include #include void main(int, char**) { double d =3D NaN(); print("d =3D %f\n", d); exits(0); } cpu% 8c -FVw tnan.c cpu% 8l tnan.8 cpu% 8.out 8.out 55798: suicide: sys: fp: invalid operation fppc=3D0x10a4 status=3D0= x8081 pc=3D0x00001028 cpu% acid 55798 /proc/55798/text:386 plan 9 executable /sys/lib/acid/port /sys/lib/acid/386 acid: stk() main()+0x8 /usr/chesky/src/hak/lex/tnan.c:7 _main+0x31 /sys/src/libc/386/main9.s:16 acid: asm(main) main 0x00001020 SUBL $0x1c,SP main+0x3 0x00001023 CALL NaN(SB) main+0x8 0x00001028 FMOVDP F0,d+0x14(SP) =E2=80=A6 Why is this happening? Also, what is Intel=E2=80=99s name for the FMOVDP instruction? --Joel