OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [gas/] [config/] [tc-sparc.c] - Diff between revs 16 and 160

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 16 Rev 160
Line 771... Line 771...
  {"set_softint", 20},
  {"set_softint", 20},
  {"pic", 17},
  {"pic", 17},
  {"pcr", 16},
  {"pcr", 16},
  {"gsr", 19},
  {"gsr", 19},
  {"dcr", 18},
  {"dcr", 18},
 
  {"cps", 28},
  {"clear_softint", 21},
  {"clear_softint", 21},
  {"", -1},                     /* End marker.  */
  {"", -1},                     /* End marker.  */
};
};
 
 
static int
static int
Line 2134... Line 2135...
 
 
            case 'f':
            case 'f':
            case 'B':
            case 'B':
            case 'R':
            case 'R':
 
 
 
            case '4':
 
            case '5':
 
 
            case 'g':
            case 'g':
            case 'H':
            case 'H':
            case 'J':
            case 'J':
              {
              {
                char format;
                char format;
Line 2151... Line 2155...
                        mask = 10 * mask + (*s - '0');
                        mask = 10 * mask + (*s - '0');
                      }         /* read the number */
                      }         /* read the number */
 
 
                    if ((*args == 'v'
                    if ((*args == 'v'
                         || *args == 'B'
                         || *args == 'B'
 
                         || *args == '5'
                         || *args == 'H')
                         || *args == 'H')
                        && (mask & 1))
                        && (mask & 1))
                      {
                      {
                        break;
                        break;
                      }         /* register must be even numbered */
                      }         /* register must be even numbered */
Line 2212... Line 2217...
                  case 'B':
                  case 'B':
                  case 'R':
                  case 'R':
                    opcode |= RS2 (mask);
                    opcode |= RS2 (mask);
                    continue;
                    continue;
 
 
 
                  case '4':
 
                  case '5':
 
                    opcode |= RS3 (mask);
 
                    continue;
 
 
                  case 'g':
                  case 'g':
                  case 'H':
                  case 'H':
                  case 'J':
                  case 'J':
                    opcode |= RD (mask);
                    opcode |= RD (mask);
                    continue;
                    continue;
Line 2231... Line 2241...
                  s += 4;
                  s += 4;
                  continue;
                  continue;
                }
                }
              break;
              break;
 
 
 
            case '(':
 
              if (strncmp (s, "%efsr", 5) == 0)
 
                {
 
                  s += 5;
 
                  continue;
 
                }
 
              break;
 
 
            case '0':           /* 64 bit immediate (set, setsw, setx insn)  */
            case '0':           /* 64 bit immediate (set, setsw, setx insn)  */
              the_insn.reloc = BFD_RELOC_NONE; /* reloc handled elsewhere  */
              the_insn.reloc = BFD_RELOC_NONE; /* reloc handled elsewhere  */
              goto immediate;
              goto immediate;
 
 
            case 'l':           /* 22 bit PC relative immediate  */
            case 'l':           /* 22 bit PC relative immediate  */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.