Revision: 1313
http://www.exim.org/viewvc/pcre2?view=rev&revision=1313
Author: zherczeg
Date: 2021-05-30 05:56:42 +0100 (Sun, 30 May 2021)
Log Message:
-----------
Minor improvement for s390x SIMD.
Modified Paths:
--------------
code/trunk/src/pcre2_jit_simd_inc.h
Modified: code/trunk/src/pcre2_jit_simd_inc.h
===================================================================
--- code/trunk/src/pcre2_jit_simd_inc.h 2021-05-27 08:11:15 UTC (rev 1312)
+++ code/trunk/src/pcre2_jit_simd_inc.h 2021-05-30 04:56:42 UTC (rev 1313)
@@ -1356,8 +1356,6 @@
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 @@
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[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 @@
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 @@
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[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[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[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[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);