Hello, The attached patch adds two i386 specific register groups: +struct reggroup *i386_sse_reggroup; +struct reggroup *i386_mmx_reggroup; (hmm, I'll make them static :-) The registers are then distributed according to the attached output. I should note that the orig_eax register is only a member of the system, save and restore reggroups, and hence is no longer displayed by either `info registers' or `info all-registers'. If you're really desperate you can use the `maint print raw-registers` (which is in the manual :-) This ok? -- At a more general level, the current mechanism for adding register groups requires the architecture add all relevant groups explicitly vis: +static void +i386_add_reggroups (struct gdbarch *gdbarch) +{ + reggroup_add (gdbarch, i386_sse_reggroup); + reggroup_add (gdbarch, i386_mmx_reggroup); + reggroup_add (gdbarch, general_reggroup); + reggroup_add (gdbarch, float_reggroup); + reggroup_add (gdbarch, all_reggroup); + reggroup_add (gdbarch, save_reggroup); + reggroup_add (gdbarch, restore_reggroup); + reggroup_add (gdbarch, vector_reggroup); + reggroup_add (gdbarch, system_reggroup); +} this could be changed so that there is a standard pre-defined set, architectures only needing to add architecture specific groups. Thoughts? Andrew