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

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

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

revision 836 by ph10, Wed Dec 28 17:16:11 2011 UTC revision 847 by zherczeg, Tue Jan 3 17:49:03 2012 UTC
# Line 821  static int emit_mov_int(struct sljit_com Line 821  static int emit_mov_int(struct sljit_com
821                          code = emit_x86_instruction(compiler, 1, dst_r, 0, src, srcw);                          code = emit_x86_instruction(compiler, 1, dst_r, 0, src, srcw);
822                          FAIL_IF(!code);                          FAIL_IF(!code);
823                          *code++ = 0x63;                          *code++ = 0x63;
824                  }                  } else if (dst_r == src) {
825                  else {                          compiler->mode32 = 0;
826                          if (dst_r == src) {                          code = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_IMM, 32, dst, 0);
827                                  compiler->mode32 = 1;                          FAIL_IF(!code);
828                                  code = emit_x86_instruction(compiler, 1, TMP_REGISTER, 0, src, 0);                          *code |= 0x4 << 3;
829                                  FAIL_IF(!code);                          code = emit_x86_instruction(compiler, 1 | EX86_SHIFT_INS, SLJIT_IMM, 32, dst, 0);
830                                  *code++ = 0x8b;                          FAIL_IF(!code);
831                                  compiler->mode32 = 0;                          *code |= 0x7 << 3;
832                          }                  } else {
833                          /* xor reg, reg. */                          /* xor reg, reg. */
834                          code = emit_x86_instruction(compiler, 1, dst_r, 0, dst_r, 0);                          code = emit_x86_instruction(compiler, 1, dst_r, 0, dst_r, 0);
835                          FAIL_IF(!code);                          FAIL_IF(!code);
836                          *code++ = 0x33;                          *code++ = 0x33;
837                          if (dst_r != src) {                          compiler->mode32 = 1;
838                                  compiler->mode32 = 1;                          code = emit_x86_instruction(compiler, 1, dst_r, 0, src, srcw);
839                                  code = emit_x86_instruction(compiler, 1, dst_r, 0, src, srcw);                          FAIL_IF(!code);
840                                  FAIL_IF(!code);                          *code++ = 0x8b;
841                                  *code++ = 0x8b;                          compiler->mode32 = 0;
                                 compiler->mode32 = 0;  
                         }  
                         else {  
                                 compiler->mode32 = 1;  
                                 code = emit_x86_instruction(compiler, 1, src, 0, TMP_REGISTER, 0);  
                                 FAIL_IF(!code);  
                                 *code++ = 0x8b;  
                                 compiler->mode32 = 0;  
                         }  
842                  }                  }
843          }          }
844    

Legend:
Removed from v.836  
changed lines
  Added in v.847

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12