diff -urpN src/gdb/i386-tdep.c dev/gdb/i386-tdep.c --- src/gdb/i386-tdep.c 2008-01-27 06:30:37.000000000 +0100 +++ dev/gdb/i386-tdep.c 2008-02-18 21:26:40.000000000 +0100 @@ -96,16 +96,9 @@ i386_sse_regnum_p (struct gdbarch *gdbar { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); -#define I387_ST0_REGNUM tdep->st0_regnum -#define I387_NUM_XMM_REGS tdep->num_xmm_regs - - if (I387_NUM_XMM_REGS == 0) - return 0; - - return (I387_XMM0_REGNUM <= regnum && regnum < I387_MXCSR_REGNUM); - -#undef I387_ST0_REGNUM -#undef I387_NUM_XMM_REGS + /* True if REGNUM in [st0_regnum + 16, st0_regnum + 16 + num_xmm_regs). */ + return (regnum >= tdep->st0_regnum + 16 + && regnum < tdep->st0_regnum + 16 + tdep->num_xmm_regs); } static int