5 double do_fsqrt ( double x
)
14 : /*in*/ "b" (&block
[0])
15 : /*trash*/ "memory", "fr1"
20 double do_fsqrts ( double x
)
26 "fsqrts %%f1,%%f1\n\t"
29 : /*in*/ "b" (&block
[0])
30 : /*trash*/ "memory", "fr1"
35 ////////////////////////////////////////////////////////////
37 void do_one ( char* name
,
39 double* args
, int nargs
,
40 char* argfmt
, char* resfmt
)
46 for (i
= 0; i
< nargs
; i
++) {
60 double* args
= malloc(nargs
* sizeof(double));
62 args
[1] = 1.0 / 0.0; // inf
63 args
[2] = -args
[1]; // -inf
64 args
[3] = args
[2]/args
[2]; // nan
65 args
[4] = -args
[3]; // -nan
81 do_one( "fsqrt", do_fsqrt
, args
, nargs
, "%e", "%20.14e");
82 do_one( "fsqrts", do_fsqrts
, args
, nargs
, "%e", "%e");