Move some conversion functions (IEEE double <-> x87 extended-real
format) into their own module, so they can be shared by the x86 and
amd64 front ends.



git-svn-id: svn://svn.valgrind.org/vex/trunk@1097 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/Makefile b/Makefile
index 5c260fe..5b06d76 100644
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,7 @@
 		priv/host-generic/h_generic_simd64.h	\
 		priv/main/vex_globals.h			\
 		priv/main/vex_util.h			\
+		priv/guest-generic/g_generic_x87.h	\
 		priv/guest-x86/gdefs.h			\
 		priv/guest-amd64/gdefs.h		\
 		priv/guest-arm/gdefs.h			\
@@ -42,6 +43,7 @@
 		priv/host-generic/h_generic_regs.o	\
 		priv/host-generic/h_generic_simd64.o	\
 		priv/host-generic/reg_alloc2.o		\
+		priv/guest-generic/g_generic_x87.o	\
 		priv/guest-x86/ghelpers.o		\
 		priv/guest-amd64/ghelpers.o		\
 		priv/guest-arm/ghelpers.o		\
@@ -66,7 +68,7 @@
 		$(EXTRA_CFLAGS)
 
 #CC = icc
-#CCFLAGS = -g -Wall -wd981 -wd279 -wd1287 -wd869 -wd111 -wd188
+#CCFLAGS = -g -Wall -wd981 -wd279 -wd1287 -wd869 -wd111 -wd188 -wd186
 # 981: operands are evaluated in unspecified order
 # 279: controlling expression is constant
 # 1287: invalid attribute for parameter
@@ -74,6 +76,7 @@
 # 111: statement is unreachable
 # 188: enumerated type mixed with another type
 # (the above are for icc 8.0 -- 8.0.0.55 I think)
+# 186: pointless comparison of unsigned integer with zero
 
 
 all: vex
@@ -196,6 +199,10 @@
 	$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/toIR.o \
 					 -c priv/guest-x86/toIR.c
 
+priv/guest-generic/g_generic_x87.o: $(ALL_HEADERS) priv/guest-generic/g_generic_x87.c
+	$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-generic/g_generic_x87.o \
+					 -c priv/guest-generic/g_generic_x87.c
+
 priv/guest-x86/ghelpers.o: $(ALL_HEADERS) priv/guest-x86/ghelpers.c
 	$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/ghelpers.o \
 					 -c priv/guest-x86/ghelpers.c