/[gxemul]/trunk/src/cpus/cpu_alpha_instr.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/src/cpus/cpu_alpha_instr.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 41 by dpavlin, Mon Oct 8 16:21:17 2007 UTC revision 42 by dpavlin, Mon Oct 8 16:22:32 2007 UTC
# Line 25  Line 25 
25   *  SUCH DAMAGE.   *  SUCH DAMAGE.
26   *   *
27   *   *
28   *  $Id: cpu_alpha_instr.c,v 1.15 2006/12/30 13:30:53 debug Exp $   *  $Id: cpu_alpha_instr.c,v 1.16 2007/06/05 03:15:01 debug Exp $
29   *   *
30   *  Alpha instructions.   *  Alpha instructions.
31   *   *
# Line 953  X(to_be_translated) Line 953  X(to_be_translated)
953                  case 0xcd: ic->f = instr(cmplt_imm); break;                  case 0xcd: ic->f = instr(cmplt_imm); break;
954                  case 0xed: ic->f = instr(cmple_imm); break;                  case 0xed: ic->f = instr(cmple_imm); break;
955    
956                  default:fatal("[ Alpha: unimplemented function 0x%03x for"                  default:if (!cpu->translation_readahead)
957                              " opcode 0x%02x ]\n", func, opcode);                                  fatal("[ Alpha: unimplemented function 0x%03x "
958                                        "for opcode 0x%02x ]\n", func, opcode);
959                          goto bad;                          goto bad;
960                  }                  }
961                  break;                  break;
# Line 1005  X(to_be_translated) Line 1006  X(to_be_translated)
1006                  case 0xe4: ic->f = instr(cmovle_imm); break;                  case 0xe4: ic->f = instr(cmovle_imm); break;
1007                  case 0xe6: ic->f = instr(cmovgt_imm); break;                  case 0xe6: ic->f = instr(cmovgt_imm); break;
1008                  case 0xec: ic->f = instr(implver); break;                  case 0xec: ic->f = instr(implver); break;
1009                  default:fatal("[ Alpha: unimplemented function 0x%03x for"                  default:if (!cpu->translation_readahead)
1010                              " opcode 0x%02x ]\n", func, opcode);                                  fatal("[ Alpha: unimplemented function 0x%03x "
1011                                        "for opcode 0x%02x ]\n", func, opcode);
1012                          goto bad;                          goto bad;
1013                  }                  }
1014                  break;                  break;
# Line 1074  X(to_be_translated) Line 1076  X(to_be_translated)
1076                  case 0xf2: ic->f = instr(mskqh_imm); break;                  case 0xf2: ic->f = instr(mskqh_imm); break;
1077                  case 0xf7: ic->f = instr(insqh_imm); break;                  case 0xf7: ic->f = instr(insqh_imm); break;
1078                  case 0xfa: ic->f = instr(extqh_imm); break;                  case 0xfa: ic->f = instr(extqh_imm); break;
1079                  default:fatal("[ Alpha: unimplemented function 0x%03x for"                  default:if (!cpu->translation_readahead)
1080                              " opcode 0x%02x ]\n", func, opcode);                                  fatal("[ Alpha: unimplemented function 0x%03x "
1081                                        "for opcode 0x%02x ]\n", func, opcode);
1082                          goto bad;                          goto bad;
1083                  }                  }
1084                  break;                  break;
# Line 1094  X(to_be_translated) Line 1097  X(to_be_translated)
1097                  case 0x00: ic->f = instr(mull); break;                  case 0x00: ic->f = instr(mull); break;
1098                  case 0x20: ic->f = instr(mulq); break;                  case 0x20: ic->f = instr(mulq); break;
1099                  case 0x30: ic->f = instr(umulh); break;                  case 0x30: ic->f = instr(umulh); break;
1100                  default:fatal("[ Alpha: unimplemented function 0x%03x for"                  default:if (!cpu->translation_readahead)
1101                              " opcode 0x%02x ]\n", func, opcode);                                  fatal("[ Alpha: unimplemented function 0x%03x "
1102                                        "for opcode 0x%02x ]\n", func, opcode);
1103                          goto bad;                          goto bad;
1104                  }                  }
1105                  break;                  break;
# Line 1117  X(to_be_translated) Line 1121  X(to_be_translated)
1121                  case 0x0a6: ic->f = instr(cmptlt); break;                  case 0x0a6: ic->f = instr(cmptlt); break;
1122                  case 0x0a7: ic->f = instr(cmptle); break;                  case 0x0a7: ic->f = instr(cmptle); break;
1123                  case 0x0be: ic->f = instr(cvtqt); break;                  case 0x0be: ic->f = instr(cvtqt); break;
1124                  default:fatal("[ Alpha: unimplemented function 0x%03x for"                  default:if (!cpu->translation_readahead)
1125                              " opcode 0x%02x ]\n", func, opcode);                                  fatal("[ Alpha: unimplemented function 0x%03x "
1126                                        "for opcode 0x%02x ]\n", func, opcode);
1127                          goto bad;                          goto bad;
1128                  }                  }
1129                  break;                  break;
# Line 1141  X(to_be_translated) Line 1146  X(to_be_translated)
1146                  case 0x021:                  case 0x021:
1147                          ic->f = instr(fneg);                          ic->f = instr(fneg);
1148                          break;                          break;
1149                  default:fatal("[ Alpha: unimplemented function 0x%03x for"                  default:if (!cpu->translation_readahead)
1150                              " opcode 0x%02x ]\n", func, opcode);                                  fatal("[ Alpha: unimplemented function 0x%03x "
1151                                        "for opcode 0x%02x ]\n", func, opcode);
1152                          goto bad;                          goto bad;
1153                  }                  }
1154                  break;                  break;
# Line 1160  X(to_be_translated) Line 1166  X(to_be_translated)
1166                          ic->arg[0] = (size_t) &cpu->cd.alpha.r[ra];                          ic->arg[0] = (size_t) &cpu->cd.alpha.r[ra];
1167                          ic->f = instr(rdcc);                          ic->f = instr(rdcc);
1168                          break;                          break;
1169                  default:fatal("[ Alpha: unimplemented function 0x%03x for"                  default:if (!cpu->translation_readahead)
1170                              " opcode 0x%02x ]\n", func, opcode);                                  fatal("[ Alpha: unimplemented function 0x%03x "
1171                                        "for opcode 0x%02x ]\n", func, opcode);
1172                          goto bad;                          goto bad;
1173                  }                  }
1174                  break;                  break;
# Line 1185  X(to_be_translated) Line 1192  X(to_be_translated)
1192                                          ic->f = instr(jsr);                                          ic->f = instr(jsr);
1193                          }                          }
1194                          break;                          break;
1195                  default:fatal("[ Alpha: unimpl JSR type %i, ra=%i rb=%i ]\n",                  default:if (!cpu->translation_readahead)
1196                              ((iword >> 14) & 3), ra, rb);                                  fatal("[ Alpha: unimpl JSR type %i, ra=%i "
1197                                        "rb=%i ]\n", ((iword >> 14) & 3), ra, rb);
1198                          goto bad;                          goto bad;
1199                  }                  }
1200                  break;                  break;
# Line 1277  X(to_be_translated) Line 1285  X(to_be_translated)
1285                          }                          }
1286                  }                  }
1287                  break;                  break;
1288          default:fatal("[ UNIMPLEMENTED Alpha opcode 0x%x ]\n", opcode);          default:if (!cpu->translation_readahead)
1289                            fatal("[ UNIMPLEMENTED Alpha opcode 0x%x ]\n", opcode);
1290                  goto bad;                  goto bad;
1291          }          }
1292    

Legend:
Removed from v.41  
changed lines
  Added in v.42

  ViewVC Help
Powered by ViewVC 1.1.26