translate: float: stack mode and some more ops
[ia32rtools.git] / tests / x87_f.expect.c
diff --git a/tests/x87_f.expect.c b/tests/x87_f.expect.c
new file mode 100644 (file)
index 0000000..b943c96
--- /dev/null
@@ -0,0 +1,17 @@
+int sub_test()
+{
+  union { u32 d[1]; u8 b[4]; } sf;
+  u32 eax;
+  u32 edx;
+  float f_st0;
+  float f_st1;
+
+  sf.d[0] = 4;  // var_4
+  f_st0 = (float)(s32)sf.d[0];  // var_4 fild
+  f_st1 = f_st0;  f_st0 = (float)(s32)sf.d[0];  // var_4 fild
+  f_st0 = sqrtf(f_st0);
+  f_st0 = atanf(f_st1 / f_st0);
+  eax = (s32)f_st0;  // ftol
+  return eax;
+}
+