@@ -1806,14 +1806,16 @@ scan_identifier_ascii(const uint8_t *start, const uint8_t *end) {
18061806 // contains the OR of bits for all high nibbles that have an
18071807 // identifier character at that low nibble position. A byte is an
18081808 // identifier character iff (low_lut[lo] & high_lut[hi]) != 0.
1809- const uint8x16_t low_lut = (uint8x16_t) {
1809+ static const uint8_t low_lut_data[16] = {
18101810 0x15, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
18111811 0x1F, 0x1F, 0x1E, 0x0A, 0x0A, 0x0A, 0x0A, 0x0E
18121812 };
1813- const uint8x16_t high_lut = (uint8x16_t) {
1813+ static const uint8_t high_lut_data[16] = {
18141814 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x10,
18151815 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
18161816 };
1817+ const uint8x16_t low_lut = vld1q_u8(low_lut_data);
1818+ const uint8x16_t high_lut = vld1q_u8(high_lut_data);
18171819 const uint8x16_t mask_0f = vdupq_n_u8(0x0F);
18181820
18191821 while (cursor + 16 <= end) {
0 commit comments