]> git.proxmox.com Git - qemu.git/commitdiff
more fpu functions
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 23 Jan 2005 20:44:55 +0000 (20:44 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 23 Jan 2005 20:44:55 +0000 (20:44 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1233 c046a42c-6fe2-441c-8c8c-71466251a162

target-i386/exec.h

index 1923b95ee4d2ddb82915897fc786481a7b52e215..404457eba130544e9200b3b561262898130478cb 100644 (file)
@@ -142,6 +142,44 @@ extern int loglevel;
 #include "cpu.h"
 #include "exec-all.h"
 
+/* XXX: add a generic FPU library */
+
+static inline double float32_to_float64(float a)
+{
+    return a;
+}
+
+static inline float float64_to_float32(double a)
+{
+    return a;
+}
+
+#if defined(__powerpc__)
+/* better to call an helper on ppc */
+float int32_to_float32(int32_t a);
+double int32_to_float64(int32_t a);
+#else
+static inline float int32_to_float32(int32_t a)
+{
+    return (float)a;
+}
+
+static inline double int32_to_float64(int32_t a)
+{
+    return (double)a;
+}
+#endif
+
+static inline float int64_to_float32(int64_t a)
+{
+    return (float)a;
+}
+
+static inline double int64_to_float64(int64_t a)
+{
+    return (double)a;
+}
+
 typedef struct CCTable {
     int (*compute_all)(void); /* return all the flags */
     int (*compute_c)(void);  /* return the C flag */
@@ -559,6 +597,7 @@ void restore_native_fp_state(CPUState *env);
 void save_native_fp_state(CPUState *env);
 float approx_rsqrt(float a);
 float approx_rcp(float a);
+double helper_sqrt(double a);
 int fpu_isnan(double a);
 
 extern const uint8_t parity_table[256];