Commit 145ddb8104
Changed files (61)
deps
aro
aro
Attribute
char_info
Diagnostics
toolchains
backend
build
Builtins
codegen
deps/aro/Attribute/names.def → deps/aro/aro/Attribute/names.def
@@ -1,18 +1,18 @@
# multiple
deprecated
.tag = .deprecated
- .c2x = true
+ .c23 = true
.gnu = true
.declspec = true
fallthrough
.tag = .fallthrough
- .c2x = true
+ .c23 = true
.gnu = true
noreturn
.tag = .@"noreturn"
- .c2x = true
+ .c23 = true
.gnu = true
.declspec = true
@@ -26,22 +26,22 @@ noinline
.gnu = true
.declspec = true
-# c2x only
+# c23 only
nodiscard
.tag = .nodiscard
- .c2x = true
+ .c23 = true
reproducible
.tag = .reproducible
- .c2x = true
+ .c23 = true
unsequenced
.tag = .unsequenced
- .c2x = true
+ .c23 = true
maybe_unused
.tag = .unused
- .c2x = true
+ .c23 = true
# gnu only
access
deps/aro/Builtins/Builtin.def → deps/aro/aro/Builtins/Builtin.def
File renamed without changes
deps/aro/Builtins/Properties.zig → deps/aro/aro/Builtins/Properties.zig
File renamed without changes
deps/aro/Builtins/TypeDescription.zig → deps/aro/aro/Builtins/TypeDescription.zig
File renamed without changes
deps/aro/aro/char_info/identifier_tables.zig
@@ -0,0 +1,627 @@
+//! Adapted from the `unicode-ident` crate: https://github.com/dtolnay/unicode-ident
+//! and Unicode Standard Annex #31 https://www.unicode.org/reports/tr31/
+//! Licensed under the MIT License and the Unicode license
+
+pub const chunk = 64;
+
+pub const trie_start: [402]u8 align(8) = .{
+ 0x04, 0x0B, 0x0F, 0x13, 0x17, 0x1B, 0x1F, 0x23, 0x27, 0x2D, 0x31, 0x34, 0x38, 0x3C, 0x40, 0x02,
+ 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x4D, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x51, 0x54, 0x58, 0x5C, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x09, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x60, 0x64, 0x66,
+ 0x6A, 0x6E, 0x72, 0x28, 0x76, 0x78, 0x7C, 0x80, 0x84, 0x88, 0x8C, 0x90, 0x94, 0x98, 0x9E, 0xA2,
+ 0x05, 0x2B, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x99, 0x05, 0x05, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0xB1, 0x00, 0xB5, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x32, 0x05, 0x05, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x43, 0xBB, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC8, 0x00, 0x00, 0x00, 0xAF,
+ 0xCE, 0xD2, 0xD6, 0xBC, 0xDA, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0xE0, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x52, 0xE3, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0xE6, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0xE1, 0x05, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x05, 0xEB, 0x00, 0x00,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0xE4, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0xE7,
+};
+
+pub const trie_continue: [1793]u8 align(8) = .{
+ 0x08, 0x0D, 0x11, 0x15, 0x19, 0x1D, 0x21, 0x25, 0x2A, 0x2F, 0x31, 0x36, 0x3A, 0x3E, 0x42, 0x02,
+ 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x4F, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x51, 0x56, 0x5A, 0x5E, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x09, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x62, 0x64, 0x68,
+ 0x6C, 0x70, 0x74, 0x28, 0x76, 0x7A, 0x7E, 0x82, 0x86, 0x8A, 0x8E, 0x92, 0x96, 0x9B, 0xA0, 0xA4,
+ 0x05, 0x2B, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x99, 0x05, 0x05, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0xAE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0xB3, 0x00, 0xB7, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x32, 0x05, 0x05, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x43, 0xBB, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA9, 0xAC, 0xC4, 0xC6, 0xCA, 0x00, 0xCC, 0x00, 0xAF,
+ 0xD0, 0xD4, 0xD8, 0xBC, 0xDC, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0xE0, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x52, 0xE3, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0xE6, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0xE1, 0x05, 0xE9, 0x00, 0x00, 0x00, 0x00, 0x05, 0xEB, 0x00, 0x00,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0xE4, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xC2,
+};
+
+pub const leaf: [7584]u8 align(64) = .{
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F, 0xFF, 0xAA, 0xFF, 0xFF, 0xFF, 0x3F,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x5F, 0xDC, 0x1F, 0xCF, 0x0F, 0xFF, 0x1F, 0xDC, 0x1F,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x04, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xA0, 0x04, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xFF, 0x7F, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0x03, 0x00, 0x1F, 0x50, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0xB8,
+ 0x40, 0xD7, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0x03, 0x00, 0x1F, 0x50, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xB8,
+ 0xC0, 0xD7, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x03, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0x02, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x87, 0x07, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFB, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0x02, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x01, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xB6, 0x00, 0xFF, 0xFF, 0xFF, 0x87, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0xC0, 0xFE, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F, 0x00, 0x60, 0xC0, 0x00, 0x9C,
+ 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x02, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x07, 0x30, 0x04,
+ 0x00, 0x00, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x9F, 0xFF, 0xFD, 0xFF, 0x9F,
+ 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x24,
+ 0xFF, 0xFF, 0x3F, 0x04, 0x10, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0x07, 0xFF, 0xFF,
+ 0xFF, 0x7E, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x23, 0x00, 0x00, 0x01, 0xFF, 0x03, 0x00, 0xFE, 0xFF,
+ 0xE1, 0x9F, 0xF9, 0xFF, 0xFF, 0xFD, 0xC5, 0x23, 0x00, 0x40, 0x00, 0xB0, 0x03, 0x00, 0x03, 0x10,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x07, 0xFF, 0xFF,
+ 0xFF, 0x7E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0xFF,
+ 0xEF, 0x9F, 0xF9, 0xFF, 0xFF, 0xFD, 0xC5, 0xF3, 0x9F, 0x79, 0x80, 0xB0, 0xCF, 0xFF, 0x03, 0x50,
+ 0xE0, 0x87, 0xF9, 0xFF, 0xFF, 0xFD, 0x6D, 0x03, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x1C, 0x00,
+ 0xE0, 0xBF, 0xFB, 0xFF, 0xFF, 0xFD, 0xED, 0x23, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x02,
+ 0xE0, 0x9F, 0xF9, 0xFF, 0xFF, 0xFD, 0xED, 0x23, 0x00, 0x00, 0x00, 0xB0, 0x03, 0x00, 0x02, 0x00,
+ 0xE8, 0xC7, 0x3D, 0xD6, 0x18, 0xC7, 0xFF, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xEE, 0x87, 0xF9, 0xFF, 0xFF, 0xFD, 0x6D, 0xD3, 0x87, 0x39, 0x02, 0x5E, 0xC0, 0xFF, 0x3F, 0x00,
+ 0xEE, 0xBF, 0xFB, 0xFF, 0xFF, 0xFD, 0xED, 0xF3, 0xBF, 0x3B, 0x01, 0x00, 0xCF, 0xFF, 0x00, 0xFE,
+ 0xEE, 0x9F, 0xF9, 0xFF, 0xFF, 0xFD, 0xED, 0xF3, 0x9F, 0x39, 0xE0, 0xB0, 0xCF, 0xFF, 0x02, 0x00,
+ 0xEC, 0xC7, 0x3D, 0xD6, 0x18, 0xC7, 0xFF, 0xC3, 0xC7, 0x3D, 0x81, 0x00, 0xC0, 0xFF, 0x00, 0x00,
+ 0xE0, 0xDF, 0xFD, 0xFF, 0xFF, 0xFD, 0xFF, 0x23, 0x00, 0x00, 0x00, 0x27, 0x03, 0x00, 0x00, 0x00,
+ 0xE1, 0xDF, 0xFD, 0xFF, 0xFF, 0xFD, 0xEF, 0x23, 0x00, 0x00, 0x00, 0x60, 0x03, 0x00, 0x06, 0x00,
+ 0xF0, 0xDF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0x27, 0x00, 0x40, 0x70, 0x80, 0x03, 0x00, 0x00, 0xFC,
+ 0xE0, 0xFF, 0x7F, 0xFC, 0xFF, 0xFF, 0xFB, 0x2F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xDF, 0xFD, 0xFF, 0xFF, 0xFD, 0xFF, 0xF3, 0xDF, 0x3D, 0x60, 0x27, 0xCF, 0xFF, 0x00, 0x00,
+ 0xEF, 0xDF, 0xFD, 0xFF, 0xFF, 0xFD, 0xEF, 0xF3, 0xDF, 0x3D, 0x60, 0x60, 0xCF, 0xFF, 0x0E, 0x00,
+ 0xFF, 0xDF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x7D, 0xF0, 0x80, 0xCF, 0xFF, 0x00, 0xFC,
+ 0xEE, 0xFF, 0x7F, 0xFC, 0xFF, 0xFF, 0xFB, 0x2F, 0x7F, 0x84, 0x5F, 0xFF, 0xC0, 0xFF, 0x0C, 0x00,
+ 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xD6, 0xF7, 0xFF, 0xFF, 0xAF, 0xFF, 0x05, 0x20, 0x5F, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00,
+ 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0x7F, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0xD6, 0xF7, 0xFF, 0xFF, 0xAF, 0xFF, 0xFF, 0x3F, 0x5F, 0x7F, 0xFF, 0xF3, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x03, 0xFF, 0x03, 0xA0, 0xC2, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x1F, 0xFE, 0xFF,
+ 0xDF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x1F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x80, 0x00, 0x00, 0x3F, 0x3C, 0x62, 0xC0, 0xE1, 0xFF,
+ 0x03, 0x40, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0x00, 0x00, 0x00,
+ 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3D, 0x7F, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0x3D, 0x7F, 0x3D, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3D, 0x7F, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0x3D, 0x7F, 0x3D, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x00, 0xFE, 0x03, 0x00,
+ 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F,
+ 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF,
+ 0xFE, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF, 0x01,
+ 0xFF, 0xFF, 0x03, 0x80, 0xFF, 0xFF, 0x03, 0x00, 0xFF, 0xFF, 0x03, 0x00, 0xFF, 0xDF, 0x01, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF,
+ 0xFE, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF, 0x01,
+ 0xFF, 0xFF, 0x3F, 0x80, 0xFF, 0xFF, 0x1F, 0x00, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xDF, 0x0D, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x30, 0xFF, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xB8, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x0F, 0xFF, 0x0F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0x7F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xE0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xF8, 0xFF, 0xFF, 0xFF, 0x01, 0xC0, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x9F,
+ 0xFF, 0x03, 0xFF, 0x03, 0x80, 0x00, 0xFF, 0xBF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0x03, 0x00, 0xF8, 0x0F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x3F,
+ 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x6F, 0x04,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xE3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F,
+ 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x00, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x07,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x04, 0x00, 0x00, 0x00, 0x27, 0x00, 0xF0, 0x00, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80,
+ 0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x84, 0xFC, 0x2F, 0x3F, 0x50, 0xFD, 0xFF, 0xF3, 0xE0, 0x43, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x80,
+ 0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x1F, 0xE2, 0xFF, 0x01, 0x00,
+ 0x84, 0xFC, 0x2F, 0x3F, 0x50, 0xFD, 0xFF, 0xF3, 0xE0, 0x43, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x78, 0x0C, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x00,
+ 0xFF, 0xFF, 0x7F, 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xF8, 0x0F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x80,
+ 0xFF, 0xFF, 0x7F, 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xE0, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x3E, 0x1F, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0x7F, 0xE0, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7,
+ 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+ 0xE0, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x3E, 0x1F, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0x7F, 0xE6, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x1F, 0xFF, 0xFF, 0x00, 0x0C, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x80,
+ 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
+ 0x00, 0x00, 0x80, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xEB, 0x03, 0x00, 0x00, 0xFC, 0xFF,
+ 0xFF, 0x1F, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xBF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00,
+ 0x00, 0x00, 0x80, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xEB, 0x03, 0x00, 0x00, 0xFC, 0xFF,
+ 0xBB, 0xF7, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00,
+ 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x68,
+ 0x00, 0xFC, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x1F,
+ 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x80, 0x00, 0x00, 0xDF, 0xFF, 0x00, 0x7C,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xE8,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0x1F,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x80, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x7F,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xF7, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0x7F, 0xC4,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x62, 0x3E, 0x05, 0x00, 0x00, 0x38, 0xFF, 0x07, 0x1C, 0x00,
+ 0x7E, 0x7E, 0x7E, 0x00, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0x03, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xFF, 0x3F, 0xFF, 0x03, 0xFF, 0xFF, 0x7F, 0xFC,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x38, 0xFF, 0xFF, 0x7C, 0x00,
+ 0x7E, 0x7E, 0x7E, 0x00, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0x03, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x37, 0xFF, 0x03,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x7F, 0x00, 0xF8, 0xA0, 0xFF, 0xFD, 0x7F, 0x5F, 0xDB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x7F, 0x00, 0xF8, 0xE0, 0xFF, 0xFD, 0x7F, 0x5F, 0xDB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xF0, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAA,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
+ 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x07, 0xFE, 0xFF, 0xFF, 0x07, 0xC0, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFC, 0xFC, 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x18, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xAA,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
+ 0x00, 0x00, 0xFF, 0x03, 0xFE, 0xFF, 0xFF, 0x87, 0xFE, 0xFF, 0xFF, 0x07, 0xE0, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFC, 0xFC, 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xEF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xB7, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xEF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xB7, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07,
+ 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xF7,
+ 0xFF, 0xF7, 0xB7, 0xFF, 0xFB, 0xFF, 0xFB, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xF7,
+ 0xFF, 0xF7, 0xB7, 0xFF, 0xFB, 0xFF, 0xFB, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3F, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x91, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x7F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x37, 0x00,
+ 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0xEF, 0xFE, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x1F,
+ 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x07, 0x00,
+ 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x6F, 0xF0, 0xEF, 0xFE, 0xFF, 0xFF, 0x3F, 0x87, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x1F,
+ 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0xFF, 0x07, 0x00,
+ 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x1F, 0x80, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x7F, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1B, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0,
+ 0xFF, 0xFF, 0xFF, 0x1F, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF,
+ 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x7F, 0x00,
+ 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x00,
+ 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00,
+ 0xF8, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x90, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x47, 0x00,
+ 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x1E, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x3F, 0x80,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x04, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0x03,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xDE, 0xFF, 0x17, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0x0F, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x7F, 0xBD, 0xFF, 0xBF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0x9F, 0xF9, 0xFF, 0xFF, 0xFD, 0xED, 0x23, 0x00, 0x00, 0x01, 0xE0, 0x03, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x7F, 0xBD, 0xFF, 0xBF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0x03,
+ 0xEF, 0x9F, 0xF9, 0xFF, 0xFF, 0xFD, 0xED, 0xFB, 0x9F, 0x39, 0x81, 0xE0, 0xCF, 0x1F, 0x1F, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x80, 0x07, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xC3, 0x03, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0x01, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x11, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0x0F, 0xFF, 0x03, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x80,
+ 0x7F, 0xF2, 0x6F, 0xFF, 0xFF, 0xFF, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x0A, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x80,
+ 0x7F, 0xF2, 0x6F, 0xFF, 0xFF, 0xFF, 0xBF, 0xF9, 0x0F, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x1B, 0x00, 0x00, 0x00,
+ 0x01, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x04, 0x00, 0x00, 0x01, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x03, 0x00, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x23, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x6F,
+ 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF,
+ 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x7F, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0xBF, 0xFD, 0xFF, 0xFF,
+ 0xFF, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x01, 0x00, 0xFF, 0x03, 0x00, 0x00, 0xFC, 0xFF,
+ 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x7F, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xB4, 0xFF, 0x00, 0xFF, 0x03, 0xBF, 0xFD, 0xFF, 0xFF,
+ 0xFF, 0x7F, 0xFB, 0x01, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x07, 0x00,
+ 0xF4, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x7F, 0x00,
+ 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x07, 0x00, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE3, 0x07, 0xF8,
+ 0xE7, 0x0F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x7F, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xE0,
+ 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x03, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x0F, 0x00, 0xFF, 0x03, 0xF8, 0xFF, 0xFF, 0xE0,
+ 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xF8, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x03, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x6F, 0xFF, 0x7F,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0x1F,
+ 0xFF, 0x01, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x03,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0x1F,
+ 0xFF, 0x01, 0xFF, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xDF, 0x64, 0xDE, 0xFF, 0xEB, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xBF, 0xE7, 0xDF, 0xDF, 0xFF, 0xFF, 0xFF, 0x7B, 0x5F, 0xFC, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xF7,
+ 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF,
+ 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xF7, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xF7,
+ 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF,
+ 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xF7, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x20, 0x00,
+ 0x10, 0x00, 0x00, 0xF8, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x80, 0x3F, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x7F, 0xFF, 0xFF, 0xF9, 0xDB, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00,
+ 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0x3F, 0xFF, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xEF, 0xFF, 0xFF, 0xFF, 0x96, 0xFE, 0xF7, 0x0A, 0x84, 0xEA, 0x96, 0xAA, 0x96, 0xF7, 0xF7, 0x5E,
+ 0xFF, 0xFB, 0xFF, 0x0F, 0xEE, 0xFB, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
deps/aro/aro/Diagnostics/messages.def
@@ -0,0 +1,2446 @@
+const W = Properties.makeOpt;
+
+const pointer_sign_message = " converts between pointers to integer types with different sign";
+
+# Maybe someday this will no longer be needed.
+todo
+ .msg = "TODO: {s}"
+ .extra = .str
+ .kind = .@"error"
+
+error_directive
+ .msg = "{s}"
+ .extra = .str
+ .kind = .@"error"
+
+warning_directive
+ .msg = "{s}"
+ .opt = W("#warnings")
+ .extra = .str
+ .kind = .warning
+
+elif_without_if
+ .msg = "#elif without #if"
+ .kind = .@"error"
+
+elif_after_else
+ .msg = "#elif after #else"
+ .kind = .@"error"
+
+elifdef_without_if
+ .msg = "#elifdef without #if"
+ .kind = .@"error"
+
+elifdef_after_else
+ .msg = "#elifdef after #else"
+ .kind = .@"error"
+
+elifndef_without_if
+ .msg = "#elifndef without #if"
+ .kind = .@"error"
+
+elifndef_after_else
+ .msg = "#elifndef after #else"
+ .kind = .@"error"
+
+else_without_if
+ .msg = "#else without #if"
+ .kind = .@"error"
+
+else_after_else
+ .msg = "#else after #else"
+ .kind = .@"error"
+
+endif_without_if
+ .msg = "#endif without #if"
+ .kind = .@"error"
+
+unknown_pragma
+ .msg = "unknown pragma ignored"
+ .opt = W("unknown-pragmas")
+ .kind = .off
+ .all = true
+
+line_simple_digit
+ .msg = "#line directive requires a simple digit sequence"
+ .kind = .@"error"
+
+line_invalid_filename
+ .msg = "invalid filename for #line directive"
+ .kind = .@"error"
+
+unterminated_conditional_directive
+ .msg = "unterminated conditional directive"
+ .kind = .@"error"
+
+invalid_preprocessing_directive
+ .msg = "invalid preprocessing directive"
+ .kind = .@"error"
+
+macro_name_missing
+ .msg = "macro name missing"
+ .kind = .@"error"
+
+extra_tokens_directive_end
+ .msg = "extra tokens at end of macro directive"
+ .kind = .@"error"
+
+expected_value_in_expr
+ .msg = "expected value in expression"
+ .kind = .@"error"
+
+closing_paren
+ .msg = "expected closing ')'"
+ .kind = .@"error"
+
+to_match_paren
+ .msg = "to match this '('"
+ .kind = .note
+
+to_match_brace
+ .msg = "to match this '{'"
+ .kind = .note
+
+to_match_bracket
+ .msg = "to match this '['"
+ .kind = .note
+
+header_str_closing
+ .msg = "expected closing '>'"
+ .kind = .@"error"
+
+header_str_match
+ .msg = "to match this '<'"
+ .kind = .note
+
+string_literal_in_pp_expr
+ .msg = "string literal in preprocessor expression"
+ .kind = .@"error"
+
+float_literal_in_pp_expr
+ .msg = "floating point literal in preprocessor expression"
+ .kind = .@"error"
+
+defined_as_macro_name
+ .msg = "'defined' cannot be used as a macro name"
+ .kind = .@"error"
+
+macro_name_must_be_identifier
+ .msg = "macro name must be an identifier"
+ .kind = .@"error"
+
+whitespace_after_macro_name
+ .msg = "ISO C99 requires whitespace after the macro name"
+ .opt = W("c99-extensions")
+ .kind = .warning
+
+hash_hash_at_start
+ .msg = "'##' cannot appear at the start of a macro expansion"
+ .kind = .@"error"
+
+hash_hash_at_end
+ .msg = "'##' cannot appear at the end of a macro expansion"
+ .kind = .@"error"
+
+pasting_formed_invalid
+ .msg = "pasting formed '{s}', an invalid preprocessing token"
+ .extra = .str
+ .kind = .@"error"
+
+missing_paren_param_list
+ .msg = "missing ')' in macro parameter list"
+ .kind = .@"error"
+
+unterminated_macro_param_list
+ .msg = "unterminated macro param list"
+ .kind = .@"error"
+
+invalid_token_param_list
+ .msg = "invalid token in macro parameter list"
+ .kind = .@"error"
+
+expected_comma_param_list
+ .msg = "expected comma in macro parameter list"
+ .kind = .@"error"
+
+hash_not_followed_param
+ .msg = "'#' is not followed by a macro parameter"
+ .kind = .@"error"
+
+expected_filename
+ .msg = "expected \"FILENAME\" or <FILENAME>"
+ .kind = .@"error"
+
+empty_filename
+ .msg = "empty filename"
+ .kind = .@"error"
+
+expected_invalid
+ .msg = "expected '{s}', found invalid bytes"
+ .extra = .tok_id_expected
+ .kind = .@"error"
+
+expected_eof
+ .msg = "expected '{s}' before end of file"
+ .extra = .tok_id_expected
+ .kind = .@"error"
+
+expected_token
+ .msg = "expected '{s}', found '{s}'"
+ .extra = .tok_id
+ .kind = .@"error"
+
+expected_expr
+ .msg = "expected expression"
+ .kind = .@"error"
+
+expected_integer_constant_expr
+ .msg = "expression is not an integer constant expression"
+ .kind = .@"error"
+
+missing_type_specifier
+ .msg = "type specifier missing, defaults to 'int'"
+ .opt = W("implicit-int")
+ .kind = .warning
+ .all = true
+
+missing_type_specifier_c23
+ .msg = "a type specifier is required for all declarations"
+ .kind = .@"error"
+
+multiple_storage_class
+ .msg = "cannot combine with previous '{s}' declaration specifier"
+ .extra = .str
+ .kind = .@"error"
+
+static_assert_failure
+ .msg = "static assertion failed"
+ .kind = .@"error"
+
+static_assert_failure_message
+ .msg = "static assertion failed {s}"
+ .extra = .str
+ .kind = .@"error"
+
+expected_type
+ .msg = "expected a type"
+ .kind = .@"error"
+
+cannot_combine_spec
+ .msg = "cannot combine with previous '{s}' specifier"
+ .extra = .str
+ .kind = .@"error"
+
+duplicate_decl_spec
+ .msg = "duplicate '{s}' declaration specifier"
+ .extra = .str
+ .opt = W("duplicate-decl-specifier")
+ .kind = .warning
+ .all = true
+
+restrict_non_pointer
+ .msg = "restrict requires a pointer or reference ('{s}' is invalid)"
+ .extra = .str
+ .kind = .@"error"
+
+expected_external_decl
+ .msg = "expected external declaration"
+ .kind = .@"error"
+
+expected_ident_or_l_paren
+ .msg = "expected identifier or '('"
+ .kind = .@"error"
+
+missing_declaration
+ .msg = "declaration does not declare anything"
+ .opt = W("missing-declaration")
+ .kind = .warning
+
+func_not_in_root
+ .msg = "function definition is not allowed here"
+ .kind = .@"error"
+
+illegal_initializer
+ .msg = "illegal initializer (only variables can be initialized)"
+ .kind = .@"error"
+
+extern_initializer
+ .msg = "extern variable has initializer"
+ .opt = W("extern-initializer")
+ .kind = .warning
+
+spec_from_typedef
+ .msg = "'{s}' came from typedef"
+ .extra = .str
+ .kind = .note
+
+param_before_var_args
+ .msg = "ISO C requires a named parameter before '...'"
+ .kind = .@"error"
+ .suppress_version = .c23
+
+void_only_param
+ .msg = "'void' must be the only parameter if specified"
+ .kind = .@"error"
+
+void_param_qualified
+ .msg = "'void' parameter cannot be qualified"
+ .kind = .@"error"
+
+void_must_be_first_param
+ .msg = "'void' must be the first parameter if specified"
+ .kind = .@"error"
+
+invalid_storage_on_param
+ .msg = "invalid storage class on function parameter"
+ .kind = .@"error"
+
+threadlocal_non_var
+ .msg = "_Thread_local only allowed on variables"
+ .kind = .@"error"
+
+func_spec_non_func
+ .msg = "'{s}' can only appear on functions"
+ .extra = .str
+ .kind = .@"error"
+
+illegal_storage_on_func
+ .msg = "illegal storage class on function"
+ .kind = .@"error"
+
+illegal_storage_on_global
+ .msg = "illegal storage class on global variable"
+ .kind = .@"error"
+
+expected_stmt
+ .msg = "expected statement"
+ .kind = .@"error"
+
+func_cannot_return_func
+ .msg = "function cannot return a function"
+ .kind = .@"error"
+
+func_cannot_return_array
+ .msg = "function cannot return an array"
+ .kind = .@"error"
+
+undeclared_identifier
+ .msg = "use of undeclared identifier '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+not_callable
+ .msg = "cannot call non function type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+unsupported_str_cat
+ .msg = "unsupported string literal concatenation"
+ .kind = .@"error"
+
+static_func_not_global
+ .msg = "static functions must be global"
+ .kind = .@"error"
+
+implicit_func_decl
+ .msg = "call to undeclared function '{s}'; ISO C99 and later do not support implicit function declarations"
+ .extra = .str
+ .opt = W("implicit-function-declaration")
+ .kind = .@"error"
+ .all = true
+
+unknown_builtin
+ .msg = "use of unknown builtin '{s}'"
+ .extra = .str
+ .opt = W("implicit-function-declaration")
+ .kind = .@"error"
+ .all = true
+
+implicit_builtin
+ .msg = "implicitly declaring library function '{s}'"
+ .extra = .str
+ .opt = W("implicit-function-declaration")
+ .kind = .@"error"
+ .all = true
+
+implicit_builtin_header_note
+ .msg = "include the header <{s}.h> or explicitly provide a declaration for '{s}'"
+ .extra = .builtin_with_header
+ .opt = W("implicit-function-declaration")
+ .kind = .note
+ .all = true
+
+expected_param_decl
+ .msg = "expected parameter declaration"
+ .kind = .@"error"
+
+invalid_old_style_params
+ .msg = "identifier parameter lists are only allowed in function definitions"
+ .kind = .@"error"
+
+expected_fn_body
+ .msg = "expected function body after function declaration"
+ .kind = .@"error"
+
+invalid_void_param
+ .msg = "parameter cannot have void type"
+ .kind = .@"error"
+
+unused_value
+ .msg = "expression result unused"
+ .opt = W("unused-value")
+ .kind = .warning
+ .all = true
+
+continue_not_in_loop
+ .msg = "'continue' statement not in a loop"
+ .kind = .@"error"
+
+break_not_in_loop_or_switch
+ .msg = "'break' statement not in a loop or a switch"
+ .kind = .@"error"
+
+unreachable_code
+ .msg = "unreachable code"
+ .opt = W("unreachable-code")
+ .kind = .warning
+ .all = true
+
+duplicate_label
+ .msg = "duplicate label '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+previous_label
+ .msg = "previous definition of label '{s}' was here"
+ .extra = .str
+ .kind = .note
+
+undeclared_label
+ .msg = "use of undeclared label '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+case_not_in_switch
+ .msg = "'{s}' statement not in a switch statement"
+ .extra = .str
+ .kind = .@"error"
+
+duplicate_switch_case
+ .msg = "duplicate case value '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+multiple_default
+ .msg = "multiple default cases in the same switch"
+ .kind = .@"error"
+
+previous_case
+ .msg = "previous case defined here"
+ .kind = .note
+
+const expected_arguments = "expected {d} argument(s) got {d}";
+
+expected_arguments
+ .msg = expected_arguments
+ .extra = .arguments
+ .kind = .@"error"
+
+expected_arguments_old
+ .msg = expected_arguments
+ .extra = .arguments
+ .kind = .warning
+
+expected_at_least_arguments
+ .msg = "expected at least {d} argument(s) got {d}"
+ .extra = .arguments
+ .kind = .warning
+
+invalid_static_star
+ .msg = "'static' may not be used with an unspecified variable length array size"
+ .kind = .@"error"
+
+static_non_param
+ .msg = "'static' used outside of function parameters"
+ .kind = .@"error"
+
+array_qualifiers
+ .msg = "type qualifier in non parameter array type"
+ .kind = .@"error"
+
+star_non_param
+ .msg = "star modifier used outside of function parameters"
+ .kind = .@"error"
+
+variable_len_array_file_scope
+ .msg = "variable length arrays not allowed at file scope"
+ .kind = .@"error"
+
+useless_static
+ .msg = "'static' useless without a constant size"
+ .kind = .warning
+ .w_extra = true
+
+negative_array_size
+ .msg = "array size must be 0 or greater"
+ .kind = .@"error"
+
+array_incomplete_elem
+ .msg = "array has incomplete element type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+array_func_elem
+ .msg = "arrays cannot have functions as their element type"
+ .kind = .@"error"
+
+static_non_outermost_array
+ .msg = "'static' used in non-outermost array type"
+ .kind = .@"error"
+
+qualifier_non_outermost_array
+ .msg = "type qualifier used in non-outermost array type"
+ .kind = .@"error"
+
+unterminated_macro_arg_list
+ .msg = "unterminated function macro argument list"
+ .kind = .@"error"
+
+unknown_warning
+ .msg = "unknown warning '{s}'"
+ .extra = .str
+ .opt = W("unknown-warning-option")
+ .kind = .warning
+
+overflow
+ .msg = "overflow in expression; result is '{s}'"
+ .extra = .str
+ .opt = W("integer-overflow")
+ .kind = .warning
+
+int_literal_too_big
+ .msg = "integer literal is too large to be represented in any integer type"
+ .kind = .@"error"
+
+indirection_ptr
+ .msg = "indirection requires pointer operand"
+ .kind = .@"error"
+
+addr_of_rvalue
+ .msg = "cannot take the address of an rvalue"
+ .kind = .@"error"
+
+addr_of_bitfield
+ .msg = "address of bit-field requested"
+ .kind = .@"error"
+
+not_assignable
+ .msg = "expression is not assignable"
+ .kind = .@"error"
+
+ident_or_l_brace
+ .msg = "expected identifier or '{'"
+ .kind = .@"error"
+
+empty_enum
+ .msg = "empty enum is invalid"
+ .kind = .@"error"
+
+redefinition
+ .msg = "redefinition of '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+previous_definition
+ .msg = "previous definition is here"
+ .kind = .note
+
+expected_identifier
+ .msg = "expected identifier"
+ .kind = .@"error"
+
+expected_str_literal
+ .msg = "expected string literal for diagnostic message in static_assert"
+ .kind = .@"error"
+
+expected_str_literal_in
+ .msg = "expected string literal in '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+parameter_missing
+ .msg = "parameter named '{s}' is missing"
+ .extra = .str
+ .kind = .@"error"
+
+empty_record
+ .msg = "empty {s} is a GNU extension"
+ .extra = .str
+ .opt = W("gnu-empty-struct")
+ .kind = .off
+ .pedantic = true
+
+empty_record_size
+ .msg = "empty {s} has size 0 in C, size 1 in C++"
+ .extra = .str
+ .opt = W("c++-compat")
+ .kind = .off
+
+wrong_tag
+ .msg = "use of '{s}' with tag type that does not match previous definition"
+ .extra = .str
+ .kind = .@"error"
+
+expected_parens_around_typename
+ .msg = "expected parentheses around type name"
+ .kind = .@"error"
+
+alignof_expr
+ .msg = "'_Alignof' applied to an expression is a GNU extension"
+ .opt = W("gnu-alignof-expression")
+ .kind = .warning
+ .suppress_gnu = true
+
+invalid_alignof
+ .msg = "invalid application of 'alignof' to an incomplete type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+invalid_sizeof
+ .msg = "invalid application of 'sizeof' to an incomplete type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+macro_redefined
+ .msg = "'{s}' macro redefined"
+ .extra = .str
+ .opt = W("macro-redefined")
+ .kind = .warning
+
+generic_qual_type
+ .msg = "generic association with qualifiers cannot be matched with"
+ .opt = W("generic-qual-type")
+ .kind = .warning
+
+generic_array_type
+ .msg = "generic association array type cannot be matched with"
+ .opt = W("generic-qual-type")
+ .kind = .warning
+
+generic_func_type
+ .msg = "generic association function type cannot be matched with"
+ .opt = W("generic-qual-type")
+ .kind = .warning
+
+generic_duplicate
+ .msg = "type '{s}' in generic association compatible with previously specified type"
+ .extra = .str
+ .kind = .@"error"
+
+generic_duplicate_here
+ .msg = "compatible type '{s}' specified here"
+ .extra = .str
+ .kind = .note
+
+generic_duplicate_default
+ .msg = "duplicate default generic association"
+ .kind = .@"error"
+
+generic_no_match
+ .msg = "controlling expression type '{s}' not compatible with any generic association type"
+ .extra = .str
+ .kind = .@"error"
+
+escape_sequence_overflow
+ .msg = "escape sequence out of range"
+ .kind = .@"error"
+
+invalid_universal_character
+ .msg = "invalid universal character"
+ .kind = .@"error"
+
+incomplete_universal_character
+ .msg = "incomplete universal character name"
+ .kind = .@"error"
+
+multichar_literal_warning
+ .msg = "multi-character character constant"
+ .opt = W("multichar")
+ .kind = .warning
+ .all = true
+
+invalid_multichar_literal
+ .msg = "{s} character literals may not contain multiple characters"
+ .kind = .@"error"
+ .extra = .str
+
+wide_multichar_literal
+ .msg = "extraneous characters in character constant ignored"
+ .kind = .warning
+
+char_lit_too_wide
+ .msg = "character constant too long for its type"
+ .kind = .warning
+ .all = true
+
+char_too_large
+ .msg = "character too large for enclosing character literal type"
+ .kind = .@"error"
+
+must_use_struct
+ .msg = "must use 'struct' tag to refer to type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+must_use_union
+ .msg = "must use 'union' tag to refer to type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+must_use_enum
+ .msg = "must use 'enum' tag to refer to type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+redefinition_different_sym
+ .msg = "redefinition of '{s}' as different kind of symbol"
+ .extra = .str
+ .kind = .@"error"
+
+redefinition_incompatible
+ .msg = "redefinition of '{s}' with a different type"
+ .extra = .str
+ .kind = .@"error"
+
+redefinition_of_parameter
+ .msg = "redefinition of parameter '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+invalid_bin_types
+ .msg = "invalid operands to binary expression ({s})"
+ .extra = .str
+ .kind = .@"error"
+
+comparison_ptr_int
+ .msg = "comparison between pointer and integer ({s})"
+ .extra = .str
+ .opt = W("pointer-integer-compare")
+ .kind = .warning
+
+comparison_distinct_ptr
+ .msg = "comparison of distinct pointer types ({s})"
+ .extra = .str
+ .opt = W("compare-distinct-pointer-types")
+ .kind = .warning
+
+incompatible_pointers
+ .msg = "incompatible pointer types ({s})"
+ .extra = .str
+ .kind = .@"error"
+
+invalid_argument_un
+ .msg = "invalid argument type '{s}' to unary expression"
+ .extra = .str
+ .kind = .@"error"
+
+incompatible_assign
+ .msg = "assignment to {s}"
+ .extra = .str
+ .kind = .@"error"
+
+implicit_ptr_to_int
+ .msg = "implicit pointer to integer conversion from {s}"
+ .extra = .str
+ .opt = W("int-conversion")
+ .kind = .warning
+
+invalid_cast_to_float
+ .msg = "pointer cannot be cast to type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+invalid_cast_to_pointer
+ .msg = "operand of type '{s}' cannot be cast to a pointer type"
+ .extra = .str
+ .kind = .@"error"
+
+invalid_cast_type
+ .msg = "cannot cast to non arithmetic or pointer type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+qual_cast
+ .msg = "cast to type '{s}' will not preserve qualifiers"
+ .extra = .str
+ .opt = W("cast-qualifiers")
+ .kind = .warning
+
+invalid_index
+ .msg = "array subscript is not an integer"
+ .kind = .@"error"
+
+invalid_subscript
+ .msg = "subscripted value is not an array or pointer"
+ .kind = .@"error"
+
+array_after
+ .msg = "array index {s} is past the end of the array"
+ .extra = .str
+ .opt = W("array-bounds")
+ .kind = .warning
+
+array_before
+ .msg = "array index {s} is before the beginning of the array"
+ .extra = .str
+ .opt = W("array-bounds")
+ .kind = .warning
+
+statement_int
+ .msg = "statement requires expression with integer type ('{s}' invalid)"
+ .extra = .str
+ .kind = .@"error"
+
+statement_scalar
+ .msg = "statement requires expression with scalar type ('{s}' invalid)"
+ .extra = .str
+ .kind = .@"error"
+
+func_should_return
+ .msg = "non-void function '{s}' should return a value"
+ .extra = .str
+ .opt = W("return-type")
+ .kind = .@"error"
+ .all = true
+
+incompatible_return
+ .msg = "returning {s}"
+ .extra = .str
+ .kind = .@"error"
+
+incompatible_return_sign
+ .msg = "returning {s}" ++ pointer_sign_message
+ .extra = .str
+ .kind = .warning
+ .opt = W("pointer-sign")
+
+implicit_int_to_ptr
+ .msg = "implicit integer to pointer conversion from {s}"
+ .extra = .str
+ .opt = W("int-conversion")
+ .kind = .warning
+
+func_does_not_return
+ .msg = "non-void function '{s}' does not return a value"
+ .extra = .str
+ .opt = W("return-type")
+ .kind = .warning
+ .all = true
+
+void_func_returns_value
+ .msg = "void function '{s}' should not return a value"
+ .extra = .str
+ .opt = W("return-type")
+ .kind = .@"error"
+ .all = true
+
+incompatible_arg
+ .msg = "passing {s}"
+ .extra = .str
+ .kind = .@"error"
+
+incompatible_ptr_arg
+ .msg = "passing {s}"
+ .extra = .str
+ .kind = .warning
+ .opt = W("incompatible-pointer-types")
+
+incompatible_ptr_arg_sign
+ .msg = "passing {s}" ++ pointer_sign_message
+ .extra = .str
+ .kind = .warning
+ .opt = W("pointer-sign")
+
+parameter_here
+ .msg = "passing argument to parameter here"
+ .kind = .note
+
+atomic_array
+ .msg = "atomic cannot be applied to array type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+atomic_func
+ .msg = "atomic cannot be applied to function type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+atomic_incomplete
+ .msg = "atomic cannot be applied to incomplete type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+addr_of_register
+ .msg = "address of register variable requested"
+ .kind = .@"error"
+
+variable_incomplete_ty
+ .msg = "variable has incomplete type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+parameter_incomplete_ty
+ .msg = "parameter has incomplete type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+tentative_array
+ .msg = "tentative array definition assumed to have one element"
+ .kind = .warning
+
+deref_incomplete_ty_ptr
+ .msg = "dereferencing pointer to incomplete type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+alignas_on_func
+ .msg = "'_Alignas' attribute only applies to variables and fields"
+ .kind = .@"error"
+
+alignas_on_param
+ .msg = "'_Alignas' attribute cannot be applied to a function parameter"
+ .kind = .@"error"
+
+minimum_alignment
+ .msg = "requested alignment is less than minimum alignment of {d}"
+ .extra = .unsigned
+ .kind = .@"error"
+
+maximum_alignment
+ .msg = "requested alignment of {s} is too large"
+ .extra = .str
+ .kind = .@"error"
+
+negative_alignment
+ .msg = "requested negative alignment of {s} is invalid"
+ .extra = .str
+ .kind = .@"error"
+
+align_ignored
+ .msg = "'_Alignas' attribute is ignored here"
+ .kind = .warning
+
+zero_align_ignored
+ .msg = "requested alignment of zero is ignored"
+ .kind = .warning
+
+non_pow2_align
+ .msg = "requested alignment is not a power of 2"
+ .kind = .@"error"
+
+pointer_mismatch
+ .msg = "pointer type mismatch ({s})"
+ .extra = .str
+ .opt = W("pointer-type-mismatch")
+ .kind = .warning
+
+static_assert_not_constant
+ .msg = "static_assert expression is not an integral constant expression"
+ .kind = .@"error"
+
+static_assert_missing_message
+ .msg = "static_assert with no message is a C23 extension"
+ .opt = W("c23-extensions")
+ .kind = .warning
+ .suppress_version = .c23
+
+pre_c23_compat
+ .msg = "{s} is incompatible with C standards before C23"
+ .extra = .str
+ .kind = .off
+ .suppress_unless_version = .c23
+ .opt = W("pre-c23-compat")
+
+unbound_vla
+ .msg = "variable length array must be bound in function definition"
+ .kind = .@"error"
+
+array_too_large
+ .msg = "array is too large"
+ .kind = .@"error"
+
+incompatible_ptr_init
+ .msg = "incompatible pointer types initializing {s}"
+ .extra = .str
+ .opt = W("incompatible-pointer-types")
+ .kind = .warning
+
+incompatible_ptr_init_sign
+ .msg = "incompatible pointer types initializing {s}" ++ pointer_sign_message
+ .extra = .str
+ .opt = W("pointer-sign")
+ .kind = .warning
+
+incompatible_ptr_assign
+ .msg = "incompatible pointer types assigning to {s}"
+ .extra = .str
+ .opt = W("incompatible-pointer-types")
+ .kind = .warning
+
+incompatible_ptr_assign_sign
+ .msg = "incompatible pointer types assigning to {s} " ++ pointer_sign_message
+ .extra = .str
+ .opt = W("pointer-sign")
+ .kind = .warning
+
+vla_init
+ .msg = "variable-sized object may not be initialized"
+ .kind = .@"error"
+
+func_init
+ .msg = "illegal initializer type"
+ .kind = .@"error"
+
+incompatible_init
+ .msg = "initializing {s}"
+ .extra = .str
+ .kind = .@"error"
+
+empty_scalar_init
+ .msg = "scalar initializer cannot be empty"
+ .kind = .@"error"
+
+excess_scalar_init
+ .msg = "excess elements in scalar initializer"
+ .opt = W("excess-initializers")
+ .kind = .warning
+
+excess_str_init
+ .msg = "excess elements in string initializer"
+ .opt = W("excess-initializers")
+ .kind = .warning
+
+excess_struct_init
+ .msg = "excess elements in struct initializer"
+ .opt = W("excess-initializers")
+ .kind = .warning
+
+excess_array_init
+ .msg = "excess elements in array initializer"
+ .opt = W("excess-initializers")
+ .kind = .warning
+
+str_init_too_long
+ .msg = "initializer-string for char array is too long"
+ .opt = W("excess-initializers")
+ .kind = .warning
+
+arr_init_too_long
+ .msg = "cannot initialize type ({s})"
+ .extra = .str
+ .kind = .@"error"
+
+invalid_typeof
+ .msg = "'{s} typeof' is invalid"
+ .extra = .str
+ .kind = .@"error"
+
+division_by_zero
+ .msg = "{s} by zero is undefined"
+ .extra = .str
+ .opt = W("division-by-zero")
+ .kind = .warning
+
+division_by_zero_macro
+ .msg = "{s} by zero in preprocessor expression"
+ .extra = .str
+ .kind = .@"error"
+
+builtin_choose_cond
+ .msg = "'__builtin_choose_expr' requires a constant expression"
+ .kind = .@"error"
+
+alignas_unavailable
+ .msg = "'_Alignas' attribute requires integer constant expression"
+ .kind = .@"error"
+
+case_val_unavailable
+ .msg = "case value must be an integer constant expression"
+ .kind = .@"error"
+
+enum_val_unavailable
+ .msg = "enum value must be an integer constant expression"
+ .kind = .@"error"
+
+incompatible_array_init
+ .msg = "cannot initialize array of type {s}"
+ .extra = .str
+ .kind = .@"error"
+
+array_init_str
+ .msg = "array initializer must be an initializer list or wide string literal"
+ .kind = .@"error"
+
+initializer_overrides
+ .msg = "initializer overrides previous initialization"
+ .opt = W("initializer-overrides")
+ .kind = .warning
+ .w_extra = true
+
+previous_initializer
+ .msg = "previous initialization"
+ .kind = .note
+
+invalid_array_designator
+ .msg = "array designator used for non-array type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+negative_array_designator
+ .msg = "array designator value {s} is negative"
+ .extra = .str
+ .kind = .@"error"
+
+oob_array_designator
+ .msg = "array designator index {s} exceeds array bounds"
+ .extra = .str
+ .kind = .@"error"
+
+invalid_field_designator
+ .msg = "field designator used for non-record type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+no_such_field_designator
+ .msg = "record type has no field named '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+empty_aggregate_init_braces
+ .msg = "initializer for aggregate with no elements requires explicit braces"
+ .kind = .@"error"
+
+ptr_init_discards_quals
+ .msg = "initializing {s} discards qualifiers"
+ .extra = .str
+ .opt = W("incompatible-pointer-types-discards-qualifiers")
+ .kind = .warning
+
+ptr_assign_discards_quals
+ .msg = "assigning to {s} discards qualifiers"
+ .extra = .str
+ .opt = W("incompatible-pointer-types-discards-qualifiers")
+ .kind = .warning
+
+ptr_ret_discards_quals
+ .msg = "returning {s} discards qualifiers"
+ .extra = .str
+ .opt = W("incompatible-pointer-types-discards-qualifiers")
+ .kind = .warning
+
+ptr_arg_discards_quals
+ .msg = "passing {s} discards qualifiers"
+ .extra = .str
+ .opt = W("incompatible-pointer-types-discards-qualifiers")
+ .kind = .warning
+
+unknown_attribute
+ .msg = "unknown attribute '{s}' ignored"
+ .extra = .str
+ .opt = W("unknown-attributes")
+ .kind = .warning
+
+ignored_attribute
+ .msg = "{s}"
+ .extra = .str
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+invalid_fallthrough
+ .msg = "fallthrough annotation does not directly precede switch label"
+ .kind = .@"error"
+
+cannot_apply_attribute_to_statement
+ .msg = "'{s}' attribute cannot be applied to a statement"
+ .extra = .str
+ .kind = .@"error"
+
+builtin_macro_redefined
+ .msg = "redefining builtin macro"
+ .opt = W("builtin-macro-redefined")
+ .kind = .warning
+
+feature_check_requires_identifier
+ .msg = "builtin feature check macro requires a parenthesized identifier"
+ .kind = .@"error"
+
+missing_tok_builtin
+ .msg = "missing '{s}', after builtin feature-check macro"
+ .extra = .tok_id_expected
+ .kind = .@"error"
+
+gnu_label_as_value
+ .msg = "use of GNU address-of-label extension"
+ .opt = W("gnu-label-as-value")
+ .kind = .off
+ .pedantic = true
+
+expected_record_ty
+ .msg = "member reference base type '{s}' is not a structure or union"
+ .extra = .str
+ .kind = .@"error"
+
+member_expr_not_ptr
+ .msg = "member reference type '{s}' is not a pointer; did you mean to use '.'?"
+ .extra = .str
+ .kind = .@"error"
+
+member_expr_ptr
+ .msg = "member reference type '{s}' is a pointer; did you mean to use '->'?"
+ .extra = .str
+ .kind = .@"error"
+
+no_such_member
+ .msg = "no member named {s}"
+ .extra = .str
+ .kind = .@"error"
+
+malformed_warning_check
+ .msg = "{s} expected option name (e.g. \"-Wundef\")"
+ .extra = .str
+ .opt = W("malformed-warning-check")
+ .kind = .warning
+ .all = true
+
+invalid_computed_goto
+ .msg = "computed goto in function with no address-of-label expressions"
+ .kind = .@"error"
+
+pragma_warning_message
+ .msg = "{s}"
+ .extra = .str
+ .opt = W("#pragma-messages")
+ .kind = .warning
+
+pragma_error_message
+ .msg = "{s}"
+ .extra = .str
+ .kind = .@"error"
+
+pragma_message
+ .msg = "#pragma message: {s}"
+ .extra = .str
+ .kind = .note
+
+pragma_requires_string_literal
+ .msg = "pragma {s} requires string literal"
+ .extra = .str
+ .kind = .@"error"
+
+poisoned_identifier
+ .msg = "attempt to use a poisoned identifier"
+ .kind = .@"error"
+
+pragma_poison_identifier
+ .msg = "can only poison identifier tokens"
+ .kind = .@"error"
+
+pragma_poison_macro
+ .msg = "poisoning existing macro"
+ .kind = .warning
+
+newline_eof
+ .msg = "no newline at end of file"
+ .opt = W("newline-eof")
+ .kind = .off
+ .pedantic = true
+
+empty_translation_unit
+ .msg = "ISO C requires a translation unit to contain at least one declaration"
+ .opt = W("empty-translation-unit")
+ .kind = .off
+ .pedantic = true
+
+omitting_parameter_name
+ .msg = "omitting the parameter name in a function definition is a C23 extension"
+ .opt = W("c23-extensions")
+ .kind = .warning
+ .suppress_version = .c23
+
+non_int_bitfield
+ .msg = "bit-field has non-integer type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+negative_bitwidth
+ .msg = "bit-field has negative width ({s})"
+ .extra = .str
+ .kind = .@"error"
+
+zero_width_named_field
+ .msg = "named bit-field has zero width"
+ .kind = .@"error"
+
+bitfield_too_big
+ .msg = "width of bit-field exceeds width of its type"
+ .kind = .@"error"
+
+invalid_utf8
+ .msg = "source file is not valid UTF-8"
+ .kind = .@"error"
+
+implicitly_unsigned_literal
+ .msg = "integer literal is too large to be represented in a signed integer type, interpreting as unsigned"
+ .opt = W("implicitly-unsigned-literal")
+ .kind = .warning
+
+invalid_preproc_operator
+ .msg = "token is not a valid binary operator in a preprocessor subexpression"
+ .kind = .@"error"
+
+invalid_preproc_expr_start
+ .msg = "invalid token at start of a preprocessor expression"
+ .kind = .@"error"
+
+c99_compat
+ .msg = "using this character in an identifier is incompatible with C99"
+ .opt = W("c99-compat")
+ .kind = .off
+
+unexpected_character
+ .msg = "unexpected character <U+{X:0>4}>"
+ .extra = .actual_codepoint
+ .kind = .@"error"
+
+invalid_identifier_start_char
+ .msg = "character <U+{X:0>4}> not allowed at the start of an identifier"
+ .extra = .actual_codepoint
+ .kind = .@"error"
+
+unicode_zero_width
+ .msg = "identifier contains Unicode character <U+{X:0>4}> that is invisible in some environments"
+ .opt = W("unicode-homoglyph")
+ .extra = .actual_codepoint
+ .kind = .warning
+
+unicode_homoglyph
+ .msg = "treating Unicode character <U+{X:0>4}> as identifier character rather than as '{u}' symbol"
+ .extra = .codepoints
+ .opt = W("unicode-homoglyph")
+ .kind = .warning
+
+meaningless_asm_qual
+ .msg = "meaningless '{s}' on assembly outside function"
+ .extra = .str
+ .kind = .@"error"
+
+duplicate_asm_qual
+ .msg = "duplicate asm qualifier '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+invalid_asm_str
+ .msg = "cannot use {s} string literal in assembly"
+ .extra = .str
+ .kind = .@"error"
+
+dollar_in_identifier_extension
+ .msg = "'$' in identifier"
+ .opt = W("dollar-in-identifier-extension")
+ .kind = .off
+ .pedantic = true
+
+dollars_in_identifiers
+ .msg = "illegal character '$' in identifier"
+ .kind = .@"error"
+
+expanded_from_here
+ .msg = "expanded from here"
+ .kind = .note
+
+skipping_macro_backtrace
+ .msg = "(skipping {d} expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)"
+ .extra = .unsigned
+ .kind = .note
+
+pragma_operator_string_literal
+ .msg = "_Pragma requires exactly one string literal token"
+ .kind = .@"error"
+
+unknown_gcc_pragma
+ .msg = "pragma GCC expected 'error', 'warning', 'diagnostic', 'poison'"
+ .opt = W("unknown-pragmas")
+ .kind = .off
+ .all = true
+
+unknown_gcc_pragma_directive
+ .msg = "pragma GCC diagnostic expected 'error', 'warning', 'ignored', 'fatal', 'push', or 'pop'"
+ .opt = W("unknown-pragmas")
+ .kind = .warning
+ .all = true
+
+predefined_top_level
+ .msg = "predefined identifier is only valid inside function"
+ .opt = W("predefined-identifier-outside-function")
+ .kind = .warning
+
+incompatible_va_arg
+ .msg = "first argument to va_arg, is of type '{s}' and not 'va_list'"
+ .extra = .str
+ .kind = .@"error"
+
+too_many_scalar_init_braces
+ .msg = "too many braces around scalar initializer"
+ .opt = W("many-braces-around-scalar-init")
+ .kind = .warning
+
+uninitialized_in_own_init
+ .msg = "variable '{s}' is uninitialized when used within its own initialization"
+ .extra = .str
+ .opt = W("uninitialized")
+ .kind = .off
+ .all = true
+
+gnu_statement_expression
+ .msg = "use of GNU statement expression extension"
+ .opt = W("gnu-statement-expression")
+ .kind = .off
+ .suppress_gnu = true
+ .pedantic = true
+
+stmt_expr_not_allowed_file_scope
+ .msg = "statement expression not allowed at file scope"
+ .kind = .@"error"
+
+gnu_imaginary_constant
+ .msg = "imaginary constants are a GNU extension"
+ .opt = W("gnu-imaginary-constant")
+ .kind = .off
+ .suppress_gnu = true
+ .pedantic = true
+
+plain_complex
+ .msg = "plain '_Complex' requires a type specifier; assuming '_Complex double'"
+ .kind = .warning
+
+complex_int
+ .msg = "complex integer types are a GNU extension"
+ .opt = W("gnu-complex-integer")
+ .suppress_gnu = true
+ .kind = .off
+
+qual_on_ret_type
+ .msg = "'{s}' type qualifier on return type has no effect"
+ .opt = W("ignored-qualifiers")
+ .extra = .str
+ .kind = .off
+ .all = true
+
+cli_invalid_standard
+ .msg = "invalid standard '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+cli_invalid_target
+ .msg = "invalid target '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+cli_invalid_emulate
+ .msg = "invalid compiler '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+cli_unknown_arg
+ .msg = "unknown argument '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+cli_error
+ .msg = "{s}"
+ .extra = .str
+ .kind = .@"error"
+
+cli_unused_link_object
+ .msg = "{s}: linker input file unused because linking not done"
+ .extra = .str
+ .kind = .warning
+
+cli_unknown_linker
+ .msg = "unrecognized linker '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+extra_semi
+ .msg = "extra ';' outside of a function"
+ .opt = W("extra-semi")
+ .kind = .off
+ .pedantic = true
+
+func_field
+ .msg = "field declared as a function"
+ .kind = .@"error"
+
+vla_field
+ .msg = "variable length array fields extension is not supported"
+ .kind = .@"error"
+
+field_incomplete_ty
+ .msg = "field has incomplete type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+flexible_in_union
+ .msg = "flexible array member in union is not allowed"
+ .kind = .@"error"
+ .suppress_msvc = true
+
+flexible_non_final
+ .msg = "flexible array member is not at the end of struct"
+ .kind = .@"error"
+
+flexible_in_empty
+ .msg = "flexible array member in otherwise empty struct"
+ .kind = .@"error"
+ .suppress_msvc = true
+
+duplicate_member
+ .msg = "duplicate member '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+binary_integer_literal
+ .msg = "binary integer literals are a GNU extension"
+ .kind = .off
+ .opt = W("gnu-binary-literal")
+ .pedantic = true
+
+gnu_va_macro
+ .msg = "named variadic macros are a GNU extension"
+ .opt = W("variadic-macros")
+ .kind = .off
+ .pedantic = true
+
+builtin_must_be_called
+ .msg = "builtin function must be directly called"
+ .kind = .@"error"
+
+va_start_not_in_func
+ .msg = "'va_start' cannot be used outside a function"
+ .kind = .@"error"
+
+va_start_fixed_args
+ .msg = "'va_start' used in a function with fixed args"
+ .kind = .@"error"
+
+va_start_not_last_param
+ .msg = "second argument to 'va_start' is not the last named parameter"
+ .opt = W("varargs")
+ .kind = .warning
+
+attribute_not_enough_args
+ .msg = "'{s}' attribute takes at least {d} argument(s)"
+ .kind = .@"error"
+ .extra = .attr_arg_count
+
+attribute_too_many_args
+ .msg = "'{s}' attribute takes at most {d} argument(s)"
+ .kind = .@"error"
+ .extra = .attr_arg_count
+
+attribute_arg_invalid
+ .msg = "Attribute argument is invalid, expected {s} but got {s}"
+ .kind = .@"error"
+ .extra = .attr_arg_type
+
+unknown_attr_enum
+ .msg = "Unknown `{s}` argument. Possible values are: {s}"
+ .kind = .@"error"
+ .extra = .attr_enum
+
+attribute_requires_identifier
+ .msg = "'{s}' attribute requires an identifier"
+ .kind = .@"error"
+ .extra = .str
+
+declspec_not_enabled
+ .msg = "'__declspec' attributes are not enabled; use '-fdeclspec' or '-fms-extensions' to enable support for __declspec attributes"
+ .kind = .@"error"
+
+declspec_attr_not_supported
+ .msg = "__declspec attribute '{s}' is not supported"
+ .extra = .str
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+deprecated_declarations
+ .msg = "{s}"
+ .extra = .str
+ .opt = W("deprecated-declarations")
+ .kind = .warning
+
+deprecated_note
+ .msg = "'{s}' has been explicitly marked deprecated here"
+ .extra = .str
+ .opt = W("deprecated-declarations")
+ .kind = .note
+
+unavailable
+ .msg = "{s}"
+ .extra = .str
+ .kind = .@"error"
+
+unavailable_note
+ .msg = "'{s}' has been explicitly marked unavailable here"
+ .extra = .str
+ .kind = .note
+
+warning_attribute
+ .msg = "{s}"
+ .extra = .str
+ .kind = .warning
+ .opt = W("attribute-warning")
+
+error_attribute
+ .msg = "{s}"
+ .extra = .str
+ .kind = .@"error"
+
+ignored_record_attr
+ .msg = "attribute '{s}' is ignored, place it after \"{s}\" to apply attribute to type declaration"
+ .extra = .ignored_record_attr
+ .kind = .warning
+ .opt = W("ignored-attributes")
+
+backslash_newline_escape
+ .msg = "backslash and newline separated by space"
+ .kind = .warning
+ .opt = W("backslash-newline-escape")
+
+array_size_non_int
+ .msg = "size of array has non-integer type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+cast_to_smaller_int
+ .msg = "cast to smaller integer type {s}"
+ .extra = .str
+ .kind = .warning
+ .opt = W("pointer-to-int-cast")
+
+gnu_switch_range
+ .msg = "use of GNU case range extension"
+ .opt = W("gnu-case-range")
+ .kind = .off
+ .pedantic = true
+
+empty_case_range
+ .msg = "empty case range specified"
+ .kind = .warning
+
+non_standard_escape_char
+ .msg = "use of non-standard escape character '\\{s}'"
+ .kind = .off
+ .opt = W("pedantic")
+ .extra = .invalid_escape
+
+invalid_pp_stringify_escape
+ .msg = "invalid string literal, ignoring final '\\'"
+ .kind = .warning
+
+vla
+ .msg = "variable length array used"
+ .kind = .off
+ .opt = W("vla")
+
+float_overflow_conversion
+ .msg = "implicit conversion of non-finite value from {s} is undefined"
+ .extra = .str
+ .kind = .off
+ .opt = W("float-overflow-conversion")
+
+float_out_of_range
+ .msg = "implicit conversion of out of range value from {s} is undefined"
+ .extra = .str
+ .kind = .warning
+ .opt = W("literal-conversion")
+
+float_zero_conversion
+ .msg = "implicit conversion from {s}"
+ .extra = .str
+ .kind = .off
+ .opt = W("float-zero-conversion")
+
+float_value_changed
+ .msg = "implicit conversion from {s}"
+ .extra = .str
+ .kind = .warning
+ .opt = W("float-conversion")
+
+float_to_int
+ .msg = "implicit conversion turns floating-point number into integer: {s}"
+ .extra = .str
+ .kind = .off
+ .opt = W("literal-conversion")
+
+const_decl_folded
+ .msg = "expression is not an integer constant expression; folding it to a constant is a GNU extension"
+ .kind = .off
+ .opt = W("gnu-folding-constant")
+ .pedantic = true
+
+const_decl_folded_vla
+ .msg = "variable length array folded to constant array as an extension"
+ .kind = .off
+ .opt = W("gnu-folding-constant")
+ .pedantic = true
+
+redefinition_of_typedef
+ .msg = "typedef redefinition with different types ({s})"
+ .extra = .str
+ .kind = .@"error"
+
+undefined_macro
+ .msg = "'{s}' is not defined, evaluates to 0"
+ .extra = .str
+ .kind = .off
+ .opt = W("undef")
+
+fn_macro_undefined
+ .msg = "function-like macro '{s}' is not defined"
+ .extra = .str
+ .kind = .@"error"
+
+preprocessing_directive_only
+ .msg = "'{s}' must be used within a preprocessing directive"
+ .extra = .tok_id_expected
+ .kind = .@"error"
+
+missing_lparen_after_builtin
+ .msg = "Missing '(' after built-in macro '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+offsetof_ty
+ .msg = "offsetof requires struct or union type, '{s}' invalid"
+ .extra = .str
+ .kind = .@"error"
+
+offsetof_incomplete
+ .msg = "offsetof of incomplete type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+offsetof_array
+ .msg = "offsetof requires array type, '{s}' invalid"
+ .extra = .str
+ .kind = .@"error"
+
+pragma_pack_lparen
+ .msg = "missing '(' after '#pragma pack' - ignoring"
+ .kind = .warning
+ .opt = W("ignored-pragmas")
+
+pragma_pack_rparen
+ .msg = "missing ')' after '#pragma pack' - ignoring"
+ .kind = .warning
+ .opt = W("ignored-pragmas")
+
+pragma_pack_unknown_action
+ .msg = "unknown action for '#pragma pack' - ignoring"
+ .opt = W("ignored-pragmas")
+ .kind = .warning
+
+pragma_pack_show
+ .msg = "value of #pragma pack(show) == {d}"
+ .extra = .unsigned
+ .kind = .warning
+
+pragma_pack_int
+ .msg = "expected #pragma pack parameter to be '1', '2', '4', '8', or '16'"
+ .opt = W("ignored-pragmas")
+ .kind = .warning
+
+pragma_pack_int_ident
+ .msg = "expected integer or identifier in '#pragma pack' - ignored"
+ .opt = W("ignored-pragmas")
+ .kind = .warning
+
+pragma_pack_undefined_pop
+ .msg = "specifying both a name and alignment to 'pop' is undefined"
+ .kind = .warning
+
+pragma_pack_empty_stack
+ .msg = "#pragma pack(pop, ...) failed: stack empty"
+ .opt = W("ignored-pragmas")
+ .kind = .warning
+
+cond_expr_type
+ .msg = "used type '{s}' where arithmetic or pointer type is required"
+ .extra = .str
+ .kind = .@"error"
+
+too_many_includes
+ .msg = "#include nested too deeply"
+ .kind = .@"error"
+
+enumerator_too_small
+ .msg = "ISO C restricts enumerator values to range of 'int' ({s} is too small)"
+ .extra = .str
+ .kind = .off
+ .opt = W("pedantic")
+
+enumerator_too_large
+ .msg = "ISO C restricts enumerator values to range of 'int' ({s} is too large)"
+ .extra = .str
+ .kind = .off
+ .opt = W("pedantic")
+
+include_next
+ .msg = "#include_next is a language extension"
+ .kind = .off
+ .pedantic = true
+ .opt = W("gnu-include-next")
+
+include_next_outside_header
+ .msg = "#include_next in primary source file; will search from start of include path"
+ .kind = .warning
+ .opt = W("include-next-outside-header")
+
+enumerator_overflow
+ .msg = "overflow in enumeration value"
+ .kind = .warning
+
+enum_not_representable
+ .msg = "incremented enumerator value {s} is not representable in the largest integer type"
+ .kind = .warning
+ .opt = W("enum-too-large")
+ .extra = .pow_2_as_string
+
+enum_too_large
+ .msg = "enumeration values exceed range of largest integer"
+ .kind = .warning
+ .opt = W("enum-too-large")
+
+enum_fixed
+ .msg = "enumeration types with a fixed underlying type are a Clang extension"
+ .kind = .off
+ .pedantic = true
+ .opt = W("fixed-enum-extension")
+
+enum_prev_nonfixed
+ .msg = "enumeration previously declared with nonfixed underlying type"
+ .kind = .@"error"
+
+enum_prev_fixed
+ .msg = "enumeration previously declared with fixed underlying type"
+ .kind = .@"error"
+
+enum_different_explicit_ty
+ # str will be like 'new' (was 'old'
+ .msg = "enumeration redeclared with different underlying type {s})"
+ .extra = .str
+ .kind = .@"error"
+
+enum_not_representable_fixed
+ .msg = "enumerator value is not representable in the underlying type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+transparent_union_wrong_type
+ .msg = "'transparent_union' attribute only applies to unions"
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+transparent_union_one_field
+ .msg = "transparent union definition must contain at least one field; transparent_union attribute ignored"
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+transparent_union_size
+ .msg = "size of field {s} bits) does not match the size of the first field in transparent union; transparent_union attribute ignored"
+ .extra = .str
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+transparent_union_size_note
+ .msg = "size of first field is {d}"
+ .extra = .unsigned
+ .kind = .note
+
+designated_init_invalid
+ .msg = "'designated_init' attribute is only valid on 'struct' type'"
+ .kind = .@"error"
+
+designated_init_needed
+ .msg = "positional initialization of field in 'struct' declared with 'designated_init' attribute"
+ .opt = W("designated-init")
+ .kind = .warning
+
+ignore_common
+ .msg = "ignoring attribute 'common' because it conflicts with attribute 'nocommon'"
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+ignore_nocommon
+ .msg = "ignoring attribute 'nocommon' because it conflicts with attribute 'common'"
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+non_string_ignored
+ .msg = "'nonstring' attribute ignored on objects of type '{s}'"
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+local_variable_attribute
+ .msg = "'{s}' attribute only applies to local variables"
+ .extra = .str
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+ignore_cold
+ .msg = "ignoring attribute 'cold' because it conflicts with attribute 'hot'"
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+ignore_hot
+ .msg = "ignoring attribute 'hot' because it conflicts with attribute 'cold'"
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+ignore_noinline
+ .msg = "ignoring attribute 'noinline' because it conflicts with attribute 'always_inline'"
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+ignore_always_inline
+ .msg = "ignoring attribute 'always_inline' because it conflicts with attribute 'noinline'"
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+invalid_noreturn
+ .msg = "function '{s}' declared 'noreturn' should not return"
+ .extra = .str
+ .kind = .warning
+ .opt = W("invalid-noreturn")
+
+nodiscard_unused
+ .msg = "ignoring return value of '{s}', declared with 'nodiscard' attribute"
+ .extra = .str
+ .kind = .warning
+ .opt = W("unused-result")
+
+warn_unused_result
+ .msg = "ignoring return value of '{s}', declared with 'warn_unused_result' attribute"
+ .extra = .str
+ .kind = .warning
+ .opt = W("unused-result")
+
+invalid_vec_elem_ty
+ .msg = "invalid vector element type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+vec_size_not_multiple
+ .msg = "vector size not an integral multiple of component size"
+ .kind = .@"error"
+
+invalid_imag
+ .msg = "invalid type '{s}' to __imag operator"
+ .extra = .str
+ .kind = .@"error"
+
+invalid_real
+ .msg = "invalid type '{s}' to __real operator"
+ .extra = .str
+ .kind = .@"error"
+
+zero_length_array
+ .msg = "zero size arrays are an extension"
+ .kind = .off
+ .pedantic = true
+ .opt = W("zero-length-array")
+
+old_style_flexible_struct
+ .msg = "array index {s} is past the end of the array"
+ .extra = .str
+ .kind = .off
+ .pedantic = true
+ .opt = W("old-style-flexible-struct")
+
+comma_deletion_va_args
+ .msg = "token pasting of ',' and __VA_ARGS__ is a GNU extension"
+ .kind = .off
+ .pedantic = true
+ .opt = W("gnu-zero-variadic-macro-arguments")
+ .suppress_gcc = true
+
+main_return_type
+ .msg = "return type of 'main' is not 'int'"
+ .kind = .warning
+ .opt = W("main-return-type")
+
+expansion_to_defined
+ .msg = "macro expansion producing 'defined' has undefined behavior"
+ .kind = .off
+ .pedantic = true
+ .opt = W("expansion-to-defined")
+
+invalid_int_suffix
+ .msg = "invalid suffix '{s}' on integer constant"
+ .extra = .str
+ .kind = .@"error"
+
+invalid_float_suffix
+ .msg = "invalid suffix '{s}' on floating constant"
+ .extra = .str
+ .kind = .@"error"
+
+invalid_octal_digit
+ .msg = "invalid digit '{c}' in octal constant"
+ .extra = .ascii
+ .kind = .@"error"
+
+invalid_binary_digit
+ .msg = "invalid digit '{c}' in binary constant"
+ .extra = .ascii
+ .kind = .@"error"
+
+exponent_has_no_digits
+ .msg = "exponent has no digits"
+ .kind = .@"error"
+
+hex_floating_constant_requires_exponent
+ .msg = "hexadecimal floating constant requires an exponent"
+ .kind = .@"error"
+
+sizeof_returns_zero
+ .msg = "sizeof returns 0"
+ .kind = .warning
+ .suppress_gcc = true
+ .suppress_clang = true
+
+declspec_not_allowed_after_declarator
+ .msg = "'declspec' attribute not allowed after declarator"
+ .kind = .@"error"
+
+declarator_name_tok
+ .msg = "this declarator"
+ .kind = .note
+
+type_not_supported_on_target
+ .msg = "{s} is not supported on this target"
+ .extra = .str
+ .kind = .@"error"
+
+bit_int
+ .msg = "'_BitInt' in C17 and earlier is a Clang extension'"
+ .kind = .off
+ .pedantic = true
+ .opt = W("bit-int-extension")
+ .suppress_version = .c23
+
+unsigned_bit_int_too_small
+ .msg = "{s} must have a bit size of at least 1"
+ .extra = .str
+ .kind = .@"error"
+
+signed_bit_int_too_small
+ .msg = "{s} must have a bit size of at least 2"
+ .extra = .str
+ .kind = .@"error"
+
+bit_int_too_big
+ .msg = "{s} of bit sizes greater than " ++ std.fmt.comptimePrint("{d}", .{Properties.max_bits}) ++ " not supported"
+ .extra = .str
+ .kind = .@"error"
+
+keyword_macro
+ .msg = "keyword is hidden by macro definition"
+ .kind = .off
+ .pedantic = true
+ .opt = W("keyword-macro")
+
+ptr_arithmetic_incomplete
+ .msg = "arithmetic on a pointer to an incomplete type '{s}'"
+ .extra = .str
+ .kind = .@"error"
+
+callconv_not_supported
+ .msg = "'{s}' calling convention is not supported for this target"
+ .extra = .str
+ .opt = W("ignored-attributes")
+ .kind = .warning
+
+pointer_arith_void
+ .msg = "invalid application of '{s}' to a void type"
+ .extra = .str
+ .kind = .off
+ .pedantic = true
+ .opt = W("pointer-arith")
+
+sizeof_array_arg
+ .msg = "sizeof on array function parameter will return size of {s}"
+ .extra = .str
+ .kind = .warning
+ .opt = W("sizeof-array-argument")
+
+array_address_to_bool
+ .msg = "address of array '{s}' will always evaluate to 'true'"
+ .extra = .str
+ .kind = .warning
+ .opt = W("pointer-bool-conversion")
+
+string_literal_to_bool
+ .msg = "implicit conversion turns string literal into bool: {s}"
+ .extra = .str
+ .kind = .off
+ .opt = W("string-conversion")
+
+constant_expression_conversion_not_allowed
+ .msg = "this conversion is not allowed in a constant expression"
+ .kind = .note
+
+invalid_object_cast
+ .msg = "cannot cast an object of type {s}"
+ .extra = .str
+ .kind = .@"error"
+
+cli_invalid_fp_eval_method
+ .msg = "unsupported argument '{s}' to option '-ffp-eval-method='; expected 'source', 'double', or 'extended'"
+ .extra = .str
+ .kind = .@"error"
+
+suggest_pointer_for_invalid_fp16
+ .msg = "{s} cannot have __fp16 type; did you forget * ?"
+ .extra = .str
+ .kind = .@"error"
+
+bitint_suffix
+ .msg = "'_BitInt' suffix for literals is a C23 extension"
+ .opt = W("c23-extensions")
+ .kind = .warning
+ .suppress_version = .c23
+
+auto_type_extension
+ .msg = "'__auto_type' is a GNU extension"
+ .opt = W("gnu-auto-type")
+ .kind = .off
+ .pedantic = true
+
+auto_type_not_allowed
+ .msg = "'__auto_type' not allowed in {s}"
+ .kind = .@"error"
+ .extra = .str
+
+auto_type_requires_initializer
+ .msg = "declaration of variable '{s}' with deduced type requires an initializer"
+ .kind = .@"error"
+ .extra = .str
+
+auto_type_requires_single_declarator
+ .msg = "'__auto_type' may only be used with a single declarator"
+ .kind = .@"error"
+
+auto_type_requires_plain_declarator
+ .msg = "'__auto_type' requires a plain identifier as declarator"
+ .kind = .@"error"
+
+invalid_cast_to_auto_type
+ .msg = "invalid cast to '__auto_type'"
+ .kind = .@"error"
+
+auto_type_from_bitfield
+ .msg = "cannot use bit-field as '__auto_type' initializer"
+ .kind = .@"error"
+
+array_of_auto_type
+ .msg = "'{s}' declared as array of '__auto_type'"
+ .kind = .@"error"
+ .extra = .str
+
+auto_type_with_init_list
+ .msg = "cannot use '__auto_type' with initializer list"
+ .kind = .@"error"
+
+missing_semicolon
+ .msg = "expected ';' at end of declaration list"
+ .kind = .warning
+
+tentative_definition_incomplete
+ .msg = "tentative definition has type '{s}' that is never completed"
+ .kind = .@"error"
+ .extra = .str
+
+forward_declaration_here
+ .msg = "forward declaration of '{s}'"
+ .kind = .note
+ .extra = .str
+
+gnu_union_cast
+ .msg = "cast to union type is a GNU extension"
+ .opt = W("gnu-union-cast")
+ .kind = .off
+ .pedantic = true
+
+invalid_union_cast
+ .msg = "cast to union type from type '{s}' not present in union"
+ .kind = .@"error"
+ .extra = .str
+
+cast_to_incomplete_type
+ .msg = "cast to incomplete type '{s}'"
+ .kind = .@"error"
+ .extra = .str
+
+invalid_source_epoch
+ .msg = "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to 253402300799"
+ .kind = .@"error"
+
+fuse_ld_path
+ .msg = "'-fuse-ld=' taking a path is deprecated; use '--ld-path=' instead"
+ .kind = .off
+ .opt = W("fuse-ld-path")
+
+invalid_rtlib
+ .msg = "invalid runtime library name '{s}'"
+ .kind = .@"error"
+ .extra = .str
+
+unsupported_rtlib_gcc
+ .msg = "unsupported runtime library 'libgcc' for platform '{s}'"
+ .kind = .@"error"
+ .extra = .str
+
+invalid_unwindlib
+ .msg = "invalid unwind library name '{s}'"
+ .kind = .@"error"
+ .extra = .str
+
+incompatible_unwindlib
+ .msg = "--rtlib=libgcc requires --unwindlib=libgcc"
+ .kind = .@"error"
+
+gnu_asm_disabled
+ .msg = "GNU-style inline assembly is disabled"
+ .kind = .@"error"
+
+extension_token_used
+ .msg = "extension used"
+ .kind = .off
+ .pedantic = true
+ .opt = W("language-extension-token")
+
+complex_component_init
+ .msg = "complex initialization specifying real and imaginary components is an extension"
+ .opt = W("complex-component-init")
+ .kind = .off
+ .pedantic = true
+
+complex_prefix_postfix_op
+ .msg = "ISO C does not support '++'/'--' on complex type '{s}'"
+ .opt = W("pedantic")
+ .extra = .str
+ .kind = .off
+
+not_floating_type
+ .msg = "argument type '{s}' is not a real floating point type"
+ .extra = .str
+ .kind = .@"error"
+
+argument_types_differ
+ .msg = "arguments are of different types ({s})"
+ .extra = .str
+ .kind = .@"error"
+
+ms_search_rule
+ .msg = "#include resolved using non-portable Microsoft search rules as: {s}"
+ .extra = .str
+ .opt = W("microsoft-include")
+ .kind = .warning
+
+ctrl_z_eof
+ .msg = "treating Ctrl-Z as end-of-file is a Microsoft extension"
+ .opt = W("microsoft-end-of-file")
+ .kind = .off
+ .pedantic = true
+
+illegal_char_encoding_warning
+ .msg = "illegal character encoding in character literal"
+ .opt = W("invalid-source-encoding")
+ .kind = .warning
+
+illegal_char_encoding_error
+ .msg = "illegal character encoding in character literal"
+ .kind = .@"error"
+
+ucn_basic_char_error
+ .msg = "character '{c}' cannot be specified by a universal character name"
+ .kind = .@"error"
+ .extra = .ascii
+
+ucn_basic_char_warning
+ .msg = "specifying character '{c}' with a universal character name is incompatible with C standards before C23"
+ .kind = .off
+ .extra = .ascii
+ .suppress_unless_version = .c23
+ .opt = W("pre-c23-compat")
+
+ucn_control_char_error
+ .msg = "universal character name refers to a control character"
+ .kind = .@"error"
+
+ucn_control_char_warning
+ .msg = "universal character name referring to a control character is incompatible with C standards before C23"
+ .kind = .off
+ .suppress_unless_version = .c23
+ .opt = W("pre-c23-compat")
+
+c89_ucn_in_literal
+ .msg = "universal character names are only valid in C99 or later"
+ .suppress_version = .c99
+ .kind = .warning
+ .opt = W("unicode")
+
+four_char_char_literal
+ .msg = "multi-character character constant"
+ .opt = W("four-char-constants")
+ .kind = .off
+
+multi_char_char_literal
+ .msg = "multi-character character constant"
+ .kind = .off
+
+missing_hex_escape
+ .msg = "\\{c} used with no following hex digits"
+ .kind = .@"error"
+ .extra = .ascii
+
+unknown_escape_sequence
+ .msg = "unknown escape sequence '\\{s}'"
+ .kind = .warning
+ .opt = W("unknown-escape-sequence")
+ .extra = .invalid_escape
+
+attribute_requires_string
+ .msg = "attribute '{s}' requires an ordinary string"
+ .kind = .@"error"
+ .extra = .str
+
+unterminated_string_literal_warning
+ .msg = "missing terminating '\"' character"
+ .kind = .warning
+ .opt = W("invalid-pp-token")
+
+unterminated_string_literal_error
+ .msg = "missing terminating '\"' character"
+ .kind = .@"error"
+
+empty_char_literal_warning
+ .msg = "empty character constant"
+ .kind = .warning
+ .opt = W("invalid-pp-token")
+
+empty_char_literal_error
+ .msg = "empty character constant"
+ .kind = .@"error"
+
+unterminated_char_literal_warning
+ .msg = "missing terminating ' character"
+ .kind = .warning
+ .opt = W("invalid-pp-token")
+
+unterminated_char_literal_error
+ .msg = "missing terminating ' character"
+ .kind = .@"error"
+
+unterminated_comment
+ .msg = "unterminated comment"
+ .kind = .@"error"
+
+def_no_proto_deprecated
+ .msg = "a function definition without a prototype is deprecated in all versions of C and is not supported in C23"
+ .kind = .warning
+ .opt = W("deprecated-non-prototype")
+
+passing_args_to_kr
+ .msg = "passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C23"
+ .kind = .warning
+ .opt = W("deprecated-non-prototype")
+
+unknown_type_name
+ .msg = "unknown type name '{s}'"
+ .kind = .@"error"
+ .extra = .str
+
+label_compound_end
+ .msg = "label at end of compound statement is a C23 extension"
+ .opt = W("c23-extensions")
+ .kind = .warning
+ .suppress_version = .c23
+
+u8_char_lit
+ .msg = "UTF-8 character literal is a C23 extension"
+ .opt = W("c23-extensions")
+ .kind = .warning
+ .suppress_version = .c23
+
+malformed_embed_param
+ .msg = "unexpected token in embed parameter"
+ .kind = .@"error"
+
+malformed_embed_limit
+ .msg = "the limit parameter expects one non-negative integer as a parameter"
+ .kind = .@"error"
+
+duplicate_embed_param
+ .msg = "duplicate embed parameter '{s}'"
+ .kind = .warning
+ .extra = .str
+ .opt = W("duplicate-embed-param")
+
+unsupported_embed_param
+ .msg = "unsupported embed parameter '{s}' embed parameter"
+ .kind = .warning
+ .extra = .str
+ .opt = W("unsupported-embed-param")
+
+invalid_compound_literal_storage_class
+ .msg = "compound literal cannot have {s} storage class"
+ .kind = .@"error"
+ .extra = .str
+
+va_opt_lparen
+ .msg = "missing '(' following __VA_OPT__"
+ .kind = .@"error"
+
+va_opt_rparen
+ .msg = "unterminated __VA_OPT__ argument list"
+ .kind = .@"error"
+
+attribute_int_out_of_range
+ .msg = "attribute value '{s}' out of range"
+ .kind = .@"error"
+ .extra = .str
+
+identifier_not_normalized
+ .msg = "'{s}' is not in NFC"
+ .kind = .warning
+ .extra = .normalized
+ .opt = W("normalized")
+
+c23_auto_plain_declarator
+ .msg = "'auto' requires a plain identifier declarator"
+ .kind = .@"error"
+
+c23_auto_single_declarator
+ .msg = "'auto' can only be used with a single declarator"
+ .kind = .@"error"
+
+c32_auto_requires_initializer
+ .msg = "'auto' requires an initializer"
+ .kind = .@"error"
+
+c23_auto_scalar_init
+ .msg = "'auto' requires a scalar initializer"
+ .kind = .@"error"
deps/aro/Driver/Distro.zig → deps/aro/aro/Driver/Distro.zig
@@ -2,7 +2,6 @@
const std = @import("std");
const mem = std.mem;
-const util = @import("../util.zig");
const Filesystem = @import("Filesystem.zig").Filesystem;
const MAX_BYTES = 1024; // TODO: Can we assume 1024 bytes enough for the info we need?
deps/aro/Driver/Filesystem.zig → deps/aro/aro/Driver/Filesystem.zig
@@ -1,7 +1,6 @@
const std = @import("std");
const mem = std.mem;
const builtin = @import("builtin");
-const system_defaults = @import("system_defaults");
const is_windows = builtin.os.tag == .windows;
fn readFileFake(entries: []const Filesystem.Entry, path: []const u8, buf: []u8) ?[]const u8 {
@@ -25,7 +24,7 @@ fn findProgramByNameFake(entries: []const Filesystem.Entry, name: []const u8, pa
const path_env = path orelse return null;
var fib = std.heap.FixedBufferAllocator.init(buf);
- var it = mem.tokenizeScalar(u8, path_env, system_defaults.path_sep);
+ var it = mem.tokenizeScalar(u8, path_env, std.fs.path.delimiter);
while (it.next()) |path_dir| {
defer fib.reset();
const full_path = std.fs.path.join(fib.allocator(), &.{ path_dir, name }) catch continue;
@@ -86,7 +85,7 @@ fn findProgramByNamePosix(name: []const u8, path: ?[]const u8, buf: []u8) ?[]con
const path_env = path orelse return null;
var fib = std.heap.FixedBufferAllocator.init(buf);
- var it = mem.tokenizeScalar(u8, path_env, system_defaults.path_sep);
+ var it = mem.tokenizeScalar(u8, path_env, std.fs.path.delimiter);
while (it.next()) |path_dir| {
defer fib.reset();
const full_path = std.fs.path.join(fib.allocator(), &.{ path_dir, name }) catch continue;
@@ -122,8 +121,6 @@ pub const Filesystem = union(enum) {
base: []const u8,
i: usize = 0,
- const Self = @This();
-
fn next(self: *@This()) !?std.fs.IterableDir.Entry {
while (self.i < self.entries.len) {
const entry = self.entries[self.i];
deps/aro/Driver/GCCDetector.zig → deps/aro/aro/Driver/GCCDetector.zig
@@ -2,9 +2,9 @@ const std = @import("std");
const Toolchain = @import("../Toolchain.zig");
const target_util = @import("../target.zig");
const system_defaults = @import("system_defaults");
-const util = @import("../util.zig");
const GCCVersion = @import("GCCVersion.zig");
const Multilib = @import("Multilib.zig");
+
const GCCDetector = @This();
is_valid: bool = false,
@@ -403,13 +403,22 @@ pub fn discover(self: *GCCDetector, tc: *Toolchain) !void {
var fib = std.heap.FixedBufferAllocator.init(&path_buf);
const target = tc.getTarget();
- const biarch_variant_target = if (target.ptrBitWidth() == 32) target_util.get64BitArchVariant(target) else target_util.get32BitArchVariant(target);
+ const biarch_variant_target = if (target.ptrBitWidth() == 32)
+ target_util.get64BitArchVariant(target)
+ else
+ target_util.get32BitArchVariant(target);
var candidate_lib_dirs: PathPrefixes = .{};
- var candidate_biarch_lib_dirs: PathPrefixes = .{};
var candidate_triple_aliases: PathPrefixes = .{};
+ var candidate_biarch_lib_dirs: PathPrefixes = .{};
var candidate_biarch_triple_aliases: PathPrefixes = .{};
- try collectLibDirsAndTriples(tc, &candidate_lib_dirs, &candidate_biarch_lib_dirs, &candidate_triple_aliases, &candidate_biarch_triple_aliases);
+ try collectLibDirsAndTriples(
+ tc,
+ &candidate_lib_dirs,
+ &candidate_triple_aliases,
+ &candidate_biarch_lib_dirs,
+ &candidate_biarch_triple_aliases,
+ );
var target_buf: [64]u8 = undefined;
const triple_str = target_util.toLLVMTriple(target, &target_buf);
@@ -476,7 +485,13 @@ pub fn discover(self: *GCCDetector, tc: *Toolchain) !void {
}
}
-fn findBiarchMultilibs(tc: *const Toolchain, result: *Multilib.Detected, target: std.Target, path: [2][]const u8, needs_biarch_suffix: bool) !bool {
+fn findBiarchMultilibs(
+ tc: *const Toolchain,
+ result: *Multilib.Detected,
+ target: std.Target,
+ path: [2][]const u8,
+ needs_biarch_suffix: bool,
+) !bool {
const suff64 = if (target.os.tag == .solaris) switch (target.cpu.arch) {
.x86, .x86_64 => "/amd64",
.sparc => "/sparcv9",
@@ -531,7 +546,13 @@ fn findBiarchMultilibs(tc: *const Toolchain, result: *Multilib.Detected, target:
return result.select(flags);
}
-fn scanGCCForMultilibs(self: *GCCDetector, tc: *const Toolchain, target: std.Target, path: [2][]const u8, needs_biarch_suffix: bool) !bool {
+fn scanGCCForMultilibs(
+ self: *GCCDetector,
+ tc: *const Toolchain,
+ target: std.Target,
+ path: [2][]const u8,
+ needs_biarch_suffix: bool,
+) !bool {
var detected: Multilib.Detected = .{};
if (target.cpu.arch == .csky) {
// TODO
deps/aro/Driver/GCCVersion.zig → deps/aro/aro/Driver/GCCVersion.zig
File renamed without changes
deps/aro/Driver/Multilib.zig → deps/aro/aro/Driver/Multilib.zig
@@ -1,5 +1,4 @@
const std = @import("std");
-const util = @import("../util.zig");
const Filesystem = @import("Filesystem.zig").Filesystem;
pub const Flags = std.BoundedArray([]const u8, 6);
deps/aro/pragmas/gcc.zig → deps/aro/aro/pragmas/gcc.zig
@@ -38,18 +38,18 @@ const Directive = enum {
fn beforePreprocess(pragma: *Pragma, comp: *Compilation) void {
var self = @fieldParentPtr(GCC, "pragma", pragma);
- self.original_options = comp.diag.options;
+ self.original_options = comp.diagnostics.options;
}
fn beforeParse(pragma: *Pragma, comp: *Compilation) void {
var self = @fieldParentPtr(GCC, "pragma", pragma);
- comp.diag.options = self.original_options;
+ comp.diagnostics.options = self.original_options;
self.options_stack.items.len = 0;
}
fn afterParse(pragma: *Pragma, comp: *Compilation) void {
var self = @fieldParentPtr(GCC, "pragma", pragma);
- comp.diag.options = self.original_options;
+ comp.diagnostics.options = self.original_options;
self.options_stack.items.len = 0;
}
@@ -76,7 +76,7 @@ fn diagnosticHandler(self: *GCC, pp: *Preprocessor, start_idx: TokenIndex) Pragm
.ignored, .warning, .@"error", .fatal => {
const str = Pragma.pasteTokens(pp, start_idx + 1) catch |err| switch (err) {
error.ExpectedStringLiteral => {
- return pp.comp.diag.add(.{
+ return pp.comp.addDiagnostic(.{
.tag = .pragma_requires_string_literal,
.loc = diagnostic_tok.loc,
.extra = .{ .str = "GCC diagnostic" },
@@ -86,24 +86,24 @@ fn diagnosticHandler(self: *GCC, pp: *Preprocessor, start_idx: TokenIndex) Pragm
};
if (!mem.startsWith(u8, str, "-W")) {
const next = pp.tokens.get(start_idx + 1);
- return pp.comp.diag.add(.{
+ return pp.comp.addDiagnostic(.{
.tag = .malformed_warning_check,
.loc = next.loc,
.extra = .{ .str = "GCC diagnostic" },
}, next.expansionSlice());
}
- const new_kind = switch (diagnostic) {
- .ignored => Diagnostics.Kind.off,
- .warning => Diagnostics.Kind.warning,
- .@"error" => Diagnostics.Kind.@"error",
- .fatal => Diagnostics.Kind.@"fatal error",
+ const new_kind: Diagnostics.Kind = switch (diagnostic) {
+ .ignored => .off,
+ .warning => .warning,
+ .@"error" => .@"error",
+ .fatal => .@"fatal error",
else => unreachable,
};
- try pp.comp.diag.set(str[2..], new_kind);
+ try pp.comp.diagnostics.set(str[2..], new_kind);
},
- .push => try self.options_stack.append(pp.comp.gpa, pp.comp.diag.options),
- .pop => pp.comp.diag.options = self.options_stack.popOrNull() orelse self.original_options,
+ .push => try self.options_stack.append(pp.comp.gpa, pp.comp.diagnostics.options),
+ .pop => pp.comp.diagnostics.options = self.options_stack.popOrNull() orelse self.original_options,
}
}
@@ -113,7 +113,7 @@ fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex
if (directive_tok.id == .nl) return;
const gcc_pragma = std.meta.stringToEnum(Directive, pp.expandedSlice(directive_tok)) orelse
- return pp.comp.diag.add(.{
+ return pp.comp.addDiagnostic(.{
.tag = .unknown_gcc_pragma,
.loc = directive_tok.loc,
}, directive_tok.expansionSlice());
@@ -122,7 +122,7 @@ fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex
.warning, .@"error" => {
const text = Pragma.pasteTokens(pp, start_idx + 2) catch |err| switch (err) {
error.ExpectedStringLiteral => {
- return pp.comp.diag.add(.{
+ return pp.comp.addDiagnostic(.{
.tag = .pragma_requires_string_literal,
.loc = directive_tok.loc,
.extra = .{ .str = @tagName(gcc_pragma) },
@@ -130,9 +130,9 @@ fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex
},
else => |e| return e,
};
- const extra = Diagnostics.Message.Extra{ .str = try pp.comp.diag.arena.allocator().dupe(u8, text) };
+ const extra = Diagnostics.Message.Extra{ .str = try pp.comp.diagnostics.arena.allocator().dupe(u8, text) };
const diagnostic_tag: Diagnostics.Tag = if (gcc_pragma == .warning) .pragma_warning_message else .pragma_error_message;
- return pp.comp.diag.add(
+ return pp.comp.addDiagnostic(
.{ .tag = diagnostic_tag, .loc = directive_tok.loc, .extra = extra },
directive_tok.expansionSlice(),
);
@@ -140,7 +140,7 @@ fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex
.diagnostic => return self.diagnosticHandler(pp, start_idx + 2) catch |err| switch (err) {
error.UnknownPragma => {
const tok = pp.tokens.get(start_idx + 2);
- return pp.comp.diag.add(.{
+ return pp.comp.addDiagnostic(.{
.tag = .unknown_gcc_pragma_directive,
.loc = tok.loc,
}, tok.expansionSlice());
@@ -154,14 +154,14 @@ fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex
if (tok.id == .nl) break;
if (!tok.id.isMacroIdentifier()) {
- return pp.comp.diag.add(.{
+ return pp.comp.addDiagnostic(.{
.tag = .pragma_poison_identifier,
.loc = tok.loc,
}, tok.expansionSlice());
}
const str = pp.expandedSlice(tok);
if (pp.defines.get(str) != null) {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .pragma_poison_macro,
.loc = tok.loc,
}, tok.expansionSlice());
deps/aro/pragmas/message.zig → deps/aro/aro/pragmas/message.zig
@@ -22,7 +22,7 @@ pub fn init(allocator: mem.Allocator) !*Pragma {
}
fn deinit(pragma: *Pragma, comp: *Compilation) void {
- var self = @fieldParentPtr(Message, "pragma", pragma);
+ const self = @fieldParentPtr(Message, "pragma", pragma);
comp.gpa.destroy(self);
}
@@ -32,7 +32,7 @@ fn preprocessorHandler(_: *Pragma, pp: *Preprocessor, start_idx: TokenIndex) Pra
const str = Pragma.pasteTokens(pp, start_idx + 1) catch |err| switch (err) {
error.ExpectedStringLiteral => {
- return pp.comp.diag.add(.{
+ return pp.comp.addDiagnostic(.{
.tag = .pragma_requires_string_literal,
.loc = message_tok.loc,
.extra = .{ .str = "message" },
@@ -45,6 +45,6 @@ fn preprocessorHandler(_: *Pragma, pp: *Preprocessor, start_idx: TokenIndex) Pra
message_expansion_locs[message_expansion_locs.len - 1]
else
message_tok.loc;
- const extra = Diagnostics.Message.Extra{ .str = try pp.comp.diag.arena.allocator().dupe(u8, str) };
- return pp.comp.diag.add(.{ .tag = .pragma_message, .loc = loc, .extra = extra }, &.{});
+ const extra = Diagnostics.Message.Extra{ .str = try pp.comp.diagnostics.arena.allocator().dupe(u8, str) };
+ return pp.comp.addDiagnostic(.{ .tag = .pragma_message, .loc = loc, .extra = extra }, &.{});
}
deps/aro/pragmas/once.zig → deps/aro/aro/pragmas/once.zig
@@ -42,7 +42,7 @@ fn preprocessorHandler(pragma: *Pragma, pp: *Preprocessor, start_idx: TokenIndex
const name_tok = pp.tokens.get(start_idx);
const next = pp.tokens.get(start_idx + 1);
if (next.id != .nl) {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .extra_tokens_directive_end,
.loc = name_tok.loc,
}, next.expansionSlice());
deps/aro/pragmas/pack.zig → deps/aro/aro/pragmas/pack.zig
@@ -34,7 +34,7 @@ fn parserHandler(pragma: *Pragma, p: *Parser, start_idx: TokenIndex) Compilation
var idx = start_idx + 1;
const l_paren = p.pp.tokens.get(idx);
if (l_paren.id != .l_paren) {
- return p.comp.diag.add(.{
+ return p.comp.addDiagnostic(.{
.tag = .pragma_pack_lparen,
.loc = l_paren.loc,
}, l_paren.expansionSlice());
@@ -127,7 +127,7 @@ fn packInt(p: *Parser, tok_i: TokenIndex) Compilation.Error!?u8 {
},
else => |e| return e,
};
- const int = if (res.val.tag == .int) res.val.getInt(u64) else 99;
+ const int = res.val.toInt(u64, p.comp) orelse 99;
switch (int) {
1, 2, 4, 8, 16 => return @intCast(int),
else => {
deps/aro/toolchains/Linux.zig → deps/aro/aro/toolchains/Linux.zig
@@ -385,6 +385,7 @@ test Linux {
comp.environment = .{
.path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
};
+ defer comp.environment = .{};
const raw_triple = "x86_64-linux-gnu";
const cross = std.zig.CrossTarget.parse(.{ .arch_os_abi = raw_triple }) catch unreachable;
deps/aro/Attribute.zig → deps/aro/aro/Attribute.zig
@@ -1,7 +1,7 @@
const std = @import("std");
const mem = std.mem;
const ZigType = std.builtin.Type;
-const CallingConvention = @import("lib.zig").CallingConvention;
+const CallingConvention = @import("backend").CallingConvention;
const Compilation = @import("Compilation.zig");
const Diagnostics = @import("Diagnostics.zig");
const Parser = @import("Parser.zig");
@@ -18,20 +18,20 @@ syntax: Syntax,
args: Arguments,
pub const Syntax = enum {
- c2x,
+ c23,
declspec,
gnu,
keyword,
};
pub const Kind = enum {
- c2x,
+ c23,
declspec,
gnu,
pub fn toSyntax(kind: Kind) Syntax {
return switch (kind) {
- .c2x => .c2x,
+ .c23 => .c23,
.declspec => .declspec,
.gnu => .gnu,
};
@@ -57,30 +57,6 @@ pub const ArgumentType = enum {
.expression => "an expression",
};
}
-
- fn fromType(comptime T: type) ArgumentType {
- return switch (T) {
- Value.ByteRange => .string,
- Identifier => .identifier,
- u32 => .int,
- Alignment => .alignment,
- CallingConvention => .identifier,
- else => switch (@typeInfo(T)) {
- .Enum => if (T.opts.enum_kind == .string) .string else .identifier,
- else => unreachable,
- },
- };
- }
-
- fn fromVal(value: Value) ArgumentType {
- return switch (value.tag) {
- .int => .int,
- .bytes => .string,
- .unavailable => .expression,
- .float => .float,
- .nullptr_t => .nullptr_t,
- };
- }
};
/// number of required arguments
@@ -216,7 +192,7 @@ pub fn wantsAlignment(attr: Tag, idx: usize) bool {
}
}
-pub fn diagnoseAlignment(attr: Tag, arguments: *Arguments, arg_idx: u32, val: Value, ty: Type, comp: *Compilation) ?Diagnostics.Message {
+pub fn diagnoseAlignment(attr: Tag, arguments: *Arguments, arg_idx: u32, res: Parser.Result, p: *Parser) !?Diagnostics.Message {
switch (attr) {
inline else => |tag| {
const arg_fields = std.meta.fields(@field(attributes, @tagName(tag)));
@@ -226,12 +202,12 @@ pub fn diagnoseAlignment(attr: Tag, arguments: *Arguments, arg_idx: u32, val: Va
inline 0...arg_fields.len - 1 => |arg_i| {
if (UnwrapOptional(arg_fields[arg_i].type) != Alignment) unreachable;
- if (val.tag != .int) return Diagnostics.Message{ .tag = .alignas_unavailable };
- if (val.compare(.lt, Value.int(0), ty, comp)) {
- return Diagnostics.Message{ .tag = .negative_alignment, .extra = .{ .signed = val.signExtend(ty, comp) } };
+ if (!res.val.is(.int, p.comp)) return Diagnostics.Message{ .tag = .alignas_unavailable };
+ if (res.val.compare(.lt, Value.zero, p.comp)) {
+ return Diagnostics.Message{ .tag = .negative_alignment, .extra = .{ .str = try res.str(p) } };
}
- const requested = std.math.cast(u29, val.data.int) orelse {
- return Diagnostics.Message{ .tag = .maximum_alignment, .extra = .{ .unsigned = val.data.int } };
+ const requested = res.val.toInt(u29, p.comp) orelse {
+ return Diagnostics.Message{ .tag = .maximum_alignment, .extra = .{ .str = try res.str(p) } };
};
if (!std.mem.isValidAlign(requested)) return Diagnostics.Message{ .tag = .non_pow2_align };
@@ -247,59 +223,84 @@ pub fn diagnoseAlignment(attr: Tag, arguments: *Arguments, arg_idx: u32, val: Va
fn diagnoseField(
comptime decl: ZigType.Declaration,
comptime field: ZigType.StructField,
- comptime wanted: type,
+ comptime Wanted: type,
arguments: *Arguments,
- val: Value,
+ res: Parser.Result,
node: Tree.Node,
- strings: []const u8,
-) ?Diagnostics.Message {
- switch (val.tag) {
+ p: *Parser,
+) !?Diagnostics.Message {
+ if (res.val.opt_ref == .none) {
+ if (Wanted == Identifier and node.tag == .decl_ref_expr) {
+ @field(@field(arguments, decl.name), field.name) = Identifier{ .tok = node.data.decl_ref };
+ return null;
+ }
+ return invalidArgMsg(Wanted, .expression);
+ }
+ const key = p.comp.interner.get(res.val.ref());
+ switch (key) {
.int => {
- if (@typeInfo(wanted) == .Int) {
- @field(@field(arguments, decl.name), field.name) = val.getInt(wanted);
+ if (@typeInfo(Wanted) == .Int) {
+ @field(@field(arguments, decl.name), field.name) = res.val.toInt(Wanted, p.comp) orelse return .{
+ .tag = .attribute_int_out_of_range,
+ .extra = .{ .str = try res.str(p) },
+ };
return null;
}
},
- .bytes => {
- const bytes = val.data.bytes.trim(1); // remove null terminator
- if (wanted == Value.ByteRange) {
+ .bytes => |bytes| {
+ if (Wanted == Value) {
std.debug.assert(node.tag == .string_literal_expr);
if (!node.ty.elemType().is(.char) and !node.ty.elemType().is(.uchar)) {
- return Diagnostics.Message{
+ return .{
.tag = .attribute_requires_string,
.extra = .{ .str = decl.name },
};
}
- @field(@field(arguments, decl.name), field.name) = bytes;
+ @field(@field(arguments, decl.name), field.name) = try p.removeNull(res.val);
return null;
- } else if (@typeInfo(wanted) == .Enum and @hasDecl(wanted, "opts") and wanted.opts.enum_kind == .string) {
- const str = bytes.slice(strings, .@"1");
- if (std.meta.stringToEnum(wanted, str)) |enum_val| {
+ } else if (@typeInfo(Wanted) == .Enum and @hasDecl(Wanted, "opts") and Wanted.opts.enum_kind == .string) {
+ const str = bytes[0 .. bytes.len - 1];
+ if (std.meta.stringToEnum(Wanted, str)) |enum_val| {
@field(@field(arguments, decl.name), field.name) = enum_val;
return null;
} else {
@setEvalBranchQuota(3000);
- return Diagnostics.Message{
+ return .{
.tag = .unknown_attr_enum,
.extra = .{ .attr_enum = .{ .tag = std.meta.stringToEnum(Tag, decl.name).? } },
};
}
}
},
- else => {
- if (wanted == Identifier and node.tag == .decl_ref_expr) {
- @field(@field(arguments, decl.name), field.name) = Identifier{ .tok = node.data.decl_ref };
- return null;
- }
- },
+ else => {},
}
- return Diagnostics.Message{
+ return invalidArgMsg(Wanted, switch (key) {
+ .int => .int,
+ .bytes => .string,
+ .float => .float,
+ .null => .nullptr_t,
+ else => unreachable,
+ });
+}
+
+fn invalidArgMsg(comptime Expected: type, actual: ArgumentType) Diagnostics.Message {
+ return .{
.tag = .attribute_arg_invalid,
- .extra = .{ .attr_arg_type = .{ .expected = ArgumentType.fromType(wanted), .actual = ArgumentType.fromVal(val) } },
+ .extra = .{ .attr_arg_type = .{ .expected = switch (Expected) {
+ Value => .string,
+ Identifier => .identifier,
+ u32 => .int,
+ Alignment => .alignment,
+ CallingConvention => .identifier,
+ else => switch (@typeInfo(Expected)) {
+ .Enum => if (Expected.opts.enum_kind == .string) .string else .identifier,
+ else => unreachable,
+ },
+ }, .actual = actual } },
};
}
-pub fn diagnose(attr: Tag, arguments: *Arguments, arg_idx: u32, val: Value, node: Tree.Node, strings: []const u8) ?Diagnostics.Message {
+pub fn diagnose(attr: Tag, arguments: *Arguments, arg_idx: u32, res: Parser.Result, node: Tree.Node, p: *Parser) !?Diagnostics.Message {
switch (attr) {
inline else => |tag| {
const decl = @typeInfo(attributes).Struct.decls[@intFromEnum(tag)];
@@ -311,7 +312,7 @@ pub fn diagnose(attr: Tag, arguments: *Arguments, arg_idx: u32, val: Value, node
const arg_fields = std.meta.fields(@field(attributes, decl.name));
switch (arg_idx) {
inline 0...arg_fields.len - 1 => |arg_i| {
- return diagnoseField(decl, arg_fields[arg_i], UnwrapOptional(arg_fields[arg_i].type), arguments, val, node, strings);
+ return diagnoseField(decl, arg_fields[arg_i], UnwrapOptional(arg_fields[arg_i].type), arguments, res, node, p);
},
else => unreachable,
}
@@ -347,7 +348,7 @@ const attributes = struct {
size_index: ?u32 = null,
};
pub const alias = struct {
- alias: Value.ByteRange,
+ alias: Value,
};
pub const aligned = struct {
alignment: ?Alignment = null,
@@ -361,7 +362,7 @@ const attributes = struct {
position_2: ?u32 = null,
};
pub const allocate = struct {
- segname: Value.ByteRange,
+ segname: Value,
};
pub const allocator = struct {};
pub const always_inline = struct {};
@@ -375,7 +376,7 @@ const attributes = struct {
function: Identifier,
};
pub const code_seg = struct {
- segname: Value.ByteRange,
+ segname: Value,
};
pub const cold = struct {};
pub const common = struct {};
@@ -387,7 +388,7 @@ const attributes = struct {
function: Identifier,
};
pub const deprecated = struct {
- msg: ?Value.ByteRange = null,
+ msg: ?Value = null,
__name_tok: TokenIndex,
};
pub const designated_init = struct {};
@@ -397,7 +398,7 @@ const attributes = struct {
pub const dllexport = struct {};
pub const dllimport = struct {};
pub const @"error" = struct {
- msg: Value.ByteRange,
+ msg: Value,
__name_tok: TokenIndex,
};
pub const externally_visible = struct {};
@@ -423,7 +424,7 @@ const attributes = struct {
pub const gnu_inline = struct {};
pub const hot = struct {};
pub const ifunc = struct {
- resolver: Value.ByteRange,
+ resolver: Value,
};
pub const interrupt = struct {};
pub const interrupt_handler = struct {};
@@ -469,8 +470,8 @@ const attributes = struct {
pub const no_reorder = struct {};
pub const no_sanitize = struct {
/// Todo: represent args as union?
- alignment: Value.ByteRange,
- object_size: ?Value.ByteRange = null,
+ alignment: Value,
+ object_size: ?Value = null,
};
pub const no_sanitize_address = struct {};
pub const no_sanitize_coverage = struct {};
@@ -521,7 +522,7 @@ const attributes = struct {
},
};
pub const section = struct {
- name: Value.ByteRange,
+ name: Value,
};
pub const selectany = struct {};
pub const sentinel = struct {
@@ -548,15 +549,15 @@ const attributes = struct {
};
pub const stack_protect = struct {};
pub const symver = struct {
- version: Value.ByteRange, // TODO: validate format "name2@nodename"
+ version: Value, // TODO: validate format "name2@nodename"
};
pub const target = struct {
- options: Value.ByteRange, // TODO: multiple arguments
+ options: Value, // TODO: multiple arguments
};
pub const target_clones = struct {
- options: Value.ByteRange, // TODO: multiple arguments
+ options: Value, // TODO: multiple arguments
};
pub const thread = struct {};
@@ -574,7 +575,7 @@ const attributes = struct {
};
pub const transparent_union = struct {};
pub const unavailable = struct {
- msg: ?Value.ByteRange = null,
+ msg: ?Value = null,
__name_tok: TokenIndex,
};
pub const uninitialized = struct {};
@@ -582,7 +583,7 @@ const attributes = struct {
pub const unused = struct {};
pub const used = struct {};
pub const uuid = struct {
- uuid: Value.ByteRange,
+ uuid: Value,
};
pub const vector_size = struct {
bytes: u32, // TODO: validate "The bytes argument must be a positive power-of-two multiple of the base type size"
@@ -605,12 +606,12 @@ const attributes = struct {
};
pub const warn_unused_result = struct {};
pub const warning = struct {
- msg: Value.ByteRange,
+ msg: Value,
__name_tok: TokenIndex,
};
pub const weak = struct {};
pub const weakref = struct {
- target: ?Value.ByteRange = null,
+ target: ?Value = null,
};
pub const zero_call_used_regs = struct {
choice: enum {
@@ -630,7 +631,7 @@ const attributes = struct {
},
};
pub const asm_label = struct {
- name: Value.ByteRange,
+ name: Value,
};
pub const calling_convention = struct {
cc: CallingConvention,
@@ -684,7 +685,7 @@ pub fn fromString(kind: Kind, namespace: ?[]const u8, name: []const u8) ?Tag {
tag: Tag,
gnu: bool = false,
declspec: bool = false,
- c2x: bool = false,
+ c23: bool = false,
};
const attribute_names = @import("Attribute/names.def").with(Properties);
@@ -707,7 +708,7 @@ pub fn fromString(kind: Kind, namespace: ?[]const u8, name: []const u8) ?Tag {
return null;
}
-fn normalize(name: []const u8) []const u8 {
+pub fn normalize(name: []const u8) []const u8 {
if (name.len >= 4 and mem.startsWith(u8, name, "__") and mem.endsWith(u8, name, "__")) {
return name[2 .. name.len - 2];
}
@@ -719,7 +720,7 @@ fn ignoredAttrErr(p: *Parser, tok: TokenIndex, attr: Attribute.Tag, context: []c
defer p.strings.items.len = strings_top;
try p.strings.writer().print("attribute '{s}' ignored on {s}", .{ @tagName(attr), context });
- const str = try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+ const str = try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
try p.errStr(.ignored_attribute, tok, str);
}
@@ -1029,7 +1030,11 @@ fn applyTransparentUnion(attr: Attribute, p: *Parser, tok: TokenIndex, ty: Type)
const field_size = field.ty.bitSizeof(p.comp).?;
if (field_size == first_field_size) continue;
const mapper = p.comp.string_interner.getSlowTypeMapper();
- const str = try std.fmt.allocPrint(p.comp.diag.arena.allocator(), "'{s}' ({d}", .{ mapper.lookup(field.name), field_size });
+ const str = try std.fmt.allocPrint(
+ p.comp.diagnostics.arena.allocator(),
+ "'{s}' ({d}",
+ .{ mapper.lookup(field.name), field_size },
+ );
try p.errStr(.transparent_union_size, field.name_tok, str);
return p.errExtra(.transparent_union_size_note, fields[0].name_tok, .{ .unsigned = first_field_size });
}
deps/aro/Builtins.zig → deps/aro/aro/Builtins.zig
@@ -10,8 +10,6 @@ const Parser = @import("Parser.zig");
const Properties = @import("Builtins/Properties.zig");
pub const Builtin = @import("Builtins/Builtin.def").with(Properties);
-const Builtins = @This();
-
const Expanded = struct {
ty: Type,
builtin: Builtin,
@@ -19,6 +17,8 @@ const Expanded = struct {
const NameToTypeMap = std.StringHashMapUnmanaged(Type);
+const Builtins = @This();
+
_name_to_type_map: NameToTypeMap = .{},
pub fn deinit(b: *Builtins, gpa: std.mem.Allocator) void {
@@ -355,7 +355,7 @@ test Iterator {
test "All builtins" {
var comp = Compilation.init(std.testing.allocator);
defer comp.deinit();
- _ = try comp.generateBuiltinMacros();
+ _ = try comp.generateBuiltinMacros(.include_system_defines);
var arena = std.heap.ArenaAllocator.init(std.testing.allocator);
defer arena.deinit();
@@ -378,7 +378,7 @@ test "Allocation failures" {
fn testOne(allocator: std.mem.Allocator) !void {
var comp = Compilation.init(allocator);
defer comp.deinit();
- _ = try comp.generateBuiltinMacros();
+ _ = try comp.generateBuiltinMacros(.include_system_defines);
var arena = std.heap.ArenaAllocator.init(comp.gpa);
defer arena.deinit();
deps/aro/aro/char_info.zig
@@ -0,0 +1,1111 @@
+//! This module provides functions for classifying characters according to
+//! various C standards. All classification routines *do not* consider
+//! characters from the basic character set; it is assumed those will be
+//! checked separately
+//! isXidStart and isXidContinue are adapted from https://github.com/dtolnay/unicode-ident
+
+const assert = @import("std").debug.assert;
+const tables = @import("char_info/identifier_tables.zig");
+
+/// C11 Standard Annex D
+pub fn isC11IdChar(codepoint: u21) bool {
+ assert(codepoint > 0x7F);
+ return switch (codepoint) {
+ // 1
+ 0x00A8,
+ 0x00AA,
+ 0x00AD,
+ 0x00AF,
+ 0x00B2...0x00B5,
+ 0x00B7...0x00BA,
+ 0x00BC...0x00BE,
+ 0x00C0...0x00D6,
+ 0x00D8...0x00F6,
+ 0x00F8...0x00FF,
+
+ // 2
+ 0x0100...0x167F,
+ 0x1681...0x180D,
+ 0x180F...0x1FFF,
+
+ // 3
+ 0x200B...0x200D,
+ 0x202A...0x202E,
+ 0x203F...0x2040,
+ 0x2054,
+ 0x2060...0x206F,
+
+ // 4
+ 0x2070...0x218F,
+ 0x2460...0x24FF,
+ 0x2776...0x2793,
+ 0x2C00...0x2DFF,
+ 0x2E80...0x2FFF,
+
+ // 5
+ 0x3004...0x3007,
+ 0x3021...0x302F,
+ 0x3031...0x303F,
+
+ // 6
+ 0x3040...0xD7FF,
+
+ // 7
+ 0xF900...0xFD3D,
+ 0xFD40...0xFDCF,
+ 0xFDF0...0xFE44,
+ 0xFE47...0xFFFD,
+
+ // 8
+ 0x10000...0x1FFFD,
+ 0x20000...0x2FFFD,
+ 0x30000...0x3FFFD,
+ 0x40000...0x4FFFD,
+ 0x50000...0x5FFFD,
+ 0x60000...0x6FFFD,
+ 0x70000...0x7FFFD,
+ 0x80000...0x8FFFD,
+ 0x90000...0x9FFFD,
+ 0xA0000...0xAFFFD,
+ 0xB0000...0xBFFFD,
+ 0xC0000...0xCFFFD,
+ 0xD0000...0xDFFFD,
+ 0xE0000...0xEFFFD,
+ => true,
+ else => false,
+ };
+}
+
+/// C99 Standard Annex D
+pub fn isC99IdChar(codepoint: u21) bool {
+ assert(codepoint > 0x7F);
+ return switch (codepoint) {
+ // Latin
+ 0x00AA,
+ 0x00BA,
+ 0x00C0...0x00D6,
+ 0x00D8...0x00F6,
+ 0x00F8...0x01F5,
+ 0x01FA...0x0217,
+ 0x0250...0x02A8,
+ 0x1E00...0x1E9B,
+ 0x1EA0...0x1EF9,
+ 0x207F,
+
+ // Greek
+ 0x0386,
+ 0x0388...0x038A,
+ 0x038C,
+ 0x038E...0x03A1,
+ 0x03A3...0x03CE,
+ 0x03D0...0x03D6,
+ 0x03DA,
+ 0x03DC,
+ 0x03DE,
+ 0x03E0,
+ 0x03E2...0x03F3,
+ 0x1F00...0x1F15,
+ 0x1F18...0x1F1D,
+ 0x1F20...0x1F45,
+ 0x1F48...0x1F4D,
+ 0x1F50...0x1F57,
+ 0x1F59,
+ 0x1F5B,
+ 0x1F5D,
+ 0x1F5F...0x1F7D,
+ 0x1F80...0x1FB4,
+ 0x1FB6...0x1FBC,
+ 0x1FC2...0x1FC4,
+ 0x1FC6...0x1FCC,
+ 0x1FD0...0x1FD3,
+ 0x1FD6...0x1FDB,
+ 0x1FE0...0x1FEC,
+ 0x1FF2...0x1FF4,
+ 0x1FF6...0x1FFC,
+
+ // Cyrillic
+ 0x0401...0x040C,
+ 0x040E...0x044F,
+ 0x0451...0x045C,
+ 0x045E...0x0481,
+ 0x0490...0x04C4,
+ 0x04C7...0x04C8,
+ 0x04CB...0x04CC,
+ 0x04D0...0x04EB,
+ 0x04EE...0x04F5,
+ 0x04F8...0x04F9,
+
+ // Armenian
+ 0x0531...0x0556,
+ 0x0561...0x0587,
+
+ // Hebrew
+ 0x05B0...0x05B9,
+ 0x05BB...0x05BD,
+ 0x05BF,
+ 0x05C1...0x05C2,
+ 0x05D0...0x05EA,
+ 0x05F0...0x05F2,
+
+ // Arabic
+ 0x0621...0x063A,
+ 0x0640...0x0652,
+ 0x0670...0x06B7,
+ 0x06BA...0x06BE,
+ 0x06C0...0x06CE,
+ 0x06D0...0x06DC,
+ 0x06E5...0x06E8,
+ 0x06EA...0x06ED,
+
+ // Devanagari
+ 0x0901...0x0903,
+ 0x0905...0x0939,
+ 0x093E...0x094D,
+ 0x0950...0x0952,
+ 0x0958...0x0963,
+
+ // Bengali
+ 0x0981...0x0983,
+ 0x0985...0x098C,
+ 0x098F...0x0990,
+ 0x0993...0x09A8,
+ 0x09AA...0x09B0,
+ 0x09B2,
+ 0x09B6...0x09B9,
+ 0x09BE...0x09C4,
+ 0x09C7...0x09C8,
+ 0x09CB...0x09CD,
+ 0x09DC...0x09DD,
+ 0x09DF...0x09E3,
+ 0x09F0...0x09F1,
+
+ // Gurmukhi
+ 0x0A02,
+ 0x0A05...0x0A0A,
+ 0x0A0F...0x0A10,
+ 0x0A13...0x0A28,
+ 0x0A2A...0x0A30,
+ 0x0A32...0x0A33,
+ 0x0A35...0x0A36,
+ 0x0A38...0x0A39,
+ 0x0A3E...0x0A42,
+ 0x0A47...0x0A48,
+ 0x0A4B...0x0A4D,
+ 0x0A59...0x0A5C,
+ 0x0A5E,
+ 0x0A74,
+
+ // Gujarati
+ 0x0A81...0x0A83,
+ 0x0A85...0x0A8B,
+ 0x0A8D,
+ 0x0A8F...0x0A91,
+ 0x0A93...0x0AA8,
+ 0x0AAA...0x0AB0,
+ 0x0AB2...0x0AB3,
+ 0x0AB5...0x0AB9,
+ 0x0ABD...0x0AC5,
+ 0x0AC7...0x0AC9,
+ 0x0ACB...0x0ACD,
+ 0x0AD0,
+ 0x0AE0,
+
+ // Oriya
+ 0x0B01...0x0B03,
+ 0x0B05...0x0B0C,
+ 0x0B0F...0x0B10,
+ 0x0B13...0x0B28,
+ 0x0B2A...0x0B30,
+ 0x0B32...0x0B33,
+ 0x0B36...0x0B39,
+ 0x0B3E...0x0B43,
+ 0x0B47...0x0B48,
+ 0x0B4B...0x0B4D,
+ 0x0B5C...0x0B5D,
+ 0x0B5F...0x0B61,
+
+ // Tamil
+ 0x0B82...0x0B83,
+ 0x0B85...0x0B8A,
+ 0x0B8E...0x0B90,
+ 0x0B92...0x0B95,
+ 0x0B99...0x0B9A,
+ 0x0B9C,
+ 0x0B9E...0x0B9F,
+ 0x0BA3...0x0BA4,
+ 0x0BA8...0x0BAA,
+ 0x0BAE...0x0BB5,
+ 0x0BB7...0x0BB9,
+ 0x0BBE...0x0BC2,
+ 0x0BC6...0x0BC8,
+ 0x0BCA...0x0BCD,
+
+ // Telugu
+ 0x0C01...0x0C03,
+ 0x0C05...0x0C0C,
+ 0x0C0E...0x0C10,
+ 0x0C12...0x0C28,
+ 0x0C2A...0x0C33,
+ 0x0C35...0x0C39,
+ 0x0C3E...0x0C44,
+ 0x0C46...0x0C48,
+ 0x0C4A...0x0C4D,
+ 0x0C60...0x0C61,
+
+ // Kannada
+ 0x0C82...0x0C83,
+ 0x0C85...0x0C8C,
+ 0x0C8E...0x0C90,
+ 0x0C92...0x0CA8,
+ 0x0CAA...0x0CB3,
+ 0x0CB5...0x0CB9,
+ 0x0CBE...0x0CC4,
+ 0x0CC6...0x0CC8,
+ 0x0CCA...0x0CCD,
+ 0x0CDE,
+ 0x0CE0...0x0CE1,
+
+ // Malayalam
+ 0x0D02...0x0D03,
+ 0x0D05...0x0D0C,
+ 0x0D0E...0x0D10,
+ 0x0D12...0x0D28,
+ 0x0D2A...0x0D39,
+ 0x0D3E...0x0D43,
+ 0x0D46...0x0D48,
+ 0x0D4A...0x0D4D,
+ 0x0D60...0x0D61,
+
+ // Thai (excluding digits 0x0E50...0x0E59; originally 0x0E01...0x0E3A and 0x0E40...0x0E5B
+ 0x0E01...0x0E3A,
+ 0x0E40...0x0E4F,
+ 0x0E5A...0x0E5B,
+
+ // Lao
+ 0x0E81...0x0E82,
+ 0x0E84,
+ 0x0E87...0x0E88,
+ 0x0E8A,
+ 0x0E8D,
+ 0x0E94...0x0E97,
+ 0x0E99...0x0E9F,
+ 0x0EA1...0x0EA3,
+ 0x0EA5,
+ 0x0EA7,
+ 0x0EAA...0x0EAB,
+ 0x0EAD...0x0EAE,
+ 0x0EB0...0x0EB9,
+ 0x0EBB...0x0EBD,
+ 0x0EC0...0x0EC4,
+ 0x0EC6,
+ 0x0EC8...0x0ECD,
+ 0x0EDC...0x0EDD,
+
+ // Tibetan
+ 0x0F00,
+ 0x0F18...0x0F19,
+ 0x0F35,
+ 0x0F37,
+ 0x0F39,
+ 0x0F3E...0x0F47,
+ 0x0F49...0x0F69,
+ 0x0F71...0x0F84,
+ 0x0F86...0x0F8B,
+ 0x0F90...0x0F95,
+ 0x0F97,
+ 0x0F99...0x0FAD,
+ 0x0FB1...0x0FB7,
+ 0x0FB9,
+
+ // Georgian
+ 0x10A0...0x10C5,
+ 0x10D0...0x10F6,
+
+ // Hiragana
+ 0x3041...0x3093,
+ 0x309B...0x309C,
+
+ // Katakana
+ 0x30A1...0x30F6,
+ 0x30FB...0x30FC,
+
+ // Bopomofo
+ 0x3105...0x312C,
+
+ // CJK Unified Ideographs
+ 0x4E00...0x9FA5,
+
+ // Hangul
+ 0xAC00...0xD7A3,
+
+ // Digits
+ 0x0660...0x0669,
+ 0x06F0...0x06F9,
+ 0x0966...0x096F,
+ 0x09E6...0x09EF,
+ 0x0A66...0x0A6F,
+ 0x0AE6...0x0AEF,
+ 0x0B66...0x0B6F,
+ 0x0BE7...0x0BEF,
+ 0x0C66...0x0C6F,
+ 0x0CE6...0x0CEF,
+ 0x0D66...0x0D6F,
+ 0x0E50...0x0E59,
+ 0x0ED0...0x0ED9,
+ 0x0F20...0x0F33,
+
+ // Special characters
+ 0x00B5,
+ 0x00B7,
+ 0x02B0...0x02B8,
+ 0x02BB,
+ 0x02BD...0x02C1,
+ 0x02D0...0x02D1,
+ 0x02E0...0x02E4,
+ 0x037A,
+ 0x0559,
+ 0x093D,
+ 0x0B3D,
+ 0x1FBE,
+ 0x203F...0x2040,
+ 0x2102,
+ 0x2107,
+ 0x210A...0x2113,
+ 0x2115,
+ 0x2118...0x211D,
+ 0x2124,
+ 0x2126,
+ 0x2128,
+ 0x212A...0x2131,
+ 0x2133...0x2138,
+ 0x2160...0x2182,
+ 0x3005...0x3007,
+ 0x3021...0x3029,
+ => true,
+ else => false,
+ };
+}
+
+/// C11 standard Annex D
+pub fn isC11DisallowedInitialIdChar(codepoint: u21) bool {
+ assert(codepoint > 0x7F);
+ return switch (codepoint) {
+ 0x0300...0x036F,
+ 0x1DC0...0x1DFF,
+ 0x20D0...0x20FF,
+ 0xFE20...0xFE2F,
+ => true,
+ else => false,
+ };
+}
+
+/// These are "digit" characters; C99 disallows them as the first
+/// character of an identifier
+pub fn isC99DisallowedInitialIDChar(codepoint: u21) bool {
+ assert(codepoint > 0x7F);
+ return switch (codepoint) {
+ 0x0660...0x0669,
+ 0x06F0...0x06F9,
+ 0x0966...0x096F,
+ 0x09E6...0x09EF,
+ 0x0A66...0x0A6F,
+ 0x0AE6...0x0AEF,
+ 0x0B66...0x0B6F,
+ 0x0BE7...0x0BEF,
+ 0x0C66...0x0C6F,
+ 0x0CE6...0x0CEF,
+ 0x0D66...0x0D6F,
+ 0x0E50...0x0E59,
+ 0x0ED0...0x0ED9,
+ 0x0F20...0x0F33,
+ => true,
+ else => false,
+ };
+}
+
+pub fn isInvisible(codepoint: u21) bool {
+ assert(codepoint > 0x7F);
+ return switch (codepoint) {
+ 0x00ad, // SOFT HYPHEN
+ 0x200b, // ZERO WIDTH SPACE
+ 0x200c, // ZERO WIDTH NON-JOINER
+ 0x200d, // ZERO WIDTH JOINER
+ 0x2060, // WORD JOINER
+ 0x2061, // FUNCTION APPLICATION
+ 0x2062, // INVISIBLE TIMES
+ 0x2063, // INVISIBLE SEPARATOR
+ 0x2064, // INVISIBLE PLUS
+ 0xfeff, // ZERO WIDTH NO-BREAK SPACE
+ => true,
+ else => false,
+ };
+}
+
+/// Checks for identifier characters which resemble non-identifier characters
+pub fn homoglyph(codepoint: u21) ?u21 {
+ assert(codepoint > 0x7F);
+ return switch (codepoint) {
+ 0x01c3 => '!', // LATIN LETTER RETROFLEX CLICK
+ 0x037e => ';', // GREEK QUESTION MARK
+ 0x2212 => '-', // MINUS SIGN
+ 0x2215 => '/', // DIVISION SLASH
+ 0x2216 => '\\', // SET MINUS
+ 0x2217 => '*', // ASTERISK OPERATOR
+ 0x2223 => '|', // DIVIDES
+ 0x2227 => '^', // LOGICAL AND
+ 0x2236 => ':', // RATIO
+ 0x223c => '~', // TILDE OPERATOR
+ 0xa789 => ':', // MODIFIER LETTER COLON
+ 0xff01 => '!', // FULLWIDTH EXCLAMATION MARK
+ 0xff03 => '#', // FULLWIDTH NUMBER SIGN
+ 0xff04 => '$', // FULLWIDTH DOLLAR SIGN
+ 0xff05 => '%', // FULLWIDTH PERCENT SIGN
+ 0xff06 => '&', // FULLWIDTH AMPERSAND
+ 0xff08 => '(', // FULLWIDTH LEFT PARENTHESIS
+ 0xff09 => ')', // FULLWIDTH RIGHT PARENTHESIS
+ 0xff0a => '*', // FULLWIDTH ASTERISK
+ 0xff0b => '+', // FULLWIDTH ASTERISK
+ 0xff0c => ',', // FULLWIDTH COMMA
+ 0xff0d => '-', // FULLWIDTH HYPHEN-MINUS
+ 0xff0e => '.', // FULLWIDTH FULL STOP
+ 0xff0f => '/', // FULLWIDTH SOLIDUS
+ 0xff1a => ':', // FULLWIDTH COLON
+ 0xff1b => ';', // FULLWIDTH SEMICOLON
+ 0xff1c => '<', // FULLWIDTH LESS-THAN SIGN
+ 0xff1d => '=', // FULLWIDTH EQUALS SIGN
+ 0xff1e => '>', // FULLWIDTH GREATER-THAN SIGN
+ 0xff1f => '?', // FULLWIDTH QUESTION MARK
+ 0xff20 => '@', // FULLWIDTH COMMERCIAL AT
+ 0xff3b => '[', // FULLWIDTH LEFT SQUARE BRACKET
+ 0xff3c => '\\', // FULLWIDTH REVERSE SOLIDUS
+ 0xff3d => ']', // FULLWIDTH RIGHT SQUARE BRACKET
+ 0xff3e => '^', // FULLWIDTH CIRCUMFLEX ACCENT
+ 0xff5b => '{', // FULLWIDTH LEFT CURLY BRACKET
+ 0xff5c => '|', // FULLWIDTH VERTICAL LINE
+ 0xff5d => '}', // FULLWIDTH RIGHT CURLY BRACKET
+ 0xff5e => '~', // FULLWIDTH TILDE
+ else => null,
+ };
+}
+
+pub fn isXidStart(c: u21) bool {
+ assert(c > 0x7F);
+ const idx = c / 8 / tables.chunk;
+ const chunk: usize = if (idx < tables.trie_start.len) tables.trie_start[idx] else 0;
+ const offset = chunk * tables.chunk / 2 + c / 8 % tables.chunk;
+ return (tables.leaf[offset] >> (@as(u3, @intCast(c % 8)))) & 1 != 0;
+}
+
+pub fn isXidContinue(c: u21) bool {
+ assert(c > 0x7F);
+ const idx = c / 8 / tables.chunk;
+ const chunk: usize = if (idx < tables.trie_continue.len) tables.trie_continue[idx] else 0;
+ const offset = chunk * tables.chunk / 2 + c / 8 % tables.chunk;
+ return (tables.leaf[offset] >> (@as(u3, @intCast(c % 8)))) & 1 != 0;
+}
+
+test "isXidStart / isXidContinue panic check" {
+ const std = @import("std");
+ for (0x80..0x110000) |i| {
+ const c: u21 = @intCast(i);
+ if (std.unicode.utf8ValidCodepoint(c)) {
+ _ = isXidStart(c);
+ _ = isXidContinue(c);
+ }
+ }
+}
+
+test isXidStart {
+ const std = @import("std");
+ try std.testing.expect(!isXidStart('᠑'));
+ try std.testing.expect(!isXidStart('™'));
+ try std.testing.expect(!isXidStart('£'));
+ try std.testing.expect(!isXidStart('\u{1f914}')); // 🤔
+}
+
+test isXidContinue {
+ const std = @import("std");
+ try std.testing.expect(isXidContinue('᠑'));
+ try std.testing.expect(!isXidContinue('™'));
+ try std.testing.expect(!isXidContinue('£'));
+ try std.testing.expect(!isXidContinue('\u{1f914}')); // 🤔
+}
+
+pub const NfcQuickCheck = enum { no, maybe, yes };
+
+pub fn isNormalized(codepoint: u21) NfcQuickCheck {
+ return switch (codepoint) {
+ 0x0340...0x0341,
+ 0x0343...0x0344,
+ 0x0374,
+ 0x037E,
+ 0x0387,
+ 0x0958...0x095F,
+ 0x09DC...0x09DD,
+ 0x09DF,
+ 0x0A33,
+ 0x0A36,
+ 0x0A59...0x0A5B,
+ 0x0A5E,
+ 0x0B5C...0x0B5D,
+ 0x0F43,
+ 0x0F4D,
+ 0x0F52,
+ 0x0F57,
+ 0x0F5C,
+ 0x0F69,
+ 0x0F73,
+ 0x0F75...0x0F76,
+ 0x0F78,
+ 0x0F81,
+ 0x0F93,
+ 0x0F9D,
+ 0x0FA2,
+ 0x0FA7,
+ 0x0FAC,
+ 0x0FB9,
+ 0x1F71,
+ 0x1F73,
+ 0x1F75,
+ 0x1F77,
+ 0x1F79,
+ 0x1F7B,
+ 0x1F7D,
+ 0x1FBB,
+ 0x1FBE,
+ 0x1FC9,
+ 0x1FCB,
+ 0x1FD3,
+ 0x1FDB,
+ 0x1FE3,
+ 0x1FEB,
+ 0x1FEE...0x1FEF,
+ 0x1FF9,
+ 0x1FFB,
+ 0x1FFD,
+ 0x2000...0x2001,
+ 0x2126,
+ 0x212A...0x212B,
+ 0x2329,
+ 0x232A,
+ 0x2ADC,
+ 0xF900...0xFA0D,
+ 0xFA10,
+ 0xFA12,
+ 0xFA15...0xFA1E,
+ 0xFA20,
+ 0xFA22,
+ 0xFA25...0xFA26,
+ 0xFA2A...0xFA6D,
+ 0xFA70...0xFAD9,
+ 0xFB1D,
+ 0xFB1F,
+ 0xFB2A...0xFB36,
+ 0xFB38...0xFB3C,
+ 0xFB3E,
+ 0xFB40...0xFB41,
+ 0xFB43...0xFB44,
+ 0xFB46...0xFB4E,
+ 0x1D15E...0x1D164,
+ 0x1D1BB...0x1D1C0,
+ 0x2F800...0x2FA1D,
+ => .no,
+ 0x0300...0x0304,
+ 0x0306...0x030C,
+ 0x030F,
+ 0x0311,
+ 0x0313...0x0314,
+ 0x031B,
+ 0x0323...0x0328,
+ 0x032D...0x032E,
+ 0x0330...0x0331,
+ 0x0338,
+ 0x0342,
+ 0x0345,
+ 0x0653...0x0655,
+ 0x093C,
+ 0x09BE,
+ 0x09D7,
+ 0x0B3E,
+ 0x0B56,
+ 0x0B57,
+ 0x0BBE,
+ 0x0BD7,
+ 0x0C56,
+ 0x0CC2,
+ 0x0CD5...0x0CD6,
+ 0x0D3E,
+ 0x0D57,
+ 0x0DCA,
+ 0x0DCF,
+ 0x0DDF,
+ 0x102E,
+ 0x1161...0x1175,
+ 0x11A8...0x11C2,
+ 0x1B35,
+ 0x3099...0x309A,
+ 0x110BA,
+ 0x11127,
+ 0x1133E,
+ 0x11357,
+ 0x114B0,
+ 0x114BA,
+ 0x114BD,
+ 0x115AF,
+ => .maybe,
+ else => .yes,
+ };
+}
+
+pub const CanonicalCombiningClass = enum(u8) {
+ not_reordered = 0,
+ overlay = 1,
+ han_reading = 6,
+ nukta = 7,
+ kana_voicing = 8,
+ virama = 9,
+ ccc10 = 10,
+ ccc11 = 11,
+ ccc12 = 12,
+ ccc13 = 13,
+ ccc14 = 14,
+ ccc15 = 15,
+ ccc16 = 16,
+ ccc17 = 17,
+ ccc18 = 18,
+ ccc19 = 19,
+ ccc20 = 20,
+ ccc21 = 21,
+ ccc22 = 22,
+ ccc23 = 23,
+ ccc24 = 24,
+ ccc25 = 25,
+ ccc26 = 26,
+ ccc27 = 27,
+ ccc28 = 28,
+ ccc29 = 29,
+ ccc30 = 30,
+ ccc31 = 31,
+ ccc32 = 32,
+ ccc33 = 33,
+ ccc34 = 34,
+ ccc35 = 35,
+ ccc36 = 36,
+ ccc84 = 84,
+ ccc91 = 91,
+ ccc103 = 103,
+ ccc107 = 107,
+ ccc118 = 118,
+ ccc122 = 122,
+ ccc129 = 129,
+ ccc130 = 130,
+ ccc132 = 132,
+ attached_below = 202,
+ attached_above = 214,
+ attached_above_right = 216,
+ below_left = 218,
+ below = 220,
+ below_right = 222,
+ left = 224,
+ right = 226,
+ above_left = 228,
+ above = 230,
+ above_right = 232,
+ double_below = 233,
+ double_above = 234,
+ iota_subscript = 240,
+};
+
+pub fn getCanonicalClass(codepoint: u21) CanonicalCombiningClass {
+ return switch (codepoint) {
+ 0x300...0x314 => .above,
+ 0x315...0x315 => .above_right,
+ 0x316...0x319 => .below,
+ 0x31A...0x31A => .above_right,
+ 0x31B...0x31B => .attached_above_right,
+ 0x31C...0x320 => .below,
+ 0x321...0x322 => .attached_below,
+ 0x323...0x326 => .below,
+ 0x327...0x328 => .attached_below,
+ 0x329...0x333 => .below,
+ 0x334...0x338 => .overlay,
+ 0x339...0x33C => .below,
+ 0x33D...0x344 => .above,
+ 0x345...0x345 => .iota_subscript,
+ 0x346...0x346 => .above,
+ 0x347...0x349 => .below,
+ 0x34A...0x34C => .above,
+ 0x34D...0x34E => .below,
+ 0x350...0x352 => .above,
+ 0x353...0x356 => .below,
+ 0x357...0x357 => .above,
+ 0x358...0x358 => .above_right,
+ 0x359...0x35A => .below,
+ 0x35B...0x35B => .above,
+ 0x35C...0x35C => .double_below,
+ 0x35D...0x35E => .double_above,
+ 0x35F...0x35F => .double_below,
+ 0x360...0x361 => .double_above,
+ 0x362...0x362 => .double_below,
+ 0x363...0x36F => .above,
+ 0x483...0x487 => .above,
+ 0x591...0x591 => .below,
+ 0x592...0x595 => .above,
+ 0x596...0x596 => .below,
+ 0x597...0x599 => .above,
+ 0x59A...0x59A => .below_right,
+ 0x59B...0x59B => .below,
+ 0x59C...0x5A1 => .above,
+ 0x5A2...0x5A7 => .below,
+ 0x5A8...0x5A9 => .above,
+ 0x5AA...0x5AA => .below,
+ 0x5AB...0x5AC => .above,
+ 0x5AD...0x5AD => .below_right,
+ 0x5AE...0x5AE => .above_left,
+ 0x5AF...0x5AF => .above,
+ 0x5B0...0x5B0 => .ccc10,
+ 0x5B1...0x5B1 => .ccc11,
+ 0x5B2...0x5B2 => .ccc12,
+ 0x5B3...0x5B3 => .ccc13,
+ 0x5B4...0x5B4 => .ccc14,
+ 0x5B5...0x5B5 => .ccc15,
+ 0x5B6...0x5B6 => .ccc16,
+ 0x5B7...0x5B7 => .ccc17,
+ 0x5B8...0x5B8 => .ccc18,
+ 0x5B9...0x5BA => .ccc19,
+ 0x5BB...0x5BB => .ccc20,
+ 0x5BC...0x5BC => .ccc21,
+ 0x5BD...0x5BD => .ccc22,
+ 0x5BF...0x5BF => .ccc23,
+ 0x5C1...0x5C1 => .ccc24,
+ 0x5C2...0x5C2 => .ccc25,
+ 0x5C4...0x5C4 => .above,
+ 0x5C5...0x5C5 => .below,
+ 0x5C7...0x5C7 => .ccc18,
+ 0x610...0x617 => .above,
+ 0x618...0x618 => .ccc30,
+ 0x619...0x619 => .ccc31,
+ 0x61A...0x61A => .ccc32,
+ 0x64B...0x64B => .ccc27,
+ 0x64C...0x64C => .ccc28,
+ 0x64D...0x64D => .ccc29,
+ 0x64E...0x64E => .ccc30,
+ 0x64F...0x64F => .ccc31,
+ 0x650...0x650 => .ccc32,
+ 0x651...0x651 => .ccc33,
+ 0x652...0x652 => .ccc34,
+ 0x653...0x654 => .above,
+ 0x655...0x656 => .below,
+ 0x657...0x65B => .above,
+ 0x65C...0x65C => .below,
+ 0x65D...0x65E => .above,
+ 0x65F...0x65F => .below,
+ 0x670...0x670 => .ccc35,
+ 0x6D6...0x6DC => .above,
+ 0x6DF...0x6E2 => .above,
+ 0x6E3...0x6E3 => .below,
+ 0x6E4...0x6E4 => .above,
+ 0x6E7...0x6E8 => .above,
+ 0x6EA...0x6EA => .below,
+ 0x6EB...0x6EC => .above,
+ 0x6ED...0x6ED => .below,
+ 0x711...0x711 => .ccc36,
+ 0x730...0x730 => .above,
+ 0x731...0x731 => .below,
+ 0x732...0x733 => .above,
+ 0x734...0x734 => .below,
+ 0x735...0x736 => .above,
+ 0x737...0x739 => .below,
+ 0x73A...0x73A => .above,
+ 0x73B...0x73C => .below,
+ 0x73D...0x73D => .above,
+ 0x73E...0x73E => .below,
+ 0x73F...0x741 => .above,
+ 0x742...0x742 => .below,
+ 0x743...0x743 => .above,
+ 0x744...0x744 => .below,
+ 0x745...0x745 => .above,
+ 0x746...0x746 => .below,
+ 0x747...0x747 => .above,
+ 0x748...0x748 => .below,
+ 0x749...0x74A => .above,
+ 0x7EB...0x7F1 => .above,
+ 0x7F2...0x7F2 => .below,
+ 0x7F3...0x7F3 => .above,
+ 0x7FD...0x7FD => .below,
+ 0x816...0x819 => .above,
+ 0x81B...0x823 => .above,
+ 0x825...0x827 => .above,
+ 0x829...0x82D => .above,
+ 0x859...0x85B => .below,
+ 0x898...0x898 => .above,
+ 0x899...0x89B => .below,
+ 0x89C...0x89F => .above,
+ 0x8CA...0x8CE => .above,
+ 0x8CF...0x8D3 => .below,
+ 0x8D4...0x8E1 => .above,
+ 0x8E3...0x8E3 => .below,
+ 0x8E4...0x8E5 => .above,
+ 0x8E6...0x8E6 => .below,
+ 0x8E7...0x8E8 => .above,
+ 0x8E9...0x8E9 => .below,
+ 0x8EA...0x8EC => .above,
+ 0x8ED...0x8EF => .below,
+ 0x8F0...0x8F0 => .ccc27,
+ 0x8F1...0x8F1 => .ccc28,
+ 0x8F2...0x8F2 => .ccc29,
+ 0x8F3...0x8F5 => .above,
+ 0x8F6...0x8F6 => .below,
+ 0x8F7...0x8F8 => .above,
+ 0x8F9...0x8FA => .below,
+ 0x8FB...0x8FF => .above,
+ 0x93C...0x93C => .nukta,
+ 0x94D...0x94D => .virama,
+ 0x951...0x951 => .above,
+ 0x952...0x952 => .below,
+ 0x953...0x954 => .above,
+ 0x9BC...0x9BC => .nukta,
+ 0x9CD...0x9CD => .virama,
+ 0x9FE...0x9FE => .above,
+ 0xA3C...0xA3C => .nukta,
+ 0xA4D...0xA4D => .virama,
+ 0xABC...0xABC => .nukta,
+ 0xACD...0xACD => .virama,
+ 0xB3C...0xB3C => .nukta,
+ 0xB4D...0xB4D => .virama,
+ 0xBCD...0xBCD => .virama,
+ 0xC3C...0xC3C => .nukta,
+ 0xC4D...0xC4D => .virama,
+ 0xC55...0xC55 => .ccc84,
+ 0xC56...0xC56 => .ccc91,
+ 0xCBC...0xCBC => .nukta,
+ 0xCCD...0xCCD => .virama,
+ 0xD3B...0xD3C => .virama,
+ 0xD4D...0xD4D => .virama,
+ 0xDCA...0xDCA => .virama,
+ 0xE38...0xE39 => .ccc103,
+ 0xE3A...0xE3A => .virama,
+ 0xE48...0xE4B => .ccc107,
+ 0xEB8...0xEB9 => .ccc118,
+ 0xEBA...0xEBA => .virama,
+ 0xEC8...0xECB => .ccc122,
+ 0xF18...0xF19 => .below,
+ 0xF35...0xF35 => .below,
+ 0xF37...0xF37 => .below,
+ 0xF39...0xF39 => .attached_above_right,
+ 0xF71...0xF71 => .ccc129,
+ 0xF72...0xF72 => .ccc130,
+ 0xF74...0xF74 => .ccc132,
+ 0xF7A...0xF7D => .ccc130,
+ 0xF80...0xF80 => .ccc130,
+ 0xF82...0xF83 => .above,
+ 0xF84...0xF84 => .virama,
+ 0xF86...0xF87 => .above,
+ 0xFC6...0xFC6 => .below,
+ 0x1037...0x1037 => .nukta,
+ 0x1039...0x103A => .virama,
+ 0x108D...0x108D => .below,
+ 0x135D...0x135F => .above,
+ 0x1714...0x1715 => .virama,
+ 0x1734...0x1734 => .virama,
+ 0x17D2...0x17D2 => .virama,
+ 0x17DD...0x17DD => .above,
+ 0x18A9...0x18A9 => .above_left,
+ 0x1939...0x1939 => .below_right,
+ 0x193A...0x193A => .above,
+ 0x193B...0x193B => .below,
+ 0x1A17...0x1A17 => .above,
+ 0x1A18...0x1A18 => .below,
+ 0x1A60...0x1A60 => .virama,
+ 0x1A75...0x1A7C => .above,
+ 0x1A7F...0x1A7F => .below,
+ 0x1AB0...0x1AB4 => .above,
+ 0x1AB5...0x1ABA => .below,
+ 0x1ABB...0x1ABC => .above,
+ 0x1ABD...0x1ABD => .below,
+ 0x1ABF...0x1AC0 => .below,
+ 0x1AC1...0x1AC2 => .above,
+ 0x1AC3...0x1AC4 => .below,
+ 0x1AC5...0x1AC9 => .above,
+ 0x1ACA...0x1ACA => .below,
+ 0x1ACB...0x1ACE => .above,
+ 0x1B34...0x1B34 => .nukta,
+ 0x1B44...0x1B44 => .virama,
+ 0x1B6B...0x1B6B => .above,
+ 0x1B6C...0x1B6C => .below,
+ 0x1B6D...0x1B73 => .above,
+ 0x1BAA...0x1BAB => .virama,
+ 0x1BE6...0x1BE6 => .nukta,
+ 0x1BF2...0x1BF3 => .virama,
+ 0x1C37...0x1C37 => .nukta,
+ 0x1CD0...0x1CD2 => .above,
+ 0x1CD4...0x1CD4 => .overlay,
+ 0x1CD5...0x1CD9 => .below,
+ 0x1CDA...0x1CDB => .above,
+ 0x1CDC...0x1CDF => .below,
+ 0x1CE0...0x1CE0 => .above,
+ 0x1CE2...0x1CE8 => .overlay,
+ 0x1CED...0x1CED => .below,
+ 0x1CF4...0x1CF4 => .above,
+ 0x1CF8...0x1CF9 => .above,
+ 0x1DC0...0x1DC1 => .above,
+ 0x1DC2...0x1DC2 => .below,
+ 0x1DC3...0x1DC9 => .above,
+ 0x1DCA...0x1DCA => .below,
+ 0x1DCB...0x1DCC => .above,
+ 0x1DCD...0x1DCD => .double_above,
+ 0x1DCE...0x1DCE => .attached_above,
+ 0x1DCF...0x1DCF => .below,
+ 0x1DD0...0x1DD0 => .attached_below,
+ 0x1DD1...0x1DF5 => .above,
+ 0x1DF6...0x1DF6 => .above_right,
+ 0x1DF7...0x1DF8 => .above_left,
+ 0x1DF9...0x1DF9 => .below,
+ 0x1DFA...0x1DFA => .below_left,
+ 0x1DFB...0x1DFB => .above,
+ 0x1DFC...0x1DFC => .double_below,
+ 0x1DFD...0x1DFD => .below,
+ 0x1DFE...0x1DFE => .above,
+ 0x1DFF...0x1DFF => .below,
+ 0x20D0...0x20D1 => .above,
+ 0x20D2...0x20D3 => .overlay,
+ 0x20D4...0x20D7 => .above,
+ 0x20D8...0x20DA => .overlay,
+ 0x20DB...0x20DC => .above,
+ 0x20E1...0x20E1 => .above,
+ 0x20E5...0x20E6 => .overlay,
+ 0x20E7...0x20E7 => .above,
+ 0x20E8...0x20E8 => .below,
+ 0x20E9...0x20E9 => .above,
+ 0x20EA...0x20EB => .overlay,
+ 0x20EC...0x20EF => .below,
+ 0x20F0...0x20F0 => .above,
+ 0x2CEF...0x2CF1 => .above,
+ 0x2D7F...0x2D7F => .virama,
+ 0x2DE0...0x2DFF => .above,
+ 0x302A...0x302A => .below_left,
+ 0x302B...0x302B => .above_left,
+ 0x302C...0x302C => .above_right,
+ 0x302D...0x302D => .below_right,
+ 0x302E...0x302F => .left,
+ 0x3099...0x309A => .kana_voicing,
+ 0xA66F...0xA66F => .above,
+ 0xA674...0xA67D => .above,
+ 0xA69E...0xA69F => .above,
+ 0xA6F0...0xA6F1 => .above,
+ 0xA806...0xA806 => .virama,
+ 0xA82C...0xA82C => .virama,
+ 0xA8C4...0xA8C4 => .virama,
+ 0xA8E0...0xA8F1 => .above,
+ 0xA92B...0xA92D => .below,
+ 0xA953...0xA953 => .virama,
+ 0xA9B3...0xA9B3 => .nukta,
+ 0xA9C0...0xA9C0 => .virama,
+ 0xAAB0...0xAAB0 => .above,
+ 0xAAB2...0xAAB3 => .above,
+ 0xAAB4...0xAAB4 => .below,
+ 0xAAB7...0xAAB8 => .above,
+ 0xAABE...0xAABF => .above,
+ 0xAAC1...0xAAC1 => .above,
+ 0xAAF6...0xAAF6 => .virama,
+ 0xABED...0xABED => .virama,
+ 0xFB1E...0xFB1E => .ccc26,
+ 0xFE20...0xFE26 => .above,
+ 0xFE27...0xFE2D => .below,
+ 0xFE2E...0xFE2F => .above,
+ 0x101FD...0x101FD => .below,
+ 0x102E0...0x102E0 => .below,
+ 0x10376...0x1037A => .above,
+ 0x10A0D...0x10A0D => .below,
+ 0x10A0F...0x10A0F => .above,
+ 0x10A38...0x10A38 => .above,
+ 0x10A39...0x10A39 => .overlay,
+ 0x10A3A...0x10A3A => .below,
+ 0x10A3F...0x10A3F => .virama,
+ 0x10AE5...0x10AE5 => .above,
+ 0x10AE6...0x10AE6 => .below,
+ 0x10D24...0x10D27 => .above,
+ 0x10EAB...0x10EAC => .above,
+ 0x10EFD...0x10EFF => .below,
+ 0x10F46...0x10F47 => .below,
+ 0x10F48...0x10F4A => .above,
+ 0x10F4B...0x10F4B => .below,
+ 0x10F4C...0x10F4C => .above,
+ 0x10F4D...0x10F50 => .below,
+ 0x10F82...0x10F82 => .above,
+ 0x10F83...0x10F83 => .below,
+ 0x10F84...0x10F84 => .above,
+ 0x10F85...0x10F85 => .below,
+ 0x11046...0x11046 => .virama,
+ 0x11070...0x11070 => .virama,
+ 0x1107F...0x1107F => .virama,
+ 0x110B9...0x110B9 => .virama,
+ 0x110BA...0x110BA => .nukta,
+ 0x11100...0x11102 => .above,
+ 0x11133...0x11134 => .virama,
+ 0x11173...0x11173 => .nukta,
+ 0x111C0...0x111C0 => .virama,
+ 0x111CA...0x111CA => .nukta,
+ 0x11235...0x11235 => .virama,
+ 0x11236...0x11236 => .nukta,
+ 0x112E9...0x112E9 => .nukta,
+ 0x112EA...0x112EA => .virama,
+ 0x1133B...0x1133C => .nukta,
+ 0x1134D...0x1134D => .virama,
+ 0x11366...0x1136C => .above,
+ 0x11370...0x11374 => .above,
+ 0x11442...0x11442 => .virama,
+ 0x11446...0x11446 => .nukta,
+ 0x1145E...0x1145E => .above,
+ 0x114C2...0x114C2 => .virama,
+ 0x114C3...0x114C3 => .nukta,
+ 0x115BF...0x115BF => .virama,
+ 0x115C0...0x115C0 => .nukta,
+ 0x1163F...0x1163F => .virama,
+ 0x116B6...0x116B6 => .virama,
+ 0x116B7...0x116B7 => .nukta,
+ 0x1172B...0x1172B => .virama,
+ 0x11839...0x11839 => .virama,
+ 0x1183A...0x1183A => .nukta,
+ 0x1193D...0x1193E => .virama,
+ 0x11943...0x11943 => .nukta,
+ 0x119E0...0x119E0 => .virama,
+ 0x11A34...0x11A34 => .virama,
+ 0x11A47...0x11A47 => .virama,
+ 0x11A99...0x11A99 => .virama,
+ 0x11C3F...0x11C3F => .virama,
+ 0x11D42...0x11D42 => .nukta,
+ 0x11D44...0x11D45 => .virama,
+ 0x11D97...0x11D97 => .virama,
+ 0x11F41...0x11F42 => .virama,
+ 0x16AF0...0x16AF4 => .overlay,
+ 0x16B30...0x16B36 => .above,
+ 0x16FF0...0x16FF1 => .han_reading,
+ 0x1BC9E...0x1BC9E => .overlay,
+ 0x1D165...0x1D166 => .attached_above_right,
+ 0x1D167...0x1D169 => .overlay,
+ 0x1D16D...0x1D16D => .right,
+ 0x1D16E...0x1D172 => .attached_above_right,
+ 0x1D17B...0x1D182 => .below,
+ 0x1D185...0x1D189 => .above,
+ 0x1D18A...0x1D18B => .below,
+ 0x1D1AA...0x1D1AD => .above,
+ 0x1D242...0x1D244 => .above,
+ 0x1E000...0x1E006 => .above,
+ 0x1E008...0x1E018 => .above,
+ 0x1E01B...0x1E021 => .above,
+ 0x1E023...0x1E024 => .above,
+ 0x1E026...0x1E02A => .above,
+ 0x1E08F...0x1E08F => .above,
+ 0x1E130...0x1E136 => .above,
+ 0x1E2AE...0x1E2AE => .above,
+ 0x1E2EC...0x1E2EF => .above,
+ 0x1E4EC...0x1E4ED => .above_right,
+ 0x1E4EE...0x1E4EE => .below,
+ 0x1E4EF...0x1E4EF => .above,
+ 0x1E8D0...0x1E8D6 => .below,
+ 0x1E944...0x1E949 => .above,
+ 0x1E94A...0x1E94A => .nukta,
+ else => .not_reordered,
+ };
+}
deps/aro/CodeGen.zig → deps/aro/aro/CodeGen.zig
@@ -1,20 +1,20 @@
const std = @import("std");
const Allocator = std.mem.Allocator;
const assert = std.debug.assert;
+const backend = @import("backend");
+const Interner = backend.Interner;
+const Ir = backend.Ir;
const Builtins = @import("Builtins.zig");
const Builtin = Builtins.Builtin;
const Compilation = @import("Compilation.zig");
-const Interner = @import("Interner.zig");
-const Ir = @import("Ir.zig");
const Builder = Ir.Builder;
-const StringId = @import("StringInterner.zig").StringId;
+const StrInt = @import("StringInterner.zig");
+const StringId = StrInt.StringId;
const Tree = @import("Tree.zig");
const NodeIndex = Tree.NodeIndex;
const Type = @import("Type.zig");
const Value = @import("Value.zig");
-const CodeGen = @This();
-
const WipSwitch = struct {
cases: Cases = .{},
default: ?Ir.Ref = null,
@@ -33,6 +33,8 @@ const Symbol = struct {
const Error = Compilation.Error;
+const CodeGen = @This();
+
tree: Tree,
comp: *Compilation,
builder: Builder,
@@ -44,6 +46,7 @@ symbols: std.ArrayListUnmanaged(Symbol) = .{},
ret_nodes: std.ArrayListUnmanaged(Ir.Inst.Phi.Input) = .{},
phi_nodes: std.ArrayListUnmanaged(Ir.Inst.Phi.Input) = .{},
record_elem_buf: std.ArrayListUnmanaged(Interner.Ref) = .{},
+record_cache: std.AutoHashMapUnmanaged(*Type.Record, Interner.Ref) = .{},
cond_dummy_ty: ?Interner.Ref = null,
bool_invert: bool = false,
bool_end_label: Ir.Ref = .none,
@@ -52,28 +55,40 @@ continue_label: Ir.Ref = undefined,
break_label: Ir.Ref = undefined,
return_label: Ir.Ref = undefined,
-pub fn generateTree(comp: *Compilation, tree: Tree) Compilation.Error!void {
+fn fail(c: *CodeGen, comptime fmt: []const u8, args: anytype) error{ FatalError, OutOfMemory } {
+ try c.comp.diagnostics.list.append(c.comp.gpa, .{
+ .tag = .cli_error,
+ .kind = .@"fatal error",
+ .extra = .{ .str = try std.fmt.allocPrint(c.comp.diagnostics.arena.allocator(), fmt, args) },
+ });
+ return error.FatalError;
+}
+
+pub fn genIr(tree: Tree) Compilation.Error!Ir {
+ const gpa = tree.comp.gpa;
var c = CodeGen{
.builder = .{
- .gpa = comp.gpa,
- .arena = std.heap.ArenaAllocator.init(comp.gpa),
+ .gpa = tree.comp.gpa,
+ .interner = &tree.comp.interner,
+ .arena = std.heap.ArenaAllocator.init(gpa),
},
.tree = tree,
- .comp = comp,
+ .comp = tree.comp,
.node_tag = tree.nodes.items(.tag),
.node_data = tree.nodes.items(.data),
.node_ty = tree.nodes.items(.ty),
};
- defer c.symbols.deinit(c.comp.gpa);
- defer c.ret_nodes.deinit(c.comp.gpa);
- defer c.phi_nodes.deinit(c.comp.gpa);
- defer c.record_elem_buf.deinit(c.comp.gpa);
+ defer c.symbols.deinit(gpa);
+ defer c.ret_nodes.deinit(gpa);
+ defer c.phi_nodes.deinit(gpa);
+ defer c.record_elem_buf.deinit(gpa);
+ defer c.record_cache.deinit(gpa);
defer c.builder.deinit();
const node_tags = tree.nodes.items(.tag);
for (tree.root_decls) |decl| {
c.builder.arena.deinit();
- c.builder.arena = std.heap.ArenaAllocator.init(comp.gpa);
+ c.builder.arena = std.heap.ArenaAllocator.init(gpa);
switch (node_tags[@intFromEnum(decl)]) {
.static_assert,
@@ -114,6 +129,7 @@ pub fn generateTree(comp: *Compilation, tree: Tree) Compilation.Error!void {
else => unreachable,
}
}
+ return c.builder.finish();
}
fn genType(c: *CodeGen, base_ty: Type) !Interner.Ref {
@@ -123,52 +139,48 @@ fn genType(c: *CodeGen, base_ty: Type) !Interner.Ref {
.void => return .void,
.bool => return .i1,
.@"struct" => {
- key = .{
- .record = .{
- .user_ptr = ty.data.record,
- .elements = undefined, // Not needed for hash lookup.
- },
- };
- if (c.builder.pool.has(key)) |some| return some;
+ if (c.record_cache.get(ty.data.record)) |some| return some;
+
const elem_buf_top = c.record_elem_buf.items.len;
defer c.record_elem_buf.items.len = elem_buf_top;
for (ty.data.record.fields) |field| {
if (!field.isRegularField()) {
- return c.comp.diag.fatalNoSrc("TODO lower struct bitfields", .{});
+ return c.fail("TODO lower struct bitfields", .{});
}
// TODO handle padding bits
const field_ref = try c.genType(field.ty);
try c.record_elem_buf.append(c.builder.gpa, field_ref);
}
- key.record.elements = try c.builder.arena.allocator().dupe(Interner.Ref, c.record_elem_buf.items[elem_buf_top..]);
- return c.builder.pool.put(c.builder.gpa, key);
+ return c.builder.interner.put(c.builder.gpa, .{
+ .record_ty = c.record_elem_buf.items[elem_buf_top..],
+ });
},
.@"union" => {
- return c.comp.diag.fatalNoSrc("TODO lower union types", .{});
+ return c.fail("TODO lower union types", .{});
},
else => {},
}
if (ty.isPtr()) return .ptr;
if (ty.isFunc()) return .func;
- if (!ty.isReal()) return c.comp.diag.fatalNoSrc("TODO lower complex types", .{});
+ if (!ty.isReal()) return c.fail("TODO lower complex types", .{});
if (ty.isInt()) {
const bits = ty.bitSizeof(c.comp).?;
- key = .{ .int = @intCast(bits) };
+ key = .{ .int_ty = @intCast(bits) };
} else if (ty.isFloat()) {
const bits = ty.bitSizeof(c.comp).?;
- key = .{ .float = @intCast(bits) };
+ key = .{ .float_ty = @intCast(bits) };
} else if (ty.isArray()) {
const elem = try c.genType(ty.elemType());
- key = .{ .array = .{ .child = elem, .len = ty.arrayLen().? } };
+ key = .{ .array_ty = .{ .child = elem, .len = ty.arrayLen().? } };
} else if (ty.specifier == .vector) {
const elem = try c.genType(ty.elemType());
- key = .{ .vector = .{ .child = elem, .len = @intCast(ty.data.array.len) } };
+ key = .{ .vector_ty = .{ .child = elem, .len = @intCast(ty.data.array.len) } };
} else if (ty.is(.nullptr_t)) {
- return c.comp.diag.fatalNoSrc("TODO lower nullptr_t", .{});
+ return c.fail("TODO lower nullptr_t", .{});
}
- return c.builder.pool.put(c.builder.gpa, key);
+ return c.builder.interner.put(c.builder.gpa, key);
}
fn genFn(c: *CodeGen, decl: NodeIndex) Error!void {
@@ -205,14 +217,7 @@ fn genFn(c: *CodeGen, decl: NodeIndex) Error!void {
_ = try c.builder.addInst(.ret, .{ .un = phi }, .noreturn);
}
- var res = Ir{
- .pool = c.builder.pool,
- .instructions = c.builder.instructions,
- .arena = c.builder.arena.state,
- .body = c.builder.body,
- .strings = c.tree.strings,
- };
- res.dump(c.builder.gpa, name, c.comp.diag.color, std.io.getStdOut().writer()) catch {};
+ try c.builder.finishFn(name);
}
fn addUn(c: *CodeGen, tag: Ir.Inst.Tag, operand: Ir.Ref, ty: Type) !Ir.Ref {
@@ -238,7 +243,7 @@ fn addBranch(c: *CodeGen, cond: Ir.Ref, true_label: Ir.Ref, false_label: Ir.Ref)
}
fn addBoolPhi(c: *CodeGen, value: bool) !void {
- const val = try c.builder.addConstant(Value.int(@intFromBool(value)), .i1);
+ const val = try c.builder.addConstant((try Value.int(@intFromBool(value), c.comp)).ref(), .i1);
try c.phi_nodes.append(c.comp.gpa, .{ .label = c.builder.current_label, .value = val });
}
@@ -250,7 +255,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
std.debug.assert(node != .none);
const ty = c.node_ty[@intFromEnum(node)];
if (c.tree.value_map.get(node)) |val| {
- return c.builder.addConstant(val, try c.genType(ty));
+ return c.builder.addConstant(val.ref(), try c.genType(ty));
}
const data = c.node_data[@intFromEnum(node)];
switch (c.node_tag[@intFromEnum(node)]) {
@@ -259,7 +264,6 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
.int_literal,
.char_literal,
.float_literal,
- .double_literal,
.imaginary_literal,
.string_literal_expr,
.alignof_expr,
@@ -301,7 +305,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
const size: u32 = @intCast(ty.sizeof(c.comp).?); // TODO add error in parser
const @"align" = ty.alignof(c.comp);
const alloc = try c.builder.addAlloc(size, @"align");
- const name = try c.comp.intern(c.tree.tokSlice(data.decl.name));
+ const name = try StrInt.intern(c.comp, c.tree.tokSlice(data.decl.name));
try c.symbols.append(c.comp.gpa, .{ .name = name, .val = alloc });
if (data.decl.node != .none) {
try c.genInitializer(alloc, ty, data.decl.node);
@@ -391,7 +395,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
const label = try c.builder.makeLabel("case");
try c.builder.startBlock(label);
try c.wip_switch.cases.append(c.builder.gpa, .{
- .val = try c.builder.pool.put(c.builder.gpa, .{ .value = val }),
+ .val = val.ref(),
.label = label,
});
try c.genStmt(data.bin.rhs);
@@ -453,7 +457,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
const old_continue_label = c.continue_label;
defer c.continue_label = old_continue_label;
- const for_decl = data.forDecl(c.tree);
+ const for_decl = data.forDecl(&c.tree);
for (for_decl.decls) |decl| try c.genStmt(decl);
const then_label = try c.builder.makeLabel("for.then");
@@ -501,7 +505,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
const old_continue_label = c.continue_label;
defer c.continue_label = old_continue_label;
- const for_stmt = data.forStmt(c.tree);
+ const for_stmt = data.forStmt(&c.tree);
if (for_stmt.init != .none) _ = try c.genExpr(for_stmt.init);
const then_label = try c.builder.makeLabel("for.then");
@@ -536,7 +540,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
},
.implicit_return => {
if (data.return_zero) {
- const operand = try c.builder.addConstant(Value.int(0), try c.genType(ty));
+ const operand = try c.builder.addConstant(.zero, try c.genType(ty));
try c.ret_nodes.append(c.comp.gpa, .{ .value = operand, .label = c.builder.current_label });
}
// No need to emit a jump since implicit_return is always the last instruction.
@@ -545,7 +549,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
.goto_stmt,
.computed_goto_stmt,
.nullptr_literal,
- => return c.comp.diag.fatalNoSrc("TODO CodeGen.genStmt {}\n", .{c.node_tag[@intFromEnum(node)]}),
+ => return c.fail("TODO CodeGen.genStmt {}\n", .{c.node_tag[@intFromEnum(node)]}),
.comma_expr => {
_ = try c.genExpr(data.bin.lhs);
return c.genExpr(data.bin.rhs);
@@ -635,7 +639,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
},
.plus_expr => return c.genExpr(data.un),
.negate_expr => {
- const zero = try c.builder.addConstant(Value.int(0), try c.genType(ty));
+ const zero = try c.builder.addConstant(.zero, try c.genType(ty));
const operand = try c.genExpr(data.un);
return c.addBin(.sub, zero, operand, ty);
},
@@ -644,14 +648,14 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
return c.addUn(.bit_not, operand, ty);
},
.bool_not_expr => {
- const zero = try c.builder.addConstant(Value.int(0), try c.genType(ty));
+ const zero = try c.builder.addConstant(.zero, try c.genType(ty));
const operand = try c.genExpr(data.un);
return c.addBin(.cmp_ne, zero, operand, ty);
},
.pre_inc_expr => {
const operand = try c.genLval(data.un);
const val = try c.addUn(.load, operand, ty);
- const one = try c.builder.addConstant(Value.int(1), try c.genType(ty));
+ const one = try c.builder.addConstant(.one, try c.genType(ty));
const plus_one = try c.addBin(.add, val, one, ty);
try c.builder.addStore(operand, plus_one);
return plus_one;
@@ -659,7 +663,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
.pre_dec_expr => {
const operand = try c.genLval(data.un);
const val = try c.addUn(.load, operand, ty);
- const one = try c.builder.addConstant(Value.int(1), try c.genType(ty));
+ const one = try c.builder.addConstant(.one, try c.genType(ty));
const plus_one = try c.addBin(.sub, val, one, ty);
try c.builder.addStore(operand, plus_one);
return plus_one;
@@ -667,7 +671,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
.post_inc_expr => {
const operand = try c.genLval(data.un);
const val = try c.addUn(.load, operand, ty);
- const one = try c.builder.addConstant(Value.int(1), try c.genType(ty));
+ const one = try c.builder.addConstant(.one, try c.genType(ty));
const plus_one = try c.addBin(.add, val, one, ty);
try c.builder.addStore(operand, plus_one);
return val;
@@ -675,7 +679,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
.post_dec_expr => {
const operand = try c.genLval(data.un);
const val = try c.addUn(.load, operand, ty);
- const one = try c.builder.addConstant(Value.int(1), try c.genType(ty));
+ const one = try c.builder.addConstant(.one, try c.genType(ty));
const plus_one = try c.addBin(.sub, val, one, ty);
try c.builder.addStore(operand, plus_one);
return val;
@@ -717,7 +721,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
},
.pointer_to_bool, .int_to_bool, .float_to_bool => {
const lhs = try c.genExpr(data.cast.operand);
- const rhs = try c.builder.addConstant(Value.int(0), try c.genType(c.node_ty[@intFromEnum(node)]));
+ const rhs = try c.builder.addConstant(.zero, try c.genType(c.node_ty[@intFromEnum(node)]));
return c.builder.addInst(.cmp_ne, .{ .bin = .{ .lhs = lhs, .rhs = rhs } }, .i1);
},
.bitcast,
@@ -739,11 +743,11 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
.null_to_pointer,
.union_cast,
.vector_splat,
- => return c.comp.diag.fatalNoSrc("TODO CodeGen gen CastKind {}\n", .{data.cast.kind}),
+ => return c.fail("TODO CodeGen gen CastKind {}\n", .{data.cast.kind}),
},
.binary_cond_expr => {
if (c.tree.value_map.get(data.if3.cond)) |cond| {
- if (cond.getBool()) {
+ if (cond.toBool(c.comp)) {
c.cond_dummy_ref = try c.genExpr(data.if3.cond);
return c.genExpr(c.tree.data[data.if3.body]); // then
} else {
@@ -786,7 +790,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
.cond_dummy_expr => return c.cond_dummy_ref,
.cond_expr => {
if (c.tree.value_map.get(data.if3.cond)) |cond| {
- if (cond.getBool()) {
+ if (cond.toBool(c.comp)) {
return c.genExpr(c.tree.data[data.if3.body]); // then
} else {
return c.genExpr(c.tree.data[data.if3.body + 1]); // else
@@ -826,9 +830,8 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
},
.bool_or_expr => {
if (c.tree.value_map.get(data.bin.lhs)) |lhs| {
- const cond = lhs.getBool();
- if (!cond) {
- return c.builder.addConstant(Value.int(1), try c.genType(ty));
+ if (!lhs.toBool(c.comp)) {
+ return c.builder.addConstant(.one, try c.genType(ty));
}
return c.genExpr(data.bin.rhs);
}
@@ -855,9 +858,8 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
},
.bool_and_expr => {
if (c.tree.value_map.get(data.bin.lhs)) |lhs| {
- const cond = lhs.getBool();
- if (!cond) {
- return c.builder.addConstant(Value.int(0), try c.genType(ty));
+ if (!lhs.toBool(c.comp)) {
+ return c.builder.addConstant(.zero, try c.genType(ty));
}
return c.genExpr(data.bin.rhs);
}
@@ -884,7 +886,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
},
.builtin_choose_expr => {
const cond = c.tree.value_map.get(data.if3.cond).?;
- if (cond.getBool()) {
+ if (cond.toBool(c.comp)) {
return c.genExpr(c.tree.data[data.if3.body]);
} else {
return c.genExpr(c.tree.data[data.if3.body + 1]);
@@ -949,7 +951,7 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
.real_expr,
.sizeof_expr,
.special_builtin_call_one,
- => return c.comp.diag.fatalNoSrc("TODO CodeGen.genExpr {}\n", .{c.node_tag[@intFromEnum(node)]}),
+ => return c.fail("TODO CodeGen.genExpr {}\n", .{c.node_tag[@intFromEnum(node)]}),
else => unreachable, // Not an expression.
}
return .none;
@@ -957,17 +959,17 @@ fn genExpr(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
fn genLval(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
std.debug.assert(node != .none);
- assert(Tree.isLval(c.tree.nodes, c.tree.data, c.tree.value_map, node));
+ assert(c.tree.isLval(node));
const data = c.node_data[@intFromEnum(node)];
switch (c.node_tag[@intFromEnum(node)]) {
.string_literal_expr => {
const val = c.tree.value_map.get(node).?;
- return c.builder.addConstant(val, .ptr);
+ return c.builder.addConstant(val.ref(), .ptr);
},
.paren_expr => return c.genLval(data.un),
.decl_ref_expr => {
const slice = c.tree.tokSlice(data.decl_ref);
- const name = try c.comp.intern(slice);
+ const name = try StrInt.intern(c.comp, slice);
var i = c.symbols.items.len;
while (i > 0) {
i -= 1;
@@ -992,7 +994,7 @@ fn genLval(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
},
.builtin_choose_expr => {
const cond = c.tree.value_map.get(data.if3.cond).?;
- if (cond.getBool()) {
+ if (cond.toBool(c.comp)) {
return c.genLval(c.tree.data[data.if3.body]);
} else {
return c.genLval(c.tree.data[data.if3.body + 1]);
@@ -1001,7 +1003,10 @@ fn genLval(c: *CodeGen, node: NodeIndex) Error!Ir.Ref {
.member_access_expr,
.member_access_ptr_expr,
.array_access_expr,
- => return c.comp.diag.fatalNoSrc("TODO CodeGen.genLval {}\n", .{c.node_tag[@intFromEnum(node)]}),
+ .static_compound_literal_expr,
+ .thread_local_compound_literal_expr,
+ .static_thread_local_compound_literal_expr,
+ => return c.fail("TODO CodeGen.genLval {}\n", .{c.node_tag[@intFromEnum(node)]}),
else => unreachable, // Not an lval expression.
}
}
@@ -1019,8 +1024,7 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
switch (c.node_tag[@intFromEnum(node)]) {
.bool_or_expr => {
if (c.tree.value_map.get(data.bin.lhs)) |lhs| {
- const cond = lhs.getBool();
- if (cond) {
+ if (lhs.toBool(c.comp)) {
if (true_label == c.bool_end_label) {
return c.addBoolPhi(!c.bool_invert);
}
@@ -1033,13 +1037,12 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
try c.genBoolExpr(data.bin.lhs, true_label, new_false_label);
try c.builder.startBlock(new_false_label);
- if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(Value.int(1), ty);
+ if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(.one, ty);
return c.genBoolExpr(data.bin.rhs, true_label, false_label);
},
.bool_and_expr => {
if (c.tree.value_map.get(data.bin.lhs)) |lhs| {
- const cond = lhs.getBool();
- if (!cond) {
+ if (!lhs.toBool(c.comp)) {
if (false_label == c.bool_end_label) {
return c.addBoolPhi(c.bool_invert);
}
@@ -1052,14 +1055,14 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
try c.genBoolExpr(data.bin.lhs, new_true_label, false_label);
try c.builder.startBlock(new_true_label);
- if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(Value.int(1), ty);
+ if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(.one, ty);
return c.genBoolExpr(data.bin.rhs, true_label, false_label);
},
.bool_not_expr => {
c.bool_invert = !c.bool_invert;
defer c.bool_invert = !c.bool_invert;
- if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(Value.int(0), ty);
+ if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(.zero, ty);
return c.genBoolExpr(data.un, false_label, true_label);
},
.equal_expr => {
@@ -1102,7 +1105,7 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
},
.binary_cond_expr => {
if (c.tree.value_map.get(data.if3.cond)) |cond| {
- if (cond.getBool()) {
+ if (cond.toBool(c.comp)) {
return c.genBoolExpr(c.tree.data[data.if3.body], true_label, false_label); // then
} else {
return c.genBoolExpr(c.tree.data[data.if3.body + 1], true_label, false_label); // else
@@ -1113,12 +1116,12 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
try c.genBoolExpr(data.if3.cond, true_label, new_false_label);
try c.builder.startBlock(new_false_label);
- if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(Value.int(1), ty);
+ if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(.one, ty);
return c.genBoolExpr(c.tree.data[data.if3.body + 1], true_label, false_label); // else
},
.cond_expr => {
if (c.tree.value_map.get(data.if3.cond)) |cond| {
- if (cond.getBool()) {
+ if (cond.toBool(c.comp)) {
return c.genBoolExpr(c.tree.data[data.if3.body], true_label, false_label); // then
} else {
return c.genBoolExpr(c.tree.data[data.if3.body + 1], true_label, false_label); // else
@@ -1132,14 +1135,14 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
try c.builder.startBlock(new_true_label);
try c.genBoolExpr(c.tree.data[data.if3.body], true_label, false_label); // then
try c.builder.startBlock(new_false_label);
- if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(Value.int(1), ty);
+ if (c.cond_dummy_ty) |ty| c.cond_dummy_ref = try c.builder.addConstant(.one, ty);
return c.genBoolExpr(c.tree.data[data.if3.body + 1], true_label, false_label); // else
},
else => {},
}
if (c.tree.value_map.get(node)) |value| {
- if (value.getBool()) {
+ if (value.toBool(c.comp)) {
if (true_label == c.bool_end_label) {
return c.addBoolPhi(!c.bool_invert);
}
@@ -1154,7 +1157,7 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
// Assume int operand.
const lhs = try c.genExpr(node);
- const rhs = try c.builder.addConstant(Value.int(0), try c.genType(c.node_ty[@intFromEnum(node)]));
+ const rhs = try c.builder.addConstant(.zero, try c.genType(c.node_ty[@intFromEnum(node)]));
const cmp = try c.builder.addInst(.cmp_ne, .{ .bin = .{ .lhs = lhs, .rhs = rhs } }, .i1);
if (c.cond_dummy_ty != null) c.cond_dummy_ref = cmp;
try c.addBranch(cmp, true_label, false_label);
@@ -1163,7 +1166,7 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
fn genBuiltinCall(c: *CodeGen, builtin: Builtin, arg_nodes: []const NodeIndex, ty: Type) Error!Ir.Ref {
_ = arg_nodes;
_ = ty;
- return c.comp.diag.fatalNoSrc("TODO CodeGen.genBuiltinCall {s}\n", .{Builtin.nameFromTag(builtin.tag).span()});
+ return c.fail("TODO CodeGen.genBuiltinCall {s}\n", .{Builtin.nameFromTag(builtin.tag).span()});
}
fn genCall(c: *CodeGen, fn_node: NodeIndex, arg_nodes: []const NodeIndex, ty: Type) Error!Ir.Ref {
@@ -1188,7 +1191,7 @@ fn genCall(c: *CodeGen, fn_node: NodeIndex, arg_nodes: []const NodeIndex, ty: Ty
},
.decl_ref_expr => {
const slice = c.tree.tokSlice(c.node_data[cur].decl_ref);
- const name = try c.comp.intern(slice);
+ const name = try StrInt.intern(c.comp, slice);
var i = c.symbols.items.len;
while (i > 0) {
i -= 1;
@@ -1254,7 +1257,7 @@ fn genPtrArithmetic(c: *CodeGen, ptr: Ir.Ref, offset: Ir.Ref, offset_ty: Type, t
return c.builder.addInst(.add, .{ .bin = .{ .lhs = ptr, .rhs = offset } }, try c.genType(ty));
}
- const size_inst = try c.builder.addConstant(Value.int(size), try c.genType(offset_ty));
+ const size_inst = try c.builder.addConstant((try Value.int(size, c.comp)).ref(), try c.genType(offset_ty));
const offset_inst = try c.addBin(.mul, offset, size_inst, offset_ty);
return c.addBin(.add, ptr, offset_inst, offset_ty);
}
@@ -1269,12 +1272,12 @@ fn genInitializer(c: *CodeGen, ptr: Ir.Ref, dest_ty: Type, initializer: NodeInde
.union_init_expr,
.array_filler_expr,
.default_init_expr,
- => return c.comp.diag.fatalNoSrc("TODO CodeGen.genInitializer {}\n", .{c.node_tag[@intFromEnum(initializer)]}),
+ => return c.fail("TODO CodeGen.genInitializer {}\n", .{c.node_tag[@intFromEnum(initializer)]}),
.string_literal_expr => {
const val = c.tree.value_map.get(initializer).?;
- const str_ptr = try c.builder.addConstant(val, .ptr);
+ const str_ptr = try c.builder.addConstant(val.ref(), .ptr);
if (dest_ty.isArray()) {
- return c.comp.diag.fatalNoSrc("TODO memcpy\n", .{});
+ return c.fail("TODO memcpy\n", .{});
} else {
try c.builder.addStore(ptr, str_ptr);
}
@@ -1288,5 +1291,5 @@ fn genInitializer(c: *CodeGen, ptr: Ir.Ref, dest_ty: Type, initializer: NodeInde
fn genVar(c: *CodeGen, decl: NodeIndex) Error!void {
_ = decl;
- return c.comp.diag.fatalNoSrc("TODO CodeGen.genVar\n", .{});
+ return c.fail("TODO CodeGen.genVar\n", .{});
}
deps/aro/Compilation.zig → deps/aro/aro/Compilation.zig
@@ -1,8 +1,9 @@
const std = @import("std");
-const assert = std.debug.assert;
-const mem = std.mem;
const Allocator = mem.Allocator;
+const assert = std.debug.assert;
const EpochSeconds = std.time.epoch.EpochSeconds;
+const mem = std.mem;
+const Interner = @import("backend").Interner;
const Builtins = @import("Builtins.zig");
const Builtin = Builtins.Builtin;
const Diagnostics = @import("Diagnostics.zig");
@@ -12,18 +13,16 @@ const Tokenizer = @import("Tokenizer.zig");
const Token = Tokenizer.Token;
const Type = @import("Type.zig");
const Pragma = @import("Pragma.zig");
-const StringInterner = @import("StringInterner.zig");
+const StrInt = @import("StringInterner.zig");
const record_layout = @import("record_layout.zig");
const target_util = @import("target.zig");
-const Compilation = @This();
-
pub const Error = error{
/// A fatal error has ocurred and compilation has stopped.
FatalError,
} || Allocator.Error;
-pub const bit_int_max_bits = 128;
+pub const bit_int_max_bits = std.math.maxInt(u16);
const path_buf_stack_limit = 1024;
/// Environment variables used during compilation / linking.
@@ -58,12 +57,12 @@ pub const Environment = struct {
/// Load all of the environment variables using the std.process API. Do not use if using Aro as a shared library on Linux without libc
/// See https://github.com/ziglang/zig/issues/4524
- /// Assumes that `self` has been default-initialized
- pub fn loadAll(self: *Environment, allocator: std.mem.Allocator) !void {
- errdefer self.deinit(allocator);
+ pub fn loadAll(allocator: std.mem.Allocator) !Environment {
+ var env: Environment = .{};
+ errdefer env.deinit(allocator);
- inline for (@typeInfo(@TypeOf(self.*)).Struct.fields) |field| {
- std.debug.assert(@field(self, field.name) == null);
+ inline for (@typeInfo(@TypeOf(env)).Struct.fields) |field| {
+ std.debug.assert(@field(env, field.name) == null);
var env_var_buf: [field.name.len]u8 = undefined;
const env_var_name = std.ascii.upperString(&env_var_buf, field.name);
@@ -72,8 +71,9 @@ pub const Environment = struct {
error.EnvironmentVariableNotFound => null,
error.InvalidUtf8 => null,
};
- @field(self, field.name) = val;
+ @field(env, field.name) = val;
}
+ return env;
}
/// Use this only if environment slices were allocated with `allocator` (such as via `loadAll`)
@@ -87,16 +87,19 @@ pub const Environment = struct {
}
};
+const Compilation = @This();
+
gpa: Allocator,
+diagnostics: Diagnostics,
+
environment: Environment = .{},
-sources: std.StringArrayHashMap(Source),
-diag: Diagnostics,
-include_dirs: std.ArrayList([]const u8),
-system_include_dirs: std.ArrayList([]const u8),
+sources: std.StringArrayHashMapUnmanaged(Source) = .{},
+include_dirs: std.ArrayListUnmanaged([]const u8) = .{},
+system_include_dirs: std.ArrayListUnmanaged([]const u8) = .{},
target: std.Target = @import("builtin").target,
-pragma_handlers: std.StringArrayHashMap(*Pragma),
+pragma_handlers: std.StringArrayHashMapUnmanaged(*Pragma) = .{},
langopts: LangOpts = .{},
-generated_buf: std.ArrayList(u8),
+generated_buf: std.ArrayListUnmanaged(u8) = .{},
builtins: Builtins = .{},
types: struct {
wchar: Type = undefined,
@@ -122,21 +125,31 @@ types: struct {
int16: Type = .{ .specifier = .invalid },
int64: Type = .{ .specifier = .invalid },
} = .{},
-string_interner: StringInterner = .{},
+string_interner: StrInt = .{},
+interner: Interner = .{},
ms_cwd_source_id: ?Source.Id = null,
pub fn init(gpa: Allocator) Compilation {
return .{
.gpa = gpa,
- .sources = std.StringArrayHashMap(Source).init(gpa),
- .diag = Diagnostics.init(gpa),
- .include_dirs = std.ArrayList([]const u8).init(gpa),
- .system_include_dirs = std.ArrayList([]const u8).init(gpa),
- .pragma_handlers = std.StringArrayHashMap(*Pragma).init(gpa),
- .generated_buf = std.ArrayList(u8).init(gpa),
+ .diagnostics = Diagnostics.init(gpa),
};
}
+/// Initialize Compilation with default environment,
+/// pragma handlers and emulation mode set to target.
+pub fn initDefault(gpa: Allocator) !Compilation {
+ var comp: Compilation = .{
+ .gpa = gpa,
+ .environment = try Environment.loadAll(gpa),
+ .diagnostics = Diagnostics.init(gpa),
+ };
+ errdefer comp.deinit();
+ try comp.addDefaultPragmaHandlers();
+ comp.langopts.setEmulatedCompiler(target_util.systemCompiler(comp.target));
+ return comp;
+}
+
pub fn deinit(comp: *Compilation) void {
for (comp.pragma_handlers.values()) |pragma| {
pragma.deinit(pragma, comp);
@@ -146,19 +159,17 @@ pub fn deinit(comp: *Compilation) void {
comp.gpa.free(source.buf);
comp.gpa.free(source.splice_locs);
}
- comp.sources.deinit();
- comp.diag.deinit();
- comp.include_dirs.deinit();
+ comp.sources.deinit(comp.gpa);
+ comp.diagnostics.deinit();
+ comp.include_dirs.deinit(comp.gpa);
for (comp.system_include_dirs.items) |path| comp.gpa.free(path);
- comp.system_include_dirs.deinit();
- comp.pragma_handlers.deinit();
- comp.generated_buf.deinit();
+ comp.system_include_dirs.deinit(comp.gpa);
+ comp.pragma_handlers.deinit(comp.gpa);
+ comp.generated_buf.deinit(comp.gpa);
comp.builtins.deinit(comp.gpa);
comp.string_interner.deinit(comp.gpa);
-}
-
-pub fn intern(comp: *Compilation, str: []const u8) !StringInterner.StringId {
- return comp.string_interner.intern(comp.gpa, str);
+ comp.interner.deinit(comp.gpa);
+ comp.environment.deinit(comp.gpa);
}
pub fn getSourceEpoch(self: *const Compilation, max: i64) !?i64 {
@@ -173,7 +184,7 @@ const max_timestamp = 253402300799;
fn getTimestamp(comp: *Compilation) !u47 {
const provided: ?i64 = comp.getSourceEpoch(max_timestamp) catch blk: {
- try comp.diag.add(.{
+ try comp.addDiagnostic(.{
.tag = .invalid_source_epoch,
.loc = .{ .id = .unused, .byte_offset = 0, .line = 0 },
}, &.{});
@@ -219,32 +230,15 @@ fn generateDateAndTime(w: anytype, timestamp: u47) !void {
});
}
-/// Generate builtin macros that will be available to each source file.
-pub fn generateBuiltinMacros(comp: *Compilation) !Source {
- try comp.generateBuiltinTypes();
-
- var buf = std.ArrayList(u8).init(comp.gpa);
- defer buf.deinit();
- const w = buf.writer();
+/// Which set of system defines to generate via generateBuiltinMacros
+pub const SystemDefinesMode = enum {
+ /// Only define macros required by the C standard (date/time macros and those beginning with `__STDC`)
+ no_system_defines,
+ /// Define the standard set of system macros
+ include_system_defines,
+};
- // standard macros
- try w.writeAll(
- \\#define __VERSION__ "Aro
- ++ @import("lib.zig").version_str ++ "\"\n" ++
- \\#define __Aro__
- \\#define __STDC__ 1
- \\#define __STDC_HOSTED__ 1
- \\#define __STDC_NO_ATOMICS__ 1
- \\#define __STDC_NO_COMPLEX__ 1
- \\#define __STDC_NO_THREADS__ 1
- \\#define __STDC_NO_VLA__ 1
- \\#define __STDC_UTF_16__ 1
- \\#define __STDC_UTF_32__ 1
- \\
- );
- if (comp.langopts.standard.StdCVersionMacro()) |stdc_version| {
- try w.print("#define __STDC_VERSION__ {s}\n", .{stdc_version});
- }
+fn generateSystemDefines(comp: *Compilation, w: anytype) !void {
const ptr_width = comp.target.ptrBitWidth();
// os macros
@@ -414,10 +408,6 @@ pub fn generateBuiltinMacros(comp: *Compilation) !Source {
\\
);
- // timestamps
- const timestamp = try comp.getTimestamp();
- try generateDateAndTime(w, timestamp);
-
// types
if (comp.getCharSignedness() == .unsigned) try w.writeAll("#define __CHAR_UNSIGNED__ 1\n");
try w.writeAll("#define __CHAR_BIT__ 8\n");
@@ -489,6 +479,49 @@ pub fn generateBuiltinMacros(comp: *Compilation) !Source {
\\#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
\\
);
+}
+
+/// Generate builtin macros that will be available to each source file.
+pub fn generateBuiltinMacros(comp: *Compilation, system_defines_mode: SystemDefinesMode) !Source {
+ try comp.generateBuiltinTypes();
+
+ var buf = std.ArrayList(u8).init(comp.gpa);
+ defer buf.deinit();
+
+ if (system_defines_mode == .include_system_defines) {
+ try buf.appendSlice(
+ \\#define __VERSION__ "Aro
+ ++ @import("backend").version_str ++ "\"\n" ++
+ \\#define __Aro__
+ \\
+ );
+ }
+
+ // standard macros
+ try buf.appendSlice(
+ \\#define __STDC__ 1
+ \\#define __STDC_HOSTED__ 1
+ \\#define __STDC_NO_ATOMICS__ 1
+ \\#define __STDC_NO_COMPLEX__ 1
+ \\#define __STDC_NO_THREADS__ 1
+ \\#define __STDC_NO_VLA__ 1
+ \\#define __STDC_UTF_16__ 1
+ \\#define __STDC_UTF_32__ 1
+ \\
+ );
+ if (comp.langopts.standard.StdCVersionMacro()) |stdc_version| {
+ try buf.appendSlice("#define __STDC_VERSION__ ");
+ try buf.appendSlice(stdc_version);
+ try buf.append('\n');
+ }
+
+ // timestamps
+ const timestamp = try comp.getTimestamp();
+ try generateDateAndTime(buf.writer(), timestamp);
+
+ if (system_defines_mode == .include_system_defines) {
+ try comp.generateSystemDefines(buf.writer());
+ }
return comp.addSourceFromBuffer("<builtin>", buf.items);
}
@@ -573,7 +606,7 @@ fn generateFloatMacros(w: anytype, prefix: []const u8, semantics: target_util.FP
try w.print("#define {s}MIN__ {s}{s}\n", .{ prefix_slice, min, ext });
}
-fn generateTypeMacro(w: anytype, mapper: StringInterner.TypeMapper, name: []const u8, ty: Type, langopts: LangOpts) !void {
+fn generateTypeMacro(w: anytype, mapper: StrInt.TypeMapper, name: []const u8, ty: Type, langopts: LangOpts) !void {
try w.print("#define {s} ", .{name});
try ty.print(mapper, langopts, w);
try w.writeByte('\n');
@@ -661,7 +694,7 @@ fn intSize(comp: *const Compilation, specifier: Type.Specifier) u64 {
return ty.sizeof(comp).?;
}
-fn generateExactWidthTypes(comp: *const Compilation, w: anytype, mapper: StringInterner.TypeMapper) !void {
+fn generateExactWidthTypes(comp: *const Compilation, w: anytype, mapper: StrInt.TypeMapper) !void {
try comp.generateExactWidthType(w, mapper, .schar);
if (comp.intSize(.short) > comp.intSize(.char)) {
@@ -726,7 +759,7 @@ fn generateSuffixMacro(comp: *const Compilation, prefix: []const u8, w: anytype,
/// Name macro (e.g. #define __UINT32_TYPE__ unsigned int)
/// Format strings (e.g. #define __UINT32_FMTu__ "u")
/// Suffix macro (e.g. #define __UINT32_C_SUFFIX__ U)
-fn generateExactWidthType(comp: *const Compilation, w: anytype, mapper: StringInterner.TypeMapper, specifier: Type.Specifier) !void {
+fn generateExactWidthType(comp: *const Compilation, w: anytype, mapper: StrInt.TypeMapper, specifier: Type.Specifier) !void {
var ty = Type{ .specifier = specifier };
const width = 8 * ty.sizeof(comp).?;
const unsigned = ty.isUnsignedInt(comp);
@@ -751,13 +784,17 @@ fn generateExactWidthType(comp: *const Compilation, w: anytype, mapper: StringIn
try comp.generateSuffixMacro(prefix.constSlice(), w, ty);
}
+pub fn hasFloat128(comp: *const Compilation) bool {
+ return target_util.hasFloat128(comp.target);
+}
+
pub fn hasHalfPrecisionFloatABI(comp: *const Compilation) bool {
return comp.langopts.allow_half_args_and_returns or target_util.hasHalfPrecisionFloatABI(comp.target);
}
fn generateNsConstantStringType(comp: *Compilation) !void {
comp.types.ns_constant_string.record = .{
- .name = try comp.intern("__NSConstantString_tag"),
+ .name = try StrInt.intern(comp, "__NSConstantString_tag"),
.fields = &comp.types.ns_constant_string.fields,
.field_attributes = null,
.type_layout = undefined,
@@ -765,10 +802,10 @@ fn generateNsConstantStringType(comp: *Compilation) !void {
const const_int_ptr = Type{ .specifier = .pointer, .data = .{ .sub_type = &comp.types.ns_constant_string.int_ty } };
const const_char_ptr = Type{ .specifier = .pointer, .data = .{ .sub_type = &comp.types.ns_constant_string.char_ty } };
- comp.types.ns_constant_string.fields[0] = .{ .name = try comp.intern("isa"), .ty = const_int_ptr };
- comp.types.ns_constant_string.fields[1] = .{ .name = try comp.intern("flags"), .ty = .{ .specifier = .int } };
- comp.types.ns_constant_string.fields[2] = .{ .name = try comp.intern("str"), .ty = const_char_ptr };
- comp.types.ns_constant_string.fields[3] = .{ .name = try comp.intern("length"), .ty = .{ .specifier = .long } };
+ comp.types.ns_constant_string.fields[0] = .{ .name = try StrInt.intern(comp, "isa"), .ty = const_int_ptr };
+ comp.types.ns_constant_string.fields[1] = .{ .name = try StrInt.intern(comp, "flags"), .ty = .{ .specifier = .int } };
+ comp.types.ns_constant_string.fields[2] = .{ .name = try StrInt.intern(comp, "str"), .ty = const_char_ptr };
+ comp.types.ns_constant_string.fields[3] = .{ .name = try StrInt.intern(comp, "length"), .ty = .{ .specifier = .long } };
comp.types.ns_constant_string.ty = .{ .specifier = .@"struct", .data = .{ .record = &comp.types.ns_constant_string.record } };
record_layout.compute(&comp.types.ns_constant_string.record, comp.types.ns_constant_string.ty, comp, null);
}
@@ -795,7 +832,7 @@ fn generateVaListType(comp: *Compilation) !Type {
};
// TODO this might be bad?
- const arena = comp.diag.arena.allocator();
+ const arena = comp.diagnostics.arena.allocator();
var ty: Type = undefined;
switch (kind) {
@@ -804,7 +841,7 @@ fn generateVaListType(comp: *Compilation) !Type {
.aarch64_va_list => {
const record_ty = try arena.create(Type.Record);
record_ty.* = .{
- .name = try comp.intern("__va_list_tag"),
+ .name = try StrInt.intern(comp, "__va_list_tag"),
.fields = try arena.alloc(Type.Record.Field, 5),
.field_attributes = null,
.type_layout = undefined, // computed below
@@ -812,18 +849,18 @@ fn generateVaListType(comp: *Compilation) !Type {
const void_ty = try arena.create(Type);
void_ty.* = .{ .specifier = .void };
const void_ptr = Type{ .specifier = .pointer, .data = .{ .sub_type = void_ty } };
- record_ty.fields[0] = .{ .name = try comp.intern("__stack"), .ty = void_ptr };
- record_ty.fields[1] = .{ .name = try comp.intern("__gr_top"), .ty = void_ptr };
- record_ty.fields[2] = .{ .name = try comp.intern("__vr_top"), .ty = void_ptr };
- record_ty.fields[3] = .{ .name = try comp.intern("__gr_offs"), .ty = .{ .specifier = .int } };
- record_ty.fields[4] = .{ .name = try comp.intern("__vr_offs"), .ty = .{ .specifier = .int } };
+ record_ty.fields[0] = .{ .name = try StrInt.intern(comp, "__stack"), .ty = void_ptr };
+ record_ty.fields[1] = .{ .name = try StrInt.intern(comp, "__gr_top"), .ty = void_ptr };
+ record_ty.fields[2] = .{ .name = try StrInt.intern(comp, "__vr_top"), .ty = void_ptr };
+ record_ty.fields[3] = .{ .name = try StrInt.intern(comp, "__gr_offs"), .ty = .{ .specifier = .int } };
+ record_ty.fields[4] = .{ .name = try StrInt.intern(comp, "__vr_offs"), .ty = .{ .specifier = .int } };
ty = .{ .specifier = .@"struct", .data = .{ .record = record_ty } };
record_layout.compute(record_ty, ty, comp, null);
},
.x86_64_va_list => {
const record_ty = try arena.create(Type.Record);
record_ty.* = .{
- .name = try comp.intern("__va_list_tag"),
+ .name = try StrInt.intern(comp, "__va_list_tag"),
.fields = try arena.alloc(Type.Record.Field, 4),
.field_attributes = null,
.type_layout = undefined, // computed below
@@ -831,10 +868,10 @@ fn generateVaListType(comp: *Compilation) !Type {
const void_ty = try arena.create(Type);
void_ty.* = .{ .specifier = .void };
const void_ptr = Type{ .specifier = .pointer, .data = .{ .sub_type = void_ty } };
- record_ty.fields[0] = .{ .name = try comp.intern("gp_offset"), .ty = .{ .specifier = .uint } };
- record_ty.fields[1] = .{ .name = try comp.intern("fp_offset"), .ty = .{ .specifier = .uint } };
- record_ty.fields[2] = .{ .name = try comp.intern("overflow_arg_area"), .ty = void_ptr };
- record_ty.fields[3] = .{ .name = try comp.intern("reg_save_area"), .ty = void_ptr };
+ record_ty.fields[0] = .{ .name = try StrInt.intern(comp, "gp_offset"), .ty = .{ .specifier = .uint } };
+ record_ty.fields[1] = .{ .name = try StrInt.intern(comp, "fp_offset"), .ty = .{ .specifier = .uint } };
+ record_ty.fields[2] = .{ .name = try StrInt.intern(comp, "overflow_arg_area"), .ty = void_ptr };
+ record_ty.fields[3] = .{ .name = try StrInt.intern(comp, "reg_save_area"), .ty = void_ptr };
ty = .{ .specifier = .@"struct", .data = .{ .record = record_ty } };
record_layout.compute(record_ty, ty, comp, null);
},
@@ -932,7 +969,7 @@ pub fn defineSystemIncludes(comp: *Compilation, aro_dir: []const u8) !void {
base_dir.access("include/stddef.h", .{}) catch continue;
const path = try std.fs.path.join(comp.gpa, &.{ dirname, "include" });
errdefer comp.gpa.free(path);
- try comp.system_include_dirs.append(path);
+ try comp.system_include_dirs.append(comp.gpa, path);
break;
} else return error.AroIncludeNotFound;
@@ -946,12 +983,12 @@ pub fn defineSystemIncludes(comp: *Compilation, aro_dir: []const u8) !void {
if (!std.meta.isError(std.fs.accessAbsolute(multiarch_path, .{}))) {
const duped = try comp.gpa.dupe(u8, multiarch_path);
errdefer comp.gpa.free(duped);
- try comp.system_include_dirs.append(duped);
+ try comp.system_include_dirs.append(comp.gpa, duped);
}
}
const usr_include = try comp.gpa.dupe(u8, "/usr/include");
errdefer comp.gpa.free(usr_include);
- try comp.system_include_dirs.append(usr_include);
+ try comp.system_include_dirs.append(comp.gpa, usr_include);
}
pub fn getSource(comp: *const Compilation, id: Source.Id) Source {
@@ -980,7 +1017,7 @@ pub fn addSourceFromReader(comp: *Compilation, reader: anytype, path: []const u8
/// To add the contents of an arbitrary reader as a Source, see addSourceFromReader
/// To add a file's contents given its path, see addSourceFromPath
pub fn addSourceFromOwnedBuffer(comp: *Compilation, buf: []u8, path: []const u8, kind: Source.Kind) !Source {
- try comp.sources.ensureUnusedCapacity(1);
+ try comp.sources.ensureUnusedCapacity(comp.gpa, 1);
var contents = buf;
const duped_path = try comp.gpa.dupe(u8, path);
@@ -1022,7 +1059,7 @@ pub fn addSourceFromOwnedBuffer(comp: *Compilation, buf: []u8, path: []const u8,
i = backslash_loc;
try splice_list.append(i);
if (state == .trailing_ws) {
- try comp.diag.add(.{
+ try comp.addDiagnostic(.{
.tag = .backslash_newline_escape,
.loc = .{ .id = source_id, .byte_offset = i, .line = line },
}, &.{});
@@ -1046,7 +1083,7 @@ pub fn addSourceFromOwnedBuffer(comp: *Compilation, buf: []u8, path: []const u8,
try splice_list.append(i);
}
if (state == .trailing_ws) {
- try comp.diag.add(.{
+ try comp.addDiagnostic(.{
.tag = .backslash_newline_escape,
.loc = .{ .id = source_id, .byte_offset = i, .line = line },
}, &.{});
@@ -1105,7 +1142,7 @@ pub fn addSourceFromOwnedBuffer(comp: *Compilation, buf: []u8, path: []const u8,
if (i != contents.len) contents = try comp.gpa.realloc(contents, i);
errdefer @compileError("errdefers in callers would possibly free the realloced slice using the original len");
- var source = Source{
+ const source = Source{
.id = source_id,
.path = duped_path,
.buf = contents,
@@ -1259,7 +1296,7 @@ pub const IncludeType = enum {
angle_brackets,
};
-fn getFileContents(comp: *Compilation, path: []const u8) ![]const u8 {
+fn getFileContents(comp: *Compilation, path: []const u8, limit: ?u32) ![]const u8 {
if (mem.indexOfScalar(u8, path, 0) != null) {
return error.FileNotFound;
}
@@ -1267,7 +1304,16 @@ fn getFileContents(comp: *Compilation, path: []const u8) ![]const u8 {
const file = try std.fs.cwd().openFile(path, .{});
defer file.close();
- return file.readToEndAlloc(comp.gpa, std.math.maxInt(u32));
+ var buf = std.ArrayList(u8).init(comp.gpa);
+ defer buf.deinit();
+
+ const max = limit orelse std.math.maxInt(u32);
+ file.reader().readAllArrayList(&buf, max) catch |e| switch (e) {
+ error.StreamTooLong => if (limit == null) return e,
+ else => return e,
+ };
+
+ return buf.toOwnedSlice();
}
pub fn findEmbed(
@@ -1276,9 +1322,10 @@ pub fn findEmbed(
includer_token_source: Source.Id,
/// angle bracket vs quotes
include_type: IncludeType,
+ limit: ?u32,
) !?[]const u8 {
if (std.fs.path.isAbsolute(filename)) {
- return if (comp.getFileContents(filename)) |some|
+ return if (comp.getFileContents(filename, limit)) |some|
some
else |err| switch (err) {
error.OutOfMemory => |e| return e,
@@ -1295,7 +1342,7 @@ pub fn findEmbed(
while (try it.nextWithFile(filename, stack_fallback.get())) |found| {
defer stack_fallback.get().free(found.path);
- if (comp.getFileContents(found.path)) |some|
+ if (comp.getFileContents(found.path, limit)) |some|
return some
else |err| switch (err) {
error.OutOfMemory => return error.OutOfMemory,
@@ -1342,7 +1389,7 @@ pub fn findInclude(
defer stack_fallback.get().free(found.path);
if (comp.addSourceFromPathExtra(found.path, found.kind)) |some| {
if (it.tried_ms_cwd) {
- try comp.diag.add(.{
+ try comp.addDiagnostic(.{
.tag = .ms_search_rule,
.extra = .{ .str = some.path },
.loc = .{
@@ -1362,7 +1409,7 @@ pub fn findInclude(
}
pub fn addPragmaHandler(comp: *Compilation, name: []const u8, handler: *Pragma) Allocator.Error!void {
- try comp.pragma_handlers.putNoClobber(name, handler);
+ try comp.pragma_handlers.putNoClobber(comp.gpa, name, handler);
}
pub fn addDefaultPragmaHandlers(comp: *Compilation) Allocator.Error!void {
@@ -1444,7 +1491,7 @@ pub const CharUnitSize = enum(u32) {
}
};
-pub const renderErrors = Diagnostics.render;
+pub const addDiagnostic = Diagnostics.add;
test "addSourceFromReader" {
const Test = struct {
@@ -1456,7 +1503,7 @@ test "addSourceFromReader" {
const source = try comp.addSourceFromReader(buf_reader.reader(), "path", .user);
try std.testing.expectEqualStrings(expected, source.buf);
- try std.testing.expectEqual(warning_count, @as(u32, @intCast(comp.diag.list.items.len)));
+ try std.testing.expectEqual(warning_count, @as(u32, @intCast(comp.diagnostics.list.items.len)));
try std.testing.expectEqualSlices(u32, splices, source.splice_locs);
}
deps/aro/aro/Diagnostics.zig
@@ -0,0 +1,588 @@
+const std = @import("std");
+const Allocator = mem.Allocator;
+const mem = std.mem;
+const Source = @import("Source.zig");
+const Compilation = @import("Compilation.zig");
+const Attribute = @import("Attribute.zig");
+const Builtins = @import("Builtins.zig");
+const Builtin = Builtins.Builtin;
+const Header = @import("Builtins/Properties.zig").Header;
+const Tree = @import("Tree.zig");
+const is_windows = @import("builtin").os.tag == .windows;
+const LangOpts = @import("LangOpts.zig");
+
+pub const Message = struct {
+ tag: Tag,
+ kind: Kind = undefined,
+ loc: Source.Location = .{},
+ extra: Extra = .{ .none = {} },
+
+ pub const Extra = union {
+ str: []const u8,
+ tok_id: struct {
+ expected: Tree.Token.Id,
+ actual: Tree.Token.Id,
+ },
+ tok_id_expected: Tree.Token.Id,
+ arguments: struct {
+ expected: u32,
+ actual: u32,
+ },
+ codepoints: struct {
+ actual: u21,
+ resembles: u21,
+ },
+ attr_arg_count: struct {
+ attribute: Attribute.Tag,
+ expected: u32,
+ },
+ attr_arg_type: struct {
+ expected: Attribute.ArgumentType,
+ actual: Attribute.ArgumentType,
+ },
+ attr_enum: struct {
+ tag: Attribute.Tag,
+ },
+ ignored_record_attr: struct {
+ tag: Attribute.Tag,
+ specifier: enum { @"struct", @"union", @"enum" },
+ },
+ builtin_with_header: struct {
+ builtin: Builtin.Tag,
+ header: Header,
+ },
+ invalid_escape: struct {
+ offset: u32,
+ char: u8,
+ },
+ actual_codepoint: u21,
+ ascii: u7,
+ unsigned: u64,
+ offset: u64,
+ pow_2_as_string: u8,
+ signed: i64,
+ normalized: []const u8,
+ none: void,
+ };
+};
+
+const Properties = struct {
+ msg: []const u8,
+ kind: Kind,
+ extra: std.meta.FieldEnum(Message.Extra) = .none,
+ opt: ?u8 = null,
+ all: bool = false,
+ w_extra: bool = false,
+ pedantic: bool = false,
+ suppress_version: ?LangOpts.Standard = null,
+ suppress_unless_version: ?LangOpts.Standard = null,
+ suppress_gnu: bool = false,
+ suppress_gcc: bool = false,
+ suppress_clang: bool = false,
+ suppress_msvc: bool = false,
+
+ pub fn makeOpt(comptime str: []const u8) u16 {
+ return @offsetOf(Options, str);
+ }
+ pub fn getKind(prop: Properties, options: *Options) Kind {
+ const opt = @as([*]Kind, @ptrCast(options))[prop.opt orelse return prop.kind];
+ if (opt == .default) return prop.kind;
+ return opt;
+ }
+ pub const max_bits = Compilation.bit_int_max_bits;
+};
+
+pub const Tag = @import("Diagnostics/messages.def").with(Properties).Tag;
+
+pub const Kind = enum { @"fatal error", @"error", note, warning, off, default };
+
+pub const Options = struct {
+ // do not directly use these, instead add `const NAME = true;`
+ all: Kind = .default,
+ extra: Kind = .default,
+ pedantic: Kind = .default,
+
+ @"unsupported-pragma": Kind = .default,
+ @"c99-extensions": Kind = .default,
+ @"implicit-int": Kind = .default,
+ @"duplicate-decl-specifier": Kind = .default,
+ @"missing-declaration": Kind = .default,
+ @"extern-initializer": Kind = .default,
+ @"implicit-function-declaration": Kind = .default,
+ @"unused-value": Kind = .default,
+ @"unreachable-code": Kind = .default,
+ @"unknown-warning-option": Kind = .default,
+ @"gnu-empty-struct": Kind = .default,
+ @"gnu-alignof-expression": Kind = .default,
+ @"macro-redefined": Kind = .default,
+ @"generic-qual-type": Kind = .default,
+ multichar: Kind = .default,
+ @"pointer-integer-compare": Kind = .default,
+ @"compare-distinct-pointer-types": Kind = .default,
+ @"literal-conversion": Kind = .default,
+ @"cast-qualifiers": Kind = .default,
+ @"array-bounds": Kind = .default,
+ @"int-conversion": Kind = .default,
+ @"pointer-type-mismatch": Kind = .default,
+ @"c23-extensions": Kind = .default,
+ @"incompatible-pointer-types": Kind = .default,
+ @"excess-initializers": Kind = .default,
+ @"division-by-zero": Kind = .default,
+ @"initializer-overrides": Kind = .default,
+ @"incompatible-pointer-types-discards-qualifiers": Kind = .default,
+ @"unknown-attributes": Kind = .default,
+ @"ignored-attributes": Kind = .default,
+ @"builtin-macro-redefined": Kind = .default,
+ @"gnu-label-as-value": Kind = .default,
+ @"malformed-warning-check": Kind = .default,
+ @"#pragma-messages": Kind = .default,
+ @"newline-eof": Kind = .default,
+ @"empty-translation-unit": Kind = .default,
+ @"implicitly-unsigned-literal": Kind = .default,
+ @"c99-compat": Kind = .default,
+ @"unicode-zero-width": Kind = .default,
+ @"unicode-homoglyph": Kind = .default,
+ unicode: Kind = .default,
+ @"return-type": Kind = .default,
+ @"dollar-in-identifier-extension": Kind = .default,
+ @"unknown-pragmas": Kind = .default,
+ @"predefined-identifier-outside-function": Kind = .default,
+ @"many-braces-around-scalar-init": Kind = .default,
+ uninitialized: Kind = .default,
+ @"gnu-statement-expression": Kind = .default,
+ @"gnu-imaginary-constant": Kind = .default,
+ @"gnu-complex-integer": Kind = .default,
+ @"ignored-qualifiers": Kind = .default,
+ @"integer-overflow": Kind = .default,
+ @"extra-semi": Kind = .default,
+ @"gnu-binary-literal": Kind = .default,
+ @"variadic-macros": Kind = .default,
+ varargs: Kind = .default,
+ @"#warnings": Kind = .default,
+ @"deprecated-declarations": Kind = .default,
+ @"backslash-newline-escape": Kind = .default,
+ @"pointer-to-int-cast": Kind = .default,
+ @"gnu-case-range": Kind = .default,
+ @"c++-compat": Kind = .default,
+ vla: Kind = .default,
+ @"float-overflow-conversion": Kind = .default,
+ @"float-zero-conversion": Kind = .default,
+ @"float-conversion": Kind = .default,
+ @"gnu-folding-constant": Kind = .default,
+ undef: Kind = .default,
+ @"ignored-pragmas": Kind = .default,
+ @"gnu-include-next": Kind = .default,
+ @"include-next-outside-header": Kind = .default,
+ @"include-next-absolute-path": Kind = .default,
+ @"enum-too-large": Kind = .default,
+ @"fixed-enum-extension": Kind = .default,
+ @"designated-init": Kind = .default,
+ @"attribute-warning": Kind = .default,
+ @"invalid-noreturn": Kind = .default,
+ @"zero-length-array": Kind = .default,
+ @"old-style-flexible-struct": Kind = .default,
+ @"gnu-zero-variadic-macro-arguments": Kind = .default,
+ @"main-return-type": Kind = .default,
+ @"expansion-to-defined": Kind = .default,
+ @"bit-int-extension": Kind = .default,
+ @"keyword-macro": Kind = .default,
+ @"pointer-arith": Kind = .default,
+ @"sizeof-array-argument": Kind = .default,
+ @"pre-c23-compat": Kind = .default,
+ @"pointer-bool-conversion": Kind = .default,
+ @"string-conversion": Kind = .default,
+ @"gnu-auto-type": Kind = .default,
+ @"gnu-union-cast": Kind = .default,
+ @"pointer-sign": Kind = .default,
+ @"fuse-ld-path": Kind = .default,
+ @"language-extension-token": Kind = .default,
+ @"complex-component-init": Kind = .default,
+ @"microsoft-include": Kind = .default,
+ @"microsoft-end-of-file": Kind = .default,
+ @"invalid-source-encoding": Kind = .default,
+ @"four-char-constants": Kind = .default,
+ @"unknown-escape-sequence": Kind = .default,
+ @"invalid-pp-token": Kind = .default,
+ @"deprecated-non-prototype": Kind = .default,
+ @"duplicate-embed-param": Kind = .default,
+ @"unsupported-embed-param": Kind = .default,
+ @"unused-result": Kind = .default,
+ normalized: Kind = .default,
+};
+
+const Diagnostics = @This();
+
+list: std.ArrayListUnmanaged(Message) = .{},
+arena: std.heap.ArenaAllocator,
+fatal_errors: bool = false,
+options: Options = .{},
+errors: u32 = 0,
+macro_backtrace_limit: u32 = 6,
+
+pub fn warningExists(name: []const u8) bool {
+ inline for (std.meta.fields(Options)) |f| {
+ if (mem.eql(u8, f.name, name)) return true;
+ }
+ return false;
+}
+
+pub fn set(d: *Diagnostics, name: []const u8, to: Kind) !void {
+ inline for (std.meta.fields(Options)) |f| {
+ if (mem.eql(u8, f.name, name)) {
+ @field(d.options, f.name) = to;
+ return;
+ }
+ }
+ try d.addExtra(.{}, .{
+ .tag = .unknown_warning,
+ .extra = .{ .str = name },
+ }, &.{});
+}
+
+pub fn init(gpa: Allocator) Diagnostics {
+ return .{
+ .arena = std.heap.ArenaAllocator.init(gpa),
+ };
+}
+
+pub fn deinit(d: *Diagnostics) void {
+ d.list.deinit(d.arena.child_allocator);
+ d.arena.deinit();
+}
+
+pub fn add(comp: *Compilation, msg: Message, expansion_locs: []const Source.Location) Compilation.Error!void {
+ return comp.diagnostics.addExtra(comp.langopts, msg, expansion_locs);
+}
+
+pub fn addExtra(
+ d: *Diagnostics,
+ langopts: LangOpts,
+ msg: Message,
+ expansion_locs: []const Source.Location,
+) Compilation.Error!void {
+ const kind = d.tagKind(msg.tag, langopts);
+ if (kind == .off) return;
+ var copy = msg;
+ copy.kind = kind;
+
+ if (expansion_locs.len != 0) copy.loc = expansion_locs[expansion_locs.len - 1];
+ try d.list.append(d.arena.child_allocator, copy);
+ if (expansion_locs.len != 0) {
+ // Add macro backtrace notes in reverse order omitting from the middle if needed.
+ var i = expansion_locs.len - 1;
+ const half = d.macro_backtrace_limit / 2;
+ const limit = if (i < d.macro_backtrace_limit) 0 else i - half;
+ try d.list.ensureUnusedCapacity(
+ d.arena.child_allocator,
+ if (limit == 0) expansion_locs.len else d.macro_backtrace_limit + 1,
+ );
+ while (i > limit) {
+ i -= 1;
+ d.list.appendAssumeCapacity(.{
+ .tag = .expanded_from_here,
+ .kind = .note,
+ .loc = expansion_locs[i],
+ });
+ }
+ if (limit != 0) {
+ d.list.appendAssumeCapacity(.{
+ .tag = .skipping_macro_backtrace,
+ .kind = .note,
+ .extra = .{ .unsigned = expansion_locs.len - d.macro_backtrace_limit },
+ });
+ i = half - 1;
+ while (i > 0) {
+ i -= 1;
+ d.list.appendAssumeCapacity(.{
+ .tag = .expanded_from_here,
+ .kind = .note,
+ .loc = expansion_locs[i],
+ });
+ }
+ }
+
+ d.list.appendAssumeCapacity(.{
+ .tag = .expanded_from_here,
+ .kind = .note,
+ .loc = msg.loc,
+ });
+ }
+ if (kind == .@"fatal error" or (kind == .@"error" and d.fatal_errors))
+ return error.FatalError;
+}
+
+pub fn render(comp: *Compilation, config: std.io.tty.Config) void {
+ if (comp.diagnostics.list.items.len == 0) return;
+ var m = defaultMsgWriter(config);
+ defer m.deinit();
+ renderMessages(comp, &m);
+}
+pub fn defaultMsgWriter(config: std.io.tty.Config) MsgWriter {
+ return MsgWriter.init(config);
+}
+
+pub fn renderMessages(comp: *Compilation, m: anytype) void {
+ var errors: u32 = 0;
+ var warnings: u32 = 0;
+ for (comp.diagnostics.list.items) |msg| {
+ switch (msg.kind) {
+ .@"fatal error", .@"error" => errors += 1,
+ .warning => warnings += 1,
+ .note => {},
+ .off => continue, // happens if an error is added before it is disabled
+ .default => unreachable,
+ }
+ renderMessage(comp, m, msg);
+ }
+ const w_s: []const u8 = if (warnings == 1) "" else "s";
+ const e_s: []const u8 = if (errors == 1) "" else "s";
+ if (errors != 0 and warnings != 0) {
+ m.print("{d} warning{s} and {d} error{s} generated.\n", .{ warnings, w_s, errors, e_s });
+ } else if (warnings != 0) {
+ m.print("{d} warning{s} generated.\n", .{ warnings, w_s });
+ } else if (errors != 0) {
+ m.print("{d} error{s} generated.\n", .{ errors, e_s });
+ }
+
+ comp.diagnostics.list.items.len = 0;
+ comp.diagnostics.errors += errors;
+}
+
+pub fn renderMessage(comp: *Compilation, m: anytype, msg: Message) void {
+ var line: ?[]const u8 = null;
+ var end_with_splice = false;
+ const width = if (msg.loc.id != .unused) blk: {
+ var loc = msg.loc;
+ switch (msg.tag) {
+ .escape_sequence_overflow,
+ .invalid_universal_character,
+ => loc.byte_offset += @truncate(msg.extra.offset),
+ .non_standard_escape_char,
+ .unknown_escape_sequence,
+ => loc.byte_offset += msg.extra.invalid_escape.offset,
+ else => {},
+ }
+ const source = comp.getSource(loc.id);
+ var line_col = source.lineCol(loc);
+ line = line_col.line;
+ end_with_splice = line_col.end_with_splice;
+ if (msg.tag == .backslash_newline_escape) {
+ line = line_col.line[0 .. line_col.col - 1];
+ line_col.col += 1;
+ line_col.width += 1;
+ }
+ m.location(source.path, line_col.line_no, line_col.col);
+ break :blk line_col.width;
+ } else 0;
+
+ m.start(msg.kind);
+ const prop = msg.tag.property();
+ switch (prop.extra) {
+ .str => printRt(m, prop.msg, .{"{s}"}, .{msg.extra.str}),
+ .tok_id => printRt(m, prop.msg, .{ "{s}", "{s}" }, .{
+ msg.extra.tok_id.expected.symbol(),
+ msg.extra.tok_id.actual.symbol(),
+ }),
+ .tok_id_expected => printRt(m, prop.msg, .{"{s}"}, .{msg.extra.tok_id_expected.symbol()}),
+ .arguments => printRt(m, prop.msg, .{ "{d}", "{d}" }, .{
+ msg.extra.arguments.expected,
+ msg.extra.arguments.actual,
+ }),
+ .codepoints => printRt(m, prop.msg, .{ "{X:0>4}", "{u}" }, .{
+ msg.extra.codepoints.actual,
+ msg.extra.codepoints.resembles,
+ }),
+ .attr_arg_count => printRt(m, prop.msg, .{ "{s}", "{d}" }, .{
+ @tagName(msg.extra.attr_arg_count.attribute),
+ msg.extra.attr_arg_count.expected,
+ }),
+ .attr_arg_type => printRt(m, prop.msg, .{ "{s}", "{s}" }, .{
+ msg.extra.attr_arg_type.expected.toString(),
+ msg.extra.attr_arg_type.actual.toString(),
+ }),
+ .actual_codepoint => printRt(m, prop.msg, .{"{X:0>4}"}, .{msg.extra.actual_codepoint}),
+ .ascii => printRt(m, prop.msg, .{"{c}"}, .{msg.extra.ascii}),
+ .unsigned => printRt(m, prop.msg, .{"{d}"}, .{msg.extra.unsigned}),
+ .pow_2_as_string => printRt(m, prop.msg, .{"{s}"}, .{switch (msg.extra.pow_2_as_string) {
+ 63 => "9223372036854775808",
+ 64 => "18446744073709551616",
+ 127 => "170141183460469231731687303715884105728",
+ 128 => "340282366920938463463374607431768211456",
+ else => unreachable,
+ }}),
+ .signed => printRt(m, prop.msg, .{"{d}"}, .{msg.extra.signed}),
+ .attr_enum => printRt(m, prop.msg, .{ "{s}", "{s}" }, .{
+ @tagName(msg.extra.attr_enum.tag),
+ Attribute.Formatting.choices(msg.extra.attr_enum.tag),
+ }),
+ .ignored_record_attr => printRt(m, prop.msg, .{ "{s}", "{s}" }, .{
+ @tagName(msg.extra.ignored_record_attr.tag),
+ @tagName(msg.extra.ignored_record_attr.specifier),
+ }),
+ .builtin_with_header => printRt(m, prop.msg, .{ "{s}", "{s}" }, .{
+ @tagName(msg.extra.builtin_with_header.header),
+ Builtin.nameFromTag(msg.extra.builtin_with_header.builtin).span(),
+ }),
+ .invalid_escape => {
+ if (std.ascii.isPrint(msg.extra.invalid_escape.char)) {
+ const str: [1]u8 = .{msg.extra.invalid_escape.char};
+ printRt(m, prop.msg, .{"{s}"}, .{&str});
+ } else {
+ var buf: [3]u8 = undefined;
+ const str = std.fmt.bufPrint(&buf, "x{x}", .{std.fmt.fmtSliceHexLower(&.{msg.extra.invalid_escape.char})}) catch unreachable;
+ printRt(m, prop.msg, .{"{s}"}, .{str});
+ }
+ },
+ .normalized => {
+ const f = struct {
+ pub fn f(
+ bytes: []const u8,
+ comptime _: []const u8,
+ _: std.fmt.FormatOptions,
+ writer: anytype,
+ ) !void {
+ var it: std.unicode.Utf8Iterator = .{
+ .bytes = bytes,
+ .i = 0,
+ };
+ while (it.nextCodepoint()) |codepoint| {
+ if (codepoint < 0x7F) {
+ try writer.writeByte(@intCast(codepoint));
+ } else if (codepoint < 0xFFFF) {
+ try writer.writeAll("\\u");
+ try std.fmt.formatInt(codepoint, 16, .upper, .{
+ .fill = '0',
+ .width = 4,
+ }, writer);
+ } else {
+ try writer.writeAll("\\U");
+ try std.fmt.formatInt(codepoint, 16, .upper, .{
+ .fill = '0',
+ .width = 8,
+ }, writer);
+ }
+ }
+ }
+ }.f;
+ printRt(m, prop.msg, .{"{s}"}, .{
+ std.fmt.Formatter(f){ .data = msg.extra.normalized },
+ });
+ },
+ .none, .offset => m.write(prop.msg),
+ }
+
+ if (prop.opt) |some| {
+ if (msg.kind == .@"error" and prop.kind != .@"error") {
+ m.print(" [-Werror,-W{s}]", .{optName(some)});
+ } else if (msg.kind != .note) {
+ m.print(" [-W{s}]", .{optName(some)});
+ }
+ }
+
+ m.end(line, width, end_with_splice);
+}
+
+fn printRt(m: anytype, str: []const u8, comptime fmts: anytype, args: anytype) void {
+ var i: usize = 0;
+ inline for (fmts, args) |fmt, arg| {
+ const new = std.mem.indexOfPos(u8, str, i, fmt).?;
+ m.write(str[i..new]);
+ i = new + fmt.len;
+ m.print(fmt, .{arg});
+ }
+ m.write(str[i..]);
+}
+
+fn optName(offset: u16) []const u8 {
+ return std.meta.fieldNames(Options)[offset / @sizeOf(Kind)];
+}
+
+fn tagKind(d: *Diagnostics, tag: Tag, langopts: LangOpts) Kind {
+ const prop = tag.property();
+ var kind = prop.getKind(&d.options);
+
+ if (prop.all) {
+ if (d.options.all != .default) kind = d.options.all;
+ }
+ if (prop.w_extra) {
+ if (d.options.extra != .default) kind = d.options.extra;
+ }
+ if (prop.pedantic) {
+ if (d.options.pedantic != .default) kind = d.options.pedantic;
+ }
+ if (prop.suppress_version) |some| if (langopts.standard.atLeast(some)) return .off;
+ if (prop.suppress_unless_version) |some| if (!langopts.standard.atLeast(some)) return .off;
+ if (prop.suppress_gnu and langopts.standard.isExplicitGNU()) return .off;
+ if (prop.suppress_gcc and langopts.emulate == .gcc) return .off;
+ if (prop.suppress_clang and langopts.emulate == .clang) return .off;
+ if (prop.suppress_msvc and langopts.emulate == .msvc) return .off;
+ if (kind == .@"error" and d.fatal_errors) kind = .@"fatal error";
+ return kind;
+}
+
+const MsgWriter = struct {
+ w: std.io.BufferedWriter(4096, std.fs.File.Writer),
+ config: std.io.tty.Config,
+
+ fn init(config: std.io.tty.Config) MsgWriter {
+ std.debug.getStderrMutex().lock();
+ return .{
+ .w = std.io.bufferedWriter(std.io.getStdErr().writer()),
+ .config = config,
+ };
+ }
+
+ pub fn deinit(m: *MsgWriter) void {
+ m.w.flush() catch {};
+ std.debug.getStderrMutex().unlock();
+ }
+
+ pub fn print(m: *MsgWriter, comptime fmt: []const u8, args: anytype) void {
+ m.w.writer().print(fmt, args) catch {};
+ }
+
+ fn write(m: *MsgWriter, msg: []const u8) void {
+ m.w.writer().writeAll(msg) catch {};
+ }
+
+ fn setColor(m: *MsgWriter, color: std.io.tty.Color) void {
+ m.config.setColor(m.w.writer(), color) catch {};
+ }
+
+ fn location(m: *MsgWriter, path: []const u8, line: u32, col: u32) void {
+ m.setColor(.bold);
+ m.print("{s}:{d}:{d}: ", .{ path, line, col });
+ }
+
+ fn start(m: *MsgWriter, kind: Kind) void {
+ switch (kind) {
+ .@"fatal error", .@"error" => m.setColor(.bright_red),
+ .note => m.setColor(.bright_cyan),
+ .warning => m.setColor(.bright_magenta),
+ .off, .default => unreachable,
+ }
+ m.write(switch (kind) {
+ .@"fatal error" => "fatal error: ",
+ .@"error" => "error: ",
+ .note => "note: ",
+ .warning => "warning: ",
+ .off, .default => unreachable,
+ });
+ m.setColor(.white);
+ }
+
+ fn end(m: *MsgWriter, maybe_line: ?[]const u8, col: u32, end_with_splice: bool) void {
+ const line = maybe_line orelse {
+ m.write("\n");
+ m.setColor(.reset);
+ return;
+ };
+ const trailer = if (end_with_splice) "\\ " else "";
+ m.setColor(.reset);
+ m.print("\n{s}{s}\n{s: >[3]}", .{ line, trailer, "", col });
+ m.setColor(.bold);
+ m.setColor(.bright_green);
+ m.write("^\n");
+ m.setColor(.reset);
+ }
+};
deps/aro/Driver.zig → deps/aro/aro/Driver.zig
@@ -2,18 +2,17 @@ const std = @import("std");
const mem = std.mem;
const Allocator = mem.Allocator;
const process = std.process;
-const Codegen = @import("Codegen_legacy.zig");
+const backend = @import("backend");
+const Ir = backend.Ir;
+const Object = backend.Object;
const Compilation = @import("Compilation.zig");
+const Diagnostics = @import("Diagnostics.zig");
const LangOpts = @import("LangOpts.zig");
const Preprocessor = @import("Preprocessor.zig");
-const Parser = @import("Parser.zig");
const Source = @import("Source.zig");
const Toolchain = @import("Toolchain.zig");
-const util = @import("util.zig");
const target_util = @import("target.zig");
-const Driver = @This();
-
pub const Linker = enum {
ld,
bfd,
@@ -22,11 +21,14 @@ pub const Linker = enum {
mold,
};
+const Driver = @This();
+
comp: *Compilation,
inputs: std.ArrayListUnmanaged(Source) = .{},
link_objects: std.ArrayListUnmanaged([]const u8) = .{},
output_name: ?[]const u8 = null,
sysroot: ?[]const u8 = null,
+system_defines: Compilation.SystemDefinesMode = .include_system_defines,
temp_file_count: u32 = 0,
/// If false, do not emit line directives in -E mode
line_commands: bool = true,
@@ -40,6 +42,7 @@ verbose_ast: bool = false,
verbose_pp: bool = false,
verbose_ir: bool = false,
verbose_linker_args: bool = false,
+color: ?bool = null,
/// Full path to the aro executable
aro_name: []const u8 = "",
@@ -87,8 +90,8 @@ pub const usage =
\\ -c, --compile Only run preprocess, compile, and assemble steps
\\ -D <macro>=<value> Define <macro> to <value> (defaults to 1)
\\ -E Only run the preprocessor
- \\ -fchar8_t Enable char8_t (enabled by default in C2X and later)
- \\ -fno-char8_t Disable char8_t (disabled by default for pre-C2X)
+ \\ -fchar8_t Enable char8_t (enabled by default in C23 and later)
+ \\ -fno-char8_t Disable char8_t (disabled by default for pre-C23)
\\ -fcolor-diagnostics Enable colors in diagnostics
\\ -fno-color-diagnostics Disable colors in diagnostics
\\ -fdeclspec Enable support for __declspec attributes
@@ -131,6 +134,7 @@ pub const usage =
\\ --sysroot=<dir> Use dir as the logical root directory for headers and libraries (not fully implemented)
\\ --target=<value> Generate code for the given target
\\ -U <macro> Undefine <macro>
+ \\ -undef Do not predefine any system-specific macros. Standard predefined macros remain defined.
\\ -Werror Treat all warnings as errors
\\ -Werror=<warning> Treat warning as error
\\ -W<warning> Enable the specified warning
@@ -172,23 +176,18 @@ pub fn parseArgs(
args: []const []const u8,
) !bool {
var i: usize = 1;
- var color_setting: enum {
- on,
- off,
- unset,
- } = .unset;
var comment_arg: []const u8 = "";
while (i < args.len) : (i += 1) {
const arg = args[i];
if (mem.startsWith(u8, arg, "-") and arg.len > 1) {
if (mem.eql(u8, arg, "-h") or mem.eql(u8, arg, "--help")) {
std_out.print(usage, .{args[0]}) catch |er| {
- return d.fatal("unable to print usage: {s}", .{util.errorDescription(er)});
+ return d.fatal("unable to print usage: {s}", .{errorDescription(er)});
};
return true;
} else if (mem.eql(u8, arg, "-v") or mem.eql(u8, arg, "--version")) {
- std_out.writeAll(@import("lib.zig").version_str ++ "\n") catch |er| {
- return d.fatal("unable to print version: {s}", .{util.errorDescription(er)});
+ std_out.writeAll(@import("backend").version_str ++ "\n") catch |er| {
+ return d.fatal("unable to print version: {s}", .{errorDescription(er)});
};
return true;
} else if (mem.startsWith(u8, arg, "-D")) {
@@ -218,6 +217,8 @@ pub fn parseArgs(
macro = args[i];
}
try macro_buf.print("#undef {s}\n", .{macro});
+ } else if (mem.eql(u8, arg, "-undef")) {
+ d.system_defines = .no_system_defines;
} else if (mem.eql(u8, arg, "-c") or mem.eql(u8, arg, "--compile")) {
d.only_compile = true;
} else if (mem.eql(u8, arg, "-E")) {
@@ -233,9 +234,9 @@ pub fn parseArgs(
} else if (mem.eql(u8, arg, "-fno-char8_t")) {
d.comp.langopts.has_char8_t_override = false;
} else if (mem.eql(u8, arg, "-fcolor-diagnostics")) {
- color_setting = .on;
+ d.color = true;
} else if (mem.eql(u8, arg, "-fno-color-diagnostics")) {
- color_setting = .off;
+ d.color = false;
} else if (mem.eql(u8, arg, "-fdollars-in-identifiers")) {
d.comp.langopts.dollars_in_identifiers = true;
} else if (mem.eql(u8, arg, "-fno-dollars-in-identifiers")) {
@@ -255,7 +256,7 @@ pub fn parseArgs(
};
if (limit == 0) limit = std.math.maxInt(u32);
- d.comp.diag.macro_backtrace_limit = limit;
+ d.comp.diagnostics.macro_backtrace_limit = limit;
} else if (mem.eql(u8, arg, "-fnative-half-type")) {
d.comp.langopts.use_native_half_type = true;
} else if (mem.eql(u8, arg, "-fnative-half-arguments-and-returns")) {
@@ -290,7 +291,7 @@ pub fn parseArgs(
}
path = args[i];
}
- try d.comp.include_dirs.append(path);
+ try d.comp.include_dirs.append(d.comp.gpa, path);
} else if (mem.startsWith(u8, arg, "-fsyntax-only")) {
d.only_syntax = true;
} else if (mem.startsWith(u8, arg, "-fno-syntax-only")) {
@@ -307,17 +308,17 @@ pub fn parseArgs(
}
const duped = try d.comp.gpa.dupe(u8, path);
errdefer d.comp.gpa.free(duped);
- try d.comp.system_include_dirs.append(duped);
+ try d.comp.system_include_dirs.append(d.comp.gpa, duped);
} else if (option(arg, "--emulate=")) |compiler_str| {
const compiler = std.meta.stringToEnum(LangOpts.Compiler, compiler_str) orelse {
- try d.comp.diag.add(.{ .tag = .cli_invalid_emulate, .extra = .{ .str = arg } }, &.{});
+ try d.comp.addDiagnostic(.{ .tag = .cli_invalid_emulate, .extra = .{ .str = arg } }, &.{});
continue;
};
d.comp.langopts.setEmulatedCompiler(compiler);
} else if (option(arg, "-ffp-eval-method=")) |fp_method_str| {
const fp_eval_method = std.meta.stringToEnum(LangOpts.FPEvalMethod, fp_method_str) orelse .indeterminate;
if (fp_eval_method == .indeterminate) {
- try d.comp.diag.add(.{ .tag = .cli_invalid_fp_eval_method, .extra = .{ .str = fp_method_str } }, &.{});
+ try d.comp.addDiagnostic(.{ .tag = .cli_invalid_fp_eval_method, .extra = .{ .str = fp_method_str } }, &.{});
continue;
}
d.comp.langopts.setFpEvalMethod(fp_eval_method);
@@ -335,31 +336,31 @@ pub fn parseArgs(
} else if (option(arg, "--sysroot=")) |sysroot| {
d.sysroot = sysroot;
} else if (mem.eql(u8, arg, "-pedantic")) {
- d.comp.diag.options.pedantic = .warning;
+ d.comp.diagnostics.options.pedantic = .warning;
} else if (option(arg, "--rtlib=")) |rtlib| {
if (mem.eql(u8, rtlib, "compiler-rt") or mem.eql(u8, rtlib, "libgcc") or mem.eql(u8, rtlib, "platform")) {
d.rtlib = rtlib;
} else {
- try d.comp.diag.add(.{ .tag = .invalid_rtlib, .extra = .{ .str = rtlib } }, &.{});
+ try d.comp.addDiagnostic(.{ .tag = .invalid_rtlib, .extra = .{ .str = rtlib } }, &.{});
}
} else if (option(arg, "-Werror=")) |err_name| {
- try d.comp.diag.set(err_name, .@"error");
+ try d.comp.diagnostics.set(err_name, .@"error");
} else if (mem.eql(u8, arg, "-Wno-fatal-errors")) {
- d.comp.diag.fatal_errors = false;
+ d.comp.diagnostics.fatal_errors = false;
} else if (option(arg, "-Wno-")) |err_name| {
- try d.comp.diag.set(err_name, .off);
+ try d.comp.diagnostics.set(err_name, .off);
} else if (mem.eql(u8, arg, "-Wfatal-errors")) {
- d.comp.diag.fatal_errors = true;
+ d.comp.diagnostics.fatal_errors = true;
} else if (option(arg, "-W")) |err_name| {
- try d.comp.diag.set(err_name, .warning);
+ try d.comp.diagnostics.set(err_name, .warning);
} else if (option(arg, "-std=")) |standard| {
d.comp.langopts.setStandard(standard) catch
- try d.comp.diag.add(.{ .tag = .cli_invalid_standard, .extra = .{ .str = arg } }, &.{});
+ try d.comp.addDiagnostic(.{ .tag = .cli_invalid_standard, .extra = .{ .str = arg } }, &.{});
} else if (mem.eql(u8, arg, "-S") or mem.eql(u8, arg, "--assemble")) {
d.only_preprocess_and_compile = true;
} else if (option(arg, "--target=")) |triple| {
const cross = std.zig.CrossTarget.parse(.{ .arch_os_abi = triple }) catch {
- try d.comp.diag.add(.{ .tag = .cli_invalid_target, .extra = .{ .str = arg } }, &.{});
+ try d.comp.addDiagnostic(.{ .tag = .cli_invalid_target, .extra = .{ .str = arg } }, &.{});
continue;
};
d.comp.target = cross.toTarget(); // TODO deprecated
@@ -422,25 +423,20 @@ pub fn parseArgs(
break;
}
} else {
- try d.comp.diag.add(.{ .tag = .invalid_unwindlib, .extra = .{ .str = unwindlib } }, &.{});
+ try d.comp.addDiagnostic(.{ .tag = .invalid_unwindlib, .extra = .{ .str = unwindlib } }, &.{});
}
} else {
- try d.comp.diag.add(.{ .tag = .cli_unknown_arg, .extra = .{ .str = arg } }, &.{});
+ try d.comp.addDiagnostic(.{ .tag = .cli_unknown_arg, .extra = .{ .str = arg } }, &.{});
}
} else if (std.mem.endsWith(u8, arg, ".o") or std.mem.endsWith(u8, arg, ".obj")) {
try d.link_objects.append(d.comp.gpa, arg);
} else {
const source = d.addSource(arg) catch |er| {
- return d.fatal("unable to add source file '{s}': {s}", .{ arg, util.errorDescription(er) });
+ return d.fatal("unable to add source file '{s}': {s}", .{ arg, errorDescription(er) });
};
try d.inputs.append(d.comp.gpa, source);
}
}
- d.comp.diag.color = switch (color_setting) {
- .on => true,
- .off => false,
- .unset => util.fileSupportsColor(std.io.getStdErr()) and !std.process.hasEnvVarConstant("NO_COLOR"),
- };
if (d.comp.langopts.preserve_comments and !d.only_preprocess) {
return d.fatal("invalid argument '{s}' only allowed with '-E'", .{comment_arg});
}
@@ -465,15 +461,65 @@ fn addSource(d: *Driver, path: []const u8) !Source {
}
pub fn err(d: *Driver, msg: []const u8) !void {
- try d.comp.diag.add(.{ .tag = .cli_error, .extra = .{ .str = msg } }, &.{});
+ try d.comp.addDiagnostic(.{ .tag = .cli_error, .extra = .{ .str = msg } }, &.{});
+}
+
+pub fn fatal(d: *Driver, comptime fmt: []const u8, args: anytype) error{ FatalError, OutOfMemory } {
+ try d.comp.diagnostics.list.append(d.comp.gpa, .{
+ .tag = .cli_error,
+ .kind = .@"fatal error",
+ .extra = .{ .str = try std.fmt.allocPrint(d.comp.diagnostics.arena.allocator(), fmt, args) },
+ });
+ return error.FatalError;
}
-pub fn fatal(d: *Driver, comptime fmt: []const u8, args: anytype) error{FatalError} {
- d.comp.renderErrors();
- return d.comp.diag.fatalNoSrc(fmt, args);
+pub fn renderErrors(d: *Driver) void {
+ Diagnostics.render(d.comp, d.detectConfig(std.io.getStdErr()));
}
-pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8) !void {
+pub fn detectConfig(d: *Driver, file: std.fs.File) std.io.tty.Config {
+ if (d.color == true) return .escape_codes;
+ if (d.color == false) return .no_color;
+
+ if (file.supportsAnsiEscapeCodes()) return .escape_codes;
+ if (@import("builtin").os.tag == .windows and file.isTty()) {
+ var info: std.os.windows.CONSOLE_SCREEN_BUFFER_INFO = undefined;
+ if (std.os.windows.kernel32.GetConsoleScreenBufferInfo(file.handle, &info) != std.os.windows.TRUE) {
+ return .no_color;
+ }
+ return .{ .windows_api = .{
+ .handle = file.handle,
+ .reset_attributes = info.wAttributes,
+ } };
+ }
+
+ return .no_color;
+}
+
+pub fn errorDescription(e: anyerror) []const u8 {
+ return switch (e) {
+ error.OutOfMemory => "ran out of memory",
+ error.FileNotFound => "file not found",
+ error.IsDir => "is a directory",
+ error.NotDir => "is not a directory",
+ error.NotOpenForReading => "file is not open for reading",
+ error.NotOpenForWriting => "file is not open for writing",
+ error.InvalidUtf8 => "input is not valid UTF-8",
+ error.FileBusy => "file is busy",
+ error.NameTooLong => "file name is too long",
+ error.AccessDenied => "access denied",
+ error.FileTooBig => "file is too big",
+ error.ProcessFdQuotaExceeded, error.SystemFdQuotaExceeded => "ran out of file descriptors",
+ error.SystemResources => "ran out of system resources",
+ error.FatalError => "a fatal error occurred",
+ error.Unexpected => "an unexpected error occurred",
+ else => @errorName(e),
+ };
+}
+
+/// The entry point of the Aro compiler.
+/// **MAY call `exit` if `fast_exit` is set.**
+pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8, comptime fast_exit: bool) !void {
var macro_buf = std.ArrayList(u8).init(d.comp.gpa);
defer macro_buf.deinit();
@@ -489,7 +535,7 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8) !void {
}
if (!linking) for (d.link_objects.items) |obj| {
- try d.comp.diag.add(.{ .tag = .cli_unused_link_object, .extra = .{ .str = obj } }, &.{});
+ try d.comp.addDiagnostic(.{ .tag = .cli_unused_link_object, .extra = .{ .str = obj } }, &.{});
};
d.comp.defineSystemIncludes(d.aro_name) catch |er| switch (er) {
@@ -497,15 +543,13 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8) !void {
error.AroIncludeNotFound => return d.fatal("unable to find Aro builtin headers", .{}),
};
- const builtin = try d.comp.generateBuiltinMacros();
+ const builtin = try d.comp.generateBuiltinMacros(d.system_defines);
const user_macros = try d.comp.addSourceFromBuffer("<command line>", macro_buf.items);
- const fast_exit = @import("builtin").mode != .Debug;
-
if (fast_exit and d.inputs.items.len == 1) {
d.processSource(tc, d.inputs.items[0], builtin, user_macros, fast_exit) catch |e| switch (e) {
error.FatalError => {
- d.comp.renderErrors();
+ d.renderErrors();
d.exitWithCleanup(1);
},
else => |er| return er,
@@ -516,12 +560,12 @@ pub fn main(d: *Driver, tc: *Toolchain, args: []const []const u8) !void {
for (d.inputs.items) |source| {
d.processSource(tc, source, builtin, user_macros, fast_exit) catch |e| switch (e) {
error.FatalError => {
- d.comp.renderErrors();
+ d.renderErrors();
},
else => |er| return er,
};
}
- if (d.comp.diag.errors != 0) {
+ if (d.comp.diagnostics.errors != 0) {
if (fast_exit) d.exitWithCleanup(1);
return;
}
@@ -540,7 +584,7 @@ fn processSource(
comptime fast_exit: bool,
) !void {
d.comp.generated_buf.items.len = 0;
- var pp = Preprocessor.init(d.comp);
+ var pp = try Preprocessor.initDefault(d.comp);
defer pp.deinit();
if (d.comp.langopts.ms_extensions) {
@@ -554,52 +598,48 @@ fn processSource(
pp.linemarkers = if (d.use_line_directives) .line_directives else .numeric_directives;
}
}
- try pp.addBuiltinMacros();
- try pp.addIncludeStart(source);
- try pp.addIncludeStart(builtin);
- _ = try pp.preprocess(builtin);
- try pp.addIncludeStart(user_macros);
- _ = try pp.preprocess(user_macros);
- try pp.addIncludeResume(source.id, 0, 0);
- const eof = try pp.preprocess(source);
- try pp.tokens.append(pp.comp.gpa, eof);
+ try pp.preprocessSources(&.{ source, builtin, user_macros });
if (d.only_preprocess) {
- d.comp.renderErrors();
+ d.renderErrors();
+
+ if (d.comp.diagnostics.errors != 0) {
+ if (fast_exit) std.process.exit(1); // Not linking, no need for cleanup.
+ return;
+ }
const file = if (d.output_name) |some|
std.fs.cwd().createFile(some, .{}) catch |er|
- return d.fatal("unable to create output file '{s}': {s}", .{ some, util.errorDescription(er) })
+ return d.fatal("unable to create output file '{s}': {s}", .{ some, errorDescription(er) })
else
std.io.getStdOut();
defer if (d.output_name != null) file.close();
var buf_w = std.io.bufferedWriter(file.writer());
pp.prettyPrintTokens(buf_w.writer()) catch |er|
- return d.fatal("unable to write result: {s}", .{util.errorDescription(er)});
+ return d.fatal("unable to write result: {s}", .{errorDescription(er)});
buf_w.flush() catch |er|
- return d.fatal("unable to write result: {s}", .{util.errorDescription(er)});
+ return d.fatal("unable to write result: {s}", .{errorDescription(er)});
if (fast_exit) std.process.exit(0); // Not linking, no need for cleanup.
return;
}
- var tree = try Parser.parse(&pp);
+ var tree = try pp.parse();
defer tree.deinit();
if (d.verbose_ast) {
const stdout = std.io.getStdOut();
var buf_writer = std.io.bufferedWriter(stdout.writer());
- const color = d.comp.diag.color and util.fileSupportsColor(stdout);
- tree.dump(color, buf_writer.writer()) catch {};
+ tree.dump(d.detectConfig(stdout), buf_writer.writer()) catch {};
buf_writer.flush() catch {};
}
- const prev_errors = d.comp.diag.errors;
- d.comp.renderErrors();
+ const prev_errors = d.comp.diagnostics.errors;
+ d.renderErrors();
- if (d.comp.diag.errors != prev_errors) {
+ if (d.comp.diagnostics.errors != prev_errors) {
if (fast_exit) d.exitWithCleanup(1);
return; // do not compile if there were errors
}
@@ -616,11 +656,31 @@ fn processSource(
);
}
+ var ir = try tree.genIr();
+ defer ir.deinit(d.comp.gpa);
+
if (d.verbose_ir) {
- try @import("CodeGen.zig").generateTree(d.comp, tree);
+ const stdout = std.io.getStdOut();
+ var buf_writer = std.io.bufferedWriter(stdout.writer());
+ ir.dump(d.comp.gpa, d.detectConfig(stdout), buf_writer.writer()) catch {};
+ buf_writer.flush() catch {};
+ }
+
+ var render_errors: Ir.Renderer.ErrorList = .{};
+ defer {
+ for (render_errors.values()) |msg| d.comp.gpa.free(msg);
+ render_errors.deinit(d.comp.gpa);
}
- const obj = try Codegen.generateTree(d.comp, tree);
+ var obj = ir.render(d.comp.gpa, d.comp.target, &render_errors) catch |e| switch (e) {
+ error.OutOfMemory => return error.OutOfMemory,
+ error.LowerFail => {
+ return d.fatal(
+ "unable to render Ir to machine code: {s}",
+ .{render_errors.values()[0]},
+ );
+ },
+ };
defer obj.deinit();
// If it's used, name_buf will either hold a filename or `/tmp/<12 random bytes with base-64 encoding>.<extension>`
@@ -653,11 +713,11 @@ fn processSource(
};
const out_file = std.fs.cwd().createFile(out_file_name, .{}) catch |er|
- return d.fatal("unable to create output file '{s}': {s}", .{ out_file_name, util.errorDescription(er) });
+ return d.fatal("unable to create output file '{s}': {s}", .{ out_file_name, errorDescription(er) });
defer out_file.close();
obj.finish(out_file) catch |er|
- return d.fatal("could not output to object file '{s}': {s}", .{ out_file_name, util.errorDescription(er) });
+ return d.fatal("could not output to object file '{s}': {s}", .{ out_file_name, errorDescription(er) });
if (d.only_compile) {
if (fast_exit) std.process.exit(0); // Not linking, no need for cleanup.
@@ -680,6 +740,8 @@ fn dumpLinkerArgs(items: []const []const u8) !void {
try stdout.writeByte('\n');
}
+/// The entry point of the Aro compiler.
+/// **MAY call `exit` if `fast_exit` is set.**
pub fn invokeLinker(d: *Driver, tc: *Toolchain, comptime fast_exit: bool) !void {
try tc.discover();
@@ -694,7 +756,7 @@ pub fn invokeLinker(d: *Driver, tc: *Toolchain, comptime fast_exit: bool) !void
if (d.verbose_linker_args) {
dumpLinkerArgs(argv.items) catch |er| {
- return d.fatal("unable to dump linker args: {s}", .{util.errorDescription(er)});
+ return d.fatal("unable to dump linker args: {s}", .{errorDescription(er)});
};
}
var child = std.ChildProcess.init(argv.items, d.comp.gpa);
@@ -704,11 +766,19 @@ pub fn invokeLinker(d: *Driver, tc: *Toolchain, comptime fast_exit: bool) !void
child.stderr_behavior = .Inherit;
const term = child.spawnAndWait() catch |er| {
- return d.fatal("unable to spawn linker: {s}", .{util.errorDescription(er)});
+ return d.fatal("unable to spawn linker: {s}", .{errorDescription(er)});
};
switch (term) {
- .Exited => |code| if (code != 0) d.exitWithCleanup(code),
- else => std.process.abort(),
+ .Exited => |code| if (code != 0) {
+ const e = d.fatal("linker exited with an error code", .{});
+ if (fast_exit) d.exitWithCleanup(code);
+ return e;
+ },
+ else => {
+ const e = d.fatal("linker crashed", .{});
+ if (fast_exit) d.exitWithCleanup(1);
+ return e;
+ },
}
if (fast_exit) d.exitWithCleanup(0);
}
deps/aro/features.zig → deps/aro/aro/features.zig
File renamed without changes
deps/aro/InitList.zig → deps/aro/aro/InitList.zig
@@ -12,8 +12,6 @@ const Diagnostics = @import("Diagnostics.zig");
const NodeList = std.ArrayList(NodeIndex);
const Parser = @import("Parser.zig");
-const InitList = @This();
-
const Item = struct {
list: InitList = .{},
index: u64,
@@ -23,6 +21,8 @@ const Item = struct {
}
};
+const InitList = @This();
+
list: std.ArrayListUnmanaged(Item) = .{},
node: NodeIndex = .none,
tok: TokenIndex = 0,
deps/aro/LangOpts.zig → deps/aro/aro/LangOpts.zig
@@ -1,8 +1,6 @@
const std = @import("std");
const DiagnosticTag = @import("Diagnostics.zig").Tag;
-const CharInfo = @import("CharInfo.zig");
-
-const LangOpts = @This();
+const char_info = @import("char_info.zig");
pub const Compiler = enum {
clang,
@@ -44,19 +42,21 @@ pub const Standard = enum {
default,
/// ISO C 2017 with GNU extensions
gnu17,
- /// Working Draft for ISO C2x
- c2x,
- /// Working Draft for ISO C2x with GNU extensions
- gnu2x,
+ /// Working Draft for ISO C23
+ c23,
+ /// Working Draft for ISO C23 with GNU extensions
+ gnu23,
const NameMap = std.ComptimeStringMap(Standard, .{
.{ "c89", .c89 }, .{ "c90", .c89 }, .{ "iso9899:1990", .c89 },
.{ "iso9899:199409", .iso9899 }, .{ "gnu89", .gnu89 }, .{ "gnu90", .gnu89 },
- .{ "c99", .c99 }, .{ "iso9899:1999", .c99 }, .{ "gnu99", .gnu99 },
- .{ "c11", .c11 }, .{ "iso9899:2011", .c11 }, .{ "gnu11", .gnu11 },
- .{ "c17", .c17 }, .{ "iso9899:2017", .c17 }, .{ "c18", .c17 },
- .{ "iso9899:2018", .c17 }, .{ "gnu17", .gnu17 }, .{ "gnu18", .gnu17 },
- .{ "c2x", .c2x }, .{ "gnu2x", .gnu2x },
+ .{ "c99", .c99 }, .{ "iso9899:1999", .c99 }, .{ "c9x", .c99 },
+ .{ "iso9899:199x", .c99 }, .{ "gnu99", .gnu99 }, .{ "gnu9x", .gnu99 },
+ .{ "c11", .c11 }, .{ "iso9899:2011", .c11 }, .{ "c1x", .c11 },
+ .{ "iso9899:201x", .c11 }, .{ "gnu11", .gnu11 }, .{ "c17", .c17 },
+ .{ "iso9899:2017", .c17 }, .{ "c18", .c17 }, .{ "iso9899:2018", .c17 },
+ .{ "gnu17", .gnu17 }, .{ "gnu18", .gnu17 }, .{ "c23", .c23 },
+ .{ "gnu23", .gnu23 }, .{ "c2x", .c23 }, .{ "gnu2x", .gnu23 },
});
pub fn atLeast(self: Standard, other: Standard) bool {
@@ -65,7 +65,7 @@ pub const Standard = enum {
pub fn isGNU(standard: Standard) bool {
return switch (standard) {
- .gnu89, .gnu99, .gnu11, .default, .gnu17, .gnu2x => true,
+ .gnu89, .gnu99, .gnu11, .default, .gnu17, .gnu23 => true,
else => false,
};
}
@@ -82,26 +82,31 @@ pub const Standard = enum {
.c99, .gnu99 => "199901L",
.c11, .gnu11 => "201112L",
.default, .c17, .gnu17 => "201710L",
- // todo: subject to change, verify once c23 finalized
- .c2x, .gnu2x => "202311L",
+ .c23, .gnu23 => "202311L",
};
}
pub fn codepointAllowedInIdentifier(standard: Standard, codepoint: u21, is_start: bool) bool {
if (is_start) {
- return if (standard.atLeast(.c11))
- CharInfo.isC11IdChar(codepoint) and !CharInfo.isC11DisallowedInitialIdChar(codepoint)
+ return if (standard.atLeast(.c23))
+ char_info.isXidStart(codepoint)
+ else if (standard.atLeast(.c11))
+ char_info.isC11IdChar(codepoint) and !char_info.isC11DisallowedInitialIdChar(codepoint)
else
- CharInfo.isC99IdChar(codepoint) and !CharInfo.isC99DisallowedInitialIDChar(codepoint);
+ char_info.isC99IdChar(codepoint) and !char_info.isC99DisallowedInitialIDChar(codepoint);
} else {
- return if (standard.atLeast(.c11))
- CharInfo.isC11IdChar(codepoint)
+ return if (standard.atLeast(.c23))
+ char_info.isXidContinue(codepoint)
+ else if (standard.atLeast(.c11))
+ char_info.isC11IdChar(codepoint)
else
- CharInfo.isC99IdChar(codepoint);
+ char_info.isC99IdChar(codepoint);
}
}
};
+const LangOpts = @This();
+
emulate: Compiler = .clang,
standard: Standard = .default,
/// -fshort-enums option, makes enums only take up as much space as they need to hold all the values.
@@ -119,7 +124,7 @@ allow_half_args_and_returns: bool = false,
fp_eval_method: ?FPEvalMethod = null,
/// If set, use specified signedness for `char` instead of the target's default char signedness
char_signedness_override: ?std.builtin.Signedness = null,
-/// If set, override the default availability of char8_t (by default, enabled in C2X and later; disabled otherwise)
+/// If set, override the default availability of char8_t (by default, enabled in C23 and later; disabled otherwise)
has_char8_t_override: ?bool = null,
/// Whether to allow GNU-style inline assembly
@@ -145,7 +150,7 @@ pub fn disableMSExtensions(self: *LangOpts) void {
}
pub fn hasChar8_T(self: *const LangOpts) bool {
- return self.has_char8_t_override orelse self.standard.atLeast(.c2x);
+ return self.has_char8_t_override orelse self.standard.atLeast(.c23);
}
pub fn hasDigraphs(self: *const LangOpts) bool {
deps/aro/number_affixes.zig → deps/aro/aro/number_affixes.zig
File renamed without changes
deps/aro/Parser.zig → deps/aro/aro/Parser.zig
@@ -16,13 +16,14 @@ const Diagnostics = @import("Diagnostics.zig");
const NodeList = std.ArrayList(NodeIndex);
const InitList = @import("InitList.zig");
const Attribute = @import("Attribute.zig");
-const CharInfo = @import("CharInfo.zig");
-const TextLiteral = @import("TextLiteral.zig");
+const char_info = @import("char_info.zig");
+const text_literal = @import("text_literal.zig");
const Value = @import("Value.zig");
const SymbolStack = @import("SymbolStack.zig");
const Symbol = SymbolStack.Symbol;
const record_layout = @import("record_layout.zig");
-const StringId = @import("StringInterner.zig").StringId;
+const StrInt = @import("StringInterner.zig");
+const StringId = StrInt.StringId;
const number_affixes = @import("number_affixes.zig");
const NumberPrefix = number_affixes.Prefix;
const NumberSuffix = number_affixes.Suffix;
@@ -30,12 +31,11 @@ const Builtins = @import("Builtins.zig");
const Builtin = Builtins.Builtin;
const target_util = @import("target.zig");
-const Parser = @This();
-
const Switch = struct {
default: ?TokenIndex = null,
ranges: std.ArrayList(Range),
ty: Type,
+ comp: *Compilation,
const Range = struct {
first: Value,
@@ -43,15 +43,9 @@ const Switch = struct {
tok: TokenIndex,
};
- fn add(
- self: *Switch,
- comp: *Compilation,
- first: Value,
- last: Value,
- tok: TokenIndex,
- ) !?Range {
+ fn add(self: *Switch, first: Value, last: Value, tok: TokenIndex) !?Range {
for (self.ranges.items) |range| {
- if (last.compare(.gte, range.first, self.ty, comp) and first.compare(.lte, range.last, self.ty, comp)) {
+ if (last.compare(.gte, range.first, self.comp) and first.compare(.lte, range.last, self.comp)) {
return range; // They overlap.
}
}
@@ -90,6 +84,8 @@ const ConstDeclFoldingMode = enum {
no_const_decl_folding,
};
+const Parser = @This();
+
// values from preprocessor
pp: *Preprocessor,
comp: *Compilation,
@@ -101,7 +97,6 @@ tok_i: TokenIndex = 0,
arena: Allocator,
nodes: Tree.Node.List = .{},
data: NodeList,
-retained_strings: std.ArrayList(u8),
value_map: Tree.ValueMap,
// buffers used during compilation
@@ -193,29 +188,29 @@ string_ids: struct {
fn checkIdentifierCodepointWarnings(comp: *Compilation, codepoint: u21, loc: Source.Location) Compilation.Error!bool {
assert(codepoint >= 0x80);
- const err_start = comp.diag.list.items.len;
+ const err_start = comp.diagnostics.list.items.len;
- if (!CharInfo.isC99IdChar(codepoint)) {
- try comp.diag.add(.{
+ if (!char_info.isC99IdChar(codepoint)) {
+ try comp.addDiagnostic(.{
.tag = .c99_compat,
.loc = loc,
}, &.{});
}
- if (CharInfo.isInvisible(codepoint)) {
- try comp.diag.add(.{
+ if (char_info.isInvisible(codepoint)) {
+ try comp.addDiagnostic(.{
.tag = .unicode_zero_width,
.loc = loc,
.extra = .{ .actual_codepoint = codepoint },
}, &.{});
}
- if (CharInfo.homoglyph(codepoint)) |resembles| {
- try comp.diag.add(.{
+ if (char_info.homoglyph(codepoint)) |resembles| {
+ try comp.addDiagnostic(.{
.tag = .unicode_homoglyph,
.loc = loc,
.extra = .{ .codepoints = .{ .actual = codepoint, .resembles = resembles } },
}, &.{});
}
- return comp.diag.list.items.len != err_start;
+ return comp.diagnostics.list.items.len != err_start;
}
/// Issues diagnostics for the current extended identifier token
@@ -238,6 +233,8 @@ fn validateExtendedIdentifier(p: *Parser) !bool {
var invalid_char: u21 = undefined;
var loc = p.pp.tokens.items(.loc)[p.tok_i];
+ var normalized = true;
+ var last_canonical_class: char_info.CanonicalCombiningClass = .not_reordered;
const standard = p.comp.langopts.standard;
while (it.nextCodepoint()) |codepoint| {
defer {
@@ -246,7 +243,7 @@ fn validateExtendedIdentifier(p: *Parser) !bool {
}
if (codepoint == '$') {
warned = true;
- try p.comp.diag.add(.{
+ if (p.comp.langopts.dollars_in_identifiers) try p.comp.addDiagnostic(.{
.tag = .dollar_in_identifier_extension,
.loc = loc,
}, &.{});
@@ -265,6 +262,22 @@ fn validateExtendedIdentifier(p: *Parser) !bool {
if (!warned) {
warned = try checkIdentifierCodepointWarnings(p.comp, codepoint, loc);
}
+
+ // Check NFC normalization.
+ if (!normalized) continue;
+ const canonical_class = char_info.getCanonicalClass(codepoint);
+ if (@intFromEnum(last_canonical_class) > @intFromEnum(canonical_class) and
+ canonical_class != .not_reordered)
+ {
+ normalized = false;
+ try p.errStr(.identifier_not_normalized, p.tok_i, slice);
+ continue;
+ }
+ if (char_info.isNormalized(codepoint) != .yes) {
+ normalized = false;
+ try p.errExtra(.identifier_not_normalized, p.tok_i, .{ .normalized = slice });
+ }
+ last_canonical_class = canonical_class;
}
if (!valid_identifier) {
@@ -357,11 +370,7 @@ fn expectClosing(p: *Parser, opening: TokenIndex, id: Token.Id) Error!void {
}
fn errOverflow(p: *Parser, op_tok: TokenIndex, res: Result) !void {
- if (res.ty.isUnsignedInt(p.comp)) {
- try p.errExtra(.overflow_unsigned, op_tok, .{ .unsigned = res.val.data.int });
- } else {
- try p.errExtra(.overflow_signed, op_tok, .{ .signed = res.val.signExtend(res.ty, p.comp) });
- }
+ try p.errStr(.overflow, op_tok, try res.str(p));
}
fn errExpectedToken(p: *Parser, expected: Token.Id, actual: Token.Id) Error {
@@ -391,7 +400,7 @@ pub fn errExtra(p: *Parser, tag: Diagnostics.Tag, tok_i: TokenIndex, extra: Diag
loc = prev.loc;
loc.byte_offset += @intCast(p.tokSlice(tok_i - 1).len);
}
- try p.comp.diag.add(.{
+ try p.comp.addDiagnostic(.{
.tag = tag,
.loc = loc,
.extra = extra,
@@ -413,6 +422,16 @@ pub fn todo(p: *Parser, msg: []const u8) Error {
return error.ParsingFailed;
}
+pub fn removeNull(p: *Parser, str: Value) !Value {
+ const strings_top = p.strings.items.len;
+ defer p.strings.items.len = strings_top;
+ {
+ const bytes = p.comp.interner.get(str.ref()).bytes;
+ try p.strings.appendSlice(bytes[0 .. bytes.len - 1]);
+ }
+ return Value.intern(p.comp, .{ .bytes = p.strings.items[strings_top..] });
+}
+
pub fn typeStr(p: *Parser, ty: Type) ![]const u8 {
if (Type.Builder.fromType(ty).str(p.comp.langopts)) |str| return str;
const strings_top = p.strings.items.len;
@@ -420,7 +439,7 @@ pub fn typeStr(p: *Parser, ty: Type) ![]const u8 {
const mapper = p.comp.string_interner.getSlowTypeMapper();
try ty.print(mapper, p.comp.langopts, p.strings.writer());
- return try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+ return try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
}
pub fn typePairStr(p: *Parser, a: Type, b: Type) ![]const u8 {
@@ -439,27 +458,25 @@ pub fn typePairStrExtra(p: *Parser, a: Type, msg: []const u8, b: Type) ![]const
try p.strings.append('\'');
try b.print(mapper, p.comp.langopts, p.strings.writer());
try p.strings.append('\'');
- return try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+ return try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
}
-pub fn floatValueChangedStr(p: *Parser, res: *Result, old_value: f64, int_ty: Type) ![]const u8 {
+pub fn floatValueChangedStr(p: *Parser, res: *Result, old_value: Value, int_ty: Type) ![]const u8 {
const strings_top = p.strings.items.len;
defer p.strings.items.len = strings_top;
var w = p.strings.writer();
const type_pair_str = try p.typePairStrExtra(res.ty, " to ", int_ty);
try w.writeAll(type_pair_str);
- const is_zero = res.val.isZero();
- const non_zero_str: []const u8 = if (is_zero) "non-zero " else "";
- if (int_ty.is(.bool)) {
- try w.print(" changes {s}value from {d} to {}", .{ non_zero_str, old_value, res.val.getBool() });
- } else if (int_ty.isUnsignedInt(p.comp)) {
- try w.print(" changes {s}value from {d} to {d}", .{ non_zero_str, old_value, res.val.getInt(u64) });
- } else {
- try w.print(" changes {s}value from {d} to {d}", .{ non_zero_str, old_value, res.val.getInt(i64) });
- }
- return try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+ try w.writeAll(" changes ");
+ if (res.val.isZero(p.comp)) try w.writeAll("non-zero ");
+ try w.writeAll("value from ");
+ try old_value.print(res.ty, p.comp, w);
+ try w.writeAll(" to ");
+ try res.val.print(int_ty, p.comp, w);
+
+ return try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
}
fn checkDeprecatedUnavailable(p: *Parser, ty: Type, usage_tok: TokenIndex, decl_tok: TokenIndex) !void {
@@ -468,9 +485,11 @@ fn checkDeprecatedUnavailable(p: *Parser, ty: Type, usage_tok: TokenIndex, decl_
defer p.strings.items.len = strings_top;
const w = p.strings.writer();
- const msg_str = p.attributeMessageString(@"error".msg);
- try w.print("call to '{s}' declared with attribute error: {s}", .{ p.tokSlice(@"error".__name_tok), msg_str });
- const str = try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+ const msg_str = p.comp.interner.get(@"error".msg.ref()).bytes;
+ try w.print("call to '{s}' declared with attribute error: {}", .{
+ p.tokSlice(@"error".__name_tok), std.zig.fmtEscapes(msg_str),
+ });
+ const str = try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
try p.errStr(.error_attribute, usage_tok, str);
}
if (ty.getAttribute(.warning)) |warning| {
@@ -478,9 +497,11 @@ fn checkDeprecatedUnavailable(p: *Parser, ty: Type, usage_tok: TokenIndex, decl_
defer p.strings.items.len = strings_top;
const w = p.strings.writer();
- const msg_str = p.attributeMessageString(warning.msg);
- try w.print("call to '{s}' declared with attribute warning: {s}", .{ p.tokSlice(warning.__name_tok), msg_str });
- const str = try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+ const msg_str = p.comp.interner.get(warning.msg.ref()).bytes;
+ try w.print("call to '{s}' declared with attribute warning: {}", .{
+ p.tokSlice(warning.__name_tok), std.zig.fmtEscapes(msg_str),
+ });
+ const str = try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
try p.errStr(.warning_attribute, usage_tok, str);
}
if (ty.getAttribute(.unavailable)) |unavailable| {
@@ -493,13 +514,7 @@ fn checkDeprecatedUnavailable(p: *Parser, ty: Type, usage_tok: TokenIndex, decl_
}
}
-/// Assumes that the specified range was created by an ordinary or `u8` string literal
-/// Returned slice is invalidated if additional strings are added to p.retained_strings
-fn attributeMessageString(p: *Parser, range: Value.ByteRange) []const u8 {
- return range.slice(p.retained_strings.items, .@"1");
-}
-
-fn errDeprecated(p: *Parser, tag: Diagnostics.Tag, tok_i: TokenIndex, msg: ?Value.ByteRange) Compilation.Error!void {
+fn errDeprecated(p: *Parser, tag: Diagnostics.Tag, tok_i: TokenIndex, msg: ?Value) Compilation.Error!void {
const strings_top = p.strings.items.len;
defer p.strings.items.len = strings_top;
@@ -512,10 +527,10 @@ fn errDeprecated(p: *Parser, tag: Diagnostics.Tag, tok_i: TokenIndex, msg: ?Valu
};
try w.writeAll(reason);
if (msg) |m| {
- const str = p.attributeMessageString(m);
- try w.print(": {s}", .{str});
+ const str = p.comp.interner.get(m.ref()).bytes;
+ try w.print(": {}", .{std.zig.fmtEscapes(str)});
}
- const str = try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+ const str = try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
return p.errStr(tag, tok_i, str);
}
@@ -564,6 +579,36 @@ fn getNode(p: *Parser, node: NodeIndex, tag: Tree.Tag) ?NodeIndex {
}
}
+fn nodeIsCompoundLiteral(p: *Parser, node: NodeIndex) bool {
+ var cur = node;
+ const tags = p.nodes.items(.tag);
+ const data = p.nodes.items(.data);
+ while (true) {
+ switch (tags[@intFromEnum(cur)]) {
+ .paren_expr => cur = data[@intFromEnum(cur)].un,
+ .compound_literal_expr,
+ .static_compound_literal_expr,
+ .thread_local_compound_literal_expr,
+ .static_thread_local_compound_literal_expr,
+ => return true,
+ else => return false,
+ }
+ }
+}
+
+fn tmpTree(p: *Parser) Tree {
+ return .{
+ .nodes = p.nodes.slice(),
+ .data = p.data.items,
+ .value_map = p.value_map,
+ .comp = p.comp,
+ .arena = undefined,
+ .generated = undefined,
+ .tokens = undefined,
+ .root_decls = undefined,
+ };
+}
+
fn pragma(p: *Parser) Compilation.Error!bool {
var found_pragma = false;
while (p.eatToken(.keyword_pragma)) |_| {
@@ -591,7 +636,7 @@ fn diagnoseIncompleteDefinitions(p: *Parser) !void {
const tys = node_slices.items(.ty);
const data = node_slices.items(.data);
- const err_start = p.comp.diag.list.items.len;
+ const err_start = p.comp.diagnostics.list.items.len;
for (p.decl_buf.items) |decl_node| {
const idx = @intFromEnum(decl_node);
switch (tags[idx]) {
@@ -612,7 +657,7 @@ fn diagnoseIncompleteDefinitions(p: *Parser) !void {
try p.errStr(.tentative_definition_incomplete, tentative_def_tok, type_str);
try p.errStr(.forward_declaration_here, data[idx].decl_ref, type_str);
}
- const errors_added = p.comp.diag.list.items.len - err_start;
+ const errors_added = p.comp.diagnostics.list.items.len - err_start;
assert(errors_added == 2 * p.tentative_defs.count()); // Each tentative def should add an error + note
}
@@ -630,7 +675,6 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
.arena = arena.allocator(),
.tok_ids = pp.tokens.items(.id),
.strings = std.ArrayList(u8).init(pp.comp.gpa),
- .retained_strings = std.ArrayList(u8).init(pp.comp.gpa),
.value_map = Tree.ValueMap.init(pp.comp.gpa),
.data = NodeList.init(pp.comp.gpa),
.labels = std.ArrayList(Label).init(pp.comp.gpa),
@@ -641,17 +685,16 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
.record_buf = std.ArrayList(Type.Record.Field).init(pp.comp.gpa),
.field_attr_buf = std.ArrayList([]const Attribute).init(pp.comp.gpa),
.string_ids = .{
- .declspec_id = try pp.comp.intern("__declspec"),
- .main_id = try pp.comp.intern("main"),
- .file = try pp.comp.intern("FILE"),
- .jmp_buf = try pp.comp.intern("jmp_buf"),
- .sigjmp_buf = try pp.comp.intern("sigjmp_buf"),
- .ucontext_t = try pp.comp.intern("ucontext_t"),
+ .declspec_id = try StrInt.intern(pp.comp, "__declspec"),
+ .main_id = try StrInt.intern(pp.comp, "main"),
+ .file = try StrInt.intern(pp.comp, "FILE"),
+ .jmp_buf = try StrInt.intern(pp.comp, "jmp_buf"),
+ .sigjmp_buf = try StrInt.intern(pp.comp, "sigjmp_buf"),
+ .ucontext_t = try StrInt.intern(pp.comp, "ucontext_t"),
},
};
errdefer {
p.nodes.deinit(pp.comp.gpa);
- p.retained_strings.deinit();
p.value_map.deinit();
}
defer {
@@ -677,24 +720,24 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
{
if (p.comp.langopts.hasChar8_T()) {
- try p.syms.defineTypedef(&p, try p.comp.intern("char8_t"), .{ .specifier = .uchar }, 0, .none);
+ try p.syms.defineTypedef(&p, try StrInt.intern(p.comp, "char8_t"), .{ .specifier = .uchar }, 0, .none);
}
- try p.syms.defineTypedef(&p, try p.comp.intern("__int128_t"), .{ .specifier = .int128 }, 0, .none);
- try p.syms.defineTypedef(&p, try p.comp.intern("__uint128_t"), .{ .specifier = .uint128 }, 0, .none);
+ try p.syms.defineTypedef(&p, try StrInt.intern(p.comp, "__int128_t"), .{ .specifier = .int128 }, 0, .none);
+ try p.syms.defineTypedef(&p, try StrInt.intern(p.comp, "__uint128_t"), .{ .specifier = .uint128 }, 0, .none);
const elem_ty = try p.arena.create(Type);
elem_ty.* = .{ .specifier = .char };
- try p.syms.defineTypedef(&p, try p.comp.intern("__builtin_ms_va_list"), .{
+ try p.syms.defineTypedef(&p, try StrInt.intern(p.comp, "__builtin_ms_va_list"), .{
.specifier = .pointer,
.data = .{ .sub_type = elem_ty },
}, 0, .none);
const ty = &pp.comp.types.va_list;
- try p.syms.defineTypedef(&p, try p.comp.intern("__builtin_va_list"), ty.*, 0, .none);
+ try p.syms.defineTypedef(&p, try StrInt.intern(p.comp, "__builtin_va_list"), ty.*, 0, .none);
if (ty.isArray()) ty.decayArray();
- try p.syms.defineTypedef(&p, try p.comp.intern("__NSConstantString"), pp.comp.types.ns_constant_string.ty, 0, .none);
+ try p.syms.defineTypedef(&p, try StrInt.intern(p.comp, "__NSConstantString"), pp.comp.types.ns_constant_string.ty, 0, .none);
}
while (p.eatToken(.eof) == null) {
@@ -751,8 +794,6 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
const data = try p.data.toOwnedSlice();
errdefer pp.comp.gpa.free(data);
- const strings = try p.retained_strings.toOwnedSlice();
- errdefer pp.comp.gpa.free(strings);
return Tree{
.comp = pp.comp,
.tokens = pp.tokens.slice(),
@@ -761,7 +802,6 @@ pub fn parse(pp: *Preprocessor) Compilation.Error!Tree {
.nodes = p.nodes.toOwnedSlice(),
.data = data,
.root_decls = root_decls,
- .strings = strings,
.value_map = p.value_map,
};
}
@@ -828,6 +868,7 @@ fn nextExternDecl(p: *Parser) void {
.keyword_typeof,
.keyword_typeof1,
.keyword_typeof2,
+ .keyword_typeof_unqual,
.keyword_extension,
.keyword_bit_int,
=> if (parens == 0) return,
@@ -950,7 +991,7 @@ fn decl(p: *Parser) Error!bool {
if (p.func.ty != null) try p.err(.func_not_in_root);
const node = try p.addNode(undefined); // reserve space
- const interned_declarator_name = try p.comp.intern(p.tokSlice(init_d.d.name));
+ const interned_declarator_name = try StrInt.intern(p.comp, p.tokSlice(init_d.d.name));
try p.syms.defineSymbol(p, interned_declarator_name, init_d.d.ty, init_d.d.name, node, .{}, false);
const func = p.func;
@@ -1013,7 +1054,7 @@ fn decl(p: *Parser) Error!bool {
// find and correct parameter types
// TODO check for missing declarations and redefinitions
const name_str = p.tokSlice(d.name);
- const interned_name = try p.comp.intern(name_str);
+ const interned_name = try StrInt.intern(p.comp, name_str);
for (init_d.d.ty.params()) |*param| {
if (param.name == interned_name) {
param.ty = d.ty;
@@ -1087,6 +1128,7 @@ fn decl(p: *Parser) Error!bool {
}
// Declare all variable/typedef declarators.
+ var warned_auto = false;
while (true) {
if (init_d.d.old_style_func) |tok_i| try p.errTok(.invalid_old_style_params, tok_i);
const tag = try decl_spec.validate(p, &init_d.d.ty, init_d.initializer.node != .none);
@@ -1096,7 +1138,7 @@ fn decl(p: *Parser) Error!bool {
} });
try p.decl_buf.append(node);
- const interned_name = try p.comp.intern(p.tokSlice(init_d.d.name));
+ const interned_name = try StrInt.intern(p.comp, p.tokSlice(init_d.d.name));
if (decl_spec.storage_class == .typedef) {
try p.syms.defineTypedef(p, interned_name, init_d.d.ty, init_d.d.name, node);
p.typedefDefined(interned_name, init_d.d.ty);
@@ -1119,7 +1161,16 @@ fn decl(p: *Parser) Error!bool {
if (p.eatToken(.comma) == null) break;
- if (decl_spec.auto_type) |tok_i| try p.errTok(.auto_type_requires_single_declarator, tok_i);
+ if (!warned_auto) {
+ if (decl_spec.auto_type) |tok_i| {
+ try p.errTok(.auto_type_requires_single_declarator, tok_i);
+ warned_auto = true;
+ }
+ if (p.comp.langopts.standard.atLeast(.c23) and decl_spec.storage_class == .auto) {
+ try p.errTok(.c23_auto_single_declarator, decl_spec.storage_class.auto);
+ warned_auto = true;
+ }
+ }
init_d = (try p.initDeclarator(&decl_spec, attr_buf_top)) orelse {
try p.err(.expected_ident_or_l_paren);
@@ -1158,11 +1209,11 @@ fn staticAssertMessage(p: *Parser, cond_node: NodeIndex, message: Result) !?[]co
if (buf.items.len > 0) {
try buf.append(' ');
}
- const byte_range = message.val.data.bytes;
- try buf.ensureUnusedCapacity(byte_range.len());
- try byte_range.dumpString(message.ty, p.comp, p.retained_strings.items, buf.writer());
+ const bytes = p.comp.interner.get(message.val.ref()).bytes;
+ try buf.ensureUnusedCapacity(bytes.len);
+ try Value.printString(bytes, message.ty, p.comp, buf.writer());
}
- return try p.comp.diag.arena.allocator().dupe(u8, buf.items);
+ return try p.comp.diagnostics.arena.allocator().dupe(u8, buf.items);
}
/// staticAssert
@@ -1194,25 +1245,25 @@ fn staticAssert(p: *Parser) Error!bool {
_ = try p.expectToken(.semicolon);
if (str.node == .none) {
try p.errTok(.static_assert_missing_message, static_assert);
- try p.errStr(.pre_c2x_compat, static_assert, "'_Static_assert' with no message");
+ try p.errStr(.pre_c23_compat, static_assert, "'_Static_assert' with no message");
}
// Array will never be zero; a value of zero for a pointer is a null pointer constant
- if ((res.ty.isArray() or res.ty.isPtr()) and !res.val.isZero()) {
- const err_start = p.comp.diag.list.items.len;
+ if ((res.ty.isArray() or res.ty.isPtr()) and !res.val.isZero(p.comp)) {
+ const err_start = p.comp.diagnostics.list.items.len;
try p.errTok(.const_decl_folded, res_token);
- if (res.ty.isPtr() and err_start != p.comp.diag.list.items.len) {
+ if (res.ty.isPtr() and err_start != p.comp.diagnostics.list.items.len) {
// Don't show the note if the .const_decl_folded diagnostic was not added
try p.errTok(.constant_expression_conversion_not_allowed, res_token);
}
}
try res.boolCast(p, .{ .specifier = .bool }, res_token);
- if (res.val.tag == .unavailable) {
+ if (res.val.opt_ref == .none) {
if (res.ty.specifier != .invalid) {
try p.errTok(.static_assert_not_constant, res_token);
}
} else {
- if (!res.val.getBool()) {
+ if (!res.val.toBool(p.comp)) {
if (try p.staticAssertMessage(res_node, str)) |message| {
try p.errStr(.static_assert_failure_message, static_assert, message);
} else {
@@ -1308,7 +1359,10 @@ pub const DeclSpec = struct {
// TODO move to attribute validation
if (d.noreturn) |tok_i| try p.errStr(.func_spec_non_func, tok_i, "_Noreturn");
switch (d.storage_class) {
- .auto, .register => if (p.func.ty == null) try p.err(.illegal_storage_on_global),
+ .auto => if (p.func.ty == null and !p.comp.langopts.standard.atLeast(.c23)) {
+ try p.err(.illegal_storage_on_global);
+ },
+ .register => if (p.func.ty == null) try p.err(.illegal_storage_on_global),
.typedef => return .typedef,
else => {},
}
@@ -1332,8 +1386,13 @@ pub const DeclSpec = struct {
/// : keyword_typeof '(' typeName ')'
/// | keyword_typeof '(' expr ')'
fn typeof(p: *Parser) Error!?Type {
+ var unqual = false;
switch (p.tok_ids[p.tok_i]) {
.keyword_typeof, .keyword_typeof1, .keyword_typeof2 => p.tok_i += 1,
+ .keyword_typeof_unqual => {
+ p.tok_i += 1;
+ unqual = true;
+ },
else => return null,
}
const l_paren = try p.expectToken(.l_paren);
@@ -1342,7 +1401,7 @@ fn typeof(p: *Parser) Error!?Type {
const typeof_ty = try p.arena.create(Type);
typeof_ty.* = .{
.data = ty.data,
- .qual = ty.qual.inheritFromTypeof(),
+ .qual = if (unqual) .{} else ty.qual.inheritFromTypeof(),
.specifier = ty.specifier,
};
@@ -1356,7 +1415,10 @@ fn typeof(p: *Parser) Error!?Type {
try p.expectClosing(l_paren, .r_paren);
// Special case nullptr_t since it's defined as typeof(nullptr)
if (typeof_expr.ty.is(.nullptr_t)) {
- return Type{ .specifier = .nullptr_t, .qual = typeof_expr.ty.qual.inheritFromTypeof() };
+ return Type{
+ .specifier = .nullptr_t,
+ .qual = if (unqual) .{} else typeof_expr.ty.qual.inheritFromTypeof(),
+ };
}
const inner = try p.arena.create(Type.Expr);
@@ -1364,7 +1426,7 @@ fn typeof(p: *Parser) Error!?Type {
.node = typeof_expr.node,
.ty = .{
.data = typeof_expr.ty.data,
- .qual = typeof_expr.ty.qual.inheritFromTypeof(),
+ .qual = if (unqual) .{} else typeof_expr.ty.qual.inheritFromTypeof(),
.specifier = typeof_expr.ty.specifier,
},
};
@@ -1376,6 +1438,46 @@ fn typeof(p: *Parser) Error!?Type {
}
/// declSpec: (storageClassSpec | typeSpec | typeQual | funcSpec | alignSpec)+
+/// funcSpec : keyword_inline | keyword_noreturn
+fn declSpec(p: *Parser) Error!?DeclSpec {
+ var d: DeclSpec = .{ .ty = .{ .specifier = undefined } };
+ var spec: Type.Builder = .{};
+
+ var combined_auto = !p.comp.langopts.standard.atLeast(.c23);
+ const start = p.tok_i;
+ while (true) {
+ if (!combined_auto and d.storage_class == .auto) {
+ try spec.combine(p, .c23_auto, d.storage_class.auto);
+ combined_auto = true;
+ }
+ if (try p.storageClassSpec(&d)) continue;
+ if (try p.typeSpec(&spec)) continue;
+ const id = p.tok_ids[p.tok_i];
+ switch (id) {
+ .keyword_inline, .keyword_inline1, .keyword_inline2 => {
+ if (d.@"inline" != null) {
+ try p.errStr(.duplicate_decl_spec, p.tok_i, "inline");
+ }
+ d.@"inline" = p.tok_i;
+ },
+ .keyword_noreturn => {
+ if (d.noreturn != null) {
+ try p.errStr(.duplicate_decl_spec, p.tok_i, "_Noreturn");
+ }
+ d.noreturn = p.tok_i;
+ },
+ else => break,
+ }
+ p.tok_i += 1;
+ }
+
+ if (p.tok_i == start) return null;
+
+ d.ty = try spec.finish(p);
+ d.auto_type = spec.auto_type_tok;
+ return d;
+}
+
/// storageClassSpec:
/// : keyword_typedef
/// | keyword_extern
@@ -1383,14 +1485,9 @@ fn typeof(p: *Parser) Error!?Type {
/// | keyword_threadlocal
/// | keyword_auto
/// | keyword_register
-/// funcSpec : keyword_inline | keyword_noreturn
-fn declSpec(p: *Parser) Error!?DeclSpec {
- var d: DeclSpec = .{ .ty = .{ .specifier = undefined } };
- var spec: Type.Builder = .{};
-
+fn storageClassSpec(p: *Parser, d: *DeclSpec) Error!bool {
const start = p.tok_i;
while (true) {
- if (try p.typeSpec(&spec)) continue;
const id = p.tok_ids[p.tok_i];
switch (id) {
.keyword_typedef,
@@ -1450,28 +1547,11 @@ fn declSpec(p: *Parser) Error!?DeclSpec {
}
d.constexpr = p.tok_i;
},
- .keyword_inline, .keyword_inline1, .keyword_inline2 => {
- if (d.@"inline" != null) {
- try p.errStr(.duplicate_decl_spec, p.tok_i, "inline");
- }
- d.@"inline" = p.tok_i;
- },
- .keyword_noreturn => {
- if (d.noreturn != null) {
- try p.errStr(.duplicate_decl_spec, p.tok_i, "_Noreturn");
- }
- d.noreturn = p.tok_i;
- },
else => break,
}
p.tok_i += 1;
}
-
- if (p.tok_i == start) return null;
-
- d.ty = try spec.finish(p);
- d.auto_type = spec.auto_type_tok;
- return d;
+ return p.tok_i != start;
}
const InitDeclarator = struct { d: Declarator, initializer: Result = .{} };
@@ -1521,7 +1601,7 @@ fn attribute(p: *Parser, kind: Attribute.Kind, namespace: ?[]const u8) Error!?Te
const arg_start = p.tok_i;
var first_expr = try p.assignExpr();
try first_expr.expect(p);
- if (p.diagnose(attr, &arguments, arg_idx, first_expr)) |msg| {
+ if (try p.diagnose(attr, &arguments, arg_idx, first_expr)) |msg| {
try p.errExtra(msg.tag, arg_start, msg.extra);
p.skipTo(.r_paren);
return error.ParsingFailed;
@@ -1534,7 +1614,7 @@ fn attribute(p: *Parser, kind: Attribute.Kind, namespace: ?[]const u8) Error!?Te
const arg_start = p.tok_i;
var arg_expr = try p.assignExpr();
try arg_expr.expect(p);
- if (p.diagnose(attr, &arguments, arg_idx, arg_expr)) |msg| {
+ if (try p.diagnose(attr, &arguments, arg_idx, arg_expr)) |msg| {
try p.errExtra(msg.tag, arg_start, msg.extra);
p.skipTo(.r_paren);
return error.ParsingFailed;
@@ -1550,12 +1630,12 @@ fn attribute(p: *Parser, kind: Attribute.Kind, namespace: ?[]const u8) Error!?Te
return TentativeAttribute{ .attr = .{ .tag = attr, .args = arguments, .syntax = kind.toSyntax() }, .tok = name_tok };
}
-fn diagnose(p: *Parser, attr: Attribute.Tag, arguments: *Attribute.Arguments, arg_idx: u32, res: Result) ?Diagnostics.Message {
+fn diagnose(p: *Parser, attr: Attribute.Tag, arguments: *Attribute.Arguments, arg_idx: u32, res: Result) !?Diagnostics.Message {
if (Attribute.wantsAlignment(attr, arg_idx)) {
- return Attribute.diagnoseAlignment(attr, arguments, arg_idx, res.val, res.ty, p.comp);
+ return Attribute.diagnoseAlignment(attr, arguments, arg_idx, res, p);
}
const node = p.nodes.get(@intFromEnum(res.node));
- return Attribute.diagnose(attr, arguments, arg_idx, res.val, node, p.retained_strings.items);
+ return Attribute.diagnose(attr, arguments, arg_idx, res, node, p);
}
/// attributeList : (attribute (',' attribute)*)?
@@ -1569,16 +1649,16 @@ fn gnuAttributeList(p: *Parser) Error!void {
}
}
-fn c2xAttributeList(p: *Parser) Error!void {
+fn c23AttributeList(p: *Parser) Error!void {
while (p.tok_ids[p.tok_i] != .r_bracket) {
- var namespace_tok = try p.expectIdentifier();
+ const namespace_tok = try p.expectIdentifier();
var namespace: ?[]const u8 = null;
if (p.eatToken(.colon_colon)) |_| {
namespace = p.tokSlice(namespace_tok);
} else {
p.tok_i -= 1;
}
- if (try p.attribute(.c2x, namespace)) |attr| try p.attr_buf.append(p.gpa, attr);
+ if (try p.attribute(.c23, namespace)) |attr| try p.attr_buf.append(p.gpa, attr);
_ = p.eatToken(.comma);
}
}
@@ -1590,15 +1670,15 @@ fn msvcAttributeList(p: *Parser) Error!void {
}
}
-fn c2xAttribute(p: *Parser) !bool {
- if (!p.comp.langopts.standard.atLeast(.c2x)) return false;
+fn c23Attribute(p: *Parser) !bool {
+ if (!p.comp.langopts.standard.atLeast(.c23)) return false;
const bracket1 = p.eatToken(.l_bracket) orelse return false;
const bracket2 = p.eatToken(.l_bracket) orelse {
p.tok_i -= 1;
return false;
};
- try p.c2xAttributeList();
+ try p.c23AttributeList();
_ = try p.expectClosing(bracket2, .r_bracket);
_ = try p.expectClosing(bracket1, .r_bracket);
@@ -1638,7 +1718,7 @@ fn attributeSpecifier(p: *Parser) Error!void {
fn attributeSpecifierExtra(p: *Parser, declarator_name: ?TokenIndex) Error!void {
while (true) {
if (try p.gnuAttribute()) continue;
- if (try p.c2xAttribute()) continue;
+ if (try p.c23Attribute()) continue;
const maybe_declspec_tok = p.tok_i;
const attr_buf_top = p.attr_buf.len;
if (try p.msvcAttribute()) {
@@ -1662,6 +1742,11 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize) Error!?
.d = (try p.declarator(decl_spec.ty, .normal)) orelse return null,
};
+ if (decl_spec.ty.is(.c23_auto) and !init_d.d.ty.is(.c23_auto)) {
+ try p.errTok(.c23_auto_plain_declarator, decl_spec.storage_class.auto);
+ return error.ParsingFailed;
+ }
+
try p.attributeSpecifierExtra(init_d.d.name);
_ = try p.assembly(.decl_label);
try p.attributeSpecifierExtra(init_d.d.name);
@@ -1680,7 +1765,9 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize) Error!?
}
if (p.eatToken(.equal)) |eq| init: {
- if (decl_spec.storage_class == .typedef or init_d.d.func_declarator != null) {
+ if (decl_spec.storage_class == .typedef or
+ (init_d.d.func_declarator != null and init_d.d.ty.isFunc()))
+ {
try p.errTok(.illegal_initializer, eq);
} else if (init_d.d.ty.is(.variable_len_array)) {
try p.errTok(.vla_init, eq);
@@ -1693,11 +1780,15 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize) Error!?
try p.errStr(.variable_incomplete_ty, init_d.d.name, try p.typeStr(init_d.d.ty));
return error.ParsingFailed;
}
+ if (p.tok_ids[p.tok_i] == .l_brace and init_d.d.ty.is(.c23_auto)) {
+ try p.errTok(.c23_auto_scalar_init, decl_spec.storage_class.auto);
+ return error.ParsingFailed;
+ }
try p.syms.pushScope(p);
defer p.syms.popScope();
- const interned_name = try p.comp.intern(p.tokSlice(init_d.d.name));
+ const interned_name = try StrInt.intern(p.comp, p.tokSlice(init_d.d.name));
try p.syms.declareSymbol(p, interned_name, init_d.d.ty, init_d.d.name, .none);
var init_list_expr = try p.initializer(init_d.d.ty);
init_d.initializer = init_list_expr;
@@ -1710,10 +1801,15 @@ fn initDeclarator(p: *Parser, decl_spec: *DeclSpec, attr_buf_top: usize) Error!?
}
const name = init_d.d.name;
- if (init_d.d.ty.is(.auto_type)) {
+ const c23_auto = init_d.d.ty.is(.c23_auto);
+ if (init_d.d.ty.is(.auto_type) or c23_auto) {
if (init_d.initializer.node == .none) {
init_d.d.ty = Type.invalid;
- try p.errStr(.auto_type_requires_initializer, name, p.tokSlice(name));
+ if (c23_auto) {
+ try p.errStr(.c32_auto_requires_initializer, decl_spec.storage_class.auto, p.tokSlice(name));
+ } else {
+ try p.errStr(.auto_type_requires_initializer, name, p.tokSlice(name));
+ }
return init_d;
} else {
init_d.d.ty.specifier = init_d.initializer.ty.specifier;
@@ -1811,7 +1907,12 @@ fn typeSpec(p: *Parser, ty: *Type.Builder) Error!bool {
.keyword_double => try ty.combine(p, .double, p.tok_i),
.keyword_complex => try ty.combine(p, .complex, p.tok_i),
.keyword_float80 => try ty.combine(p, .float80, p.tok_i),
- .keyword_float128 => try ty.combine(p, .float128, p.tok_i),
+ .keyword_float128_1, .keyword_float128_2 => {
+ if (!p.comp.hasFloat128()) {
+ try p.errStr(.type_not_supported_on_target, p.tok_i, p.tok_ids[p.tok_i].lexeme().?);
+ }
+ try ty.combine(p, .float128, p.tok_i);
+ },
.keyword_atomic => {
const atomic_tok = p.tok_i;
p.tok_i += 1;
@@ -1856,9 +1957,9 @@ fn typeSpec(p: *Parser, ty: *Type.Builder) Error!bool {
} else {
const arg_start = p.tok_i;
const res = try p.integerConstExpr(.no_const_decl_folding);
- if (!res.val.isZero()) {
+ if (!res.val.isZero(p.comp)) {
var args = Attribute.initArguments(.aligned, align_tok);
- if (p.diagnose(.aligned, &args, 0, res)) |msg| {
+ if (try p.diagnose(.aligned, &args, 0, res)) |msg| {
try p.errExtra(msg.tag, arg_start, msg.extra);
p.skipTo(.r_paren);
return error.ParsingFailed;
@@ -1909,7 +2010,7 @@ fn typeSpec(p: *Parser, ty: *Type.Builder) Error!bool {
continue;
},
.identifier, .extended_identifier => {
- var interned_name = try p.comp.intern(p.tokSlice(p.tok_i));
+ var interned_name = try StrInt.intern(p.comp, p.tokSlice(p.tok_i));
var declspec_found = false;
if (interned_name == p.string_ids.declspec_id) {
@@ -1923,7 +2024,7 @@ fn typeSpec(p: *Parser, ty: *Type.Builder) Error!bool {
}
if (ty.typedef != null) break;
if (declspec_found) {
- interned_name = try p.comp.intern(p.tokSlice(p.tok_i));
+ interned_name = try StrInt.intern(p.comp, p.tokSlice(p.tok_i));
}
const typedef = (try p.syms.findTypedef(p, interned_name, p.tok_i, ty.specifier != .none)) orelse break;
if (!ty.combineTypedef(p, typedef.ty, typedef.tok)) break;
@@ -1936,16 +2037,14 @@ fn typeSpec(p: *Parser, ty: *Type.Builder) Error!bool {
const res = try p.integerConstExpr(.gnu_folding_extension);
try p.expectClosing(l_paren, .r_paren);
- var bits: i16 = undefined;
- if (res.val.tag == .unavailable) {
+ var bits: u64 = undefined;
+ if (res.val.opt_ref == .none) {
try p.errTok(.expected_integer_constant_expr, bit_int_tok);
return error.ParsingFailed;
- } else if (res.val.compare(.lte, Value.int(0), res.ty, p.comp)) {
- bits = -1;
- } else if (res.val.compare(.gt, Value.int(128), res.ty, p.comp)) {
- bits = 129;
+ } else if (res.val.compare(.lte, Value.zero, p.comp)) {
+ bits = 0;
} else {
- bits = res.val.getInt(i16);
+ bits = res.val.toInt(u64, p.comp) orelse std.math.maxInt(u64);
}
try ty.combine(p, .{ .bit_int = bits }, bit_int_tok);
@@ -1974,7 +2073,7 @@ fn getAnonymousName(p: *Parser, kind_tok: TokenIndex) !StringId {
"(anonymous {s} at {s}:{d}:{d})",
.{ kind_str, source.path, line_col.line_no, line_col.col },
);
- return p.comp.intern(str);
+ return StrInt.intern(p.comp, str);
}
/// recordSpec
@@ -1996,7 +2095,7 @@ fn recordSpec(p: *Parser) Error!Type {
return error.ParsingFailed;
};
// check if this is a reference to a previous type
- const interned_name = try p.comp.intern(p.tokSlice(ident));
+ const interned_name = try StrInt.intern(p.comp, p.tokSlice(ident));
if (try p.syms.findTag(p, interned_name, p.tok_ids[kind_tok], ident, p.tok_ids[p.tok_i])) |prev| {
return prev.ty;
} else {
@@ -2029,7 +2128,7 @@ fn recordSpec(p: *Parser) Error!Type {
var defined = false;
const record_ty: *Type.Record = if (maybe_ident) |ident| record_ty: {
const ident_str = p.tokSlice(ident);
- const interned_name = try p.comp.intern(ident_str);
+ const interned_name = try StrInt.intern(p.comp, ident_str);
if (try p.syms.defineTag(p, interned_name, p.tok_ids[kind_tok], ident)) |prev| {
if (!prev.ty.hasIncompleteSize()) {
// if the record isn't incomplete, this is a redefinition
@@ -2212,27 +2311,26 @@ fn recordDeclarator(p: *Parser) Error!bool {
break :bits;
}
- if (res.val.tag == .unavailable) {
+ if (res.val.opt_ref == .none) {
try p.errTok(.expected_integer_constant_expr, bits_tok);
break :bits;
- } else if (res.val.compare(.lt, Value.int(0), res.ty, p.comp)) {
- try p.errExtra(.negative_bitwidth, first_tok, .{
- .signed = res.val.signExtend(res.ty, p.comp),
- });
+ } else if (res.val.compare(.lt, Value.zero, p.comp)) {
+ try p.errStr(.negative_bitwidth, first_tok, try res.str(p));
break :bits;
}
// incomplete size error is reported later
const bit_size = ty.bitSizeof(p.comp) orelse break :bits;
- if (res.val.compare(.gt, Value.int(bit_size), res.ty, p.comp)) {
+ const bits_unchecked = res.val.toInt(u32, p.comp) orelse std.math.maxInt(u32);
+ if (bits_unchecked > bit_size) {
try p.errTok(.bitfield_too_big, name_tok);
break :bits;
- } else if (res.val.isZero() and name_tok != 0) {
+ } else if (bits_unchecked == 0 and name_tok != 0) {
try p.errTok(.zero_width_named_field, name_tok);
break :bits;
}
- bits = res.val.getInt(u32);
+ bits = bits_unchecked;
bits_node = res.node;
}
@@ -2272,7 +2370,7 @@ fn recordDeclarator(p: *Parser) Error!bool {
}
try p.err(.missing_declaration);
} else {
- const interned_name = if (name_tok != 0) try p.comp.intern(p.tokSlice(name_tok)) else try p.getAnonymousName(first_tok);
+ const interned_name = if (name_tok != 0) try StrInt.intern(p.comp, p.tokSlice(name_tok)) else try p.getAnonymousName(first_tok);
try p.record_buf.append(.{
.name = interned_name,
.ty = ty,
@@ -2363,7 +2461,7 @@ fn enumSpec(p: *Parser) Error!Type {
return error.ParsingFailed;
};
// check if this is a reference to a previous type
- const interned_name = try p.comp.intern(p.tokSlice(ident));
+ const interned_name = try StrInt.intern(p.comp, p.tokSlice(ident));
if (try p.syms.findTag(p, interned_name, .keyword_enum, ident, p.tok_ids[p.tok_i])) |prev| {
// only check fixed underlying type in forward declarations and not in references.
if (p.tok_ids[p.tok_i] == .semicolon)
@@ -2399,7 +2497,7 @@ fn enumSpec(p: *Parser) Error!Type {
var defined = false;
const enum_ty: *Type.Enum = if (maybe_ident) |ident| enum_ty: {
const ident_str = p.tokSlice(ident);
- const interned_name = try p.comp.intern(ident_str);
+ const interned_name = try StrInt.intern(p.comp, ident_str);
if (try p.syms.defineTag(p, interned_name, .keyword_enum, ident)) |prev| {
const enum_ty = prev.ty.get(.@"enum").?.data.@"enum";
if (!enum_ty.isIncomplete() and !enum_ty.fixed) {
@@ -2462,14 +2560,14 @@ fn enumSpec(p: *Parser) Error!Type {
var res = Result{ .node = field.node, .ty = field.ty, .val = vals[i] };
const dest_ty = if (p.comp.fixedEnumTagSpecifier()) |some|
Type{ .specifier = some }
- else if (res.intFitsInType(p, Type.int))
+ else if (try res.intFitsInType(p, Type.int))
Type.int
else if (!res.ty.eql(enum_ty.tag_ty, p.comp, false))
enum_ty.tag_ty
else
continue;
- vals[i].intCast(field.ty, dest_ty, p.comp);
+ try vals[i].intCast(dest_ty, p.comp);
types[i] = dest_ty;
p.nodes.items(.ty)[@intFromEnum(field_nodes[i])] = dest_ty;
field.ty = dest_ty;
@@ -2546,10 +2644,7 @@ const Enumerator = struct {
fn init(fixed_ty: ?Type) Enumerator {
return .{
- .res = .{
- .ty = fixed_ty orelse .{ .specifier = .int },
- .val = .{ .tag = .unavailable },
- },
+ .res = .{ .ty = fixed_ty orelse .{ .specifier = .int } },
.fixed = fixed_ty != null,
};
}
@@ -2558,12 +2653,12 @@ const Enumerator = struct {
fn incr(e: *Enumerator, p: *Parser, tok: TokenIndex) !void {
e.res.node = .none;
const old_val = e.res.val;
- if (old_val.tag == .unavailable) {
+ if (old_val.opt_ref == .none) {
// First enumerator, set to 0 fits in all types.
- e.res.val = Value.int(0);
+ e.res.val = Value.zero;
return;
}
- if (e.res.val.add(e.res.val, Value.int(1), e.res.ty, p.comp)) {
+ if (try e.res.val.add(e.res.val, Value.one, e.res.ty, p.comp)) {
const byte_size = e.res.ty.sizeof(p.comp).?;
const bit_size: u8 = @intCast(if (e.res.ty.isUnsignedInt(p.comp)) byte_size * 8 else byte_size * 8 - 1);
if (e.fixed) {
@@ -2578,7 +2673,7 @@ const Enumerator = struct {
break :blk Type{ .specifier = .ulong_long };
};
e.res.ty = new_ty;
- _ = e.res.val.add(old_val, Value.int(1), e.res.ty, p.comp);
+ _ = try e.res.val.add(old_val, Value.one, e.res.ty, p.comp);
}
}
@@ -2586,7 +2681,7 @@ const Enumerator = struct {
fn set(e: *Enumerator, p: *Parser, res: Result, tok: TokenIndex) !void {
if (res.ty.specifier == .invalid) return;
if (e.fixed and !res.ty.eql(e.res.ty, p.comp, false)) {
- if (!res.intFitsInType(p, e.res.ty)) {
+ if (!try res.intFitsInType(p, e.res.ty)) {
try p.errStr(.enum_not_representable_fixed, tok, try p.typeStr(e.res.ty));
return error.ParsingFailed;
}
@@ -2652,10 +2747,10 @@ fn enumerator(p: *Parser, e: *Enumerator) Error!?EnumFieldAndNode {
defer p.attr_buf.len = attr_buf_top;
try p.attributeSpecifier();
- const err_start = p.comp.diag.list.items.len;
+ const err_start = p.comp.diagnostics.list.items.len;
if (p.eatToken(.equal)) |_| {
const specified = try p.integerConstExpr(.gnu_folding_extension);
- if (specified.val.tag == .unavailable) {
+ if (specified.val.opt_ref == .none) {
try p.errTok(.enum_val_unavailable, name_tok + 2);
try e.incr(p, name_tok);
} else {
@@ -2668,32 +2763,30 @@ fn enumerator(p: *Parser, e: *Enumerator) Error!?EnumFieldAndNode {
var res = e.res;
res.ty = try Attribute.applyEnumeratorAttributes(p, res.ty, attr_buf_top);
- if (res.ty.isUnsignedInt(p.comp) or res.val.compare(.gte, Value.int(0), res.ty, p.comp)) {
- e.num_positive_bits = @max(e.num_positive_bits, res.val.minUnsignedBits(res.ty, p.comp));
+ if (res.ty.isUnsignedInt(p.comp) or res.val.compare(.gte, Value.zero, p.comp)) {
+ e.num_positive_bits = @max(e.num_positive_bits, res.val.minUnsignedBits(p.comp));
} else {
- e.num_negative_bits = @max(e.num_negative_bits, res.val.minSignedBits(res.ty, p.comp));
+ e.num_negative_bits = @max(e.num_negative_bits, res.val.minSignedBits(p.comp));
}
- if (err_start == p.comp.diag.list.items.len) {
+ if (err_start == p.comp.diagnostics.list.items.len) {
// only do these warnings if we didn't already warn about overflow or non-representable values
- if (e.res.val.compare(.lt, Value.int(0), e.res.ty, p.comp)) {
- const val = e.res.val.getInt(i64);
- if (val < (Type{ .specifier = .int }).minInt(p.comp)) {
- try p.errExtra(.enumerator_too_small, name_tok, .{
- .signed = val,
- });
+ if (e.res.val.compare(.lt, Value.zero, p.comp)) {
+ const min_int = (Type{ .specifier = .int }).minInt(p.comp);
+ const min_val = try Value.int(min_int, p.comp);
+ if (e.res.val.compare(.lt, min_val, p.comp)) {
+ try p.errStr(.enumerator_too_small, name_tok, try e.res.str(p));
}
} else {
- const val = e.res.val.getInt(u64);
- if (val > (Type{ .specifier = .int }).maxInt(p.comp)) {
- try p.errExtra(.enumerator_too_large, name_tok, .{
- .unsigned = val,
- });
+ const max_int = (Type{ .specifier = .int }).maxInt(p.comp);
+ const max_val = try Value.int(max_int, p.comp);
+ if (e.res.val.compare(.gt, max_val, p.comp)) {
+ try p.errStr(.enumerator_too_large, name_tok, try e.res.str(p));
}
}
}
- const interned_name = try p.comp.intern(p.tokSlice(name_tok));
+ const interned_name = try StrInt.intern(p.comp, p.tokSlice(name_tok));
try p.syms.defineEnumeration(p, interned_name, res.ty, name_tok, e.res.val);
const node = try p.addNode(.{
.tag = .enum_field_decl,
@@ -2792,6 +2885,7 @@ fn declarator(
try res.ty.combine(outer);
try res.ty.validateCombinedType(p, suffix_start);
res.old_style_func = d.old_style_func;
+ res.func_declarator = d.func_declarator;
return res;
}
@@ -2825,7 +2919,7 @@ fn directDeclarator(p: *Parser, base_type: Type, d: *Declarator, kind: Declarato
if (p.eatToken(.l_bracket)) |l_bracket| {
if (p.tok_ids[p.tok_i] == .l_bracket) {
switch (kind) {
- .normal, .record => if (p.comp.langopts.standard.atLeast(.c2x)) {
+ .normal, .record => if (p.comp.langopts.standard.atLeast(.c23)) {
p.tok_i -= 1;
return base_type;
},
@@ -2875,19 +2969,20 @@ fn directDeclarator(p: *Parser, base_type: Type, d: *Declarator, kind: Declarato
try p.errStr(.array_of_auto_type, d.name, p.tokSlice(d.name));
return error.ParsingFailed;
}
+
const outer = try p.directDeclarator(base_type, d, kind);
var max_bits = p.comp.target.ptrBitWidth();
if (max_bits > 61) max_bits = 61;
const max_bytes = (@as(u64, 1) << @truncate(max_bits)) - 1;
- // `outer` is validated later so it may be invalid here
- const outer_size = outer.sizeof(p.comp);
- const max_elems = max_bytes / @max(1, outer_size orelse 1);
if (!size.ty.isInt()) {
try p.errStr(.array_size_non_int, size_tok, try p.typeStr(size.ty));
return error.ParsingFailed;
}
- if (size.val.tag == .unavailable) {
+ if (base_type.is(.c23_auto)) {
+ // issue error later
+ return Type.invalid;
+ } else if (size.val.opt_ref == .none) {
if (size.node != .none) {
try p.errTok(.vla, size_tok);
if (p.func.ty == null and kind != .param and p.record.kind == .invalid) {
@@ -2913,21 +3008,23 @@ fn directDeclarator(p: *Parser, base_type: Type, d: *Declarator, kind: Declarato
res_ty.specifier = .incomplete_array;
}
} else {
+ // `outer` is validated later so it may be invalid here
+ const outer_size = outer.sizeof(p.comp);
+ const max_elems = max_bytes / @max(1, outer_size orelse 1);
+
var size_val = size.val;
- const size_t = p.comp.types.size;
- if (size_val.isZero()) {
+ if (size_val.isZero(p.comp)) {
try p.errTok(.zero_length_array, l_bracket);
- } else if (size_val.compare(.lt, Value.int(0), size_t, p.comp)) {
+ } else if (size_val.compare(.lt, Value.zero, p.comp)) {
try p.errTok(.negative_array_size, l_bracket);
return error.ParsingFailed;
}
const arr_ty = try p.arena.create(Type.Array);
arr_ty.elem = .{ .specifier = .void };
- if (size_val.compare(.gt, Value.int(max_elems), size_t, p.comp)) {
+ arr_ty.len = size_val.toInt(u64, p.comp) orelse std.math.maxInt(u64);
+ if (arr_ty.len > max_elems) {
try p.errTok(.array_too_large, l_bracket);
arr_ty.len = max_elems;
- } else {
- arr_ty.len = size_val.getInt(u64);
}
res_ty.data = .{ .array = arr_ty };
res_ty.specifier = .array;
@@ -2953,11 +3050,14 @@ fn directDeclarator(p: *Parser, base_type: Type, d: *Declarator, kind: Declarato
return res_ty;
}
- if (try p.paramDecls()) |params| {
+ if (try p.paramDecls(d)) |params| {
func_ty.params = params;
if (p.eatToken(.ellipsis)) |_| specifier = .var_args_func;
} else if (p.tok_ids[p.tok_i] == .r_paren) {
- specifier = .var_args_func;
+ specifier = if (p.comp.langopts.standard.atLeast(.c23))
+ .func
+ else
+ .old_style_func;
} else if (p.tok_ids[p.tok_i] == .identifier or p.tok_ids[p.tok_i] == .extended_identifier) {
d.old_style_func = p.tok_i;
const param_buf_top = p.param_buf.items.len;
@@ -2970,7 +3070,7 @@ fn directDeclarator(p: *Parser, base_type: Type, d: *Declarator, kind: Declarato
specifier = .old_style_func;
while (true) {
const name_tok = try p.expectIdentifier();
- const interned_name = try p.comp.intern(p.tokSlice(name_tok));
+ const interned_name = try StrInt.intern(p.comp, p.tokSlice(name_tok));
try p.syms.defineParam(p, interned_name, undefined, name_tok);
try p.param_buf.append(.{
.name = interned_name,
@@ -3015,7 +3115,7 @@ fn pointer(p: *Parser, base_ty: Type) Error!Type {
/// paramDecls : paramDecl (',' paramDecl)* (',' '...')
/// paramDecl : declSpec (declarator | abstractDeclarator)
-fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
+fn paramDecls(p: *Parser, d: *Declarator) Error!?[]Type.Func.Param {
// TODO warn about visibility of types declared here
const param_buf_top = p.param_buf.items.len;
defer p.param_buf.items.len = param_buf_top;
@@ -3027,9 +3127,26 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
defer p.attr_buf.len = attr_buf_top;
const param_decl_spec = if (try p.declSpec()) |some|
some
- else if (p.param_buf.items.len == param_buf_top)
- return null
- else blk: {
+ else if (p.comp.langopts.standard.atLeast(.c23) and
+ (p.tok_ids[p.tok_i] == .identifier or p.tok_ids[p.tok_i] == .extended_identifier))
+ {
+ // handle deprecated K&R style parameters
+ const identifier = try p.expectIdentifier();
+ try p.errStr(.unknown_type_name, identifier, p.tokSlice(identifier));
+ if (d.old_style_func == null) d.old_style_func = identifier;
+
+ try p.param_buf.append(.{
+ .name = try StrInt.intern(p.comp, p.tokSlice(identifier)),
+ .name_tok = identifier,
+ .ty = .{ .specifier = .int },
+ });
+
+ if (p.eatToken(.comma) == null) break;
+ if (p.tok_ids[p.tok_i] == .ellipsis) break;
+ continue;
+ } else if (p.param_buf.items.len == param_buf_top) {
+ return null;
+ } else blk: {
var spec: Type.Builder = .{};
break :blk DeclSpec{ .ty = try spec.finish(p) };
};
@@ -3044,7 +3161,7 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
name_tok = some.name;
param_ty = some.ty;
if (some.name != 0) {
- const interned_name = try p.comp.intern(p.tokSlice(name_tok));
+ const interned_name = try StrInt.intern(p.comp, p.tokSlice(name_tok));
try p.syms.defineParam(p, interned_name, param_ty, name_tok);
}
}
@@ -3077,7 +3194,7 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
try param_decl_spec.validateParam(p, ¶m_ty);
try p.param_buf.append(.{
- .name = if (name_tok == 0) .empty else try p.comp.intern(p.tokSlice(name_tok)),
+ .name = if (name_tok == 0) .empty else try StrInt.intern(p.comp, p.tokSlice(name_tok)),
.name_tok = if (name_tok == 0) first_tok else name_tok,
.ty = param_ty,
});
@@ -3092,7 +3209,7 @@ fn paramDecls(p: *Parser) Error!?[]Type.Func.Param {
fn typeName(p: *Parser) Error!?Type {
const attr_buf_top = p.attr_buf.len;
defer p.attr_buf.len = attr_buf_top;
- var ty = (try p.specQual()) orelse return null;
+ const ty = (try p.specQual()) orelse return null;
if (try p.declarator(ty, .abstract)) |some| {
if (some.old_style_func) |tok_i| try p.errTok(.invalid_old_style_params, tok_i);
return try Attribute.applyTypeAttributes(p, some.ty, attr_buf_top, .align_ignored);
@@ -3187,31 +3304,29 @@ fn initializerItem(p: *Parser, il: *InitList, init_ty: Type) Error!bool {
const index_res = try p.integerConstExpr(.gnu_folding_extension);
try p.expectClosing(l_bracket, .r_bracket);
- if (index_res.val.tag == .unavailable) {
+ if (index_res.val.opt_ref == .none) {
try p.errTok(.expected_integer_constant_expr, expr_tok);
return error.ParsingFailed;
- } else if (index_res.val.compare(.lt, index_res.val.zero(), index_res.ty, p.comp)) {
- try p.errExtra(.negative_array_designator, l_bracket + 1, .{
- .signed = index_res.val.signExtend(index_res.ty, p.comp),
- });
+ } else if (index_res.val.compare(.lt, Value.zero, p.comp)) {
+ try p.errStr(.negative_array_designator, l_bracket + 1, try index_res.str(p));
return error.ParsingFailed;
}
const max_len = cur_ty.arrayLen() orelse std.math.maxInt(usize);
- if (index_res.val.data.int >= max_len) {
- try p.errExtra(.oob_array_designator, l_bracket + 1, .{ .unsigned = index_res.val.data.int });
+ const index_int = index_res.val.toInt(u64, p.comp) orelse std.math.maxInt(u64);
+ if (index_int >= max_len) {
+ try p.errStr(.oob_array_designator, l_bracket + 1, try index_res.str(p));
return error.ParsingFailed;
}
- const checked = index_res.val.getInt(u64);
- cur_index_hint = cur_index_hint orelse checked;
+ cur_index_hint = cur_index_hint orelse index_int;
- cur_il = try cur_il.find(p.gpa, checked);
+ cur_il = try cur_il.find(p.gpa, index_int);
cur_ty = cur_ty.elemType();
designation = true;
} else if (p.eatToken(.period)) |period| {
const field_tok = try p.expectIdentifier();
const field_str = p.tokSlice(field_tok);
- const field_name = try p.comp.intern(field_str);
+ const field_name = try StrInt.intern(p.comp, field_str);
cur_ty = cur_ty.canonicalize(.standard);
if (!cur_ty.isRecord()) {
try p.errStr(.invalid_field_designator, period, try p.typeStr(cur_ty));
@@ -3289,8 +3404,8 @@ fn initializerItem(p: *Parser, il: *InitList, init_ty: Type) Error!bool {
excess: {
if (index_hint) |*hint| {
- if (try p.findScalarInitializerAt(&cur_il, &cur_ty, res.ty, first_tok, hint)) break :excess;
- } else if (try p.findScalarInitializer(&cur_il, &cur_ty, res.ty, first_tok)) break :excess;
+ if (try p.findScalarInitializerAt(&cur_il, &cur_ty, &res, first_tok, hint)) break :excess;
+ } else if (try p.findScalarInitializer(&cur_il, &cur_ty, &res, first_tok)) break :excess;
if (designation) break :excess;
if (!warned_excess) try p.errTok(if (init_ty.isArray()) .excess_array_init else .excess_struct_init, first_tok);
@@ -3340,7 +3455,7 @@ fn initializerItem(p: *Parser, il: *InitList, init_ty: Type) Error!bool {
}
/// Returns true if the value is unused.
-fn findScalarInitializerAt(p: *Parser, il: **InitList, ty: *Type, actual_ty: Type, first_tok: TokenIndex, start_index: *u64) Error!bool {
+fn findScalarInitializerAt(p: *Parser, il: **InitList, ty: *Type, res: *Result, first_tok: TokenIndex, start_index: *u64) Error!bool {
if (ty.isArray()) {
if (il.*.node != .none) return false;
start_index.* += 1;
@@ -3356,7 +3471,7 @@ fn findScalarInitializerAt(p: *Parser, il: **InitList, ty: *Type, actual_ty: Typ
if (start_index.* < elem_count) {
ty.* = elem_ty;
il.* = try arr_il.find(p.gpa, start_index.*);
- _ = try p.findScalarInitializer(il, ty, actual_ty, first_tok);
+ _ = try p.findScalarInitializer(il, ty, res, first_tok);
return true;
}
return false;
@@ -3374,7 +3489,7 @@ fn findScalarInitializerAt(p: *Parser, il: **InitList, ty: *Type, actual_ty: Typ
const field = fields[@intCast(start_index.*)];
ty.* = field.ty;
il.* = try struct_il.find(p.gpa, start_index.*);
- _ = try p.findScalarInitializer(il, ty, actual_ty, first_tok);
+ _ = try p.findScalarInitializer(il, ty, res, first_tok);
return true;
}
return false;
@@ -3385,9 +3500,11 @@ fn findScalarInitializerAt(p: *Parser, il: **InitList, ty: *Type, actual_ty: Typ
}
/// Returns true if the value is unused.
-fn findScalarInitializer(p: *Parser, il: **InitList, ty: *Type, actual_ty: Type, first_tok: TokenIndex) Error!bool {
+fn findScalarInitializer(p: *Parser, il: **InitList, ty: *Type, res: *Result, first_tok: TokenIndex) Error!bool {
+ const actual_ty = res.ty;
if (ty.isArray() or ty.isComplex()) {
if (il.*.node != .none) return false;
+ if (try p.coerceArrayInitExtra(res, first_tok, ty.*, false)) return true;
const start_index = il.*.list.items.len;
var index = if (start_index != 0) il.*.list.items[start_index - 1].index else start_index;
@@ -3403,7 +3520,7 @@ fn findScalarInitializer(p: *Parser, il: **InitList, ty: *Type, actual_ty: Type,
ty.* = elem_ty;
il.* = try arr_il.find(p.gpa, index);
if (il.*.node == .none and actual_ty.eql(elem_ty, p.comp, false)) return true;
- if (try p.findScalarInitializer(il, ty, actual_ty, first_tok)) return true;
+ if (try p.findScalarInitializer(il, ty, res, first_tok)) return true;
}
return false;
} else if (ty.get(.@"struct")) |struct_ty| {
@@ -3423,7 +3540,8 @@ fn findScalarInitializer(p: *Parser, il: **InitList, ty: *Type, actual_ty: Type,
ty.* = field.ty;
il.* = try struct_il.find(p.gpa, index);
if (il.*.node == .none and actual_ty.eql(field.ty, p.comp, false)) return true;
- if (try p.findScalarInitializer(il, ty, actual_ty, first_tok)) return true;
+ if (il.*.node == .none and try p.coerceArrayInitExtra(res, first_tok, ty.*, false)) return true;
+ if (try p.findScalarInitializer(il, ty, res, first_tok)) return true;
}
return false;
} else if (ty.get(.@"union")) |union_ty| {
@@ -3436,7 +3554,8 @@ fn findScalarInitializer(p: *Parser, il: **InitList, ty: *Type, actual_ty: Type,
ty.* = union_ty.data.record.fields[0].ty;
il.* = try il.*.find(p.gpa, 0);
// if (il.*.node == .none and actual_ty.eql(ty, p.comp, false)) return true;
- if (try p.findScalarInitializer(il, ty, actual_ty, first_tok)) return true;
+ if (try p.coerceArrayInitExtra(res, first_tok, ty.*, false)) return true;
+ if (try p.findScalarInitializer(il, ty, res, first_tok)) return true;
return false;
}
return il.*.node == .none;
@@ -3496,10 +3615,15 @@ fn findAggregateInitializer(p: *Parser, il: **InitList, ty: *Type, start_index:
}
fn coerceArrayInit(p: *Parser, item: *Result, tok: TokenIndex, target: Type) !bool {
+ return p.coerceArrayInitExtra(item, tok, target, true);
+}
+
+fn coerceArrayInitExtra(p: *Parser, item: *Result, tok: TokenIndex, target: Type, report_err: bool) !bool {
if (!target.isArray()) return false;
const is_str_lit = p.nodeIs(item.node, .string_literal_expr);
- if (!is_str_lit and !p.nodeIs(item.node, .compound_literal_expr) or !item.ty.isArray()) {
+ if (!is_str_lit and !p.nodeIsCompoundLiteral(item.node) or !item.ty.isArray()) {
+ if (!report_err) return false;
try p.errTok(.array_init_str, tok);
return true; // do not do further coercion
}
@@ -3511,6 +3635,7 @@ fn coerceArrayInit(p: *Parser, item: *Result, tok: TokenIndex, target: Type) !bo
(is_str_lit and item_spec == .char and (target_spec == .uchar or target_spec == .schar)) or
(is_str_lit and item_spec == .uchar and (target_spec == .uchar or target_spec == .schar or target_spec == .char));
if (!compatible) {
+ if (!report_err) return false;
const e_msg = " with array of type ";
try p.errStr(.incompatible_array_init, tok, try p.typePairStrExtra(target, e_msg, item.ty));
return true; // do not do further coercion
@@ -3518,13 +3643,14 @@ fn coerceArrayInit(p: *Parser, item: *Result, tok: TokenIndex, target: Type) !bo
if (target.get(.array)) |arr_ty| {
assert(item.ty.specifier == .array);
- var len = item.ty.arrayLen().?;
+ const len = item.ty.arrayLen().?;
const array_len = arr_ty.arrayLen().?;
if (is_str_lit) {
// the null byte of a string can be dropped
- if (len - 1 > array_len)
+ if (len - 1 > array_len and report_err) {
try p.errTok(.str_init_too_long, tok);
- } else if (len > array_len) {
+ }
+ } else if (len > array_len and report_err) {
try p.errStr(
.arr_init_too_long,
tok,
@@ -3542,9 +3668,11 @@ fn coerceInit(p: *Parser, item: *Result, tok: TokenIndex, target: Type) !void {
try item.lvalConversion(p);
if (target.is(.auto_type)) {
if (p.getNode(node, .member_access_expr) orelse p.getNode(node, .member_access_ptr_expr)) |member_node| {
- if (Tree.isBitfield(p.nodes.slice(), member_node)) try p.errTok(.auto_type_from_bitfield, tok);
+ if (p.tmpTree().isBitfield(member_node)) try p.errTok(.auto_type_from_bitfield, tok);
}
return;
+ } else if (target.is(.c23_auto)) {
+ return;
}
try item.coerce(p, target, tok, .init);
@@ -3876,8 +4004,8 @@ fn gnuAsmStmt(p: *Parser, quals: Tree.GNUAssemblyQualifiers, l_paren: TokenIndex
fn checkAsmStr(p: *Parser, asm_str: Value, tok: TokenIndex) !void {
if (!p.comp.langopts.gnu_asm) {
- const str = asm_str.data.bytes;
- if (str.len() > 1) {
+ const str = p.comp.interner.get(asm_str.ref()).bytes;
+ if (str.len > 1) {
// Empty string (just a NUL byte) is ok because it does not emit any assembly
try p.errTok(.gnu_asm_disabled, tok);
}
@@ -3928,7 +4056,8 @@ fn assembly(p: *Parser, kind: enum { global, decl_label, stmt }) Error!?NodeInde
switch (kind) {
.decl_label => {
const asm_str = try p.asmStr();
- const str = asm_str.val.data.bytes.trim(1); // remove null-terminator
+ const str = try p.removeNull(asm_str.val);
+
const attr = Attribute{ .tag = .asm_label, .args = .{ .asm_label = .{ .name = str } }, .syntax = .keyword };
try p.attr_buf.append(p.gpa, .{ .attr = attr, .tok = asm_tok });
},
@@ -3962,7 +4091,13 @@ fn asmStr(p: *Parser) Error!Result {
try p.errStr(.invalid_asm_str, p.tok_i, "wide");
return error.ParsingFailed;
},
- else => break,
+ else => {
+ if (i == p.tok_i) {
+ try p.errStr(.expected_str_literal_in, p.tok_i, "asm");
+ return error.ParsingFailed;
+ }
+ break;
+ },
};
return try p.stringLiteral();
}
@@ -4029,6 +4164,7 @@ fn stmt(p: *Parser) Error!NodeIndex {
var @"switch" = Switch{
.ranges = std.ArrayList(Switch.Range).init(p.gpa),
.ty = cond.ty,
+ .comp = p.comp,
};
p.@"switch" = &@"switch";
defer {
@@ -4105,7 +4241,7 @@ fn stmt(p: *Parser) Error!NodeIndex {
// for (init
const init_start = p.tok_i;
- var err_start = p.comp.diag.list.items.len;
+ var err_start = p.comp.diagnostics.list.items.len;
var init = if (!got_decl) try p.expr() else Result{};
try init.saveValue(p);
try init.maybeWarnUnused(p, init_start, err_start);
@@ -4125,7 +4261,7 @@ fn stmt(p: *Parser) Error!NodeIndex {
// for (init; cond; incr
const incr_start = p.tok_i;
- err_start = p.comp.diag.list.items.len;
+ err_start = p.comp.diagnostics.list.items.len;
var incr = try p.expr();
try incr.maybeWarnUnused(p, incr_start, err_start);
try incr.saveValue(p);
@@ -4174,7 +4310,7 @@ fn stmt(p: *Parser) Error!NodeIndex {
try p.errStr(.incompatible_arg, expr_tok, try p.typePairStrExtra(e.ty, " to parameter of incompatible type ", result_ty));
return error.ParsingFailed;
}
- if (e.val.isZero()) {
+ if (e.val.isZero(p.comp)) {
try e.nullCast(p, result_ty);
} else {
try p.errStr(.implicit_int_to_ptr, expr_tok, try p.typePairStrExtra(e.ty, " to ", result_ty));
@@ -4211,7 +4347,7 @@ fn stmt(p: *Parser) Error!NodeIndex {
if (try p.assembly(.stmt)) |some| return some;
const expr_start = p.tok_i;
- const err_start = p.comp.diag.list.items.len;
+ const err_start = p.comp.diagnostics.list.items.len;
const e = try p.expr();
if (e.node != .none) {
@@ -4265,7 +4401,7 @@ fn labeledStmt(p: *Parser) Error!?NodeIndex {
var labeled_stmt = Tree.Node{
.tag = .labeled_stmt,
- .data = .{ .decl = .{ .name = name_tok, .node = try p.stmt() } },
+ .data = .{ .decl = .{ .name = name_tok, .node = try p.labelableStmt() } },
};
labeled_stmt.ty = try Attribute.applyLabelAttributes(p, labeled_stmt.ty, attr_buf_top);
return try p.addNode(labeled_stmt);
@@ -4283,36 +4419,28 @@ fn labeledStmt(p: *Parser) Error!?NodeIndex {
const first = first_item.val;
const last = if (second_item) |second| second.val else first;
- if (first.tag == .unavailable) {
+ if (first.opt_ref == .none) {
try p.errTok(.case_val_unavailable, case + 1);
break :check;
- } else if (last.tag == .unavailable) {
+ } else if (last.opt_ref == .none) {
try p.errTok(.case_val_unavailable, ellipsis + 1);
break :check;
- } else if (last.compare(.lt, first, some.ty, p.comp)) {
+ } else if (last.compare(.lt, first, p.comp)) {
try p.errTok(.empty_case_range, case + 1);
break :check;
}
// TODO cast to target type
- const prev = (try some.add(p.comp, first, last, case + 1)) orelse break :check;
+ const prev = (try some.add(first, last, case + 1)) orelse break :check;
// TODO check which value was already handled
- if (some.ty.isUnsignedInt(p.comp)) {
- try p.errExtra(.duplicate_switch_case_unsigned, case + 1, .{
- .unsigned = first.data.int,
- });
- } else {
- try p.errExtra(.duplicate_switch_case_signed, case + 1, .{
- .signed = first.signExtend(some.ty, p.comp),
- });
- }
+ try p.errStr(.duplicate_switch_case, case + 1, try first_item.str(p));
try p.errTok(.previous_case, prev.tok);
} else {
try p.errStr(.case_not_in_switch, case, "case");
}
- const s = try p.stmt();
+ const s = try p.labelableStmt();
if (second_item) |some| return try p.addNode(.{
.tag = .case_range_stmt,
.data = .{ .if3 = .{ .cond = s, .body = (try p.addList(&.{ first_item.node, some.node })).start } },
@@ -4322,7 +4450,7 @@ fn labeledStmt(p: *Parser) Error!?NodeIndex {
});
} else if (p.eatToken(.keyword_default)) |default| {
_ = try p.expectToken(.colon);
- const s = try p.stmt();
+ const s = try p.labelableStmt();
const node = try p.addNode(.{
.tag = .default_stmt,
.data = .{ .un = s },
@@ -4341,6 +4469,14 @@ fn labeledStmt(p: *Parser) Error!?NodeIndex {
} else return null;
}
+fn labelableStmt(p: *Parser) Error!NodeIndex {
+ if (p.tok_ids[p.tok_i] == .r_brace) {
+ try p.err(.label_compound_end);
+ return p.addNode(.{ .tag = .null_stmt, .data = undefined });
+ }
+ return p.stmt();
+}
+
const StmtExprState = struct {
last_expr_tok: TokenIndex = 0,
last_expr_res: Result = .{ .ty = .{ .specifier = .void } },
@@ -4417,7 +4553,7 @@ fn compoundStmt(p: *Parser, is_fn_body: bool, stmt_expr_state: ?*StmtExprState)
var return_zero = false;
if (last_noreturn == .no and !ret_ty.is(.void) and !ret_ty.isFunc() and !ret_ty.isArray()) {
const func_name = p.tokSlice(p.func.name);
- const interned_name = try p.comp.intern(func_name);
+ const interned_name = try StrInt.intern(p.comp, func_name);
if (interned_name == p.string_ids.main_id and ret_ty.is(.int)) {
return_zero = true;
} else {
@@ -4507,7 +4643,10 @@ fn nextStmt(p: *Parser, l_brace: TokenIndex) !void {
else {
parens -= 1;
},
- .semicolon,
+ .semicolon => if (parens == 0) {
+ p.tok_i += 1;
+ return;
+ },
.keyword_for,
.keyword_while,
.keyword_do,
@@ -4551,6 +4690,7 @@ fn nextStmt(p: *Parser, l_brace: TokenIndex) !void {
.keyword_typeof,
.keyword_typeof1,
.keyword_typeof2,
+ .keyword_typeof_unqual,
.keyword_extension,
=> if (parens == 0) return,
.keyword_pragma => p.skipToPragmaSentinel(),
@@ -4597,11 +4737,11 @@ pub fn macroExpr(p: *Parser) Compilation.Error!bool {
error.FatalError => return error.FatalError,
error.ParsingFailed => return false,
};
- if (res.val.tag == .unavailable) {
+ if (res.val.opt_ref == .none) {
try p.errTok(.expected_expr, p.tok_i);
return false;
}
- return res.val.getBool();
+ return res.val.toBool(p.comp);
}
const CallExpr = union(enum) {
@@ -4737,14 +4877,27 @@ const CallExpr = union(enum) {
}
};
-const Result = struct {
+pub const Result = struct {
node: NodeIndex = .none,
ty: Type = .{ .specifier = .int },
val: Value = .{},
+ pub fn str(res: Result, p: *Parser) ![]const u8 {
+ switch (res.val.opt_ref) {
+ .none => return "(none)",
+ .null => return "nullptr_t",
+ else => {},
+ }
+ const strings_top = p.strings.items.len;
+ defer p.strings.items.len = strings_top;
+
+ try res.val.print(res.ty, p.comp, p.strings.writer());
+ return try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
+ }
+
fn expect(res: Result, p: *Parser) Error!void {
if (p.in_macro) {
- if (res.val.tag == .unavailable) {
+ if (res.val.opt_ref == .none) {
try p.errTok(.expected_expr, p.tok_i);
return error.ParsingFailed;
}
@@ -4757,14 +4910,14 @@ const Result = struct {
}
fn empty(res: Result, p: *Parser) bool {
- if (p.in_macro) return res.val.tag == .unavailable;
+ if (p.in_macro) return res.val.opt_ref == .none;
return res.node == .none;
}
fn maybeWarnUnused(res: Result, p: *Parser, expr_start: TokenIndex, err_start: usize) Error!void {
if (res.ty.is(.void) or res.node == .none) return;
// don't warn about unused result if the expression contained errors besides other unused results
- for (p.comp.diag.list.items[err_start..]) |err_item| {
+ for (p.comp.diagnostics.list.items[err_start..]) |err_item| {
if (err_item.tag != .unused_value) return;
}
var cur_node = res.node;
@@ -4822,8 +4975,8 @@ const Result = struct {
}
fn boolRes(lhs: *Result, p: *Parser, tag: Tree.Tag, rhs: Result) !void {
- if (lhs.val.tag == .nullptr_t) {
- lhs.val = Value.int(0);
+ if (lhs.val.opt_ref == .null) {
+ lhs.val = Value.zero;
}
if (lhs.ty.specifier != .invalid) {
lhs.ty = Type.int;
@@ -4988,8 +5141,8 @@ const Result = struct {
if (other_res.ty.isPtr()) {
try nullptr_res.nullCast(p, other_res.ty);
return other_res.shouldEval(nullptr_res, p);
- } else if (other_res.val.isZero()) {
- other_res.val = .{ .tag = .nullptr_t };
+ } else if (other_res.val.isZero(p.comp)) {
+ other_res.val = Value.null;
try other_res.nullCast(p, nullptr_res.ty);
return other_res.shouldEval(nullptr_res, p);
}
@@ -4999,7 +5152,7 @@ const Result = struct {
if (!a_scalar or !b_scalar or (a_float and b_ptr) or (b_float and a_ptr))
return a.invalidBinTy(tok, b, p);
- if ((a_int or b_int) and !(a.val.isZero() or b.val.isZero())) {
+ if ((a_int or b_int) and !(a.val.isZero(p.comp) or b.val.isZero(p.comp))) {
try p.errStr(.comparison_ptr_int, tok, try p.typePairStr(a.ty, b.ty));
} else if (a_ptr and b_ptr) {
if (!a.ty.isVoidStar() and !b.ty.isVoidStar() and !a.ty.eql(b.ty, p.comp, false))
@@ -5022,7 +5175,7 @@ const Result = struct {
}
if (a_nullptr and b_nullptr) return true;
if ((a_ptr and b_int) or (a_int and b_ptr)) {
- if (a.val.isZero() or b.val.isZero()) {
+ if (a.val.isZero(p.comp) or b.val.isZero(p.comp)) {
try a.nullCast(p, b.ty);
try b.nullCast(p, a.ty);
return true;
@@ -5077,16 +5230,16 @@ const Result = struct {
fn lvalConversion(res: *Result, p: *Parser) Error!void {
if (res.ty.isFunc()) {
- var elem_ty = try p.arena.create(Type);
+ const elem_ty = try p.arena.create(Type);
elem_ty.* = res.ty;
res.ty.specifier = .pointer;
res.ty.data = .{ .sub_type = elem_ty };
try res.implicitCast(p, .function_to_pointer);
} else if (res.ty.isArray()) {
- res.val.tag = .unavailable;
+ res.val = .{};
res.ty.decayArray();
try res.implicitCast(p, .array_to_pointer);
- } else if (!p.in_macro and Tree.isLval(p.nodes.slice(), p.data.items, p.value_map, res.node)) {
+ } else if (!p.in_macro and p.tmpTree().isLval(res.node)) {
res.ty.qual = .{};
try res.implicitCast(p, .lval_to_rval);
}
@@ -5094,26 +5247,26 @@ const Result = struct {
fn boolCast(res: *Result, p: *Parser, bool_ty: Type, tok: TokenIndex) Error!void {
if (res.ty.isArray()) {
- if (res.val.tag == .bytes) {
+ if (res.val.is(.bytes, p.comp)) {
try p.errStr(.string_literal_to_bool, tok, try p.typePairStrExtra(res.ty, " to ", bool_ty));
} else {
try p.errStr(.array_address_to_bool, tok, p.tokSlice(tok));
}
try res.lvalConversion(p);
- res.val = Value.int(1);
+ res.val = Value.one;
res.ty = bool_ty;
try res.implicitCast(p, .pointer_to_bool);
} else if (res.ty.isPtr()) {
- res.val.toBool();
+ res.val.boolCast(p.comp);
res.ty = bool_ty;
try res.implicitCast(p, .pointer_to_bool);
} else if (res.ty.isInt() and !res.ty.is(.bool)) {
- res.val.toBool();
+ res.val.boolCast(p.comp);
res.ty = bool_ty;
try res.implicitCast(p, .int_to_bool);
} else if (res.ty.isFloat()) {
const old_value = res.val;
- const value_change_kind = res.val.floatToInt(res.ty, bool_ty, p.comp);
+ const value_change_kind = try res.val.floatToInt(bool_ty, p.comp);
try res.floatToIntWarning(p, bool_ty, old_value, value_change_kind, tok);
if (!res.ty.isReal()) {
res.ty = res.ty.makeReal();
@@ -5142,7 +5295,7 @@ const Result = struct {
}
} else if (res.ty.isFloat()) {
const old_value = res.val;
- const value_change_kind = res.val.floatToInt(res.ty, int_ty, p.comp);
+ const value_change_kind = try res.val.floatToInt(int_ty, p.comp);
try res.floatToIntWarning(p, int_ty, old_value, value_change_kind, tok);
const old_real = res.ty.isReal();
const new_real = int_ty.isReal();
@@ -5164,7 +5317,7 @@ const Result = struct {
try res.implicitCast(p, .complex_float_to_complex_int);
}
} else if (!res.ty.eql(int_ty, p.comp, true)) {
- res.val.intCast(res.ty, int_ty, p.comp);
+ try res.val.intCast(int_ty, p.comp);
const old_real = res.ty.isReal();
const new_real = int_ty.isReal();
if (old_real and new_real) {
@@ -5195,14 +5348,14 @@ const Result = struct {
.none => return p.errStr(.float_to_int, tok, try p.typePairStrExtra(res.ty, " to ", int_ty)),
.out_of_range => return p.errStr(.float_out_of_range, tok, try p.typePairStrExtra(res.ty, " to ", int_ty)),
.overflow => return p.errStr(.float_overflow_conversion, tok, try p.typePairStrExtra(res.ty, " to ", int_ty)),
- .nonzero_to_zero => return p.errStr(.float_zero_conversion, tok, try p.floatValueChangedStr(res, old_value.getFloat(f64), int_ty)),
- .value_changed => return p.errStr(.float_value_changed, tok, try p.floatValueChangedStr(res, old_value.getFloat(f64), int_ty)),
+ .nonzero_to_zero => return p.errStr(.float_zero_conversion, tok, try p.floatValueChangedStr(res, old_value, int_ty)),
+ .value_changed => return p.errStr(.float_value_changed, tok, try p.floatValueChangedStr(res, old_value, int_ty)),
}
}
fn floatCast(res: *Result, p: *Parser, float_ty: Type) Error!void {
if (res.ty.is(.bool)) {
- res.val.intToFloat(res.ty, float_ty, p.comp);
+ try res.val.intToFloat(float_ty, p.comp);
res.ty = float_ty.makeReal();
try res.implicitCast(p, .bool_to_float);
if (!float_ty.isReal()) {
@@ -5210,7 +5363,7 @@ const Result = struct {
try res.implicitCast(p, .real_to_complex_float);
}
} else if (res.ty.isInt()) {
- res.val.intToFloat(res.ty, float_ty, p.comp);
+ try res.val.intToFloat(float_ty, p.comp);
const old_real = res.ty.isReal();
const new_real = float_ty.isReal();
if (old_real and new_real) {
@@ -5231,7 +5384,7 @@ const Result = struct {
try res.implicitCast(p, .complex_int_to_complex_float);
}
} else if (!res.ty.eql(float_ty, p.comp, true)) {
- res.val.floatCast(res.ty, float_ty, p.comp);
+ try res.val.floatCast(float_ty, p.comp);
const old_real = res.ty.isReal();
const new_real = float_ty.isReal();
if (old_real and new_real) {
@@ -5264,7 +5417,7 @@ const Result = struct {
res.ty = ptr_ty;
try res.implicitCast(p, .bool_to_pointer);
} else if (res.ty.isInt()) {
- res.val.intCast(res.ty, ptr_ty, p.comp);
+ try res.val.intCast(ptr_ty, p.comp);
res.ty = ptr_ty;
try res.implicitCast(p, .int_to_pointer);
}
@@ -5284,7 +5437,7 @@ const Result = struct {
}
fn nullCast(res: *Result, p: *Parser, ptr_ty: Type) Error!void {
- if (!res.ty.is(.nullptr_t) and !res.val.isZero()) return;
+ if (!res.ty.is(.nullptr_t) and !res.val.isZero(p.comp)) return;
res.ty = ptr_ty;
try res.implicitCast(p, .null_to_pointer);
}
@@ -5314,8 +5467,7 @@ const Result = struct {
return res.floatCast(p, .{ .specifier = .float });
}
if (res.ty.isInt()) {
- const slice = p.nodes.slice();
- if (Tree.bitfieldWidth(slice, res.node, true)) |width| {
+ if (p.tmpTree().bitfieldWidth(res.node, true)) |width| {
if (res.ty.bitfieldPromotion(p.comp, width)) |promotion_ty| {
return res.intCast(p, promotion_ty, tok);
}
@@ -5392,15 +5544,15 @@ const Result = struct {
fn invalidBinTy(a: *Result, tok: TokenIndex, b: *Result, p: *Parser) Error!bool {
try p.errStr(.invalid_bin_types, tok, try p.typePairStr(a.ty, b.ty));
- a.val.tag = .unavailable;
- b.val.tag = .unavailable;
+ a.val = .{};
+ b.val = .{};
a.ty = Type.invalid;
return false;
}
fn shouldEval(a: *Result, b: *Result, p: *Parser) Error!bool {
if (p.no_eval) return false;
- if (a.val.tag != .unavailable and b.val.tag != .unavailable)
+ if (a.val.opt_ref != .none and b.val.opt_ref != .none)
return true;
try a.saveValue(p);
@@ -5411,50 +5563,50 @@ const Result = struct {
/// Saves value and replaces it with `.unavailable`.
fn saveValue(res: *Result, p: *Parser) !void {
assert(!p.in_macro);
- if (res.val.tag == .unavailable or res.val.tag == .nullptr_t) return;
+ if (res.val.opt_ref == .none or res.val.opt_ref == .null) return;
if (!p.in_macro) try p.value_map.put(res.node, res.val);
- res.val.tag = .unavailable;
+ res.val = .{};
}
- fn castType(res: *Result, p: *Parser, to: Type, tok: TokenIndex) !void {
+ fn castType(res: *Result, p: *Parser, to: Type, operand_tok: TokenIndex, l_paren: TokenIndex) !void {
var cast_kind: Tree.CastKind = undefined;
if (to.is(.void)) {
// everything can cast to void
cast_kind = .to_void;
- res.val.tag = .unavailable;
+ res.val = .{};
} else if (to.is(.nullptr_t)) {
if (res.ty.is(.nullptr_t)) {
cast_kind = .no_op;
} else {
- try p.errStr(.invalid_object_cast, tok, try p.typePairStrExtra(res.ty, " to ", to));
+ try p.errStr(.invalid_object_cast, l_paren, try p.typePairStrExtra(res.ty, " to ", to));
return error.ParsingFailed;
}
} else if (res.ty.is(.nullptr_t)) {
if (to.is(.bool)) {
try res.nullCast(p, res.ty);
- res.val.toBool();
+ res.val.boolCast(p.comp);
res.ty = .{ .specifier = .bool };
try res.implicitCast(p, .pointer_to_bool);
try res.saveValue(p);
} else if (to.isPtr()) {
try res.nullCast(p, to);
} else {
- try p.errStr(.invalid_object_cast, tok, try p.typePairStrExtra(res.ty, " to ", to));
+ try p.errStr(.invalid_object_cast, l_paren, try p.typePairStrExtra(res.ty, " to ", to));
return error.ParsingFailed;
}
cast_kind = .no_op;
- } else if (res.val.isZero() and to.isPtr()) {
+ } else if (res.val.isZero(p.comp) and to.isPtr()) {
cast_kind = .null_to_pointer;
} else if (to.isScalar()) cast: {
const old_float = res.ty.isFloat();
const new_float = to.isFloat();
if (new_float and res.ty.isPtr()) {
- try p.errStr(.invalid_cast_to_float, tok, try p.typeStr(to));
+ try p.errStr(.invalid_cast_to_float, l_paren, try p.typeStr(to));
return error.ParsingFailed;
} else if (old_float and to.isPtr()) {
- try p.errStr(.invalid_cast_to_pointer, tok, try p.typeStr(res.ty));
+ try p.errStr(.invalid_cast_to_pointer, l_paren, try p.typeStr(res.ty));
return error.ParsingFailed;
}
const old_real = res.ty.isReal();
@@ -5537,6 +5689,9 @@ const Result = struct {
try res.implicitCast(p, .complex_int_to_real);
}
cast_kind = .int_to_pointer;
+ } else {
+ try p.errStr(.cond_expr_type, operand_tok, try p.typeStr(res.ty));
+ return error.ParsingFailed;
}
} else if (new_float) {
if (res.ty.is(.bool)) {
@@ -5575,49 +5730,49 @@ const Result = struct {
cast_kind = .complex_float_cast;
}
}
- if (res.val.tag == .unavailable) break :cast;
+ if (res.val.opt_ref == .none) break :cast;
const old_int = res.ty.isInt() or res.ty.isPtr();
const new_int = to.isInt() or to.isPtr();
if (to.is(.bool)) {
- res.val.toBool();
+ res.val.boolCast(p.comp);
} else if (old_float and new_int) {
// Explicit cast, no conversion warning
- _ = res.val.floatToInt(res.ty, to, p.comp);
+ _ = try res.val.floatToInt(to, p.comp);
} else if (new_float and old_int) {
- res.val.intToFloat(res.ty, to, p.comp);
+ try res.val.intToFloat(to, p.comp);
} else if (new_float and old_float) {
- res.val.floatCast(res.ty, to, p.comp);
+ try res.val.floatCast(to, p.comp);
} else if (old_int and new_int) {
if (to.hasIncompleteSize()) {
- try p.errStr(.cast_to_incomplete_type, tok, try p.typeStr(to));
+ try p.errStr(.cast_to_incomplete_type, l_paren, try p.typeStr(to));
return error.ParsingFailed;
}
- res.val.intCast(res.ty, to, p.comp);
+ try res.val.intCast(to, p.comp);
}
} else if (to.get(.@"union")) |union_ty| {
if (union_ty.data.record.hasFieldOfType(res.ty, p.comp)) {
cast_kind = .union_cast;
- try p.errTok(.gnu_union_cast, tok);
+ try p.errTok(.gnu_union_cast, l_paren);
} else {
if (union_ty.data.record.isIncomplete()) {
- try p.errStr(.cast_to_incomplete_type, tok, try p.typeStr(to));
+ try p.errStr(.cast_to_incomplete_type, l_paren, try p.typeStr(to));
} else {
- try p.errStr(.invalid_union_cast, tok, try p.typeStr(res.ty));
+ try p.errStr(.invalid_union_cast, l_paren, try p.typeStr(res.ty));
}
return error.ParsingFailed;
}
} else {
if (to.is(.auto_type)) {
- try p.errTok(.invalid_cast_to_auto_type, tok);
+ try p.errTok(.invalid_cast_to_auto_type, l_paren);
} else {
- try p.errStr(.invalid_cast_type, tok, try p.typeStr(to));
+ try p.errStr(.invalid_cast_type, l_paren, try p.typeStr(to));
}
return error.ParsingFailed;
}
- if (to.anyQual()) try p.errStr(.qual_cast, tok, try p.typeStr(to));
+ if (to.anyQual()) try p.errStr(.qual_cast, l_paren, try p.typeStr(to));
if (to.isInt() and res.ty.isPtr() and to.sizeCompare(res.ty, p.comp) == .lt) {
- try p.errStr(.cast_to_smaller_int, tok, try p.typePairStrExtra(to, " from ", res.ty));
+ try p.errStr(.cast_to_smaller_int, l_paren, try p.typePairStrExtra(to, " from ", res.ty));
}
res.ty = to;
res.ty.qual = .{};
@@ -5628,11 +5783,11 @@ const Result = struct {
});
}
- fn intFitsInType(res: Result, p: *Parser, ty: Type) bool {
- const max_int = Value.int(ty.maxInt(p.comp));
- const min_int = Value.int(ty.minInt(p.comp));
- return res.val.compare(.lte, max_int, res.ty, p.comp) and
- (res.ty.isUnsignedInt(p.comp) or res.val.compare(.gte, min_int, res.ty, p.comp));
+ fn intFitsInType(res: Result, p: *Parser, ty: Type) !bool {
+ const max_int = try Value.int(ty.maxInt(p.comp), p.comp);
+ const min_int = try Value.int(ty.minInt(p.comp), p.comp);
+ return res.val.compare(.lte, max_int, p.comp) and
+ (res.ty.isUnsignedInt(p.comp) or res.val.compare(.gte, min_int, p.comp));
}
const CoerceContext = union(enum) {
@@ -5642,16 +5797,16 @@ const Result = struct {
arg: TokenIndex,
test_coerce,
- fn note(ctx: CoerceContext, p: *Parser) !void {
- switch (ctx) {
+ fn note(c: CoerceContext, p: *Parser) !void {
+ switch (c) {
.arg => |tok| try p.errTok(.parameter_here, tok),
.test_coerce => unreachable,
else => {},
}
}
- fn typePairStr(ctx: CoerceContext, p: *Parser, dest_ty: Type, src_ty: Type) ![]const u8 {
- switch (ctx) {
+ fn typePairStr(c: CoerceContext, p: *Parser, dest_ty: Type, src_ty: Type) ![]const u8 {
+ switch (c) {
.assign, .init => return p.typePairStrExtra(dest_ty, " from incompatible type ", src_ty),
.ret => return p.typePairStrExtra(src_ty, " from a function with incompatible result type ", dest_ty),
.arg => return p.typePairStrExtra(src_ty, " to parameter of incompatible type ", dest_ty),
@@ -5661,19 +5816,24 @@ const Result = struct {
};
/// Perform assignment-like coercion to `dest_ty`.
- fn coerce(res: *Result, p: *Parser, dest_ty: Type, tok: TokenIndex, ctx: CoerceContext) Error!void {
+ fn coerce(res: *Result, p: *Parser, dest_ty: Type, tok: TokenIndex, c: CoerceContext) Error!void {
if (res.ty.specifier == .invalid or dest_ty.specifier == .invalid) {
res.ty = Type.invalid;
return;
}
- return res.coerceExtra(p, dest_ty, tok, ctx) catch |er| switch (er) {
+ return res.coerceExtra(p, dest_ty, tok, c) catch |er| switch (er) {
error.CoercionFailed => unreachable,
else => |e| return e,
};
}
- const Stage1Limitation = Error || error{CoercionFailed};
- fn coerceExtra(res: *Result, p: *Parser, dest_ty: Type, tok: TokenIndex, ctx: CoerceContext) Stage1Limitation!void {
+ fn coerceExtra(
+ res: *Result,
+ p: *Parser,
+ dest_ty: Type,
+ tok: TokenIndex,
+ c: CoerceContext,
+ ) (Error || error{CoercionFailed})!void {
// Subject of the coercion does not need to be qualified.
var unqual_ty = dest_ty.canonicalize(.standard);
unqual_ty.qual = .{};
@@ -5690,9 +5850,9 @@ const Result = struct {
try res.intCast(p, unqual_ty, tok);
return;
} else if (res.ty.isPtr()) {
- if (ctx == .test_coerce) return error.CoercionFailed;
+ if (c == .test_coerce) return error.CoercionFailed;
try p.errStr(.implicit_ptr_to_int, tok, try p.typePairStrExtra(res.ty, " to ", dest_ty));
- try ctx.note(p);
+ try c.note(p);
try res.intCast(p, unqual_ty, tok);
return;
}
@@ -5702,13 +5862,13 @@ const Result = struct {
return;
}
} else if (unqual_ty.isPtr()) {
- if (res.ty.is(.nullptr_t) or res.val.isZero()) {
+ if (res.ty.is(.nullptr_t) or res.val.isZero(p.comp)) {
try res.nullCast(p, dest_ty);
return;
} else if (res.ty.isInt() and res.ty.isReal()) {
- if (ctx == .test_coerce) return error.CoercionFailed;
+ if (c == .test_coerce) return error.CoercionFailed;
try p.errStr(.implicit_int_to_ptr, tok, try p.typePairStrExtra(res.ty, " to ", dest_ty));
- try ctx.note(p);
+ try c.note(p);
try res.ptrCast(p, unqual_ty);
return;
} else if (res.ty.isVoidStar() or unqual_ty.eql(res.ty, p.comp, true)) {
@@ -5717,26 +5877,26 @@ const Result = struct {
return; // ok
} else if (unqual_ty.eql(res.ty, p.comp, false)) {
if (!unqual_ty.elemType().qual.hasQuals(res.ty.elemType().qual)) {
- try p.errStr(switch (ctx) {
+ try p.errStr(switch (c) {
.assign => .ptr_assign_discards_quals,
.init => .ptr_init_discards_quals,
.ret => .ptr_ret_discards_quals,
.arg => .ptr_arg_discards_quals,
.test_coerce => return error.CoercionFailed,
- }, tok, try ctx.typePairStr(p, dest_ty, res.ty));
+ }, tok, try c.typePairStr(p, dest_ty, res.ty));
}
try res.ptrCast(p, unqual_ty);
return;
} else if (res.ty.isPtr()) {
const different_sign_only = unqual_ty.elemType().sameRankDifferentSign(res.ty.elemType(), p.comp);
- try p.errStr(switch (ctx) {
+ try p.errStr(switch (c) {
.assign => ([2]Diagnostics.Tag{ .incompatible_ptr_assign, .incompatible_ptr_assign_sign })[@intFromBool(different_sign_only)],
.init => ([2]Diagnostics.Tag{ .incompatible_ptr_init, .incompatible_ptr_init_sign })[@intFromBool(different_sign_only)],
.ret => ([2]Diagnostics.Tag{ .incompatible_return, .incompatible_return_sign })[@intFromBool(different_sign_only)],
.arg => ([2]Diagnostics.Tag{ .incompatible_ptr_arg, .incompatible_ptr_arg_sign })[@intFromBool(different_sign_only)],
.test_coerce => return error.CoercionFailed,
- }, tok, try ctx.typePairStr(p, dest_ty, res.ty));
- try ctx.note(p);
+ }, tok, try c.typePairStr(p, dest_ty, res.ty));
+ try c.note(p);
try res.ptrChildTypeCast(p, unqual_ty);
return;
}
@@ -5745,7 +5905,7 @@ const Result = struct {
return; // ok
}
- if (ctx == .arg) if (unqual_ty.get(.@"union")) |union_ty| {
+ if (c == .arg) if (unqual_ty.get(.@"union")) |union_ty| {
if (dest_ty.hasAttribute(.transparent_union)) transparent_union: {
res.coerceExtra(p, union_ty.data.record.fields[0].ty, tok, .test_coerce) catch |er| switch (er) {
error.CoercionFailed => break :transparent_union,
@@ -5765,10 +5925,10 @@ const Result = struct {
return; // ok
}
} else {
- if (ctx == .assign and (unqual_ty.isArray() or unqual_ty.isFunc())) {
+ if (c == .assign and (unqual_ty.isArray() or unqual_ty.isFunc())) {
try p.errTok(.not_assignable, tok);
return;
- } else if (ctx == .test_coerce) {
+ } else if (c == .test_coerce) {
return error.CoercionFailed;
}
// This case should not be possible and an error should have already been emitted but we
@@ -5776,27 +5936,27 @@ const Result = struct {
return error.ParsingFailed;
}
- try p.errStr(switch (ctx) {
+ try p.errStr(switch (c) {
.assign => .incompatible_assign,
.init => .incompatible_init,
.ret => .incompatible_return,
.arg => .incompatible_arg,
.test_coerce => return error.CoercionFailed,
- }, tok, try ctx.typePairStr(p, dest_ty, res.ty));
- try ctx.note(p);
+ }, tok, try c.typePairStr(p, dest_ty, res.ty));
+ try c.note(p);
}
};
/// expr : assignExpr (',' assignExpr)*
fn expr(p: *Parser) Error!Result {
var expr_start = p.tok_i;
- var err_start = p.comp.diag.list.items.len;
+ var err_start = p.comp.diagnostics.list.items.len;
var lhs = try p.assignExpr();
if (p.tok_ids[p.tok_i] == .comma) try lhs.expect(p);
while (p.eatToken(.comma)) |_| {
try lhs.maybeWarnUnused(p, expr_start, err_start);
expr_start = p.tok_i;
- err_start = p.comp.diag.list.items.len;
+ err_start = p.comp.diagnostics.list.items.len;
var rhs = try p.assignExpr();
try rhs.expect(p);
@@ -5864,7 +6024,7 @@ fn assignExpr(p: *Parser) Error!Result {
try rhs.lvalConversion(p);
var is_const: bool = undefined;
- if (!Tree.isLvalExtra(p.nodes.slice(), p.data.items, p.value_map, lhs.node, &is_const) or is_const) {
+ if (!p.tmpTree().isLvalExtra(lhs.node, &is_const) or is_const) {
try p.errTok(.not_assignable, tok);
return error.ParsingFailed;
}
@@ -5877,7 +6037,7 @@ fn assignExpr(p: *Parser) Error!Result {
.div_assign_expr,
.mod_assign_expr,
=> {
- if (rhs.val.isZero() and lhs.ty.isInt() and rhs.ty.isInt()) {
+ if (rhs.val.isZero(p.comp) and lhs.ty.isInt() and rhs.ty.isInt()) {
switch (tag) {
.div_assign_expr => try p.errStr(.division_by_zero, div.?, "division"),
.mod_assign_expr => try p.errStr(.division_by_zero, mod.?, "remainder"),
@@ -5940,7 +6100,7 @@ fn constExpr(p: *Parser, decl_folding: ConstDeclFoldingMode) Error!Result {
const res = try p.condExpr();
try res.expect(p);
- if (res.ty.specifier == .invalid or res.val.tag == .unavailable) return res;
+ if (res.ty.specifier == .invalid or res.val.opt_ref == .none) return res;
// saveValue sets val to unavailable
var copy = res;
@@ -5962,12 +6122,12 @@ fn condExpr(p: *Parser) Error!Result {
}
// Prepare for possible binary conditional expression.
- var maybe_colon = p.eatToken(.colon);
+ const maybe_colon = p.eatToken(.colon);
// Depending on the value of the condition, avoid evaluating unreachable branches.
var then_expr = blk: {
defer p.no_eval = saved_eval;
- if (cond.val.tag != .unavailable and !cond.val.getBool()) p.no_eval = true;
+ if (cond.val.opt_ref != .none and !cond.val.toBool(p.comp)) p.no_eval = true;
break :blk try p.expr();
};
try then_expr.expect(p);
@@ -5989,15 +6149,15 @@ fn condExpr(p: *Parser) Error!Result {
const colon = try p.expectToken(.colon);
var else_expr = blk: {
defer p.no_eval = saved_eval;
- if (cond.val.tag != .unavailable and cond.val.getBool()) p.no_eval = true;
+ if (cond.val.opt_ref != .none and cond.val.toBool(p.comp)) p.no_eval = true;
break :blk try p.condExpr();
};
try else_expr.expect(p);
_ = try then_expr.adjustTypes(colon, &else_expr, p, .conditional);
- if (cond.val.tag != .unavailable) {
- cond.val = if (cond.val.getBool()) then_expr.val else else_expr.val;
+ if (cond.val.opt_ref != .none) {
+ cond.val = if (cond.val.toBool(p.comp)) then_expr.val else else_expr.val;
} else {
try then_expr.saveValue(p);
try else_expr.saveValue(p);
@@ -6019,13 +6179,13 @@ fn lorExpr(p: *Parser) Error!Result {
defer p.no_eval = saved_eval;
while (p.eatToken(.pipe_pipe)) |tok| {
- if (lhs.val.tag != .unavailable and lhs.val.getBool()) p.no_eval = true;
+ if (lhs.val.opt_ref != .none and lhs.val.toBool(p.comp)) p.no_eval = true;
var rhs = try p.landExpr();
try rhs.expect(p);
if (try lhs.adjustTypes(tok, &rhs, p, .boolean_logic)) {
- const res = @intFromBool(lhs.val.getBool() or rhs.val.getBool());
- lhs.val = Value.int(res);
+ const res = lhs.val.toBool(p.comp) or rhs.val.toBool(p.comp);
+ lhs.val = Value.fromBool(res);
}
try lhs.boolRes(p, .bool_or_expr, rhs);
}
@@ -6040,13 +6200,13 @@ fn landExpr(p: *Parser) Error!Result {
defer p.no_eval = saved_eval;
while (p.eatToken(.ampersand_ampersand)) |tok| {
- if (lhs.val.tag != .unavailable and !lhs.val.getBool()) p.no_eval = true;
+ if (lhs.val.opt_ref != .none and !lhs.val.toBool(p.comp)) p.no_eval = true;
var rhs = try p.orExpr();
try rhs.expect(p);
if (try lhs.adjustTypes(tok, &rhs, p, .boolean_logic)) {
- const res = @intFromBool(lhs.val.getBool() and rhs.val.getBool());
- lhs.val = Value.int(res);
+ const res = lhs.val.toBool(p.comp) and rhs.val.toBool(p.comp);
+ lhs.val = Value.fromBool(res);
}
try lhs.boolRes(p, .bool_and_expr, rhs);
}
@@ -6062,7 +6222,7 @@ fn orExpr(p: *Parser) Error!Result {
try rhs.expect(p);
if (try lhs.adjustTypes(tok, &rhs, p, .integer)) {
- lhs.val = lhs.val.bitOr(rhs.val, lhs.ty, p.comp);
+ lhs.val = try lhs.val.bitOr(rhs.val, p.comp);
}
try lhs.bin(p, .bit_or_expr, rhs);
}
@@ -6078,7 +6238,7 @@ fn xorExpr(p: *Parser) Error!Result {
try rhs.expect(p);
if (try lhs.adjustTypes(tok, &rhs, p, .integer)) {
- lhs.val = lhs.val.bitXor(rhs.val, lhs.ty, p.comp);
+ lhs.val = try lhs.val.bitXor(rhs.val, p.comp);
}
try lhs.bin(p, .bit_xor_expr, rhs);
}
@@ -6094,7 +6254,7 @@ fn andExpr(p: *Parser) Error!Result {
try rhs.expect(p);
if (try lhs.adjustTypes(tok, &rhs, p, .integer)) {
- lhs.val = lhs.val.bitAnd(rhs.val, lhs.ty, p.comp);
+ lhs.val = try lhs.val.bitAnd(rhs.val, p.comp);
}
try lhs.bin(p, .bit_and_expr, rhs);
}
@@ -6114,8 +6274,8 @@ fn eqExpr(p: *Parser) Error!Result {
if (try lhs.adjustTypes(ne.?, &rhs, p, .equality)) {
const op: std.math.CompareOperator = if (tag == .equal_expr) .eq else .neq;
- const res = lhs.val.compare(op, rhs.val, lhs.ty, p.comp);
- lhs.val = Value.int(@intFromBool(res));
+ const res = lhs.val.compare(op, rhs.val, p.comp);
+ lhs.val = Value.fromBool(res);
}
try lhs.boolRes(p, tag, rhs);
}
@@ -6143,8 +6303,8 @@ fn compExpr(p: *Parser) Error!Result {
.greater_than_equal_expr => .gte,
else => unreachable,
};
- const res = lhs.val.compare(op, rhs.val, lhs.ty, p.comp);
- lhs.val = Value.int(@intFromBool(res));
+ const res = lhs.val.compare(op, rhs.val, p.comp);
+ lhs.val = Value.fromBool(res);
}
try lhs.boolRes(p, tag, rhs);
}
@@ -6164,9 +6324,9 @@ fn shiftExpr(p: *Parser) Error!Result {
if (try lhs.adjustTypes(shr.?, &rhs, p, .integer)) {
if (shl != null) {
- lhs.val = lhs.val.shl(rhs.val, lhs.ty, p.comp);
+ if (try lhs.val.shl(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(shl.?, lhs);
} else {
- lhs.val = lhs.val.shr(rhs.val, lhs.ty, p.comp);
+ lhs.val = try lhs.val.shr(rhs.val, lhs.ty, p.comp);
}
}
try lhs.bin(p, tag, rhs);
@@ -6188,9 +6348,9 @@ fn addExpr(p: *Parser) Error!Result {
const lhs_ty = lhs.ty;
if (try lhs.adjustTypes(minus.?, &rhs, p, if (plus != null) .add else .sub)) {
if (plus != null) {
- if (lhs.val.add(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(plus.?, lhs);
+ if (try lhs.val.add(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(plus.?, lhs);
} else {
- if (lhs.val.sub(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(minus.?, lhs);
+ if (try lhs.val.sub(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(minus.?, lhs);
}
}
if (lhs.ty.specifier != .invalid and lhs_ty.isPtr() and !lhs_ty.isVoidStar() and lhs_ty.elemType().hasIncompleteSize()) {
@@ -6214,9 +6374,9 @@ fn mulExpr(p: *Parser) Error!Result {
var rhs = try p.castExpr();
try rhs.expect(p);
- if (rhs.val.isZero() and mul == null and !p.no_eval and lhs.ty.isInt() and rhs.ty.isInt()) {
+ if (rhs.val.isZero(p.comp) and mul == null and !p.no_eval and lhs.ty.isInt() and rhs.ty.isInt()) {
const err_tag: Diagnostics.Tag = if (p.in_macro) .division_by_zero_macro else .division_by_zero;
- lhs.val.tag = .unavailable;
+ lhs.val = .{};
if (div != null) {
try p.errStr(err_tag, div.?, "division");
} else {
@@ -6227,15 +6387,15 @@ fn mulExpr(p: *Parser) Error!Result {
if (try lhs.adjustTypes(percent.?, &rhs, p, if (tag == .mod_expr) .integer else .arithmetic)) {
if (mul != null) {
- if (lhs.val.mul(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(mul.?, lhs);
+ if (try lhs.val.mul(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(mul.?, lhs);
} else if (div != null) {
- lhs.val = Value.div(lhs.val, rhs.val, lhs.ty, p.comp);
+ if (try lhs.val.div(lhs.val, rhs.val, lhs.ty, p.comp)) try p.errOverflow(mul.?, lhs);
} else {
- var res = Value.rem(lhs.val, rhs.val, lhs.ty, p.comp);
- if (res.tag == .unavailable) {
+ var res = try Value.rem(lhs.val, rhs.val, lhs.ty, p.comp);
+ if (res.opt_ref == .none) {
if (p.in_macro) {
// match clang behavior by defining invalid remainder to be zero in macros
- res = Value.int(0);
+ res = Value.zero;
} else {
try lhs.saveValue(p);
try rhs.saveValue(p);
@@ -6253,13 +6413,13 @@ fn mulExpr(p: *Parser) Error!Result {
/// This will always be the last message, if present
fn removeUnusedWarningForTok(p: *Parser, last_expr_tok: TokenIndex) void {
if (last_expr_tok == 0) return;
- if (p.comp.diag.list.items.len == 0) return;
+ if (p.comp.diagnostics.list.items.len == 0) return;
const last_expr_loc = p.pp.tokens.items(.loc)[last_expr_tok];
- const last_msg = p.comp.diag.list.items[p.comp.diag.list.items.len - 1];
+ const last_msg = p.comp.diagnostics.list.items[p.comp.diagnostics.list.items.len - 1];
if (last_msg.tag == .unused_value and last_msg.loc.eql(last_expr_loc)) {
- p.comp.diag.list.items.len = p.comp.diag.list.items.len - 1;
+ p.comp.diagnostics.list.items.len = p.comp.diagnostics.list.items.len - 1;
}
}
@@ -6305,10 +6465,11 @@ fn castExpr(p: *Parser) Error!Result {
break :cast_expr;
}
+ const operand_tok = p.tok_i;
var operand = try p.castExpr();
try operand.expect(p);
try operand.lvalConversion(p);
- try operand.castType(p, ty, l_paren);
+ try operand.castType(p, ty, operand_tok, l_paren);
return operand;
}
switch (p.tok_ids[p.tok_i]) {
@@ -6353,8 +6514,8 @@ fn typesCompatible(p: *Parser) Error!Result {
const compatible = first_unqual.eql(second_unqual, p.comp, true);
- var res = Result{
- .val = Value.int(@intFromBool(compatible)),
+ const res = Result{
+ .val = Value.fromBool(compatible),
.node = try p.addNode(.{ .tag = .builtin_types_compatible_p, .ty = Type.int, .data = .{ .bin = .{
.lhs = lhs,
.rhs = rhs,
@@ -6369,24 +6530,24 @@ fn builtinChooseExpr(p: *Parser) Error!Result {
const l_paren = try p.expectToken(.l_paren);
const cond_tok = p.tok_i;
var cond = try p.integerConstExpr(.no_const_decl_folding);
- if (cond.val.tag == .unavailable) {
+ if (cond.val.opt_ref == .none) {
try p.errTok(.builtin_choose_cond, cond_tok);
return error.ParsingFailed;
}
_ = try p.expectToken(.comma);
- var then_expr = if (cond.val.getBool()) try p.assignExpr() else try p.parseNoEval(assignExpr);
+ var then_expr = if (cond.val.toBool(p.comp)) try p.assignExpr() else try p.parseNoEval(assignExpr);
try then_expr.expect(p);
_ = try p.expectToken(.comma);
- var else_expr = if (!cond.val.getBool()) try p.assignExpr() else try p.parseNoEval(assignExpr);
+ var else_expr = if (!cond.val.toBool(p.comp)) try p.assignExpr() else try p.parseNoEval(assignExpr);
try else_expr.expect(p);
try p.expectClosing(l_paren, .r_paren);
- if (cond.val.getBool()) {
+ if (cond.val.toBool(p.comp)) {
cond.val = then_expr.val;
cond.ty = then_expr.ty;
} else {
@@ -6456,16 +6617,13 @@ fn builtinOffsetof(p: *Parser, want_bits: bool) Error!Result {
_ = try p.expectToken(.comma);
- const offsetof_expr = try p.offsetofMemberDesignator(ty);
+ const offsetof_expr = try p.offsetofMemberDesignator(ty, want_bits);
try p.expectClosing(l_paren, .r_paren);
return Result{
.ty = p.comp.types.size,
- .val = if (offsetof_expr.val.tag == .int and !want_bits)
- Value.int(offsetof_expr.val.data.int / 8)
- else
- offsetof_expr.val,
+ .val = offsetof_expr.val,
.node = try p.addNode(.{
.tag = .special_builtin_call_one,
.ty = p.comp.types.size,
@@ -6475,23 +6633,23 @@ fn builtinOffsetof(p: *Parser, want_bits: bool) Error!Result {
}
/// offsetofMemberDesignator: IDENTIFIER ('.' IDENTIFIER | '[' expr ']' )*
-fn offsetofMemberDesignator(p: *Parser, base_ty: Type) Error!Result {
+fn offsetofMemberDesignator(p: *Parser, base_ty: Type, want_bits: bool) Error!Result {
errdefer p.skipTo(.r_paren);
const base_field_name_tok = try p.expectIdentifier();
- const base_field_name = try p.comp.intern(p.tokSlice(base_field_name_tok));
+ const base_field_name = try StrInt.intern(p.comp, p.tokSlice(base_field_name_tok));
try p.validateFieldAccess(base_ty, base_ty, base_field_name_tok, base_field_name);
const base_node = try p.addNode(.{ .tag = .default_init_expr, .ty = base_ty, .data = undefined });
- var offset_num: u64 = 0;
+ var cur_offset: u64 = 0;
const base_record_ty = base_ty.canonicalize(.standard);
- var lhs = try p.fieldAccessExtra(base_node, base_record_ty, base_field_name, false, &offset_num);
- var bit_offset = Value.int(offset_num);
+ var lhs = try p.fieldAccessExtra(base_node, base_record_ty, base_field_name, false, &cur_offset);
+ var total_offset = cur_offset;
while (true) switch (p.tok_ids[p.tok_i]) {
.period => {
p.tok_i += 1;
const field_name_tok = try p.expectIdentifier();
- const field_name = try p.comp.intern(p.tokSlice(field_name_tok));
+ const field_name = try StrInt.intern(p.comp, p.tokSlice(field_name_tok));
if (!lhs.ty.isRecord()) {
try p.errStr(.offsetof_ty, field_name_tok, try p.typeStr(lhs.ty));
@@ -6499,10 +6657,8 @@ fn offsetofMemberDesignator(p: *Parser, base_ty: Type) Error!Result {
}
try p.validateFieldAccess(lhs.ty, lhs.ty, field_name_tok, field_name);
const record_ty = lhs.ty.canonicalize(.standard);
- lhs = try p.fieldAccessExtra(lhs.node, record_ty, field_name, false, &offset_num);
- if (bit_offset.tag != .unavailable) {
- bit_offset = Value.int(offset_num + bit_offset.getInt(u64));
- }
+ lhs = try p.fieldAccessExtra(lhs.node, record_ty, field_name, false, &cur_offset);
+ total_offset += cur_offset;
},
.l_bracket => {
const l_bracket_tok = p.tok_i;
@@ -6528,8 +6684,8 @@ fn offsetofMemberDesignator(p: *Parser, base_ty: Type) Error!Result {
},
else => break,
};
-
- return Result{ .ty = base_ty, .val = bit_offset, .node = lhs.node };
+ const val = try Value.int(if (want_bits) total_offset else total_offset / 8, p.comp);
+ return Result{ .ty = base_ty, .val = val, .node = lhs.node };
}
/// unExpr
@@ -6575,11 +6731,13 @@ fn unExpr(p: *Parser) Error!Result {
var operand = try p.castExpr();
try operand.expect(p);
- const slice = p.nodes.slice();
- if (p.getNode(operand.node, .member_access_expr) orelse p.getNode(operand.node, .member_access_ptr_expr)) |member_node| {
- if (Tree.isBitfield(slice, member_node)) try p.errTok(.addr_of_bitfield, tok);
+ const tree = p.tmpTree();
+ if (p.getNode(operand.node, .member_access_expr) orelse
+ p.getNode(operand.node, .member_access_ptr_expr)) |member_node|
+ {
+ if (tree.isBitfield(member_node)) try p.errTok(.addr_of_bitfield, tok);
}
- if (!Tree.isLval(slice, p.data.items, p.value_map, operand.node)) {
+ if (!tree.isLval(operand.node)) {
try p.errTok(.addr_of_rvalue, tok);
}
if (operand.ty.qual.register) try p.errTok(.addr_of_register, tok);
@@ -6636,10 +6794,10 @@ fn unExpr(p: *Parser) Error!Result {
try p.errStr(.invalid_argument_un, tok, try p.typeStr(operand.ty));
try operand.usualUnaryConversion(p, tok);
- if (operand.val.tag == .int or operand.val.tag == .float) {
- _ = operand.val.sub(operand.val.zero(), operand.val, operand.ty, p.comp);
+ if (operand.val.is(.int, p.comp)) {
+ _ = try operand.val.sub(Value.zero, operand.val, operand.ty, p.comp);
} else {
- operand.val.tag = .unavailable;
+ operand.val = .{};
}
try operand.un(p, .negate_expr);
return operand;
@@ -6654,17 +6812,17 @@ fn unExpr(p: *Parser) Error!Result {
if (operand.ty.isComplex())
try p.errStr(.complex_prefix_postfix_op, p.tok_i, try p.typeStr(operand.ty));
- if (!Tree.isLval(p.nodes.slice(), p.data.items, p.value_map, operand.node) or operand.ty.isConst()) {
+ if (!p.tmpTree().isLval(operand.node) or operand.ty.isConst()) {
try p.errTok(.not_assignable, tok);
return error.ParsingFailed;
}
try operand.usualUnaryConversion(p, tok);
- if (operand.val.tag == .int or operand.val.tag == .float) {
- if (operand.val.add(operand.val, operand.val.one(), operand.ty, p.comp))
+ if (operand.val.is(.int, p.comp) or operand.val.is(.int, p.comp)) {
+ if (try operand.val.add(operand.val, Value.one, operand.ty, p.comp))
try p.errOverflow(tok, operand);
} else {
- operand.val.tag = .unavailable;
+ operand.val = .{};
}
try operand.un(p, .pre_inc_expr);
@@ -6680,17 +6838,17 @@ fn unExpr(p: *Parser) Error!Result {
if (operand.ty.isComplex())
try p.errStr(.complex_prefix_postfix_op, p.tok_i, try p.typeStr(operand.ty));
- if (!Tree.isLval(p.nodes.slice(), p.data.items, p.value_map, operand.node) or operand.ty.isConst()) {
+ if (!p.tmpTree().isLval(operand.node) or operand.ty.isConst()) {
try p.errTok(.not_assignable, tok);
return error.ParsingFailed;
}
try operand.usualUnaryConversion(p, tok);
- if (operand.val.tag == .int or operand.val.tag == .float) {
- if (operand.val.sub(operand.val, operand.val.one(), operand.ty, p.comp))
+ if (operand.val.is(.int, p.comp) or operand.val.is(.int, p.comp)) {
+ if (try operand.val.sub(operand.val, Value.one, operand.ty, p.comp))
try p.errOverflow(tok, operand);
} else {
- operand.val.tag = .unavailable;
+ operand.val = .{};
}
try operand.un(p, .pre_dec_expr);
@@ -6704,12 +6862,12 @@ fn unExpr(p: *Parser) Error!Result {
try operand.lvalConversion(p);
try operand.usualUnaryConversion(p, tok);
if (operand.ty.isInt()) {
- if (operand.val.tag == .int) {
- operand.val = operand.val.bitNot(operand.ty, p.comp);
+ if (operand.val.is(.int, p.comp)) {
+ operand.val = try operand.val.bitNot(operand.ty, p.comp);
}
} else {
try p.errStr(.invalid_argument_un, tok, try p.typeStr(operand.ty));
- operand.val.tag = .unavailable;
+ operand.val = .{};
}
try operand.un(p, .bit_not_expr);
return operand;
@@ -6724,16 +6882,15 @@ fn unExpr(p: *Parser) Error!Result {
try p.errStr(.invalid_argument_un, tok, try p.typeStr(operand.ty));
try operand.usualUnaryConversion(p, tok);
- if (operand.val.tag == .int) {
- const res = Value.int(@intFromBool(!operand.val.getBool()));
- operand.val = res;
- } else if (operand.val.tag == .nullptr_t) {
- operand.val = Value.int(1);
+ if (operand.val.is(.int, p.comp)) {
+ operand.val = Value.fromBool(!operand.val.toBool(p.comp));
+ } else if (operand.val.opt_ref == .null) {
+ operand.val = Value.one;
} else {
if (operand.ty.isDecayed()) {
- operand.val = Value.int(0);
+ operand.val = Value.zero;
} else {
- operand.val.tag = .unavailable;
+ operand.val = .{};
}
}
operand.ty = .{ .specifier = .int };
@@ -6770,10 +6927,10 @@ fn unExpr(p: *Parser) Error!Result {
if (size == 0) {
try p.errTok(.sizeof_returns_zero, tok);
}
- res.val = Value.int(size);
+ res.val = try Value.int(size, p.comp);
res.ty = p.comp.types.size;
} else {
- res.val.tag = .unavailable;
+ res.val = .{};
if (res.ty.hasIncompleteSize()) {
try p.errStr(.invalid_sizeof, expected_paren - 1, try p.typeStr(res.ty));
res.ty = Type.invalid;
@@ -6813,7 +6970,7 @@ fn unExpr(p: *Parser) Error!Result {
try p.errStr(.pointer_arith_void, tok, "alignof");
}
if (res.ty.alignable()) {
- res.val = Value.int(res.ty.alignof(p.comp));
+ res.val = try Value.int(res.ty.alignof(p.comp), p.comp);
res.ty = p.comp.types.size;
} else {
try p.errStr(.invalid_alignof, expected_paren, try p.typeStr(res.ty));
@@ -6845,18 +7002,12 @@ fn unExpr(p: *Parser) Error!Result {
if (operand.ty.isReal()) {
switch (p.comp.langopts.emulate) {
.msvc => {}, // Doesn't support `_Complex` or `__imag` in the first place
- .gcc => {
- if (operand.ty.isInt()) {
- operand.val = Value.int(0);
- } else if (operand.ty.isFloat()) {
- operand.val = Value.float(0);
- }
- },
+ .gcc => operand.val = Value.zero,
.clang => {
- if (operand.val.tag == .int) {
- operand.val = Value.int(0);
+ if (operand.val.is(.int, p.comp)) {
+ operand.val = Value.zero;
} else {
- operand.val.tag = .unavailable;
+ operand.val = .{};
}
},
}
@@ -6898,14 +7049,45 @@ fn unExpr(p: *Parser) Error!Result {
}
/// compoundLiteral
-/// : '(' type_name ')' '{' initializer_list '}'
-/// | '(' type_name ')' '{' initializer_list ',' '}'
+/// : '(' storageClassSpec* type_name ')' '{' initializer_list '}'
+/// | '(' storageClassSpec* type_name ')' '{' initializer_list ',' '}'
fn compoundLiteral(p: *Parser) Error!Result {
const l_paren = p.eatToken(.l_paren) orelse return Result{};
- const ty = (try p.typeName()) orelse {
+
+ var d: DeclSpec = .{ .ty = .{ .specifier = undefined } };
+ const any = if (p.comp.langopts.standard.atLeast(.c23))
+ try p.storageClassSpec(&d)
+ else
+ false;
+
+ const tag: Tree.Tag = switch (d.storage_class) {
+ .static => if (d.thread_local != null)
+ .static_thread_local_compound_literal_expr
+ else
+ .static_compound_literal_expr,
+ .register, .none => if (d.thread_local != null)
+ .thread_local_compound_literal_expr
+ else
+ .compound_literal_expr,
+ .auto, .@"extern", .typedef => |tok| blk: {
+ try p.errStr(.invalid_compound_literal_storage_class, tok, @tagName(d.storage_class));
+ d.storage_class = .none;
+ break :blk if (d.thread_local != null)
+ .thread_local_compound_literal_expr
+ else
+ .compound_literal_expr;
+ },
+ };
+
+ var ty = (try p.typeName()) orelse {
p.tok_i = l_paren;
+ if (any) {
+ try p.err(.expected_type);
+ return error.ParsingFailed;
+ }
return Result{};
};
+ if (d.storage_class == .register) ty.qual.register = true;
try p.expectClosing(l_paren, .r_paren);
if (ty.isFunc()) {
@@ -6917,7 +7099,10 @@ fn compoundLiteral(p: *Parser) Error!Result {
return error.ParsingFailed;
}
var init_list_expr = try p.initializer(ty);
- try init_list_expr.un(p, .compound_literal_expr);
+ if (d.constexpr) |_| {
+ // TODO error if not constexpr
+ }
+ try init_list_expr.un(p, tag);
return init_list_expr;
}
@@ -6942,7 +7127,7 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!Result {
if (operand.ty.isComplex())
try p.errStr(.complex_prefix_postfix_op, p.tok_i, try p.typeStr(operand.ty));
- if (!Tree.isLval(p.nodes.slice(), p.data.items, p.value_map, operand.node) or operand.ty.isConst()) {
+ if (!p.tmpTree().isLval(operand.node) or operand.ty.isConst()) {
try p.err(.not_assignable);
return error.ParsingFailed;
}
@@ -6960,7 +7145,7 @@ fn suffixExpr(p: *Parser, lhs: Result) Error!Result {
if (operand.ty.isComplex())
try p.errStr(.complex_prefix_postfix_op, p.tok_i, try p.typeStr(operand.ty));
- if (!Tree.isLval(p.nodes.slice(), p.data.items, p.value_map, operand.node) or operand.ty.isConst()) {
+ if (!p.tmpTree().isLval(operand.node) or operand.ty.isConst()) {
try p.err(.not_assignable);
return error.ParsingFailed;
}
@@ -7044,7 +7229,7 @@ fn fieldAccess(
if (is_arrow and !is_ptr) try p.errStr(.member_expr_not_ptr, field_name_tok, try p.typeStr(expr_ty));
if (!is_arrow and is_ptr) try p.errStr(.member_expr_ptr, field_name_tok, try p.typeStr(expr_ty));
- const field_name = try p.comp.intern(p.tokSlice(field_name_tok));
+ const field_name = try StrInt.intern(p.comp, p.tokSlice(field_name_tok));
try p.validateFieldAccess(record_ty, expr_ty, field_name_tok, field_name);
var discard: u64 = 0;
return p.fieldAccessExtra(lhs.node, record_ty, field_name, is_arrow, &discard);
@@ -7060,7 +7245,7 @@ fn validateFieldAccess(p: *Parser, record_ty: Type, expr_ty: Type, field_name_to
try expr_ty.print(mapper, p.comp.langopts, p.strings.writer());
try p.strings.append('\'');
- const duped = try p.comp.diag.arena.allocator().dupe(u8, p.strings.items);
+ const duped = try p.comp.diagnostics.arena.allocator().dupe(u8, p.strings.items);
try p.errStr(.no_such_member, field_name_tok, duped);
return error.ParsingFailed;
}
@@ -7075,7 +7260,7 @@ fn fieldAccessExtra(p: *Parser, lhs: NodeIndex, record_ty: Type, field_name: Str
.data = .{ .member = .{ .lhs = lhs, .index = @intCast(i) } },
});
const ret = p.fieldAccessExtra(inner, f.ty, field_name, false, offset_bits);
- offset_bits.* += f.layout.offset_bits;
+ offset_bits.* = f.layout.offset_bits;
return ret;
}
if (field_name == f.name) {
@@ -7111,7 +7296,7 @@ fn checkVaStartArg(p: *Parser, builtin_tok: TokenIndex, first_after: TokenIndex,
}
const last_param_name = func_params[func_params.len - 1].name;
const decl_ref = p.getNode(arg.node, .decl_ref_expr);
- if (decl_ref == null or last_param_name != try p.comp.intern(p.tokSlice(p.nodes.items(.data)[@intFromEnum(decl_ref.?)].decl_ref))) {
+ if (decl_ref == null or last_param_name != try StrInt.intern(p.comp, p.tokSlice(p.nodes.items(.data)[@intFromEnum(decl_ref.?)].decl_ref))) {
try p.errTok(.va_start_not_last_param, param_tok);
}
}
@@ -7130,13 +7315,6 @@ fn checkComplexArg(p: *Parser, builtin_tok: TokenIndex, first_after: TokenIndex,
}
}
-fn checkVariableBuiltinArgument(p: *Parser, builtin_tok: TokenIndex, first_after: TokenIndex, param_tok: TokenIndex, arg: *Result, arg_idx: u32, tag: Builtin.Tag) !void {
- switch (tag) {
- .__builtin_va_start, .__va_start, .va_start => return p.checkVaStartArg(builtin_tok, first_after, param_tok, arg, arg_idx),
- else => {},
- }
-}
-
fn callExpr(p: *Parser, lhs: Result) Error!Result {
const l_paren = p.tok_i;
p.tok_i += 1;
@@ -7209,7 +7387,10 @@ fn callExpr(p: *Parser, lhs: Result) Error!Result {
} else if (ty.is(.func) and params.len != arg_count) {
try p.errExtra(.expected_arguments, first_after, extra);
} else if (ty.is(.old_style_func) and params.len != arg_count) {
- try p.errExtra(.expected_arguments_old, first_after, extra);
+ if (params.len == 0)
+ try p.errTok(.passing_args_to_kr, first_after)
+ else
+ try p.errExtra(.expected_arguments_old, first_after, extra);
} else if (ty.is(.var_args_func) and arg_count < params.len) {
try p.errExtra(.expected_at_least_arguments, first_after, extra);
}
@@ -7218,7 +7399,7 @@ fn callExpr(p: *Parser, lhs: Result) Error!Result {
}
fn checkArrayBounds(p: *Parser, index: Result, array: Result, tok: TokenIndex) !void {
- if (index.val.tag == .unavailable) return;
+ if (index.val.opt_ref == .none) return;
const array_len = array.ty.arrayLen() orelse return;
if (array_len == 0) return;
@@ -7233,28 +7414,24 @@ fn checkArrayBounds(p: *Parser, index: Result, array: Result, tok: TokenIndex) !
if (lhs.is(.@"struct")) {
const record = lhs.getRecord().?;
if (data.member.index + 1 == record.fields.len) {
- if (!index.val.isZero()) {
- try p.errExtra(.old_style_flexible_struct, tok, .{
- .unsigned = index.val.data.int,
- });
+ if (!index.val.isZero(p.comp)) {
+ try p.errStr(.old_style_flexible_struct, tok, try index.str(p));
}
return;
}
}
}
}
- const len = Value.int(array_len);
-
+ const index_int = index.val.toInt(u64, p.comp) orelse std.math.maxInt(u64);
if (index.ty.isUnsignedInt(p.comp)) {
- if (index.val.compare(.gte, len, p.comp.types.size, p.comp))
- try p.errExtra(.array_after, tok, .{ .unsigned = index.val.data.int });
+ if (index_int >= array_len) {
+ try p.errStr(.array_after, tok, try index.str(p));
+ }
} else {
- if (index.val.compare(.lt, Value.int(0), index.ty, p.comp)) {
- try p.errExtra(.array_before, tok, .{
- .signed = index.val.signExtend(index.ty, p.comp),
- });
- } else if (index.val.compare(.gte, len, p.comp.types.size, p.comp)) {
- try p.errExtra(.array_after, tok, .{ .unsigned = index.val.data.int });
+ if (index.val.compare(.lt, Value.zero, p.comp)) {
+ try p.errStr(.array_before, tok, try index.str(p));
+ } else if (index_int >= array_len) {
+ try p.errStr(.array_after, tok, try index.str(p));
}
}
}
@@ -7283,7 +7460,7 @@ fn primaryExpr(p: *Parser) Error!Result {
.identifier, .extended_identifier => {
const name_tok = p.expectIdentifier() catch unreachable;
const name = p.tokSlice(name_tok);
- const interned_name = try p.comp.intern(name);
+ const interned_name = try StrInt.intern(p.comp, name);
if (p.syms.findSymbol(interned_name)) |sym| {
try p.checkDeprecatedUnavailable(sym.ty, name_tok, sym.tok);
if (sym.kind == .constexpr) {
@@ -7297,7 +7474,7 @@ fn primaryExpr(p: *Parser) Error!Result {
}),
};
}
- if (sym.val.tag == .int) {
+ if (sym.val.is(.int, p.comp)) {
switch (p.const_decl_folding) {
.gnu_folding_extension => try p.errTok(.const_decl_folded, name_tok),
.gnu_vla_folding_extension => try p.errTok(.const_decl_folded_vla, name_tok),
@@ -7340,7 +7517,7 @@ fn primaryExpr(p: *Parser) Error!Result {
}),
};
}
- if (p.tok_ids[p.tok_i] == .l_paren) {
+ if (p.tok_ids[p.tok_i] == .l_paren and !p.comp.langopts.standard.atLeast(.c23)) {
// allow implicitly declaring functions before C99 like `puts("foo")`
if (mem.startsWith(u8, name, "__builtin_"))
try p.errStr(.unknown_builtin, name_tok, name)
@@ -7373,15 +7550,10 @@ fn primaryExpr(p: *Parser) Error!Result {
},
.keyword_true, .keyword_false => |id| {
p.tok_i += 1;
- const numeric_value = @intFromBool(id == .keyword_true);
const res = Result{
- .val = Value.int(numeric_value),
+ .val = Value.fromBool(id == .keyword_true),
.ty = .{ .specifier = .bool },
- .node = try p.addNode(.{
- .tag = .bool_literal,
- .ty = .{ .specifier = .bool },
- .data = .{ .int = numeric_value },
- }),
+ .node = try p.addNode(.{ .tag = .bool_literal, .ty = .{ .specifier = .bool }, .data = undefined }),
};
std.debug.assert(!p.in_macro); // Should have been replaced with .one / .zero
try p.value_map.put(res.node, res.val);
@@ -7389,9 +7561,9 @@ fn primaryExpr(p: *Parser) Error!Result {
},
.keyword_nullptr => {
defer p.tok_i += 1;
- try p.errStr(.pre_c2x_compat, p.tok_i, "'nullptr'");
+ try p.errStr(.pre_c23_compat, p.tok_i, "'nullptr'");
return Result{
- .val = .{ .tag = .nullptr_t },
+ .val = Value.null,
.ty = .{ .specifier = .nullptr_t },
.node = try p.addNode(.{
.tag = .nullptr_literal,
@@ -7408,16 +7580,20 @@ fn primaryExpr(p: *Parser) Error!Result {
ty = some.ty;
tok = p.nodes.items(.data)[@intFromEnum(some.node)].decl.name;
} else if (p.func.ty) |_| {
- const start: u32 = @intCast(p.retained_strings.items.len);
- try p.retained_strings.appendSlice(p.tokSlice(p.func.name));
- try p.retained_strings.append(0);
- const predef = try p.makePredefinedIdentifier(start);
+ const strings_top = p.strings.items.len;
+ defer p.strings.items.len = strings_top;
+
+ try p.strings.appendSlice(p.tokSlice(p.func.name));
+ try p.strings.append(0);
+ const predef = try p.makePredefinedIdentifier(strings_top);
ty = predef.ty;
p.func.ident = predef;
} else {
- const start: u32 = @intCast(p.retained_strings.items.len);
- try p.retained_strings.append(0);
- const predef = try p.makePredefinedIdentifier(start);
+ const strings_top = p.strings.items.len;
+ defer p.strings.items.len = strings_top;
+
+ try p.strings.append(0);
+ const predef = try p.makePredefinedIdentifier(strings_top);
ty = predef.ty;
p.func.ident = predef;
try p.decl_buf.append(predef.node);
@@ -7438,17 +7614,21 @@ fn primaryExpr(p: *Parser) Error!Result {
if (p.func.pretty_ident) |some| {
ty = some.ty;
} else if (p.func.ty) |func_ty| {
+ const strings_top = p.strings.items.len;
+ defer p.strings.items.len = strings_top;
+
const mapper = p.comp.string_interner.getSlowTypeMapper();
- const start: u32 = @intCast(p.retained_strings.items.len);
- try Type.printNamed(func_ty, p.tokSlice(p.func.name), mapper, p.comp.langopts, p.retained_strings.writer());
- try p.retained_strings.append(0);
- const predef = try p.makePredefinedIdentifier(start);
+ try Type.printNamed(func_ty, p.tokSlice(p.func.name), mapper, p.comp.langopts, p.strings.writer());
+ try p.strings.append(0);
+ const predef = try p.makePredefinedIdentifier(strings_top);
ty = predef.ty;
p.func.pretty_ident = predef;
} else {
- const start: u32 = @intCast(p.retained_strings.items.len);
- try p.retained_strings.appendSlice("top level\x00");
- const predef = try p.makePredefinedIdentifier(start);
+ const strings_top = p.strings.items.len;
+ defer p.strings.items.len = strings_top;
+
+ try p.strings.appendSlice("top level\x00");
+ const predef = try p.makePredefinedIdentifier(strings_top);
ty = predef.ty;
p.func.pretty_ident = predef;
try p.decl_buf.append(predef.node);
@@ -7480,14 +7660,14 @@ fn primaryExpr(p: *Parser) Error!Result {
=> return p.charLiteral(),
.zero => {
p.tok_i += 1;
- var res: Result = .{ .val = Value.int(0), .ty = if (p.in_macro) p.comp.types.intmax else Type.int };
+ var res: Result = .{ .val = Value.zero, .ty = if (p.in_macro) p.comp.types.intmax else Type.int };
res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = undefined });
if (!p.in_macro) try p.value_map.put(res.node, res.val);
return res;
},
.one => {
p.tok_i += 1;
- var res: Result = .{ .val = Value.int(1), .ty = if (p.in_macro) p.comp.types.intmax else Type.int };
+ var res: Result = .{ .val = Value.one, .ty = if (p.in_macro) p.comp.types.intmax else Type.int };
res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = undefined });
if (!p.in_macro) try p.value_map.put(res.node, res.val);
return res;
@@ -7504,7 +7684,7 @@ fn primaryExpr(p: *Parser) Error!Result {
byte *= 10;
byte += c - '0';
}
- var res: Result = .{ .val = Value.int(byte) };
+ var res: Result = .{ .val = try Value.int(byte, p.comp) };
res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = undefined });
try p.value_map.put(res.node, res.val);
return res;
@@ -7514,14 +7694,16 @@ fn primaryExpr(p: *Parser) Error!Result {
}
}
-fn makePredefinedIdentifier(p: *Parser, start: u32) !Result {
- const end: u32 = @intCast(p.retained_strings.items.len);
+fn makePredefinedIdentifier(p: *Parser, strings_top: usize) !Result {
+ const end: u32 = @intCast(p.strings.items.len);
const elem_ty = .{ .specifier = .char, .qual = .{ .@"const" = true } };
const arr_ty = try p.arena.create(Type.Array);
- arr_ty.* = .{ .elem = elem_ty, .len = end - start };
+ arr_ty.* = .{ .elem = elem_ty, .len = end - strings_top };
const ty: Type = .{ .specifier = .array, .data = .{ .array = arr_ty } };
- const val = Value.bytes(start, end);
+ const slice = p.strings.items[strings_top..];
+ const val = try Value.intern(p.comp, .{ .bytes = slice });
+
const str_lit = try p.addNode(.{ .tag = .string_literal_expr, .ty = ty, .data = undefined });
if (!p.in_macro) try p.value_map.put(str_lit, val);
@@ -7534,8 +7716,8 @@ fn makePredefinedIdentifier(p: *Parser, start: u32) !Result {
fn stringLiteral(p: *Parser) Error!Result {
var string_end = p.tok_i;
- var string_kind: TextLiteral.Kind = .char;
- while (TextLiteral.Kind.classify(p.tok_ids[string_end], .string_literal)) |next| : (string_end += 1) {
+ var string_kind: text_literal.Kind = .char;
+ while (text_literal.Kind.classify(p.tok_ids[string_end], .string_literal)) |next| : (string_end += 1) {
string_kind = string_kind.concat(next) catch {
try p.errTok(.unsupported_str_cat, string_end);
while (p.tok_ids[p.tok_i].isStringLiteral()) : (p.tok_i += 1) {}
@@ -7551,24 +7733,24 @@ fn stringLiteral(p: *Parser) Error!Result {
const char_width = string_kind.charUnitSize(p.comp);
- const retain_start = mem.alignForward(usize, p.retained_strings.items.len, string_kind.internalStorageAlignment(p.comp));
- try p.retained_strings.resize(retain_start);
+ const strings_top = p.strings.items.len;
+ defer p.strings.items.len = strings_top;
while (p.tok_i < string_end) : (p.tok_i += 1) {
- const this_kind = TextLiteral.Kind.classify(p.tok_ids[p.tok_i], .string_literal).?;
+ const this_kind = text_literal.Kind.classify(p.tok_ids[p.tok_i], .string_literal).?;
const slice = this_kind.contentSlice(p.tokSlice(p.tok_i));
- var char_literal_parser = TextLiteral.Parser.init(slice, this_kind, 0x10ffff, p.comp);
+ var char_literal_parser = text_literal.Parser.init(slice, this_kind, 0x10ffff, p.comp);
- try p.retained_strings.ensureUnusedCapacity((slice.len + 1) * @intFromEnum(char_width)); // +1 for null terminator
+ try p.strings.ensureUnusedCapacity((slice.len + 1) * @intFromEnum(char_width)); // +1 for null terminator
while (char_literal_parser.next()) |item| switch (item) {
.value => |v| {
switch (char_width) {
- .@"1" => p.retained_strings.appendAssumeCapacity(@intCast(v)),
+ .@"1" => p.strings.appendAssumeCapacity(@intCast(v)),
.@"2" => {
const word: u16 = @intCast(v);
- p.retained_strings.appendSliceAssumeCapacity(mem.asBytes(&word));
+ p.strings.appendSliceAssumeCapacity(mem.asBytes(&word));
},
- .@"4" => p.retained_strings.appendSliceAssumeCapacity(mem.asBytes(&v)),
+ .@"4" => p.strings.appendSliceAssumeCapacity(mem.asBytes(&v)),
}
},
.codepoint => |c| {
@@ -7577,7 +7759,7 @@ fn stringLiteral(p: *Parser) Error!Result {
var buf: [4]u8 = undefined;
const written = std.unicode.utf8Encode(c, &buf) catch unreachable;
const encoded = buf[0..written];
- p.retained_strings.appendSliceAssumeCapacity(encoded);
+ p.strings.appendSliceAssumeCapacity(encoded);
},
.@"2" => {
var utf16_buf: [2]u16 = undefined;
@@ -7585,30 +7767,30 @@ fn stringLiteral(p: *Parser) Error!Result {
const utf8_written = std.unicode.utf8Encode(c, &utf8_buf) catch unreachable;
const utf16_written = std.unicode.utf8ToUtf16Le(&utf16_buf, utf8_buf[0..utf8_written]) catch unreachable;
const bytes = std.mem.sliceAsBytes(utf16_buf[0..utf16_written]);
- p.retained_strings.appendSliceAssumeCapacity(bytes);
+ p.strings.appendSliceAssumeCapacity(bytes);
},
.@"4" => {
const val: u32 = c;
- p.retained_strings.appendSliceAssumeCapacity(mem.asBytes(&val));
+ p.strings.appendSliceAssumeCapacity(mem.asBytes(&val));
},
}
},
- .improperly_encoded => |bytes| p.retained_strings.appendSliceAssumeCapacity(bytes),
+ .improperly_encoded => |bytes| p.strings.appendSliceAssumeCapacity(bytes),
.utf8_text => |view| {
switch (char_width) {
- .@"1" => p.retained_strings.appendSliceAssumeCapacity(view.bytes),
+ .@"1" => p.strings.appendSliceAssumeCapacity(view.bytes),
.@"2" => {
- var capacity_slice: []align(@alignOf(u16)) u8 = @alignCast(p.retained_strings.unusedCapacitySlice());
+ const capacity_slice: []align(@alignOf(u16)) u8 = @alignCast(p.strings.unusedCapacitySlice());
const dest_len = std.mem.alignBackward(usize, capacity_slice.len, 2);
- var dest = std.mem.bytesAsSlice(u16, capacity_slice[0..dest_len]);
+ const dest = std.mem.bytesAsSlice(u16, capacity_slice[0..dest_len]);
const words_written = std.unicode.utf8ToUtf16Le(dest, view.bytes) catch unreachable;
- p.retained_strings.resize(p.retained_strings.items.len + words_written * 2) catch unreachable;
+ p.strings.resize(p.strings.items.len + words_written * 2) catch unreachable;
},
.@"4" => {
var it = view.iterator();
while (it.nextCodepoint()) |codepoint| {
const val: u32 = codepoint;
- p.retained_strings.appendSliceAssumeCapacity(mem.asBytes(&val));
+ p.strings.appendSliceAssumeCapacity(mem.asBytes(&val));
}
},
}
@@ -7618,8 +7800,18 @@ fn stringLiteral(p: *Parser) Error!Result {
try p.errExtra(item.tag, p.tok_i, item.extra);
}
}
- p.retained_strings.appendNTimesAssumeCapacity(0, @intFromEnum(char_width));
- const slice = p.retained_strings.items[retain_start..];
+ p.strings.appendNTimesAssumeCapacity(0, @intFromEnum(char_width));
+ const slice = p.strings.items[strings_top..];
+
+ // TODO this won't do anything if there is a cache hit
+ const interned_align = mem.alignForward(
+ usize,
+ p.comp.interner.strings.items.len,
+ string_kind.internalStorageAlignment(p.comp),
+ );
+ try p.comp.interner.strings.resize(p.gpa, interned_align);
+
+ const val = try Value.intern(p.comp, .{ .bytes = slice });
const arr_ty = try p.arena.create(Type.Array);
arr_ty.* = .{ .elem = string_kind.elementType(p.comp), .len = @divExact(slice.len, @intFromEnum(char_width)) };
@@ -7628,7 +7820,7 @@ fn stringLiteral(p: *Parser) Error!Result {
.specifier = .array,
.data = .{ .array = arr_ty },
},
- .val = Value.bytes(@intCast(retain_start), @intCast(p.retained_strings.items.len)),
+ .val = val,
};
res.node = try p.addNode(.{ .tag = .string_literal_expr, .ty = res.ty, .data = undefined });
if (!p.in_macro) try p.value_map.put(res.node, res.val);
@@ -7638,7 +7830,7 @@ fn stringLiteral(p: *Parser) Error!Result {
fn charLiteral(p: *Parser) Error!Result {
defer p.tok_i += 1;
const tok_id = p.tok_ids[p.tok_i];
- const char_kind = TextLiteral.Kind.classify(tok_id, .char_literal) orelse {
+ const char_kind = text_literal.Kind.classify(tok_id, .char_literal) orelse {
if (tok_id == .empty_char_literal) {
try p.err(.empty_char_literal_error);
} else if (tok_id == .unterminated_char_literal) {
@@ -7646,10 +7838,11 @@ fn charLiteral(p: *Parser) Error!Result {
} else unreachable;
return .{
.ty = Type.int,
- .val = Value.int(0),
+ .val = Value.zero,
.node = try p.addNode(.{ .tag = .char_literal, .ty = Type.int, .data = undefined }),
};
};
+ if (char_kind == .utf_8) try p.err(.u8_char_lit);
var val: u32 = 0;
const slice = char_kind.contentSlice(p.tokSlice(p.tok_i));
@@ -7659,7 +7852,7 @@ fn charLiteral(p: *Parser) Error!Result {
val = slice[0];
} else {
const max_codepoint = char_kind.maxCodepoint(p.comp);
- var char_literal_parser = TextLiteral.Parser.init(slice, char_kind, max_codepoint, p.comp);
+ var char_literal_parser = text_literal.Parser.init(slice, char_kind, max_codepoint, p.comp);
const max_chars_expected = 4;
var stack_fallback = std.heap.stackFallback(max_chars_expected * @sizeOf(u32), p.comp.gpa);
@@ -7730,9 +7923,9 @@ fn charLiteral(p: *Parser) Error!Result {
else
p.comp.types.intmax;
- var res = Result{
+ const res = Result{
.ty = if (p.in_macro) macro_ty else ty,
- .val = Value.int(val),
+ .val = try Value.int(val, p.comp),
.node = try p.addNode(.{ .tag = .char_literal, .ty = ty, .data = undefined }),
};
if (!p.in_macro) try p.value_map.put(res.node, res.val);
@@ -7740,48 +7933,50 @@ fn charLiteral(p: *Parser) Error!Result {
}
fn parseFloat(p: *Parser, buf: []const u8, suffix: NumberSuffix) !Result {
- switch (suffix) {
- .L => return p.todo("long double literals"),
- .IL => {
- try p.err(.gnu_imaginary_constant);
- return p.todo("long double imaginary literals");
- },
- .None, .I, .F, .IF, .F16 => {
- const ty = Type{ .specifier = switch (suffix) {
- .None, .I => .double,
- .F, .IF => .float,
- .F16 => .float16,
- else => unreachable,
- } };
- const d_val = std.fmt.parseFloat(f64, buf) catch |er| switch (er) {
- error.InvalidCharacter => return p.todo("c2x digit separators in floats"),
- else => unreachable,
- };
- const tag: Tree.Tag = switch (suffix) {
- .None, .I => .double_literal,
- .F, .IF => .float_literal,
- .F16 => .float16_literal,
- else => unreachable,
- };
- var res = Result{
- .ty = ty,
- .node = try p.addNode(.{ .tag = tag, .ty = ty, .data = undefined }),
- .val = Value.float(d_val),
- };
- if (suffix.isImaginary()) {
- try p.err(.gnu_imaginary_constant);
- res.ty = .{ .specifier = switch (suffix) {
- .I => .complex_double,
- .IF => .complex_float,
- else => unreachable,
- } };
- res.val.tag = .unavailable;
- try res.un(p, .imaginary_literal);
- }
- return res;
- },
+ const ty = Type{ .specifier = switch (suffix) {
+ .None, .I => .double,
+ .F, .IF => .float,
+ .F16 => .float16,
+ .L, .IL => .long_double,
else => unreachable,
+ } };
+ const val = try Value.intern(p.comp, key: {
+ try p.strings.ensureUnusedCapacity(buf.len);
+
+ const strings_top = p.strings.items.len;
+ defer p.strings.items.len = strings_top;
+ for (buf) |c| {
+ if (c != '_') p.strings.appendAssumeCapacity(c);
+ }
+
+ const float = std.fmt.parseFloat(f128, p.strings.items[strings_top..]) catch unreachable;
+ const bits = ty.bitSizeof(p.comp).?;
+ break :key switch (bits) {
+ 16 => .{ .float = .{ .f16 = @floatCast(float) } },
+ 32 => .{ .float = .{ .f32 = @floatCast(float) } },
+ 64 => .{ .float = .{ .f64 = @floatCast(float) } },
+ 80 => .{ .float = .{ .f80 = @floatCast(float) } },
+ 128 => .{ .float = .{ .f128 = @floatCast(float) } },
+ else => unreachable,
+ };
+ });
+ var res = Result{
+ .ty = ty,
+ .node = try p.addNode(.{ .tag = .float_literal, .ty = ty, .data = undefined }),
+ .val = val,
+ };
+ if (suffix.isImaginary()) {
+ try p.err(.gnu_imaginary_constant);
+ res.ty = .{ .specifier = switch (suffix) {
+ .I => .complex_double,
+ .IF => .complex_float,
+ .IL => .complex_long_double,
+ else => unreachable,
+ } };
+ res.val = .{}; // TODO add complex values
+ try res.un(p, .imaginary_literal);
}
+ return res;
}
fn getIntegerPart(p: *Parser, buf: []const u8, prefix: NumberPrefix, tok_i: TokenIndex) ![]const u8 {
@@ -7854,9 +8049,10 @@ fn fixedSizeInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok
if (overflowed != 0) overflow = true;
val = sum;
}
+ var res: Result = .{ .val = try Value.int(val, p.comp) };
if (overflow) {
try p.errTok(.int_literal_too_big, tok_i);
- var res: Result = .{ .ty = .{ .specifier = .ulong_long }, .val = Value.int(val) };
+ res.ty = .{ .specifier = .ulong_long };
res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = undefined });
if (!p.in_macro) try p.value_map.put(res.node, res.val);
return res;
@@ -7866,25 +8062,39 @@ fn fixedSizeInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok
try p.errTok(.implicitly_unsigned_literal, tok_i);
}
}
- return if (base == 10)
- switch (suffix) {
- .None, .I => p.castInt(val, &.{ .int, .long, .long_long }),
- .U, .IU => p.castInt(val, &.{ .uint, .ulong, .ulong_long }),
- .L, .IL => p.castInt(val, &.{ .long, .long_long }),
- .UL, .IUL => p.castInt(val, &.{ .ulong, .ulong_long }),
- .LL, .ILL => p.castInt(val, &.{.long_long}),
- .ULL, .IULL => p.castInt(val, &.{.ulong_long}),
- else => unreachable,
- }
- else switch (suffix) {
- .None, .I => p.castInt(val, &.{ .int, .uint, .long, .ulong, .long_long, .ulong_long }),
- .U, .IU => p.castInt(val, &.{ .uint, .ulong, .ulong_long }),
- .L, .IL => p.castInt(val, &.{ .long, .ulong, .long_long, .ulong_long }),
- .UL, .IUL => p.castInt(val, &.{ .ulong, .ulong_long }),
- .LL, .ILL => p.castInt(val, &.{ .long_long, .ulong_long }),
- .ULL, .IULL => p.castInt(val, &.{.ulong_long}),
+
+ const signed_specs = .{ .int, .long, .long_long };
+ const unsigned_specs = .{ .uint, .ulong, .ulong_long };
+ const signed_oct_hex_specs = .{ .int, .uint, .long, .ulong, .long_long, .ulong_long };
+ const specs: []const Type.Specifier = if (suffix.signedness() == .unsigned)
+ &unsigned_specs
+ else if (base == 10)
+ &signed_specs
+ else
+ &signed_oct_hex_specs;
+
+ const suffix_ty: Type = .{ .specifier = switch (suffix) {
+ .None, .I => .int,
+ .U, .IU => .uint,
+ .UL, .IUL => .ulong,
+ .ULL, .IULL => .ulong_long,
+ .L, .IL => .long,
+ .LL, .ILL => .long_long,
else => unreachable,
- };
+ } };
+
+ for (specs) |spec| {
+ res.ty = Type{ .specifier = spec };
+ if (res.ty.compareIntegerRanks(suffix_ty, p.comp).compare(.lt)) continue;
+ const max_int = res.ty.maxInt(p.comp);
+ if (val <= max_int) break;
+ } else {
+ res.ty = .{ .specifier = .ulong_long };
+ }
+
+ res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = undefined });
+ if (!p.in_macro) try p.value_map.put(res.node, res.val);
+ return res;
}
fn parseInt(p: *Parser, prefix: NumberPrefix, buf: []const u8, suffix: NumberSuffix, tok_i: TokenIndex) !Result {
@@ -7900,14 +8110,14 @@ fn parseInt(p: *Parser, prefix: NumberPrefix, buf: []const u8, suffix: NumberSuf
if (suffix.isImaginary()) {
try p.errTok(.gnu_imaginary_constant, tok_i);
res.ty = res.ty.makeComplex();
- res.val.tag = .unavailable;
+ res.val = .{};
try res.un(p, .imaginary_literal);
}
return res;
}
fn bitInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok_i: TokenIndex) Error!Result {
- try p.errStr(.pre_c2x_compat, tok_i, "'_BitInt' suffix for literals");
+ try p.errStr(.pre_c23_compat, tok_i, "'_BitInt' suffix for literals");
try p.errTok(.bitint_suffix, tok_i);
var managed = try big.int.Managed.init(p.gpa);
@@ -7937,25 +8147,17 @@ fn bitInt(p: *Parser, base: u8, buf: []const u8, suffix: NumberSuffix, tok_i: To
try p.errStr(.bit_int_too_big, tok_i, specifier.str(p.comp.langopts).?);
return error.ParsingFailed;
}
- if (bits_needed > 64) {
- return p.todo("_BitInt constants > 64 bits");
- }
break :blk @intCast(bits_needed);
};
- const val = c.to(u64) catch |e| switch (e) {
- error.NegativeIntoUnsigned => unreachable, // unary minus parsed elsewhere; we only see positive integers
- error.TargetTooSmall => unreachable, // Validated above but Todo: handle larger _BitInt
- };
-
var res: Result = .{
- .val = Value.int(val),
+ .val = try Value.intern(p.comp, .{ .int = .{ .big_int = c } }),
.ty = .{
.specifier = .bit_int,
.data = .{ .int = .{ .bits = bits_needed, .signedness = suffix.signedness() } },
},
};
- res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = .{ .int = val } });
+ res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = undefined });
if (!p.in_macro) try p.value_map.put(res.node, res.val);
return res;
}
@@ -8051,43 +8253,13 @@ fn ppNum(p: *Parser) Error!Result {
return error.ParsingFailed;
}
res.ty = if (res.ty.isUnsignedInt(p.comp)) p.comp.types.intmax.makeIntegerUnsigned() else p.comp.types.intmax;
- } else {
+ } else if (res.val.opt_ref != .none) {
+ // TODO add complex values
try p.value_map.put(res.node, res.val);
}
return res;
}
-fn castInt(p: *Parser, val: u64, specs: []const Type.Specifier) Error!Result {
- var res: Result = .{ .val = Value.int(val) };
- for (specs) |spec| {
- const ty = Type{ .specifier = spec };
- const unsigned = ty.isUnsignedInt(p.comp);
- const size = ty.sizeof(p.comp).?;
- res.ty = ty;
-
- if (unsigned) {
- switch (size) {
- 2 => if (val <= std.math.maxInt(u16)) break,
- 4 => if (val <= std.math.maxInt(u32)) break,
- 8 => if (val <= std.math.maxInt(u64)) break,
- else => unreachable,
- }
- } else {
- switch (size) {
- 2 => if (val <= std.math.maxInt(i16)) break,
- 4 => if (val <= std.math.maxInt(i32)) break,
- 8 => if (val <= std.math.maxInt(i64)) break,
- else => unreachable,
- }
- }
- } else {
- res.ty = .{ .specifier = .ulong_long };
- }
- res.node = try p.addNode(.{ .tag = .int_literal, .ty = res.ty, .data = .{ .int = val } });
- if (!p.in_macro) try p.value_map.put(res.node, res.val);
- return res;
-}
-
/// Run a parser function but do not evaluate the result
fn parseNoEval(p: *Parser, comptime func: fn (*Parser) Error!Result) Error!Result {
const no_eval = p.no_eval;
deps/aro/Pragma.zig → deps/aro/aro/Pragma.zig
@@ -4,10 +4,10 @@ const Preprocessor = @import("Preprocessor.zig");
const Parser = @import("Parser.zig");
const TokenIndex = @import("Tree.zig").TokenIndex;
-const Pragma = @This();
-
pub const Error = Compilation.Error || error{ UnknownPragma, StopPreprocessing };
+const Pragma = @This();
+
/// Called during Preprocessor.init
beforePreprocess: ?*const fn (*Pragma, *Compilation) void = null,
deps/aro/Preprocessor.zig → deps/aro/aro/Preprocessor.zig
@@ -13,8 +13,7 @@ const Token = @import("Tree.zig").Token;
const Attribute = @import("Attribute.zig");
const features = @import("features.zig");
-const Preprocessor = @This();
-const DefineMap = std.StringHashMap(Macro);
+const DefineMap = std.StringHashMapUnmanaged(Macro);
const RawTokenList = std.ArrayList(RawToken);
const max_include_depth = 200;
@@ -40,9 +39,9 @@ const Macro = struct {
is_builtin: bool = false,
/// Location of macro in the source
- /// `byte_offset` and `line` are used to define the range of tokens included
- /// in the macro.
loc: Source.Location,
+ start: u32,
+ end: u32,
fn eql(a: Macro, b: Macro, pp: *Preprocessor) bool {
if (a.tokens.len != b.tokens.len) return false;
@@ -63,10 +62,12 @@ const Macro = struct {
}
};
+const Preprocessor = @This();
+
comp: *Compilation,
gpa: mem.Allocator,
arena: std.heap.ArenaAllocator,
-defines: DefineMap,
+defines: DefineMap = .{},
tokens: Token.List = .{},
token_buf: RawTokenList,
char_buf: std.ArrayList(u8),
@@ -92,6 +93,8 @@ preserve_whitespace: bool = false,
/// linemarker tokens. Must be .none unless in -E mode (parser does not handle linemarkers)
linemarkers: Linemarkers = .none,
+pub const parse = Parser.parse;
+
pub const Linemarkers = enum {
/// No linemarker tokens. Required setting if parser will run
none,
@@ -106,7 +109,6 @@ pub fn init(comp: *Compilation) Preprocessor {
.comp = comp,
.gpa = comp.gpa,
.arena = std.heap.ArenaAllocator.init(comp.gpa),
- .defines = DefineMap.init(comp.gpa),
.token_buf = RawTokenList.init(comp.gpa),
.char_buf = std.ArrayList(u8).init(comp.gpa),
.poisoned_identifiers = std.StringHashMap(void).init(comp.gpa),
@@ -116,6 +118,14 @@ pub fn init(comp: *Compilation) Preprocessor {
return pp;
}
+/// Initialize Preprocessor with builtin macros.
+pub fn initDefault(comp: *Compilation) !Preprocessor {
+ var pp = init(comp);
+ errdefer pp.deinit();
+ try pp.addBuiltinMacros();
+ return pp;
+}
+
const builtin_macros = struct {
const args = [1][]const u8{"X"};
@@ -123,6 +133,10 @@ const builtin_macros = struct {
.id = .macro_param_has_attribute,
.source = .generated,
}};
+ const has_c_attribute = [1]RawToken{.{
+ .id = .macro_param_has_c_attribute,
+ .source = .generated,
+ }};
const has_declspec_attribute = [1]RawToken{.{
.id = .macro_param_has_declspec_attribute,
.source = .generated,
@@ -151,6 +165,10 @@ const builtin_macros = struct {
.id = .macro_param_has_include_next,
.source = .generated,
}};
+ const has_embed = [1]RawToken{.{
+ .id = .macro_param_has_embed,
+ .source = .generated,
+ }};
const is_identifier = [1]RawToken{.{
.id = .macro_param_is_identifier,
@@ -177,18 +195,21 @@ const builtin_macros = struct {
};
fn addBuiltinMacro(pp: *Preprocessor, name: []const u8, is_func: bool, tokens: []const RawToken) !void {
- try pp.defines.putNoClobber(name, .{
+ try pp.defines.putNoClobber(pp.gpa, name, .{
.params = &builtin_macros.args,
.tokens = tokens,
.var_args = false,
.is_func = is_func,
.loc = .{ .id = .generated },
+ .start = 0,
+ .end = 0,
.is_builtin = true,
});
}
pub fn addBuiltinMacros(pp: *Preprocessor) !void {
try pp.addBuiltinMacro("__has_attribute", true, &builtin_macros.has_attribute);
+ try pp.addBuiltinMacro("__has_c_attribute", true, &builtin_macros.has_c_attribute);
try pp.addBuiltinMacro("__has_declspec_attribute", true, &builtin_macros.has_declspec_attribute);
try pp.addBuiltinMacro("__has_warning", true, &builtin_macros.has_warning);
try pp.addBuiltinMacro("__has_feature", true, &builtin_macros.has_feature);
@@ -196,6 +217,7 @@ pub fn addBuiltinMacros(pp: *Preprocessor) !void {
try pp.addBuiltinMacro("__has_builtin", true, &builtin_macros.has_builtin);
try pp.addBuiltinMacro("__has_include", true, &builtin_macros.has_include);
try pp.addBuiltinMacro("__has_include_next", true, &builtin_macros.has_include_next);
+ try pp.addBuiltinMacro("__has_embed", true, &builtin_macros.has_embed);
try pp.addBuiltinMacro("__is_identifier", true, &builtin_macros.is_identifier);
try pp.addBuiltinMacro("_Pragma", true, &builtin_macros.pragma_operator);
@@ -205,7 +227,7 @@ pub fn addBuiltinMacros(pp: *Preprocessor) !void {
}
pub fn deinit(pp: *Preprocessor) void {
- pp.defines.deinit();
+ pp.defines.deinit(pp.gpa);
for (pp.tokens.items(.expansion_locs)) |loc| Token.free(loc, pp.gpa);
pp.tokens.deinit(pp.gpa);
pp.arena.deinit();
@@ -216,6 +238,20 @@ pub fn deinit(pp: *Preprocessor) void {
pp.top_expansion_buf.deinit();
}
+/// Preprocess a compilation unit of sources into a parsable list of tokens.
+pub fn preprocessSources(pp: *Preprocessor, sources: []const Source) Error!void {
+ assert(sources.len > 1);
+ const first = sources[0];
+ try pp.addIncludeStart(first);
+ for (sources[1..]) |header| {
+ try pp.addIncludeStart(header);
+ _ = try pp.preprocess(header);
+ }
+ try pp.addIncludeResume(first.id, 0, 0);
+ const eof = try pp.preprocess(first);
+ try pp.tokens.append(pp.comp.gpa, eof);
+}
+
/// Preprocess a source file, returns eof token.
pub fn preprocess(pp: *Preprocessor, source: Source) Error!Token {
const eof = pp.preprocessExtra(source) catch |er| switch (er) {
@@ -242,7 +278,7 @@ pub fn tokenize(pp: *Preprocessor, source: Source) Error!Token {
try pp.tokens.ensureTotalCapacity(pp.gpa, pp.tokens.len + estimated_token_count);
while (true) {
- var tok = tokenizer.next();
+ const tok = tokenizer.next();
if (tok.id == .eof) return tokFromRaw(tok);
try pp.tokens.append(pp.gpa, tokFromRaw(tok));
}
@@ -333,9 +369,9 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!Token {
}
try pp.stringify(pp.top_expansion_buf.items);
const slice = pp.char_buf.items[char_top + 1 .. pp.char_buf.items.len - 2];
- const duped = try pp.comp.diag.arena.allocator().dupe(u8, slice);
+ const duped = try pp.comp.diagnostics.arena.allocator().dupe(u8, slice);
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = if (directive.id == .keyword_error) .error_directive else .warning_directive,
.loc = .{ .id = tok.source, .byte_offset = directive.start, .line = directive.line },
.extra = .{ .str = duped },
@@ -557,12 +593,12 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!Token {
continue;
},
.keyword_include_next => {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .include_next,
.loc = .{ .id = tok.source, .byte_offset = directive.start, .line = directive.line },
}, &.{});
if (pp.include_depth == 0) {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .include_next_outside_header,
.loc = .{ .id = tok.source, .byte_offset = directive.start, .line = directive.line },
}, &.{});
@@ -679,7 +715,7 @@ fn tokFromRaw(raw: RawToken) Token {
}
fn err(pp: *Preprocessor, raw: RawToken, tag: Diagnostics.Tag) !void {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = tag,
.loc = .{
.id = raw.source,
@@ -689,10 +725,26 @@ fn err(pp: *Preprocessor, raw: RawToken, tag: Diagnostics.Tag) !void {
}, &.{});
}
+fn errStr(pp: *Preprocessor, tok: Token, tag: Diagnostics.Tag, str: []const u8) !void {
+ try pp.comp.addDiagnostic(.{
+ .tag = tag,
+ .loc = tok.loc,
+ .extra = .{ .str = str },
+ }, tok.expansionSlice());
+}
+
fn fatal(pp: *Preprocessor, raw: RawToken, comptime fmt: []const u8, args: anytype) Compilation.Error {
- const source = pp.comp.getSource(raw.source);
- const line_col = source.lineCol(.{ .id = raw.source, .line = raw.line, .byte_offset = raw.start });
- return pp.comp.diag.fatal(source.path, line_col.line, raw.line, line_col.col, fmt, args);
+ try pp.comp.diagnostics.list.append(pp.gpa, .{
+ .tag = .cli_error,
+ .kind = .@"fatal error",
+ .extra = .{ .str = try std.fmt.allocPrint(pp.comp.diagnostics.arena.allocator(), fmt, args) },
+ .loc = .{
+ .id = raw.source,
+ .byte_offset = raw.start,
+ .line = raw.line,
+ },
+ });
+ return error.FatalError;
}
fn verboseLog(pp: *Preprocessor, raw: RawToken, comptime fmt: []const u8, args: anytype) void {
@@ -745,7 +797,7 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
pp.top_expansion_buf.items.len = 0;
const eof = while (true) {
- var tok = tokenizer.next();
+ const tok = tokenizer.next();
switch (tok.id) {
.nl, .eof => break tok,
.whitespace => if (pp.top_expansion_buf.items.len == 0) continue,
@@ -760,7 +812,7 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
for (pp.top_expansion_buf.items) |tok| {
if (tok.id == .macro_ws) continue;
if (!tok.id.validPreprocessorExprStart()) {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .invalid_preproc_expr_start,
.loc = tok.loc,
}, tok.expansionSlice());
@@ -785,7 +837,7 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
.string_literal_utf_32,
.string_literal_wide,
=> {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .string_literal_in_pp_expr,
.loc = tok.loc,
}, tok.expansionSlice());
@@ -815,7 +867,7 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
.arrow,
.period,
=> {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .invalid_preproc_operator,
.loc = tok.loc,
}, tok.expansionSlice());
@@ -829,20 +881,12 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
const tokens_consumed = try pp.handleKeywordDefined(&tok, items[i + 1 ..], eof);
i += tokens_consumed;
} else {
- try pp.comp.diag.add(.{
- .tag = .undefined_macro,
- .loc = tok.loc,
- .extra = .{ .str = pp.expandedSlice(tok) },
- }, tok.expansionSlice());
+ try pp.errStr(tok, .undefined_macro, pp.expandedSlice(tok));
if (i + 1 < pp.top_expansion_buf.items.len and
pp.top_expansion_buf.items[i + 1].id == .l_paren)
{
- try pp.comp.diag.add(.{
- .tag = .fn_macro_undefined,
- .loc = tok.loc,
- .extra = .{ .str = pp.expandedSlice(tok) },
- }, tok.expansionSlice());
+ try pp.errStr(tok, .fn_macro_undefined, pp.expandedSlice(tok));
return false;
}
@@ -866,9 +910,9 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
.tok_i = @intCast(start),
.arena = pp.arena.allocator(),
.in_macro = true,
+ .strings = std.ArrayList(u8).init(pp.comp.gpa),
+
.data = undefined,
- .strings = undefined,
- .retained_strings = undefined,
.value_map = undefined,
.labels = undefined,
.decl_buf = undefined,
@@ -880,6 +924,7 @@ fn expr(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!bool {
.field_attr_buf = undefined,
.string_ids = undefined,
};
+ defer parser.strings.deinit();
return parser.macroExpr();
}
@@ -896,11 +941,7 @@ fn handleKeywordDefined(pp: *Preprocessor, macro_tok: *Token, tokens: []const To
.l_paren => {},
else => {
if (!first.id.isMacroIdentifier()) {
- try pp.comp.diag.add(.{
- .tag = .macro_name_must_be_identifier,
- .loc = first.loc,
- .extra = .{ .str = pp.expandedSlice(first) },
- }, first.expansionSlice());
+ try pp.errStr(first, .macro_name_must_be_identifier, pp.expandedSlice(first));
}
macro_tok.id = if (pp.defines.contains(pp.expandedSlice(first))) .one else .zero;
return it.i;
@@ -911,7 +952,7 @@ fn handleKeywordDefined(pp: *Preprocessor, macro_tok: *Token, tokens: []const To
return it.i;
};
if (!second.id.isMacroIdentifier()) {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .macro_name_must_be_identifier,
.loc = second.loc,
}, second.expansionSlice());
@@ -922,11 +963,11 @@ fn handleKeywordDefined(pp: *Preprocessor, macro_tok: *Token, tokens: []const To
const last = it.nextNoWS();
if (last == null or last.?.id != .r_paren) {
const tok = last orelse tokFromRaw(eof);
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .closing_paren,
.loc = tok.loc,
}, tok.expansionSlice());
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .to_match_paren,
.loc = first.loc,
}, first.expansionSlice());
@@ -1076,21 +1117,24 @@ fn expandObjMacro(pp: *Preprocessor, simple_macro: *const Macro) Error!ExpandBuf
.macro_file => {
const start = pp.comp.generated_buf.items.len;
const source = pp.comp.getSource(pp.expansion_source_loc.id);
- try pp.comp.generated_buf.writer().print("\"{s}\"\n", .{source.path});
+ const w = pp.comp.generated_buf.writer(pp.gpa);
+ try w.print("\"{s}\"\n", .{source.path});
buf.appendAssumeCapacity(try pp.makeGeneratedToken(start, .string_literal, tok));
},
.macro_line => {
const start = pp.comp.generated_buf.items.len;
const source = pp.comp.getSource(pp.expansion_source_loc.id);
- try pp.comp.generated_buf.writer().print("{d}\n", .{source.physicalLine(pp.expansion_source_loc)});
+ const w = pp.comp.generated_buf.writer(pp.gpa);
+ try w.print("{d}\n", .{source.physicalLine(pp.expansion_source_loc)});
buf.appendAssumeCapacity(try pp.makeGeneratedToken(start, .pp_num, tok));
},
.macro_counter => {
defer pp.counter += 1;
const start = pp.comp.generated_buf.items.len;
- try pp.comp.generated_buf.writer().print("{d}\n", .{pp.counter});
+ const w = pp.comp.generated_buf.writer(pp.gpa);
+ try w.print("{d}\n", .{pp.counter});
buf.appendAssumeCapacity(try pp.makeGeneratedToken(start, .pp_num, tok));
},
@@ -1138,7 +1182,7 @@ fn pragmaOperator(pp: *Preprocessor, arg_tok: Token, operator_loc: Source.Locati
pp.char_buf.appendAssumeCapacity('\n');
const start = pp.comp.generated_buf.items.len;
- try pp.comp.generated_buf.appendSlice(pp.char_buf.items);
+ try pp.comp.generated_buf.appendSlice(pp.gpa, pp.char_buf.items);
var tmp_tokenizer = Tokenizer{
.buf = pp.comp.generated_buf.items,
.comp = pp.comp,
@@ -1217,7 +1261,7 @@ fn stringify(pp: *Preprocessor, tokens: []const Token) !void {
}
if (pp.char_buf.items[pp.char_buf.items.len - 1] == '\\') {
const tok = tokens[tokens.len - 1];
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .invalid_pp_stringify_escape,
.loc = tok.loc,
}, tok.expansionSlice());
@@ -1226,7 +1270,7 @@ fn stringify(pp: *Preprocessor, tokens: []const Token) !void {
try pp.char_buf.appendSlice("\"\n");
}
-fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const Token) !?[]const u8 {
+fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const Token, embed_args: ?*[]const Token) !?[]const u8 {
const char_top = pp.char_buf.items.len;
defer pp.char_buf.items.len = char_top;
@@ -1238,29 +1282,35 @@ fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const Token) !?[]co
const params = param_toks[begin..end];
if (params.len == 0) {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .expected_filename,
.loc = param_toks[0].loc,
}, param_toks[0].expansionSlice());
return null;
}
// no string pasting
- if (params[0].id == .string_literal and params.len > 1) {
- try pp.comp.diag.add(.{
+ if (embed_args == null and params[0].id == .string_literal and params.len > 1) {
+ try pp.comp.addDiagnostic(.{
.tag = .closing_paren,
.loc = params[1].loc,
}, params[1].expansionSlice());
return null;
}
- for (params) |tok| {
+ for (params, 0..) |tok, i| {
const str = pp.expandedSliceExtra(tok, .preserve_macro_ws);
try pp.char_buf.appendSlice(str);
+ if (embed_args) |some| {
+ if ((i == 0 and tok.id == .string_literal) or tok.id == .angle_bracket_right) {
+ some.* = params[i + 1 ..];
+ break;
+ }
+ }
}
const include_str = pp.char_buf.items[char_top..];
if (include_str.len < 3) {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .empty_filename,
.loc = params[0].loc,
}, params[0].expansionSlice());
@@ -1272,11 +1322,11 @@ fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const Token) !?[]co
if (include_str[include_str.len - 1] != '>') {
// Ugly hack to find out where the '>' should go, since we don't have the closing ')' location
const start = params[0].loc;
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .header_str_closing,
.loc = .{ .id = start.id, .byte_offset = start.byte_offset + @as(u32, @intCast(include_str.len)) + 1, .line = start.line },
}, params[0].expansionSlice());
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .header_str_match,
.loc = params[0].loc,
}, params[0].expansionSlice());
@@ -1286,7 +1336,7 @@ fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const Token) !?[]co
},
'"' => return include_str,
else => {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .expected_filename,
.loc = params[0].loc,
}, params[0].expansionSlice());
@@ -1316,7 +1366,7 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: RawToken.Id, param_toks: []con
}
if (identifier == null and invalid == null) invalid = .{ .id = .eof, .loc = src_loc };
if (invalid) |some| {
- try pp.comp.diag.add(
+ try pp.comp.addDiagnostic(
.{ .tag = .feature_check_requires_identifier, .loc = some.loc },
some.expansionSlice(),
);
@@ -1341,21 +1391,13 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: RawToken.Id, param_toks: []con
.macro_param_has_warning => {
const actual_param = pp.pasteStringsUnsafe(param_toks) catch |er| switch (er) {
error.ExpectedStringLiteral => {
- try pp.comp.diag.add(.{
- .tag = .expected_str_literal_in,
- .loc = param_toks[0].loc,
- .extra = .{ .str = "__has_warning" },
- }, param_toks[0].expansionSlice());
+ try pp.errStr(param_toks[0], .expected_str_literal_in, "__has_warning");
return false;
},
else => |e| return e,
};
if (!mem.startsWith(u8, actual_param, "-W")) {
- try pp.comp.diag.add(.{
- .tag = .malformed_warning_check,
- .loc = param_toks[0].loc,
- .extra = .{ .str = "__has_warning" },
- }, param_toks[0].expansionSlice());
+ try pp.errStr(param_toks[0], .malformed_warning_check, "__has_warning");
return false;
}
const warning_name = actual_param[2..];
@@ -1373,7 +1415,7 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: RawToken.Id, param_toks: []con
};
if (identifier == null and invalid == null) invalid = .{ .id = .eof, .loc = src_loc };
if (invalid) |some| {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .missing_tok_builtin,
.loc = some.loc,
.extra = .{ .tok_id_expected = .r_paren },
@@ -1385,7 +1427,7 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: RawToken.Id, param_toks: []con
return id == .identifier or id == .extended_identifier;
},
.macro_param_has_include, .macro_param_has_include_next => {
- const include_str = (try pp.reconstructIncludeString(param_toks)) orelse return false;
+ const include_str = (try pp.reconstructIncludeString(param_toks, null)) orelse return false;
const include_type: Compilation.IncludeType = switch (include_str[0]) {
'"' => .quotes,
'<' => .angle_brackets,
@@ -1394,7 +1436,7 @@ fn handleBuiltinMacro(pp: *Preprocessor, builtin: RawToken.Id, param_toks: []con
const filename = include_str[1 .. include_str.len - 1];
if (builtin == .macro_param_has_include or pp.include_depth == 0) {
if (builtin == .macro_param_has_include_next) {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .include_next_outside_header,
.loc = src_loc,
}, &.{});
@@ -1445,6 +1487,9 @@ fn expandFuncMacro(
const raw_next = func_macro.tokens[tok_i + 1];
tok_i += 1;
+ var va_opt_buf = ExpandBuf.init(pp.gpa);
+ defer va_opt_buf.deinit();
+
const next = switch (raw_next.id) {
.macro_ws => continue,
.hash_hash => continue,
@@ -1457,6 +1502,11 @@ fn expandFuncMacro(
else
&[1]Token{tokFromRaw(.{ .id = .placemarker, .source = .generated })},
.keyword_va_args => variable_arguments.items,
+ .keyword_va_opt => blk: {
+ try pp.expandVaOpt(&va_opt_buf, raw_next, variable_arguments.items.len != 0);
+ if (va_opt_buf.items.len == 0) break;
+ break :blk va_opt_buf.items;
+ },
else => &[1]Token{tokFromRaw(raw_next)},
};
@@ -1480,6 +1530,9 @@ fn expandFuncMacro(
const raw_loc = Source.Location{ .id = raw.source, .byte_offset = raw.start, .line = raw.line };
try bufCopyTokens(&buf, expanded_variable_arguments.items, &.{raw_loc});
},
+ .keyword_va_opt => {
+ try pp.expandVaOpt(&buf, raw, variable_arguments.items.len != 0);
+ },
.stringify_param, .stringify_va_args => {
const arg = if (raw.id == .stringify_va_args)
variable_arguments.items
@@ -1490,7 +1543,7 @@ fn expandFuncMacro(
try pp.stringify(arg);
const start = pp.comp.generated_buf.items.len;
- try pp.comp.generated_buf.appendSlice(pp.char_buf.items);
+ try pp.comp.generated_buf.appendSlice(pp.gpa, pp.char_buf.items);
try buf.append(try pp.makeGeneratedToken(start, .string_literal, tokFromRaw(raw)));
},
@@ -1507,11 +1560,221 @@ fn expandFuncMacro(
const arg = expanded_args.items[0];
const result = if (arg.len == 0) blk: {
const extra = Diagnostics.Message.Extra{ .arguments = .{ .expected = 1, .actual = 0 } };
- try pp.comp.diag.add(.{ .tag = .expected_arguments, .loc = loc, .extra = extra }, &.{});
+ try pp.comp.addDiagnostic(.{ .tag = .expected_arguments, .loc = loc, .extra = extra }, &.{});
break :blk false;
} else try pp.handleBuiltinMacro(raw.id, arg, loc);
const start = pp.comp.generated_buf.items.len;
- try pp.comp.generated_buf.writer().print("{}\n", .{@intFromBool(result)});
+ const w = pp.comp.generated_buf.writer(pp.gpa);
+ try w.print("{}\n", .{@intFromBool(result)});
+ try buf.append(try pp.makeGeneratedToken(start, .pp_num, tokFromRaw(raw)));
+ },
+ .macro_param_has_c_attribute => {
+ const arg = expanded_args.items[0];
+ const not_found = "0\n";
+ const result = if (arg.len == 0) blk: {
+ const extra = Diagnostics.Message.Extra{ .arguments = .{ .expected = 1, .actual = 0 } };
+ try pp.comp.addDiagnostic(.{ .tag = .expected_arguments, .loc = loc, .extra = extra }, &.{});
+ break :blk not_found;
+ } else res: {
+ var invalid: ?Token = null;
+ var vendor_ident: ?Token = null;
+ var colon_colon: ?Token = null;
+ var attr_ident: ?Token = null;
+ for (arg) |tok| {
+ if (tok.id == .macro_ws) continue;
+ if (tok.id == .comment) continue;
+ if (tok.id == .colon_colon) {
+ if (colon_colon != null or attr_ident == null) {
+ invalid = tok;
+ break;
+ }
+ vendor_ident = attr_ident;
+ attr_ident = null;
+ colon_colon = tok;
+ continue;
+ }
+ if (!tok.id.isMacroIdentifier()) {
+ invalid = tok;
+ break;
+ }
+ if (attr_ident) |_| {
+ invalid = tok;
+ break;
+ } else attr_ident = tok;
+ }
+ if (vendor_ident != null and attr_ident == null) {
+ invalid = vendor_ident;
+ } else if (attr_ident == null and invalid == null) {
+ invalid = .{ .id = .eof, .loc = loc };
+ }
+ if (invalid) |some| {
+ try pp.comp.addDiagnostic(
+ .{ .tag = .feature_check_requires_identifier, .loc = some.loc },
+ some.expansionSlice(),
+ );
+ break :res not_found;
+ }
+ if (vendor_ident) |some| {
+ const vendor_str = pp.expandedSlice(some);
+ const attr_str = pp.expandedSlice(attr_ident.?);
+ const exists = Attribute.fromString(.gnu, vendor_str, attr_str) != null;
+
+ const start = pp.comp.generated_buf.items.len;
+ try pp.comp.generated_buf.appendSlice(pp.gpa, if (exists) "1\n" else "0\n");
+ try buf.append(try pp.makeGeneratedToken(start, .pp_num, tokFromRaw(raw)));
+ continue;
+ }
+ if (!pp.comp.langopts.standard.atLeast(.c23)) break :res not_found;
+
+ const attrs = std.ComptimeStringMap([]const u8, .{
+ .{ "deprecated", "201904L\n" },
+ .{ "fallthrough", "201904L\n" },
+ .{ "maybe_unused", "201904L\n" },
+ .{ "nodiscard", "202003L\n" },
+ .{ "noreturn", "202202L\n" },
+ .{ "_Noreturn", "202202L\n" },
+ .{ "unsequenced", "202207L\n" },
+ .{ "reproducible", "202207L\n" },
+ });
+
+ const attr_str = Attribute.normalize(pp.expandedSlice(attr_ident.?));
+ break :res attrs.get(attr_str) orelse not_found;
+ };
+ const start = pp.comp.generated_buf.items.len;
+ try pp.comp.generated_buf.appendSlice(pp.gpa, result);
+ try buf.append(try pp.makeGeneratedToken(start, .pp_num, tokFromRaw(raw)));
+ },
+ .macro_param_has_embed => {
+ const arg = expanded_args.items[0];
+ const not_found = "0\n";
+ const result = if (arg.len == 0) blk: {
+ const extra = Diagnostics.Message.Extra{ .arguments = .{ .expected = 1, .actual = 0 } };
+ try pp.comp.addDiagnostic(.{ .tag = .expected_arguments, .loc = loc, .extra = extra }, &.{});
+ break :blk not_found;
+ } else res: {
+ var embed_args: []const Token = &.{};
+ const include_str = (try pp.reconstructIncludeString(arg, &embed_args)) orelse
+ break :res not_found;
+
+ var prev = tokFromRaw(raw);
+ prev.id = .eof;
+ var it: struct {
+ i: u32 = 0,
+ slice: []const Token,
+ prev: Token,
+ fn next(it: *@This()) Token {
+ while (it.i < it.slice.len) switch (it.slice[it.i].id) {
+ .macro_ws, .whitespace => it.i += 1,
+ else => break,
+ } else return it.prev;
+ defer it.i += 1;
+ it.prev = it.slice[it.i];
+ it.prev.id = .eof;
+ return it.slice[it.i];
+ }
+ } = .{ .slice = embed_args, .prev = prev };
+
+ while (true) {
+ const param_first = it.next();
+ if (param_first.id == .eof) break;
+ if (param_first.id != .identifier) {
+ try pp.comp.addDiagnostic(
+ .{ .tag = .malformed_embed_param, .loc = param_first.loc },
+ param_first.expansionSlice(),
+ );
+ continue;
+ }
+
+ const char_top = pp.char_buf.items.len;
+ defer pp.char_buf.items.len = char_top;
+
+ const maybe_colon = it.next();
+ const param = switch (maybe_colon.id) {
+ .colon_colon => blk: {
+ // vendor::param
+ const param = it.next();
+ if (param.id != .identifier) {
+ try pp.comp.addDiagnostic(
+ .{ .tag = .malformed_embed_param, .loc = param.loc },
+ param.expansionSlice(),
+ );
+ continue;
+ }
+ const l_paren = it.next();
+ if (l_paren.id != .l_paren) {
+ try pp.comp.addDiagnostic(
+ .{ .tag = .malformed_embed_param, .loc = l_paren.loc },
+ l_paren.expansionSlice(),
+ );
+ continue;
+ }
+ break :blk "doesn't exist";
+ },
+ .l_paren => Attribute.normalize(pp.expandedSlice(param_first)),
+ else => {
+ try pp.comp.addDiagnostic(
+ .{ .tag = .malformed_embed_param, .loc = maybe_colon.loc },
+ maybe_colon.expansionSlice(),
+ );
+ continue;
+ },
+ };
+
+ var arg_count: u32 = 0;
+ var first_arg: Token = undefined;
+ while (true) {
+ const next = it.next();
+ if (next.id == .eof) {
+ try pp.comp.addDiagnostic(
+ .{ .tag = .malformed_embed_limit, .loc = param_first.loc },
+ param_first.expansionSlice(),
+ );
+ break;
+ }
+ if (next.id == .r_paren) break;
+ arg_count += 1;
+ if (arg_count == 1) first_arg = next;
+ }
+
+ if (std.mem.eql(u8, param, "limit")) {
+ if (arg_count != 1) {
+ try pp.comp.addDiagnostic(
+ .{ .tag = .malformed_embed_limit, .loc = param_first.loc },
+ param_first.expansionSlice(),
+ );
+ continue;
+ }
+ if (first_arg.id != .pp_num) {
+ try pp.comp.addDiagnostic(
+ .{ .tag = .malformed_embed_limit, .loc = param_first.loc },
+ param_first.expansionSlice(),
+ );
+ continue;
+ }
+ _ = std.fmt.parseInt(u32, pp.expandedSlice(first_arg), 10) catch {
+ break :res not_found;
+ };
+ } else if (!std.mem.eql(u8, param, "prefix") and !std.mem.eql(u8, param, "suffix") and
+ !std.mem.eql(u8, param, "if_empty"))
+ {
+ break :res not_found;
+ }
+ }
+
+ const include_type: Compilation.IncludeType = switch (include_str[0]) {
+ '"' => .quotes,
+ '<' => .angle_brackets,
+ else => unreachable,
+ };
+ const filename = include_str[1 .. include_str.len - 1];
+ const contents = (try pp.comp.findEmbed(filename, arg[0].loc.id, include_type, 1)) orelse
+ break :res not_found;
+
+ defer pp.comp.gpa.free(contents);
+ break :res if (contents.len != 0) "1\n" else "2\n";
+ };
+ const start = pp.comp.generated_buf.items.len;
+ try pp.comp.generated_buf.appendSlice(pp.comp.gpa, result);
try buf.append(try pp.makeGeneratedToken(start, .pp_num, tokFromRaw(raw)));
},
.macro_param_pragma_operator => {
@@ -1533,7 +1796,7 @@ fn expandFuncMacro(
},
};
if (string == null and invalid == null) invalid = .{ .loc = loc, .id = .eof };
- if (invalid) |some| try pp.comp.diag.add(
+ if (invalid) |some| try pp.comp.addDiagnostic(
.{ .tag = .pragma_operator_string_literal, .loc = some.loc },
some.expansionSlice(),
) else try pp.pragmaOperator(string.?, loc);
@@ -1588,16 +1851,37 @@ fn expandFuncMacro(
return buf;
}
+fn expandVaOpt(
+ pp: *Preprocessor,
+ buf: *ExpandBuf,
+ raw: RawToken,
+ should_expand: bool,
+) !void {
+ if (!should_expand) return;
+
+ const source = pp.comp.getSource(raw.source);
+ var tokenizer: Tokenizer = .{
+ .buf = source.buf,
+ .index = raw.start,
+ .source = raw.source,
+ .comp = pp.comp,
+ .line = raw.line,
+ };
+ while (tokenizer.index < raw.end) {
+ const tok = tokenizer.next();
+ try buf.append(tokFromRaw(tok));
+ }
+}
+
fn shouldExpand(tok: Token, macro: *Macro) bool {
- // macro.loc.line contains the macros end index
if (tok.loc.id == macro.loc.id and
- tok.loc.byte_offset >= macro.loc.byte_offset and
- tok.loc.byte_offset <= macro.loc.line)
+ tok.loc.byte_offset >= macro.start and
+ tok.loc.byte_offset <= macro.end)
return false;
for (tok.expansionSlice()) |loc| {
if (loc.id == macro.loc.id and
- loc.byte_offset >= macro.loc.byte_offset and
- loc.byte_offset <= macro.loc.line)
+ loc.byte_offset >= macro.start and
+ loc.byte_offset <= macro.end)
return false;
}
if (tok.flags.expansion_disabled) return false;
@@ -1665,11 +1949,7 @@ fn collectMacroFuncArguments(
.l_paren => break,
else => {
if (is_builtin) {
- try pp.comp.diag.add(.{
- .tag = .missing_lparen_after_builtin,
- .loc = name_tok.loc,
- .extra = .{ .str = pp.expandedSlice(name_tok) },
- }, tok.expansionSlice());
+ try pp.errStr(name_tok, .missing_lparen_after_builtin, pp.expandedSlice(name_tok));
}
// Not a macro function call, go over normal identifier, rewind
tokenizer.* = saved_tokenizer;
@@ -1726,7 +2006,7 @@ fn collectMacroFuncArguments(
try args.append(owned);
}
tokenizer.* = saved_tokenizer;
- try pp.comp.diag.add(
+ try pp.comp.addDiagnostic(
.{ .tag = .unterminated_macro_arg_list, .loc = name_tok.loc },
name_tok.expansionSlice(),
);
@@ -1870,7 +2150,7 @@ fn expandMacroExhaustive(
.arguments = .{ .expected = @intCast(macro.params.len), .actual = args_count },
};
if (macro.var_args and args_count < macro.params.len) {
- try pp.comp.diag.add(
+ try pp.comp.addDiagnostic(
.{ .tag = .expected_at_least_arguments, .loc = buf.items[idx].loc, .extra = extra },
buf.items[idx].expansionSlice(),
);
@@ -1879,7 +2159,7 @@ fn expandMacroExhaustive(
continue;
}
if (!macro.var_args and args_count != macro.params.len) {
- try pp.comp.diag.add(
+ try pp.comp.addDiagnostic(
.{ .tag = .expected_arguments, .loc = buf.items[idx].loc, .extra = extra },
buf.items[idx].expansionSlice(),
);
@@ -1931,7 +2211,7 @@ fn expandMacroExhaustive(
try tok.addExpansionLocation(pp.gpa, &.{macro_tok.loc});
try tok.addExpansionLocation(pp.gpa, macro_expansion_locs);
if (tok.id == .keyword_defined and eval_ctx == .expr) {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .expansion_to_defined,
.loc = tok.loc,
}, tok.expansionSlice());
@@ -2051,7 +2331,7 @@ fn pasteTokens(pp: *Preprocessor, lhs_toks: *ExpandBuf, rhs_toks: []const Token)
const start = pp.comp.generated_buf.items.len;
const end = start + pp.expandedSlice(lhs).len + pp.expandedSlice(rhs).len;
- try pp.comp.generated_buf.ensureTotalCapacity(end + 1); // +1 for a newline
+ try pp.comp.generated_buf.ensureTotalCapacity(pp.gpa, end + 1); // +1 for a newline
// We cannot use the same slices here since they might be invalidated by `ensureCapacity`
pp.comp.generated_buf.appendSliceAssumeCapacity(pp.expandedSlice(lhs));
pp.comp.generated_buf.appendSliceAssumeCapacity(pp.expandedSlice(rhs));
@@ -2073,14 +2353,11 @@ fn pasteTokens(pp: *Preprocessor, lhs_toks: *ExpandBuf, rhs_toks: []const Token)
try lhs_toks.append(try pp.makeGeneratedToken(start, pasted_id, lhs));
if (next.id != .nl and next.id != .eof) {
- try pp.comp.diag.add(.{
- .tag = .pasting_formed_invalid,
- .loc = lhs.loc,
- .extra = .{ .str = try pp.comp.diag.arena.allocator().dupe(
- u8,
- pp.comp.generated_buf.items[start..end],
- ) },
- }, lhs.expansionSlice());
+ try pp.errStr(
+ lhs,
+ .pasting_formed_invalid,
+ try pp.comp.diagnostics.arena.allocator().dupe(u8, pp.comp.generated_buf.items[start..end]),
+ );
try lhs_toks.append(tokFromRaw(next));
}
@@ -2102,14 +2379,21 @@ fn makeGeneratedToken(pp: *Preprocessor, start: usize, id: Token.Id, source: Tok
/// Defines a new macro and warns if it is a duplicate
fn defineMacro(pp: *Preprocessor, name_tok: RawToken, macro: Macro) Error!void {
const name_str = pp.tokSlice(name_tok);
- const gop = try pp.defines.getOrPut(name_str);
+ const gop = try pp.defines.getOrPut(pp.gpa, name_str);
if (gop.found_existing and !gop.value_ptr.eql(macro, pp)) {
- try pp.comp.diag.add(.{
- .tag = if (gop.value_ptr.is_builtin) .builtin_macro_redefined else .macro_redefined,
+ const tag: Diagnostics.Tag = if (gop.value_ptr.is_builtin) .builtin_macro_redefined else .macro_redefined;
+ const start = pp.comp.diagnostics.list.items.len;
+ try pp.comp.addDiagnostic(.{
+ .tag = tag,
.loc = .{ .id = name_tok.source, .byte_offset = name_tok.start, .line = name_tok.line },
.extra = .{ .str = name_str },
}, &.{});
- // TODO add a previous definition note
+ if (!gop.value_ptr.is_builtin and pp.comp.diagnostics.list.items.len != start) {
+ try pp.comp.addDiagnostic(.{
+ .tag = .previous_definition,
+ .loc = gop.value_ptr.loc,
+ }, &.{});
+ }
}
if (pp.verbose) {
pp.verboseLog(name_tok, "macro {s} defined", .{name_str});
@@ -2142,10 +2426,12 @@ fn define(pp: *Preprocessor, tokenizer: *Tokenizer) Error!void {
var first = tokenizer.next();
switch (first.id) {
.nl, .eof => return pp.defineMacro(macro_name, .{
- .params = undefined,
- .tokens = undefined,
+ .params = &.{},
+ .tokens = &.{},
.var_args = false,
- .loc = undefined,
+ .loc = tokFromRaw(macro_name).loc,
+ .start = 0,
+ .end = 0,
.is_func = false,
}),
.whitespace => first = tokenizer.next(),
@@ -2209,11 +2495,9 @@ fn define(pp: *Preprocessor, tokenizer: *Tokenizer) Error!void {
const list = try pp.arena.allocator().dupe(RawToken, pp.token_buf.items);
try pp.defineMacro(macro_name, .{
- .loc = .{
- .id = macro_name.source,
- .byte_offset = first.start,
- .line = end_index,
- },
+ .loc = tokFromRaw(macro_name).loc,
+ .start = first.start,
+ .end = end_index,
.tokens = list,
.params = undefined,
.is_func = false,
@@ -2349,6 +2633,33 @@ fn defineFn(pp: *Preprocessor, tokenizer: *Tokenizer, macro_name: RawToken, l_pa
}
if (var_args and tok.id == .keyword_va_args) {
// do nothing
+ } else if (var_args and tok.id == .keyword_va_opt) {
+ const opt_l_paren = tokenizer.next();
+ if (opt_l_paren.id != .l_paren) {
+ try pp.err(opt_l_paren, .va_opt_lparen);
+ return skipToNl(tokenizer);
+ }
+ tok.start = opt_l_paren.end;
+
+ var parens: u32 = 0;
+ while (true) {
+ const opt_tok = tokenizer.next();
+ switch (opt_tok.id) {
+ .l_paren => parens += 1,
+ .r_paren => if (parens == 0) {
+ break;
+ } else {
+ parens -= 1;
+ },
+ .nl, .eof => {
+ try pp.err(opt_tok, .va_opt_rparen);
+ try pp.err(opt_l_paren, .to_match_paren);
+ return skipToNl(tokenizer);
+ },
+ .whitespace => {},
+ else => tok.end = opt_tok.end,
+ }
+ }
} else if (tok.id.isMacroIdentifier()) {
tok.id.simplifyMacroKeyword();
const s = pp.tokSlice(tok);
@@ -2377,18 +2688,18 @@ fn defineFn(pp: *Preprocessor, tokenizer: *Tokenizer, macro_name: RawToken, l_pa
.params = param_list,
.var_args = var_args or gnu_var_args.len != 0,
.tokens = token_list,
- .loc = .{
- .id = macro_name.source,
- .byte_offset = start_index,
- .line = end_index,
- },
+ .loc = tokFromRaw(macro_name).loc,
+ .start = start_index,
+ .end = end_index,
});
}
/// Handle an #embed directive
+/// embedDirective : ("FILENAME" | <FILENAME>) embedParam*
+/// embedParam : IDENTIFIER (:: IDENTIFIER)? '(' <tokens> ')'
fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {
const first = tokenizer.nextNoWS();
- const filename_tok = pp.findIncludeFilenameToken(first, tokenizer, .expect_nl_eof) catch |er| switch (er) {
+ const filename_tok = pp.findIncludeFilenameToken(first, tokenizer, .ignore_trailing_tokens) catch |er| switch (er) {
error.InvalidInclude => return,
else => |e| return e,
};
@@ -2406,17 +2717,142 @@ fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {
else => unreachable,
};
- const embed_bytes = (try pp.comp.findEmbed(filename, first.source, include_type)) orelse return pp.fatal(first, "'{s}' not found", .{filename});
+ // Index into `token_buf`
+ const Range = struct {
+ start: u32,
+ end: u32,
+
+ fn expand(opt_range: ?@This(), pp_: *Preprocessor, tokenizer_: *Tokenizer) !void {
+ const range = opt_range orelse return;
+ const slice = pp_.token_buf.items[range.start..range.end];
+ for (slice) |tok| {
+ try pp_.expandMacro(tokenizer_, tok);
+ }
+ }
+ };
+ pp.token_buf.items.len = 0;
+
+ var limit: ?u32 = null;
+ var prefix: ?Range = null;
+ var suffix: ?Range = null;
+ var if_empty: ?Range = null;
+ while (true) {
+ const param_first = tokenizer.nextNoWS();
+ switch (param_first.id) {
+ .nl, .eof => break,
+ .identifier => {},
+ else => {
+ try pp.err(param_first, .malformed_embed_param);
+ continue;
+ },
+ }
+
+ const char_top = pp.char_buf.items.len;
+ defer pp.char_buf.items.len = char_top;
+
+ const maybe_colon = tokenizer.colonColon();
+ const param = switch (maybe_colon.id) {
+ .colon_colon => blk: {
+ // vendor::param
+ const param = tokenizer.nextNoWS();
+ if (param.id != .identifier) {
+ try pp.err(param, .malformed_embed_param);
+ continue;
+ }
+ const l_paren = tokenizer.nextNoWS();
+ if (l_paren.id != .l_paren) {
+ try pp.err(l_paren, .malformed_embed_param);
+ continue;
+ }
+ try pp.char_buf.appendSlice(Attribute.normalize(pp.tokSlice(param_first)));
+ try pp.char_buf.appendSlice("::");
+ try pp.char_buf.appendSlice(Attribute.normalize(pp.tokSlice(param)));
+ break :blk pp.char_buf.items;
+ },
+ .l_paren => Attribute.normalize(pp.tokSlice(param_first)),
+ else => {
+ try pp.err(maybe_colon, .malformed_embed_param);
+ continue;
+ },
+ };
+
+ const start: u32 = @intCast(pp.token_buf.items.len);
+ while (true) {
+ const next = tokenizer.nextNoWS();
+ if (next.id == .r_paren) break;
+ if (next.id == .eof) {
+ try pp.err(maybe_colon, .malformed_embed_param);
+ break;
+ }
+ try pp.token_buf.append(next);
+ }
+ const end: u32 = @intCast(pp.token_buf.items.len);
+
+ if (std.mem.eql(u8, param, "limit")) {
+ if (limit != null) {
+ try pp.errStr(tokFromRaw(param_first), .duplicate_embed_param, "limit");
+ continue;
+ }
+ if (start + 1 != end) {
+ try pp.err(param_first, .malformed_embed_limit);
+ continue;
+ }
+ const limit_tok = pp.token_buf.items[start];
+ if (limit_tok.id != .pp_num) {
+ try pp.err(param_first, .malformed_embed_limit);
+ continue;
+ }
+ limit = std.fmt.parseInt(u32, pp.tokSlice(limit_tok), 10) catch {
+ try pp.err(limit_tok, .malformed_embed_limit);
+ continue;
+ };
+ pp.token_buf.items.len = start;
+ } else if (std.mem.eql(u8, param, "prefix")) {
+ if (prefix != null) {
+ try pp.errStr(tokFromRaw(param_first), .duplicate_embed_param, "prefix");
+ continue;
+ }
+ prefix = .{ .start = start, .end = end };
+ } else if (std.mem.eql(u8, param, "suffix")) {
+ if (suffix != null) {
+ try pp.errStr(tokFromRaw(param_first), .duplicate_embed_param, "suffix");
+ continue;
+ }
+ suffix = .{ .start = start, .end = end };
+ } else if (std.mem.eql(u8, param, "if_empty")) {
+ if (if_empty != null) {
+ try pp.errStr(tokFromRaw(param_first), .duplicate_embed_param, "if_empty");
+ continue;
+ }
+ if_empty = .{ .start = start, .end = end };
+ } else {
+ try pp.errStr(
+ tokFromRaw(param_first),
+ .unsupported_embed_param,
+ try pp.comp.diagnostics.arena.allocator().dupe(u8, param),
+ );
+ pp.token_buf.items.len = start;
+ }
+ }
+
+ const embed_bytes = (try pp.comp.findEmbed(filename, first.source, include_type, limit)) orelse
+ return pp.fatal(first, "'{s}' not found", .{filename});
defer pp.comp.gpa.free(embed_bytes);
- if (embed_bytes.len == 0) return;
+ try Range.expand(prefix, pp, tokenizer);
+
+ if (embed_bytes.len == 0) {
+ try Range.expand(if_empty, pp, tokenizer);
+ try Range.expand(suffix, pp, tokenizer);
+ return;
+ }
try pp.tokens.ensureUnusedCapacity(pp.comp.gpa, 2 * embed_bytes.len - 1); // N bytes and N-1 commas
// TODO: We currently only support systems with CHAR_BIT == 8
// If the target's CHAR_BIT is not 8, we need to write out correctly-sized embed_bytes
// and correctly account for the target's endianness
- const writer = pp.comp.generated_buf.writer();
+ const writer = pp.comp.generated_buf.writer(pp.gpa);
{
const byte = embed_bytes[0];
@@ -2431,7 +2867,9 @@ fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {
pp.tokens.appendAssumeCapacity(.{ .id = .comma, .loc = .{ .id = .generated, .byte_offset = @intCast(start) } });
pp.tokens.appendAssumeCapacity(try pp.makeGeneratedToken(start + 1, .embed_byte, filename_tok));
}
- try pp.comp.generated_buf.append('\n');
+ try pp.comp.generated_buf.append(pp.gpa, '\n');
+
+ try Range.expand(suffix, pp, tokenizer);
}
// Handle a #include directive.
@@ -2446,7 +2884,7 @@ fn include(pp: *Preprocessor, tokenizer: *Tokenizer, which: Compilation.WhichInc
pp.include_depth += 1;
defer pp.include_depth -= 1;
if (pp.include_depth > max_include_depth) {
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .too_many_includes,
.loc = .{ .id = first.source, .byte_offset = first.start, .line = first.line },
}, &.{});
@@ -2534,7 +2972,7 @@ fn pragma(pp: *Preprocessor, tokenizer: *Tokenizer, pragma_tok: RawToken, operat
else => |e| return e,
};
}
- return pp.comp.diag.add(.{
+ return pp.comp.addDiagnostic(.{
.tag = .unknown_pragma,
.loc = pragma_name_tok.loc,
}, pragma_name_tok.expansionSlice());
@@ -2564,7 +3002,7 @@ fn findIncludeFilenameToken(
else => {},
}
}
- try pp.comp.diag.add(.{
+ try pp.comp.addDiagnostic(.{
.tag = .header_str_closing,
.loc = .{ .id = first.source, .byte_offset = tokenizer.index, .line = first.line },
}, &.{});
@@ -2629,7 +3067,23 @@ fn printLinemarker(
try w.writeByte('#');
if (pp.linemarkers == .line_directives) try w.writeAll("line");
// line_no is 0 indexed
- try w.print(" {d} \"{s}\"", .{ line_no + 1, source.path });
+ try w.print(" {d} \"", .{line_no + 1});
+ for (source.path) |byte| switch (byte) {
+ '\n' => try w.writeAll("\\n"),
+ '\r' => try w.writeAll("\\r"),
+ '\t' => try w.writeAll("\\t"),
+ '\\' => try w.writeAll("\\\\"),
+ '"' => try w.writeAll("\\\""),
+ ' ', '!', '#'...'&', '('...'[', ']'...'~' => try w.writeByte(byte),
+ // Use hex escapes for any non-ASCII/unprintable characters.
+ // This ensures that the parsed version of this string will end up
+ // containing the same bytes as the input regardless of encoding.
+ else => {
+ try w.writeAll("\\x");
+ try std.fmt.formatInt(byte, 16, .lower, .{ .width = 2, .fill = '0' }, w);
+ },
+ };
+ try w.writeByte('"');
if (pp.linemarkers == .numeric_directives) {
switch (start_resume) {
.none => {},
@@ -2869,7 +3323,7 @@ test "Include guards" {
fn skippable(tok_id: RawToken.Id) bool {
return switch (tok_id) {
- .keyword_defined, .keyword_va_args, .keyword_endif => true,
+ .keyword_defined, .keyword_va_args, .keyword_va_opt, .keyword_endif => true,
else => false,
};
}
deps/aro/record_layout.zig → deps/aro/aro/record_layout.zig
@@ -57,6 +57,7 @@ const SysVContext = struct {
fn layoutFields(self: *SysVContext, rec: *const Record) void {
for (rec.fields, 0..) |*fld, fld_indx| {
+ if (fld.ty.specifier == .invalid) continue;
const type_layout = computeLayout(fld.ty, self.comp);
var field_attrs: ?[]const Attribute = null;
@@ -587,6 +588,7 @@ pub fn compute(rec: *Type.Record, ty: Type, comp: *const Compilation, pragma_pac
.msvc => {
var context = MsvcContext.init(ty, comp, pragma_pack);
for (rec.fields, 0..) |*fld, fld_indx| {
+ if (fld.ty.specifier == .invalid) continue;
var field_attrs: ?[]const Attribute = null;
if (rec.field_attributes) |attrs| {
field_attrs = attrs[fld_indx];
deps/aro/Source.zig → deps/aro/aro/Source.zig
@@ -1,5 +1,4 @@
const std = @import("std");
-const Source = @This();
pub const Id = enum(u32) {
unused = 0,
@@ -27,6 +26,8 @@ pub const Location = struct {
}
};
+const Source = @This();
+
path: []const u8,
buf: []const u8,
id: Id,
deps/aro/StringInterner.zig → deps/aro/aro/StringInterner.zig
@@ -1,7 +1,6 @@
const std = @import("std");
const mem = std.mem;
-
-const StringInterner = @This();
+const Compilation = @import("Compilation.zig");
const StringToIdMap = std.StringHashMapUnmanaged(StringId);
@@ -43,6 +42,8 @@ pub const TypeMapper = struct {
}
};
+const StringInterner = @This();
+
string_table: StringToIdMap = .{},
next_id: StringId = @enumFromInt(@intFromEnum(StringId.empty) + 1),
@@ -50,7 +51,11 @@ pub fn deinit(self: *StringInterner, allocator: mem.Allocator) void {
self.string_table.deinit(allocator);
}
-pub fn intern(self: *StringInterner, allocator: mem.Allocator, str: []const u8) !StringId {
+pub fn intern(comp: *Compilation, str: []const u8) !StringId {
+ return comp.string_interner.internExtra(comp.gpa, str);
+}
+
+pub fn internExtra(self: *StringInterner, allocator: mem.Allocator, str: []const u8) !StringId {
if (str.len == 0) return .empty;
const gop = try self.string_table.getOrPut(allocator, str);
deps/aro/SymbolStack.zig → deps/aro/aro/SymbolStack.zig
@@ -11,8 +11,6 @@ const Parser = @import("Parser.zig");
const Value = @import("Value.zig");
const StringId = @import("StringInterner.zig").StringId;
-const SymbolStack = @This();
-
pub const Symbol = struct {
name: StringId,
ty: Type,
@@ -33,6 +31,8 @@ pub const Kind = enum {
constexpr,
};
+const SymbolStack = @This();
+
syms: std.MultiArrayList(Symbol) = .{},
scopes: std.ArrayListUnmanaged(u32) = .{},
deps/aro/target.zig → deps/aro/aro/target.zig
@@ -1,7 +1,7 @@
const std = @import("std");
const LangOpts = @import("LangOpts.zig");
const Type = @import("Type.zig");
-const llvm = @import("zig").codegen.llvm;
+const llvm = @import("root").codegen.llvm;
const TargetSet = @import("Builtins/Properties.zig").TargetSet;
/// intmax_t for this target
@@ -258,6 +258,21 @@ pub fn systemCompiler(target: std.Target) LangOpts.Compiler {
return .clang;
}
+pub fn hasFloat128(target: std.Target) bool {
+ if (target.cpu.arch.isWasm()) return true;
+ if (target.isDarwin()) return false;
+ if (target.cpu.arch.isPPC() or target.cpu.arch.isPPC64()) return std.Target.powerpc.featureSetHas(target.cpu.features, .float128);
+ return switch (target.os.tag) {
+ .dragonfly,
+ .haiku,
+ .linux,
+ .openbsd,
+ .solaris,
+ => target.cpu.arch.isX86(),
+ else => false,
+ };
+}
+
pub fn hasInt128(target: std.Target) bool {
if (target.cpu.arch == .wasm32) return true;
if (target.cpu.arch == .x86_64) return true;
@@ -809,3 +824,8 @@ test "target size/align tests" {
try std.testing.expectEqual(@as(u64, 1), ct.alignof(&comp));
try std.testing.expectEqual(true, ignoreNonZeroSizedBitfieldTypeAlignment(comp.target));
}
+
+/// The canonical integer representation of nullptr_t.
+pub fn nullRepr(_: std.Target) u64 {
+ return 0;
+}
deps/aro/TextLiteral.zig → deps/aro/aro/text_literal.zig
@@ -132,7 +132,7 @@ pub const Kind = enum {
};
}
- /// Required alignment within aro (on compiler host) for writing to retained_strings
+ /// Required alignment within aro (on compiler host) for writing to Interner.strings.
pub fn internalStorageAlignment(kind: Kind, comp: *const Compilation) usize {
return switch (kind.charUnitSize(comp)) {
inline else => |size| @alignOf(size.Type()),
@@ -250,7 +250,7 @@ pub const Parser = struct {
self.i += expected_len;
if (overflowed) {
- self.err(.escape_sequence_overflow, .{ .unsigned = start + self.prefixLen() });
+ self.err(.escape_sequence_overflow, .{ .offset = start + self.prefixLen() });
return null;
}
@@ -260,7 +260,7 @@ pub const Parser = struct {
}
if (val > std.math.maxInt(u21) or !std.unicode.utf8ValidCodepoint(@intCast(val))) {
- self.err(.invalid_universal_character, .{ .unsigned = start + self.prefixLen() });
+ self.err(.invalid_universal_character, .{ .offset = start + self.prefixLen() });
return null;
}
@@ -270,7 +270,7 @@ pub const Parser = struct {
}
if (val < 0xA0 and (val != '$' and val != '@' and val != '`')) {
- const is_error = !self.comp.langopts.standard.atLeast(.c2x);
+ const is_error = !self.comp.langopts.standard.atLeast(.c23);
if (val >= 0x20 and val <= 0x7F) {
if (is_error) {
self.err(.ucn_basic_char_error, .{ .ascii = @intCast(val) });
@@ -347,7 +347,7 @@ pub const Parser = struct {
count += 1;
}
if (overflowed or val > self.kind.maxInt(self.comp)) {
- self.err(.escape_sequence_overflow, .{ .unsigned = start + self.prefixLen() });
+ self.err(.escape_sequence_overflow, .{ .offset = start + self.prefixLen() });
return 0;
}
if (count == 0) {
deps/aro/Tokenizer.zig → deps/aro/aro/Tokenizer.zig
@@ -4,8 +4,6 @@ const Compilation = @import("Compilation.zig");
const Source = @import("Source.zig");
const LangOpts = @import("LangOpts.zig");
-const Tokenizer = @This();
-
pub const Token = struct {
id: Id,
source: Source.Id,
@@ -121,6 +119,8 @@ pub const Token = struct {
macro_ws,
/// Special token for implementing __has_attribute
macro_param_has_attribute,
+ /// Special token for implementing __has_c_attribute
+ macro_param_has_c_attribute,
/// Special token for implementing __has_declspec_attribute
macro_param_has_declspec_attribute,
/// Special token for implementing __has_warning
@@ -135,6 +135,8 @@ pub const Token = struct {
macro_param_has_include,
/// Special token for implementing __has_include_next
macro_param_has_include_next,
+ /// Special token for implementing __has_embed
+ macro_param_has_embed,
/// Special token for implementing __is_identifier
macro_param_is_identifier,
/// Special token for implementing __FILE__
@@ -216,6 +218,7 @@ pub const Token = struct {
keyword_true,
keyword_false,
keyword_nullptr,
+ keyword_typeof_unqual,
// Preprocessor directives
keyword_include,
@@ -235,6 +238,7 @@ pub const Token = struct {
keyword_pragma,
keyword_line,
keyword_va_args,
+ keyword_va_opt,
// gcc keywords
keyword_const1,
@@ -255,7 +259,10 @@ pub const Token = struct {
keyword_asm1,
keyword_asm2,
keyword_float80,
- keyword_float128,
+ /// _Float128
+ keyword_float128_1,
+ /// __float128
+ keyword_float128_2,
keyword_int128,
keyword_imag1,
keyword_imag2,
@@ -335,6 +342,7 @@ pub const Token = struct {
.keyword_pragma,
.keyword_line,
.keyword_va_args,
+ .keyword_va_opt,
.macro_func,
.macro_function,
.macro_pretty_func,
@@ -410,7 +418,8 @@ pub const Token = struct {
.keyword_asm1,
.keyword_asm2,
.keyword_float80,
- .keyword_float128,
+ .keyword_float128_1,
+ .keyword_float128_2,
.keyword_int128,
.keyword_imag1,
.keyword_imag2,
@@ -443,6 +452,7 @@ pub const Token = struct {
.keyword_true,
.keyword_false,
.keyword_nullptr,
+ .keyword_typeof_unqual,
=> return true,
else => return false,
}
@@ -469,6 +479,7 @@ pub const Token = struct {
.keyword_pragma,
.keyword_line,
.keyword_va_args,
+ .keyword_va_opt,
=> id.* = .identifier,
.keyword_defined => if (defined_to_identifier) {
id.* = .identifier;
@@ -485,9 +496,9 @@ pub const Token = struct {
return switch (id) {
.include_start,
.include_resume,
- .unterminated_comment, // Fatal error; parsing should not be attempted
=> unreachable,
+ .unterminated_comment,
.invalid,
.identifier,
.extended_identifier,
@@ -521,6 +532,7 @@ pub const Token = struct {
.stringify_param,
.stringify_va_args,
.macro_param_has_attribute,
+ .macro_param_has_c_attribute,
.macro_param_has_declspec_attribute,
.macro_param_has_warning,
.macro_param_has_feature,
@@ -528,6 +540,7 @@ pub const Token = struct {
.macro_param_has_builtin,
.macro_param_has_include,
.macro_param_has_include_next,
+ .macro_param_has_embed,
.macro_param_is_identifier,
.macro_file,
.macro_line,
@@ -647,6 +660,7 @@ pub const Token = struct {
.keyword_true => "true",
.keyword_false => "false",
.keyword_nullptr => "nullptr",
+ .keyword_typeof_unqual => "typeof_unqual",
.keyword_include => "include",
.keyword_include_next => "include_next",
.keyword_embed => "embed",
@@ -664,6 +678,7 @@ pub const Token = struct {
.keyword_pragma => "pragma",
.keyword_line => "line",
.keyword_va_args => "__VA_ARGS__",
+ .keyword_va_opt => "__VA_OPT__",
.keyword_const1 => "__const",
.keyword_const2 => "__const__",
.keyword_inline1 => "__inline",
@@ -688,7 +703,8 @@ pub const Token = struct {
.keyword_asm1 => "__asm",
.keyword_asm2 => "__asm__",
.keyword_float80 => "__float80",
- .keyword_float128 => "__float18",
+ .keyword_float128_1 => "_Float128",
+ .keyword_float128_2 => "__float128",
.keyword_int128 => "__int128",
.keyword_imag1 => "__imag",
.keyword_imag2 => "__imag__",
@@ -819,7 +835,7 @@ pub const Token = struct {
return switch (kw) {
.keyword_inline => if (standard.isGNU() or standard.atLeast(.c99)) kw else .identifier,
.keyword_restrict => if (standard.atLeast(.c99)) kw else .identifier,
- .keyword_typeof => if (standard.isGNU() or standard.atLeast(.c2x)) kw else .identifier,
+ .keyword_typeof => if (standard.isGNU() or standard.atLeast(.c23)) kw else .identifier,
.keyword_asm => if (standard.isGNU()) kw else .identifier,
.keyword_declspec => if (comp.langopts.declspec_attrs) kw else .identifier,
@@ -832,9 +848,10 @@ pub const Token = struct {
.keyword_true,
.keyword_false,
.keyword_nullptr,
+ .keyword_typeof_unqual,
.keyword_elifdef,
.keyword_elifndef,
- => if (standard.atLeast(.c2x)) kw else .identifier,
+ => if (standard.atLeast(.c23)) kw else .identifier,
.keyword_int64,
.keyword_int64_2,
@@ -918,6 +935,7 @@ pub const Token = struct {
.{ "true", .keyword_true },
.{ "false", .keyword_false },
.{ "nullptr", .keyword_nullptr },
+ .{ "typeof_unqual", .keyword_typeof_unqual },
// Preprocessor directives
.{ "include", .keyword_include },
@@ -937,6 +955,7 @@ pub const Token = struct {
.{ "pragma", .keyword_pragma },
.{ "line", .keyword_line },
.{ "__VA_ARGS__", .keyword_va_args },
+ .{ "__VA_OPT__", .keyword_va_opt },
.{ "__func__", .macro_func },
.{ "__FUNCTION__", .macro_function },
.{ "__PRETTY_FUNCTION__", .macro_pretty_func },
@@ -961,7 +980,8 @@ pub const Token = struct {
.{ "__asm", .keyword_asm1 },
.{ "__asm__", .keyword_asm2 },
.{ "__float80", .keyword_float80 },
- .{ "__float128", .keyword_float128 },
+ .{ "_Float128", .keyword_float128_1 },
+ .{ "__float128", .keyword_float128_2 },
.{ "__int128", .keyword_int128 },
.{ "__imag", .keyword_imag1 },
.{ "__imag__", .keyword_imag2 },
@@ -998,6 +1018,8 @@ pub const Token = struct {
});
};
+const Tokenizer = @This();
+
buf: []const u8,
index: u32 = 0,
source: Source.Id,
@@ -1345,7 +1367,7 @@ pub fn next(self: *Tokenizer) Token {
break;
},
':' => {
- if (self.comp.langopts.standard.atLeast(.c2x)) {
+ if (self.comp.langopts.standard.atLeast(.c23)) {
id = .colon_colon;
self.index += 1;
break;
@@ -1651,7 +1673,7 @@ pub fn next(self: *Tokenizer) Token {
'.',
=> {},
'e', 'E', 'p', 'P' => state = .pp_num_exponent,
- '\'' => if (self.comp.langopts.standard.atLeast(.c2x)) {
+ '\'' => if (self.comp.langopts.standard.atLeast(.c23)) {
state = .pp_num_digit_separator;
} else {
id = .pp_num;
@@ -1679,14 +1701,17 @@ pub fn next(self: *Tokenizer) Token {
},
},
.pp_num_exponent => switch (c) {
- 'a'...'z',
- 'A'...'Z',
+ 'a'...'o',
+ 'q'...'z',
+ 'A'...'O',
+ 'Q'...'Z',
'0'...'9',
'_',
'.',
'+',
'-',
=> state = .pp_num,
+ 'p', 'P' => {},
else => {
id = .pp_num;
break;
@@ -1761,6 +1786,16 @@ pub fn nextNoWSComments(self: *Tokenizer) Token {
return tok;
}
+/// Try to tokenize a '::' even if not supported by the current language standard.
+pub fn colonColon(self: *Tokenizer) Token {
+ var tok = self.nextNoWS();
+ if (tok.id == .colon and self.buf[self.index] == ':') {
+ self.index += 1;
+ tok.id = .colon_colon;
+ }
+ return tok;
+}
+
test "operators" {
try expectTokens(
\\ ! != | || |= = ==
@@ -2091,7 +2126,7 @@ test "digraphs" {
}
test "C23 keywords" {
- try expectTokensExtra("true false alignas alignof bool static_assert thread_local nullptr", &.{
+ try expectTokensExtra("true false alignas alignof bool static_assert thread_local nullptr typeof_unqual", &.{
.keyword_true,
.keyword_false,
.keyword_c23_alignas,
@@ -2100,7 +2135,8 @@ test "C23 keywords" {
.keyword_c23_static_assert,
.keyword_c23_thread_local,
.keyword_nullptr,
- }, .c2x);
+ .keyword_typeof_unqual,
+ }, .c23);
}
fn expectTokensExtra(contents: []const u8, expected_tokens: []const Token.Id, standard: ?LangOpts.Standard) !void {
deps/aro/Toolchain.zig → deps/aro/aro/Toolchain.zig
@@ -1,7 +1,6 @@
const std = @import("std");
const Driver = @import("Driver.zig");
const Compilation = @import("Compilation.zig");
-const util = @import("util.zig");
const mem = std.mem;
const system_defaults = @import("system_defaults");
const target_util = @import("target.zig");
@@ -9,8 +8,6 @@ const Linux = @import("toolchains/Linux.zig");
const Multilib = @import("Driver/Multilib.zig");
const Filesystem = @import("Driver/Filesystem.zig").Filesystem;
-const Toolchain = @This();
-
pub const PathList = std.ArrayListUnmanaged([]const u8);
pub const RuntimeLibKind = enum {
@@ -49,6 +46,8 @@ const Inner = union(enum) {
}
};
+const Toolchain = @This();
+
filesystem: Filesystem = .{ .real = {} },
driver: *Driver,
arena: mem.Allocator,
@@ -152,7 +151,7 @@ pub fn getLinkerPath(tc: *const Toolchain, buf: []u8) ![]const u8 {
// to a relative path is surprising. This is more complex due to priorities
// among -B, COMPILER_PATH and PATH. --ld-path= should be used instead.
if (mem.indexOfScalar(u8, use_linker, '/') != null) {
- try tc.driver.comp.diag.add(.{ .tag = .fuse_ld_path }, &.{});
+ try tc.driver.comp.addDiagnostic(.{ .tag = .fuse_ld_path }, &.{});
}
if (std.fs.path.isAbsolute(use_linker)) {
@@ -402,7 +401,7 @@ fn getUnwindLibKind(tc: *const Toolchain) !UnwindLibKind {
return .libgcc;
} else if (mem.eql(u8, libname, "libunwind")) {
if (tc.getRuntimeLibKind() == .libgcc) {
- try tc.driver.comp.diag.add(.{ .tag = .incompatible_unwindlib }, &.{});
+ try tc.driver.comp.addDiagnostic(.{ .tag = .incompatible_unwindlib }, &.{});
}
return .compiler_rt;
} else {
@@ -479,7 +478,7 @@ pub fn addRuntimeLibs(tc: *const Toolchain, argv: *std.ArrayList([]const u8)) !v
if (target_util.isKnownWindowsMSVCEnvironment(target)) {
const rtlib_str = tc.driver.rtlib orelse system_defaults.rtlib;
if (!mem.eql(u8, rtlib_str, "platform")) {
- try tc.driver.comp.diag.add(.{ .tag = .unsupported_rtlib_gcc, .extra = .{ .str = "MSVC" } }, &.{});
+ try tc.driver.comp.addDiagnostic(.{ .tag = .unsupported_rtlib_gcc, .extra = .{ .str = "MSVC" } }, &.{});
}
} else {
try tc.addLibGCC(argv);
deps/aro/aro/tracy.zig
@@ -0,0 +1,310 @@
+//! Copied from https://github.com/ziglang/zig/blob/c9006d9479c619d9ed555164831e11a04d88d382/src/tracy.zig
+
+const std = @import("std");
+const builtin = @import("builtin");
+const build_options = @import("build_options");
+
+pub const enable = if (builtin.is_test) false else build_options.enable_tracy;
+pub const enable_allocation = enable and build_options.enable_tracy_allocation;
+pub const enable_callstack = enable and build_options.enable_tracy_callstack;
+
+// TODO: make this configurable
+const callstack_depth = 10;
+
+const ___tracy_c_zone_context = extern struct {
+ id: u32,
+ active: c_int,
+
+ pub inline fn end(self: @This()) void {
+ ___tracy_emit_zone_end(self);
+ }
+
+ pub inline fn addText(self: @This(), text: []const u8) void {
+ ___tracy_emit_zone_text(self, text.ptr, text.len);
+ }
+
+ pub inline fn setName(self: @This(), name: []const u8) void {
+ ___tracy_emit_zone_name(self, name.ptr, name.len);
+ }
+
+ pub inline fn setColor(self: @This(), color: u32) void {
+ ___tracy_emit_zone_color(self, color);
+ }
+
+ pub inline fn setValue(self: @This(), value: u64) void {
+ ___tracy_emit_zone_value(self, value);
+ }
+};
+
+pub const Ctx = if (enable) ___tracy_c_zone_context else struct {
+ pub inline fn end(self: @This()) void {
+ _ = self;
+ }
+
+ pub inline fn addText(self: @This(), text: []const u8) void {
+ _ = self;
+ _ = text;
+ }
+
+ pub inline fn setName(self: @This(), name: []const u8) void {
+ _ = self;
+ _ = name;
+ }
+
+ pub inline fn setColor(self: @This(), color: u32) void {
+ _ = self;
+ _ = color;
+ }
+
+ pub inline fn setValue(self: @This(), value: u64) void {
+ _ = self;
+ _ = value;
+ }
+};
+
+pub inline fn trace(comptime src: std.builtin.SourceLocation) Ctx {
+ if (!enable) return .{};
+
+ if (enable_callstack) {
+ return ___tracy_emit_zone_begin_callstack(&.{
+ .name = null,
+ .function = src.fn_name.ptr,
+ .file = src.file.ptr,
+ .line = src.line,
+ .color = 0,
+ }, callstack_depth, 1);
+ } else {
+ return ___tracy_emit_zone_begin(&.{
+ .name = null,
+ .function = src.fn_name.ptr,
+ .file = src.file.ptr,
+ .line = src.line,
+ .color = 0,
+ }, 1);
+ }
+}
+
+pub inline fn traceNamed(comptime src: std.builtin.SourceLocation, comptime name: [:0]const u8) Ctx {
+ if (!enable) return .{};
+
+ if (enable_callstack) {
+ return ___tracy_emit_zone_begin_callstack(&.{
+ .name = name.ptr,
+ .function = src.fn_name.ptr,
+ .file = src.file.ptr,
+ .line = src.line,
+ .color = 0,
+ }, callstack_depth, 1);
+ } else {
+ return ___tracy_emit_zone_begin(&.{
+ .name = name.ptr,
+ .function = src.fn_name.ptr,
+ .file = src.file.ptr,
+ .line = src.line,
+ .color = 0,
+ }, 1);
+ }
+}
+
+pub fn tracyAllocator(allocator: std.mem.Allocator) TracyAllocator(null) {
+ return TracyAllocator(null).init(allocator);
+}
+
+pub fn TracyAllocator(comptime name: ?[:0]const u8) type {
+ return struct {
+ parent_allocator: std.mem.Allocator,
+
+ const Self = @This();
+
+ pub fn init(parent_allocator: std.mem.Allocator) Self {
+ return .{
+ .parent_allocator = parent_allocator,
+ };
+ }
+
+ pub fn allocator(self: *Self) std.mem.Allocator {
+ return std.mem.Allocator.init(self, allocFn, resizeFn, freeFn);
+ }
+
+ fn allocFn(self: *Self, len: usize, ptr_align: u29, len_align: u29, ret_addr: usize) std.mem.Allocator.Error![]u8 {
+ const result = self.parent_allocator.rawAlloc(len, ptr_align, len_align, ret_addr);
+ if (result) |data| {
+ if (data.len != 0) {
+ if (name) |n| {
+ allocNamed(data.ptr, data.len, n);
+ } else {
+ alloc(data.ptr, data.len);
+ }
+ }
+ } else |_| {
+ messageColor("allocation failed", 0xFF0000);
+ }
+ return result;
+ }
+
+ fn resizeFn(self: *Self, buf: []u8, buf_align: u29, new_len: usize, len_align: u29, ret_addr: usize) ?usize {
+ if (self.parent_allocator.rawResize(buf, buf_align, new_len, len_align, ret_addr)) |resized_len| {
+ if (name) |n| {
+ freeNamed(buf.ptr, n);
+ allocNamed(buf.ptr, resized_len, n);
+ } else {
+ free(buf.ptr);
+ alloc(buf.ptr, resized_len);
+ }
+
+ return resized_len;
+ }
+
+ // during normal operation the compiler hits this case thousands of times due to this
+ // emitting messages for it is both slow and causes clutter
+ return null;
+ }
+
+ fn freeFn(self: *Self, buf: []u8, buf_align: u29, ret_addr: usize) void {
+ self.parent_allocator.rawFree(buf, buf_align, ret_addr);
+ // this condition is to handle free being called on an empty slice that was never even allocated
+ // example case: `std.process.getSelfExeSharedLibPaths` can return `&[_][:0]u8{}`
+ if (buf.len != 0) {
+ if (name) |n| {
+ freeNamed(buf.ptr, n);
+ } else {
+ free(buf.ptr);
+ }
+ }
+ }
+ };
+}
+
+// This function only accepts comptime known strings, see `messageCopy` for runtime strings
+pub inline fn message(comptime msg: [:0]const u8) void {
+ if (!enable) return;
+ ___tracy_emit_messageL(msg.ptr, if (enable_callstack) callstack_depth else 0);
+}
+
+// This function only accepts comptime known strings, see `messageColorCopy` for runtime strings
+pub inline fn messageColor(comptime msg: [:0]const u8, color: u32) void {
+ if (!enable) return;
+ ___tracy_emit_messageLC(msg.ptr, color, if (enable_callstack) callstack_depth else 0);
+}
+
+pub inline fn messageCopy(msg: []const u8) void {
+ if (!enable) return;
+ ___tracy_emit_message(msg.ptr, msg.len, if (enable_callstack) callstack_depth else 0);
+}
+
+pub inline fn messageColorCopy(msg: [:0]const u8, color: u32) void {
+ if (!enable) return;
+ ___tracy_emit_messageC(msg.ptr, msg.len, color, if (enable_callstack) callstack_depth else 0);
+}
+
+pub inline fn frameMark() void {
+ if (!enable) return;
+ ___tracy_emit_frame_mark(null);
+}
+
+pub inline fn frameMarkNamed(comptime name: [:0]const u8) void {
+ if (!enable) return;
+ ___tracy_emit_frame_mark(name.ptr);
+}
+
+pub inline fn namedFrame(comptime name: [:0]const u8) Frame(name) {
+ frameMarkStart(name);
+ return .{};
+}
+
+pub fn Frame(comptime name: [:0]const u8) type {
+ return struct {
+ pub fn end(_: @This()) void {
+ frameMarkEnd(name);
+ }
+ };
+}
+
+inline fn frameMarkStart(comptime name: [:0]const u8) void {
+ if (!enable) return;
+ ___tracy_emit_frame_mark_start(name.ptr);
+}
+
+inline fn frameMarkEnd(comptime name: [:0]const u8) void {
+ if (!enable) return;
+ ___tracy_emit_frame_mark_end(name.ptr);
+}
+
+extern fn ___tracy_emit_frame_mark_start(name: [*:0]const u8) void;
+extern fn ___tracy_emit_frame_mark_end(name: [*:0]const u8) void;
+
+inline fn alloc(ptr: [*]u8, len: usize) void {
+ if (!enable) return;
+
+ if (enable_callstack) {
+ ___tracy_emit_memory_alloc_callstack(ptr, len, callstack_depth, 0);
+ } else {
+ ___tracy_emit_memory_alloc(ptr, len, 0);
+ }
+}
+
+inline fn allocNamed(ptr: [*]u8, len: usize, comptime name: [:0]const u8) void {
+ if (!enable) return;
+
+ if (enable_callstack) {
+ ___tracy_emit_memory_alloc_callstack_named(ptr, len, callstack_depth, 0, name.ptr);
+ } else {
+ ___tracy_emit_memory_alloc_named(ptr, len, 0, name.ptr);
+ }
+}
+
+inline fn free(ptr: [*]u8) void {
+ if (!enable) return;
+
+ if (enable_callstack) {
+ ___tracy_emit_memory_free_callstack(ptr, callstack_depth, 0);
+ } else {
+ ___tracy_emit_memory_free(ptr, 0);
+ }
+}
+
+inline fn freeNamed(ptr: [*]u8, comptime name: [:0]const u8) void {
+ if (!enable) return;
+
+ if (enable_callstack) {
+ ___tracy_emit_memory_free_callstack_named(ptr, callstack_depth, 0, name.ptr);
+ } else {
+ ___tracy_emit_memory_free_named(ptr, 0, name.ptr);
+ }
+}
+
+extern fn ___tracy_emit_zone_begin(
+ srcloc: *const ___tracy_source_location_data,
+ active: c_int,
+) ___tracy_c_zone_context;
+extern fn ___tracy_emit_zone_begin_callstack(
+ srcloc: *const ___tracy_source_location_data,
+ depth: c_int,
+ active: c_int,
+) ___tracy_c_zone_context;
+extern fn ___tracy_emit_zone_text(ctx: ___tracy_c_zone_context, txt: [*]const u8, size: usize) void;
+extern fn ___tracy_emit_zone_name(ctx: ___tracy_c_zone_context, txt: [*]const u8, size: usize) void;
+extern fn ___tracy_emit_zone_color(ctx: ___tracy_c_zone_context, color: u32) void;
+extern fn ___tracy_emit_zone_value(ctx: ___tracy_c_zone_context, value: u64) void;
+extern fn ___tracy_emit_zone_end(ctx: ___tracy_c_zone_context) void;
+extern fn ___tracy_emit_memory_alloc(ptr: *const anyopaque, size: usize, secure: c_int) void;
+extern fn ___tracy_emit_memory_alloc_callstack(ptr: *const anyopaque, size: usize, depth: c_int, secure: c_int) void;
+extern fn ___tracy_emit_memory_free(ptr: *const anyopaque, secure: c_int) void;
+extern fn ___tracy_emit_memory_free_callstack(ptr: *const anyopaque, depth: c_int, secure: c_int) void;
+extern fn ___tracy_emit_memory_alloc_named(ptr: *const anyopaque, size: usize, secure: c_int, name: [*:0]const u8) void;
+extern fn ___tracy_emit_memory_alloc_callstack_named(ptr: *const anyopaque, size: usize, depth: c_int, secure: c_int, name: [*:0]const u8) void;
+extern fn ___tracy_emit_memory_free_named(ptr: *const anyopaque, secure: c_int, name: [*:0]const u8) void;
+extern fn ___tracy_emit_memory_free_callstack_named(ptr: *const anyopaque, depth: c_int, secure: c_int, name: [*:0]const u8) void;
+extern fn ___tracy_emit_message(txt: [*]const u8, size: usize, callstack: c_int) void;
+extern fn ___tracy_emit_messageL(txt: [*:0]const u8, callstack: c_int) void;
+extern fn ___tracy_emit_messageC(txt: [*]const u8, size: usize, color: u32, callstack: c_int) void;
+extern fn ___tracy_emit_messageLC(txt: [*:0]const u8, color: u32, callstack: c_int) void;
+extern fn ___tracy_emit_frame_mark(name: ?[*:0]const u8) void;
+
+const ___tracy_source_location_data = extern struct {
+ name: ?[*:0]const u8,
+ function: [*:0]const u8,
+ file: [*:0]const u8,
+ line: u32,
+ color: u32,
+};
deps/aro/Tree.zig → deps/aro/aro/Tree.zig
@@ -1,14 +1,14 @@
const std = @import("std");
+const Interner = @import("backend").Interner;
const Type = @import("Type.zig");
const Tokenizer = @import("Tokenizer.zig");
+const CodeGen = @import("CodeGen.zig");
const Compilation = @import("Compilation.zig");
const Source = @import("Source.zig");
const Attribute = @import("Attribute.zig");
const Value = @import("Value.zig");
const StringInterner = @import("StringInterner.zig");
-const Tree = @This();
-
pub const Token = struct {
id: Id,
flags: packed struct {
@@ -79,7 +79,7 @@ pub const Token = struct {
pub fn checkMsEof(tok: Token, source: Source, comp: *Compilation) !void {
std.debug.assert(tok.id == .eof);
if (source.buf.len > tok.loc.byte_offset and source.buf[tok.loc.byte_offset] == 0x1A) {
- try comp.diag.add(.{
+ try comp.addDiagnostic(.{
.tag = .ctrl_z_eof,
.loc = .{
.id = source.id,
@@ -98,6 +98,8 @@ pub const TokenIndex = u32;
pub const NodeIndex = enum(u32) { none, _ };
pub const ValueMap = std.AutoHashMap(NodeIndex, Value);
+const Tree = @This();
+
comp: *Compilation,
arena: std.heap.ArenaAllocator,
generated: []const u8,
@@ -105,13 +107,13 @@ tokens: Token.List.Slice,
nodes: Node.List.Slice,
data: []const NodeIndex,
root_decls: []const NodeIndex,
-strings: []const u8,
value_map: ValueMap,
+pub const genIr = CodeGen.genIr;
+
pub fn deinit(tree: *Tree) void {
tree.comp.gpa.free(tree.root_decls);
tree.comp.gpa.free(tree.data);
- tree.comp.gpa.free(tree.strings);
tree.nodes.deinit(tree.comp.gpa);
tree.arena.deinit();
tree.value_map.deinit();
@@ -161,7 +163,7 @@ pub const Node = struct {
int: u64,
return_zero: bool,
- pub fn forDecl(data: Data, tree: Tree) struct {
+ pub fn forDecl(data: Data, tree: *const Tree) struct {
decls: []const NodeIndex,
cond: NodeIndex,
incr: NodeIndex,
@@ -178,7 +180,7 @@ pub const Node = struct {
};
}
- pub fn forStmt(data: Data, tree: Tree) struct {
+ pub fn forStmt(data: Data, tree: *const Tree) struct {
init: NodeIndex,
cond: NodeIndex,
incr: NodeIndex,
@@ -495,12 +497,8 @@ pub const Tag = enum(u8) {
int_literal,
/// Same as int_literal, but originates from a char literal
char_literal,
- /// _Float16 literal
- float16_literal,
- /// f32 literal
+ /// a floating point literal
float_literal,
- /// f64 literal
- double_literal,
/// wraps a float or double literal: un
imaginary_literal,
/// tree.str[index..][0..len]
@@ -540,6 +538,12 @@ pub const Tag = enum(u8) {
union_init_expr,
/// (ty){ un }
compound_literal_expr,
+ /// (static ty){ un }
+ static_compound_literal_expr,
+ /// (thread_local ty){ un }
+ thread_local_compound_literal_expr,
+ /// (static thread_local ty){ un }
+ static_thread_local_compound_literal_expr,
/// Inserted at the end of a function body if no return stmt is found.
/// ty is the functions return type
@@ -566,18 +570,18 @@ pub const Tag = enum(u8) {
}
};
-pub fn isBitfield(nodes: Node.List.Slice, node: NodeIndex) bool {
- return bitfieldWidth(nodes, node, false) != null;
+pub fn isBitfield(tree: *const Tree, node: NodeIndex) bool {
+ return tree.bitfieldWidth(node, false) != null;
}
/// Returns null if node is not a bitfield. If inspect_lval is true, this function will
/// recurse into implicit lval_to_rval casts (useful for arithmetic conversions)
-pub fn bitfieldWidth(nodes: Node.List.Slice, node: NodeIndex, inspect_lval: bool) ?u32 {
+pub fn bitfieldWidth(tree: *const Tree, node: NodeIndex, inspect_lval: bool) ?u32 {
if (node == .none) return null;
- switch (nodes.items(.tag)[@intFromEnum(node)]) {
+ switch (tree.nodes.items(.tag)[@intFromEnum(node)]) {
.member_access_expr, .member_access_ptr_expr => {
- const member = nodes.items(.data)[@intFromEnum(node)].member;
- var ty = nodes.items(.ty)[@intFromEnum(member.lhs)];
+ const member = tree.nodes.items(.data)[@intFromEnum(node)].member;
+ var ty = tree.nodes.items(.ty)[@intFromEnum(member.lhs)];
if (ty.isPtr()) ty = ty.elemType();
const record_ty = ty.get(.@"struct") orelse ty.get(.@"union") orelse return null;
const field = record_ty.data.record.fields[member.index];
@@ -586,9 +590,9 @@ pub fn bitfieldWidth(nodes: Node.List.Slice, node: NodeIndex, inspect_lval: bool
.implicit_cast => {
if (!inspect_lval) return null;
- const data = nodes.items(.data)[@intFromEnum(node)];
+ const data = tree.nodes.items(.data)[@intFromEnum(node)];
return switch (data.cast.kind) {
- .lval_to_rval => bitfieldWidth(nodes, data.cast.operand, false),
+ .lval_to_rval => tree.bitfieldWidth(data.cast.operand, false),
else => null,
};
},
@@ -596,59 +600,63 @@ pub fn bitfieldWidth(nodes: Node.List.Slice, node: NodeIndex, inspect_lval: bool
}
}
-pub fn isLval(nodes: Node.List.Slice, extra: []const NodeIndex, value_map: ValueMap, node: NodeIndex) bool {
+pub fn isLval(tree: *const Tree, node: NodeIndex) bool {
var is_const: bool = undefined;
- return isLvalExtra(nodes, extra, value_map, node, &is_const);
+ return tree.isLvalExtra(node, &is_const);
}
-pub fn isLvalExtra(nodes: Node.List.Slice, extra: []const NodeIndex, value_map: ValueMap, node: NodeIndex, is_const: *bool) bool {
+pub fn isLvalExtra(tree: *const Tree, node: NodeIndex, is_const: *bool) bool {
is_const.* = false;
- switch (nodes.items(.tag)[@intFromEnum(node)]) {
- .compound_literal_expr => {
- is_const.* = nodes.items(.ty)[@intFromEnum(node)].isConst();
+ switch (tree.nodes.items(.tag)[@intFromEnum(node)]) {
+ .compound_literal_expr,
+ .static_compound_literal_expr,
+ .thread_local_compound_literal_expr,
+ .static_thread_local_compound_literal_expr,
+ => {
+ is_const.* = tree.nodes.items(.ty)[@intFromEnum(node)].isConst();
return true;
},
.string_literal_expr => return true,
.member_access_ptr_expr => {
- const lhs_expr = nodes.items(.data)[@intFromEnum(node)].member.lhs;
- const ptr_ty = nodes.items(.ty)[@intFromEnum(lhs_expr)];
+ const lhs_expr = tree.nodes.items(.data)[@intFromEnum(node)].member.lhs;
+ const ptr_ty = tree.nodes.items(.ty)[@intFromEnum(lhs_expr)];
if (ptr_ty.isPtr()) is_const.* = ptr_ty.elemType().isConst();
return true;
},
.array_access_expr => {
- const lhs_expr = nodes.items(.data)[@intFromEnum(node)].bin.lhs;
+ const lhs_expr = tree.nodes.items(.data)[@intFromEnum(node)].bin.lhs;
if (lhs_expr != .none) {
- const array_ty = nodes.items(.ty)[@intFromEnum(lhs_expr)];
+ const array_ty = tree.nodes.items(.ty)[@intFromEnum(lhs_expr)];
if (array_ty.isPtr() or array_ty.isArray()) is_const.* = array_ty.elemType().isConst();
}
return true;
},
.decl_ref_expr => {
- const decl_ty = nodes.items(.ty)[@intFromEnum(node)];
+ const decl_ty = tree.nodes.items(.ty)[@intFromEnum(node)];
is_const.* = decl_ty.isConst();
return true;
},
.deref_expr => {
- const data = nodes.items(.data)[@intFromEnum(node)];
- const operand_ty = nodes.items(.ty)[@intFromEnum(data.un)];
+ const data = tree.nodes.items(.data)[@intFromEnum(node)];
+ const operand_ty = tree.nodes.items(.ty)[@intFromEnum(data.un)];
if (operand_ty.isFunc()) return false;
if (operand_ty.isPtr() or operand_ty.isArray()) is_const.* = operand_ty.elemType().isConst();
return true;
},
.member_access_expr => {
- const data = nodes.items(.data)[@intFromEnum(node)];
- return isLvalExtra(nodes, extra, value_map, data.member.lhs, is_const);
+ const data = tree.nodes.items(.data)[@intFromEnum(node)];
+ return tree.isLvalExtra(data.member.lhs, is_const);
},
.paren_expr => {
- const data = nodes.items(.data)[@intFromEnum(node)];
- return isLvalExtra(nodes, extra, value_map, data.un, is_const);
+ const data = tree.nodes.items(.data)[@intFromEnum(node)];
+ return tree.isLvalExtra(data.un, is_const);
},
.builtin_choose_expr => {
- const data = nodes.items(.data)[@intFromEnum(node)];
+ const data = tree.nodes.items(.data)[@intFromEnum(node)];
- if (value_map.get(data.if3.cond)) |val| {
- const offset = @intFromBool(val.isZero());
- return isLvalExtra(nodes, extra, value_map, extra[data.if3.body + offset], is_const);
+ if (tree.value_map.get(data.if3.cond)) |val| {
+ const offset = @intFromBool(val.isZero(tree.comp));
+ return tree.isLvalExtra(tree.data[data.if3.body + offset], is_const);
}
return false;
},
@@ -656,7 +664,7 @@ pub fn isLvalExtra(nodes: Node.List.Slice, extra: []const NodeIndex, value_map:
}
}
-pub fn tokSlice(tree: Tree, tok_i: TokenIndex) []const u8 {
+pub fn tokSlice(tree: *const Tree, tok_i: TokenIndex) []const u8 {
if (tree.tokens.items(.id)[tok_i].lexeme()) |some| return some;
const loc = tree.tokens.items(.loc)[tok_i];
var tmp_tokenizer = Tokenizer{
@@ -669,25 +677,25 @@ pub fn tokSlice(tree: Tree, tok_i: TokenIndex) []const u8 {
return tmp_tokenizer.buf[tok.start..tok.end];
}
-pub fn dump(tree: Tree, color: bool, writer: anytype) @TypeOf(writer).Error!void {
+pub fn dump(tree: *const Tree, config: std.io.tty.Config, writer: anytype) !void {
const mapper = tree.comp.string_interner.getFastTypeMapper(tree.comp.gpa) catch tree.comp.string_interner.getSlowTypeMapper();
defer mapper.deinit(tree.comp.gpa);
for (tree.root_decls) |i| {
- try tree.dumpNode(i, 0, mapper, color, writer);
+ try tree.dumpNode(i, 0, mapper, config, writer);
try writer.writeByte('\n');
}
}
-fn dumpFieldAttributes(attributes: []const Attribute, level: u32, strings: []const u8, writer: anytype) !void {
+fn dumpFieldAttributes(tree: *const Tree, attributes: []const Attribute, level: u32, writer: anytype) !void {
for (attributes) |attr| {
try writer.writeByteNTimes(' ', level);
try writer.print("field attr: {s}", .{@tagName(attr.tag)});
- try dumpAttribute(attr, strings, writer);
+ try tree.dumpAttribute(attr, writer);
}
}
-fn dumpAttribute(attr: Attribute, strings: []const u8, writer: anytype) !void {
+fn dumpAttribute(tree: *const Tree, attr: Attribute, writer: anytype) !void {
switch (attr.tag) {
inline else => |tag| {
const args = @field(attr.args, @tagName(tag));
@@ -705,8 +713,8 @@ fn dumpAttribute(attr: Attribute, strings: []const u8, writer: anytype) !void {
try writer.writeAll(f.name);
try writer.writeAll(": ");
switch (f.type) {
- Value.ByteRange => try writer.print("\"{s}\"", .{@field(args, f.name).slice(strings, .@"1")}),
- ?Value.ByteRange => try writer.print("\"{?s}\"", .{if (@field(args, f.name)) |range| range.slice(strings, .@"1") else null}),
+ Interner.Ref => try writer.print("\"{s}\"", .{tree.interner.get(@field(args, f.name)).bytes}),
+ ?Interner.Ref => try writer.print("\"{?s}\"", .{if (@field(args, f.name)) |str| tree.interner.get(str).bytes else null}),
else => switch (@typeInfo(f.type)) {
.Enum => try writer.writeAll(@tagName(@field(args, f.name))),
else => try writer.print("{any}", .{@field(args, f.name)}),
@@ -719,16 +727,22 @@ fn dumpAttribute(attr: Attribute, strings: []const u8, writer: anytype) !void {
}
}
-fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.TypeMapper, color: bool, w: anytype) @TypeOf(w).Error!void {
+fn dumpNode(
+ tree: *const Tree,
+ node: NodeIndex,
+ level: u32,
+ mapper: StringInterner.TypeMapper,
+ config: std.io.tty.Config,
+ w: anytype,
+) !void {
const delta = 2;
const half = delta / 2;
- const util = @import("util.zig");
- const TYPE = util.Color.purple;
- const TAG = util.Color.cyan;
- const IMPLICIT = util.Color.blue;
- const NAME = util.Color.red;
- const LITERAL = util.Color.green;
- const ATTRIBUTE = util.Color.yellow;
+ const TYPE = std.io.tty.Color.bright_magenta;
+ const TAG = std.io.tty.Color.bright_cyan;
+ const IMPLICIT = std.io.tty.Color.bright_blue;
+ const NAME = std.io.tty.Color.bright_red;
+ const LITERAL = std.io.tty.Color.bright_green;
+ const ATTRIBUTE = std.io.tty.Color.bright_yellow;
std.debug.assert(node != .none);
const tag = tree.nodes.items(.tag)[@intFromEnum(node)];
@@ -736,68 +750,68 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
const ty = tree.nodes.items(.ty)[@intFromEnum(node)];
try w.writeByteNTimes(' ', level);
- if (color) util.setColor(if (tag.isImplicit()) IMPLICIT else TAG, w);
+ try config.setColor(w, if (tag.isImplicit()) IMPLICIT else TAG);
try w.print("{s}: ", .{@tagName(tag)});
if (tag == .implicit_cast or tag == .explicit_cast) {
- if (color) util.setColor(.white, w);
+ try config.setColor(w, .white);
try w.print("({s}) ", .{@tagName(data.cast.kind)});
}
- if (color) util.setColor(TYPE, w);
+ try config.setColor(w, TYPE);
try w.writeByte('\'');
try ty.dump(mapper, tree.comp.langopts, w);
try w.writeByte('\'');
- if (isLval(tree.nodes, tree.data, tree.value_map, node)) {
- if (color) util.setColor(ATTRIBUTE, w);
+ if (tree.isLval(node)) {
+ try config.setColor(w, ATTRIBUTE);
try w.writeAll(" lvalue");
}
- if (isBitfield(tree.nodes, node)) {
- if (color) util.setColor(ATTRIBUTE, w);
+ if (tree.isBitfield(node)) {
+ try config.setColor(w, ATTRIBUTE);
try w.writeAll(" bitfield");
}
if (tree.value_map.get(node)) |val| {
- if (color) util.setColor(LITERAL, w);
+ try config.setColor(w, LITERAL);
try w.writeAll(" (value: ");
- try val.dump(ty, tree.comp, tree.strings, w);
+ try val.print(ty, tree.comp, w);
try w.writeByte(')');
}
if (tag == .implicit_return and data.return_zero) {
- if (color) util.setColor(IMPLICIT, w);
+ try config.setColor(w, IMPLICIT);
try w.writeAll(" (value: 0)");
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
}
try w.writeAll("\n");
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
if (ty.specifier == .attributed) {
- if (color) util.setColor(ATTRIBUTE, w);
+ try config.setColor(w, ATTRIBUTE);
for (ty.data.attributed.attributes) |attr| {
try w.writeByteNTimes(' ', level + half);
try w.print("attr: {s}", .{@tagName(attr.tag)});
- try dumpAttribute(attr, tree.strings, w);
+ try tree.dumpAttribute(attr, w);
}
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
}
switch (tag) {
.invalid => unreachable,
.file_scope_asm => {
try w.writeByteNTimes(' ', level + 1);
- try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+ try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
},
.gnu_asm_simple => {
try w.writeByteNTimes(' ', level);
- try tree.dumpNode(data.un, level, mapper, color, w);
+ try tree.dumpNode(data.un, level, mapper, config, w);
},
.static_assert => {
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("condition:\n");
- try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
if (data.bin.rhs != .none) {
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("diagnostic:\n");
- try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
}
},
.fn_proto,
@@ -807,9 +821,9 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
=> {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("name: ");
- if (color) util.setColor(NAME, w);
+ try config.setColor(w, NAME);
try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
},
.fn_def,
.static_fn_def,
@@ -818,12 +832,12 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
=> {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("name: ");
- if (color) util.setColor(NAME, w);
+ try config.setColor(w, NAME);
try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
try w.writeByteNTimes(' ', level + half);
try w.writeAll("body:\n");
- try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+ try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
},
.typedef,
.@"var",
@@ -836,39 +850,39 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
=> {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("name: ");
- if (color) util.setColor(NAME, w);
+ try config.setColor(w, NAME);
try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
if (data.decl.node != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("init:\n");
- try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+ try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
}
},
.enum_field_decl => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("name: ");
- if (color) util.setColor(NAME, w);
+ try config.setColor(w, NAME);
try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
if (data.decl.node != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("value:\n");
- try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+ try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
}
},
.record_field_decl => {
if (data.decl.name != 0) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("name: ");
- if (color) util.setColor(NAME, w);
+ try config.setColor(w, NAME);
try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
}
if (data.decl.node != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("bits:\n");
- try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+ try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
}
},
.indirect_record_field_decl => {},
@@ -882,13 +896,13 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
const maybe_field_attributes = if (ty.getRecord()) |record| record.field_attributes else null;
for (tree.data[data.range.start..data.range.end], 0..) |stmt, i| {
if (i != 0) try w.writeByte('\n');
- try tree.dumpNode(stmt, level + delta, mapper, color, w);
+ try tree.dumpNode(stmt, level + delta, mapper, config, w);
if (maybe_field_attributes) |field_attributes| {
if (field_attributes[i].len == 0) continue;
- if (color) util.setColor(ATTRIBUTE, w);
- try dumpFieldAttributes(field_attributes[i], level + delta + half, tree.strings, w);
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, ATTRIBUTE);
+ try tree.dumpFieldAttributes(field_attributes[i], level + delta + half, w);
+ try config.setColor(w, .reset);
}
}
},
@@ -903,91 +917,95 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
const empty: [][]const Attribute = &attr_array;
const field_attributes = if (ty.getRecord()) |record| (record.field_attributes orelse empty.ptr) else empty.ptr;
if (data.bin.lhs != .none) {
- try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
if (field_attributes[0].len > 0) {
- if (color) util.setColor(ATTRIBUTE, w);
- try dumpFieldAttributes(field_attributes[0], level + delta + half, tree.strings, w);
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, ATTRIBUTE);
+ try tree.dumpFieldAttributes(field_attributes[0], level + delta + half, w);
+ try config.setColor(w, .reset);
}
}
if (data.bin.rhs != .none) {
- try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
if (field_attributes[1].len > 0) {
- if (color) util.setColor(ATTRIBUTE, w);
- try dumpFieldAttributes(field_attributes[1], level + delta + half, tree.strings, w);
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, ATTRIBUTE);
+ try tree.dumpFieldAttributes(field_attributes[1], level + delta + half, w);
+ try config.setColor(w, .reset);
}
}
},
.union_init_expr => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("field index: ");
- if (color) util.setColor(LITERAL, w);
+ try config.setColor(w, LITERAL);
try w.print("{d}\n", .{data.union_init.field_index});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
if (data.union_init.node != .none) {
- try tree.dumpNode(data.union_init.node, level + delta, mapper, color, w);
+ try tree.dumpNode(data.union_init.node, level + delta, mapper, config, w);
}
},
- .compound_literal_expr => {
- try tree.dumpNode(data.un, level + half, mapper, color, w);
+ .compound_literal_expr,
+ .static_compound_literal_expr,
+ .thread_local_compound_literal_expr,
+ .static_thread_local_compound_literal_expr,
+ => {
+ try tree.dumpNode(data.un, level + half, mapper, config, w);
},
.labeled_stmt => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("label: ");
- if (color) util.setColor(LITERAL, w);
+ try config.setColor(w, LITERAL);
try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
if (data.decl.node != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("stmt:\n");
- try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+ try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
}
},
.case_stmt => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("value:\n");
- try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
if (data.bin.rhs != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("stmt:\n");
- try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
}
},
.case_range_stmt => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("range start:\n");
- try tree.dumpNode(tree.data[data.if3.body], level + delta, mapper, color, w);
+ try tree.dumpNode(tree.data[data.if3.body], level + delta, mapper, config, w);
try w.writeByteNTimes(' ', level + half);
try w.writeAll("range end:\n");
- try tree.dumpNode(tree.data[data.if3.body + 1], level + delta, mapper, color, w);
+ try tree.dumpNode(tree.data[data.if3.body + 1], level + delta, mapper, config, w);
if (data.if3.cond != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("stmt:\n");
- try tree.dumpNode(data.if3.cond, level + delta, mapper, color, w);
+ try tree.dumpNode(data.if3.cond, level + delta, mapper, config, w);
}
},
.default_stmt => {
if (data.un != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("stmt:\n");
- try tree.dumpNode(data.un, level + delta, mapper, color, w);
+ try tree.dumpNode(data.un, level + delta, mapper, config, w);
}
},
.binary_cond_expr, .cond_expr, .if_then_else_stmt, .builtin_choose_expr => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("cond:\n");
- try tree.dumpNode(data.if3.cond, level + delta, mapper, color, w);
+ try tree.dumpNode(data.if3.cond, level + delta, mapper, config, w);
try w.writeByteNTimes(' ', level + half);
try w.writeAll("then:\n");
- try tree.dumpNode(tree.data[data.if3.body], level + delta, mapper, color, w);
+ try tree.dumpNode(tree.data[data.if3.body], level + delta, mapper, config, w);
try w.writeByteNTimes(' ', level + half);
try w.writeAll("else:\n");
- try tree.dumpNode(tree.data[data.if3.body + 1], level + delta, mapper, color, w);
+ try tree.dumpNode(tree.data[data.if3.body + 1], level + delta, mapper, config, w);
},
.builtin_types_compatible_p => {
std.debug.assert(tree.nodes.items(.tag)[@intFromEnum(data.bin.lhs)] == .invalid);
@@ -997,40 +1015,40 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
try w.writeAll("lhs: ");
const lhs_ty = tree.nodes.items(.ty)[@intFromEnum(data.bin.lhs)];
- if (color) util.setColor(TYPE, w);
+ try config.setColor(w, TYPE);
try lhs_ty.dump(mapper, tree.comp.langopts, w);
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
try w.writeByte('\n');
try w.writeByteNTimes(' ', level + half);
try w.writeAll("rhs: ");
const rhs_ty = tree.nodes.items(.ty)[@intFromEnum(data.bin.rhs)];
- if (color) util.setColor(TYPE, w);
+ try config.setColor(w, TYPE);
try rhs_ty.dump(mapper, tree.comp.langopts, w);
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
try w.writeByte('\n');
},
.if_then_stmt => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("cond:\n");
- try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
if (data.bin.rhs != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("then:\n");
- try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
}
},
.switch_stmt, .while_stmt, .do_while_stmt => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("cond:\n");
- try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
if (data.bin.rhs != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("body:\n");
- try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
}
},
.for_decl_stmt => {
@@ -1039,30 +1057,30 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
try w.writeByteNTimes(' ', level + half);
try w.writeAll("decl:\n");
for (for_decl.decls) |decl| {
- try tree.dumpNode(decl, level + delta, mapper, color, w);
+ try tree.dumpNode(decl, level + delta, mapper, config, w);
try w.writeByte('\n');
}
if (for_decl.cond != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("cond:\n");
- try tree.dumpNode(for_decl.cond, level + delta, mapper, color, w);
+ try tree.dumpNode(for_decl.cond, level + delta, mapper, config, w);
}
if (for_decl.incr != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("incr:\n");
- try tree.dumpNode(for_decl.incr, level + delta, mapper, color, w);
+ try tree.dumpNode(for_decl.incr, level + delta, mapper, config, w);
}
if (for_decl.body != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("body:\n");
- try tree.dumpNode(for_decl.body, level + delta, mapper, color, w);
+ try tree.dumpNode(for_decl.body, level + delta, mapper, config, w);
}
},
.forever_stmt => {
if (data.un != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("body:\n");
- try tree.dumpNode(data.un, level + delta, mapper, color, w);
+ try tree.dumpNode(data.un, level + delta, mapper, config, w);
}
},
.for_stmt => {
@@ -1071,91 +1089,91 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
if (for_stmt.init != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("init:\n");
- try tree.dumpNode(for_stmt.init, level + delta, mapper, color, w);
+ try tree.dumpNode(for_stmt.init, level + delta, mapper, config, w);
}
if (for_stmt.cond != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("cond:\n");
- try tree.dumpNode(for_stmt.cond, level + delta, mapper, color, w);
+ try tree.dumpNode(for_stmt.cond, level + delta, mapper, config, w);
}
if (for_stmt.incr != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("incr:\n");
- try tree.dumpNode(for_stmt.incr, level + delta, mapper, color, w);
+ try tree.dumpNode(for_stmt.incr, level + delta, mapper, config, w);
}
if (for_stmt.body != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("body:\n");
- try tree.dumpNode(for_stmt.body, level + delta, mapper, color, w);
+ try tree.dumpNode(for_stmt.body, level + delta, mapper, config, w);
}
},
.goto_stmt, .addr_of_label => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("label: ");
- if (color) util.setColor(LITERAL, w);
+ try config.setColor(w, LITERAL);
try w.print("{s}\n", .{tree.tokSlice(data.decl_ref)});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
},
.continue_stmt, .break_stmt, .implicit_return, .null_stmt => {},
.return_stmt => {
if (data.un != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("expr:\n");
- try tree.dumpNode(data.un, level + delta, mapper, color, w);
+ try tree.dumpNode(data.un, level + delta, mapper, config, w);
}
},
.call_expr => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("lhs:\n");
- try tree.dumpNode(tree.data[data.range.start], level + delta, mapper, color, w);
+ try tree.dumpNode(tree.data[data.range.start], level + delta, mapper, config, w);
try w.writeByteNTimes(' ', level + half);
try w.writeAll("args:\n");
- for (tree.data[data.range.start + 1 .. data.range.end]) |arg| try tree.dumpNode(arg, level + delta, mapper, color, w);
+ for (tree.data[data.range.start + 1 .. data.range.end]) |arg| try tree.dumpNode(arg, level + delta, mapper, config, w);
},
.call_expr_one => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("lhs:\n");
- try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
if (data.bin.rhs != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("arg:\n");
- try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
}
},
.builtin_call_expr => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("name: ");
- if (color) util.setColor(NAME, w);
+ try config.setColor(w, NAME);
try w.print("{s}\n", .{tree.tokSlice(@intFromEnum(tree.data[data.range.start]))});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
try w.writeByteNTimes(' ', level + half);
try w.writeAll("args:\n");
- for (tree.data[data.range.start + 1 .. data.range.end]) |arg| try tree.dumpNode(arg, level + delta, mapper, color, w);
+ for (tree.data[data.range.start + 1 .. data.range.end]) |arg| try tree.dumpNode(arg, level + delta, mapper, config, w);
},
.builtin_call_expr_one => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("name: ");
- if (color) util.setColor(NAME, w);
+ try config.setColor(w, NAME);
try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
if (data.decl.node != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("arg:\n");
- try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+ try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
}
},
.special_builtin_call_one => {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("name: ");
- if (color) util.setColor(NAME, w);
+ try config.setColor(w, NAME);
try w.print("{s}\n", .{tree.tokSlice(data.decl.name)});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
if (data.decl.node != .none) {
try w.writeByteNTimes(' ', level + half);
try w.writeAll("arg:\n");
- try tree.dumpNode(data.decl.node, level + delta, mapper, color, w);
+ try tree.dumpNode(data.decl.node, level + delta, mapper, config, w);
}
},
.comma_expr,
@@ -1191,12 +1209,12 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
=> {
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("lhs:\n");
- try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("rhs:\n");
- try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
},
- .explicit_cast, .implicit_cast => try tree.dumpNode(data.cast.operand, level + delta, mapper, color, w),
+ .explicit_cast, .implicit_cast => try tree.dumpNode(data.cast.operand, level + delta, mapper, config, w),
.addr_of_expr,
.computed_goto_stmt,
.deref_expr,
@@ -1214,35 +1232,33 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
=> {
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("operand:\n");
- try tree.dumpNode(data.un, level + delta, mapper, color, w);
+ try tree.dumpNode(data.un, level + delta, mapper, config, w);
},
.decl_ref_expr => {
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("name: ");
- if (color) util.setColor(NAME, w);
+ try config.setColor(w, NAME);
try w.print("{s}\n", .{tree.tokSlice(data.decl_ref)});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
},
.enumeration_ref => {
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("name: ");
- if (color) util.setColor(NAME, w);
+ try config.setColor(w, NAME);
try w.print("{s}\n", .{tree.tokSlice(data.decl_ref)});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
},
.bool_literal,
.nullptr_literal,
.int_literal,
.char_literal,
- .float16_literal,
.float_literal,
- .double_literal,
.string_literal_expr,
=> {},
.member_access_expr, .member_access_ptr_expr => {
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("lhs:\n");
- try tree.dumpNode(data.member.lhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.member.lhs, level + delta, mapper, config, w);
var lhs_ty = tree.nodes.items(.ty)[@intFromEnum(data.member.lhs)];
if (lhs_ty.isPtr()) lhs_ty = lhs_ty.elemType();
@@ -1250,60 +1266,60 @@ fn dumpNode(tree: Tree, node: NodeIndex, level: u32, mapper: StringInterner.Type
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("name: ");
- if (color) util.setColor(NAME, w);
+ try config.setColor(w, NAME);
try w.print("{s}\n", .{mapper.lookup(lhs_ty.data.record.fields[data.member.index].name)});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
},
.array_access_expr => {
if (data.bin.lhs != .none) {
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("lhs:\n");
- try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
}
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("index:\n");
- try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
},
.sizeof_expr, .alignof_expr => {
if (data.un != .none) {
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("expr:\n");
- try tree.dumpNode(data.un, level + delta, mapper, color, w);
+ try tree.dumpNode(data.un, level + delta, mapper, config, w);
}
},
.generic_expr_one => {
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("controlling:\n");
- try tree.dumpNode(data.bin.lhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.lhs, level + delta, mapper, config, w);
try w.writeByteNTimes(' ', level + 1);
if (data.bin.rhs != .none) {
try w.writeAll("chosen:\n");
- try tree.dumpNode(data.bin.rhs, level + delta, mapper, color, w);
+ try tree.dumpNode(data.bin.rhs, level + delta, mapper, config, w);
}
},
.generic_expr => {
const nodes = tree.data[data.range.start..data.range.end];
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("controlling:\n");
- try tree.dumpNode(nodes[0], level + delta, mapper, color, w);
+ try tree.dumpNode(nodes[0], level + delta, mapper, config, w);
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("chosen:\n");
- try tree.dumpNode(nodes[1], level + delta, mapper, color, w);
+ try tree.dumpNode(nodes[1], level + delta, mapper, config, w);
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("rest:\n");
for (nodes[2..]) |expr| {
- try tree.dumpNode(expr, level + delta, mapper, color, w);
+ try tree.dumpNode(expr, level + delta, mapper, config, w);
}
},
.generic_association_expr, .generic_default_expr, .stmt_expr, .imaginary_literal => {
- try tree.dumpNode(data.un, level + delta, mapper, color, w);
+ try tree.dumpNode(data.un, level + delta, mapper, config, w);
},
.array_filler_expr => {
try w.writeByteNTimes(' ', level + 1);
try w.writeAll("count: ");
- if (color) util.setColor(LITERAL, w);
+ try config.setColor(w, LITERAL);
try w.print("{d}\n", .{data.int});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
},
.struct_forward_decl,
.union_forward_decl,
deps/aro/Type.zig → deps/aro/aro/Type.zig
@@ -10,8 +10,6 @@ const StringId = StringInterner.StringId;
const target_util = @import("target.zig");
const LangOpts = @import("LangOpts.zig");
-const Type = @This();
-
pub const Qualifiers = packed struct {
@"const": bool = false,
atomic: bool = false,
@@ -104,22 +102,20 @@ pub const Func = struct {
name_tok: TokenIndex,
};
- fn eql(a: *const Func, b: *const Func, a_var_args: bool, b_var_args: bool, comp: *const Compilation) bool {
+ fn eql(a: *const Func, b: *const Func, a_spec: Specifier, b_spec: Specifier, comp: *const Compilation) bool {
// return type cannot have qualifiers
if (!a.return_type.eql(b.return_type, comp, false)) return false;
if (a.params.len != b.params.len) {
- const a_no_proto = a_var_args and a.params.len == 0 and !comp.langopts.standard.atLeast(.c2x);
- const b_no_proto = b_var_args and b.params.len == 0 and !comp.langopts.standard.atLeast(.c2x);
- if (a_no_proto or b_no_proto) {
- const maybe_has_params = if (a_no_proto) b else a;
+ if (a_spec == .old_style_func or b_spec == .old_style_func) {
+ const maybe_has_params = if (a_spec == .old_style_func) b else a;
for (maybe_has_params.params) |param| {
if (param.ty.undergoesDefaultArgPromotion(comp)) return false;
}
return true;
}
}
- if (a_var_args != b_var_args) return false;
+ if ((a_spec == .func) != (b_spec == .func)) return false;
// TODO validate this
for (a.params, b.params) |param, b_qual| {
var a_unqual = param.ty;
@@ -149,10 +145,10 @@ pub const Attributed = struct {
base: Type,
pub fn create(allocator: std.mem.Allocator, base: Type, existing_attributes: []const Attribute, attributes: []const Attribute) !*Attributed {
- var attributed_type = try allocator.create(Attributed);
+ const attributed_type = try allocator.create(Attributed);
errdefer allocator.destroy(attributed_type);
- var all_attrs = try allocator.alloc(Attribute, existing_attributes.len + attributes.len);
+ const all_attrs = try allocator.alloc(Attribute, existing_attributes.len + attributes.len);
std.mem.copy(Attribute, all_attrs, existing_attributes);
std.mem.copy(Attribute, all_attrs[existing_attributes.len..], attributes);
@@ -312,6 +308,8 @@ pub const Specifier = enum {
/// GNU auto type
/// This is a placeholder specifier - it must be replaced by the actual type specifier (determined by the initializer)
auto_type,
+ /// C23 auto, behaves like auto_type
+ c23_auto,
void,
bool,
@@ -411,6 +409,8 @@ pub const Specifier = enum {
nullptr_t,
};
+const Type = @This();
+
/// All fields of Type except data may be mutated
data: union {
sub_type: *Type,
@@ -422,7 +422,7 @@ data: union {
attributed: *Attributed,
none: void,
int: struct {
- bits: u8,
+ bits: u16,
signedness: std.builtin.Signedness,
},
} = .{ .none = {} },
@@ -623,17 +623,21 @@ pub fn isConst(ty: Type) bool {
}
pub fn isUnsignedInt(ty: Type, comp: *const Compilation) bool {
+ return ty.signedness(comp) == .unsigned;
+}
+
+pub fn signedness(ty: Type, comp: *const Compilation) std.builtin.Signedness {
return switch (ty.specifier) {
// zig fmt: off
- .char, .complex_char => return comp.getCharSignedness() == .unsigned,
+ .char, .complex_char => return comp.getCharSignedness(),
.uchar, .ushort, .uint, .ulong, .ulong_long, .bool, .complex_uchar, .complex_ushort,
- .complex_uint, .complex_ulong, .complex_ulong_long, .complex_uint128 => true,
+ .complex_uint, .complex_ulong, .complex_ulong_long, .complex_uint128 => .unsigned,
// zig fmt: on
- .bit_int, .complex_bit_int => return ty.data.int.signedness == .unsigned,
- .typeof_type => ty.data.sub_type.isUnsignedInt(comp),
- .typeof_expr => ty.data.expr.ty.isUnsignedInt(comp),
- .attributed => ty.data.attributed.base.isUnsignedInt(comp),
- else => false,
+ .bit_int, .complex_bit_int => ty.data.int.signedness,
+ .typeof_type => ty.data.sub_type.signedness(comp),
+ .typeof_expr => ty.data.expr.ty.signedness(comp),
+ .attributed => ty.data.attributed.base.signedness(comp),
+ else => .signed,
};
}
@@ -760,7 +764,7 @@ pub fn getRecord(ty: Type) ?*const Type.Record {
};
}
-fn compareIntegerRanks(a: Type, b: Type, comp: *const Compilation) std.math.Order {
+pub fn compareIntegerRanks(a: Type, b: Type, comp: *const Compilation) std.math.Order {
std.debug.assert(a.isInt() and b.isInt());
if (a.eql(b, comp, false)) return .eq;
@@ -898,7 +902,7 @@ pub fn bitfieldPromotion(ty: Type, comp: *Compilation, width: u32) ?Type {
pub fn hasIncompleteSize(ty: Type) bool {
return switch (ty.specifier) {
- .void, .incomplete_array, .invalid => true,
+ .void, .incomplete_array => true,
.@"enum" => ty.data.@"enum".isIncomplete() and !ty.data.@"enum".fixed,
.@"struct", .@"union" => ty.data.record.isIncomplete(),
.array, .static_array => ty.data.array.elem.hasIncompleteSize(),
@@ -958,6 +962,7 @@ pub fn hasField(ty: Type, name: StringId) bool {
return false;
}
+// TODO handle bitints
pub fn minInt(ty: Type, comp: *const Compilation) i64 {
std.debug.assert(ty.isInt());
if (ty.isUnsignedInt(comp)) return 0;
@@ -970,6 +975,7 @@ pub fn minInt(ty: Type, comp: *const Compilation) i64 {
};
}
+// TODO handle bitints
pub fn maxInt(ty: Type, comp: *const Compilation) u64 {
std.debug.assert(ty.isInt());
return switch (ty.sizeof(comp).?) {
@@ -1001,7 +1007,7 @@ pub fn sizeCompare(a: Type, b: Type, comp: *Compilation) TypeSizeOrder {
/// Size of type as reported by sizeof
pub fn sizeof(ty: Type, comp: *const Compilation) ?u64 {
return switch (ty.specifier) {
- .auto_type => unreachable,
+ .auto_type, .c23_auto => unreachable,
.variable_len_array, .unspecified_variable_len_array => return null,
.incomplete_array => return if (comp.langopts.emulate == .msvc) @as(?u64, 0) else null,
.func, .var_args_func, .old_style_func, .void, .bool => 1,
@@ -1104,7 +1110,7 @@ pub fn alignof(ty: Type, comp: *const Compilation) u29 {
return switch (ty.specifier) {
.invalid => unreachable,
- .auto_type => unreachable,
+ .auto_type, .c23_auto => unreachable,
.variable_len_array,
.incomplete_array,
@@ -1271,7 +1277,7 @@ pub fn eql(a_param: Type, b_param: Type, comp: *const Compilation, check_qualifi
.func,
.var_args_func,
.old_style_func,
- => if (!a.data.func.eql(b.data.func, a.specifier == .var_args_func, b.specifier == .var_args_func, comp)) return false,
+ => if (!a.data.func.eql(b.data.func, a.specifier, b.specifier, comp)) return false,
.array,
.static_array,
@@ -1418,7 +1424,7 @@ pub fn combine(inner: *Type, outer: Type) Parser.Error!void {
.decayed_typeof_type,
.decayed_typeof_expr,
=> unreachable, // type should not be able to decay before being combined
- .void => inner.* = outer,
+ .void, .invalid => inner.* = outer,
else => unreachable,
}
}
@@ -1496,6 +1502,8 @@ pub const Builder = struct {
void,
/// GNU __auto_type extension
auto_type,
+ /// C23 auto
+ c23_auto,
nullptr_t,
bool,
char,
@@ -1557,12 +1565,12 @@ pub const Builder = struct {
complex_int128,
complex_sint128,
complex_uint128,
- bit_int: i16,
- sbit_int: i16,
- ubit_int: i16,
- complex_bit_int: i16,
- complex_sbit_int: i16,
- complex_ubit_int: i16,
+ bit_int: u64,
+ sbit_int: u64,
+ ubit_int: u64,
+ complex_bit_int: u64,
+ complex_sbit_int: u64,
+ complex_ubit_int: u64,
fp16,
float16,
@@ -1608,8 +1616,9 @@ pub const Builder = struct {
.none => unreachable,
.void => "void",
.auto_type => "__auto_type",
+ .c23_auto => "auto",
.nullptr_t => "nullptr_t",
- .bool => if (langopts.standard.atLeast(.c2x)) "bool" else "_Bool",
+ .bool => if (langopts.standard.atLeast(.c23)) "bool" else "_Bool",
.char => "char",
.schar => "signed char",
.uchar => "unsigned char",
@@ -1706,7 +1715,7 @@ pub const Builder = struct {
// TODO this really should be easier
switch (ty.specifier) {
.array, .static_array, .incomplete_array => {
- var old = ty.data.array;
+ const old = ty.data.array;
ty.data.array = try p.arena.create(Array);
ty.data.array.* = .{
.len = old.len,
@@ -1714,7 +1723,7 @@ pub const Builder = struct {
};
},
.variable_len_array, .unspecified_variable_len_array => {
- var old = ty.data.expr;
+ const old = ty.data.expr;
ty.data.expr = try p.arena.create(Expr);
ty.data.expr.* = .{
.node = old.node,
@@ -1738,8 +1747,8 @@ pub const Builder = struct {
ty = typeof;
} else {
ty.specifier = .int;
- if (p.comp.langopts.standard.atLeast(.c2x)) {
- try p.err(.missing_type_specifier_c2x);
+ if (p.comp.langopts.standard.atLeast(.c23)) {
+ try p.err(.missing_type_specifier_c23);
} else {
try p.err(.missing_type_specifier);
}
@@ -1747,6 +1756,7 @@ pub const Builder = struct {
},
.void => ty.specifier = .void,
.auto_type => ty.specifier = .auto_type,
+ .c23_auto => ty.specifier = .c23_auto,
.nullptr_t => unreachable, // nullptr_t can only be accessed via typeof(nullptr)
.bool => ty.specifier = .bool,
.char => ty.specifier = .char,
@@ -1785,17 +1795,17 @@ pub const Builder = struct {
if (unsigned) {
if (bits < 1) {
try p.errStr(.unsigned_bit_int_too_small, b.bit_int_tok.?, b.specifier.str(p.comp.langopts).?);
- return error.ParsingFailed;
+ return Type.invalid;
}
} else {
if (bits < 2) {
try p.errStr(.signed_bit_int_too_small, b.bit_int_tok.?, b.specifier.str(p.comp.langopts).?);
- return error.ParsingFailed;
+ return Type.invalid;
}
}
if (bits > Compilation.bit_int_max_bits) {
try p.errStr(.bit_int_too_big, b.bit_int_tok.?, b.specifier.str(p.comp.langopts).?);
- return error.ParsingFailed;
+ return Type.invalid;
}
ty.specifier = if (b.complex_tok != null) .complex_bit_int else .bit_int;
ty.data = .{ .int = .{
@@ -2175,6 +2185,10 @@ pub const Builder = struct {
.none => .auto_type,
else => return b.cannotCombine(p, source_tok),
},
+ .c23_auto => b.specifier = switch (b.specifier) {
+ .none => .c23_auto,
+ else => return b.cannotCombine(p, source_tok),
+ },
.fp16 => b.specifier = switch (b.specifier) {
.none => .fp16,
else => return b.cannotCombine(p, source_tok),
@@ -2292,6 +2306,7 @@ pub const Builder = struct {
return switch (ty.specifier) {
.void => .void,
.auto_type => .auto_type,
+ .c23_auto => .c23_auto,
.nullptr_t => .nullptr_t,
.bool => .bool,
.char => .char,
@@ -2606,7 +2621,10 @@ pub fn dump(ty: Type, mapper: StringInterner.TypeMapper, langopts: LangOpts, w:
try ty.data.sub_type.dump(mapper, langopts, w);
},
.func, .var_args_func, .old_style_func => {
- try w.writeAll("fn (");
+ if (ty.specifier == .old_style_func)
+ try w.writeAll("kr (")
+ else
+ try w.writeAll("fn (");
for (ty.data.func.params, 0..) |param, i| {
if (i != 0) try w.writeAll(", ");
if (param.name != .empty) try w.print("{s}: ", .{mapper.lookup(param.name)});
@@ -2620,7 +2638,7 @@ pub fn dump(ty: Type, mapper: StringInterner.TypeMapper, langopts: LangOpts, w:
try ty.data.func.return_type.dump(mapper, langopts, w);
},
.array, .static_array, .decayed_array, .decayed_static_array => {
- if (ty.specifier == .decayed_array or ty.specifier == .decayed_static_array) try w.writeByte('d');
+ if (ty.specifier == .decayed_array or ty.specifier == .decayed_static_array) try w.writeAll("*d");
try w.writeByte('[');
if (ty.specifier == .static_array or ty.specifier == .decayed_static_array) try w.writeAll("static ");
try w.print("{d}]", .{ty.data.array.len});
@@ -2632,7 +2650,7 @@ pub fn dump(ty: Type, mapper: StringInterner.TypeMapper, langopts: LangOpts, w:
try w.writeAll(")");
},
.incomplete_array, .decayed_incomplete_array => {
- if (ty.specifier == .decayed_incomplete_array) try w.writeByte('d');
+ if (ty.specifier == .decayed_incomplete_array) try w.writeAll("*d");
try w.writeAll("[]");
try ty.data.array.elem.dump(mapper, langopts, w);
},
@@ -2655,12 +2673,12 @@ pub fn dump(ty: Type, mapper: StringInterner.TypeMapper, langopts: LangOpts, w:
if (dump_detailed_containers) try dumpRecord(ty.data.record, mapper, langopts, w);
},
.unspecified_variable_len_array, .decayed_unspecified_variable_len_array => {
- if (ty.specifier == .decayed_unspecified_variable_len_array) try w.writeByte('d');
+ if (ty.specifier == .decayed_unspecified_variable_len_array) try w.writeAll("*d");
try w.writeAll("[*]");
try ty.data.sub_type.dump(mapper, langopts, w);
},
.variable_len_array, .decayed_variable_len_array => {
- if (ty.specifier == .decayed_variable_len_array) try w.writeByte('d');
+ if (ty.specifier == .decayed_variable_len_array) try w.writeAll("*d");
try w.writeAll("[<expr>]");
try ty.data.expr.ty.dump(mapper, langopts, w);
},
deps/aro/aro/Value.zig
@@ -0,0 +1,726 @@
+const std = @import("std");
+const assert = std.debug.assert;
+const BigIntConst = std.math.big.int.Const;
+const BigIntMutable = std.math.big.int.Mutable;
+const backend = @import("backend");
+const Interner = backend.Interner;
+const BigIntSpace = Interner.Tag.Int.BigIntSpace;
+const Compilation = @import("Compilation.zig");
+const Type = @import("Type.zig");
+const target_util = @import("target.zig");
+
+const Value = @This();
+
+opt_ref: Interner.OptRef = .none,
+
+pub const zero = Value{ .opt_ref = .zero };
+pub const one = Value{ .opt_ref = .one };
+pub const @"null" = Value{ .opt_ref = .null };
+
+pub fn intern(comp: *Compilation, k: Interner.Key) !Value {
+ const r = try comp.interner.put(comp.gpa, k);
+ return .{ .opt_ref = @enumFromInt(@intFromEnum(r)) };
+}
+
+pub fn int(i: anytype, comp: *Compilation) !Value {
+ const info = @typeInfo(@TypeOf(i));
+ if (info == .ComptimeInt or info.Int.signedness == .unsigned) {
+ return intern(comp, .{ .int = .{ .u64 = i } });
+ } else {
+ return intern(comp, .{ .int = .{ .i64 = i } });
+ }
+}
+
+pub fn ref(v: Value) Interner.Ref {
+ std.debug.assert(v.opt_ref != .none);
+ return @enumFromInt(@intFromEnum(v.opt_ref));
+}
+
+pub fn is(v: Value, tag: std.meta.Tag(Interner.Key), comp: *const Compilation) bool {
+ if (v.opt_ref == .none) return false;
+ return comp.interner.get(v.ref()) == tag;
+}
+
+/// Number of bits needed to hold `v`.
+/// Asserts that `v` is not negative
+pub fn minUnsignedBits(v: Value, comp: *const Compilation) usize {
+ var space: BigIntSpace = undefined;
+ const big = v.toBigInt(&space, comp);
+ assert(big.positive);
+ return big.bitCountAbs();
+}
+
+test "minUnsignedBits" {
+ const Test = struct {
+ fn checkIntBits(comp: *Compilation, v: u64, expected: usize) !void {
+ const val = try intern(comp, .{ .int = .{ .u64 = v } });
+ try std.testing.expectEqual(expected, val.minUnsignedBits(comp));
+ }
+ };
+
+ var comp = Compilation.init(std.testing.allocator);
+ defer comp.deinit();
+ comp.target = (try std.zig.CrossTarget.parse(.{ .arch_os_abi = "x86_64-linux-gnu" })).toTarget();
+
+ try Test.checkIntBits(&comp, 0, 0);
+ try Test.checkIntBits(&comp, 1, 1);
+ try Test.checkIntBits(&comp, 2, 2);
+ try Test.checkIntBits(&comp, std.math.maxInt(i8), 7);
+ try Test.checkIntBits(&comp, std.math.maxInt(u8), 8);
+ try Test.checkIntBits(&comp, std.math.maxInt(i16), 15);
+ try Test.checkIntBits(&comp, std.math.maxInt(u16), 16);
+ try Test.checkIntBits(&comp, std.math.maxInt(i32), 31);
+ try Test.checkIntBits(&comp, std.math.maxInt(u32), 32);
+ try Test.checkIntBits(&comp, std.math.maxInt(i64), 63);
+ try Test.checkIntBits(&comp, std.math.maxInt(u64), 64);
+}
+
+/// Minimum number of bits needed to represent `v` in 2's complement notation
+/// Asserts that `v` is negative.
+pub fn minSignedBits(v: Value, comp: *const Compilation) usize {
+ var space: BigIntSpace = undefined;
+ const big = v.toBigInt(&space, comp);
+ assert(!big.positive);
+ return big.bitCountTwosComp();
+}
+
+test "minSignedBits" {
+ const Test = struct {
+ fn checkIntBits(comp: *Compilation, v: i64, expected: usize) !void {
+ const val = try intern(comp, .{ .int = .{ .i64 = v } });
+ try std.testing.expectEqual(expected, val.minSignedBits(comp));
+ }
+ };
+
+ var comp = Compilation.init(std.testing.allocator);
+ defer comp.deinit();
+ comp.target = (try std.zig.CrossTarget.parse(.{ .arch_os_abi = "x86_64-linux-gnu" })).toTarget();
+
+ try Test.checkIntBits(&comp, -1, 1);
+ try Test.checkIntBits(&comp, -2, 2);
+ try Test.checkIntBits(&comp, -10, 5);
+ try Test.checkIntBits(&comp, -101, 8);
+ try Test.checkIntBits(&comp, std.math.minInt(i8), 8);
+ try Test.checkIntBits(&comp, std.math.minInt(i16), 16);
+ try Test.checkIntBits(&comp, std.math.minInt(i32), 32);
+ try Test.checkIntBits(&comp, std.math.minInt(i64), 64);
+}
+
+pub const FloatToIntChangeKind = enum {
+ /// value did not change
+ none,
+ /// floating point number too small or large for destination integer type
+ out_of_range,
+ /// tried to convert a NaN or Infinity
+ overflow,
+ /// fractional value was converted to zero
+ nonzero_to_zero,
+ /// fractional part truncated
+ value_changed,
+};
+
+/// Converts the stored value from a float to an integer.
+/// `.none` value remains unchanged.
+pub fn floatToInt(v: *Value, dest_ty: Type, comp: *Compilation) !FloatToIntChangeKind {
+ if (v.opt_ref == .none) return .none;
+
+ const float_val = v.toFloat(f128, comp);
+ const was_zero = float_val == 0;
+
+ if (dest_ty.is(.bool)) {
+ const was_one = float_val == 1.0;
+ v.* = fromBool(!was_zero);
+ if (was_zero or was_one) return .none;
+ return .value_changed;
+ } else if (dest_ty.isUnsignedInt(comp) and v.compare(.lt, zero, comp)) {
+ v.* = zero;
+ return .out_of_range;
+ }
+
+ const had_fraction = @rem(float_val, 1) != 0;
+ const is_negative = std.math.signbit(float_val);
+ const floored = @floor(@abs(float_val));
+
+ var rational = try std.math.big.Rational.init(comp.gpa);
+ defer rational.deinit();
+ rational.setFloat(f128, floored) catch |err| switch (err) {
+ error.NonFiniteFloat => {
+ v.* = .{};
+ return .overflow;
+ },
+ error.OutOfMemory => return error.OutOfMemory,
+ };
+
+ // The float is reduced in rational.setFloat, so we assert that denominator is equal to one
+ const big_one = std.math.big.int.Const{ .limbs = &.{1}, .positive = true };
+ assert(rational.q.toConst().eqlAbs(big_one));
+
+ if (is_negative) {
+ rational.negate();
+ }
+
+ const signedness = dest_ty.signedness(comp);
+ const bits: usize = @intCast(dest_ty.bitSizeof(comp).?);
+
+ // rational.p.truncate(rational.p.toConst(), signedness: Signedness, bit_count: usize)
+ const fits = rational.p.fitsInTwosComp(signedness, bits);
+ v.* = try intern(comp, .{ .int = .{ .big_int = rational.p.toConst() } });
+ try rational.p.truncate(&rational.p, signedness, bits);
+
+ if (!was_zero and v.isZero(comp)) return .nonzero_to_zero;
+ if (!fits) return .out_of_range;
+ if (had_fraction) return .value_changed;
+ return .none;
+}
+
+/// Converts the stored value from an integer to a float.
+/// `.none` value remains unchanged.
+pub fn intToFloat(v: *Value, dest_ty: Type, comp: *Compilation) !void {
+ if (v.opt_ref == .none) return;
+ const bits = dest_ty.bitSizeof(comp).?;
+ return switch (comp.interner.get(v.ref()).int) {
+ inline .u64, .i64 => |data| {
+ const f: Interner.Key.Float = switch (bits) {
+ 16 => .{ .f16 = @floatFromInt(data) },
+ 32 => .{ .f32 = @floatFromInt(data) },
+ 64 => .{ .f64 = @floatFromInt(data) },
+ 80 => .{ .f80 = @floatFromInt(data) },
+ 128 => .{ .f128 = @floatFromInt(data) },
+ else => unreachable,
+ };
+ v.* = try intern(comp, .{ .float = f });
+ },
+ .big_int => |data| {
+ const big_f = bigIntToFloat(data.limbs, data.positive);
+ const f: Interner.Key.Float = switch (bits) {
+ 16 => .{ .f16 = @floatCast(big_f) },
+ 32 => .{ .f32 = @floatCast(big_f) },
+ 64 => .{ .f64 = @floatCast(big_f) },
+ 80 => .{ .f80 = @floatCast(big_f) },
+ 128 => .{ .f128 = @floatCast(big_f) },
+ else => unreachable,
+ };
+ v.* = try intern(comp, .{ .float = f });
+ },
+ };
+}
+
+/// Truncates or extends bits based on type.
+/// `.none` value remains unchanged.
+pub fn intCast(v: *Value, dest_ty: Type, comp: *Compilation) !void {
+ if (v.opt_ref == .none) return;
+ const bits: usize = @intCast(dest_ty.bitSizeof(comp).?);
+ var space: BigIntSpace = undefined;
+ const big = v.toBigInt(&space, comp);
+
+ const limbs = try comp.gpa.alloc(
+ std.math.big.Limb,
+ std.math.big.int.calcTwosCompLimbCount(bits),
+ );
+ defer comp.gpa.free(limbs);
+ var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+ result_bigint.truncate(big, dest_ty.signedness(comp), bits);
+
+ v.* = try intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+}
+
+/// Converts the stored value from an integer to a float.
+/// `.none` value remains unchanged.
+pub fn floatCast(v: *Value, dest_ty: Type, comp: *Compilation) !void {
+ if (v.opt_ref == .none) return;
+ // TODO complex values
+ const bits = dest_ty.makeReal().bitSizeof(comp).?;
+ const f: Interner.Key.Float = switch (bits) {
+ 16 => .{ .f16 = v.toFloat(f16, comp) },
+ 32 => .{ .f32 = v.toFloat(f32, comp) },
+ 64 => .{ .f64 = v.toFloat(f64, comp) },
+ 80 => .{ .f80 = v.toFloat(f80, comp) },
+ 128 => .{ .f128 = v.toFloat(f128, comp) },
+ else => unreachable,
+ };
+ v.* = try intern(comp, .{ .float = f });
+}
+
+pub fn toFloat(v: Value, comptime T: type, comp: *const Compilation) T {
+ return switch (comp.interner.get(v.ref())) {
+ .int => |repr| switch (repr) {
+ inline .u64, .i64 => |data| @floatFromInt(data),
+ .big_int => |data| @floatCast(bigIntToFloat(data.limbs, data.positive)),
+ },
+ .float => |repr| switch (repr) {
+ inline else => |data| @floatCast(data),
+ },
+ else => unreachable,
+ };
+}
+
+fn bigIntToFloat(limbs: []const std.math.big.Limb, positive: bool) f128 {
+ if (limbs.len == 0) return 0;
+
+ const base = std.math.maxInt(std.math.big.Limb) + 1;
+ var result: f128 = 0;
+ var i: usize = limbs.len;
+ while (i != 0) {
+ i -= 1;
+ const limb: f128 = @as(f128, @floatFromInt(limbs[i]));
+ result = @mulAdd(f128, base, result, limb);
+ }
+ if (positive) {
+ return result;
+ } else {
+ return -result;
+ }
+}
+
+pub fn toBigInt(val: Value, space: *BigIntSpace, comp: *const Compilation) BigIntConst {
+ return switch (comp.interner.get(val.ref()).int) {
+ inline .u64, .i64 => |x| BigIntMutable.init(&space.limbs, x).toConst(),
+ .big_int => |b| b,
+ };
+}
+
+pub fn isZero(v: Value, comp: *const Compilation) bool {
+ if (v.opt_ref == .none) return false;
+ switch (v.ref()) {
+ .zero => return true,
+ .one => return false,
+ .null => return target_util.nullRepr(comp.target) == 0,
+ else => {},
+ }
+ const key = comp.interner.get(v.ref());
+ switch (key) {
+ .float => |repr| switch (repr) {
+ inline else => |data| return data == 0,
+ },
+ .int => |repr| switch (repr) {
+ inline .i64, .u64 => |data| return data == 0,
+ .big_int => |data| return data.eqlZero(),
+ },
+ .bytes => return false,
+ else => unreachable,
+ }
+}
+
+/// Converts value to zero or one;
+/// `.none` value remains unchanged.
+pub fn boolCast(v: *Value, comp: *const Compilation) void {
+ if (v.opt_ref == .none) return;
+ v.* = fromBool(v.toBool(comp));
+}
+
+pub fn fromBool(b: bool) Value {
+ return if (b) one else zero;
+}
+
+pub fn toBool(v: Value, comp: *const Compilation) bool {
+ return !v.isZero(comp);
+}
+
+pub fn toInt(v: Value, comptime T: type, comp: *const Compilation) ?T {
+ if (v.opt_ref == .none) return null;
+ if (comp.interner.get(v.ref()) != .int) return null;
+ var space: BigIntSpace = undefined;
+ const big_int = v.toBigInt(&space, comp);
+ return big_int.to(T) catch null;
+}
+
+pub fn add(res: *Value, lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !bool {
+ const bits: usize = @intCast(ty.bitSizeof(comp).?);
+ if (ty.isFloat()) {
+ const f: Interner.Key.Float = switch (bits) {
+ 16 => .{ .f16 = lhs.toFloat(f16, comp) + rhs.toFloat(f16, comp) },
+ 32 => .{ .f32 = lhs.toFloat(f32, comp) + rhs.toFloat(f32, comp) },
+ 64 => .{ .f64 = lhs.toFloat(f64, comp) + rhs.toFloat(f64, comp) },
+ 80 => .{ .f80 = lhs.toFloat(f80, comp) + rhs.toFloat(f80, comp) },
+ 128 => .{ .f128 = lhs.toFloat(f128, comp) + rhs.toFloat(f128, comp) },
+ else => unreachable,
+ };
+ res.* = try intern(comp, .{ .float = f });
+ return false;
+ } else {
+ var lhs_space: BigIntSpace = undefined;
+ var rhs_space: BigIntSpace = undefined;
+ const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+ const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+ const limbs = try comp.gpa.alloc(
+ std.math.big.Limb,
+ std.math.big.int.calcTwosCompLimbCount(bits),
+ );
+ defer comp.gpa.free(limbs);
+ var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+ const overflowed = result_bigint.addWrap(lhs_bigint, rhs_bigint, ty.signedness(comp), bits);
+ res.* = try intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+ return overflowed;
+ }
+}
+
+pub fn sub(res: *Value, lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !bool {
+ const bits: usize = @intCast(ty.bitSizeof(comp).?);
+ if (ty.isFloat()) {
+ const f: Interner.Key.Float = switch (bits) {
+ 16 => .{ .f16 = lhs.toFloat(f16, comp) - rhs.toFloat(f16, comp) },
+ 32 => .{ .f32 = lhs.toFloat(f32, comp) - rhs.toFloat(f32, comp) },
+ 64 => .{ .f64 = lhs.toFloat(f64, comp) - rhs.toFloat(f64, comp) },
+ 80 => .{ .f80 = lhs.toFloat(f80, comp) - rhs.toFloat(f80, comp) },
+ 128 => .{ .f128 = lhs.toFloat(f128, comp) - rhs.toFloat(f128, comp) },
+ else => unreachable,
+ };
+ res.* = try intern(comp, .{ .float = f });
+ return false;
+ } else {
+ var lhs_space: BigIntSpace = undefined;
+ var rhs_space: BigIntSpace = undefined;
+ const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+ const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+ const limbs = try comp.gpa.alloc(
+ std.math.big.Limb,
+ std.math.big.int.calcTwosCompLimbCount(bits),
+ );
+ defer comp.gpa.free(limbs);
+ var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+ const overflowed = result_bigint.subWrap(lhs_bigint, rhs_bigint, ty.signedness(comp), bits);
+ res.* = try intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+ return overflowed;
+ }
+}
+
+pub fn mul(res: *Value, lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !bool {
+ const bits: usize = @intCast(ty.bitSizeof(comp).?);
+ if (ty.isFloat()) {
+ const f: Interner.Key.Float = switch (bits) {
+ 16 => .{ .f16 = lhs.toFloat(f16, comp) * rhs.toFloat(f16, comp) },
+ 32 => .{ .f32 = lhs.toFloat(f32, comp) * rhs.toFloat(f32, comp) },
+ 64 => .{ .f64 = lhs.toFloat(f64, comp) * rhs.toFloat(f64, comp) },
+ 80 => .{ .f80 = lhs.toFloat(f80, comp) * rhs.toFloat(f80, comp) },
+ 128 => .{ .f128 = lhs.toFloat(f128, comp) * rhs.toFloat(f128, comp) },
+ else => unreachable,
+ };
+ res.* = try intern(comp, .{ .float = f });
+ return false;
+ } else {
+ var lhs_space: BigIntSpace = undefined;
+ var rhs_space: BigIntSpace = undefined;
+ const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+ const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+ const limbs = try comp.gpa.alloc(
+ std.math.big.Limb,
+ lhs_bigint.limbs.len + rhs_bigint.limbs.len,
+ );
+ defer comp.gpa.free(limbs);
+ var result_bigint = BigIntMutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+ const limbs_buffer = try comp.gpa.alloc(
+ std.math.big.Limb,
+ std.math.big.int.calcMulLimbsBufferLen(lhs_bigint.limbs.len, rhs_bigint.limbs.len, 1),
+ );
+ defer comp.gpa.free(limbs_buffer);
+
+ result_bigint.mul(lhs_bigint, rhs_bigint, limbs_buffer, comp.gpa);
+
+ const signedness = ty.signedness(comp);
+ const overflowed = !result_bigint.toConst().fitsInTwosComp(signedness, bits);
+ if (overflowed) {
+ result_bigint.truncate(result_bigint.toConst(), signedness, bits);
+ }
+ res.* = try intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+ return overflowed;
+ }
+}
+
+/// caller guarantees rhs != 0
+pub fn div(res: *Value, lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !bool {
+ const bits: usize = @intCast(ty.bitSizeof(comp).?);
+ if (ty.isFloat()) {
+ const f: Interner.Key.Float = switch (bits) {
+ 16 => .{ .f16 = lhs.toFloat(f16, comp) / rhs.toFloat(f16, comp) },
+ 32 => .{ .f32 = lhs.toFloat(f32, comp) / rhs.toFloat(f32, comp) },
+ 64 => .{ .f64 = lhs.toFloat(f64, comp) / rhs.toFloat(f64, comp) },
+ 80 => .{ .f80 = lhs.toFloat(f80, comp) / rhs.toFloat(f80, comp) },
+ 128 => .{ .f128 = lhs.toFloat(f128, comp) / rhs.toFloat(f128, comp) },
+ else => unreachable,
+ };
+ res.* = try intern(comp, .{ .float = f });
+ return false;
+ } else {
+ var lhs_space: BigIntSpace = undefined;
+ var rhs_space: BigIntSpace = undefined;
+ const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+ const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+ const limbs_q = try comp.gpa.alloc(
+ std.math.big.Limb,
+ lhs_bigint.limbs.len,
+ );
+ defer comp.gpa.free(limbs_q);
+ var result_q = BigIntMutable{ .limbs = limbs_q, .positive = undefined, .len = undefined };
+
+ const limbs_r = try comp.gpa.alloc(
+ std.math.big.Limb,
+ rhs_bigint.limbs.len,
+ );
+ defer comp.gpa.free(limbs_r);
+ var result_r = BigIntMutable{ .limbs = limbs_r, .positive = undefined, .len = undefined };
+
+ const limbs_buffer = try comp.gpa.alloc(
+ std.math.big.Limb,
+ std.math.big.int.calcDivLimbsBufferLen(lhs_bigint.limbs.len, rhs_bigint.limbs.len),
+ );
+ defer comp.gpa.free(limbs_buffer);
+
+ result_q.divTrunc(&result_r, lhs_bigint, rhs_bigint, limbs_buffer);
+
+ res.* = try intern(comp, .{ .int = .{ .big_int = result_q.toConst() } });
+ return !result_q.toConst().fitsInTwosComp(ty.signedness(comp), bits);
+ }
+}
+
+/// caller guarantees rhs != 0
+/// caller guarantees lhs != std.math.minInt(T) OR rhs != -1
+pub fn rem(lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !Value {
+ var lhs_space: BigIntSpace = undefined;
+ var rhs_space: BigIntSpace = undefined;
+ const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+ const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+ const signedness = ty.signedness(comp);
+ if (signedness == .signed) {
+ var spaces: [3]BigIntSpace = undefined;
+ const min_val = BigIntMutable.init(&spaces[0].limbs, ty.minInt(comp)).toConst();
+ const negative = BigIntMutable.init(&spaces[1].limbs, -1).toConst();
+ const big_one = BigIntMutable.init(&spaces[2].limbs, 1).toConst();
+ if (lhs_bigint.eql(min_val) and rhs_bigint.eql(negative)) {
+ return .{};
+ } else if (rhs_bigint.order(big_one).compare(.lt)) {
+ // lhs - @divTrunc(lhs, rhs) * rhs
+ var tmp: Value = undefined;
+ _ = try tmp.div(lhs, rhs, ty, comp);
+ _ = try tmp.mul(tmp, rhs, ty, comp);
+ _ = try tmp.sub(lhs, tmp, ty, comp);
+ return tmp;
+ }
+ }
+
+ const limbs_q = try comp.gpa.alloc(
+ std.math.big.Limb,
+ lhs_bigint.limbs.len,
+ );
+ defer comp.gpa.free(limbs_q);
+ var result_q = BigIntMutable{ .limbs = limbs_q, .positive = undefined, .len = undefined };
+
+ const limbs_r = try comp.gpa.alloc(
+ std.math.big.Limb,
+ rhs_bigint.limbs.len,
+ );
+ defer comp.gpa.free(limbs_r);
+ var result_r = BigIntMutable{ .limbs = limbs_r, .positive = undefined, .len = undefined };
+
+ const limbs_buffer = try comp.gpa.alloc(
+ std.math.big.Limb,
+ std.math.big.int.calcDivLimbsBufferLen(lhs_bigint.limbs.len, rhs_bigint.limbs.len),
+ );
+ defer comp.gpa.free(limbs_buffer);
+
+ result_q.divTrunc(&result_r, lhs_bigint, rhs_bigint, limbs_buffer);
+ return intern(comp, .{ .int = .{ .big_int = result_r.toConst() } });
+}
+
+pub fn bitOr(lhs: Value, rhs: Value, comp: *Compilation) !Value {
+ var lhs_space: BigIntSpace = undefined;
+ var rhs_space: BigIntSpace = undefined;
+ const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+ const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+ const limbs = try comp.gpa.alloc(
+ std.math.big.Limb,
+ @max(lhs_bigint.limbs.len, rhs_bigint.limbs.len),
+ );
+ defer comp.gpa.free(limbs);
+ var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+ result_bigint.bitOr(lhs_bigint, rhs_bigint);
+ return intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+}
+
+pub fn bitXor(lhs: Value, rhs: Value, comp: *Compilation) !Value {
+ var lhs_space: BigIntSpace = undefined;
+ var rhs_space: BigIntSpace = undefined;
+ const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+ const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+ const limbs = try comp.gpa.alloc(
+ std.math.big.Limb,
+ @max(lhs_bigint.limbs.len, rhs_bigint.limbs.len),
+ );
+ defer comp.gpa.free(limbs);
+ var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+ result_bigint.bitXor(lhs_bigint, rhs_bigint);
+ return intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+}
+
+pub fn bitAnd(lhs: Value, rhs: Value, comp: *Compilation) !Value {
+ var lhs_space: BigIntSpace = undefined;
+ var rhs_space: BigIntSpace = undefined;
+ const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+ const rhs_bigint = rhs.toBigInt(&rhs_space, comp);
+
+ const limbs = try comp.gpa.alloc(
+ std.math.big.Limb,
+ @max(lhs_bigint.limbs.len, rhs_bigint.limbs.len),
+ );
+ defer comp.gpa.free(limbs);
+ var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+ result_bigint.bitAnd(lhs_bigint, rhs_bigint);
+ return intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+}
+
+pub fn bitNot(val: Value, ty: Type, comp: *Compilation) !Value {
+ const bits: usize = @intCast(ty.bitSizeof(comp).?);
+ var val_space: Value.BigIntSpace = undefined;
+ const val_bigint = val.toBigInt(&val_space, comp);
+
+ const limbs = try comp.gpa.alloc(
+ std.math.big.Limb,
+ std.math.big.int.calcTwosCompLimbCount(bits),
+ );
+ defer comp.gpa.free(limbs);
+ var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+ result_bigint.bitNotWrap(val_bigint, ty.signedness(comp), bits);
+ return intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+}
+
+pub fn shl(res: *Value, lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !bool {
+ var lhs_space: Value.BigIntSpace = undefined;
+ const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+ const shift = rhs.toInt(usize, comp) orelse std.math.maxInt(usize);
+
+ const bits: usize = @intCast(ty.bitSizeof(comp).?);
+ if (shift > bits) {
+ if (lhs_bigint.positive) {
+ res.* = try intern(comp, .{ .int = .{ .u64 = ty.maxInt(comp) } });
+ } else {
+ res.* = try intern(comp, .{ .int = .{ .i64 = ty.minInt(comp) } });
+ }
+ return true;
+ }
+
+ const limbs = try comp.gpa.alloc(
+ std.math.big.Limb,
+ lhs_bigint.limbs.len + (shift / (@sizeOf(std.math.big.Limb) * 8)) + 1,
+ );
+ defer comp.gpa.free(limbs);
+ var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+ result_bigint.shiftLeft(lhs_bigint, shift);
+ const signedness = ty.signedness(comp);
+ const overflowed = !result_bigint.toConst().fitsInTwosComp(signedness, bits);
+ if (overflowed) {
+ result_bigint.truncate(result_bigint.toConst(), signedness, bits);
+ }
+ res.* = try intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+ return overflowed;
+}
+
+pub fn shr(lhs: Value, rhs: Value, ty: Type, comp: *Compilation) !Value {
+ var lhs_space: Value.BigIntSpace = undefined;
+ const lhs_bigint = lhs.toBigInt(&lhs_space, comp);
+ const shift = rhs.toInt(usize, comp) orelse return zero;
+
+ const result_limbs = lhs_bigint.limbs.len -| (shift / (@sizeOf(std.math.big.Limb) * 8));
+ if (result_limbs == 0) {
+ // The shift is enough to remove all the bits from the number, which means the
+ // result is 0 or -1 depending on the sign.
+ if (lhs_bigint.positive) {
+ return zero;
+ } else {
+ return intern(comp, .{ .int = .{ .i64 = -1 } });
+ }
+ }
+
+ const bits: usize = @intCast(ty.bitSizeof(comp).?);
+ const limbs = try comp.gpa.alloc(
+ std.math.big.Limb,
+ std.math.big.int.calcTwosCompLimbCount(bits),
+ );
+ defer comp.gpa.free(limbs);
+ var result_bigint = std.math.big.int.Mutable{ .limbs = limbs, .positive = undefined, .len = undefined };
+
+ result_bigint.shiftRight(lhs_bigint, shift);
+ return intern(comp, .{ .int = .{ .big_int = result_bigint.toConst() } });
+}
+
+pub fn compare(lhs: Value, op: std.math.CompareOperator, rhs: Value, comp: *const Compilation) bool {
+ if (op == .eq) {
+ return lhs.opt_ref == rhs.opt_ref;
+ } else if (lhs.opt_ref == rhs.opt_ref) {
+ return std.math.Order.eq.compare(op);
+ }
+
+ const lhs_key = comp.interner.get(lhs.ref());
+ const rhs_key = comp.interner.get(rhs.ref());
+ if (lhs_key == .float or rhs_key == .float) {
+ const lhs_f128 = lhs.toFloat(f128, comp);
+ const rhs_f128 = rhs.toFloat(f128, comp);
+ return std.math.compare(lhs_f128, op, rhs_f128);
+ }
+
+ var lhs_bigint_space: BigIntSpace = undefined;
+ var rhs_bigint_space: BigIntSpace = undefined;
+ const lhs_bigint = lhs.toBigInt(&lhs_bigint_space, comp);
+ const rhs_bigint = rhs.toBigInt(&rhs_bigint_space, comp);
+ return lhs_bigint.order(rhs_bigint).compare(op);
+}
+
+pub fn print(v: Value, ty: Type, comp: *const Compilation, w: anytype) @TypeOf(w).Error!void {
+ if (ty.is(.bool)) {
+ return w.writeAll(if (v.isZero(comp)) "false" else "true");
+ }
+ const key = comp.interner.get(v.ref());
+ switch (key) {
+ .null => return w.writeAll("nullptr_t"),
+ .int => |repr| switch (repr) {
+ inline else => |x| return w.print("{d}", .{x}),
+ },
+ .float => |repr| switch (repr) {
+ .f16 => |x| return w.print("{d}", .{@round(@as(f64, @floatCast(x)) * 1000) / 1000}),
+ .f32 => |x| return w.print("{d}", .{@round(@as(f64, @floatCast(x)) * 1000000) / 1000000}),
+ inline else => |x| return w.print("{d}", .{@as(f64, @floatCast(x))}),
+ },
+ .bytes => |b| return printString(b, ty, comp, w),
+ else => unreachable, // not a value
+ }
+}
+
+pub fn printString(bytes: []const u8, ty: Type, comp: *const Compilation, w: anytype) @TypeOf(w).Error!void {
+ const size: Compilation.CharUnitSize = @enumFromInt(ty.elemType().sizeof(comp).?);
+ const without_null = bytes[0 .. bytes.len - @intFromEnum(size)];
+ switch (size) {
+ inline .@"1", .@"2" => |sz| {
+ const data_slice: []const sz.Type() = @alignCast(std.mem.bytesAsSlice(sz.Type(), without_null));
+ const formatter = if (sz == .@"1") std.zig.fmtEscapes(data_slice) else std.unicode.fmtUtf16le(data_slice);
+ try w.print("\"{}\"", .{formatter});
+ },
+ .@"4" => {
+ try w.writeByte('"');
+ const data_slice = std.mem.bytesAsSlice(u32, without_null);
+ var buf: [4]u8 = undefined;
+ for (data_slice) |item| {
+ if (item <= std.math.maxInt(u21) and std.unicode.utf8ValidCodepoint(@intCast(item))) {
+ const codepoint: u21 = @intCast(item);
+ const written = std.unicode.utf8Encode(codepoint, &buf) catch unreachable;
+ try w.print("{s}", .{buf[0..written]});
+ } else {
+ try w.print("\\x{x}", .{item});
+ }
+ }
+ try w.writeByte('"');
+ },
+ }
+}
deps/aro/backend/Ir/x86/Renderer.zig
@@ -0,0 +1,65 @@
+const std = @import("std");
+const Allocator = std.mem.Allocator;
+const assert = std.debug.assert;
+const Interner = @import("../../Interner.zig");
+const Ir = @import("../../Ir.zig");
+const BaseRenderer = Ir.Renderer;
+const zig = @import("zig");
+const abi = zig.arch.x86_64.abi;
+const bits = zig.arch.x86_64.bits;
+
+const Condition = bits.Condition;
+const Immediate = bits.Immediate;
+const Memory = bits.Memory;
+const Register = bits.Register;
+const RegisterLock = RegisterManager.RegisterLock;
+const FrameIndex = bits.FrameIndex;
+
+const RegisterManager = zig.RegisterManager(Renderer, Register, Ir.Ref, abi.allocatable_regs);
+
+// Register classes
+const RegisterBitSet = RegisterManager.RegisterBitSet;
+const RegisterClass = struct {
+ const gp: RegisterBitSet = blk: {
+ var set = RegisterBitSet.initEmpty();
+ for (abi.allocatable_regs, 0..) |reg, index| if (reg.class() == .general_purpose) set.set(index);
+ break :blk set;
+ };
+ const x87: RegisterBitSet = blk: {
+ var set = RegisterBitSet.initEmpty();
+ for (abi.allocatable_regs, 0..) |reg, index| if (reg.class() == .x87) set.set(index);
+ break :blk set;
+ };
+ const sse: RegisterBitSet = blk: {
+ var set = RegisterBitSet.initEmpty();
+ for (abi.allocatable_regs, 0..) |reg, index| if (reg.class() == .sse) set.set(index);
+ break :blk set;
+ };
+};
+
+const Renderer = @This();
+
+base: *BaseRenderer,
+interner: *Interner,
+
+register_manager: RegisterManager = .{},
+
+pub fn render(base: *BaseRenderer) !void {
+ var renderer: Renderer = .{
+ .base = base,
+ .interner = base.ir.interner,
+ };
+
+ for (renderer.base.ir.decls.keys(), renderer.base.ir.decls.values()) |name, decl| {
+ renderer.renderFn(name, decl) catch |e| switch (e) {
+ error.OutOfMemory => return e,
+ error.LowerFail => continue,
+ };
+ }
+ if (renderer.base.errors.entries.len != 0) return error.LowerFail;
+}
+
+fn renderFn(r: *Renderer, name: []const u8, decl: Ir.Decl) !void {
+ _ = decl;
+ return r.base.fail(name, "TODO implement lowering functions", .{});
+}
deps/aro/object/Elf.zig → deps/aro/backend/Object/Elf.zig
@@ -1,9 +1,8 @@
const std = @import("std");
-const Compilation = @import("../Compilation.zig");
+const Allocator = std.mem.Allocator;
+const Target = std.Target;
const Object = @import("../Object.zig");
-const Elf = @This();
-
const Section = struct {
data: std.ArrayList(u8),
relocations: std.ArrayListUnmanaged(Relocation) = .{},
@@ -34,6 +33,8 @@ const strtab_default = "\x00.strtab\x00.symtab\x00";
const strtab_name = 1;
const symtab_name = "\x00.strtab\x00".len;
+const Elf = @This();
+
obj: Object,
/// The keys are owned by the Codegen.tree
sections: std.StringHashMapUnmanaged(*Section) = .{},
@@ -43,11 +44,11 @@ unnamed_symbol_mangle: u32 = 0,
strtab_len: u64 = strtab_default.len,
arena: std.heap.ArenaAllocator,
-pub fn create(comp: *Compilation) !*Object {
- const elf = try comp.gpa.create(Elf);
+pub fn create(gpa: Allocator, target: Target) !*Object {
+ const elf = try gpa.create(Elf);
elf.* = .{
- .obj = .{ .format = .elf, .comp = comp },
- .arena = std.heap.ArenaAllocator.init(comp.gpa),
+ .obj = .{ .format = .elf, .target = target },
+ .arena = std.heap.ArenaAllocator.init(gpa),
};
return &elf.obj;
}
@@ -195,10 +196,10 @@ pub fn finish(elf: *Elf, file: std.fs.File) !void {
const sh_offset = strtab_offset + elf.strtab_len;
const sh_offset_aligned = std.mem.alignForward(u64, sh_offset, 16);
- var elf_header = std.elf.Elf64_Ehdr{
+ const elf_header = std.elf.Elf64_Ehdr{
.e_ident = .{ 0x7F, 'E', 'L', 'F', 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
.e_type = std.elf.ET.REL, // we only produce relocatables
- .e_machine = elf.obj.comp.target.cpu.arch.toElfMachine(),
+ .e_machine = elf.obj.target.cpu.arch.toElfMachine(),
.e_version = 1,
.e_entry = 0, // linker will handle this
.e_phoff = 0, // no program header
@@ -298,7 +299,7 @@ pub fn finish(elf: *Elf, file: std.fs.File) !void {
// write strtab section header
{
- var sect_header = std.elf.Elf64_Shdr{
+ const sect_header = std.elf.Elf64_Shdr{
.sh_name = strtab_name,
.sh_type = std.elf.SHT_STRTAB,
.sh_flags = 0,
@@ -315,7 +316,7 @@ pub fn finish(elf: *Elf, file: std.fs.File) !void {
// write symtab section header
{
- var sect_header = std.elf.Elf64_Shdr{
+ const sect_header = std.elf.Elf64_Shdr{
.sh_name = symtab_name,
.sh_type = std.elf.SHT_SYMTAB,
.sh_flags = 0,
deps/aro/backend/Interner.zig
@@ -0,0 +1,647 @@
+const std = @import("std");
+const Allocator = std.mem.Allocator;
+const assert = std.debug.assert;
+const BigIntConst = std.math.big.int.Const;
+const BigIntMutable = std.math.big.int.Mutable;
+const Hash = std.hash.Wyhash;
+const Limb = std.math.big.Limb;
+
+const Interner = @This();
+
+map: std.AutoArrayHashMapUnmanaged(void, void) = .{},
+items: std.MultiArrayList(struct {
+ tag: Tag,
+ data: u32,
+}) = .{},
+extra: std.ArrayListUnmanaged(u32) = .{},
+limbs: std.ArrayListUnmanaged(Limb) = .{},
+strings: std.ArrayListUnmanaged(u8) = .{},
+
+const KeyAdapter = struct {
+ interner: *const Interner,
+
+ pub fn eql(adapter: KeyAdapter, a: Key, b_void: void, b_map_index: usize) bool {
+ _ = b_void;
+ return adapter.interner.get(@as(Ref, @enumFromInt(b_map_index))).eql(a);
+ }
+
+ pub fn hash(adapter: KeyAdapter, a: Key) u32 {
+ _ = adapter;
+ return a.hash();
+ }
+};
+
+pub const Key = union(enum) {
+ int_ty: u16,
+ float_ty: u16,
+ ptr_ty,
+ noreturn_ty,
+ void_ty,
+ func_ty,
+ array_ty: struct {
+ len: u64,
+ child: Ref,
+ },
+ vector_ty: struct {
+ len: u32,
+ child: Ref,
+ },
+ record_ty: []const Ref,
+ /// May not be zero
+ null,
+ int: union(enum) {
+ u64: u64,
+ i64: i64,
+ big_int: BigIntConst,
+
+ pub fn toBigInt(repr: @This(), space: *Tag.Int.BigIntSpace) BigIntConst {
+ return switch (repr) {
+ .big_int => |x| x,
+ inline .u64, .i64 => |x| BigIntMutable.init(&space.limbs, x).toConst(),
+ };
+ }
+ },
+ float: Float,
+ bytes: []const u8,
+
+ pub const Float = union(enum) {
+ f16: f16,
+ f32: f32,
+ f64: f64,
+ f80: f80,
+ f128: f128,
+ };
+
+ pub fn hash(key: Key) u32 {
+ var hasher = Hash.init(0);
+ const tag = std.meta.activeTag(key);
+ std.hash.autoHash(&hasher, tag);
+ switch (key) {
+ .bytes => |bytes| {
+ hasher.update(bytes);
+ },
+ .record_ty => |elems| for (elems) |elem| {
+ std.hash.autoHash(&hasher, elem);
+ },
+ .float => |repr| switch (repr) {
+ inline else => |data| std.hash.autoHash(
+ &hasher,
+ @as(std.meta.Int(.unsigned, @bitSizeOf(@TypeOf(data))), @bitCast(data)),
+ ),
+ },
+ .int => |repr| {
+ var space: Tag.Int.BigIntSpace = undefined;
+ const big = repr.toBigInt(&space);
+ std.hash.autoHash(&hasher, big.positive);
+ for (big.limbs) |limb| std.hash.autoHash(&hasher, limb);
+ },
+ inline else => |info| {
+ std.hash.autoHash(&hasher, info);
+ },
+ }
+ return @truncate(hasher.final());
+ }
+
+ pub fn eql(a: Key, b: Key) bool {
+ const KeyTag = std.meta.Tag(Key);
+ const a_tag: KeyTag = a;
+ const b_tag: KeyTag = b;
+ if (a_tag != b_tag) return false;
+ switch (a) {
+ .record_ty => |a_elems| {
+ const b_elems = b.record_ty;
+ if (a_elems.len != b_elems.len) return false;
+ for (a_elems, b_elems) |a_elem, b_elem| {
+ if (a_elem != b_elem) return false;
+ }
+ return true;
+ },
+ .bytes => |a_bytes| {
+ const b_bytes = b.bytes;
+ return std.mem.eql(u8, a_bytes, b_bytes);
+ },
+ .int => |a_repr| {
+ var a_space: Tag.Int.BigIntSpace = undefined;
+ const a_big = a_repr.toBigInt(&a_space);
+ var b_space: Tag.Int.BigIntSpace = undefined;
+ const b_big = b.int.toBigInt(&b_space);
+
+ return a_big.eql(b_big);
+ },
+ inline else => |a_info, tag| {
+ const b_info = @field(b, @tagName(tag));
+ return std.meta.eql(a_info, b_info);
+ },
+ }
+ }
+
+ fn toRef(key: Key) ?Ref {
+ switch (key) {
+ .int_ty => |bits| switch (bits) {
+ 1 => return .i1,
+ 8 => return .i8,
+ 16 => return .i16,
+ 32 => return .i32,
+ 64 => return .i64,
+ 128 => return .i128,
+ else => {},
+ },
+ .float_ty => |bits| switch (bits) {
+ 16 => return .f16,
+ 32 => return .f32,
+ 64 => return .f64,
+ 80 => return .f80,
+ 128 => return .f128,
+ else => unreachable,
+ },
+ .ptr_ty => return .ptr,
+ .func_ty => return .func,
+ .noreturn_ty => return .noreturn,
+ .void_ty => return .void,
+ .int => |repr| {
+ var space: Tag.Int.BigIntSpace = undefined;
+ const big = repr.toBigInt(&space);
+ if (big.eqlZero()) return .zero;
+ const big_one = BigIntConst{ .limbs = &.{1}, .positive = true };
+ if (big.eql(big_one)) return .one;
+ },
+ .float => |repr| switch (repr) {
+ inline else => |data| {
+ if (std.math.isPositiveZero(data)) return .zero;
+ if (data == 1) return .one;
+ },
+ },
+ .null => return .null,
+ else => {},
+ }
+ return null;
+ }
+};
+
+pub const Ref = enum(u32) {
+ const max = std.math.maxInt(u32);
+
+ ptr = max - 1,
+ noreturn = max - 2,
+ void = max - 3,
+ i1 = max - 4,
+ i8 = max - 5,
+ i16 = max - 6,
+ i32 = max - 7,
+ i64 = max - 8,
+ i128 = max - 9,
+ f16 = max - 10,
+ f32 = max - 11,
+ f64 = max - 12,
+ f80 = max - 13,
+ f128 = max - 14,
+ func = max - 15,
+ zero = max - 16,
+ one = max - 17,
+ null = max - 18,
+ _,
+};
+
+pub const OptRef = enum(u32) {
+ const max = std.math.maxInt(u32);
+
+ none = max - 0,
+ ptr = max - 1,
+ noreturn = max - 2,
+ void = max - 3,
+ i1 = max - 4,
+ i8 = max - 5,
+ i16 = max - 6,
+ i32 = max - 7,
+ i64 = max - 8,
+ i128 = max - 9,
+ f16 = max - 10,
+ f32 = max - 11,
+ f64 = max - 12,
+ f80 = max - 13,
+ f128 = max - 14,
+ func = max - 15,
+ zero = max - 16,
+ one = max - 17,
+ null = max - 18,
+ _,
+};
+
+pub const Tag = enum(u8) {
+ /// `data` is `u16`
+ int_ty,
+ /// `data` is `u16`
+ float_ty,
+ /// `data` is index to `Array`
+ array_ty,
+ /// `data` is index to `Vector`
+ vector_ty,
+ /// `data` is `u32`
+ u32,
+ /// `data` is `i32`
+ i32,
+ /// `data` is `Int`
+ int_positive,
+ /// `data` is `Int`
+ int_negative,
+ /// `data` is `f16`
+ f16,
+ /// `data` is `f32`
+ f32,
+ /// `data` is `F64`
+ f64,
+ /// `data` is `F80`
+ f80,
+ /// `data` is `F128`
+ f128,
+ /// `data` is `Bytes`
+ bytes,
+ /// `data` is `Record`
+ record_ty,
+
+ pub const Array = struct {
+ len0: u32,
+ len1: u32,
+ child: Ref,
+
+ pub fn getLen(a: Array) u64 {
+ return (PackedU64{
+ .a = a.len0,
+ .b = a.len1,
+ }).get();
+ }
+ };
+
+ pub const Vector = struct {
+ len: u32,
+ child: Ref,
+ };
+
+ pub const Int = struct {
+ limbs_index: u32,
+ limbs_len: u32,
+
+ /// Big enough to fit any non-BigInt value
+ pub const BigIntSpace = struct {
+ /// The +1 is headroom so that operations such as incrementing once
+ /// or decrementing once are possible without using an allocator.
+ limbs: [(@sizeOf(u64) / @sizeOf(std.math.big.Limb)) + 1]std.math.big.Limb,
+ };
+ };
+
+ pub const F64 = struct {
+ piece0: u32,
+ piece1: u32,
+
+ pub fn get(self: F64) f64 {
+ const int_bits = @as(u64, self.piece0) | (@as(u64, self.piece1) << 32);
+ return @bitCast(int_bits);
+ }
+
+ fn pack(val: f64) F64 {
+ const bits = @as(u64, @bitCast(val));
+ return .{
+ .piece0 = @as(u32, @truncate(bits)),
+ .piece1 = @as(u32, @truncate(bits >> 32)),
+ };
+ }
+ };
+
+ pub const F80 = struct {
+ piece0: u32,
+ piece1: u32,
+ piece2: u32, // u16 part, top bits
+
+ pub fn get(self: F80) f80 {
+ const int_bits = @as(u80, self.piece0) |
+ (@as(u80, self.piece1) << 32) |
+ (@as(u80, self.piece2) << 64);
+ return @bitCast(int_bits);
+ }
+
+ fn pack(val: f80) F80 {
+ const bits = @as(u80, @bitCast(val));
+ return .{
+ .piece0 = @as(u32, @truncate(bits)),
+ .piece1 = @as(u32, @truncate(bits >> 32)),
+ .piece2 = @as(u16, @truncate(bits >> 64)),
+ };
+ }
+ };
+
+ pub const F128 = struct {
+ piece0: u32,
+ piece1: u32,
+ piece2: u32,
+ piece3: u32,
+
+ pub fn get(self: F128) f128 {
+ const int_bits = @as(u128, self.piece0) |
+ (@as(u128, self.piece1) << 32) |
+ (@as(u128, self.piece2) << 64) |
+ (@as(u128, self.piece3) << 96);
+ return @bitCast(int_bits);
+ }
+
+ fn pack(val: f128) F128 {
+ const bits = @as(u128, @bitCast(val));
+ return .{
+ .piece0 = @as(u32, @truncate(bits)),
+ .piece1 = @as(u32, @truncate(bits >> 32)),
+ .piece2 = @as(u32, @truncate(bits >> 64)),
+ .piece3 = @as(u32, @truncate(bits >> 96)),
+ };
+ }
+ };
+
+ pub const Bytes = struct {
+ strings_index: u32,
+ len: u32,
+ };
+
+ pub const Record = struct {
+ elements_len: u32,
+ // trailing
+ // [elements_len]Ref
+ };
+};
+
+pub const PackedU64 = packed struct(u64) {
+ a: u32,
+ b: u32,
+
+ pub fn get(x: PackedU64) u64 {
+ return @bitCast(x);
+ }
+
+ pub fn init(x: u64) PackedU64 {
+ return @bitCast(x);
+ }
+};
+
+pub fn deinit(i: *Interner, gpa: Allocator) void {
+ i.map.deinit(gpa);
+ i.items.deinit(gpa);
+ i.extra.deinit(gpa);
+ i.limbs.deinit(gpa);
+ i.strings.deinit(gpa);
+}
+
+pub fn put(i: *Interner, gpa: Allocator, key: Key) !Ref {
+ if (key.toRef()) |some| return some;
+ const adapter: KeyAdapter = .{ .interner = i };
+ const gop = try i.map.getOrPutAdapted(gpa, key, adapter);
+ if (gop.found_existing) return @enumFromInt(gop.index);
+ try i.items.ensureUnusedCapacity(gpa, 1);
+
+ switch (key) {
+ .int_ty => |bits| {
+ i.items.appendAssumeCapacity(.{
+ .tag = .int_ty,
+ .data = bits,
+ });
+ },
+ .float_ty => |bits| {
+ i.items.appendAssumeCapacity(.{
+ .tag = .float_ty,
+ .data = bits,
+ });
+ },
+ .array_ty => |info| {
+ const split_len = PackedU64.init(info.len);
+ i.items.appendAssumeCapacity(.{
+ .tag = .array_ty,
+ .data = try i.addExtra(gpa, Tag.Array{
+ .len0 = split_len.a,
+ .len1 = split_len.b,
+ .child = info.child,
+ }),
+ });
+ },
+ .vector_ty => |info| {
+ i.items.appendAssumeCapacity(.{
+ .tag = .vector_ty,
+ .data = try i.addExtra(gpa, Tag.Vector{
+ .len = info.len,
+ .child = info.child,
+ }),
+ });
+ },
+ .int => |repr| int: {
+ var space: Tag.Int.BigIntSpace = undefined;
+ const big = repr.toBigInt(&space);
+ switch (repr) {
+ .u64 => |data| if (std.math.cast(u32, data)) |small| {
+ i.items.appendAssumeCapacity(.{
+ .tag = .u32,
+ .data = small,
+ });
+ break :int;
+ },
+ .i64 => |data| if (std.math.cast(i32, data)) |small| {
+ i.items.appendAssumeCapacity(.{
+ .tag = .i32,
+ .data = @bitCast(small),
+ });
+ break :int;
+ },
+ .big_int => |data| {
+ if (data.fitsInTwosComp(.unsigned, 32)) {
+ i.items.appendAssumeCapacity(.{
+ .tag = .u32,
+ .data = data.to(u32) catch unreachable,
+ });
+ break :int;
+ } else if (data.fitsInTwosComp(.signed, 32)) {
+ i.items.appendAssumeCapacity(.{
+ .tag = .i32,
+ .data = @bitCast(data.to(i32) catch unreachable),
+ });
+ break :int;
+ }
+ },
+ }
+ const limbs_index: u32 = @intCast(i.limbs.items.len);
+ try i.limbs.appendSlice(gpa, big.limbs);
+ i.items.appendAssumeCapacity(.{
+ .tag = if (big.positive) .int_positive else .int_negative,
+ .data = try i.addExtra(gpa, Tag.Int{
+ .limbs_index = limbs_index,
+ .limbs_len = @intCast(big.limbs.len),
+ }),
+ });
+ },
+ .float => |repr| switch (repr) {
+ .f16 => |data| i.items.appendAssumeCapacity(.{
+ .tag = .f16,
+ .data = @as(u16, @bitCast(data)),
+ }),
+ .f32 => |data| i.items.appendAssumeCapacity(.{
+ .tag = .f32,
+ .data = @as(u32, @bitCast(data)),
+ }),
+ .f64 => |data| i.items.appendAssumeCapacity(.{
+ .tag = .f64,
+ .data = try i.addExtra(gpa, Tag.F64.pack(data)),
+ }),
+ .f80 => |data| i.items.appendAssumeCapacity(.{
+ .tag = .f64,
+ .data = try i.addExtra(gpa, Tag.F80.pack(data)),
+ }),
+ .f128 => |data| i.items.appendAssumeCapacity(.{
+ .tag = .f64,
+ .data = try i.addExtra(gpa, Tag.F128.pack(data)),
+ }),
+ },
+ .bytes => |bytes| {
+ const strings_index: u32 = @intCast(i.strings.items.len);
+ try i.strings.appendSlice(gpa, bytes);
+ i.items.appendAssumeCapacity(.{
+ .tag = .bytes,
+ .data = try i.addExtra(gpa, Tag.Bytes{
+ .strings_index = strings_index,
+ .len = @intCast(bytes.len),
+ }),
+ });
+ },
+ .record_ty => |elems| {
+ try i.extra.ensureUnusedCapacity(gpa, @typeInfo(Tag.Record).Struct.fields.len +
+ elems.len);
+ i.items.appendAssumeCapacity(.{
+ .tag = .record_ty,
+ .data = i.addExtraAssumeCapacity(Tag.Record{
+ .elements_len = @intCast(elems.len),
+ }),
+ });
+ i.extra.appendSliceAssumeCapacity(@ptrCast(elems));
+ },
+ .ptr_ty,
+ .noreturn_ty,
+ .void_ty,
+ .func_ty,
+ .null,
+ => unreachable,
+ }
+
+ return @enumFromInt(gop.index);
+}
+
+fn addExtra(i: *Interner, gpa: Allocator, extra: anytype) Allocator.Error!u32 {
+ const fields = @typeInfo(@TypeOf(extra)).Struct.fields;
+ try i.extra.ensureUnusedCapacity(gpa, fields.len);
+ return i.addExtraAssumeCapacity(extra);
+}
+
+fn addExtraAssumeCapacity(i: *Interner, extra: anytype) u32 {
+ const result = @as(u32, @intCast(i.extra.items.len));
+ inline for (@typeInfo(@TypeOf(extra)).Struct.fields) |field| {
+ i.extra.appendAssumeCapacity(switch (field.type) {
+ Ref => @intFromEnum(@field(extra, field.name)),
+ u32 => @field(extra, field.name),
+ else => @compileError("bad field type: " ++ @typeName(field.type)),
+ });
+ }
+ return result;
+}
+
+pub fn get(i: *const Interner, ref: Ref) Key {
+ switch (ref) {
+ .ptr => return .ptr_ty,
+ .func => return .func_ty,
+ .noreturn => return .noreturn_ty,
+ .void => return .void_ty,
+ .i1 => return .{ .int_ty = 1 },
+ .i8 => return .{ .int_ty = 8 },
+ .i16 => return .{ .int_ty = 16 },
+ .i32 => return .{ .int_ty = 32 },
+ .i64 => return .{ .int_ty = 64 },
+ .i128 => return .{ .int_ty = 128 },
+ .f16 => return .{ .float_ty = 16 },
+ .f32 => return .{ .float_ty = 32 },
+ .f64 => return .{ .float_ty = 64 },
+ .f80 => return .{ .float_ty = 80 },
+ .f128 => return .{ .float_ty = 128 },
+ .zero => return .{ .int = .{ .u64 = 0 } },
+ .one => return .{ .int = .{ .u64 = 1 } },
+ .null => return .null,
+ else => {},
+ }
+
+ const item = i.items.get(@intFromEnum(ref));
+ const data = item.data;
+ return switch (item.tag) {
+ .int_ty => .{ .int_ty = @intCast(data) },
+ .float_ty => .{ .float_ty = @intCast(data) },
+ .array_ty => {
+ const array_ty = i.extraData(Tag.Array, data);
+ return .{ .array_ty = .{
+ .len = array_ty.getLen(),
+ .child = array_ty.child,
+ } };
+ },
+ .vector_ty => {
+ const vector_ty = i.extraData(Tag.Vector, data);
+ return .{ .vector_ty = .{
+ .len = vector_ty.len,
+ .child = vector_ty.child,
+ } };
+ },
+ .u32 => .{ .int = .{ .u64 = data } },
+ .i32 => .{ .int = .{ .i64 = @as(i32, @bitCast(data)) } },
+ .int_positive, .int_negative => {
+ const int_info = i.extraData(Tag.Int, data);
+ const limbs = i.limbs.items[int_info.limbs_index..][0..int_info.limbs_len];
+ return .{ .int = .{
+ .big_int = .{
+ .positive = item.tag == .int_positive,
+ .limbs = limbs,
+ },
+ } };
+ },
+ .f16 => .{ .float = .{ .f16 = @bitCast(@as(u16, @intCast(data))) } },
+ .f32 => .{ .float = .{ .f32 = @bitCast(data) } },
+ .f64 => {
+ const float = i.extraData(Tag.F64, data);
+ return .{ .float = .{ .f64 = float.get() } };
+ },
+ .f80 => {
+ const float = i.extraData(Tag.F80, data);
+ return .{ .float = .{ .f80 = float.get() } };
+ },
+ .f128 => {
+ const float = i.extraData(Tag.F128, data);
+ return .{ .float = .{ .f128 = float.get() } };
+ },
+ .bytes => {
+ const bytes = i.extraData(Tag.Bytes, data);
+ return .{ .bytes = i.strings.items[bytes.strings_index..][0..bytes.len] };
+ },
+ .record_ty => {
+ const extra = i.extraDataTrail(Tag.Record, data);
+ return .{
+ .record_ty = @ptrCast(i.extra.items[extra.end..][0..extra.data.elements_len]),
+ };
+ },
+ };
+}
+
+fn extraData(i: *const Interner, comptime T: type, index: usize) T {
+ return i.extraDataTrail(T, index).data;
+}
+
+fn extraDataTrail(i: *const Interner, comptime T: type, index: usize) struct { data: T, end: u32 } {
+ var result: T = undefined;
+ const fields = @typeInfo(T).Struct.fields;
+ inline for (fields, 0..) |field, field_i| {
+ const int32 = i.extra.items[field_i + index];
+ @field(result, field.name) = switch (field.type) {
+ Ref => @enumFromInt(int32),
+ u32 => int32,
+ else => @compileError("bad field type: " ++ @typeName(field.type)),
+ };
+ }
+ return .{
+ .data = result,
+ .end = @intCast(index + fields.len),
+ };
+}
deps/aro/Ir.zig → deps/aro/backend/Ir.zig
@@ -1,51 +1,79 @@
const std = @import("std");
-const assert = std.debug.assert;
const Allocator = std.mem.Allocator;
-const Compilation = @import("Compilation.zig");
+const assert = std.debug.assert;
const Interner = @import("Interner.zig");
-const StringId = @import("StringInterner.zig").StringId;
-const Value = @import("Value.zig");
+const Object = @import("Object.zig");
const Ir = @This();
-pool: Interner,
-strings: []const u8,
-// decls: std.StringArrayHashMapUnmanaged(Decl),
+interner: *Interner,
+decls: std.StringArrayHashMapUnmanaged(Decl),
+
+pub const Decl = struct {
+ instructions: std.MultiArrayList(Inst),
+ body: std.ArrayListUnmanaged(Ref),
+ arena: std.heap.ArenaAllocator.State,
-// pub const Decl = struct {
-instructions: std.MultiArrayList(Inst),
-body: std.ArrayListUnmanaged(Ref),
-arena: std.heap.ArenaAllocator.State,
-// };
+ pub fn deinit(decl: *Decl, gpa: Allocator) void {
+ decl.instructions.deinit(gpa);
+ decl.body.deinit(gpa);
+ decl.arena.promote(gpa).deinit();
+ }
+};
pub const Builder = struct {
gpa: Allocator,
arena: std.heap.ArenaAllocator,
+ interner: *Interner,
+
+ decls: std.StringArrayHashMapUnmanaged(Decl) = .{},
instructions: std.MultiArrayList(Ir.Inst) = .{},
body: std.ArrayListUnmanaged(Ref) = .{},
alloc_count: u32 = 0,
arg_count: u32 = 0,
- pool: Interner = .{},
current_label: Ref = undefined,
pub fn deinit(b: *Builder) void {
+ for (b.decls.values()) |*decl| {
+ decl.deinit(b.gpa);
+ }
b.arena.deinit();
b.instructions.deinit(b.gpa);
b.body.deinit(b.gpa);
- b.pool.deinit(b.gpa);
b.* = undefined;
}
+ pub fn finish(b: *Builder) Ir {
+ return .{
+ .interner = b.interner,
+ .decls = b.decls.move(),
+ };
+ }
+
pub fn startFn(b: *Builder) Allocator.Error!void {
- b.alloc_count = 0;
- b.arg_count = 0;
- b.instructions.len = 0;
- b.body.items.len = 0;
const entry = try b.makeLabel("entry");
try b.body.append(b.gpa, entry);
b.current_label = entry;
}
+ pub fn finishFn(b: *Builder, name: []const u8) !void {
+ var duped_instructions = try b.instructions.clone(b.gpa);
+ errdefer duped_instructions.deinit(b.gpa);
+ var duped_body = try b.body.clone(b.gpa);
+ errdefer duped_body.deinit(b.gpa);
+
+ try b.decls.put(b.gpa, name, .{
+ .instructions = duped_instructions,
+ .body = duped_body,
+ .arena = b.arena.state,
+ });
+ b.instructions.shrinkRetainingCapacity(0);
+ b.body.shrinkRetainingCapacity(0);
+ b.arena = std.heap.ArenaAllocator.init(b.gpa);
+ b.alloc_count = 0;
+ b.arg_count = 0;
+ }
+
pub fn startBlock(b: *Builder, label: Ref) !void {
try b.body.append(b.gpa, label);
b.current_label = label;
@@ -116,15 +144,13 @@ pub const Builder = struct {
_ = try b.addInst(.store, .{ .bin = .{ .lhs = ptr, .rhs = val } }, .void);
}
- pub fn addConstant(b: *Builder, val: Value, ty: Interner.Ref) Allocator.Error!Ref {
+ pub fn addConstant(b: *Builder, val: Interner.Ref, ty: Interner.Ref) Allocator.Error!Ref {
const ref: Ref = @enumFromInt(b.instructions.len);
- const key: Interner.Key = .{
- .value = val,
- };
- const val_ref = try b.pool.put(b.gpa, key);
- try b.instructions.append(b.gpa, .{ .tag = .constant, .data = .{
- .constant = val_ref,
- }, .ty = ty });
+ try b.instructions.append(b.gpa, .{
+ .tag = .constant,
+ .data = .{ .constant = val },
+ .ty = ty,
+ });
return ref;
}
@@ -148,6 +174,65 @@ pub const Builder = struct {
}
};
+pub const Renderer = struct {
+ gpa: Allocator,
+ obj: *Object,
+ ir: *const Ir,
+ errors: ErrorList = .{},
+
+ pub const ErrorList = std.StringArrayHashMapUnmanaged([]const u8);
+
+ pub const Error = Allocator.Error || error{LowerFail};
+
+ pub fn deinit(r: *Renderer) void {
+ for (r.errors.values()) |msg| r.gpa.free(msg);
+ r.errors.deinit(r.gpa);
+ }
+
+ pub fn render(r: *Renderer) !void {
+ switch (r.obj.target.cpu.arch) {
+ .x86, .x86_64 => return @import("Ir/x86/Renderer.zig").render(r),
+ else => unreachable,
+ }
+ }
+
+ pub fn fail(
+ r: *Renderer,
+ name: []const u8,
+ comptime format: []const u8,
+ args: anytype,
+ ) Error {
+ try r.errors.ensureUnusedCapacity(r.gpa, 1);
+ r.errors.putAssumeCapacity(name, try std.fmt.allocPrint(r.gpa, format, args));
+ return error.LowerFail;
+ }
+};
+
+pub fn render(
+ ir: *const Ir,
+ gpa: Allocator,
+ target: std.Target,
+ errors: ?*Renderer.ErrorList,
+) !*Object {
+ const obj = try Object.create(gpa, target);
+ errdefer obj.deinit();
+
+ var renderer: Renderer = .{
+ .gpa = gpa,
+ .obj = obj,
+ .ir = ir,
+ };
+ defer {
+ if (errors) |some| {
+ some.* = renderer.errors.move();
+ }
+ renderer.deinit();
+ }
+
+ try renderer.render();
+ return obj;
+}
+
pub const Ref = enum(u32) { none = std.math.maxInt(u32), _ };
pub const Inst = struct {
@@ -281,23 +366,30 @@ pub const Inst = struct {
};
pub fn deinit(ir: *Ir, gpa: std.mem.Allocator) void {
- ir.arena.promote(gpa).deinit();
- ir.instructions.deinit(gpa);
+ for (ir.decls.values()) |*decl| {
+ decl.deinit(gpa);
+ }
+ ir.decls.deinit(gpa);
ir.* = undefined;
}
-const util = @import("util.zig");
-const TYPE = util.Color.purple;
-const INST = util.Color.cyan;
-const REF = util.Color.blue;
-const LITERAL = util.Color.green;
-const ATTRIBUTE = util.Color.yellow;
+const TYPE = std.io.tty.Color.bright_magenta;
+const INST = std.io.tty.Color.bright_cyan;
+const REF = std.io.tty.Color.bright_blue;
+const LITERAL = std.io.tty.Color.bright_green;
+const ATTRIBUTE = std.io.tty.Color.bright_yellow;
const RefMap = std.AutoArrayHashMap(Ref, void);
-pub fn dump(ir: Ir, gpa: Allocator, name: []const u8, color: bool, w: anytype) !void {
- const tags = ir.instructions.items(.tag);
- const data = ir.instructions.items(.data);
+pub fn dump(ir: *const Ir, gpa: Allocator, config: std.io.tty.Config, w: anytype) !void {
+ for (ir.decls.keys(), ir.decls.values()) |name, *decl| {
+ try ir.dumpDecl(decl, gpa, name, config, w);
+ }
+}
+
+fn dumpDecl(ir: *const Ir, decl: *const Decl, gpa: Allocator, name: []const u8, config: std.io.tty.Config, w: anytype) !void {
+ const tags = decl.instructions.items(.tag);
+ const data = decl.instructions.items(.data);
var ref_map = RefMap.init(gpa);
defer ref_map.deinit();
@@ -305,40 +397,40 @@ pub fn dump(ir: Ir, gpa: Allocator, name: []const u8, color: bool, w: anytype) !
var label_map = RefMap.init(gpa);
defer label_map.deinit();
- const ret_inst = ir.body.items[ir.body.items.len - 1];
+ const ret_inst = decl.body.items[decl.body.items.len - 1];
const ret_operand = data[@intFromEnum(ret_inst)].un;
- const ret_ty = ir.instructions.items(.ty)[@intFromEnum(ret_operand)];
- try ir.writeType(ret_ty, color, w);
- if (color) util.setColor(REF, w);
+ const ret_ty = decl.instructions.items(.ty)[@intFromEnum(ret_operand)];
+ try ir.writeType(ret_ty, config, w);
+ try config.setColor(w, REF);
try w.print(" @{s}", .{name});
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
try w.writeAll("(");
var arg_count: u32 = 0;
while (true) : (arg_count += 1) {
- const ref = ir.body.items[arg_count];
+ const ref = decl.body.items[arg_count];
if (tags[@intFromEnum(ref)] != .arg) break;
if (arg_count != 0) try w.writeAll(", ");
try ref_map.put(ref, {});
- try ir.writeRef(&ref_map, ref, color, w);
- if (color) util.setColor(.reset, w);
+ try ir.writeRef(decl, &ref_map, ref, config, w);
+ try config.setColor(w, .reset);
}
try w.writeAll(") {\n");
- for (ir.body.items[arg_count..]) |ref| {
+ for (decl.body.items[arg_count..]) |ref| {
switch (tags[@intFromEnum(ref)]) {
.label => try label_map.put(ref, {}),
else => {},
}
}
- for (ir.body.items[arg_count..]) |ref| {
+ for (decl.body.items[arg_count..]) |ref| {
const i = @intFromEnum(ref);
const tag = tags[i];
switch (tag) {
.arg, .constant, .symbol => unreachable,
.label => {
const label_index = label_map.getIndex(ref).?;
- if (color) util.setColor(REF, w);
+ try config.setColor(w, REF);
try w.print("{s}.{d}:\n", .{ data[i].label, label_index });
},
// .label_val => {
@@ -347,35 +439,35 @@ pub fn dump(ir: Ir, gpa: Allocator, name: []const u8, color: bool, w: anytype) !
// },
.jmp => {
const un = data[i].un;
- if (color) util.setColor(INST, w);
+ try config.setColor(w, INST);
try w.writeAll(" jmp ");
- try ir.writeLabel(&label_map, un, color, w);
+ try writeLabel(decl, &label_map, un, config, w);
try w.writeByte('\n');
},
.branch => {
const br = data[i].branch;
- if (color) util.setColor(INST, w);
+ try config.setColor(w, INST);
try w.writeAll(" branch ");
- try ir.writeRef(&ref_map, br.cond, color, w);
- if (color) util.setColor(.reset, w);
+ try ir.writeRef(decl, &ref_map, br.cond, config, w);
+ try config.setColor(w, .reset);
try w.writeAll(", ");
- try ir.writeLabel(&label_map, br.then, color, w);
- if (color) util.setColor(.reset, w);
+ try writeLabel(decl, &label_map, br.then, config, w);
+ try config.setColor(w, .reset);
try w.writeAll(", ");
- try ir.writeLabel(&label_map, br.@"else", color, w);
+ try writeLabel(decl, &label_map, br.@"else", config, w);
try w.writeByte('\n');
},
.select => {
const br = data[i].branch;
- try ir.writeNewRef(&ref_map, ref, color, w);
+ try ir.writeNewRef(decl, &ref_map, ref, config, w);
try w.writeAll("select ");
- try ir.writeRef(&ref_map, br.cond, color, w);
- if (color) util.setColor(.reset, w);
+ try ir.writeRef(decl, &ref_map, br.cond, config, w);
+ try config.setColor(w, .reset);
try w.writeAll(", ");
- try ir.writeRef(&ref_map, br.then, color, w);
- if (color) util.setColor(.reset, w);
+ try ir.writeRef(decl, &ref_map, br.then, config, w);
+ try config.setColor(w, .reset);
try w.writeAll(", ");
- try ir.writeRef(&ref_map, br.@"else", color, w);
+ try ir.writeRef(decl, &ref_map, br.@"else", config, w);
try w.writeByte('\n');
},
// .jmp_val => {
@@ -384,91 +476,91 @@ pub fn dump(ir: Ir, gpa: Allocator, name: []const u8, color: bool, w: anytype) !
// },
.@"switch" => {
const @"switch" = data[i].@"switch";
- if (color) util.setColor(INST, w);
+ try config.setColor(w, INST);
try w.writeAll(" switch ");
- try ir.writeRef(&ref_map, @"switch".target, color, w);
- if (color) util.setColor(.reset, w);
+ try ir.writeRef(decl, &ref_map, @"switch".target, config, w);
+ try config.setColor(w, .reset);
try w.writeAll(" {");
for (@"switch".case_vals[0..@"switch".cases_len], @"switch".case_labels) |val_ref, label_ref| {
try w.writeAll("\n ");
- try ir.writeValue(val_ref, color, w);
- if (color) util.setColor(.reset, w);
+ try ir.writeValue(val_ref, config, w);
+ try config.setColor(w, .reset);
try w.writeAll(" => ");
- try ir.writeLabel(&label_map, label_ref, color, w);
- if (color) util.setColor(.reset, w);
+ try writeLabel(decl, &label_map, label_ref, config, w);
+ try config.setColor(w, .reset);
}
- if (color) util.setColor(LITERAL, w);
+ try config.setColor(w, LITERAL);
try w.writeAll("\n default ");
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
try w.writeAll("=> ");
- try ir.writeLabel(&label_map, @"switch".default, color, w);
- if (color) util.setColor(.reset, w);
+ try writeLabel(decl, &label_map, @"switch".default, config, w);
+ try config.setColor(w, .reset);
try w.writeAll("\n }\n");
},
.call => {
const call = data[i].call;
- try ir.writeNewRef(&ref_map, ref, color, w);
+ try ir.writeNewRef(decl, &ref_map, ref, config, w);
try w.writeAll("call ");
- try ir.writeRef(&ref_map, call.func, color, w);
- if (color) util.setColor(.reset, w);
+ try ir.writeRef(decl, &ref_map, call.func, config, w);
+ try config.setColor(w, .reset);
try w.writeAll("(");
for (call.args(), 0..) |arg, arg_i| {
if (arg_i != 0) try w.writeAll(", ");
- try ir.writeRef(&ref_map, arg, color, w);
- if (color) util.setColor(.reset, w);
+ try ir.writeRef(decl, &ref_map, arg, config, w);
+ try config.setColor(w, .reset);
}
try w.writeAll(")\n");
},
.alloc => {
const alloc = data[i].alloc;
- try ir.writeNewRef(&ref_map, ref, color, w);
+ try ir.writeNewRef(decl, &ref_map, ref, config, w);
try w.writeAll("alloc ");
- if (color) util.setColor(ATTRIBUTE, w);
+ try config.setColor(w, ATTRIBUTE);
try w.writeAll("size ");
- if (color) util.setColor(LITERAL, w);
+ try config.setColor(w, LITERAL);
try w.print("{d}", .{alloc.size});
- if (color) util.setColor(ATTRIBUTE, w);
+ try config.setColor(w, ATTRIBUTE);
try w.writeAll(" align ");
- if (color) util.setColor(LITERAL, w);
+ try config.setColor(w, LITERAL);
try w.print("{d}", .{alloc.@"align"});
try w.writeByte('\n');
},
.phi => {
- try ir.writeNewRef(&ref_map, ref, color, w);
+ try ir.writeNewRef(decl, &ref_map, ref, config, w);
try w.writeAll("phi");
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
try w.writeAll(" {");
for (data[i].phi.inputs()) |input| {
try w.writeAll("\n ");
- try ir.writeLabel(&label_map, input.label, color, w);
- if (color) util.setColor(.reset, w);
+ try writeLabel(decl, &label_map, input.label, config, w);
+ try config.setColor(w, .reset);
try w.writeAll(" => ");
- try ir.writeRef(&ref_map, input.value, color, w);
- if (color) util.setColor(.reset, w);
+ try ir.writeRef(decl, &ref_map, input.value, config, w);
+ try config.setColor(w, .reset);
}
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
try w.writeAll("\n }\n");
},
.store => {
const bin = data[i].bin;
- if (color) util.setColor(INST, w);
+ try config.setColor(w, INST);
try w.writeAll(" store ");
- try ir.writeRef(&ref_map, bin.lhs, color, w);
- if (color) util.setColor(.reset, w);
+ try ir.writeRef(decl, &ref_map, bin.lhs, config, w);
+ try config.setColor(w, .reset);
try w.writeAll(", ");
- try ir.writeRef(&ref_map, bin.rhs, color, w);
+ try ir.writeRef(decl, &ref_map, bin.rhs, config, w);
try w.writeByte('\n');
},
.ret => {
- if (color) util.setColor(INST, w);
+ try config.setColor(w, INST);
try w.writeAll(" ret ");
- if (data[i].un != .none) try ir.writeRef(&ref_map, data[i].un, color, w);
+ if (data[i].un != .none) try ir.writeRef(decl, &ref_map, data[i].un, config, w);
try w.writeByte('\n');
},
.load => {
- try ir.writeNewRef(&ref_map, ref, color, w);
+ try ir.writeNewRef(decl, &ref_map, ref, config, w);
try w.writeAll("load ");
- try ir.writeRef(&ref_map, data[i].un, color, w);
+ try ir.writeRef(decl, &ref_map, data[i].un, config, w);
try w.writeByte('\n');
},
.bit_or,
@@ -489,12 +581,12 @@ pub fn dump(ir: Ir, gpa: Allocator, name: []const u8, color: bool, w: anytype) !
.mod,
=> {
const bin = data[i].bin;
- try ir.writeNewRef(&ref_map, ref, color, w);
+ try ir.writeNewRef(decl, &ref_map, ref, config, w);
try w.print("{s} ", .{@tagName(tag)});
- try ir.writeRef(&ref_map, bin.lhs, color, w);
- if (color) util.setColor(.reset, w);
+ try ir.writeRef(decl, &ref_map, bin.lhs, config, w);
+ try config.setColor(w, .reset);
try w.writeAll(", ");
- try ir.writeRef(&ref_map, bin.rhs, color, w);
+ try ir.writeRef(decl, &ref_map, bin.rhs, config, w);
try w.writeByte('\n');
},
.bit_not,
@@ -504,98 +596,101 @@ pub fn dump(ir: Ir, gpa: Allocator, name: []const u8, color: bool, w: anytype) !
.sext,
=> {
const un = data[i].un;
- try ir.writeNewRef(&ref_map, ref, color, w);
+ try ir.writeNewRef(decl, &ref_map, ref, config, w);
try w.print("{s} ", .{@tagName(tag)});
- try ir.writeRef(&ref_map, un, color, w);
+ try ir.writeRef(decl, &ref_map, un, config, w);
try w.writeByte('\n');
},
.label_addr, .jmp_val => {},
}
}
- if (color) util.setColor(.reset, w);
+ try config.setColor(w, .reset);
try w.writeAll("}\n\n");
}
-fn writeType(ir: Ir, ty_ref: Interner.Ref, color: bool, w: anytype) !void {
- const ty = ir.pool.get(ty_ref);
- if (color) util.setColor(TYPE, w);
+fn writeType(ir: Ir, ty_ref: Interner.Ref, config: std.io.tty.Config, w: anytype) !void {
+ const ty = ir.interner.get(ty_ref);
+ try config.setColor(w, TYPE);
switch (ty) {
- .value => unreachable,
- .ptr, .noreturn, .void, .func => try w.writeAll(@tagName(ty)),
- .int => |bits| try w.print("i{d}", .{bits}),
- .float => |bits| try w.print("f{d}", .{bits}),
- .array => |info| {
+ .ptr_ty, .noreturn_ty, .void_ty, .func_ty => try w.writeAll(@tagName(ty)),
+ .int_ty => |bits| try w.print("i{d}", .{bits}),
+ .float_ty => |bits| try w.print("f{d}", .{bits}),
+ .array_ty => |info| {
try w.print("[{d} * ", .{info.len});
- try ir.writeType(info.child, false, w);
+ try ir.writeType(info.child, .no_color, w);
try w.writeByte(']');
},
- .vector => |info| {
+ .vector_ty => |info| {
try w.print("<{d} * ", .{info.len});
- try ir.writeType(info.child, false, w);
+ try ir.writeType(info.child, .no_color, w);
try w.writeByte('>');
},
- .record => |info| {
+ .record_ty => |elems| {
// TODO collect into buffer and only print once
try w.writeAll("{ ");
- for (info.elements, 0..) |elem, i| {
+ for (elems, 0..) |elem, i| {
if (i != 0) try w.writeAll(", ");
- try ir.writeType(elem, color, w);
+ try ir.writeType(elem, config, w);
}
try w.writeAll(" }");
},
+ else => unreachable, // not a type
}
}
-fn writeValue(ir: Ir, val_ref: Interner.Ref, color: bool, w: anytype) !void {
- const v = ir.pool.get(val_ref).value;
- if (color) util.setColor(LITERAL, w);
- switch (v.tag) {
- .unavailable => try w.writeAll(" unavailable"),
- .int => try w.print("{d}", .{v.data.int}),
- .bytes => try w.print("\"{s}\"", .{v.data.bytes.slice(ir.strings, .@"1")}),
- // std.fmt does @as instead of @floatCast
- .float => try w.print("{d}", .{@as(f64, @floatCast(v.data.float))}),
- else => try w.print("({s})", .{@tagName(v.tag)}),
+fn writeValue(ir: Ir, val: Interner.Ref, config: std.io.tty.Config, w: anytype) !void {
+ try config.setColor(w, LITERAL);
+ const key = ir.interner.get(val);
+ switch (key) {
+ .null => return w.writeAll("nullptr_t"),
+ .int => |repr| switch (repr) {
+ inline else => |x| return w.print("{d}", .{x}),
+ },
+ .float => |repr| switch (repr) {
+ inline else => |x| return w.print("{d}", .{@as(f64, @floatCast(x))}),
+ },
+ .bytes => |b| return std.zig.fmt.stringEscape(b, "", .{}, w),
+ else => unreachable, // not a value
}
}
-fn writeRef(ir: Ir, ref_map: *RefMap, ref: Ref, color: bool, w: anytype) !void {
+fn writeRef(ir: Ir, decl: *const Decl, ref_map: *RefMap, ref: Ref, config: std.io.tty.Config, w: anytype) !void {
assert(ref != .none);
const index = @intFromEnum(ref);
- const ty_ref = ir.instructions.items(.ty)[index];
- if (ir.instructions.items(.tag)[index] == .constant) {
- try ir.writeType(ty_ref, color, w);
- const v_ref = ir.instructions.items(.data)[index].constant;
+ const ty_ref = decl.instructions.items(.ty)[index];
+ if (decl.instructions.items(.tag)[index] == .constant) {
+ try ir.writeType(ty_ref, config, w);
+ const v_ref = decl.instructions.items(.data)[index].constant;
try w.writeByte(' ');
- try ir.writeValue(v_ref, color, w);
+ try ir.writeValue(v_ref, config, w);
return;
- } else if (ir.instructions.items(.tag)[index] == .symbol) {
- const name = ir.instructions.items(.data)[index].label;
- try ir.writeType(ty_ref, color, w);
- if (color) util.setColor(REF, w);
+ } else if (decl.instructions.items(.tag)[index] == .symbol) {
+ const name = decl.instructions.items(.data)[index].label;
+ try ir.writeType(ty_ref, config, w);
+ try config.setColor(w, REF);
try w.print(" @{s}", .{name});
return;
}
- try ir.writeType(ty_ref, color, w);
- if (color) util.setColor(REF, w);
+ try ir.writeType(ty_ref, config, w);
+ try config.setColor(w, REF);
const ref_index = ref_map.getIndex(ref).?;
try w.print(" %{d}", .{ref_index});
}
-fn writeNewRef(ir: Ir, ref_map: *RefMap, ref: Ref, color: bool, w: anytype) !void {
+fn writeNewRef(ir: Ir, decl: *const Decl, ref_map: *RefMap, ref: Ref, config: std.io.tty.Config, w: anytype) !void {
try ref_map.put(ref, {});
try w.writeAll(" ");
- try ir.writeRef(ref_map, ref, color, w);
- if (color) util.setColor(.reset, w);
+ try ir.writeRef(decl, ref_map, ref, config, w);
+ try config.setColor(w, .reset);
try w.writeAll(" = ");
- if (color) util.setColor(INST, w);
+ try config.setColor(w, INST);
}
-fn writeLabel(ir: Ir, label_map: *RefMap, ref: Ref, color: bool, w: anytype) !void {
+fn writeLabel(decl: *const Decl, label_map: *RefMap, ref: Ref, config: std.io.tty.Config, w: anytype) !void {
assert(ref != .none);
const index = @intFromEnum(ref);
- const label = ir.instructions.items(.data)[index].label;
- if (color) util.setColor(REF, w);
+ const label = decl.instructions.items(.data)[index].label;
+ try config.setColor(w, REF);
const label_index = label_map.getIndex(ref).?;
try w.print("{s}.{d}", .{ label, label_index });
}
deps/aro/Object.zig → deps/aro/backend/Object.zig
@@ -1,15 +1,15 @@
const std = @import("std");
-const Compilation = @import("Compilation.zig");
-const Elf = @import("object/Elf.zig");
+const Allocator = std.mem.Allocator;
+const Elf = @import("Object/Elf.zig");
const Object = @This();
format: std.Target.ObjectFormat,
-comp: *Compilation,
+target: std.Target,
-pub fn create(comp: *Compilation) !*Object {
- switch (comp.target.ofmt) {
- .elf => return Elf.create(comp),
+pub fn create(gpa: Allocator, target: std.Target) !*Object {
+ switch (target.ofmt) {
+ .elf => return Elf.create(gpa, target),
else => unreachable,
}
}
deps/aro/build/GenerateDef.zig
@@ -1,25 +1,31 @@
const std = @import("std");
-const GenerateDef = @This();
const Step = std.Build.Step;
const Allocator = std.mem.Allocator;
const GeneratedFile = std.Build.GeneratedFile;
+const GenerateDef = @This();
+
step: Step,
path: []const u8,
+name: []const u8,
+kind: Options.Kind,
generated_file: GeneratedFile,
pub const base_id: Step.Id = .custom;
-pub fn add(
- owner: *std.Build,
- def_file_path: []const u8,
- import_path: []const u8,
- compile_step: *Step.Compile,
- aro_module: *std.Build.Module,
-) void {
+pub const Options = struct {
+ name: []const u8,
+ src_prefix: []const u8 = "src/aro",
+ kind: Kind = .dafsa,
+
+ pub const Kind = enum { dafsa, named };
+};
+
+pub fn create(owner: *std.Build, options: Options) std.Build.ModuleDependency {
const self = owner.allocator.create(GenerateDef) catch @panic("OOM");
+ const path = owner.pathJoin(&.{ options.src_prefix, options.name });
- const name = owner.fmt("GenerateDef {s}", .{def_file_path});
+ const name = owner.fmt("GenerateDef {s}", .{options.name});
self.* = .{
.step = Step.init(.{
.id = base_id,
@@ -27,16 +33,18 @@ pub fn add(
.owner = owner,
.makeFn = make,
}),
- .path = def_file_path,
+ .path = path,
+ .name = options.name,
+ .kind = options.kind,
.generated_file = .{ .step = &self.step },
};
-
- const module = owner.createModule(.{
+ const module = self.step.owner.createModule(.{
.source_file = .{ .generated = &self.generated_file },
});
- compile_step.addModule(import_path, module);
- compile_step.step.dependOn(&self.step);
- aro_module.dependencies.put(import_path, module) catch @panic("OOM");
+ return .{
+ .module = module,
+ .name = self.name,
+ };
}
fn make(step: *Step, prog_node: *std.Progress.Node) !void {
@@ -132,7 +140,7 @@ fn generate(self: *GenerateDef, input: []const u8) ![]const u8 {
}
{
- var sorted_list = try arena.dupe([]const u8, values.keys());
+ const sorted_list = try arena.dupe([]const u8, values.keys());
defer arena.free(sorted_list);
std.mem.sort([]const u8, sorted_list, {}, struct {
pub fn lessThan(_: void, a: []const u8, b: []const u8) bool {
@@ -168,15 +176,6 @@ fn generate(self: *GenerateDef, input: []const u8) ![]const u8 {
}
}
- var values_array = try arena.alloc(Value, values.count());
- defer arena.free(values_array);
-
- for (values.keys(), values.values()) |name, props| {
- const unique_index = builder.getUniqueIndex(name).?;
- const data_index = unique_index - 1;
- values_array[data_index] = .{ .name = name, .properties = props };
- }
-
var out_buf = std.ArrayList(u8).init(arena);
defer out_buf.deinit();
const writer = out_buf.writer();
@@ -193,6 +192,49 @@ fn generate(self: *GenerateDef, input: []const u8) ![]const u8 {
for (headers.items) |line| {
try writer.print("{s}\n", .{line});
}
+ if (self.kind == .named) {
+ try writer.writeAll("pub const Tag = enum {\n");
+ for (values.keys()) |property| {
+ try writer.print(" {s},\n", .{std.zig.fmtId(property)});
+ }
+ try writer.writeAll(
+ \\
+ \\ pub fn property(tag: Tag) Properties {
+ \\ return named_data[@intFromEnum(tag)];
+ \\ }
+ \\
+ \\ const named_data = [_]Properties{
+ \\
+ );
+ for (values.values()) |val_props| {
+ try writer.writeAll(" .{");
+ for (val_props, 0..) |val_prop, j| {
+ if (j != 0) try writer.writeByte(',');
+ try writer.writeByte(' ');
+ try writer.writeAll(val_prop);
+ }
+ try writer.writeAll(" },\n");
+ }
+ try writer.writeAll(
+ \\ };
+ \\};
+ \\};
+ \\}
+ \\
+ );
+
+ return out_buf.toOwnedSlice();
+ }
+
+ var values_array = try arena.alloc(Value, values.count());
+ defer arena.free(values_array);
+
+ for (values.keys(), values.values()) |name, props| {
+ const unique_index = builder.getUniqueIndex(name).?;
+ const data_index = unique_index - 1;
+ values_array[data_index] = .{ .name = name, .properties = props };
+ }
+
try writer.writeAll(
\\
\\tag: Tag,
@@ -418,7 +460,7 @@ const DafsaBuilder = struct {
var arena = std.heap.ArenaAllocator.init(allocator);
errdefer arena.deinit();
- var root = try arena.allocator().create(Node);
+ const root = try arena.allocator().create(Node);
root.* = .{};
return DafsaBuilder{
.root = root,
@@ -498,7 +540,7 @@ const DafsaBuilder = struct {
std.debug.assert(node.children[c] == null);
var arena = self.arena.promote(self.allocator);
- var child = try arena.allocator().create(Node);
+ const child = try arena.allocator().create(Node);
self.arena = arena.state;
child.* = .{};
deps/aro/Builtins/BuiltinFunction.zig
@@ -1,13037 +0,0 @@
-//! Autogenerated by ./scripts/generate_builtins_dafsa.zig, do not edit
-
-const std = @import("std");
-const Properties = @import("Properties.zig");
-const TargetSet = Properties.TargetSet;
-
-tag: Tag,
-param_str: []const u8,
-properties: Properties,
-
-/// Integer starting at 0 derived from the unique index,
-/// corresponds with the builtin_data array index.
-pub const Tag = enum(u16) { _ };
-
-const Self = @This();
-
-pub fn fromName(name: []const u8) ?@This() {
- const data_index = tagFromName(name) orelse return null;
- return builtin_data[@intFromEnum(data_index)];
-}
-
-pub fn tagFromName(name: []const u8) ?Tag {
- const unique_index = uniqueIndex(name) orelse return null;
- return @enumFromInt(unique_index - 1);
-}
-
-pub fn fromTag(tag: Tag) @This() {
- return builtin_data[@intFromEnum(tag)];
-}
-
-pub fn nameFromTagIntoBuf(tag: Tag, name_buf: []u8) []u8 {
- std.debug.assert(name_buf.len >= longest_builtin_name);
- const unique_index = @intFromEnum(tag) + 1;
- return nameFromUniqueIndex(unique_index, name_buf);
-}
-
-pub fn nameFromTag(tag: Tag) NameBuf {
- var name_buf: NameBuf = undefined;
- const unique_index = @intFromEnum(tag) + 1;
- const name = nameFromUniqueIndex(unique_index, &name_buf.buf);
- name_buf.len = @intCast(name.len);
- return name_buf;
-}
-
-pub const NameBuf = struct {
- buf: [longest_builtin_name]u8 = undefined,
- len: std.math.IntFittingRange(0, longest_builtin_name),
-
- pub fn span(self: *const NameBuf) []const u8 {
- return self.buf[0..self.len];
- }
-};
-
-pub fn exists(name: []const u8) bool {
- if (name.len < shortest_builtin_name or name.len > longest_builtin_name) return false;
-
- var index: u16 = 0;
- for (name) |c| {
- index = findInList(dafsa[index].child_index, c) orelse return false;
- }
- return dafsa[index].end_of_word;
-}
-
-test exists {
- try std.testing.expect(exists("__builtin_canonicalize"));
- try std.testing.expect(!exists("__builtin_canonicaliz"));
- try std.testing.expect(!exists("__builtin_canonicalize."));
-}
-
-pub fn isVarArgs(self: @This()) bool {
- return self.param_str[self.param_str.len - 1] == '.';
-}
-
-pub const shortest_builtin_name = 3;
-pub const longest_builtin_name = 43;
-
-pub const BuiltinsIterator = struct {
- index: u16 = 1,
- name_buf: [longest_builtin_name]u8 = undefined,
-
- pub const Entry = struct {
- /// Memory of this slice is overwritten on every call to `next`
- name: []const u8,
- builtin: Self,
- };
-
- pub fn next(self: *BuiltinsIterator) ?Entry {
- if (self.index > builtin_data.len) return null;
- const index = self.index;
- const data_index = index - 1;
- self.index += 1;
- return .{
- .name = nameFromUniqueIndex(index, &self.name_buf),
- .builtin = builtin_data[data_index],
- };
- }
-};
-
-test BuiltinsIterator {
- var it = BuiltinsIterator{};
-
- var seen = std.StringHashMap(Self).init(std.testing.allocator);
- defer seen.deinit();
-
- var arena_state = std.heap.ArenaAllocator.init(std.testing.allocator);
- defer arena_state.deinit();
- const arena = arena_state.allocator();
-
- while (it.next()) |entry| {
- const index = uniqueIndex(entry.name).?;
- var buf: [longest_builtin_name]u8 = undefined;
- const name_from_index = nameFromUniqueIndex(index, &buf);
- try std.testing.expectEqualStrings(entry.name, name_from_index);
-
- if (seen.contains(entry.name)) {
- std.debug.print("iterated over {s} twice\n", .{entry.name});
- std.debug.print("current data: {}\n", .{entry.builtin});
- std.debug.print("previous data: {}\n", .{seen.get(entry.name).?});
- return error.TestExpectedUniqueEntries;
- }
- try seen.put(try arena.dupe(u8, entry.name), entry.builtin);
- }
- try std.testing.expectEqual(@as(usize, builtin_data.len), seen.count());
-}
-
-/// Search siblings of `first_child_index` for the `char`
-/// If found, returns the index of the node within the `dafsa` array.
-/// Otherwise, returns `null`.
-fn findInList(first_child_index: u16, char: u8) ?u16 {
- var index = first_child_index;
- while (true) {
- if (dafsa[index].char == char) return index;
- if (dafsa[index].end_of_list) return null;
- index += 1;
- }
- unreachable;
-}
-
-/// Returns a unique (minimal perfect hash) index (starting at 1) for the `name`,
-/// or null if the name was not found.
-fn uniqueIndex(name: []const u8) ?u16 {
- if (name.len < shortest_builtin_name or name.len > longest_builtin_name) return null;
-
- var index: u16 = 0;
- var node_index: u16 = 0;
-
- for (name) |c| {
- const child_index = findInList(dafsa[node_index].child_index, c) orelse return null;
- var sibling_index = dafsa[node_index].child_index;
- while (true) {
- const sibling_c = dafsa[sibling_index].char;
- std.debug.assert(sibling_c != 0);
- if (sibling_c < c) {
- index += dafsa[sibling_index].number;
- }
- if (dafsa[sibling_index].end_of_list) break;
- sibling_index += 1;
- }
- node_index = child_index;
- if (dafsa[node_index].end_of_word) index += 1;
- }
-
- if (!dafsa[node_index].end_of_word) return null;
-
- return index;
-}
-
-/// Returns a slice of `buf` with the name associated with the given `index`.
-/// This function should only be called with an `index` that
-/// is already known to exist within the `dafsa`, e.g. an index
-/// returned from `uniqueIndex`.
-fn nameFromUniqueIndex(index: u16, buf: []u8) []u8 {
- std.debug.assert(index >= 1 and index <= builtin_data.len);
-
- var node_index: u16 = 0;
- var count: u16 = index;
- var fbs = std.io.fixedBufferStream(buf);
- const w = fbs.writer();
-
- while (true) {
- var sibling_index = dafsa[node_index].child_index;
- while (true) {
- if (dafsa[sibling_index].number > 0 and dafsa[sibling_index].number < count) {
- count -= dafsa[sibling_index].number;
- } else {
- w.writeByte(dafsa[sibling_index].char) catch unreachable;
- node_index = sibling_index;
- if (dafsa[node_index].end_of_word) {
- count -= 1;
- }
- break;
- }
-
- if (dafsa[sibling_index].end_of_list) break;
- sibling_index += 1;
- }
- if (count == 0) break;
- }
-
- return fbs.getWritten();
-}
-
-pub const MaxParamCount = 12;
-
-/// We're 1 bit shy of being able to fit this in a u32:
-/// - char only contains 0-9, a-z, A-Z, and _, so it could use a enum(u6) with a way to convert <-> u8
-/// (note: this would have a performance cost that may make the u32 not worth it)
-/// - number has a max value of > 2047 and < 4095 (the first _ node has the largest number),
-/// so it could fit into a u12
-/// - child_index currently has a max of > 4095 and < 8191, so it could fit into a u13
-///
-/// with the end_of_word/end_of_list 2 bools, that makes 33 bits total
-const Node = packed struct(u64) {
- char: u8,
- /// Nodes are numbered with "an integer which gives the number of words that
- /// would be accepted by the automaton starting from that state." This numbering
- /// allows calculating "a one-to-one correspondence between the integers 1 to L
- /// (L is the number of words accepted by the automaton) and the words themselves."
- ///
- /// Essentially, this allows us to have a minimal perfect hashing scheme such that
- /// it's possible to store & lookup the properties of each builtin using a separate array.
- number: u16,
- /// If true, this node is the end of a valid builtin.
- /// Note: This does not necessarily mean that this node does not have child nodes.
- end_of_word: bool,
- /// If true, this node is the end of a sibling list.
- /// If false, then (index + 1) will contain the next sibling.
- end_of_list: bool,
- /// Padding bits to get to u64, unsure if there's some way to use these to improve something.
- _extra: u22 = 0,
- /// Index of the first child of this node.
- child_index: u16,
-};
-
-const dafsa = [_]Node{
- .{ .char = 0, .end_of_word = false, .end_of_list = true, .number = 0, .child_index = 1 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3601, .child_index = 19 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 32 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 37 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 82, .child_index = 39 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 50 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 33, .child_index = 52 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 62 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 63 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 64 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 67 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 73 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 76 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 78 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 80 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 54, .child_index = 83 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 92 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 96 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 100 },
- .{ .char = 'B', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 102 },
- .{ .char = 'E', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 103 },
- .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 104 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 105 },
- .{ .char = 'R', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 106 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3525, .child_index = 107 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 125 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 127 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 129 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 130 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 131 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 133 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 134 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 135 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 137 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 138 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 140 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 141 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 142 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 144 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 145 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 151 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 137 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 152 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 154 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 155 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 156 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 159 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 161 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 162 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 164 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 165 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 166 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 168 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 169 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 170 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 171 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 172 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 175 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 177 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 178 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 179 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 180 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 181 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 182 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 183 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 184 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 194 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 195 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 196 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 197 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 199 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 201 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 203 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 204 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 205 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 206 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 207 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 209 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 210 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 211 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 213 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 214 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 215 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 216 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 217 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 218 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 220 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 151 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 178 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 31, .child_index = 221 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 223 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 196 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 224 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 226 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 227 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 228 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 231 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 235 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 236 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 237 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 239 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 240 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 241 },
- .{ .char = 'G', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 242 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 243 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2967, .child_index = 248 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 249 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 252 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 255 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 257 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 259 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 260 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 390, .child_index = 262 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 264 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 265 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 113, .child_index = 266 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 269 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 270 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 271 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 273 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 274 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 275 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 276 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 277 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 278 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 279 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 281 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 282 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 283 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 284 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 285 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 286 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 287 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 288 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 289 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 223 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 290 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 292 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 293 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 294 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 137 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 295 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 296 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 140 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 164 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 297 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 298 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 300 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 296 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 301 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 302 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 303 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 209 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 306 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 307 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 223 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 151 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 223 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 308 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 311 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 9, .child_index = 312 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 294 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 316 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 317 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 318 },
- .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 319 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 206 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 322 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 323 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 210 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 324 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 327 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 328 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 329 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 330 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 331 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 332 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 333 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 334 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 335 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 336 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 337 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 338 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 339 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 341 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 342 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 343 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 345 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 346 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 194 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 201 },
- .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 15, .child_index = 347 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 352 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 353 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 354 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 295 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 355 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 360 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 363 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 364 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 365 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 203 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 366 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 368 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 370 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 371 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 372 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 374 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 375 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 303 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 176 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 377 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 379 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 303 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 338 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 342 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 389 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 390 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 393 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 178 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 327 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 220 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 178 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 394 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 397 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 398 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 399 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 400 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 401 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 402 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 275 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 403 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 404 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 405 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 406 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 407 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 408 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 409 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 410 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 411 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 238 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 413 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 415 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 170 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 416 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 418 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 419 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 420 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 389, .child_index = 421 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 422 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 423 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 424 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 425 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 427 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 428 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 429 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 430 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 431 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 433 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 434 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 435 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 289 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 436 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 437 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 438 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 439 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 352 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 440 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 441 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 443 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 303 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 444 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 445 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 9, .child_index = 446 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 452 },
- .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 296 },
- .{ .char = 'j', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 453 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 301 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 298 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 454 },
- .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 455 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 456 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 458 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 459 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 460 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 461 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 297 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 462 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 464 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 466 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 467 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 468 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 469 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 470 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 471 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 472 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 473 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 474 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 336 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 475 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 476 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 374 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 297 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 478 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 479 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 480 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 484 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 485 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 487 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 488 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 490 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 491 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 492 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 493 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 494 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 495 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 497 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 498 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 499 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 292 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 485 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 500 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 505 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 506 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 507 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 509 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 511 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 513 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 515 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 516 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 517 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 518 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 519 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 520 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 522 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 323 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 524 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 525 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 527 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 528 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 529 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 531 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 532 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 533 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 534 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 535 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 536 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 537 },
- .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 538 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 539 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 540 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 541 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 438 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 542 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 543 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 544 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 545 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 546 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 389, .child_index = 547 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 419 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 548 },
- .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 550 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 540 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 551 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 540 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 552 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 553 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 554 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 555 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 556 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 557 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 558 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 559 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 560 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 561 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 563 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 563 },
- .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 566 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 567 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 570 },
- .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 571 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 573 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 574 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 575 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 576 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 577 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 578 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 580 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 581 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 582 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 583 },
- .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 322 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 584 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 292 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 586 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 292 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 587 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 588 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 589 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 590 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 591 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 592 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 595 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 596 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 282 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 217 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 598 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 450 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 600 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 601 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 602 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 604 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 505 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 393 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 607 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 457 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 608 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 613 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 292 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 614 },
- .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 497 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 615 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 484 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 618 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 619 },
- .{ .char = 'F', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 620 },
- .{ .char = 'T', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 621 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 622 },
- .{ .char = 'E', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 623 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 624 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 625 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 626 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 627 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 628 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 629 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 630 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 631 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 632 },
- .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 633 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 634 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 635 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 636 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 637 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 389, .child_index = 638 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 499 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 639 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 520 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 641 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 642 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 643 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 644 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 645 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 646 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 647 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
- .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 649 },
- .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 650 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 651 },
- .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 652 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 653 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 656 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 657 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 658 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 659 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 660 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 661 },
- .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 662 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 206 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 361 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 663 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 664 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 311 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 598 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'k', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 665 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 667 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 286 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 668 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 669 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 670 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 671 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 672 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 673 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 674 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 675 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 676 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 677 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 678 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 679 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 680 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 681 },
- .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 680 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 682 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 683 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 684 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 389, .child_index = 686 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 107, .child_index = 701 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 710 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 711 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 712 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 714 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 715 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 716 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 717 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 718 },
- .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 719 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 720 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 206 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 721 },
- .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 353 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 722 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 723 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 722 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 724 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 524 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 725 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 726 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 727 },
- .{ .char = 'C', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 728 },
- .{ .char = 'A', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 729 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 730 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 731 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 732 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 733 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 734 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 735 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 736 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 737 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 738 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 739 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
- .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 48, .child_index = 740 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 742 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 744 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 746 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 748 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 58, .child_index = 749 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 753 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 84, .child_index = 755 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 23, .child_index = 759 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 761 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 53, .child_index = 762 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 29, .child_index = 766 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 770 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 771 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 773 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 774 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 776 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 40, .child_index = 777 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 778 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 779 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 780 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 781 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 784 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 785 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 786 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 787 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 788 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 789 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 790 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 791 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 793 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 794 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 795 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 796 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 797 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 456 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 798 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 206 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 799 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 800 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 671 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 801 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 802 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 803 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 804 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 805 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 806 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 811 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 812 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 813 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 814 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 815 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 816 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 817 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 818 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 819 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 820 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 821 },
- .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 823 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 827 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 828 },
- .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 34, .child_index = 829 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 833 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 834 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 835 },
- .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 837 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 839 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 72, .child_index = 840 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 828 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 842 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 843 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 844 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 845 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 846 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 847 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 33, .child_index = 848 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 849 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 850 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 851 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 853 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 854 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 855 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 856 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 842 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 857 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 858 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 859 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 859 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 860 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 861 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 862 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 863 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 864 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 865 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 866 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 867 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 868 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 780 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 869 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 870 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 871 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 872 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 873 },
- .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 649 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 874 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 875 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 876 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 877 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 203 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 322 },
- .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 878 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 879 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 880 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 881 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 882 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 883 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 884 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 885 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 886 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 887 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 888 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 889 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2967, .child_index = 891 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 912 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 913 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 914 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 915 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 916 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 917 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 918 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 920 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 921 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 922 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 923 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 924 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 925 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 926 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 927 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 929 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 930 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 931 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 924 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 932 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 933 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 935 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 936 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 937 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 939 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 940 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 940 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 941 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 942 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 942 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 837 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 943 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 944 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 947 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 950 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 951 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 952 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 953 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 954 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 955 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 956 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 923 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 957 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 958 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 842 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 959 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 864 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 868 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 960 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 961 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 859 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 962 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 864 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 963 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 964 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 965 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 966 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 967 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 968 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 969 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 970 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 971 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 972 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 973 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 974 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 975 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 976 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 977 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 978 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 979 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 980 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 981 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 982 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 983 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 984 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 985 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 986 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 987 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 302, .child_index = 988 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 997 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 114, .child_index = 1001 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1013 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 58, .child_index = 1018 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 49, .child_index = 1022 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1030 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1031 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 27, .child_index = 1033 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 52, .child_index = 1037 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 686, .child_index = 1043 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 1049 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1052 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 142, .child_index = 1055 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 52, .child_index = 1060 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 71, .child_index = 1064 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 1076 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 1080 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 1273, .child_index = 1084 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 22, .child_index = 1089 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1092 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1093 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1094 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1095 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1096 },
- .{ .char = '0', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1097 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1098 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1099 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1101 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1102 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1103 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1104 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 940 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 940 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 926 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1107 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1109 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1110 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 924 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 924 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 932 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1111 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1095 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1112 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1113 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1114 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1122 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1123 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 292 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },
- .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1124 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1095 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1125 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1126 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 1128 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1129 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1130 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1131 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1133 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1134 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 929 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1135 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1136 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1137 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1138 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1139 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1141 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1142 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1143 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1144 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1145 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1146 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1147 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1148 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1151 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1154 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1156 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1157 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 29, .child_index = 1158 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1165 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1167 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1168 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1169 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1170 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1171 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1172 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1173 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1174 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 1175 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 135 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1184 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1185 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1186 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 122, .child_index = 1188 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 403 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 134, .child_index = 1189 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1190 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1192 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 142 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1193 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1194 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 144 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 1195 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1202 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 137 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1203 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1205 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 154 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1206 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1210 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1214 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 161 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 162 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1217 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1219 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1220 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1221 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1222 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1223 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1224 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 1225 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1226 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 23, .child_index = 1227 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1229 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1230 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1231 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1232 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1234 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1237 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1239 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 178 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1242 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1243 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1244 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1245 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1246 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1247 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1250 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1257 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1259 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1260 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1261 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1263 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1265 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1267 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1269 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 135, .child_index = 1270 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1271 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 534, .child_index = 1272 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1273 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1274 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1275 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1277 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1278 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1279 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1280 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1281 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1283 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 108, .child_index = 1285 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1286 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1288 },
- .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1289 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 1290 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1294 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 1295 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1297 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1298 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1299 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1300 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1301 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1303 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 220 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1304 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1306 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1307 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 1309 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1312 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1313 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1260 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1314 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1315 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1297 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1303 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1317 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1320 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 227 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1263, .child_index = 1321 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1322 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 231 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 1324 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 235 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 236 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1325 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1326 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1327 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 1331 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1339 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1342 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1343 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1344 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1346 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1347 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1348 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1352 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 451 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1353 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1347 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1327 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1357 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1358 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1353 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1359 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1360 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1362 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1360 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1362 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1360 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1363 },
- .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 6, .child_index = 1365 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 1368 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1372 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1373 },
- .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 954 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1374 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1375 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1327 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 1376 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 930 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1352 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1377 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1378 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1382 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1385 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1386 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1388 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1389 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1393 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1394 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1395 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1396 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1397 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1398 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1399 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1400 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1401 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1402 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1403 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1404 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1405 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1406 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1407 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1408 },
- .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1409 },
- .{ .char = 'C', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1410 },
- .{ .char = 'D', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1411 },
- .{ .char = 'E', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1412 },
- .{ .char = 'I', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1413 },
- .{ .char = 'O', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1414 },
- .{ .char = 'X', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1415 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1416 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1417 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1418 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1419 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1420 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1421 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1422 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1423 },
- .{ .char = 'C', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1424 },
- .{ .char = 'N', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1425 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1426 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1427 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1428 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1429 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1430 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 1431 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1434 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1437 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1438 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1440 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1441 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 122, .child_index = 1442 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 134, .child_index = 1443 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1313 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1444 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 1445 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1446 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1447 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 294 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 137 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1448 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1449 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 296 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 140 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 164 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1450 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1451 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 299 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1452 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1453 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 296 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1454 },
- .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1455 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1457 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1458 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1461 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 9, .child_index = 1462 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 209 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 306 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1465 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 223 },
- .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1455 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1466 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1467 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1468 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1469 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1470 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 1471 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1472 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 21, .child_index = 1475 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1481 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1483 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1484 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1485 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1486 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1487 },
- .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 10, .child_index = 1488 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1491 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1492 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1493 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 210 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1494 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1495 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1497 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1498 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1500 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1501 },
- .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1502 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1503 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1504 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1506 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1507 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1508 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1510 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1511 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1512 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1513 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1515 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 344 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1516 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1517 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1518 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 194 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1265 },
- .{ .char = 'g', .end_of_word = true, .end_of_list = false, .number = 23, .child_index = 1519 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 352 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1524 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1525 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 295 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1526 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1527 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 135, .child_index = 1531 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1532 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 534, .child_index = 1533 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1534 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 1535 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1538 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1539 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1540 },
- .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1542 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1544 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1545 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1546 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1547 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1548 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1549 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 1552 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1553 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 365 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1555 },
- .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1556 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1557 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1559 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1560 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1562 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1563 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1565 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1566 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1567 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1568 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1570 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1575 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1576 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 9, .child_index = 1462 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1577 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1578 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 210 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1579 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 327 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1580 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1581 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 377 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 17, .child_index = 1582 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1438 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1589 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1592 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1593 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1594 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1596 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1597 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1580 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1263, .child_index = 1598 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 176 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 178 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1599 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1600 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1603 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1100 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1100 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1100 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1604 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1606 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1607 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1608 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 1609 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1611 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1612 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1613 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 519 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1615 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1616 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1617 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1618 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1619 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1620 },
- .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1621 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1621 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1621 },
- .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1621 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1622 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1621 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1623 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = '4', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1362 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1360 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1360 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1360 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1363 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1360 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1624 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1625 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1626 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1629 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 1630 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1631 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1632 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1633 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1634 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1635 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1636 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1638 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1639 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1640 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1641 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1642 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1643 },
- .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1644 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1645 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1646 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1647 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1397 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1648 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1649 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1650 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1651 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1652 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1653 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1654 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1655 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1656 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1657 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1658 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1659 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1661 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1662 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1663 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1664 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1663 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1665 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1414 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1667 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1668 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1669 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 887 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1670 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1671 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1672 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1673 },
- .{ .char = 'F', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1674 },
- .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1674 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 409 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1430 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1675 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1676 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1677 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1427 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1430 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1678 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1427 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1430 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1680 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 8, .child_index = 1589 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1682 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1683 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1686 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1687 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 122, .child_index = 1688 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 134, .child_index = 1689 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1705 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 12, .child_index = 1706 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1710 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1711 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1712 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1714 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1717 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1718 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1719 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 549 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1720 },
- .{ .char = 'j', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1721 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1722 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1723 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1715 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1725 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1727 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1728 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1729 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1730 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1731 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 1732 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1715 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1733 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1734 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1504 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1735 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1736 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1737 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1738 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
- .{ .char = 'm', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1739 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1740 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1741 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1742 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1743 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1744 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 458 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1745 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1450 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1746 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1747 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1748 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1749 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1750 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1751 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1752 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1753 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1754 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 457 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1755 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1756 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1757 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1743 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1758 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1759 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1504 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1715 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1450 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1761 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1762 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1763 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 484 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 485 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1766 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 135, .child_index = 1767 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 534, .child_index = 1768 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1682 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1783 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1784 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1786 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1787 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1788 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1789 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1790 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1791 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1792 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1793 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1794 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 361 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 108, .child_index = 1795 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1808 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1809 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 1810 },
- .{ .char = '0', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 1813 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1814 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 295 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 1816 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1817 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1818 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1819 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1820 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1821 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1822 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1824 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1825 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1826 },
- .{ .char = 'j', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 497 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 344 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 519 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1827 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1828 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1822 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1829 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1822 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1830 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 500 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 505 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 323 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 509 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 511 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 512 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 513 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1733 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1715 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1831 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1832 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1833 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1834 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1835 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1836 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1263, .child_index = 1837 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 1838 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 887 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 888 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1839 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 1840 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1841 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1842 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1843 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1844 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1844 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 1845 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1846 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1847 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1848 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1849 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1611 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1850 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1851 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1852 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1853 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1854 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1855 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1856 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1857 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1858 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 655 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1861 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1863 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 1864 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1865 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1866 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1867 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1868 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1869 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 655 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1870 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1352 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 1871 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1872 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1873 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1874 },
- .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1875 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1876 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1877 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1878 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1879 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1880 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1401 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1881 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1882 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1883 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 286 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1884 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1885 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1886 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1665 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1887 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1888 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 1889 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
- .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1890 },
- .{ .char = 'I', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1406 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1891 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1892 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1168 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1893 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1168 },
- .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1894 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1895 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1896 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1900 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1901 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 1903 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1427 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1430 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1906 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 549 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1907 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1908 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 122, .child_index = 1909 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 1910 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1913 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1916 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1917 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 1918 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 1919 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 420 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1921 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 1922 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1925 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 51, .child_index = 1927 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 1934 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 1937 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1942 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 1943 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 274 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1945 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1715 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1733 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 1715 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1946 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1947 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1950 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1951 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1733 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1952 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1953 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1485 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 332 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1954 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1955 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1956 },
- .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1957 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 1959 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1961 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1962 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1963 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1964 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1965 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1966 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 1967 },
- .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1968 },
- .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1969 },
- .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1970 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1971 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1972 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1973 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1974 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1975 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1976 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1977 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1978 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1979 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 328 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1980 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1981 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1982 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1983 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1984 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1985 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1986 },
- .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 5, .child_index = 1504 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1987 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1988 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 291 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1989 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1990 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 135, .child_index = 1991 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 50, .child_index = 2003 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 56, .child_index = 2007 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 50, .child_index = 2013 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 2018 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 106, .child_index = 2021 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 2032 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 2034 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2036 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 73, .child_index = 2037 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2042 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2044 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 2045 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 97, .child_index = 2046 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2053 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2054 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2055 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2056 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2057 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2058 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2059 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2060 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2061 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2062 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2063 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2064 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2065 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2066 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2067 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2068 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2070 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2071 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 41, .child_index = 2072 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2078 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2079 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2081 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 2084 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2089 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2090 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2094 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2097 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2100 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2101 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2102 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2103 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2104 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 2105 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2107 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1826 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2108 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2109 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2110 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2111 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2112 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 2113 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1682 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2116 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2118 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2120 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2121 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2122 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2123 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2124 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1970 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 1504 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1546 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2125 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2126 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2127 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1263, .child_index = 2128 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 2129 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 986 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2131 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2133 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1847 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1847 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2134 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2135 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2135 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2136 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1847 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2137 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2138 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2142 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2143 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2144 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2145 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2146 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2147 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2148 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 655 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2149 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2150 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 2151 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2152 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2153 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1869 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2154 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2156 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 2157 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2158 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2159 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2160 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2162 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2163 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 580 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2164 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2165 },
- .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
- .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
- .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2166 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2167 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2168 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2169 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2170 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2171 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2172 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 582 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2173 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2174 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2175 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2176 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2177 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2179 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2180 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2181 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2182 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2183 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2180 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2184 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2186 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2186 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2187 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2188 },
- .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2190 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 122, .child_index = 2191 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2192 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2193 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2196 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1883 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2197 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2198 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2201 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2202 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2204 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2205 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2207 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2208 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2210 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2211 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2212 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2214 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2217 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 2219 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2221 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 2223 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2226 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2227 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 520 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2229 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2212 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2217 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2217 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 2230 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2226 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2232 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 431 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2211 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2233 },
- .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 2234 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
- .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2235 },
- .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2236 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2237 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2238 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2239 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2240 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2241 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2242 },
- .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2243 },
- .{ .char = '6', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 238 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2244 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2245 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2246 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2247 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2249 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2250 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 2251 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2243 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2252 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2253 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2254 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2255 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2256 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2257 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2258 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2259 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2260 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2261 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2262 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2263 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2264 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2167 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2265 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2267 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2268 },
- .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2269 },
- .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2270 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2270 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 19, .child_index = 2271 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2274 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 2277 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2278 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2279 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2280 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2281 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 2284 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 21, .child_index = 2289 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2292 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 25, .child_index = 2295 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2297 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 2298 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2299 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2300 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2301 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2302 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2303 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2304 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 2306 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2308 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2309 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2310 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2311 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 2312 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2314 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2311 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2315 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2316 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2032 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2317 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 2318 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2324 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2325 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2326 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2328 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2329 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 2330 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2334 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 26, .child_index = 2337 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2344 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2347 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2348 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2349 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2350 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2351 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 2354 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 2356 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 2357 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2359 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2360 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2361 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2044 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2363 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2365 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2367 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2368 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2369 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2371 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 2372 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2374 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 2376 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2377 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2044 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2378 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2379 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2380 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2381 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2382 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2383 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2384 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2385 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2386 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2387 },
- .{ .char = 'y', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1485 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2388 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2389 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2390 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2391 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2392 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2393 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2394 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2396 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2397 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2398 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 2400 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2403 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2405 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2406 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1342 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2407 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2408 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2409 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2411 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2412 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2415 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2416 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2419 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2420 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2421 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2422 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2423 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2425 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2426 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2430 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1616 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2431 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2432 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2433 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2434 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2435 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2436 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2437 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2438 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2439 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2440 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2441 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2442 },
- .{ .char = 'o', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1974 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2443 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2445 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 3, .child_index = 1724 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1682 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1534 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2446 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2447 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2448 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 297 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2449 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 429 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2450 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2451 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2452 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1263, .child_index = 2453 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2465 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2468 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2469 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2470 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2471 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2472 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2473 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2474 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1847 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2475 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2476 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2477 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2478 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2479 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2481 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2482 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2483 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2484 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2488 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 2489 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1869 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1869 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2490 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2490 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2491 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 2492 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2493 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2494 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2495 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2496 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2497 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2498 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 674 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2499 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2500 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 584 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2501 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2502 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2503 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2504 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2505 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2506 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2507 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2508 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2509 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2183 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2510 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2511 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2183 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2512 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2513 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2510 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2512 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2510 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2184 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2514 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2515 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2516 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 122, .child_index = 2518 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1362 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },
- .{ .char = 's', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1881 },
- .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1881 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2535 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2536 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 2537 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2539 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 2540 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 1362 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2542 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2543 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 1661 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 463 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2544 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1652 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 2545 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2547 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2536 },
- .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2212 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2548 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 14, .child_index = 2550 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2552 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2555 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2557 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 2537 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 332 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2539 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2558 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2560 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2561 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2562 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2563 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2557 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2566 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2567 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2569 },
- .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2570 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2571 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2572 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2573 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2574 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2575 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1491 },
- .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2576 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2577 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2578 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2579 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2580 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2581 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2582 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 2583 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2584 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2585 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1744 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2586 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2587 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 729 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2588 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1451 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2589 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2591 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2592 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2593 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2594 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2595 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2596 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2597 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2599 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2600 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 2601 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2602 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 479 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2603 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2604 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2605 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2606 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2608 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2609 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2610 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 463 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2611 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2613 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2614 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2615 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 2616 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2617 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2618 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 2619 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2620 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2621 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2622 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 2623 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 2626 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2621 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 2627 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2363 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2630 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2631 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2633 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2634 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2635 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2363 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2636 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2309 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2637 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2639 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2646 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2647 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2647 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2649 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2651 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2652 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2653 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2654 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2655 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2658 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2659 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2660 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2663 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2664 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2667 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2668 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2670 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2671 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2672 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2674 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2675 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2676 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2677 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2678 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2679 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2653 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2654 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2680 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2658 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2659 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2682 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2683 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2667 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2687 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2688 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2689 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2690 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2691 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2695 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2697 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2701 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2703 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 2704 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 2704 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2650 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2706 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2707 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2708 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2711 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2711 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2712 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2713 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2714 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2716 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2717 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2644 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2718 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 2719 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 2719 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2697 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 2722 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2724 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1524 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2725 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2726 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2727 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2728 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2729 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2730 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2731 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2732 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2733 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2734 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2735 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2736 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2737 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2741 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2742 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2744 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2746 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2747 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2748 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2749 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2751 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 2752 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2757 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2758 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2759 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2760 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2761 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2762 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2763 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2762 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1342 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2764 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2765 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2766 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2767 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2764 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2768 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2765 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2766 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2769 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2770 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2772 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2773 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2774 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2775 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2777 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2778 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2779 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2780 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2778 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2781 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2782 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 656 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2783 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2784 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2785 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2786 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2787 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2788 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2790 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 2791 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2725 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2795 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2796 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 2797 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1487 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2575 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2798 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2799 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2800 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2801 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2802 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2803 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2805 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2807 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2808 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2812 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2814 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 393, .child_index = 2815 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2819 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2821 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 836, .child_index = 2823 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2837 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2838 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2839 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2840 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2841 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2842 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2843 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2844 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2845 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2846 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2847 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2848 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1352 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1624 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 506 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2849 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2850 },
- .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1100 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2851 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2852 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2853 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2854 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2855 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 2856 },
- .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2235 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 2857 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2864 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2865 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2866 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2867 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2868 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2869 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2870 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2871 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2872 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2873 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2874 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1362 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2875 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2876 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2877 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2878 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2879 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2880 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2879 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2879 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2881 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2882 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2883 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2884 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2885 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2887 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 13, .child_index = 2888 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 2892 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2894 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2896 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2900 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 2901 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2905 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2906 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 2909 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2912 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 11, .child_index = 2914 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 23, .child_index = 2917 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2923 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 2924 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 2926 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2928 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2929 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 549 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2930 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1362 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1362 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1808 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1665 },
- .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 649 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2931 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 463 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2557 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 2933 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2938 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2940 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 2941 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2940 },
- .{ .char = 't', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2944 },
- .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2931 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2945 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2946 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2947 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2948 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2949 },
- .{ .char = 't', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2944 },
- .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2951 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1749 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2952 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2953 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2954 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2955 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 512 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2956 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2957 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2958 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2959 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2960 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2961 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2962 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2963 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 2964 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2965 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2966 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1143 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2967 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2968 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2969 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2970 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2971 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2972 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2973 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2974 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2975 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2976 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2977 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2978 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2979 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2980 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 2981 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2985 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2986 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2987 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 2988 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2991 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2991 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 2995 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2712 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2997 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2998 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2999 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3000 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3001 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 14, .child_index = 3002 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3007 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3008 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 3009 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3011 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3012 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3013 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3014 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3015 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 3016 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 13, .child_index = 3018 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3020 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3021 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3022 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 3024 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2363 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2363 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'v', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2697 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3026 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3022 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3022 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3027 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3028 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2702 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2654 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2680 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3029 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3031 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3032 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3033 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3034 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2702 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3032 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2652 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3035 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3035 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3036 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3037 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2682 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2702 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3037 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2702 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2654 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2680 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3029 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3038 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3040 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3027 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3027 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3041 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2701 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3042 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3043 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3044 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2697 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3045 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2708 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3047 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2650 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3050 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2708 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3051 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3052 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3041 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3042 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3053 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3056 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2697 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2701 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 3057 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3059 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3060 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3061 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3062 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3063 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3064 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3065 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3066 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 1485 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3067 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3068 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3069 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 311 },
- .{ .char = 't', .end_of_word = true, .end_of_list = false, .number = 4, .child_index = 3070 },
- .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 458 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3072 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3074 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3076 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3077 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3078 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3079 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2747 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'm', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2751 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2751 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2751 },
- .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3080 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3081 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3082 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3083 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3084 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3086 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3089 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3090 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3092 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3094 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3095 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3096 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3097 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3097 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3098 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2431 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3099 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3100 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3101 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3102 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3103 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3104 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3105 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3106 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3107 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3108 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3109 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3110 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3112 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 664 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3115 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3116 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 1491 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3117 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3118 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3119 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3120 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3121 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3122 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3123 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3124 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3125 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3126 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3127 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 3128 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3130 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3131 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3120 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3132 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3133 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3130 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3134 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 388, .child_index = 3135 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3126 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3147 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3130 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3149 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 3150 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 3152 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 71, .child_index = 3153 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 45, .child_index = 3156 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 3157 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 294, .child_index = 3159 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 32, .child_index = 3166 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 35, .child_index = 3167 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 81, .child_index = 3168 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3173 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3174 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 42, .child_index = 3175 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 163, .child_index = 3181 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3189 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2814 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3190 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3191 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3190 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3192 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3193 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3194 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3195 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3196 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3197 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3198 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3199 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3200 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3201 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3202 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3203 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3204 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3205 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 3206 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3207 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3209 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3211 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3212 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3213 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3214 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3215 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3216 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3217 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3218 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3219 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3220 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3221 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 3222 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3223 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3224 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3225 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 3226 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3227 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 486 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3228 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3229 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3230 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2879 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3231 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3232 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3233 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3234 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3235 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3236 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3237 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3238 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3239 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3240 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 3241 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3243 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3244 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3245 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3246 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1891 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3247 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3248 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3250 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3252 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2787 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 3253 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3254 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3255 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3256 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3257 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3258 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3259 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3260 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3261 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3262 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3263 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3264 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 3265 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3266 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3267 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3273 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3274 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3275 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3276 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3278 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3279 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3274 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3280 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3281 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3282 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3283 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3284 },
- .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3101 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
- .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3285 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 3287 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2940 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3285 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3285 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 3287 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2940 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3287 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3285 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3285 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3285 },
- .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 648 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2946 },
- .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 648 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3288 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },
- .{ .char = '8', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2243 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3289 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3290 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3291 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3292 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3293 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3294 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3295 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3296 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 581 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3297 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3298 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3299 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 3300 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3301 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3302 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3303 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3304 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3305 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3306 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2267 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3307 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2972 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3308 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3309 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3310 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3311 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 3312 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 569 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3314 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 519 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3316 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3317 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3318 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3320 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3322 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3323 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3324 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3326 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3327 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 3328 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3329 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3330 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3331 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3332 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3330 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3333 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3334 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3336 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3338 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3339 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3330 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3340 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3341 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 17, .child_index = 3342 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2985 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3344 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3341 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3345 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 3346 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3341 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 7, .child_index = 3312 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3314 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3047 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2701 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 2644 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3347 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3349 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3045 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2687 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2668 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3350 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3351 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3354 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2716 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2701 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 2701 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2712 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2687 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3051 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 2644 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3022 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3355 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 1715 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 1987 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3357 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3358 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3359 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3360 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3362 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3363 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 463 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3364 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3365 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3366 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 3367 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3367 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2482 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2482 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3368 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3369 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3370 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3371 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3372 },
- .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 585 },
- .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3373 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3375 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 3330 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3330 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3376 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3377 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3378 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1352 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3379 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3084 },
- .{ .char = 'v', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 3381 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3383 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3384 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3385 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3386 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3387 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3388 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3389 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3390 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 458 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 463 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 457 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3391 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3392 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2800 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3393 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 238 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3132 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3132 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3394 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3395 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3396 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3397 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3398 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3399 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3400 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3401 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3404 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3405 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3406 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3407 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3408 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 3409 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3411 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 20, .child_index = 3412 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3414 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 242, .child_index = 3415 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 3420 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3421 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3423 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 3424 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3425 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 42, .child_index = 3427 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3431 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3432 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3433 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 3434 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3435 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 15, .child_index = 3436 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 3438 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3439 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 3440 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 45, .child_index = 3441 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3442 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3439 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3443 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3444 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3445 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 186, .child_index = 3446 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 3451 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 3452 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 20, .child_index = 3453 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 32, .child_index = 3455 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 35, .child_index = 3459 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 3465 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 3466 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3467 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 34, .child_index = 3468 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3469 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3470 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3471 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3472 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3473 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 3474 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3476 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3477 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3478 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 3479 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3484 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3485 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3486 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 3487 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 24, .child_index = 3487 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 48, .child_index = 3489 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 3495 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3173 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3497 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3498 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3499 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3500 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3291 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3504 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3505 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3506 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3507 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1618 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2562 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3509 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2267 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2976 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3510 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 3511 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3512 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3512 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 463 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3513 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3514 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3209 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3212 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3515 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3516 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3517 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3518 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 3519 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'E', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3520 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3521 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 10, .child_index = 3522 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3527 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3528 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3529 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3530 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3531 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3532 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3533 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3534 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3535 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3536 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3537 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3538 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3539 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3540 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3541 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3547 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2477 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3264 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3548 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3549 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3550 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3551 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3552 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3553 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3554 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3555 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3557 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3558 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3559 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3561 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3562 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3563 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3564 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3565 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 680 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3566 },
- .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 3567 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3569 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3570 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3572 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3573 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 3574 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3576 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3577 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3578 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3579 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3580 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3581 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3579 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3582 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3583 },
- .{ .char = 'T', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3584 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3585 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'x', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3379 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3586 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3500 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3587 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3588 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3589 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3590 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3591 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3592 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3593 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3594 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 3595 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3596 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3597 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3598 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3365 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3599 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2594 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3600 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3601 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3602 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3603 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3604 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3605 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3607 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3608 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3611 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2712 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3612 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3613 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3614 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3616 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3322 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3617 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3619 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3620 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3621 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3622 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3323 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3623 },
- .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3626 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3619 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3628 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3629 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3630 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3632 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3634 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3635 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 3637 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 7, .child_index = 3639 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3641 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3642 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3645 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3648 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3648 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3649 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2702 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3350 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3651 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3652 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3653 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3654 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3655 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3656 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3657 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3658 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3659 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3660 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3661 },
- .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3662 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3663 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3664 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3665 },
- .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3666 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3668 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3669 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 3670 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3671 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3672 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3673 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3674 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3675 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3676 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3677 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3678 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3500 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3391 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3679 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3680 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3126 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3681 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3682 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3683 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3684 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3686 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3686 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3686 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3687 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3688 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3689 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3691 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3692 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3693 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3694 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3695 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3697 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3698 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3699 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3700 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3701 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 206, .child_index = 3702 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 3707 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3708 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3709 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3710 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3711 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3713 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3714 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3715 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3716 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3717 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3717 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3719 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3423 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3720 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3721 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 3722 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3470 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3724 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3728 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 30, .child_index = 3722 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3729 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 40, .child_index = 3730 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 45, .child_index = 3734 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3470 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3736 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3737 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3738 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 3739 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3741 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 114, .child_index = 3742 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 3746 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3747 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 36, .child_index = 3748 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 3750 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3752 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 3753 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3755 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 3756 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3758 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3759 },
- .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3761 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3762 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 3763 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3766 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3767 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3728 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 3770 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 3770 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3771 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 34, .child_index = 3773 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3775 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3776 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3777 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3778 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3779 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 3781 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3782 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3783 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3784 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3476 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3785 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3786 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3789 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3790 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3786 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3791 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3792 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3793 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 3794 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3796 },
- .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3797 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3798 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 16, .child_index = 3799 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3803 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3804 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 16, .child_index = 3799 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 3722 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3805 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3807 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3809 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3810 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
- .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2235 },
- .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 649 },
- .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3811 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3814 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3815 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2267 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3818 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 3819 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3512 },
- .{ .char = 'b', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3820 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3821 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 323 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 1652 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 3822 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3823 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2944 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
- .{ .char = '8', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'A', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3824 },
- .{ .char = 'P', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2966 },
- .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3825 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3826 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3827 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 521 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2431 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3828 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3829 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3830 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3831 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3832 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3833 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3834 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3838 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3839 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3840 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3842 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3843 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3844 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3845 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3847 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3848 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3849 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3850 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3580 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3851 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3852 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3853 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3854 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3855 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3856 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2854 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3857 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3264 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3858 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3859 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3860 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3861 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3862 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3863 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3864 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3867 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3868 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3869 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3870 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3871 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3870 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3872 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3874 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3875 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3876 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3878 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3879 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 680 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3880 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3881 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3882 },
- .{ .char = 'T', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 3884 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3886 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3887 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3888 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3889 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3890 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 664 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3891 },
- .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3892 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3893 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 3894 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3895 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3600 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3896 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3897 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3898 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2168 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3899 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3900 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3901 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3902 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3341 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3905 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2490 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3619 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3619 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3619 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3322 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3907 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3908 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 578 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3910 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3912 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3913 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3914 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3916 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3917 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3918 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3919 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3920 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3921 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3901 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3323 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3922 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3619 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3923 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3925 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3926 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3928 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3930 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3901 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3900 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3931 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 2702 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2702 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3934 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3935 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3936 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3937 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3938 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3939 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2431 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3940 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3941 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3942 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3943 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 2751 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3944 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3945 },
- .{ .char = '4', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = '8', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3946 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3947 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3669 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3948 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 3949 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3950 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3951 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3952 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3953 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3955 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3956 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3957 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3958 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3961 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3962 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3963 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3964 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3965 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3966 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3967 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3969 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3970 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3971 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3972 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3974 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 3976 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3977 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3974 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3980 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3694 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3982 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 15, .child_index = 3983 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3985 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = false, .number = 170, .child_index = 3986 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 3989 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3990 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 3991 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3993 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3977 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3994 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3994 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3995 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3996 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3998 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3999 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4002 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4002 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 3974 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4003 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4005 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 4006 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4008 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4010 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4010 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4010 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4010 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4011 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4012 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4013 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4016 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4017 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 24, .child_index = 4019 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 27, .child_index = 4021 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 4023 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4025 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4025 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4025 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 4027 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4025 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4025 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 4029 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 30, .child_index = 4033 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 4029 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 4029 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 4027 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4025 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 18, .child_index = 4038 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 3746 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4039 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4040 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4041 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 4025 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4042 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4044 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4045 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4045 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4046 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3755 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3758 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4047 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4049 },
- .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4050 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4051 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4051 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4052 },
- .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3761 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3762 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3766 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 4006 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4053 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4054 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 22, .child_index = 4055 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4008 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4057 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4058 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3728 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3783 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3997 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4060 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4060 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4061 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4062 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3798 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3785 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3789 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3790 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4063 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4065 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4066 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4067 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4068 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3796 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4069 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4071 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4072 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4075 },
- .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 3797 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3798 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3803 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3804 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4076 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4078 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3783 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4079 },
- .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2235 },
- .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 649 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4081 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4082 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1352 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 549 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3507 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3289 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 33, .child_index = 4084 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4092 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4093 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 4094 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4095 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 1661 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 2544 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4096 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4097 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4098 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4099 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4100 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4101 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4102 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 680 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 458 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 568 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 569 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 569 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4103 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4104 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4105 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4107 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2602 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3847 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4108 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4109 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4110 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4112 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4113 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
- .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4114 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4115 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4116 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4117 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4118 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4119 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4120 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4121 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4122 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4123 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4124 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4125 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4126 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4127 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4128 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4129 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4130 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4131 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4132 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4133 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4134 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4136 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4137 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4139 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4140 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4141 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2931 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4142 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 549 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4143 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4144 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4145 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4146 },
- .{ .char = 'A', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 4147 },
- .{ .char = 'T', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4148 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4149 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 4, .child_index = 4150 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4152 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1789 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4153 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 25, .child_index = 4154 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4166 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4167 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4168 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4169 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4170 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4173 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3901 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4175 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4175 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4175 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4175 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3323 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4176 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4177 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4179 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2431 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4180 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 656 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4181 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3917 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3918 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4182 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3901 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4183 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3917 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3925 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4184 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4185 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4186 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4187 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4190 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4175 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'h', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 2701 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4191 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4192 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4194 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4195 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4196 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3118 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4197 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4198 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4199 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4200 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3379 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3230 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4203 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4204 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4205 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4206 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4207 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4208 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4209 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4210 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3597 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3961 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4211 },
- .{ .char = 'i', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4211 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4212 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1166 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4213 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4214 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4215 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4215 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4216 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4217 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4218 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3712 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4219 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4220 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4221 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4222 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4223 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4224 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 4225 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4226 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 84, .child_index = 4228 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 84, .child_index = 4228 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4225 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 4233 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3989 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3712 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4234 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 3977 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4236 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4237 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4066 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4238 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4239 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4240 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 344 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3682 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3470 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4241 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3470 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3470 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4243 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4244 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4245 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3997 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3997 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4246 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3997 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 12, .child_index = 4248 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4248 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 4250 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 4251 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 4250 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4250 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3470 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3470 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 4253 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4253 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4254 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4255 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4255 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4257 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4260 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4254 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4255 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4255 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4257 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 18, .child_index = 4027 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4262 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4262 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3779 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3783 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3783 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4264 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 3759 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 3755 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3762 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3766 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4265 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4266 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4047 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3762 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4268 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4270 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 4271 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4241 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4244 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4244 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4244 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 12, .child_index = 4273 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4275 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4276 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3785 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3790 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3785 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4278 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4280 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4281 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4282 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4282 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4283 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3798 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 3803 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3804 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4284 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3798 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3804 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3798 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4285 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4285 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4286 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4288 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4288 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4289 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4291 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4292 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 10, .child_index = 4293 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4297 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4298 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4299 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4300 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4301 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4302 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 10, .child_index = 4303 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4305 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4306 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4307 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4308 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4309 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4310 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4312 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4313 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4314 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4317 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4318 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4319 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4320 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 405 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4321 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4322 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 459 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4323 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4324 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4325 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4327 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4328 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4329 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4330 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4331 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4332 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4333 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4334 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4336 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2243 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4338 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4339 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4340 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4341 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3899 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4342 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4343 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4344 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4345 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 569 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4346 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4347 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4348 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4346 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4349 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3861 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4350 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4352 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3569 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4353 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4354 },
- .{ .char = 'T', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4355 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4356 },
- .{ .char = 'f', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 2944 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4357 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4358 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4359 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4361 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4362 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4365 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4366 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4368 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3209 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4369 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3530 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4370 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4372 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4375 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4376 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4377 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4378 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4379 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 412 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 656 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4380 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4381 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3323 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3327 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4382 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2431 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4383 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4384 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3327 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4385 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3619 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4386 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4387 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4185 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4388 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4389 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4390 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4391 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4392 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4393 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 460 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4394 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4395 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4396 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4397 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2071 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4398 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1342 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4399 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4400 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4401 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4402 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4403 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4404 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4405 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4406 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4407 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 344 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'M', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4408 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4409 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4410 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4411 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4412 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3728 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3728 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4413 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4415 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4416 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4416 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4417 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4418 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 36, .child_index = 4420 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 8, .child_index = 4423 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 4426 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4225 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4412 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4412 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4066 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4427 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3791 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3791 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4429 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4430 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4430 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4431 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4432 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4435 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4011 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4436 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 4437 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4437 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4438 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 9, .child_index = 4439 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4439 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4440 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4441 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4441 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4441 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4443 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4441 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4444 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4445 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4445 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4446 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4446 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4448 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4278 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4051 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4051 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4449 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4449 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4450 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 6, .child_index = 3776 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4452 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4446 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4453 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4455 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4427 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4427 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4457 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4458 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3796 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4459 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4455 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3783 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4461 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4462 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4463 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4464 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4465 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4466 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4467 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4298 },
- .{ .char = 't', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4299 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4300 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4468 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4472 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4473 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4474 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4475 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4476 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = false, .number = 5, .child_index = 4477 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4478 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4479 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4480 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4481 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4482 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4483 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 311 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 460 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4484 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4486 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4487 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4489 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2145 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4490 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4491 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3833 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4492 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4493 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4494 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 3558 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4495 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4496 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4497 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4498 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4500 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4501 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4502 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 1352 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4338 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4503 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4504 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4505 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4506 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4507 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3246 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 579 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4508 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4509 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1883 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4510 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2741 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 580 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 3569 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4511 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4512 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4513 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4514 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4515 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4516 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4517 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 344 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4518 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4519 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4520 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 738 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4521 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 2192 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4523 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 568 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4524 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4525 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 580 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4526 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 457 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 286 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4527 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4528 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4529 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4530 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4531 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4532 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 412 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4180 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 561 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4533 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3622 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4534 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4535 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4180 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4536 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4537 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4538 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4539 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4540 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4541 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4542 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4543 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4544 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3223 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1098 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4547 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4548 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 8, .child_index = 4552 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4554 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4555 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4556 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4557 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4558 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4559 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4560 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4217 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4562 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4562 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4220 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4565 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4566 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4568 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4569 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4569 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4569 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4569 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 28, .child_index = 4029 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4569 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4571 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4569 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4572 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 28, .child_index = 4029 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4236 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4573 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4574 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 3470 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4432 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4435 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 3728 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4246 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4576 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4250 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 9, .child_index = 4578 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4580 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4581 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4582 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4582 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4214 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4583 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4583 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4584 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4587 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4588 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4588 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4589 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4590 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4590 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4431 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4265 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4432 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4432 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3530 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4591 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4593 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4299 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4594 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4595 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4464 },
- .{ .char = '0', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = '2', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = '3', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4596 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4597 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 1140 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4598 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4599 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4600 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4601 },
- .{ .char = 'C', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4602 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4603 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4604 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4605 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4606 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4607 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4608 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2946 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4609 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4611 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4126 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3264 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4612 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 460 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3393 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4613 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4614 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4615 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4616 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4617 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 460 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4619 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4620 },
- .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4621 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4622 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4623 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4624 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4625 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4626 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4627 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4628 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4629 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4630 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4631 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4632 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4633 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4634 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4635 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4636 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4637 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4638 },
- .{ .char = 's', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 664 },
- .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 4639 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4641 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4642 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4635 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1616 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4643 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 585 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4644 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4645 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 561 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4646 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4647 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4649 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4650 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4651 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 458 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4652 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4653 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4654 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4655 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4656 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4658 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4659 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4660 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4661 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4662 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4663 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4664 },
- .{ .char = '2', .end_of_word = false, .end_of_list = false, .number = 4, .child_index = 4665 },
- .{ .char = '3', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4665 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4666 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4667 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4668 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4556 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4671 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4672 },
- .{ .char = 'a', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4435 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4673 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4220 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4234 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = '_', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4674 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4675 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4676 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4676 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4677 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4562 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4562 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4244 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4459 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4011 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4058 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4275 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4443 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4580 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4678 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4278 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 655 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4278 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4679 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4680 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4682 },
- .{ .char = '3', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4683 },
- .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4684 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4685 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4472 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4686 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4688 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4472 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 866 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4478 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 5, .child_index = 4692 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4694 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4695 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4696 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4697 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4698 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4699 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4699 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4700 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
- .{ .char = '8', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4701 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4702 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 680 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3580 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4556 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4703 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2712 },
- .{ .char = '1', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 4704 },
- .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4704 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4705 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 496 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3861 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4706 },
- .{ .char = 'c', .end_of_word = true, .end_of_list = true, .number = 3, .child_index = 4707 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4708 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4709 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4710 },
- .{ .char = 'g', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4711 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4712 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3264 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4713 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4208 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4714 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4715 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4716 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4717 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4718 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4719 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2167 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4720 },
- .{ .char = '2', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4721 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4722 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4723 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4724 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4725 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4726 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4387 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4536 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4387 },
- .{ .char = 'q', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4185 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4727 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4728 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4729 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4730 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4731 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4731 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4732 },
- .{ .char = 'w', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4733 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4734 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4735 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4736 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4737 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4738 },
- .{ .char = 'D', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4739 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4741 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4126 },
- .{ .char = 'x', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'y', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4742 },
- .{ .char = '5', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4743 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4220 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4744 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4571 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4674 },
- .{ .char = 'x', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3997 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4278 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4066 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4066 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4745 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3190 },
- .{ .char = '4', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3190 },
- .{ .char = 'k', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 1881 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 458 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4747 },
- .{ .char = 'w', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'x', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'y', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'z', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 649 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4748 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = true, .number = 6, .child_index = 4751 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4755 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4756 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4757 },
- .{ .char = 'n', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4758 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3807 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4759 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4760 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4761 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4762 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4763 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4764 },
- .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4765 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4334 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4129 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4766 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4767 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4768 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4769 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 6, .child_index = 4770 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4772 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4773 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4774 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4775 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4776 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4777 },
- .{ .char = '0', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4778 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4779 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4780 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4781 },
- .{ .char = 'j', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4782 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4783 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4785 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4786 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4787 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4659 },
- .{ .char = 'd', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4732 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 291 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4788 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4789 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4790 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4791 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4792 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4791 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4793 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4793 },
- .{ .char = 'D', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4795 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4798 },
- .{ .char = '1', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4799 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4800 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4677 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4677 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4802 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4803 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 496 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3288 },
- .{ .char = '1', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 648 },
- .{ .char = '6', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 649 },
- .{ .char = '8', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'P', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4804 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4805 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4806 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2972 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4807 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4808 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2490 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4809 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2730 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2946 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4811 },
- .{ .char = '6', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3861 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2712 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4812 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4813 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3881 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 3, .child_index = 4404 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 3, .child_index = 4327 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4814 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4815 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4816 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4817 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4818 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 471 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4819 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4820 },
- .{ .char = 'z', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4821 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4822 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 2, .child_index = 4823 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4823 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4824 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2799 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4825 },
- .{ .char = 'p', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4732 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 183 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4826 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4827 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4828 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4829 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4829 },
- .{ .char = 'f', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4829 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4829 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4830 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4612 },
- .{ .char = '2', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4831 },
- .{ .char = 'M', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 655 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 's', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4833 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4834 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4835 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4836 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 4, .child_index = 4837 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2883 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4841 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 2946 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2946 },
- .{ .char = 'm', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4842 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3288 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 311 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4843 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4844 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 451 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4845 },
- .{ .char = 'c', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4846 },
- .{ .char = 'v', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 323 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4847 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4848 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 3937 },
- .{ .char = 'a', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4849 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4850 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4851 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4830 },
- .{ .char = 'h', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4852 },
- .{ .char = '_', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4829 },
- .{ .char = 'l', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 'u', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'k', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4853 },
- .{ .char = 'q', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4854 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4855 },
- .{ .char = 'b', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4856 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4505 },
- .{ .char = 's', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 520 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 420 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4857 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4858 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4859 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4860 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3223 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4861 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4862 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 3117 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4863 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2384 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4864 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4830 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 5, .child_index = 4865 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4868 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4869 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4870 },
- .{ .char = '1', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'n', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4871 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4872 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 457 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 2161 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4873 },
- .{ .char = 'u', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4874 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4834 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = false, .number = 2, .child_index = 4875 },
- .{ .char = 'l', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4875 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4877 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4878 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4879 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4126 },
- .{ .char = 'g', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 572 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 450 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4880 },
- .{ .char = 'e', .end_of_word = true, .end_of_list = false, .number = 1, .child_index = 0 },
- .{ .char = 't', .end_of_word = true, .end_of_list = true, .number = 1, .child_index = 0 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 2, .child_index = 4882 },
- .{ .char = 'S', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4883 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4884 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = false, .number = 1, .child_index = 4885 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4886 },
- .{ .char = 'r', .end_of_word = true, .end_of_list = true, .number = 2, .child_index = 4887 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4888 },
- .{ .char = 'o', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 654 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4889 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4890 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 459 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4891 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4892 },
- .{ .char = 'd', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4893 },
- .{ .char = 'i', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 1654 },
- .{ .char = 'a', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4894 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4895 },
- .{ .char = '_', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4896 },
- .{ .char = 'r', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4830 },
- .{ .char = 't', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4897 },
- .{ .char = 'y', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4898 },
- .{ .char = 'p', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4899 },
- .{ .char = 'e', .end_of_word = false, .end_of_list = true, .number = 1, .child_index = 4830 },
-};
-const builtin_data = blk: {
- @setEvalBranchQuota(3948);
- break :blk [_]@This(){
- // _Block_object_assign
- .{ .tag = @enumFromInt(0), .param_str = "vv*vC*iC", .properties = .{ .header = .blocks, .attributes = .{ .lib_function_without_prefix = true } } },
- // _Block_object_dispose
- .{ .tag = @enumFromInt(1), .param_str = "vvC*iC", .properties = .{ .header = .blocks, .attributes = .{ .lib_function_without_prefix = true } } },
- // _Exit
- .{ .tag = @enumFromInt(2), .param_str = "vi", .properties = .{ .header = .stdlib, .attributes = .{ .noreturn = true, .lib_function_without_prefix = true } } },
- // _InterlockedAnd
- .{ .tag = @enumFromInt(3), .param_str = "NiNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedAnd16
- .{ .tag = @enumFromInt(4), .param_str = "ssD*s", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedAnd8
- .{ .tag = @enumFromInt(5), .param_str = "ccD*c", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedCompareExchange
- .{ .tag = @enumFromInt(6), .param_str = "NiNiD*NiNi", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedCompareExchange16
- .{ .tag = @enumFromInt(7), .param_str = "ssD*ss", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedCompareExchange64
- .{ .tag = @enumFromInt(8), .param_str = "LLiLLiD*LLiLLi", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedCompareExchange8
- .{ .tag = @enumFromInt(9), .param_str = "ccD*cc", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedCompareExchangePointer
- .{ .tag = @enumFromInt(10), .param_str = "v*v*D*v*v*", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedCompareExchangePointer_nf
- .{ .tag = @enumFromInt(11), .param_str = "v*v*D*v*v*", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedDecrement
- .{ .tag = @enumFromInt(12), .param_str = "NiNiD*", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedDecrement16
- .{ .tag = @enumFromInt(13), .param_str = "ssD*", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedExchange
- .{ .tag = @enumFromInt(14), .param_str = "NiNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedExchange16
- .{ .tag = @enumFromInt(15), .param_str = "ssD*s", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedExchange8
- .{ .tag = @enumFromInt(16), .param_str = "ccD*c", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedExchangeAdd
- .{ .tag = @enumFromInt(17), .param_str = "NiNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedExchangeAdd16
- .{ .tag = @enumFromInt(18), .param_str = "ssD*s", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedExchangeAdd8
- .{ .tag = @enumFromInt(19), .param_str = "ccD*c", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedExchangePointer
- .{ .tag = @enumFromInt(20), .param_str = "v*v*D*v*", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedExchangeSub
- .{ .tag = @enumFromInt(21), .param_str = "NiNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedExchangeSub16
- .{ .tag = @enumFromInt(22), .param_str = "ssD*s", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedExchangeSub8
- .{ .tag = @enumFromInt(23), .param_str = "ccD*c", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedIncrement
- .{ .tag = @enumFromInt(24), .param_str = "NiNiD*", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedIncrement16
- .{ .tag = @enumFromInt(25), .param_str = "ssD*", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedOr
- .{ .tag = @enumFromInt(26), .param_str = "NiNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedOr16
- .{ .tag = @enumFromInt(27), .param_str = "ssD*s", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedOr8
- .{ .tag = @enumFromInt(28), .param_str = "ccD*c", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedXor
- .{ .tag = @enumFromInt(29), .param_str = "NiNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedXor16
- .{ .tag = @enumFromInt(30), .param_str = "ssD*s", .properties = .{ .language = .all_ms_languages } },
- // _InterlockedXor8
- .{ .tag = @enumFromInt(31), .param_str = "ccD*c", .properties = .{ .language = .all_ms_languages } },
- // _MoveFromCoprocessor
- .{ .tag = @enumFromInt(32), .param_str = "UiIUiIUiIUiIUiIUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initOne(.arm) } },
- // _MoveFromCoprocessor2
- .{ .tag = @enumFromInt(33), .param_str = "UiIUiIUiIUiIUiIUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initOne(.arm) } },
- // _MoveToCoprocessor
- .{ .tag = @enumFromInt(34), .param_str = "vUiIUiIUiIUiIUiIUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initOne(.arm) } },
- // _MoveToCoprocessor2
- .{ .tag = @enumFromInt(35), .param_str = "vUiIUiIUiIUiIUiIUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initOne(.arm) } },
- // _ReturnAddress
- .{ .tag = @enumFromInt(36), .param_str = "v*", .properties = .{ .language = .all_ms_languages } },
- // __GetExceptionInfo
- .{ .tag = @enumFromInt(37), .param_str = "v*.", .properties = .{ .language = .all_ms_languages, .attributes = .{ .custom_typecheck = true, .eval_args = false } } },
- // __abnormal_termination
- .{ .tag = @enumFromInt(38), .param_str = "i", .properties = .{ .language = .all_ms_languages } },
- // __annotation
- .{ .tag = @enumFromInt(39), .param_str = "wC*.", .properties = .{ .language = .all_ms_languages } },
- // __arithmetic_fence
- .{ .tag = @enumFromInt(40), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true, .const_evaluable = true } } },
- // __assume
- .{ .tag = @enumFromInt(41), .param_str = "vb", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
- // __atomic_always_lock_free
- .{ .tag = @enumFromInt(42), .param_str = "bzvCD*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __atomic_clear
- .{ .tag = @enumFromInt(43), .param_str = "vvD*i", .properties = .{} },
- // __atomic_is_lock_free
- .{ .tag = @enumFromInt(44), .param_str = "bzvCD*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __atomic_signal_fence
- .{ .tag = @enumFromInt(45), .param_str = "vi", .properties = .{} },
- // __atomic_test_and_set
- .{ .tag = @enumFromInt(46), .param_str = "bvD*i", .properties = .{} },
- // __atomic_thread_fence
- .{ .tag = @enumFromInt(47), .param_str = "vi", .properties = .{} },
- // __builtin___CFStringMakeConstantString
- .{ .tag = @enumFromInt(48), .param_str = "FC*cC*", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin___NSStringMakeConstantString
- .{ .tag = @enumFromInt(49), .param_str = "FC*cC*", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin___clear_cache
- .{ .tag = @enumFromInt(50), .param_str = "vc*c*", .properties = .{} },
- // __builtin___fprintf_chk
- .{ .tag = @enumFromInt(51), .param_str = "iP*RicC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 2 } } },
- // __builtin___get_unsafe_stack_bottom
- .{ .tag = @enumFromInt(52), .param_str = "v*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___get_unsafe_stack_ptr
- .{ .tag = @enumFromInt(53), .param_str = "v*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___get_unsafe_stack_start
- .{ .tag = @enumFromInt(54), .param_str = "v*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___get_unsafe_stack_top
- .{ .tag = @enumFromInt(55), .param_str = "v*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___memccpy_chk
- .{ .tag = @enumFromInt(56), .param_str = "v*v*vC*izz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___memcpy_chk
- .{ .tag = @enumFromInt(57), .param_str = "v*v*vC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___memmove_chk
- .{ .tag = @enumFromInt(58), .param_str = "v*v*vC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___mempcpy_chk
- .{ .tag = @enumFromInt(59), .param_str = "v*v*vC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___memset_chk
- .{ .tag = @enumFromInt(60), .param_str = "v*v*izz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___printf_chk
- .{ .tag = @enumFromInt(61), .param_str = "iicC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 1 } } },
- // __builtin___snprintf_chk
- .{ .tag = @enumFromInt(62), .param_str = "ic*RzizcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 4 } } },
- // __builtin___sprintf_chk
- .{ .tag = @enumFromInt(63), .param_str = "ic*RizcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 3 } } },
- // __builtin___stpcpy_chk
- .{ .tag = @enumFromInt(64), .param_str = "c*c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___stpncpy_chk
- .{ .tag = @enumFromInt(65), .param_str = "c*c*cC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___strcat_chk
- .{ .tag = @enumFromInt(66), .param_str = "c*c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___strcpy_chk
- .{ .tag = @enumFromInt(67), .param_str = "c*c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___strlcat_chk
- .{ .tag = @enumFromInt(68), .param_str = "zc*cC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___strlcpy_chk
- .{ .tag = @enumFromInt(69), .param_str = "zc*cC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___strncat_chk
- .{ .tag = @enumFromInt(70), .param_str = "c*c*cC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___strncpy_chk
- .{ .tag = @enumFromInt(71), .param_str = "c*c*cC*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin___vfprintf_chk
- .{ .tag = @enumFromInt(72), .param_str = "iP*RicC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 2 } } },
- // __builtin___vprintf_chk
- .{ .tag = @enumFromInt(73), .param_str = "iicC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 1 } } },
- // __builtin___vsnprintf_chk
- .{ .tag = @enumFromInt(74), .param_str = "ic*RzizcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 4 } } },
- // __builtin___vsprintf_chk
- .{ .tag = @enumFromInt(75), .param_str = "ic*RizcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 3 } } },
- // __builtin_abort
- .{ .tag = @enumFromInt(76), .param_str = "v", .properties = .{ .attributes = .{ .noreturn = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_abs
- .{ .tag = @enumFromInt(77), .param_str = "ii", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_acos
- .{ .tag = @enumFromInt(78), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_acosf
- .{ .tag = @enumFromInt(79), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_acosf128
- .{ .tag = @enumFromInt(80), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_acosh
- .{ .tag = @enumFromInt(81), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_acoshf
- .{ .tag = @enumFromInt(82), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_acoshf128
- .{ .tag = @enumFromInt(83), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_acoshl
- .{ .tag = @enumFromInt(84), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_acosl
- .{ .tag = @enumFromInt(85), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_add_overflow
- .{ .tag = @enumFromInt(86), .param_str = "b.", .properties = .{ .attributes = .{ .custom_typecheck = true, .const_evaluable = true } } },
- // __builtin_addc
- .{ .tag = @enumFromInt(87), .param_str = "UiUiCUiCUiCUi*", .properties = .{} },
- // __builtin_addcb
- .{ .tag = @enumFromInt(88), .param_str = "UcUcCUcCUcCUc*", .properties = .{} },
- // __builtin_addcl
- .{ .tag = @enumFromInt(89), .param_str = "ULiULiCULiCULiCULi*", .properties = .{} },
- // __builtin_addcll
- .{ .tag = @enumFromInt(90), .param_str = "ULLiULLiCULLiCULLiCULLi*", .properties = .{} },
- // __builtin_addcs
- .{ .tag = @enumFromInt(91), .param_str = "UsUsCUsCUsCUs*", .properties = .{} },
- // __builtin_align_down
- .{ .tag = @enumFromInt(92), .param_str = "v*vC*z", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
- // __builtin_align_up
- .{ .tag = @enumFromInt(93), .param_str = "v*vC*z", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
- // __builtin_alloca
- .{ .tag = @enumFromInt(94), .param_str = "v*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_alloca_uninitialized
- .{ .tag = @enumFromInt(95), .param_str = "v*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_alloca_with_align
- .{ .tag = @enumFromInt(96), .param_str = "v*zIz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_alloca_with_align_uninitialized
- .{ .tag = @enumFromInt(97), .param_str = "v*zIz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_amdgcn_alignbit
- .{ .tag = @enumFromInt(98), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_alignbyte
- .{ .tag = @enumFromInt(99), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_atomic_dec32
- .{ .tag = @enumFromInt(100), .param_str = "UZiUZiD*UZiUicC*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_atomic_dec64
- .{ .tag = @enumFromInt(101), .param_str = "UWiUWiD*UWiUicC*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_atomic_inc32
- .{ .tag = @enumFromInt(102), .param_str = "UZiUZiD*UZiUicC*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_atomic_inc64
- .{ .tag = @enumFromInt(103), .param_str = "UWiUWiD*UWiUicC*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_buffer_wbinvl1
- .{ .tag = @enumFromInt(104), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_class
- .{ .tag = @enumFromInt(105), .param_str = "bdi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_classf
- .{ .tag = @enumFromInt(106), .param_str = "bfi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_cosf
- .{ .tag = @enumFromInt(107), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_cubeid
- .{ .tag = @enumFromInt(108), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_cubema
- .{ .tag = @enumFromInt(109), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_cubesc
- .{ .tag = @enumFromInt(110), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_cubetc
- .{ .tag = @enumFromInt(111), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_cvt_pk_i16
- .{ .tag = @enumFromInt(112), .param_str = "E2sii", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_cvt_pk_u16
- .{ .tag = @enumFromInt(113), .param_str = "E2UsUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_cvt_pk_u8_f32
- .{ .tag = @enumFromInt(114), .param_str = "UifUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_cvt_pknorm_i16
- .{ .tag = @enumFromInt(115), .param_str = "E2sff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_cvt_pknorm_u16
- .{ .tag = @enumFromInt(116), .param_str = "E2Usff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_cvt_pkrtz
- .{ .tag = @enumFromInt(117), .param_str = "E2hff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_dispatch_ptr
- .{ .tag = @enumFromInt(118), .param_str = "v*4", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_div_fixup
- .{ .tag = @enumFromInt(119), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_div_fixupf
- .{ .tag = @enumFromInt(120), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_div_fmas
- .{ .tag = @enumFromInt(121), .param_str = "ddddb", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_div_fmasf
- .{ .tag = @enumFromInt(122), .param_str = "ffffb", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_div_scale
- .{ .tag = @enumFromInt(123), .param_str = "dddbb*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_div_scalef
- .{ .tag = @enumFromInt(124), .param_str = "fffbb*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_ds_append
- .{ .tag = @enumFromInt(125), .param_str = "ii*3", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_ds_bpermute
- .{ .tag = @enumFromInt(126), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_ds_consume
- .{ .tag = @enumFromInt(127), .param_str = "ii*3", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_ds_faddf
- .{ .tag = @enumFromInt(128), .param_str = "ff*3fIiIiIb", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_ds_fmaxf
- .{ .tag = @enumFromInt(129), .param_str = "ff*3fIiIiIb", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_ds_fminf
- .{ .tag = @enumFromInt(130), .param_str = "ff*3fIiIiIb", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_ds_permute
- .{ .tag = @enumFromInt(131), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_ds_swizzle
- .{ .tag = @enumFromInt(132), .param_str = "iiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_endpgm
- .{ .tag = @enumFromInt(133), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .noreturn = true } } },
- // __builtin_amdgcn_exp2f
- .{ .tag = @enumFromInt(134), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_fcmp
- .{ .tag = @enumFromInt(135), .param_str = "WUiddIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_fcmpf
- .{ .tag = @enumFromInt(136), .param_str = "WUiffIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_fence
- .{ .tag = @enumFromInt(137), .param_str = "vUicC*", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_fmed3f
- .{ .tag = @enumFromInt(138), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_fract
- .{ .tag = @enumFromInt(139), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_fractf
- .{ .tag = @enumFromInt(140), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_frexp_exp
- .{ .tag = @enumFromInt(141), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_frexp_expf
- .{ .tag = @enumFromInt(142), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_frexp_mant
- .{ .tag = @enumFromInt(143), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_frexp_mantf
- .{ .tag = @enumFromInt(144), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_grid_size_x
- .{ .tag = @enumFromInt(145), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_grid_size_y
- .{ .tag = @enumFromInt(146), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_grid_size_z
- .{ .tag = @enumFromInt(147), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_groupstaticsize
- .{ .tag = @enumFromInt(148), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_iglp_opt
- .{ .tag = @enumFromInt(149), .param_str = "vIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_implicitarg_ptr
- .{ .tag = @enumFromInt(150), .param_str = "v*4", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_interp_mov
- .{ .tag = @enumFromInt(151), .param_str = "fUiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_interp_p1
- .{ .tag = @enumFromInt(152), .param_str = "ffUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_interp_p1_f16
- .{ .tag = @enumFromInt(153), .param_str = "ffUiUibUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_interp_p2
- .{ .tag = @enumFromInt(154), .param_str = "fffUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_interp_p2_f16
- .{ .tag = @enumFromInt(155), .param_str = "hffUiUibUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_is_private
- .{ .tag = @enumFromInt(156), .param_str = "bvC*0", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_is_shared
- .{ .tag = @enumFromInt(157), .param_str = "bvC*0", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_kernarg_segment_ptr
- .{ .tag = @enumFromInt(158), .param_str = "v*4", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_ldexp
- .{ .tag = @enumFromInt(159), .param_str = "ddi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_ldexpf
- .{ .tag = @enumFromInt(160), .param_str = "ffi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_lerp
- .{ .tag = @enumFromInt(161), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_log_clampf
- .{ .tag = @enumFromInt(162), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_logf
- .{ .tag = @enumFromInt(163), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_mbcnt_hi
- .{ .tag = @enumFromInt(164), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_mbcnt_lo
- .{ .tag = @enumFromInt(165), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_mqsad_pk_u16_u8
- .{ .tag = @enumFromInt(166), .param_str = "WUiWUiUiWUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_mqsad_u32_u8
- .{ .tag = @enumFromInt(167), .param_str = "V4UiWUiUiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_msad_u8
- .{ .tag = @enumFromInt(168), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_qsad_pk_u16_u8
- .{ .tag = @enumFromInt(169), .param_str = "WUiWUiUiWUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_queue_ptr
- .{ .tag = @enumFromInt(170), .param_str = "v*4", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_rcp
- .{ .tag = @enumFromInt(171), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_rcpf
- .{ .tag = @enumFromInt(172), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_read_exec
- .{ .tag = @enumFromInt(173), .param_str = "WUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_read_exec_hi
- .{ .tag = @enumFromInt(174), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_read_exec_lo
- .{ .tag = @enumFromInt(175), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_readfirstlane
- .{ .tag = @enumFromInt(176), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_readlane
- .{ .tag = @enumFromInt(177), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_rsq
- .{ .tag = @enumFromInt(178), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_rsq_clamp
- .{ .tag = @enumFromInt(179), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_rsq_clampf
- .{ .tag = @enumFromInt(180), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_rsqf
- .{ .tag = @enumFromInt(181), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_s_barrier
- .{ .tag = @enumFromInt(182), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_s_dcache_inv
- .{ .tag = @enumFromInt(183), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_s_decperflevel
- .{ .tag = @enumFromInt(184), .param_str = "vIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_s_getpc
- .{ .tag = @enumFromInt(185), .param_str = "WUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_s_getreg
- .{ .tag = @enumFromInt(186), .param_str = "UiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_s_incperflevel
- .{ .tag = @enumFromInt(187), .param_str = "vIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_s_sendmsg
- .{ .tag = @enumFromInt(188), .param_str = "vIiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_s_sendmsghalt
- .{ .tag = @enumFromInt(189), .param_str = "vIiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_s_setprio
- .{ .tag = @enumFromInt(190), .param_str = "vIs", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_s_setreg
- .{ .tag = @enumFromInt(191), .param_str = "vIiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_s_sleep
- .{ .tag = @enumFromInt(192), .param_str = "vIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_s_waitcnt
- .{ .tag = @enumFromInt(193), .param_str = "vIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_sad_hi_u8
- .{ .tag = @enumFromInt(194), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_sad_u16
- .{ .tag = @enumFromInt(195), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_sad_u8
- .{ .tag = @enumFromInt(196), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_sbfe
- .{ .tag = @enumFromInt(197), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_sched_barrier
- .{ .tag = @enumFromInt(198), .param_str = "vIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_sched_group_barrier
- .{ .tag = @enumFromInt(199), .param_str = "vIiIiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_sicmp
- .{ .tag = @enumFromInt(200), .param_str = "WUiiiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_sicmpl
- .{ .tag = @enumFromInt(201), .param_str = "WUiWiWiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_sinf
- .{ .tag = @enumFromInt(202), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_sqrt
- .{ .tag = @enumFromInt(203), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_sqrtf
- .{ .tag = @enumFromInt(204), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_trig_preop
- .{ .tag = @enumFromInt(205), .param_str = "ddi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_trig_preopf
- .{ .tag = @enumFromInt(206), .param_str = "ffi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_ubfe
- .{ .tag = @enumFromInt(207), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_uicmp
- .{ .tag = @enumFromInt(208), .param_str = "WUiUiUiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_uicmpl
- .{ .tag = @enumFromInt(209), .param_str = "WUiWUiWUiIi", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_wave_barrier
- .{ .tag = @enumFromInt(210), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.amdgpu) } },
- // __builtin_amdgcn_workgroup_id_x
- .{ .tag = @enumFromInt(211), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_workgroup_id_y
- .{ .tag = @enumFromInt(212), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_workgroup_id_z
- .{ .tag = @enumFromInt(213), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_workgroup_size_x
- .{ .tag = @enumFromInt(214), .param_str = "Us", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_workgroup_size_y
- .{ .tag = @enumFromInt(215), .param_str = "Us", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_workgroup_size_z
- .{ .tag = @enumFromInt(216), .param_str = "Us", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_workitem_id_x
- .{ .tag = @enumFromInt(217), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_workitem_id_y
- .{ .tag = @enumFromInt(218), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_amdgcn_workitem_id_z
- .{ .tag = @enumFromInt(219), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_annotation
- .{ .tag = @enumFromInt(220), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __builtin_arm_cdp
- .{ .tag = @enumFromInt(221), .param_str = "vUIiUIiUIiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_cdp2
- .{ .tag = @enumFromInt(222), .param_str = "vUIiUIiUIiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_clrex
- .{ .tag = @enumFromInt(223), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // __builtin_arm_cls
- .{ .tag = @enumFromInt(224), .param_str = "UiZUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_cls64
- .{ .tag = @enumFromInt(225), .param_str = "UiWUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_clz
- .{ .tag = @enumFromInt(226), .param_str = "UiZUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_clz64
- .{ .tag = @enumFromInt(227), .param_str = "UiWUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_cmse_TT
- .{ .tag = @enumFromInt(228), .param_str = "Uiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_cmse_TTA
- .{ .tag = @enumFromInt(229), .param_str = "Uiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_cmse_TTAT
- .{ .tag = @enumFromInt(230), .param_str = "Uiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_cmse_TTT
- .{ .tag = @enumFromInt(231), .param_str = "Uiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_dbg
- .{ .tag = @enumFromInt(232), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_dmb
- .{ .tag = @enumFromInt(233), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_dsb
- .{ .tag = @enumFromInt(234), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_get_fpscr
- .{ .tag = @enumFromInt(235), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_isb
- .{ .tag = @enumFromInt(236), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_ldaex
- .{ .tag = @enumFromInt(237), .param_str = "v.", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .custom_typecheck = true } } },
- // __builtin_arm_ldc
- .{ .tag = @enumFromInt(238), .param_str = "vUIiUIivC*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_ldc2
- .{ .tag = @enumFromInt(239), .param_str = "vUIiUIivC*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_ldc2l
- .{ .tag = @enumFromInt(240), .param_str = "vUIiUIivC*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_ldcl
- .{ .tag = @enumFromInt(241), .param_str = "vUIiUIivC*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_ldrex
- .{ .tag = @enumFromInt(242), .param_str = "v.", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .custom_typecheck = true } } },
- // __builtin_arm_ldrexd
- .{ .tag = @enumFromInt(243), .param_str = "LLUiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_mcr
- .{ .tag = @enumFromInt(244), .param_str = "vUIiUIiUiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_mcr2
- .{ .tag = @enumFromInt(245), .param_str = "vUIiUIiUiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_mcrr
- .{ .tag = @enumFromInt(246), .param_str = "vUIiUIiLLUiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_mcrr2
- .{ .tag = @enumFromInt(247), .param_str = "vUIiUIiLLUiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_mrc
- .{ .tag = @enumFromInt(248), .param_str = "UiUIiUIiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_mrc2
- .{ .tag = @enumFromInt(249), .param_str = "UiUIiUIiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_mrrc
- .{ .tag = @enumFromInt(250), .param_str = "LLUiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_mrrc2
- .{ .tag = @enumFromInt(251), .param_str = "LLUiUIiUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_nop
- .{ .tag = @enumFromInt(252), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // __builtin_arm_prefetch
- .{ .tag = @enumFromInt(253), .param_str = "!", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_qadd
- .{ .tag = @enumFromInt(254), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_qadd16
- .{ .tag = @enumFromInt(255), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_qadd8
- .{ .tag = @enumFromInt(256), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_qasx
- .{ .tag = @enumFromInt(257), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_qdbl
- .{ .tag = @enumFromInt(258), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_qsax
- .{ .tag = @enumFromInt(259), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_qsub
- .{ .tag = @enumFromInt(260), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_qsub16
- .{ .tag = @enumFromInt(261), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_qsub8
- .{ .tag = @enumFromInt(262), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_rbit
- .{ .tag = @enumFromInt(263), .param_str = "UiUi", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_rbit64
- .{ .tag = @enumFromInt(264), .param_str = "WUiWUi", .properties = .{ .target_set = TargetSet.initOne(.aarch64), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_rsr
- .{ .tag = @enumFromInt(265), .param_str = "UicC*", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_rsr64
- .{ .tag = @enumFromInt(266), .param_str = "!", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_rsrp
- .{ .tag = @enumFromInt(267), .param_str = "v*cC*", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_sadd16
- .{ .tag = @enumFromInt(268), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_sadd8
- .{ .tag = @enumFromInt(269), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_sasx
- .{ .tag = @enumFromInt(270), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_sel
- .{ .tag = @enumFromInt(271), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_set_fpscr
- .{ .tag = @enumFromInt(272), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_sev
- .{ .tag = @enumFromInt(273), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // __builtin_arm_sevl
- .{ .tag = @enumFromInt(274), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // __builtin_arm_shadd16
- .{ .tag = @enumFromInt(275), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_shadd8
- .{ .tag = @enumFromInt(276), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_shasx
- .{ .tag = @enumFromInt(277), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_shsax
- .{ .tag = @enumFromInt(278), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_shsub16
- .{ .tag = @enumFromInt(279), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_shsub8
- .{ .tag = @enumFromInt(280), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlabb
- .{ .tag = @enumFromInt(281), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlabt
- .{ .tag = @enumFromInt(282), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlad
- .{ .tag = @enumFromInt(283), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smladx
- .{ .tag = @enumFromInt(284), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlald
- .{ .tag = @enumFromInt(285), .param_str = "LLiiiLLi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlaldx
- .{ .tag = @enumFromInt(286), .param_str = "LLiiiLLi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlatb
- .{ .tag = @enumFromInt(287), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlatt
- .{ .tag = @enumFromInt(288), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlawb
- .{ .tag = @enumFromInt(289), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlawt
- .{ .tag = @enumFromInt(290), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlsd
- .{ .tag = @enumFromInt(291), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlsdx
- .{ .tag = @enumFromInt(292), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlsld
- .{ .tag = @enumFromInt(293), .param_str = "LLiiiLLi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smlsldx
- .{ .tag = @enumFromInt(294), .param_str = "LLiiiLLi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smuad
- .{ .tag = @enumFromInt(295), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smuadx
- .{ .tag = @enumFromInt(296), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smulbb
- .{ .tag = @enumFromInt(297), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smulbt
- .{ .tag = @enumFromInt(298), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smultb
- .{ .tag = @enumFromInt(299), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smultt
- .{ .tag = @enumFromInt(300), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smulwb
- .{ .tag = @enumFromInt(301), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smulwt
- .{ .tag = @enumFromInt(302), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smusd
- .{ .tag = @enumFromInt(303), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_smusdx
- .{ .tag = @enumFromInt(304), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_ssat
- .{ .tag = @enumFromInt(305), .param_str = "iiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_ssat16
- .{ .tag = @enumFromInt(306), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_ssax
- .{ .tag = @enumFromInt(307), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_ssub16
- .{ .tag = @enumFromInt(308), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_ssub8
- .{ .tag = @enumFromInt(309), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_stc
- .{ .tag = @enumFromInt(310), .param_str = "vUIiUIiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_stc2
- .{ .tag = @enumFromInt(311), .param_str = "vUIiUIiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_stc2l
- .{ .tag = @enumFromInt(312), .param_str = "vUIiUIiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_stcl
- .{ .tag = @enumFromInt(313), .param_str = "vUIiUIiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_stlex
- .{ .tag = @enumFromInt(314), .param_str = "i.", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .custom_typecheck = true } } },
- // __builtin_arm_strex
- .{ .tag = @enumFromInt(315), .param_str = "i.", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .custom_typecheck = true } } },
- // __builtin_arm_strexd
- .{ .tag = @enumFromInt(316), .param_str = "iLLUiv*", .properties = .{ .target_set = TargetSet.initOne(.arm) } },
- // __builtin_arm_sxtab16
- .{ .tag = @enumFromInt(317), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_sxtb16
- .{ .tag = @enumFromInt(318), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_tcancel
- .{ .tag = @enumFromInt(319), .param_str = "vWUIi", .properties = .{ .target_set = TargetSet.initOne(.aarch64) } },
- // __builtin_arm_tcommit
- .{ .tag = @enumFromInt(320), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.aarch64) } },
- // __builtin_arm_tstart
- .{ .tag = @enumFromInt(321), .param_str = "WUi", .properties = .{ .target_set = TargetSet.initOne(.aarch64), .attributes = .{ .returns_twice = true } } },
- // __builtin_arm_ttest
- .{ .tag = @enumFromInt(322), .param_str = "WUi", .properties = .{ .target_set = TargetSet.initOne(.aarch64), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uadd16
- .{ .tag = @enumFromInt(323), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uadd8
- .{ .tag = @enumFromInt(324), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uasx
- .{ .tag = @enumFromInt(325), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uhadd16
- .{ .tag = @enumFromInt(326), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uhadd8
- .{ .tag = @enumFromInt(327), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uhasx
- .{ .tag = @enumFromInt(328), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uhsax
- .{ .tag = @enumFromInt(329), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uhsub16
- .{ .tag = @enumFromInt(330), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uhsub8
- .{ .tag = @enumFromInt(331), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uqadd16
- .{ .tag = @enumFromInt(332), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uqadd8
- .{ .tag = @enumFromInt(333), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uqasx
- .{ .tag = @enumFromInt(334), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uqsax
- .{ .tag = @enumFromInt(335), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uqsub16
- .{ .tag = @enumFromInt(336), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uqsub8
- .{ .tag = @enumFromInt(337), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_usad8
- .{ .tag = @enumFromInt(338), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_usada8
- .{ .tag = @enumFromInt(339), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_usat
- .{ .tag = @enumFromInt(340), .param_str = "UiiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_usat16
- .{ .tag = @enumFromInt(341), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_usax
- .{ .tag = @enumFromInt(342), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_usub16
- .{ .tag = @enumFromInt(343), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_usub8
- .{ .tag = @enumFromInt(344), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uxtab16
- .{ .tag = @enumFromInt(345), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_uxtb16
- .{ .tag = @enumFromInt(346), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_vcvtr_d
- .{ .tag = @enumFromInt(347), .param_str = "fdi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_vcvtr_f
- .{ .tag = @enumFromInt(348), .param_str = "ffi", .properties = .{ .target_set = TargetSet.initOne(.arm), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_wfe
- .{ .tag = @enumFromInt(349), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // __builtin_arm_wfi
- .{ .tag = @enumFromInt(350), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // __builtin_arm_wsr
- .{ .tag = @enumFromInt(351), .param_str = "vcC*Ui", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_wsr64
- .{ .tag = @enumFromInt(352), .param_str = "!", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_wsrp
- .{ .tag = @enumFromInt(353), .param_str = "vcC*vC*", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_arm_yield
- .{ .tag = @enumFromInt(354), .param_str = "v", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // __builtin_asin
- .{ .tag = @enumFromInt(355), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_asinf
- .{ .tag = @enumFromInt(356), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_asinf128
- .{ .tag = @enumFromInt(357), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_asinh
- .{ .tag = @enumFromInt(358), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_asinhf
- .{ .tag = @enumFromInt(359), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_asinhf128
- .{ .tag = @enumFromInt(360), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_asinhl
- .{ .tag = @enumFromInt(361), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_asinl
- .{ .tag = @enumFromInt(362), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_assume
- .{ .tag = @enumFromInt(363), .param_str = "vb", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_assume_aligned
- .{ .tag = @enumFromInt(364), .param_str = "v*vC*z.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
- // __builtin_assume_separate_storage
- .{ .tag = @enumFromInt(365), .param_str = "vvCD*vCD*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_atan
- .{ .tag = @enumFromInt(366), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_atan2
- .{ .tag = @enumFromInt(367), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_atan2f
- .{ .tag = @enumFromInt(368), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_atan2f128
- .{ .tag = @enumFromInt(369), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_atan2l
- .{ .tag = @enumFromInt(370), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_atanf
- .{ .tag = @enumFromInt(371), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_atanf128
- .{ .tag = @enumFromInt(372), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_atanh
- .{ .tag = @enumFromInt(373), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_atanhf
- .{ .tag = @enumFromInt(374), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_atanhf128
- .{ .tag = @enumFromInt(375), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_atanhl
- .{ .tag = @enumFromInt(376), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_atanl
- .{ .tag = @enumFromInt(377), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_bcmp
- .{ .tag = @enumFromInt(378), .param_str = "ivC*vC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_bcopy
- .{ .tag = @enumFromInt(379), .param_str = "vvC*v*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_bitrev
- .{ .tag = @enumFromInt(380), .param_str = "UiUi", .properties = .{ .target_set = TargetSet.initOne(.xcore), .attributes = .{ .@"const" = true } } },
- // __builtin_bitreverse16
- .{ .tag = @enumFromInt(381), .param_str = "UsUs", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_bitreverse32
- .{ .tag = @enumFromInt(382), .param_str = "UZiUZi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_bitreverse64
- .{ .tag = @enumFromInt(383), .param_str = "UWiUWi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_bitreverse8
- .{ .tag = @enumFromInt(384), .param_str = "UcUc", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_bswap16
- .{ .tag = @enumFromInt(385), .param_str = "UsUs", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_bswap32
- .{ .tag = @enumFromInt(386), .param_str = "UZiUZi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_bswap64
- .{ .tag = @enumFromInt(387), .param_str = "UWiUWi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_bzero
- .{ .tag = @enumFromInt(388), .param_str = "vv*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_cabs
- .{ .tag = @enumFromInt(389), .param_str = "dXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cabsf
- .{ .tag = @enumFromInt(390), .param_str = "fXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cabsl
- .{ .tag = @enumFromInt(391), .param_str = "LdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cacos
- .{ .tag = @enumFromInt(392), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cacosf
- .{ .tag = @enumFromInt(393), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cacosh
- .{ .tag = @enumFromInt(394), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cacoshf
- .{ .tag = @enumFromInt(395), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cacoshl
- .{ .tag = @enumFromInt(396), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cacosl
- .{ .tag = @enumFromInt(397), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_call_with_static_chain
- .{ .tag = @enumFromInt(398), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __builtin_calloc
- .{ .tag = @enumFromInt(399), .param_str = "v*zz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_canonicalize
- .{ .tag = @enumFromInt(400), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true } } },
- // __builtin_canonicalizef
- .{ .tag = @enumFromInt(401), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true } } },
- // __builtin_canonicalizef16
- .{ .tag = @enumFromInt(402), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true } } },
- // __builtin_canonicalizel
- .{ .tag = @enumFromInt(403), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true } } },
- // __builtin_carg
- .{ .tag = @enumFromInt(404), .param_str = "dXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cargf
- .{ .tag = @enumFromInt(405), .param_str = "fXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cargl
- .{ .tag = @enumFromInt(406), .param_str = "LdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_casin
- .{ .tag = @enumFromInt(407), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_casinf
- .{ .tag = @enumFromInt(408), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_casinh
- .{ .tag = @enumFromInt(409), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_casinhf
- .{ .tag = @enumFromInt(410), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_casinhl
- .{ .tag = @enumFromInt(411), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_casinl
- .{ .tag = @enumFromInt(412), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_catan
- .{ .tag = @enumFromInt(413), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_catanf
- .{ .tag = @enumFromInt(414), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_catanh
- .{ .tag = @enumFromInt(415), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_catanhf
- .{ .tag = @enumFromInt(416), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_catanhl
- .{ .tag = @enumFromInt(417), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_catanl
- .{ .tag = @enumFromInt(418), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cbrt
- .{ .tag = @enumFromInt(419), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_cbrtf
- .{ .tag = @enumFromInt(420), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_cbrtf128
- .{ .tag = @enumFromInt(421), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_cbrtl
- .{ .tag = @enumFromInt(422), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_ccos
- .{ .tag = @enumFromInt(423), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ccosf
- .{ .tag = @enumFromInt(424), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ccosh
- .{ .tag = @enumFromInt(425), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ccoshf
- .{ .tag = @enumFromInt(426), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ccoshl
- .{ .tag = @enumFromInt(427), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ccosl
- .{ .tag = @enumFromInt(428), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ceil
- .{ .tag = @enumFromInt(429), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_ceilf
- .{ .tag = @enumFromInt(430), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_ceilf128
- .{ .tag = @enumFromInt(431), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_ceilf16
- .{ .tag = @enumFromInt(432), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_ceill
- .{ .tag = @enumFromInt(433), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_cexp
- .{ .tag = @enumFromInt(434), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cexpf
- .{ .tag = @enumFromInt(435), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cexpl
- .{ .tag = @enumFromInt(436), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_char_memchr
- .{ .tag = @enumFromInt(437), .param_str = "c*cC*iz", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_cimag
- .{ .tag = @enumFromInt(438), .param_str = "dXd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_cimagf
- .{ .tag = @enumFromInt(439), .param_str = "fXf", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_cimagl
- .{ .tag = @enumFromInt(440), .param_str = "LdXLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_classify_type
- .{ .tag = @enumFromInt(441), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .eval_args = false, .const_evaluable = true } } },
- // __builtin_clog
- .{ .tag = @enumFromInt(442), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_clogf
- .{ .tag = @enumFromInt(443), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_clogl
- .{ .tag = @enumFromInt(444), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_clrsb
- .{ .tag = @enumFromInt(445), .param_str = "ii", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_clrsbl
- .{ .tag = @enumFromInt(446), .param_str = "iLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_clrsbll
- .{ .tag = @enumFromInt(447), .param_str = "iLLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_clz
- .{ .tag = @enumFromInt(448), .param_str = "iUi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_clzl
- .{ .tag = @enumFromInt(449), .param_str = "iULi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_clzll
- .{ .tag = @enumFromInt(450), .param_str = "iULLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_clzs
- .{ .tag = @enumFromInt(451), .param_str = "iUs", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_complex
- .{ .tag = @enumFromInt(452), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
- // __builtin_conj
- .{ .tag = @enumFromInt(453), .param_str = "XdXd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_conjf
- .{ .tag = @enumFromInt(454), .param_str = "XfXf", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_conjl
- .{ .tag = @enumFromInt(455), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_constant_p
- .{ .tag = @enumFromInt(456), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .eval_args = false, .const_evaluable = true } } },
- // __builtin_convertvector
- .{ .tag = @enumFromInt(457), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_copysign
- .{ .tag = @enumFromInt(458), .param_str = "ddd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_copysignf
- .{ .tag = @enumFromInt(459), .param_str = "fff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_copysignf128
- .{ .tag = @enumFromInt(460), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_copysignf16
- .{ .tag = @enumFromInt(461), .param_str = "hhh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_copysignl
- .{ .tag = @enumFromInt(462), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_cos
- .{ .tag = @enumFromInt(463), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cosf
- .{ .tag = @enumFromInt(464), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cosf128
- .{ .tag = @enumFromInt(465), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cosf16
- .{ .tag = @enumFromInt(466), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cosh
- .{ .tag = @enumFromInt(467), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_coshf
- .{ .tag = @enumFromInt(468), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_coshf128
- .{ .tag = @enumFromInt(469), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_coshl
- .{ .tag = @enumFromInt(470), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cosl
- .{ .tag = @enumFromInt(471), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cpow
- .{ .tag = @enumFromInt(472), .param_str = "XdXdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cpowf
- .{ .tag = @enumFromInt(473), .param_str = "XfXfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cpowl
- .{ .tag = @enumFromInt(474), .param_str = "XLdXLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_cproj
- .{ .tag = @enumFromInt(475), .param_str = "XdXd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_cprojf
- .{ .tag = @enumFromInt(476), .param_str = "XfXf", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_cprojl
- .{ .tag = @enumFromInt(477), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_cpu_init
- .{ .tag = @enumFromInt(478), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.x86) } },
- // __builtin_cpu_is
- .{ .tag = @enumFromInt(479), .param_str = "bcC*", .properties = .{ .target_set = TargetSet.initOne(.x86), .attributes = .{ .@"const" = true } } },
- // __builtin_cpu_supports
- .{ .tag = @enumFromInt(480), .param_str = "bcC*", .properties = .{ .target_set = TargetSet.initOne(.x86), .attributes = .{ .@"const" = true } } },
- // __builtin_creal
- .{ .tag = @enumFromInt(481), .param_str = "dXd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_crealf
- .{ .tag = @enumFromInt(482), .param_str = "fXf", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_creall
- .{ .tag = @enumFromInt(483), .param_str = "LdXLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_csin
- .{ .tag = @enumFromInt(484), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_csinf
- .{ .tag = @enumFromInt(485), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_csinh
- .{ .tag = @enumFromInt(486), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_csinhf
- .{ .tag = @enumFromInt(487), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_csinhl
- .{ .tag = @enumFromInt(488), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_csinl
- .{ .tag = @enumFromInt(489), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_csqrt
- .{ .tag = @enumFromInt(490), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_csqrtf
- .{ .tag = @enumFromInt(491), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_csqrtl
- .{ .tag = @enumFromInt(492), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ctan
- .{ .tag = @enumFromInt(493), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ctanf
- .{ .tag = @enumFromInt(494), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ctanh
- .{ .tag = @enumFromInt(495), .param_str = "XdXd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ctanhf
- .{ .tag = @enumFromInt(496), .param_str = "XfXf", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ctanhl
- .{ .tag = @enumFromInt(497), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ctanl
- .{ .tag = @enumFromInt(498), .param_str = "XLdXLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ctz
- .{ .tag = @enumFromInt(499), .param_str = "iUi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_ctzl
- .{ .tag = @enumFromInt(500), .param_str = "iULi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_ctzll
- .{ .tag = @enumFromInt(501), .param_str = "iULLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_ctzs
- .{ .tag = @enumFromInt(502), .param_str = "iUs", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_dcbf
- .{ .tag = @enumFromInt(503), .param_str = "vvC*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_debugtrap
- .{ .tag = @enumFromInt(504), .param_str = "v", .properties = .{} },
- // __builtin_dump_struct
- .{ .tag = @enumFromInt(505), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __builtin_dwarf_cfa
- .{ .tag = @enumFromInt(506), .param_str = "v*", .properties = .{} },
- // __builtin_dwarf_sp_column
- .{ .tag = @enumFromInt(507), .param_str = "Ui", .properties = .{} },
- // __builtin_dynamic_object_size
- .{ .tag = @enumFromInt(508), .param_str = "zvC*i", .properties = .{ .attributes = .{ .eval_args = false, .const_evaluable = true } } },
- // __builtin_eh_return
- .{ .tag = @enumFromInt(509), .param_str = "vzv*", .properties = .{ .attributes = .{ .noreturn = true } } },
- // __builtin_eh_return_data_regno
- .{ .tag = @enumFromInt(510), .param_str = "iIi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_elementwise_abs
- .{ .tag = @enumFromInt(511), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_add_sat
- .{ .tag = @enumFromInt(512), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_bitreverse
- .{ .tag = @enumFromInt(513), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_canonicalize
- .{ .tag = @enumFromInt(514), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_ceil
- .{ .tag = @enumFromInt(515), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_copysign
- .{ .tag = @enumFromInt(516), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_cos
- .{ .tag = @enumFromInt(517), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_exp
- .{ .tag = @enumFromInt(518), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_exp2
- .{ .tag = @enumFromInt(519), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_floor
- .{ .tag = @enumFromInt(520), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_fma
- .{ .tag = @enumFromInt(521), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_log
- .{ .tag = @enumFromInt(522), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_log10
- .{ .tag = @enumFromInt(523), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_log2
- .{ .tag = @enumFromInt(524), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_max
- .{ .tag = @enumFromInt(525), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_min
- .{ .tag = @enumFromInt(526), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_nearbyint
- .{ .tag = @enumFromInt(527), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_pow
- .{ .tag = @enumFromInt(528), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_rint
- .{ .tag = @enumFromInt(529), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_round
- .{ .tag = @enumFromInt(530), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_roundeven
- .{ .tag = @enumFromInt(531), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_sin
- .{ .tag = @enumFromInt(532), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_sqrt
- .{ .tag = @enumFromInt(533), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_sub_sat
- .{ .tag = @enumFromInt(534), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_elementwise_trunc
- .{ .tag = @enumFromInt(535), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_erf
- .{ .tag = @enumFromInt(536), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_erfc
- .{ .tag = @enumFromInt(537), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_erfcf
- .{ .tag = @enumFromInt(538), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_erfcf128
- .{ .tag = @enumFromInt(539), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_erfcl
- .{ .tag = @enumFromInt(540), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_erff
- .{ .tag = @enumFromInt(541), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_erff128
- .{ .tag = @enumFromInt(542), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_erfl
- .{ .tag = @enumFromInt(543), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_exp
- .{ .tag = @enumFromInt(544), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_exp10
- .{ .tag = @enumFromInt(545), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_exp10f
- .{ .tag = @enumFromInt(546), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_exp10f128
- .{ .tag = @enumFromInt(547), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_exp10f16
- .{ .tag = @enumFromInt(548), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_exp10l
- .{ .tag = @enumFromInt(549), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_exp2
- .{ .tag = @enumFromInt(550), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_exp2f
- .{ .tag = @enumFromInt(551), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_exp2f128
- .{ .tag = @enumFromInt(552), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_exp2f16
- .{ .tag = @enumFromInt(553), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_exp2l
- .{ .tag = @enumFromInt(554), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_expect
- .{ .tag = @enumFromInt(555), .param_str = "LiLiLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_expect_with_probability
- .{ .tag = @enumFromInt(556), .param_str = "LiLiLid", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_expf
- .{ .tag = @enumFromInt(557), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_expf128
- .{ .tag = @enumFromInt(558), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_expf16
- .{ .tag = @enumFromInt(559), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_expl
- .{ .tag = @enumFromInt(560), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_expm1
- .{ .tag = @enumFromInt(561), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_expm1f
- .{ .tag = @enumFromInt(562), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_expm1f128
- .{ .tag = @enumFromInt(563), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_expm1l
- .{ .tag = @enumFromInt(564), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_extend_pointer
- .{ .tag = @enumFromInt(565), .param_str = "ULLiv*", .properties = .{} },
- // __builtin_extract_return_addr
- .{ .tag = @enumFromInt(566), .param_str = "v*v*", .properties = .{} },
- // __builtin_fabs
- .{ .tag = @enumFromInt(567), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fabsf
- .{ .tag = @enumFromInt(568), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fabsf128
- .{ .tag = @enumFromInt(569), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fabsf16
- .{ .tag = @enumFromInt(570), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_fabsl
- .{ .tag = @enumFromInt(571), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fdim
- .{ .tag = @enumFromInt(572), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fdimf
- .{ .tag = @enumFromInt(573), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fdimf128
- .{ .tag = @enumFromInt(574), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fdiml
- .{ .tag = @enumFromInt(575), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ffs
- .{ .tag = @enumFromInt(576), .param_str = "ii", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_ffsl
- .{ .tag = @enumFromInt(577), .param_str = "iLi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_ffsll
- .{ .tag = @enumFromInt(578), .param_str = "iLLi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_floor
- .{ .tag = @enumFromInt(579), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_floorf
- .{ .tag = @enumFromInt(580), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_floorf128
- .{ .tag = @enumFromInt(581), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_floorf16
- .{ .tag = @enumFromInt(582), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_floorl
- .{ .tag = @enumFromInt(583), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_flt_rounds
- .{ .tag = @enumFromInt(584), .param_str = "i", .properties = .{} },
- // __builtin_fma
- .{ .tag = @enumFromInt(585), .param_str = "dddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fmaf
- .{ .tag = @enumFromInt(586), .param_str = "ffff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fmaf128
- .{ .tag = @enumFromInt(587), .param_str = "LLdLLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fmaf16
- .{ .tag = @enumFromInt(588), .param_str = "hhhh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fmal
- .{ .tag = @enumFromInt(589), .param_str = "LdLdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fmax
- .{ .tag = @enumFromInt(590), .param_str = "ddd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fmaxf
- .{ .tag = @enumFromInt(591), .param_str = "fff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fmaxf128
- .{ .tag = @enumFromInt(592), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fmaxf16
- .{ .tag = @enumFromInt(593), .param_str = "hhh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fmaxl
- .{ .tag = @enumFromInt(594), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fmin
- .{ .tag = @enumFromInt(595), .param_str = "ddd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fminf
- .{ .tag = @enumFromInt(596), .param_str = "fff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fminf128
- .{ .tag = @enumFromInt(597), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fminf16
- .{ .tag = @enumFromInt(598), .param_str = "hhh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fminl
- .{ .tag = @enumFromInt(599), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fmod
- .{ .tag = @enumFromInt(600), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fmodf
- .{ .tag = @enumFromInt(601), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fmodf128
- .{ .tag = @enumFromInt(602), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fmodf16
- .{ .tag = @enumFromInt(603), .param_str = "hhh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fmodl
- .{ .tag = @enumFromInt(604), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_fpclassify
- .{ .tag = @enumFromInt(605), .param_str = "iiiiii.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_fprintf
- .{ .tag = @enumFromInt(606), .param_str = "iP*RcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 1 } } },
- // __builtin_frame_address
- .{ .tag = @enumFromInt(607), .param_str = "v*IUi", .properties = .{} },
- // __builtin_free
- .{ .tag = @enumFromInt(608), .param_str = "vv*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_frexp
- .{ .tag = @enumFromInt(609), .param_str = "ddi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_frexpf
- .{ .tag = @enumFromInt(610), .param_str = "ffi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_frexpf128
- .{ .tag = @enumFromInt(611), .param_str = "LLdLLdi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_frexpf16
- .{ .tag = @enumFromInt(612), .param_str = "hhi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_frexpl
- .{ .tag = @enumFromInt(613), .param_str = "LdLdi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_frob_return_addr
- .{ .tag = @enumFromInt(614), .param_str = "v*v*", .properties = .{} },
- // __builtin_fscanf
- .{ .tag = @enumFromInt(615), .param_str = "iP*RcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .scanf, .format_string_position = 1 } } },
- // __builtin_getid
- .{ .tag = @enumFromInt(616), .param_str = "Si", .properties = .{ .target_set = TargetSet.initOne(.xcore), .attributes = .{ .@"const" = true } } },
- // __builtin_getps
- .{ .tag = @enumFromInt(617), .param_str = "UiUi", .properties = .{ .target_set = TargetSet.initOne(.xcore) } },
- // __builtin_huge_val
- .{ .tag = @enumFromInt(618), .param_str = "d", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_huge_valf
- .{ .tag = @enumFromInt(619), .param_str = "f", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_huge_valf128
- .{ .tag = @enumFromInt(620), .param_str = "LLd", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_huge_valf16
- .{ .tag = @enumFromInt(621), .param_str = "x", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_huge_vall
- .{ .tag = @enumFromInt(622), .param_str = "Ld", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_hypot
- .{ .tag = @enumFromInt(623), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_hypotf
- .{ .tag = @enumFromInt(624), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_hypotf128
- .{ .tag = @enumFromInt(625), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_hypotl
- .{ .tag = @enumFromInt(626), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ia32_rdpmc
- .{ .tag = @enumFromInt(627), .param_str = "UOii", .properties = .{ .target_set = TargetSet.initOne(.x86) } },
- // __builtin_ia32_rdtsc
- .{ .tag = @enumFromInt(628), .param_str = "UOi", .properties = .{ .target_set = TargetSet.initOne(.x86) } },
- // __builtin_ia32_rdtscp
- .{ .tag = @enumFromInt(629), .param_str = "UOiUi*", .properties = .{ .target_set = TargetSet.initOne(.x86) } },
- // __builtin_ilogb
- .{ .tag = @enumFromInt(630), .param_str = "id", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ilogbf
- .{ .tag = @enumFromInt(631), .param_str = "if", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ilogbf128
- .{ .tag = @enumFromInt(632), .param_str = "iLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ilogbl
- .{ .tag = @enumFromInt(633), .param_str = "iLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_index
- .{ .tag = @enumFromInt(634), .param_str = "c*cC*i", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_inf
- .{ .tag = @enumFromInt(635), .param_str = "d", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_inff
- .{ .tag = @enumFromInt(636), .param_str = "f", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_inff128
- .{ .tag = @enumFromInt(637), .param_str = "LLd", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_inff16
- .{ .tag = @enumFromInt(638), .param_str = "x", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_infl
- .{ .tag = @enumFromInt(639), .param_str = "Ld", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_init_dwarf_reg_size_table
- .{ .tag = @enumFromInt(640), .param_str = "vv*", .properties = .{} },
- // __builtin_is_aligned
- .{ .tag = @enumFromInt(641), .param_str = "bvC*z", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
- // __builtin_isfinite
- .{ .tag = @enumFromInt(642), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_isfpclass
- .{ .tag = @enumFromInt(643), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
- // __builtin_isgreater
- .{ .tag = @enumFromInt(644), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_isgreaterequal
- .{ .tag = @enumFromInt(645), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_isinf
- .{ .tag = @enumFromInt(646), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_isinf_sign
- .{ .tag = @enumFromInt(647), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_isless
- .{ .tag = @enumFromInt(648), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_islessequal
- .{ .tag = @enumFromInt(649), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_islessgreater
- .{ .tag = @enumFromInt(650), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_isnan
- .{ .tag = @enumFromInt(651), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_isnormal
- .{ .tag = @enumFromInt(652), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_isunordered
- .{ .tag = @enumFromInt(653), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_labs
- .{ .tag = @enumFromInt(654), .param_str = "LiLi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_launder
- .{ .tag = @enumFromInt(655), .param_str = "v*v*", .properties = .{ .attributes = .{ .custom_typecheck = true, .const_evaluable = true } } },
- // __builtin_ldexp
- .{ .tag = @enumFromInt(656), .param_str = "ddi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ldexpf
- .{ .tag = @enumFromInt(657), .param_str = "ffi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ldexpf128
- .{ .tag = @enumFromInt(658), .param_str = "LLdLLdi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ldexpf16
- .{ .tag = @enumFromInt(659), .param_str = "hhi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ldexpl
- .{ .tag = @enumFromInt(660), .param_str = "LdLdi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_lgamma
- .{ .tag = @enumFromInt(661), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_lgammaf
- .{ .tag = @enumFromInt(662), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_lgammaf128
- .{ .tag = @enumFromInt(663), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_lgammal
- .{ .tag = @enumFromInt(664), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_llabs
- .{ .tag = @enumFromInt(665), .param_str = "LLiLLi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_llrint
- .{ .tag = @enumFromInt(666), .param_str = "LLid", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_llrintf
- .{ .tag = @enumFromInt(667), .param_str = "LLif", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_llrintf128
- .{ .tag = @enumFromInt(668), .param_str = "LLiLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_llrintl
- .{ .tag = @enumFromInt(669), .param_str = "LLiLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_llround
- .{ .tag = @enumFromInt(670), .param_str = "LLid", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_llroundf
- .{ .tag = @enumFromInt(671), .param_str = "LLif", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_llroundf128
- .{ .tag = @enumFromInt(672), .param_str = "LLiLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_llroundl
- .{ .tag = @enumFromInt(673), .param_str = "LLiLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log
- .{ .tag = @enumFromInt(674), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log10
- .{ .tag = @enumFromInt(675), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log10f
- .{ .tag = @enumFromInt(676), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log10f128
- .{ .tag = @enumFromInt(677), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log10f16
- .{ .tag = @enumFromInt(678), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log10l
- .{ .tag = @enumFromInt(679), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log1p
- .{ .tag = @enumFromInt(680), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log1pf
- .{ .tag = @enumFromInt(681), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log1pf128
- .{ .tag = @enumFromInt(682), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log1pl
- .{ .tag = @enumFromInt(683), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log2
- .{ .tag = @enumFromInt(684), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log2f
- .{ .tag = @enumFromInt(685), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log2f128
- .{ .tag = @enumFromInt(686), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log2f16
- .{ .tag = @enumFromInt(687), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_log2l
- .{ .tag = @enumFromInt(688), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_logb
- .{ .tag = @enumFromInt(689), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_logbf
- .{ .tag = @enumFromInt(690), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_logbf128
- .{ .tag = @enumFromInt(691), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_logbl
- .{ .tag = @enumFromInt(692), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_logf
- .{ .tag = @enumFromInt(693), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_logf128
- .{ .tag = @enumFromInt(694), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_logf16
- .{ .tag = @enumFromInt(695), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_logl
- .{ .tag = @enumFromInt(696), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_longjmp
- .{ .tag = @enumFromInt(697), .param_str = "vv**i", .properties = .{ .attributes = .{ .noreturn = true } } },
- // __builtin_lrint
- .{ .tag = @enumFromInt(698), .param_str = "Lid", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_lrintf
- .{ .tag = @enumFromInt(699), .param_str = "Lif", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_lrintf128
- .{ .tag = @enumFromInt(700), .param_str = "LiLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_lrintl
- .{ .tag = @enumFromInt(701), .param_str = "LiLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_lround
- .{ .tag = @enumFromInt(702), .param_str = "Lid", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_lroundf
- .{ .tag = @enumFromInt(703), .param_str = "Lif", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_lroundf128
- .{ .tag = @enumFromInt(704), .param_str = "LiLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_lroundl
- .{ .tag = @enumFromInt(705), .param_str = "LiLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_malloc
- .{ .tag = @enumFromInt(706), .param_str = "v*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_matrix_column_major_load
- .{ .tag = @enumFromInt(707), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_matrix_column_major_store
- .{ .tag = @enumFromInt(708), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_matrix_transpose
- .{ .tag = @enumFromInt(709), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_memchr
- .{ .tag = @enumFromInt(710), .param_str = "v*vC*iz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_memcmp
- .{ .tag = @enumFromInt(711), .param_str = "ivC*vC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_memcpy
- .{ .tag = @enumFromInt(712), .param_str = "v*v*vC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_memcpy_inline
- .{ .tag = @enumFromInt(713), .param_str = "vv*vC*Iz", .properties = .{} },
- // __builtin_memmove
- .{ .tag = @enumFromInt(714), .param_str = "v*v*vC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_mempcpy
- .{ .tag = @enumFromInt(715), .param_str = "v*v*vC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_memset
- .{ .tag = @enumFromInt(716), .param_str = "v*v*iz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_memset_inline
- .{ .tag = @enumFromInt(717), .param_str = "vv*iIz", .properties = .{} },
- // __builtin_mips_absq_s_ph
- .{ .tag = @enumFromInt(718), .param_str = "V2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_absq_s_qb
- .{ .tag = @enumFromInt(719), .param_str = "V4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_absq_s_w
- .{ .tag = @enumFromInt(720), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_addq_ph
- .{ .tag = @enumFromInt(721), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_addq_s_ph
- .{ .tag = @enumFromInt(722), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_addq_s_w
- .{ .tag = @enumFromInt(723), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_addqh_ph
- .{ .tag = @enumFromInt(724), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_addqh_r_ph
- .{ .tag = @enumFromInt(725), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_addqh_r_w
- .{ .tag = @enumFromInt(726), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_addqh_w
- .{ .tag = @enumFromInt(727), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_addsc
- .{ .tag = @enumFromInt(728), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_addu_ph
- .{ .tag = @enumFromInt(729), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_addu_qb
- .{ .tag = @enumFromInt(730), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_addu_s_ph
- .{ .tag = @enumFromInt(731), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_addu_s_qb
- .{ .tag = @enumFromInt(732), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_adduh_qb
- .{ .tag = @enumFromInt(733), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_adduh_r_qb
- .{ .tag = @enumFromInt(734), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_addwc
- .{ .tag = @enumFromInt(735), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_append
- .{ .tag = @enumFromInt(736), .param_str = "iiiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_balign
- .{ .tag = @enumFromInt(737), .param_str = "iiiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_bitrev
- .{ .tag = @enumFromInt(738), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_bposge32
- .{ .tag = @enumFromInt(739), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_cmp_eq_ph
- .{ .tag = @enumFromInt(740), .param_str = "vV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_cmp_le_ph
- .{ .tag = @enumFromInt(741), .param_str = "vV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_cmp_lt_ph
- .{ .tag = @enumFromInt(742), .param_str = "vV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_cmpgdu_eq_qb
- .{ .tag = @enumFromInt(743), .param_str = "iV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_cmpgdu_le_qb
- .{ .tag = @enumFromInt(744), .param_str = "iV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_cmpgdu_lt_qb
- .{ .tag = @enumFromInt(745), .param_str = "iV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_cmpgu_eq_qb
- .{ .tag = @enumFromInt(746), .param_str = "iV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_cmpgu_le_qb
- .{ .tag = @enumFromInt(747), .param_str = "iV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_cmpgu_lt_qb
- .{ .tag = @enumFromInt(748), .param_str = "iV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_cmpu_eq_qb
- .{ .tag = @enumFromInt(749), .param_str = "vV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_cmpu_le_qb
- .{ .tag = @enumFromInt(750), .param_str = "vV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_cmpu_lt_qb
- .{ .tag = @enumFromInt(751), .param_str = "vV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_dpa_w_ph
- .{ .tag = @enumFromInt(752), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_dpaq_s_w_ph
- .{ .tag = @enumFromInt(753), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_dpaq_sa_l_w
- .{ .tag = @enumFromInt(754), .param_str = "LLiLLiii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_dpaqx_s_w_ph
- .{ .tag = @enumFromInt(755), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_dpaqx_sa_w_ph
- .{ .tag = @enumFromInt(756), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_dpau_h_qbl
- .{ .tag = @enumFromInt(757), .param_str = "LLiLLiV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_dpau_h_qbr
- .{ .tag = @enumFromInt(758), .param_str = "LLiLLiV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_dpax_w_ph
- .{ .tag = @enumFromInt(759), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_dps_w_ph
- .{ .tag = @enumFromInt(760), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_dpsq_s_w_ph
- .{ .tag = @enumFromInt(761), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_dpsq_sa_l_w
- .{ .tag = @enumFromInt(762), .param_str = "LLiLLiii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_dpsqx_s_w_ph
- .{ .tag = @enumFromInt(763), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_dpsqx_sa_w_ph
- .{ .tag = @enumFromInt(764), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_dpsu_h_qbl
- .{ .tag = @enumFromInt(765), .param_str = "LLiLLiV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_dpsu_h_qbr
- .{ .tag = @enumFromInt(766), .param_str = "LLiLLiV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_dpsx_w_ph
- .{ .tag = @enumFromInt(767), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_extp
- .{ .tag = @enumFromInt(768), .param_str = "iLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_extpdp
- .{ .tag = @enumFromInt(769), .param_str = "iLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_extr_r_w
- .{ .tag = @enumFromInt(770), .param_str = "iLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_extr_rs_w
- .{ .tag = @enumFromInt(771), .param_str = "iLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_extr_s_h
- .{ .tag = @enumFromInt(772), .param_str = "iLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_extr_w
- .{ .tag = @enumFromInt(773), .param_str = "iLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_insv
- .{ .tag = @enumFromInt(774), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_lbux
- .{ .tag = @enumFromInt(775), .param_str = "iv*i", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_lhx
- .{ .tag = @enumFromInt(776), .param_str = "iv*i", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_lwx
- .{ .tag = @enumFromInt(777), .param_str = "iv*i", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_madd
- .{ .tag = @enumFromInt(778), .param_str = "LLiLLiii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_maddu
- .{ .tag = @enumFromInt(779), .param_str = "LLiLLiUiUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_maq_s_w_phl
- .{ .tag = @enumFromInt(780), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_maq_s_w_phr
- .{ .tag = @enumFromInt(781), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_maq_sa_w_phl
- .{ .tag = @enumFromInt(782), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_maq_sa_w_phr
- .{ .tag = @enumFromInt(783), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_modsub
- .{ .tag = @enumFromInt(784), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_msub
- .{ .tag = @enumFromInt(785), .param_str = "LLiLLiii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_msubu
- .{ .tag = @enumFromInt(786), .param_str = "LLiLLiUiUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_mthlip
- .{ .tag = @enumFromInt(787), .param_str = "LLiLLii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_mul_ph
- .{ .tag = @enumFromInt(788), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_mul_s_ph
- .{ .tag = @enumFromInt(789), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_muleq_s_w_phl
- .{ .tag = @enumFromInt(790), .param_str = "iV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_muleq_s_w_phr
- .{ .tag = @enumFromInt(791), .param_str = "iV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_muleu_s_ph_qbl
- .{ .tag = @enumFromInt(792), .param_str = "V2sV4ScV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_muleu_s_ph_qbr
- .{ .tag = @enumFromInt(793), .param_str = "V2sV4ScV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_mulq_rs_ph
- .{ .tag = @enumFromInt(794), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_mulq_rs_w
- .{ .tag = @enumFromInt(795), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_mulq_s_ph
- .{ .tag = @enumFromInt(796), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_mulq_s_w
- .{ .tag = @enumFromInt(797), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_mulsa_w_ph
- .{ .tag = @enumFromInt(798), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_mulsaq_s_w_ph
- .{ .tag = @enumFromInt(799), .param_str = "LLiLLiV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_mult
- .{ .tag = @enumFromInt(800), .param_str = "LLiii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_multu
- .{ .tag = @enumFromInt(801), .param_str = "LLiUiUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_packrl_ph
- .{ .tag = @enumFromInt(802), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_pick_ph
- .{ .tag = @enumFromInt(803), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_pick_qb
- .{ .tag = @enumFromInt(804), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_preceq_w_phl
- .{ .tag = @enumFromInt(805), .param_str = "iV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_preceq_w_phr
- .{ .tag = @enumFromInt(806), .param_str = "iV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_precequ_ph_qbl
- .{ .tag = @enumFromInt(807), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_precequ_ph_qbla
- .{ .tag = @enumFromInt(808), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_precequ_ph_qbr
- .{ .tag = @enumFromInt(809), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_precequ_ph_qbra
- .{ .tag = @enumFromInt(810), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_preceu_ph_qbl
- .{ .tag = @enumFromInt(811), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_preceu_ph_qbla
- .{ .tag = @enumFromInt(812), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_preceu_ph_qbr
- .{ .tag = @enumFromInt(813), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_preceu_ph_qbra
- .{ .tag = @enumFromInt(814), .param_str = "V2sV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_precr_qb_ph
- .{ .tag = @enumFromInt(815), .param_str = "V4ScV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_precr_sra_ph_w
- .{ .tag = @enumFromInt(816), .param_str = "V2siiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_precr_sra_r_ph_w
- .{ .tag = @enumFromInt(817), .param_str = "V2siiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_precrq_ph_w
- .{ .tag = @enumFromInt(818), .param_str = "V2sii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_precrq_qb_ph
- .{ .tag = @enumFromInt(819), .param_str = "V4ScV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_precrq_rs_ph_w
- .{ .tag = @enumFromInt(820), .param_str = "V2sii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_precrqu_s_qb_ph
- .{ .tag = @enumFromInt(821), .param_str = "V4ScV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_prepend
- .{ .tag = @enumFromInt(822), .param_str = "iiiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_raddu_w_qb
- .{ .tag = @enumFromInt(823), .param_str = "iV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_rddsp
- .{ .tag = @enumFromInt(824), .param_str = "iIi", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_repl_ph
- .{ .tag = @enumFromInt(825), .param_str = "V2si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_repl_qb
- .{ .tag = @enumFromInt(826), .param_str = "V4Sci", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_shilo
- .{ .tag = @enumFromInt(827), .param_str = "LLiLLii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_shll_ph
- .{ .tag = @enumFromInt(828), .param_str = "V2sV2si", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_shll_qb
- .{ .tag = @enumFromInt(829), .param_str = "V4ScV4Sci", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_shll_s_ph
- .{ .tag = @enumFromInt(830), .param_str = "V2sV2si", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_shll_s_w
- .{ .tag = @enumFromInt(831), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_shra_ph
- .{ .tag = @enumFromInt(832), .param_str = "V2sV2si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_shra_qb
- .{ .tag = @enumFromInt(833), .param_str = "V4ScV4Sci", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_shra_r_ph
- .{ .tag = @enumFromInt(834), .param_str = "V2sV2si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_shra_r_qb
- .{ .tag = @enumFromInt(835), .param_str = "V4ScV4Sci", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_shra_r_w
- .{ .tag = @enumFromInt(836), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_shrl_ph
- .{ .tag = @enumFromInt(837), .param_str = "V2sV2si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_shrl_qb
- .{ .tag = @enumFromInt(838), .param_str = "V4ScV4Sci", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_subq_ph
- .{ .tag = @enumFromInt(839), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_subq_s_ph
- .{ .tag = @enumFromInt(840), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_subq_s_w
- .{ .tag = @enumFromInt(841), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_subqh_ph
- .{ .tag = @enumFromInt(842), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_subqh_r_ph
- .{ .tag = @enumFromInt(843), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_subqh_r_w
- .{ .tag = @enumFromInt(844), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_subqh_w
- .{ .tag = @enumFromInt(845), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_subu_ph
- .{ .tag = @enumFromInt(846), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_subu_qb
- .{ .tag = @enumFromInt(847), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_subu_s_ph
- .{ .tag = @enumFromInt(848), .param_str = "V2sV2sV2s", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_subu_s_qb
- .{ .tag = @enumFromInt(849), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_mips_subuh_qb
- .{ .tag = @enumFromInt(850), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_subuh_r_qb
- .{ .tag = @enumFromInt(851), .param_str = "V4ScV4ScV4Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mips_wrdsp
- .{ .tag = @enumFromInt(852), .param_str = "viIi", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_modf
- .{ .tag = @enumFromInt(853), .param_str = "ddd*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_modff
- .{ .tag = @enumFromInt(854), .param_str = "fff*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_modff128
- .{ .tag = @enumFromInt(855), .param_str = "LLdLLdLLd*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_modfl
- .{ .tag = @enumFromInt(856), .param_str = "LdLdLd*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_msa_add_a_b
- .{ .tag = @enumFromInt(857), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_add_a_d
- .{ .tag = @enumFromInt(858), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_add_a_h
- .{ .tag = @enumFromInt(859), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_add_a_w
- .{ .tag = @enumFromInt(860), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_adds_a_b
- .{ .tag = @enumFromInt(861), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_adds_a_d
- .{ .tag = @enumFromInt(862), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_adds_a_h
- .{ .tag = @enumFromInt(863), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_adds_a_w
- .{ .tag = @enumFromInt(864), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_adds_s_b
- .{ .tag = @enumFromInt(865), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_adds_s_d
- .{ .tag = @enumFromInt(866), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_adds_s_h
- .{ .tag = @enumFromInt(867), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_adds_s_w
- .{ .tag = @enumFromInt(868), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_adds_u_b
- .{ .tag = @enumFromInt(869), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_adds_u_d
- .{ .tag = @enumFromInt(870), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_adds_u_h
- .{ .tag = @enumFromInt(871), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_adds_u_w
- .{ .tag = @enumFromInt(872), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_addv_b
- .{ .tag = @enumFromInt(873), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_addv_d
- .{ .tag = @enumFromInt(874), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_addv_h
- .{ .tag = @enumFromInt(875), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_addv_w
- .{ .tag = @enumFromInt(876), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_addvi_b
- .{ .tag = @enumFromInt(877), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_addvi_d
- .{ .tag = @enumFromInt(878), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_addvi_h
- .{ .tag = @enumFromInt(879), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_addvi_w
- .{ .tag = @enumFromInt(880), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_and_v
- .{ .tag = @enumFromInt(881), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_andi_b
- .{ .tag = @enumFromInt(882), .param_str = "V16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_asub_s_b
- .{ .tag = @enumFromInt(883), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_asub_s_d
- .{ .tag = @enumFromInt(884), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_asub_s_h
- .{ .tag = @enumFromInt(885), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_asub_s_w
- .{ .tag = @enumFromInt(886), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_asub_u_b
- .{ .tag = @enumFromInt(887), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_asub_u_d
- .{ .tag = @enumFromInt(888), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_asub_u_h
- .{ .tag = @enumFromInt(889), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_asub_u_w
- .{ .tag = @enumFromInt(890), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ave_s_b
- .{ .tag = @enumFromInt(891), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ave_s_d
- .{ .tag = @enumFromInt(892), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ave_s_h
- .{ .tag = @enumFromInt(893), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ave_s_w
- .{ .tag = @enumFromInt(894), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ave_u_b
- .{ .tag = @enumFromInt(895), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ave_u_d
- .{ .tag = @enumFromInt(896), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ave_u_h
- .{ .tag = @enumFromInt(897), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ave_u_w
- .{ .tag = @enumFromInt(898), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_aver_s_b
- .{ .tag = @enumFromInt(899), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_aver_s_d
- .{ .tag = @enumFromInt(900), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_aver_s_h
- .{ .tag = @enumFromInt(901), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_aver_s_w
- .{ .tag = @enumFromInt(902), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_aver_u_b
- .{ .tag = @enumFromInt(903), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_aver_u_d
- .{ .tag = @enumFromInt(904), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_aver_u_h
- .{ .tag = @enumFromInt(905), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_aver_u_w
- .{ .tag = @enumFromInt(906), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bclr_b
- .{ .tag = @enumFromInt(907), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bclr_d
- .{ .tag = @enumFromInt(908), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bclr_h
- .{ .tag = @enumFromInt(909), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bclr_w
- .{ .tag = @enumFromInt(910), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bclri_b
- .{ .tag = @enumFromInt(911), .param_str = "V16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bclri_d
- .{ .tag = @enumFromInt(912), .param_str = "V2ULLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bclri_h
- .{ .tag = @enumFromInt(913), .param_str = "V8UsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bclri_w
- .{ .tag = @enumFromInt(914), .param_str = "V4UiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsl_b
- .{ .tag = @enumFromInt(915), .param_str = "V16UcV16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsl_d
- .{ .tag = @enumFromInt(916), .param_str = "V2ULLiV2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsl_h
- .{ .tag = @enumFromInt(917), .param_str = "V8UsV8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsl_w
- .{ .tag = @enumFromInt(918), .param_str = "V4UiV4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsli_b
- .{ .tag = @enumFromInt(919), .param_str = "V16UcV16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsli_d
- .{ .tag = @enumFromInt(920), .param_str = "V2ULLiV2ULLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsli_h
- .{ .tag = @enumFromInt(921), .param_str = "V8UsV8UsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsli_w
- .{ .tag = @enumFromInt(922), .param_str = "V4UiV4UiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsr_b
- .{ .tag = @enumFromInt(923), .param_str = "V16UcV16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsr_d
- .{ .tag = @enumFromInt(924), .param_str = "V2ULLiV2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsr_h
- .{ .tag = @enumFromInt(925), .param_str = "V8UsV8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsr_w
- .{ .tag = @enumFromInt(926), .param_str = "V4UiV4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsri_b
- .{ .tag = @enumFromInt(927), .param_str = "V16UcV16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsri_d
- .{ .tag = @enumFromInt(928), .param_str = "V2ULLiV2ULLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsri_h
- .{ .tag = @enumFromInt(929), .param_str = "V8UsV8UsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_binsri_w
- .{ .tag = @enumFromInt(930), .param_str = "V4UiV4UiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bmnz_v
- .{ .tag = @enumFromInt(931), .param_str = "V16UcV16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bmnzi_b
- .{ .tag = @enumFromInt(932), .param_str = "V16UcV16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bmz_v
- .{ .tag = @enumFromInt(933), .param_str = "V16UcV16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bmzi_b
- .{ .tag = @enumFromInt(934), .param_str = "V16UcV16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bneg_b
- .{ .tag = @enumFromInt(935), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bneg_d
- .{ .tag = @enumFromInt(936), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bneg_h
- .{ .tag = @enumFromInt(937), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bneg_w
- .{ .tag = @enumFromInt(938), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bnegi_b
- .{ .tag = @enumFromInt(939), .param_str = "V16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bnegi_d
- .{ .tag = @enumFromInt(940), .param_str = "V2ULLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bnegi_h
- .{ .tag = @enumFromInt(941), .param_str = "V8UsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bnegi_w
- .{ .tag = @enumFromInt(942), .param_str = "V4UiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bnz_b
- .{ .tag = @enumFromInt(943), .param_str = "iV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bnz_d
- .{ .tag = @enumFromInt(944), .param_str = "iV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bnz_h
- .{ .tag = @enumFromInt(945), .param_str = "iV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bnz_v
- .{ .tag = @enumFromInt(946), .param_str = "iV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bnz_w
- .{ .tag = @enumFromInt(947), .param_str = "iV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bsel_v
- .{ .tag = @enumFromInt(948), .param_str = "V16UcV16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bseli_b
- .{ .tag = @enumFromInt(949), .param_str = "V16UcV16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bset_b
- .{ .tag = @enumFromInt(950), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bset_d
- .{ .tag = @enumFromInt(951), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bset_h
- .{ .tag = @enumFromInt(952), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bset_w
- .{ .tag = @enumFromInt(953), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bseti_b
- .{ .tag = @enumFromInt(954), .param_str = "V16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bseti_d
- .{ .tag = @enumFromInt(955), .param_str = "V2ULLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bseti_h
- .{ .tag = @enumFromInt(956), .param_str = "V8UsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bseti_w
- .{ .tag = @enumFromInt(957), .param_str = "V4UiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bz_b
- .{ .tag = @enumFromInt(958), .param_str = "iV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bz_d
- .{ .tag = @enumFromInt(959), .param_str = "iV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bz_h
- .{ .tag = @enumFromInt(960), .param_str = "iV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bz_v
- .{ .tag = @enumFromInt(961), .param_str = "iV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_bz_w
- .{ .tag = @enumFromInt(962), .param_str = "iV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ceq_b
- .{ .tag = @enumFromInt(963), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ceq_d
- .{ .tag = @enumFromInt(964), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ceq_h
- .{ .tag = @enumFromInt(965), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ceq_w
- .{ .tag = @enumFromInt(966), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ceqi_b
- .{ .tag = @enumFromInt(967), .param_str = "V16ScV16ScISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ceqi_d
- .{ .tag = @enumFromInt(968), .param_str = "V2SLLiV2SLLiISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ceqi_h
- .{ .tag = @enumFromInt(969), .param_str = "V8SsV8SsISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ceqi_w
- .{ .tag = @enumFromInt(970), .param_str = "V4SiV4SiISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_cfcmsa
- .{ .tag = @enumFromInt(971), .param_str = "iIi", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_msa_cle_s_b
- .{ .tag = @enumFromInt(972), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_cle_s_d
- .{ .tag = @enumFromInt(973), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_cle_s_h
- .{ .tag = @enumFromInt(974), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_cle_s_w
- .{ .tag = @enumFromInt(975), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_cle_u_b
- .{ .tag = @enumFromInt(976), .param_str = "V16ScV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_cle_u_d
- .{ .tag = @enumFromInt(977), .param_str = "V2SLLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_cle_u_h
- .{ .tag = @enumFromInt(978), .param_str = "V8SsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_cle_u_w
- .{ .tag = @enumFromInt(979), .param_str = "V4SiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clei_s_b
- .{ .tag = @enumFromInt(980), .param_str = "V16ScV16ScISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clei_s_d
- .{ .tag = @enumFromInt(981), .param_str = "V2SLLiV2SLLiISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clei_s_h
- .{ .tag = @enumFromInt(982), .param_str = "V8SsV8SsISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clei_s_w
- .{ .tag = @enumFromInt(983), .param_str = "V4SiV4SiISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clei_u_b
- .{ .tag = @enumFromInt(984), .param_str = "V16ScV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clei_u_d
- .{ .tag = @enumFromInt(985), .param_str = "V2SLLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clei_u_h
- .{ .tag = @enumFromInt(986), .param_str = "V8SsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clei_u_w
- .{ .tag = @enumFromInt(987), .param_str = "V4SiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clt_s_b
- .{ .tag = @enumFromInt(988), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clt_s_d
- .{ .tag = @enumFromInt(989), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clt_s_h
- .{ .tag = @enumFromInt(990), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clt_s_w
- .{ .tag = @enumFromInt(991), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clt_u_b
- .{ .tag = @enumFromInt(992), .param_str = "V16ScV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clt_u_d
- .{ .tag = @enumFromInt(993), .param_str = "V2SLLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clt_u_h
- .{ .tag = @enumFromInt(994), .param_str = "V8SsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clt_u_w
- .{ .tag = @enumFromInt(995), .param_str = "V4SiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clti_s_b
- .{ .tag = @enumFromInt(996), .param_str = "V16ScV16ScISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clti_s_d
- .{ .tag = @enumFromInt(997), .param_str = "V2SLLiV2SLLiISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clti_s_h
- .{ .tag = @enumFromInt(998), .param_str = "V8SsV8SsISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clti_s_w
- .{ .tag = @enumFromInt(999), .param_str = "V4SiV4SiISi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clti_u_b
- .{ .tag = @enumFromInt(1000), .param_str = "V16ScV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clti_u_d
- .{ .tag = @enumFromInt(1001), .param_str = "V2SLLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clti_u_h
- .{ .tag = @enumFromInt(1002), .param_str = "V8SsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_clti_u_w
- .{ .tag = @enumFromInt(1003), .param_str = "V4SiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_copy_s_b
- .{ .tag = @enumFromInt(1004), .param_str = "iV16ScIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_copy_s_d
- .{ .tag = @enumFromInt(1005), .param_str = "LLiV2SLLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_copy_s_h
- .{ .tag = @enumFromInt(1006), .param_str = "iV8SsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_copy_s_w
- .{ .tag = @enumFromInt(1007), .param_str = "iV4SiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_copy_u_b
- .{ .tag = @enumFromInt(1008), .param_str = "iV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_copy_u_d
- .{ .tag = @enumFromInt(1009), .param_str = "LLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_copy_u_h
- .{ .tag = @enumFromInt(1010), .param_str = "iV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_copy_u_w
- .{ .tag = @enumFromInt(1011), .param_str = "iV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ctcmsa
- .{ .tag = @enumFromInt(1012), .param_str = "vIii", .properties = .{ .target_set = TargetSet.initOne(.mips) } },
- // __builtin_msa_div_s_b
- .{ .tag = @enumFromInt(1013), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_div_s_d
- .{ .tag = @enumFromInt(1014), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_div_s_h
- .{ .tag = @enumFromInt(1015), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_div_s_w
- .{ .tag = @enumFromInt(1016), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_div_u_b
- .{ .tag = @enumFromInt(1017), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_div_u_d
- .{ .tag = @enumFromInt(1018), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_div_u_h
- .{ .tag = @enumFromInt(1019), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_div_u_w
- .{ .tag = @enumFromInt(1020), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dotp_s_d
- .{ .tag = @enumFromInt(1021), .param_str = "V2SLLiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dotp_s_h
- .{ .tag = @enumFromInt(1022), .param_str = "V8SsV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dotp_s_w
- .{ .tag = @enumFromInt(1023), .param_str = "V4SiV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dotp_u_d
- .{ .tag = @enumFromInt(1024), .param_str = "V2ULLiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dotp_u_h
- .{ .tag = @enumFromInt(1025), .param_str = "V8UsV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dotp_u_w
- .{ .tag = @enumFromInt(1026), .param_str = "V4UiV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dpadd_s_d
- .{ .tag = @enumFromInt(1027), .param_str = "V2SLLiV2SLLiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dpadd_s_h
- .{ .tag = @enumFromInt(1028), .param_str = "V8SsV8SsV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dpadd_s_w
- .{ .tag = @enumFromInt(1029), .param_str = "V4SiV4SiV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dpadd_u_d
- .{ .tag = @enumFromInt(1030), .param_str = "V2ULLiV2ULLiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dpadd_u_h
- .{ .tag = @enumFromInt(1031), .param_str = "V8UsV8UsV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dpadd_u_w
- .{ .tag = @enumFromInt(1032), .param_str = "V4UiV4UiV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dpsub_s_d
- .{ .tag = @enumFromInt(1033), .param_str = "V2SLLiV2SLLiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dpsub_s_h
- .{ .tag = @enumFromInt(1034), .param_str = "V8SsV8SsV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dpsub_s_w
- .{ .tag = @enumFromInt(1035), .param_str = "V4SiV4SiV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dpsub_u_d
- .{ .tag = @enumFromInt(1036), .param_str = "V2ULLiV2ULLiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dpsub_u_h
- .{ .tag = @enumFromInt(1037), .param_str = "V8UsV8UsV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_dpsub_u_w
- .{ .tag = @enumFromInt(1038), .param_str = "V4UiV4UiV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fadd_d
- .{ .tag = @enumFromInt(1039), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fadd_w
- .{ .tag = @enumFromInt(1040), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcaf_d
- .{ .tag = @enumFromInt(1041), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcaf_w
- .{ .tag = @enumFromInt(1042), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fceq_d
- .{ .tag = @enumFromInt(1043), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fceq_w
- .{ .tag = @enumFromInt(1044), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fclass_d
- .{ .tag = @enumFromInt(1045), .param_str = "V2LLiV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fclass_w
- .{ .tag = @enumFromInt(1046), .param_str = "V4iV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcle_d
- .{ .tag = @enumFromInt(1047), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcle_w
- .{ .tag = @enumFromInt(1048), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fclt_d
- .{ .tag = @enumFromInt(1049), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fclt_w
- .{ .tag = @enumFromInt(1050), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcne_d
- .{ .tag = @enumFromInt(1051), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcne_w
- .{ .tag = @enumFromInt(1052), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcor_d
- .{ .tag = @enumFromInt(1053), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcor_w
- .{ .tag = @enumFromInt(1054), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcueq_d
- .{ .tag = @enumFromInt(1055), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcueq_w
- .{ .tag = @enumFromInt(1056), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcule_d
- .{ .tag = @enumFromInt(1057), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcule_w
- .{ .tag = @enumFromInt(1058), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcult_d
- .{ .tag = @enumFromInt(1059), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcult_w
- .{ .tag = @enumFromInt(1060), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcun_d
- .{ .tag = @enumFromInt(1061), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcun_w
- .{ .tag = @enumFromInt(1062), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcune_d
- .{ .tag = @enumFromInt(1063), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fcune_w
- .{ .tag = @enumFromInt(1064), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fdiv_d
- .{ .tag = @enumFromInt(1065), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fdiv_w
- .{ .tag = @enumFromInt(1066), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fexdo_h
- .{ .tag = @enumFromInt(1067), .param_str = "V8hV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fexdo_w
- .{ .tag = @enumFromInt(1068), .param_str = "V4fV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fexp2_d
- .{ .tag = @enumFromInt(1069), .param_str = "V2dV2dV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fexp2_w
- .{ .tag = @enumFromInt(1070), .param_str = "V4fV4fV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fexupl_d
- .{ .tag = @enumFromInt(1071), .param_str = "V2dV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fexupl_w
- .{ .tag = @enumFromInt(1072), .param_str = "V4fV8h", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fexupr_d
- .{ .tag = @enumFromInt(1073), .param_str = "V2dV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fexupr_w
- .{ .tag = @enumFromInt(1074), .param_str = "V4fV8h", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ffint_s_d
- .{ .tag = @enumFromInt(1075), .param_str = "V2dV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ffint_s_w
- .{ .tag = @enumFromInt(1076), .param_str = "V4fV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ffint_u_d
- .{ .tag = @enumFromInt(1077), .param_str = "V2dV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ffint_u_w
- .{ .tag = @enumFromInt(1078), .param_str = "V4fV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ffql_d
- .{ .tag = @enumFromInt(1079), .param_str = "V2dV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ffql_w
- .{ .tag = @enumFromInt(1080), .param_str = "V4fV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ffqr_d
- .{ .tag = @enumFromInt(1081), .param_str = "V2dV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ffqr_w
- .{ .tag = @enumFromInt(1082), .param_str = "V4fV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fill_b
- .{ .tag = @enumFromInt(1083), .param_str = "V16Sci", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fill_d
- .{ .tag = @enumFromInt(1084), .param_str = "V2SLLiLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fill_h
- .{ .tag = @enumFromInt(1085), .param_str = "V8Ssi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fill_w
- .{ .tag = @enumFromInt(1086), .param_str = "V4Sii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_flog2_d
- .{ .tag = @enumFromInt(1087), .param_str = "V2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_flog2_w
- .{ .tag = @enumFromInt(1088), .param_str = "V4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmadd_d
- .{ .tag = @enumFromInt(1089), .param_str = "V2dV2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmadd_w
- .{ .tag = @enumFromInt(1090), .param_str = "V4fV4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmax_a_d
- .{ .tag = @enumFromInt(1091), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmax_a_w
- .{ .tag = @enumFromInt(1092), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmax_d
- .{ .tag = @enumFromInt(1093), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmax_w
- .{ .tag = @enumFromInt(1094), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmin_a_d
- .{ .tag = @enumFromInt(1095), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmin_a_w
- .{ .tag = @enumFromInt(1096), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmin_d
- .{ .tag = @enumFromInt(1097), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmin_w
- .{ .tag = @enumFromInt(1098), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmsub_d
- .{ .tag = @enumFromInt(1099), .param_str = "V2dV2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmsub_w
- .{ .tag = @enumFromInt(1100), .param_str = "V4fV4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmul_d
- .{ .tag = @enumFromInt(1101), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fmul_w
- .{ .tag = @enumFromInt(1102), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_frcp_d
- .{ .tag = @enumFromInt(1103), .param_str = "V2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_frcp_w
- .{ .tag = @enumFromInt(1104), .param_str = "V4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_frint_d
- .{ .tag = @enumFromInt(1105), .param_str = "V2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_frint_w
- .{ .tag = @enumFromInt(1106), .param_str = "V4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_frsqrt_d
- .{ .tag = @enumFromInt(1107), .param_str = "V2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_frsqrt_w
- .{ .tag = @enumFromInt(1108), .param_str = "V4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsaf_d
- .{ .tag = @enumFromInt(1109), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsaf_w
- .{ .tag = @enumFromInt(1110), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fseq_d
- .{ .tag = @enumFromInt(1111), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fseq_w
- .{ .tag = @enumFromInt(1112), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsle_d
- .{ .tag = @enumFromInt(1113), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsle_w
- .{ .tag = @enumFromInt(1114), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fslt_d
- .{ .tag = @enumFromInt(1115), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fslt_w
- .{ .tag = @enumFromInt(1116), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsne_d
- .{ .tag = @enumFromInt(1117), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsne_w
- .{ .tag = @enumFromInt(1118), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsor_d
- .{ .tag = @enumFromInt(1119), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsor_w
- .{ .tag = @enumFromInt(1120), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsqrt_d
- .{ .tag = @enumFromInt(1121), .param_str = "V2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsqrt_w
- .{ .tag = @enumFromInt(1122), .param_str = "V4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsub_d
- .{ .tag = @enumFromInt(1123), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsub_w
- .{ .tag = @enumFromInt(1124), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsueq_d
- .{ .tag = @enumFromInt(1125), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsueq_w
- .{ .tag = @enumFromInt(1126), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsule_d
- .{ .tag = @enumFromInt(1127), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsule_w
- .{ .tag = @enumFromInt(1128), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsult_d
- .{ .tag = @enumFromInt(1129), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsult_w
- .{ .tag = @enumFromInt(1130), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsun_d
- .{ .tag = @enumFromInt(1131), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsun_w
- .{ .tag = @enumFromInt(1132), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsune_d
- .{ .tag = @enumFromInt(1133), .param_str = "V2LLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_fsune_w
- .{ .tag = @enumFromInt(1134), .param_str = "V4iV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ftint_s_d
- .{ .tag = @enumFromInt(1135), .param_str = "V2SLLiV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ftint_s_w
- .{ .tag = @enumFromInt(1136), .param_str = "V4SiV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ftint_u_d
- .{ .tag = @enumFromInt(1137), .param_str = "V2ULLiV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ftint_u_w
- .{ .tag = @enumFromInt(1138), .param_str = "V4UiV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ftq_h
- .{ .tag = @enumFromInt(1139), .param_str = "V4UiV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ftq_w
- .{ .tag = @enumFromInt(1140), .param_str = "V2ULLiV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ftrunc_s_d
- .{ .tag = @enumFromInt(1141), .param_str = "V2SLLiV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ftrunc_s_w
- .{ .tag = @enumFromInt(1142), .param_str = "V4SiV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ftrunc_u_d
- .{ .tag = @enumFromInt(1143), .param_str = "V2ULLiV2d", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ftrunc_u_w
- .{ .tag = @enumFromInt(1144), .param_str = "V4UiV4f", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_hadd_s_d
- .{ .tag = @enumFromInt(1145), .param_str = "V2SLLiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_hadd_s_h
- .{ .tag = @enumFromInt(1146), .param_str = "V8SsV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_hadd_s_w
- .{ .tag = @enumFromInt(1147), .param_str = "V4SiV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_hadd_u_d
- .{ .tag = @enumFromInt(1148), .param_str = "V2ULLiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_hadd_u_h
- .{ .tag = @enumFromInt(1149), .param_str = "V8UsV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_hadd_u_w
- .{ .tag = @enumFromInt(1150), .param_str = "V4UiV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_hsub_s_d
- .{ .tag = @enumFromInt(1151), .param_str = "V2SLLiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_hsub_s_h
- .{ .tag = @enumFromInt(1152), .param_str = "V8SsV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_hsub_s_w
- .{ .tag = @enumFromInt(1153), .param_str = "V4SiV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_hsub_u_d
- .{ .tag = @enumFromInt(1154), .param_str = "V2ULLiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_hsub_u_h
- .{ .tag = @enumFromInt(1155), .param_str = "V8UsV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_hsub_u_w
- .{ .tag = @enumFromInt(1156), .param_str = "V4UiV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvev_b
- .{ .tag = @enumFromInt(1157), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvev_d
- .{ .tag = @enumFromInt(1158), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvev_h
- .{ .tag = @enumFromInt(1159), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvev_w
- .{ .tag = @enumFromInt(1160), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvl_b
- .{ .tag = @enumFromInt(1161), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvl_d
- .{ .tag = @enumFromInt(1162), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvl_h
- .{ .tag = @enumFromInt(1163), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvl_w
- .{ .tag = @enumFromInt(1164), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvod_b
- .{ .tag = @enumFromInt(1165), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvod_d
- .{ .tag = @enumFromInt(1166), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvod_h
- .{ .tag = @enumFromInt(1167), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvod_w
- .{ .tag = @enumFromInt(1168), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvr_b
- .{ .tag = @enumFromInt(1169), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvr_d
- .{ .tag = @enumFromInt(1170), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvr_h
- .{ .tag = @enumFromInt(1171), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ilvr_w
- .{ .tag = @enumFromInt(1172), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_insert_b
- .{ .tag = @enumFromInt(1173), .param_str = "V16ScV16ScIUii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_insert_d
- .{ .tag = @enumFromInt(1174), .param_str = "V2SLLiV2SLLiIUiLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_insert_h
- .{ .tag = @enumFromInt(1175), .param_str = "V8SsV8SsIUii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_insert_w
- .{ .tag = @enumFromInt(1176), .param_str = "V4SiV4SiIUii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_insve_b
- .{ .tag = @enumFromInt(1177), .param_str = "V16ScV16ScIUiV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_insve_d
- .{ .tag = @enumFromInt(1178), .param_str = "V2SLLiV2SLLiIUiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_insve_h
- .{ .tag = @enumFromInt(1179), .param_str = "V8SsV8SsIUiV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_insve_w
- .{ .tag = @enumFromInt(1180), .param_str = "V4SiV4SiIUiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ld_b
- .{ .tag = @enumFromInt(1181), .param_str = "V16Scv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ld_d
- .{ .tag = @enumFromInt(1182), .param_str = "V2SLLiv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ld_h
- .{ .tag = @enumFromInt(1183), .param_str = "V8Ssv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ld_w
- .{ .tag = @enumFromInt(1184), .param_str = "V4Siv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ldi_b
- .{ .tag = @enumFromInt(1185), .param_str = "V16cIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ldi_d
- .{ .tag = @enumFromInt(1186), .param_str = "V2LLiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ldi_h
- .{ .tag = @enumFromInt(1187), .param_str = "V8sIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ldi_w
- .{ .tag = @enumFromInt(1188), .param_str = "V4iIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ldr_d
- .{ .tag = @enumFromInt(1189), .param_str = "V2SLLiv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ldr_w
- .{ .tag = @enumFromInt(1190), .param_str = "V4Siv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_madd_q_h
- .{ .tag = @enumFromInt(1191), .param_str = "V8SsV8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_madd_q_w
- .{ .tag = @enumFromInt(1192), .param_str = "V4SiV4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maddr_q_h
- .{ .tag = @enumFromInt(1193), .param_str = "V8SsV8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maddr_q_w
- .{ .tag = @enumFromInt(1194), .param_str = "V4SiV4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maddv_b
- .{ .tag = @enumFromInt(1195), .param_str = "V16ScV16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maddv_d
- .{ .tag = @enumFromInt(1196), .param_str = "V2SLLiV2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maddv_h
- .{ .tag = @enumFromInt(1197), .param_str = "V8SsV8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maddv_w
- .{ .tag = @enumFromInt(1198), .param_str = "V4SiV4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_max_a_b
- .{ .tag = @enumFromInt(1199), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_max_a_d
- .{ .tag = @enumFromInt(1200), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_max_a_h
- .{ .tag = @enumFromInt(1201), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_max_a_w
- .{ .tag = @enumFromInt(1202), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_max_s_b
- .{ .tag = @enumFromInt(1203), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_max_s_d
- .{ .tag = @enumFromInt(1204), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_max_s_h
- .{ .tag = @enumFromInt(1205), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_max_s_w
- .{ .tag = @enumFromInt(1206), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_max_u_b
- .{ .tag = @enumFromInt(1207), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_max_u_d
- .{ .tag = @enumFromInt(1208), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_max_u_h
- .{ .tag = @enumFromInt(1209), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_max_u_w
- .{ .tag = @enumFromInt(1210), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maxi_s_b
- .{ .tag = @enumFromInt(1211), .param_str = "V16ScV16ScIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maxi_s_d
- .{ .tag = @enumFromInt(1212), .param_str = "V2SLLiV2SLLiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maxi_s_h
- .{ .tag = @enumFromInt(1213), .param_str = "V8SsV8SsIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maxi_s_w
- .{ .tag = @enumFromInt(1214), .param_str = "V4SiV4SiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maxi_u_b
- .{ .tag = @enumFromInt(1215), .param_str = "V16UcV16UcIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maxi_u_d
- .{ .tag = @enumFromInt(1216), .param_str = "V2ULLiV2ULLiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maxi_u_h
- .{ .tag = @enumFromInt(1217), .param_str = "V8UsV8UsIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_maxi_u_w
- .{ .tag = @enumFromInt(1218), .param_str = "V4UiV4UiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_min_a_b
- .{ .tag = @enumFromInt(1219), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_min_a_d
- .{ .tag = @enumFromInt(1220), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_min_a_h
- .{ .tag = @enumFromInt(1221), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_min_a_w
- .{ .tag = @enumFromInt(1222), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_min_s_b
- .{ .tag = @enumFromInt(1223), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_min_s_d
- .{ .tag = @enumFromInt(1224), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_min_s_h
- .{ .tag = @enumFromInt(1225), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_min_s_w
- .{ .tag = @enumFromInt(1226), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_min_u_b
- .{ .tag = @enumFromInt(1227), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_min_u_d
- .{ .tag = @enumFromInt(1228), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_min_u_h
- .{ .tag = @enumFromInt(1229), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_min_u_w
- .{ .tag = @enumFromInt(1230), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mini_s_b
- .{ .tag = @enumFromInt(1231), .param_str = "V16ScV16ScIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mini_s_d
- .{ .tag = @enumFromInt(1232), .param_str = "V2SLLiV2SLLiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mini_s_h
- .{ .tag = @enumFromInt(1233), .param_str = "V8SsV8SsIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mini_s_w
- .{ .tag = @enumFromInt(1234), .param_str = "V4SiV4SiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mini_u_b
- .{ .tag = @enumFromInt(1235), .param_str = "V16UcV16UcIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mini_u_d
- .{ .tag = @enumFromInt(1236), .param_str = "V2ULLiV2ULLiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mini_u_h
- .{ .tag = @enumFromInt(1237), .param_str = "V8UsV8UsIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mini_u_w
- .{ .tag = @enumFromInt(1238), .param_str = "V4UiV4UiIi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mod_s_b
- .{ .tag = @enumFromInt(1239), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mod_s_d
- .{ .tag = @enumFromInt(1240), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mod_s_h
- .{ .tag = @enumFromInt(1241), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mod_s_w
- .{ .tag = @enumFromInt(1242), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mod_u_b
- .{ .tag = @enumFromInt(1243), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mod_u_d
- .{ .tag = @enumFromInt(1244), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mod_u_h
- .{ .tag = @enumFromInt(1245), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mod_u_w
- .{ .tag = @enumFromInt(1246), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_move_v
- .{ .tag = @enumFromInt(1247), .param_str = "V16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_msub_q_h
- .{ .tag = @enumFromInt(1248), .param_str = "V8SsV8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_msub_q_w
- .{ .tag = @enumFromInt(1249), .param_str = "V4SiV4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_msubr_q_h
- .{ .tag = @enumFromInt(1250), .param_str = "V8SsV8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_msubr_q_w
- .{ .tag = @enumFromInt(1251), .param_str = "V4SiV4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_msubv_b
- .{ .tag = @enumFromInt(1252), .param_str = "V16ScV16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_msubv_d
- .{ .tag = @enumFromInt(1253), .param_str = "V2SLLiV2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_msubv_h
- .{ .tag = @enumFromInt(1254), .param_str = "V8SsV8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_msubv_w
- .{ .tag = @enumFromInt(1255), .param_str = "V4SiV4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mul_q_h
- .{ .tag = @enumFromInt(1256), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mul_q_w
- .{ .tag = @enumFromInt(1257), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mulr_q_h
- .{ .tag = @enumFromInt(1258), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mulr_q_w
- .{ .tag = @enumFromInt(1259), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mulv_b
- .{ .tag = @enumFromInt(1260), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mulv_d
- .{ .tag = @enumFromInt(1261), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mulv_h
- .{ .tag = @enumFromInt(1262), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_mulv_w
- .{ .tag = @enumFromInt(1263), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_nloc_b
- .{ .tag = @enumFromInt(1264), .param_str = "V16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_nloc_d
- .{ .tag = @enumFromInt(1265), .param_str = "V2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_nloc_h
- .{ .tag = @enumFromInt(1266), .param_str = "V8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_nloc_w
- .{ .tag = @enumFromInt(1267), .param_str = "V4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_nlzc_b
- .{ .tag = @enumFromInt(1268), .param_str = "V16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_nlzc_d
- .{ .tag = @enumFromInt(1269), .param_str = "V2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_nlzc_h
- .{ .tag = @enumFromInt(1270), .param_str = "V8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_nlzc_w
- .{ .tag = @enumFromInt(1271), .param_str = "V4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_nor_v
- .{ .tag = @enumFromInt(1272), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_nori_b
- .{ .tag = @enumFromInt(1273), .param_str = "V16UcV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_or_v
- .{ .tag = @enumFromInt(1274), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_ori_b
- .{ .tag = @enumFromInt(1275), .param_str = "V16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_pckev_b
- .{ .tag = @enumFromInt(1276), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_pckev_d
- .{ .tag = @enumFromInt(1277), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_pckev_h
- .{ .tag = @enumFromInt(1278), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_pckev_w
- .{ .tag = @enumFromInt(1279), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_pckod_b
- .{ .tag = @enumFromInt(1280), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_pckod_d
- .{ .tag = @enumFromInt(1281), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_pckod_h
- .{ .tag = @enumFromInt(1282), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_pckod_w
- .{ .tag = @enumFromInt(1283), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_pcnt_b
- .{ .tag = @enumFromInt(1284), .param_str = "V16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_pcnt_d
- .{ .tag = @enumFromInt(1285), .param_str = "V2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_pcnt_h
- .{ .tag = @enumFromInt(1286), .param_str = "V8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_pcnt_w
- .{ .tag = @enumFromInt(1287), .param_str = "V4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sat_s_b
- .{ .tag = @enumFromInt(1288), .param_str = "V16ScV16ScIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sat_s_d
- .{ .tag = @enumFromInt(1289), .param_str = "V2SLLiV2SLLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sat_s_h
- .{ .tag = @enumFromInt(1290), .param_str = "V8SsV8SsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sat_s_w
- .{ .tag = @enumFromInt(1291), .param_str = "V4SiV4SiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sat_u_b
- .{ .tag = @enumFromInt(1292), .param_str = "V16UcV16UcIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sat_u_d
- .{ .tag = @enumFromInt(1293), .param_str = "V2ULLiV2ULLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sat_u_h
- .{ .tag = @enumFromInt(1294), .param_str = "V8UsV8UsIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sat_u_w
- .{ .tag = @enumFromInt(1295), .param_str = "V4UiV4UiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_shf_b
- .{ .tag = @enumFromInt(1296), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_shf_h
- .{ .tag = @enumFromInt(1297), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_shf_w
- .{ .tag = @enumFromInt(1298), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sld_b
- .{ .tag = @enumFromInt(1299), .param_str = "V16cV16cV16cUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sld_d
- .{ .tag = @enumFromInt(1300), .param_str = "V2LLiV2LLiV2LLiUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sld_h
- .{ .tag = @enumFromInt(1301), .param_str = "V8sV8sV8sUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sld_w
- .{ .tag = @enumFromInt(1302), .param_str = "V4iV4iV4iUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sldi_b
- .{ .tag = @enumFromInt(1303), .param_str = "V16cV16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sldi_d
- .{ .tag = @enumFromInt(1304), .param_str = "V2LLiV2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sldi_h
- .{ .tag = @enumFromInt(1305), .param_str = "V8sV8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sldi_w
- .{ .tag = @enumFromInt(1306), .param_str = "V4iV4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sll_b
- .{ .tag = @enumFromInt(1307), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sll_d
- .{ .tag = @enumFromInt(1308), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sll_h
- .{ .tag = @enumFromInt(1309), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sll_w
- .{ .tag = @enumFromInt(1310), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_slli_b
- .{ .tag = @enumFromInt(1311), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_slli_d
- .{ .tag = @enumFromInt(1312), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_slli_h
- .{ .tag = @enumFromInt(1313), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_slli_w
- .{ .tag = @enumFromInt(1314), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_splat_b
- .{ .tag = @enumFromInt(1315), .param_str = "V16cV16cUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_splat_d
- .{ .tag = @enumFromInt(1316), .param_str = "V2LLiV2LLiUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_splat_h
- .{ .tag = @enumFromInt(1317), .param_str = "V8sV8sUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_splat_w
- .{ .tag = @enumFromInt(1318), .param_str = "V4iV4iUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_splati_b
- .{ .tag = @enumFromInt(1319), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_splati_d
- .{ .tag = @enumFromInt(1320), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_splati_h
- .{ .tag = @enumFromInt(1321), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_splati_w
- .{ .tag = @enumFromInt(1322), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sra_b
- .{ .tag = @enumFromInt(1323), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sra_d
- .{ .tag = @enumFromInt(1324), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sra_h
- .{ .tag = @enumFromInt(1325), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_sra_w
- .{ .tag = @enumFromInt(1326), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srai_b
- .{ .tag = @enumFromInt(1327), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srai_d
- .{ .tag = @enumFromInt(1328), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srai_h
- .{ .tag = @enumFromInt(1329), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srai_w
- .{ .tag = @enumFromInt(1330), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srar_b
- .{ .tag = @enumFromInt(1331), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srar_d
- .{ .tag = @enumFromInt(1332), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srar_h
- .{ .tag = @enumFromInt(1333), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srar_w
- .{ .tag = @enumFromInt(1334), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srari_b
- .{ .tag = @enumFromInt(1335), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srari_d
- .{ .tag = @enumFromInt(1336), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srari_h
- .{ .tag = @enumFromInt(1337), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srari_w
- .{ .tag = @enumFromInt(1338), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srl_b
- .{ .tag = @enumFromInt(1339), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srl_d
- .{ .tag = @enumFromInt(1340), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srl_h
- .{ .tag = @enumFromInt(1341), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srl_w
- .{ .tag = @enumFromInt(1342), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srli_b
- .{ .tag = @enumFromInt(1343), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srli_d
- .{ .tag = @enumFromInt(1344), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srli_h
- .{ .tag = @enumFromInt(1345), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srli_w
- .{ .tag = @enumFromInt(1346), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srlr_b
- .{ .tag = @enumFromInt(1347), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srlr_d
- .{ .tag = @enumFromInt(1348), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srlr_h
- .{ .tag = @enumFromInt(1349), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srlr_w
- .{ .tag = @enumFromInt(1350), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srlri_b
- .{ .tag = @enumFromInt(1351), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srlri_d
- .{ .tag = @enumFromInt(1352), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srlri_h
- .{ .tag = @enumFromInt(1353), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_srlri_w
- .{ .tag = @enumFromInt(1354), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_st_b
- .{ .tag = @enumFromInt(1355), .param_str = "vV16Scv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_st_d
- .{ .tag = @enumFromInt(1356), .param_str = "vV2SLLiv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_st_h
- .{ .tag = @enumFromInt(1357), .param_str = "vV8Ssv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_st_w
- .{ .tag = @enumFromInt(1358), .param_str = "vV4Siv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_str_d
- .{ .tag = @enumFromInt(1359), .param_str = "vV2SLLiv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_str_w
- .{ .tag = @enumFromInt(1360), .param_str = "vV4Siv*Ii", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subs_s_b
- .{ .tag = @enumFromInt(1361), .param_str = "V16ScV16ScV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subs_s_d
- .{ .tag = @enumFromInt(1362), .param_str = "V2SLLiV2SLLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subs_s_h
- .{ .tag = @enumFromInt(1363), .param_str = "V8SsV8SsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subs_s_w
- .{ .tag = @enumFromInt(1364), .param_str = "V4SiV4SiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subs_u_b
- .{ .tag = @enumFromInt(1365), .param_str = "V16UcV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subs_u_d
- .{ .tag = @enumFromInt(1366), .param_str = "V2ULLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subs_u_h
- .{ .tag = @enumFromInt(1367), .param_str = "V8UsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subs_u_w
- .{ .tag = @enumFromInt(1368), .param_str = "V4UiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subsus_u_b
- .{ .tag = @enumFromInt(1369), .param_str = "V16UcV16UcV16Sc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subsus_u_d
- .{ .tag = @enumFromInt(1370), .param_str = "V2ULLiV2ULLiV2SLLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subsus_u_h
- .{ .tag = @enumFromInt(1371), .param_str = "V8UsV8UsV8Ss", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subsus_u_w
- .{ .tag = @enumFromInt(1372), .param_str = "V4UiV4UiV4Si", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subsuu_s_b
- .{ .tag = @enumFromInt(1373), .param_str = "V16ScV16UcV16Uc", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subsuu_s_d
- .{ .tag = @enumFromInt(1374), .param_str = "V2SLLiV2ULLiV2ULLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subsuu_s_h
- .{ .tag = @enumFromInt(1375), .param_str = "V8SsV8UsV8Us", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subsuu_s_w
- .{ .tag = @enumFromInt(1376), .param_str = "V4SiV4UiV4Ui", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subv_b
- .{ .tag = @enumFromInt(1377), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subv_d
- .{ .tag = @enumFromInt(1378), .param_str = "V2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subv_h
- .{ .tag = @enumFromInt(1379), .param_str = "V8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subv_w
- .{ .tag = @enumFromInt(1380), .param_str = "V4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subvi_b
- .{ .tag = @enumFromInt(1381), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subvi_d
- .{ .tag = @enumFromInt(1382), .param_str = "V2LLiV2LLiIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subvi_h
- .{ .tag = @enumFromInt(1383), .param_str = "V8sV8sIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_subvi_w
- .{ .tag = @enumFromInt(1384), .param_str = "V4iV4iIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_vshf_b
- .{ .tag = @enumFromInt(1385), .param_str = "V16cV16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_vshf_d
- .{ .tag = @enumFromInt(1386), .param_str = "V2LLiV2LLiV2LLiV2LLi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_vshf_h
- .{ .tag = @enumFromInt(1387), .param_str = "V8sV8sV8sV8s", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_vshf_w
- .{ .tag = @enumFromInt(1388), .param_str = "V4iV4iV4iV4i", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_xor_v
- .{ .tag = @enumFromInt(1389), .param_str = "V16cV16cV16c", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_msa_xori_b
- .{ .tag = @enumFromInt(1390), .param_str = "V16cV16cIUi", .properties = .{ .target_set = TargetSet.initOne(.mips), .attributes = .{ .@"const" = true } } },
- // __builtin_mul_overflow
- .{ .tag = @enumFromInt(1391), .param_str = "b.", .properties = .{ .attributes = .{ .custom_typecheck = true, .const_evaluable = true } } },
- // __builtin_nan
- .{ .tag = @enumFromInt(1392), .param_str = "dcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_nanf
- .{ .tag = @enumFromInt(1393), .param_str = "fcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_nanf128
- .{ .tag = @enumFromInt(1394), .param_str = "LLdcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_nanf16
- .{ .tag = @enumFromInt(1395), .param_str = "xcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_nanl
- .{ .tag = @enumFromInt(1396), .param_str = "LdcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_nans
- .{ .tag = @enumFromInt(1397), .param_str = "dcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_nansf
- .{ .tag = @enumFromInt(1398), .param_str = "fcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_nansf128
- .{ .tag = @enumFromInt(1399), .param_str = "LLdcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_nansf16
- .{ .tag = @enumFromInt(1400), .param_str = "xcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_nansl
- .{ .tag = @enumFromInt(1401), .param_str = "LdcC*", .properties = .{ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_nearbyint
- .{ .tag = @enumFromInt(1402), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_nearbyintf
- .{ .tag = @enumFromInt(1403), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_nearbyintf128
- .{ .tag = @enumFromInt(1404), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_nearbyintl
- .{ .tag = @enumFromInt(1405), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_nextafter
- .{ .tag = @enumFromInt(1406), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_nextafterf
- .{ .tag = @enumFromInt(1407), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_nextafterf128
- .{ .tag = @enumFromInt(1408), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_nextafterl
- .{ .tag = @enumFromInt(1409), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_nexttoward
- .{ .tag = @enumFromInt(1410), .param_str = "ddLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_nexttowardf
- .{ .tag = @enumFromInt(1411), .param_str = "ffLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_nexttowardf128
- .{ .tag = @enumFromInt(1412), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_nexttowardl
- .{ .tag = @enumFromInt(1413), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_nondeterministic_value
- .{ .tag = @enumFromInt(1414), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __builtin_nontemporal_load
- .{ .tag = @enumFromInt(1415), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __builtin_nontemporal_store
- .{ .tag = @enumFromInt(1416), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __builtin_objc_memmove_collectable
- .{ .tag = @enumFromInt(1417), .param_str = "v*v*vC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_object_size
- .{ .tag = @enumFromInt(1418), .param_str = "zvC*i", .properties = .{ .attributes = .{ .eval_args = false, .const_evaluable = true } } },
- // __builtin_operator_delete
- .{ .tag = @enumFromInt(1419), .param_str = "vv*", .properties = .{ .attributes = .{ .custom_typecheck = true, .const_evaluable = true } } },
- // __builtin_operator_new
- .{ .tag = @enumFromInt(1420), .param_str = "v*z", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true } } },
- // __builtin_os_log_format
- .{ .tag = @enumFromInt(1421), .param_str = "v*v*cC*.", .properties = .{ .attributes = .{ .custom_typecheck = true, .format_kind = .printf } } },
- // __builtin_os_log_format_buffer_size
- .{ .tag = @enumFromInt(1422), .param_str = "zcC*.", .properties = .{ .attributes = .{ .custom_typecheck = true, .format_kind = .printf, .eval_args = false, .const_evaluable = true } } },
- // __builtin_pack_longdouble
- .{ .tag = @enumFromInt(1423), .param_str = "Lddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_parity
- .{ .tag = @enumFromInt(1424), .param_str = "iUi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_parityl
- .{ .tag = @enumFromInt(1425), .param_str = "iULi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_parityll
- .{ .tag = @enumFromInt(1426), .param_str = "iULLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_popcount
- .{ .tag = @enumFromInt(1427), .param_str = "iUi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_popcountl
- .{ .tag = @enumFromInt(1428), .param_str = "iULi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_popcountll
- .{ .tag = @enumFromInt(1429), .param_str = "iULLi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_pow
- .{ .tag = @enumFromInt(1430), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_powf
- .{ .tag = @enumFromInt(1431), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_powf128
- .{ .tag = @enumFromInt(1432), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_powf16
- .{ .tag = @enumFromInt(1433), .param_str = "hhh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_powi
- .{ .tag = @enumFromInt(1434), .param_str = "ddi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_powif
- .{ .tag = @enumFromInt(1435), .param_str = "ffi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_powil
- .{ .tag = @enumFromInt(1436), .param_str = "LdLdi", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_powl
- .{ .tag = @enumFromInt(1437), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_ppc_alignx
- .{ .tag = @enumFromInt(1438), .param_str = "vIivC*", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .@"const" = true } } },
- // __builtin_ppc_cmpb
- .{ .tag = @enumFromInt(1439), .param_str = "LLiLLiLLi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_compare_and_swap
- .{ .tag = @enumFromInt(1440), .param_str = "iiD*i*i", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_compare_and_swaplp
- .{ .tag = @enumFromInt(1441), .param_str = "iLiD*Li*Li", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_dcbfl
- .{ .tag = @enumFromInt(1442), .param_str = "vvC*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_dcbflp
- .{ .tag = @enumFromInt(1443), .param_str = "vvC*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_dcbst
- .{ .tag = @enumFromInt(1444), .param_str = "vvC*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_dcbt
- .{ .tag = @enumFromInt(1445), .param_str = "vv*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_dcbtst
- .{ .tag = @enumFromInt(1446), .param_str = "vv*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_dcbtstt
- .{ .tag = @enumFromInt(1447), .param_str = "vv*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_dcbtt
- .{ .tag = @enumFromInt(1448), .param_str = "vv*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_dcbz
- .{ .tag = @enumFromInt(1449), .param_str = "vv*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_eieio
- .{ .tag = @enumFromInt(1450), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fcfid
- .{ .tag = @enumFromInt(1451), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fcfud
- .{ .tag = @enumFromInt(1452), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fctid
- .{ .tag = @enumFromInt(1453), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fctidz
- .{ .tag = @enumFromInt(1454), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fctiw
- .{ .tag = @enumFromInt(1455), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fctiwz
- .{ .tag = @enumFromInt(1456), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fctudz
- .{ .tag = @enumFromInt(1457), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fctuwz
- .{ .tag = @enumFromInt(1458), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fetch_and_add
- .{ .tag = @enumFromInt(1459), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fetch_and_addlp
- .{ .tag = @enumFromInt(1460), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fetch_and_and
- .{ .tag = @enumFromInt(1461), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fetch_and_andlp
- .{ .tag = @enumFromInt(1462), .param_str = "ULiULiD*ULi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fetch_and_or
- .{ .tag = @enumFromInt(1463), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fetch_and_orlp
- .{ .tag = @enumFromInt(1464), .param_str = "ULiULiD*ULi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fetch_and_swap
- .{ .tag = @enumFromInt(1465), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fetch_and_swaplp
- .{ .tag = @enumFromInt(1466), .param_str = "ULiULiD*ULi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fmsub
- .{ .tag = @enumFromInt(1467), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fmsubs
- .{ .tag = @enumFromInt(1468), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fnabs
- .{ .tag = @enumFromInt(1469), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fnabss
- .{ .tag = @enumFromInt(1470), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fnmadd
- .{ .tag = @enumFromInt(1471), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fnmadds
- .{ .tag = @enumFromInt(1472), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fnmsub
- .{ .tag = @enumFromInt(1473), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fnmsubs
- .{ .tag = @enumFromInt(1474), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fre
- .{ .tag = @enumFromInt(1475), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fres
- .{ .tag = @enumFromInt(1476), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fric
- .{ .tag = @enumFromInt(1477), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_frim
- .{ .tag = @enumFromInt(1478), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_frims
- .{ .tag = @enumFromInt(1479), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_frin
- .{ .tag = @enumFromInt(1480), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_frins
- .{ .tag = @enumFromInt(1481), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_frip
- .{ .tag = @enumFromInt(1482), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_frips
- .{ .tag = @enumFromInt(1483), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_friz
- .{ .tag = @enumFromInt(1484), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_frizs
- .{ .tag = @enumFromInt(1485), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_frsqrte
- .{ .tag = @enumFromInt(1486), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_frsqrtes
- .{ .tag = @enumFromInt(1487), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fsel
- .{ .tag = @enumFromInt(1488), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fsels
- .{ .tag = @enumFromInt(1489), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fsqrt
- .{ .tag = @enumFromInt(1490), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_fsqrts
- .{ .tag = @enumFromInt(1491), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_get_timebase
- .{ .tag = @enumFromInt(1492), .param_str = "ULLi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_iospace_eieio
- .{ .tag = @enumFromInt(1493), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_iospace_lwsync
- .{ .tag = @enumFromInt(1494), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_iospace_sync
- .{ .tag = @enumFromInt(1495), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_isync
- .{ .tag = @enumFromInt(1496), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_ldarx
- .{ .tag = @enumFromInt(1497), .param_str = "LiLiD*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_load2r
- .{ .tag = @enumFromInt(1498), .param_str = "UsUs*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_load4r
- .{ .tag = @enumFromInt(1499), .param_str = "UiUi*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_lwarx
- .{ .tag = @enumFromInt(1500), .param_str = "iiD*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_lwsync
- .{ .tag = @enumFromInt(1501), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_maxfe
- .{ .tag = @enumFromInt(1502), .param_str = "LdLdLdLd.", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .custom_typecheck = true } } },
- // __builtin_ppc_maxfl
- .{ .tag = @enumFromInt(1503), .param_str = "dddd.", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .custom_typecheck = true } } },
- // __builtin_ppc_maxfs
- .{ .tag = @enumFromInt(1504), .param_str = "ffff.", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .custom_typecheck = true } } },
- // __builtin_ppc_mfmsr
- .{ .tag = @enumFromInt(1505), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_mfspr
- .{ .tag = @enumFromInt(1506), .param_str = "ULiIi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_mftbu
- .{ .tag = @enumFromInt(1507), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_minfe
- .{ .tag = @enumFromInt(1508), .param_str = "LdLdLdLd.", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .custom_typecheck = true } } },
- // __builtin_ppc_minfl
- .{ .tag = @enumFromInt(1509), .param_str = "dddd.", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .custom_typecheck = true } } },
- // __builtin_ppc_minfs
- .{ .tag = @enumFromInt(1510), .param_str = "ffff.", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .custom_typecheck = true } } },
- // __builtin_ppc_mtfsb0
- .{ .tag = @enumFromInt(1511), .param_str = "vUIi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_mtfsb1
- .{ .tag = @enumFromInt(1512), .param_str = "vUIi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_mtfsf
- .{ .tag = @enumFromInt(1513), .param_str = "vUIiUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_mtfsfi
- .{ .tag = @enumFromInt(1514), .param_str = "vUIiUIi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_mtmsr
- .{ .tag = @enumFromInt(1515), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_mtspr
- .{ .tag = @enumFromInt(1516), .param_str = "vIiULi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_mulhd
- .{ .tag = @enumFromInt(1517), .param_str = "LLiLiLi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_mulhdu
- .{ .tag = @enumFromInt(1518), .param_str = "ULLiULiULi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_mulhw
- .{ .tag = @enumFromInt(1519), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_mulhwu
- .{ .tag = @enumFromInt(1520), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_popcntb
- .{ .tag = @enumFromInt(1521), .param_str = "ULiULi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_poppar4
- .{ .tag = @enumFromInt(1522), .param_str = "iUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_poppar8
- .{ .tag = @enumFromInt(1523), .param_str = "iULLi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_rdlam
- .{ .tag = @enumFromInt(1524), .param_str = "UWiUWiUWiUWIi", .properties = .{ .target_set = TargetSet.initOne(.ppc), .attributes = .{ .@"const" = true } } },
- // __builtin_ppc_recipdivd
- .{ .tag = @enumFromInt(1525), .param_str = "V2dV2dV2d", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_recipdivf
- .{ .tag = @enumFromInt(1526), .param_str = "V4fV4fV4f", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_rldimi
- .{ .tag = @enumFromInt(1527), .param_str = "ULLiULLiULLiIUiIULLi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_rlwimi
- .{ .tag = @enumFromInt(1528), .param_str = "UiUiUiIUiIUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_rlwnm
- .{ .tag = @enumFromInt(1529), .param_str = "UiUiUiIUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_rsqrtd
- .{ .tag = @enumFromInt(1530), .param_str = "V2dV2d", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_rsqrtf
- .{ .tag = @enumFromInt(1531), .param_str = "V4fV4f", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_stdcx
- .{ .tag = @enumFromInt(1532), .param_str = "iLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_stfiw
- .{ .tag = @enumFromInt(1533), .param_str = "viC*d", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_store2r
- .{ .tag = @enumFromInt(1534), .param_str = "vUiUs*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_store4r
- .{ .tag = @enumFromInt(1535), .param_str = "vUiUi*", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_stwcx
- .{ .tag = @enumFromInt(1536), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_swdiv
- .{ .tag = @enumFromInt(1537), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_swdiv_nochk
- .{ .tag = @enumFromInt(1538), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_swdivs
- .{ .tag = @enumFromInt(1539), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_swdivs_nochk
- .{ .tag = @enumFromInt(1540), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_sync
- .{ .tag = @enumFromInt(1541), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_tdw
- .{ .tag = @enumFromInt(1542), .param_str = "vLLiLLiIUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_trap
- .{ .tag = @enumFromInt(1543), .param_str = "vi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_trapd
- .{ .tag = @enumFromInt(1544), .param_str = "vLi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_ppc_tw
- .{ .tag = @enumFromInt(1545), .param_str = "viiIUi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_prefetch
- .{ .tag = @enumFromInt(1546), .param_str = "vvC*.", .properties = .{ .attributes = .{ .@"const" = true } } },
- // __builtin_preserve_access_index
- .{ .tag = @enumFromInt(1547), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __builtin_printf
- .{ .tag = @enumFromInt(1548), .param_str = "icC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf } } },
- // __builtin_ptx_get_image_channel_data_typei_
- .{ .tag = @enumFromInt(1549), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_get_image_channel_orderi_
- .{ .tag = @enumFromInt(1550), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_get_image_depthi_
- .{ .tag = @enumFromInt(1551), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_get_image_heighti_
- .{ .tag = @enumFromInt(1552), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_get_image_widthi_
- .{ .tag = @enumFromInt(1553), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_read_image2Dff_
- .{ .tag = @enumFromInt(1554), .param_str = "V4fiiff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_read_image2Dfi_
- .{ .tag = @enumFromInt(1555), .param_str = "V4fiiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_read_image2Dif_
- .{ .tag = @enumFromInt(1556), .param_str = "V4iiiff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_read_image2Dii_
- .{ .tag = @enumFromInt(1557), .param_str = "V4iiiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_read_image3Dff_
- .{ .tag = @enumFromInt(1558), .param_str = "V4fiiffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_read_image3Dfi_
- .{ .tag = @enumFromInt(1559), .param_str = "V4fiiiiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_read_image3Dif_
- .{ .tag = @enumFromInt(1560), .param_str = "V4iiiffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_read_image3Dii_
- .{ .tag = @enumFromInt(1561), .param_str = "V4iiiiiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_write_image2Df_
- .{ .tag = @enumFromInt(1562), .param_str = "viiiffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_write_image2Di_
- .{ .tag = @enumFromInt(1563), .param_str = "viiiiiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_ptx_write_image2Dui_
- .{ .tag = @enumFromInt(1564), .param_str = "viiiUiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __builtin_r600_implicitarg_ptr
- .{ .tag = @enumFromInt(1565), .param_str = "Uc*7", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_r600_read_tgid_x
- .{ .tag = @enumFromInt(1566), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_r600_read_tgid_y
- .{ .tag = @enumFromInt(1567), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_r600_read_tgid_z
- .{ .tag = @enumFromInt(1568), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_r600_read_tidig_x
- .{ .tag = @enumFromInt(1569), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_r600_read_tidig_y
- .{ .tag = @enumFromInt(1570), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_r600_read_tidig_z
- .{ .tag = @enumFromInt(1571), .param_str = "Ui", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_r600_recipsqrt_ieee
- .{ .tag = @enumFromInt(1572), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_r600_recipsqrt_ieeef
- .{ .tag = @enumFromInt(1573), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.amdgpu), .attributes = .{ .@"const" = true } } },
- // __builtin_readcyclecounter
- .{ .tag = @enumFromInt(1574), .param_str = "ULLi", .properties = .{} },
- // __builtin_readflm
- .{ .tag = @enumFromInt(1575), .param_str = "d", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_realloc
- .{ .tag = @enumFromInt(1576), .param_str = "v*v*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_reduce_add
- .{ .tag = @enumFromInt(1577), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_reduce_and
- .{ .tag = @enumFromInt(1578), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_reduce_max
- .{ .tag = @enumFromInt(1579), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_reduce_min
- .{ .tag = @enumFromInt(1580), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_reduce_mul
- .{ .tag = @enumFromInt(1581), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_reduce_or
- .{ .tag = @enumFromInt(1582), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_reduce_xor
- .{ .tag = @enumFromInt(1583), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_remainder
- .{ .tag = @enumFromInt(1584), .param_str = "ddd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_remainderf
- .{ .tag = @enumFromInt(1585), .param_str = "fff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_remainderf128
- .{ .tag = @enumFromInt(1586), .param_str = "LLdLLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_remainderl
- .{ .tag = @enumFromInt(1587), .param_str = "LdLdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_remquo
- .{ .tag = @enumFromInt(1588), .param_str = "dddi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_remquof
- .{ .tag = @enumFromInt(1589), .param_str = "fffi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_remquof128
- .{ .tag = @enumFromInt(1590), .param_str = "LLdLLdLLdi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_remquol
- .{ .tag = @enumFromInt(1591), .param_str = "LdLdLdi*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_return_address
- .{ .tag = @enumFromInt(1592), .param_str = "v*IUi", .properties = .{} },
- // __builtin_rindex
- .{ .tag = @enumFromInt(1593), .param_str = "c*cC*i", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_rint
- .{ .tag = @enumFromInt(1594), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_rintf
- .{ .tag = @enumFromInt(1595), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_rintf128
- .{ .tag = @enumFromInt(1596), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_rintf16
- .{ .tag = @enumFromInt(1597), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_rintl
- .{ .tag = @enumFromInt(1598), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_rotateleft16
- .{ .tag = @enumFromInt(1599), .param_str = "UsUsUs", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_rotateleft32
- .{ .tag = @enumFromInt(1600), .param_str = "UZiUZiUZi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_rotateleft64
- .{ .tag = @enumFromInt(1601), .param_str = "UWiUWiUWi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_rotateleft8
- .{ .tag = @enumFromInt(1602), .param_str = "UcUcUc", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_rotateright16
- .{ .tag = @enumFromInt(1603), .param_str = "UsUsUs", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_rotateright32
- .{ .tag = @enumFromInt(1604), .param_str = "UZiUZiUZi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_rotateright64
- .{ .tag = @enumFromInt(1605), .param_str = "UWiUWiUWi", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_rotateright8
- .{ .tag = @enumFromInt(1606), .param_str = "UcUcUc", .properties = .{ .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __builtin_round
- .{ .tag = @enumFromInt(1607), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_roundeven
- .{ .tag = @enumFromInt(1608), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_roundevenf
- .{ .tag = @enumFromInt(1609), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_roundevenf128
- .{ .tag = @enumFromInt(1610), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_roundevenf16
- .{ .tag = @enumFromInt(1611), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_roundevenl
- .{ .tag = @enumFromInt(1612), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_roundf
- .{ .tag = @enumFromInt(1613), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_roundf128
- .{ .tag = @enumFromInt(1614), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_roundf16
- .{ .tag = @enumFromInt(1615), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_roundl
- .{ .tag = @enumFromInt(1616), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_sadd_overflow
- .{ .tag = @enumFromInt(1617), .param_str = "bSiCSiCSi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_saddl_overflow
- .{ .tag = @enumFromInt(1618), .param_str = "bSLiCSLiCSLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_saddll_overflow
- .{ .tag = @enumFromInt(1619), .param_str = "bSLLiCSLLiCSLLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_scalbln
- .{ .tag = @enumFromInt(1620), .param_str = "ddLi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_scalblnf
- .{ .tag = @enumFromInt(1621), .param_str = "ffLi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_scalblnf128
- .{ .tag = @enumFromInt(1622), .param_str = "LLdLLdLi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_scalblnl
- .{ .tag = @enumFromInt(1623), .param_str = "LdLdLi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_scalbn
- .{ .tag = @enumFromInt(1624), .param_str = "ddi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_scalbnf
- .{ .tag = @enumFromInt(1625), .param_str = "ffi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_scalbnf128
- .{ .tag = @enumFromInt(1626), .param_str = "LLdLLdi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_scalbnl
- .{ .tag = @enumFromInt(1627), .param_str = "LdLdi", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_scanf
- .{ .tag = @enumFromInt(1628), .param_str = "icC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .scanf } } },
- // __builtin_set_flt_rounds
- .{ .tag = @enumFromInt(1629), .param_str = "vi", .properties = .{} },
- // __builtin_setflm
- .{ .tag = @enumFromInt(1630), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_setjmp
- .{ .tag = @enumFromInt(1631), .param_str = "iv**", .properties = .{ .attributes = .{ .returns_twice = true } } },
- // __builtin_setps
- .{ .tag = @enumFromInt(1632), .param_str = "vUiUi", .properties = .{ .target_set = TargetSet.initOne(.xcore) } },
- // __builtin_setrnd
- .{ .tag = @enumFromInt(1633), .param_str = "di", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_shufflevector
- .{ .tag = @enumFromInt(1634), .param_str = "v.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true } } },
- // __builtin_signbit
- .{ .tag = @enumFromInt(1635), .param_str = "i.", .properties = .{ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_signbitf
- .{ .tag = @enumFromInt(1636), .param_str = "if", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_signbitl
- .{ .tag = @enumFromInt(1637), .param_str = "iLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_sin
- .{ .tag = @enumFromInt(1638), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sinf
- .{ .tag = @enumFromInt(1639), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sinf128
- .{ .tag = @enumFromInt(1640), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sinf16
- .{ .tag = @enumFromInt(1641), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sinh
- .{ .tag = @enumFromInt(1642), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sinhf
- .{ .tag = @enumFromInt(1643), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sinhf128
- .{ .tag = @enumFromInt(1644), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sinhl
- .{ .tag = @enumFromInt(1645), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sinl
- .{ .tag = @enumFromInt(1646), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_smul_overflow
- .{ .tag = @enumFromInt(1647), .param_str = "bSiCSiCSi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_smull_overflow
- .{ .tag = @enumFromInt(1648), .param_str = "bSLiCSLiCSLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_smulll_overflow
- .{ .tag = @enumFromInt(1649), .param_str = "bSLLiCSLLiCSLLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_snprintf
- .{ .tag = @enumFromInt(1650), .param_str = "ic*RzcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 2 } } },
- // __builtin_sponentry
- .{ .tag = @enumFromInt(1651), .param_str = "v*", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __builtin_sprintf
- .{ .tag = @enumFromInt(1652), .param_str = "ic*RcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 1 } } },
- // __builtin_sqrt
- .{ .tag = @enumFromInt(1653), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sqrtf
- .{ .tag = @enumFromInt(1654), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sqrtf128
- .{ .tag = @enumFromInt(1655), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sqrtf16
- .{ .tag = @enumFromInt(1656), .param_str = "hh", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sqrtl
- .{ .tag = @enumFromInt(1657), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_sscanf
- .{ .tag = @enumFromInt(1658), .param_str = "icC*RcC*R.", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .scanf, .format_string_position = 1 } } },
- // __builtin_ssub_overflow
- .{ .tag = @enumFromInt(1659), .param_str = "bSiCSiCSi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_ssubl_overflow
- .{ .tag = @enumFromInt(1660), .param_str = "bSLiCSLiCSLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_ssubll_overflow
- .{ .tag = @enumFromInt(1661), .param_str = "bSLLiCSLLiCSLLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_stdarg_start
- .{ .tag = @enumFromInt(1662), .param_str = "vA.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __builtin_stpcpy
- .{ .tag = @enumFromInt(1663), .param_str = "c*c*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_stpncpy
- .{ .tag = @enumFromInt(1664), .param_str = "c*c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strcasecmp
- .{ .tag = @enumFromInt(1665), .param_str = "icC*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strcat
- .{ .tag = @enumFromInt(1666), .param_str = "c*c*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strchr
- .{ .tag = @enumFromInt(1667), .param_str = "c*cC*i", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_strcmp
- .{ .tag = @enumFromInt(1668), .param_str = "icC*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_strcpy
- .{ .tag = @enumFromInt(1669), .param_str = "c*c*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strcspn
- .{ .tag = @enumFromInt(1670), .param_str = "zcC*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strdup
- .{ .tag = @enumFromInt(1671), .param_str = "c*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strlen
- .{ .tag = @enumFromInt(1672), .param_str = "zcC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_strncasecmp
- .{ .tag = @enumFromInt(1673), .param_str = "icC*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strncat
- .{ .tag = @enumFromInt(1674), .param_str = "c*c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strncmp
- .{ .tag = @enumFromInt(1675), .param_str = "icC*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_strncpy
- .{ .tag = @enumFromInt(1676), .param_str = "c*c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strndup
- .{ .tag = @enumFromInt(1677), .param_str = "c*cC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strpbrk
- .{ .tag = @enumFromInt(1678), .param_str = "c*cC*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strrchr
- .{ .tag = @enumFromInt(1679), .param_str = "c*cC*i", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strspn
- .{ .tag = @enumFromInt(1680), .param_str = "zcC*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_strstr
- .{ .tag = @enumFromInt(1681), .param_str = "c*cC*cC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true } } },
- // __builtin_sub_overflow
- .{ .tag = @enumFromInt(1682), .param_str = "b.", .properties = .{ .attributes = .{ .custom_typecheck = true, .const_evaluable = true } } },
- // __builtin_subc
- .{ .tag = @enumFromInt(1683), .param_str = "UiUiCUiCUiCUi*", .properties = .{} },
- // __builtin_subcb
- .{ .tag = @enumFromInt(1684), .param_str = "UcUcCUcCUcCUc*", .properties = .{} },
- // __builtin_subcl
- .{ .tag = @enumFromInt(1685), .param_str = "ULiULiCULiCULiCULi*", .properties = .{} },
- // __builtin_subcll
- .{ .tag = @enumFromInt(1686), .param_str = "ULLiULLiCULLiCULLiCULLi*", .properties = .{} },
- // __builtin_subcs
- .{ .tag = @enumFromInt(1687), .param_str = "UsUsCUsCUsCUs*", .properties = .{} },
- // __builtin_tan
- .{ .tag = @enumFromInt(1688), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_tanf
- .{ .tag = @enumFromInt(1689), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_tanf128
- .{ .tag = @enumFromInt(1690), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_tanh
- .{ .tag = @enumFromInt(1691), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_tanhf
- .{ .tag = @enumFromInt(1692), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_tanhf128
- .{ .tag = @enumFromInt(1693), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_tanhl
- .{ .tag = @enumFromInt(1694), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_tanl
- .{ .tag = @enumFromInt(1695), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_tgamma
- .{ .tag = @enumFromInt(1696), .param_str = "dd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_tgammaf
- .{ .tag = @enumFromInt(1697), .param_str = "ff", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_tgammaf128
- .{ .tag = @enumFromInt(1698), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_tgammal
- .{ .tag = @enumFromInt(1699), .param_str = "LdLd", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __builtin_thread_pointer
- .{ .tag = @enumFromInt(1700), .param_str = "v*", .properties = .{ .attributes = .{ .@"const" = true } } },
- // __builtin_trap
- .{ .tag = @enumFromInt(1701), .param_str = "v", .properties = .{ .attributes = .{ .noreturn = true } } },
- // __builtin_trunc
- .{ .tag = @enumFromInt(1702), .param_str = "dd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_truncf
- .{ .tag = @enumFromInt(1703), .param_str = "ff", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_truncf128
- .{ .tag = @enumFromInt(1704), .param_str = "LLdLLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_truncf16
- .{ .tag = @enumFromInt(1705), .param_str = "hh", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_truncl
- .{ .tag = @enumFromInt(1706), .param_str = "LdLd", .properties = .{ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true } } },
- // __builtin_uadd_overflow
- .{ .tag = @enumFromInt(1707), .param_str = "bUiCUiCUi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_uaddl_overflow
- .{ .tag = @enumFromInt(1708), .param_str = "bULiCULiCULi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_uaddll_overflow
- .{ .tag = @enumFromInt(1709), .param_str = "bULLiCULLiCULLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_umul_overflow
- .{ .tag = @enumFromInt(1710), .param_str = "bUiCUiCUi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_umull_overflow
- .{ .tag = @enumFromInt(1711), .param_str = "bULiCULiCULi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_umulll_overflow
- .{ .tag = @enumFromInt(1712), .param_str = "bULLiCULLiCULLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_unpack_longdouble
- .{ .tag = @enumFromInt(1713), .param_str = "dLdIi", .properties = .{ .target_set = TargetSet.initOne(.ppc) } },
- // __builtin_unpredictable
- .{ .tag = @enumFromInt(1714), .param_str = "LiLi", .properties = .{ .attributes = .{ .@"const" = true } } },
- // __builtin_unreachable
- .{ .tag = @enumFromInt(1715), .param_str = "v", .properties = .{ .attributes = .{ .noreturn = true } } },
- // __builtin_unwind_init
- .{ .tag = @enumFromInt(1716), .param_str = "v", .properties = .{} },
- // __builtin_usub_overflow
- .{ .tag = @enumFromInt(1717), .param_str = "bUiCUiCUi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_usubl_overflow
- .{ .tag = @enumFromInt(1718), .param_str = "bULiCULiCULi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_usubll_overflow
- .{ .tag = @enumFromInt(1719), .param_str = "bULLiCULLiCULLi*", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __builtin_va_copy
- .{ .tag = @enumFromInt(1720), .param_str = "vAA", .properties = .{} },
- // __builtin_va_end
- .{ .tag = @enumFromInt(1721), .param_str = "vA", .properties = .{} },
- // __builtin_va_start
- .{ .tag = @enumFromInt(1722), .param_str = "vA.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __builtin_ve_vl_andm_MMM
- .{ .tag = @enumFromInt(1723), .param_str = "V512bV512bV512b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_andm_mmm
- .{ .tag = @enumFromInt(1724), .param_str = "V256bV256bV256b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_eqvm_MMM
- .{ .tag = @enumFromInt(1725), .param_str = "V512bV512bV512b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_eqvm_mmm
- .{ .tag = @enumFromInt(1726), .param_str = "V256bV256bV256b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_extract_vm512l
- .{ .tag = @enumFromInt(1727), .param_str = "V256bV512b", .properties = .{ .target_set = TargetSet.initOne(.ve) } },
- // __builtin_ve_vl_extract_vm512u
- .{ .tag = @enumFromInt(1728), .param_str = "V256bV512b", .properties = .{ .target_set = TargetSet.initOne(.ve) } },
- // __builtin_ve_vl_fencec_s
- .{ .tag = @enumFromInt(1729), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_fencei
- .{ .tag = @enumFromInt(1730), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_fencem_s
- .{ .tag = @enumFromInt(1731), .param_str = "vUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_fidcr_sss
- .{ .tag = @enumFromInt(1732), .param_str = "LUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_insert_vm512l
- .{ .tag = @enumFromInt(1733), .param_str = "V512bV512bV256b", .properties = .{ .target_set = TargetSet.initOne(.ve) } },
- // __builtin_ve_vl_insert_vm512u
- .{ .tag = @enumFromInt(1734), .param_str = "V512bV512bV256b", .properties = .{ .target_set = TargetSet.initOne(.ve) } },
- // __builtin_ve_vl_lcr_sss
- .{ .tag = @enumFromInt(1735), .param_str = "LUiLUiLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_lsv_vvss
- .{ .tag = @enumFromInt(1736), .param_str = "V256dV256dUiLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_lvm_MMss
- .{ .tag = @enumFromInt(1737), .param_str = "V512bV512bLUiLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_lvm_mmss
- .{ .tag = @enumFromInt(1738), .param_str = "V256bV256bLUiLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_lvsd_svs
- .{ .tag = @enumFromInt(1739), .param_str = "dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_lvsl_svs
- .{ .tag = @enumFromInt(1740), .param_str = "LUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_lvss_svs
- .{ .tag = @enumFromInt(1741), .param_str = "fV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_lzvm_sml
- .{ .tag = @enumFromInt(1742), .param_str = "LUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_negm_MM
- .{ .tag = @enumFromInt(1743), .param_str = "V512bV512b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_negm_mm
- .{ .tag = @enumFromInt(1744), .param_str = "V256bV256b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_nndm_MMM
- .{ .tag = @enumFromInt(1745), .param_str = "V512bV512bV512b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_nndm_mmm
- .{ .tag = @enumFromInt(1746), .param_str = "V256bV256bV256b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_orm_MMM
- .{ .tag = @enumFromInt(1747), .param_str = "V512bV512bV512b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_orm_mmm
- .{ .tag = @enumFromInt(1748), .param_str = "V256bV256bV256b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pack_f32a
- .{ .tag = @enumFromInt(1749), .param_str = "ULifC*", .properties = .{ .target_set = TargetSet.initOne(.ve) } },
- // __builtin_ve_vl_pack_f32p
- .{ .tag = @enumFromInt(1750), .param_str = "ULifC*fC*", .properties = .{ .target_set = TargetSet.initOne(.ve) } },
- // __builtin_ve_vl_pcvm_sml
- .{ .tag = @enumFromInt(1751), .param_str = "LUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pfchv_ssl
- .{ .tag = @enumFromInt(1752), .param_str = "vLivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pfchvnc_ssl
- .{ .tag = @enumFromInt(1753), .param_str = "vLivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvadds_vsvMvl
- .{ .tag = @enumFromInt(1754), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvadds_vsvl
- .{ .tag = @enumFromInt(1755), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvadds_vsvvl
- .{ .tag = @enumFromInt(1756), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvadds_vvvMvl
- .{ .tag = @enumFromInt(1757), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvadds_vvvl
- .{ .tag = @enumFromInt(1758), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvadds_vvvvl
- .{ .tag = @enumFromInt(1759), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvaddu_vsvMvl
- .{ .tag = @enumFromInt(1760), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvaddu_vsvl
- .{ .tag = @enumFromInt(1761), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvaddu_vsvvl
- .{ .tag = @enumFromInt(1762), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvaddu_vvvMvl
- .{ .tag = @enumFromInt(1763), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvaddu_vvvl
- .{ .tag = @enumFromInt(1764), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvaddu_vvvvl
- .{ .tag = @enumFromInt(1765), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvand_vsvMvl
- .{ .tag = @enumFromInt(1766), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvand_vsvl
- .{ .tag = @enumFromInt(1767), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvand_vsvvl
- .{ .tag = @enumFromInt(1768), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvand_vvvMvl
- .{ .tag = @enumFromInt(1769), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvand_vvvl
- .{ .tag = @enumFromInt(1770), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvand_vvvvl
- .{ .tag = @enumFromInt(1771), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvbrd_vsMvl
- .{ .tag = @enumFromInt(1772), .param_str = "V256dLUiV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvbrd_vsl
- .{ .tag = @enumFromInt(1773), .param_str = "V256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvbrd_vsvl
- .{ .tag = @enumFromInt(1774), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvbrv_vvMvl
- .{ .tag = @enumFromInt(1775), .param_str = "V256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvbrv_vvl
- .{ .tag = @enumFromInt(1776), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvbrv_vvvl
- .{ .tag = @enumFromInt(1777), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvbrvlo_vvl
- .{ .tag = @enumFromInt(1778), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvbrvlo_vvmvl
- .{ .tag = @enumFromInt(1779), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvbrvlo_vvvl
- .{ .tag = @enumFromInt(1780), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvbrvup_vvl
- .{ .tag = @enumFromInt(1781), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvbrvup_vvmvl
- .{ .tag = @enumFromInt(1782), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvbrvup_vvvl
- .{ .tag = @enumFromInt(1783), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcmps_vsvMvl
- .{ .tag = @enumFromInt(1784), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcmps_vsvl
- .{ .tag = @enumFromInt(1785), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcmps_vsvvl
- .{ .tag = @enumFromInt(1786), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcmps_vvvMvl
- .{ .tag = @enumFromInt(1787), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcmps_vvvl
- .{ .tag = @enumFromInt(1788), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcmps_vvvvl
- .{ .tag = @enumFromInt(1789), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcmpu_vsvMvl
- .{ .tag = @enumFromInt(1790), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcmpu_vsvl
- .{ .tag = @enumFromInt(1791), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcmpu_vsvvl
- .{ .tag = @enumFromInt(1792), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcmpu_vvvMvl
- .{ .tag = @enumFromInt(1793), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcmpu_vvvl
- .{ .tag = @enumFromInt(1794), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcmpu_vvvvl
- .{ .tag = @enumFromInt(1795), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcvtsw_vvl
- .{ .tag = @enumFromInt(1796), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcvtsw_vvvl
- .{ .tag = @enumFromInt(1797), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcvtws_vvMvl
- .{ .tag = @enumFromInt(1798), .param_str = "V256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcvtws_vvl
- .{ .tag = @enumFromInt(1799), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcvtws_vvvl
- .{ .tag = @enumFromInt(1800), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcvtwsrz_vvMvl
- .{ .tag = @enumFromInt(1801), .param_str = "V256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcvtwsrz_vvl
- .{ .tag = @enumFromInt(1802), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvcvtwsrz_vvvl
- .{ .tag = @enumFromInt(1803), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pveqv_vsvMvl
- .{ .tag = @enumFromInt(1804), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pveqv_vsvl
- .{ .tag = @enumFromInt(1805), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pveqv_vsvvl
- .{ .tag = @enumFromInt(1806), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pveqv_vvvMvl
- .{ .tag = @enumFromInt(1807), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pveqv_vvvl
- .{ .tag = @enumFromInt(1808), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pveqv_vvvvl
- .{ .tag = @enumFromInt(1809), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfadd_vsvMvl
- .{ .tag = @enumFromInt(1810), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfadd_vsvl
- .{ .tag = @enumFromInt(1811), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfadd_vsvvl
- .{ .tag = @enumFromInt(1812), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfadd_vvvMvl
- .{ .tag = @enumFromInt(1813), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfadd_vvvl
- .{ .tag = @enumFromInt(1814), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfadd_vvvvl
- .{ .tag = @enumFromInt(1815), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfcmp_vsvMvl
- .{ .tag = @enumFromInt(1816), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfcmp_vsvl
- .{ .tag = @enumFromInt(1817), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfcmp_vsvvl
- .{ .tag = @enumFromInt(1818), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfcmp_vvvMvl
- .{ .tag = @enumFromInt(1819), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfcmp_vvvl
- .{ .tag = @enumFromInt(1820), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfcmp_vvvvl
- .{ .tag = @enumFromInt(1821), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmad_vsvvMvl
- .{ .tag = @enumFromInt(1822), .param_str = "V256dLUiV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmad_vsvvl
- .{ .tag = @enumFromInt(1823), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmad_vsvvvl
- .{ .tag = @enumFromInt(1824), .param_str = "V256dLUiV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmad_vvsvMvl
- .{ .tag = @enumFromInt(1825), .param_str = "V256dV256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmad_vvsvl
- .{ .tag = @enumFromInt(1826), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmad_vvsvvl
- .{ .tag = @enumFromInt(1827), .param_str = "V256dV256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmad_vvvvMvl
- .{ .tag = @enumFromInt(1828), .param_str = "V256dV256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmad_vvvvl
- .{ .tag = @enumFromInt(1829), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmad_vvvvvl
- .{ .tag = @enumFromInt(1830), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmax_vsvMvl
- .{ .tag = @enumFromInt(1831), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmax_vsvl
- .{ .tag = @enumFromInt(1832), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmax_vsvvl
- .{ .tag = @enumFromInt(1833), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmax_vvvMvl
- .{ .tag = @enumFromInt(1834), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmax_vvvl
- .{ .tag = @enumFromInt(1835), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmax_vvvvl
- .{ .tag = @enumFromInt(1836), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmin_vsvMvl
- .{ .tag = @enumFromInt(1837), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmin_vsvl
- .{ .tag = @enumFromInt(1838), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmin_vsvvl
- .{ .tag = @enumFromInt(1839), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmin_vvvMvl
- .{ .tag = @enumFromInt(1840), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmin_vvvl
- .{ .tag = @enumFromInt(1841), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmin_vvvvl
- .{ .tag = @enumFromInt(1842), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkaf_Ml
- .{ .tag = @enumFromInt(1843), .param_str = "V512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkat_Ml
- .{ .tag = @enumFromInt(1844), .param_str = "V512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkseq_MvMl
- .{ .tag = @enumFromInt(1845), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkseq_Mvl
- .{ .tag = @enumFromInt(1846), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkseqnan_MvMl
- .{ .tag = @enumFromInt(1847), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkseqnan_Mvl
- .{ .tag = @enumFromInt(1848), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksge_MvMl
- .{ .tag = @enumFromInt(1849), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksge_Mvl
- .{ .tag = @enumFromInt(1850), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksgenan_MvMl
- .{ .tag = @enumFromInt(1851), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksgenan_Mvl
- .{ .tag = @enumFromInt(1852), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksgt_MvMl
- .{ .tag = @enumFromInt(1853), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksgt_Mvl
- .{ .tag = @enumFromInt(1854), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksgtnan_MvMl
- .{ .tag = @enumFromInt(1855), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksgtnan_Mvl
- .{ .tag = @enumFromInt(1856), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksle_MvMl
- .{ .tag = @enumFromInt(1857), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksle_Mvl
- .{ .tag = @enumFromInt(1858), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslenan_MvMl
- .{ .tag = @enumFromInt(1859), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslenan_Mvl
- .{ .tag = @enumFromInt(1860), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksloeq_mvl
- .{ .tag = @enumFromInt(1861), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksloeq_mvml
- .{ .tag = @enumFromInt(1862), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksloeqnan_mvl
- .{ .tag = @enumFromInt(1863), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksloeqnan_mvml
- .{ .tag = @enumFromInt(1864), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksloge_mvl
- .{ .tag = @enumFromInt(1865), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksloge_mvml
- .{ .tag = @enumFromInt(1866), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslogenan_mvl
- .{ .tag = @enumFromInt(1867), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslogenan_mvml
- .{ .tag = @enumFromInt(1868), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslogt_mvl
- .{ .tag = @enumFromInt(1869), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslogt_mvml
- .{ .tag = @enumFromInt(1870), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslogtnan_mvl
- .{ .tag = @enumFromInt(1871), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslogtnan_mvml
- .{ .tag = @enumFromInt(1872), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslole_mvl
- .{ .tag = @enumFromInt(1873), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslole_mvml
- .{ .tag = @enumFromInt(1874), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslolenan_mvl
- .{ .tag = @enumFromInt(1875), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslolenan_mvml
- .{ .tag = @enumFromInt(1876), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslolt_mvl
- .{ .tag = @enumFromInt(1877), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslolt_mvml
- .{ .tag = @enumFromInt(1878), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksloltnan_mvl
- .{ .tag = @enumFromInt(1879), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksloltnan_mvml
- .{ .tag = @enumFromInt(1880), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslonan_mvl
- .{ .tag = @enumFromInt(1881), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslonan_mvml
- .{ .tag = @enumFromInt(1882), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslone_mvl
- .{ .tag = @enumFromInt(1883), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslone_mvml
- .{ .tag = @enumFromInt(1884), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslonenan_mvl
- .{ .tag = @enumFromInt(1885), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslonenan_mvml
- .{ .tag = @enumFromInt(1886), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslonum_mvl
- .{ .tag = @enumFromInt(1887), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslonum_mvml
- .{ .tag = @enumFromInt(1888), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslt_MvMl
- .{ .tag = @enumFromInt(1889), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkslt_Mvl
- .{ .tag = @enumFromInt(1890), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksltnan_MvMl
- .{ .tag = @enumFromInt(1891), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksltnan_Mvl
- .{ .tag = @enumFromInt(1892), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksnan_MvMl
- .{ .tag = @enumFromInt(1893), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksnan_Mvl
- .{ .tag = @enumFromInt(1894), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksne_MvMl
- .{ .tag = @enumFromInt(1895), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksne_Mvl
- .{ .tag = @enumFromInt(1896), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksnenan_MvMl
- .{ .tag = @enumFromInt(1897), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksnenan_Mvl
- .{ .tag = @enumFromInt(1898), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksnum_MvMl
- .{ .tag = @enumFromInt(1899), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksnum_Mvl
- .{ .tag = @enumFromInt(1900), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupeq_mvl
- .{ .tag = @enumFromInt(1901), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupeq_mvml
- .{ .tag = @enumFromInt(1902), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupeqnan_mvl
- .{ .tag = @enumFromInt(1903), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupeqnan_mvml
- .{ .tag = @enumFromInt(1904), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupge_mvl
- .{ .tag = @enumFromInt(1905), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupge_mvml
- .{ .tag = @enumFromInt(1906), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupgenan_mvl
- .{ .tag = @enumFromInt(1907), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupgenan_mvml
- .{ .tag = @enumFromInt(1908), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupgt_mvl
- .{ .tag = @enumFromInt(1909), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupgt_mvml
- .{ .tag = @enumFromInt(1910), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupgtnan_mvl
- .{ .tag = @enumFromInt(1911), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupgtnan_mvml
- .{ .tag = @enumFromInt(1912), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksuple_mvl
- .{ .tag = @enumFromInt(1913), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksuple_mvml
- .{ .tag = @enumFromInt(1914), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksuplenan_mvl
- .{ .tag = @enumFromInt(1915), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksuplenan_mvml
- .{ .tag = @enumFromInt(1916), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksuplt_mvl
- .{ .tag = @enumFromInt(1917), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksuplt_mvml
- .{ .tag = @enumFromInt(1918), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupltnan_mvl
- .{ .tag = @enumFromInt(1919), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupltnan_mvml
- .{ .tag = @enumFromInt(1920), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupnan_mvl
- .{ .tag = @enumFromInt(1921), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupnan_mvml
- .{ .tag = @enumFromInt(1922), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupne_mvl
- .{ .tag = @enumFromInt(1923), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupne_mvml
- .{ .tag = @enumFromInt(1924), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupnenan_mvl
- .{ .tag = @enumFromInt(1925), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupnenan_mvml
- .{ .tag = @enumFromInt(1926), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupnum_mvl
- .{ .tag = @enumFromInt(1927), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmksupnum_mvml
- .{ .tag = @enumFromInt(1928), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkweq_MvMl
- .{ .tag = @enumFromInt(1929), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkweq_Mvl
- .{ .tag = @enumFromInt(1930), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkweqnan_MvMl
- .{ .tag = @enumFromInt(1931), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkweqnan_Mvl
- .{ .tag = @enumFromInt(1932), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwge_MvMl
- .{ .tag = @enumFromInt(1933), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwge_Mvl
- .{ .tag = @enumFromInt(1934), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwgenan_MvMl
- .{ .tag = @enumFromInt(1935), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwgenan_Mvl
- .{ .tag = @enumFromInt(1936), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwgt_MvMl
- .{ .tag = @enumFromInt(1937), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwgt_Mvl
- .{ .tag = @enumFromInt(1938), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwgtnan_MvMl
- .{ .tag = @enumFromInt(1939), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwgtnan_Mvl
- .{ .tag = @enumFromInt(1940), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwle_MvMl
- .{ .tag = @enumFromInt(1941), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwle_Mvl
- .{ .tag = @enumFromInt(1942), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlenan_MvMl
- .{ .tag = @enumFromInt(1943), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlenan_Mvl
- .{ .tag = @enumFromInt(1944), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwloeq_mvl
- .{ .tag = @enumFromInt(1945), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwloeq_mvml
- .{ .tag = @enumFromInt(1946), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwloeqnan_mvl
- .{ .tag = @enumFromInt(1947), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwloeqnan_mvml
- .{ .tag = @enumFromInt(1948), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwloge_mvl
- .{ .tag = @enumFromInt(1949), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwloge_mvml
- .{ .tag = @enumFromInt(1950), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlogenan_mvl
- .{ .tag = @enumFromInt(1951), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlogenan_mvml
- .{ .tag = @enumFromInt(1952), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlogt_mvl
- .{ .tag = @enumFromInt(1953), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlogt_mvml
- .{ .tag = @enumFromInt(1954), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlogtnan_mvl
- .{ .tag = @enumFromInt(1955), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlogtnan_mvml
- .{ .tag = @enumFromInt(1956), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlole_mvl
- .{ .tag = @enumFromInt(1957), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlole_mvml
- .{ .tag = @enumFromInt(1958), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlolenan_mvl
- .{ .tag = @enumFromInt(1959), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlolenan_mvml
- .{ .tag = @enumFromInt(1960), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlolt_mvl
- .{ .tag = @enumFromInt(1961), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlolt_mvml
- .{ .tag = @enumFromInt(1962), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwloltnan_mvl
- .{ .tag = @enumFromInt(1963), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwloltnan_mvml
- .{ .tag = @enumFromInt(1964), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlonan_mvl
- .{ .tag = @enumFromInt(1965), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlonan_mvml
- .{ .tag = @enumFromInt(1966), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlone_mvl
- .{ .tag = @enumFromInt(1967), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlone_mvml
- .{ .tag = @enumFromInt(1968), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlonenan_mvl
- .{ .tag = @enumFromInt(1969), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlonenan_mvml
- .{ .tag = @enumFromInt(1970), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlonum_mvl
- .{ .tag = @enumFromInt(1971), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlonum_mvml
- .{ .tag = @enumFromInt(1972), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlt_MvMl
- .{ .tag = @enumFromInt(1973), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwlt_Mvl
- .{ .tag = @enumFromInt(1974), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwltnan_MvMl
- .{ .tag = @enumFromInt(1975), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwltnan_Mvl
- .{ .tag = @enumFromInt(1976), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwnan_MvMl
- .{ .tag = @enumFromInt(1977), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwnan_Mvl
- .{ .tag = @enumFromInt(1978), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwne_MvMl
- .{ .tag = @enumFromInt(1979), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwne_Mvl
- .{ .tag = @enumFromInt(1980), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwnenan_MvMl
- .{ .tag = @enumFromInt(1981), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwnenan_Mvl
- .{ .tag = @enumFromInt(1982), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwnum_MvMl
- .{ .tag = @enumFromInt(1983), .param_str = "V512bV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwnum_Mvl
- .{ .tag = @enumFromInt(1984), .param_str = "V512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupeq_mvl
- .{ .tag = @enumFromInt(1985), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupeq_mvml
- .{ .tag = @enumFromInt(1986), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupeqnan_mvl
- .{ .tag = @enumFromInt(1987), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupeqnan_mvml
- .{ .tag = @enumFromInt(1988), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupge_mvl
- .{ .tag = @enumFromInt(1989), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupge_mvml
- .{ .tag = @enumFromInt(1990), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupgenan_mvl
- .{ .tag = @enumFromInt(1991), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupgenan_mvml
- .{ .tag = @enumFromInt(1992), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupgt_mvl
- .{ .tag = @enumFromInt(1993), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupgt_mvml
- .{ .tag = @enumFromInt(1994), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupgtnan_mvl
- .{ .tag = @enumFromInt(1995), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupgtnan_mvml
- .{ .tag = @enumFromInt(1996), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwuple_mvl
- .{ .tag = @enumFromInt(1997), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwuple_mvml
- .{ .tag = @enumFromInt(1998), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwuplenan_mvl
- .{ .tag = @enumFromInt(1999), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwuplenan_mvml
- .{ .tag = @enumFromInt(2000), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwuplt_mvl
- .{ .tag = @enumFromInt(2001), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwuplt_mvml
- .{ .tag = @enumFromInt(2002), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupltnan_mvl
- .{ .tag = @enumFromInt(2003), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupltnan_mvml
- .{ .tag = @enumFromInt(2004), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupnan_mvl
- .{ .tag = @enumFromInt(2005), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupnan_mvml
- .{ .tag = @enumFromInt(2006), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupne_mvl
- .{ .tag = @enumFromInt(2007), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupne_mvml
- .{ .tag = @enumFromInt(2008), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupnenan_mvl
- .{ .tag = @enumFromInt(2009), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupnenan_mvml
- .{ .tag = @enumFromInt(2010), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupnum_mvl
- .{ .tag = @enumFromInt(2011), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmkwupnum_mvml
- .{ .tag = @enumFromInt(2012), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmsb_vsvvMvl
- .{ .tag = @enumFromInt(2013), .param_str = "V256dLUiV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmsb_vsvvl
- .{ .tag = @enumFromInt(2014), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmsb_vsvvvl
- .{ .tag = @enumFromInt(2015), .param_str = "V256dLUiV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmsb_vvsvMvl
- .{ .tag = @enumFromInt(2016), .param_str = "V256dV256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmsb_vvsvl
- .{ .tag = @enumFromInt(2017), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmsb_vvsvvl
- .{ .tag = @enumFromInt(2018), .param_str = "V256dV256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmsb_vvvvMvl
- .{ .tag = @enumFromInt(2019), .param_str = "V256dV256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmsb_vvvvl
- .{ .tag = @enumFromInt(2020), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmsb_vvvvvl
- .{ .tag = @enumFromInt(2021), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmul_vsvMvl
- .{ .tag = @enumFromInt(2022), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmul_vsvl
- .{ .tag = @enumFromInt(2023), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmul_vsvvl
- .{ .tag = @enumFromInt(2024), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmul_vvvMvl
- .{ .tag = @enumFromInt(2025), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmul_vvvl
- .{ .tag = @enumFromInt(2026), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfmul_vvvvl
- .{ .tag = @enumFromInt(2027), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmad_vsvvMvl
- .{ .tag = @enumFromInt(2028), .param_str = "V256dLUiV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmad_vsvvl
- .{ .tag = @enumFromInt(2029), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmad_vsvvvl
- .{ .tag = @enumFromInt(2030), .param_str = "V256dLUiV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmad_vvsvMvl
- .{ .tag = @enumFromInt(2031), .param_str = "V256dV256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmad_vvsvl
- .{ .tag = @enumFromInt(2032), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmad_vvsvvl
- .{ .tag = @enumFromInt(2033), .param_str = "V256dV256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmad_vvvvMvl
- .{ .tag = @enumFromInt(2034), .param_str = "V256dV256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmad_vvvvl
- .{ .tag = @enumFromInt(2035), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmad_vvvvvl
- .{ .tag = @enumFromInt(2036), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmsb_vsvvMvl
- .{ .tag = @enumFromInt(2037), .param_str = "V256dLUiV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmsb_vsvvl
- .{ .tag = @enumFromInt(2038), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmsb_vsvvvl
- .{ .tag = @enumFromInt(2039), .param_str = "V256dLUiV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmsb_vvsvMvl
- .{ .tag = @enumFromInt(2040), .param_str = "V256dV256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmsb_vvsvl
- .{ .tag = @enumFromInt(2041), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmsb_vvsvvl
- .{ .tag = @enumFromInt(2042), .param_str = "V256dV256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmsb_vvvvMvl
- .{ .tag = @enumFromInt(2043), .param_str = "V256dV256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmsb_vvvvl
- .{ .tag = @enumFromInt(2044), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfnmsb_vvvvvl
- .{ .tag = @enumFromInt(2045), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfsub_vsvMvl
- .{ .tag = @enumFromInt(2046), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfsub_vsvl
- .{ .tag = @enumFromInt(2047), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfsub_vsvvl
- .{ .tag = @enumFromInt(2048), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfsub_vvvMvl
- .{ .tag = @enumFromInt(2049), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfsub_vvvl
- .{ .tag = @enumFromInt(2050), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvfsub_vvvvl
- .{ .tag = @enumFromInt(2051), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvldz_vvMvl
- .{ .tag = @enumFromInt(2052), .param_str = "V256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvldz_vvl
- .{ .tag = @enumFromInt(2053), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvldz_vvvl
- .{ .tag = @enumFromInt(2054), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvldzlo_vvl
- .{ .tag = @enumFromInt(2055), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvldzlo_vvmvl
- .{ .tag = @enumFromInt(2056), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvldzlo_vvvl
- .{ .tag = @enumFromInt(2057), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvldzup_vvl
- .{ .tag = @enumFromInt(2058), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvldzup_vvmvl
- .{ .tag = @enumFromInt(2059), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvldzup_vvvl
- .{ .tag = @enumFromInt(2060), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvmaxs_vsvMvl
- .{ .tag = @enumFromInt(2061), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvmaxs_vsvl
- .{ .tag = @enumFromInt(2062), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvmaxs_vsvvl
- .{ .tag = @enumFromInt(2063), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvmaxs_vvvMvl
- .{ .tag = @enumFromInt(2064), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvmaxs_vvvl
- .{ .tag = @enumFromInt(2065), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvmaxs_vvvvl
- .{ .tag = @enumFromInt(2066), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvmins_vsvMvl
- .{ .tag = @enumFromInt(2067), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvmins_vsvl
- .{ .tag = @enumFromInt(2068), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvmins_vsvvl
- .{ .tag = @enumFromInt(2069), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvmins_vvvMvl
- .{ .tag = @enumFromInt(2070), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvmins_vvvl
- .{ .tag = @enumFromInt(2071), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvmins_vvvvl
- .{ .tag = @enumFromInt(2072), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvor_vsvMvl
- .{ .tag = @enumFromInt(2073), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvor_vsvl
- .{ .tag = @enumFromInt(2074), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvor_vsvvl
- .{ .tag = @enumFromInt(2075), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvor_vvvMvl
- .{ .tag = @enumFromInt(2076), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvor_vvvl
- .{ .tag = @enumFromInt(2077), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvor_vvvvl
- .{ .tag = @enumFromInt(2078), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvpcnt_vvMvl
- .{ .tag = @enumFromInt(2079), .param_str = "V256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvpcnt_vvl
- .{ .tag = @enumFromInt(2080), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvpcnt_vvvl
- .{ .tag = @enumFromInt(2081), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvpcntlo_vvl
- .{ .tag = @enumFromInt(2082), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvpcntlo_vvmvl
- .{ .tag = @enumFromInt(2083), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvpcntlo_vvvl
- .{ .tag = @enumFromInt(2084), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvpcntup_vvl
- .{ .tag = @enumFromInt(2085), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvpcntup_vvmvl
- .{ .tag = @enumFromInt(2086), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvpcntup_vvvl
- .{ .tag = @enumFromInt(2087), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvrcp_vvl
- .{ .tag = @enumFromInt(2088), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvrcp_vvvl
- .{ .tag = @enumFromInt(2089), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvrsqrt_vvl
- .{ .tag = @enumFromInt(2090), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvrsqrt_vvvl
- .{ .tag = @enumFromInt(2091), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvrsqrtnex_vvl
- .{ .tag = @enumFromInt(2092), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvrsqrtnex_vvvl
- .{ .tag = @enumFromInt(2093), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvseq_vl
- .{ .tag = @enumFromInt(2094), .param_str = "V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvseq_vvl
- .{ .tag = @enumFromInt(2095), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvseqlo_vl
- .{ .tag = @enumFromInt(2096), .param_str = "V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvseqlo_vvl
- .{ .tag = @enumFromInt(2097), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsequp_vl
- .{ .tag = @enumFromInt(2098), .param_str = "V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsequp_vvl
- .{ .tag = @enumFromInt(2099), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsla_vvsMvl
- .{ .tag = @enumFromInt(2100), .param_str = "V256dV256dLUiV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsla_vvsl
- .{ .tag = @enumFromInt(2101), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsla_vvsvl
- .{ .tag = @enumFromInt(2102), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsla_vvvMvl
- .{ .tag = @enumFromInt(2103), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsla_vvvl
- .{ .tag = @enumFromInt(2104), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsla_vvvvl
- .{ .tag = @enumFromInt(2105), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsll_vvsMvl
- .{ .tag = @enumFromInt(2106), .param_str = "V256dV256dLUiV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsll_vvsl
- .{ .tag = @enumFromInt(2107), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsll_vvsvl
- .{ .tag = @enumFromInt(2108), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsll_vvvMvl
- .{ .tag = @enumFromInt(2109), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsll_vvvl
- .{ .tag = @enumFromInt(2110), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsll_vvvvl
- .{ .tag = @enumFromInt(2111), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsra_vvsMvl
- .{ .tag = @enumFromInt(2112), .param_str = "V256dV256dLUiV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsra_vvsl
- .{ .tag = @enumFromInt(2113), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsra_vvsvl
- .{ .tag = @enumFromInt(2114), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsra_vvvMvl
- .{ .tag = @enumFromInt(2115), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsra_vvvl
- .{ .tag = @enumFromInt(2116), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsra_vvvvl
- .{ .tag = @enumFromInt(2117), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsrl_vvsMvl
- .{ .tag = @enumFromInt(2118), .param_str = "V256dV256dLUiV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsrl_vvsl
- .{ .tag = @enumFromInt(2119), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsrl_vvsvl
- .{ .tag = @enumFromInt(2120), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsrl_vvvMvl
- .{ .tag = @enumFromInt(2121), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsrl_vvvl
- .{ .tag = @enumFromInt(2122), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsrl_vvvvl
- .{ .tag = @enumFromInt(2123), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsubs_vsvMvl
- .{ .tag = @enumFromInt(2124), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsubs_vsvl
- .{ .tag = @enumFromInt(2125), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsubs_vsvvl
- .{ .tag = @enumFromInt(2126), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsubs_vvvMvl
- .{ .tag = @enumFromInt(2127), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsubs_vvvl
- .{ .tag = @enumFromInt(2128), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsubs_vvvvl
- .{ .tag = @enumFromInt(2129), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsubu_vsvMvl
- .{ .tag = @enumFromInt(2130), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsubu_vsvl
- .{ .tag = @enumFromInt(2131), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsubu_vsvvl
- .{ .tag = @enumFromInt(2132), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsubu_vvvMvl
- .{ .tag = @enumFromInt(2133), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsubu_vvvl
- .{ .tag = @enumFromInt(2134), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvsubu_vvvvl
- .{ .tag = @enumFromInt(2135), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvxor_vsvMvl
- .{ .tag = @enumFromInt(2136), .param_str = "V256dLUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvxor_vsvl
- .{ .tag = @enumFromInt(2137), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvxor_vsvvl
- .{ .tag = @enumFromInt(2138), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvxor_vvvMvl
- .{ .tag = @enumFromInt(2139), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvxor_vvvl
- .{ .tag = @enumFromInt(2140), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_pvxor_vvvvl
- .{ .tag = @enumFromInt(2141), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_scr_sss
- .{ .tag = @enumFromInt(2142), .param_str = "vLUiLUiLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_svm_sMs
- .{ .tag = @enumFromInt(2143), .param_str = "LUiV512bLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_svm_sms
- .{ .tag = @enumFromInt(2144), .param_str = "LUiV256bLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_svob
- .{ .tag = @enumFromInt(2145), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_tovm_sml
- .{ .tag = @enumFromInt(2146), .param_str = "LUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_tscr_ssss
- .{ .tag = @enumFromInt(2147), .param_str = "LUiLUiLUiLUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddsl_vsvl
- .{ .tag = @enumFromInt(2148), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddsl_vsvmvl
- .{ .tag = @enumFromInt(2149), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddsl_vsvvl
- .{ .tag = @enumFromInt(2150), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddsl_vvvl
- .{ .tag = @enumFromInt(2151), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddsl_vvvmvl
- .{ .tag = @enumFromInt(2152), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddsl_vvvvl
- .{ .tag = @enumFromInt(2153), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddswsx_vsvl
- .{ .tag = @enumFromInt(2154), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddswsx_vsvmvl
- .{ .tag = @enumFromInt(2155), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddswsx_vsvvl
- .{ .tag = @enumFromInt(2156), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddswsx_vvvl
- .{ .tag = @enumFromInt(2157), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddswsx_vvvmvl
- .{ .tag = @enumFromInt(2158), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddswsx_vvvvl
- .{ .tag = @enumFromInt(2159), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddswzx_vsvl
- .{ .tag = @enumFromInt(2160), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddswzx_vsvmvl
- .{ .tag = @enumFromInt(2161), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddswzx_vsvvl
- .{ .tag = @enumFromInt(2162), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddswzx_vvvl
- .{ .tag = @enumFromInt(2163), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddswzx_vvvmvl
- .{ .tag = @enumFromInt(2164), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddswzx_vvvvl
- .{ .tag = @enumFromInt(2165), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddul_vsvl
- .{ .tag = @enumFromInt(2166), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddul_vsvmvl
- .{ .tag = @enumFromInt(2167), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddul_vsvvl
- .{ .tag = @enumFromInt(2168), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddul_vvvl
- .{ .tag = @enumFromInt(2169), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddul_vvvmvl
- .{ .tag = @enumFromInt(2170), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vaddul_vvvvl
- .{ .tag = @enumFromInt(2171), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vadduw_vsvl
- .{ .tag = @enumFromInt(2172), .param_str = "V256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vadduw_vsvmvl
- .{ .tag = @enumFromInt(2173), .param_str = "V256dUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vadduw_vsvvl
- .{ .tag = @enumFromInt(2174), .param_str = "V256dUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vadduw_vvvl
- .{ .tag = @enumFromInt(2175), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vadduw_vvvmvl
- .{ .tag = @enumFromInt(2176), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vadduw_vvvvl
- .{ .tag = @enumFromInt(2177), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vand_vsvl
- .{ .tag = @enumFromInt(2178), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vand_vsvmvl
- .{ .tag = @enumFromInt(2179), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vand_vsvvl
- .{ .tag = @enumFromInt(2180), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vand_vvvl
- .{ .tag = @enumFromInt(2181), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vand_vvvmvl
- .{ .tag = @enumFromInt(2182), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vand_vvvvl
- .{ .tag = @enumFromInt(2183), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrdd_vsl
- .{ .tag = @enumFromInt(2184), .param_str = "V256ddUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrdd_vsmvl
- .{ .tag = @enumFromInt(2185), .param_str = "V256ddV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrdd_vsvl
- .{ .tag = @enumFromInt(2186), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrdl_vsl
- .{ .tag = @enumFromInt(2187), .param_str = "V256dLiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrdl_vsmvl
- .{ .tag = @enumFromInt(2188), .param_str = "V256dLiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrdl_vsvl
- .{ .tag = @enumFromInt(2189), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrds_vsl
- .{ .tag = @enumFromInt(2190), .param_str = "V256dfUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrds_vsmvl
- .{ .tag = @enumFromInt(2191), .param_str = "V256dfV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrds_vsvl
- .{ .tag = @enumFromInt(2192), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrdw_vsl
- .{ .tag = @enumFromInt(2193), .param_str = "V256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrdw_vsmvl
- .{ .tag = @enumFromInt(2194), .param_str = "V256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrdw_vsvl
- .{ .tag = @enumFromInt(2195), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrv_vvl
- .{ .tag = @enumFromInt(2196), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrv_vvmvl
- .{ .tag = @enumFromInt(2197), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vbrv_vvvl
- .{ .tag = @enumFromInt(2198), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpsl_vsvl
- .{ .tag = @enumFromInt(2199), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpsl_vsvmvl
- .{ .tag = @enumFromInt(2200), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpsl_vsvvl
- .{ .tag = @enumFromInt(2201), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpsl_vvvl
- .{ .tag = @enumFromInt(2202), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpsl_vvvmvl
- .{ .tag = @enumFromInt(2203), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpsl_vvvvl
- .{ .tag = @enumFromInt(2204), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpswsx_vsvl
- .{ .tag = @enumFromInt(2205), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpswsx_vsvmvl
- .{ .tag = @enumFromInt(2206), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpswsx_vsvvl
- .{ .tag = @enumFromInt(2207), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpswsx_vvvl
- .{ .tag = @enumFromInt(2208), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpswsx_vvvmvl
- .{ .tag = @enumFromInt(2209), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpswsx_vvvvl
- .{ .tag = @enumFromInt(2210), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpswzx_vsvl
- .{ .tag = @enumFromInt(2211), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpswzx_vsvmvl
- .{ .tag = @enumFromInt(2212), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpswzx_vsvvl
- .{ .tag = @enumFromInt(2213), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpswzx_vvvl
- .{ .tag = @enumFromInt(2214), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpswzx_vvvmvl
- .{ .tag = @enumFromInt(2215), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpswzx_vvvvl
- .{ .tag = @enumFromInt(2216), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpul_vsvl
- .{ .tag = @enumFromInt(2217), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpul_vsvmvl
- .{ .tag = @enumFromInt(2218), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpul_vsvvl
- .{ .tag = @enumFromInt(2219), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpul_vvvl
- .{ .tag = @enumFromInt(2220), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpul_vvvmvl
- .{ .tag = @enumFromInt(2221), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpul_vvvvl
- .{ .tag = @enumFromInt(2222), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpuw_vsvl
- .{ .tag = @enumFromInt(2223), .param_str = "V256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpuw_vsvmvl
- .{ .tag = @enumFromInt(2224), .param_str = "V256dUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpuw_vsvvl
- .{ .tag = @enumFromInt(2225), .param_str = "V256dUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpuw_vvvl
- .{ .tag = @enumFromInt(2226), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpuw_vvvmvl
- .{ .tag = @enumFromInt(2227), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcmpuw_vvvvl
- .{ .tag = @enumFromInt(2228), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcp_vvmvl
- .{ .tag = @enumFromInt(2229), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtdl_vvl
- .{ .tag = @enumFromInt(2230), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtdl_vvvl
- .{ .tag = @enumFromInt(2231), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtds_vvl
- .{ .tag = @enumFromInt(2232), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtds_vvvl
- .{ .tag = @enumFromInt(2233), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtdw_vvl
- .{ .tag = @enumFromInt(2234), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtdw_vvvl
- .{ .tag = @enumFromInt(2235), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtld_vvl
- .{ .tag = @enumFromInt(2236), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtld_vvmvl
- .{ .tag = @enumFromInt(2237), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtld_vvvl
- .{ .tag = @enumFromInt(2238), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtldrz_vvl
- .{ .tag = @enumFromInt(2239), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtldrz_vvmvl
- .{ .tag = @enumFromInt(2240), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtldrz_vvvl
- .{ .tag = @enumFromInt(2241), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtsd_vvl
- .{ .tag = @enumFromInt(2242), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtsd_vvvl
- .{ .tag = @enumFromInt(2243), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtsw_vvl
- .{ .tag = @enumFromInt(2244), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtsw_vvvl
- .{ .tag = @enumFromInt(2245), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwdsx_vvl
- .{ .tag = @enumFromInt(2246), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwdsx_vvmvl
- .{ .tag = @enumFromInt(2247), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwdsx_vvvl
- .{ .tag = @enumFromInt(2248), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwdsxrz_vvl
- .{ .tag = @enumFromInt(2249), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwdsxrz_vvmvl
- .{ .tag = @enumFromInt(2250), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwdsxrz_vvvl
- .{ .tag = @enumFromInt(2251), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwdzx_vvl
- .{ .tag = @enumFromInt(2252), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwdzx_vvmvl
- .{ .tag = @enumFromInt(2253), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwdzx_vvvl
- .{ .tag = @enumFromInt(2254), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwdzxrz_vvl
- .{ .tag = @enumFromInt(2255), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwdzxrz_vvmvl
- .{ .tag = @enumFromInt(2256), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwdzxrz_vvvl
- .{ .tag = @enumFromInt(2257), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwssx_vvl
- .{ .tag = @enumFromInt(2258), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwssx_vvmvl
- .{ .tag = @enumFromInt(2259), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwssx_vvvl
- .{ .tag = @enumFromInt(2260), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwssxrz_vvl
- .{ .tag = @enumFromInt(2261), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwssxrz_vvmvl
- .{ .tag = @enumFromInt(2262), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwssxrz_vvvl
- .{ .tag = @enumFromInt(2263), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwszx_vvl
- .{ .tag = @enumFromInt(2264), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwszx_vvmvl
- .{ .tag = @enumFromInt(2265), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwszx_vvvl
- .{ .tag = @enumFromInt(2266), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwszxrz_vvl
- .{ .tag = @enumFromInt(2267), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwszxrz_vvmvl
- .{ .tag = @enumFromInt(2268), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vcvtwszxrz_vvvl
- .{ .tag = @enumFromInt(2269), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivsl_vsvl
- .{ .tag = @enumFromInt(2270), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivsl_vsvmvl
- .{ .tag = @enumFromInt(2271), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivsl_vsvvl
- .{ .tag = @enumFromInt(2272), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivsl_vvsl
- .{ .tag = @enumFromInt(2273), .param_str = "V256dV256dLiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivsl_vvsmvl
- .{ .tag = @enumFromInt(2274), .param_str = "V256dV256dLiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivsl_vvsvl
- .{ .tag = @enumFromInt(2275), .param_str = "V256dV256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivsl_vvvl
- .{ .tag = @enumFromInt(2276), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivsl_vvvmvl
- .{ .tag = @enumFromInt(2277), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivsl_vvvvl
- .{ .tag = @enumFromInt(2278), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswsx_vsvl
- .{ .tag = @enumFromInt(2279), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswsx_vsvmvl
- .{ .tag = @enumFromInt(2280), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswsx_vsvvl
- .{ .tag = @enumFromInt(2281), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswsx_vvsl
- .{ .tag = @enumFromInt(2282), .param_str = "V256dV256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswsx_vvsmvl
- .{ .tag = @enumFromInt(2283), .param_str = "V256dV256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswsx_vvsvl
- .{ .tag = @enumFromInt(2284), .param_str = "V256dV256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswsx_vvvl
- .{ .tag = @enumFromInt(2285), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswsx_vvvmvl
- .{ .tag = @enumFromInt(2286), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswsx_vvvvl
- .{ .tag = @enumFromInt(2287), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswzx_vsvl
- .{ .tag = @enumFromInt(2288), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswzx_vsvmvl
- .{ .tag = @enumFromInt(2289), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswzx_vsvvl
- .{ .tag = @enumFromInt(2290), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswzx_vvsl
- .{ .tag = @enumFromInt(2291), .param_str = "V256dV256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswzx_vvsmvl
- .{ .tag = @enumFromInt(2292), .param_str = "V256dV256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswzx_vvsvl
- .{ .tag = @enumFromInt(2293), .param_str = "V256dV256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswzx_vvvl
- .{ .tag = @enumFromInt(2294), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswzx_vvvmvl
- .{ .tag = @enumFromInt(2295), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivswzx_vvvvl
- .{ .tag = @enumFromInt(2296), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivul_vsvl
- .{ .tag = @enumFromInt(2297), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivul_vsvmvl
- .{ .tag = @enumFromInt(2298), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivul_vsvvl
- .{ .tag = @enumFromInt(2299), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivul_vvsl
- .{ .tag = @enumFromInt(2300), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivul_vvsmvl
- .{ .tag = @enumFromInt(2301), .param_str = "V256dV256dLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivul_vvsvl
- .{ .tag = @enumFromInt(2302), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivul_vvvl
- .{ .tag = @enumFromInt(2303), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivul_vvvmvl
- .{ .tag = @enumFromInt(2304), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivul_vvvvl
- .{ .tag = @enumFromInt(2305), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivuw_vsvl
- .{ .tag = @enumFromInt(2306), .param_str = "V256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivuw_vsvmvl
- .{ .tag = @enumFromInt(2307), .param_str = "V256dUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivuw_vsvvl
- .{ .tag = @enumFromInt(2308), .param_str = "V256dUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivuw_vvsl
- .{ .tag = @enumFromInt(2309), .param_str = "V256dV256dUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivuw_vvsmvl
- .{ .tag = @enumFromInt(2310), .param_str = "V256dV256dUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivuw_vvsvl
- .{ .tag = @enumFromInt(2311), .param_str = "V256dV256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivuw_vvvl
- .{ .tag = @enumFromInt(2312), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivuw_vvvmvl
- .{ .tag = @enumFromInt(2313), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vdivuw_vvvvl
- .{ .tag = @enumFromInt(2314), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_veqv_vsvl
- .{ .tag = @enumFromInt(2315), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_veqv_vsvmvl
- .{ .tag = @enumFromInt(2316), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_veqv_vsvvl
- .{ .tag = @enumFromInt(2317), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_veqv_vvvl
- .{ .tag = @enumFromInt(2318), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_veqv_vvvmvl
- .{ .tag = @enumFromInt(2319), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_veqv_vvvvl
- .{ .tag = @enumFromInt(2320), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vex_vvmvl
- .{ .tag = @enumFromInt(2321), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfaddd_vsvl
- .{ .tag = @enumFromInt(2322), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfaddd_vsvmvl
- .{ .tag = @enumFromInt(2323), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfaddd_vsvvl
- .{ .tag = @enumFromInt(2324), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfaddd_vvvl
- .{ .tag = @enumFromInt(2325), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfaddd_vvvmvl
- .{ .tag = @enumFromInt(2326), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfaddd_vvvvl
- .{ .tag = @enumFromInt(2327), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfadds_vsvl
- .{ .tag = @enumFromInt(2328), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfadds_vsvmvl
- .{ .tag = @enumFromInt(2329), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfadds_vsvvl
- .{ .tag = @enumFromInt(2330), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfadds_vvvl
- .{ .tag = @enumFromInt(2331), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfadds_vvvmvl
- .{ .tag = @enumFromInt(2332), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfadds_vvvvl
- .{ .tag = @enumFromInt(2333), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfcmpd_vsvl
- .{ .tag = @enumFromInt(2334), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfcmpd_vsvmvl
- .{ .tag = @enumFromInt(2335), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfcmpd_vsvvl
- .{ .tag = @enumFromInt(2336), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfcmpd_vvvl
- .{ .tag = @enumFromInt(2337), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfcmpd_vvvmvl
- .{ .tag = @enumFromInt(2338), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfcmpd_vvvvl
- .{ .tag = @enumFromInt(2339), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfcmps_vsvl
- .{ .tag = @enumFromInt(2340), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfcmps_vsvmvl
- .{ .tag = @enumFromInt(2341), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfcmps_vsvvl
- .{ .tag = @enumFromInt(2342), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfcmps_vvvl
- .{ .tag = @enumFromInt(2343), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfcmps_vvvmvl
- .{ .tag = @enumFromInt(2344), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfcmps_vvvvl
- .{ .tag = @enumFromInt(2345), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfdivd_vsvl
- .{ .tag = @enumFromInt(2346), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfdivd_vsvmvl
- .{ .tag = @enumFromInt(2347), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfdivd_vsvvl
- .{ .tag = @enumFromInt(2348), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfdivd_vvvl
- .{ .tag = @enumFromInt(2349), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfdivd_vvvmvl
- .{ .tag = @enumFromInt(2350), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfdivd_vvvvl
- .{ .tag = @enumFromInt(2351), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfdivs_vsvl
- .{ .tag = @enumFromInt(2352), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfdivs_vsvmvl
- .{ .tag = @enumFromInt(2353), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfdivs_vsvvl
- .{ .tag = @enumFromInt(2354), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfdivs_vvvl
- .{ .tag = @enumFromInt(2355), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfdivs_vvvmvl
- .{ .tag = @enumFromInt(2356), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfdivs_vvvvl
- .{ .tag = @enumFromInt(2357), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmadd_vsvvl
- .{ .tag = @enumFromInt(2358), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmadd_vsvvmvl
- .{ .tag = @enumFromInt(2359), .param_str = "V256ddV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmadd_vsvvvl
- .{ .tag = @enumFromInt(2360), .param_str = "V256ddV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmadd_vvsvl
- .{ .tag = @enumFromInt(2361), .param_str = "V256dV256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmadd_vvsvmvl
- .{ .tag = @enumFromInt(2362), .param_str = "V256dV256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmadd_vvsvvl
- .{ .tag = @enumFromInt(2363), .param_str = "V256dV256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmadd_vvvvl
- .{ .tag = @enumFromInt(2364), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmadd_vvvvmvl
- .{ .tag = @enumFromInt(2365), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmadd_vvvvvl
- .{ .tag = @enumFromInt(2366), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmads_vsvvl
- .{ .tag = @enumFromInt(2367), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmads_vsvvmvl
- .{ .tag = @enumFromInt(2368), .param_str = "V256dfV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmads_vsvvvl
- .{ .tag = @enumFromInt(2369), .param_str = "V256dfV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmads_vvsvl
- .{ .tag = @enumFromInt(2370), .param_str = "V256dV256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmads_vvsvmvl
- .{ .tag = @enumFromInt(2371), .param_str = "V256dV256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmads_vvsvvl
- .{ .tag = @enumFromInt(2372), .param_str = "V256dV256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmads_vvvvl
- .{ .tag = @enumFromInt(2373), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmads_vvvvmvl
- .{ .tag = @enumFromInt(2374), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmads_vvvvvl
- .{ .tag = @enumFromInt(2375), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmaxd_vsvl
- .{ .tag = @enumFromInt(2376), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmaxd_vsvmvl
- .{ .tag = @enumFromInt(2377), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmaxd_vsvvl
- .{ .tag = @enumFromInt(2378), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmaxd_vvvl
- .{ .tag = @enumFromInt(2379), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmaxd_vvvmvl
- .{ .tag = @enumFromInt(2380), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmaxd_vvvvl
- .{ .tag = @enumFromInt(2381), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmaxs_vsvl
- .{ .tag = @enumFromInt(2382), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmaxs_vsvmvl
- .{ .tag = @enumFromInt(2383), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmaxs_vsvvl
- .{ .tag = @enumFromInt(2384), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmaxs_vvvl
- .{ .tag = @enumFromInt(2385), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmaxs_vvvmvl
- .{ .tag = @enumFromInt(2386), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmaxs_vvvvl
- .{ .tag = @enumFromInt(2387), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmind_vsvl
- .{ .tag = @enumFromInt(2388), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmind_vsvmvl
- .{ .tag = @enumFromInt(2389), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmind_vsvvl
- .{ .tag = @enumFromInt(2390), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmind_vvvl
- .{ .tag = @enumFromInt(2391), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmind_vvvmvl
- .{ .tag = @enumFromInt(2392), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmind_vvvvl
- .{ .tag = @enumFromInt(2393), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmins_vsvl
- .{ .tag = @enumFromInt(2394), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmins_vsvmvl
- .{ .tag = @enumFromInt(2395), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmins_vsvvl
- .{ .tag = @enumFromInt(2396), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmins_vvvl
- .{ .tag = @enumFromInt(2397), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmins_vvvmvl
- .{ .tag = @enumFromInt(2398), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmins_vvvvl
- .{ .tag = @enumFromInt(2399), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdeq_mvl
- .{ .tag = @enumFromInt(2400), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdeq_mvml
- .{ .tag = @enumFromInt(2401), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdeqnan_mvl
- .{ .tag = @enumFromInt(2402), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdeqnan_mvml
- .{ .tag = @enumFromInt(2403), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdge_mvl
- .{ .tag = @enumFromInt(2404), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdge_mvml
- .{ .tag = @enumFromInt(2405), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdgenan_mvl
- .{ .tag = @enumFromInt(2406), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdgenan_mvml
- .{ .tag = @enumFromInt(2407), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdgt_mvl
- .{ .tag = @enumFromInt(2408), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdgt_mvml
- .{ .tag = @enumFromInt(2409), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdgtnan_mvl
- .{ .tag = @enumFromInt(2410), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdgtnan_mvml
- .{ .tag = @enumFromInt(2411), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdle_mvl
- .{ .tag = @enumFromInt(2412), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdle_mvml
- .{ .tag = @enumFromInt(2413), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdlenan_mvl
- .{ .tag = @enumFromInt(2414), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdlenan_mvml
- .{ .tag = @enumFromInt(2415), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdlt_mvl
- .{ .tag = @enumFromInt(2416), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdlt_mvml
- .{ .tag = @enumFromInt(2417), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdltnan_mvl
- .{ .tag = @enumFromInt(2418), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdltnan_mvml
- .{ .tag = @enumFromInt(2419), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdnan_mvl
- .{ .tag = @enumFromInt(2420), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdnan_mvml
- .{ .tag = @enumFromInt(2421), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdne_mvl
- .{ .tag = @enumFromInt(2422), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdne_mvml
- .{ .tag = @enumFromInt(2423), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdnenan_mvl
- .{ .tag = @enumFromInt(2424), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdnenan_mvml
- .{ .tag = @enumFromInt(2425), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdnum_mvl
- .{ .tag = @enumFromInt(2426), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkdnum_mvml
- .{ .tag = @enumFromInt(2427), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklaf_ml
- .{ .tag = @enumFromInt(2428), .param_str = "V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklat_ml
- .{ .tag = @enumFromInt(2429), .param_str = "V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkleq_mvl
- .{ .tag = @enumFromInt(2430), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkleq_mvml
- .{ .tag = @enumFromInt(2431), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkleqnan_mvl
- .{ .tag = @enumFromInt(2432), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkleqnan_mvml
- .{ .tag = @enumFromInt(2433), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklge_mvl
- .{ .tag = @enumFromInt(2434), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklge_mvml
- .{ .tag = @enumFromInt(2435), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklgenan_mvl
- .{ .tag = @enumFromInt(2436), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklgenan_mvml
- .{ .tag = @enumFromInt(2437), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklgt_mvl
- .{ .tag = @enumFromInt(2438), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklgt_mvml
- .{ .tag = @enumFromInt(2439), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklgtnan_mvl
- .{ .tag = @enumFromInt(2440), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklgtnan_mvml
- .{ .tag = @enumFromInt(2441), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklle_mvl
- .{ .tag = @enumFromInt(2442), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklle_mvml
- .{ .tag = @enumFromInt(2443), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkllenan_mvl
- .{ .tag = @enumFromInt(2444), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkllenan_mvml
- .{ .tag = @enumFromInt(2445), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkllt_mvl
- .{ .tag = @enumFromInt(2446), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkllt_mvml
- .{ .tag = @enumFromInt(2447), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklltnan_mvl
- .{ .tag = @enumFromInt(2448), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklltnan_mvml
- .{ .tag = @enumFromInt(2449), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklnan_mvl
- .{ .tag = @enumFromInt(2450), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklnan_mvml
- .{ .tag = @enumFromInt(2451), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklne_mvl
- .{ .tag = @enumFromInt(2452), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklne_mvml
- .{ .tag = @enumFromInt(2453), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklnenan_mvl
- .{ .tag = @enumFromInt(2454), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklnenan_mvml
- .{ .tag = @enumFromInt(2455), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklnum_mvl
- .{ .tag = @enumFromInt(2456), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmklnum_mvml
- .{ .tag = @enumFromInt(2457), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkseq_mvl
- .{ .tag = @enumFromInt(2458), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkseq_mvml
- .{ .tag = @enumFromInt(2459), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkseqnan_mvl
- .{ .tag = @enumFromInt(2460), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkseqnan_mvml
- .{ .tag = @enumFromInt(2461), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksge_mvl
- .{ .tag = @enumFromInt(2462), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksge_mvml
- .{ .tag = @enumFromInt(2463), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksgenan_mvl
- .{ .tag = @enumFromInt(2464), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksgenan_mvml
- .{ .tag = @enumFromInt(2465), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksgt_mvl
- .{ .tag = @enumFromInt(2466), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksgt_mvml
- .{ .tag = @enumFromInt(2467), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksgtnan_mvl
- .{ .tag = @enumFromInt(2468), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksgtnan_mvml
- .{ .tag = @enumFromInt(2469), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksle_mvl
- .{ .tag = @enumFromInt(2470), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksle_mvml
- .{ .tag = @enumFromInt(2471), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkslenan_mvl
- .{ .tag = @enumFromInt(2472), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkslenan_mvml
- .{ .tag = @enumFromInt(2473), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkslt_mvl
- .{ .tag = @enumFromInt(2474), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkslt_mvml
- .{ .tag = @enumFromInt(2475), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksltnan_mvl
- .{ .tag = @enumFromInt(2476), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksltnan_mvml
- .{ .tag = @enumFromInt(2477), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksnan_mvl
- .{ .tag = @enumFromInt(2478), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksnan_mvml
- .{ .tag = @enumFromInt(2479), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksne_mvl
- .{ .tag = @enumFromInt(2480), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksne_mvml
- .{ .tag = @enumFromInt(2481), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksnenan_mvl
- .{ .tag = @enumFromInt(2482), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksnenan_mvml
- .{ .tag = @enumFromInt(2483), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksnum_mvl
- .{ .tag = @enumFromInt(2484), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmksnum_mvml
- .{ .tag = @enumFromInt(2485), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkweq_mvl
- .{ .tag = @enumFromInt(2486), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkweq_mvml
- .{ .tag = @enumFromInt(2487), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkweqnan_mvl
- .{ .tag = @enumFromInt(2488), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkweqnan_mvml
- .{ .tag = @enumFromInt(2489), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwge_mvl
- .{ .tag = @enumFromInt(2490), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwge_mvml
- .{ .tag = @enumFromInt(2491), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwgenan_mvl
- .{ .tag = @enumFromInt(2492), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwgenan_mvml
- .{ .tag = @enumFromInt(2493), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwgt_mvl
- .{ .tag = @enumFromInt(2494), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwgt_mvml
- .{ .tag = @enumFromInt(2495), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwgtnan_mvl
- .{ .tag = @enumFromInt(2496), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwgtnan_mvml
- .{ .tag = @enumFromInt(2497), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwle_mvl
- .{ .tag = @enumFromInt(2498), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwle_mvml
- .{ .tag = @enumFromInt(2499), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwlenan_mvl
- .{ .tag = @enumFromInt(2500), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwlenan_mvml
- .{ .tag = @enumFromInt(2501), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwlt_mvl
- .{ .tag = @enumFromInt(2502), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwlt_mvml
- .{ .tag = @enumFromInt(2503), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwltnan_mvl
- .{ .tag = @enumFromInt(2504), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwltnan_mvml
- .{ .tag = @enumFromInt(2505), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwnan_mvl
- .{ .tag = @enumFromInt(2506), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwnan_mvml
- .{ .tag = @enumFromInt(2507), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwne_mvl
- .{ .tag = @enumFromInt(2508), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwne_mvml
- .{ .tag = @enumFromInt(2509), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwnenan_mvl
- .{ .tag = @enumFromInt(2510), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwnenan_mvml
- .{ .tag = @enumFromInt(2511), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwnum_mvl
- .{ .tag = @enumFromInt(2512), .param_str = "V256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmkwnum_mvml
- .{ .tag = @enumFromInt(2513), .param_str = "V256bV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbd_vsvvl
- .{ .tag = @enumFromInt(2514), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbd_vsvvmvl
- .{ .tag = @enumFromInt(2515), .param_str = "V256ddV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbd_vsvvvl
- .{ .tag = @enumFromInt(2516), .param_str = "V256ddV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbd_vvsvl
- .{ .tag = @enumFromInt(2517), .param_str = "V256dV256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbd_vvsvmvl
- .{ .tag = @enumFromInt(2518), .param_str = "V256dV256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbd_vvsvvl
- .{ .tag = @enumFromInt(2519), .param_str = "V256dV256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbd_vvvvl
- .{ .tag = @enumFromInt(2520), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbd_vvvvmvl
- .{ .tag = @enumFromInt(2521), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbd_vvvvvl
- .{ .tag = @enumFromInt(2522), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbs_vsvvl
- .{ .tag = @enumFromInt(2523), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbs_vsvvmvl
- .{ .tag = @enumFromInt(2524), .param_str = "V256dfV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbs_vsvvvl
- .{ .tag = @enumFromInt(2525), .param_str = "V256dfV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbs_vvsvl
- .{ .tag = @enumFromInt(2526), .param_str = "V256dV256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbs_vvsvmvl
- .{ .tag = @enumFromInt(2527), .param_str = "V256dV256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbs_vvsvvl
- .{ .tag = @enumFromInt(2528), .param_str = "V256dV256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbs_vvvvl
- .{ .tag = @enumFromInt(2529), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbs_vvvvmvl
- .{ .tag = @enumFromInt(2530), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmsbs_vvvvvl
- .{ .tag = @enumFromInt(2531), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmuld_vsvl
- .{ .tag = @enumFromInt(2532), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmuld_vsvmvl
- .{ .tag = @enumFromInt(2533), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmuld_vsvvl
- .{ .tag = @enumFromInt(2534), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmuld_vvvl
- .{ .tag = @enumFromInt(2535), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmuld_vvvmvl
- .{ .tag = @enumFromInt(2536), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmuld_vvvvl
- .{ .tag = @enumFromInt(2537), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmuls_vsvl
- .{ .tag = @enumFromInt(2538), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmuls_vsvmvl
- .{ .tag = @enumFromInt(2539), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmuls_vsvvl
- .{ .tag = @enumFromInt(2540), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmuls_vvvl
- .{ .tag = @enumFromInt(2541), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmuls_vvvmvl
- .{ .tag = @enumFromInt(2542), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfmuls_vvvvl
- .{ .tag = @enumFromInt(2543), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmadd_vsvvl
- .{ .tag = @enumFromInt(2544), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmadd_vsvvmvl
- .{ .tag = @enumFromInt(2545), .param_str = "V256ddV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmadd_vsvvvl
- .{ .tag = @enumFromInt(2546), .param_str = "V256ddV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmadd_vvsvl
- .{ .tag = @enumFromInt(2547), .param_str = "V256dV256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmadd_vvsvmvl
- .{ .tag = @enumFromInt(2548), .param_str = "V256dV256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmadd_vvsvvl
- .{ .tag = @enumFromInt(2549), .param_str = "V256dV256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmadd_vvvvl
- .{ .tag = @enumFromInt(2550), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmadd_vvvvmvl
- .{ .tag = @enumFromInt(2551), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmadd_vvvvvl
- .{ .tag = @enumFromInt(2552), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmads_vsvvl
- .{ .tag = @enumFromInt(2553), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmads_vsvvmvl
- .{ .tag = @enumFromInt(2554), .param_str = "V256dfV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmads_vsvvvl
- .{ .tag = @enumFromInt(2555), .param_str = "V256dfV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmads_vvsvl
- .{ .tag = @enumFromInt(2556), .param_str = "V256dV256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmads_vvsvmvl
- .{ .tag = @enumFromInt(2557), .param_str = "V256dV256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmads_vvsvvl
- .{ .tag = @enumFromInt(2558), .param_str = "V256dV256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmads_vvvvl
- .{ .tag = @enumFromInt(2559), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmads_vvvvmvl
- .{ .tag = @enumFromInt(2560), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmads_vvvvvl
- .{ .tag = @enumFromInt(2561), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbd_vsvvl
- .{ .tag = @enumFromInt(2562), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbd_vsvvmvl
- .{ .tag = @enumFromInt(2563), .param_str = "V256ddV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbd_vsvvvl
- .{ .tag = @enumFromInt(2564), .param_str = "V256ddV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbd_vvsvl
- .{ .tag = @enumFromInt(2565), .param_str = "V256dV256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbd_vvsvmvl
- .{ .tag = @enumFromInt(2566), .param_str = "V256dV256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbd_vvsvvl
- .{ .tag = @enumFromInt(2567), .param_str = "V256dV256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbd_vvvvl
- .{ .tag = @enumFromInt(2568), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbd_vvvvmvl
- .{ .tag = @enumFromInt(2569), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbd_vvvvvl
- .{ .tag = @enumFromInt(2570), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbs_vsvvl
- .{ .tag = @enumFromInt(2571), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbs_vsvvmvl
- .{ .tag = @enumFromInt(2572), .param_str = "V256dfV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbs_vsvvvl
- .{ .tag = @enumFromInt(2573), .param_str = "V256dfV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbs_vvsvl
- .{ .tag = @enumFromInt(2574), .param_str = "V256dV256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbs_vvsvmvl
- .{ .tag = @enumFromInt(2575), .param_str = "V256dV256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbs_vvsvvl
- .{ .tag = @enumFromInt(2576), .param_str = "V256dV256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbs_vvvvl
- .{ .tag = @enumFromInt(2577), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbs_vvvvmvl
- .{ .tag = @enumFromInt(2578), .param_str = "V256dV256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfnmsbs_vvvvvl
- .{ .tag = @enumFromInt(2579), .param_str = "V256dV256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrmaxdfst_vvl
- .{ .tag = @enumFromInt(2580), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrmaxdfst_vvvl
- .{ .tag = @enumFromInt(2581), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrmaxdlst_vvl
- .{ .tag = @enumFromInt(2582), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrmaxdlst_vvvl
- .{ .tag = @enumFromInt(2583), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrmaxsfst_vvl
- .{ .tag = @enumFromInt(2584), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrmaxsfst_vvvl
- .{ .tag = @enumFromInt(2585), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrmaxslst_vvl
- .{ .tag = @enumFromInt(2586), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrmaxslst_vvvl
- .{ .tag = @enumFromInt(2587), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrmindfst_vvl
- .{ .tag = @enumFromInt(2588), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrmindfst_vvvl
- .{ .tag = @enumFromInt(2589), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrmindlst_vvl
- .{ .tag = @enumFromInt(2590), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrmindlst_vvvl
- .{ .tag = @enumFromInt(2591), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrminsfst_vvl
- .{ .tag = @enumFromInt(2592), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrminsfst_vvvl
- .{ .tag = @enumFromInt(2593), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrminslst_vvl
- .{ .tag = @enumFromInt(2594), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfrminslst_vvvl
- .{ .tag = @enumFromInt(2595), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsqrtd_vvl
- .{ .tag = @enumFromInt(2596), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsqrtd_vvvl
- .{ .tag = @enumFromInt(2597), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsqrts_vvl
- .{ .tag = @enumFromInt(2598), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsqrts_vvvl
- .{ .tag = @enumFromInt(2599), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsubd_vsvl
- .{ .tag = @enumFromInt(2600), .param_str = "V256ddV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsubd_vsvmvl
- .{ .tag = @enumFromInt(2601), .param_str = "V256ddV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsubd_vsvvl
- .{ .tag = @enumFromInt(2602), .param_str = "V256ddV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsubd_vvvl
- .{ .tag = @enumFromInt(2603), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsubd_vvvmvl
- .{ .tag = @enumFromInt(2604), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsubd_vvvvl
- .{ .tag = @enumFromInt(2605), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsubs_vsvl
- .{ .tag = @enumFromInt(2606), .param_str = "V256dfV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsubs_vsvmvl
- .{ .tag = @enumFromInt(2607), .param_str = "V256dfV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsubs_vsvvl
- .{ .tag = @enumFromInt(2608), .param_str = "V256dfV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsubs_vvvl
- .{ .tag = @enumFromInt(2609), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsubs_vvvmvl
- .{ .tag = @enumFromInt(2610), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsubs_vvvvl
- .{ .tag = @enumFromInt(2611), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsumd_vvl
- .{ .tag = @enumFromInt(2612), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsumd_vvml
- .{ .tag = @enumFromInt(2613), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsums_vvl
- .{ .tag = @enumFromInt(2614), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vfsums_vvml
- .{ .tag = @enumFromInt(2615), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgt_vvssl
- .{ .tag = @enumFromInt(2616), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgt_vvssml
- .{ .tag = @enumFromInt(2617), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgt_vvssmvl
- .{ .tag = @enumFromInt(2618), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgt_vvssvl
- .{ .tag = @enumFromInt(2619), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlsx_vvssl
- .{ .tag = @enumFromInt(2620), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlsx_vvssml
- .{ .tag = @enumFromInt(2621), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlsx_vvssmvl
- .{ .tag = @enumFromInt(2622), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlsx_vvssvl
- .{ .tag = @enumFromInt(2623), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlsxnc_vvssl
- .{ .tag = @enumFromInt(2624), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlsxnc_vvssml
- .{ .tag = @enumFromInt(2625), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlsxnc_vvssmvl
- .{ .tag = @enumFromInt(2626), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlsxnc_vvssvl
- .{ .tag = @enumFromInt(2627), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlzx_vvssl
- .{ .tag = @enumFromInt(2628), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlzx_vvssml
- .{ .tag = @enumFromInt(2629), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlzx_vvssmvl
- .{ .tag = @enumFromInt(2630), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlzx_vvssvl
- .{ .tag = @enumFromInt(2631), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlzxnc_vvssl
- .{ .tag = @enumFromInt(2632), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlzxnc_vvssml
- .{ .tag = @enumFromInt(2633), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlzxnc_vvssmvl
- .{ .tag = @enumFromInt(2634), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtlzxnc_vvssvl
- .{ .tag = @enumFromInt(2635), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtnc_vvssl
- .{ .tag = @enumFromInt(2636), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtnc_vvssml
- .{ .tag = @enumFromInt(2637), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtnc_vvssmvl
- .{ .tag = @enumFromInt(2638), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtnc_vvssvl
- .{ .tag = @enumFromInt(2639), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtu_vvssl
- .{ .tag = @enumFromInt(2640), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtu_vvssml
- .{ .tag = @enumFromInt(2641), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtu_vvssmvl
- .{ .tag = @enumFromInt(2642), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtu_vvssvl
- .{ .tag = @enumFromInt(2643), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtunc_vvssl
- .{ .tag = @enumFromInt(2644), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtunc_vvssml
- .{ .tag = @enumFromInt(2645), .param_str = "V256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtunc_vvssmvl
- .{ .tag = @enumFromInt(2646), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vgtunc_vvssvl
- .{ .tag = @enumFromInt(2647), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vld2d_vssl
- .{ .tag = @enumFromInt(2648), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vld2d_vssvl
- .{ .tag = @enumFromInt(2649), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vld2dnc_vssl
- .{ .tag = @enumFromInt(2650), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vld2dnc_vssvl
- .{ .tag = @enumFromInt(2651), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vld_vssl
- .{ .tag = @enumFromInt(2652), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vld_vssvl
- .{ .tag = @enumFromInt(2653), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldl2dsx_vssl
- .{ .tag = @enumFromInt(2654), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldl2dsx_vssvl
- .{ .tag = @enumFromInt(2655), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldl2dsxnc_vssl
- .{ .tag = @enumFromInt(2656), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldl2dsxnc_vssvl
- .{ .tag = @enumFromInt(2657), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldl2dzx_vssl
- .{ .tag = @enumFromInt(2658), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldl2dzx_vssvl
- .{ .tag = @enumFromInt(2659), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldl2dzxnc_vssl
- .{ .tag = @enumFromInt(2660), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldl2dzxnc_vssvl
- .{ .tag = @enumFromInt(2661), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldlsx_vssl
- .{ .tag = @enumFromInt(2662), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldlsx_vssvl
- .{ .tag = @enumFromInt(2663), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldlsxnc_vssl
- .{ .tag = @enumFromInt(2664), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldlsxnc_vssvl
- .{ .tag = @enumFromInt(2665), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldlzx_vssl
- .{ .tag = @enumFromInt(2666), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldlzx_vssvl
- .{ .tag = @enumFromInt(2667), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldlzxnc_vssl
- .{ .tag = @enumFromInt(2668), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldlzxnc_vssvl
- .{ .tag = @enumFromInt(2669), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldnc_vssl
- .{ .tag = @enumFromInt(2670), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldnc_vssvl
- .{ .tag = @enumFromInt(2671), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldu2d_vssl
- .{ .tag = @enumFromInt(2672), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldu2d_vssvl
- .{ .tag = @enumFromInt(2673), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldu2dnc_vssl
- .{ .tag = @enumFromInt(2674), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldu2dnc_vssvl
- .{ .tag = @enumFromInt(2675), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldu_vssl
- .{ .tag = @enumFromInt(2676), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldu_vssvl
- .{ .tag = @enumFromInt(2677), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldunc_vssl
- .{ .tag = @enumFromInt(2678), .param_str = "V256dLUivC*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldunc_vssvl
- .{ .tag = @enumFromInt(2679), .param_str = "V256dLUivC*V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldz_vvl
- .{ .tag = @enumFromInt(2680), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldz_vvmvl
- .{ .tag = @enumFromInt(2681), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vldz_vvvl
- .{ .tag = @enumFromInt(2682), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxsl_vsvl
- .{ .tag = @enumFromInt(2683), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxsl_vsvmvl
- .{ .tag = @enumFromInt(2684), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxsl_vsvvl
- .{ .tag = @enumFromInt(2685), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxsl_vvvl
- .{ .tag = @enumFromInt(2686), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxsl_vvvmvl
- .{ .tag = @enumFromInt(2687), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxsl_vvvvl
- .{ .tag = @enumFromInt(2688), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxswsx_vsvl
- .{ .tag = @enumFromInt(2689), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxswsx_vsvmvl
- .{ .tag = @enumFromInt(2690), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxswsx_vsvvl
- .{ .tag = @enumFromInt(2691), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxswsx_vvvl
- .{ .tag = @enumFromInt(2692), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxswsx_vvvmvl
- .{ .tag = @enumFromInt(2693), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxswsx_vvvvl
- .{ .tag = @enumFromInt(2694), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxswzx_vsvl
- .{ .tag = @enumFromInt(2695), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxswzx_vsvmvl
- .{ .tag = @enumFromInt(2696), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxswzx_vsvvl
- .{ .tag = @enumFromInt(2697), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxswzx_vvvl
- .{ .tag = @enumFromInt(2698), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxswzx_vvvmvl
- .{ .tag = @enumFromInt(2699), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmaxswzx_vvvvl
- .{ .tag = @enumFromInt(2700), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminsl_vsvl
- .{ .tag = @enumFromInt(2701), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminsl_vsvmvl
- .{ .tag = @enumFromInt(2702), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminsl_vsvvl
- .{ .tag = @enumFromInt(2703), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminsl_vvvl
- .{ .tag = @enumFromInt(2704), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminsl_vvvmvl
- .{ .tag = @enumFromInt(2705), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminsl_vvvvl
- .{ .tag = @enumFromInt(2706), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminswsx_vsvl
- .{ .tag = @enumFromInt(2707), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminswsx_vsvmvl
- .{ .tag = @enumFromInt(2708), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminswsx_vsvvl
- .{ .tag = @enumFromInt(2709), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminswsx_vvvl
- .{ .tag = @enumFromInt(2710), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminswsx_vvvmvl
- .{ .tag = @enumFromInt(2711), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminswsx_vvvvl
- .{ .tag = @enumFromInt(2712), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminswzx_vsvl
- .{ .tag = @enumFromInt(2713), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminswzx_vsvmvl
- .{ .tag = @enumFromInt(2714), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminswzx_vsvvl
- .{ .tag = @enumFromInt(2715), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminswzx_vvvl
- .{ .tag = @enumFromInt(2716), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminswzx_vvvmvl
- .{ .tag = @enumFromInt(2717), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vminswzx_vvvvl
- .{ .tag = @enumFromInt(2718), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmrg_vsvml
- .{ .tag = @enumFromInt(2719), .param_str = "V256dLUiV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmrg_vsvmvl
- .{ .tag = @enumFromInt(2720), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmrg_vvvml
- .{ .tag = @enumFromInt(2721), .param_str = "V256dV256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmrg_vvvmvl
- .{ .tag = @enumFromInt(2722), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmrgw_vsvMl
- .{ .tag = @enumFromInt(2723), .param_str = "V256dUiV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmrgw_vsvMvl
- .{ .tag = @enumFromInt(2724), .param_str = "V256dUiV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmrgw_vvvMl
- .{ .tag = @enumFromInt(2725), .param_str = "V256dV256dV256dV512bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmrgw_vvvMvl
- .{ .tag = @enumFromInt(2726), .param_str = "V256dV256dV256dV512bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulsl_vsvl
- .{ .tag = @enumFromInt(2727), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulsl_vsvmvl
- .{ .tag = @enumFromInt(2728), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulsl_vsvvl
- .{ .tag = @enumFromInt(2729), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulsl_vvvl
- .{ .tag = @enumFromInt(2730), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulsl_vvvmvl
- .{ .tag = @enumFromInt(2731), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulsl_vvvvl
- .{ .tag = @enumFromInt(2732), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulslw_vsvl
- .{ .tag = @enumFromInt(2733), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulslw_vsvvl
- .{ .tag = @enumFromInt(2734), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulslw_vvvl
- .{ .tag = @enumFromInt(2735), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulslw_vvvvl
- .{ .tag = @enumFromInt(2736), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulswsx_vsvl
- .{ .tag = @enumFromInt(2737), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulswsx_vsvmvl
- .{ .tag = @enumFromInt(2738), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulswsx_vsvvl
- .{ .tag = @enumFromInt(2739), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulswsx_vvvl
- .{ .tag = @enumFromInt(2740), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulswsx_vvvmvl
- .{ .tag = @enumFromInt(2741), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulswsx_vvvvl
- .{ .tag = @enumFromInt(2742), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulswzx_vsvl
- .{ .tag = @enumFromInt(2743), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulswzx_vsvmvl
- .{ .tag = @enumFromInt(2744), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulswzx_vsvvl
- .{ .tag = @enumFromInt(2745), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulswzx_vvvl
- .{ .tag = @enumFromInt(2746), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulswzx_vvvmvl
- .{ .tag = @enumFromInt(2747), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulswzx_vvvvl
- .{ .tag = @enumFromInt(2748), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulul_vsvl
- .{ .tag = @enumFromInt(2749), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulul_vsvmvl
- .{ .tag = @enumFromInt(2750), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulul_vsvvl
- .{ .tag = @enumFromInt(2751), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulul_vvvl
- .{ .tag = @enumFromInt(2752), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulul_vvvmvl
- .{ .tag = @enumFromInt(2753), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmulul_vvvvl
- .{ .tag = @enumFromInt(2754), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmuluw_vsvl
- .{ .tag = @enumFromInt(2755), .param_str = "V256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmuluw_vsvmvl
- .{ .tag = @enumFromInt(2756), .param_str = "V256dUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmuluw_vsvvl
- .{ .tag = @enumFromInt(2757), .param_str = "V256dUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmuluw_vvvl
- .{ .tag = @enumFromInt(2758), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmuluw_vvvmvl
- .{ .tag = @enumFromInt(2759), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmuluw_vvvvl
- .{ .tag = @enumFromInt(2760), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmv_vsvl
- .{ .tag = @enumFromInt(2761), .param_str = "V256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmv_vsvmvl
- .{ .tag = @enumFromInt(2762), .param_str = "V256dUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vmv_vsvvl
- .{ .tag = @enumFromInt(2763), .param_str = "V256dUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vor_vsvl
- .{ .tag = @enumFromInt(2764), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vor_vsvmvl
- .{ .tag = @enumFromInt(2765), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vor_vsvvl
- .{ .tag = @enumFromInt(2766), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vor_vvvl
- .{ .tag = @enumFromInt(2767), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vor_vvvmvl
- .{ .tag = @enumFromInt(2768), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vor_vvvvl
- .{ .tag = @enumFromInt(2769), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vpcnt_vvl
- .{ .tag = @enumFromInt(2770), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vpcnt_vvmvl
- .{ .tag = @enumFromInt(2771), .param_str = "V256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vpcnt_vvvl
- .{ .tag = @enumFromInt(2772), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrand_vvl
- .{ .tag = @enumFromInt(2773), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrand_vvml
- .{ .tag = @enumFromInt(2774), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrcpd_vvl
- .{ .tag = @enumFromInt(2775), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrcpd_vvvl
- .{ .tag = @enumFromInt(2776), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrcps_vvl
- .{ .tag = @enumFromInt(2777), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrcps_vvvl
- .{ .tag = @enumFromInt(2778), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrmaxslfst_vvl
- .{ .tag = @enumFromInt(2779), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrmaxslfst_vvvl
- .{ .tag = @enumFromInt(2780), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrmaxsllst_vvl
- .{ .tag = @enumFromInt(2781), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrmaxsllst_vvvl
- .{ .tag = @enumFromInt(2782), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrmaxswfstsx_vvl
- .{ .tag = @enumFromInt(2783), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrmaxswfstsx_vvvl
- .{ .tag = @enumFromInt(2784), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrmaxswfstzx_vvl
- .{ .tag = @enumFromInt(2785), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrmaxswfstzx_vvvl
- .{ .tag = @enumFromInt(2786), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrmaxswlstsx_vvl
- .{ .tag = @enumFromInt(2787), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrmaxswlstsx_vvvl
- .{ .tag = @enumFromInt(2788), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrmaxswlstzx_vvl
- .{ .tag = @enumFromInt(2789), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrmaxswlstzx_vvvl
- .{ .tag = @enumFromInt(2790), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrminslfst_vvl
- .{ .tag = @enumFromInt(2791), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrminslfst_vvvl
- .{ .tag = @enumFromInt(2792), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrminsllst_vvl
- .{ .tag = @enumFromInt(2793), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrminsllst_vvvl
- .{ .tag = @enumFromInt(2794), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrminswfstsx_vvl
- .{ .tag = @enumFromInt(2795), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrminswfstsx_vvvl
- .{ .tag = @enumFromInt(2796), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrminswfstzx_vvl
- .{ .tag = @enumFromInt(2797), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrminswfstzx_vvvl
- .{ .tag = @enumFromInt(2798), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrminswlstsx_vvl
- .{ .tag = @enumFromInt(2799), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrminswlstsx_vvvl
- .{ .tag = @enumFromInt(2800), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrminswlstzx_vvl
- .{ .tag = @enumFromInt(2801), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrminswlstzx_vvvl
- .{ .tag = @enumFromInt(2802), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vror_vvl
- .{ .tag = @enumFromInt(2803), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vror_vvml
- .{ .tag = @enumFromInt(2804), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrsqrtd_vvl
- .{ .tag = @enumFromInt(2805), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrsqrtd_vvvl
- .{ .tag = @enumFromInt(2806), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrsqrtdnex_vvl
- .{ .tag = @enumFromInt(2807), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrsqrtdnex_vvvl
- .{ .tag = @enumFromInt(2808), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrsqrts_vvl
- .{ .tag = @enumFromInt(2809), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrsqrts_vvvl
- .{ .tag = @enumFromInt(2810), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrsqrtsnex_vvl
- .{ .tag = @enumFromInt(2811), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrsqrtsnex_vvvl
- .{ .tag = @enumFromInt(2812), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrxor_vvl
- .{ .tag = @enumFromInt(2813), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vrxor_vvml
- .{ .tag = @enumFromInt(2814), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsc_vvssl
- .{ .tag = @enumFromInt(2815), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsc_vvssml
- .{ .tag = @enumFromInt(2816), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscl_vvssl
- .{ .tag = @enumFromInt(2817), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscl_vvssml
- .{ .tag = @enumFromInt(2818), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsclnc_vvssl
- .{ .tag = @enumFromInt(2819), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsclnc_vvssml
- .{ .tag = @enumFromInt(2820), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsclncot_vvssl
- .{ .tag = @enumFromInt(2821), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsclncot_vvssml
- .{ .tag = @enumFromInt(2822), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsclot_vvssl
- .{ .tag = @enumFromInt(2823), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsclot_vvssml
- .{ .tag = @enumFromInt(2824), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscnc_vvssl
- .{ .tag = @enumFromInt(2825), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscnc_vvssml
- .{ .tag = @enumFromInt(2826), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscncot_vvssl
- .{ .tag = @enumFromInt(2827), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscncot_vvssml
- .{ .tag = @enumFromInt(2828), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscot_vvssl
- .{ .tag = @enumFromInt(2829), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscot_vvssml
- .{ .tag = @enumFromInt(2830), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscu_vvssl
- .{ .tag = @enumFromInt(2831), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscu_vvssml
- .{ .tag = @enumFromInt(2832), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscunc_vvssl
- .{ .tag = @enumFromInt(2833), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscunc_vvssml
- .{ .tag = @enumFromInt(2834), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscuncot_vvssl
- .{ .tag = @enumFromInt(2835), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscuncot_vvssml
- .{ .tag = @enumFromInt(2836), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscuot_vvssl
- .{ .tag = @enumFromInt(2837), .param_str = "vV256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vscuot_vvssml
- .{ .tag = @enumFromInt(2838), .param_str = "vV256dV256dLUiLUiV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vseq_vl
- .{ .tag = @enumFromInt(2839), .param_str = "V256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vseq_vvl
- .{ .tag = @enumFromInt(2840), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsfa_vvssl
- .{ .tag = @enumFromInt(2841), .param_str = "V256dV256dLUiLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsfa_vvssmvl
- .{ .tag = @enumFromInt(2842), .param_str = "V256dV256dLUiLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsfa_vvssvl
- .{ .tag = @enumFromInt(2843), .param_str = "V256dV256dLUiLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vshf_vvvsl
- .{ .tag = @enumFromInt(2844), .param_str = "V256dV256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vshf_vvvsvl
- .{ .tag = @enumFromInt(2845), .param_str = "V256dV256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslal_vvsl
- .{ .tag = @enumFromInt(2846), .param_str = "V256dV256dLiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslal_vvsmvl
- .{ .tag = @enumFromInt(2847), .param_str = "V256dV256dLiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslal_vvsvl
- .{ .tag = @enumFromInt(2848), .param_str = "V256dV256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslal_vvvl
- .{ .tag = @enumFromInt(2849), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslal_vvvmvl
- .{ .tag = @enumFromInt(2850), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslal_vvvvl
- .{ .tag = @enumFromInt(2851), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslawsx_vvsl
- .{ .tag = @enumFromInt(2852), .param_str = "V256dV256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslawsx_vvsmvl
- .{ .tag = @enumFromInt(2853), .param_str = "V256dV256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslawsx_vvsvl
- .{ .tag = @enumFromInt(2854), .param_str = "V256dV256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslawsx_vvvl
- .{ .tag = @enumFromInt(2855), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslawsx_vvvmvl
- .{ .tag = @enumFromInt(2856), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslawsx_vvvvl
- .{ .tag = @enumFromInt(2857), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslawzx_vvsl
- .{ .tag = @enumFromInt(2858), .param_str = "V256dV256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslawzx_vvsmvl
- .{ .tag = @enumFromInt(2859), .param_str = "V256dV256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslawzx_vvsvl
- .{ .tag = @enumFromInt(2860), .param_str = "V256dV256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslawzx_vvvl
- .{ .tag = @enumFromInt(2861), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslawzx_vvvmvl
- .{ .tag = @enumFromInt(2862), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vslawzx_vvvvl
- .{ .tag = @enumFromInt(2863), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsll_vvsl
- .{ .tag = @enumFromInt(2864), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsll_vvsmvl
- .{ .tag = @enumFromInt(2865), .param_str = "V256dV256dLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsll_vvsvl
- .{ .tag = @enumFromInt(2866), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsll_vvvl
- .{ .tag = @enumFromInt(2867), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsll_vvvmvl
- .{ .tag = @enumFromInt(2868), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsll_vvvvl
- .{ .tag = @enumFromInt(2869), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsral_vvsl
- .{ .tag = @enumFromInt(2870), .param_str = "V256dV256dLiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsral_vvsmvl
- .{ .tag = @enumFromInt(2871), .param_str = "V256dV256dLiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsral_vvsvl
- .{ .tag = @enumFromInt(2872), .param_str = "V256dV256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsral_vvvl
- .{ .tag = @enumFromInt(2873), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsral_vvvmvl
- .{ .tag = @enumFromInt(2874), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsral_vvvvl
- .{ .tag = @enumFromInt(2875), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrawsx_vvsl
- .{ .tag = @enumFromInt(2876), .param_str = "V256dV256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrawsx_vvsmvl
- .{ .tag = @enumFromInt(2877), .param_str = "V256dV256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrawsx_vvsvl
- .{ .tag = @enumFromInt(2878), .param_str = "V256dV256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrawsx_vvvl
- .{ .tag = @enumFromInt(2879), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrawsx_vvvmvl
- .{ .tag = @enumFromInt(2880), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrawsx_vvvvl
- .{ .tag = @enumFromInt(2881), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrawzx_vvsl
- .{ .tag = @enumFromInt(2882), .param_str = "V256dV256diUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrawzx_vvsmvl
- .{ .tag = @enumFromInt(2883), .param_str = "V256dV256diV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrawzx_vvsvl
- .{ .tag = @enumFromInt(2884), .param_str = "V256dV256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrawzx_vvvl
- .{ .tag = @enumFromInt(2885), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrawzx_vvvmvl
- .{ .tag = @enumFromInt(2886), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrawzx_vvvvl
- .{ .tag = @enumFromInt(2887), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrl_vvsl
- .{ .tag = @enumFromInt(2888), .param_str = "V256dV256dLUiUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrl_vvsmvl
- .{ .tag = @enumFromInt(2889), .param_str = "V256dV256dLUiV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrl_vvsvl
- .{ .tag = @enumFromInt(2890), .param_str = "V256dV256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrl_vvvl
- .{ .tag = @enumFromInt(2891), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrl_vvvmvl
- .{ .tag = @enumFromInt(2892), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsrl_vvvvl
- .{ .tag = @enumFromInt(2893), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vst2d_vssl
- .{ .tag = @enumFromInt(2894), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vst2d_vssml
- .{ .tag = @enumFromInt(2895), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vst2dnc_vssl
- .{ .tag = @enumFromInt(2896), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vst2dnc_vssml
- .{ .tag = @enumFromInt(2897), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vst2dncot_vssl
- .{ .tag = @enumFromInt(2898), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vst2dncot_vssml
- .{ .tag = @enumFromInt(2899), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vst2dot_vssl
- .{ .tag = @enumFromInt(2900), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vst2dot_vssml
- .{ .tag = @enumFromInt(2901), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vst_vssl
- .{ .tag = @enumFromInt(2902), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vst_vssml
- .{ .tag = @enumFromInt(2903), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstl2d_vssl
- .{ .tag = @enumFromInt(2904), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstl2d_vssml
- .{ .tag = @enumFromInt(2905), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstl2dnc_vssl
- .{ .tag = @enumFromInt(2906), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstl2dnc_vssml
- .{ .tag = @enumFromInt(2907), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstl2dncot_vssl
- .{ .tag = @enumFromInt(2908), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstl2dncot_vssml
- .{ .tag = @enumFromInt(2909), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstl2dot_vssl
- .{ .tag = @enumFromInt(2910), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstl2dot_vssml
- .{ .tag = @enumFromInt(2911), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstl_vssl
- .{ .tag = @enumFromInt(2912), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstl_vssml
- .{ .tag = @enumFromInt(2913), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstlnc_vssl
- .{ .tag = @enumFromInt(2914), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstlnc_vssml
- .{ .tag = @enumFromInt(2915), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstlncot_vssl
- .{ .tag = @enumFromInt(2916), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstlncot_vssml
- .{ .tag = @enumFromInt(2917), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstlot_vssl
- .{ .tag = @enumFromInt(2918), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstlot_vssml
- .{ .tag = @enumFromInt(2919), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstnc_vssl
- .{ .tag = @enumFromInt(2920), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstnc_vssml
- .{ .tag = @enumFromInt(2921), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstncot_vssl
- .{ .tag = @enumFromInt(2922), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstncot_vssml
- .{ .tag = @enumFromInt(2923), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstot_vssl
- .{ .tag = @enumFromInt(2924), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstot_vssml
- .{ .tag = @enumFromInt(2925), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstu2d_vssl
- .{ .tag = @enumFromInt(2926), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstu2d_vssml
- .{ .tag = @enumFromInt(2927), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstu2dnc_vssl
- .{ .tag = @enumFromInt(2928), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstu2dnc_vssml
- .{ .tag = @enumFromInt(2929), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstu2dncot_vssl
- .{ .tag = @enumFromInt(2930), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstu2dncot_vssml
- .{ .tag = @enumFromInt(2931), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstu2dot_vssl
- .{ .tag = @enumFromInt(2932), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstu2dot_vssml
- .{ .tag = @enumFromInt(2933), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstu_vssl
- .{ .tag = @enumFromInt(2934), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstu_vssml
- .{ .tag = @enumFromInt(2935), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstunc_vssl
- .{ .tag = @enumFromInt(2936), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstunc_vssml
- .{ .tag = @enumFromInt(2937), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstuncot_vssl
- .{ .tag = @enumFromInt(2938), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstuncot_vssml
- .{ .tag = @enumFromInt(2939), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstuot_vssl
- .{ .tag = @enumFromInt(2940), .param_str = "vV256dLUiv*Ui", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vstuot_vssml
- .{ .tag = @enumFromInt(2941), .param_str = "vV256dLUiv*V256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubsl_vsvl
- .{ .tag = @enumFromInt(2942), .param_str = "V256dLiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubsl_vsvmvl
- .{ .tag = @enumFromInt(2943), .param_str = "V256dLiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubsl_vsvvl
- .{ .tag = @enumFromInt(2944), .param_str = "V256dLiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubsl_vvvl
- .{ .tag = @enumFromInt(2945), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubsl_vvvmvl
- .{ .tag = @enumFromInt(2946), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubsl_vvvvl
- .{ .tag = @enumFromInt(2947), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubswsx_vsvl
- .{ .tag = @enumFromInt(2948), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubswsx_vsvmvl
- .{ .tag = @enumFromInt(2949), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubswsx_vsvvl
- .{ .tag = @enumFromInt(2950), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubswsx_vvvl
- .{ .tag = @enumFromInt(2951), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubswsx_vvvmvl
- .{ .tag = @enumFromInt(2952), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubswsx_vvvvl
- .{ .tag = @enumFromInt(2953), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubswzx_vsvl
- .{ .tag = @enumFromInt(2954), .param_str = "V256diV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubswzx_vsvmvl
- .{ .tag = @enumFromInt(2955), .param_str = "V256diV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubswzx_vsvvl
- .{ .tag = @enumFromInt(2956), .param_str = "V256diV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubswzx_vvvl
- .{ .tag = @enumFromInt(2957), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubswzx_vvvmvl
- .{ .tag = @enumFromInt(2958), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubswzx_vvvvl
- .{ .tag = @enumFromInt(2959), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubul_vsvl
- .{ .tag = @enumFromInt(2960), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubul_vsvmvl
- .{ .tag = @enumFromInt(2961), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubul_vsvvl
- .{ .tag = @enumFromInt(2962), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubul_vvvl
- .{ .tag = @enumFromInt(2963), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubul_vvvmvl
- .{ .tag = @enumFromInt(2964), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubul_vvvvl
- .{ .tag = @enumFromInt(2965), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubuw_vsvl
- .{ .tag = @enumFromInt(2966), .param_str = "V256dUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubuw_vsvmvl
- .{ .tag = @enumFromInt(2967), .param_str = "V256dUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubuw_vsvvl
- .{ .tag = @enumFromInt(2968), .param_str = "V256dUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubuw_vvvl
- .{ .tag = @enumFromInt(2969), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubuw_vvvmvl
- .{ .tag = @enumFromInt(2970), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsubuw_vvvvl
- .{ .tag = @enumFromInt(2971), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsuml_vvl
- .{ .tag = @enumFromInt(2972), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsuml_vvml
- .{ .tag = @enumFromInt(2973), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsumwsx_vvl
- .{ .tag = @enumFromInt(2974), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsumwsx_vvml
- .{ .tag = @enumFromInt(2975), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsumwzx_vvl
- .{ .tag = @enumFromInt(2976), .param_str = "V256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vsumwzx_vvml
- .{ .tag = @enumFromInt(2977), .param_str = "V256dV256dV256bUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vxor_vsvl
- .{ .tag = @enumFromInt(2978), .param_str = "V256dLUiV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vxor_vsvmvl
- .{ .tag = @enumFromInt(2979), .param_str = "V256dLUiV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vxor_vsvvl
- .{ .tag = @enumFromInt(2980), .param_str = "V256dLUiV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vxor_vvvl
- .{ .tag = @enumFromInt(2981), .param_str = "V256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vxor_vvvmvl
- .{ .tag = @enumFromInt(2982), .param_str = "V256dV256dV256dV256bV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_vxor_vvvvl
- .{ .tag = @enumFromInt(2983), .param_str = "V256dV256dV256dV256dUi", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_xorm_MMM
- .{ .tag = @enumFromInt(2984), .param_str = "V512bV512bV512b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_ve_vl_xorm_mmm
- .{ .tag = @enumFromInt(2985), .param_str = "V256bV256bV256b", .properties = .{ .target_set = TargetSet.initOne(.vevl_gen) } },
- // __builtin_vfprintf
- .{ .tag = @enumFromInt(2986), .param_str = "iP*RcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 1 } } },
- // __builtin_vfscanf
- .{ .tag = @enumFromInt(2987), .param_str = "iP*RcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vscanf, .format_string_position = 1 } } },
- // __builtin_vprintf
- .{ .tag = @enumFromInt(2988), .param_str = "icC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf } } },
- // __builtin_vscanf
- .{ .tag = @enumFromInt(2989), .param_str = "icC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vscanf } } },
- // __builtin_vsnprintf
- .{ .tag = @enumFromInt(2990), .param_str = "ic*RzcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 2 } } },
- // __builtin_vsprintf
- .{ .tag = @enumFromInt(2991), .param_str = "ic*RcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 1 } } },
- // __builtin_vsscanf
- .{ .tag = @enumFromInt(2992), .param_str = "icC*RcC*Ra", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vscanf, .format_string_position = 1 } } },
- // __builtin_wasm_max_f32
- .{ .tag = @enumFromInt(2993), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
- // __builtin_wasm_max_f64
- .{ .tag = @enumFromInt(2994), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
- // __builtin_wasm_memory_grow
- .{ .tag = @enumFromInt(2995), .param_str = "zIiz", .properties = .{ .target_set = TargetSet.initOne(.webassembly) } },
- // __builtin_wasm_memory_size
- .{ .tag = @enumFromInt(2996), .param_str = "zIi", .properties = .{ .target_set = TargetSet.initOne(.webassembly) } },
- // __builtin_wasm_min_f32
- .{ .tag = @enumFromInt(2997), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
- // __builtin_wasm_min_f64
- .{ .tag = @enumFromInt(2998), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
- // __builtin_wasm_trunc_s_i32_f32
- .{ .tag = @enumFromInt(2999), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
- // __builtin_wasm_trunc_s_i32_f64
- .{ .tag = @enumFromInt(3000), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
- // __builtin_wasm_trunc_s_i64_f32
- .{ .tag = @enumFromInt(3001), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
- // __builtin_wasm_trunc_s_i64_f64
- .{ .tag = @enumFromInt(3002), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
- // __builtin_wasm_trunc_u_i32_f32
- .{ .tag = @enumFromInt(3003), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
- // __builtin_wasm_trunc_u_i32_f64
- .{ .tag = @enumFromInt(3004), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
- // __builtin_wasm_trunc_u_i64_f32
- .{ .tag = @enumFromInt(3005), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
- // __builtin_wasm_trunc_u_i64_f64
- .{ .tag = @enumFromInt(3006), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.webassembly), .attributes = .{ .@"const" = true } } },
- // __builtin_wcschr
- .{ .tag = @enumFromInt(3007), .param_str = "w*wC*w", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_wcscmp
- .{ .tag = @enumFromInt(3008), .param_str = "iwC*wC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_wcslen
- .{ .tag = @enumFromInt(3009), .param_str = "zwC*", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_wcsncmp
- .{ .tag = @enumFromInt(3010), .param_str = "iwC*wC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_wmemchr
- .{ .tag = @enumFromInt(3011), .param_str = "w*wC*wz", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_wmemcmp
- .{ .tag = @enumFromInt(3012), .param_str = "iwC*wC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_wmemcpy
- .{ .tag = @enumFromInt(3013), .param_str = "w*w*wC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __builtin_wmemmove
- .{ .tag = @enumFromInt(3014), .param_str = "w*w*wC*z", .properties = .{ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true } } },
- // __c11_atomic_is_lock_free
- .{ .tag = @enumFromInt(3015), .param_str = "bz", .properties = .{ .attributes = .{ .const_evaluable = true } } },
- // __c11_atomic_signal_fence
- .{ .tag = @enumFromInt(3016), .param_str = "vi", .properties = .{} },
- // __c11_atomic_thread_fence
- .{ .tag = @enumFromInt(3017), .param_str = "vi", .properties = .{} },
- // __clear_cache
- .{ .tag = @enumFromInt(3018), .param_str = "vv*v*", .properties = .{ .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // __cospi
- .{ .tag = @enumFromInt(3019), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __cospif
- .{ .tag = @enumFromInt(3020), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __debugbreak
- .{ .tag = @enumFromInt(3021), .param_str = "v", .properties = .{ .language = .all_ms_languages } },
- // __dmb
- .{ .tag = @enumFromInt(3022), .param_str = "vUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __dsb
- .{ .tag = @enumFromInt(3023), .param_str = "vUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __emit
- .{ .tag = @enumFromInt(3024), .param_str = "vIUiC", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initOne(.arm) } },
- // __exception_code
- .{ .tag = @enumFromInt(3025), .param_str = "UNi", .properties = .{ .language = .all_ms_languages } },
- // __exception_info
- .{ .tag = @enumFromInt(3026), .param_str = "v*", .properties = .{ .language = .all_ms_languages } },
- // __exp10
- .{ .tag = @enumFromInt(3027), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __exp10f
- .{ .tag = @enumFromInt(3028), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __fastfail
- .{ .tag = @enumFromInt(3029), .param_str = "vUi", .properties = .{ .language = .all_ms_languages, .attributes = .{ .noreturn = true } } },
- // __finite
- .{ .tag = @enumFromInt(3030), .param_str = "id", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // __finitef
- .{ .tag = @enumFromInt(3031), .param_str = "if", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // __finitel
- .{ .tag = @enumFromInt(3032), .param_str = "iLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // __isb
- .{ .tag = @enumFromInt(3033), .param_str = "vUi", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }), .attributes = .{ .@"const" = true } } },
- // __iso_volatile_load16
- .{ .tag = @enumFromInt(3034), .param_str = "ssCD*", .properties = .{ .language = .all_ms_languages } },
- // __iso_volatile_load32
- .{ .tag = @enumFromInt(3035), .param_str = "iiCD*", .properties = .{ .language = .all_ms_languages } },
- // __iso_volatile_load64
- .{ .tag = @enumFromInt(3036), .param_str = "LLiLLiCD*", .properties = .{ .language = .all_ms_languages } },
- // __iso_volatile_load8
- .{ .tag = @enumFromInt(3037), .param_str = "ccCD*", .properties = .{ .language = .all_ms_languages } },
- // __iso_volatile_store16
- .{ .tag = @enumFromInt(3038), .param_str = "vsD*s", .properties = .{ .language = .all_ms_languages } },
- // __iso_volatile_store32
- .{ .tag = @enumFromInt(3039), .param_str = "viD*i", .properties = .{ .language = .all_ms_languages } },
- // __iso_volatile_store64
- .{ .tag = @enumFromInt(3040), .param_str = "vLLiD*LLi", .properties = .{ .language = .all_ms_languages } },
- // __iso_volatile_store8
- .{ .tag = @enumFromInt(3041), .param_str = "vcD*c", .properties = .{ .language = .all_ms_languages } },
- // __ldrexd
- .{ .tag = @enumFromInt(3042), .param_str = "WiWiCD*", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initOne(.arm) } },
- // __lzcnt
- .{ .tag = @enumFromInt(3043), .param_str = "UiUi", .properties = .{ .language = .all_ms_languages, .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __lzcnt16
- .{ .tag = @enumFromInt(3044), .param_str = "UsUs", .properties = .{ .language = .all_ms_languages, .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __lzcnt64
- .{ .tag = @enumFromInt(3045), .param_str = "UWiUWi", .properties = .{ .language = .all_ms_languages, .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __noop
- .{ .tag = @enumFromInt(3046), .param_str = "i.", .properties = .{ .language = .all_ms_languages } },
- // __nvvm_add_rm_d
- .{ .tag = @enumFromInt(3047), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_add_rm_f
- .{ .tag = @enumFromInt(3048), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_add_rm_ftz_f
- .{ .tag = @enumFromInt(3049), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_add_rn_d
- .{ .tag = @enumFromInt(3050), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_add_rn_f
- .{ .tag = @enumFromInt(3051), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_add_rn_ftz_f
- .{ .tag = @enumFromInt(3052), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_add_rp_d
- .{ .tag = @enumFromInt(3053), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_add_rp_f
- .{ .tag = @enumFromInt(3054), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_add_rp_ftz_f
- .{ .tag = @enumFromInt(3055), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_add_rz_d
- .{ .tag = @enumFromInt(3056), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_add_rz_f
- .{ .tag = @enumFromInt(3057), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_add_rz_ftz_f
- .{ .tag = @enumFromInt(3058), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_add_gen_f
- .{ .tag = @enumFromInt(3059), .param_str = "ffD*f", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_add_gen_i
- .{ .tag = @enumFromInt(3060), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_add_gen_l
- .{ .tag = @enumFromInt(3061), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_add_gen_ll
- .{ .tag = @enumFromInt(3062), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_and_gen_i
- .{ .tag = @enumFromInt(3063), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_and_gen_l
- .{ .tag = @enumFromInt(3064), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_and_gen_ll
- .{ .tag = @enumFromInt(3065), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_cas_gen_i
- .{ .tag = @enumFromInt(3066), .param_str = "iiD*ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_cas_gen_l
- .{ .tag = @enumFromInt(3067), .param_str = "LiLiD*LiLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_cas_gen_ll
- .{ .tag = @enumFromInt(3068), .param_str = "LLiLLiD*LLiLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_dec_gen_ui
- .{ .tag = @enumFromInt(3069), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_inc_gen_ui
- .{ .tag = @enumFromInt(3070), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_max_gen_i
- .{ .tag = @enumFromInt(3071), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_max_gen_l
- .{ .tag = @enumFromInt(3072), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_max_gen_ll
- .{ .tag = @enumFromInt(3073), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_max_gen_ui
- .{ .tag = @enumFromInt(3074), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_max_gen_ul
- .{ .tag = @enumFromInt(3075), .param_str = "ULiULiD*ULi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_max_gen_ull
- .{ .tag = @enumFromInt(3076), .param_str = "ULLiULLiD*ULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_min_gen_i
- .{ .tag = @enumFromInt(3077), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_min_gen_l
- .{ .tag = @enumFromInt(3078), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_min_gen_ll
- .{ .tag = @enumFromInt(3079), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_min_gen_ui
- .{ .tag = @enumFromInt(3080), .param_str = "UiUiD*Ui", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_min_gen_ul
- .{ .tag = @enumFromInt(3081), .param_str = "ULiULiD*ULi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_min_gen_ull
- .{ .tag = @enumFromInt(3082), .param_str = "ULLiULLiD*ULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_or_gen_i
- .{ .tag = @enumFromInt(3083), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_or_gen_l
- .{ .tag = @enumFromInt(3084), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_or_gen_ll
- .{ .tag = @enumFromInt(3085), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_sub_gen_i
- .{ .tag = @enumFromInt(3086), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_sub_gen_l
- .{ .tag = @enumFromInt(3087), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_sub_gen_ll
- .{ .tag = @enumFromInt(3088), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_xchg_gen_i
- .{ .tag = @enumFromInt(3089), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_xchg_gen_l
- .{ .tag = @enumFromInt(3090), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_xchg_gen_ll
- .{ .tag = @enumFromInt(3091), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_xor_gen_i
- .{ .tag = @enumFromInt(3092), .param_str = "iiD*i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_xor_gen_l
- .{ .tag = @enumFromInt(3093), .param_str = "LiLiD*Li", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_atom_xor_gen_ll
- .{ .tag = @enumFromInt(3094), .param_str = "LLiLLiD*LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_bar0_and
- .{ .tag = @enumFromInt(3095), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_bar0_or
- .{ .tag = @enumFromInt(3096), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_bar0_popc
- .{ .tag = @enumFromInt(3097), .param_str = "ii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_bar_sync
- .{ .tag = @enumFromInt(3098), .param_str = "vi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_bitcast_d2ll
- .{ .tag = @enumFromInt(3099), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_bitcast_f2i
- .{ .tag = @enumFromInt(3100), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_bitcast_i2f
- .{ .tag = @enumFromInt(3101), .param_str = "fi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_bitcast_ll2d
- .{ .tag = @enumFromInt(3102), .param_str = "dLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ceil_d
- .{ .tag = @enumFromInt(3103), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ceil_f
- .{ .tag = @enumFromInt(3104), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ceil_ftz_f
- .{ .tag = @enumFromInt(3105), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_compiler_error
- .{ .tag = @enumFromInt(3106), .param_str = "vcC*4", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_compiler_warn
- .{ .tag = @enumFromInt(3107), .param_str = "vcC*4", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_cos_approx_f
- .{ .tag = @enumFromInt(3108), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_cos_approx_ftz_f
- .{ .tag = @enumFromInt(3109), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2f_rm
- .{ .tag = @enumFromInt(3110), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2f_rm_ftz
- .{ .tag = @enumFromInt(3111), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2f_rn
- .{ .tag = @enumFromInt(3112), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2f_rn_ftz
- .{ .tag = @enumFromInt(3113), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2f_rp
- .{ .tag = @enumFromInt(3114), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2f_rp_ftz
- .{ .tag = @enumFromInt(3115), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2f_rz
- .{ .tag = @enumFromInt(3116), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2f_rz_ftz
- .{ .tag = @enumFromInt(3117), .param_str = "fd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2i_hi
- .{ .tag = @enumFromInt(3118), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2i_lo
- .{ .tag = @enumFromInt(3119), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2i_rm
- .{ .tag = @enumFromInt(3120), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2i_rn
- .{ .tag = @enumFromInt(3121), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2i_rp
- .{ .tag = @enumFromInt(3122), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2i_rz
- .{ .tag = @enumFromInt(3123), .param_str = "id", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2ll_rm
- .{ .tag = @enumFromInt(3124), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2ll_rn
- .{ .tag = @enumFromInt(3125), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2ll_rp
- .{ .tag = @enumFromInt(3126), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2ll_rz
- .{ .tag = @enumFromInt(3127), .param_str = "LLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2ui_rm
- .{ .tag = @enumFromInt(3128), .param_str = "Uid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2ui_rn
- .{ .tag = @enumFromInt(3129), .param_str = "Uid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2ui_rp
- .{ .tag = @enumFromInt(3130), .param_str = "Uid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2ui_rz
- .{ .tag = @enumFromInt(3131), .param_str = "Uid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2ull_rm
- .{ .tag = @enumFromInt(3132), .param_str = "ULLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2ull_rn
- .{ .tag = @enumFromInt(3133), .param_str = "ULLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2ull_rp
- .{ .tag = @enumFromInt(3134), .param_str = "ULLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_d2ull_rz
- .{ .tag = @enumFromInt(3135), .param_str = "ULLid", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_approx_f
- .{ .tag = @enumFromInt(3136), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_approx_ftz_f
- .{ .tag = @enumFromInt(3137), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_rm_d
- .{ .tag = @enumFromInt(3138), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_rm_f
- .{ .tag = @enumFromInt(3139), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_rm_ftz_f
- .{ .tag = @enumFromInt(3140), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_rn_d
- .{ .tag = @enumFromInt(3141), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_rn_f
- .{ .tag = @enumFromInt(3142), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_rn_ftz_f
- .{ .tag = @enumFromInt(3143), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_rp_d
- .{ .tag = @enumFromInt(3144), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_rp_f
- .{ .tag = @enumFromInt(3145), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_rp_ftz_f
- .{ .tag = @enumFromInt(3146), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_rz_d
- .{ .tag = @enumFromInt(3147), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_rz_f
- .{ .tag = @enumFromInt(3148), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_div_rz_ftz_f
- .{ .tag = @enumFromInt(3149), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ex2_approx_d
- .{ .tag = @enumFromInt(3150), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ex2_approx_f
- .{ .tag = @enumFromInt(3151), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ex2_approx_ftz_f
- .{ .tag = @enumFromInt(3152), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2h_rn
- .{ .tag = @enumFromInt(3153), .param_str = "Usf", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2h_rn_ftz
- .{ .tag = @enumFromInt(3154), .param_str = "Usf", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2i_rm
- .{ .tag = @enumFromInt(3155), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2i_rm_ftz
- .{ .tag = @enumFromInt(3156), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2i_rn
- .{ .tag = @enumFromInt(3157), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2i_rn_ftz
- .{ .tag = @enumFromInt(3158), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2i_rp
- .{ .tag = @enumFromInt(3159), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2i_rp_ftz
- .{ .tag = @enumFromInt(3160), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2i_rz
- .{ .tag = @enumFromInt(3161), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2i_rz_ftz
- .{ .tag = @enumFromInt(3162), .param_str = "if", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ll_rm
- .{ .tag = @enumFromInt(3163), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ll_rm_ftz
- .{ .tag = @enumFromInt(3164), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ll_rn
- .{ .tag = @enumFromInt(3165), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ll_rn_ftz
- .{ .tag = @enumFromInt(3166), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ll_rp
- .{ .tag = @enumFromInt(3167), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ll_rp_ftz
- .{ .tag = @enumFromInt(3168), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ll_rz
- .{ .tag = @enumFromInt(3169), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ll_rz_ftz
- .{ .tag = @enumFromInt(3170), .param_str = "LLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ui_rm
- .{ .tag = @enumFromInt(3171), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ui_rm_ftz
- .{ .tag = @enumFromInt(3172), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ui_rn
- .{ .tag = @enumFromInt(3173), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ui_rn_ftz
- .{ .tag = @enumFromInt(3174), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ui_rp
- .{ .tag = @enumFromInt(3175), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ui_rp_ftz
- .{ .tag = @enumFromInt(3176), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ui_rz
- .{ .tag = @enumFromInt(3177), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ui_rz_ftz
- .{ .tag = @enumFromInt(3178), .param_str = "Uif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ull_rm
- .{ .tag = @enumFromInt(3179), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ull_rm_ftz
- .{ .tag = @enumFromInt(3180), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ull_rn
- .{ .tag = @enumFromInt(3181), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ull_rn_ftz
- .{ .tag = @enumFromInt(3182), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ull_rp
- .{ .tag = @enumFromInt(3183), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ull_rp_ftz
- .{ .tag = @enumFromInt(3184), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ull_rz
- .{ .tag = @enumFromInt(3185), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_f2ull_rz_ftz
- .{ .tag = @enumFromInt(3186), .param_str = "ULLif", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fabs_d
- .{ .tag = @enumFromInt(3187), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fabs_f
- .{ .tag = @enumFromInt(3188), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fabs_ftz_f
- .{ .tag = @enumFromInt(3189), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_floor_d
- .{ .tag = @enumFromInt(3190), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_floor_f
- .{ .tag = @enumFromInt(3191), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_floor_ftz_f
- .{ .tag = @enumFromInt(3192), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fma_rm_d
- .{ .tag = @enumFromInt(3193), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fma_rm_f
- .{ .tag = @enumFromInt(3194), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fma_rm_ftz_f
- .{ .tag = @enumFromInt(3195), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fma_rn_d
- .{ .tag = @enumFromInt(3196), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fma_rn_f
- .{ .tag = @enumFromInt(3197), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fma_rn_ftz_f
- .{ .tag = @enumFromInt(3198), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fma_rp_d
- .{ .tag = @enumFromInt(3199), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fma_rp_f
- .{ .tag = @enumFromInt(3200), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fma_rp_ftz_f
- .{ .tag = @enumFromInt(3201), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fma_rz_d
- .{ .tag = @enumFromInt(3202), .param_str = "dddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fma_rz_f
- .{ .tag = @enumFromInt(3203), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fma_rz_ftz_f
- .{ .tag = @enumFromInt(3204), .param_str = "ffff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fmax_d
- .{ .tag = @enumFromInt(3205), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fmax_f
- .{ .tag = @enumFromInt(3206), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fmax_ftz_f
- .{ .tag = @enumFromInt(3207), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fmin_d
- .{ .tag = @enumFromInt(3208), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fmin_f
- .{ .tag = @enumFromInt(3209), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_fmin_ftz_f
- .{ .tag = @enumFromInt(3210), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_i2d_rm
- .{ .tag = @enumFromInt(3211), .param_str = "di", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_i2d_rn
- .{ .tag = @enumFromInt(3212), .param_str = "di", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_i2d_rp
- .{ .tag = @enumFromInt(3213), .param_str = "di", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_i2d_rz
- .{ .tag = @enumFromInt(3214), .param_str = "di", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_i2f_rm
- .{ .tag = @enumFromInt(3215), .param_str = "fi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_i2f_rn
- .{ .tag = @enumFromInt(3216), .param_str = "fi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_i2f_rp
- .{ .tag = @enumFromInt(3217), .param_str = "fi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_i2f_rz
- .{ .tag = @enumFromInt(3218), .param_str = "fi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_isspacep_const
- .{ .tag = @enumFromInt(3219), .param_str = "bvC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_isspacep_global
- .{ .tag = @enumFromInt(3220), .param_str = "bvC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_isspacep_local
- .{ .tag = @enumFromInt(3221), .param_str = "bvC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_isspacep_shared
- .{ .tag = @enumFromInt(3222), .param_str = "bvC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_ldg_c
- .{ .tag = @enumFromInt(3223), .param_str = "ccC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_c2
- .{ .tag = @enumFromInt(3224), .param_str = "E2cE2cC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_c4
- .{ .tag = @enumFromInt(3225), .param_str = "E4cE4cC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_d
- .{ .tag = @enumFromInt(3226), .param_str = "ddC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_d2
- .{ .tag = @enumFromInt(3227), .param_str = "E2dE2dC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_f
- .{ .tag = @enumFromInt(3228), .param_str = "ffC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_f2
- .{ .tag = @enumFromInt(3229), .param_str = "E2fE2fC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_f4
- .{ .tag = @enumFromInt(3230), .param_str = "E4fE4fC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_h
- .{ .tag = @enumFromInt(3231), .param_str = "hhC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_h2
- .{ .tag = @enumFromInt(3232), .param_str = "E2hE2hC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_i
- .{ .tag = @enumFromInt(3233), .param_str = "iiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_i2
- .{ .tag = @enumFromInt(3234), .param_str = "E2iE2iC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_i4
- .{ .tag = @enumFromInt(3235), .param_str = "E4iE4iC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_l
- .{ .tag = @enumFromInt(3236), .param_str = "LiLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_l2
- .{ .tag = @enumFromInt(3237), .param_str = "E2LiE2LiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_ll
- .{ .tag = @enumFromInt(3238), .param_str = "LLiLLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_ll2
- .{ .tag = @enumFromInt(3239), .param_str = "E2LLiE2LLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_s
- .{ .tag = @enumFromInt(3240), .param_str = "ssC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_s2
- .{ .tag = @enumFromInt(3241), .param_str = "E2sE2sC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_s4
- .{ .tag = @enumFromInt(3242), .param_str = "E4sE4sC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_sc
- .{ .tag = @enumFromInt(3243), .param_str = "ScScC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_sc2
- .{ .tag = @enumFromInt(3244), .param_str = "E2ScE2ScC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_sc4
- .{ .tag = @enumFromInt(3245), .param_str = "E4ScE4ScC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_uc
- .{ .tag = @enumFromInt(3246), .param_str = "UcUcC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_uc2
- .{ .tag = @enumFromInt(3247), .param_str = "E2UcE2UcC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_uc4
- .{ .tag = @enumFromInt(3248), .param_str = "E4UcE4UcC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_ui
- .{ .tag = @enumFromInt(3249), .param_str = "UiUiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_ui2
- .{ .tag = @enumFromInt(3250), .param_str = "E2UiE2UiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_ui4
- .{ .tag = @enumFromInt(3251), .param_str = "E4UiE4UiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_ul
- .{ .tag = @enumFromInt(3252), .param_str = "ULiULiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_ul2
- .{ .tag = @enumFromInt(3253), .param_str = "E2ULiE2ULiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_ull
- .{ .tag = @enumFromInt(3254), .param_str = "ULLiULLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_ull2
- .{ .tag = @enumFromInt(3255), .param_str = "E2ULLiE2ULLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_us
- .{ .tag = @enumFromInt(3256), .param_str = "UsUsC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_us2
- .{ .tag = @enumFromInt(3257), .param_str = "E2UsE2UsC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldg_us4
- .{ .tag = @enumFromInt(3258), .param_str = "E4UsE4UsC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_c
- .{ .tag = @enumFromInt(3259), .param_str = "ccC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_c2
- .{ .tag = @enumFromInt(3260), .param_str = "E2cE2cC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_c4
- .{ .tag = @enumFromInt(3261), .param_str = "E4cE4cC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_d
- .{ .tag = @enumFromInt(3262), .param_str = "ddC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_d2
- .{ .tag = @enumFromInt(3263), .param_str = "E2dE2dC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_f
- .{ .tag = @enumFromInt(3264), .param_str = "ffC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_f2
- .{ .tag = @enumFromInt(3265), .param_str = "E2fE2fC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_f4
- .{ .tag = @enumFromInt(3266), .param_str = "E4fE4fC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_h
- .{ .tag = @enumFromInt(3267), .param_str = "hhC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_h2
- .{ .tag = @enumFromInt(3268), .param_str = "E2hE2hC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_i
- .{ .tag = @enumFromInt(3269), .param_str = "iiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_i2
- .{ .tag = @enumFromInt(3270), .param_str = "E2iE2iC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_i4
- .{ .tag = @enumFromInt(3271), .param_str = "E4iE4iC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_l
- .{ .tag = @enumFromInt(3272), .param_str = "LiLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_l2
- .{ .tag = @enumFromInt(3273), .param_str = "E2LiE2LiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_ll
- .{ .tag = @enumFromInt(3274), .param_str = "LLiLLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_ll2
- .{ .tag = @enumFromInt(3275), .param_str = "E2LLiE2LLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_s
- .{ .tag = @enumFromInt(3276), .param_str = "ssC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_s2
- .{ .tag = @enumFromInt(3277), .param_str = "E2sE2sC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_s4
- .{ .tag = @enumFromInt(3278), .param_str = "E4sE4sC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_sc
- .{ .tag = @enumFromInt(3279), .param_str = "ScScC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_sc2
- .{ .tag = @enumFromInt(3280), .param_str = "E2ScE2ScC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_sc4
- .{ .tag = @enumFromInt(3281), .param_str = "E4ScE4ScC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_uc
- .{ .tag = @enumFromInt(3282), .param_str = "UcUcC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_uc2
- .{ .tag = @enumFromInt(3283), .param_str = "E2UcE2UcC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_uc4
- .{ .tag = @enumFromInt(3284), .param_str = "E4UcE4UcC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_ui
- .{ .tag = @enumFromInt(3285), .param_str = "UiUiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_ui2
- .{ .tag = @enumFromInt(3286), .param_str = "E2UiE2UiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_ui4
- .{ .tag = @enumFromInt(3287), .param_str = "E4UiE4UiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_ul
- .{ .tag = @enumFromInt(3288), .param_str = "ULiULiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_ul2
- .{ .tag = @enumFromInt(3289), .param_str = "E2ULiE2ULiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_ull
- .{ .tag = @enumFromInt(3290), .param_str = "ULLiULLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_ull2
- .{ .tag = @enumFromInt(3291), .param_str = "E2ULLiE2ULLiC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_us
- .{ .tag = @enumFromInt(3292), .param_str = "UsUsC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_us2
- .{ .tag = @enumFromInt(3293), .param_str = "E2UsE2UsC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ldu_us4
- .{ .tag = @enumFromInt(3294), .param_str = "E4UsE4UsC*", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_lg2_approx_d
- .{ .tag = @enumFromInt(3295), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_lg2_approx_f
- .{ .tag = @enumFromInt(3296), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_lg2_approx_ftz_f
- .{ .tag = @enumFromInt(3297), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ll2d_rm
- .{ .tag = @enumFromInt(3298), .param_str = "dLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ll2d_rn
- .{ .tag = @enumFromInt(3299), .param_str = "dLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ll2d_rp
- .{ .tag = @enumFromInt(3300), .param_str = "dLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ll2d_rz
- .{ .tag = @enumFromInt(3301), .param_str = "dLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ll2f_rm
- .{ .tag = @enumFromInt(3302), .param_str = "fLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ll2f_rn
- .{ .tag = @enumFromInt(3303), .param_str = "fLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ll2f_rp
- .{ .tag = @enumFromInt(3304), .param_str = "fLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ll2f_rz
- .{ .tag = @enumFromInt(3305), .param_str = "fLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_lohi_i2d
- .{ .tag = @enumFromInt(3306), .param_str = "dii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_membar_cta
- .{ .tag = @enumFromInt(3307), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_membar_gl
- .{ .tag = @enumFromInt(3308), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_membar_sys
- .{ .tag = @enumFromInt(3309), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_memcpy
- .{ .tag = @enumFromInt(3310), .param_str = "vUc*Uc*zi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_memset
- .{ .tag = @enumFromInt(3311), .param_str = "vUc*Uczi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul24_i
- .{ .tag = @enumFromInt(3312), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul24_ui
- .{ .tag = @enumFromInt(3313), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul_rm_d
- .{ .tag = @enumFromInt(3314), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul_rm_f
- .{ .tag = @enumFromInt(3315), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul_rm_ftz_f
- .{ .tag = @enumFromInt(3316), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul_rn_d
- .{ .tag = @enumFromInt(3317), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul_rn_f
- .{ .tag = @enumFromInt(3318), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul_rn_ftz_f
- .{ .tag = @enumFromInt(3319), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul_rp_d
- .{ .tag = @enumFromInt(3320), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul_rp_f
- .{ .tag = @enumFromInt(3321), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul_rp_ftz_f
- .{ .tag = @enumFromInt(3322), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul_rz_d
- .{ .tag = @enumFromInt(3323), .param_str = "ddd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul_rz_f
- .{ .tag = @enumFromInt(3324), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mul_rz_ftz_f
- .{ .tag = @enumFromInt(3325), .param_str = "fff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mulhi_i
- .{ .tag = @enumFromInt(3326), .param_str = "iii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mulhi_ll
- .{ .tag = @enumFromInt(3327), .param_str = "LLiLLiLLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mulhi_ui
- .{ .tag = @enumFromInt(3328), .param_str = "UiUiUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_mulhi_ull
- .{ .tag = @enumFromInt(3329), .param_str = "ULLiULLiULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_prmt
- .{ .tag = @enumFromInt(3330), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_approx_ftz_d
- .{ .tag = @enumFromInt(3331), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_approx_ftz_f
- .{ .tag = @enumFromInt(3332), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_rm_d
- .{ .tag = @enumFromInt(3333), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_rm_f
- .{ .tag = @enumFromInt(3334), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_rm_ftz_f
- .{ .tag = @enumFromInt(3335), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_rn_d
- .{ .tag = @enumFromInt(3336), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_rn_f
- .{ .tag = @enumFromInt(3337), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_rn_ftz_f
- .{ .tag = @enumFromInt(3338), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_rp_d
- .{ .tag = @enumFromInt(3339), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_rp_f
- .{ .tag = @enumFromInt(3340), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_rp_ftz_f
- .{ .tag = @enumFromInt(3341), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_rz_d
- .{ .tag = @enumFromInt(3342), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_rz_f
- .{ .tag = @enumFromInt(3343), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rcp_rz_ftz_f
- .{ .tag = @enumFromInt(3344), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_read_ptx_sreg_clock
- .{ .tag = @enumFromInt(3345), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_read_ptx_sreg_clock64
- .{ .tag = @enumFromInt(3346), .param_str = "LLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_read_ptx_sreg_ctaid_w
- .{ .tag = @enumFromInt(3347), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_ctaid_x
- .{ .tag = @enumFromInt(3348), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_ctaid_y
- .{ .tag = @enumFromInt(3349), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_ctaid_z
- .{ .tag = @enumFromInt(3350), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_gridid
- .{ .tag = @enumFromInt(3351), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_laneid
- .{ .tag = @enumFromInt(3352), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_lanemask_eq
- .{ .tag = @enumFromInt(3353), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_lanemask_ge
- .{ .tag = @enumFromInt(3354), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_lanemask_gt
- .{ .tag = @enumFromInt(3355), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_lanemask_le
- .{ .tag = @enumFromInt(3356), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_lanemask_lt
- .{ .tag = @enumFromInt(3357), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_nctaid_w
- .{ .tag = @enumFromInt(3358), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_nctaid_x
- .{ .tag = @enumFromInt(3359), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_nctaid_y
- .{ .tag = @enumFromInt(3360), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_nctaid_z
- .{ .tag = @enumFromInt(3361), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_nsmid
- .{ .tag = @enumFromInt(3362), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_ntid_w
- .{ .tag = @enumFromInt(3363), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_ntid_x
- .{ .tag = @enumFromInt(3364), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_ntid_y
- .{ .tag = @enumFromInt(3365), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_ntid_z
- .{ .tag = @enumFromInt(3366), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_nwarpid
- .{ .tag = @enumFromInt(3367), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_pm0
- .{ .tag = @enumFromInt(3368), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_read_ptx_sreg_pm1
- .{ .tag = @enumFromInt(3369), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_read_ptx_sreg_pm2
- .{ .tag = @enumFromInt(3370), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_read_ptx_sreg_pm3
- .{ .tag = @enumFromInt(3371), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_read_ptx_sreg_smid
- .{ .tag = @enumFromInt(3372), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_tid_w
- .{ .tag = @enumFromInt(3373), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_tid_x
- .{ .tag = @enumFromInt(3374), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_tid_y
- .{ .tag = @enumFromInt(3375), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_tid_z
- .{ .tag = @enumFromInt(3376), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_read_ptx_sreg_warpid
- .{ .tag = @enumFromInt(3377), .param_str = "i", .properties = .{ .target_set = TargetSet.initOne(.nvptx), .attributes = .{ .@"const" = true } } },
- // __nvvm_round_d
- .{ .tag = @enumFromInt(3378), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_round_f
- .{ .tag = @enumFromInt(3379), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_round_ftz_f
- .{ .tag = @enumFromInt(3380), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rsqrt_approx_d
- .{ .tag = @enumFromInt(3381), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rsqrt_approx_f
- .{ .tag = @enumFromInt(3382), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_rsqrt_approx_ftz_f
- .{ .tag = @enumFromInt(3383), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sad_i
- .{ .tag = @enumFromInt(3384), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sad_ui
- .{ .tag = @enumFromInt(3385), .param_str = "UiUiUiUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_saturate_d
- .{ .tag = @enumFromInt(3386), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_saturate_f
- .{ .tag = @enumFromInt(3387), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_saturate_ftz_f
- .{ .tag = @enumFromInt(3388), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_shfl_bfly_f32
- .{ .tag = @enumFromInt(3389), .param_str = "ffii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_shfl_bfly_i32
- .{ .tag = @enumFromInt(3390), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_shfl_down_f32
- .{ .tag = @enumFromInt(3391), .param_str = "ffii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_shfl_down_i32
- .{ .tag = @enumFromInt(3392), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_shfl_idx_f32
- .{ .tag = @enumFromInt(3393), .param_str = "ffii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_shfl_idx_i32
- .{ .tag = @enumFromInt(3394), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_shfl_up_f32
- .{ .tag = @enumFromInt(3395), .param_str = "ffii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_shfl_up_i32
- .{ .tag = @enumFromInt(3396), .param_str = "iiii", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sin_approx_f
- .{ .tag = @enumFromInt(3397), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sin_approx_ftz_f
- .{ .tag = @enumFromInt(3398), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_approx_f
- .{ .tag = @enumFromInt(3399), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_approx_ftz_f
- .{ .tag = @enumFromInt(3400), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_rm_d
- .{ .tag = @enumFromInt(3401), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_rm_f
- .{ .tag = @enumFromInt(3402), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_rm_ftz_f
- .{ .tag = @enumFromInt(3403), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_rn_d
- .{ .tag = @enumFromInt(3404), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_rn_f
- .{ .tag = @enumFromInt(3405), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_rn_ftz_f
- .{ .tag = @enumFromInt(3406), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_rp_d
- .{ .tag = @enumFromInt(3407), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_rp_f
- .{ .tag = @enumFromInt(3408), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_rp_ftz_f
- .{ .tag = @enumFromInt(3409), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_rz_d
- .{ .tag = @enumFromInt(3410), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_rz_f
- .{ .tag = @enumFromInt(3411), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_sqrt_rz_ftz_f
- .{ .tag = @enumFromInt(3412), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_trunc_d
- .{ .tag = @enumFromInt(3413), .param_str = "dd", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_trunc_f
- .{ .tag = @enumFromInt(3414), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_trunc_ftz_f
- .{ .tag = @enumFromInt(3415), .param_str = "ff", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ui2d_rm
- .{ .tag = @enumFromInt(3416), .param_str = "dUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ui2d_rn
- .{ .tag = @enumFromInt(3417), .param_str = "dUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ui2d_rp
- .{ .tag = @enumFromInt(3418), .param_str = "dUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ui2d_rz
- .{ .tag = @enumFromInt(3419), .param_str = "dUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ui2f_rm
- .{ .tag = @enumFromInt(3420), .param_str = "fUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ui2f_rn
- .{ .tag = @enumFromInt(3421), .param_str = "fUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ui2f_rp
- .{ .tag = @enumFromInt(3422), .param_str = "fUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ui2f_rz
- .{ .tag = @enumFromInt(3423), .param_str = "fUi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ull2d_rm
- .{ .tag = @enumFromInt(3424), .param_str = "dULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ull2d_rn
- .{ .tag = @enumFromInt(3425), .param_str = "dULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ull2d_rp
- .{ .tag = @enumFromInt(3426), .param_str = "dULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ull2d_rz
- .{ .tag = @enumFromInt(3427), .param_str = "dULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ull2f_rm
- .{ .tag = @enumFromInt(3428), .param_str = "fULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ull2f_rn
- .{ .tag = @enumFromInt(3429), .param_str = "fULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ull2f_rp
- .{ .tag = @enumFromInt(3430), .param_str = "fULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_ull2f_rz
- .{ .tag = @enumFromInt(3431), .param_str = "fULLi", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_vote_all
- .{ .tag = @enumFromInt(3432), .param_str = "bb", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_vote_any
- .{ .tag = @enumFromInt(3433), .param_str = "bb", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_vote_ballot
- .{ .tag = @enumFromInt(3434), .param_str = "Uib", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __nvvm_vote_uni
- .{ .tag = @enumFromInt(3435), .param_str = "bb", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __popcnt
- .{ .tag = @enumFromInt(3436), .param_str = "UiUi", .properties = .{ .language = .all_ms_languages, .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __popcnt16
- .{ .tag = @enumFromInt(3437), .param_str = "UsUs", .properties = .{ .language = .all_ms_languages, .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __popcnt64
- .{ .tag = @enumFromInt(3438), .param_str = "UWiUWi", .properties = .{ .language = .all_ms_languages, .attributes = .{ .@"const" = true, .const_evaluable = true } } },
- // __rdtsc
- .{ .tag = @enumFromInt(3439), .param_str = "UOi", .properties = .{ .target_set = TargetSet.initOne(.x86) } },
- // __sev
- .{ .tag = @enumFromInt(3440), .param_str = "v", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // __sevl
- .{ .tag = @enumFromInt(3441), .param_str = "v", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // __sigsetjmp
- .{ .tag = @enumFromInt(3442), .param_str = "iSJi", .properties = .{ .header = .setjmp, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
- // __sinpi
- .{ .tag = @enumFromInt(3443), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __sinpif
- .{ .tag = @enumFromInt(3444), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __sync_add_and_fetch
- .{ .tag = @enumFromInt(3445), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_add_and_fetch_1
- .{ .tag = @enumFromInt(3446), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_add_and_fetch_16
- .{ .tag = @enumFromInt(3447), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_add_and_fetch_2
- .{ .tag = @enumFromInt(3448), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_add_and_fetch_4
- .{ .tag = @enumFromInt(3449), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_add_and_fetch_8
- .{ .tag = @enumFromInt(3450), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_and_and_fetch
- .{ .tag = @enumFromInt(3451), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_and_and_fetch_1
- .{ .tag = @enumFromInt(3452), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_and_and_fetch_16
- .{ .tag = @enumFromInt(3453), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_and_and_fetch_2
- .{ .tag = @enumFromInt(3454), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_and_and_fetch_4
- .{ .tag = @enumFromInt(3455), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_and_and_fetch_8
- .{ .tag = @enumFromInt(3456), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_bool_compare_and_swap
- .{ .tag = @enumFromInt(3457), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_bool_compare_and_swap_1
- .{ .tag = @enumFromInt(3458), .param_str = "bcD*cc.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_bool_compare_and_swap_16
- .{ .tag = @enumFromInt(3459), .param_str = "bLLLiD*LLLiLLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_bool_compare_and_swap_2
- .{ .tag = @enumFromInt(3460), .param_str = "bsD*ss.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_bool_compare_and_swap_4
- .{ .tag = @enumFromInt(3461), .param_str = "biD*ii.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_bool_compare_and_swap_8
- .{ .tag = @enumFromInt(3462), .param_str = "bLLiD*LLiLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_add
- .{ .tag = @enumFromInt(3463), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_add_1
- .{ .tag = @enumFromInt(3464), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_add_16
- .{ .tag = @enumFromInt(3465), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_add_2
- .{ .tag = @enumFromInt(3466), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_add_4
- .{ .tag = @enumFromInt(3467), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_add_8
- .{ .tag = @enumFromInt(3468), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_and
- .{ .tag = @enumFromInt(3469), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_and_1
- .{ .tag = @enumFromInt(3470), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_and_16
- .{ .tag = @enumFromInt(3471), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_and_2
- .{ .tag = @enumFromInt(3472), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_and_4
- .{ .tag = @enumFromInt(3473), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_and_8
- .{ .tag = @enumFromInt(3474), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_max
- .{ .tag = @enumFromInt(3475), .param_str = "iiD*i", .properties = .{} },
- // __sync_fetch_and_min
- .{ .tag = @enumFromInt(3476), .param_str = "iiD*i", .properties = .{} },
- // __sync_fetch_and_nand
- .{ .tag = @enumFromInt(3477), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_nand_1
- .{ .tag = @enumFromInt(3478), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_nand_16
- .{ .tag = @enumFromInt(3479), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_nand_2
- .{ .tag = @enumFromInt(3480), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_nand_4
- .{ .tag = @enumFromInt(3481), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_nand_8
- .{ .tag = @enumFromInt(3482), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_or
- .{ .tag = @enumFromInt(3483), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_or_1
- .{ .tag = @enumFromInt(3484), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_or_16
- .{ .tag = @enumFromInt(3485), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_or_2
- .{ .tag = @enumFromInt(3486), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_or_4
- .{ .tag = @enumFromInt(3487), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_or_8
- .{ .tag = @enumFromInt(3488), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_sub
- .{ .tag = @enumFromInt(3489), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_sub_1
- .{ .tag = @enumFromInt(3490), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_sub_16
- .{ .tag = @enumFromInt(3491), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_sub_2
- .{ .tag = @enumFromInt(3492), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_sub_4
- .{ .tag = @enumFromInt(3493), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_sub_8
- .{ .tag = @enumFromInt(3494), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_umax
- .{ .tag = @enumFromInt(3495), .param_str = "UiUiD*Ui", .properties = .{} },
- // __sync_fetch_and_umin
- .{ .tag = @enumFromInt(3496), .param_str = "UiUiD*Ui", .properties = .{} },
- // __sync_fetch_and_xor
- .{ .tag = @enumFromInt(3497), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_xor_1
- .{ .tag = @enumFromInt(3498), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_xor_16
- .{ .tag = @enumFromInt(3499), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_xor_2
- .{ .tag = @enumFromInt(3500), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_xor_4
- .{ .tag = @enumFromInt(3501), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_fetch_and_xor_8
- .{ .tag = @enumFromInt(3502), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_lock_release
- .{ .tag = @enumFromInt(3503), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_lock_release_1
- .{ .tag = @enumFromInt(3504), .param_str = "vcD*.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_lock_release_16
- .{ .tag = @enumFromInt(3505), .param_str = "vLLLiD*.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_lock_release_2
- .{ .tag = @enumFromInt(3506), .param_str = "vsD*.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_lock_release_4
- .{ .tag = @enumFromInt(3507), .param_str = "viD*.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_lock_release_8
- .{ .tag = @enumFromInt(3508), .param_str = "vLLiD*.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_lock_test_and_set
- .{ .tag = @enumFromInt(3509), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_lock_test_and_set_1
- .{ .tag = @enumFromInt(3510), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_lock_test_and_set_16
- .{ .tag = @enumFromInt(3511), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_lock_test_and_set_2
- .{ .tag = @enumFromInt(3512), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_lock_test_and_set_4
- .{ .tag = @enumFromInt(3513), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_lock_test_and_set_8
- .{ .tag = @enumFromInt(3514), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_nand_and_fetch
- .{ .tag = @enumFromInt(3515), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_nand_and_fetch_1
- .{ .tag = @enumFromInt(3516), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_nand_and_fetch_16
- .{ .tag = @enumFromInt(3517), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_nand_and_fetch_2
- .{ .tag = @enumFromInt(3518), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_nand_and_fetch_4
- .{ .tag = @enumFromInt(3519), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_nand_and_fetch_8
- .{ .tag = @enumFromInt(3520), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_or_and_fetch
- .{ .tag = @enumFromInt(3521), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_or_and_fetch_1
- .{ .tag = @enumFromInt(3522), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_or_and_fetch_16
- .{ .tag = @enumFromInt(3523), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_or_and_fetch_2
- .{ .tag = @enumFromInt(3524), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_or_and_fetch_4
- .{ .tag = @enumFromInt(3525), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_or_and_fetch_8
- .{ .tag = @enumFromInt(3526), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_sub_and_fetch
- .{ .tag = @enumFromInt(3527), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_sub_and_fetch_1
- .{ .tag = @enumFromInt(3528), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_sub_and_fetch_16
- .{ .tag = @enumFromInt(3529), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_sub_and_fetch_2
- .{ .tag = @enumFromInt(3530), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_sub_and_fetch_4
- .{ .tag = @enumFromInt(3531), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_sub_and_fetch_8
- .{ .tag = @enumFromInt(3532), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_swap
- .{ .tag = @enumFromInt(3533), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_swap_1
- .{ .tag = @enumFromInt(3534), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_swap_16
- .{ .tag = @enumFromInt(3535), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_swap_2
- .{ .tag = @enumFromInt(3536), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_swap_4
- .{ .tag = @enumFromInt(3537), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_swap_8
- .{ .tag = @enumFromInt(3538), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_synchronize
- .{ .tag = @enumFromInt(3539), .param_str = "v", .properties = .{} },
- // __sync_val_compare_and_swap
- .{ .tag = @enumFromInt(3540), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_val_compare_and_swap_1
- .{ .tag = @enumFromInt(3541), .param_str = "ccD*cc.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_val_compare_and_swap_16
- .{ .tag = @enumFromInt(3542), .param_str = "LLLiLLLiD*LLLiLLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_val_compare_and_swap_2
- .{ .tag = @enumFromInt(3543), .param_str = "ssD*ss.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_val_compare_and_swap_4
- .{ .tag = @enumFromInt(3544), .param_str = "iiD*ii.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_val_compare_and_swap_8
- .{ .tag = @enumFromInt(3545), .param_str = "LLiLLiD*LLiLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_xor_and_fetch
- .{ .tag = @enumFromInt(3546), .param_str = "v.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_xor_and_fetch_1
- .{ .tag = @enumFromInt(3547), .param_str = "ccD*c.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_xor_and_fetch_16
- .{ .tag = @enumFromInt(3548), .param_str = "LLLiLLLiD*LLLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_xor_and_fetch_2
- .{ .tag = @enumFromInt(3549), .param_str = "ssD*s.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_xor_and_fetch_4
- .{ .tag = @enumFromInt(3550), .param_str = "iiD*i.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __sync_xor_and_fetch_8
- .{ .tag = @enumFromInt(3551), .param_str = "LLiLLiD*LLi.", .properties = .{ .attributes = .{ .custom_typecheck = true } } },
- // __syncthreads
- .{ .tag = @enumFromInt(3552), .param_str = "v", .properties = .{ .target_set = TargetSet.initOne(.nvptx) } },
- // __tanpi
- .{ .tag = @enumFromInt(3553), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __tanpif
- .{ .tag = @enumFromInt(3554), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // __va_start
- .{ .tag = @enumFromInt(3555), .param_str = "vc**.", .properties = .{ .language = .all_ms_languages, .attributes = .{ .custom_typecheck = true } } },
- // __warn_memset_zero_len
- .{ .tag = @enumFromInt(3556), .param_str = "v", .properties = .{ .attributes = .{ .pure = true } } },
- // __wfe
- .{ .tag = @enumFromInt(3557), .param_str = "v", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // __wfi
- .{ .tag = @enumFromInt(3558), .param_str = "v", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // __xray_customevent
- .{ .tag = @enumFromInt(3559), .param_str = "vcC*z", .properties = .{} },
- // __xray_typedevent
- .{ .tag = @enumFromInt(3560), .param_str = "vzcC*z", .properties = .{} },
- // __yield
- .{ .tag = @enumFromInt(3561), .param_str = "v", .properties = .{ .language = .all_ms_languages, .target_set = TargetSet.initMany(&.{ .aarch64, .arm }) } },
- // _abnormal_termination
- .{ .tag = @enumFromInt(3562), .param_str = "i", .properties = .{ .language = .all_ms_languages } },
- // _alloca
- .{ .tag = @enumFromInt(3563), .param_str = "v*z", .properties = .{ .language = .all_ms_languages } },
- // _bittest
- .{ .tag = @enumFromInt(3564), .param_str = "UcNiC*Ni", .properties = .{ .language = .all_ms_languages } },
- // _bittest64
- .{ .tag = @enumFromInt(3565), .param_str = "UcWiC*Wi", .properties = .{ .language = .all_ms_languages } },
- // _bittestandcomplement
- .{ .tag = @enumFromInt(3566), .param_str = "UcNi*Ni", .properties = .{ .language = .all_ms_languages } },
- // _bittestandcomplement64
- .{ .tag = @enumFromInt(3567), .param_str = "UcWi*Wi", .properties = .{ .language = .all_ms_languages } },
- // _bittestandreset
- .{ .tag = @enumFromInt(3568), .param_str = "UcNi*Ni", .properties = .{ .language = .all_ms_languages } },
- // _bittestandreset64
- .{ .tag = @enumFromInt(3569), .param_str = "UcWi*Wi", .properties = .{ .language = .all_ms_languages } },
- // _bittestandset
- .{ .tag = @enumFromInt(3570), .param_str = "UcNi*Ni", .properties = .{ .language = .all_ms_languages } },
- // _bittestandset64
- .{ .tag = @enumFromInt(3571), .param_str = "UcWi*Wi", .properties = .{ .language = .all_ms_languages } },
- // _byteswap_uint64
- .{ .tag = @enumFromInt(3572), .param_str = "ULLiULLi", .properties = .{ .header = .stdlib, .language = .all_ms_languages, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // _byteswap_ulong
- .{ .tag = @enumFromInt(3573), .param_str = "UNiUNi", .properties = .{ .header = .stdlib, .language = .all_ms_languages, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // _byteswap_ushort
- .{ .tag = @enumFromInt(3574), .param_str = "UsUs", .properties = .{ .header = .stdlib, .language = .all_ms_languages, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // _exception_code
- .{ .tag = @enumFromInt(3575), .param_str = "UNi", .properties = .{ .language = .all_ms_languages } },
- // _exception_info
- .{ .tag = @enumFromInt(3576), .param_str = "v*", .properties = .{ .language = .all_ms_languages } },
- // _exit
- .{ .tag = @enumFromInt(3577), .param_str = "vi", .properties = .{ .header = .unistd, .language = .all_gnu_languages, .attributes = .{ .noreturn = true, .lib_function_without_prefix = true } } },
- // _interlockedbittestandreset
- .{ .tag = @enumFromInt(3578), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _interlockedbittestandreset64
- .{ .tag = @enumFromInt(3579), .param_str = "UcWiD*Wi", .properties = .{ .language = .all_ms_languages } },
- // _interlockedbittestandreset_acq
- .{ .tag = @enumFromInt(3580), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _interlockedbittestandreset_nf
- .{ .tag = @enumFromInt(3581), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _interlockedbittestandreset_rel
- .{ .tag = @enumFromInt(3582), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _interlockedbittestandset
- .{ .tag = @enumFromInt(3583), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _interlockedbittestandset64
- .{ .tag = @enumFromInt(3584), .param_str = "UcWiD*Wi", .properties = .{ .language = .all_ms_languages } },
- // _interlockedbittestandset_acq
- .{ .tag = @enumFromInt(3585), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _interlockedbittestandset_nf
- .{ .tag = @enumFromInt(3586), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _interlockedbittestandset_rel
- .{ .tag = @enumFromInt(3587), .param_str = "UcNiD*Ni", .properties = .{ .language = .all_ms_languages } },
- // _longjmp
- .{ .tag = @enumFromInt(3588), .param_str = "vJi", .properties = .{ .header = .setjmp, .language = .all_gnu_languages, .attributes = .{ .noreturn = true, .allow_type_mismatch = true, .lib_function_without_prefix = true } } },
- // _lrotl
- .{ .tag = @enumFromInt(3589), .param_str = "ULiULii", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
- // _lrotr
- .{ .tag = @enumFromInt(3590), .param_str = "ULiULii", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
- // _rotl
- .{ .tag = @enumFromInt(3591), .param_str = "UiUii", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
- // _rotl16
- .{ .tag = @enumFromInt(3592), .param_str = "UsUsUc", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
- // _rotl64
- .{ .tag = @enumFromInt(3593), .param_str = "UWiUWii", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
- // _rotl8
- .{ .tag = @enumFromInt(3594), .param_str = "UcUcUc", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
- // _rotr
- .{ .tag = @enumFromInt(3595), .param_str = "UiUii", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
- // _rotr16
- .{ .tag = @enumFromInt(3596), .param_str = "UsUsUc", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
- // _rotr64
- .{ .tag = @enumFromInt(3597), .param_str = "UWiUWii", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
- // _rotr8
- .{ .tag = @enumFromInt(3598), .param_str = "UcUcUc", .properties = .{ .language = .all_ms_languages, .attributes = .{ .const_evaluable = true } } },
- // _setjmp
- .{ .tag = @enumFromInt(3599), .param_str = "iJ", .properties = .{ .header = .setjmp, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
- // _setjmpex
- .{ .tag = @enumFromInt(3600), .param_str = "iJ", .properties = .{ .header = .setjmpex, .language = .all_ms_languages, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
- // abort
- .{ .tag = @enumFromInt(3601), .param_str = "v", .properties = .{ .header = .stdlib, .attributes = .{ .noreturn = true, .lib_function_without_prefix = true } } },
- // abs
- .{ .tag = @enumFromInt(3602), .param_str = "ii", .properties = .{ .header = .stdlib, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // acos
- .{ .tag = @enumFromInt(3603), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // acosf
- .{ .tag = @enumFromInt(3604), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // acosh
- .{ .tag = @enumFromInt(3605), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // acoshf
- .{ .tag = @enumFromInt(3606), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // acoshl
- .{ .tag = @enumFromInt(3607), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // acosl
- .{ .tag = @enumFromInt(3608), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // aligned_alloc
- .{ .tag = @enumFromInt(3609), .param_str = "v*zz", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
- // alloca
- .{ .tag = @enumFromInt(3610), .param_str = "v*z", .properties = .{ .header = .stdlib, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // asin
- .{ .tag = @enumFromInt(3611), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // asinf
- .{ .tag = @enumFromInt(3612), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // asinh
- .{ .tag = @enumFromInt(3613), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // asinhf
- .{ .tag = @enumFromInt(3614), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // asinhl
- .{ .tag = @enumFromInt(3615), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // asinl
- .{ .tag = @enumFromInt(3616), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // atan
- .{ .tag = @enumFromInt(3617), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // atan2
- .{ .tag = @enumFromInt(3618), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // atan2f
- .{ .tag = @enumFromInt(3619), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // atan2l
- .{ .tag = @enumFromInt(3620), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // atanf
- .{ .tag = @enumFromInt(3621), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // atanh
- .{ .tag = @enumFromInt(3622), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // atanhf
- .{ .tag = @enumFromInt(3623), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // atanhl
- .{ .tag = @enumFromInt(3624), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // atanl
- .{ .tag = @enumFromInt(3625), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // bcmp
- .{ .tag = @enumFromInt(3626), .param_str = "ivC*vC*z", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // bcopy
- .{ .tag = @enumFromInt(3627), .param_str = "vvC*v*z", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // bzero
- .{ .tag = @enumFromInt(3628), .param_str = "vv*z", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // cabs
- .{ .tag = @enumFromInt(3629), .param_str = "dXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cabsf
- .{ .tag = @enumFromInt(3630), .param_str = "fXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cabsl
- .{ .tag = @enumFromInt(3631), .param_str = "LdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cacos
- .{ .tag = @enumFromInt(3632), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cacosf
- .{ .tag = @enumFromInt(3633), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cacosh
- .{ .tag = @enumFromInt(3634), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cacoshf
- .{ .tag = @enumFromInt(3635), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cacoshl
- .{ .tag = @enumFromInt(3636), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cacosl
- .{ .tag = @enumFromInt(3637), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // calloc
- .{ .tag = @enumFromInt(3638), .param_str = "v*zz", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
- // carg
- .{ .tag = @enumFromInt(3639), .param_str = "dXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cargf
- .{ .tag = @enumFromInt(3640), .param_str = "fXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cargl
- .{ .tag = @enumFromInt(3641), .param_str = "LdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // casin
- .{ .tag = @enumFromInt(3642), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // casinf
- .{ .tag = @enumFromInt(3643), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // casinh
- .{ .tag = @enumFromInt(3644), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // casinhf
- .{ .tag = @enumFromInt(3645), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // casinhl
- .{ .tag = @enumFromInt(3646), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // casinl
- .{ .tag = @enumFromInt(3647), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // catan
- .{ .tag = @enumFromInt(3648), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // catanf
- .{ .tag = @enumFromInt(3649), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // catanh
- .{ .tag = @enumFromInt(3650), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // catanhf
- .{ .tag = @enumFromInt(3651), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // catanhl
- .{ .tag = @enumFromInt(3652), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // catanl
- .{ .tag = @enumFromInt(3653), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cbrt
- .{ .tag = @enumFromInt(3654), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // cbrtf
- .{ .tag = @enumFromInt(3655), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // cbrtl
- .{ .tag = @enumFromInt(3656), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // ccos
- .{ .tag = @enumFromInt(3657), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ccosf
- .{ .tag = @enumFromInt(3658), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ccosh
- .{ .tag = @enumFromInt(3659), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ccoshf
- .{ .tag = @enumFromInt(3660), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ccoshl
- .{ .tag = @enumFromInt(3661), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ccosl
- .{ .tag = @enumFromInt(3662), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ceil
- .{ .tag = @enumFromInt(3663), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // ceilf
- .{ .tag = @enumFromInt(3664), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // ceill
- .{ .tag = @enumFromInt(3665), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // cexp
- .{ .tag = @enumFromInt(3666), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cexpf
- .{ .tag = @enumFromInt(3667), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cexpl
- .{ .tag = @enumFromInt(3668), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cimag
- .{ .tag = @enumFromInt(3669), .param_str = "dXd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // cimagf
- .{ .tag = @enumFromInt(3670), .param_str = "fXf", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // cimagl
- .{ .tag = @enumFromInt(3671), .param_str = "LdXLd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // clog
- .{ .tag = @enumFromInt(3672), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // clogf
- .{ .tag = @enumFromInt(3673), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // clogl
- .{ .tag = @enumFromInt(3674), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // conj
- .{ .tag = @enumFromInt(3675), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // conjf
- .{ .tag = @enumFromInt(3676), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // conjl
- .{ .tag = @enumFromInt(3677), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // copysign
- .{ .tag = @enumFromInt(3678), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // copysignf
- .{ .tag = @enumFromInt(3679), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // copysignl
- .{ .tag = @enumFromInt(3680), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // cos
- .{ .tag = @enumFromInt(3681), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cosf
- .{ .tag = @enumFromInt(3682), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cosh
- .{ .tag = @enumFromInt(3683), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // coshf
- .{ .tag = @enumFromInt(3684), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // coshl
- .{ .tag = @enumFromInt(3685), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cosl
- .{ .tag = @enumFromInt(3686), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cpow
- .{ .tag = @enumFromInt(3687), .param_str = "XdXdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cpowf
- .{ .tag = @enumFromInt(3688), .param_str = "XfXfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cpowl
- .{ .tag = @enumFromInt(3689), .param_str = "XLdXLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // cproj
- .{ .tag = @enumFromInt(3690), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // cprojf
- .{ .tag = @enumFromInt(3691), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // cprojl
- .{ .tag = @enumFromInt(3692), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // creal
- .{ .tag = @enumFromInt(3693), .param_str = "dXd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // crealf
- .{ .tag = @enumFromInt(3694), .param_str = "fXf", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // creall
- .{ .tag = @enumFromInt(3695), .param_str = "LdXLd", .properties = .{ .header = .complex, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // csin
- .{ .tag = @enumFromInt(3696), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // csinf
- .{ .tag = @enumFromInt(3697), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // csinh
- .{ .tag = @enumFromInt(3698), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // csinhf
- .{ .tag = @enumFromInt(3699), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // csinhl
- .{ .tag = @enumFromInt(3700), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // csinl
- .{ .tag = @enumFromInt(3701), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // csqrt
- .{ .tag = @enumFromInt(3702), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // csqrtf
- .{ .tag = @enumFromInt(3703), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // csqrtl
- .{ .tag = @enumFromInt(3704), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ctan
- .{ .tag = @enumFromInt(3705), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ctanf
- .{ .tag = @enumFromInt(3706), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ctanh
- .{ .tag = @enumFromInt(3707), .param_str = "XdXd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ctanhf
- .{ .tag = @enumFromInt(3708), .param_str = "XfXf", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ctanhl
- .{ .tag = @enumFromInt(3709), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ctanl
- .{ .tag = @enumFromInt(3710), .param_str = "XLdXLd", .properties = .{ .header = .complex, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // erf
- .{ .tag = @enumFromInt(3711), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // erfc
- .{ .tag = @enumFromInt(3712), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // erfcf
- .{ .tag = @enumFromInt(3713), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // erfcl
- .{ .tag = @enumFromInt(3714), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // erff
- .{ .tag = @enumFromInt(3715), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // erfl
- .{ .tag = @enumFromInt(3716), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // exit
- .{ .tag = @enumFromInt(3717), .param_str = "vi", .properties = .{ .header = .stdlib, .attributes = .{ .noreturn = true, .lib_function_without_prefix = true } } },
- // exp
- .{ .tag = @enumFromInt(3718), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // exp2
- .{ .tag = @enumFromInt(3719), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // exp2f
- .{ .tag = @enumFromInt(3720), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // exp2l
- .{ .tag = @enumFromInt(3721), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // expf
- .{ .tag = @enumFromInt(3722), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // expl
- .{ .tag = @enumFromInt(3723), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // expm1
- .{ .tag = @enumFromInt(3724), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // expm1f
- .{ .tag = @enumFromInt(3725), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // expm1l
- .{ .tag = @enumFromInt(3726), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // fabs
- .{ .tag = @enumFromInt(3727), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // fabsf
- .{ .tag = @enumFromInt(3728), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // fabsl
- .{ .tag = @enumFromInt(3729), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // fdim
- .{ .tag = @enumFromInt(3730), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // fdimf
- .{ .tag = @enumFromInt(3731), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // fdiml
- .{ .tag = @enumFromInt(3732), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // finite
- .{ .tag = @enumFromInt(3733), .param_str = "id", .properties = .{ .header = .math, .language = .gnu_lang, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // finitef
- .{ .tag = @enumFromInt(3734), .param_str = "if", .properties = .{ .header = .math, .language = .gnu_lang, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // finitel
- .{ .tag = @enumFromInt(3735), .param_str = "iLd", .properties = .{ .header = .math, .language = .gnu_lang, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // floor
- .{ .tag = @enumFromInt(3736), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // floorf
- .{ .tag = @enumFromInt(3737), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // floorl
- .{ .tag = @enumFromInt(3738), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // fma
- .{ .tag = @enumFromInt(3739), .param_str = "dddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // fmaf
- .{ .tag = @enumFromInt(3740), .param_str = "ffff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // fmal
- .{ .tag = @enumFromInt(3741), .param_str = "LdLdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // fmax
- .{ .tag = @enumFromInt(3742), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // fmaxf
- .{ .tag = @enumFromInt(3743), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // fmaxl
- .{ .tag = @enumFromInt(3744), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // fmin
- .{ .tag = @enumFromInt(3745), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // fminf
- .{ .tag = @enumFromInt(3746), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // fminl
- .{ .tag = @enumFromInt(3747), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // fmod
- .{ .tag = @enumFromInt(3748), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // fmodf
- .{ .tag = @enumFromInt(3749), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // fmodl
- .{ .tag = @enumFromInt(3750), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // fopen
- .{ .tag = @enumFromInt(3751), .param_str = "P*cC*cC*", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true } } },
- // fprintf
- .{ .tag = @enumFromInt(3752), .param_str = "iP*cC*.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .printf, .format_string_position = 1 } } },
- // fread
- .{ .tag = @enumFromInt(3753), .param_str = "zv*zzP*", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true } } },
- // free
- .{ .tag = @enumFromInt(3754), .param_str = "vv*", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
- // frexp
- .{ .tag = @enumFromInt(3755), .param_str = "ddi*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
- // frexpf
- .{ .tag = @enumFromInt(3756), .param_str = "ffi*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
- // frexpl
- .{ .tag = @enumFromInt(3757), .param_str = "LdLdi*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
- // fscanf
- .{ .tag = @enumFromInt(3758), .param_str = "iP*RcC*R.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .scanf, .format_string_position = 1 } } },
- // fwrite
- .{ .tag = @enumFromInt(3759), .param_str = "zvC*zzP*", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true } } },
- // getcontext
- .{ .tag = @enumFromInt(3760), .param_str = "iK*", .properties = .{ .header = .setjmp, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
- // hypot
- .{ .tag = @enumFromInt(3761), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // hypotf
- .{ .tag = @enumFromInt(3762), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // hypotl
- .{ .tag = @enumFromInt(3763), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ilogb
- .{ .tag = @enumFromInt(3764), .param_str = "id", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ilogbf
- .{ .tag = @enumFromInt(3765), .param_str = "if", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ilogbl
- .{ .tag = @enumFromInt(3766), .param_str = "iLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // index
- .{ .tag = @enumFromInt(3767), .param_str = "c*cC*i", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // isalnum
- .{ .tag = @enumFromInt(3768), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // isalpha
- .{ .tag = @enumFromInt(3769), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // isblank
- .{ .tag = @enumFromInt(3770), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // iscntrl
- .{ .tag = @enumFromInt(3771), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // isdigit
- .{ .tag = @enumFromInt(3772), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // isgraph
- .{ .tag = @enumFromInt(3773), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // islower
- .{ .tag = @enumFromInt(3774), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // isprint
- .{ .tag = @enumFromInt(3775), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // ispunct
- .{ .tag = @enumFromInt(3776), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // isspace
- .{ .tag = @enumFromInt(3777), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // isupper
- .{ .tag = @enumFromInt(3778), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // isxdigit
- .{ .tag = @enumFromInt(3779), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // labs
- .{ .tag = @enumFromInt(3780), .param_str = "LiLi", .properties = .{ .header = .stdlib, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // ldexp
- .{ .tag = @enumFromInt(3781), .param_str = "ddi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ldexpf
- .{ .tag = @enumFromInt(3782), .param_str = "ffi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // ldexpl
- .{ .tag = @enumFromInt(3783), .param_str = "LdLdi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // lgamma
- .{ .tag = @enumFromInt(3784), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
- // lgammaf
- .{ .tag = @enumFromInt(3785), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
- // lgammal
- .{ .tag = @enumFromInt(3786), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
- // llabs
- .{ .tag = @enumFromInt(3787), .param_str = "LLiLLi", .properties = .{ .header = .stdlib, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // llrint
- .{ .tag = @enumFromInt(3788), .param_str = "LLid", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // llrintf
- .{ .tag = @enumFromInt(3789), .param_str = "LLif", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // llrintl
- .{ .tag = @enumFromInt(3790), .param_str = "LLiLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // llround
- .{ .tag = @enumFromInt(3791), .param_str = "LLid", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // llroundf
- .{ .tag = @enumFromInt(3792), .param_str = "LLif", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // llroundl
- .{ .tag = @enumFromInt(3793), .param_str = "LLiLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // log
- .{ .tag = @enumFromInt(3794), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // log10
- .{ .tag = @enumFromInt(3795), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // log10f
- .{ .tag = @enumFromInt(3796), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // log10l
- .{ .tag = @enumFromInt(3797), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // log1p
- .{ .tag = @enumFromInt(3798), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // log1pf
- .{ .tag = @enumFromInt(3799), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // log1pl
- .{ .tag = @enumFromInt(3800), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // log2
- .{ .tag = @enumFromInt(3801), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // log2f
- .{ .tag = @enumFromInt(3802), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // log2l
- .{ .tag = @enumFromInt(3803), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // logb
- .{ .tag = @enumFromInt(3804), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // logbf
- .{ .tag = @enumFromInt(3805), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // logbl
- .{ .tag = @enumFromInt(3806), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // logf
- .{ .tag = @enumFromInt(3807), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // logl
- .{ .tag = @enumFromInt(3808), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // longjmp
- .{ .tag = @enumFromInt(3809), .param_str = "vJi", .properties = .{ .header = .setjmp, .attributes = .{ .noreturn = true, .allow_type_mismatch = true, .lib_function_without_prefix = true } } },
- // lrint
- .{ .tag = @enumFromInt(3810), .param_str = "Lid", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // lrintf
- .{ .tag = @enumFromInt(3811), .param_str = "Lif", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // lrintl
- .{ .tag = @enumFromInt(3812), .param_str = "LiLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // lround
- .{ .tag = @enumFromInt(3813), .param_str = "Lid", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // lroundf
- .{ .tag = @enumFromInt(3814), .param_str = "Lif", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // lroundl
- .{ .tag = @enumFromInt(3815), .param_str = "LiLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // malloc
- .{ .tag = @enumFromInt(3816), .param_str = "v*z", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
- // memalign
- .{ .tag = @enumFromInt(3817), .param_str = "v*zz", .properties = .{ .header = .malloc, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // memccpy
- .{ .tag = @enumFromInt(3818), .param_str = "v*v*vC*iz", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // memchr
- .{ .tag = @enumFromInt(3819), .param_str = "v*vC*iz", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // memcmp
- .{ .tag = @enumFromInt(3820), .param_str = "ivC*vC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // memcpy
- .{ .tag = @enumFromInt(3821), .param_str = "v*v*vC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // memmove
- .{ .tag = @enumFromInt(3822), .param_str = "v*v*vC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // mempcpy
- .{ .tag = @enumFromInt(3823), .param_str = "v*v*vC*z", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // memset
- .{ .tag = @enumFromInt(3824), .param_str = "v*v*iz", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // modf
- .{ .tag = @enumFromInt(3825), .param_str = "ddd*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
- // modff
- .{ .tag = @enumFromInt(3826), .param_str = "fff*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
- // modfl
- .{ .tag = @enumFromInt(3827), .param_str = "LdLdLd*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
- // nan
- .{ .tag = @enumFromInt(3828), .param_str = "dcC*", .properties = .{ .header = .math, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // nanf
- .{ .tag = @enumFromInt(3829), .param_str = "fcC*", .properties = .{ .header = .math, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // nanl
- .{ .tag = @enumFromInt(3830), .param_str = "LdcC*", .properties = .{ .header = .math, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // nearbyint
- .{ .tag = @enumFromInt(3831), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // nearbyintf
- .{ .tag = @enumFromInt(3832), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // nearbyintl
- .{ .tag = @enumFromInt(3833), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // nextafter
- .{ .tag = @enumFromInt(3834), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // nextafterf
- .{ .tag = @enumFromInt(3835), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // nextafterl
- .{ .tag = @enumFromInt(3836), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // nexttoward
- .{ .tag = @enumFromInt(3837), .param_str = "ddLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // nexttowardf
- .{ .tag = @enumFromInt(3838), .param_str = "ffLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // nexttowardl
- .{ .tag = @enumFromInt(3839), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // pow
- .{ .tag = @enumFromInt(3840), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // powf
- .{ .tag = @enumFromInt(3841), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // powl
- .{ .tag = @enumFromInt(3842), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // printf
- .{ .tag = @enumFromInt(3843), .param_str = "icC*.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .printf } } },
- // realloc
- .{ .tag = @enumFromInt(3844), .param_str = "v*v*z", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
- // remainder
- .{ .tag = @enumFromInt(3845), .param_str = "ddd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // remainderf
- .{ .tag = @enumFromInt(3846), .param_str = "fff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // remainderl
- .{ .tag = @enumFromInt(3847), .param_str = "LdLdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // remquo
- .{ .tag = @enumFromInt(3848), .param_str = "dddi*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
- // remquof
- .{ .tag = @enumFromInt(3849), .param_str = "fffi*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
- // remquol
- .{ .tag = @enumFromInt(3850), .param_str = "LdLdLdi*", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true } } },
- // rindex
- .{ .tag = @enumFromInt(3851), .param_str = "c*cC*i", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // rint
- .{ .tag = @enumFromInt(3852), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_fp_exceptions = true } } },
- // rintf
- .{ .tag = @enumFromInt(3853), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_fp_exceptions = true } } },
- // rintl
- .{ .tag = @enumFromInt(3854), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_fp_exceptions = true } } },
- // round
- .{ .tag = @enumFromInt(3855), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // roundeven
- .{ .tag = @enumFromInt(3856), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // roundevenf
- .{ .tag = @enumFromInt(3857), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // roundevenl
- .{ .tag = @enumFromInt(3858), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // roundf
- .{ .tag = @enumFromInt(3859), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // roundl
- .{ .tag = @enumFromInt(3860), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // savectx
- .{ .tag = @enumFromInt(3861), .param_str = "iJ", .properties = .{ .header = .setjmp, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
- // scalbln
- .{ .tag = @enumFromInt(3862), .param_str = "ddLi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // scalblnf
- .{ .tag = @enumFromInt(3863), .param_str = "ffLi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // scalblnl
- .{ .tag = @enumFromInt(3864), .param_str = "LdLdLi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // scalbn
- .{ .tag = @enumFromInt(3865), .param_str = "ddi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // scalbnf
- .{ .tag = @enumFromInt(3866), .param_str = "ffi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // scalbnl
- .{ .tag = @enumFromInt(3867), .param_str = "LdLdi", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // scanf
- .{ .tag = @enumFromInt(3868), .param_str = "icC*R.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .scanf } } },
- // setjmp
- .{ .tag = @enumFromInt(3869), .param_str = "iJ", .properties = .{ .header = .setjmp, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
- // siglongjmp
- .{ .tag = @enumFromInt(3870), .param_str = "vSJi", .properties = .{ .header = .setjmp, .language = .all_gnu_languages, .attributes = .{ .noreturn = true, .allow_type_mismatch = true, .lib_function_without_prefix = true } } },
- // sigsetjmp
- .{ .tag = @enumFromInt(3871), .param_str = "iSJi", .properties = .{ .header = .setjmp, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
- // sin
- .{ .tag = @enumFromInt(3872), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // sinf
- .{ .tag = @enumFromInt(3873), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // sinh
- .{ .tag = @enumFromInt(3874), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // sinhf
- .{ .tag = @enumFromInt(3875), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // sinhl
- .{ .tag = @enumFromInt(3876), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // sinl
- .{ .tag = @enumFromInt(3877), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // snprintf
- .{ .tag = @enumFromInt(3878), .param_str = "ic*zcC*.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .printf, .format_string_position = 2 } } },
- // sprintf
- .{ .tag = @enumFromInt(3879), .param_str = "ic*cC*.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .printf, .format_string_position = 1 } } },
- // sqrt
- .{ .tag = @enumFromInt(3880), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // sqrtf
- .{ .tag = @enumFromInt(3881), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // sqrtl
- .{ .tag = @enumFromInt(3882), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // sscanf
- .{ .tag = @enumFromInt(3883), .param_str = "icC*RcC*R.", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .scanf, .format_string_position = 1 } } },
- // stpcpy
- .{ .tag = @enumFromInt(3884), .param_str = "c*c*cC*", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // stpncpy
- .{ .tag = @enumFromInt(3885), .param_str = "c*c*cC*z", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // strcasecmp
- .{ .tag = @enumFromInt(3886), .param_str = "icC*cC*", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // strcat
- .{ .tag = @enumFromInt(3887), .param_str = "c*c*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // strchr
- .{ .tag = @enumFromInt(3888), .param_str = "c*cC*i", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // strcmp
- .{ .tag = @enumFromInt(3889), .param_str = "icC*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // strcpy
- .{ .tag = @enumFromInt(3890), .param_str = "c*c*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // strcspn
- .{ .tag = @enumFromInt(3891), .param_str = "zcC*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // strdup
- .{ .tag = @enumFromInt(3892), .param_str = "c*cC*", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // strerror
- .{ .tag = @enumFromInt(3893), .param_str = "c*i", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // strlcat
- .{ .tag = @enumFromInt(3894), .param_str = "zc*cC*z", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // strlcpy
- .{ .tag = @enumFromInt(3895), .param_str = "zc*cC*z", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // strlen
- .{ .tag = @enumFromInt(3896), .param_str = "zcC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // strncasecmp
- .{ .tag = @enumFromInt(3897), .param_str = "icC*cC*z", .properties = .{ .header = .strings, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // strncat
- .{ .tag = @enumFromInt(3898), .param_str = "c*c*cC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // strncmp
- .{ .tag = @enumFromInt(3899), .param_str = "icC*cC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // strncpy
- .{ .tag = @enumFromInt(3900), .param_str = "c*c*cC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // strndup
- .{ .tag = @enumFromInt(3901), .param_str = "c*cC*z", .properties = .{ .header = .string, .language = .all_gnu_languages, .attributes = .{ .lib_function_without_prefix = true } } },
- // strpbrk
- .{ .tag = @enumFromInt(3902), .param_str = "c*cC*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // strrchr
- .{ .tag = @enumFromInt(3903), .param_str = "c*cC*i", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // strspn
- .{ .tag = @enumFromInt(3904), .param_str = "zcC*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // strstr
- .{ .tag = @enumFromInt(3905), .param_str = "c*cC*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // strtod
- .{ .tag = @enumFromInt(3906), .param_str = "dcC*c**", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
- // strtof
- .{ .tag = @enumFromInt(3907), .param_str = "fcC*c**", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
- // strtok
- .{ .tag = @enumFromInt(3908), .param_str = "c*c*cC*", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // strtol
- .{ .tag = @enumFromInt(3909), .param_str = "LicC*c**i", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
- // strtold
- .{ .tag = @enumFromInt(3910), .param_str = "LdcC*c**", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
- // strtoll
- .{ .tag = @enumFromInt(3911), .param_str = "LLicC*c**i", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
- // strtoul
- .{ .tag = @enumFromInt(3912), .param_str = "ULicC*c**i", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
- // strtoull
- .{ .tag = @enumFromInt(3913), .param_str = "ULLicC*c**i", .properties = .{ .header = .stdlib, .attributes = .{ .lib_function_without_prefix = true } } },
- // strxfrm
- .{ .tag = @enumFromInt(3914), .param_str = "zc*cC*z", .properties = .{ .header = .string, .attributes = .{ .lib_function_without_prefix = true } } },
- // tan
- .{ .tag = @enumFromInt(3915), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // tanf
- .{ .tag = @enumFromInt(3916), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // tanh
- .{ .tag = @enumFromInt(3917), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // tanhf
- .{ .tag = @enumFromInt(3918), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // tanhl
- .{ .tag = @enumFromInt(3919), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // tanl
- .{ .tag = @enumFromInt(3920), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // tgamma
- .{ .tag = @enumFromInt(3921), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // tgammaf
- .{ .tag = @enumFromInt(3922), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // tgammal
- .{ .tag = @enumFromInt(3923), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true } } },
- // tolower
- .{ .tag = @enumFromInt(3924), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // toupper
- .{ .tag = @enumFromInt(3925), .param_str = "ii", .properties = .{ .header = .ctype, .attributes = .{ .pure = true, .lib_function_without_prefix = true } } },
- // trunc
- .{ .tag = @enumFromInt(3926), .param_str = "dd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // truncf
- .{ .tag = @enumFromInt(3927), .param_str = "ff", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // truncl
- .{ .tag = @enumFromInt(3928), .param_str = "LdLd", .properties = .{ .header = .math, .attributes = .{ .@"const" = true, .lib_function_without_prefix = true } } },
- // va_copy
- .{ .tag = @enumFromInt(3929), .param_str = "vAA", .properties = .{ .header = .stdarg, .attributes = .{ .lib_function_without_prefix = true } } },
- // va_end
- .{ .tag = @enumFromInt(3930), .param_str = "vA", .properties = .{ .header = .stdarg, .attributes = .{ .lib_function_without_prefix = true } } },
- // va_start
- .{ .tag = @enumFromInt(3931), .param_str = "vA.", .properties = .{ .header = .stdarg, .attributes = .{ .lib_function_without_prefix = true } } },
- // vfork
- .{ .tag = @enumFromInt(3932), .param_str = "p", .properties = .{ .header = .unistd, .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true } } },
- // vfprintf
- .{ .tag = @enumFromInt(3933), .param_str = "iP*cC*a", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vprintf, .format_string_position = 1 } } },
- // vfscanf
- .{ .tag = @enumFromInt(3934), .param_str = "iP*RcC*Ra", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vscanf, .format_string_position = 1 } } },
- // vprintf
- .{ .tag = @enumFromInt(3935), .param_str = "icC*a", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vprintf } } },
- // vscanf
- .{ .tag = @enumFromInt(3936), .param_str = "icC*Ra", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vscanf } } },
- // vsnprintf
- .{ .tag = @enumFromInt(3937), .param_str = "ic*zcC*a", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vprintf, .format_string_position = 2 } } },
- // vsprintf
- .{ .tag = @enumFromInt(3938), .param_str = "ic*cC*a", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vprintf, .format_string_position = 1 } } },
- // vsscanf
- .{ .tag = @enumFromInt(3939), .param_str = "icC*RcC*Ra", .properties = .{ .header = .stdio, .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vscanf, .format_string_position = 1 } } },
- // wcschr
- .{ .tag = @enumFromInt(3940), .param_str = "w*wC*w", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // wcscmp
- .{ .tag = @enumFromInt(3941), .param_str = "iwC*wC*", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // wcslen
- .{ .tag = @enumFromInt(3942), .param_str = "zwC*", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // wcsncmp
- .{ .tag = @enumFromInt(3943), .param_str = "iwC*wC*z", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // wmemchr
- .{ .tag = @enumFromInt(3944), .param_str = "w*wC*wz", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // wmemcmp
- .{ .tag = @enumFromInt(3945), .param_str = "iwC*wC*z", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // wmemcpy
- .{ .tag = @enumFromInt(3946), .param_str = "w*w*wC*z", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- // wmemmove
- .{ .tag = @enumFromInt(3947), .param_str = "w*w*wC*z", .properties = .{ .header = .wchar, .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true } } },
- };
-};
deps/aro/codegen/x86_64.zig
@@ -1,221 +0,0 @@
-const std = @import("std");
-const Codegen = @import("../Codegen_legacy.zig");
-const Tree = @import("../Tree.zig");
-const NodeIndex = Tree.NodeIndex;
-const x86_64 = @import("zig").codegen.x86_64;
-const Register = x86_64.Register;
-const RegisterManager = @import("zig").RegisterManager;
-
-const Fn = @This();
-
-const Value = union(enum) {
- symbol: []const u8,
- immediate: i64,
- register: Register,
- none,
-};
-
-register_manager: RegisterManager(Fn, Register, &x86_64.callee_preserved_regs) = .{},
-data: *std.ArrayList(u8),
-c: *Codegen,
-
-pub fn deinit(func: *Fn) void {
- func.* = undefined;
-}
-
-pub fn genFn(c: *Codegen, decl: NodeIndex, data: *std.ArrayList(u8)) Codegen.Error!void {
- var func = Fn{ .data = data, .c = c };
- defer func.deinit();
-
- // function prologue
- try func.data.appendSlice(&.{
- 0x55, // push rbp
- 0x48, 0x89, 0xe5, // mov rbp,rsp
- });
- _ = try func.genNode(c.node_data[@intFromEnum(decl)].decl.node);
- // all functions are guaranteed to end in a return statement so no extra work required here
-}
-
-pub fn spillInst(f: *Fn, reg: Register, inst: u32) !void {
- _ = inst;
- _ = reg;
- _ = f;
-}
-
-fn setReg(func: *Fn, val: Value, reg: Register) !void {
- switch (val) {
- .none => unreachable,
- .symbol => |sym| {
- // lea address with 0 and add relocation
- const encoder = try x86_64.Encoder.init(func.data, 8);
- encoder.rex(.{ .w = true });
- encoder.opcode_1byte(0x8D);
- encoder.modRm_RIPDisp32(reg.low_id());
-
- const offset = func.data.items.len;
- encoder.imm32(0);
-
- try func.c.obj.addRelocation(sym, .func, offset, -4);
- },
- .immediate => |x| if (x == 0) {
- // 32-bit moves zero-extend to 64-bit, so xoring the 32-bit
- // register is the fastest way to zero a register.
- // The encoding for `xor r32, r32` is `0x31 /r`.
- const encoder = try x86_64.Encoder.init(func.data, 3);
-
- // If we're accessing e.g. r8d, we need to use a REX prefix before the actual operation. Since
- // this is a 32-bit operation, the W flag is set to zero. X is also zero, as we're not using a SIB.
- // Both R and B are set, as we're extending, in effect, the register bits *and* the operand.
- encoder.rex(.{ .r = reg.isExtended(), .b = reg.isExtended() });
- encoder.opcode_1byte(0x31);
- // Section 3.1.1.1 of the Intel x64 Manual states that "/r indicates that the
- // ModR/M byte of the instruction contains a register operand and an r/m operand."
- encoder.modRm_direct(reg.low_id(), reg.low_id());
- } else if (x <= std.math.maxInt(i32)) {
- // Next best case: if we set the lower four bytes, the upper four will be zeroed.
- //
- // The encoding for `mov IMM32 -> REG` is (0xB8 + R) IMM.
-
- const encoder = try x86_64.Encoder.init(func.data, 6);
- // Just as with XORing, we need a REX prefix. This time though, we only
- // need the B bit set, as we're extending the opcode's register field,
- // and there is no Mod R/M byte.
- encoder.rex(.{ .b = reg.isExtended() });
- encoder.opcode_withReg(0xB8, reg.low_id());
-
- // no ModR/M byte
-
- // IMM
- encoder.imm32(@intCast(x));
- } else {
- // Worst case: we need to load the 64-bit register with the IMM. GNU's assemblers calls
- // this `movabs`, though this is officially just a different variant of the plain `mov`
- // instruction.
- //
- // This encoding is, in fact, the *same* as the one used for 32-bit loads. The only
- // difference is that we set REX.W before the instruction, which extends the load to
- // 64-bit and uses the full bit-width of the register.
- {
- const encoder = try x86_64.Encoder.init(func.data, 10);
- encoder.rex(.{ .w = true, .b = reg.isExtended() });
- encoder.opcode_withReg(0xB8, reg.low_id());
- encoder.imm64(@bitCast(x));
- }
- },
- .register => |src_reg| {
- // If the registers are the same, nothing to do.
- if (src_reg.id() == reg.id())
- return;
-
- // This is a variant of 8B /r.
- const encoder = try x86_64.Encoder.init(func.data, 3);
- encoder.rex(.{
- .w = true,
- .r = reg.isExtended(),
- .b = src_reg.isExtended(),
- });
- encoder.opcode_1byte(0x8B);
- encoder.modRm_direct(reg.low_id(), src_reg.low_id());
- },
- }
-}
-
-fn genNode(func: *Fn, node: NodeIndex) Codegen.Error!Value {
- if (func.c.tree.value_map.get(node)) |some| {
- if (some.tag == .int)
- return Value{ .immediate = @bitCast(some.data.int) };
- }
-
- const data = func.c.node_data[@intFromEnum(node)];
- switch (func.c.node_tag[@intFromEnum(node)]) {
- .static_assert => return Value{ .none = {} },
- .compound_stmt_two => {
- if (data.bin.lhs != .none) _ = try func.genNode(data.bin.lhs);
- if (data.bin.rhs != .none) _ = try func.genNode(data.bin.rhs);
- return Value{ .none = {} };
- },
- .compound_stmt => {
- for (func.c.tree.data[data.range.start..data.range.end]) |stmt| {
- _ = try func.genNode(stmt);
- }
- return Value{ .none = {} };
- },
- .call_expr_one => if (data.bin.rhs != .none)
- return func.genCall(data.bin.lhs, &.{data.bin.rhs})
- else
- return func.genCall(data.bin.lhs, &.{}),
- .call_expr => return func.genCall(func.c.tree.data[data.range.start], func.c.tree.data[data.range.start + 1 .. data.range.end]),
- .explicit_cast, .implicit_cast => {
- switch (data.cast.kind) {
- .function_to_pointer,
- .array_to_pointer,
- => return func.genNode(data.cast.operand), // no-op
- else => return func.c.comp.diag.fatalNoSrc("TODO x86_64 genNode for cast {s}\n", .{@tagName(data.cast.kind)}),
- }
- },
- .decl_ref_expr => {
- // TODO locals and arguments
- return Value{ .symbol = func.c.tree.tokSlice(data.decl_ref) };
- },
- .return_stmt => {
- const value = try func.genNode(data.un);
- try func.setReg(value, x86_64.c_abi_int_return_regs[0]);
- try func.data.appendSlice(&.{
- 0x5d, // pop rbp
- 0xc3, // ret
- });
- return Value{ .none = {} };
- },
- .implicit_return => {
- try func.setReg(.{ .immediate = 0 }, x86_64.c_abi_int_return_regs[0]);
- try func.data.appendSlice(&.{
- 0x5d, // pop rbp
- 0xc3, // ret
- });
- return Value{ .none = {} };
- },
- .int_literal => return Value{ .immediate = @bitCast(data.int) },
- .string_literal_expr => {
- const range = func.c.tree.value_map.get(node).?.data.bytes;
- const str_bytes = range.slice(func.c.tree.strings, .@"1");
- const section = try func.c.obj.getSection(.strings);
- const start = section.items.len;
- try section.appendSlice(str_bytes);
- const symbol_name = try func.c.obj.declareSymbol(.strings, null, .Internal, .variable, start, str_bytes.len);
- return Value{ .symbol = symbol_name };
- },
- else => return func.c.comp.diag.fatalNoSrc("TODO x86_64 genNode {}\n", .{func.c.node_tag[@intFromEnum(node)]}),
- }
-}
-
-fn genCall(func: *Fn, lhs: NodeIndex, args: []const NodeIndex) Codegen.Error!Value {
- if (args.len > x86_64.c_abi_int_param_regs.len)
- return func.c.comp.diag.fatalNoSrc("TODO more than args {d}\n", .{x86_64.c_abi_int_param_regs.len});
-
- const func_value = try func.genNode(lhs);
- for (args, 0..) |arg, i| {
- const value = try func.genNode(arg);
- try func.setReg(value, x86_64.c_abi_int_param_regs[i]);
- }
-
- switch (func_value) {
- .none => unreachable,
- .symbol => |sym| {
- const encoder = try x86_64.Encoder.init(func.data, 5);
- encoder.opcode_1byte(0xe8);
-
- const offset = func.data.items.len;
- encoder.imm32(0);
-
- try func.c.obj.addRelocation(sym, .func, offset, -4);
- },
- .immediate => return func.c.comp.diag.fatalNoSrc("TODO call immediate\n", .{}),
- .register => return func.c.comp.diag.fatalNoSrc("TODO call reg\n", .{}),
- }
- return Value{ .register = x86_64.c_abi_int_return_regs[0] };
-}
-
-pub fn genVar(c: *Codegen, decl: NodeIndex) Codegen.Error!void {
- _ = c;
- _ = decl;
-}
deps/aro/aro.zig
@@ -0,0 +1,38 @@
+pub const CodeGen = @import("aro/CodeGen.zig");
+pub const Compilation = @import("aro/Compilation.zig");
+pub const Diagnostics = @import("aro/Diagnostics.zig");
+pub const Driver = @import("aro/Driver.zig");
+pub const Parser = @import("aro/Parser.zig");
+pub const Preprocessor = @import("aro/Preprocessor.zig");
+pub const Source = @import("aro/Source.zig");
+pub const Tokenizer = @import("aro/Tokenizer.zig");
+pub const Toolchain = @import("aro/Toolchain.zig");
+pub const Tree = @import("aro/Tree.zig");
+pub const Type = @import("aro/Type.zig");
+pub const TypeMapper = @import("aro/StringInterner.zig").TypeMapper;
+pub const target_util = @import("aro/target.zig");
+pub const Value = @import("aro/Value.zig");
+
+const backend = @import("backend");
+pub const Interner = backend.Interner;
+pub const Ir = backend.Ir;
+pub const Object = backend.Object;
+pub const CallingConvention = backend.CallingConvention;
+
+pub const version_str = backend.version_str;
+pub const version = backend.version;
+
+test {
+ _ = @import("aro/Builtins.zig");
+ _ = @import("aro/char_info.zig");
+ _ = @import("aro/Compilation.zig");
+ _ = @import("aro/Driver/Distro.zig");
+ _ = @import("aro/Driver/Filesystem.zig");
+ _ = @import("aro/Driver/GCCVersion.zig");
+ _ = @import("aro/InitList.zig");
+ _ = @import("aro/Preprocessor.zig");
+ _ = @import("aro/target.zig");
+ _ = @import("aro/Tokenizer.zig");
+ _ = @import("aro/toolchains/Linux.zig");
+ _ = @import("aro/Value.zig");
+}
deps/aro/backend.zig
@@ -0,0 +1,13 @@
+pub const Interner = @import("backend/Interner.zig");
+pub const Ir = @import("backend/Ir.zig");
+pub const Object = @import("backend/Object.zig");
+
+pub const CallingConvention = enum {
+ C,
+ stdcall,
+ thiscall,
+ vectorcall,
+};
+
+pub const version_str = @import("build_options").version_str;
+pub const version = @import("std").SemanticVersion.parse(version_str) catch unreachable;
deps/aro/CharInfo.zig
@@ -1,487 +0,0 @@
-//! This module provides functions for classifying characters according to
-//! various C standards. All classification routines *do not* consider
-//! characters from the basic character set; it is assumed those will be
-//! checked separately
-
-const assert = @import("std").debug.assert;
-
-/// C11 Standard Annex D
-pub fn isC11IdChar(codepoint: u21) bool {
- assert(codepoint > 0x7F);
- return switch (codepoint) {
- // 1
- 0x00A8,
- 0x00AA,
- 0x00AD,
- 0x00AF,
- 0x00B2...0x00B5,
- 0x00B7...0x00BA,
- 0x00BC...0x00BE,
- 0x00C0...0x00D6,
- 0x00D8...0x00F6,
- 0x00F8...0x00FF,
-
- // 2
- 0x0100...0x167F,
- 0x1681...0x180D,
- 0x180F...0x1FFF,
-
- // 3
- 0x200B...0x200D,
- 0x202A...0x202E,
- 0x203F...0x2040,
- 0x2054,
- 0x2060...0x206F,
-
- // 4
- 0x2070...0x218F,
- 0x2460...0x24FF,
- 0x2776...0x2793,
- 0x2C00...0x2DFF,
- 0x2E80...0x2FFF,
-
- // 5
- 0x3004...0x3007,
- 0x3021...0x302F,
- 0x3031...0x303F,
-
- // 6
- 0x3040...0xD7FF,
-
- // 7
- 0xF900...0xFD3D,
- 0xFD40...0xFDCF,
- 0xFDF0...0xFE44,
- 0xFE47...0xFFFD,
-
- // 8
- 0x10000...0x1FFFD,
- 0x20000...0x2FFFD,
- 0x30000...0x3FFFD,
- 0x40000...0x4FFFD,
- 0x50000...0x5FFFD,
- 0x60000...0x6FFFD,
- 0x70000...0x7FFFD,
- 0x80000...0x8FFFD,
- 0x90000...0x9FFFD,
- 0xA0000...0xAFFFD,
- 0xB0000...0xBFFFD,
- 0xC0000...0xCFFFD,
- 0xD0000...0xDFFFD,
- 0xE0000...0xEFFFD,
- => true,
- else => false,
- };
-}
-
-/// C99 Standard Annex D
-pub fn isC99IdChar(codepoint: u21) bool {
- assert(codepoint > 0x7F);
- return switch (codepoint) {
- // Latin
- 0x00AA,
- 0x00BA,
- 0x00C0...0x00D6,
- 0x00D8...0x00F6,
- 0x00F8...0x01F5,
- 0x01FA...0x0217,
- 0x0250...0x02A8,
- 0x1E00...0x1E9B,
- 0x1EA0...0x1EF9,
- 0x207F,
-
- // Greek
- 0x0386,
- 0x0388...0x038A,
- 0x038C,
- 0x038E...0x03A1,
- 0x03A3...0x03CE,
- 0x03D0...0x03D6,
- 0x03DA,
- 0x03DC,
- 0x03DE,
- 0x03E0,
- 0x03E2...0x03F3,
- 0x1F00...0x1F15,
- 0x1F18...0x1F1D,
- 0x1F20...0x1F45,
- 0x1F48...0x1F4D,
- 0x1F50...0x1F57,
- 0x1F59,
- 0x1F5B,
- 0x1F5D,
- 0x1F5F...0x1F7D,
- 0x1F80...0x1FB4,
- 0x1FB6...0x1FBC,
- 0x1FC2...0x1FC4,
- 0x1FC6...0x1FCC,
- 0x1FD0...0x1FD3,
- 0x1FD6...0x1FDB,
- 0x1FE0...0x1FEC,
- 0x1FF2...0x1FF4,
- 0x1FF6...0x1FFC,
-
- // Cyrillic
- 0x0401...0x040C,
- 0x040E...0x044F,
- 0x0451...0x045C,
- 0x045E...0x0481,
- 0x0490...0x04C4,
- 0x04C7...0x04C8,
- 0x04CB...0x04CC,
- 0x04D0...0x04EB,
- 0x04EE...0x04F5,
- 0x04F8...0x04F9,
-
- // Armenian
- 0x0531...0x0556,
- 0x0561...0x0587,
-
- // Hebrew
- 0x05B0...0x05B9,
- 0x05BB...0x05BD,
- 0x05BF,
- 0x05C1...0x05C2,
- 0x05D0...0x05EA,
- 0x05F0...0x05F2,
-
- // Arabic
- 0x0621...0x063A,
- 0x0640...0x0652,
- 0x0670...0x06B7,
- 0x06BA...0x06BE,
- 0x06C0...0x06CE,
- 0x06D0...0x06DC,
- 0x06E5...0x06E8,
- 0x06EA...0x06ED,
-
- // Devanagari
- 0x0901...0x0903,
- 0x0905...0x0939,
- 0x093E...0x094D,
- 0x0950...0x0952,
- 0x0958...0x0963,
-
- // Bengali
- 0x0981...0x0983,
- 0x0985...0x098C,
- 0x098F...0x0990,
- 0x0993...0x09A8,
- 0x09AA...0x09B0,
- 0x09B2,
- 0x09B6...0x09B9,
- 0x09BE...0x09C4,
- 0x09C7...0x09C8,
- 0x09CB...0x09CD,
- 0x09DC...0x09DD,
- 0x09DF...0x09E3,
- 0x09F0...0x09F1,
-
- // Gurmukhi
- 0x0A02,
- 0x0A05...0x0A0A,
- 0x0A0F...0x0A10,
- 0x0A13...0x0A28,
- 0x0A2A...0x0A30,
- 0x0A32...0x0A33,
- 0x0A35...0x0A36,
- 0x0A38...0x0A39,
- 0x0A3E...0x0A42,
- 0x0A47...0x0A48,
- 0x0A4B...0x0A4D,
- 0x0A59...0x0A5C,
- 0x0A5E,
- 0x0A74,
-
- // Gujarati
- 0x0A81...0x0A83,
- 0x0A85...0x0A8B,
- 0x0A8D,
- 0x0A8F...0x0A91,
- 0x0A93...0x0AA8,
- 0x0AAA...0x0AB0,
- 0x0AB2...0x0AB3,
- 0x0AB5...0x0AB9,
- 0x0ABD...0x0AC5,
- 0x0AC7...0x0AC9,
- 0x0ACB...0x0ACD,
- 0x0AD0,
- 0x0AE0,
-
- // Oriya
- 0x0B01...0x0B03,
- 0x0B05...0x0B0C,
- 0x0B0F...0x0B10,
- 0x0B13...0x0B28,
- 0x0B2A...0x0B30,
- 0x0B32...0x0B33,
- 0x0B36...0x0B39,
- 0x0B3E...0x0B43,
- 0x0B47...0x0B48,
- 0x0B4B...0x0B4D,
- 0x0B5C...0x0B5D,
- 0x0B5F...0x0B61,
-
- // Tamil
- 0x0B82...0x0B83,
- 0x0B85...0x0B8A,
- 0x0B8E...0x0B90,
- 0x0B92...0x0B95,
- 0x0B99...0x0B9A,
- 0x0B9C,
- 0x0B9E...0x0B9F,
- 0x0BA3...0x0BA4,
- 0x0BA8...0x0BAA,
- 0x0BAE...0x0BB5,
- 0x0BB7...0x0BB9,
- 0x0BBE...0x0BC2,
- 0x0BC6...0x0BC8,
- 0x0BCA...0x0BCD,
-
- // Telugu
- 0x0C01...0x0C03,
- 0x0C05...0x0C0C,
- 0x0C0E...0x0C10,
- 0x0C12...0x0C28,
- 0x0C2A...0x0C33,
- 0x0C35...0x0C39,
- 0x0C3E...0x0C44,
- 0x0C46...0x0C48,
- 0x0C4A...0x0C4D,
- 0x0C60...0x0C61,
-
- // Kannada
- 0x0C82...0x0C83,
- 0x0C85...0x0C8C,
- 0x0C8E...0x0C90,
- 0x0C92...0x0CA8,
- 0x0CAA...0x0CB3,
- 0x0CB5...0x0CB9,
- 0x0CBE...0x0CC4,
- 0x0CC6...0x0CC8,
- 0x0CCA...0x0CCD,
- 0x0CDE,
- 0x0CE0...0x0CE1,
-
- // Malayalam
- 0x0D02...0x0D03,
- 0x0D05...0x0D0C,
- 0x0D0E...0x0D10,
- 0x0D12...0x0D28,
- 0x0D2A...0x0D39,
- 0x0D3E...0x0D43,
- 0x0D46...0x0D48,
- 0x0D4A...0x0D4D,
- 0x0D60...0x0D61,
-
- // Thai (excluding digits 0x0E50...0x0E59; originally 0x0E01...0x0E3A and 0x0E40...0x0E5B
- 0x0E01...0x0E3A,
- 0x0E40...0x0E4F,
- 0x0E5A...0x0E5B,
-
- // Lao
- 0x0E81...0x0E82,
- 0x0E84,
- 0x0E87...0x0E88,
- 0x0E8A,
- 0x0E8D,
- 0x0E94...0x0E97,
- 0x0E99...0x0E9F,
- 0x0EA1...0x0EA3,
- 0x0EA5,
- 0x0EA7,
- 0x0EAA...0x0EAB,
- 0x0EAD...0x0EAE,
- 0x0EB0...0x0EB9,
- 0x0EBB...0x0EBD,
- 0x0EC0...0x0EC4,
- 0x0EC6,
- 0x0EC8...0x0ECD,
- 0x0EDC...0x0EDD,
-
- // Tibetan
- 0x0F00,
- 0x0F18...0x0F19,
- 0x0F35,
- 0x0F37,
- 0x0F39,
- 0x0F3E...0x0F47,
- 0x0F49...0x0F69,
- 0x0F71...0x0F84,
- 0x0F86...0x0F8B,
- 0x0F90...0x0F95,
- 0x0F97,
- 0x0F99...0x0FAD,
- 0x0FB1...0x0FB7,
- 0x0FB9,
-
- // Georgian
- 0x10A0...0x10C5,
- 0x10D0...0x10F6,
-
- // Hiragana
- 0x3041...0x3093,
- 0x309B...0x309C,
-
- // Katakana
- 0x30A1...0x30F6,
- 0x30FB...0x30FC,
-
- // Bopomofo
- 0x3105...0x312C,
-
- // CJK Unified Ideographs
- 0x4E00...0x9FA5,
-
- // Hangul
- 0xAC00...0xD7A3,
-
- // Digits
- 0x0660...0x0669,
- 0x06F0...0x06F9,
- 0x0966...0x096F,
- 0x09E6...0x09EF,
- 0x0A66...0x0A6F,
- 0x0AE6...0x0AEF,
- 0x0B66...0x0B6F,
- 0x0BE7...0x0BEF,
- 0x0C66...0x0C6F,
- 0x0CE6...0x0CEF,
- 0x0D66...0x0D6F,
- 0x0E50...0x0E59,
- 0x0ED0...0x0ED9,
- 0x0F20...0x0F33,
-
- // Special characters
- 0x00B5,
- 0x00B7,
- 0x02B0...0x02B8,
- 0x02BB,
- 0x02BD...0x02C1,
- 0x02D0...0x02D1,
- 0x02E0...0x02E4,
- 0x037A,
- 0x0559,
- 0x093D,
- 0x0B3D,
- 0x1FBE,
- 0x203F...0x2040,
- 0x2102,
- 0x2107,
- 0x210A...0x2113,
- 0x2115,
- 0x2118...0x211D,
- 0x2124,
- 0x2126,
- 0x2128,
- 0x212A...0x2131,
- 0x2133...0x2138,
- 0x2160...0x2182,
- 0x3005...0x3007,
- 0x3021...0x3029,
- => true,
- else => false,
- };
-}
-
-/// C11 standard Annex D
-pub fn isC11DisallowedInitialIdChar(codepoint: u21) bool {
- assert(codepoint > 0x7F);
- return switch (codepoint) {
- 0x0300...0x036F,
- 0x1DC0...0x1DFF,
- 0x20D0...0x20FF,
- 0xFE20...0xFE2F,
- => true,
- else => false,
- };
-}
-
-/// These are "digit" characters; C99 disallows them as the first
-/// character of an identifier
-pub fn isC99DisallowedInitialIDChar(codepoint: u21) bool {
- assert(codepoint > 0x7F);
- return switch (codepoint) {
- 0x0660...0x0669,
- 0x06F0...0x06F9,
- 0x0966...0x096F,
- 0x09E6...0x09EF,
- 0x0A66...0x0A6F,
- 0x0AE6...0x0AEF,
- 0x0B66...0x0B6F,
- 0x0BE7...0x0BEF,
- 0x0C66...0x0C6F,
- 0x0CE6...0x0CEF,
- 0x0D66...0x0D6F,
- 0x0E50...0x0E59,
- 0x0ED0...0x0ED9,
- 0x0F20...0x0F33,
- => true,
- else => false,
- };
-}
-
-pub fn isInvisible(codepoint: u21) bool {
- assert(codepoint > 0x7F);
- return switch (codepoint) {
- 0x00ad, // SOFT HYPHEN
- 0x200b, // ZERO WIDTH SPACE
- 0x200c, // ZERO WIDTH NON-JOINER
- 0x200d, // ZERO WIDTH JOINER
- 0x2060, // WORD JOINER
- 0x2061, // FUNCTION APPLICATION
- 0x2062, // INVISIBLE TIMES
- 0x2063, // INVISIBLE SEPARATOR
- 0x2064, // INVISIBLE PLUS
- 0xfeff, // ZERO WIDTH NO-BREAK SPACE
- => true,
- else => false,
- };
-}
-
-/// Checks for identifier characters which resemble non-identifier characters
-pub fn homoglyph(codepoint: u21) ?u21 {
- assert(codepoint > 0x7F);
- return switch (codepoint) {
- 0x01c3 => '!', // LATIN LETTER RETROFLEX CLICK
- 0x037e => ';', // GREEK QUESTION MARK
- 0x2212 => '-', // MINUS SIGN
- 0x2215 => '/', // DIVISION SLASH
- 0x2216 => '\\', // SET MINUS
- 0x2217 => '*', // ASTERISK OPERATOR
- 0x2223 => '|', // DIVIDES
- 0x2227 => '^', // LOGICAL AND
- 0x2236 => ':', // RATIO
- 0x223c => '~', // TILDE OPERATOR
- 0xa789 => ':', // MODIFIER LETTER COLON
- 0xff01 => '!', // FULLWIDTH EXCLAMATION MARK
- 0xff03 => '#', // FULLWIDTH NUMBER SIGN
- 0xff04 => '$', // FULLWIDTH DOLLAR SIGN
- 0xff05 => '%', // FULLWIDTH PERCENT SIGN
- 0xff06 => '&', // FULLWIDTH AMPERSAND
- 0xff08 => '(', // FULLWIDTH LEFT PARENTHESIS
- 0xff09 => ')', // FULLWIDTH RIGHT PARENTHESIS
- 0xff0a => '*', // FULLWIDTH ASTERISK
- 0xff0b => '+', // FULLWIDTH ASTERISK
- 0xff0c => ',', // FULLWIDTH COMMA
- 0xff0d => '-', // FULLWIDTH HYPHEN-MINUS
- 0xff0e => '.', // FULLWIDTH FULL STOP
- 0xff0f => '/', // FULLWIDTH SOLIDUS
- 0xff1a => ':', // FULLWIDTH COLON
- 0xff1b => ';', // FULLWIDTH SEMICOLON
- 0xff1c => '<', // FULLWIDTH LESS-THAN SIGN
- 0xff1d => '=', // FULLWIDTH EQUALS SIGN
- 0xff1e => '>', // FULLWIDTH GREATER-THAN SIGN
- 0xff1f => '?', // FULLWIDTH QUESTION MARK
- 0xff20 => '@', // FULLWIDTH COMMERCIAL AT
- 0xff3b => '[', // FULLWIDTH LEFT SQUARE BRACKET
- 0xff3c => '\\', // FULLWIDTH REVERSE SOLIDUS
- 0xff3d => ']', // FULLWIDTH RIGHT SQUARE BRACKET
- 0xff3e => '^', // FULLWIDTH CIRCUMFLEX ACCENT
- 0xff5b => '{', // FULLWIDTH LEFT CURLY BRACKET
- 0xff5c => '|', // FULLWIDTH VERTICAL LINE
- 0xff5d => '}', // FULLWIDTH RIGHT CURLY BRACKET
- 0xff5e => '~', // FULLWIDTH TILDE
- else => null,
- };
-}
deps/aro/CharLiteral.zig
@@ -1,298 +0,0 @@
-const std = @import("std");
-const Compilation = @import("Compilation.zig");
-const Type = @import("Type.zig");
-const Diagnostics = @import("Diagnostics.zig");
-const Tokenizer = @import("Tokenizer.zig");
-const mem = std.mem;
-
-pub const Item = union(enum) {
- /// decoded escape
- value: u32,
- /// Char literal in the source text is not utf8 encoded
- improperly_encoded: []const u8,
- /// 1 or more unescaped bytes
- utf8_text: std.unicode.Utf8View,
-};
-
-const CharDiagnostic = struct {
- tag: Diagnostics.Tag,
- extra: Diagnostics.Message.Extra,
-};
-
-pub const Kind = enum {
- char,
- wide,
- utf_8,
- utf_16,
- utf_32,
-
- pub fn classify(id: Tokenizer.Token.Id) Kind {
- return switch (id) {
- .char_literal,
- .string_literal,
- => .char,
- .char_literal_utf_8,
- .string_literal_utf_8,
- => .utf_8,
- .char_literal_wide,
- .string_literal_wide,
- => .wide,
- .char_literal_utf_16,
- .string_literal_utf_16,
- => .utf_16,
- .char_literal_utf_32,
- .string_literal_utf_32,
- => .utf_32,
- else => unreachable,
- };
- }
-
- /// Largest unicode codepoint that can be represented by this character kind
- /// May be smaller than the largest value that can be represented.
- /// For example u8 char literals may only specify 0-127 via literals or
- /// character escapes, but may specify up to \xFF via hex escapes.
- pub fn maxCodepoint(kind: Kind, comp: *const Compilation) u21 {
- return @intCast(switch (kind) {
- .char => std.math.maxInt(u7),
- .wide => @min(0x10FFFF, comp.types.wchar.maxInt(comp)),
- .utf_8 => std.math.maxInt(u7),
- .utf_16 => std.math.maxInt(u16),
- .utf_32 => 0x10FFFF,
- });
- }
-
- /// Largest integer that can be represented by this character kind
- pub fn maxInt(kind: Kind, comp: *const Compilation) u32 {
- return @intCast(switch (kind) {
- .char, .utf_8 => std.math.maxInt(u8),
- .wide => comp.types.wchar.maxInt(comp),
- .utf_16 => std.math.maxInt(u16),
- .utf_32 => std.math.maxInt(u32),
- });
- }
-
- pub fn charLiteralType(kind: Kind, comp: *const Compilation) Type {
- return switch (kind) {
- .char => Type.int,
- .wide => comp.types.wchar,
- .utf_8 => .{ .specifier = .uchar },
- .utf_16 => comp.types.uint_least16_t,
- .utf_32 => comp.types.uint_least32_t,
- };
- }
-
- /// Return the actual contents of the string literal with leading / trailing quotes and
- /// specifiers removed
- pub fn contentSlice(kind: Kind, delimited: []const u8) []const u8 {
- const end = delimited.len - 1; // remove trailing quote
- return switch (kind) {
- .char => delimited[1..end],
- .wide => delimited[2..end],
- .utf_8 => delimited[3..end],
- .utf_16 => delimited[2..end],
- .utf_32 => delimited[2..end],
- };
- }
-};
-
-pub const Parser = struct {
- literal: []const u8,
- i: usize = 0,
- kind: Kind,
- /// We only want to issue a max of 1 error per char literal
- errored: bool = false,
- errors: std.BoundedArray(CharDiagnostic, 4) = .{},
- comp: *const Compilation,
-
- pub fn init(literal: []const u8, kind: Kind, comp: *const Compilation) Parser {
- return .{
- .literal = literal,
- .comp = comp,
- .kind = kind,
- };
- }
-
- pub fn err(self: *Parser, tag: Diagnostics.Tag, extra: Diagnostics.Message.Extra) void {
- if (self.errored) return;
- self.errored = true;
- self.errors.append(.{ .tag = tag, .extra = extra }) catch {};
- }
-
- pub fn warn(self: *Parser, tag: Diagnostics.Tag, extra: Diagnostics.Message.Extra) void {
- if (self.errored) return;
- self.errors.append(.{ .tag = tag, .extra = extra }) catch {};
- }
-
- pub fn next(self: *Parser) ?Item {
- if (self.i >= self.literal.len) return null;
-
- const start = self.i;
- if (self.literal[start] != '\\') {
- self.i = mem.indexOfScalarPos(u8, self.literal, start + 1, '\\') orelse self.literal.len;
- const unescaped_slice = self.literal[start..self.i];
-
- const view = std.unicode.Utf8View.init(unescaped_slice) catch {
- if (self.kind != .char) {
- self.err(.illegal_char_encoding_error, .{ .none = {} });
- } else {
- self.warn(.illegal_char_encoding_warning, .{ .none = {} });
- }
- return .{ .improperly_encoded = self.literal[start..self.i] };
- };
- return .{ .utf8_text = view };
- }
- switch (self.literal[start + 1]) {
- 'u', 'U' => return self.parseUnicodeEscape(),
- else => return self.parseEscapedChar(),
- }
- }
-
- fn parseUnicodeEscape(self: *Parser) ?Item {
- const start = self.i;
-
- std.debug.assert(self.literal[self.i] == '\\');
-
- const kind = self.literal[self.i + 1];
- std.debug.assert(kind == 'u' or kind == 'U');
-
- self.i += 2;
- if (self.i >= self.literal.len or !std.ascii.isHex(self.literal[self.i])) {
- self.err(.missing_hex_escape, .{ .ascii = @intCast(kind) });
- return null;
- }
- const expected_len: usize = if (kind == 'u') 4 else 8;
- var overflowed = false;
- var count: usize = 0;
- var val: u32 = 0;
-
- for (self.literal[self.i..], 0..) |c, i| {
- if (i == expected_len) break;
-
- const char = std.fmt.charToDigit(c, 16) catch {
- break;
- };
-
- val, const overflow = @shlWithOverflow(val, 4);
- overflowed = overflowed or overflow != 0;
- val |= char;
- count += 1;
- }
- self.i += expected_len;
-
- if (overflowed) {
- self.err(.escape_sequence_overflow, .{ .unsigned = start });
- return null;
- }
-
- if (count != expected_len) {
- self.err(.incomplete_universal_character, .{ .none = {} });
- return null;
- }
-
- if (val > std.math.maxInt(u21) or !std.unicode.utf8ValidCodepoint(@intCast(val))) {
- self.err(.invalid_universal_character, .{ .unsigned = start });
- return null;
- }
-
- if (val > self.kind.maxCodepoint(self.comp)) {
- self.err(.char_too_large, .{ .none = {} });
- }
-
- if (val < 0xA0 and (val != '$' and val != '@' and val != '`')) {
- const is_error = !self.comp.langopts.standard.atLeast(.c2x);
- if (val >= 0x20 and val <= 0x7F) {
- if (is_error) {
- self.err(.ucn_basic_char_error, .{ .ascii = @intCast(val) });
- } else {
- self.warn(.ucn_basic_char_warning, .{ .ascii = @intCast(val) });
- }
- } else {
- if (is_error) {
- self.err(.ucn_control_char_error, .{ .none = {} });
- } else {
- self.warn(.ucn_control_char_warning, .{ .none = {} });
- }
- }
- }
-
- self.warn(.c89_ucn_in_literal, .{ .none = {} });
- return .{ .value = val };
- }
-
- fn parseEscapedChar(self: *Parser) Item {
- self.i += 1;
- const c = self.literal[self.i];
- defer if (c != 'x' and (c < '0' or c > '7')) {
- self.i += 1;
- };
-
- switch (c) {
- '\n' => unreachable, // removed by line splicing
- '\r' => unreachable, // removed by line splicing
- '\'', '\"', '\\', '?' => return .{ .value = c },
- 'n' => return .{ .value = '\n' },
- 'r' => return .{ .value = '\r' },
- 't' => return .{ .value = '\t' },
- 'a' => return .{ .value = 0x07 },
- 'b' => return .{ .value = 0x08 },
- 'e', 'E' => {
- self.warn(.non_standard_escape_char, .{ .invalid_escape = .{ .char = c, .offset = @intCast(self.i) } });
- return .{ .value = 0x1B };
- },
- '(', '{', '[', '%' => {
- self.warn(.non_standard_escape_char, .{ .invalid_escape = .{ .char = c, .offset = @intCast(self.i) } });
- return .{ .value = c };
- },
- 'f' => return .{ .value = 0x0C },
- 'v' => return .{ .value = 0x0B },
- 'x' => return .{ .value = self.parseNumberEscape(.hex) },
- '0'...'7' => return .{ .value = self.parseNumberEscape(.octal) },
- 'u', 'U' => unreachable, // handled by parseUnicodeEscape
- else => {
- self.warn(.unknown_escape_sequence, .{ .invalid_escape = .{ .char = c, .offset = @intCast(self.i) } });
- return .{ .value = c };
- },
- }
- }
-
- fn parseNumberEscape(self: *Parser, base: EscapeBase) u32 {
- var val: u32 = 0;
- var count: usize = 0;
- var overflowed = false;
- defer self.i += count;
- const slice = switch (base) {
- .octal => self.literal[self.i..@min(self.literal.len, self.i + 3)], // max 3 chars
- .hex => blk: {
- self.i += 1;
- break :blk self.literal[self.i..]; // skip over 'x'; could have an arbitrary number of chars
- },
- };
- for (slice) |c| {
- const char = std.fmt.charToDigit(c, @intFromEnum(base)) catch break;
- val, const overflow = @shlWithOverflow(val, base.log2());
- if (overflow != 0) overflowed = true;
- val += char;
- count += 1;
- }
- if (overflowed or val > self.kind.maxInt(self.comp)) {
- self.err(.escape_sequence_overflow, .{ .unsigned = 0 });
- }
- if (count == 0) {
- std.debug.assert(base == .hex);
- self.err(.missing_hex_escape, .{ .ascii = 'x' });
- }
- return val;
- }
-};
-
-const EscapeBase = enum(u8) {
- octal = 8,
- hex = 16,
-
- fn log2(base: EscapeBase) u4 {
- return switch (base) {
- .octal => 3,
- .hex => 4,
- };
- }
-};
deps/aro/Codegen_legacy.zig
@@ -1,108 +0,0 @@
-const std = @import("std");
-const Compilation = @import("Compilation.zig");
-const Tree = @import("Tree.zig");
-const NodeIndex = Tree.NodeIndex;
-const Object = @import("Object.zig");
-const x86_64 = @import("codegen/x86_64.zig");
-
-const Codegen = @This();
-
-comp: *Compilation,
-tree: Tree,
-obj: *Object,
-node_tag: []const Tree.Tag,
-node_data: []const Tree.Node.Data,
-
-pub const Error = Compilation.Error || error{CodegenFailed};
-
-/// Generate tree to an object file.
-/// Caller is responsible for flushing and freeing the returned object.
-pub fn generateTree(comp: *Compilation, tree: Tree) Compilation.Error!*Object {
- var c = Codegen{
- .comp = comp,
- .tree = tree,
- .obj = try Object.create(comp),
- .node_tag = tree.nodes.items(.tag),
- .node_data = tree.nodes.items(.data),
- };
- errdefer c.obj.deinit();
-
- const node_tags = tree.nodes.items(.tag);
- for (tree.root_decls) |decl| {
- switch (node_tags[@intFromEnum(decl)]) {
- // these produce no code
- .static_assert,
- .typedef,
- .struct_decl_two,
- .union_decl_two,
- .enum_decl_two,
- .struct_decl,
- .union_decl,
- .enum_decl,
- .struct_forward_decl,
- .union_forward_decl,
- .enum_forward_decl,
- => {},
-
- // define symbol
- .fn_proto,
- .static_fn_proto,
- .inline_fn_proto,
- .inline_static_fn_proto,
- .extern_var,
- .threadlocal_extern_var,
- => {
- const name = c.tree.tokSlice(c.node_data[@intFromEnum(decl)].decl.name);
- _ = try c.obj.declareSymbol(.undefined, name, .Strong, .external, 0, 0);
- },
-
- // function definition
- .fn_def,
- .static_fn_def,
- .inline_fn_def,
- .inline_static_fn_def,
- => c.genFn(decl) catch |err| switch (err) {
- error.FatalError => return error.FatalError,
- error.OutOfMemory => return error.OutOfMemory,
- error.CodegenFailed => continue,
- },
-
- .@"var",
- .static_var,
- .threadlocal_var,
- .threadlocal_static_var,
- .implicit_static_var,
- => c.genVar(decl) catch |err| switch (err) {
- error.FatalError => return error.FatalError,
- error.OutOfMemory => return error.OutOfMemory,
- error.CodegenFailed => continue,
- },
-
- // TODO
- .file_scope_asm => {},
-
- else => unreachable,
- }
- }
-
- return c.obj;
-}
-
-fn genFn(c: *Codegen, decl: NodeIndex) Error!void {
- const section: Object.Section = .func;
- const data = try c.obj.getSection(section);
- const start_len = data.items.len;
- switch (c.comp.target.cpu.arch) {
- .x86_64 => try x86_64.genFn(c, decl, data),
- else => unreachable,
- }
- const name = c.tree.tokSlice(c.node_data[@intFromEnum(decl)].decl.name);
- _ = try c.obj.declareSymbol(section, name, .Strong, .func, start_len, data.items.len - start_len);
-}
-
-fn genVar(c: *Codegen, decl: NodeIndex) Error!void {
- switch (c.comp.target.cpu.arch) {
- .x86_64 => try x86_64.genVar(c, decl),
- else => unreachable,
- }
-}
deps/aro/Diagnostics.zig
@@ -1,2935 +0,0 @@
-const std = @import("std");
-const mem = std.mem;
-const Allocator = mem.Allocator;
-const Source = @import("Source.zig");
-const Compilation = @import("Compilation.zig");
-const Attribute = @import("Attribute.zig");
-const Builtins = @import("Builtins.zig");
-const Builtin = Builtins.Builtin;
-const Header = @import("Builtins/Properties.zig").Header;
-const Tree = @import("Tree.zig");
-const util = @import("util.zig");
-const is_windows = @import("builtin").os.tag == .windows;
-
-const Diagnostics = @This();
-
-const PointerSignMessage = " converts between pointers to integer types with different sign";
-
-pub const Message = struct {
- tag: Tag,
- kind: Kind = undefined,
- loc: Source.Location = .{},
- extra: Extra = .{ .none = {} },
-
- pub const Extra = union {
- str: []const u8,
- tok_id: struct {
- expected: Tree.Token.Id,
- actual: Tree.Token.Id,
- },
- tok_id_expected: Tree.Token.Id,
- arguments: struct {
- expected: u32,
- actual: u32,
- },
- codepoints: struct {
- actual: u21,
- resembles: u21,
- },
- attr_arg_count: struct {
- attribute: Attribute.Tag,
- expected: u32,
- },
- attr_arg_type: struct {
- expected: Attribute.ArgumentType,
- actual: Attribute.ArgumentType,
- },
- attr_enum: struct {
- tag: Attribute.Tag,
- },
- ignored_record_attr: struct {
- tag: Attribute.Tag,
- specifier: enum { @"struct", @"union", @"enum" },
- },
- builtin_with_header: struct {
- builtin: Builtin.Tag,
- header: Header,
- },
- invalid_escape: struct {
- offset: u32,
- char: u8,
- },
- actual_codepoint: u21,
- ascii: u7,
- unsigned: u64,
- pow_2_as_string: u8,
- signed: i64,
- none: void,
- };
-};
-
-pub const Tag = std.meta.DeclEnum(messages);
-
-pub const Kind = enum { @"fatal error", @"error", note, warning, off, default };
-
-pub const Options = struct {
- // do not directly use these, instead add `const NAME = true;`
- all: Kind = .default,
- extra: Kind = .default,
- pedantic: Kind = .default,
-
- @"unsupported-pragma": Kind = .default,
- @"c99-extensions": Kind = .default,
- @"implicit-int": Kind = .default,
- @"duplicate-decl-specifier": Kind = .default,
- @"missing-declaration": Kind = .default,
- @"extern-initializer": Kind = .default,
- @"implicit-function-declaration": Kind = .default,
- @"unused-value": Kind = .default,
- @"unreachable-code": Kind = .default,
- @"unknown-warning-option": Kind = .default,
- @"gnu-empty-struct": Kind = .default,
- @"gnu-alignof-expression": Kind = .default,
- @"macro-redefined": Kind = .default,
- @"generic-qual-type": Kind = .default,
- multichar: Kind = .default,
- @"pointer-integer-compare": Kind = .default,
- @"compare-distinct-pointer-types": Kind = .default,
- @"literal-conversion": Kind = .default,
- @"cast-qualifiers": Kind = .default,
- @"array-bounds": Kind = .default,
- @"int-conversion": Kind = .default,
- @"pointer-type-mismatch": Kind = .default,
- @"c2x-extensions": Kind = .default,
- @"incompatible-pointer-types": Kind = .default,
- @"excess-initializers": Kind = .default,
- @"division-by-zero": Kind = .default,
- @"initializer-overrides": Kind = .default,
- @"incompatible-pointer-types-discards-qualifiers": Kind = .default,
- @"unknown-attributes": Kind = .default,
- @"ignored-attributes": Kind = .default,
- @"builtin-macro-redefined": Kind = .default,
- @"gnu-label-as-value": Kind = .default,
- @"malformed-warning-check": Kind = .default,
- @"#pragma-messages": Kind = .default,
- @"newline-eof": Kind = .default,
- @"empty-translation-unit": Kind = .default,
- @"implicitly-unsigned-literal": Kind = .default,
- @"c99-compat": Kind = .default,
- @"unicode-zero-width": Kind = .default,
- @"unicode-homoglyph": Kind = .default,
- unicode: Kind = .default,
- @"return-type": Kind = .default,
- @"dollar-in-identifier-extension": Kind = .default,
- @"unknown-pragmas": Kind = .default,
- @"predefined-identifier-outside-function": Kind = .default,
- @"many-braces-around-scalar-init": Kind = .default,
- uninitialized: Kind = .default,
- @"gnu-statement-expression": Kind = .default,
- @"gnu-imaginary-constant": Kind = .default,
- @"gnu-complex-integer": Kind = .default,
- @"ignored-qualifiers": Kind = .default,
- @"integer-overflow": Kind = .default,
- @"extra-semi": Kind = .default,
- @"gnu-binary-literal": Kind = .default,
- @"variadic-macros": Kind = .default,
- varargs: Kind = .default,
- @"#warnings": Kind = .default,
- @"deprecated-declarations": Kind = .default,
- @"backslash-newline-escape": Kind = .default,
- @"pointer-to-int-cast": Kind = .default,
- @"gnu-case-range": Kind = .default,
- @"c++-compat": Kind = .default,
- vla: Kind = .default,
- @"float-overflow-conversion": Kind = .default,
- @"float-zero-conversion": Kind = .default,
- @"float-conversion": Kind = .default,
- @"gnu-folding-constant": Kind = .default,
- undef: Kind = .default,
- @"ignored-pragmas": Kind = .default,
- @"gnu-include-next": Kind = .default,
- @"include-next-outside-header": Kind = .default,
- @"include-next-absolute-path": Kind = .default,
- @"enum-too-large": Kind = .default,
- @"fixed-enum-extension": Kind = .default,
- @"designated-init": Kind = .default,
- @"attribute-warning": Kind = .default,
- @"invalid-noreturn": Kind = .default,
- @"zero-length-array": Kind = .default,
- @"old-style-flexible-struct": Kind = .default,
- @"gnu-zero-variadic-macro-arguments": Kind = .default,
- @"main-return-type": Kind = .default,
- @"expansion-to-defined": Kind = .default,
- @"bit-int-extension": Kind = .default,
- @"keyword-macro": Kind = .default,
- @"pointer-arith": Kind = .default,
- @"sizeof-array-argument": Kind = .default,
- @"pre-c2x-compat": Kind = .default,
- @"pointer-bool-conversion": Kind = .default,
- @"string-conversion": Kind = .default,
- @"gnu-auto-type": Kind = .default,
- @"gnu-union-cast": Kind = .default,
- @"pointer-sign": Kind = .default,
- @"fuse-ld-path": Kind = .default,
- @"language-extension-token": Kind = .default,
- @"complex-component-init": Kind = .default,
- @"microsoft-include": Kind = .default,
- @"microsoft-end-of-file": Kind = .default,
- @"invalid-source-encoding": Kind = .default,
- @"four-char-constants": Kind = .default,
- @"unknown-escape-sequence": Kind = .default,
- @"invalid-pp-token": Kind = .default,
-};
-
-const messages = struct {
- pub const todo = struct { // Maybe someday this will no longer be needed.
- const msg = "TODO: {s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const error_directive = struct {
- const msg = "{s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const warning_directive = struct {
- const msg = "{s}";
- const opt = "#warnings";
- const extra = .str;
- const kind = .warning;
- };
- pub const elif_without_if = struct {
- const msg = "#elif without #if";
- const kind = .@"error";
- };
- pub const elif_after_else = struct {
- const msg = "#elif after #else";
- const kind = .@"error";
- };
- pub const elifdef_without_if = struct {
- const msg = "#elifdef without #if";
- const kind = .@"error";
- };
- pub const elifdef_after_else = struct {
- const msg = "#elifdef after #else";
- const kind = .@"error";
- };
- pub const elifndef_without_if = struct {
- const msg = "#elifndef without #if";
- const kind = .@"error";
- };
- pub const elifndef_after_else = struct {
- const msg = "#elifndef after #else";
- const kind = .@"error";
- };
- pub const else_without_if = struct {
- const msg = "#else without #if";
- const kind = .@"error";
- };
- pub const else_after_else = struct {
- const msg = "#else after #else";
- const kind = .@"error";
- };
- pub const endif_without_if = struct {
- const msg = "#endif without #if";
- const kind = .@"error";
- };
- pub const unknown_pragma = struct {
- const msg = "unknown pragma ignored";
- const opt = "unknown-pragmas";
- const kind = .off;
- const all = true;
- };
- pub const line_simple_digit = struct {
- const msg = "#line directive requires a simple digit sequence";
- const kind = .@"error";
- };
- pub const line_invalid_filename = struct {
- const msg = "invalid filename for #line directive";
- const kind = .@"error";
- };
- pub const unterminated_conditional_directive = struct {
- const msg = "unterminated conditional directive";
- const kind = .@"error";
- };
- pub const invalid_preprocessing_directive = struct {
- const msg = "invalid preprocessing directive";
- const kind = .@"error";
- };
- pub const macro_name_missing = struct {
- const msg = "macro name missing";
- const kind = .@"error";
- };
- pub const extra_tokens_directive_end = struct {
- const msg = "extra tokens at end of macro directive";
- const kind = .@"error";
- };
- pub const expected_value_in_expr = struct {
- const msg = "expected value in expression";
- const kind = .@"error";
- };
- pub const closing_paren = struct {
- const msg = "expected closing ')'";
- const kind = .@"error";
- };
- pub const to_match_paren = struct {
- const msg = "to match this '('";
- const kind = .note;
- };
- pub const to_match_brace = struct {
- const msg = "to match this '{'";
- const kind = .note;
- };
- pub const to_match_bracket = struct {
- const msg = "to match this '['";
- const kind = .note;
- };
- pub const header_str_closing = struct {
- const msg = "expected closing '>'";
- const kind = .@"error";
- };
- pub const header_str_match = struct {
- const msg = "to match this '<'";
- const kind = .note;
- };
- pub const string_literal_in_pp_expr = struct {
- const msg = "string literal in preprocessor expression";
- const kind = .@"error";
- };
- pub const float_literal_in_pp_expr = struct {
- const msg = "floating point literal in preprocessor expression";
- const kind = .@"error";
- };
- pub const defined_as_macro_name = struct {
- const msg = "'defined' cannot be used as a macro name";
- const kind = .@"error";
- };
- pub const macro_name_must_be_identifier = struct {
- const msg = "macro name must be an identifier";
- const kind = .@"error";
- };
- pub const whitespace_after_macro_name = struct {
- const msg = "ISO C99 requires whitespace after the macro name";
- const opt = "c99-extensions";
- const kind = .warning;
- };
- pub const hash_hash_at_start = struct {
- const msg = "'##' cannot appear at the start of a macro expansion";
- const kind = .@"error";
- };
- pub const hash_hash_at_end = struct {
- const msg = "'##' cannot appear at the end of a macro expansion";
- const kind = .@"error";
- };
- pub const pasting_formed_invalid = struct {
- const msg = "pasting formed '{s}', an invalid preprocessing token";
- const extra = .str;
- const kind = .@"error";
- };
- pub const missing_paren_param_list = struct {
- const msg = "missing ')' in macro parameter list";
- const kind = .@"error";
- };
- pub const unterminated_macro_param_list = struct {
- const msg = "unterminated macro param list";
- const kind = .@"error";
- };
- pub const invalid_token_param_list = struct {
- const msg = "invalid token in macro parameter list";
- const kind = .@"error";
- };
- pub const expected_comma_param_list = struct {
- const msg = "expected comma in macro parameter list";
- const kind = .@"error";
- };
- pub const hash_not_followed_param = struct {
- const msg = "'#' is not followed by a macro parameter";
- const kind = .@"error";
- };
- pub const expected_filename = struct {
- const msg = "expected \"FILENAME\" or <FILENAME>";
- const kind = .@"error";
- };
- pub const empty_filename = struct {
- const msg = "empty filename";
- const kind = .@"error";
- };
- pub const expected_invalid = struct {
- const msg = "expected '{s}', found invalid bytes";
- const extra = .tok_id_expected;
- const kind = .@"error";
- };
- pub const expected_eof = struct {
- const msg = "expected '{s}' before end of file";
- const extra = .tok_id_expected;
- const kind = .@"error";
- };
- pub const expected_token = struct {
- const msg = "expected '{s}', found '{s}'";
- const extra = .tok_id;
- const kind = .@"error";
- };
- pub const expected_expr = struct {
- const msg = "expected expression";
- const kind = .@"error";
- };
- pub const expected_integer_constant_expr = struct {
- const msg = "expression is not an integer constant expression";
- const kind = .@"error";
- };
- pub const missing_type_specifier = struct {
- const msg = "type specifier missing, defaults to 'int'";
- const opt = "implicit-int";
- const kind = .warning;
- const all = true;
- };
- pub const missing_type_specifier_c2x = struct {
- const msg = "a type specifier is required for all declarations";
- const kind = .@"error";
- };
- pub const multiple_storage_class = struct {
- const msg = "cannot combine with previous '{s}' declaration specifier";
- const extra = .str;
- const kind = .@"error";
- };
- pub const static_assert_failure = struct {
- const msg = "static assertion failed";
- const kind = .@"error";
- };
- pub const static_assert_failure_message = struct {
- const msg = "static assertion failed {s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const expected_type = struct {
- const msg = "expected a type";
- const kind = .@"error";
- };
- pub const cannot_combine_spec = struct {
- const msg = "cannot combine with previous '{s}' specifier";
- const extra = .str;
- const kind = .@"error";
- };
- pub const duplicate_decl_spec = struct {
- const msg = "duplicate '{s}' declaration specifier";
- const extra = .str;
- const opt = "duplicate-decl-specifier";
- const kind = .warning;
- const all = true;
- };
- pub const restrict_non_pointer = struct {
- const msg = "restrict requires a pointer or reference ('{s}' is invalid)";
- const extra = .str;
- const kind = .@"error";
- };
- pub const expected_external_decl = struct {
- const msg = "expected external declaration";
- const kind = .@"error";
- };
- pub const expected_ident_or_l_paren = struct {
- const msg = "expected identifier or '('";
- const kind = .@"error";
- };
- pub const missing_declaration = struct {
- const msg = "declaration does not declare anything";
- const opt = "missing-declaration";
- const kind = .warning;
- };
- pub const func_not_in_root = struct {
- const msg = "function definition is not allowed here";
- const kind = .@"error";
- };
- pub const illegal_initializer = struct {
- const msg = "illegal initializer (only variables can be initialized)";
- const kind = .@"error";
- };
- pub const extern_initializer = struct {
- const msg = "extern variable has initializer";
- const opt = "extern-initializer";
- const kind = .warning;
- };
- pub const spec_from_typedef = struct {
- const msg = "'{s}' came from typedef";
- const extra = .str;
- const kind = .note;
- };
- pub const param_before_var_args = struct {
- const msg = "ISO C requires a named parameter before '...'";
- const kind = .@"error";
- };
- pub const void_only_param = struct {
- const msg = "'void' must be the only parameter if specified";
- const kind = .@"error";
- };
- pub const void_param_qualified = struct {
- const msg = "'void' parameter cannot be qualified";
- const kind = .@"error";
- };
- pub const void_must_be_first_param = struct {
- const msg = "'void' must be the first parameter if specified";
- const kind = .@"error";
- };
- pub const invalid_storage_on_param = struct {
- const msg = "invalid storage class on function parameter";
- const kind = .@"error";
- };
- pub const threadlocal_non_var = struct {
- const msg = "_Thread_local only allowed on variables";
- const kind = .@"error";
- };
- pub const func_spec_non_func = struct {
- const msg = "'{s}' can only appear on functions";
- const extra = .str;
- const kind = .@"error";
- };
- pub const illegal_storage_on_func = struct {
- const msg = "illegal storage class on function";
- const kind = .@"error";
- };
- pub const illegal_storage_on_global = struct {
- const msg = "illegal storage class on global variable";
- const kind = .@"error";
- };
- pub const expected_stmt = struct {
- const msg = "expected statement";
- const kind = .@"error";
- };
- pub const func_cannot_return_func = struct {
- const msg = "function cannot return a function";
- const kind = .@"error";
- };
- pub const func_cannot_return_array = struct {
- const msg = "function cannot return an array";
- const kind = .@"error";
- };
- pub const undeclared_identifier = struct {
- const msg = "use of undeclared identifier '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const not_callable = struct {
- const msg = "cannot call non function type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const unsupported_str_cat = struct {
- const msg = "unsupported string literal concatenation";
- const kind = .@"error";
- };
- pub const static_func_not_global = struct {
- const msg = "static functions must be global";
- const kind = .@"error";
- };
- pub const implicit_func_decl = struct {
- const msg = "implicit declaration of function '{s}' is invalid in C99";
- const extra = .str;
- const opt = "implicit-function-declaration";
- const kind = .warning;
- const all = true;
- };
- pub const unknown_builtin = struct {
- const msg = "use of unknown builtin '{s}'";
- const extra = .str;
- const opt = "implicit-function-declaration";
- const kind = .@"error";
- const all = true;
- };
- pub const implicit_builtin = struct {
- const msg = "implicitly declaring library function '{s}'";
- const extra = .str;
- const opt = "implicit-function-declaration";
- const kind = .@"error";
- const all = true;
- };
- pub const implicit_builtin_header_note = struct {
- const msg = "include the header <{s}.h> or explicitly provide a declaration for '{s}'";
- const extra = .builtin_with_header;
- const opt = "implicit-function-declaration";
- const kind = .note;
- const all = true;
- };
- pub const expected_param_decl = struct {
- const msg = "expected parameter declaration";
- const kind = .@"error";
- };
- pub const invalid_old_style_params = struct {
- const msg = "identifier parameter lists are only allowed in function definitions";
- const kind = .@"error";
- };
- pub const expected_fn_body = struct {
- const msg = "expected function body after function declaration";
- const kind = .@"error";
- };
- pub const invalid_void_param = struct {
- const msg = "parameter cannot have void type";
- const kind = .@"error";
- };
- pub const unused_value = struct {
- const msg = "expression result unused";
- const opt = "unused-value";
- const kind = .warning;
- const all = true;
- };
- pub const continue_not_in_loop = struct {
- const msg = "'continue' statement not in a loop";
- const kind = .@"error";
- };
- pub const break_not_in_loop_or_switch = struct {
- const msg = "'break' statement not in a loop or a switch";
- const kind = .@"error";
- };
- pub const unreachable_code = struct {
- const msg = "unreachable code";
- const opt = "unreachable-code";
- const kind = .warning;
- const all = true;
- };
- pub const duplicate_label = struct {
- const msg = "duplicate label '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const previous_label = struct {
- const msg = "previous definition of label '{s}' was here";
- const extra = .str;
- const kind = .note;
- };
- pub const undeclared_label = struct {
- const msg = "use of undeclared label '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const case_not_in_switch = struct {
- const msg = "'{s}' statement not in a switch statement";
- const extra = .str;
- const kind = .@"error";
- };
- pub const duplicate_switch_case_signed = struct {
- const msg = "duplicate case value '{d}'";
- const extra = .signed;
- const kind = .@"error";
- };
- pub const duplicate_switch_case_unsigned = struct {
- const msg = "duplicate case value '{d}'";
- const extra = .unsigned;
- const kind = .@"error";
- };
- pub const multiple_default = struct {
- const msg = "multiple default cases in the same switch";
- const kind = .@"error";
- };
- pub const previous_case = struct {
- const msg = "previous case defined here";
- const kind = .note;
- };
- pub const expected_arguments = struct {
- const msg = "expected {d} argument(s) got {d}";
- const extra = .arguments;
- const kind = .@"error";
- };
- pub const expected_arguments_old = struct {
- const msg = expected_arguments.msg;
- const extra = .arguments;
- const kind = .warning;
- };
- pub const expected_at_least_arguments = struct {
- const msg = "expected at least {d} argument(s) got {d}";
- const extra = .arguments;
- const kind = .warning;
- };
- pub const invalid_static_star = struct {
- const msg = "'static' may not be used with an unspecified variable length array size";
- const kind = .@"error";
- };
- pub const static_non_param = struct {
- const msg = "'static' used outside of function parameters";
- const kind = .@"error";
- };
- pub const array_qualifiers = struct {
- const msg = "type qualifier in non parameter array type";
- const kind = .@"error";
- };
- pub const star_non_param = struct {
- const msg = "star modifier used outside of function parameters";
- const kind = .@"error";
- };
- pub const variable_len_array_file_scope = struct {
- const msg = "variable length arrays not allowed at file scope";
- const kind = .@"error";
- };
- pub const useless_static = struct {
- const msg = "'static' useless without a constant size";
- const kind = .warning;
- const w_extra = true;
- };
- pub const negative_array_size = struct {
- const msg = "array size must be 0 or greater";
- const kind = .@"error";
- };
- pub const array_incomplete_elem = struct {
- const msg = "array has incomplete element type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const array_func_elem = struct {
- const msg = "arrays cannot have functions as their element type";
- const kind = .@"error";
- };
- pub const static_non_outermost_array = struct {
- const msg = "'static' used in non-outermost array type";
- const kind = .@"error";
- };
- pub const qualifier_non_outermost_array = struct {
- const msg = "type qualifier used in non-outermost array type";
- const kind = .@"error";
- };
- pub const unterminated_macro_arg_list = struct {
- const msg = "unterminated function macro argument list";
- const kind = .@"error";
- };
- pub const unknown_warning = struct {
- const msg = "unknown warning '{s}'";
- const extra = .str;
- const opt = "unknown-warning-option";
- const kind = .warning;
- };
- pub const overflow_signed = struct {
- const msg = "overflow in expression; result is '{d}'";
- const extra = .signed;
- const opt = "integer-overflow";
- const kind = .warning;
- };
- pub const overflow_unsigned = struct {
- const msg = overflow_signed.msg;
- const extra = .unsigned;
- const opt = "integer-overflow";
- const kind = .warning;
- };
- pub const int_literal_too_big = struct {
- const msg = "integer literal is too large to be represented in any integer type";
- const kind = .@"error";
- };
- pub const indirection_ptr = struct {
- const msg = "indirection requires pointer operand";
- const kind = .@"error";
- };
- pub const addr_of_rvalue = struct {
- const msg = "cannot take the address of an rvalue";
- const kind = .@"error";
- };
- pub const addr_of_bitfield = struct {
- const msg = "address of bit-field requested";
- const kind = .@"error";
- };
- pub const not_assignable = struct {
- const msg = "expression is not assignable";
- const kind = .@"error";
- };
- pub const ident_or_l_brace = struct {
- const msg = "expected identifier or '{'";
- const kind = .@"error";
- };
- pub const empty_enum = struct {
- const msg = "empty enum is invalid";
- const kind = .@"error";
- };
- pub const redefinition = struct {
- const msg = "redefinition of '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const previous_definition = struct {
- const msg = "previous definition is here";
- const kind = .note;
- };
- pub const expected_identifier = struct {
- const msg = "expected identifier";
- const kind = .@"error";
- };
- pub const expected_str_literal = struct {
- const msg = "expected string literal for diagnostic message in static_assert";
- const kind = .@"error";
- };
- pub const expected_str_literal_in = struct {
- const msg = "expected string literal in '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const parameter_missing = struct {
- const msg = "parameter named '{s}' is missing";
- const extra = .str;
- const kind = .@"error";
- };
- pub const empty_record = struct {
- const msg = "empty {s} is a GNU extension";
- const extra = .str;
- const opt = "gnu-empty-struct";
- const kind = .off;
- const pedantic = true;
- };
- pub const empty_record_size = struct {
- const msg = "empty {s} has size 0 in C, size 1 in C++";
- const extra = .str;
- const opt = "c++-compat";
- const kind = .off;
- };
- pub const wrong_tag = struct {
- const msg = "use of '{s}' with tag type that does not match previous definition";
- const extra = .str;
- const kind = .@"error";
- };
- pub const expected_parens_around_typename = struct {
- const msg = "expected parentheses around type name";
- const kind = .@"error";
- };
- pub const alignof_expr = struct {
- const msg = "'_Alignof' applied to an expression is a GNU extension";
- const opt = "gnu-alignof-expression";
- const kind = .warning;
- const suppress_gnu = true;
- };
- pub const invalid_alignof = struct {
- const msg = "invalid application of 'alignof' to an incomplete type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const invalid_sizeof = struct {
- const msg = "invalid application of 'sizeof' to an incomplete type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const macro_redefined = struct {
- const msg = "'{s}' macro redefined";
- const extra = .str;
- const opt = "macro-redefined";
- const kind = .warning;
- };
- pub const generic_qual_type = struct {
- const msg = "generic association with qualifiers cannot be matched with";
- const opt = "generic-qual-type";
- const kind = .warning;
- };
- pub const generic_array_type = struct {
- const msg = "generic association array type cannot be matched with";
- const opt = "generic-qual-type";
- const kind = .warning;
- };
- pub const generic_func_type = struct {
- const msg = "generic association function type cannot be matched with";
- const opt = "generic-qual-type";
- const kind = .warning;
- };
- pub const generic_duplicate = struct {
- const msg = "type '{s}' in generic association compatible with previously specified type";
- const extra = .str;
- const kind = .@"error";
- };
- pub const generic_duplicate_here = struct {
- const msg = "compatible type '{s}' specified here";
- const extra = .str;
- const kind = .note;
- };
- pub const generic_duplicate_default = struct {
- const msg = "duplicate default generic association";
- const kind = .@"error";
- };
- pub const generic_no_match = struct {
- const msg = "controlling expression type '{s}' not compatible with any generic association type";
- const extra = .str;
- const kind = .@"error";
- };
- pub const escape_sequence_overflow = struct {
- const msg = "escape sequence out of range";
- const kind = .@"error";
- };
- pub const invalid_universal_character = struct {
- const msg = "invalid universal character";
- const kind = .@"error";
- };
- pub const incomplete_universal_character = struct {
- const msg = "incomplete universal character name";
- const kind = .@"error";
- };
- pub const multichar_literal_warning = struct {
- const msg = "multi-character character constant";
- const opt = "multichar";
- const kind = .warning;
- const all = true;
- };
- pub const invalid_multichar_literal = struct {
- const msg = "{s} character literals may not contain multiple characters";
- const kind = .@"error";
- const extra = .str;
- };
- pub const wide_multichar_literal = struct {
- const msg = "extraneous characters in character constant ignored";
- const kind = .warning;
- };
- pub const char_lit_too_wide = struct {
- const msg = "character constant too long for its type";
- const kind = .warning;
- const all = true;
- };
- pub const char_too_large = struct {
- const msg = "character too large for enclosing character literal type";
- const kind = .@"error";
- };
- pub const must_use_struct = struct {
- const msg = "must use 'struct' tag to refer to type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const must_use_union = struct {
- const msg = "must use 'union' tag to refer to type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const must_use_enum = struct {
- const msg = "must use 'enum' tag to refer to type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const redefinition_different_sym = struct {
- const msg = "redefinition of '{s}' as different kind of symbol";
- const extra = .str;
- const kind = .@"error";
- };
- pub const redefinition_incompatible = struct {
- const msg = "redefinition of '{s}' with a different type";
- const extra = .str;
- const kind = .@"error";
- };
- pub const redefinition_of_parameter = struct {
- const msg = "redefinition of parameter '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const invalid_bin_types = struct {
- const msg = "invalid operands to binary expression ({s})";
- const extra = .str;
- const kind = .@"error";
- };
- pub const comparison_ptr_int = struct {
- const msg = "comparison between pointer and integer ({s})";
- const extra = .str;
- const opt = "pointer-integer-compare";
- const kind = .warning;
- };
- pub const comparison_distinct_ptr = struct {
- const msg = "comparison of distinct pointer types ({s})";
- const extra = .str;
- const opt = "compare-distinct-pointer-types";
- const kind = .warning;
- };
- pub const incompatible_pointers = struct {
- const msg = "incompatible pointer types ({s})";
- const extra = .str;
- const kind = .@"error";
- };
- pub const invalid_argument_un = struct {
- const msg = "invalid argument type '{s}' to unary expression";
- const extra = .str;
- const kind = .@"error";
- };
- pub const incompatible_assign = struct {
- const msg = "assignment to {s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const implicit_ptr_to_int = struct {
- const msg = "implicit pointer to integer conversion from {s}";
- const extra = .str;
- const opt = "int-conversion";
- const kind = .warning;
- };
- pub const invalid_cast_to_float = struct {
- const msg = "pointer cannot be cast to type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const invalid_cast_to_pointer = struct {
- const msg = "operand of type '{s}' cannot be cast to a pointer type";
- const extra = .str;
- const kind = .@"error";
- };
- pub const invalid_cast_type = struct {
- const msg = "cannot cast to non arithmetic or pointer type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const qual_cast = struct {
- const msg = "cast to type '{s}' will not preserve qualifiers";
- const extra = .str;
- const opt = "cast-qualifiers";
- const kind = .warning;
- };
- pub const invalid_index = struct {
- const msg = "array subscript is not an integer";
- const kind = .@"error";
- };
- pub const invalid_subscript = struct {
- const msg = "subscripted value is not an array or pointer";
- const kind = .@"error";
- };
- pub const array_after = struct {
- const msg = "array index {d} is past the end of the array";
- const extra = .unsigned;
- const opt = "array-bounds";
- const kind = .warning;
- };
- pub const array_before = struct {
- const msg = "array index {d} is before the beginning of the array";
- const extra = .signed;
- const opt = "array-bounds";
- const kind = .warning;
- };
- pub const statement_int = struct {
- const msg = "statement requires expression with integer type ('{s}' invalid)";
- const extra = .str;
- const kind = .@"error";
- };
- pub const statement_scalar = struct {
- const msg = "statement requires expression with scalar type ('{s}' invalid)";
- const extra = .str;
- const kind = .@"error";
- };
- pub const func_should_return = struct {
- const msg = "non-void function '{s}' should return a value";
- const extra = .str;
- const opt = "return-type";
- const kind = .@"error";
- const all = true;
- };
- pub const incompatible_return = struct {
- const msg = "returning {s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const incompatible_return_sign = struct {
- const msg = "returning {s}" ++ PointerSignMessage;
- const extra = .str;
- const kind = .warning;
- const opt = "pointer-sign";
- };
- pub const implicit_int_to_ptr = struct {
- const msg = "implicit integer to pointer conversion from {s}";
- const extra = .str;
- const opt = "int-conversion";
- const kind = .warning;
- };
- pub const func_does_not_return = struct {
- const msg = "non-void function '{s}' does not return a value";
- const extra = .str;
- const opt = "return-type";
- const kind = .warning;
- const all = true;
- };
- pub const void_func_returns_value = struct {
- const msg = "void function '{s}' should not return a value";
- const extra = .str;
- const opt = "return-type";
- const kind = .@"error";
- const all = true;
- };
- pub const incompatible_arg = struct {
- const msg = "passing {s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const incompatible_ptr_arg = struct {
- const msg = "passing {s}";
- const extra = .str;
- const kind = .warning;
- const opt = "incompatible-pointer-types";
- };
- pub const incompatible_ptr_arg_sign = struct {
- const msg = "passing {s}" ++ PointerSignMessage;
- const extra = .str;
- const kind = .warning;
- const opt = "pointer-sign";
- };
- pub const parameter_here = struct {
- const msg = "passing argument to parameter here";
- const kind = .note;
- };
- pub const atomic_array = struct {
- const msg = "atomic cannot be applied to array type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const atomic_func = struct {
- const msg = "atomic cannot be applied to function type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const atomic_incomplete = struct {
- const msg = "atomic cannot be applied to incomplete type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const addr_of_register = struct {
- const msg = "address of register variable requested";
- const kind = .@"error";
- };
- pub const variable_incomplete_ty = struct {
- const msg = "variable has incomplete type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const parameter_incomplete_ty = struct {
- const msg = "parameter has incomplete type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const tentative_array = struct {
- const msg = "tentative array definition assumed to have one element";
- const kind = .warning;
- };
- pub const deref_incomplete_ty_ptr = struct {
- const msg = "dereferencing pointer to incomplete type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const alignas_on_func = struct {
- const msg = "'_Alignas' attribute only applies to variables and fields";
- const kind = .@"error";
- };
- pub const alignas_on_param = struct {
- const msg = "'_Alignas' attribute cannot be applied to a function parameter";
- const kind = .@"error";
- };
- pub const minimum_alignment = struct {
- const msg = "requested alignment is less than minimum alignment of {d}";
- const extra = .unsigned;
- const kind = .@"error";
- };
- pub const maximum_alignment = struct {
- const msg = "requested alignment of {d} is too large";
- const extra = .unsigned;
- const kind = .@"error";
- };
- pub const negative_alignment = struct {
- const msg = "requested negative alignment of {d} is invalid";
- const extra = .signed;
- const kind = .@"error";
- };
- pub const align_ignored = struct {
- const msg = "'_Alignas' attribute is ignored here";
- const kind = .warning;
- };
- pub const zero_align_ignored = struct {
- const msg = "requested alignment of zero is ignored";
- const kind = .warning;
- };
- pub const non_pow2_align = struct {
- const msg = "requested alignment is not a power of 2";
- const kind = .@"error";
- };
- pub const pointer_mismatch = struct {
- const msg = "pointer type mismatch ({s})";
- const extra = .str;
- const opt = "pointer-type-mismatch";
- const kind = .warning;
- };
- pub const static_assert_not_constant = struct {
- const msg = "static_assert expression is not an integral constant expression";
- const kind = .@"error";
- };
- pub const static_assert_missing_message = struct {
- const msg = "static_assert with no message is a C2X extension";
- const opt = "c2x-extensions";
- const kind = .warning;
- const suppress_version = .c2x;
- };
- pub const pre_c2x_compat = struct {
- const msg = "{s} is incompatible with C standards before C2x";
- const extra = .str;
- const kind = .off;
- const suppress_unless_version = .c2x;
- const opt = "pre-c2x-compat";
- };
- pub const unbound_vla = struct {
- const msg = "variable length array must be bound in function definition";
- const kind = .@"error";
- };
- pub const array_too_large = struct {
- const msg = "array is too large";
- const kind = .@"error";
- };
- pub const incompatible_ptr_init = struct {
- const msg = "incompatible pointer types initializing {s}";
- const extra = .str;
- const opt = "incompatible-pointer-types";
- const kind = .warning;
- };
- pub const incompatible_ptr_init_sign = struct {
- const msg = "incompatible pointer types initializing {s}" ++ PointerSignMessage;
- const extra = .str;
- const opt = "pointer-sign";
- const kind = .warning;
- };
- pub const incompatible_ptr_assign = struct {
- const msg = "incompatible pointer types assigning to {s}";
- const extra = .str;
- const opt = "incompatible-pointer-types";
- const kind = .warning;
- };
- pub const incompatible_ptr_assign_sign = struct {
- const msg = "incompatible pointer types assigning to {s} " ++ PointerSignMessage;
- const extra = .str;
- const opt = "pointer-sign";
- const kind = .warning;
- };
- pub const vla_init = struct {
- const msg = "variable-sized object may not be initialized";
- const kind = .@"error";
- };
- pub const func_init = struct {
- const msg = "illegal initializer type";
- const kind = .@"error";
- };
- pub const incompatible_init = struct {
- const msg = "initializing {s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const empty_scalar_init = struct {
- const msg = "scalar initializer cannot be empty";
- const kind = .@"error";
- };
- pub const excess_scalar_init = struct {
- const msg = "excess elements in scalar initializer";
- const opt = "excess-initializers";
- const kind = .warning;
- };
- pub const excess_str_init = struct {
- const msg = "excess elements in string initializer";
- const opt = "excess-initializers";
- const kind = .warning;
- };
- pub const excess_struct_init = struct {
- const msg = "excess elements in struct initializer";
- const opt = "excess-initializers";
- const kind = .warning;
- };
- pub const excess_array_init = struct {
- const msg = "excess elements in array initializer";
- const opt = "excess-initializers";
- const kind = .warning;
- };
- pub const str_init_too_long = struct {
- const msg = "initializer-string for char array is too long";
- const opt = "excess-initializers";
- const kind = .warning;
- };
- pub const arr_init_too_long = struct {
- const msg = "cannot initialize type ({s})";
- const extra = .str;
- const kind = .@"error";
- };
- pub const invalid_typeof = struct {
- const msg = "'{s} typeof' is invalid";
- const extra = .str;
- const kind = .@"error";
- };
- pub const division_by_zero = struct {
- const msg = "{s} by zero is undefined";
- const extra = .str;
- const opt = "division-by-zero";
- const kind = .warning;
- };
- pub const division_by_zero_macro = struct {
- const msg = "{s} by zero in preprocessor expression";
- const extra = .str;
- const kind = .@"error";
- };
- pub const builtin_choose_cond = struct {
- const msg = "'__builtin_choose_expr' requires a constant expression";
- const kind = .@"error";
- };
- pub const alignas_unavailable = struct {
- const msg = "'_Alignas' attribute requires integer constant expression";
- const kind = .@"error";
- };
- pub const case_val_unavailable = struct {
- const msg = "case value must be an integer constant expression";
- const kind = .@"error";
- };
- pub const enum_val_unavailable = struct {
- const msg = "enum value must be an integer constant expression";
- const kind = .@"error";
- };
- pub const incompatible_array_init = struct {
- const msg = "cannot initialize array of type {s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const array_init_str = struct {
- const msg = "array initializer must be an initializer list or wide string literal";
- const kind = .@"error";
- };
- pub const initializer_overrides = struct {
- const msg = "initializer overrides previous initialization";
- const opt = "initializer-overrides";
- const kind = .warning;
- const w_extra = true;
- };
- pub const previous_initializer = struct {
- const msg = "previous initialization";
- const kind = .note;
- };
- pub const invalid_array_designator = struct {
- const msg = "array designator used for non-array type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const negative_array_designator = struct {
- const msg = "array designator value {d} is negative";
- const extra = .signed;
- const kind = .@"error";
- };
- pub const oob_array_designator = struct {
- const msg = "array designator index {d} exceeds array bounds";
- const extra = .unsigned;
- const kind = .@"error";
- };
- pub const invalid_field_designator = struct {
- const msg = "field designator used for non-record type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const no_such_field_designator = struct {
- const msg = "record type has no field named '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const empty_aggregate_init_braces = struct {
- const msg = "initializer for aggregate with no elements requires explicit braces";
- const kind = .@"error";
- };
- pub const ptr_init_discards_quals = struct {
- const msg = "initializing {s} discards qualifiers";
- const extra = .str;
- const opt = "incompatible-pointer-types-discards-qualifiers";
- const kind = .warning;
- };
- pub const ptr_assign_discards_quals = struct {
- const msg = "assigning to {s} discards qualifiers";
- const extra = .str;
- const opt = "incompatible-pointer-types-discards-qualifiers";
- const kind = .warning;
- };
- pub const ptr_ret_discards_quals = struct {
- const msg = "returning {s} discards qualifiers";
- const extra = .str;
- const opt = "incompatible-pointer-types-discards-qualifiers";
- const kind = .warning;
- };
- pub const ptr_arg_discards_quals = struct {
- const msg = "passing {s} discards qualifiers";
- const extra = .str;
- const opt = "incompatible-pointer-types-discards-qualifiers";
- const kind = .warning;
- };
- pub const unknown_attribute = struct {
- const msg = "unknown attribute '{s}' ignored";
- const extra = .str;
- const opt = "unknown-attributes";
- const kind = .warning;
- };
- pub const ignored_attribute = struct {
- const msg = "{s}";
- const extra = .str;
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const invalid_fallthrough = struct {
- const msg = "fallthrough annotation does not directly precede switch label";
- const kind = .@"error";
- };
- pub const cannot_apply_attribute_to_statement = struct {
- const msg = "'{s}' attribute cannot be applied to a statement";
- const extra = .str;
- const kind = .@"error";
- };
- pub const builtin_macro_redefined = struct {
- const msg = "redefining builtin macro";
- const opt = "builtin-macro-redefined";
- const kind = .warning;
- };
- pub const feature_check_requires_identifier = struct {
- const msg = "builtin feature check macro requires a parenthesized identifier";
- const kind = .@"error";
- };
- pub const missing_tok_builtin = struct {
- const msg = "missing '{s}', after builtin feature-check macro";
- const extra = .tok_id_expected;
- const kind = .@"error";
- };
- pub const gnu_label_as_value = struct {
- const msg = "use of GNU address-of-label extension";
- const opt = "gnu-label-as-value";
- const kind = .off;
- const pedantic = true;
- };
- pub const expected_record_ty = struct {
- const msg = "member reference base type '{s}' is not a structure or union";
- const extra = .str;
- const kind = .@"error";
- };
- pub const member_expr_not_ptr = struct {
- const msg = "member reference type '{s}' is not a pointer; did you mean to use '.'?";
- const extra = .str;
- const kind = .@"error";
- };
- pub const member_expr_ptr = struct {
- const msg = "member reference type '{s}' is a pointer; did you mean to use '->'?";
- const extra = .str;
- const kind = .@"error";
- };
- pub const no_such_member = struct {
- const msg = "no member named {s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const malformed_warning_check = struct {
- const msg = "{s} expected option name (e.g. \"-Wundef\")";
- const extra = .str;
- const opt = "malformed-warning-check";
- const kind = .warning;
- const all = true;
- };
- pub const invalid_computed_goto = struct {
- const msg = "computed goto in function with no address-of-label expressions";
- const kind = .@"error";
- };
- pub const pragma_warning_message = struct {
- const msg = "{s}";
- const extra = .str;
- const opt = "#pragma-messages";
- const kind = .warning;
- };
- pub const pragma_error_message = struct {
- const msg = "{s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const pragma_message = struct {
- const msg = "#pragma message: {s}";
- const extra = .str;
- const kind = .note;
- };
- pub const pragma_requires_string_literal = struct {
- const msg = "pragma {s} requires string literal";
- const extra = .str;
- const kind = .@"error";
- };
- pub const poisoned_identifier = struct {
- const msg = "attempt to use a poisoned identifier";
- const kind = .@"error";
- };
- pub const pragma_poison_identifier = struct {
- const msg = "can only poison identifier tokens";
- const kind = .@"error";
- };
- pub const pragma_poison_macro = struct {
- const msg = "poisoning existing macro";
- const kind = .warning;
- };
- pub const newline_eof = struct {
- const msg = "no newline at end of file";
- const opt = "newline-eof";
- const kind = .off;
- const pedantic = true;
- };
- pub const empty_translation_unit = struct {
- const msg = "ISO C requires a translation unit to contain at least one declaration";
- const opt = "empty-translation-unit";
- const kind = .off;
- const pedantic = true;
- };
- pub const omitting_parameter_name = struct {
- const msg = "omitting the parameter name in a function definition is a C2x extension";
- const opt = "c2x-extensions";
- const kind = .warning;
- const suppress_version = .c2x;
- };
- pub const non_int_bitfield = struct {
- const msg = "bit-field has non-integer type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const negative_bitwidth = struct {
- const msg = "bit-field has negative width ({d})";
- const extra = .signed;
- const kind = .@"error";
- };
- pub const zero_width_named_field = struct {
- const msg = "named bit-field has zero width";
- const kind = .@"error";
- };
- pub const bitfield_too_big = struct {
- const msg = "width of bit-field exceeds width of its type";
- const kind = .@"error";
- };
- pub const invalid_utf8 = struct {
- const msg = "source file is not valid UTF-8";
- const kind = .@"error";
- };
- pub const implicitly_unsigned_literal = struct {
- const msg = "integer literal is too large to be represented in a signed integer type, interpreting as unsigned";
- const opt = "implicitly-unsigned-literal";
- const kind = .warning;
- };
- pub const invalid_preproc_operator = struct {
- const msg = "token is not a valid binary operator in a preprocessor subexpression";
- const kind = .@"error";
- };
- pub const invalid_preproc_expr_start = struct {
- const msg = "invalid token at start of a preprocessor expression";
- const kind = .@"error";
- };
- pub const c99_compat = struct {
- const msg = "using this character in an identifier is incompatible with C99";
- const opt = "c99-compat";
- const kind = .off;
- };
- pub const unexpected_character = struct {
- const msg = "unexpected character <U+{X:0>4}>";
- const extra = .actual_codepoint;
- const kind = .@"error";
- };
- pub const invalid_identifier_start_char = struct {
- const msg = "character <U+{X:0>4}> not allowed at the start of an identifier";
- const extra = .actual_codepoint;
- const kind = .@"error";
- };
- pub const unicode_zero_width = struct {
- const msg = "identifier contains Unicode character <U+{X:0>4}> that is invisible in some environments";
- const opt = "unicode-homoglyph";
- const extra = .actual_codepoint;
- const kind = .warning;
- };
- pub const unicode_homoglyph = struct {
- const msg = "treating Unicode character <U+{X:0>4}> as identifier character rather than as '{u}' symbol";
- const extra = .codepoints;
- const opt = "unicode-homoglyph";
- const kind = .warning;
- };
- pub const meaningless_asm_qual = struct {
- const msg = "meaningless '{s}' on assembly outside function";
- const extra = .str;
- const kind = .@"error";
- };
- pub const duplicate_asm_qual = struct {
- const msg = "duplicate asm qualifier '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const invalid_asm_str = struct {
- const msg = "cannot use {s} string literal in assembly";
- const extra = .str;
- const kind = .@"error";
- };
- pub const dollar_in_identifier_extension = struct {
- const msg = "'$' in identifier";
- const opt = "dollar-in-identifier-extension";
- const kind = .off;
- const suppress_language_option = "dollars_in_identifiers";
- const pedantic = true;
- };
- pub const dollars_in_identifiers = struct {
- const msg = "illegal character '$' in identifier";
- const kind = .@"error";
- };
- pub const expanded_from_here = struct {
- const msg = "expanded from here";
- const kind = .note;
- };
- pub const skipping_macro_backtrace = struct {
- const msg = "(skipping {d} expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)";
- const extra = .unsigned;
- const kind = .note;
- };
- pub const pragma_operator_string_literal = struct {
- const msg = "_Pragma requires exactly one string literal token";
- const kind = .@"error";
- };
- pub const unknown_gcc_pragma = struct {
- const msg = "pragma GCC expected 'error', 'warning', 'diagnostic', 'poison'";
- const opt = "unknown-pragmas";
- const kind = .off;
- const all = true;
- };
- pub const unknown_gcc_pragma_directive = struct {
- const msg = "pragma GCC diagnostic expected 'error', 'warning', 'ignored', 'fatal', 'push', or 'pop'";
- const opt = "unknown-pragmas";
- const kind = .warning;
- const all = true;
- };
- pub const predefined_top_level = struct {
- const msg = "predefined identifier is only valid inside function";
- const opt = "predefined-identifier-outside-function";
- const kind = .warning;
- };
- pub const incompatible_va_arg = struct {
- const msg = "first argument to va_arg, is of type '{s}' and not 'va_list'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const too_many_scalar_init_braces = struct {
- const msg = "too many braces around scalar initializer";
- const opt = "many-braces-around-scalar-init";
- const kind = .warning;
- };
- pub const uninitialized_in_own_init = struct {
- const msg = "variable '{s}' is uninitialized when used within its own initialization";
- const extra = .str;
- const opt = "uninitialized";
- const kind = .off;
- const all = true;
- };
- pub const gnu_statement_expression = struct {
- const msg = "use of GNU statement expression extension";
- const opt = "gnu-statement-expression";
- const kind = .off;
- const suppress_gnu = true;
- const pedantic = true;
- };
- pub const stmt_expr_not_allowed_file_scope = struct {
- const msg = "statement expression not allowed at file scope";
- const kind = .@"error";
- };
- pub const gnu_imaginary_constant = struct {
- const msg = "imaginary constants are a GNU extension";
- const opt = "gnu-imaginary-constant";
- const kind = .off;
- const suppress_gnu = true;
- const pedantic = true;
- };
- pub const plain_complex = struct {
- const msg = "plain '_Complex' requires a type specifier; assuming '_Complex double'";
- const kind = .warning;
- };
- pub const complex_int = struct {
- const msg = "complex integer types are a GNU extension";
- const opt = "gnu-complex-integer";
- const suppress_gnu = true;
- const kind = .off;
- };
- pub const qual_on_ret_type = struct {
- const msg = "'{s}' type qualifier on return type has no effect";
- const opt = "ignored-qualifiers";
- const extra = .str;
- const kind = .off;
- const all = true;
- };
- pub const cli_invalid_standard = struct {
- const msg = "invalid standard '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const cli_invalid_target = struct {
- const msg = "invalid target '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const cli_invalid_emulate = struct {
- const msg = "invalid compiler '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const cli_unknown_arg = struct {
- const msg = "unknown argument '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const cli_error = struct {
- const msg = "{s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const cli_unused_link_object = struct {
- const msg = "{s}: linker input file unused because linking not done";
- const extra = .str;
- const kind = .warning;
- };
- pub const cli_unknown_linker = struct {
- const msg = "unrecognized linker '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const extra_semi = struct {
- const msg = "extra ';' outside of a function";
- const opt = "extra-semi";
- const kind = .off;
- const pedantic = true;
- };
- pub const func_field = struct {
- const msg = "field declared as a function";
- const kind = .@"error";
- };
- pub const vla_field = struct {
- const msg = "variable length array fields extension is not supported";
- const kind = .@"error";
- };
- pub const field_incomplete_ty = struct {
- const msg = "field has incomplete type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const flexible_in_union = struct {
- const msg = "flexible array member in union is not allowed";
- const kind = .@"error";
- const suppress_msvc = true;
- };
- pub const flexible_non_final = struct {
- const msg = "flexible array member is not at the end of struct";
- const kind = .@"error";
- };
- pub const flexible_in_empty = struct {
- const msg = "flexible array member in otherwise empty struct";
- const kind = .@"error";
- const suppress_msvc = true;
- };
- pub const duplicate_member = struct {
- const msg = "duplicate member '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const binary_integer_literal = struct {
- const msg = "binary integer literals are a GNU extension";
- const kind = .off;
- const opt = "gnu-binary-literal";
- const pedantic = true;
- };
- pub const gnu_va_macro = struct {
- const msg = "named variadic macros are a GNU extension";
- const opt = "variadic-macros";
- const kind = .off;
- const pedantic = true;
- };
- pub const builtin_must_be_called = struct {
- const msg = "builtin function must be directly called";
- const kind = .@"error";
- };
- pub const va_start_not_in_func = struct {
- const msg = "'va_start' cannot be used outside a function";
- const kind = .@"error";
- };
- pub const va_start_fixed_args = struct {
- const msg = "'va_start' used in a function with fixed args";
- const kind = .@"error";
- };
- pub const va_start_not_last_param = struct {
- const msg = "second argument to 'va_start' is not the last named parameter";
- const opt = "varargs";
- const kind = .warning;
- };
- pub const attribute_not_enough_args = struct {
- const msg = "'{s}' attribute takes at least {d} argument(s)";
- const kind = .@"error";
- const extra = .attr_arg_count;
- };
- pub const attribute_too_many_args = struct {
- const msg = "'{s}' attribute takes at most {d} argument(s)";
- const kind = .@"error";
- const extra = .attr_arg_count;
- };
- pub const attribute_arg_invalid = struct {
- const msg = "Attribute argument is invalid, expected {s} but got {s}";
- const kind = .@"error";
- const extra = .attr_arg_type;
- };
- pub const unknown_attr_enum = struct {
- const msg = "Unknown `{s}` argument. Possible values are: {s}";
- const kind = .@"error";
- const extra = .attr_enum;
- };
- pub const attribute_requires_identifier = struct {
- const msg = "'{s}' attribute requires an identifier";
- const kind = .@"error";
- const extra = .str;
- };
- pub const declspec_not_enabled = struct {
- const msg = "'__declspec' attributes are not enabled; use '-fdeclspec' or '-fms-extensions' to enable support for __declspec attributes";
- const kind = .@"error";
- };
- pub const declspec_attr_not_supported = struct {
- const msg = "__declspec attribute '{s}' is not supported";
- const extra = .str;
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const deprecated_declarations = struct {
- const msg = "{s}";
- const extra = .str;
- const opt = "deprecated-declarations";
- const kind = .warning;
- };
- pub const deprecated_note = struct {
- const msg = "'{s}' has been explicitly marked deprecated here";
- const extra = .str;
- const opt = "deprecated-declarations";
- const kind = .note;
- };
- pub const unavailable = struct {
- const msg = "{s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const unavailable_note = struct {
- const msg = "'{s}' has been explicitly marked unavailable here";
- const extra = .str;
- const kind = .note;
- };
- pub const warning_attribute = struct {
- const msg = "{s}";
- const extra = .str;
- const kind = .warning;
- const opt = "attribute-warning";
- };
- pub const error_attribute = struct {
- const msg = "{s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const ignored_record_attr = struct {
- const msg = "attribute '{s}' is ignored, place it after \"{s}\" to apply attribute to type declaration";
- const extra = .ignored_record_attr;
- const kind = .warning;
- const opt = "ignored-attributes";
- };
- pub const backslash_newline_escape = struct {
- const msg = "backslash and newline separated by space";
- const kind = .warning;
- const opt = "backslash-newline-escape";
- };
- pub const array_size_non_int = struct {
- const msg = "size of array has non-integer type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const cast_to_smaller_int = struct {
- const msg = "cast to smaller integer type {s}";
- const extra = .str;
- const kind = .warning;
- const opt = "pointer-to-int-cast";
- };
- pub const gnu_switch_range = struct {
- const msg = "use of GNU case range extension";
- const opt = "gnu-case-range";
- const kind = .off;
- const pedantic = true;
- };
- pub const empty_case_range = struct {
- const msg = "empty case range specified";
- const kind = .warning;
- };
- pub const non_standard_escape_char = struct {
- const msg = "use of non-standard escape character '\\{s}'";
- const kind = .off;
- const opt = "pedantic";
- const extra = .invalid_escape;
- };
- pub const invalid_pp_stringify_escape = struct {
- const msg = "invalid string literal, ignoring final '\\'";
- const kind = .warning;
- };
- pub const vla = struct {
- const msg = "variable length array used";
- const kind = .off;
- const opt = "vla";
- };
- pub const float_overflow_conversion = struct {
- const msg = "implicit conversion of non-finite value from {s} is undefined";
- const extra = .str;
- const kind = .off;
- const opt = "float-overflow-conversion";
- };
- pub const float_out_of_range = struct {
- const msg = "implicit conversion of out of range value from {s} is undefined";
- const extra = .str;
- const kind = .warning;
- const opt = "literal-conversion";
- };
- pub const float_zero_conversion = struct {
- const msg = "implicit conversion from {s}";
- const extra = .str;
- const kind = .off;
- const opt = "float-zero-conversion";
- };
- pub const float_value_changed = struct {
- const msg = "implicit conversion from {s}";
- const extra = .str;
- const kind = .warning;
- const opt = "float-conversion";
- };
- pub const float_to_int = struct {
- const msg = "implicit conversion turns floating-point number into integer: {s}";
- const extra = .str;
- const kind = .off;
- const opt = "literal-conversion";
- };
- pub const const_decl_folded = struct {
- const msg = "expression is not an integer constant expression; folding it to a constant is a GNU extension";
- const kind = .off;
- const opt = "gnu-folding-constant";
- const pedantic = true;
- };
- pub const const_decl_folded_vla = struct {
- const msg = "variable length array folded to constant array as an extension";
- const kind = .off;
- const opt = "gnu-folding-constant";
- const pedantic = true;
- };
- pub const redefinition_of_typedef = struct {
- const msg = "typedef redefinition with different types ({s})";
- const extra = .str;
- const kind = .@"error";
- };
- pub const undefined_macro = struct {
- const msg = "'{s}' is not defined, evaluates to 0";
- const extra = .str;
- const kind = .off;
- const opt = "undef";
- };
- pub const fn_macro_undefined = struct {
- const msg = "function-like macro '{s}' is not defined";
- const extra = .str;
- const kind = .@"error";
- };
- pub const preprocessing_directive_only = struct {
- const msg = "'{s}' must be used within a preprocessing directive";
- const extra = .tok_id_expected;
- const kind = .@"error";
- };
- pub const missing_lparen_after_builtin = struct {
- const msg = "Missing '(' after built-in macro '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const offsetof_ty = struct {
- const msg = "offsetof requires struct or union type, '{s}' invalid";
- const extra = .str;
- const kind = .@"error";
- };
- pub const offsetof_incomplete = struct {
- const msg = "offsetof of incomplete type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const offsetof_array = struct {
- const msg = "offsetof requires array type, '{s}' invalid";
- const extra = .str;
- const kind = .@"error";
- };
- pub const pragma_pack_lparen = struct {
- const msg = "missing '(' after '#pragma pack' - ignoring";
- const kind = .warning;
- const opt = "ignored-pragmas";
- };
- pub const pragma_pack_rparen = struct {
- const msg = "missing ')' after '#pragma pack' - ignoring";
- const kind = .warning;
- const opt = "ignored-pragmas";
- };
- pub const pragma_pack_unknown_action = struct {
- const msg = "unknown action for '#pragma pack' - ignoring";
- const opt = "ignored-pragmas";
- const kind = .warning;
- };
- pub const pragma_pack_show = struct {
- const msg = "value of #pragma pack(show) == {d}";
- const extra = .unsigned;
- const kind = .warning;
- };
- pub const pragma_pack_int = struct {
- const msg = "expected #pragma pack parameter to be '1', '2', '4', '8', or '16'";
- const opt = "ignored-pragmas";
- const kind = .warning;
- };
- pub const pragma_pack_int_ident = struct {
- const msg = "expected integer or identifier in '#pragma pack' - ignored";
- const opt = "ignored-pragmas";
- const kind = .warning;
- };
- pub const pragma_pack_undefined_pop = struct {
- const msg = "specifying both a name and alignment to 'pop' is undefined";
- const kind = .warning;
- };
- pub const pragma_pack_empty_stack = struct {
- const msg = "#pragma pack(pop, ...) failed: stack empty";
- const opt = "ignored-pragmas";
- const kind = .warning;
- };
- pub const cond_expr_type = struct {
- const msg = "used type '{s}' where arithmetic or pointer type is required";
- const extra = .str;
- const kind = .@"error";
- };
- pub const too_many_includes = struct {
- const msg = "#include nested too deeply";
- const kind = .@"error";
- };
- pub const enumerator_too_small = struct {
- const msg = "ISO C restricts enumerator values to range of 'int' ({d} is too small)";
- const extra = .signed;
- const kind = .off;
- const opt = "pedantic";
- };
- pub const enumerator_too_large = struct {
- const msg = "ISO C restricts enumerator values to range of 'int' ({d} is too large)";
- const extra = .unsigned;
- const kind = .off;
- const opt = "pedantic";
- };
- pub const include_next = struct {
- const msg = "#include_next is a language extension";
- const kind = .off;
- const pedantic = true;
- const opt = "gnu-include-next";
- };
- pub const include_next_outside_header = struct {
- const msg = "#include_next in primary source file; will search from start of include path";
- const kind = .warning;
- const opt = "include-next-outside-header";
- };
- pub const enumerator_overflow = struct {
- const msg = "overflow in enumeration value";
- const kind = .warning;
- };
- pub const enum_not_representable = struct {
- const msg = "incremented enumerator value {s} is not representable in the largest integer type";
- const kind = .warning;
- const opt = "enum-too-large";
- const extra = .pow_2_as_string;
- };
- pub const enum_too_large = struct {
- const msg = "enumeration values exceed range of largest integer";
- const kind = .warning;
- const opt = "enum-too-large";
- };
- pub const enum_fixed = struct {
- const msg = "enumeration types with a fixed underlying type are a Clang extension";
- const kind = .off;
- const pedantic = true;
- const opt = "fixed-enum-extension";
- };
- pub const enum_prev_nonfixed = struct {
- const msg = "enumeration previously declared with nonfixed underlying type";
- const kind = .@"error";
- };
- pub const enum_prev_fixed = struct {
- const msg = "enumeration previously declared with fixed underlying type";
- const kind = .@"error";
- };
- pub const enum_different_explicit_ty = struct {
- // str will be like 'new' (was 'old'
- const msg = "enumeration redeclared with different underlying type {s})";
- const extra = .str;
- const kind = .@"error";
- };
- pub const enum_not_representable_fixed = struct {
- const msg = "enumerator value is not representable in the underlying type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const transparent_union_wrong_type = struct {
- const msg = "'transparent_union' attribute only applies to unions";
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const transparent_union_one_field = struct {
- const msg = "transparent union definition must contain at least one field; transparent_union attribute ignored";
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const transparent_union_size = struct {
- const msg = "size of field {s} bits) does not match the size of the first field in transparent union; transparent_union attribute ignored";
- const extra = .str;
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const transparent_union_size_note = struct {
- const msg = "size of first field is {d}";
- const extra = .unsigned;
- const kind = .note;
- };
- pub const designated_init_invalid = struct {
- const msg = "'designated_init' attribute is only valid on 'struct' type'";
- const kind = .@"error";
- };
- pub const designated_init_needed = struct {
- const msg = "positional initialization of field in 'struct' declared with 'designated_init' attribute";
- const opt = "designated-init";
- const kind = .warning;
- };
- pub const ignore_common = struct {
- const msg = "ignoring attribute 'common' because it conflicts with attribute 'nocommon'";
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const ignore_nocommon = struct {
- const msg = "ignoring attribute 'nocommon' because it conflicts with attribute 'common'";
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const non_string_ignored = struct {
- const msg = "'nonstring' attribute ignored on objects of type '{s}'";
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const local_variable_attribute = struct {
- const msg = "'{s}' attribute only applies to local variables";
- const extra = .str;
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const ignore_cold = struct {
- const msg = "ignoring attribute 'cold' because it conflicts with attribute 'hot'";
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const ignore_hot = struct {
- const msg = "ignoring attribute 'hot' because it conflicts with attribute 'cold'";
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const ignore_noinline = struct {
- const msg = "ignoring attribute 'noinline' because it conflicts with attribute 'always_inline'";
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const ignore_always_inline = struct {
- const msg = "ignoring attribute 'always_inline' because it conflicts with attribute 'noinline'";
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const invalid_noreturn = struct {
- const msg = "function '{s}' declared 'noreturn' should not return";
- const extra = .str;
- const kind = .warning;
- const opt = "invalid-noreturn";
- };
- pub const nodiscard_unused = struct {
- const msg = "ignoring return value of '{s}', declared with 'nodiscard' attribute";
- const extra = .str;
- const kind = .warning;
- const op = "unused-result";
- };
- pub const warn_unused_result = struct {
- const msg = "ignoring return value of '{s}', declared with 'warn_unused_result' attribute";
- const extra = .str;
- const kind = .warning;
- const op = "unused-result";
- };
- pub const invalid_vec_elem_ty = struct {
- const msg = "invalid vector element type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const vec_size_not_multiple = struct {
- const msg = "vector size not an integral multiple of component size";
- const kind = .@"error";
- };
- pub const invalid_imag = struct {
- const msg = "invalid type '{s}' to __imag operator";
- const extra = .str;
- const kind = .@"error";
- };
- pub const invalid_real = struct {
- const msg = "invalid type '{s}' to __real operator";
- const extra = .str;
- const kind = .@"error";
- };
- pub const zero_length_array = struct {
- const msg = "zero size arrays are an extension";
- const kind = .off;
- const pedantic = true;
- const opt = "zero-length-array";
- };
- pub const old_style_flexible_struct = struct {
- const msg = "array index {d} is past the end of the array";
- const extra = .unsigned;
- const kind = .off;
- const pedantic = true;
- const opt = "old-style-flexible-struct";
- };
- pub const comma_deletion_va_args = struct {
- const msg = "token pasting of ',' and __VA_ARGS__ is a GNU extension";
- const kind = .off;
- const pedantic = true;
- const opt = "gnu-zero-variadic-macro-arguments";
- const suppress_gcc = true;
- };
- pub const main_return_type = struct {
- const msg = "return type of 'main' is not 'int'";
- const kind = .warning;
- const opt = "main-return-type";
- };
- pub const expansion_to_defined = struct {
- const msg = "macro expansion producing 'defined' has undefined behavior";
- const kind = .off;
- const pedantic = true;
- const opt = "expansion-to-defined";
- };
- pub const invalid_int_suffix = struct {
- const msg = "invalid suffix '{s}' on integer constant";
- const extra = .str;
- const kind = .@"error";
- };
- pub const invalid_float_suffix = struct {
- const msg = "invalid suffix '{s}' on floating constant";
- const extra = .str;
- const kind = .@"error";
- };
- pub const invalid_octal_digit = struct {
- const msg = "invalid digit '{c}' in octal constant";
- const extra = .ascii;
- const kind = .@"error";
- };
- pub const invalid_binary_digit = struct {
- const msg = "invalid digit '{c}' in binary constant";
- const extra = .ascii;
- const kind = .@"error";
- };
- pub const exponent_has_no_digits = struct {
- const msg = "exponent has no digits";
- const kind = .@"error";
- };
- pub const hex_floating_constant_requires_exponent = struct {
- const msg = "hexadecimal floating constant requires an exponent";
- const kind = .@"error";
- };
- pub const sizeof_returns_zero = struct {
- const msg = "sizeof returns 0";
- const kind = .warning;
- const suppress_gcc = true;
- const suppress_clang = true;
- };
- pub const declspec_not_allowed_after_declarator = struct {
- const msg = "'declspec' attribute not allowed after declarator";
- const kind = .@"error";
- };
- pub const declarator_name_tok = struct {
- const msg = "this declarator";
- const kind = .note;
- };
- pub const type_not_supported_on_target = struct {
- const msg = "{s} is not supported on this target";
- const extra = .str;
- const kind = .@"error";
- };
- pub const bit_int = struct {
- const msg = "'_BitInt' in C17 and earlier is a Clang extension'";
- const kind = .off;
- const pedantic = true;
- const opt = "bit-int-extension";
- const suppress_version = .c2x;
- };
- pub const unsigned_bit_int_too_small = struct {
- const msg = "{s} must have a bit size of at least 1";
- const extra = .str;
- const kind = .@"error";
- };
- pub const signed_bit_int_too_small = struct {
- const msg = "{s} must have a bit size of at least 2";
- const extra = .str;
- const kind = .@"error";
- };
- pub const bit_int_too_big = struct {
- const msg = "{s} of bit sizes greater than " ++ std.fmt.comptimePrint("{d}", .{Compilation.bit_int_max_bits}) ++ " not supported";
- const extra = .str;
- const kind = .@"error";
- };
- pub const keyword_macro = struct {
- const msg = "keyword is hidden by macro definition";
- const kind = .off;
- const pedantic = true;
- const opt = "keyword-macro";
- };
- pub const ptr_arithmetic_incomplete = struct {
- const msg = "arithmetic on a pointer to an incomplete type '{s}'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const callconv_not_supported = struct {
- const msg = "'{s}' calling convention is not supported for this target";
- const extra = .str;
- const opt = "ignored-attributes";
- const kind = .warning;
- };
- pub const pointer_arith_void = struct {
- const msg = "invalid application of '{s}' to a void type";
- const extra = .str;
- const kind = .off;
- const pedantic = true;
- const opt = "pointer-arith";
- };
- pub const sizeof_array_arg = struct {
- const msg = "sizeof on array function parameter will return size of {s}";
- const extra = .str;
- const kind = .warning;
- const opt = "sizeof-array-argument";
- };
- pub const array_address_to_bool = struct {
- const msg = "address of array '{s}' will always evaluate to 'true'";
- const extra = .str;
- const kind = .warning;
- const opt = "pointer-bool-conversion";
- };
- pub const string_literal_to_bool = struct {
- const msg = "implicit conversion turns string literal into bool: {s}";
- const extra = .str;
- const kind = .off;
- const opt = "string-conversion";
- };
- pub const constant_expression_conversion_not_allowed = struct {
- const msg = "this conversion is not allowed in a constant expression";
- const kind = .note;
- };
- pub const invalid_object_cast = struct {
- const msg = "cannot cast an object of type {s}";
- const extra = .str;
- const kind = .@"error";
- };
- pub const cli_invalid_fp_eval_method = struct {
- const msg = "unsupported argument '{s}' to option '-ffp-eval-method='; expected 'source', 'double', or 'extended'";
- const extra = .str;
- const kind = .@"error";
- };
- pub const suggest_pointer_for_invalid_fp16 = struct {
- const msg = "{s} cannot have __fp16 type; did you forget * ?";
- const extra = .str;
- const kind = .@"error";
- };
- pub const bitint_suffix = struct {
- const msg = "'_BitInt' suffix for literals is a C2x extension";
- const opt = "c2x-extensions";
- const kind = .warning;
- const suppress_version = .c2x;
- };
- pub const auto_type_extension = struct {
- const msg = "'__auto_type' is a GNU extension";
- const opt = "gnu-auto-type";
- const kind = .off;
- const pedantic = true;
- };
- pub const auto_type_not_allowed = struct {
- const msg = "'__auto_type' not allowed in {s}";
- const kind = .@"error";
- const extra = .str;
- };
- pub const auto_type_requires_initializer = struct {
- const msg = "declaration of variable '{s}' with deduced type requires an initializer";
- const kind = .@"error";
- const extra = .str;
- };
- pub const auto_type_requires_single_declarator = struct {
- const msg = "'__auto_type' may only be used with a single declarator";
- const kind = .@"error";
- };
- pub const auto_type_requires_plain_declarator = struct {
- const msg = "'__auto_type' requires a plain identifier as declarator";
- const kind = .@"error";
- };
- pub const invalid_cast_to_auto_type = struct {
- const msg = "invalid cast to '__auto_type'";
- const kind = .@"error";
- };
- pub const auto_type_from_bitfield = struct {
- const msg = "cannot use bit-field as '__auto_type' initializer";
- const kind = .@"error";
- };
- pub const array_of_auto_type = struct {
- const msg = "'{s}' declared as array of '__auto_type'";
- const kind = .@"error";
- const extra = .str;
- };
- pub const auto_type_with_init_list = struct {
- const msg = "cannot use '__auto_type' with initializer list";
- const kind = .@"error";
- };
- pub const missing_semicolon = struct {
- const msg = "expected ';' at end of declaration list";
- const kind = .warning;
- };
- pub const tentative_definition_incomplete = struct {
- const msg = "tentative definition has type '{s}' that is never completed";
- const kind = .@"error";
- const extra = .str;
- };
- pub const forward_declaration_here = struct {
- const msg = "forward declaration of '{s}'";
- const kind = .note;
- const extra = .str;
- };
- pub const gnu_union_cast = struct {
- const msg = "cast to union type is a GNU extension";
- const opt = "gnu-union-cast";
- const kind = .off;
- const pedantic = true;
- };
- pub const invalid_union_cast = struct {
- const msg = "cast to union type from type '{s}' not present in union";
- const kind = .@"error";
- const extra = .str;
- };
- pub const cast_to_incomplete_type = struct {
- const msg = "cast to incomplete type '{s}'";
- const kind = .@"error";
- const extra = .str;
- };
- pub const invalid_source_epoch = struct {
- const msg = "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to 253402300799";
- const kind = .@"error";
- };
- pub const fuse_ld_path = struct {
- const msg = "'-fuse-ld=' taking a path is deprecated; use '--ld-path=' instead";
- const kind = .off;
- const opt = "fuse-ld-path";
- };
- pub const invalid_rtlib = struct {
- const msg = "invalid runtime library name '{s}'";
- const kind = .@"error";
- const extra = .str;
- };
- pub const unsupported_rtlib_gcc = struct {
- const msg = "unsupported runtime library 'libgcc' for platform '{s}'";
- const kind = .@"error";
- const extra = .str;
- };
- pub const invalid_unwindlib = struct {
- const msg = "invalid unwind library name '{s}'";
- const kind = .@"error";
- const extra = .str;
- };
- pub const incompatible_unwindlib = struct {
- const msg = "--rtlib=libgcc requires --unwindlib=libgcc";
- const kind = .@"error";
- };
- pub const gnu_asm_disabled = struct {
- const msg = "GNU-style inline assembly is disabled";
- const kind = .@"error";
- };
- pub const extension_token_used = struct {
- const msg = "extension used";
- const kind = .off;
- const pedantic = true;
- const opt = "language-extension-token";
- };
- pub const complex_component_init = struct {
- const msg = "complex initialization specifying real and imaginary components is an extension";
- const opt = "complex-component-init";
- const kind = .off;
- const pedantic = true;
- };
- pub const complex_prefix_postfix_op = struct {
- const msg = "ISO C does not support '++'/'--' on complex type '{s}'";
- const opt = "pedantic";
- const extra = .str;
- const kind = .off;
- };
- pub const not_floating_type = struct {
- const msg = "argument type '{s}' is not a real floating point type";
- const extra = .str;
- const kind = .@"error";
- };
- pub const argument_types_differ = struct {
- const msg = "arguments are of different types ({s})";
- const extra = .str;
- const kind = .@"error";
- };
- pub const ms_search_rule = struct {
- const msg = "#include resolved using non-portable Microsoft search rules as: {s}";
- const extra = .str;
- const opt = "microsoft-include";
- const kind = .warning;
- };
- pub const ctrl_z_eof = struct {
- const msg = "treating Ctrl-Z as end-of-file is a Microsoft extension";
- const opt = "microsoft-end-of-file";
- const kind = .off;
- const pedantic = true;
- };
- pub const illegal_char_encoding_warning = struct {
- const msg = "illegal character encoding in character literal";
- const opt = "invalid-source-encoding";
- const kind = .warning;
- };
- pub const illegal_char_encoding_error = struct {
- const msg = "illegal character encoding in character literal";
- const kind = .@"error";
- };
- pub const ucn_basic_char_error = struct {
- const msg = "character '{c}' cannot be specified by a universal character name";
- const kind = .@"error";
- const extra = .ascii;
- };
- pub const ucn_basic_char_warning = struct {
- const msg = "specifying character '{c}' with a universal character name is incompatible with C standards before C2x";
- const kind = .off;
- const extra = .ascii;
- const suppress_unless_version = .c2x;
- const opt = "pre-c2x-compat";
- };
- pub const ucn_control_char_error = struct {
- const msg = "universal character name refers to a control character";
- const kind = .@"error";
- };
- pub const ucn_control_char_warning = struct {
- const msg = "universal character name referring to a control character is incompatible with C standards before C2x";
- const kind = .off;
- const suppress_unless_version = .c2x;
- const opt = "pre-c2x-compat";
- };
- pub const c89_ucn_in_literal = struct {
- const msg = "universal character names are only valid in C99 or later";
- const suppress_version = .c99;
- const kind = .warning;
- const opt = "unicode";
- };
- pub const four_char_char_literal = struct {
- const msg = "multi-character character constant";
- const opt = "four-char-constants";
- const kind = .off;
- };
- pub const multi_char_char_literal = struct {
- const msg = "multi-character character constant";
- const kind = .off;
- };
- pub const missing_hex_escape = struct {
- const msg = "\\{c} used with no following hex digits";
- const kind = .@"error";
- const extra = .ascii;
- };
- pub const unknown_escape_sequence = struct {
- const msg = "unknown escape sequence '\\{s}'";
- const kind = .warning;
- const opt = "unknown-escape-sequence";
- const extra = .invalid_escape;
- };
- pub const attribute_requires_string = struct {
- const msg = "attribute '{s}' requires an ordinary string";
- const kind = .@"error";
- const extra = .str;
- };
- pub const unterminated_string_literal_warning = struct {
- const msg = "missing terminating '\"' character";
- const kind = .warning;
- const opt = "invalid-pp-token";
- };
- pub const unterminated_string_literal_error = struct {
- const msg = "missing terminating '\"' character";
- const kind = .@"error";
- };
- pub const empty_char_literal_warning = struct {
- const msg = "empty character constant";
- const kind = .warning;
- const opt = "invalid-pp-token";
- };
- pub const empty_char_literal_error = struct {
- const msg = "empty character constant";
- const kind = .@"error";
- };
- pub const unterminated_char_literal_warning = struct {
- const msg = "missing terminating ' character";
- const kind = .warning;
- const opt = "invalid-pp-token";
- };
- pub const unterminated_char_literal_error = struct {
- const msg = "missing terminating ' character";
- const kind = .@"error";
- };
- pub const unterminated_comment = struct {
- const msg = "unterminated comment";
- const kind = .@"error";
- };
-};
-
-list: std.ArrayListUnmanaged(Message) = .{},
-arena: std.heap.ArenaAllocator,
-color: bool = true,
-fatal_errors: bool = false,
-options: Options = .{},
-errors: u32 = 0,
-macro_backtrace_limit: u32 = 6,
-
-pub fn warningExists(name: []const u8) bool {
- inline for (std.meta.fields(Options)) |f| {
- if (mem.eql(u8, f.name, name)) return true;
- }
- return false;
-}
-
-pub fn set(diag: *Diagnostics, name: []const u8, to: Kind) !void {
- inline for (std.meta.fields(Options)) |f| {
- if (mem.eql(u8, f.name, name)) {
- @field(diag.options, f.name) = to;
- return;
- }
- }
- try diag.add(.{
- .tag = .unknown_warning,
- .extra = .{ .str = name },
- }, &.{});
-}
-
-pub fn init(gpa: Allocator) Diagnostics {
- return .{
- .arena = std.heap.ArenaAllocator.init(gpa),
- };
-}
-
-pub fn deinit(diag: *Diagnostics) void {
- diag.list.deinit(diag.arena.allocator());
- diag.arena.deinit();
-}
-
-pub fn add(diag: *Diagnostics, msg: Message, expansion_locs: []const Source.Location) Compilation.Error!void {
- const kind = diag.tagKind(msg.tag);
- if (kind == .off) return;
- var copy = msg;
- copy.kind = kind;
-
- if (expansion_locs.len != 0) copy.loc = expansion_locs[expansion_locs.len - 1];
- try diag.list.append(diag.arena.allocator(), copy);
- if (expansion_locs.len != 0) {
- // Add macro backtrace notes in reverse order omitting from the middle if needed.
- var i = expansion_locs.len - 1;
- const half = diag.macro_backtrace_limit / 2;
- const limit = if (i < diag.macro_backtrace_limit) 0 else i - half;
- try diag.list.ensureUnusedCapacity(
- diag.arena.allocator(),
- if (limit == 0) expansion_locs.len else diag.macro_backtrace_limit + 1,
- );
- while (i > limit) {
- i -= 1;
- diag.list.appendAssumeCapacity(.{
- .tag = .expanded_from_here,
- .kind = .note,
- .loc = expansion_locs[i],
- });
- }
- if (limit != 0) {
- diag.list.appendAssumeCapacity(.{
- .tag = .skipping_macro_backtrace,
- .kind = .note,
- .extra = .{ .unsigned = expansion_locs.len - diag.macro_backtrace_limit },
- });
- i = half - 1;
- while (i > 0) {
- i -= 1;
- diag.list.appendAssumeCapacity(.{
- .tag = .expanded_from_here,
- .kind = .note,
- .loc = expansion_locs[i],
- });
- }
- }
-
- diag.list.appendAssumeCapacity(.{
- .tag = .expanded_from_here,
- .kind = .note,
- .loc = msg.loc,
- });
- }
- if (kind == .@"fatal error" or (kind == .@"error" and diag.fatal_errors))
- return error.FatalError;
-}
-
-pub fn fatal(
- diag: *Diagnostics,
- path: []const u8,
- line: []const u8,
- line_no: u32,
- col: u32,
- comptime fmt: []const u8,
- args: anytype,
-) Compilation.Error {
- var m = MsgWriter.init(diag.color);
- defer m.deinit();
-
- m.location(path, line_no, col);
- m.start(.@"fatal error");
- m.print(fmt, args);
- m.end(line, col, false);
-
- diag.errors += 1;
- return error.FatalError;
-}
-
-pub fn fatalNoSrc(diag: *Diagnostics, comptime fmt: []const u8, args: anytype) error{FatalError} {
- if (!diag.color) {
- std.debug.print("fatal error: " ++ fmt ++ "\n", args);
- } else {
- const std_err = std.io.getStdErr().writer();
- util.setColor(.red, std_err);
- std_err.writeAll("fatal error: ") catch {};
- util.setColor(.white, std_err);
- std_err.print(fmt ++ "\n", args) catch {};
- util.setColor(.reset, std_err);
- }
- diag.errors += 1;
- return error.FatalError;
-}
-
-pub fn render(comp: *Compilation) void {
- if (comp.diag.list.items.len == 0) return;
- var m = defaultMsgWriter(comp);
- defer m.deinit();
- renderMessages(comp, &m);
-}
-pub fn defaultMsgWriter(comp: *const Compilation) MsgWriter {
- return MsgWriter.init(comp.diag.color);
-}
-
-pub fn renderMessages(comp: *Compilation, m: anytype) void {
- var errors: u32 = 0;
- var warnings: u32 = 0;
- for (comp.diag.list.items) |msg| {
- switch (msg.kind) {
- .@"fatal error", .@"error" => errors += 1,
- .warning => warnings += 1,
- .note => {},
- .off => continue, // happens if an error is added before it is disabled
- .default => unreachable,
- }
- renderMessage(comp, m, msg);
- }
- const w_s: []const u8 = if (warnings == 1) "" else "s";
- const e_s: []const u8 = if (errors == 1) "" else "s";
- if (errors != 0 and warnings != 0) {
- m.print("{d} warning{s} and {d} error{s} generated.\n", .{ warnings, w_s, errors, e_s });
- } else if (warnings != 0) {
- m.print("{d} warning{s} generated.\n", .{ warnings, w_s });
- } else if (errors != 0) {
- m.print("{d} error{s} generated.\n", .{ errors, e_s });
- }
-
- comp.diag.list.items.len = 0;
- comp.diag.errors += errors;
-}
-
-pub fn renderMessage(comp: *Compilation, m: anytype, msg: Message) void {
- var line: ?[]const u8 = null;
- var end_with_splice = false;
- const width = if (msg.loc.id != .unused) blk: {
- var loc = msg.loc;
- switch (msg.tag) {
- .escape_sequence_overflow,
- .invalid_universal_character,
- // use msg.extra.unsigned for index into string literal
- => loc.byte_offset += @truncate(msg.extra.unsigned),
- .non_standard_escape_char,
- .unknown_escape_sequence,
- => loc.byte_offset += msg.extra.invalid_escape.offset,
- else => {},
- }
- const source = comp.getSource(loc.id);
- var line_col = source.lineCol(loc);
- line = line_col.line;
- end_with_splice = line_col.end_with_splice;
- if (msg.tag == .backslash_newline_escape) {
- line = line_col.line[0 .. line_col.col - 1];
- line_col.col += 1;
- line_col.width += 1;
- }
- m.location(source.path, line_col.line_no, line_col.col);
- break :blk line_col.width;
- } else 0;
-
- m.start(msg.kind);
- @setEvalBranchQuota(1500);
- switch (msg.tag) {
- inline else => |tag| {
- const info = @field(messages, @tagName(tag));
- if (@hasDecl(info, "extra")) {
- switch (info.extra) {
- .str => m.print(info.msg, .{msg.extra.str}),
- .tok_id => m.print(info.msg, .{
- msg.extra.tok_id.expected.symbol(),
- msg.extra.tok_id.actual.symbol(),
- }),
- .tok_id_expected => m.print(info.msg, .{msg.extra.tok_id_expected.symbol()}),
- .arguments => m.print(info.msg, .{ msg.extra.arguments.expected, msg.extra.arguments.actual }),
- .codepoints => m.print(info.msg, .{
- msg.extra.codepoints.actual,
- msg.extra.codepoints.resembles,
- }),
- .attr_arg_count => m.print(info.msg, .{
- @tagName(msg.extra.attr_arg_count.attribute),
- msg.extra.attr_arg_count.expected,
- }),
- .attr_arg_type => m.print(info.msg, .{
- msg.extra.attr_arg_type.expected.toString(),
- msg.extra.attr_arg_type.actual.toString(),
- }),
- .actual_codepoint => m.print(info.msg, .{msg.extra.actual_codepoint}),
- .ascii => m.print(info.msg, .{msg.extra.ascii}),
- .unsigned => m.print(info.msg, .{msg.extra.unsigned}),
- .pow_2_as_string => m.print(info.msg, .{switch (msg.extra.pow_2_as_string) {
- 63 => "9223372036854775808",
- 64 => "18446744073709551616",
- 127 => "170141183460469231731687303715884105728",
- 128 => "340282366920938463463374607431768211456",
- else => unreachable,
- }}),
- .signed => m.print(info.msg, .{msg.extra.signed}),
- .attr_enum => m.print(info.msg, .{
- @tagName(msg.extra.attr_enum.tag),
- Attribute.Formatting.choices(msg.extra.attr_enum.tag),
- }),
- .ignored_record_attr => m.print(info.msg, .{
- @tagName(msg.extra.ignored_record_attr.tag),
- @tagName(msg.extra.ignored_record_attr.specifier),
- }),
- .builtin_with_header => m.print(info.msg, .{
- @tagName(msg.extra.builtin_with_header.header),
- Builtin.nameFromTag(msg.extra.builtin_with_header.builtin).span(),
- }),
- .invalid_escape => {
- if (std.ascii.isPrint(msg.extra.invalid_escape.char)) {
- const str: [1]u8 = .{msg.extra.invalid_escape.char};
- m.print(info.msg, .{&str});
- } else {
- var buf: [3]u8 = undefined;
- _ = std.fmt.bufPrint(&buf, "x{x}", .{std.fmt.fmtSliceHexLower(&.{msg.extra.invalid_escape.char})}) catch unreachable;
- m.print(info.msg, .{&buf});
- }
- },
- else => @compileError("invalid extra kind " ++ @tagName(info.extra)),
- }
- } else {
- m.write(info.msg);
- }
-
- if (@hasDecl(info, "opt")) {
- if (msg.kind == .@"error" and info.kind != .@"error") {
- m.print(" [-Werror,-W{s}]", .{info.opt});
- } else if (msg.kind != .note) {
- m.print(" [-W{s}]", .{info.opt});
- }
- }
- },
- }
-
- m.end(line, width, end_with_splice);
-}
-
-fn tagKind(diag: *Diagnostics, tag: Tag) Kind {
- // XXX: horrible hack, do not do this
- const comp = @fieldParentPtr(Compilation, "diag", diag);
-
- var kind: Kind = undefined;
- switch (tag) {
- inline else => |tag_val| {
- const info = @field(messages, @tagName(tag_val));
- kind = info.kind;
-
- // stage1 doesn't like when I combine these ifs
- if (@hasDecl(info, "all")) {
- if (diag.options.all != .default) kind = diag.options.all;
- }
- if (@hasDecl(info, "w_extra")) {
- if (diag.options.extra != .default) kind = diag.options.extra;
- }
- if (@hasDecl(info, "pedantic")) {
- if (diag.options.pedantic != .default) kind = diag.options.pedantic;
- }
- if (@hasDecl(info, "opt")) {
- if (@field(diag.options, info.opt) != .default) kind = @field(diag.options, info.opt);
- }
- if (@hasDecl(info, "suppress_version")) if (comp.langopts.standard.atLeast(info.suppress_version)) return .off;
- if (@hasDecl(info, "suppress_unless_version")) if (!comp.langopts.standard.atLeast(info.suppress_unless_version)) return .off;
- if (@hasDecl(info, "suppress_gnu")) if (comp.langopts.standard.isExplicitGNU()) return .off;
- if (@hasDecl(info, "suppress_language_option")) if (!@field(comp.langopts, info.suppress_language_option)) return .off;
- if (@hasDecl(info, "suppress_gcc")) if (comp.langopts.emulate == .gcc) return .off;
- if (@hasDecl(info, "suppress_clang")) if (comp.langopts.emulate == .clang) return .off;
- if (@hasDecl(info, "suppress_msvc")) if (comp.langopts.emulate == .msvc) return .off;
- if (kind == .@"error" and diag.fatal_errors) kind = .@"fatal error";
- return kind;
- },
- }
-}
-
-const MsgWriter = struct {
- w: std.io.BufferedWriter(4096, std.fs.File.Writer),
- color: bool,
-
- fn init(color: bool) MsgWriter {
- std.debug.getStderrMutex().lock();
- return .{
- .w = std.io.bufferedWriter(std.io.getStdErr().writer()),
- .color = color,
- };
- }
-
- pub fn deinit(m: *MsgWriter) void {
- m.w.flush() catch {};
- std.debug.getStderrMutex().unlock();
- }
-
- pub fn print(m: *MsgWriter, comptime fmt: []const u8, args: anytype) void {
- m.w.writer().print(fmt, args) catch {};
- }
-
- fn write(m: *MsgWriter, msg: []const u8) void {
- m.w.writer().writeAll(msg) catch {};
- }
-
- fn setColor(m: *MsgWriter, color: util.Color) void {
- util.setColor(color, m.w.writer());
- }
-
- fn location(m: *MsgWriter, path: []const u8, line: u32, col: u32) void {
- const prefix = if (std.fs.path.dirname(path) == null and path[0] != '<') "." ++ std.fs.path.sep_str else "";
- if (!m.color) {
- m.print("{s}{s}:{d}:{d}: ", .{ prefix, path, line, col });
- } else {
- m.setColor(.white);
- m.print("{s}{s}:{d}:{d}: ", .{ prefix, path, line, col });
- }
- }
-
- fn start(m: *MsgWriter, kind: Kind) void {
- if (!m.color) {
- m.print("{s}: ", .{@tagName(kind)});
- } else {
- switch (kind) {
- .@"fatal error", .@"error" => m.setColor(.red),
- .note => m.setColor(.cyan),
- .warning => m.setColor(.purple),
- .off, .default => unreachable,
- }
- m.write(switch (kind) {
- .@"fatal error" => "fatal error: ",
- .@"error" => "error: ",
- .note => "note: ",
- .warning => "warning: ",
- .off, .default => unreachable,
- });
- m.setColor(.white);
- }
- }
-
- fn end(m: *MsgWriter, maybe_line: ?[]const u8, col: u32, end_with_splice: bool) void {
- const line = maybe_line orelse {
- m.write("\n");
- m.setColor(.reset);
- return;
- };
- const trailer = if (end_with_splice) "\\ " else "";
- if (!m.color) {
- m.print("\n{s}{s}\n", .{ line, trailer });
- m.print("{s: >[1]}^\n", .{ "", col });
- } else {
- m.setColor(.reset);
- m.print("\n{s}{s}\n{s: >[3]}", .{ line, trailer, "", col });
- m.setColor(.green);
- m.write("^\n");
- m.setColor(.reset);
- }
- }
-};
deps/aro/Interner.zig
@@ -1,180 +0,0 @@
-const Interner = @This();
-const std = @import("std");
-const Allocator = std.mem.Allocator;
-const assert = std.debug.assert;
-const Value = @import("Value.zig");
-
-map: std.ArrayHashMapUnmanaged(Key, void, KeyContext, false) = .{},
-
-const KeyContext = struct {
- pub fn eql(_: @This(), a: Key, b: Key, _: usize) bool {
- return b.eql(a);
- }
-
- pub fn hash(_: @This(), a: Key) u32 {
- return a.hash();
- }
-};
-
-pub const Key = union(enum) {
- int: u16,
- float: u16,
- ptr,
- noreturn,
- void,
- func,
- array: struct {
- len: u64,
- child: Ref,
- },
- vector: struct {
- len: u32,
- child: Ref,
- },
- value: Value,
- record: struct {
- /// Pointer to user data, value used for hash and equality check.
- user_ptr: *anyopaque,
- /// TODO make smaller if Value is made smaller
- elements: []const Ref,
- },
-
- pub fn hash(key: Key) u32 {
- var hasher = std.hash.Wyhash.init(0);
- switch (key) {
- .value => |val| {
- std.hash.autoHash(&hasher, val.tag);
- switch (val.tag) {
- .unavailable => unreachable,
- .nullptr_t => std.hash.autoHash(&hasher, @as(u64, 0)),
- .int => std.hash.autoHash(&hasher, val.data.int),
- .float => std.hash.autoHash(&hasher, @as(u64, @bitCast(val.data.float))),
- .bytes => std.hash.autoHashStrat(&hasher, val.data.bytes, .Shallow),
- }
- },
- .record => |info| {
- std.hash.autoHash(&hasher, @intFromPtr(info.user_ptr));
- },
- inline else => |info| {
- std.hash.autoHash(&hasher, info);
- },
- }
- return @truncate(hasher.final());
- }
-
- pub fn eql(a: Key, b: Key) bool {
- const KeyTag = std.meta.Tag(Key);
- const a_tag: KeyTag = a;
- const b_tag: KeyTag = b;
- if (a_tag != b_tag) return false;
- switch (a) {
- .value => |a_info| {
- const b_info = b.value;
- if (a_info.tag != b_info.tag) return false;
- switch (a_info.tag) {
- .unavailable => unreachable,
- .nullptr_t => return true,
- .int => return a_info.data.int == b_info.data.int,
- .float => return a_info.data.float == b_info.data.float,
- .bytes => return a_info.data.bytes.start == b_info.data.bytes.start and a_info.data.bytes.end == b_info.data.bytes.end,
- }
- },
- .record => |a_info| {
- return a_info.user_ptr == b.record.user_ptr;
- },
- inline else => |a_info, tag| {
- const b_info = @field(b, @tagName(tag));
- return std.meta.eql(a_info, b_info);
- },
- }
- }
-
- fn toRef(key: Key) ?Ref {
- switch (key) {
- .int => |bits| switch (bits) {
- 1 => return .i1,
- 8 => return .i8,
- 16 => return .i16,
- 32 => return .i32,
- 64 => return .i64,
- 128 => return .i128,
- else => {},
- },
- .float => |bits| switch (bits) {
- 16 => return .f16,
- 32 => return .f32,
- 64 => return .f64,
- 80 => return .f80,
- 128 => return .f128,
- else => unreachable,
- },
- .ptr => return .ptr,
- .func => return .func,
- .noreturn => return .noreturn,
- .void => return .void,
- else => {},
- }
- return null;
- }
-};
-
-pub const Ref = enum(u32) {
- const max = std.math.maxInt(u32);
-
- ptr = max - 0,
- noreturn = max - 1,
- void = max - 2,
- i1 = max - 3,
- i8 = max - 4,
- i16 = max - 5,
- i32 = max - 6,
- i64 = max - 7,
- i128 = max - 8,
- f16 = max - 9,
- f32 = max - 10,
- f64 = max - 11,
- f80 = max - 12,
- f128 = max - 13,
- func = max - 14,
- _,
-};
-
-pub fn deinit(ip: *Interner, gpa: Allocator) void {
- ip.map.deinit(gpa);
-}
-
-pub fn put(ip: *Interner, gpa: Allocator, key: Key) !Ref {
- if (key.toRef()) |some| return some;
- const gop = try ip.map.getOrPut(gpa, key);
- return @enumFromInt(gop.index);
-}
-
-pub fn has(ip: *Interner, key: Key) ?Ref {
- if (key.toRef()) |some| return some;
- if (ip.map.getIndex(key)) |index| {
- return @enumFromInt(index);
- }
- return null;
-}
-
-pub fn get(ip: Interner, ref: Ref) Key {
- switch (ref) {
- .ptr => return .ptr,
- .func => return .func,
- .noreturn => return .noreturn,
- .void => return .void,
- .i1 => return .{ .int = 1 },
- .i8 => return .{ .int = 8 },
- .i16 => return .{ .int = 16 },
- .i32 => return .{ .int = 32 },
- .i64 => return .{ .int = 64 },
- .i128 => return .{ .int = 128 },
- .f16 => return .{ .float = 16 },
- .f32 => return .{ .float = 32 },
- .f64 => return .{ .float = 64 },
- .f80 => return .{ .float = 80 },
- .f128 => return .{ .float = 128 },
- else => {},
- }
- return ip.map.keys()[@intFromEnum(ref)];
-}
deps/aro/lib.zig
@@ -1,27 +0,0 @@
-/// Deprecated
-pub const Codegen = @import("Codegen_legacy.zig");
-pub const CodeGen = @import("CodeGen.zig");
-pub const Compilation = @import("Compilation.zig");
-pub const Diagnostics = @import("Diagnostics.zig");
-pub const Driver = @import("Driver.zig");
-pub const Interner = @import("Interner.zig");
-pub const Ir = @import("Ir.zig");
-pub const Object = @import("Object.zig");
-pub const Parser = @import("Parser.zig");
-pub const Preprocessor = @import("Preprocessor.zig");
-pub const Source = @import("Source.zig");
-pub const Tokenizer = @import("Tokenizer.zig");
-pub const Tree = @import("Tree.zig");
-pub const Type = @import("Type.zig");
-pub const TypeMapper = @import("StringInterner.zig").TypeMapper;
-pub const target_util = @import("target.zig");
-
-pub const version_str = "0.0.0-dev";
-pub const version = @import("std").SemanticVersion.parse(version_str) catch unreachable;
-
-pub const CallingConvention = enum {
- C,
- stdcall,
- thiscall,
- vectorcall,
-};
deps/aro/README.md
@@ -1,4 +1,7 @@
+<img src="https://aro.vexu.eu/aro-logo.svg" alt="Aro" width="120px"/>
+
# Aro
+
A C compiler with the goal of providing fast compilation and low memory usage with good diagnostics.
Aro is included as an alternative C frontend in the [Zig compiler](https://github.com/ziglang/zig)
deps/aro/util.zig
@@ -1,83 +0,0 @@
-const std = @import("std");
-const mem = std.mem;
-const builtin = @import("builtin");
-const is_windows = builtin.os.tag == .windows;
-
-pub const Color = enum {
- reset,
- red,
- green,
- blue,
- cyan,
- purple,
- yellow,
- white,
-};
-
-pub fn fileSupportsColor(file: std.fs.File) bool {
- return file.supportsAnsiEscapeCodes() or (is_windows and file.isTty());
-}
-
-pub fn setColor(color: Color, w: anytype) void {
- if (is_windows) {
- const stderr_file = std.io.getStdErr();
- if (!stderr_file.isTty()) return;
- const windows = std.os.windows;
- const S = struct {
- var attrs: windows.WORD = undefined;
- var init_attrs = false;
- };
- if (!S.init_attrs) {
- S.init_attrs = true;
- var info: windows.CONSOLE_SCREEN_BUFFER_INFO = undefined;
- _ = windows.kernel32.GetConsoleScreenBufferInfo(stderr_file.handle, &info);
- S.attrs = info.wAttributes;
- _ = windows.kernel32.SetConsoleOutputCP(65001);
- }
-
- // need to flush bufferedWriter
- const T = if (@typeInfo(@TypeOf(w.context)) == .Pointer) @TypeOf(w.context.*) else @TypeOf(w.context);
- if (T != void and @hasDecl(T, "flush")) w.context.flush() catch {};
-
- switch (color) {
- .reset => _ = windows.SetConsoleTextAttribute(stderr_file.handle, S.attrs) catch {},
- .red => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_RED | windows.FOREGROUND_INTENSITY) catch {},
- .green => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_GREEN | windows.FOREGROUND_INTENSITY) catch {},
- .blue => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_BLUE | windows.FOREGROUND_INTENSITY) catch {},
- .cyan => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_GREEN | windows.FOREGROUND_BLUE | windows.FOREGROUND_INTENSITY) catch {},
- .purple => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_RED | windows.FOREGROUND_BLUE | windows.FOREGROUND_INTENSITY) catch {},
- .yellow => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_RED | windows.FOREGROUND_GREEN | windows.FOREGROUND_INTENSITY) catch {},
- .white => _ = windows.SetConsoleTextAttribute(stderr_file.handle, windows.FOREGROUND_RED | windows.FOREGROUND_GREEN | windows.FOREGROUND_BLUE | windows.FOREGROUND_INTENSITY) catch {},
- }
- } else switch (color) {
- .reset => w.writeAll("\x1b[0m") catch {},
- .red => w.writeAll("\x1b[31;1m") catch {},
- .green => w.writeAll("\x1b[32;1m") catch {},
- .blue => w.writeAll("\x1b[34;1m") catch {},
- .cyan => w.writeAll("\x1b[36;1m") catch {},
- .purple => w.writeAll("\x1b[35;1m") catch {},
- .yellow => w.writeAll("\x1b[93;1m") catch {},
- .white => w.writeAll("\x1b[0m\x1b[1m") catch {},
- }
-}
-
-pub fn errorDescription(err: anyerror) []const u8 {
- return switch (err) {
- error.OutOfMemory => "ran out of memory",
- error.FileNotFound => "file not found",
- error.IsDir => "is a directory",
- error.NotDir => "is not a directory",
- error.NotOpenForReading => "file is not open for reading",
- error.NotOpenForWriting => "file is not open for writing",
- error.InvalidUtf8 => "input is not valid UTF-8",
- error.FileBusy => "file is busy",
- error.NameTooLong => "file name is too long",
- error.AccessDenied => "access denied",
- error.FileTooBig => "file is too big",
- error.ProcessFdQuotaExceeded, error.SystemFdQuotaExceeded => "ran out of file descriptors",
- error.SystemResources => "ran out of system resources",
- error.FatalError => "a fatal error occurred",
- error.Unexpected => "an unexpected error occurred",
- else => @errorName(err),
- };
-}
deps/aro/Value.zig
@@ -1,633 +0,0 @@
-const std = @import("std");
-const assert = std.debug.assert;
-const Compilation = @import("Compilation.zig");
-const Type = @import("Type.zig");
-
-const Value = @This();
-
-pub const ByteRange = struct {
- start: u32,
- end: u32,
-
- pub fn len(self: ByteRange) u32 {
- return self.end - self.start;
- }
-
- pub fn trim(self: ByteRange, amount: u32) ByteRange {
- std.debug.assert(self.start <= self.end - amount);
- return .{ .start = self.start, .end = self.end - amount };
- }
-
- pub fn slice(self: ByteRange, all_bytes: []const u8, comptime size: Compilation.CharUnitSize) []const size.Type() {
- switch (size) {
- inline else => |sz| {
- const aligned: []align(@alignOf(sz.Type())) const u8 = @alignCast(all_bytes[self.start..self.end]);
- return std.mem.bytesAsSlice(sz.Type(), aligned);
- },
- }
- }
-
- pub fn dumpString(range: ByteRange, ty: Type, comp: *const Compilation, strings: []const u8, w: anytype) !void {
- const size: Compilation.CharUnitSize = @enumFromInt(ty.elemType().sizeof(comp).?);
- const without_null = range.trim(@intFromEnum(size));
- switch (size) {
- inline .@"1", .@"2" => |sz| {
- const data_slice = without_null.slice(strings, sz);
- const formatter = if (sz == .@"1") std.zig.fmtEscapes(data_slice) else std.unicode.fmtUtf16le(data_slice);
- try w.print("\"{}\"", .{formatter});
- },
- .@"4" => {
- try w.writeByte('"');
- const data_slice = without_null.slice(strings, .@"4");
- var buf: [4]u8 = undefined;
- for (data_slice) |item| {
- if (item <= std.math.maxInt(u21) and std.unicode.utf8ValidCodepoint(@intCast(item))) {
- const codepoint: u21 = @intCast(item);
- const written = std.unicode.utf8Encode(codepoint, &buf) catch unreachable;
- try w.print("{s}", .{buf[0..written]});
- } else {
- try w.print("\\x{x}", .{item});
- }
- }
- try w.writeByte('"');
- },
- }
- }
-};
-
-tag: Tag = .unavailable,
-data: union {
- none: void,
- int: u64,
- float: f64,
- bytes: ByteRange,
-} = .{ .none = {} },
-
-const Tag = enum {
- unavailable,
- nullptr_t,
- /// int is used to store integer, boolean and pointer values
- int,
- float,
- bytes,
-};
-
-pub fn zero(v: Value) Value {
- return switch (v.tag) {
- .int => int(0),
- .float => float(0),
- else => unreachable,
- };
-}
-
-pub fn one(v: Value) Value {
- return switch (v.tag) {
- .int => int(1),
- .float => float(1),
- else => unreachable,
- };
-}
-
-pub fn int(v: anytype) Value {
- if (@TypeOf(v) == comptime_int or @typeInfo(@TypeOf(v)).Int.signedness == .unsigned)
- return .{ .tag = .int, .data = .{ .int = v } }
- else
- return .{ .tag = .int, .data = .{ .int = @bitCast(@as(i64, v)) } };
-}
-
-pub fn float(v: anytype) Value {
- return .{ .tag = .float, .data = .{ .float = v } };
-}
-
-pub fn bytes(start: u32, end: u32) Value {
- return .{ .tag = .bytes, .data = .{ .bytes = .{ .start = start, .end = end } } };
-}
-
-pub fn signExtend(v: Value, old_ty: Type, comp: *Compilation) i64 {
- const size = old_ty.sizeof(comp).?;
- return switch (size) {
- 1 => v.getInt(i8),
- 2 => v.getInt(i16),
- 4 => v.getInt(i32),
- 8 => v.getInt(i64),
- else => unreachable,
- };
-}
-
-/// Number of bits needed to hold `v` which is of type `ty`.
-/// Asserts that `v` is not negative
-pub fn minUnsignedBits(v: Value, ty: Type, comp: *const Compilation) usize {
- assert(v.compare(.gte, Value.int(0), ty, comp));
- return switch (ty.sizeof(comp).?) {
- 1 => 8 - @clz(v.getInt(u8)),
- 2 => 16 - @clz(v.getInt(u16)),
- 4 => 32 - @clz(v.getInt(u32)),
- 8 => 64 - @clz(v.getInt(u64)),
- else => unreachable,
- };
-}
-
-test "minUnsignedBits" {
- const Test = struct {
- fn checkIntBits(comp: *const Compilation, specifier: Type.Specifier, v: u64, expected: usize) !void {
- const val = Value.int(v);
- try std.testing.expectEqual(expected, val.minUnsignedBits(.{ .specifier = specifier }, comp));
- }
- };
-
- var comp = Compilation.init(std.testing.allocator);
- defer comp.deinit();
- comp.target = (try std.zig.CrossTarget.parse(.{ .arch_os_abi = "x86_64-linux-gnu" })).toTarget();
-
- try Test.checkIntBits(&comp, .int, 0, 0);
- try Test.checkIntBits(&comp, .int, 1, 1);
- try Test.checkIntBits(&comp, .int, 2, 2);
- try Test.checkIntBits(&comp, .int, std.math.maxInt(i8), 7);
- try Test.checkIntBits(&comp, .int, std.math.maxInt(u8), 8);
- try Test.checkIntBits(&comp, .int, std.math.maxInt(i16), 15);
- try Test.checkIntBits(&comp, .int, std.math.maxInt(u16), 16);
- try Test.checkIntBits(&comp, .int, std.math.maxInt(i32), 31);
- try Test.checkIntBits(&comp, .uint, std.math.maxInt(u32), 32);
- try Test.checkIntBits(&comp, .long, std.math.maxInt(i64), 63);
- try Test.checkIntBits(&comp, .ulong, std.math.maxInt(u64), 64);
- try Test.checkIntBits(&comp, .long_long, std.math.maxInt(i64), 63);
- try Test.checkIntBits(&comp, .ulong_long, std.math.maxInt(u64), 64);
-}
-
-/// Minimum number of bits needed to represent `v` in 2's complement notation
-/// Asserts that `v` is negative.
-pub fn minSignedBits(v: Value, ty: Type, comp: *const Compilation) usize {
- assert(v.compare(.lt, Value.int(0), ty, comp));
- return switch (ty.sizeof(comp).?) {
- 1 => 8 - @clz(~v.getInt(u8)) + 1,
- 2 => 16 - @clz(~v.getInt(u16)) + 1,
- 4 => 32 - @clz(~v.getInt(u32)) + 1,
- 8 => 64 - @clz(~v.getInt(u64)) + 1,
- else => unreachable,
- };
-}
-
-test "minSignedBits" {
- const Test = struct {
- fn checkIntBits(comp: *const Compilation, specifier: Type.Specifier, v: i64, expected: usize) !void {
- const val = Value.int(v);
- try std.testing.expectEqual(expected, val.minSignedBits(.{ .specifier = specifier }, comp));
- }
- };
-
- var comp = Compilation.init(std.testing.allocator);
- defer comp.deinit();
- comp.target = (try std.zig.CrossTarget.parse(.{ .arch_os_abi = "x86_64-linux-gnu" })).toTarget();
-
- for ([_]Type.Specifier{ .int, .long, .long_long }) |specifier| {
- try Test.checkIntBits(&comp, specifier, -1, 1);
- try Test.checkIntBits(&comp, specifier, -2, 2);
- try Test.checkIntBits(&comp, specifier, -10, 5);
- try Test.checkIntBits(&comp, specifier, -101, 8);
-
- try Test.checkIntBits(&comp, specifier, std.math.minInt(i8), 8);
- try Test.checkIntBits(&comp, specifier, std.math.minInt(i16), 16);
- try Test.checkIntBits(&comp, specifier, std.math.minInt(i32), 32);
- }
-
- try Test.checkIntBits(&comp, .long, std.math.minInt(i64), 64);
- try Test.checkIntBits(&comp, .long_long, std.math.minInt(i64), 64);
-}
-
-pub const FloatToIntChangeKind = enum {
- /// value did not change
- none,
- /// floating point number too small or large for destination integer type
- out_of_range,
- /// tried to convert a NaN or Infinity
- overflow,
- /// fractional value was converted to zero
- nonzero_to_zero,
- /// fractional part truncated
- value_changed,
-};
-
-fn floatToIntExtra(comptime FloatTy: type, int_ty_signedness: std.builtin.Signedness, int_ty_size: u16, v: *Value) FloatToIntChangeKind {
- const float_val = v.getFloat(FloatTy);
- const was_zero = float_val == 0;
- const had_fraction = std.math.modf(float_val).fpart != 0;
-
- switch (int_ty_signedness) {
- inline else => |signedness| switch (int_ty_size) {
- inline 1, 2, 4, 8 => |bytecount| {
- const IntTy = std.meta.Int(signedness, bytecount * 8);
-
- const intVal = std.math.lossyCast(IntTy, float_val);
- v.* = int(intVal);
- if (!was_zero and v.isZero()) return .nonzero_to_zero;
- if (float_val <= std.math.minInt(IntTy) or float_val >= std.math.maxInt(IntTy)) return .out_of_range;
- if (had_fraction) return .value_changed;
- return .none;
- },
- else => unreachable,
- },
- }
-}
-
-/// Converts the stored value from a float to an integer.
-/// `.unavailable` value remains unchanged.
-pub fn floatToInt(v: *Value, old_ty: Type, new_ty: Type, comp: *Compilation) FloatToIntChangeKind {
- assert(old_ty.isFloat());
- if (v.tag == .unavailable) return .none;
- if (new_ty.is(.bool)) {
- const was_zero = v.isZero();
- const was_one = v.getFloat(f64) == 1.0;
- v.toBool();
- if (was_zero or was_one) return .none;
- return .value_changed;
- } else if (new_ty.isUnsignedInt(comp) and v.data.float < 0) {
- v.* = int(0);
- return .out_of_range;
- } else if (!std.math.isFinite(v.data.float)) {
- v.tag = .unavailable;
- return .overflow;
- }
- const old_size = old_ty.sizeof(comp).?;
- const new_size: u16 = @intCast(new_ty.sizeof(comp).?);
- if (new_ty.isUnsignedInt(comp)) switch (old_size) {
- 1 => unreachable, // promoted to int
- 2 => unreachable, // promoted to int
- 4 => return floatToIntExtra(f32, .unsigned, new_size, v),
- 8 => return floatToIntExtra(f64, .unsigned, new_size, v),
- else => unreachable,
- } else switch (old_size) {
- 1 => unreachable, // promoted to int
- 2 => unreachable, // promoted to int
- 4 => return floatToIntExtra(f32, .signed, new_size, v),
- 8 => return floatToIntExtra(f64, .signed, new_size, v),
- else => unreachable,
- }
-}
-
-/// Converts the stored value from an integer to a float.
-/// `.unavailable` value remains unchanged.
-pub fn intToFloat(v: *Value, old_ty: Type, new_ty: Type, comp: *Compilation) void {
- assert(old_ty.isInt());
- if (v.tag == .unavailable) return;
- if (!new_ty.isReal() or new_ty.sizeof(comp).? > 8) {
- v.tag = .unavailable;
- } else if (old_ty.isUnsignedInt(comp)) {
- v.* = float(@as(f64, @floatFromInt(v.data.int)));
- } else {
- v.* = float(@as(f64, @floatFromInt(@as(i64, @bitCast(v.data.int)))));
- }
-}
-
-/// Truncates or extends bits based on type.
-/// old_ty is only used for size.
-pub fn intCast(v: *Value, old_ty: Type, new_ty: Type, comp: *Compilation) void {
- // assert(old_ty.isInt() and new_ty.isInt());
- if (v.tag == .unavailable) return;
- if (new_ty.is(.bool)) return v.toBool();
- if (!old_ty.isUnsignedInt(comp)) {
- const size = new_ty.sizeof(comp).?;
- switch (size) {
- 1 => v.* = int(@as(u8, @truncate(@as(u64, @bitCast(v.signExtend(old_ty, comp)))))),
- 2 => v.* = int(@as(u16, @truncate(@as(u64, @bitCast(v.signExtend(old_ty, comp)))))),
- 4 => v.* = int(@as(u32, @truncate(@as(u64, @bitCast(v.signExtend(old_ty, comp)))))),
- 8 => return,
- else => unreachable,
- }
- }
-}
-
-/// Converts the stored value from an integer to a float.
-/// `.unavailable` value remains unchanged.
-pub fn floatCast(v: *Value, old_ty: Type, new_ty: Type, comp: *Compilation) void {
- assert(old_ty.isFloat() and new_ty.isFloat());
- if (v.tag == .unavailable) return;
- const size = new_ty.sizeof(comp).?;
- if (!new_ty.isReal() or size > 8) {
- v.tag = .unavailable;
- } else if (size == 32) {
- v.* = float(@as(f32, @floatCast(v.data.float)));
- }
-}
-
-/// Truncates data.int to one bit
-pub fn toBool(v: *Value) void {
- if (v.tag == .unavailable) return;
- const res = v.getBool();
- v.* = int(@intFromBool(res));
-}
-
-pub fn isZero(v: Value) bool {
- return switch (v.tag) {
- .unavailable => false,
- .nullptr_t => false,
- .int => v.data.int == 0,
- .float => v.data.float == 0,
- .bytes => false,
- };
-}
-
-pub fn getBool(v: Value) bool {
- return switch (v.tag) {
- .unavailable => unreachable,
- .nullptr_t => false,
- .int => v.data.int != 0,
- .float => v.data.float != 0,
- .bytes => true,
- };
-}
-
-pub fn getInt(v: Value, comptime T: type) T {
- if (T == u64) return v.data.int;
- return if (@typeInfo(T).Int.signedness == .unsigned)
- @truncate(v.data.int)
- else
- @truncate(@as(i64, @bitCast(v.data.int)));
-}
-
-pub fn getFloat(v: Value, comptime T: type) T {
- if (T == f64) return v.data.float;
- return @floatCast(v.data.float);
-}
-
-const bin_overflow = struct {
- inline fn addInt(comptime T: type, out: *Value, a: Value, b: Value) bool {
- const a_val = a.getInt(T);
- const b_val = b.getInt(T);
- const sum, const overflowed = @addWithOverflow(a_val, b_val);
- out.* = int(sum);
- return overflowed != 0;
- }
- inline fn addFloat(comptime T: type, aa: Value, bb: Value) Value {
- const a_val = aa.getFloat(T);
- const b_val = bb.getFloat(T);
- return float(a_val + b_val);
- }
-
- inline fn subInt(comptime T: type, out: *Value, a: Value, b: Value) bool {
- const a_val = a.getInt(T);
- const b_val = b.getInt(T);
- const difference, const overflowed = @subWithOverflow(a_val, b_val);
- out.* = int(difference);
- return overflowed != 0;
- }
- inline fn subFloat(comptime T: type, aa: Value, bb: Value) Value {
- const a_val = aa.getFloat(T);
- const b_val = bb.getFloat(T);
- return float(a_val - b_val);
- }
-
- inline fn mulInt(comptime T: type, out: *Value, a: Value, b: Value) bool {
- const a_val = a.getInt(T);
- const b_val = b.getInt(T);
- const product, const overflowed = @mulWithOverflow(a_val, b_val);
- out.* = int(product);
- return overflowed != 0;
- }
- inline fn mulFloat(comptime T: type, aa: Value, bb: Value) Value {
- const a_val = aa.getFloat(T);
- const b_val = bb.getFloat(T);
- return float(a_val * b_val);
- }
-
- const FT = fn (*Value, Value, Value, Type, *Compilation) bool;
- fn getOp(comptime intFunc: anytype, comptime floatFunc: anytype) FT {
- return struct {
- fn op(res: *Value, a: Value, b: Value, ty: Type, comp: *Compilation) bool {
- const size = ty.sizeof(comp).?;
- if (@TypeOf(floatFunc) != @TypeOf(null) and ty.isFloat()) {
- res.* = switch (size) {
- 4 => floatFunc(f32, a, b),
- 8 => floatFunc(f64, a, b),
- else => unreachable,
- };
- return false;
- }
-
- if (ty.isUnsignedInt(comp)) switch (size) {
- 1 => return intFunc(u8, res, a, b),
- 2 => return intFunc(u16, res, a, b),
- 4 => return intFunc(u32, res, a, b),
- 8 => return intFunc(u64, res, a, b),
- else => unreachable,
- } else switch (size) {
- 1 => return intFunc(u8, res, a, b),
- 2 => return intFunc(u16, res, a, b),
- 4 => return intFunc(i32, res, a, b),
- 8 => return intFunc(i64, res, a, b),
- else => unreachable,
- }
- }
- }.op;
- }
-};
-
-pub const add = bin_overflow.getOp(bin_overflow.addInt, bin_overflow.addFloat);
-pub const sub = bin_overflow.getOp(bin_overflow.subInt, bin_overflow.subFloat);
-pub const mul = bin_overflow.getOp(bin_overflow.mulInt, bin_overflow.mulFloat);
-
-const bin_ops = struct {
- inline fn divInt(comptime T: type, aa: Value, bb: Value) Value {
- const a_val = aa.getInt(T);
- const b_val = bb.getInt(T);
- return int(@divTrunc(a_val, b_val));
- }
- inline fn divFloat(comptime T: type, aa: Value, bb: Value) Value {
- const a_val = aa.getFloat(T);
- const b_val = bb.getFloat(T);
- return float(a_val / b_val);
- }
-
- inline fn remInt(comptime T: type, a: Value, b: Value) Value {
- const a_val = a.getInt(T);
- const b_val = b.getInt(T);
-
- if (@typeInfo(T).Int.signedness == .signed) {
- if (a_val == std.math.minInt(T) and b_val == -1) {
- return Value{ .tag = .unavailable, .data = .{ .none = {} } };
- } else {
- if (b_val > 0) return int(@rem(a_val, b_val));
- return int(a_val - @divTrunc(a_val, b_val) * b_val);
- }
- } else {
- return int(a_val % b_val);
- }
- }
-
- inline fn orInt(comptime T: type, a: Value, b: Value) Value {
- const a_val = a.getInt(T);
- const b_val = b.getInt(T);
- return int(a_val | b_val);
- }
- inline fn xorInt(comptime T: type, a: Value, b: Value) Value {
- const a_val = a.getInt(T);
- const b_val = b.getInt(T);
- return int(a_val ^ b_val);
- }
- inline fn andInt(comptime T: type, a: Value, b: Value) Value {
- const a_val = a.getInt(T);
- const b_val = b.getInt(T);
- return int(a_val & b_val);
- }
-
- inline fn shl(comptime T: type, a: Value, b: Value) Value {
- const ShiftT = std.math.Log2Int(T);
- const info = @typeInfo(T).Int;
- const UT = std.meta.Int(.unsigned, info.bits);
- const b_val = b.getInt(T);
-
- if (b_val > std.math.maxInt(ShiftT)) {
- return if (info.signedness == .unsigned)
- int(@as(UT, std.math.maxInt(UT)))
- else
- int(@as(T, std.math.minInt(T)));
- }
- const amt: ShiftT = @truncate(@as(UT, @bitCast(b_val)));
- const a_val = a.getInt(T);
- return int(a_val << amt);
- }
- inline fn shr(comptime T: type, a: Value, b: Value) Value {
- const ShiftT = std.math.Log2Int(T);
- const UT = std.meta.Int(.unsigned, @typeInfo(T).Int.bits);
-
- const b_val = b.getInt(T);
- if (b_val > std.math.maxInt(ShiftT)) return Value.int(0);
-
- const amt: ShiftT = @truncate(@as(UT, @intCast(b_val)));
- const a_val = a.getInt(T);
- return int(a_val >> amt);
- }
-
- const FT = fn (Value, Value, Type, *Compilation) Value;
- fn getOp(comptime intFunc: anytype, comptime floatFunc: anytype) FT {
- return struct {
- fn op(a: Value, b: Value, ty: Type, comp: *Compilation) Value {
- const size = ty.sizeof(comp).?;
- if (@TypeOf(floatFunc) != @TypeOf(null) and ty.isFloat()) {
- switch (size) {
- 4 => return floatFunc(f32, a, b),
- 8 => return floatFunc(f64, a, b),
- else => unreachable,
- }
- }
-
- if (ty.isUnsignedInt(comp)) switch (size) {
- 1 => unreachable, // promoted to int
- 2 => unreachable, // promoted to int
- 4 => return intFunc(u32, a, b),
- 8 => return intFunc(u64, a, b),
- else => unreachable,
- } else switch (size) {
- 1 => unreachable, // promoted to int
- 2 => unreachable, // promoted to int
- 4 => return intFunc(i32, a, b),
- 8 => return intFunc(i64, a, b),
- else => unreachable,
- }
- }
- }.op;
- }
-};
-
-/// caller guarantees rhs != 0
-pub const div = bin_ops.getOp(bin_ops.divInt, bin_ops.divFloat);
-/// caller guarantees rhs != 0
-/// caller guarantees lhs != std.math.minInt(T) OR rhs != -1
-pub const rem = bin_ops.getOp(bin_ops.remInt, null);
-
-pub const bitOr = bin_ops.getOp(bin_ops.orInt, null);
-pub const bitXor = bin_ops.getOp(bin_ops.xorInt, null);
-pub const bitAnd = bin_ops.getOp(bin_ops.andInt, null);
-
-pub const shl = bin_ops.getOp(bin_ops.shl, null);
-pub const shr = bin_ops.getOp(bin_ops.shr, null);
-
-pub fn bitNot(v: Value, ty: Type, comp: *Compilation) Value {
- const size = ty.sizeof(comp).?;
- var out: Value = undefined;
- if (ty.isUnsignedInt(comp)) switch (size) {
- 1 => unreachable, // promoted to int
- 2 => unreachable, // promoted to int
- 4 => out = int(~v.getInt(u32)),
- 8 => out = int(~v.getInt(u64)),
- else => unreachable,
- } else switch (size) {
- 1 => unreachable, // promoted to int
- 2 => unreachable, // promoted to int
- 4 => out = int(~v.getInt(i32)),
- 8 => out = int(~v.getInt(i64)),
- else => unreachable,
- }
- return out;
-}
-
-pub fn compare(a: Value, op: std.math.CompareOperator, b: Value, ty: Type, comp: *const Compilation) bool {
- assert(a.tag == b.tag);
- if (a.tag == .nullptr_t) {
- return switch (op) {
- .eq => true,
- .neq => false,
- else => unreachable,
- };
- }
- const S = struct {
- inline fn doICompare(comptime T: type, aa: Value, opp: std.math.CompareOperator, bb: Value) bool {
- const a_val = aa.getInt(T);
- const b_val = bb.getInt(T);
- return std.math.compare(a_val, opp, b_val);
- }
- inline fn doFCompare(comptime T: type, aa: Value, opp: std.math.CompareOperator, bb: Value) bool {
- const a_val = aa.getFloat(T);
- const b_val = bb.getFloat(T);
- return std.math.compare(a_val, opp, b_val);
- }
- };
- const size = ty.sizeof(comp).?;
- switch (a.tag) {
- .unavailable => return true,
- .int => if (ty.isUnsignedInt(comp)) switch (size) {
- 1 => return S.doICompare(u8, a, op, b),
- 2 => return S.doICompare(u16, a, op, b),
- 4 => return S.doICompare(u32, a, op, b),
- 8 => return S.doICompare(u64, a, op, b),
- else => unreachable,
- } else switch (size) {
- 1 => return S.doICompare(i8, a, op, b),
- 2 => return S.doICompare(i16, a, op, b),
- 4 => return S.doICompare(i32, a, op, b),
- 8 => return S.doICompare(i64, a, op, b),
- else => unreachable,
- },
- .float => switch (size) {
- 4 => return S.doFCompare(f32, a, op, b),
- 8 => return S.doFCompare(f64, a, op, b),
- else => unreachable,
- },
- else => @panic("TODO"),
- }
- return false;
-}
-
-pub fn hash(v: Value) u64 {
- switch (v.tag) {
- .unavailable => unreachable,
- .int => return std.hash.Wyhash.hash(0, std.mem.asBytes(&v.data.int)),
- else => @panic("TODO"),
- }
-}
-
-pub fn dump(v: Value, ty: Type, comp: *Compilation, strings: []const u8, w: anytype) !void {
- switch (v.tag) {
- .unavailable => try w.writeAll("unavailable"),
- .int => if (ty.is(.bool) and comp.langopts.standard.atLeast(.c2x)) {
- try w.print("{s}", .{if (v.isZero()) "false" else "true"});
- } else if (ty.isUnsignedInt(comp)) {
- try w.print("{d}", .{v.data.int});
- } else {
- try w.print("{d}", .{v.signExtend(ty, comp)});
- },
- .bytes => try v.data.bytes.dumpString(ty, comp, strings, w),
- // std.fmt does @as instead of @floatCast
- .float => try w.print("{d}", .{@as(f64, @floatCast(v.data.float))}),
- else => try w.print("({s})", .{@tagName(v.tag)}),
- }
-}