www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/07/17/16:57:22

From: Mat Hostetter <iclone!mjhostet AT cs DOT unm DOT edu>
Date: Sat, 17 Jul 93 14:11:08 -0600
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: "fldt" doesn't seem to work under emu387 or wm-emu387
Cc: apm233m AT vaxc DOT cc DOT monash DOT edu DOT au

Under both emu387 and wm-emu387, "fldt" seems to silently fail.   
Specifically, it doesn't seem to actually push a value on the FP  
stack, which right now is causing me to get a stack underflow error.   
"fldl" works.  Here is a small test program:


int
main ()
{
	static unsigned char n[10];
	double x;
	
#ifdef CAUSE_STACK_UNDERFLOW
	asm volatile ("fldt %1" : "=t" (x) : "m" (n[0]));
#else
	asm volatile ("fldl %1" : "=t" (x) : "m" (n[0]));
#endif
	return (int) x;
}


I also have reason to believe that "fstpt" is silently ignored,  
eventually causing stack overflow errors; I can cook up a test case  
for that if anyone wants one.

Thanks!

-Mat

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019