|
@@ -108,39 +108,39 @@ static auto ScanForIdentifierPrefix(llvm::StringRef text) -> llvm::StringRef {
|
|
|
//
|
|
//
|
|
|
// bits 4-7 remain unused if we need to classify more characters.
|
|
// bits 4-7 remain unused if we need to classify more characters.
|
|
|
const auto high_lut = _mm_setr_epi8(
|
|
const auto high_lut = _mm_setr_epi8(
|
|
|
- /*0x0:*/ 0b0000'0000,
|
|
|
|
|
- /*0x1:*/ 0b0000'0000,
|
|
|
|
|
- /*0x2:*/ 0b0000'0000,
|
|
|
|
|
- /*0x3:*/ 0b0000'0010,
|
|
|
|
|
- /*0x4:*/ 0b0000'0100,
|
|
|
|
|
- /*0x5:*/ 0b0000'1001,
|
|
|
|
|
- /*0x6:*/ 0b0000'0100,
|
|
|
|
|
- /*0x7:*/ 0b0000'1000,
|
|
|
|
|
- /*0x8:*/ 0b0000'0000,
|
|
|
|
|
- /*0x9:*/ 0b0000'0000,
|
|
|
|
|
- /*0xA:*/ 0b0000'0000,
|
|
|
|
|
- /*0xB:*/ 0b0000'0000,
|
|
|
|
|
- /*0xC:*/ 0b0000'0000,
|
|
|
|
|
- /*0xD:*/ 0b0000'0000,
|
|
|
|
|
- /*0xE:*/ 0b0000'0000,
|
|
|
|
|
- /*0xF:*/ 0b0000'0000);
|
|
|
|
|
|
|
+ /* __b0=*/0b0000'0000,
|
|
|
|
|
+ /* __b1=*/0b0000'0000,
|
|
|
|
|
+ /* __b2=*/0b0000'0000,
|
|
|
|
|
+ /* __b3=*/0b0000'0010,
|
|
|
|
|
+ /* __b4=*/0b0000'0100,
|
|
|
|
|
+ /* __b5=*/0b0000'1001,
|
|
|
|
|
+ /* __b6=*/0b0000'0100,
|
|
|
|
|
+ /* __b7=*/0b0000'1000,
|
|
|
|
|
+ /* __b8=*/0b0000'0000,
|
|
|
|
|
+ /* __b9=*/0b0000'0000,
|
|
|
|
|
+ /*__b10=*/0b0000'0000,
|
|
|
|
|
+ /*__b11=*/0b0000'0000,
|
|
|
|
|
+ /*__b12=*/0b0000'0000,
|
|
|
|
|
+ /*__b13=*/0b0000'0000,
|
|
|
|
|
+ /*__b14=*/0b0000'0000,
|
|
|
|
|
+ /*__b15=*/0b0000'0000);
|
|
|
const auto low_lut = _mm_setr_epi8(
|
|
const auto low_lut = _mm_setr_epi8(
|
|
|
- /*0x0:*/ 0b0000'1010,
|
|
|
|
|
- /*0x1:*/ 0b0000'1110,
|
|
|
|
|
- /*0x2:*/ 0b0000'1110,
|
|
|
|
|
- /*0x3:*/ 0b0000'1110,
|
|
|
|
|
- /*0x4:*/ 0b0000'1110,
|
|
|
|
|
- /*0x5:*/ 0b0000'1110,
|
|
|
|
|
- /*0x6:*/ 0b0000'1110,
|
|
|
|
|
- /*0x7:*/ 0b0000'1110,
|
|
|
|
|
- /*0x8:*/ 0b0000'1110,
|
|
|
|
|
- /*0x9:*/ 0b0000'1110,
|
|
|
|
|
- /*0xA:*/ 0b0000'1100,
|
|
|
|
|
- /*0xB:*/ 0b0000'0100,
|
|
|
|
|
- /*0xC:*/ 0b0000'0100,
|
|
|
|
|
- /*0xD:*/ 0b0000'0100,
|
|
|
|
|
- /*0xE:*/ 0b0000'0100,
|
|
|
|
|
- /*0xF:*/ 0b0000'0101);
|
|
|
|
|
|
|
+ /* __b0=*/0b0000'1010,
|
|
|
|
|
+ /* __b1=*/0b0000'1110,
|
|
|
|
|
+ /* __b2=*/0b0000'1110,
|
|
|
|
|
+ /* __b3=*/0b0000'1110,
|
|
|
|
|
+ /* __b4=*/0b0000'1110,
|
|
|
|
|
+ /* __b5=*/0b0000'1110,
|
|
|
|
|
+ /* __b6=*/0b0000'1110,
|
|
|
|
|
+ /* __b7=*/0b0000'1110,
|
|
|
|
|
+ /* __b8=*/0b0000'1110,
|
|
|
|
|
+ /* __b9=*/0b0000'1110,
|
|
|
|
|
+ /*__b10=*/0b0000'1100,
|
|
|
|
|
+ /*__b11=*/0b0000'0100,
|
|
|
|
|
+ /*__b12=*/0b0000'0100,
|
|
|
|
|
+ /*__b13=*/0b0000'0100,
|
|
|
|
|
+ /*__b14=*/0b0000'0100,
|
|
|
|
|
+ /*__b15=*/0b0000'0101);
|
|
|
|
|
|
|
|
// Use `ssize_t` for performance here as we index memory in a tight loop.
|
|
// Use `ssize_t` for performance here as we index memory in a tight loop.
|
|
|
ssize_t i = 0;
|
|
ssize_t i = 0;
|