/[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 849 by zherczeg, Tue Jan 3 17:49:03 2012 UTC revision 850 by zherczeg, Wed Jan 4 17:29:11 2012 UTC
# Line 1226  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_ Line 1226  SLJIT_API_FUNC_ATTRIBUTE int sljit_emit_
1226                          | reg_map[SLJIT_TEMPORARY_REG2]);                          | reg_map[SLJIT_TEMPORARY_REG2]);
1227          case SLJIT_UDIV:          case SLJIT_UDIV:
1228          case SLJIT_SDIV:          case SLJIT_SDIV:
1229                  FAIL_IF(push_inst32(compiler, 0xf84d2d04 /* str r2, [sp, #-4]! */));                  if (compiler->temporaries >= 4) {
1230                  FAIL_IF(push_inst32(compiler, 0xf84dcd04 /* str ip, [sp, #-4]! */));                          FAIL_IF(push_inst32(compiler, 0xf84d2d04 /* str r2, [sp, #-4]! */));
1231                            FAIL_IF(push_inst32(compiler, 0xf84dcd04 /* str ip, [sp, #-4]! */));
1232                    } else if (compiler->temporaries >= 3)
1233                            FAIL_IF(push_inst32(compiler, 0xf84d2d08 /* str r2, [sp, #-8]! */));
1234  #if defined(__GNUC__)  #if defined(__GNUC__)
1235                  FAIL_IF(sljit_emit_ijump(compiler, SLJIT_FAST_CALL, SLJIT_IMM,                  FAIL_IF(sljit_emit_ijump(compiler, SLJIT_FAST_CALL, SLJIT_IMM,
1236                          (op == SLJIT_UDIV ? SLJIT_FUNC_OFFSET(__aeabi_uidivmod) : SLJIT_FUNC_OFFSET(__aeabi_idivmod))));                          (op == SLJIT_UDIV ? SLJIT_FUNC_OFFSET(__aeabi_uidivmod) : SLJIT_FUNC_OFFSET(__aeabi_idivmod))));
1237  #else  #else
1238  #error "Software divmod functions are needed"  #error "Software divmod functions are needed"
1239  #endif  #endif
1240                  FAIL_IF(push_inst32(compiler, 0xf85dcb04 /* ldr ip, [sp], #4 */));                  if (compiler->temporaries >= 4) {
1241                  return push_inst32(compiler, 0xf85d2b04 /* ldr r2, [sp], #4 */);                          FAIL_IF(push_inst32(compiler, 0xf85dcb04 /* ldr ip, [sp], #4 */));
1242                            return push_inst32(compiler, 0xf85d2b04 /* ldr r2, [sp], #4 */);
1243                    } else if (compiler->temporaries >= 3)
1244                            return push_inst32(compiler, 0xf85d2b08 /* ldr r2, [sp], #8 */);
1245                    return SLJIT_SUCCESS;
1246          }          }
1247    
1248          return SLJIT_SUCCESS;          return SLJIT_SUCCESS;

Legend:
Removed from v.849  
changed lines
  Added in v.850

  ViewVC Help
Powered by ViewVC 1.1.5