/[pcre]/code/trunk/sljit/sljitNativeARM_Thumb2.c
ViewVC logotype

Diff of /code/trunk/sljit/sljitNativeARM_Thumb2.c

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

revision 1181 by zherczeg, Sat Oct 20 21:33:38 2012 UTC revision 1182 by zherczeg, Sun Oct 28 05:22:32 2012 UTC
# Line 702  static int emit_op_imm(struct sljit_comp Line 702  static int emit_op_imm(struct sljit_comp
702          case SLJIT_MOV:          case SLJIT_MOV:
703          case SLJIT_MOV_UI:          case SLJIT_MOV_UI:
704          case SLJIT_MOV_SI:          case SLJIT_MOV_SI:
705            case SLJIT_MOV_P:
706          case SLJIT_MOVU:          case SLJIT_MOVU:
707          case SLJIT_MOVU_UI:          case SLJIT_MOVU_UI:
708          case SLJIT_MOVU_SI:          case SLJIT_MOVU_SI:
709            case SLJIT_MOVU_P:
710                  SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1);                  SLJIT_ASSERT(!(flags & SET_FLAGS) && arg1 == TMP_REG1);
711                  return push_inst16(compiler, MOV | SET_REGS44(dst, arg2));                  return push_inst16(compiler, MOV | SET_REGS44(dst, arg2));
712          case SLJIT_MOV_UB:          case SLJIT_MOV_UB:
# Line 1314  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_ Line 1316  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_
1316          op_type = GET_OPCODE(op);          op_type = GET_OPCODE(op);
1317          dst_r = (dst >= SLJIT_TEMPORARY_REG1 && dst <= SLJIT_NO_REGISTERS) ? dst : TMP_REG1;          dst_r = (dst >= SLJIT_TEMPORARY_REG1 && dst <= SLJIT_NO_REGISTERS) ? dst : TMP_REG1;
1318    
1319          if (op_type >= SLJIT_MOV && op_type <= SLJIT_MOVU_SI) {          if (op_type >= SLJIT_MOV && op_type <= SLJIT_MOVU_P) {
1320                  switch (op_type) {                  switch (op_type) {
1321                  case SLJIT_MOV:                  case SLJIT_MOV:
1322                  case SLJIT_MOV_UI:                  case SLJIT_MOV_UI:
1323                  case SLJIT_MOV_SI:                  case SLJIT_MOV_SI:
1324                    case SLJIT_MOV_P:
1325                          flags = WORD_SIZE;                          flags = WORD_SIZE;
1326                          break;                          break;
1327                  case SLJIT_MOV_UB:                  case SLJIT_MOV_UB:
1328                          flags = BYTE_SIZE;                          flags = BYTE_SIZE;
1329                          if (src & SLJIT_IMM)                          if (src & SLJIT_IMM)
1330                                  srcw = (unsigned char)srcw;                                  srcw = (sljit_ub)srcw;
1331                          break;                          break;
1332                  case SLJIT_MOV_SB:                  case SLJIT_MOV_SB:
1333                          flags = BYTE_SIZE | SIGNED;                          flags = BYTE_SIZE | SIGNED;
1334                          if (src & SLJIT_IMM)                          if (src & SLJIT_IMM)
1335                                  srcw = (signed char)srcw;                                  srcw = (sljit_b)srcw;
1336                          break;                          break;
1337                  case SLJIT_MOV_UH:                  case SLJIT_MOV_UH:
1338                          flags = HALF_SIZE;                          flags = HALF_SIZE;
1339                          if (src & SLJIT_IMM)                          if (src & SLJIT_IMM)
1340                                  srcw = (unsigned short)srcw;                                  srcw = (sljit_uh)srcw;
1341                          break;                          break;
1342                  case SLJIT_MOV_SH:                  case SLJIT_MOV_SH:
1343                          flags = HALF_SIZE | SIGNED;                          flags = HALF_SIZE | SIGNED;
1344                          if (src & SLJIT_IMM)                          if (src & SLJIT_IMM)
1345                                  srcw = (signed short)srcw;                                  srcw = (sljit_h)srcw;
1346                          break;                          break;
1347                  case SLJIT_MOVU:                  case SLJIT_MOVU:
1348                  case SLJIT_MOVU_UI:                  case SLJIT_MOVU_UI:
1349                  case SLJIT_MOVU_SI:                  case SLJIT_MOVU_SI:
1350                    case SLJIT_MOVU_P:
1351                          flags = WORD_SIZE | UPDATE;                          flags = WORD_SIZE | UPDATE;
1352                          break;                          break;
1353                  case SLJIT_MOVU_UB:                  case SLJIT_MOVU_UB:
1354                          flags = BYTE_SIZE | UPDATE;                          flags = BYTE_SIZE | UPDATE;
1355                          if (src & SLJIT_IMM)                          if (src & SLJIT_IMM)
1356                                  srcw = (unsigned char)srcw;                                  srcw = (sljit_ub)srcw;
1357                          break;                          break;
1358                  case SLJIT_MOVU_SB:                  case SLJIT_MOVU_SB:
1359                          flags = BYTE_SIZE | SIGNED | UPDATE;                          flags = BYTE_SIZE | SIGNED | UPDATE;
1360                          if (src & SLJIT_IMM)                          if (src & SLJIT_IMM)
1361                                  srcw = (signed char)srcw;                                  srcw = (sljit_b)srcw;
1362                          break;                          break;
1363                  case SLJIT_MOVU_UH:                  case SLJIT_MOVU_UH:
1364                          flags = HALF_SIZE | UPDATE;                          flags = HALF_SIZE | UPDATE;
1365                          if (src & SLJIT_IMM)                          if (src & SLJIT_IMM)
1366                                  srcw = (unsigned short)srcw;                                  srcw = (sljit_uh)srcw;
1367                          break;                          break;
1368                  case SLJIT_MOVU_SH:                  case SLJIT_MOVU_SH:
1369                          flags = HALF_SIZE | SIGNED | UPDATE;                          flags = HALF_SIZE | SIGNED | UPDATE;
1370                          if (src & SLJIT_IMM)                          if (src & SLJIT_IMM)
1371                                  srcw = (signed short)srcw;                                  srcw = (sljit_h)srcw;
1372                          break;                          break;
1373                  default:                  default:
1374                          SLJIT_ASSERT_STOP();                          SLJIT_ASSERT_STOP();

Legend:
Removed from v.1181  
changed lines
  Added in v.1182

  ViewVC Help
Powered by ViewVC 1.1.5