diff --git a/implementation__detection_8h_source.html b/implementation__detection_8h_source.html
index b33d040ac..ee4759fca 100644
--- a/implementation__detection_8h_source.html
+++ b/implementation__detection_8h_source.html
@@ -119,110 +119,146 @@ $(document).ready(function(){initNavTree('implementation__detection_8h_source.ht
26 #ifndef SIMDJSON_IMPLEMENTATION_ARM64
27 #define SIMDJSON_IMPLEMENTATION_ARM64 (SIMDJSON_IS_ARM64)
- 29 #define SIMDJSON_CAN_ALWAYS_RUN_ARM64 SIMDJSON_IMPLEMENTATION_ARM64 && SIMDJSON_IS_ARM64
-
-
-
- 33 #ifndef SIMDJSON_IMPLEMENTATION_ICELAKE
- 34 #define SIMDJSON_IMPLEMENTATION_ICELAKE ((SIMDJSON_IS_X86_64) && (SIMDJSON_AVX512_ALLOWED) && (SIMDJSON_COMPILER_SUPPORTS_VBMI2))
-
-
-
-
-
- 40 #define SIMDJSON_CAN_ALWAYS_RUN_ICELAKE ((SIMDJSON_IMPLEMENTATION_ICELAKE) && (__AVX2__) && (__AVX512F__) && (__AVX512DQ__) && (__AVX512CD__) && (__AVX512BW__) && (__AVX512VL__) && (__AVX512VBMI2__))
-
- 42 #define SIMDJSON_CAN_ALWAYS_RUN_ICELAKE ((SIMDJSON_IMPLEMENTATION_ICELAKE) && (__AVX2__) && (__BMI__) && (__PCLMUL__) && (__LZCNT__) && (__AVX512F__) && (__AVX512DQ__) && (__AVX512CD__) && (__AVX512BW__) && (__AVX512VL__) && (__AVX512VBMI2__))
-
-
-
-
- 47 #ifndef SIMDJSON_IMPLEMENTATION_HASWELL
- 48 #if SIMDJSON_CAN_ALWAYS_RUN_ICELAKE
-
- 50 #define SIMDJSON_IMPLEMENTATION_HASWELL 0
-
- 52 #define SIMDJSON_IMPLEMENTATION_HASWELL SIMDJSON_IS_X86_64
-
-
-
-
-
- 58 #define SIMDJSON_CAN_ALWAYS_RUN_HASWELL ((SIMDJSON_IMPLEMENTATION_HASWELL) && (SIMDJSON_IS_X86_64) && (__AVX2__))
-
- 60 #define SIMDJSON_CAN_ALWAYS_RUN_HASWELL ((SIMDJSON_IMPLEMENTATION_HASWELL) && (SIMDJSON_IS_X86_64) && (__AVX2__) && (__BMI__) && (__PCLMUL__) && (__LZCNT__))
-
-
-
- 64 #ifndef SIMDJSON_IMPLEMENTATION_WESTMERE
- 65 #if SIMDJSON_CAN_ALWAYS_RUN_ICELAKE || SIMDJSON_CAN_ALWAYS_RUN_HASWELL
-
- 67 #define SIMDJSON_IMPLEMENTATION_WESTMERE 0
-
- 69 #define SIMDJSON_IMPLEMENTATION_WESTMERE SIMDJSON_IS_X86_64
-
-
- 72 #define SIMDJSON_CAN_ALWAYS_RUN_WESTMERE (SIMDJSON_IMPLEMENTATION_WESTMERE && SIMDJSON_IS_X86_64 && __SSE4_2__ && __PCLMUL__)
-
- 74 #ifndef SIMDJSON_IMPLEMENTATION_PPC64
- 75 #define SIMDJSON_IMPLEMENTATION_PPC64 (SIMDJSON_IS_PPC64 && SIMDJSON_IS_PPC64_VMX)
-
- 77 #define SIMDJSON_CAN_ALWAYS_RUN_PPC64 SIMDJSON_IMPLEMENTATION_PPC64 && SIMDJSON_IS_PPC64 && SIMDJSON_IS_PPC64_VMX
+ 29 #if SIMDJSON_IMPLEMENTATION_ARM64 && SIMDJSON_IS_ARM64
+ 30 #define SIMDJSON_CAN_ALWAYS_RUN_ARM64 1
+
+ 32 #define SIMDJSON_CAN_ALWAYS_RUN_ARM64 0
+
+
+
+
+ 37 #ifndef SIMDJSON_IMPLEMENTATION_ICELAKE
+ 38 #define SIMDJSON_IMPLEMENTATION_ICELAKE ((SIMDJSON_IS_X86_64) && (SIMDJSON_AVX512_ALLOWED) && (SIMDJSON_COMPILER_SUPPORTS_VBMI2))
+
+
+
+
+
+ 44 #if ((SIMDJSON_IMPLEMENTATION_ICELAKE) && (__AVX2__) && (__AVX512F__) && (__AVX512DQ__) && (__AVX512CD__) && (__AVX512BW__) && (__AVX512VL__) && (__AVX512VBMI2__))
+ 45 #define SIMDJSON_CAN_ALWAYS_RUN_ICELAKE 1
+
+ 47 #define SIMDJSON_CAN_ALWAYS_RUN_ICELAKE 0
+
+
+
+
+ 52 #if ((SIMDJSON_IMPLEMENTATION_ICELAKE) && (__AVX2__) && (__BMI__) && (__PCLMUL__) && (__LZCNT__) && (__AVX512F__) && (__AVX512DQ__) && (__AVX512CD__) && (__AVX512BW__) && (__AVX512VL__) && (__AVX512VBMI2__))
+ 53 #define SIMDJSON_CAN_ALWAYS_RUN_ICELAKE 1
+
+ 55 #define SIMDJSON_CAN_ALWAYS_RUN_ICELAKE 0
+
+
+
+
+
+
+ 62 #ifndef SIMDJSON_IMPLEMENTATION_HASWELL
+ 63 #if SIMDJSON_CAN_ALWAYS_RUN_ICELAKE
+
+ 65 #define SIMDJSON_IMPLEMENTATION_HASWELL 0
+
+ 67 #define SIMDJSON_IMPLEMENTATION_HASWELL SIMDJSON_IS_X86_64
+
+
+
+
+
+ 73 #if ((SIMDJSON_IMPLEMENTATION_HASWELL) && (SIMDJSON_IS_X86_64) && (__AVX2__))
+ 74 #define SIMDJSON_CAN_ALWAYS_RUN_HASWELL 1
+
+ 76 #define SIMDJSON_CAN_ALWAYS_RUN_HASWELL 0
+
- 79 #ifndef SIMDJSON_IMPLEMENTATION_LASX
- 80 #define SIMDJSON_IMPLEMENTATION_LASX (SIMDJSON_IS_LOONGARCH64 && __loongarch_asx)
-
- 82 #define SIMDJSON_CAN_ALWAYS_RUN_LASX (SIMDJSON_IMPLEMENTATION_LASX)
-
- 84 #ifndef SIMDJSON_IMPLEMENTATION_LSX
- 85 #if SIMDJSON_CAN_ALWAYS_RUN_LASX
- 86 #define SIMDJSON_IMPLEMENTATION_LSX 0
-
- 88 #define SIMDJSON_IMPLEMENTATION_LSX (SIMDJSON_IS_LOONGARCH64 && __loongarch_sx)
-
-
- 91 #define SIMDJSON_CAN_ALWAYS_RUN_LSX (SIMDJSON_IMPLEMENTATION_LSX)
-
-
- 94 #ifndef SIMDJSON_IMPLEMENTATION_FALLBACK
- 95 #if SIMDJSON_CAN_ALWAYS_RUN_ARM64 || SIMDJSON_CAN_ALWAYS_RUN_ICELAKE || SIMDJSON_CAN_ALWAYS_RUN_HASWELL || SIMDJSON_CAN_ALWAYS_RUN_WESTMERE || SIMDJSON_CAN_ALWAYS_RUN_PPC64 || SIMDJSON_CAN_ALWAYS_RUN_LSX || SIMDJSON_CAN_ALWAYS_RUN_LASX
-
- 97 #define SIMDJSON_IMPLEMENTATION_FALLBACK 0
-
- 99 #define SIMDJSON_IMPLEMENTATION_FALLBACK 1
-
-
- 102 #define SIMDJSON_CAN_ALWAYS_RUN_FALLBACK SIMDJSON_IMPLEMENTATION_FALLBACK
-
-
- 105 #ifndef SIMDJSON_BUILTIN_IMPLEMENTATION
-
- 107 #if SIMDJSON_CAN_ALWAYS_RUN_ICELAKE
- 108 #define SIMDJSON_BUILTIN_IMPLEMENTATION icelake
- 109 #elif SIMDJSON_CAN_ALWAYS_RUN_HASWELL
- 110 #define SIMDJSON_BUILTIN_IMPLEMENTATION haswell
- 111 #elif SIMDJSON_CAN_ALWAYS_RUN_WESTMERE
- 112 #define SIMDJSON_BUILTIN_IMPLEMENTATION westmere
- 113 #elif SIMDJSON_CAN_ALWAYS_RUN_ARM64
- 114 #define SIMDJSON_BUILTIN_IMPLEMENTATION arm64
- 115 #elif SIMDJSON_CAN_ALWAYS_RUN_PPC64
- 116 #define SIMDJSON_BUILTIN_IMPLEMENTATION ppc64
- 117 #elif SIMDJSON_CAN_ALWAYS_RUN_LSX
- 118 #define SIMDJSON_BUILTIN_IMPLEMENTATION lsx
- 119 #elif SIMDJSON_CAN_ALWAYS_RUN_LASX
- 120 #define SIMDJSON_BUILTIN_IMPLEMENTATION lasx
- 121 #elif SIMDJSON_CAN_ALWAYS_RUN_FALLBACK
- 122 #define SIMDJSON_BUILTIN_IMPLEMENTATION fallback
+
+
+ 81 #if ((SIMDJSON_IMPLEMENTATION_HASWELL) && (SIMDJSON_IS_X86_64) && (__AVX2__) && (__BMI__) && (__PCLMUL__) && (__LZCNT__))
+ 82 #define SIMDJSON_CAN_ALWAYS_RUN_HASWELL 1
+
+ 84 #define SIMDJSON_CAN_ALWAYS_RUN_HASWELL 0
+
+
+
+
+
+ 90 #ifndef SIMDJSON_IMPLEMENTATION_WESTMERE
+ 91 #if SIMDJSON_CAN_ALWAYS_RUN_ICELAKE || SIMDJSON_CAN_ALWAYS_RUN_HASWELL
+
+ 93 #define SIMDJSON_IMPLEMENTATION_WESTMERE 0
+
+ 95 #define SIMDJSON_IMPLEMENTATION_WESTMERE SIMDJSON_IS_X86_64
+
+
+
+ 99 #if (SIMDJSON_IMPLEMENTATION_WESTMERE && SIMDJSON_IS_X86_64 && __SSE4_2__ && __PCLMUL__)
+ 100 #define SIMDJSON_CAN_ALWAYS_RUN_WESTMERE 1
+
+ 102 #define SIMDJSON_CAN_ALWAYS_RUN_WESTMERE 0
+
+
+
+ 106 #ifndef SIMDJSON_IMPLEMENTATION_PPC64
+ 107 #define SIMDJSON_IMPLEMENTATION_PPC64 (SIMDJSON_IS_PPC64 && SIMDJSON_IS_PPC64_VMX)
+
+ 109 #if SIMDJSON_IMPLEMENTATION_PPC64 && SIMDJSON_IS_PPC64 && SIMDJSON_IS_PPC64_VMX
+ 110 #define SIMDJSON_CAN_ALWAYS_RUN_PPC64 1
+
+ 112 #define SIMDJSON_CAN_ALWAYS_RUN_PPC64 0
+
+
+ 115 #ifndef SIMDJSON_IMPLEMENTATION_LASX
+ 116 #define SIMDJSON_IMPLEMENTATION_LASX (SIMDJSON_IS_LOONGARCH64 && __loongarch_asx)
+
+ 118 #define SIMDJSON_CAN_ALWAYS_RUN_LASX (SIMDJSON_IMPLEMENTATION_LASX)
+
+ 120 #ifndef SIMDJSON_IMPLEMENTATION_LSX
+ 121 #if SIMDJSON_CAN_ALWAYS_RUN_LASX
+ 122 #define SIMDJSON_IMPLEMENTATION_LSX 0
- 124 #error "All possible implementations (including fallback) have been disabled! simdjson will not run."
+ 124 #define SIMDJSON_IMPLEMENTATION_LSX (SIMDJSON_IS_LOONGARCH64 && __loongarch_sx)
-
-
+
+ 127 #define SIMDJSON_CAN_ALWAYS_RUN_LSX (SIMDJSON_IMPLEMENTATION_LSX)
- 129 #define SIMDJSON_BUILTIN_IMPLEMENTATION_ID SIMDJSON_IMPLEMENTATION_ID_FOR(SIMDJSON_BUILTIN_IMPLEMENTATION)
- 130 #define SIMDJSON_BUILTIN_IMPLEMENTATION_IS(IMPL) SIMDJSON_BUILTIN_IMPLEMENTATION_ID == SIMDJSON_IMPLEMENTATION_ID_FOR(IMPL)
-
-
+
+ 130 #ifndef SIMDJSON_IMPLEMENTATION_FALLBACK
+ 131 #if SIMDJSON_CAN_ALWAYS_RUN_ARM64 || SIMDJSON_CAN_ALWAYS_RUN_ICELAKE || SIMDJSON_CAN_ALWAYS_RUN_HASWELL || SIMDJSON_CAN_ALWAYS_RUN_WESTMERE || SIMDJSON_CAN_ALWAYS_RUN_PPC64 || SIMDJSON_CAN_ALWAYS_RUN_LSX || SIMDJSON_CAN_ALWAYS_RUN_LASX
+
+ 133 #define SIMDJSON_IMPLEMENTATION_FALLBACK 0
+
+ 135 #define SIMDJSON_IMPLEMENTATION_FALLBACK 1
+
+
+ 138 #define SIMDJSON_CAN_ALWAYS_RUN_FALLBACK SIMDJSON_IMPLEMENTATION_FALLBACK
+
+
+ 141 #ifndef SIMDJSON_BUILTIN_IMPLEMENTATION
+
+ 143 #if SIMDJSON_CAN_ALWAYS_RUN_ICELAKE
+ 144 #define SIMDJSON_BUILTIN_IMPLEMENTATION icelake
+ 145 #elif SIMDJSON_CAN_ALWAYS_RUN_HASWELL
+ 146 #define SIMDJSON_BUILTIN_IMPLEMENTATION haswell
+ 147 #elif SIMDJSON_CAN_ALWAYS_RUN_WESTMERE
+ 148 #define SIMDJSON_BUILTIN_IMPLEMENTATION westmere
+ 149 #elif SIMDJSON_CAN_ALWAYS_RUN_ARM64
+ 150 #define SIMDJSON_BUILTIN_IMPLEMENTATION arm64
+ 151 #elif SIMDJSON_CAN_ALWAYS_RUN_PPC64
+ 152 #define SIMDJSON_BUILTIN_IMPLEMENTATION ppc64
+ 153 #elif SIMDJSON_CAN_ALWAYS_RUN_LSX
+ 154 #define SIMDJSON_BUILTIN_IMPLEMENTATION lsx
+ 155 #elif SIMDJSON_CAN_ALWAYS_RUN_LASX
+ 156 #define SIMDJSON_BUILTIN_IMPLEMENTATION lasx
+ 157 #elif SIMDJSON_CAN_ALWAYS_RUN_FALLBACK
+ 158 #define SIMDJSON_BUILTIN_IMPLEMENTATION fallback
+
+ 160 #error "All possible implementations (including fallback) have been disabled! simdjson will not run."
+
+
+
+
+ 165 #define SIMDJSON_BUILTIN_IMPLEMENTATION_ID SIMDJSON_IMPLEMENTATION_ID_FOR(SIMDJSON_BUILTIN_IMPLEMENTATION)
+ 166 #define SIMDJSON_BUILTIN_IMPLEMENTATION_IS(IMPL) SIMDJSON_BUILTIN_IMPLEMENTATION_ID == SIMDJSON_IMPLEMENTATION_ID_FOR(IMPL)
+
+