Has anyone managed to compile the nvopencc 2.3 sources (available at ftp://download.nvidia.com/CUDAOpen64) using cygwin or mingw? There seem to be several compile targets that could be used, but all of them complain early on about needing Makefile.defs, which doesn’t exist.
All the documentation for this seems to be from 2006 or so.
(I’m interested in using a windows version of the compiler that can emit intrinsics for the mul24hi and add-with-carry opcodes, which are very handy for multiple precision arithmetic).
Sorry for the late response, I didn’t see your reply until now. I managed to get someone to help me and obtained windows binaries that included your patches. The high-half multiply works when inserted into my code, but the other instructions that make the carry bit visible to C code cause incorrect results. Maybe I used them incorrectly; does the compiler know that add-with-carry has setting of the carry bit as a side effect? If there are multiple such chains inside a basic block and the compiler interleaves them, it could account for the incorrect results.
Fortunately, the gcc front end allows inline asm syntax to be given to the compiler, although the generated code includes lots of useless register copies. Nvidia’s back-end compiler removes all of them, and the compiler preserves the ordering of asm blocks, so it’s possible to generate the instructions I want using an unpatched nvopencc (in an unsupported manner :)