Hello all, This is my first post! I'm already familiar with adding new intrinsics, and am familiar with several files: rtl.def - added new rtl types for new instructions simplify-rtx.c - return 0 in the simplify binary and simplify ternary operations for instructions with new rtl types i386.c - define new built-ins, expand new built-ins i386.h - added a new reg-class, defined new IX86_BUILTIN_* global defines i386.md - The lisp-type code that adds the new intrinsic
I'm using GCC 3.3.4, but I doubt this will have consequence for what we're trying to accomplish. What I need to do now is define a new register type, and take it through the whole prcess, just like an xmm register would (spilling, reload.c, recog.c, etc., the unchartered territory). I've already added the new type to i386.h, however, I think I'm missing something in the #define REG_CLASS_CONTENTS section. Could anyone point me to more documentation about what each bit means? We need to add a new register type, and extend the # of existing registers. Extending the # of a register seems easy, but it's unclear to me if it has been done right since I don't know what each bit set in the REG_CLASS_CONTENTS define is. >From then the next steps would be adding full support to incorporate using the new type in intrinsics, etc. Any help would be appreciated tons! Tyler __________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com