Skip to content

Commit d5e178a

Browse files
committed
Fix x86 (32-bit) build; TMP3 can't be used as a source register
1 parent 60a83f3 commit d5e178a

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/pcre2_jit_compile.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13783,17 +13783,17 @@ if (common->has_set_som &&
1378313783
struct sljit_jump *bad_som_ahead;
1378413784
struct sljit_jump *fallthrough;
1378513785

13786-
OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(0));
13787-
OP1(SLJIT_MOV, TMP2, 0, STR_PTR, 0); /* STR_PTR, since OVECTOR(1) hasn't been populated yet */
1378813786
if (HAS_VIRTUAL_REGISTERS)
1378913787
{
13790-
OP1(SLJIT_MOV, TMP3, 0, ARGUMENTS, 0);
13791-
OP1(SLJIT_MOV, TMP3, 0, SLJIT_MEM1(TMP3), SLJIT_OFFSETOF(jit_arguments, str));
13788+
OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0);
13789+
OP1(SLJIT_MOV, TMP3, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, str));
1379213790
}
1379313791
else
1379413792
{
1379513793
OP1(SLJIT_MOV, TMP3, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, str));
1379613794
}
13795+
OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(0));
13796+
OP1(SLJIT_MOV, TMP2, 0, STR_PTR, 0); /* STR_PTR, since OVECTOR(1) hasn't been populated yet */
1379713797

1379813798
bad_som_behind = CMP(SLJIT_LESS, TMP1, 0, TMP3, 0); /* (ovector[0] < jit_arguments->str)? */
1379913799
bad_som_ahead = CMP(SLJIT_GREATER, TMP1, 0, TMP2, 0); /* (ovector[0] > ovector[1])? */

0 commit comments

Comments
 (0)