Hi, I'm submitting this patch for approval to commit. fp.cxx and fp.h have existed in the sid/component/cgen-cpu directory for a while, but as far as I can tell, they have not been used. I'm working on an internal port which requires simulation of accurate floating point support, and so, I've cleaned up these files and created two new source files, cgen-fpu.cxx and cgen-fpu.h, in sid/component/cgen-cpu which add support for the semantic code which CGEN already generates to the cgen-cpu components. The two new sources are analogous to sim/common/cgen-accfp.c and implement the fpu as a virtual class defining operations on objects of type f as defined in fp.cxx and fp.h. Not all operations have been implemented (only the ones I needed), but the remaining operations have at least been prototyped and implementation should be straight forward as the need for them arises (similar to cgen-ops.h). The changes to fp.cxx and fp.h were mainly to virtualize the class in order to allow for implementation-defined and non-standard behaviors (tested by my internal port). Some clean up was also done and several bugs were fixed. Dave