if (reg_nr == PSEUDO_BANK_REGNUM) regcache_raw_read (regcache, BANK_REGNUM, buffer); else
sh_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache,			 int reg_nr, void *buffer){  int base_regnum, portion;  char temp_buffer[MAX_REGISTER_SIZE];  if (reg_nr >= DR0_REGNUM && reg_nr <= DR_LAST_REGNUM)    {      base_regnum = dr_reg_base_num (reg_nr);      /* Build the value in the provided buffer. */      /* Read the real regs for which this one is an alias.  */      for (portion = 0; portion < 2; portion++)	regcache_raw_read (regcache, base_regnum + portion,			   (temp_buffer			    + register_size (gdbarch,					     base_regnum) * portion));      /* We must pay attention to the endiannes. */      sh_register_convert_to_virtual (reg_nr,				      gdbarch_register_type (gdbarch, reg_nr),				      temp_buffer, buffer);    }  else if (reg_nr >= FV0_REGNUM && reg_nr <= FV_LAST_REGNUM)    {      base_regnum = fv_reg_base_num (reg_nr);      /* Read the real regs for which this one is an alias.  */      for (portion = 0; portion < 4; portion++)	regcache_raw_read (regcache, base_regnum + portion,			   ((char *) buffer			    + register_size (gdbarch,					     base_regnum) * portion));    }}