diff options
author | zherczeg <zherczeg@6239d852-aaf2-0410-a92c-79f79f948069> | 2021-05-30 04:56:42 +0000 |
---|---|---|
committer | zherczeg <zherczeg@6239d852-aaf2-0410-a92c-79f79f948069> | 2021-05-30 04:56:42 +0000 |
commit | cf7c3257bccfee145698e913f50159c8d48ba550 (patch) | |
tree | db112ac0bbd89db70582c26d3b8f4df52f0cea8a | |
parent | 1376f89edfb2d1f692f96c6e871f27a18759be39 (diff) | |
download | pcre2-cf7c3257bccfee145698e913f50159c8d48ba550.tar.gz |
Minor improvement for s390x SIMD.
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@1313 6239d852-aaf2-0410-a92c-79f79f948069
-rw-r--r-- | src/pcre2_jit_simd_inc.h | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/src/pcre2_jit_simd_inc.h b/src/pcre2_jit_simd_inc.h index 5fd97b1..aa029cc 100644 --- a/src/pcre2_jit_simd_inc.h +++ b/src/pcre2_jit_simd_inc.h @@ -1356,8 +1356,6 @@ else sljit_emit_op_custom(compiler, instruction, 6); } -/* TODO: use sljit_set_current_flags */ - /* VLGVB */ instruction[0] = (sljit_u16)(0xe700 | (tmp1_reg_ind << 4) | data_ind); instruction[1] = 7; @@ -1403,7 +1401,8 @@ else sljit_emit_op_custom(compiler, instruction, 6); } -/* TODO: use sljit_set_current_flags */ +sljit_set_current_flags(compiler, SLJIT_SET_OVERFLOW); +JUMPTO(SLJIT_OVERFLOW, start); /* VLGVB */ instruction[0] = (sljit_u16)(0xe700 | (tmp1_reg_ind << 4) | data_ind); @@ -1411,8 +1410,6 @@ instruction[1] = 7; instruction[2] = (sljit_u16)((0x4 << 8) | 0x21); sljit_emit_op_custom(compiler, instruction, 6); -CMPTO(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 16, start); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0); JUMPHERE(quit); @@ -1549,8 +1546,6 @@ else sljit_emit_op_custom(compiler, instruction, 6); } -/* TODO: use sljit_set_current_flags */ - /* VLGVB */ instruction[0] = (sljit_u16)(0xe700 | (tmp3_reg_ind << 4) | data_ind); instruction[1] = 7; @@ -1594,7 +1589,8 @@ else sljit_emit_op_custom(compiler, instruction, 6); } -/* TODO: use sljit_set_current_flags */ +sljit_set_current_flags(compiler, SLJIT_SET_OVERFLOW); +JUMPTO(SLJIT_OVERFLOW, start); /* VLGVB */ instruction[0] = (sljit_u16)(0xe700 | (tmp3_reg_ind << 4) | data_ind); @@ -1602,8 +1598,6 @@ instruction[1] = 7; instruction[2] = (sljit_u16)((0x4 << 8) | 0x21); sljit_emit_op_custom(compiler, instruction, 6); -CMPTO(SLJIT_GREATER_EQUAL, TMP3, 0, SLJIT_IMM, 16, start); - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP3, 0); JUMPHERE(quit); @@ -1778,8 +1772,6 @@ instruction[1] = (sljit_u16)((zero_ind << 12) | (1 << 4)); instruction[2] = (sljit_u16)((0xe << 8) | 0x81); sljit_emit_op_custom(compiler, instruction, 6); -/* TODO: use sljit_set_current_flags */ - /* VLGVB */ instruction[0] = (sljit_u16)(0xe700 | (tmp1_reg_ind << 4) | data1_ind); instruction[1] = 7; @@ -1819,7 +1811,8 @@ instruction[1] = (sljit_u16)((zero_ind << 12) | (1 << 4)); instruction[2] = (sljit_u16)((0xe << 8) | 0x81); sljit_emit_op_custom(compiler, instruction, 6); -/* TODO: use sljit_set_current_flags */ +sljit_set_current_flags(compiler, SLJIT_SET_OVERFLOW); +JUMPTO(SLJIT_OVERFLOW, start); /* VLGVB */ instruction[0] = (sljit_u16)(0xe700 | (tmp2_reg_ind << 4) | data1_ind); @@ -1827,8 +1820,6 @@ instruction[1] = 7; instruction[2] = (sljit_u16)((0x4 << 8) | 0x21); sljit_emit_op_custom(compiler, instruction, 6); -CMPTO(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 16, start); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP2, 0); JUMPHERE(quit); |