X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fx87.expect.c;fp=tests%2Fx87.expect.c;h=d114f10a43704ec42425a41650a324091581daf1;hb=d4a985bd88473515445c6f9f0ae51be9895b9d60;hp=0000000000000000000000000000000000000000;hpb=e7f5bc393577e0486826a9f913a2825d5c57a2f1;p=ia32rtools.git diff --git a/tests/x87.expect.c b/tests/x87.expect.c new file mode 100644 index 0000000..d114f10 --- /dev/null +++ b/tests/x87.expect.c @@ -0,0 +1,27 @@ +int sub_test(int a1, int a2) +{ + union { u32 d[8]; u8 b[32]; double q[4]; } sf; + u32 eax; + u32 edx; + double f_st0; + double f_st1; + + f_st0 = (double)(s32)sf.d[0]; // var_20 fild + f_st0 /= (double)(s32)a1; // arg_0 + f_st0 *= *((double *)(u32)&sf.q[1]); // var_18 + f_st1 = f_st0; + f_st0 = (double)(s32)sf.d[0]; // var_20 fild + f_st1 /= f_st0; + f_st0 = f_st1 + f_st0; + f_st1 = f_st0; + f_st0 = 1.0; + f_st0 = *((double *)(u32)&sf.q[1]) / f_st0; // var_18 + f_st1 = f_st0; + f_st0 = f_st1; // fld + *((double *)(u32)&sf.q[1]) = f_st0; + f_st0 = f_st1; // var_18 fst + *((float *)(u32)&sf.d[0]) = f_st0; // var_20 fst + eax = (s32)f_st0; // ftol + return eax; +} +