Commit 9ea0c3b4c6
Changed files (23)
deps
aro
Attribute
codegen
object
deps/aro/Attribute/names.def
@@ -0,0 +1,431 @@
+# multiple
+deprecated
+ .tag = .deprecated
+ .c2x = true
+ .gnu = true
+ .declspec = true
+
+fallthrough
+ .tag = .fallthrough
+ .c2x = true
+ .gnu = true
+
+noreturn
+ .tag = .@"noreturn"
+ .c2x = true
+ .gnu = true
+ .declspec = true
+
+no_sanitize_address
+ .tag = .no_sanitize_address
+ .gnu = true
+ .declspec = true
+
+noinline
+ .tag = .@"noinline"
+ .gnu = true
+ .declspec = true
+
+# c2x only
+nodiscard
+ .tag = .nodiscard
+ .c2x = true
+
+reproducible
+ .tag = .reproducible
+ .c2x = true
+
+unsequenced
+ .tag = .unsequenced
+ .c2x = true
+
+maybe_unused
+ .tag = .unused
+ .c2x = true
+
+# gnu only
+access
+ .tag = .access
+ .gnu = true
+
+alias
+ .tag = .alias
+ .gnu = true
+
+aligned
+ .tag = .aligned
+ .gnu = true
+
+alloc_align
+ .tag = .alloc_align
+ .gnu = true
+
+alloc_size
+ .tag = .alloc_size
+ .gnu = true
+
+always_inline
+ .tag = .always_inline
+ .gnu = true
+
+artificial
+ .tag = .artificial
+ .gnu = true
+
+assume_aligned
+ .tag = .assume_aligned
+ .gnu = true
+
+cleanup
+ .tag = .cleanup
+ .gnu = true
+
+cold
+ .tag = .cold
+ .gnu = true
+
+common
+ .tag = .common
+ .gnu = true
+
+const
+ .tag = .@"const"
+ .gnu = true
+
+constructor
+ .tag = .constructor
+ .gnu = true
+
+copy
+ .tag = .copy
+ .gnu = true
+
+designated_init
+ .tag = .designated_init
+ .gnu = true
+
+destructor
+ .tag = .destructor
+ .gnu = true
+
+error
+ .tag = .@"error"
+ .gnu = true
+
+externally_visible
+ .tag = .externally_visible
+ .gnu = true
+
+flatten
+ .tag = .flatten
+ .gnu = true
+
+format
+ .tag = .format
+ .gnu = true
+
+format_arg
+ .tag = .format_arg
+ .gnu = true
+
+gnu_inline
+ .tag = .gnu_inline
+ .gnu = true
+
+hot
+ .tag = .hot
+ .gnu = true
+
+ifunc
+ .tag = .ifunc
+ .gnu = true
+
+interrupt
+ .tag = .interrupt
+ .gnu = true
+
+interrupt_handler
+ .tag = .interrupt_handler
+ .gnu = true
+
+leaf
+ .tag = .leaf
+ .gnu = true
+
+malloc
+ .tag = .malloc
+ .gnu = true
+
+may_alias
+ .tag = .may_alias
+ .gnu = true
+
+mode
+ .tag = .mode
+ .gnu = true
+
+no_address_safety_analysis
+ .tag = .no_address_safety_analysis
+ .gnu = true
+
+no_icf
+ .tag = .no_icf
+ .gnu = true
+
+no_instrument_function
+ .tag = .no_instrument_function
+ .gnu = true
+
+no_profile_instrument_function
+ .tag = .no_profile_instrument_function
+ .gnu = true
+
+no_reorder
+ .tag = .no_reorder
+ .gnu = true
+
+no_sanitize
+ .tag = .no_sanitize
+ .gnu = true
+
+no_sanitize_coverage
+ .tag = .no_sanitize_coverage
+ .gnu = true
+
+no_sanitize_thread
+ .tag = .no_sanitize_thread
+ .gnu = true
+
+no_sanitize_undefined
+ .tag = .no_sanitize_undefined
+ .gnu = true
+
+no_split_stack
+ .tag = .no_split_stack
+ .gnu = true
+
+no_stack_limit
+ .tag = .no_stack_limit
+ .gnu = true
+
+no_stack_protector
+ .tag = .no_stack_protector
+ .gnu = true
+
+noclone
+ .tag = .noclone
+ .gnu = true
+
+nocommon
+ .tag = .nocommon
+ .gnu = true
+
+noinit
+ .tag = .noinit
+ .gnu = true
+
+noipa
+ .tag = .noipa
+ .gnu = true
+
+# nonnull
+# .tag = .nonnull
+# .gnu = true
+
+nonstring
+ .tag = .nonstring
+ .gnu = true
+
+noplt
+ .tag = .noplt
+ .gnu = true
+
+# optimize
+# .tag = .optimize
+# .gnu = true
+
+packed
+ .tag = .@"packed"
+ .gnu = true
+
+patchable_function_entry
+ .tag = .patchable_function_entry
+ .gnu = true
+
+persistent
+ .tag = .persistent
+ .gnu = true
+
+pure
+ .tag = .pure
+ .gnu = true
+
+retain
+ .tag = .retain
+ .gnu = true
+
+returns_nonnull
+ .tag = .returns_nonnull
+ .gnu = true
+
+returns_twice
+ .tag = .returns_twice
+ .gnu = true
+
+scalar_storage_order
+ .tag = .scalar_storage_order
+ .gnu = true
+
+section
+ .tag = .section
+ .gnu = true
+
+sentinel
+ .tag = .sentinel
+ .gnu = true
+
+simd
+ .tag = .simd
+ .gnu = true
+
+stack_protect
+ .tag = .stack_protect
+ .gnu = true
+
+symver
+ .tag = .symver
+ .gnu = true
+
+target
+ .tag = .target
+ .gnu = true
+
+target_clones
+ .tag = .target_clones
+ .gnu = true
+
+tls_model
+ .tag = .tls_model
+ .gnu = true
+
+transparent_union
+ .tag = .transparent_union
+ .gnu = true
+
+unavailable
+ .tag = .unavailable
+ .gnu = true
+
+uninitialized
+ .tag = .uninitialized
+ .gnu = true
+
+unused
+ .tag = .unused
+ .gnu = true
+
+used
+ .tag = .used
+ .gnu = true
+
+vector_size
+ .tag = .vector_size
+ .gnu = true
+
+visibility
+ .tag = .visibility
+ .gnu = true
+
+warn_if_not_aligned
+ .tag = .warn_if_not_aligned
+ .gnu = true
+
+warn_unused_result
+ .tag = .warn_unused_result
+ .gnu = true
+
+warning
+ .tag = .warning
+ .gnu = true
+
+weak
+ .tag = .weak
+ .gnu = true
+
+weakref
+ .tag = .weakref
+ .gnu = true
+
+zero_call_used_regs
+ .tag = .zero_call_used_regs
+ .gnu = true
+
+# declspec only
+align
+ .tag = .aligned
+ .declspec = true
+
+allocate
+ .tag = .allocate
+ .declspec = true
+
+allocator
+ .tag = .allocator
+ .declspec = true
+
+appdomain
+ .tag = .appdomain
+ .declspec = true
+
+code_seg
+ .tag = .code_seg
+ .declspec = true
+
+dllexport
+ .tag = .dllexport
+ .declspec = true
+
+dllimport
+ .tag = .dllimport
+ .declspec = true
+
+jitintrinsic
+ .tag = .jitintrinsic
+ .declspec = true
+
+naked
+ .tag = .naked
+ .declspec = true
+
+noalias
+ .tag = .@"noalias"
+ .declspec = true
+
+process
+ .tag = .process
+ .declspec = true
+
+restrict
+ .tag = .restrict
+ .declspec = true
+
+safebuffers
+ .tag = .safebuffers
+ .declspec = true
+
+selectany
+ .tag = .selectany
+ .declspec = true
+
+spectre
+ .tag = .spectre
+ .declspec = true
+
+thread
+ .tag = .thread
+ .declspec = true
+
+uuid
+ .tag = .uuid
+ .declspec = true
+
deps/aro/Builtins/Builtin.def
@@ -0,0 +1,17010 @@
+const TargetSet = Properties.TargetSet;
+
+# TODO this file is generated from LLVM sources and
+# needs cleanup to be considered source.
+
+pub const max_param_count = 12;
+
+_Block_object_assign
+ .param_str = "vv*vC*iC"
+ .header = .blocks
+ .attributes = .{ .lib_function_without_prefix = true }
+
+_Block_object_dispose
+ .param_str = "vvC*iC"
+ .header = .blocks
+ .attributes = .{ .lib_function_without_prefix = true }
+
+_Exit
+ .param_str = "vi"
+ .header = .stdlib
+ .attributes = .{ .noreturn = true, .lib_function_without_prefix = true }
+
+_InterlockedAnd
+ .param_str = "NiNiD*Ni"
+ .language = .all_ms_languages
+
+_InterlockedAnd16
+ .param_str = "ssD*s"
+ .language = .all_ms_languages
+
+_InterlockedAnd8
+ .param_str = "ccD*c"
+ .language = .all_ms_languages
+
+_InterlockedCompareExchange
+ .param_str = "NiNiD*NiNi"
+ .language = .all_ms_languages
+
+_InterlockedCompareExchange16
+ .param_str = "ssD*ss"
+ .language = .all_ms_languages
+
+_InterlockedCompareExchange64
+ .param_str = "LLiLLiD*LLiLLi"
+ .language = .all_ms_languages
+
+_InterlockedCompareExchange8
+ .param_str = "ccD*cc"
+ .language = .all_ms_languages
+
+_InterlockedCompareExchangePointer
+ .param_str = "v*v*D*v*v*"
+ .language = .all_ms_languages
+
+_InterlockedCompareExchangePointer_nf
+ .param_str = "v*v*D*v*v*"
+ .language = .all_ms_languages
+
+_InterlockedDecrement
+ .param_str = "NiNiD*"
+ .language = .all_ms_languages
+
+_InterlockedDecrement16
+ .param_str = "ssD*"
+ .language = .all_ms_languages
+
+_InterlockedExchange
+ .param_str = "NiNiD*Ni"
+ .language = .all_ms_languages
+
+_InterlockedExchange16
+ .param_str = "ssD*s"
+ .language = .all_ms_languages
+
+_InterlockedExchange8
+ .param_str = "ccD*c"
+ .language = .all_ms_languages
+
+_InterlockedExchangeAdd
+ .param_str = "NiNiD*Ni"
+ .language = .all_ms_languages
+
+_InterlockedExchangeAdd16
+ .param_str = "ssD*s"
+ .language = .all_ms_languages
+
+_InterlockedExchangeAdd8
+ .param_str = "ccD*c"
+ .language = .all_ms_languages
+
+_InterlockedExchangePointer
+ .param_str = "v*v*D*v*"
+ .language = .all_ms_languages
+
+_InterlockedExchangeSub
+ .param_str = "NiNiD*Ni"
+ .language = .all_ms_languages
+
+_InterlockedExchangeSub16
+ .param_str = "ssD*s"
+ .language = .all_ms_languages
+
+_InterlockedExchangeSub8
+ .param_str = "ccD*c"
+ .language = .all_ms_languages
+
+_InterlockedIncrement
+ .param_str = "NiNiD*"
+ .language = .all_ms_languages
+
+_InterlockedIncrement16
+ .param_str = "ssD*"
+ .language = .all_ms_languages
+
+_InterlockedOr
+ .param_str = "NiNiD*Ni"
+ .language = .all_ms_languages
+
+_InterlockedOr16
+ .param_str = "ssD*s"
+ .language = .all_ms_languages
+
+_InterlockedOr8
+ .param_str = "ccD*c"
+ .language = .all_ms_languages
+
+_InterlockedXor
+ .param_str = "NiNiD*Ni"
+ .language = .all_ms_languages
+
+_InterlockedXor16
+ .param_str = "ssD*s"
+ .language = .all_ms_languages
+
+_InterlockedXor8
+ .param_str = "ccD*c"
+ .language = .all_ms_languages
+
+_MoveFromCoprocessor
+ .param_str = "UiIUiIUiIUiIUiIUi"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initOne(.arm)
+
+_MoveFromCoprocessor2
+ .param_str = "UiIUiIUiIUiIUiIUi"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initOne(.arm)
+
+_MoveToCoprocessor
+ .param_str = "vUiIUiIUiIUiIUiIUi"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initOne(.arm)
+
+_MoveToCoprocessor2
+ .param_str = "vUiIUiIUiIUiIUiIUi"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initOne(.arm)
+
+_ReturnAddress
+ .param_str = "v*"
+ .language = .all_ms_languages
+
+__GetExceptionInfo
+ .param_str = "v*."
+ .language = .all_ms_languages
+ .attributes = .{ .custom_typecheck = true, .eval_args = false }
+
+__abnormal_termination
+ .param_str = "i"
+ .language = .all_ms_languages
+
+__annotation
+ .param_str = "wC*."
+ .language = .all_ms_languages
+
+__arithmetic_fence
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true, .const_evaluable = true }
+
+__assume
+ .param_str = "vb"
+ .language = .all_ms_languages
+ .attributes = .{ .const_evaluable = true }
+
+__atomic_always_lock_free
+ .param_str = "bzvCD*"
+ .attributes = .{ .const_evaluable = true }
+
+__atomic_clear
+ .param_str = "vvD*i"
+
+__atomic_is_lock_free
+ .param_str = "bzvCD*"
+ .attributes = .{ .const_evaluable = true }
+
+__atomic_signal_fence
+ .param_str = "vi"
+
+__atomic_test_and_set
+ .param_str = "bvD*i"
+
+__atomic_thread_fence
+ .param_str = "vi"
+
+__builtin___CFStringMakeConstantString
+ .param_str = "FC*cC*"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin___NSStringMakeConstantString
+ .param_str = "FC*cC*"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin___clear_cache
+ .param_str = "vc*c*"
+
+__builtin___fprintf_chk
+ .param_str = "iP*RicC*R."
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 2 }
+
+__builtin___get_unsafe_stack_bottom
+ .param_str = "v*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___get_unsafe_stack_ptr
+ .param_str = "v*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___get_unsafe_stack_start
+ .param_str = "v*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___get_unsafe_stack_top
+ .param_str = "v*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___memccpy_chk
+ .param_str = "v*v*vC*izz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___memcpy_chk
+ .param_str = "v*v*vC*zz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___memmove_chk
+ .param_str = "v*v*vC*zz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___mempcpy_chk
+ .param_str = "v*v*vC*zz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___memset_chk
+ .param_str = "v*v*izz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___printf_chk
+ .param_str = "iicC*R."
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 1 }
+
+__builtin___snprintf_chk
+ .param_str = "ic*RzizcC*R."
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 4 }
+
+__builtin___sprintf_chk
+ .param_str = "ic*RizcC*R."
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 3 }
+
+__builtin___stpcpy_chk
+ .param_str = "c*c*cC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___stpncpy_chk
+ .param_str = "c*c*cC*zz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___strcat_chk
+ .param_str = "c*c*cC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___strcpy_chk
+ .param_str = "c*c*cC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___strlcat_chk
+ .param_str = "zc*cC*zz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___strlcpy_chk
+ .param_str = "zc*cC*zz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___strncat_chk
+ .param_str = "c*c*cC*zz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___strncpy_chk
+ .param_str = "c*c*cC*zz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin___vfprintf_chk
+ .param_str = "iP*RicC*Ra"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 2 }
+
+__builtin___vprintf_chk
+ .param_str = "iicC*Ra"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 1 }
+
+__builtin___vsnprintf_chk
+ .param_str = "ic*RzizcC*Ra"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 4 }
+
+__builtin___vsprintf_chk
+ .param_str = "ic*RizcC*Ra"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 3 }
+
+__builtin_abort
+ .param_str = "v"
+ .attributes = .{ .noreturn = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_abs
+ .param_str = "ii"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_acos
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_acosf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_acosf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_acosh
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_acoshf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_acoshf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_acoshl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_acosl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_add_overflow
+ .param_str = "b."
+ .attributes = .{ .custom_typecheck = true, .const_evaluable = true }
+
+__builtin_addc
+ .param_str = "UiUiCUiCUiCUi*"
+
+__builtin_addcb
+ .param_str = "UcUcCUcCUcCUc*"
+
+__builtin_addcl
+ .param_str = "ULiULiCULiCULiCULi*"
+
+__builtin_addcll
+ .param_str = "ULLiULLiCULLiCULLiCULLi*"
+
+__builtin_addcs
+ .param_str = "UsUsCUsCUsCUs*"
+
+__builtin_align_down
+ .param_str = "v*vC*z"
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true }
+
+__builtin_align_up
+ .param_str = "v*vC*z"
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true }
+
+__builtin_alloca
+ .param_str = "v*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_alloca_uninitialized
+ .param_str = "v*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_alloca_with_align
+ .param_str = "v*zIz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_alloca_with_align_uninitialized
+ .param_str = "v*zIz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_amdgcn_alignbit
+ .param_str = "UiUiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_alignbyte
+ .param_str = "UiUiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_atomic_dec32
+ .param_str = "UZiUZiD*UZiUicC*"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_atomic_dec64
+ .param_str = "UWiUWiD*UWiUicC*"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_atomic_inc32
+ .param_str = "UZiUZiD*UZiUicC*"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_atomic_inc64
+ .param_str = "UWiUWiD*UWiUicC*"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_buffer_wbinvl1
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_class
+ .param_str = "bdi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_classf
+ .param_str = "bfi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_cosf
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_cubeid
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_cubema
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_cubesc
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_cubetc
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_cvt_pk_i16
+ .param_str = "E2sii"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_cvt_pk_u16
+ .param_str = "E2UsUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_cvt_pk_u8_f32
+ .param_str = "UifUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_cvt_pknorm_i16
+ .param_str = "E2sff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_cvt_pknorm_u16
+ .param_str = "E2Usff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_cvt_pkrtz
+ .param_str = "E2hff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_dispatch_ptr
+ .param_str = "v*4"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_div_fixup
+ .param_str = "dddd"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_div_fixupf
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_div_fmas
+ .param_str = "ddddb"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_div_fmasf
+ .param_str = "ffffb"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_div_scale
+ .param_str = "dddbb*"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_div_scalef
+ .param_str = "fffbb*"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_ds_append
+ .param_str = "ii*3"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_ds_bpermute
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_ds_consume
+ .param_str = "ii*3"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_ds_faddf
+ .param_str = "ff*3fIiIiIb"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_ds_fmaxf
+ .param_str = "ff*3fIiIiIb"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_ds_fminf
+ .param_str = "ff*3fIiIiIb"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_ds_permute
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_ds_swizzle
+ .param_str = "iiIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_endpgm
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .noreturn = true }
+
+__builtin_amdgcn_exp2f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_fcmp
+ .param_str = "WUiddIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_fcmpf
+ .param_str = "WUiffIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_fence
+ .param_str = "vUicC*"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_fmed3f
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_fract
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_fractf
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_frexp_exp
+ .param_str = "id"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_frexp_expf
+ .param_str = "if"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_frexp_mant
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_frexp_mantf
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_grid_size_x
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_grid_size_y
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_grid_size_z
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_groupstaticsize
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_iglp_opt
+ .param_str = "vIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_implicitarg_ptr
+ .param_str = "v*4"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_interp_mov
+ .param_str = "fUiUiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_interp_p1
+ .param_str = "ffUiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_interp_p1_f16
+ .param_str = "ffUiUibUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_interp_p2
+ .param_str = "fffUiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_interp_p2_f16
+ .param_str = "hffUiUibUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_is_private
+ .param_str = "bvC*0"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_is_shared
+ .param_str = "bvC*0"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_kernarg_segment_ptr
+ .param_str = "v*4"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_ldexp
+ .param_str = "ddi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_ldexpf
+ .param_str = "ffi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_lerp
+ .param_str = "UiUiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_log_clampf
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_logf
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_mbcnt_hi
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_mbcnt_lo
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_mqsad_pk_u16_u8
+ .param_str = "WUiWUiUiWUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_mqsad_u32_u8
+ .param_str = "V4UiWUiUiV4Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_msad_u8
+ .param_str = "UiUiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_qsad_pk_u16_u8
+ .param_str = "WUiWUiUiWUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_queue_ptr
+ .param_str = "v*4"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_rcp
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_rcpf
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_read_exec
+ .param_str = "WUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_read_exec_hi
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_read_exec_lo
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_readfirstlane
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_readlane
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_rsq
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_rsq_clamp
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_rsq_clampf
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_rsqf
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_s_barrier
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_s_dcache_inv
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_s_decperflevel
+ .param_str = "vIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_s_getpc
+ .param_str = "WUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_s_getreg
+ .param_str = "UiIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_s_incperflevel
+ .param_str = "vIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_s_sendmsg
+ .param_str = "vIiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_s_sendmsghalt
+ .param_str = "vIiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_s_setprio
+ .param_str = "vIs"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_s_setreg
+ .param_str = "vIiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_s_sleep
+ .param_str = "vIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_s_waitcnt
+ .param_str = "vIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_sad_hi_u8
+ .param_str = "UiUiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_sad_u16
+ .param_str = "UiUiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_sad_u8
+ .param_str = "UiUiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_sbfe
+ .param_str = "UiUiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_sched_barrier
+ .param_str = "vIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_sched_group_barrier
+ .param_str = "vIiIiIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_sicmp
+ .param_str = "WUiiiIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_sicmpl
+ .param_str = "WUiWiWiIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_sinf
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_sqrt
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_sqrtf
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_trig_preop
+ .param_str = "ddi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_trig_preopf
+ .param_str = "ffi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_ubfe
+ .param_str = "UiUiUiUi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_uicmp
+ .param_str = "WUiUiUiIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_uicmpl
+ .param_str = "WUiWUiWUiIi"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_wave_barrier
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.amdgpu)
+
+__builtin_amdgcn_workgroup_id_x
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_workgroup_id_y
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_workgroup_id_z
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_workgroup_size_x
+ .param_str = "Us"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_workgroup_size_y
+ .param_str = "Us"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_workgroup_size_z
+ .param_str = "Us"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_workitem_id_x
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_workitem_id_y
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_amdgcn_workitem_id_z
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_annotation
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_arm_cdp
+ .param_str = "vUIiUIiUIiUIiUIiUIi"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_cdp2
+ .param_str = "vUIiUIiUIiUIiUIiUIi"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_clrex
+ .param_str = "v"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+__builtin_arm_cls
+ .param_str = "UiZUi"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_cls64
+ .param_str = "UiWUi"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_clz
+ .param_str = "UiZUi"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_clz64
+ .param_str = "UiWUi"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_cmse_TT
+ .param_str = "Uiv*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_cmse_TTA
+ .param_str = "Uiv*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_cmse_TTAT
+ .param_str = "Uiv*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_cmse_TTT
+ .param_str = "Uiv*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_dbg
+ .param_str = "vUi"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_dmb
+ .param_str = "vUi"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_dsb
+ .param_str = "vUi"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_get_fpscr
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_isb
+ .param_str = "vUi"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_ldaex
+ .param_str = "v."
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_arm_ldc
+ .param_str = "vUIiUIivC*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_ldc2
+ .param_str = "vUIiUIivC*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_ldc2l
+ .param_str = "vUIiUIivC*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_ldcl
+ .param_str = "vUIiUIivC*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_ldrex
+ .param_str = "v."
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_arm_ldrexd
+ .param_str = "LLUiv*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_mcr
+ .param_str = "vUIiUIiUiUIiUIiUIi"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_mcr2
+ .param_str = "vUIiUIiUiUIiUIiUIi"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_mcrr
+ .param_str = "vUIiUIiLLUiUIi"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_mcrr2
+ .param_str = "vUIiUIiLLUiUIi"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_mrc
+ .param_str = "UiUIiUIiUIiUIiUIi"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_mrc2
+ .param_str = "UiUIiUIiUIiUIiUIi"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_mrrc
+ .param_str = "LLUiUIiUIiUIi"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_mrrc2
+ .param_str = "LLUiUIiUIiUIi"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_nop
+ .param_str = "v"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+__builtin_arm_prefetch
+ .param_str = "!"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_qadd
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_qadd16
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_qadd8
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_qasx
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_qdbl
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_qsax
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_qsub
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_qsub16
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_qsub8
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_rbit
+ .param_str = "UiUi"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_rbit64
+ .param_str = "WUiWUi"
+ .target_set = TargetSet.initOne(.aarch64)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_rsr
+ .param_str = "UicC*"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_rsr64
+ .param_str = "!"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_rsrp
+ .param_str = "v*cC*"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_sadd16
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_sadd8
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_sasx
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_sel
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_set_fpscr
+ .param_str = "vUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_sev
+ .param_str = "v"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+__builtin_arm_sevl
+ .param_str = "v"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+__builtin_arm_shadd16
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_shadd8
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_shasx
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_shsax
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_shsub16
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_shsub8
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlabb
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlabt
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlad
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smladx
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlald
+ .param_str = "LLiiiLLi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlaldx
+ .param_str = "LLiiiLLi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlatb
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlatt
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlawb
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlawt
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlsd
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlsdx
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlsld
+ .param_str = "LLiiiLLi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smlsldx
+ .param_str = "LLiiiLLi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smuad
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smuadx
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smulbb
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smulbt
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smultb
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smultt
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smulwb
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smulwt
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smusd
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_smusdx
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_ssat
+ .param_str = "iiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_ssat16
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_ssax
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_ssub16
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_ssub8
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_stc
+ .param_str = "vUIiUIiv*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_stc2
+ .param_str = "vUIiUIiv*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_stc2l
+ .param_str = "vUIiUIiv*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_stcl
+ .param_str = "vUIiUIiv*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_stlex
+ .param_str = "i."
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_arm_strex
+ .param_str = "i."
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_arm_strexd
+ .param_str = "iLLUiv*"
+ .target_set = TargetSet.initOne(.arm)
+
+__builtin_arm_sxtab16
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_sxtb16
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_tcancel
+ .param_str = "vWUIi"
+ .target_set = TargetSet.initOne(.aarch64)
+
+__builtin_arm_tcommit
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.aarch64)
+
+__builtin_arm_tstart
+ .param_str = "WUi"
+ .target_set = TargetSet.initOne(.aarch64)
+ .attributes = .{ .returns_twice = true }
+
+__builtin_arm_ttest
+ .param_str = "WUi"
+ .target_set = TargetSet.initOne(.aarch64)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uadd16
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uadd8
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uasx
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uhadd16
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uhadd8
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uhasx
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uhsax
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uhsub16
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uhsub8
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uqadd16
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uqadd8
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uqasx
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uqsax
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uqsub16
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uqsub8
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_usad8
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_usada8
+ .param_str = "UiUiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_usat
+ .param_str = "UiiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_usat16
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_usax
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_usub16
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_usub8
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uxtab16
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_uxtb16
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_vcvtr_d
+ .param_str = "fdi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_vcvtr_f
+ .param_str = "ffi"
+ .target_set = TargetSet.initOne(.arm)
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_wfe
+ .param_str = "v"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+__builtin_arm_wfi
+ .param_str = "v"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+__builtin_arm_wsr
+ .param_str = "vcC*Ui"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_wsr64
+ .param_str = "!"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_wsrp
+ .param_str = "vcC*vC*"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_arm_yield
+ .param_str = "v"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+__builtin_asin
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_asinf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_asinf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_asinh
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_asinhf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_asinhf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_asinhl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_asinl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_assume
+ .param_str = "vb"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_assume_aligned
+ .param_str = "v*vC*z."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true }
+
+__builtin_assume_separate_storage
+ .param_str = "vvCD*vCD*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_atan
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_atan2
+ .param_str = "ddd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_atan2f
+ .param_str = "fff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_atan2f128
+ .param_str = "LLdLLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_atan2l
+ .param_str = "LdLdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_atanf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_atanf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_atanh
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_atanhf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_atanhf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_atanhl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_atanl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_bcmp
+ .param_str = "ivC*vC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_bcopy
+ .param_str = "vvC*v*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_bitrev
+ .param_str = "UiUi"
+ .target_set = TargetSet.initOne(.xcore)
+ .attributes = .{ .@"const" = true }
+
+__builtin_bitreverse16
+ .param_str = "UsUs"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_bitreverse32
+ .param_str = "UZiUZi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_bitreverse64
+ .param_str = "UWiUWi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_bitreverse8
+ .param_str = "UcUc"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_bswap16
+ .param_str = "UsUs"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_bswap32
+ .param_str = "UZiUZi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_bswap64
+ .param_str = "UWiUWi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_bzero
+ .param_str = "vv*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_cabs
+ .param_str = "dXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cabsf
+ .param_str = "fXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cabsl
+ .param_str = "LdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cacos
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cacosf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cacosh
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cacoshf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cacoshl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cacosl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_call_with_static_chain
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_calloc
+ .param_str = "v*zz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_canonicalize
+ .param_str = "dd"
+ .attributes = .{ .@"const" = true }
+
+__builtin_canonicalizef
+ .param_str = "ff"
+ .attributes = .{ .@"const" = true }
+
+__builtin_canonicalizef16
+ .param_str = "hh"
+ .attributes = .{ .@"const" = true }
+
+__builtin_canonicalizel
+ .param_str = "LdLd"
+ .attributes = .{ .@"const" = true }
+
+__builtin_carg
+ .param_str = "dXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cargf
+ .param_str = "fXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cargl
+ .param_str = "LdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_casin
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_casinf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_casinh
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_casinhf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_casinhl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_casinl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_catan
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_catanf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_catanh
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_catanhf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_catanhl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_catanl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cbrt
+ .param_str = "dd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_cbrtf
+ .param_str = "ff"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_cbrtf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_cbrtl
+ .param_str = "LdLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_ccos
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ccosf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ccosh
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ccoshf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ccoshl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ccosl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ceil
+ .param_str = "dd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_ceilf
+ .param_str = "ff"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_ceilf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_ceilf16
+ .param_str = "hh"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_ceill
+ .param_str = "LdLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_cexp
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cexpf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cexpl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_char_memchr
+ .param_str = "c*cC*iz"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_cimag
+ .param_str = "dXd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_cimagf
+ .param_str = "fXf"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_cimagl
+ .param_str = "LdXLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_classify_type
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .eval_args = false, .const_evaluable = true }
+
+__builtin_clog
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_clogf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_clogl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_clrsb
+ .param_str = "ii"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_clrsbl
+ .param_str = "iLi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_clrsbll
+ .param_str = "iLLi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_clz
+ .param_str = "iUi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_clzl
+ .param_str = "iULi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_clzll
+ .param_str = "iULLi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_clzs
+ .param_str = "iUs"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_complex
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true }
+
+__builtin_conj
+ .param_str = "XdXd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_conjf
+ .param_str = "XfXf"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_conjl
+ .param_str = "XLdXLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_constant_p
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .eval_args = false, .const_evaluable = true }
+
+__builtin_convertvector
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_copysign
+ .param_str = "ddd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_copysignf
+ .param_str = "fff"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_copysignf128
+ .param_str = "LLdLLdLLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_copysignf16
+ .param_str = "hhh"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_copysignl
+ .param_str = "LdLdLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_cos
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cosf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cosf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cosf16
+ .param_str = "hh"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cosh
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_coshf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_coshf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_coshl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cosl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cpow
+ .param_str = "XdXdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cpowf
+ .param_str = "XfXfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cpowl
+ .param_str = "XLdXLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_cproj
+ .param_str = "XdXd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_cprojf
+ .param_str = "XfXf"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_cprojl
+ .param_str = "XLdXLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_cpu_init
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.x86)
+
+__builtin_cpu_is
+ .param_str = "bcC*"
+ .target_set = TargetSet.initOne(.x86)
+ .attributes = .{ .@"const" = true }
+
+__builtin_cpu_supports
+ .param_str = "bcC*"
+ .target_set = TargetSet.initOne(.x86)
+ .attributes = .{ .@"const" = true }
+
+__builtin_creal
+ .param_str = "dXd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_crealf
+ .param_str = "fXf"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_creall
+ .param_str = "LdXLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_csin
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_csinf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_csinh
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_csinhf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_csinhl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_csinl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_csqrt
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_csqrtf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_csqrtl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ctan
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ctanf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ctanh
+ .param_str = "XdXd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ctanhf
+ .param_str = "XfXf"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ctanhl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ctanl
+ .param_str = "XLdXLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ctz
+ .param_str = "iUi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_ctzl
+ .param_str = "iULi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_ctzll
+ .param_str = "iULLi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_ctzs
+ .param_str = "iUs"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_dcbf
+ .param_str = "vvC*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_debugtrap
+ .param_str = "v"
+
+__builtin_dump_struct
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_dwarf_cfa
+ .param_str = "v*"
+
+__builtin_dwarf_sp_column
+ .param_str = "Ui"
+
+__builtin_dynamic_object_size
+ .param_str = "zvC*i"
+ .attributes = .{ .eval_args = false, .const_evaluable = true }
+
+__builtin_eh_return
+ .param_str = "vzv*"
+ .attributes = .{ .noreturn = true }
+
+__builtin_eh_return_data_regno
+ .param_str = "iIi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_elementwise_abs
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_add_sat
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_bitreverse
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_canonicalize
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_ceil
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_copysign
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_cos
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_exp
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_exp2
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_floor
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_fma
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_log
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_log10
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_log2
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_max
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_min
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_nearbyint
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_pow
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_rint
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_round
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_roundeven
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_sin
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_sqrt
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_sub_sat
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_elementwise_trunc
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_erf
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_erfc
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_erfcf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_erfcf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_erfcl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_erff
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_erff128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_erfl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_exp
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_exp10
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_exp10f
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_exp10f128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_exp10f16
+ .param_str = "hh"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_exp10l
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_exp2
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_exp2f
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_exp2f128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_exp2f16
+ .param_str = "hh"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_exp2l
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_expect
+ .param_str = "LiLiLi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_expect_with_probability
+ .param_str = "LiLiLid"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_expf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_expf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_expf16
+ .param_str = "hh"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_expl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_expm1
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_expm1f
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_expm1f128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_expm1l
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_extend_pointer
+ .param_str = "ULLiv*"
+
+__builtin_extract_return_addr
+ .param_str = "v*v*"
+
+__builtin_fabs
+ .param_str = "dd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fabsf
+ .param_str = "ff"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fabsf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fabsf16
+ .param_str = "hh"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_fabsl
+ .param_str = "LdLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fdim
+ .param_str = "ddd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fdimf
+ .param_str = "fff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fdimf128
+ .param_str = "LLdLLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fdiml
+ .param_str = "LdLdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ffs
+ .param_str = "ii"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_ffsl
+ .param_str = "iLi"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_ffsll
+ .param_str = "iLLi"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_floor
+ .param_str = "dd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_floorf
+ .param_str = "ff"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_floorf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_floorf16
+ .param_str = "hh"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_floorl
+ .param_str = "LdLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_flt_rounds
+ .param_str = "i"
+
+__builtin_fma
+ .param_str = "dddd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fmaf
+ .param_str = "ffff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fmaf128
+ .param_str = "LLdLLdLLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fmaf16
+ .param_str = "hhhh"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fmal
+ .param_str = "LdLdLdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fmax
+ .param_str = "ddd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fmaxf
+ .param_str = "fff"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fmaxf128
+ .param_str = "LLdLLdLLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fmaxf16
+ .param_str = "hhh"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fmaxl
+ .param_str = "LdLdLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fmin
+ .param_str = "ddd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fminf
+ .param_str = "fff"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fminf128
+ .param_str = "LLdLLdLLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fminf16
+ .param_str = "hhh"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fminl
+ .param_str = "LdLdLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fmod
+ .param_str = "ddd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fmodf
+ .param_str = "fff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fmodf128
+ .param_str = "LLdLLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fmodf16
+ .param_str = "hhh"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fmodl
+ .param_str = "LdLdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_fpclassify
+ .param_str = "iiiiii."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_fprintf
+ .param_str = "iP*RcC*R."
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 1 }
+
+__builtin_frame_address
+ .param_str = "v*IUi"
+
+__builtin_free
+ .param_str = "vv*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_frexp
+ .param_str = "ddi*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_frexpf
+ .param_str = "ffi*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_frexpf128
+ .param_str = "LLdLLdi*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_frexpf16
+ .param_str = "hhi*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_frexpl
+ .param_str = "LdLdi*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_frob_return_addr
+ .param_str = "v*v*"
+
+__builtin_fscanf
+ .param_str = "iP*RcC*R."
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .scanf, .format_string_position = 1 }
+
+__builtin_getid
+ .param_str = "Si"
+ .target_set = TargetSet.initOne(.xcore)
+ .attributes = .{ .@"const" = true }
+
+__builtin_getps
+ .param_str = "UiUi"
+ .target_set = TargetSet.initOne(.xcore)
+
+__builtin_huge_val
+ .param_str = "d"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_huge_valf
+ .param_str = "f"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_huge_valf128
+ .param_str = "LLd"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_huge_valf16
+ .param_str = "x"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_huge_vall
+ .param_str = "Ld"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_hypot
+ .param_str = "ddd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_hypotf
+ .param_str = "fff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_hypotf128
+ .param_str = "LLdLLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_hypotl
+ .param_str = "LdLdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ia32_rdpmc
+ .param_str = "UOii"
+ .target_set = TargetSet.initOne(.x86)
+
+__builtin_ia32_rdtsc
+ .param_str = "UOi"
+ .target_set = TargetSet.initOne(.x86)
+
+__builtin_ia32_rdtscp
+ .param_str = "UOiUi*"
+ .target_set = TargetSet.initOne(.x86)
+
+__builtin_ilogb
+ .param_str = "id"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ilogbf
+ .param_str = "if"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ilogbf128
+ .param_str = "iLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ilogbl
+ .param_str = "iLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_index
+ .param_str = "c*cC*i"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_inf
+ .param_str = "d"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_inff
+ .param_str = "f"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_inff128
+ .param_str = "LLd"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_inff16
+ .param_str = "x"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_infl
+ .param_str = "Ld"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_init_dwarf_reg_size_table
+ .param_str = "vv*"
+
+__builtin_is_aligned
+ .param_str = "bvC*z"
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true }
+
+__builtin_isfinite
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_isfpclass
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true }
+
+__builtin_isgreater
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_isgreaterequal
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_isinf
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_isinf_sign
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_isless
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_islessequal
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_islessgreater
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_isnan
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_isnormal
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_isunordered
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_labs
+ .param_str = "LiLi"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_launder
+ .param_str = "v*v*"
+ .attributes = .{ .custom_typecheck = true, .const_evaluable = true }
+
+__builtin_ldexp
+ .param_str = "ddi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ldexpf
+ .param_str = "ffi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ldexpf128
+ .param_str = "LLdLLdi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ldexpf16
+ .param_str = "hhi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ldexpl
+ .param_str = "LdLdi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_lgamma
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_lgammaf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_lgammaf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_lgammal
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_llabs
+ .param_str = "LLiLLi"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_llrint
+ .param_str = "LLid"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_llrintf
+ .param_str = "LLif"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_llrintf128
+ .param_str = "LLiLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_llrintl
+ .param_str = "LLiLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_llround
+ .param_str = "LLid"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_llroundf
+ .param_str = "LLif"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_llroundf128
+ .param_str = "LLiLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_llroundl
+ .param_str = "LLiLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log10
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log10f
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log10f128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log10f16
+ .param_str = "hh"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log10l
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log1p
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log1pf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log1pf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log1pl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log2
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log2f
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log2f128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log2f16
+ .param_str = "hh"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_log2l
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_logb
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_logbf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_logbf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_logbl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_logf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_logf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_logf16
+ .param_str = "hh"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_logl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_longjmp
+ .param_str = "vv**i"
+ .attributes = .{ .noreturn = true }
+
+__builtin_lrint
+ .param_str = "Lid"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_lrintf
+ .param_str = "Lif"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_lrintf128
+ .param_str = "LiLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_lrintl
+ .param_str = "LiLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_lround
+ .param_str = "Lid"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_lroundf
+ .param_str = "Lif"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_lroundf128
+ .param_str = "LiLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_lroundl
+ .param_str = "LiLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_malloc
+ .param_str = "v*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_matrix_column_major_load
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_matrix_column_major_store
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_matrix_transpose
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_memchr
+ .param_str = "v*vC*iz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_memcmp
+ .param_str = "ivC*vC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_memcpy
+ .param_str = "v*v*vC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_memcpy_inline
+ .param_str = "vv*vC*Iz"
+
+__builtin_memmove
+ .param_str = "v*v*vC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_mempcpy
+ .param_str = "v*v*vC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_memset
+ .param_str = "v*v*iz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_memset_inline
+ .param_str = "vv*iIz"
+
+__builtin_mips_absq_s_ph
+ .param_str = "V2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_absq_s_qb
+ .param_str = "V4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_absq_s_w
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_addq_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_addq_s_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_addq_s_w
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_addqh_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_addqh_r_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_addqh_r_w
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_addqh_w
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_addsc
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_addu_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_addu_qb
+ .param_str = "V4ScV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_addu_s_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_addu_s_qb
+ .param_str = "V4ScV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_adduh_qb
+ .param_str = "V4ScV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_adduh_r_qb
+ .param_str = "V4ScV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_addwc
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_append
+ .param_str = "iiiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_balign
+ .param_str = "iiiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_bitrev
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_bposge32
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_cmp_eq_ph
+ .param_str = "vV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_cmp_le_ph
+ .param_str = "vV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_cmp_lt_ph
+ .param_str = "vV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_cmpgdu_eq_qb
+ .param_str = "iV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_cmpgdu_le_qb
+ .param_str = "iV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_cmpgdu_lt_qb
+ .param_str = "iV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_cmpgu_eq_qb
+ .param_str = "iV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_cmpgu_le_qb
+ .param_str = "iV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_cmpgu_lt_qb
+ .param_str = "iV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_cmpu_eq_qb
+ .param_str = "vV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_cmpu_le_qb
+ .param_str = "vV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_cmpu_lt_qb
+ .param_str = "vV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_dpa_w_ph
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_dpaq_s_w_ph
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_dpaq_sa_l_w
+ .param_str = "LLiLLiii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_dpaqx_s_w_ph
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_dpaqx_sa_w_ph
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_dpau_h_qbl
+ .param_str = "LLiLLiV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_dpau_h_qbr
+ .param_str = "LLiLLiV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_dpax_w_ph
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_dps_w_ph
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_dpsq_s_w_ph
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_dpsq_sa_l_w
+ .param_str = "LLiLLiii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_dpsqx_s_w_ph
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_dpsqx_sa_w_ph
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_dpsu_h_qbl
+ .param_str = "LLiLLiV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_dpsu_h_qbr
+ .param_str = "LLiLLiV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_dpsx_w_ph
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_extp
+ .param_str = "iLLii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_extpdp
+ .param_str = "iLLii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_extr_r_w
+ .param_str = "iLLii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_extr_rs_w
+ .param_str = "iLLii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_extr_s_h
+ .param_str = "iLLii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_extr_w
+ .param_str = "iLLii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_insv
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_lbux
+ .param_str = "iv*i"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_lhx
+ .param_str = "iv*i"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_lwx
+ .param_str = "iv*i"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_madd
+ .param_str = "LLiLLiii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_maddu
+ .param_str = "LLiLLiUiUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_maq_s_w_phl
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_maq_s_w_phr
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_maq_sa_w_phl
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_maq_sa_w_phr
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_modsub
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_msub
+ .param_str = "LLiLLiii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_msubu
+ .param_str = "LLiLLiUiUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_mthlip
+ .param_str = "LLiLLii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_mul_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_mul_s_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_muleq_s_w_phl
+ .param_str = "iV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_muleq_s_w_phr
+ .param_str = "iV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_muleu_s_ph_qbl
+ .param_str = "V2sV4ScV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_muleu_s_ph_qbr
+ .param_str = "V2sV4ScV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_mulq_rs_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_mulq_rs_w
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_mulq_s_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_mulq_s_w
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_mulsa_w_ph
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_mulsaq_s_w_ph
+ .param_str = "LLiLLiV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_mult
+ .param_str = "LLiii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_multu
+ .param_str = "LLiUiUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_packrl_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_pick_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_pick_qb
+ .param_str = "V4ScV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_preceq_w_phl
+ .param_str = "iV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_preceq_w_phr
+ .param_str = "iV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_precequ_ph_qbl
+ .param_str = "V2sV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_precequ_ph_qbla
+ .param_str = "V2sV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_precequ_ph_qbr
+ .param_str = "V2sV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_precequ_ph_qbra
+ .param_str = "V2sV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_preceu_ph_qbl
+ .param_str = "V2sV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_preceu_ph_qbla
+ .param_str = "V2sV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_preceu_ph_qbr
+ .param_str = "V2sV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_preceu_ph_qbra
+ .param_str = "V2sV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_precr_qb_ph
+ .param_str = "V4ScV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_precr_sra_ph_w
+ .param_str = "V2siiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_precr_sra_r_ph_w
+ .param_str = "V2siiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_precrq_ph_w
+ .param_str = "V2sii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_precrq_qb_ph
+ .param_str = "V4ScV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_precrq_rs_ph_w
+ .param_str = "V2sii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_precrqu_s_qb_ph
+ .param_str = "V4ScV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_prepend
+ .param_str = "iiiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_raddu_w_qb
+ .param_str = "iV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_rddsp
+ .param_str = "iIi"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_repl_ph
+ .param_str = "V2si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_repl_qb
+ .param_str = "V4Sci"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_shilo
+ .param_str = "LLiLLii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_shll_ph
+ .param_str = "V2sV2si"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_shll_qb
+ .param_str = "V4ScV4Sci"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_shll_s_ph
+ .param_str = "V2sV2si"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_shll_s_w
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_shra_ph
+ .param_str = "V2sV2si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_shra_qb
+ .param_str = "V4ScV4Sci"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_shra_r_ph
+ .param_str = "V2sV2si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_shra_r_qb
+ .param_str = "V4ScV4Sci"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_shra_r_w
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_shrl_ph
+ .param_str = "V2sV2si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_shrl_qb
+ .param_str = "V4ScV4Sci"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_subq_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_subq_s_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_subq_s_w
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_subqh_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_subqh_r_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_subqh_r_w
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_subqh_w
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_subu_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_subu_qb
+ .param_str = "V4ScV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_subu_s_ph
+ .param_str = "V2sV2sV2s"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_subu_s_qb
+ .param_str = "V4ScV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_mips_subuh_qb
+ .param_str = "V4ScV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_subuh_r_qb
+ .param_str = "V4ScV4ScV4Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mips_wrdsp
+ .param_str = "viIi"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_modf
+ .param_str = "ddd*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_modff
+ .param_str = "fff*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_modff128
+ .param_str = "LLdLLdLLd*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_modfl
+ .param_str = "LdLdLd*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_msa_add_a_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_add_a_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_add_a_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_add_a_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_adds_a_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_adds_a_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_adds_a_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_adds_a_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_adds_s_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_adds_s_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_adds_s_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_adds_s_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_adds_u_b
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_adds_u_d
+ .param_str = "V2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_adds_u_h
+ .param_str = "V8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_adds_u_w
+ .param_str = "V4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_addv_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_addv_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_addv_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_addv_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_addvi_b
+ .param_str = "V16cV16cIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_addvi_d
+ .param_str = "V2LLiV2LLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_addvi_h
+ .param_str = "V8sV8sIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_addvi_w
+ .param_str = "V4iV4iIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_and_v
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_andi_b
+ .param_str = "V16UcV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_asub_s_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_asub_s_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_asub_s_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_asub_s_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_asub_u_b
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_asub_u_d
+ .param_str = "V2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_asub_u_h
+ .param_str = "V8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_asub_u_w
+ .param_str = "V4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ave_s_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ave_s_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ave_s_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ave_s_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ave_u_b
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ave_u_d
+ .param_str = "V2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ave_u_h
+ .param_str = "V8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ave_u_w
+ .param_str = "V4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_aver_s_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_aver_s_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_aver_s_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_aver_s_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_aver_u_b
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_aver_u_d
+ .param_str = "V2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_aver_u_h
+ .param_str = "V8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_aver_u_w
+ .param_str = "V4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bclr_b
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bclr_d
+ .param_str = "V2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bclr_h
+ .param_str = "V8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bclr_w
+ .param_str = "V4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bclri_b
+ .param_str = "V16UcV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bclri_d
+ .param_str = "V2ULLiV2ULLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bclri_h
+ .param_str = "V8UsV8UsIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bclri_w
+ .param_str = "V4UiV4UiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsl_b
+ .param_str = "V16UcV16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsl_d
+ .param_str = "V2ULLiV2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsl_h
+ .param_str = "V8UsV8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsl_w
+ .param_str = "V4UiV4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsli_b
+ .param_str = "V16UcV16UcV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsli_d
+ .param_str = "V2ULLiV2ULLiV2ULLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsli_h
+ .param_str = "V8UsV8UsV8UsIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsli_w
+ .param_str = "V4UiV4UiV4UiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsr_b
+ .param_str = "V16UcV16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsr_d
+ .param_str = "V2ULLiV2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsr_h
+ .param_str = "V8UsV8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsr_w
+ .param_str = "V4UiV4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsri_b
+ .param_str = "V16UcV16UcV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsri_d
+ .param_str = "V2ULLiV2ULLiV2ULLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsri_h
+ .param_str = "V8UsV8UsV8UsIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_binsri_w
+ .param_str = "V4UiV4UiV4UiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bmnz_v
+ .param_str = "V16UcV16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bmnzi_b
+ .param_str = "V16UcV16UcV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bmz_v
+ .param_str = "V16UcV16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bmzi_b
+ .param_str = "V16UcV16UcV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bneg_b
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bneg_d
+ .param_str = "V2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bneg_h
+ .param_str = "V8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bneg_w
+ .param_str = "V4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bnegi_b
+ .param_str = "V16UcV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bnegi_d
+ .param_str = "V2ULLiV2ULLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bnegi_h
+ .param_str = "V8UsV8UsIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bnegi_w
+ .param_str = "V4UiV4UiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bnz_b
+ .param_str = "iV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bnz_d
+ .param_str = "iV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bnz_h
+ .param_str = "iV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bnz_v
+ .param_str = "iV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bnz_w
+ .param_str = "iV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bsel_v
+ .param_str = "V16UcV16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bseli_b
+ .param_str = "V16UcV16UcV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bset_b
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bset_d
+ .param_str = "V2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bset_h
+ .param_str = "V8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bset_w
+ .param_str = "V4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bseti_b
+ .param_str = "V16UcV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bseti_d
+ .param_str = "V2ULLiV2ULLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bseti_h
+ .param_str = "V8UsV8UsIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bseti_w
+ .param_str = "V4UiV4UiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bz_b
+ .param_str = "iV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bz_d
+ .param_str = "iV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bz_h
+ .param_str = "iV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bz_v
+ .param_str = "iV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_bz_w
+ .param_str = "iV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ceq_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ceq_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ceq_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ceq_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ceqi_b
+ .param_str = "V16ScV16ScISi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ceqi_d
+ .param_str = "V2SLLiV2SLLiISi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ceqi_h
+ .param_str = "V8SsV8SsISi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ceqi_w
+ .param_str = "V4SiV4SiISi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_cfcmsa
+ .param_str = "iIi"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_msa_cle_s_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_cle_s_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_cle_s_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_cle_s_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_cle_u_b
+ .param_str = "V16ScV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_cle_u_d
+ .param_str = "V2SLLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_cle_u_h
+ .param_str = "V8SsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_cle_u_w
+ .param_str = "V4SiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clei_s_b
+ .param_str = "V16ScV16ScISi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clei_s_d
+ .param_str = "V2SLLiV2SLLiISi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clei_s_h
+ .param_str = "V8SsV8SsISi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clei_s_w
+ .param_str = "V4SiV4SiISi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clei_u_b
+ .param_str = "V16ScV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clei_u_d
+ .param_str = "V2SLLiV2ULLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clei_u_h
+ .param_str = "V8SsV8UsIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clei_u_w
+ .param_str = "V4SiV4UiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clt_s_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clt_s_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clt_s_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clt_s_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clt_u_b
+ .param_str = "V16ScV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clt_u_d
+ .param_str = "V2SLLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clt_u_h
+ .param_str = "V8SsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clt_u_w
+ .param_str = "V4SiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clti_s_b
+ .param_str = "V16ScV16ScISi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clti_s_d
+ .param_str = "V2SLLiV2SLLiISi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clti_s_h
+ .param_str = "V8SsV8SsISi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clti_s_w
+ .param_str = "V4SiV4SiISi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clti_u_b
+ .param_str = "V16ScV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clti_u_d
+ .param_str = "V2SLLiV2ULLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clti_u_h
+ .param_str = "V8SsV8UsIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_clti_u_w
+ .param_str = "V4SiV4UiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_copy_s_b
+ .param_str = "iV16ScIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_copy_s_d
+ .param_str = "LLiV2SLLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_copy_s_h
+ .param_str = "iV8SsIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_copy_s_w
+ .param_str = "iV4SiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_copy_u_b
+ .param_str = "iV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_copy_u_d
+ .param_str = "LLiV2ULLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_copy_u_h
+ .param_str = "iV8UsIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_copy_u_w
+ .param_str = "iV4UiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ctcmsa
+ .param_str = "vIii"
+ .target_set = TargetSet.initOne(.mips)
+
+__builtin_msa_div_s_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_div_s_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_div_s_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_div_s_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_div_u_b
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_div_u_d
+ .param_str = "V2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_div_u_h
+ .param_str = "V8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_div_u_w
+ .param_str = "V4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dotp_s_d
+ .param_str = "V2SLLiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dotp_s_h
+ .param_str = "V8SsV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dotp_s_w
+ .param_str = "V4SiV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dotp_u_d
+ .param_str = "V2ULLiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dotp_u_h
+ .param_str = "V8UsV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dotp_u_w
+ .param_str = "V4UiV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dpadd_s_d
+ .param_str = "V2SLLiV2SLLiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dpadd_s_h
+ .param_str = "V8SsV8SsV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dpadd_s_w
+ .param_str = "V4SiV4SiV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dpadd_u_d
+ .param_str = "V2ULLiV2ULLiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dpadd_u_h
+ .param_str = "V8UsV8UsV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dpadd_u_w
+ .param_str = "V4UiV4UiV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dpsub_s_d
+ .param_str = "V2SLLiV2SLLiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dpsub_s_h
+ .param_str = "V8SsV8SsV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dpsub_s_w
+ .param_str = "V4SiV4SiV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dpsub_u_d
+ .param_str = "V2ULLiV2ULLiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dpsub_u_h
+ .param_str = "V8UsV8UsV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_dpsub_u_w
+ .param_str = "V4UiV4UiV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fadd_d
+ .param_str = "V2dV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fadd_w
+ .param_str = "V4fV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcaf_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcaf_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fceq_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fceq_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fclass_d
+ .param_str = "V2LLiV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fclass_w
+ .param_str = "V4iV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcle_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcle_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fclt_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fclt_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcne_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcne_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcor_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcor_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcueq_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcueq_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcule_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcule_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcult_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcult_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcun_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcun_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcune_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fcune_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fdiv_d
+ .param_str = "V2dV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fdiv_w
+ .param_str = "V4fV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fexdo_h
+ .param_str = "V8hV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fexdo_w
+ .param_str = "V4fV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fexp2_d
+ .param_str = "V2dV2dV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fexp2_w
+ .param_str = "V4fV4fV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fexupl_d
+ .param_str = "V2dV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fexupl_w
+ .param_str = "V4fV8h"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fexupr_d
+ .param_str = "V2dV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fexupr_w
+ .param_str = "V4fV8h"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ffint_s_d
+ .param_str = "V2dV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ffint_s_w
+ .param_str = "V4fV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ffint_u_d
+ .param_str = "V2dV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ffint_u_w
+ .param_str = "V4fV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ffql_d
+ .param_str = "V2dV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ffql_w
+ .param_str = "V4fV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ffqr_d
+ .param_str = "V2dV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ffqr_w
+ .param_str = "V4fV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fill_b
+ .param_str = "V16Sci"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fill_d
+ .param_str = "V2SLLiLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fill_h
+ .param_str = "V8Ssi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fill_w
+ .param_str = "V4Sii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_flog2_d
+ .param_str = "V2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_flog2_w
+ .param_str = "V4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmadd_d
+ .param_str = "V2dV2dV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmadd_w
+ .param_str = "V4fV4fV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmax_a_d
+ .param_str = "V2dV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmax_a_w
+ .param_str = "V4fV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmax_d
+ .param_str = "V2dV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmax_w
+ .param_str = "V4fV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmin_a_d
+ .param_str = "V2dV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmin_a_w
+ .param_str = "V4fV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmin_d
+ .param_str = "V2dV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmin_w
+ .param_str = "V4fV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmsub_d
+ .param_str = "V2dV2dV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmsub_w
+ .param_str = "V4fV4fV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmul_d
+ .param_str = "V2dV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fmul_w
+ .param_str = "V4fV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_frcp_d
+ .param_str = "V2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_frcp_w
+ .param_str = "V4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_frint_d
+ .param_str = "V2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_frint_w
+ .param_str = "V4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_frsqrt_d
+ .param_str = "V2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_frsqrt_w
+ .param_str = "V4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsaf_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsaf_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fseq_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fseq_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsle_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsle_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fslt_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fslt_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsne_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsne_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsor_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsor_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsqrt_d
+ .param_str = "V2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsqrt_w
+ .param_str = "V4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsub_d
+ .param_str = "V2dV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsub_w
+ .param_str = "V4fV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsueq_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsueq_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsule_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsule_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsult_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsult_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsun_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsun_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsune_d
+ .param_str = "V2LLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_fsune_w
+ .param_str = "V4iV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ftint_s_d
+ .param_str = "V2SLLiV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ftint_s_w
+ .param_str = "V4SiV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ftint_u_d
+ .param_str = "V2ULLiV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ftint_u_w
+ .param_str = "V4UiV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ftq_h
+ .param_str = "V4UiV4fV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ftq_w
+ .param_str = "V2ULLiV2dV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ftrunc_s_d
+ .param_str = "V2SLLiV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ftrunc_s_w
+ .param_str = "V4SiV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ftrunc_u_d
+ .param_str = "V2ULLiV2d"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ftrunc_u_w
+ .param_str = "V4UiV4f"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_hadd_s_d
+ .param_str = "V2SLLiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_hadd_s_h
+ .param_str = "V8SsV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_hadd_s_w
+ .param_str = "V4SiV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_hadd_u_d
+ .param_str = "V2ULLiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_hadd_u_h
+ .param_str = "V8UsV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_hadd_u_w
+ .param_str = "V4UiV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_hsub_s_d
+ .param_str = "V2SLLiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_hsub_s_h
+ .param_str = "V8SsV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_hsub_s_w
+ .param_str = "V4SiV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_hsub_u_d
+ .param_str = "V2ULLiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_hsub_u_h
+ .param_str = "V8UsV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_hsub_u_w
+ .param_str = "V4UiV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvev_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvev_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvev_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvev_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvl_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvl_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvl_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvl_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvod_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvod_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvod_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvod_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvr_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvr_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvr_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ilvr_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_insert_b
+ .param_str = "V16ScV16ScIUii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_insert_d
+ .param_str = "V2SLLiV2SLLiIUiLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_insert_h
+ .param_str = "V8SsV8SsIUii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_insert_w
+ .param_str = "V4SiV4SiIUii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_insve_b
+ .param_str = "V16ScV16ScIUiV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_insve_d
+ .param_str = "V2SLLiV2SLLiIUiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_insve_h
+ .param_str = "V8SsV8SsIUiV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_insve_w
+ .param_str = "V4SiV4SiIUiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ld_b
+ .param_str = "V16Scv*Ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ld_d
+ .param_str = "V2SLLiv*Ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ld_h
+ .param_str = "V8Ssv*Ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ld_w
+ .param_str = "V4Siv*Ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ldi_b
+ .param_str = "V16cIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ldi_d
+ .param_str = "V2LLiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ldi_h
+ .param_str = "V8sIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ldi_w
+ .param_str = "V4iIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ldr_d
+ .param_str = "V2SLLiv*Ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ldr_w
+ .param_str = "V4Siv*Ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_madd_q_h
+ .param_str = "V8SsV8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_madd_q_w
+ .param_str = "V4SiV4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maddr_q_h
+ .param_str = "V8SsV8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maddr_q_w
+ .param_str = "V4SiV4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maddv_b
+ .param_str = "V16ScV16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maddv_d
+ .param_str = "V2SLLiV2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maddv_h
+ .param_str = "V8SsV8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maddv_w
+ .param_str = "V4SiV4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_max_a_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_max_a_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_max_a_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_max_a_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_max_s_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_max_s_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_max_s_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_max_s_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_max_u_b
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_max_u_d
+ .param_str = "V2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_max_u_h
+ .param_str = "V8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_max_u_w
+ .param_str = "V4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maxi_s_b
+ .param_str = "V16ScV16ScIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maxi_s_d
+ .param_str = "V2SLLiV2SLLiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maxi_s_h
+ .param_str = "V8SsV8SsIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maxi_s_w
+ .param_str = "V4SiV4SiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maxi_u_b
+ .param_str = "V16UcV16UcIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maxi_u_d
+ .param_str = "V2ULLiV2ULLiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maxi_u_h
+ .param_str = "V8UsV8UsIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_maxi_u_w
+ .param_str = "V4UiV4UiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_min_a_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_min_a_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_min_a_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_min_a_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_min_s_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_min_s_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_min_s_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_min_s_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_min_u_b
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_min_u_d
+ .param_str = "V2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_min_u_h
+ .param_str = "V8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_min_u_w
+ .param_str = "V4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mini_s_b
+ .param_str = "V16ScV16ScIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mini_s_d
+ .param_str = "V2SLLiV2SLLiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mini_s_h
+ .param_str = "V8SsV8SsIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mini_s_w
+ .param_str = "V4SiV4SiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mini_u_b
+ .param_str = "V16UcV16UcIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mini_u_d
+ .param_str = "V2ULLiV2ULLiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mini_u_h
+ .param_str = "V8UsV8UsIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mini_u_w
+ .param_str = "V4UiV4UiIi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mod_s_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mod_s_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mod_s_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mod_s_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mod_u_b
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mod_u_d
+ .param_str = "V2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mod_u_h
+ .param_str = "V8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mod_u_w
+ .param_str = "V4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_move_v
+ .param_str = "V16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_msub_q_h
+ .param_str = "V8SsV8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_msub_q_w
+ .param_str = "V4SiV4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_msubr_q_h
+ .param_str = "V8SsV8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_msubr_q_w
+ .param_str = "V4SiV4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_msubv_b
+ .param_str = "V16ScV16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_msubv_d
+ .param_str = "V2SLLiV2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_msubv_h
+ .param_str = "V8SsV8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_msubv_w
+ .param_str = "V4SiV4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mul_q_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mul_q_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mulr_q_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mulr_q_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mulv_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mulv_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mulv_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_mulv_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_nloc_b
+ .param_str = "V16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_nloc_d
+ .param_str = "V2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_nloc_h
+ .param_str = "V8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_nloc_w
+ .param_str = "V4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_nlzc_b
+ .param_str = "V16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_nlzc_d
+ .param_str = "V2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_nlzc_h
+ .param_str = "V8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_nlzc_w
+ .param_str = "V4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_nor_v
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_nori_b
+ .param_str = "V16UcV16cIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_or_v
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_ori_b
+ .param_str = "V16UcV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_pckev_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_pckev_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_pckev_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_pckev_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_pckod_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_pckod_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_pckod_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_pckod_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_pcnt_b
+ .param_str = "V16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_pcnt_d
+ .param_str = "V2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_pcnt_h
+ .param_str = "V8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_pcnt_w
+ .param_str = "V4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sat_s_b
+ .param_str = "V16ScV16ScIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sat_s_d
+ .param_str = "V2SLLiV2SLLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sat_s_h
+ .param_str = "V8SsV8SsIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sat_s_w
+ .param_str = "V4SiV4SiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sat_u_b
+ .param_str = "V16UcV16UcIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sat_u_d
+ .param_str = "V2ULLiV2ULLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sat_u_h
+ .param_str = "V8UsV8UsIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sat_u_w
+ .param_str = "V4UiV4UiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_shf_b
+ .param_str = "V16cV16cIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_shf_h
+ .param_str = "V8sV8sIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_shf_w
+ .param_str = "V4iV4iIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sld_b
+ .param_str = "V16cV16cV16cUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sld_d
+ .param_str = "V2LLiV2LLiV2LLiUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sld_h
+ .param_str = "V8sV8sV8sUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sld_w
+ .param_str = "V4iV4iV4iUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sldi_b
+ .param_str = "V16cV16cV16cIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sldi_d
+ .param_str = "V2LLiV2LLiV2LLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sldi_h
+ .param_str = "V8sV8sV8sIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sldi_w
+ .param_str = "V4iV4iV4iIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sll_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sll_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sll_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sll_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_slli_b
+ .param_str = "V16cV16cIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_slli_d
+ .param_str = "V2LLiV2LLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_slli_h
+ .param_str = "V8sV8sIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_slli_w
+ .param_str = "V4iV4iIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_splat_b
+ .param_str = "V16cV16cUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_splat_d
+ .param_str = "V2LLiV2LLiUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_splat_h
+ .param_str = "V8sV8sUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_splat_w
+ .param_str = "V4iV4iUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_splati_b
+ .param_str = "V16cV16cIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_splati_d
+ .param_str = "V2LLiV2LLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_splati_h
+ .param_str = "V8sV8sIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_splati_w
+ .param_str = "V4iV4iIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sra_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sra_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sra_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_sra_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srai_b
+ .param_str = "V16cV16cIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srai_d
+ .param_str = "V2LLiV2LLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srai_h
+ .param_str = "V8sV8sIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srai_w
+ .param_str = "V4iV4iIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srar_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srar_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srar_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srar_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srari_b
+ .param_str = "V16cV16cIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srari_d
+ .param_str = "V2LLiV2LLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srari_h
+ .param_str = "V8sV8sIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srari_w
+ .param_str = "V4iV4iIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srl_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srl_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srl_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srl_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srli_b
+ .param_str = "V16cV16cIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srli_d
+ .param_str = "V2LLiV2LLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srli_h
+ .param_str = "V8sV8sIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srli_w
+ .param_str = "V4iV4iIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srlr_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srlr_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srlr_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srlr_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srlri_b
+ .param_str = "V16cV16cIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srlri_d
+ .param_str = "V2LLiV2LLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srlri_h
+ .param_str = "V8sV8sIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_srlri_w
+ .param_str = "V4iV4iIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_st_b
+ .param_str = "vV16Scv*Ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_st_d
+ .param_str = "vV2SLLiv*Ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_st_h
+ .param_str = "vV8Ssv*Ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_st_w
+ .param_str = "vV4Siv*Ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_str_d
+ .param_str = "vV2SLLiv*Ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_str_w
+ .param_str = "vV4Siv*Ii"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subs_s_b
+ .param_str = "V16ScV16ScV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subs_s_d
+ .param_str = "V2SLLiV2SLLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subs_s_h
+ .param_str = "V8SsV8SsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subs_s_w
+ .param_str = "V4SiV4SiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subs_u_b
+ .param_str = "V16UcV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subs_u_d
+ .param_str = "V2ULLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subs_u_h
+ .param_str = "V8UsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subs_u_w
+ .param_str = "V4UiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subsus_u_b
+ .param_str = "V16UcV16UcV16Sc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subsus_u_d
+ .param_str = "V2ULLiV2ULLiV2SLLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subsus_u_h
+ .param_str = "V8UsV8UsV8Ss"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subsus_u_w
+ .param_str = "V4UiV4UiV4Si"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subsuu_s_b
+ .param_str = "V16ScV16UcV16Uc"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subsuu_s_d
+ .param_str = "V2SLLiV2ULLiV2ULLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subsuu_s_h
+ .param_str = "V8SsV8UsV8Us"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subsuu_s_w
+ .param_str = "V4SiV4UiV4Ui"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subv_b
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subv_d
+ .param_str = "V2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subv_h
+ .param_str = "V8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subv_w
+ .param_str = "V4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subvi_b
+ .param_str = "V16cV16cIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subvi_d
+ .param_str = "V2LLiV2LLiIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subvi_h
+ .param_str = "V8sV8sIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_subvi_w
+ .param_str = "V4iV4iIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_vshf_b
+ .param_str = "V16cV16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_vshf_d
+ .param_str = "V2LLiV2LLiV2LLiV2LLi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_vshf_h
+ .param_str = "V8sV8sV8sV8s"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_vshf_w
+ .param_str = "V4iV4iV4iV4i"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_xor_v
+ .param_str = "V16cV16cV16c"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_msa_xori_b
+ .param_str = "V16cV16cIUi"
+ .target_set = TargetSet.initOne(.mips)
+ .attributes = .{ .@"const" = true }
+
+__builtin_mul_overflow
+ .param_str = "b."
+ .attributes = .{ .custom_typecheck = true, .const_evaluable = true }
+
+__builtin_nan
+ .param_str = "dcC*"
+ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_nanf
+ .param_str = "fcC*"
+ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_nanf128
+ .param_str = "LLdcC*"
+ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_nanf16
+ .param_str = "xcC*"
+ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_nanl
+ .param_str = "LdcC*"
+ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_nans
+ .param_str = "dcC*"
+ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_nansf
+ .param_str = "fcC*"
+ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_nansf128
+ .param_str = "LLdcC*"
+ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_nansf16
+ .param_str = "xcC*"
+ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_nansl
+ .param_str = "LdcC*"
+ .attributes = .{ .pure = true, .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_nearbyint
+ .param_str = "dd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_nearbyintf
+ .param_str = "ff"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_nearbyintf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_nearbyintl
+ .param_str = "LdLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_nextafter
+ .param_str = "ddd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_nextafterf
+ .param_str = "fff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_nextafterf128
+ .param_str = "LLdLLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_nextafterl
+ .param_str = "LdLdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_nexttoward
+ .param_str = "ddLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_nexttowardf
+ .param_str = "ffLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_nexttowardf128
+ .param_str = "LLdLLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_nexttowardl
+ .param_str = "LdLdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_nondeterministic_value
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_nontemporal_load
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_nontemporal_store
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_objc_memmove_collectable
+ .param_str = "v*v*vC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_object_size
+ .param_str = "zvC*i"
+ .attributes = .{ .eval_args = false, .const_evaluable = true }
+
+__builtin_operator_delete
+ .param_str = "vv*"
+ .attributes = .{ .custom_typecheck = true, .const_evaluable = true }
+
+__builtin_operator_new
+ .param_str = "v*z"
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .const_evaluable = true }
+
+__builtin_os_log_format
+ .param_str = "v*v*cC*."
+ .attributes = .{ .custom_typecheck = true, .format_kind = .printf }
+
+__builtin_os_log_format_buffer_size
+ .param_str = "zcC*."
+ .attributes = .{ .custom_typecheck = true, .format_kind = .printf, .eval_args = false, .const_evaluable = true }
+
+__builtin_pack_longdouble
+ .param_str = "Lddd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_parity
+ .param_str = "iUi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_parityl
+ .param_str = "iULi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_parityll
+ .param_str = "iULLi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_popcount
+ .param_str = "iUi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_popcountl
+ .param_str = "iULi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_popcountll
+ .param_str = "iULLi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_pow
+ .param_str = "ddd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_powf
+ .param_str = "fff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_powf128
+ .param_str = "LLdLLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_powf16
+ .param_str = "hhh"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_powi
+ .param_str = "ddi"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_powif
+ .param_str = "ffi"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_powil
+ .param_str = "LdLdi"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_powl
+ .param_str = "LdLdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_ppc_alignx
+ .param_str = "vIivC*"
+ .target_set = TargetSet.initOne(.ppc)
+ .attributes = .{ .@"const" = true }
+
+__builtin_ppc_cmpb
+ .param_str = "LLiLLiLLi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_compare_and_swap
+ .param_str = "iiD*i*i"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_compare_and_swaplp
+ .param_str = "iLiD*Li*Li"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_dcbfl
+ .param_str = "vvC*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_dcbflp
+ .param_str = "vvC*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_dcbst
+ .param_str = "vvC*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_dcbt
+ .param_str = "vv*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_dcbtst
+ .param_str = "vv*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_dcbtstt
+ .param_str = "vv*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_dcbtt
+ .param_str = "vv*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_dcbz
+ .param_str = "vv*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_eieio
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fcfid
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fcfud
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fctid
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fctidz
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fctiw
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fctiwz
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fctudz
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fctuwz
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fetch_and_add
+ .param_str = "iiD*i"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fetch_and_addlp
+ .param_str = "LiLiD*Li"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fetch_and_and
+ .param_str = "UiUiD*Ui"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fetch_and_andlp
+ .param_str = "ULiULiD*ULi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fetch_and_or
+ .param_str = "UiUiD*Ui"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fetch_and_orlp
+ .param_str = "ULiULiD*ULi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fetch_and_swap
+ .param_str = "UiUiD*Ui"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fetch_and_swaplp
+ .param_str = "ULiULiD*ULi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fmsub
+ .param_str = "dddd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fmsubs
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fnabs
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fnabss
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fnmadd
+ .param_str = "dddd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fnmadds
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fnmsub
+ .param_str = "dddd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fnmsubs
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fre
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fres
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fric
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_frim
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_frims
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_frin
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_frins
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_frip
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_frips
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_friz
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_frizs
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_frsqrte
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_frsqrtes
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fsel
+ .param_str = "dddd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fsels
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fsqrt
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_fsqrts
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_get_timebase
+ .param_str = "ULLi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_iospace_eieio
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_iospace_lwsync
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_iospace_sync
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_isync
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_ldarx
+ .param_str = "LiLiD*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_load2r
+ .param_str = "UsUs*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_load4r
+ .param_str = "UiUi*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_lwarx
+ .param_str = "iiD*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_lwsync
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_maxfe
+ .param_str = "LdLdLdLd."
+ .target_set = TargetSet.initOne(.ppc)
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_ppc_maxfl
+ .param_str = "dddd."
+ .target_set = TargetSet.initOne(.ppc)
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_ppc_maxfs
+ .param_str = "ffff."
+ .target_set = TargetSet.initOne(.ppc)
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_ppc_mfmsr
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_mfspr
+ .param_str = "ULiIi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_mftbu
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_minfe
+ .param_str = "LdLdLdLd."
+ .target_set = TargetSet.initOne(.ppc)
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_ppc_minfl
+ .param_str = "dddd."
+ .target_set = TargetSet.initOne(.ppc)
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_ppc_minfs
+ .param_str = "ffff."
+ .target_set = TargetSet.initOne(.ppc)
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_ppc_mtfsb0
+ .param_str = "vUIi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_mtfsb1
+ .param_str = "vUIi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_mtfsf
+ .param_str = "vUIiUi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_mtfsfi
+ .param_str = "vUIiUIi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_mtmsr
+ .param_str = "vUi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_mtspr
+ .param_str = "vIiULi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_mulhd
+ .param_str = "LLiLiLi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_mulhdu
+ .param_str = "ULLiULiULi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_mulhw
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_mulhwu
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_popcntb
+ .param_str = "ULiULi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_poppar4
+ .param_str = "iUi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_poppar8
+ .param_str = "iULLi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_rdlam
+ .param_str = "UWiUWiUWiUWIi"
+ .target_set = TargetSet.initOne(.ppc)
+ .attributes = .{ .@"const" = true }
+
+__builtin_ppc_recipdivd
+ .param_str = "V2dV2dV2d"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_recipdivf
+ .param_str = "V4fV4fV4f"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_rldimi
+ .param_str = "ULLiULLiULLiIUiIULLi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_rlwimi
+ .param_str = "UiUiUiIUiIUi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_rlwnm
+ .param_str = "UiUiUiIUi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_rsqrtd
+ .param_str = "V2dV2d"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_rsqrtf
+ .param_str = "V4fV4f"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_stdcx
+ .param_str = "iLiD*Li"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_stfiw
+ .param_str = "viC*d"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_store2r
+ .param_str = "vUiUs*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_store4r
+ .param_str = "vUiUi*"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_stwcx
+ .param_str = "iiD*i"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_swdiv
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_swdiv_nochk
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_swdivs
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_swdivs_nochk
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_sync
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_tdw
+ .param_str = "vLLiLLiIUi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_trap
+ .param_str = "vi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_trapd
+ .param_str = "vLi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_ppc_tw
+ .param_str = "viiIUi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_prefetch
+ .param_str = "vvC*."
+ .attributes = .{ .@"const" = true }
+
+__builtin_preserve_access_index
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_printf
+ .param_str = "icC*R."
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf }
+
+__builtin_ptx_get_image_channel_data_typei_
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_get_image_channel_orderi_
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_get_image_depthi_
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_get_image_heighti_
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_get_image_widthi_
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_read_image2Dff_
+ .param_str = "V4fiiff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_read_image2Dfi_
+ .param_str = "V4fiiii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_read_image2Dif_
+ .param_str = "V4iiiff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_read_image2Dii_
+ .param_str = "V4iiiii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_read_image3Dff_
+ .param_str = "V4fiiffff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_read_image3Dfi_
+ .param_str = "V4fiiiiii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_read_image3Dif_
+ .param_str = "V4iiiffff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_read_image3Dii_
+ .param_str = "V4iiiiiii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_write_image2Df_
+ .param_str = "viiiffff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_write_image2Di_
+ .param_str = "viiiiiii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_ptx_write_image2Dui_
+ .param_str = "viiiUiUiUiUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__builtin_r600_implicitarg_ptr
+ .param_str = "Uc*7"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_r600_read_tgid_x
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_r600_read_tgid_y
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_r600_read_tgid_z
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_r600_read_tidig_x
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_r600_read_tidig_y
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_r600_read_tidig_z
+ .param_str = "Ui"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_r600_recipsqrt_ieee
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_r600_recipsqrt_ieeef
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.amdgpu)
+ .attributes = .{ .@"const" = true }
+
+__builtin_readcyclecounter
+ .param_str = "ULLi"
+
+__builtin_readflm
+ .param_str = "d"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_realloc
+ .param_str = "v*v*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_reduce_add
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_reduce_and
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_reduce_max
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_reduce_min
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_reduce_mul
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_reduce_or
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_reduce_xor
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_remainder
+ .param_str = "ddd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_remainderf
+ .param_str = "fff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_remainderf128
+ .param_str = "LLdLLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_remainderl
+ .param_str = "LdLdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_remquo
+ .param_str = "dddi*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_remquof
+ .param_str = "fffi*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_remquof128
+ .param_str = "LLdLLdLLdi*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_remquol
+ .param_str = "LdLdLdi*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_return_address
+ .param_str = "v*IUi"
+
+__builtin_rindex
+ .param_str = "c*cC*i"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_rint
+ .param_str = "dd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_rintf
+ .param_str = "ff"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_rintf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_rintf16
+ .param_str = "hh"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_rintl
+ .param_str = "LdLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_rotateleft16
+ .param_str = "UsUsUs"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_rotateleft32
+ .param_str = "UZiUZiUZi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_rotateleft64
+ .param_str = "UWiUWiUWi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_rotateleft8
+ .param_str = "UcUcUc"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_rotateright16
+ .param_str = "UsUsUs"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_rotateright32
+ .param_str = "UZiUZiUZi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_rotateright64
+ .param_str = "UWiUWiUWi"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_rotateright8
+ .param_str = "UcUcUc"
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__builtin_round
+ .param_str = "dd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_roundeven
+ .param_str = "dd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_roundevenf
+ .param_str = "ff"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_roundevenf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_roundevenf16
+ .param_str = "hh"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_roundevenl
+ .param_str = "LdLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_roundf
+ .param_str = "ff"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_roundf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_roundf16
+ .param_str = "hh"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_roundl
+ .param_str = "LdLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_sadd_overflow
+ .param_str = "bSiCSiCSi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_saddl_overflow
+ .param_str = "bSLiCSLiCSLi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_saddll_overflow
+ .param_str = "bSLLiCSLLiCSLLi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_scalbln
+ .param_str = "ddLi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_scalblnf
+ .param_str = "ffLi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_scalblnf128
+ .param_str = "LLdLLdLi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_scalblnl
+ .param_str = "LdLdLi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_scalbn
+ .param_str = "ddi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_scalbnf
+ .param_str = "ffi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_scalbnf128
+ .param_str = "LLdLLdi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_scalbnl
+ .param_str = "LdLdi"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_scanf
+ .param_str = "icC*R."
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .scanf }
+
+__builtin_set_flt_rounds
+ .param_str = "vi"
+
+__builtin_setflm
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_setjmp
+ .param_str = "iv**"
+ .attributes = .{ .returns_twice = true }
+
+__builtin_setps
+ .param_str = "vUiUi"
+ .target_set = TargetSet.initOne(.xcore)
+
+__builtin_setrnd
+ .param_str = "di"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_shufflevector
+ .param_str = "v."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true }
+
+__builtin_signbit
+ .param_str = "i."
+ .attributes = .{ .@"const" = true, .custom_typecheck = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_signbitf
+ .param_str = "if"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_signbitl
+ .param_str = "iLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_sin
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sinf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sinf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sinf16
+ .param_str = "hh"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sinh
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sinhf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sinhf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sinhl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sinl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_smul_overflow
+ .param_str = "bSiCSiCSi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_smull_overflow
+ .param_str = "bSLiCSLiCSLi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_smulll_overflow
+ .param_str = "bSLLiCSLLiCSLLi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_snprintf
+ .param_str = "ic*RzcC*R."
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 2 }
+
+__builtin_sponentry
+ .param_str = "v*"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__builtin_sprintf
+ .param_str = "ic*RcC*R."
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .printf, .format_string_position = 1 }
+
+__builtin_sqrt
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sqrtf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sqrtf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sqrtf16
+ .param_str = "hh"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sqrtl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_sscanf
+ .param_str = "icC*RcC*R."
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .scanf, .format_string_position = 1 }
+
+__builtin_ssub_overflow
+ .param_str = "bSiCSiCSi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_ssubl_overflow
+ .param_str = "bSLiCSLiCSLi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_ssubll_overflow
+ .param_str = "bSLLiCSLLiCSLLi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_stdarg_start
+ .param_str = "vA."
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_stpcpy
+ .param_str = "c*c*cC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_stpncpy
+ .param_str = "c*c*cC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strcasecmp
+ .param_str = "icC*cC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strcat
+ .param_str = "c*c*cC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strchr
+ .param_str = "c*cC*i"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_strcmp
+ .param_str = "icC*cC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_strcpy
+ .param_str = "c*c*cC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strcspn
+ .param_str = "zcC*cC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strdup
+ .param_str = "c*cC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strlen
+ .param_str = "zcC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_strncasecmp
+ .param_str = "icC*cC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strncat
+ .param_str = "c*c*cC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strncmp
+ .param_str = "icC*cC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_strncpy
+ .param_str = "c*c*cC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strndup
+ .param_str = "c*cC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strpbrk
+ .param_str = "c*cC*cC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strrchr
+ .param_str = "c*cC*i"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strspn
+ .param_str = "zcC*cC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_strstr
+ .param_str = "c*cC*cC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true }
+
+__builtin_sub_overflow
+ .param_str = "b."
+ .attributes = .{ .custom_typecheck = true, .const_evaluable = true }
+
+__builtin_subc
+ .param_str = "UiUiCUiCUiCUi*"
+
+__builtin_subcb
+ .param_str = "UcUcCUcCUcCUc*"
+
+__builtin_subcl
+ .param_str = "ULiULiCULiCULiCULi*"
+
+__builtin_subcll
+ .param_str = "ULLiULLiCULLiCULLiCULLi*"
+
+__builtin_subcs
+ .param_str = "UsUsCUsCUsCUs*"
+
+__builtin_tan
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_tanf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_tanf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_tanh
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_tanhf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_tanhf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_tanhl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_tanl
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_tgamma
+ .param_str = "dd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_tgammaf
+ .param_str = "ff"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_tgammaf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_tgammal
+ .param_str = "LdLd"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__builtin_thread_pointer
+ .param_str = "v*"
+ .attributes = .{ .@"const" = true }
+
+__builtin_trap
+ .param_str = "v"
+ .attributes = .{ .noreturn = true }
+
+__builtin_trunc
+ .param_str = "dd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_truncf
+ .param_str = "ff"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_truncf128
+ .param_str = "LLdLLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_truncf16
+ .param_str = "hh"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_truncl
+ .param_str = "LdLd"
+ .attributes = .{ .@"const" = true, .lib_function_with_builtin_prefix = true }
+
+__builtin_uadd_overflow
+ .param_str = "bUiCUiCUi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_uaddl_overflow
+ .param_str = "bULiCULiCULi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_uaddll_overflow
+ .param_str = "bULLiCULLiCULLi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_umul_overflow
+ .param_str = "bUiCUiCUi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_umull_overflow
+ .param_str = "bULiCULiCULi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_umulll_overflow
+ .param_str = "bULLiCULLiCULLi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_unpack_longdouble
+ .param_str = "dLdIi"
+ .target_set = TargetSet.initOne(.ppc)
+
+__builtin_unpredictable
+ .param_str = "LiLi"
+ .attributes = .{ .@"const" = true }
+
+__builtin_unreachable
+ .param_str = "v"
+ .attributes = .{ .noreturn = true }
+
+__builtin_unwind_init
+ .param_str = "v"
+
+__builtin_usub_overflow
+ .param_str = "bUiCUiCUi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_usubl_overflow
+ .param_str = "bULiCULiCULi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_usubll_overflow
+ .param_str = "bULLiCULLiCULLi*"
+ .attributes = .{ .const_evaluable = true }
+
+__builtin_va_copy
+ .param_str = "vAA"
+
+__builtin_va_end
+ .param_str = "vA"
+
+__builtin_va_start
+ .param_str = "vA."
+ .attributes = .{ .custom_typecheck = true }
+
+__builtin_ve_vl_andm_MMM
+ .param_str = "V512bV512bV512b"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_andm_mmm
+ .param_str = "V256bV256bV256b"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_eqvm_MMM
+ .param_str = "V512bV512bV512b"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_eqvm_mmm
+ .param_str = "V256bV256bV256b"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_extract_vm512l
+ .param_str = "V256bV512b"
+ .target_set = TargetSet.initOne(.ve)
+
+__builtin_ve_vl_extract_vm512u
+ .param_str = "V256bV512b"
+ .target_set = TargetSet.initOne(.ve)
+
+__builtin_ve_vl_fencec_s
+ .param_str = "vUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_fencei
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_fencem_s
+ .param_str = "vUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_fidcr_sss
+ .param_str = "LUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_insert_vm512l
+ .param_str = "V512bV512bV256b"
+ .target_set = TargetSet.initOne(.ve)
+
+__builtin_ve_vl_insert_vm512u
+ .param_str = "V512bV512bV256b"
+ .target_set = TargetSet.initOne(.ve)
+
+__builtin_ve_vl_lcr_sss
+ .param_str = "LUiLUiLUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_lsv_vvss
+ .param_str = "V256dV256dUiLUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_lvm_MMss
+ .param_str = "V512bV512bLUiLUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_lvm_mmss
+ .param_str = "V256bV256bLUiLUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_lvsd_svs
+ .param_str = "dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_lvsl_svs
+ .param_str = "LUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_lvss_svs
+ .param_str = "fV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_lzvm_sml
+ .param_str = "LUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_negm_MM
+ .param_str = "V512bV512b"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_negm_mm
+ .param_str = "V256bV256b"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_nndm_MMM
+ .param_str = "V512bV512bV512b"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_nndm_mmm
+ .param_str = "V256bV256bV256b"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_orm_MMM
+ .param_str = "V512bV512bV512b"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_orm_mmm
+ .param_str = "V256bV256bV256b"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pack_f32a
+ .param_str = "ULifC*"
+ .target_set = TargetSet.initOne(.ve)
+
+__builtin_ve_vl_pack_f32p
+ .param_str = "ULifC*fC*"
+ .target_set = TargetSet.initOne(.ve)
+
+__builtin_ve_vl_pcvm_sml
+ .param_str = "LUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pfchv_ssl
+ .param_str = "vLivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pfchvnc_ssl
+ .param_str = "vLivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvadds_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvadds_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvadds_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvadds_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvadds_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvadds_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvaddu_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvaddu_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvaddu_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvaddu_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvaddu_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvaddu_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvand_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvand_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvand_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvand_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvand_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvand_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvbrd_vsMvl
+ .param_str = "V256dLUiV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvbrd_vsl
+ .param_str = "V256dLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvbrd_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvbrv_vvMvl
+ .param_str = "V256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvbrv_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvbrv_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvbrvlo_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvbrvlo_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvbrvlo_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvbrvup_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvbrvup_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvbrvup_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcmps_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcmps_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcmps_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcmps_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcmps_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcmps_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcmpu_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcmpu_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcmpu_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcmpu_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcmpu_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcmpu_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcvtsw_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcvtsw_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcvtws_vvMvl
+ .param_str = "V256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcvtws_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcvtws_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcvtwsrz_vvMvl
+ .param_str = "V256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcvtwsrz_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvcvtwsrz_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pveqv_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pveqv_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pveqv_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pveqv_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pveqv_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pveqv_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfadd_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfadd_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfadd_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfadd_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfadd_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfadd_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfcmp_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfcmp_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfcmp_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfcmp_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfcmp_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfcmp_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmad_vsvvMvl
+ .param_str = "V256dLUiV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmad_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmad_vsvvvl
+ .param_str = "V256dLUiV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmad_vvsvMvl
+ .param_str = "V256dV256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmad_vvsvl
+ .param_str = "V256dV256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmad_vvsvvl
+ .param_str = "V256dV256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmad_vvvvMvl
+ .param_str = "V256dV256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmad_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmad_vvvvvl
+ .param_str = "V256dV256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmax_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmax_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmax_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmax_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmax_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmax_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmin_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmin_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmin_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmin_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmin_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmin_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkaf_Ml
+ .param_str = "V512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkat_Ml
+ .param_str = "V512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkseq_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkseq_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkseqnan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkseqnan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksge_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksge_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksgenan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksgenan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksgt_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksgt_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksgtnan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksgtnan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksle_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksle_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslenan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslenan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksloeq_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksloeq_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksloeqnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksloeqnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksloge_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksloge_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslogenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslogenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslogt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslogt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslogtnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslogtnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslole_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslole_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslolenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslolenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslolt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslolt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksloltnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksloltnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslonan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslonan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslone_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslone_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslonenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslonenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslonum_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslonum_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslt_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkslt_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksltnan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksltnan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksnan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksnan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksne_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksne_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksnenan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksnenan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksnum_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksnum_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupeq_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupeq_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupeqnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupeqnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupge_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupge_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupgenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupgenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupgt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupgt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupgtnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupgtnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksuple_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksuple_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksuplenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksuplenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksuplt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksuplt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupltnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupltnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupne_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupne_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupnenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupnenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupnum_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmksupnum_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkweq_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkweq_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkweqnan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkweqnan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwge_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwge_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwgenan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwgenan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwgt_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwgt_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwgtnan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwgtnan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwle_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwle_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlenan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlenan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwloeq_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwloeq_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwloeqnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwloeqnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwloge_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwloge_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlogenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlogenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlogt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlogt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlogtnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlogtnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlole_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlole_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlolenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlolenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlolt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlolt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwloltnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwloltnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlonan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlonan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlone_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlone_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlonenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlonenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlonum_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlonum_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlt_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwlt_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwltnan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwltnan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwnan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwnan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwne_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwne_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwnenan_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwnenan_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwnum_MvMl
+ .param_str = "V512bV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwnum_Mvl
+ .param_str = "V512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupeq_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupeq_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupeqnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupeqnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupge_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupge_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupgenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupgenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupgt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupgt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupgtnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupgtnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwuple_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwuple_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwuplenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwuplenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwuplt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwuplt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupltnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupltnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupne_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupne_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupnenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupnenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupnum_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmkwupnum_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmsb_vsvvMvl
+ .param_str = "V256dLUiV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmsb_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmsb_vsvvvl
+ .param_str = "V256dLUiV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmsb_vvsvMvl
+ .param_str = "V256dV256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmsb_vvsvl
+ .param_str = "V256dV256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmsb_vvsvvl
+ .param_str = "V256dV256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmsb_vvvvMvl
+ .param_str = "V256dV256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmsb_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmsb_vvvvvl
+ .param_str = "V256dV256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmul_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmul_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmul_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmul_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmul_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfmul_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmad_vsvvMvl
+ .param_str = "V256dLUiV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmad_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmad_vsvvvl
+ .param_str = "V256dLUiV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmad_vvsvMvl
+ .param_str = "V256dV256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmad_vvsvl
+ .param_str = "V256dV256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmad_vvsvvl
+ .param_str = "V256dV256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmad_vvvvMvl
+ .param_str = "V256dV256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmad_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmad_vvvvvl
+ .param_str = "V256dV256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmsb_vsvvMvl
+ .param_str = "V256dLUiV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmsb_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmsb_vsvvvl
+ .param_str = "V256dLUiV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmsb_vvsvMvl
+ .param_str = "V256dV256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmsb_vvsvl
+ .param_str = "V256dV256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmsb_vvsvvl
+ .param_str = "V256dV256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmsb_vvvvMvl
+ .param_str = "V256dV256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmsb_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfnmsb_vvvvvl
+ .param_str = "V256dV256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfsub_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfsub_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfsub_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfsub_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfsub_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvfsub_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvldz_vvMvl
+ .param_str = "V256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvldz_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvldz_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvldzlo_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvldzlo_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvldzlo_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvldzup_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvldzup_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvldzup_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvmaxs_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvmaxs_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvmaxs_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvmaxs_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvmaxs_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvmaxs_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvmins_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvmins_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvmins_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvmins_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvmins_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvmins_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvor_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvor_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvor_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvor_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvor_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvor_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvpcnt_vvMvl
+ .param_str = "V256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvpcnt_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvpcnt_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvpcntlo_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvpcntlo_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvpcntlo_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvpcntup_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvpcntup_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvpcntup_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvrcp_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvrcp_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvrsqrt_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvrsqrt_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvrsqrtnex_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvrsqrtnex_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvseq_vl
+ .param_str = "V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvseq_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvseqlo_vl
+ .param_str = "V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvseqlo_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsequp_vl
+ .param_str = "V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsequp_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsla_vvsMvl
+ .param_str = "V256dV256dLUiV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsla_vvsl
+ .param_str = "V256dV256dLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsla_vvsvl
+ .param_str = "V256dV256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsla_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsla_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsla_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsll_vvsMvl
+ .param_str = "V256dV256dLUiV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsll_vvsl
+ .param_str = "V256dV256dLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsll_vvsvl
+ .param_str = "V256dV256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsll_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsll_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsll_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsra_vvsMvl
+ .param_str = "V256dV256dLUiV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsra_vvsl
+ .param_str = "V256dV256dLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsra_vvsvl
+ .param_str = "V256dV256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsra_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsra_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsra_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsrl_vvsMvl
+ .param_str = "V256dV256dLUiV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsrl_vvsl
+ .param_str = "V256dV256dLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsrl_vvsvl
+ .param_str = "V256dV256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsrl_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsrl_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsrl_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsubs_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsubs_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsubs_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsubs_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsubs_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsubs_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsubu_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsubu_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsubu_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsubu_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsubu_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvsubu_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvxor_vsvMvl
+ .param_str = "V256dLUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvxor_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvxor_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvxor_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvxor_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_pvxor_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_scr_sss
+ .param_str = "vLUiLUiLUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_svm_sMs
+ .param_str = "LUiV512bLUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_svm_sms
+ .param_str = "LUiV256bLUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_svob
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_tovm_sml
+ .param_str = "LUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_tscr_ssss
+ .param_str = "LUiLUiLUiLUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddsl_vsvl
+ .param_str = "V256dLiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddsl_vsvmvl
+ .param_str = "V256dLiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddsl_vsvvl
+ .param_str = "V256dLiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddsl_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddsl_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddsl_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddswsx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddswsx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddswsx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddswsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddswsx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddswsx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddswzx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddswzx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddswzx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddswzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddswzx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddswzx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddul_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddul_vsvmvl
+ .param_str = "V256dLUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddul_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddul_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddul_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vaddul_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vadduw_vsvl
+ .param_str = "V256dUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vadduw_vsvmvl
+ .param_str = "V256dUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vadduw_vsvvl
+ .param_str = "V256dUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vadduw_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vadduw_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vadduw_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vand_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vand_vsvmvl
+ .param_str = "V256dLUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vand_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vand_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vand_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vand_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrdd_vsl
+ .param_str = "V256ddUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrdd_vsmvl
+ .param_str = "V256ddV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrdd_vsvl
+ .param_str = "V256ddV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrdl_vsl
+ .param_str = "V256dLiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrdl_vsmvl
+ .param_str = "V256dLiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrdl_vsvl
+ .param_str = "V256dLiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrds_vsl
+ .param_str = "V256dfUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrds_vsmvl
+ .param_str = "V256dfV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrds_vsvl
+ .param_str = "V256dfV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrdw_vsl
+ .param_str = "V256diUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrdw_vsmvl
+ .param_str = "V256diV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrdw_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrv_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrv_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vbrv_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpsl_vsvl
+ .param_str = "V256dLiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpsl_vsvmvl
+ .param_str = "V256dLiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpsl_vsvvl
+ .param_str = "V256dLiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpsl_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpsl_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpsl_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpswsx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpswsx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpswsx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpswsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpswsx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpswsx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpswzx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpswzx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpswzx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpswzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpswzx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpswzx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpul_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpul_vsvmvl
+ .param_str = "V256dLUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpul_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpul_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpul_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpul_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpuw_vsvl
+ .param_str = "V256dUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpuw_vsvmvl
+ .param_str = "V256dUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpuw_vsvvl
+ .param_str = "V256dUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpuw_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpuw_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcmpuw_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcp_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtdl_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtdl_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtds_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtds_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtdw_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtdw_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtld_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtld_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtld_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtldrz_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtldrz_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtldrz_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtsd_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtsd_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtsw_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtsw_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwdsx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwdsx_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwdsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwdsxrz_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwdsxrz_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwdsxrz_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwdzx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwdzx_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwdzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwdzxrz_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwdzxrz_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwdzxrz_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwssx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwssx_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwssx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwssxrz_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwssxrz_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwssxrz_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwszx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwszx_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwszx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwszxrz_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwszxrz_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vcvtwszxrz_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivsl_vsvl
+ .param_str = "V256dLiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivsl_vsvmvl
+ .param_str = "V256dLiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivsl_vsvvl
+ .param_str = "V256dLiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivsl_vvsl
+ .param_str = "V256dV256dLiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivsl_vvsmvl
+ .param_str = "V256dV256dLiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivsl_vvsvl
+ .param_str = "V256dV256dLiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivsl_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivsl_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivsl_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswsx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswsx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswsx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswsx_vvsl
+ .param_str = "V256dV256diUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswsx_vvsmvl
+ .param_str = "V256dV256diV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswsx_vvsvl
+ .param_str = "V256dV256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswsx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswsx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswzx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswzx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswzx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswzx_vvsl
+ .param_str = "V256dV256diUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswzx_vvsmvl
+ .param_str = "V256dV256diV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswzx_vvsvl
+ .param_str = "V256dV256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswzx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivswzx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivul_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivul_vsvmvl
+ .param_str = "V256dLUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivul_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivul_vvsl
+ .param_str = "V256dV256dLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivul_vvsmvl
+ .param_str = "V256dV256dLUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivul_vvsvl
+ .param_str = "V256dV256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivul_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivul_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivul_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivuw_vsvl
+ .param_str = "V256dUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivuw_vsvmvl
+ .param_str = "V256dUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivuw_vsvvl
+ .param_str = "V256dUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivuw_vvsl
+ .param_str = "V256dV256dUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivuw_vvsmvl
+ .param_str = "V256dV256dUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivuw_vvsvl
+ .param_str = "V256dV256dUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivuw_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivuw_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vdivuw_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_veqv_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_veqv_vsvmvl
+ .param_str = "V256dLUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_veqv_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_veqv_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_veqv_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_veqv_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vex_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfaddd_vsvl
+ .param_str = "V256ddV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfaddd_vsvmvl
+ .param_str = "V256ddV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfaddd_vsvvl
+ .param_str = "V256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfaddd_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfaddd_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfaddd_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfadds_vsvl
+ .param_str = "V256dfV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfadds_vsvmvl
+ .param_str = "V256dfV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfadds_vsvvl
+ .param_str = "V256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfadds_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfadds_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfadds_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfcmpd_vsvl
+ .param_str = "V256ddV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfcmpd_vsvmvl
+ .param_str = "V256ddV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfcmpd_vsvvl
+ .param_str = "V256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfcmpd_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfcmpd_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfcmpd_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfcmps_vsvl
+ .param_str = "V256dfV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfcmps_vsvmvl
+ .param_str = "V256dfV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfcmps_vsvvl
+ .param_str = "V256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfcmps_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfcmps_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfcmps_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfdivd_vsvl
+ .param_str = "V256ddV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfdivd_vsvmvl
+ .param_str = "V256ddV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfdivd_vsvvl
+ .param_str = "V256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfdivd_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfdivd_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfdivd_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfdivs_vsvl
+ .param_str = "V256dfV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfdivs_vsvmvl
+ .param_str = "V256dfV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfdivs_vsvvl
+ .param_str = "V256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfdivs_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfdivs_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfdivs_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmadd_vsvvl
+ .param_str = "V256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmadd_vsvvmvl
+ .param_str = "V256ddV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmadd_vsvvvl
+ .param_str = "V256ddV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmadd_vvsvl
+ .param_str = "V256dV256ddV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmadd_vvsvmvl
+ .param_str = "V256dV256ddV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmadd_vvsvvl
+ .param_str = "V256dV256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmadd_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmadd_vvvvmvl
+ .param_str = "V256dV256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmadd_vvvvvl
+ .param_str = "V256dV256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmads_vsvvl
+ .param_str = "V256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmads_vsvvmvl
+ .param_str = "V256dfV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmads_vsvvvl
+ .param_str = "V256dfV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmads_vvsvl
+ .param_str = "V256dV256dfV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmads_vvsvmvl
+ .param_str = "V256dV256dfV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmads_vvsvvl
+ .param_str = "V256dV256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmads_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmads_vvvvmvl
+ .param_str = "V256dV256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmads_vvvvvl
+ .param_str = "V256dV256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmaxd_vsvl
+ .param_str = "V256ddV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmaxd_vsvmvl
+ .param_str = "V256ddV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmaxd_vsvvl
+ .param_str = "V256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmaxd_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmaxd_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmaxd_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmaxs_vsvl
+ .param_str = "V256dfV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmaxs_vsvmvl
+ .param_str = "V256dfV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmaxs_vsvvl
+ .param_str = "V256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmaxs_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmaxs_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmaxs_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmind_vsvl
+ .param_str = "V256ddV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmind_vsvmvl
+ .param_str = "V256ddV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmind_vsvvl
+ .param_str = "V256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmind_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmind_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmind_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmins_vsvl
+ .param_str = "V256dfV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmins_vsvmvl
+ .param_str = "V256dfV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmins_vsvvl
+ .param_str = "V256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmins_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmins_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmins_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdeq_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdeq_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdeqnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdeqnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdge_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdge_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdgenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdgenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdgt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdgt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdgtnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdgtnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdle_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdle_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdlenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdlenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdlt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdlt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdltnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdltnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdne_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdne_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdnenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdnenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdnum_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkdnum_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklaf_ml
+ .param_str = "V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklat_ml
+ .param_str = "V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkleq_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkleq_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkleqnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkleqnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklge_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklge_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklgenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklgenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklgt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklgt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklgtnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklgtnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklle_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklle_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkllenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkllenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkllt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkllt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklltnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklltnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklne_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklne_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklnenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklnenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklnum_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmklnum_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkseq_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkseq_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkseqnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkseqnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksge_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksge_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksgenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksgenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksgt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksgt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksgtnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksgtnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksle_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksle_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkslenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkslenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkslt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkslt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksltnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksltnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksne_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksne_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksnenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksnenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksnum_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmksnum_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkweq_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkweq_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkweqnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkweqnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwge_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwge_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwgenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwgenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwgt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwgt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwgtnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwgtnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwle_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwle_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwlenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwlenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwlt_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwlt_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwltnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwltnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwnan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwnan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwne_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwne_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwnenan_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwnenan_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwnum_mvl
+ .param_str = "V256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmkwnum_mvml
+ .param_str = "V256bV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbd_vsvvl
+ .param_str = "V256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbd_vsvvmvl
+ .param_str = "V256ddV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbd_vsvvvl
+ .param_str = "V256ddV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbd_vvsvl
+ .param_str = "V256dV256ddV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbd_vvsvmvl
+ .param_str = "V256dV256ddV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbd_vvsvvl
+ .param_str = "V256dV256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbd_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbd_vvvvmvl
+ .param_str = "V256dV256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbd_vvvvvl
+ .param_str = "V256dV256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbs_vsvvl
+ .param_str = "V256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbs_vsvvmvl
+ .param_str = "V256dfV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbs_vsvvvl
+ .param_str = "V256dfV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbs_vvsvl
+ .param_str = "V256dV256dfV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbs_vvsvmvl
+ .param_str = "V256dV256dfV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbs_vvsvvl
+ .param_str = "V256dV256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbs_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbs_vvvvmvl
+ .param_str = "V256dV256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmsbs_vvvvvl
+ .param_str = "V256dV256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmuld_vsvl
+ .param_str = "V256ddV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmuld_vsvmvl
+ .param_str = "V256ddV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmuld_vsvvl
+ .param_str = "V256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmuld_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmuld_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmuld_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmuls_vsvl
+ .param_str = "V256dfV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmuls_vsvmvl
+ .param_str = "V256dfV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmuls_vsvvl
+ .param_str = "V256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmuls_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmuls_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfmuls_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmadd_vsvvl
+ .param_str = "V256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmadd_vsvvmvl
+ .param_str = "V256ddV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmadd_vsvvvl
+ .param_str = "V256ddV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmadd_vvsvl
+ .param_str = "V256dV256ddV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmadd_vvsvmvl
+ .param_str = "V256dV256ddV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmadd_vvsvvl
+ .param_str = "V256dV256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmadd_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmadd_vvvvmvl
+ .param_str = "V256dV256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmadd_vvvvvl
+ .param_str = "V256dV256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmads_vsvvl
+ .param_str = "V256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmads_vsvvmvl
+ .param_str = "V256dfV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmads_vsvvvl
+ .param_str = "V256dfV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmads_vvsvl
+ .param_str = "V256dV256dfV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmads_vvsvmvl
+ .param_str = "V256dV256dfV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmads_vvsvvl
+ .param_str = "V256dV256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmads_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmads_vvvvmvl
+ .param_str = "V256dV256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmads_vvvvvl
+ .param_str = "V256dV256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbd_vsvvl
+ .param_str = "V256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbd_vsvvmvl
+ .param_str = "V256ddV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbd_vsvvvl
+ .param_str = "V256ddV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbd_vvsvl
+ .param_str = "V256dV256ddV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbd_vvsvmvl
+ .param_str = "V256dV256ddV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbd_vvsvvl
+ .param_str = "V256dV256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbd_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbd_vvvvmvl
+ .param_str = "V256dV256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbd_vvvvvl
+ .param_str = "V256dV256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbs_vsvvl
+ .param_str = "V256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbs_vsvvmvl
+ .param_str = "V256dfV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbs_vsvvvl
+ .param_str = "V256dfV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbs_vvsvl
+ .param_str = "V256dV256dfV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbs_vvsvmvl
+ .param_str = "V256dV256dfV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbs_vvsvvl
+ .param_str = "V256dV256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbs_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbs_vvvvmvl
+ .param_str = "V256dV256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfnmsbs_vvvvvl
+ .param_str = "V256dV256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrmaxdfst_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrmaxdfst_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrmaxdlst_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrmaxdlst_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrmaxsfst_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrmaxsfst_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrmaxslst_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrmaxslst_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrmindfst_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrmindfst_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrmindlst_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrmindlst_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrminsfst_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrminsfst_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrminslst_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfrminslst_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsqrtd_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsqrtd_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsqrts_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsqrts_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsubd_vsvl
+ .param_str = "V256ddV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsubd_vsvmvl
+ .param_str = "V256ddV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsubd_vsvvl
+ .param_str = "V256ddV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsubd_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsubd_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsubd_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsubs_vsvl
+ .param_str = "V256dfV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsubs_vsvmvl
+ .param_str = "V256dfV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsubs_vsvvl
+ .param_str = "V256dfV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsubs_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsubs_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsubs_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsumd_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsumd_vvml
+ .param_str = "V256dV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsums_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vfsums_vvml
+ .param_str = "V256dV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgt_vvssl
+ .param_str = "V256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgt_vvssml
+ .param_str = "V256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgt_vvssmvl
+ .param_str = "V256dV256dLUiLUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgt_vvssvl
+ .param_str = "V256dV256dLUiLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlsx_vvssl
+ .param_str = "V256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlsx_vvssml
+ .param_str = "V256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlsx_vvssmvl
+ .param_str = "V256dV256dLUiLUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlsx_vvssvl
+ .param_str = "V256dV256dLUiLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlsxnc_vvssl
+ .param_str = "V256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlsxnc_vvssml
+ .param_str = "V256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlsxnc_vvssmvl
+ .param_str = "V256dV256dLUiLUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlsxnc_vvssvl
+ .param_str = "V256dV256dLUiLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlzx_vvssl
+ .param_str = "V256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlzx_vvssml
+ .param_str = "V256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlzx_vvssmvl
+ .param_str = "V256dV256dLUiLUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlzx_vvssvl
+ .param_str = "V256dV256dLUiLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlzxnc_vvssl
+ .param_str = "V256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlzxnc_vvssml
+ .param_str = "V256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlzxnc_vvssmvl
+ .param_str = "V256dV256dLUiLUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtlzxnc_vvssvl
+ .param_str = "V256dV256dLUiLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtnc_vvssl
+ .param_str = "V256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtnc_vvssml
+ .param_str = "V256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtnc_vvssmvl
+ .param_str = "V256dV256dLUiLUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtnc_vvssvl
+ .param_str = "V256dV256dLUiLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtu_vvssl
+ .param_str = "V256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtu_vvssml
+ .param_str = "V256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtu_vvssmvl
+ .param_str = "V256dV256dLUiLUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtu_vvssvl
+ .param_str = "V256dV256dLUiLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtunc_vvssl
+ .param_str = "V256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtunc_vvssml
+ .param_str = "V256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtunc_vvssmvl
+ .param_str = "V256dV256dLUiLUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vgtunc_vvssvl
+ .param_str = "V256dV256dLUiLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vld2d_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vld2d_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vld2dnc_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vld2dnc_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vld_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vld_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldl2dsx_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldl2dsx_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldl2dsxnc_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldl2dsxnc_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldl2dzx_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldl2dzx_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldl2dzxnc_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldl2dzxnc_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldlsx_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldlsx_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldlsxnc_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldlsxnc_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldlzx_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldlzx_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldlzxnc_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldlzxnc_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldnc_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldnc_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldu2d_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldu2d_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldu2dnc_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldu2dnc_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldu_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldu_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldunc_vssl
+ .param_str = "V256dLUivC*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldunc_vssvl
+ .param_str = "V256dLUivC*V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldz_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldz_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vldz_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxsl_vsvl
+ .param_str = "V256dLiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxsl_vsvmvl
+ .param_str = "V256dLiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxsl_vsvvl
+ .param_str = "V256dLiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxsl_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxsl_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxsl_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxswsx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxswsx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxswsx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxswsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxswsx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxswsx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxswzx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxswzx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxswzx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxswzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxswzx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmaxswzx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminsl_vsvl
+ .param_str = "V256dLiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminsl_vsvmvl
+ .param_str = "V256dLiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminsl_vsvvl
+ .param_str = "V256dLiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminsl_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminsl_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminsl_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminswsx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminswsx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminswsx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminswsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminswsx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminswsx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminswzx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminswzx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminswzx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminswzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminswzx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vminswzx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmrg_vsvml
+ .param_str = "V256dLUiV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmrg_vsvmvl
+ .param_str = "V256dLUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmrg_vvvml
+ .param_str = "V256dV256dV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmrg_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmrgw_vsvMl
+ .param_str = "V256dUiV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmrgw_vsvMvl
+ .param_str = "V256dUiV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmrgw_vvvMl
+ .param_str = "V256dV256dV256dV512bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmrgw_vvvMvl
+ .param_str = "V256dV256dV256dV512bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulsl_vsvl
+ .param_str = "V256dLiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulsl_vsvmvl
+ .param_str = "V256dLiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulsl_vsvvl
+ .param_str = "V256dLiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulsl_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulsl_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulsl_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulslw_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulslw_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulslw_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulslw_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulswsx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulswsx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulswsx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulswsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulswsx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulswsx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulswzx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulswzx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulswzx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulswzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulswzx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulswzx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulul_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulul_vsvmvl
+ .param_str = "V256dLUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulul_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulul_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulul_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmulul_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmuluw_vsvl
+ .param_str = "V256dUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmuluw_vsvmvl
+ .param_str = "V256dUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmuluw_vsvvl
+ .param_str = "V256dUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmuluw_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmuluw_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmuluw_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmv_vsvl
+ .param_str = "V256dUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmv_vsvmvl
+ .param_str = "V256dUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vmv_vsvvl
+ .param_str = "V256dUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vor_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vor_vsvmvl
+ .param_str = "V256dLUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vor_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vor_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vor_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vor_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vpcnt_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vpcnt_vvmvl
+ .param_str = "V256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vpcnt_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrand_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrand_vvml
+ .param_str = "V256dV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrcpd_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrcpd_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrcps_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrcps_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrmaxslfst_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrmaxslfst_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrmaxsllst_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrmaxsllst_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrmaxswfstsx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrmaxswfstsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrmaxswfstzx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrmaxswfstzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrmaxswlstsx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrmaxswlstsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrmaxswlstzx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrmaxswlstzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrminslfst_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrminslfst_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrminsllst_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrminsllst_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrminswfstsx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrminswfstsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrminswfstzx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrminswfstzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrminswlstsx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrminswlstsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrminswlstzx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrminswlstzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vror_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vror_vvml
+ .param_str = "V256dV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrsqrtd_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrsqrtd_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrsqrtdnex_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrsqrtdnex_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrsqrts_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrsqrts_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrsqrtsnex_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrsqrtsnex_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrxor_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vrxor_vvml
+ .param_str = "V256dV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsc_vvssl
+ .param_str = "vV256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsc_vvssml
+ .param_str = "vV256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscl_vvssl
+ .param_str = "vV256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscl_vvssml
+ .param_str = "vV256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsclnc_vvssl
+ .param_str = "vV256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsclnc_vvssml
+ .param_str = "vV256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsclncot_vvssl
+ .param_str = "vV256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsclncot_vvssml
+ .param_str = "vV256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsclot_vvssl
+ .param_str = "vV256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsclot_vvssml
+ .param_str = "vV256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscnc_vvssl
+ .param_str = "vV256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscnc_vvssml
+ .param_str = "vV256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscncot_vvssl
+ .param_str = "vV256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscncot_vvssml
+ .param_str = "vV256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscot_vvssl
+ .param_str = "vV256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscot_vvssml
+ .param_str = "vV256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscu_vvssl
+ .param_str = "vV256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscu_vvssml
+ .param_str = "vV256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscunc_vvssl
+ .param_str = "vV256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscunc_vvssml
+ .param_str = "vV256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscuncot_vvssl
+ .param_str = "vV256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscuncot_vvssml
+ .param_str = "vV256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscuot_vvssl
+ .param_str = "vV256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vscuot_vvssml
+ .param_str = "vV256dV256dLUiLUiV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vseq_vl
+ .param_str = "V256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vseq_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsfa_vvssl
+ .param_str = "V256dV256dLUiLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsfa_vvssmvl
+ .param_str = "V256dV256dLUiLUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsfa_vvssvl
+ .param_str = "V256dV256dLUiLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vshf_vvvsl
+ .param_str = "V256dV256dV256dLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vshf_vvvsvl
+ .param_str = "V256dV256dV256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslal_vvsl
+ .param_str = "V256dV256dLiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslal_vvsmvl
+ .param_str = "V256dV256dLiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslal_vvsvl
+ .param_str = "V256dV256dLiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslal_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslal_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslal_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslawsx_vvsl
+ .param_str = "V256dV256diUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslawsx_vvsmvl
+ .param_str = "V256dV256diV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslawsx_vvsvl
+ .param_str = "V256dV256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslawsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslawsx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslawsx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslawzx_vvsl
+ .param_str = "V256dV256diUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslawzx_vvsmvl
+ .param_str = "V256dV256diV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslawzx_vvsvl
+ .param_str = "V256dV256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslawzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslawzx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vslawzx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsll_vvsl
+ .param_str = "V256dV256dLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsll_vvsmvl
+ .param_str = "V256dV256dLUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsll_vvsvl
+ .param_str = "V256dV256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsll_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsll_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsll_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsral_vvsl
+ .param_str = "V256dV256dLiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsral_vvsmvl
+ .param_str = "V256dV256dLiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsral_vvsvl
+ .param_str = "V256dV256dLiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsral_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsral_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsral_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrawsx_vvsl
+ .param_str = "V256dV256diUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrawsx_vvsmvl
+ .param_str = "V256dV256diV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrawsx_vvsvl
+ .param_str = "V256dV256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrawsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrawsx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrawsx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrawzx_vvsl
+ .param_str = "V256dV256diUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrawzx_vvsmvl
+ .param_str = "V256dV256diV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrawzx_vvsvl
+ .param_str = "V256dV256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrawzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrawzx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrawzx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrl_vvsl
+ .param_str = "V256dV256dLUiUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrl_vvsmvl
+ .param_str = "V256dV256dLUiV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrl_vvsvl
+ .param_str = "V256dV256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrl_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrl_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsrl_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vst2d_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vst2d_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vst2dnc_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vst2dnc_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vst2dncot_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vst2dncot_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vst2dot_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vst2dot_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vst_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vst_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstl2d_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstl2d_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstl2dnc_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstl2dnc_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstl2dncot_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstl2dncot_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstl2dot_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstl2dot_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstl_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstl_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstlnc_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstlnc_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstlncot_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstlncot_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstlot_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstlot_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstnc_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstnc_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstncot_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstncot_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstot_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstot_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstu2d_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstu2d_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstu2dnc_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstu2dnc_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstu2dncot_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstu2dncot_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstu2dot_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstu2dot_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstu_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstu_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstunc_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstunc_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstuncot_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstuncot_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstuot_vssl
+ .param_str = "vV256dLUiv*Ui"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vstuot_vssml
+ .param_str = "vV256dLUiv*V256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubsl_vsvl
+ .param_str = "V256dLiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubsl_vsvmvl
+ .param_str = "V256dLiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubsl_vsvvl
+ .param_str = "V256dLiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubsl_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubsl_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubsl_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubswsx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubswsx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubswsx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubswsx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubswsx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubswsx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubswzx_vsvl
+ .param_str = "V256diV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubswzx_vsvmvl
+ .param_str = "V256diV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubswzx_vsvvl
+ .param_str = "V256diV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubswzx_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubswzx_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubswzx_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubul_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubul_vsvmvl
+ .param_str = "V256dLUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubul_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubul_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubul_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubul_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubuw_vsvl
+ .param_str = "V256dUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubuw_vsvmvl
+ .param_str = "V256dUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubuw_vsvvl
+ .param_str = "V256dUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubuw_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubuw_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsubuw_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsuml_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsuml_vvml
+ .param_str = "V256dV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsumwsx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsumwsx_vvml
+ .param_str = "V256dV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsumwzx_vvl
+ .param_str = "V256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vsumwzx_vvml
+ .param_str = "V256dV256dV256bUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vxor_vsvl
+ .param_str = "V256dLUiV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vxor_vsvmvl
+ .param_str = "V256dLUiV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vxor_vsvvl
+ .param_str = "V256dLUiV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vxor_vvvl
+ .param_str = "V256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vxor_vvvmvl
+ .param_str = "V256dV256dV256dV256bV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_vxor_vvvvl
+ .param_str = "V256dV256dV256dV256dUi"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_xorm_MMM
+ .param_str = "V512bV512bV512b"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_ve_vl_xorm_mmm
+ .param_str = "V256bV256bV256b"
+ .target_set = TargetSet.initOne(.vevl_gen)
+
+__builtin_vfprintf
+ .param_str = "iP*RcC*Ra"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 1 }
+
+__builtin_vfscanf
+ .param_str = "iP*RcC*Ra"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vscanf, .format_string_position = 1 }
+
+__builtin_vprintf
+ .param_str = "icC*Ra"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf }
+
+__builtin_vscanf
+ .param_str = "icC*Ra"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vscanf }
+
+__builtin_vsnprintf
+ .param_str = "ic*RzcC*Ra"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 2 }
+
+__builtin_vsprintf
+ .param_str = "ic*RcC*Ra"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vprintf, .format_string_position = 1 }
+
+__builtin_vsscanf
+ .param_str = "icC*RcC*Ra"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .format_kind = .vscanf, .format_string_position = 1 }
+
+__builtin_wasm_max_f32
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.webassembly)
+ .attributes = .{ .@"const" = true }
+
+__builtin_wasm_max_f64
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.webassembly)
+ .attributes = .{ .@"const" = true }
+
+__builtin_wasm_memory_grow
+ .param_str = "zIiz"
+ .target_set = TargetSet.initOne(.webassembly)
+
+__builtin_wasm_memory_size
+ .param_str = "zIi"
+ .target_set = TargetSet.initOne(.webassembly)
+
+__builtin_wasm_min_f32
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.webassembly)
+ .attributes = .{ .@"const" = true }
+
+__builtin_wasm_min_f64
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.webassembly)
+ .attributes = .{ .@"const" = true }
+
+__builtin_wasm_trunc_s_i32_f32
+ .param_str = "if"
+ .target_set = TargetSet.initOne(.webassembly)
+ .attributes = .{ .@"const" = true }
+
+__builtin_wasm_trunc_s_i32_f64
+ .param_str = "id"
+ .target_set = TargetSet.initOne(.webassembly)
+ .attributes = .{ .@"const" = true }
+
+__builtin_wasm_trunc_s_i64_f32
+ .param_str = "LLif"
+ .target_set = TargetSet.initOne(.webassembly)
+ .attributes = .{ .@"const" = true }
+
+__builtin_wasm_trunc_s_i64_f64
+ .param_str = "LLid"
+ .target_set = TargetSet.initOne(.webassembly)
+ .attributes = .{ .@"const" = true }
+
+__builtin_wasm_trunc_u_i32_f32
+ .param_str = "if"
+ .target_set = TargetSet.initOne(.webassembly)
+ .attributes = .{ .@"const" = true }
+
+__builtin_wasm_trunc_u_i32_f64
+ .param_str = "id"
+ .target_set = TargetSet.initOne(.webassembly)
+ .attributes = .{ .@"const" = true }
+
+__builtin_wasm_trunc_u_i64_f32
+ .param_str = "LLif"
+ .target_set = TargetSet.initOne(.webassembly)
+ .attributes = .{ .@"const" = true }
+
+__builtin_wasm_trunc_u_i64_f64
+ .param_str = "LLid"
+ .target_set = TargetSet.initOne(.webassembly)
+ .attributes = .{ .@"const" = true }
+
+__builtin_wcschr
+ .param_str = "w*wC*w"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_wcscmp
+ .param_str = "iwC*wC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_wcslen
+ .param_str = "zwC*"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_wcsncmp
+ .param_str = "iwC*wC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_wmemchr
+ .param_str = "w*wC*wz"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_wmemcmp
+ .param_str = "iwC*wC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_wmemcpy
+ .param_str = "w*w*wC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__builtin_wmemmove
+ .param_str = "w*w*wC*z"
+ .attributes = .{ .lib_function_with_builtin_prefix = true, .const_evaluable = true }
+
+__c11_atomic_is_lock_free
+ .param_str = "bz"
+ .attributes = .{ .const_evaluable = true }
+
+__c11_atomic_signal_fence
+ .param_str = "vi"
+
+__c11_atomic_thread_fence
+ .param_str = "vi"
+
+__clear_cache
+ .param_str = "vv*v*"
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+__cospi
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__cospif
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__debugbreak
+ .param_str = "v"
+ .language = .all_ms_languages
+
+__dmb
+ .param_str = "vUi"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__dsb
+ .param_str = "vUi"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__emit
+ .param_str = "vIUiC"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initOne(.arm)
+
+__exception_code
+ .param_str = "UNi"
+ .language = .all_ms_languages
+
+__exception_info
+ .param_str = "v*"
+ .language = .all_ms_languages
+
+__exp10
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__exp10f
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__fastfail
+ .param_str = "vUi"
+ .language = .all_ms_languages
+ .attributes = .{ .noreturn = true }
+
+__finite
+ .param_str = "id"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+__finitef
+ .param_str = "if"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+__finitel
+ .param_str = "iLd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+__isb
+ .param_str = "vUi"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+ .attributes = .{ .@"const" = true }
+
+__iso_volatile_load16
+ .param_str = "ssCD*"
+ .language = .all_ms_languages
+
+__iso_volatile_load32
+ .param_str = "iiCD*"
+ .language = .all_ms_languages
+
+__iso_volatile_load64
+ .param_str = "LLiLLiCD*"
+ .language = .all_ms_languages
+
+__iso_volatile_load8
+ .param_str = "ccCD*"
+ .language = .all_ms_languages
+
+__iso_volatile_store16
+ .param_str = "vsD*s"
+ .language = .all_ms_languages
+
+__iso_volatile_store32
+ .param_str = "viD*i"
+ .language = .all_ms_languages
+
+__iso_volatile_store64
+ .param_str = "vLLiD*LLi"
+ .language = .all_ms_languages
+
+__iso_volatile_store8
+ .param_str = "vcD*c"
+ .language = .all_ms_languages
+
+__ldrexd
+ .param_str = "WiWiCD*"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initOne(.arm)
+
+__lzcnt
+ .param_str = "UiUi"
+ .language = .all_ms_languages
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__lzcnt16
+ .param_str = "UsUs"
+ .language = .all_ms_languages
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__lzcnt64
+ .param_str = "UWiUWi"
+ .language = .all_ms_languages
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__noop
+ .param_str = "i."
+ .language = .all_ms_languages
+
+__nvvm_add_rm_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_add_rm_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_add_rm_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_add_rn_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_add_rn_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_add_rn_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_add_rp_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_add_rp_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_add_rp_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_add_rz_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_add_rz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_add_rz_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_add_gen_f
+ .param_str = "ffD*f"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_add_gen_i
+ .param_str = "iiD*i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_add_gen_l
+ .param_str = "LiLiD*Li"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_add_gen_ll
+ .param_str = "LLiLLiD*LLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_and_gen_i
+ .param_str = "iiD*i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_and_gen_l
+ .param_str = "LiLiD*Li"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_and_gen_ll
+ .param_str = "LLiLLiD*LLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_cas_gen_i
+ .param_str = "iiD*ii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_cas_gen_l
+ .param_str = "LiLiD*LiLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_cas_gen_ll
+ .param_str = "LLiLLiD*LLiLLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_dec_gen_ui
+ .param_str = "UiUiD*Ui"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_inc_gen_ui
+ .param_str = "UiUiD*Ui"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_max_gen_i
+ .param_str = "iiD*i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_max_gen_l
+ .param_str = "LiLiD*Li"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_max_gen_ll
+ .param_str = "LLiLLiD*LLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_max_gen_ui
+ .param_str = "UiUiD*Ui"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_max_gen_ul
+ .param_str = "ULiULiD*ULi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_max_gen_ull
+ .param_str = "ULLiULLiD*ULLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_min_gen_i
+ .param_str = "iiD*i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_min_gen_l
+ .param_str = "LiLiD*Li"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_min_gen_ll
+ .param_str = "LLiLLiD*LLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_min_gen_ui
+ .param_str = "UiUiD*Ui"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_min_gen_ul
+ .param_str = "ULiULiD*ULi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_min_gen_ull
+ .param_str = "ULLiULLiD*ULLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_or_gen_i
+ .param_str = "iiD*i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_or_gen_l
+ .param_str = "LiLiD*Li"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_or_gen_ll
+ .param_str = "LLiLLiD*LLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_sub_gen_i
+ .param_str = "iiD*i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_sub_gen_l
+ .param_str = "LiLiD*Li"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_sub_gen_ll
+ .param_str = "LLiLLiD*LLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_xchg_gen_i
+ .param_str = "iiD*i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_xchg_gen_l
+ .param_str = "LiLiD*Li"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_xchg_gen_ll
+ .param_str = "LLiLLiD*LLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_xor_gen_i
+ .param_str = "iiD*i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_xor_gen_l
+ .param_str = "LiLiD*Li"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_atom_xor_gen_ll
+ .param_str = "LLiLLiD*LLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_bar0_and
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_bar0_or
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_bar0_popc
+ .param_str = "ii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_bar_sync
+ .param_str = "vi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_bitcast_d2ll
+ .param_str = "LLid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_bitcast_f2i
+ .param_str = "if"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_bitcast_i2f
+ .param_str = "fi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_bitcast_ll2d
+ .param_str = "dLLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ceil_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ceil_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ceil_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_compiler_error
+ .param_str = "vcC*4"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_compiler_warn
+ .param_str = "vcC*4"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_cos_approx_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_cos_approx_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2f_rm
+ .param_str = "fd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2f_rm_ftz
+ .param_str = "fd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2f_rn
+ .param_str = "fd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2f_rn_ftz
+ .param_str = "fd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2f_rp
+ .param_str = "fd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2f_rp_ftz
+ .param_str = "fd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2f_rz
+ .param_str = "fd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2f_rz_ftz
+ .param_str = "fd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2i_hi
+ .param_str = "id"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2i_lo
+ .param_str = "id"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2i_rm
+ .param_str = "id"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2i_rn
+ .param_str = "id"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2i_rp
+ .param_str = "id"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2i_rz
+ .param_str = "id"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2ll_rm
+ .param_str = "LLid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2ll_rn
+ .param_str = "LLid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2ll_rp
+ .param_str = "LLid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2ll_rz
+ .param_str = "LLid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2ui_rm
+ .param_str = "Uid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2ui_rn
+ .param_str = "Uid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2ui_rp
+ .param_str = "Uid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2ui_rz
+ .param_str = "Uid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2ull_rm
+ .param_str = "ULLid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2ull_rn
+ .param_str = "ULLid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2ull_rp
+ .param_str = "ULLid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_d2ull_rz
+ .param_str = "ULLid"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_approx_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_approx_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_rm_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_rm_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_rm_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_rn_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_rn_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_rn_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_rp_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_rp_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_rp_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_rz_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_rz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_div_rz_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ex2_approx_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ex2_approx_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ex2_approx_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2h_rn
+ .param_str = "Usf"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2h_rn_ftz
+ .param_str = "Usf"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2i_rm
+ .param_str = "if"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2i_rm_ftz
+ .param_str = "if"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2i_rn
+ .param_str = "if"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2i_rn_ftz
+ .param_str = "if"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2i_rp
+ .param_str = "if"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2i_rp_ftz
+ .param_str = "if"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2i_rz
+ .param_str = "if"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2i_rz_ftz
+ .param_str = "if"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ll_rm
+ .param_str = "LLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ll_rm_ftz
+ .param_str = "LLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ll_rn
+ .param_str = "LLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ll_rn_ftz
+ .param_str = "LLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ll_rp
+ .param_str = "LLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ll_rp_ftz
+ .param_str = "LLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ll_rz
+ .param_str = "LLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ll_rz_ftz
+ .param_str = "LLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ui_rm
+ .param_str = "Uif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ui_rm_ftz
+ .param_str = "Uif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ui_rn
+ .param_str = "Uif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ui_rn_ftz
+ .param_str = "Uif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ui_rp
+ .param_str = "Uif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ui_rp_ftz
+ .param_str = "Uif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ui_rz
+ .param_str = "Uif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ui_rz_ftz
+ .param_str = "Uif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ull_rm
+ .param_str = "ULLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ull_rm_ftz
+ .param_str = "ULLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ull_rn
+ .param_str = "ULLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ull_rn_ftz
+ .param_str = "ULLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ull_rp
+ .param_str = "ULLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ull_rp_ftz
+ .param_str = "ULLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ull_rz
+ .param_str = "ULLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_f2ull_rz_ftz
+ .param_str = "ULLif"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fabs_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fabs_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fabs_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_floor_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_floor_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_floor_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fma_rm_d
+ .param_str = "dddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fma_rm_f
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fma_rm_ftz_f
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fma_rn_d
+ .param_str = "dddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fma_rn_f
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fma_rn_ftz_f
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fma_rp_d
+ .param_str = "dddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fma_rp_f
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fma_rp_ftz_f
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fma_rz_d
+ .param_str = "dddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fma_rz_f
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fma_rz_ftz_f
+ .param_str = "ffff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fmax_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fmax_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fmax_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fmin_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fmin_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_fmin_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_i2d_rm
+ .param_str = "di"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_i2d_rn
+ .param_str = "di"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_i2d_rp
+ .param_str = "di"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_i2d_rz
+ .param_str = "di"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_i2f_rm
+ .param_str = "fi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_i2f_rn
+ .param_str = "fi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_i2f_rp
+ .param_str = "fi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_i2f_rz
+ .param_str = "fi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_isspacep_const
+ .param_str = "bvC*"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_isspacep_global
+ .param_str = "bvC*"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_isspacep_local
+ .param_str = "bvC*"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_isspacep_shared
+ .param_str = "bvC*"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_ldg_c
+ .param_str = "ccC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_c2
+ .param_str = "E2cE2cC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_c4
+ .param_str = "E4cE4cC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_d
+ .param_str = "ddC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_d2
+ .param_str = "E2dE2dC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_f
+ .param_str = "ffC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_f2
+ .param_str = "E2fE2fC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_f4
+ .param_str = "E4fE4fC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_h
+ .param_str = "hhC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_h2
+ .param_str = "E2hE2hC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_i
+ .param_str = "iiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_i2
+ .param_str = "E2iE2iC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_i4
+ .param_str = "E4iE4iC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_l
+ .param_str = "LiLiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_l2
+ .param_str = "E2LiE2LiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_ll
+ .param_str = "LLiLLiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_ll2
+ .param_str = "E2LLiE2LLiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_s
+ .param_str = "ssC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_s2
+ .param_str = "E2sE2sC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_s4
+ .param_str = "E4sE4sC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_sc
+ .param_str = "ScScC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_sc2
+ .param_str = "E2ScE2ScC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_sc4
+ .param_str = "E4ScE4ScC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_uc
+ .param_str = "UcUcC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_uc2
+ .param_str = "E2UcE2UcC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_uc4
+ .param_str = "E4UcE4UcC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_ui
+ .param_str = "UiUiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_ui2
+ .param_str = "E2UiE2UiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_ui4
+ .param_str = "E4UiE4UiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_ul
+ .param_str = "ULiULiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_ul2
+ .param_str = "E2ULiE2ULiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_ull
+ .param_str = "ULLiULLiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_ull2
+ .param_str = "E2ULLiE2ULLiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_us
+ .param_str = "UsUsC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_us2
+ .param_str = "E2UsE2UsC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldg_us4
+ .param_str = "E4UsE4UsC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_c
+ .param_str = "ccC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_c2
+ .param_str = "E2cE2cC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_c4
+ .param_str = "E4cE4cC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_d
+ .param_str = "ddC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_d2
+ .param_str = "E2dE2dC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_f
+ .param_str = "ffC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_f2
+ .param_str = "E2fE2fC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_f4
+ .param_str = "E4fE4fC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_h
+ .param_str = "hhC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_h2
+ .param_str = "E2hE2hC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_i
+ .param_str = "iiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_i2
+ .param_str = "E2iE2iC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_i4
+ .param_str = "E4iE4iC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_l
+ .param_str = "LiLiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_l2
+ .param_str = "E2LiE2LiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_ll
+ .param_str = "LLiLLiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_ll2
+ .param_str = "E2LLiE2LLiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_s
+ .param_str = "ssC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_s2
+ .param_str = "E2sE2sC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_s4
+ .param_str = "E4sE4sC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_sc
+ .param_str = "ScScC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_sc2
+ .param_str = "E2ScE2ScC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_sc4
+ .param_str = "E4ScE4ScC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_uc
+ .param_str = "UcUcC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_uc2
+ .param_str = "E2UcE2UcC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_uc4
+ .param_str = "E4UcE4UcC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_ui
+ .param_str = "UiUiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_ui2
+ .param_str = "E2UiE2UiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_ui4
+ .param_str = "E4UiE4UiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_ul
+ .param_str = "ULiULiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_ul2
+ .param_str = "E2ULiE2ULiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_ull
+ .param_str = "ULLiULLiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_ull2
+ .param_str = "E2ULLiE2ULLiC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_us
+ .param_str = "UsUsC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_us2
+ .param_str = "E2UsE2UsC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ldu_us4
+ .param_str = "E4UsE4UsC*"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_lg2_approx_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_lg2_approx_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_lg2_approx_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ll2d_rm
+ .param_str = "dLLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ll2d_rn
+ .param_str = "dLLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ll2d_rp
+ .param_str = "dLLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ll2d_rz
+ .param_str = "dLLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ll2f_rm
+ .param_str = "fLLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ll2f_rn
+ .param_str = "fLLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ll2f_rp
+ .param_str = "fLLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ll2f_rz
+ .param_str = "fLLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_lohi_i2d
+ .param_str = "dii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_membar_cta
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_membar_gl
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_membar_sys
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_memcpy
+ .param_str = "vUc*Uc*zi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_memset
+ .param_str = "vUc*Uczi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul24_i
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul24_ui
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul_rm_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul_rm_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul_rm_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul_rn_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul_rn_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul_rn_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul_rp_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul_rp_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul_rp_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul_rz_d
+ .param_str = "ddd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul_rz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mul_rz_ftz_f
+ .param_str = "fff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mulhi_i
+ .param_str = "iii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mulhi_ll
+ .param_str = "LLiLLiLLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mulhi_ui
+ .param_str = "UiUiUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_mulhi_ull
+ .param_str = "ULLiULLiULLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_prmt
+ .param_str = "UiUiUiUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_approx_ftz_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_approx_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_rm_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_rm_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_rm_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_rn_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_rn_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_rn_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_rp_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_rp_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_rp_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_rz_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_rz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rcp_rz_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_read_ptx_sreg_clock
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_read_ptx_sreg_clock64
+ .param_str = "LLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_read_ptx_sreg_ctaid_w
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_ctaid_x
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_ctaid_y
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_ctaid_z
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_gridid
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_laneid
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_lanemask_eq
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_lanemask_ge
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_lanemask_gt
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_lanemask_le
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_lanemask_lt
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_nctaid_w
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_nctaid_x
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_nctaid_y
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_nctaid_z
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_nsmid
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_ntid_w
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_ntid_x
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_ntid_y
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_ntid_z
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_nwarpid
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_pm0
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_read_ptx_sreg_pm1
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_read_ptx_sreg_pm2
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_read_ptx_sreg_pm3
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_read_ptx_sreg_smid
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_tid_w
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_tid_x
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_tid_y
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_tid_z
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_read_ptx_sreg_warpid
+ .param_str = "i"
+ .target_set = TargetSet.initOne(.nvptx)
+ .attributes = .{ .@"const" = true }
+
+__nvvm_round_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_round_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_round_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rsqrt_approx_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rsqrt_approx_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_rsqrt_approx_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sad_i
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sad_ui
+ .param_str = "UiUiUiUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_saturate_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_saturate_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_saturate_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_shfl_bfly_f32
+ .param_str = "ffii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_shfl_bfly_i32
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_shfl_down_f32
+ .param_str = "ffii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_shfl_down_i32
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_shfl_idx_f32
+ .param_str = "ffii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_shfl_idx_i32
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_shfl_up_f32
+ .param_str = "ffii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_shfl_up_i32
+ .param_str = "iiii"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sin_approx_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sin_approx_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_approx_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_approx_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_rm_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_rm_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_rm_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_rn_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_rn_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_rn_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_rp_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_rp_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_rp_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_rz_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_rz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_sqrt_rz_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_trunc_d
+ .param_str = "dd"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_trunc_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_trunc_ftz_f
+ .param_str = "ff"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ui2d_rm
+ .param_str = "dUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ui2d_rn
+ .param_str = "dUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ui2d_rp
+ .param_str = "dUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ui2d_rz
+ .param_str = "dUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ui2f_rm
+ .param_str = "fUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ui2f_rn
+ .param_str = "fUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ui2f_rp
+ .param_str = "fUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ui2f_rz
+ .param_str = "fUi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ull2d_rm
+ .param_str = "dULLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ull2d_rn
+ .param_str = "dULLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ull2d_rp
+ .param_str = "dULLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ull2d_rz
+ .param_str = "dULLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ull2f_rm
+ .param_str = "fULLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ull2f_rn
+ .param_str = "fULLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ull2f_rp
+ .param_str = "fULLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_ull2f_rz
+ .param_str = "fULLi"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_vote_all
+ .param_str = "bb"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_vote_any
+ .param_str = "bb"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_vote_ballot
+ .param_str = "Uib"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__nvvm_vote_uni
+ .param_str = "bb"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__popcnt
+ .param_str = "UiUi"
+ .language = .all_ms_languages
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__popcnt16
+ .param_str = "UsUs"
+ .language = .all_ms_languages
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__popcnt64
+ .param_str = "UWiUWi"
+ .language = .all_ms_languages
+ .attributes = .{ .@"const" = true, .const_evaluable = true }
+
+__rdtsc
+ .param_str = "UOi"
+ .target_set = TargetSet.initOne(.x86)
+
+__sev
+ .param_str = "v"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+__sevl
+ .param_str = "v"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+__sigsetjmp
+ .param_str = "iSJi"
+ .header = .setjmp
+ .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true }
+
+__sinpi
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__sinpif
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__sync_add_and_fetch
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_add_and_fetch_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_add_and_fetch_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_add_and_fetch_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_add_and_fetch_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_add_and_fetch_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_and_and_fetch
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_and_and_fetch_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_and_and_fetch_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_and_and_fetch_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_and_and_fetch_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_and_and_fetch_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_bool_compare_and_swap
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_bool_compare_and_swap_1
+ .param_str = "bcD*cc."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_bool_compare_and_swap_16
+ .param_str = "bLLLiD*LLLiLLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_bool_compare_and_swap_2
+ .param_str = "bsD*ss."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_bool_compare_and_swap_4
+ .param_str = "biD*ii."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_bool_compare_and_swap_8
+ .param_str = "bLLiD*LLiLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_add
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_add_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_add_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_add_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_add_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_add_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_and
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_and_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_and_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_and_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_and_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_and_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_max
+ .param_str = "iiD*i"
+
+__sync_fetch_and_min
+ .param_str = "iiD*i"
+
+__sync_fetch_and_nand
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_nand_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_nand_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_nand_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_nand_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_nand_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_or
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_or_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_or_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_or_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_or_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_or_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_sub
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_sub_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_sub_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_sub_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_sub_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_sub_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_umax
+ .param_str = "UiUiD*Ui"
+
+__sync_fetch_and_umin
+ .param_str = "UiUiD*Ui"
+
+__sync_fetch_and_xor
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_xor_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_xor_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_xor_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_xor_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_fetch_and_xor_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_lock_release
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_lock_release_1
+ .param_str = "vcD*."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_lock_release_16
+ .param_str = "vLLLiD*."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_lock_release_2
+ .param_str = "vsD*."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_lock_release_4
+ .param_str = "viD*."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_lock_release_8
+ .param_str = "vLLiD*."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_lock_test_and_set
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_lock_test_and_set_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_lock_test_and_set_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_lock_test_and_set_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_lock_test_and_set_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_lock_test_and_set_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_nand_and_fetch
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_nand_and_fetch_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_nand_and_fetch_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_nand_and_fetch_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_nand_and_fetch_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_nand_and_fetch_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_or_and_fetch
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_or_and_fetch_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_or_and_fetch_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_or_and_fetch_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_or_and_fetch_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_or_and_fetch_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_sub_and_fetch
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_sub_and_fetch_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_sub_and_fetch_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_sub_and_fetch_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_sub_and_fetch_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_sub_and_fetch_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_swap
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_swap_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_swap_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_swap_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_swap_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_swap_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_synchronize
+ .param_str = "v"
+
+__sync_val_compare_and_swap
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_val_compare_and_swap_1
+ .param_str = "ccD*cc."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_val_compare_and_swap_16
+ .param_str = "LLLiLLLiD*LLLiLLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_val_compare_and_swap_2
+ .param_str = "ssD*ss."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_val_compare_and_swap_4
+ .param_str = "iiD*ii."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_val_compare_and_swap_8
+ .param_str = "LLiLLiD*LLiLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_xor_and_fetch
+ .param_str = "v."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_xor_and_fetch_1
+ .param_str = "ccD*c."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_xor_and_fetch_16
+ .param_str = "LLLiLLLiD*LLLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_xor_and_fetch_2
+ .param_str = "ssD*s."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_xor_and_fetch_4
+ .param_str = "iiD*i."
+ .attributes = .{ .custom_typecheck = true }
+
+__sync_xor_and_fetch_8
+ .param_str = "LLiLLiD*LLi."
+ .attributes = .{ .custom_typecheck = true }
+
+__syncthreads
+ .param_str = "v"
+ .target_set = TargetSet.initOne(.nvptx)
+
+__tanpi
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__tanpif
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+__va_start
+ .param_str = "vc**."
+ .language = .all_ms_languages
+ .attributes = .{ .custom_typecheck = true }
+
+__warn_memset_zero_len
+ .param_str = "v"
+ .attributes = .{ .pure = true }
+
+__wfe
+ .param_str = "v"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+__wfi
+ .param_str = "v"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+__xray_customevent
+ .param_str = "vcC*z"
+
+__xray_typedevent
+ .param_str = "vzcC*z"
+
+__yield
+ .param_str = "v"
+ .language = .all_ms_languages
+ .target_set = TargetSet.initMany(&.{ .aarch64, .arm })
+
+_abnormal_termination
+ .param_str = "i"
+ .language = .all_ms_languages
+
+_alloca
+ .param_str = "v*z"
+ .language = .all_ms_languages
+
+_bittest
+ .param_str = "UcNiC*Ni"
+ .language = .all_ms_languages
+
+_bittest64
+ .param_str = "UcWiC*Wi"
+ .language = .all_ms_languages
+
+_bittestandcomplement
+ .param_str = "UcNi*Ni"
+ .language = .all_ms_languages
+
+_bittestandcomplement64
+ .param_str = "UcWi*Wi"
+ .language = .all_ms_languages
+
+_bittestandreset
+ .param_str = "UcNi*Ni"
+ .language = .all_ms_languages
+
+_bittestandreset64
+ .param_str = "UcWi*Wi"
+ .language = .all_ms_languages
+
+_bittestandset
+ .param_str = "UcNi*Ni"
+ .language = .all_ms_languages
+
+_bittestandset64
+ .param_str = "UcWi*Wi"
+ .language = .all_ms_languages
+
+_byteswap_uint64
+ .param_str = "ULLiULLi"
+ .header = .stdlib, .language = .all_ms_languages
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+_byteswap_ulong
+ .param_str = "UNiUNi"
+ .header = .stdlib, .language = .all_ms_languages
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+_byteswap_ushort
+ .param_str = "UsUs"
+ .header = .stdlib, .language = .all_ms_languages
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+_exception_code
+ .param_str = "UNi"
+ .language = .all_ms_languages
+
+_exception_info
+ .param_str = "v*"
+ .language = .all_ms_languages
+
+_exit
+ .param_str = "vi"
+ .header = .unistd, .language = .all_gnu_languages
+ .attributes = .{ .noreturn = true, .lib_function_without_prefix = true }
+
+_interlockedbittestandreset
+ .param_str = "UcNiD*Ni"
+ .language = .all_ms_languages
+
+_interlockedbittestandreset64
+ .param_str = "UcWiD*Wi"
+ .language = .all_ms_languages
+
+_interlockedbittestandreset_acq
+ .param_str = "UcNiD*Ni"
+ .language = .all_ms_languages
+
+_interlockedbittestandreset_nf
+ .param_str = "UcNiD*Ni"
+ .language = .all_ms_languages
+
+_interlockedbittestandreset_rel
+ .param_str = "UcNiD*Ni"
+ .language = .all_ms_languages
+
+_interlockedbittestandset
+ .param_str = "UcNiD*Ni"
+ .language = .all_ms_languages
+
+_interlockedbittestandset64
+ .param_str = "UcWiD*Wi"
+ .language = .all_ms_languages
+
+_interlockedbittestandset_acq
+ .param_str = "UcNiD*Ni"
+ .language = .all_ms_languages
+
+_interlockedbittestandset_nf
+ .param_str = "UcNiD*Ni"
+ .language = .all_ms_languages
+
+_interlockedbittestandset_rel
+ .param_str = "UcNiD*Ni"
+ .language = .all_ms_languages
+
+_longjmp
+ .param_str = "vJi"
+ .header = .setjmp, .language = .all_gnu_languages
+ .attributes = .{ .noreturn = true, .allow_type_mismatch = true, .lib_function_without_prefix = true }
+
+_lrotl
+ .param_str = "ULiULii"
+ .language = .all_ms_languages
+ .attributes = .{ .const_evaluable = true }
+
+_lrotr
+ .param_str = "ULiULii"
+ .language = .all_ms_languages
+ .attributes = .{ .const_evaluable = true }
+
+_rotl
+ .param_str = "UiUii"
+ .language = .all_ms_languages
+ .attributes = .{ .const_evaluable = true }
+
+_rotl16
+ .param_str = "UsUsUc"
+ .language = .all_ms_languages
+ .attributes = .{ .const_evaluable = true }
+
+_rotl64
+ .param_str = "UWiUWii"
+ .language = .all_ms_languages
+ .attributes = .{ .const_evaluable = true }
+
+_rotl8
+ .param_str = "UcUcUc"
+ .language = .all_ms_languages
+ .attributes = .{ .const_evaluable = true }
+
+_rotr
+ .param_str = "UiUii"
+ .language = .all_ms_languages
+ .attributes = .{ .const_evaluable = true }
+
+_rotr16
+ .param_str = "UsUsUc"
+ .language = .all_ms_languages
+ .attributes = .{ .const_evaluable = true }
+
+_rotr64
+ .param_str = "UWiUWii"
+ .language = .all_ms_languages
+ .attributes = .{ .const_evaluable = true }
+
+_rotr8
+ .param_str = "UcUcUc"
+ .language = .all_ms_languages
+ .attributes = .{ .const_evaluable = true }
+
+_setjmp
+ .param_str = "iJ"
+ .header = .setjmp
+ .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true }
+
+_setjmpex
+ .param_str = "iJ"
+ .header = .setjmpex, .language = .all_ms_languages
+ .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true }
+
+abort
+ .param_str = "v"
+ .header = .stdlib
+ .attributes = .{ .noreturn = true, .lib_function_without_prefix = true }
+
+abs
+ .param_str = "ii"
+ .header = .stdlib
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+acos
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+acosf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+acosh
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+acoshf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+acoshl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+acosl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+aligned_alloc
+ .param_str = "v*zz"
+ .header = .stdlib
+ .attributes = .{ .lib_function_without_prefix = true }
+
+alloca
+ .param_str = "v*z"
+ .header = .stdlib, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+asin
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+asinf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+asinh
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+asinhf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+asinhl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+asinl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+atan
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+atan2
+ .param_str = "ddd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+atan2f
+ .param_str = "fff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+atan2l
+ .param_str = "LdLdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+atanf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+atanh
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+atanhf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+atanhl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+atanl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+bcmp
+ .param_str = "ivC*vC*z"
+ .header = .strings, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+bcopy
+ .param_str = "vvC*v*z"
+ .header = .strings, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+bzero
+ .param_str = "vv*z"
+ .header = .strings, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+cabs
+ .param_str = "dXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cabsf
+ .param_str = "fXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cabsl
+ .param_str = "LdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cacos
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cacosf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cacosh
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cacoshf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cacoshl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cacosl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+calloc
+ .param_str = "v*zz"
+ .header = .stdlib
+ .attributes = .{ .lib_function_without_prefix = true }
+
+carg
+ .param_str = "dXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cargf
+ .param_str = "fXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cargl
+ .param_str = "LdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+casin
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+casinf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+casinh
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+casinhf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+casinhl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+casinl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+catan
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+catanf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+catanh
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+catanhf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+catanhl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+catanl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cbrt
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+cbrtf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+cbrtl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+ccos
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ccosf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ccosh
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ccoshf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ccoshl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ccosl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ceil
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+ceilf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+ceill
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+cexp
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cexpf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cexpl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cimag
+ .param_str = "dXd"
+ .header = .complex
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+cimagf
+ .param_str = "fXf"
+ .header = .complex
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+cimagl
+ .param_str = "LdXLd"
+ .header = .complex
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+clog
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+clogf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+clogl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+conj
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+conjf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+conjl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+copysign
+ .param_str = "ddd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+copysignf
+ .param_str = "fff"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+copysignl
+ .param_str = "LdLdLd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+cos
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cosf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cosh
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+coshf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+coshl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cosl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cpow
+ .param_str = "XdXdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cpowf
+ .param_str = "XfXfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cpowl
+ .param_str = "XLdXLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+cproj
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+cprojf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+cprojl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+creal
+ .param_str = "dXd"
+ .header = .complex
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+crealf
+ .param_str = "fXf"
+ .header = .complex
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+creall
+ .param_str = "LdXLd"
+ .header = .complex
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+csin
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+csinf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+csinh
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+csinhf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+csinhl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+csinl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+csqrt
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+csqrtf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+csqrtl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ctan
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ctanf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ctanh
+ .param_str = "XdXd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ctanhf
+ .param_str = "XfXf"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ctanhl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ctanl
+ .param_str = "XLdXLd"
+ .header = .complex
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+erf
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+erfc
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+erfcf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+erfcl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+erff
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+erfl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+exit
+ .param_str = "vi"
+ .header = .stdlib
+ .attributes = .{ .noreturn = true, .lib_function_without_prefix = true }
+
+exp
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+exp2
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+exp2f
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+exp2l
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+expf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+expl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+expm1
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+expm1f
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+expm1l
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+fabs
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+fabsf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+fabsl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+fdim
+ .param_str = "ddd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+fdimf
+ .param_str = "fff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+fdiml
+ .param_str = "LdLdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+finite
+ .param_str = "id"
+ .header = .math, .language = .gnu_lang
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+finitef
+ .param_str = "if"
+ .header = .math, .language = .gnu_lang
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+finitel
+ .param_str = "iLd"
+ .header = .math, .language = .gnu_lang
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+floor
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+floorf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+floorl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+fma
+ .param_str = "dddd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+fmaf
+ .param_str = "ffff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+fmal
+ .param_str = "LdLdLdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+fmax
+ .param_str = "ddd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+fmaxf
+ .param_str = "fff"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+fmaxl
+ .param_str = "LdLdLd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+fmin
+ .param_str = "ddd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+fminf
+ .param_str = "fff"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+fminl
+ .param_str = "LdLdLd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+fmod
+ .param_str = "ddd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+fmodf
+ .param_str = "fff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+fmodl
+ .param_str = "LdLdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+fopen
+ .param_str = "P*cC*cC*"
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true }
+
+fprintf
+ .param_str = "iP*cC*."
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .printf, .format_string_position = 1 }
+
+fread
+ .param_str = "zv*zzP*"
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true }
+
+free
+ .param_str = "vv*"
+ .header = .stdlib
+ .attributes = .{ .lib_function_without_prefix = true }
+
+frexp
+ .param_str = "ddi*"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true }
+
+frexpf
+ .param_str = "ffi*"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true }
+
+frexpl
+ .param_str = "LdLdi*"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true }
+
+fscanf
+ .param_str = "iP*RcC*R."
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .scanf, .format_string_position = 1 }
+
+fwrite
+ .param_str = "zvC*zzP*"
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true }
+
+getcontext
+ .param_str = "iK*"
+ .header = .setjmp
+ .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true }
+
+hypot
+ .param_str = "ddd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+hypotf
+ .param_str = "fff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+hypotl
+ .param_str = "LdLdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ilogb
+ .param_str = "id"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ilogbf
+ .param_str = "if"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ilogbl
+ .param_str = "iLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+index
+ .param_str = "c*cC*i"
+ .header = .strings, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+isalnum
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+isalpha
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+isblank
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+iscntrl
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+isdigit
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+isgraph
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+islower
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+isprint
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+ispunct
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+isspace
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+isupper
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+isxdigit
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+labs
+ .param_str = "LiLi"
+ .header = .stdlib
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+ldexp
+ .param_str = "ddi"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ldexpf
+ .param_str = "ffi"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+ldexpl
+ .param_str = "LdLdi"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+lgamma
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true }
+
+lgammaf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true }
+
+lgammal
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true }
+
+llabs
+ .param_str = "LLiLLi"
+ .header = .stdlib
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+llrint
+ .param_str = "LLid"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+llrintf
+ .param_str = "LLif"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+llrintl
+ .param_str = "LLiLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+llround
+ .param_str = "LLid"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+llroundf
+ .param_str = "LLif"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+llroundl
+ .param_str = "LLiLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+log
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+log10
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+log10f
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+log10l
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+log1p
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+log1pf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+log1pl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+log2
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+log2f
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+log2l
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+logb
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+logbf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+logbl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+logf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+logl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+longjmp
+ .param_str = "vJi"
+ .header = .setjmp
+ .attributes = .{ .noreturn = true, .allow_type_mismatch = true, .lib_function_without_prefix = true }
+
+lrint
+ .param_str = "Lid"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+lrintf
+ .param_str = "Lif"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+lrintl
+ .param_str = "LiLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+lround
+ .param_str = "Lid"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+lroundf
+ .param_str = "Lif"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+lroundl
+ .param_str = "LiLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+malloc
+ .param_str = "v*z"
+ .header = .stdlib
+ .attributes = .{ .lib_function_without_prefix = true }
+
+memalign
+ .param_str = "v*zz"
+ .header = .malloc, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+memccpy
+ .param_str = "v*v*vC*iz"
+ .header = .string, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+memchr
+ .param_str = "v*vC*iz"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+memcmp
+ .param_str = "ivC*vC*z"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+memcpy
+ .param_str = "v*v*vC*z"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+memmove
+ .param_str = "v*v*vC*z"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+mempcpy
+ .param_str = "v*v*vC*z"
+ .header = .string, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+memset
+ .param_str = "v*v*iz"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+modf
+ .param_str = "ddd*"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true }
+
+modff
+ .param_str = "fff*"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true }
+
+modfl
+ .param_str = "LdLdLd*"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true }
+
+nan
+ .param_str = "dcC*"
+ .header = .math
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+nanf
+ .param_str = "fcC*"
+ .header = .math
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+nanl
+ .param_str = "LdcC*"
+ .header = .math
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+nearbyint
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+nearbyintf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+nearbyintl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+nextafter
+ .param_str = "ddd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+nextafterf
+ .param_str = "fff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+nextafterl
+ .param_str = "LdLdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+nexttoward
+ .param_str = "ddLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+nexttowardf
+ .param_str = "ffLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+nexttowardl
+ .param_str = "LdLdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+pow
+ .param_str = "ddd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+powf
+ .param_str = "fff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+powl
+ .param_str = "LdLdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+printf
+ .param_str = "icC*."
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .printf }
+
+realloc
+ .param_str = "v*v*z"
+ .header = .stdlib
+ .attributes = .{ .lib_function_without_prefix = true }
+
+remainder
+ .param_str = "ddd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+remainderf
+ .param_str = "fff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+remainderl
+ .param_str = "LdLdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+remquo
+ .param_str = "dddi*"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true }
+
+remquof
+ .param_str = "fffi*"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true }
+
+remquol
+ .param_str = "LdLdLdi*"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true }
+
+rindex
+ .param_str = "c*cC*i"
+ .header = .strings, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+rint
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_fp_exceptions = true }
+
+rintf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_fp_exceptions = true }
+
+rintl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_fp_exceptions = true }
+
+round
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+roundeven
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+roundevenf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+roundevenl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+roundf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+roundl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+savectx
+ .param_str = "iJ"
+ .header = .setjmp
+ .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true }
+
+scalbln
+ .param_str = "ddLi"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+scalblnf
+ .param_str = "ffLi"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+scalblnl
+ .param_str = "LdLdLi"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+scalbn
+ .param_str = "ddi"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+scalbnf
+ .param_str = "ffi"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+scalbnl
+ .param_str = "LdLdi"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+scanf
+ .param_str = "icC*R."
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .scanf }
+
+setjmp
+ .param_str = "iJ"
+ .header = .setjmp
+ .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true }
+
+siglongjmp
+ .param_str = "vSJi"
+ .header = .setjmp, .language = .all_gnu_languages
+ .attributes = .{ .noreturn = true, .allow_type_mismatch = true, .lib_function_without_prefix = true }
+
+sigsetjmp
+ .param_str = "iSJi"
+ .header = .setjmp
+ .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true }
+
+sin
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+sinf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+sinh
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+sinhf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+sinhl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+sinl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+snprintf
+ .param_str = "ic*zcC*."
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .printf, .format_string_position = 2 }
+
+sprintf
+ .param_str = "ic*cC*."
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .printf, .format_string_position = 1 }
+
+sqrt
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+sqrtf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+sqrtl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+sscanf
+ .param_str = "icC*RcC*R."
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .scanf, .format_string_position = 1 }
+
+stpcpy
+ .param_str = "c*c*cC*"
+ .header = .string, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+stpncpy
+ .param_str = "c*c*cC*z"
+ .header = .string, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strcasecmp
+ .param_str = "icC*cC*"
+ .header = .strings, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strcat
+ .param_str = "c*c*cC*"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strchr
+ .param_str = "c*cC*i"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+strcmp
+ .param_str = "icC*cC*"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+strcpy
+ .param_str = "c*c*cC*"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strcspn
+ .param_str = "zcC*cC*"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strdup
+ .param_str = "c*cC*"
+ .header = .string, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strerror
+ .param_str = "c*i"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strlcat
+ .param_str = "zc*cC*z"
+ .header = .string, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strlcpy
+ .param_str = "zc*cC*z"
+ .header = .string, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strlen
+ .param_str = "zcC*"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+strncasecmp
+ .param_str = "icC*cC*z"
+ .header = .strings, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strncat
+ .param_str = "c*c*cC*z"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strncmp
+ .param_str = "icC*cC*z"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+strncpy
+ .param_str = "c*c*cC*z"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strndup
+ .param_str = "c*cC*z"
+ .header = .string, .language = .all_gnu_languages
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strpbrk
+ .param_str = "c*cC*cC*"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strrchr
+ .param_str = "c*cC*i"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strspn
+ .param_str = "zcC*cC*"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strstr
+ .param_str = "c*cC*cC*"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strtod
+ .param_str = "dcC*c**"
+ .header = .stdlib
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strtof
+ .param_str = "fcC*c**"
+ .header = .stdlib
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strtok
+ .param_str = "c*c*cC*"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strtol
+ .param_str = "LicC*c**i"
+ .header = .stdlib
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strtold
+ .param_str = "LdcC*c**"
+ .header = .stdlib
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strtoll
+ .param_str = "LLicC*c**i"
+ .header = .stdlib
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strtoul
+ .param_str = "ULicC*c**i"
+ .header = .stdlib
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strtoull
+ .param_str = "ULLicC*c**i"
+ .header = .stdlib
+ .attributes = .{ .lib_function_without_prefix = true }
+
+strxfrm
+ .param_str = "zc*cC*z"
+ .header = .string
+ .attributes = .{ .lib_function_without_prefix = true }
+
+tan
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+tanf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+tanh
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+tanhf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+tanhl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+tanl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+tgamma
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+tgammaf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+tgammal
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .lib_function_without_prefix = true, .const_without_errno_and_fp_exceptions = true }
+
+tolower
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+toupper
+ .param_str = "ii"
+ .header = .ctype
+ .attributes = .{ .pure = true, .lib_function_without_prefix = true }
+
+trunc
+ .param_str = "dd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+truncf
+ .param_str = "ff"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+truncl
+ .param_str = "LdLd"
+ .header = .math
+ .attributes = .{ .@"const" = true, .lib_function_without_prefix = true }
+
+va_copy
+ .param_str = "vAA"
+ .header = .stdarg
+ .attributes = .{ .lib_function_without_prefix = true }
+
+va_end
+ .param_str = "vA"
+ .header = .stdarg
+ .attributes = .{ .lib_function_without_prefix = true }
+
+va_start
+ .param_str = "vA."
+ .header = .stdarg
+ .attributes = .{ .lib_function_without_prefix = true }
+
+vfork
+ .param_str = "p"
+ .header = .unistd
+ .attributes = .{ .allow_type_mismatch = true, .lib_function_without_prefix = true, .returns_twice = true }
+
+vfprintf
+ .param_str = "iP*cC*a"
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vprintf, .format_string_position = 1 }
+
+vfscanf
+ .param_str = "iP*RcC*Ra"
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vscanf, .format_string_position = 1 }
+
+vprintf
+ .param_str = "icC*a"
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vprintf }
+
+vscanf
+ .param_str = "icC*Ra"
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vscanf }
+
+vsnprintf
+ .param_str = "ic*zcC*a"
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vprintf, .format_string_position = 2 }
+
+vsprintf
+ .param_str = "ic*cC*a"
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vprintf, .format_string_position = 1 }
+
+vsscanf
+ .param_str = "icC*RcC*Ra"
+ .header = .stdio
+ .attributes = .{ .lib_function_without_prefix = true, .format_kind = .vscanf, .format_string_position = 1 }
+
+wcschr
+ .param_str = "w*wC*w"
+ .header = .wchar
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+wcscmp
+ .param_str = "iwC*wC*"
+ .header = .wchar
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+wcslen
+ .param_str = "zwC*"
+ .header = .wchar
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+wcsncmp
+ .param_str = "iwC*wC*z"
+ .header = .wchar
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+wmemchr
+ .param_str = "w*wC*wz"
+ .header = .wchar
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+wmemcmp
+ .param_str = "iwC*wC*z"
+ .header = .wchar
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+wmemcpy
+ .param_str = "w*w*wC*z"
+ .header = .wchar
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
+
+wmemmove
+ .param_str = "w*w*wC*z"
+ .header = .wchar
+ .attributes = .{ .lib_function_without_prefix = true, .const_evaluable = true }
deps/aro/builtins/BuiltinFunction.zig โ deps/aro/Builtins/BuiltinFunction.zig
File renamed without changes
deps/aro/builtins/Properties.zig โ deps/aro/Builtins/Properties.zig
@@ -2,6 +2,7 @@ const std = @import("std");
const Properties = @This();
+param_str: []const u8,
language: Language = .all_languages,
attributes: Attributes = Attributes{},
header: Header = .none,
@@ -136,3 +137,7 @@ pub const Target = enum {
/// Targets for which a builtin is enabled
pub const TargetSet = std.enums.EnumSet(Target);
+
+pub fn isVarArgs(properties: Properties) bool {
+ return properties.param_str[properties.param_str.len - 1] == '.';
+}
deps/aro/builtins/TypeDescription.zig โ deps/aro/Builtins/TypeDescription.zig
File renamed without changes
deps/aro/codegen/x86_64.zig
@@ -177,7 +177,7 @@ fn genNode(func: *Fn, node: NodeIndex) Codegen.Error!Value {
.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);
+ 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);
deps/aro/object/Elf.zig
@@ -20,7 +20,7 @@ const Symbol = struct {
info: u8,
};
-const Relocation = packed struct {
+const Relocation = struct {
symbol: *Symbol,
addend: i64,
offset: u48,
deps/aro/Attribute.zig
@@ -60,7 +60,7 @@ pub const ArgumentType = enum {
fn fromType(comptime T: type) ArgumentType {
return switch (T) {
- []const u8 => .string,
+ Value.ByteRange => .string,
Identifier => .identifier,
u32 => .int,
Alignment => .alignment,
@@ -83,17 +83,13 @@ pub const ArgumentType = enum {
}
};
-fn getArguments(comptime descriptor: type) []const ZigType.StructField {
- return if (@hasDecl(descriptor, "Args")) std.meta.fields(descriptor.Args) else &.{};
-}
-
/// number of required arguments
pub fn requiredArgCount(attr: Tag) u32 {
switch (attr) {
inline else => |tag| {
comptime var needed = 0;
comptime {
- const fields = getArguments(@field(attributes, @tagName(tag)));
+ const fields = std.meta.fields(@field(attributes, @tagName(tag)));
for (fields) |arg_field| {
if (!mem.eql(u8, arg_field.name, "__name_tok") and @typeInfo(arg_field.type) != .Optional) needed += 1;
}
@@ -109,7 +105,7 @@ pub fn maxArgCount(attr: Tag) u32 {
inline else => |tag| {
comptime var max = 0;
comptime {
- const fields = getArguments(@field(attributes, @tagName(tag)));
+ const fields = std.meta.fields(@field(attributes, @tagName(tag)));
for (fields) |arg_field| {
if (!mem.eql(u8, arg_field.name, "__name_tok")) max += 1;
}
@@ -128,13 +124,13 @@ fn UnwrapOptional(comptime T: type) type {
pub const Formatting = struct {
/// The quote char (single or double) to use when printing identifiers/strings corresponding
- /// to the enum in the first field of the Args of `attr`. Identifier enums use single quotes, string enums
+ /// to the enum in the first field of the `attr`. Identifier enums use single quotes, string enums
/// use double quotes
fn quoteChar(attr: Tag) []const u8 {
switch (attr) {
.calling_convention => unreachable,
inline else => |tag| {
- const fields = getArguments(@field(attributes, @tagName(tag)));
+ const fields = std.meta.fields(@field(attributes, @tagName(tag)));
if (fields.len == 0) unreachable;
const Unwrapped = UnwrapOptional(fields[0].type);
@@ -146,12 +142,12 @@ pub const Formatting = struct {
}
/// returns a comma-separated string of quoted enum values, representing the valid
- /// choices for the string or identifier enum of the first field of the Args of `attr`.
+ /// choices for the string or identifier enum of the first field of the `attr`.
pub fn choices(attr: Tag) []const u8 {
switch (attr) {
.calling_convention => unreachable,
inline else => |tag| {
- const fields = getArguments(@field(attributes, @tagName(tag)));
+ const fields = std.meta.fields(@field(attributes, @tagName(tag)));
if (fields.len == 0) unreachable;
const Unwrapped = UnwrapOptional(fields[0].type);
@@ -176,7 +172,7 @@ pub fn wantsIdentEnum(attr: Tag) bool {
switch (attr) {
.calling_convention => return false,
inline else => |tag| {
- const fields = getArguments(@field(attributes, @tagName(tag)));
+ const fields = std.meta.fields(@field(attributes, @tagName(tag)));
if (fields.len == 0) return false;
const Unwrapped = UnwrapOptional(fields[0].type);
@@ -190,7 +186,7 @@ pub fn wantsIdentEnum(attr: Tag) bool {
pub fn diagnoseIdent(attr: Tag, arguments: *Arguments, ident: []const u8) ?Diagnostics.Message {
switch (attr) {
inline else => |tag| {
- const fields = getArguments(@field(attributes, @tagName(tag)));
+ const fields = std.meta.fields(@field(attributes, @tagName(tag)));
if (fields.len == 0) unreachable;
const Unwrapped = UnwrapOptional(fields[0].type);
if (@typeInfo(Unwrapped) != .Enum) unreachable;
@@ -209,7 +205,7 @@ pub fn diagnoseIdent(attr: Tag, arguments: *Arguments, ident: []const u8) ?Diagn
pub fn wantsAlignment(attr: Tag, idx: usize) bool {
switch (attr) {
inline else => |tag| {
- const fields = getArguments(@field(attributes, @tagName(tag)));
+ const fields = std.meta.fields(@field(attributes, @tagName(tag)));
if (fields.len == 0) return false;
return switch (idx) {
@@ -223,7 +219,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 {
switch (attr) {
inline else => |tag| {
- const arg_fields = getArguments(@field(attributes, @tagName(tag)));
+ const arg_fields = std.meta.fields(@field(attributes, @tagName(tag)));
if (arg_fields.len == 0) unreachable;
switch (arg_idx) {
@@ -267,10 +263,17 @@ fn diagnoseField(
.bytes => {
const bytes = val.data.bytes.trim(1); // remove null terminator
if (wanted == Value.ByteRange) {
+ std.debug.assert(node.tag == .string_literal_expr);
+ if (!node.ty.elemType().is(.char) and !node.ty.elemType().is(.uchar)) {
+ return Diagnostics.Message{
+ .tag = .attribute_requires_string,
+ .extra = .{ .str = decl.name },
+ };
+ }
@field(@field(arguments, decl.name), field.name) = bytes;
return null;
} else if (@typeInfo(wanted) == .Enum and @hasDecl(wanted, "opts") and wanted.opts.enum_kind == .string) {
- const str = bytes.slice(strings);
+ const str = bytes.slice(strings, .@"1");
if (std.meta.stringToEnum(wanted, str)) |enum_val| {
@field(@field(arguments, decl.name), field.name) = enum_val;
return null;
@@ -305,7 +308,7 @@ pub fn diagnose(attr: Tag, arguments: *Arguments, arg_idx: u32, val: Value, node
.tag = .attribute_too_many_args,
.extra = .{ .attr_arg_count = .{ .attribute = attr, .expected = max_arg_count } },
};
- const arg_fields = getArguments(@field(attributes, decl.name));
+ 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);
@@ -330,212 +333,107 @@ pub const Identifier = struct {
const attributes = struct {
pub const access = struct {
- const gnu = "access";
-
- const Args = struct {
- access_mode: enum {
- read_only,
- read_write,
- write_only,
- none,
-
- const opts = struct {
- const enum_kind = .identifier;
- };
- },
- ref_index: u32,
- size_index: ?u32 = null,
- };
+ access_mode: enum {
+ read_only,
+ read_write,
+ write_only,
+ none,
+
+ const opts = struct {
+ const enum_kind = .identifier;
+ };
+ },
+ ref_index: u32,
+ size_index: ?u32 = null,
};
pub const alias = struct {
- const gnu = "alias";
- const Args = struct {
- alias: Value.ByteRange,
- };
+ alias: Value.ByteRange,
};
pub const aligned = struct {
- const gnu = "aligned";
- const declspec = "align";
-
- const Args = struct {
- alignment: ?Alignment = null,
- __name_tok: TokenIndex,
- };
+ alignment: ?Alignment = null,
+ __name_tok: TokenIndex,
};
pub const alloc_align = struct {
- const gnu = "alloc_align";
-
- const Args = struct {
- position: u32,
- };
+ position: u32,
};
pub const alloc_size = struct {
- const gnu = "alloc_size";
-
- const Args = struct {
- position_1: u32,
- position_2: ?u32 = null,
- };
+ position_1: u32,
+ position_2: ?u32 = null,
};
pub const allocate = struct {
- const declspec = "allocate";
-
- const Args = struct {
- segname: Value.ByteRange,
- };
- };
- pub const allocator = struct {
- const declspec = "allocator";
- };
- pub const always_inline = struct {
- const gnu = "always_inline";
- };
- pub const appdomain = struct {
- const declspec = "appdomain";
- };
- pub const artificial = struct {
- const gnu = "artificial";
+ segname: Value.ByteRange,
};
+ pub const allocator = struct {};
+ pub const always_inline = struct {};
+ pub const appdomain = struct {};
+ pub const artificial = struct {};
pub const assume_aligned = struct {
- const gnu = "assume_aligned";
- const Args = struct {
- alignment: Alignment,
- offset: ?u32 = null,
- };
+ alignment: Alignment,
+ offset: ?u32 = null,
};
pub const cleanup = struct {
- const gnu = "cleanup";
- const Args = struct {
- function: Identifier,
- };
+ function: Identifier,
};
pub const code_seg = struct {
- const declspec = "code_seg";
- const Args = struct {
- segname: Value.ByteRange,
- };
- };
- pub const cold = struct {
- const gnu = "cold";
- };
- pub const common = struct {
- const gnu = "common";
- };
- pub const @"const" = struct {
- const gnu = "const";
+ segname: Value.ByteRange,
};
+ pub const cold = struct {};
+ pub const common = struct {};
+ pub const @"const" = struct {};
pub const constructor = struct {
- const gnu = "constructor";
- const Args = struct {
- priority: ?u32 = null,
- };
+ priority: ?u32 = null,
};
pub const copy = struct {
- const gnu = "copy";
- const Args = struct {
- function: Identifier,
- };
+ function: Identifier,
};
pub const deprecated = struct {
- const gnu = "deprecated";
- const declspec = "deprecated";
- const c2x = "deprecated";
-
- const Args = struct {
- msg: ?Value.ByteRange = null,
- __name_tok: TokenIndex,
- };
- };
- pub const designated_init = struct {
- const gnu = "designated_init";
+ msg: ?Value.ByteRange = null,
+ __name_tok: TokenIndex,
};
+ pub const designated_init = struct {};
pub const destructor = struct {
- const gnu = "destructor";
- const Args = struct {
- priority: ?u32 = null,
- };
- };
- pub const dllexport = struct {
- const declspec = "dllexport";
- };
- pub const dllimport = struct {
- const declspec = "dllimport";
+ priority: ?u32 = null,
};
+ pub const dllexport = struct {};
+ pub const dllimport = struct {};
pub const @"error" = struct {
- const gnu = "error";
- const Args = struct {
- msg: Value.ByteRange,
- __name_tok: TokenIndex,
- };
- };
- pub const externally_visible = struct {
- const gnu = "externally_visible";
- };
- pub const fallthrough = struct {
- const gnu = "fallthrough";
- const c2x = "fallthrough";
- };
- pub const flatten = struct {
- const gnu = "flatten";
+ msg: Value.ByteRange,
+ __name_tok: TokenIndex,
};
+ pub const externally_visible = struct {};
+ pub const fallthrough = struct {};
+ pub const flatten = struct {};
pub const format = struct {
- const gnu = "format";
- const Args = struct {
- archetype: enum {
- printf,
- scanf,
- strftime,
- strfmon,
-
- const opts = struct {
- const enum_kind = .identifier;
- };
- },
- string_index: u32,
- first_to_check: u32,
- };
+ archetype: enum {
+ printf,
+ scanf,
+ strftime,
+ strfmon,
+
+ const opts = struct {
+ const enum_kind = .identifier;
+ };
+ },
+ string_index: u32,
+ first_to_check: u32,
};
pub const format_arg = struct {
- const gnu = "format_arg";
- const Args = struct {
- string_index: u32,
- };
- };
- pub const gnu_inline = struct {
- const gnu = "gnu_inline";
- };
- pub const hot = struct {
- const gnu = "hot";
+ string_index: u32,
};
+ pub const gnu_inline = struct {};
+ pub const hot = struct {};
pub const ifunc = struct {
- const gnu = "ifunc";
- const Args = struct {
- resolver: Value.ByteRange,
- };
- };
- pub const interrupt = struct {
- const gnu = "interrupt";
- };
- pub const interrupt_handler = struct {
- const gnu = "interrupt_handler";
- };
- pub const jitintrinsic = struct {
- const declspec = "jitintrinsic";
- };
- pub const leaf = struct {
- const gnu = "leaf";
- };
- pub const malloc = struct {
- const gnu = "malloc";
- };
- pub const may_alias = struct {
- const gnu = "may_alias";
- };
+ resolver: Value.ByteRange,
+ };
+ pub const interrupt = struct {};
+ pub const interrupt_handler = struct {};
+ pub const jitintrinsic = struct {};
+ pub const leaf = struct {};
+ pub const malloc = struct {};
+ pub const may_alias = struct {};
pub const mode = struct {
- const gnu = "mode";
- const Args = struct {
- mode: enum {
- // zig fmt: off
+ mode: enum {
+ // zig fmt: off
byte, word, pointer,
BI, QI, HI,
PSI, SI, PDI,
@@ -558,336 +456,184 @@ const attributes = struct {
BND32, BND64,
// zig fmt: on
- const opts = struct {
- const enum_kind = .identifier;
- };
- },
- };
- };
- pub const naked = struct {
- const declspec = "naked";
- };
- pub const no_address_safety_analysis = struct {
- const gnu = "no_address_safety_analysise";
- };
- pub const no_icf = struct {
- const gnu = "no_icf";
- };
- pub const no_instrument_function = struct {
- const gnu = "no_instrument_function";
- };
- pub const no_profile_instrument_function = struct {
- const gnu = "no_profile_instrument_function";
- };
- pub const no_reorder = struct {
- const gnu = "no_reorder";
+ const opts = struct {
+ const enum_kind = .identifier;
+ };
+ },
};
+ pub const naked = struct {};
+ pub const no_address_safety_analysis = struct {};
+ pub const no_icf = struct {};
+ pub const no_instrument_function = struct {};
+ pub const no_profile_instrument_function = struct {};
+ pub const no_reorder = struct {};
pub const no_sanitize = struct {
- const gnu = "no_sanitize";
/// Todo: represent args as union?
- const Args = struct {
- alignment: Value.ByteRange,
- object_size: ?Value.ByteRange = null,
- };
- };
- pub const no_sanitize_address = struct {
- const gnu = "no_sanitize_address";
- const declspec = "no_sanitize_address";
- };
- pub const no_sanitize_coverage = struct {
- const gnu = "no_sanitize_coverage";
- };
- pub const no_sanitize_thread = struct {
- const gnu = "no_sanitize_thread";
- };
- pub const no_sanitize_undefined = struct {
- const gnu = "no_sanitize_undefined";
- };
- pub const no_split_stack = struct {
- const gnu = "no_split_stack";
- };
- pub const no_stack_limit = struct {
- const gnu = "no_stack_limit";
- };
- pub const no_stack_protector = struct {
- const gnu = "no_stack_protector";
- };
- pub const @"noalias" = struct {
- const declspec = "noalias";
- };
- pub const noclone = struct {
- const gnu = "noclone";
- };
- pub const nocommon = struct {
- const gnu = "nocommon";
- };
- pub const nodiscard = struct {
- const c2x = "nodiscard";
- };
- pub const noinit = struct {
- const gnu = "noinit";
- };
- pub const @"noinline" = struct {
- const gnu = "noinline";
- const declspec = "noinline";
- };
- pub const noipa = struct {
- const gnu = "noipa";
- };
+ alignment: Value.ByteRange,
+ object_size: ?Value.ByteRange = null,
+ };
+ pub const no_sanitize_address = struct {};
+ pub const no_sanitize_coverage = struct {};
+ pub const no_sanitize_thread = struct {};
+ pub const no_sanitize_undefined = struct {};
+ pub const no_split_stack = struct {};
+ pub const no_stack_limit = struct {};
+ pub const no_stack_protector = struct {};
+ pub const @"noalias" = struct {};
+ pub const noclone = struct {};
+ pub const nocommon = struct {};
+ pub const nodiscard = struct {};
+ pub const noinit = struct {};
+ pub const @"noinline" = struct {};
+ pub const noipa = struct {};
// TODO: arbitrary number of arguments
// const nonnull = struct {
- // const gnu = "nonnull";
- // const Args = struct {
- // arg_index: []const u32,
+ // // arg_index: []const u32,
// };
// };
- pub const nonstring = struct {
- const gnu = "nonstring";
- };
- pub const noplt = struct {
- const gnu = "noplt";
- };
- pub const @"noreturn" = struct {
- const gnu = "noreturn";
- const c2x = "noreturn";
- const declspec = "noreturn";
- };
+ pub const nonstring = struct {};
+ pub const noplt = struct {};
+ pub const @"noreturn" = struct {};
// TODO: union args ?
// const optimize = struct {
- // const gnu = "optimize";
- // const Args = struct {
- // optimize, // u32 | []const u8 -- optimize?
+ // // optimize, // u32 | []const u8 -- optimize?
// };
// };
- pub const @"packed" = struct {
- const gnu = "packed";
- };
- pub const patchable_function_entry = struct {
- const gnu = "patchable_function_entry";
- };
- pub const persistent = struct {
- const gnu = "persistent";
- };
- pub const process = struct {
- const declspec = "process";
- };
- pub const pure = struct {
- const gnu = "pure";
- };
- pub const reproducible = struct {
- const c2x = "reproducible";
- };
- pub const restrict = struct {
- const declspec = "restrict";
- };
- pub const retain = struct {
- const gnu = "retain";
- };
- pub const returns_nonnull = struct {
- const gnu = "returns_nonnull";
- };
- pub const returns_twice = struct {
- const gnu = "returns_twice";
- };
- pub const safebuffers = struct {
- const declspec = "safebuffers";
- };
+ pub const @"packed" = struct {};
+ pub const patchable_function_entry = struct {};
+ pub const persistent = struct {};
+ pub const process = struct {};
+ pub const pure = struct {};
+ pub const reproducible = struct {};
+ pub const restrict = struct {};
+ pub const retain = struct {};
+ pub const returns_nonnull = struct {};
+ pub const returns_twice = struct {};
+ pub const safebuffers = struct {};
pub const scalar_storage_order = struct {
- const gnu = "scalar_storage_order";
- const Args = struct {
- order: enum {
- @"little-endian",
- @"big-endian",
-
- const opts = struct {
- const enum_kind = .string;
- };
- },
- };
+ order: enum {
+ @"little-endian",
+ @"big-endian",
+
+ const opts = struct {
+ const enum_kind = .string;
+ };
+ },
};
pub const section = struct {
- const gnu = "section";
- const Args = struct {
- name: Value.ByteRange,
- };
- };
- pub const selectany = struct {
- const declspec = "selectany";
+ name: Value.ByteRange,
};
+ pub const selectany = struct {};
pub const sentinel = struct {
- const gnu = "sentinel";
- const Args = struct {
- position: ?u32 = null,
- };
+ position: ?u32 = null,
};
pub const simd = struct {
- const gnu = "simd";
- const Args = struct {
- mask: ?enum {
- notinbranch,
- inbranch,
-
- const opts = struct {
- const enum_kind = .string;
- };
- } = null,
- };
+ mask: ?enum {
+ notinbranch,
+ inbranch,
+
+ const opts = struct {
+ const enum_kind = .string;
+ };
+ } = null,
};
pub const spectre = struct {
- const declspec = "spectre";
- const Args = struct {
- arg: enum {
- nomitigation,
-
- const opts = struct {
- const enum_kind = .identifier;
- };
- },
- };
- };
- pub const stack_protect = struct {
- const gnu = "stack_protect";
+ arg: enum {
+ nomitigation,
+
+ const opts = struct {
+ const enum_kind = .identifier;
+ };
+ },
};
+ pub const stack_protect = struct {};
pub const symver = struct {
- const gnu = "symver";
- const Args = struct {
- version: Value.ByteRange, // TODO: validate format "name2@nodename"
- };
+ version: Value.ByteRange, // TODO: validate format "name2@nodename"
+
};
pub const target = struct {
- const gnu = "target";
- const Args = struct {
- options: Value.ByteRange, // TODO: multiple arguments
- };
+ options: Value.ByteRange, // TODO: multiple arguments
+
};
pub const target_clones = struct {
- const gnu = "target_clones";
- const Args = struct {
- options: Value.ByteRange, // TODO: multiple arguments
- };
- };
- pub const thread = struct {
- const declspec = "thread";
+ options: Value.ByteRange, // TODO: multiple arguments
+
};
+ pub const thread = struct {};
pub const tls_model = struct {
- const gnu = "tls_model";
- const Args = struct {
- model: enum {
- @"global-dynamic",
- @"local-dynamic",
- @"initial-exec",
- @"local-exec",
-
- const opts = struct {
- const enum_kind = .string;
- };
- },
- };
- };
- pub const transparent_union = struct {
- const gnu = "transparent_union";
+ model: enum {
+ @"global-dynamic",
+ @"local-dynamic",
+ @"initial-exec",
+ @"local-exec",
+
+ const opts = struct {
+ const enum_kind = .string;
+ };
+ },
};
+ pub const transparent_union = struct {};
pub const unavailable = struct {
- const gnu = "unavailable";
- const Args = struct {
- msg: ?Value.ByteRange = null,
- __name_tok: TokenIndex,
- };
- };
- pub const uninitialized = struct {
- const gnu = "uninitialized";
- };
- pub const unsequenced = struct {
- const c2x = "unsequenced";
- };
- pub const unused = struct {
- const gnu = "unused";
- const c2x = "maybe_unused";
- };
- pub const used = struct {
- const gnu = "used";
+ msg: ?Value.ByteRange = null,
+ __name_tok: TokenIndex,
};
+ pub const uninitialized = struct {};
+ pub const unsequenced = struct {};
+ pub const unused = struct {};
+ pub const used = struct {};
pub const uuid = struct {
- const declspec = "uuid";
- const Args = struct {
- uuid: Value.ByteRange,
- };
+ uuid: Value.ByteRange,
};
pub const vector_size = struct {
- const gnu = "vector_size";
- const Args = struct {
- bytes: u32, // TODO: validate "The bytes argument must be a positive power-of-two multiple of the base type size"
- };
+ bytes: u32, // TODO: validate "The bytes argument must be a positive power-of-two multiple of the base type size"
+
};
pub const visibility = struct {
- const gnu = "visibility";
- const Args = struct {
- visibility_type: enum {
- default,
- hidden,
- internal,
- protected,
-
- const opts = struct {
- const enum_kind = .string;
- };
- },
- };
+ visibility_type: enum {
+ default,
+ hidden,
+ internal,
+ protected,
+
+ const opts = struct {
+ const enum_kind = .string;
+ };
+ },
};
pub const warn_if_not_aligned = struct {
- const gnu = "warn_if_not_aligned";
- const Args = struct {
- alignment: Alignment,
- };
- };
- pub const warn_unused_result = struct {
- const gnu = "warn_unused_result";
+ alignment: Alignment,
};
+ pub const warn_unused_result = struct {};
pub const warning = struct {
- const gnu = "warning";
- const Args = struct {
- msg: Value.ByteRange,
- __name_tok: TokenIndex,
- };
- };
- pub const weak = struct {
- const gnu = "weak";
+ msg: Value.ByteRange,
+ __name_tok: TokenIndex,
};
+ pub const weak = struct {};
pub const weakref = struct {
- const gnu = "weakref";
- const Args = struct {
- target: ?Value.ByteRange = null,
- };
+ target: ?Value.ByteRange = null,
};
pub const zero_call_used_regs = struct {
- const gnu = "zero_call_used_regs";
- const Args = struct {
- choice: enum {
- skip,
- used,
- @"used-gpr",
- @"used-arg",
- @"used-gpr-arg",
- all,
- @"all-gpr",
- @"all-arg",
- @"all-gpr-arg",
-
- const opts = struct {
- const enum_kind = .string;
- };
- },
- };
+ choice: enum {
+ skip,
+ used,
+ @"used-gpr",
+ @"used-arg",
+ @"used-gpr-arg",
+ all,
+ @"all-gpr",
+ @"all-arg",
+ @"all-gpr-arg",
+
+ const opts = struct {
+ const enum_kind = .string;
+ };
+ },
};
pub const asm_label = struct {
- const Args = struct {
- name: Value.ByteRange,
- };
+ name: Value.ByteRange,
};
pub const calling_convention = struct {
- const Args = struct {
- cc: CallingConvention,
- };
+ cc: CallingConvention,
};
};
@@ -899,7 +645,7 @@ pub const Arguments = blk: {
inline for (decls, &union_fields) |decl, *field| {
field.* = .{
.name = decl.name,
- .type = if (@hasDecl(@field(attributes, decl.name), "Args")) @field(attributes, decl.name).Args else void,
+ .type = @field(attributes, decl.name),
.alignment = 0,
};
}
@@ -916,17 +662,16 @@ pub const Arguments = blk: {
pub fn ArgumentsForTag(comptime tag: Tag) type {
const decl = @typeInfo(attributes).Struct.decls[@intFromEnum(tag)];
- return if (@hasDecl(@field(attributes, decl.name), "Args")) @field(attributes, decl.name).Args else void;
+ return @field(attributes, decl.name);
}
pub fn initArguments(tag: Tag, name_tok: TokenIndex) Arguments {
switch (tag) {
inline else => |arg_tag| {
const union_element = @field(attributes, @tagName(arg_tag));
- const has_args = @hasDecl(union_element, "Args");
- const init = if (has_args) std.mem.zeroInit(union_element.Args, .{}) else {};
+ const init = std.mem.zeroInit(union_element, .{});
var args = @unionInit(Arguments, @tagName(arg_tag), init);
- if (has_args and @hasField(@field(attributes, @tagName(arg_tag)).Args, "__name_tok")) {
+ if (@hasField(@field(attributes, @tagName(arg_tag)), "__name_tok")) {
@field(args, @tagName(arg_tag)).__name_tok = name_tok;
}
return args;
@@ -935,56 +680,29 @@ pub fn initArguments(tag: Tag, name_tok: TokenIndex) Arguments {
}
pub fn fromString(kind: Kind, namespace: ?[]const u8, name: []const u8) ?Tag {
- return switch (kind) {
- .c2x => fromStringC2X(namespace, name),
- .declspec => fromStringDeclspec(name),
- .gnu => fromStringGnu(name),
+ const Properties = struct {
+ tag: Tag,
+ gnu: bool = false,
+ declspec: bool = false,
+ c2x: bool = false,
};
-}
+ const attribute_names = @import("Attribute/names.def").with(Properties);
-fn fromStringGnu(name: []const u8) ?Tag {
const normalized = normalize(name);
- const decls = @typeInfo(attributes).Struct.decls;
- @setEvalBranchQuota(3000);
- inline for (decls, 0..) |decl, i| {
- if (@hasDecl(@field(attributes, decl.name), "gnu")) {
- if (mem.eql(u8, @field(attributes, decl.name).gnu, normalized)) {
- return @enumFromInt(i);
- }
- }
- }
- return null;
-}
-
-fn fromStringC2X(namespace: ?[]const u8, name: []const u8) ?Tag {
- const normalized = normalize(name);
- if (namespace) |ns| {
+ const actual_kind: Kind = if (namespace) |ns| blk: {
const normalized_ns = normalize(ns);
if (mem.eql(u8, normalized_ns, "gnu")) {
- return fromStringGnu(normalized);
+ break :blk .gnu;
}
return null;
- }
- const decls = @typeInfo(attributes).Struct.decls;
- inline for (decls, 0..) |decl, i| {
- if (@hasDecl(@field(attributes, decl.name), "c2x")) {
- if (mem.eql(u8, @field(attributes, decl.name).c2x, normalized)) {
- return @enumFromInt(i);
- }
- }
- }
- return null;
-}
+ } else kind;
-fn fromStringDeclspec(name: []const u8) ?Tag {
- const normalized = normalize(name);
- const decls = @typeInfo(attributes).Struct.decls;
- inline for (decls, 0..) |decl, i| {
- if (@hasDecl(@field(attributes, decl.name), "declspec")) {
- if (mem.eql(u8, @field(attributes, decl.name).declspec, normalized)) {
- return @enumFromInt(i);
- }
- }
+ const tag_and_opts = attribute_names.fromName(normalized) orelse return null;
+ switch (actual_kind) {
+ inline else => |tag| {
+ if (@field(tag_and_opts.properties, @tagName(tag)))
+ return tag_and_opts.properties.tag;
+ },
}
return null;
}
deps/aro/Builtins.zig
@@ -1,18 +1,20 @@
const std = @import("std");
const Compilation = @import("Compilation.zig");
const Type = @import("Type.zig");
-const BuiltinFunction = @import("builtins/BuiltinFunction.zig");
-const TypeDescription = @import("builtins/TypeDescription.zig");
+const TypeDescription = @import("Builtins/TypeDescription.zig");
const target_util = @import("target.zig");
const StringId = @import("StringInterner.zig").StringId;
const LangOpts = @import("LangOpts.zig");
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: BuiltinFunction,
+ builtin: Builtin,
};
const NameToTypeMap = std.StringHashMapUnmanaged(Type);
@@ -243,8 +245,8 @@ fn createType(desc: TypeDescription, it: *TypeDescription.TypeIterator, comp: *c
return builder.finish(undefined) catch unreachable;
}
-fn createBuiltin(comp: *const Compilation, builtin: BuiltinFunction, type_arena: std.mem.Allocator) !Type {
- var it = TypeDescription.TypeIterator.init(builtin.param_str);
+fn createBuiltin(comp: *const Compilation, builtin: Builtin, type_arena: std.mem.Allocator) !Type {
+ var it = TypeDescription.TypeIterator.init(builtin.properties.param_str);
const ret_ty_desc = it.next().?;
if (ret_ty_desc.spec == .@"!") {
@@ -252,7 +254,7 @@ fn createBuiltin(comp: *const Compilation, builtin: BuiltinFunction, type_arena:
}
const ret_ty = try createType(ret_ty_desc, &it, comp, type_arena);
var param_count: usize = 0;
- var params: [BuiltinFunction.MaxParamCount]Type.Func.Param = undefined;
+ var params: [Builtin.max_param_count]Type.Func.Param = undefined;
while (it.next()) |desc| : (param_count += 1) {
params[param_count] = .{ .name_tok = 0, .ty = try createType(desc, &it, comp, type_arena), .name = .empty };
}
@@ -265,14 +267,14 @@ fn createBuiltin(comp: *const Compilation, builtin: BuiltinFunction, type_arena:
.params = duped_params,
};
return .{
- .specifier = if (builtin.isVarArgs()) .var_args_func else .func,
+ .specifier = if (builtin.properties.isVarArgs()) .var_args_func else .func,
.data = .{ .func = func },
};
}
/// Asserts that the builtin has already been created
pub fn lookup(b: *const Builtins, name: []const u8) Expanded {
- const builtin = BuiltinFunction.fromName(name).?;
+ const builtin = Builtin.fromName(name).?;
const ty = b._name_to_type_map.get(name).?;
return .{
.builtin = builtin,
@@ -282,7 +284,7 @@ pub fn lookup(b: *const Builtins, name: []const u8) Expanded {
pub fn getOrCreate(b: *Builtins, comp: *Compilation, name: []const u8, type_arena: std.mem.Allocator) !?Expanded {
const ty = b._name_to_type_map.get(name) orelse {
- const builtin = BuiltinFunction.fromName(name) orelse return null;
+ const builtin = Builtin.fromName(name) orelse return null;
if (!comp.hasBuiltinFunction(builtin)) return null;
try b._name_to_type_map.ensureUnusedCapacity(comp.gpa, 1);
@@ -294,13 +296,62 @@ pub fn getOrCreate(b: *Builtins, comp: *Compilation, name: []const u8, type_aren
.ty = ty,
};
};
- const builtin = BuiltinFunction.fromName(name).?;
+ const builtin = Builtin.fromName(name).?;
return .{
.builtin = builtin,
.ty = ty,
};
}
+pub const Iterator = struct {
+ index: u16 = 1,
+ name_buf: [Builtin.longest_name]u8 = undefined,
+
+ pub const Entry = struct {
+ /// Memory of this slice is overwritten on every call to `next`
+ name: []const u8,
+ builtin: Builtin,
+ };
+
+ pub fn next(self: *Iterator) ?Entry {
+ if (self.index > Builtin.data.len) return null;
+ const index = self.index;
+ const data_index = index - 1;
+ self.index += 1;
+ return .{
+ .name = Builtin.nameFromUniqueIndex(index, &self.name_buf),
+ .builtin = Builtin.data[data_index],
+ };
+ }
+};
+
+test Iterator {
+ var it = Iterator{};
+
+ var seen = std.StringHashMap(Builtin).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 = Builtin.uniqueIndex(entry.name).?;
+ var buf: [Builtin.longest_name]u8 = undefined;
+ const name_from_index = Builtin.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());
+}
+
test "All builtins" {
var comp = Compilation.init(std.testing.allocator);
defer comp.deinit();
@@ -310,7 +361,7 @@ test "All builtins" {
const type_arena = arena.allocator();
- var builtin_it = BuiltinFunction.BuiltinsIterator{};
+ var builtin_it = Iterator{};
while (builtin_it.next()) |entry| {
const name = try type_arena.dupe(u8, entry.name);
if (try comp.builtins.getOrCreate(&comp, name, type_arena)) |func_ty| {
@@ -334,7 +385,7 @@ test "Allocation failures" {
const type_arena = arena.allocator();
const num_builtins = 40;
- var builtin_it = BuiltinFunction.BuiltinsIterator{};
+ var builtin_it = Iterator{};
for (0..num_builtins) |_| {
const entry = builtin_it.next().?;
_ = try comp.builtins.getOrCreate(&comp, entry.name, type_arena);
deps/aro/CodeGen.zig
@@ -1,7 +1,8 @@
const std = @import("std");
const Allocator = std.mem.Allocator;
const assert = std.debug.assert;
-const BuiltinFunction = @import("builtins/BuiltinFunction.zig");
+const Builtins = @import("Builtins.zig");
+const Builtin = Builtins.Builtin;
const Compilation = @import("Compilation.zig");
const Interner = @import("Interner.zig");
const Ir = @import("Ir.zig");
@@ -1159,10 +1160,10 @@ fn genBoolExpr(c: *CodeGen, base: NodeIndex, true_label: Ir.Ref, false_label: Ir
try c.addBranch(cmp, true_label, false_label);
}
-fn genBuiltinCall(c: *CodeGen, builtin: BuiltinFunction, arg_nodes: []const NodeIndex, ty: Type) Error!Ir.Ref {
+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", .{BuiltinFunction.nameFromTag(builtin.tag).span()});
+ return c.comp.diag.fatalNoSrc("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 {
deps/aro/Compilation.zig
@@ -4,6 +4,7 @@ const mem = std.mem;
const Allocator = mem.Allocator;
const EpochSeconds = std.time.epoch.EpochSeconds;
const Builtins = @import("Builtins.zig");
+const Builtin = Builtins.Builtin;
const Diagnostics = @import("Diagnostics.zig");
const LangOpts = @import("LangOpts.zig");
const Source = @import("Source.zig");
@@ -14,7 +15,6 @@ const Pragma = @import("Pragma.zig");
const StringInterner = @import("StringInterner.zig");
const record_layout = @import("record_layout.zig");
const target_util = @import("target.zig");
-const BuiltinFunction = @import("builtins/BuiltinFunction.zig");
const Compilation = @This();
@@ -238,6 +238,8 @@ pub fn generateBuiltinMacros(comp: *Compilation) !Source {
\\#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| {
@@ -1193,9 +1195,7 @@ pub const IncludeDirIterator = struct {
while (self.next()) |found| {
const path = try std.fs.path.join(allocator, &.{ found.path, filename });
if (self.comp.langopts.ms_extensions) {
- for (path) |*c| {
- if (c.* == '\\') c.* = '/';
- }
+ std.mem.replaceScalar(u8, path, '\\', '/');
}
return .{ .path = path, .kind = found.kind };
}
@@ -1416,11 +1416,11 @@ pub fn hasBuiltin(comp: *const Compilation, name: []const u8) bool {
std.mem.eql(u8, name, "__builtin_offsetof") or
std.mem.eql(u8, name, "__builtin_types_compatible_p")) return true;
- const builtin = BuiltinFunction.fromName(name) orelse return false;
+ const builtin = Builtin.fromName(name) orelse return false;
return comp.hasBuiltinFunction(builtin);
}
-pub fn hasBuiltinFunction(comp: *const Compilation, builtin: BuiltinFunction) bool {
+pub fn hasBuiltinFunction(comp: *const Compilation, builtin: Builtin) bool {
if (!target_util.builtinEnabled(comp.target, builtin.properties.target_set)) return false;
switch (builtin.properties.language) {
@@ -1430,6 +1430,20 @@ pub fn hasBuiltinFunction(comp: *const Compilation, builtin: BuiltinFunction) bo
}
}
+pub const CharUnitSize = enum(u32) {
+ @"1" = 1,
+ @"2" = 2,
+ @"4" = 4,
+
+ pub fn Type(comptime self: CharUnitSize) type {
+ return switch (self) {
+ .@"1" => u8,
+ .@"2" => u16,
+ .@"4" => u32,
+ };
+ }
+};
+
pub const renderErrors = Diagnostics.render;
test "addSourceFromReader" {
deps/aro/Diagnostics.zig
@@ -4,8 +4,9 @@ const Allocator = mem.Allocator;
const Source = @import("Source.zig");
const Compilation = @import("Compilation.zig");
const Attribute = @import("Attribute.zig");
-const BuiltinFunction = @import("builtins/BuiltinFunction.zig");
-const Header = @import("builtins/Properties.zig").Header;
+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;
@@ -51,7 +52,7 @@ pub const Message = struct {
specifier: enum { @"struct", @"union", @"enum" },
},
builtin_with_header: struct {
- builtin: BuiltinFunction.Tag,
+ builtin: Builtin.Tag,
header: Header,
},
invalid_escape: struct {
@@ -69,10 +70,9 @@ pub const Message = struct {
pub const Tag = std.meta.DeclEnum(messages);
-// u4 to avoid any possible packed struct issues
-pub const Kind = enum(u4) { @"fatal error", @"error", note, warning, off, default };
+pub const Kind = enum { @"fatal error", @"error", note, warning, off, default };
-pub const Options = packed struct {
+pub const Options = struct {
// do not directly use these, instead add `const NAME = true;`
all: Kind = .default,
extra: Kind = .default,
@@ -178,6 +178,7 @@ pub const Options = packed struct {
@"invalid-source-encoding": Kind = .default,
@"four-char-constants": Kind = .default,
@"unknown-escape-sequence": Kind = .default,
+ @"invalid-pp-token": Kind = .default,
};
const messages = struct {
@@ -2509,6 +2510,42 @@ const messages = struct {
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) = .{},
@@ -2750,7 +2787,7 @@ pub fn renderMessage(comp: *Compilation, m: anytype, msg: Message) void {
}),
.builtin_with_header => m.print(info.msg, .{
@tagName(msg.extra.builtin_with_header.header),
- BuiltinFunction.nameFromTag(msg.extra.builtin_with_header.builtin).span(),
+ Builtin.nameFromTag(msg.extra.builtin_with_header.builtin).span(),
}),
.invalid_escape => {
if (std.ascii.isPrint(msg.extra.invalid_escape.char)) {
deps/aro/Ir.zig
@@ -552,7 +552,7 @@ fn writeValue(ir: Ir, val_ref: Interner.Ref, color: bool, w: anytype) !void {
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)}),
+ .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)}),
deps/aro/Parser.zig
@@ -17,7 +17,7 @@ const NodeList = std.ArrayList(NodeIndex);
const InitList = @import("InitList.zig");
const Attribute = @import("Attribute.zig");
const CharInfo = @import("CharInfo.zig");
-const CharLiteral = @import("CharLiteral.zig");
+const TextLiteral = @import("TextLiteral.zig");
const Value = @import("Value.zig");
const SymbolStack = @import("SymbolStack.zig");
const Symbol = SymbolStack.Symbol;
@@ -26,7 +26,8 @@ const StringId = @import("StringInterner.zig").StringId;
const number_affixes = @import("number_affixes.zig");
const NumberPrefix = number_affixes.Prefix;
const NumberSuffix = number_affixes.Suffix;
-const BuiltinFunction = @import("builtins/BuiltinFunction.zig");
+const Builtins = @import("Builtins.zig");
+const Builtin = Builtins.Builtin;
const target_util = @import("target.zig");
const Parser = @This();
@@ -467,7 +468,7 @@ 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.retainedString(@"error".msg);
+ 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..]);
try p.errStr(.error_attribute, usage_tok, str);
@@ -477,7 +478,7 @@ 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.retainedString(warning.msg);
+ 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..]);
try p.errStr(.warning_attribute, usage_tok, str);
@@ -492,9 +493,10 @@ 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 retainedString(p: *Parser, range: Value.ByteRange) []const u8 {
- return range.slice(p.retained_strings.items);
+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 {
@@ -510,7 +512,7 @@ fn errDeprecated(p: *Parser, tag: Diagnostics.Tag, tok_i: TokenIndex, msg: ?Valu
};
try w.writeAll(reason);
if (msg) |m| {
- const str = p.retainedString(m);
+ const str = p.attributeMessageString(m);
try w.print(": {s}", .{str});
}
const str = try p.comp.diag.arena.allocator().dupe(u8, p.strings.items[strings_top..]);
@@ -901,7 +903,7 @@ fn decl(p: *Parser) Error!bool {
break :blk DeclSpec{ .ty = try spec.finish(p) };
};
if (decl_spec.noreturn) |tok| {
- const attr = Attribute{ .tag = .noreturn, .args = .{ .noreturn = {} }, .syntax = .keyword };
+ const attr = Attribute{ .tag = .noreturn, .args = .{ .noreturn = .{} }, .syntax = .keyword };
try p.attr_buf.append(p.gpa, .{ .attr = attr, .tok = tok });
}
var init_d = (try p.initDeclarator(&decl_spec, attr_buf_top)) orelse {
@@ -985,7 +987,7 @@ fn decl(p: *Parser) Error!bool {
const attr_buf_top_declarator = p.attr_buf.len;
defer p.attr_buf.len = attr_buf_top_declarator;
- var d = (try p.declarator(param_decl_spec.ty, .normal)) orelse {
+ var d = (try p.declarator(param_decl_spec.ty, .param)) orelse {
try p.errTok(.missing_declaration, first_tok);
_ = try p.expectToken(.semicolon);
continue :param_loop;
@@ -1152,17 +1154,13 @@ fn staticAssertMessage(p: *Parser, cond_node: NodeIndex, message: Result) !?[]co
try buf.appendSlice(")'");
}
if (message.node != .none) {
+ assert(p.nodes.items(.tag)[@intFromEnum(message.node)] == .string_literal_expr);
if (buf.items.len > 0) {
try buf.append(' ');
}
- const data = message.val.data.bytes;
- try buf.ensureUnusedCapacity(data.len());
- try Tree.dumpStr(
- p.retained_strings.items,
- data,
- p.nodes.items(.tag)[@intFromEnum(message.node)],
- buf.writer(),
- );
+ 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());
}
return try p.comp.diag.arena.allocator().dupe(u8, buf.items);
}
@@ -1183,6 +1181,7 @@ fn staticAssert(p: *Parser) Error!bool {
.string_literal_utf_8,
.string_literal_utf_32,
.string_literal_wide,
+ .unterminated_string_literal,
=> try p.stringLiteral(),
else => {
try p.err(.expected_str_literal);
@@ -2366,7 +2365,9 @@ fn enumSpec(p: *Parser) Error!Type {
// check if this is a reference to a previous type
const interned_name = try p.comp.intern(p.tokSlice(ident));
if (try p.syms.findTag(p, interned_name, .keyword_enum, ident, p.tok_ids[p.tok_i])) |prev| {
- try p.checkEnumFixedTy(fixed_ty, ident, prev);
+ // only check fixed underlying type in forward declarations and not in references.
+ if (p.tok_ids[p.tok_i] == .semicolon)
+ try p.checkEnumFixedTy(fixed_ty, ident, prev);
return prev.ty;
} else {
// this is a forward declaration, create a new enum Type.
@@ -3952,7 +3953,7 @@ fn assembly(p: *Parser, kind: enum { global, decl_label, stmt }) Error!?NodeInde
fn asmStr(p: *Parser) Error!Result {
var i = p.tok_i;
while (true) : (i += 1) switch (p.tok_ids[i]) {
- .string_literal => {},
+ .string_literal, .unterminated_string_literal => {},
.string_literal_utf_16, .string_literal_utf_8, .string_literal_utf_32 => {
try p.errStr(.invalid_asm_str, p.tok_i, "unicode");
return error.ParsingFailed;
@@ -4607,7 +4608,7 @@ const CallExpr = union(enum) {
standard: NodeIndex,
builtin: struct {
node: NodeIndex,
- tag: BuiltinFunction.Tag,
+ tag: Builtin.Tag,
},
fn init(p: *Parser, call_node: NodeIndex, func_node: NodeIndex) CallExpr {
@@ -4624,9 +4625,9 @@ const CallExpr = union(enum) {
return switch (self) {
.standard => true,
.builtin => |builtin| switch (builtin.tag) {
- BuiltinFunction.tagFromName("__builtin_va_start").?,
- BuiltinFunction.tagFromName("__va_start").?,
- BuiltinFunction.tagFromName("va_start").?,
+ Builtin.tagFromName("__builtin_va_start").?,
+ Builtin.tagFromName("__va_start").?,
+ Builtin.tagFromName("va_start").?,
=> arg_idx != 1,
else => true,
},
@@ -4637,11 +4638,11 @@ const CallExpr = union(enum) {
return switch (self) {
.standard => true,
.builtin => |builtin| switch (builtin.tag) {
- BuiltinFunction.tagFromName("__builtin_va_start").?,
- BuiltinFunction.tagFromName("__va_start").?,
- BuiltinFunction.tagFromName("va_start").?,
+ Builtin.tagFromName("__builtin_va_start").?,
+ Builtin.tagFromName("__va_start").?,
+ Builtin.tagFromName("va_start").?,
=> arg_idx != 1,
- BuiltinFunction.tagFromName("__builtin_complex").? => false,
+ Builtin.tagFromName("__builtin_complex").? => false,
else => true,
},
};
@@ -4658,11 +4659,11 @@ const CallExpr = union(enum) {
const builtin_tok = p.nodes.items(.data)[@intFromEnum(self.builtin.node)].decl.name;
switch (self.builtin.tag) {
- BuiltinFunction.tagFromName("__builtin_va_start").?,
- BuiltinFunction.tagFromName("__va_start").?,
- BuiltinFunction.tagFromName("va_start").?,
+ Builtin.tagFromName("__builtin_va_start").?,
+ Builtin.tagFromName("__va_start").?,
+ Builtin.tagFromName("va_start").?,
=> return p.checkVaStartArg(builtin_tok, first_after, param_tok, arg, arg_idx),
- BuiltinFunction.tagFromName("__builtin_complex").? => return p.checkComplexArg(builtin_tok, first_after, param_tok, arg, arg_idx),
+ Builtin.tagFromName("__builtin_complex").? => return p.checkComplexArg(builtin_tok, first_after, param_tok, arg, arg_idx),
else => {},
}
}
@@ -4676,7 +4677,7 @@ const CallExpr = union(enum) {
return switch (self) {
.standard => null,
.builtin => |builtin| switch (builtin.tag) {
- BuiltinFunction.tagFromName("__builtin_complex").? => 2,
+ Builtin.tagFromName("__builtin_complex").? => 2,
else => null,
},
};
@@ -4686,7 +4687,7 @@ const CallExpr = union(enum) {
return switch (self) {
.standard => callable_ty.returnType(),
.builtin => |builtin| switch (builtin.tag) {
- BuiltinFunction.tagFromName("__builtin_complex").? => {
+ Builtin.tagFromName("__builtin_complex").? => {
const last_param = p.list_buf.items[p.list_buf.items.len - 1];
return p.nodes.items(.ty)[@intFromEnum(last_param)].makeComplex();
},
@@ -6343,7 +6344,14 @@ fn typesCompatible(p: *Parser) Error!Result {
try p.expectClosing(l_paren, .r_paren);
- const compatible = first.compatible(second, p.comp);
+ var first_unqual = first.canonicalize(.standard);
+ first_unqual.qual.@"const" = false;
+ first_unqual.qual.@"volatile" = false;
+ var second_unqual = second.canonicalize(.standard);
+ second_unqual.qual.@"const" = false;
+ second_unqual.qual.@"volatile" = false;
+
+ const compatible = first_unqual.eql(second_unqual, p.comp, true);
var res = Result{
.val = Value.int(@intFromBool(compatible)),
@@ -7122,7 +7130,7 @@ 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: BuiltinFunction.Tag) !void {
+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 => {},
@@ -7460,12 +7468,15 @@ fn primaryExpr(p: *Parser) Error!Result {
.string_literal_utf_8,
.string_literal_utf_32,
.string_literal_wide,
+ .unterminated_string_literal,
=> return p.stringLiteral(),
.char_literal,
.char_literal_utf_8,
.char_literal_utf_16,
.char_literal_utf_32,
.char_literal_wide,
+ .empty_char_literal,
+ .unterminated_char_literal,
=> return p.charLiteral(),
.zero => {
p.tok_i += 1;
@@ -7522,131 +7533,123 @@ fn makePredefinedIdentifier(p: *Parser, start: u32) !Result {
}
fn stringLiteral(p: *Parser) Error!Result {
- var start = p.tok_i;
- // use 1 for wchar_t
- var width: ?u8 = null;
- var is_u8_literal = false;
- while (true) {
- switch (p.tok_ids[p.tok_i]) {
- .string_literal => {},
- .string_literal_utf_16 => if (width) |some| {
- if (some != 16) try p.err(.unsupported_str_cat);
- } else {
- width = 16;
- },
- .string_literal_utf_8 => {
- is_u8_literal = true;
- if (width) |some| {
- if (some != 8) try p.err(.unsupported_str_cat);
- } else {
- width = 8;
+ 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) {
+ 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) {}
+ return error.ParsingFailed;
+ };
+ if (string_kind == .unterminated) {
+ try p.errTok(.unterminated_string_literal_error, string_end);
+ p.tok_i = string_end + 1;
+ return error.ParsingFailed;
+ }
+ }
+ assert(string_end > p.tok_i);
+
+ 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);
+
+ 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 slice = this_kind.contentSlice(p.tokSlice(p.tok_i));
+ var char_literal_parser = TextLiteral.Parser.init(slice, this_kind, 0x10ffff, p.comp);
+
+ try p.retained_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)),
+ .@"2" => {
+ const word: u16 = @intCast(v);
+ p.retained_strings.appendSliceAssumeCapacity(mem.asBytes(&word));
+ },
+ .@"4" => p.retained_strings.appendSliceAssumeCapacity(mem.asBytes(&v)),
}
},
- .string_literal_utf_32 => if (width) |some| {
- if (some != 32) try p.err(.unsupported_str_cat);
- } else {
- width = 32;
+ .codepoint => |c| {
+ switch (char_width) {
+ .@"1" => {
+ var buf: [4]u8 = undefined;
+ const written = std.unicode.utf8Encode(c, &buf) catch unreachable;
+ const encoded = buf[0..written];
+ p.retained_strings.appendSliceAssumeCapacity(encoded);
+ },
+ .@"2" => {
+ var utf16_buf: [2]u16 = undefined;
+ var utf8_buf: [4]u8 = undefined;
+ 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);
+ },
+ .@"4" => {
+ const val: u32 = c;
+ p.retained_strings.appendSliceAssumeCapacity(mem.asBytes(&val));
+ },
+ }
},
- .string_literal_wide => if (width) |some| {
- if (some != 1) try p.err(.unsupported_str_cat);
- } else {
- width = 1;
+ .improperly_encoded => |bytes| p.retained_strings.appendSliceAssumeCapacity(bytes),
+ .utf8_text => |view| {
+ switch (char_width) {
+ .@"1" => p.retained_strings.appendSliceAssumeCapacity(view.bytes),
+ .@"2" => {
+ var capacity_slice: []align(@alignOf(u16)) u8 = @alignCast(p.retained_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 words_written = std.unicode.utf8ToUtf16Le(dest, view.bytes) catch unreachable;
+ p.retained_strings.resize(p.retained_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));
+ }
+ },
+ }
},
- else => break,
- }
- p.tok_i += 1;
- }
- if (width == null) width = 8;
- if (width.? != 8) return p.todo("unicode string literals");
-
- const string_start = p.retained_strings.items.len;
- while (start < p.tok_i) : (start += 1) {
- var slice = p.tokSlice(start);
- slice = slice[0 .. slice.len - 1];
- var i = mem.indexOf(u8, slice, "\"").? + 1;
- try p.retained_strings.ensureUnusedCapacity(slice.len);
- while (i < slice.len) : (i += 1) {
- switch (slice[i]) {
- '\\' => {
- i += 1;
- switch (slice[i]) {
- '\n' => i += 1,
- '\r' => i += 2,
- '\'', '\"', '\\', '?' => |c| p.retained_strings.appendAssumeCapacity(c),
- 'n' => p.retained_strings.appendAssumeCapacity('\n'),
- 'r' => p.retained_strings.appendAssumeCapacity('\r'),
- 't' => p.retained_strings.appendAssumeCapacity('\t'),
- 'a' => p.retained_strings.appendAssumeCapacity(0x07),
- 'b' => p.retained_strings.appendAssumeCapacity(0x08),
- 'e' => {
- try p.errExtra(.non_standard_escape_char, start, .{ .invalid_escape = .{ .char = 'e', .offset = @intCast(i) } });
- p.retained_strings.appendAssumeCapacity(0x1B);
- },
- 'f' => p.retained_strings.appendAssumeCapacity(0x0C),
- 'v' => p.retained_strings.appendAssumeCapacity(0x0B),
- 'x' => p.retained_strings.appendAssumeCapacity(try p.parseNumberEscape(start, 16, slice, &i)),
- '0'...'7' => p.retained_strings.appendAssumeCapacity(try p.parseNumberEscape(start, 8, slice, &i)),
- 'u' => try p.parseUnicodeEscape(start, 4, slice, &i),
- 'U' => try p.parseUnicodeEscape(start, 8, slice, &i),
- else => unreachable,
- }
- },
- else => |c| p.retained_strings.appendAssumeCapacity(c),
- }
+ };
+ for (char_literal_parser.errors.constSlice()) |item| {
+ try p.errExtra(item.tag, p.tok_i, item.extra);
}
}
- try p.retained_strings.append(0);
- const slice = p.retained_strings.items[string_start..];
+ p.retained_strings.appendNTimesAssumeCapacity(0, @intFromEnum(char_width));
+ const slice = p.retained_strings.items[retain_start..];
const arr_ty = try p.arena.create(Type.Array);
- const specifier: Type.Specifier = if (is_u8_literal and p.comp.langopts.hasChar8_T()) .uchar else .char;
-
- arr_ty.* = .{ .elem = .{ .specifier = specifier }, .len = slice.len };
+ arr_ty.* = .{ .elem = string_kind.elementType(p.comp), .len = @divExact(slice.len, @intFromEnum(char_width)) };
var res: Result = .{
.ty = .{
.specifier = .array,
.data = .{ .array = arr_ty },
},
- .val = Value.bytes(@intCast(string_start), @intCast(p.retained_strings.items.len)),
+ .val = Value.bytes(@intCast(retain_start), @intCast(p.retained_strings.items.len)),
};
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);
return res;
}
-fn parseNumberEscape(p: *Parser, tok: TokenIndex, base: u8, slice: []const u8, i: *usize) !u8 {
- if (base == 16) i.* += 1; // skip x
- var char: u8 = 0;
- var reported = false;
- while (i.* < slice.len) : (i.* += 1) {
- const val = std.fmt.charToDigit(slice[i.*], base) catch break; // validated by Tokenizer
- const product, const overflowed = @mulWithOverflow(char, base);
- if (overflowed != 0 and !reported) {
- try p.errExtra(.escape_sequence_overflow, tok, .{ .unsigned = i.* });
- reported = true;
- }
- char = product + val;
- }
- i.* -= 1;
- return char;
-}
-
-fn parseUnicodeEscape(p: *Parser, tok: TokenIndex, count: u8, slice: []const u8, i: *usize) !void {
- const c = std.fmt.parseInt(u21, slice[i.* + 1 ..][0..count], 16) catch 0x110000; // count validated by tokenizer
- i.* += count + 1;
- if (!std.unicode.utf8ValidCodepoint(c) or (c < 0xa0 and c != '$' and c != '@' and c != '`')) {
- try p.errExtra(.invalid_universal_character, tok, .{ .unsigned = i.* - count - 2 });
- return;
- }
- var buf: [4]u8 = undefined;
- const to_write = std.unicode.utf8Encode(c, &buf) catch unreachable; // validated above
- p.retained_strings.appendSliceAssumeCapacity(buf[0..to_write]);
-}
-
fn charLiteral(p: *Parser) Error!Result {
defer p.tok_i += 1;
const tok_id = p.tok_ids[p.tok_i];
- const char_kind = CharLiteral.Kind.classify(tok_id);
+ const char_kind = TextLiteral.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) {
+ try p.err(.unterminated_char_literal_error);
+ } else unreachable;
+ return .{
+ .ty = Type.int,
+ .val = Value.int(0),
+ .node = try p.addNode(.{ .tag = .char_literal, .ty = Type.int, .data = undefined }),
+ };
+ };
var val: u32 = 0;
const slice = char_kind.contentSlice(p.tokSlice(p.tok_i));
@@ -7655,7 +7658,8 @@ fn charLiteral(p: *Parser) Error!Result {
// fast path: single unescaped ASCII char
val = slice[0];
} else {
- var char_literal_parser = CharLiteral.Parser.init(slice, char_kind, p.comp);
+ const max_codepoint = char_kind.maxCodepoint(p.comp);
+ var char_literal_parser = TextLiteral.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);
@@ -7663,20 +7667,21 @@ fn charLiteral(p: *Parser) Error!Result {
defer chars.deinit();
while (char_literal_parser.next()) |item| switch (item) {
- .value => |c| try chars.append(c),
+ .value => |v| try chars.append(v),
+ .codepoint => |c| try chars.append(c),
.improperly_encoded => |s| {
try chars.ensureUnusedCapacity(s.len);
for (s) |c| chars.appendAssumeCapacity(c);
},
.utf8_text => |view| {
var it = view.iterator();
- var max_codepoint: u21 = 0;
+ var max_codepoint_seen: u21 = 0;
try chars.ensureUnusedCapacity(view.bytes.len);
while (it.nextCodepoint()) |c| {
- max_codepoint = @max(max_codepoint, c);
+ max_codepoint_seen = @max(max_codepoint_seen, c);
chars.appendAssumeCapacity(c);
}
- if (max_codepoint > char_kind.maxCodepoint(p.comp)) {
+ if (max_codepoint_seen > max_codepoint) {
char_literal_parser.err(.char_too_large, .{ .none = {} });
}
},
deps/aro/Preprocessor.zig
@@ -266,6 +266,15 @@ pub fn addIncludeResume(pp: *Preprocessor, source: Source.Id, offset: u32, line:
} });
}
+fn invalidTokenDiagnostic(tok_id: Token.Id) Diagnostics.Tag {
+ return switch (tok_id) {
+ .unterminated_string_literal => .unterminated_string_literal_warning,
+ .empty_char_literal => .empty_char_literal_warning,
+ .unterminated_char_literal => .unterminated_char_literal_warning,
+ else => unreachable,
+ };
+}
+
/// Return the name of the #ifndef guard macro that starts a source, if any.
fn findIncludeGuard(pp: *Preprocessor, source: Source) ?[]const u8 {
var tokenizer = Tokenizer{
@@ -631,6 +640,12 @@ fn preprocessExtra(pp: *Preprocessor, source: Source) MacroError!Token {
}
return tokFromRaw(tok);
},
+ .unterminated_string_literal, .unterminated_char_literal, .empty_char_literal => |tag| {
+ start_of_line = false;
+ try pp.err(tok, invalidTokenDiagnostic(tag));
+ try pp.expandMacro(&tokenizer, tok);
+ },
+ .unterminated_comment => try pp.err(tok, .unterminated_comment),
else => {
if (tok.id.isMacroIdentifier() and pp.poisoned_identifiers.get(pp.tokSlice(tok)) != null) {
try pp.err(tok, .poisoned_identifier);
@@ -1239,7 +1254,7 @@ fn reconstructIncludeString(pp: *Preprocessor, param_toks: []const Token) !?[]co
}
for (params) |tok| {
- const str = pp.expandedSliceExtra(tok, .preserve_macro_ws, false);
+ const str = pp.expandedSliceExtra(tok, .preserve_macro_ws);
try pp.char_buf.appendSlice(str);
}
@@ -1985,12 +2000,7 @@ fn expandMacro(pp: *Preprocessor, tokenizer: *Tokenizer, raw: RawToken) MacroErr
}
}
-fn expandedSliceExtra(
- pp: *const Preprocessor,
- tok: Token,
- macro_ws_handling: enum { single_macro_ws, preserve_macro_ws },
- path_escapes: bool,
-) []const u8 {
+fn expandedSliceExtra(pp: *const Preprocessor, tok: Token, macro_ws_handling: enum { single_macro_ws, preserve_macro_ws }) []const u8 {
if (tok.id.lexeme()) |some| {
if (!tok.id.allowsDigraphs(pp.comp) and !(tok.id == .macro_ws and macro_ws_handling == .preserve_macro_ws)) return some;
}
@@ -1999,7 +2009,6 @@ fn expandedSliceExtra(
.comp = pp.comp,
.index = tok.loc.byte_offset,
.source = .generated,
- .path_escapes = path_escapes,
};
if (tok.id == .macro_string) {
while (true) : (tmp_tokenizer.index += 1) {
@@ -2013,7 +2022,7 @@ fn expandedSliceExtra(
/// Get expanded token source string.
pub fn expandedSlice(pp: *Preprocessor, tok: Token) []const u8 {
- return pp.expandedSliceExtra(tok, .single_macro_ws, false);
+ return pp.expandedSliceExtra(tok, .single_macro_ws);
}
/// Concat two tokens and add the result to pp.generated
@@ -2182,6 +2191,11 @@ fn define(pp: *Preprocessor, tokenizer: *Tokenizer) Error!void {
try pp.token_buf.append(tok);
},
.whitespace => need_ws = true,
+ .unterminated_string_literal, .unterminated_char_literal, .empty_char_literal => |tag| {
+ try pp.err(tok, invalidTokenDiagnostic(tag));
+ try pp.token_buf.append(tok);
+ },
+ .unterminated_comment => try pp.err(tok, .unterminated_comment),
else => {
if (tok.id != .whitespace and need_ws) {
need_ws = false;
@@ -2323,6 +2337,11 @@ fn defineFn(pp: *Preprocessor, tokenizer: *Tokenizer, macro_name: RawToken, l_pa
}
try pp.token_buf.append(tok);
},
+ .unterminated_string_literal, .unterminated_char_literal, .empty_char_literal => |tag| {
+ try pp.err(tok, invalidTokenDiagnostic(tag));
+ try pp.token_buf.append(tok);
+ },
+ .unterminated_comment => try pp.err(tok, .unterminated_comment),
else => {
if (tok.id != .whitespace and need_ws) {
need_ws = false;
@@ -2368,8 +2387,6 @@ fn defineFn(pp: *Preprocessor, tokenizer: *Tokenizer, macro_name: RawToken, l_pa
/// Handle an #embed directive
fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {
- tokenizer.path_escapes = true;
- defer tokenizer.path_escapes = false;
const first = tokenizer.nextNoWS();
const filename_tok = pp.findIncludeFilenameToken(first, tokenizer, .expect_nl_eof) catch |er| switch (er) {
error.InvalidInclude => return,
@@ -2377,7 +2394,7 @@ fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {
};
// Check for empty filename.
- const tok_slice = pp.expandedSliceExtra(filename_tok, .single_macro_ws, true);
+ const tok_slice = pp.expandedSliceExtra(filename_tok, .single_macro_ws);
if (tok_slice.len < 3) {
try pp.err(first, .empty_filename);
return;
@@ -2419,8 +2436,6 @@ fn embed(pp: *Preprocessor, tokenizer: *Tokenizer) MacroError!void {
// Handle a #include directive.
fn include(pp: *Preprocessor, tokenizer: *Tokenizer, which: Compilation.WhichInclude) MacroError!void {
- tokenizer.path_escapes = true;
- defer tokenizer.path_escapes = false;
const first = tokenizer.nextNoWS();
const new_source = findIncludeSource(pp, tokenizer, first, which) catch |er| switch (er) {
error.InvalidInclude => return,
@@ -2586,7 +2601,7 @@ fn findIncludeSource(pp: *Preprocessor, tokenizer: *Tokenizer, first: RawToken,
const filename_tok = try pp.findIncludeFilenameToken(first, tokenizer, .expect_nl_eof);
// Check for empty filename.
- const tok_slice = pp.expandedSliceExtra(filename_tok, .single_macro_ws, true);
+ const tok_slice = pp.expandedSliceExtra(filename_tok, .single_macro_ws);
if (tok_slice.len < 3) {
try pp.err(first, .empty_filename);
return error.InvalidInclude;
deps/aro/Source.zig
@@ -74,7 +74,10 @@ pub fn lineCol(source: Source, loc: Location) LineCol {
i += 1;
continue;
};
- const cp = std.unicode.utf8Decode(source.buf[i..][0..len]) catch unreachable;
+ const cp = std.unicode.utf8Decode(source.buf[i..][0..len]) catch {
+ i += 1;
+ continue;
+ };
width += codepointWidth(cp);
i += len;
}
deps/aro/SymbolStack.zig
@@ -197,7 +197,7 @@ pub fn defineSymbol(
},
.decl => if (names[i] == name) {
const prev_ty = s.syms.items(.ty)[i];
- if (!ty.eql(prev_ty, p.comp, true)) { // TODO adjusted equality check
+ if (!ty.eql(prev_ty, p.comp, true)) {
try p.errStr(.redefinition_incompatible, tok, p.tokSlice(tok));
try p.errTok(.previous_definition, s.syms.items(.tok)[i]);
}
@@ -243,7 +243,7 @@ pub fn declareSymbol(
},
.decl => if (names[i] == name) {
const prev_ty = s.syms.items(.ty)[i];
- if (!ty.eql(prev_ty, p.comp, true)) { // TODO adjusted equality check
+ if (!ty.eql(prev_ty, p.comp, true)) {
try p.errStr(.redefinition_incompatible, tok, p.tokSlice(tok));
try p.errTok(.previous_definition, s.syms.items(.tok)[i]);
}
@@ -251,7 +251,7 @@ pub fn declareSymbol(
},
.def, .constexpr => if (names[i] == name) {
const prev_ty = s.syms.items(.ty)[i];
- if (!ty.eql(prev_ty, p.comp, true)) { // TODO adjusted equality check
+ if (!ty.eql(prev_ty, p.comp, true)) {
try p.errStr(.redefinition_incompatible, tok, p.tokSlice(tok));
try p.errTok(.previous_definition, s.syms.items(.tok)[i]);
break;
deps/aro/target.zig
@@ -2,7 +2,7 @@ const std = @import("std");
const LangOpts = @import("LangOpts.zig");
const Type = @import("Type.zig");
const llvm = @import("zig").codegen.llvm;
-const TargetSet = @import("builtins/Properties.zig").TargetSet;
+const TargetSet = @import("Builtins/Properties.zig").TargetSet;
/// intmax_t for this target
pub fn intMaxType(target: std.Target) Type {
@@ -349,8 +349,7 @@ pub fn isCygwinMinGW(target: std.Target) bool {
}
pub fn builtinEnabled(target: std.Target, enabled_for: TargetSet) bool {
- var copy = enabled_for;
- var it = copy.iterator();
+ var it = enabled_for.iterator();
while (it.next()) |val| {
switch (val) {
.basic => return true,
deps/aro/TextLiteral.zig
@@ -0,0 +1,371 @@
+//! Parsing and classification of string and character literals
+
+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 hex or character escape
+ value: u32,
+ /// validated unicode codepoint
+ codepoint: u21,
+ /// 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,
+ /// Error kind that halts parsing
+ unterminated,
+
+ pub fn classify(id: Tokenizer.Token.Id, context: enum { string_literal, char_literal }) ?Kind {
+ return switch (context) {
+ .string_literal => switch (id) {
+ .string_literal => .char,
+ .string_literal_utf_8 => .utf_8,
+ .string_literal_wide => .wide,
+ .string_literal_utf_16 => .utf_16,
+ .string_literal_utf_32 => .utf_32,
+ .unterminated_string_literal => .unterminated,
+ else => null,
+ },
+ .char_literal => switch (id) {
+ .char_literal => .char,
+ .char_literal_utf_8 => .utf_8,
+ .char_literal_wide => .wide,
+ .char_literal_utf_16 => .utf_16,
+ .char_literal_utf_32 => .utf_32,
+ else => null,
+ },
+ };
+ }
+
+ /// Should only be called for string literals. Determines the result kind of two adjacent string
+ /// literals
+ pub fn concat(self: Kind, other: Kind) !Kind {
+ if (self == .unterminated or other == .unterminated) return .unterminated;
+ if (self == other) return self; // can always concat with own kind
+ if (self == .char) return other; // char + X -> X
+ if (other == .char) return self; // X + char -> X
+ return error.CannotConcat;
+ }
+
+ /// 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,
+ .unterminated => unreachable,
+ });
+ }
+
+ /// 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),
+ .unterminated => unreachable,
+ });
+ }
+
+ /// The C type of a character literal of this kind
+ 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,
+ .unterminated => unreachable,
+ };
+ }
+
+ /// Return the actual contents of the 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],
+ .unterminated => unreachable,
+ };
+ }
+
+ /// The size of a character unit for a string literal of this kind
+ pub fn charUnitSize(kind: Kind, comp: *const Compilation) Compilation.CharUnitSize {
+ return switch (kind) {
+ .char => .@"1",
+ .wide => switch (comp.types.wchar.sizeof(comp).?) {
+ 2 => .@"2",
+ 4 => .@"4",
+ else => unreachable,
+ },
+ .utf_8 => .@"1",
+ .utf_16 => .@"2",
+ .utf_32 => .@"4",
+ .unterminated => unreachable,
+ };
+ }
+
+ /// Required alignment within aro (on compiler host) for writing to retained_strings
+ pub fn internalStorageAlignment(kind: Kind, comp: *const Compilation) usize {
+ return switch (kind.charUnitSize(comp)) {
+ inline else => |size| @alignOf(size.Type()),
+ };
+ }
+
+ /// The C type of an element of a string literal of this kind
+ pub fn elementType(kind: Kind, comp: *const Compilation) Type {
+ return switch (kind) {
+ .unterminated => unreachable,
+ .char => .{ .specifier = .char },
+ .utf_8 => if (comp.langopts.hasChar8_T()) .{ .specifier = .uchar } else .{ .specifier = .char },
+ else => kind.charLiteralType(comp),
+ };
+ }
+};
+
+pub const Parser = struct {
+ literal: []const u8,
+ i: usize = 0,
+ kind: Kind,
+ max_codepoint: u21,
+ /// 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, max_codepoint: u21, comp: *const Compilation) Parser {
+ return .{
+ .literal = literal,
+ .comp = comp,
+ .kind = kind,
+ .max_codepoint = max_codepoint,
+ };
+ }
+
+ fn prefixLen(self: *const Parser) usize {
+ return switch (self.kind) {
+ .unterminated => unreachable,
+ .char => 0,
+ .utf_8 => 2,
+ .wide, .utf_16, .utf_32 => 1,
+ };
+ }
+
+ pub fn err(self: *Parser, tag: Diagnostics.Tag, extra: Diagnostics.Message.Extra) void {
+ if (self.errored) return;
+ self.errored = true;
+ const diagnostic = .{ .tag = tag, .extra = extra };
+ self.errors.append(diagnostic) catch {
+ _ = self.errors.pop();
+ self.errors.append(diagnostic) catch unreachable;
+ };
+ }
+
+ 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 = {} });
+ return null;
+ }
+ 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 + self.prefixLen() });
+ 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 + self.prefixLen() });
+ return null;
+ }
+
+ if (val > self.max_codepoint) {
+ self.err(.char_too_large, .{ .none = {} });
+ return null;
+ }
+
+ 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 .{ .codepoint = @intCast(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;
+ const start = self.i;
+ 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 = start + self.prefixLen() });
+ return 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/Tokenizer.zig
@@ -30,6 +30,10 @@ pub const Token = struct {
string_literal_utf_32,
string_literal_wide,
+ /// Any string literal with an embedded newline or EOF
+ /// Always a parser error; by default just a warning from preprocessor
+ unterminated_string_literal,
+
// <foobar> only generated by preprocessor
macro_string,
@@ -40,6 +44,17 @@ pub const Token = struct {
char_literal_utf_32,
char_literal_wide,
+ /// Any character literal with nothing inside the quotes
+ /// Always a parser error; by default just a warning from preprocessor
+ empty_char_literal,
+
+ /// Any character literal with an embedded newline or EOF
+ /// Always a parser error; by default just a warning from preprocessor
+ unterminated_char_literal,
+
+ /// `/* */` style comment without a closing `*/` before EOF
+ unterminated_comment,
+
/// Integer literal tokens generated by preprocessor.
one,
zero,
@@ -470,6 +485,7 @@ pub const Token = struct {
return switch (id) {
.include_start,
.include_resume,
+ .unterminated_comment, // Fatal error; parsing should not be attempted
=> unreachable,
.invalid,
@@ -480,6 +496,9 @@ pub const Token = struct {
.string_literal_utf_8,
.string_literal_utf_32,
.string_literal_wide,
+ .unterminated_string_literal,
+ .unterminated_char_literal,
+ .empty_char_literal,
.char_literal,
.char_literal_utf_8,
.char_literal_utf_16,
@@ -984,8 +1003,6 @@ index: u32 = 0,
source: Source.Id,
comp: *const Compilation,
line: u32 = 1,
-/// Used to parse include strings with Windows style paths.
-path_escapes: bool = false,
pub fn next(self: *Tokenizer) Token {
var state: enum {
@@ -996,14 +1013,10 @@ pub fn next(self: *Tokenizer) Token {
U,
L,
string_literal,
- path_escape,
char_literal_start,
char_literal,
char_escape_sequence,
- escape_sequence,
- octal_escape,
- hex_escape,
- unicode_escape,
+ string_escape_sequence,
identifier,
extended_identifier,
equal,
@@ -1038,8 +1051,6 @@ pub fn next(self: *Tokenizer) Token {
var start = self.index;
var id: Token.Id = .eof;
- var return_state = state;
- var counter: u32 = 0;
while (self.index < self.buf.len) : (self.index += 1) {
const c = self.buf[self.index];
switch (state) {
@@ -1219,29 +1230,30 @@ pub fn next(self: *Tokenizer) Token {
},
.string_literal => switch (c) {
'\\' => {
- return_state = .string_literal;
- state = if (self.path_escapes) .path_escape else .escape_sequence;
+ state = .string_escape_sequence;
},
'"' => {
self.index += 1;
break;
},
'\n' => {
- id = .invalid;
+ id = .unterminated_string_literal;
break;
},
'\r' => unreachable,
else => {},
},
- .path_escape => {
- state = .string_literal;
- },
.char_literal_start => switch (c) {
'\\' => {
state = .char_escape_sequence;
},
- '\'', '\n' => {
- id = .invalid;
+ '\'' => {
+ id = .empty_char_literal;
+ self.index += 1;
+ break;
+ },
+ '\n' => {
+ id = .unterminated_char_literal;
break;
},
else => {
@@ -1257,7 +1269,7 @@ pub fn next(self: *Tokenizer) Token {
break;
},
'\n' => {
- id = .invalid;
+ id = .unterminated_char_literal;
break;
},
else => {},
@@ -1266,55 +1278,9 @@ pub fn next(self: *Tokenizer) Token {
'\r', '\n' => unreachable, // removed by line splicing
else => state = .char_literal,
},
- .escape_sequence => switch (c) {
- '\'', '"', '?', '\\', 'a', 'b', 'e', 'f', 'n', 'r', 't', 'v' => {
- state = return_state;
- },
+ .string_escape_sequence => switch (c) {
'\r', '\n' => unreachable, // removed by line splicing
- '0'...'7' => {
- counter = 1;
- state = .octal_escape;
- },
- 'x' => state = .hex_escape,
- 'u' => {
- counter = 4;
- state = .unicode_escape;
- },
- 'U' => {
- counter = 8;
- state = .unicode_escape;
- },
- else => {
- id = .invalid;
- break;
- },
- },
- .octal_escape => switch (c) {
- '0'...'7' => {
- counter += 1;
- if (counter == 3) state = return_state;
- },
- else => {
- self.index -= 1;
- state = return_state;
- },
- },
- .hex_escape => switch (c) {
- '0'...'9', 'a'...'f', 'A'...'F' => {},
- else => {
- self.index -= 1;
- state = return_state;
- },
- },
- .unicode_escape => switch (c) {
- '0'...'9', 'a'...'f', 'A'...'F' => {
- counter -= 1;
- if (counter == 0) state = return_state;
- },
- else => {
- id = .invalid;
- break;
- },
+ else => state = .string_literal,
},
.identifier, .extended_identifier => switch (c) {
'a'...'z', 'A'...'Z', '_', '0'...'9' => {},
@@ -1732,19 +1698,18 @@ pub fn next(self: *Tokenizer) Token {
.start, .line_comment => {},
.u, .u8, .U, .L, .identifier => id = Token.getTokenId(self.comp, self.buf[start..self.index]),
.extended_identifier => id = .extended_identifier,
- .period2,
- .string_literal,
- .path_escape,
- .char_literal_start,
- .char_literal,
- .escape_sequence,
- .char_escape_sequence,
- .octal_escape,
- .hex_escape,
- .unicode_escape,
+
+ .period2 => {
+ self.index -= 1;
+ id = .period;
+ },
+
.multi_line_comment,
.multi_line_comment_asterisk,
- => id = .invalid,
+ => id = .unterminated_comment,
+
+ .char_escape_sequence, .char_literal, .char_literal_start => id = .unterminated_char_literal,
+ .string_escape_sequence, .string_literal => id = .unterminated_string_literal,
.whitespace => id = .whitespace,
.multi_line_comment_done => id = .whitespace,
@@ -2114,7 +2079,7 @@ test "extended identifiers" {
try expectTokens("0x0\u{E0000}", &.{ .pp_num, .extended_identifier });
try expectTokens("\"\\0\u{E0000}\"", &.{.string_literal});
try expectTokens("\"\\x\u{E0000}\"", &.{.string_literal});
- try expectTokens("\"\\u\u{E0000}\"", &.{ .invalid, .extended_identifier, .invalid });
+ try expectTokens("\"\\u\u{E0000}\"", &.{.string_literal});
try expectTokens("1e\u{E0000}", &.{ .pp_num, .extended_identifier });
try expectTokens("1e1\u{E0000}", &.{ .pp_num, .extended_identifier });
}
deps/aro/Tree.zig
@@ -6,7 +6,6 @@ const Source = @import("Source.zig");
const Attribute = @import("Attribute.zig");
const Value = @import("Value.zig");
const StringInterner = @import("StringInterner.zig");
-const BuiltinFunction = @import("builtins/BuiltinFunction.zig");
const Tree = @This();
@@ -657,17 +656,6 @@ pub fn isLvalExtra(nodes: Node.List.Slice, extra: []const NodeIndex, value_map:
}
}
-pub fn dumpStr(retained_strings: []const u8, range: Value.ByteRange, tag: Tag, writer: anytype) !void {
- switch (tag) {
- .string_literal_expr => {
- const lit_range = range.trim(1); // remove null-terminator
- const str = lit_range.slice(retained_strings);
- try writer.print("\"{}\"", .{std.zig.fmtEscapes(str)});
- },
- else => unreachable,
- }
-}
-
pub fn tokSlice(tree: 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];
@@ -703,12 +691,13 @@ fn dumpAttribute(attr: Attribute, strings: []const u8, writer: anytype) !void {
switch (attr.tag) {
inline else => |tag| {
const args = @field(attr.args, @tagName(tag));
- if (@TypeOf(args) == void) {
+ const fields = @typeInfo(@TypeOf(args)).Struct.fields;
+ if (fields.len == 0) {
try writer.writeByte('\n');
return;
}
try writer.writeByte(' ');
- inline for (@typeInfo(@TypeOf(args)).Struct.fields, 0..) |f, i| {
+ inline for (fields, 0..) |f, i| {
if (comptime std.mem.eql(u8, f.name, "__name_tok")) continue;
if (i != 0) {
try writer.writeAll(", ");
@@ -716,8 +705,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)}),
- ?Value.ByteRange => try writer.print("\"{?s}\"", .{if (@field(args, f.name)) |range| range.slice(strings) else null}),
+ 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}),
else => switch (@typeInfo(f.type)) {
.Enum => try writer.writeAll(@tagName(@field(args, f.name))),
else => try writer.print("{any}", .{@field(args, f.name)}),
deps/aro/Type.zig
@@ -9,7 +9,6 @@ const StringInterner = @import("StringInterner.zig");
const StringId = StringInterner.StringId;
const target_util = @import("target.zig");
const LangOpts = @import("LangOpts.zig");
-const BuiltinFunction = @import("builtins/BuiltinFunction.zig");
const Type = @This();
@@ -104,6 +103,35 @@ pub const Func = struct {
name: StringId,
name_tok: TokenIndex,
};
+
+ fn eql(a: *const Func, b: *const Func, a_var_args: bool, b_var_args: bool, 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;
+ for (maybe_has_params.params) |param| {
+ if (param.ty.undergoesDefaultArgPromotion(comp)) return false;
+ }
+ return true;
+ }
+ }
+ if (a_var_args != b_var_args) return false;
+ // TODO validate this
+ for (a.params, b.params) |param, b_qual| {
+ var a_unqual = param.ty;
+ a_unqual.qual.@"const" = false;
+ a_unqual.qual.@"volatile" = false;
+ var b_unqual = b_qual.ty;
+ b_unqual.qual.@"const" = false;
+ b_unqual.qual.@"volatile" = false;
+ if (!a_unqual.eql(b_unqual, comp, true)) return false;
+ }
+ return true;
+ }
};
pub const Array = struct {
@@ -448,6 +476,22 @@ pub fn isArray(ty: Type) bool {
};
}
+/// Whether the type is promoted if used as a variadic argument or as an argument to a function with no prototype
+fn undergoesDefaultArgPromotion(ty: Type, comp: *const Compilation) bool {
+ return switch (ty.specifier) {
+ .bool => true,
+ .char, .uchar, .schar => true,
+ .short, .ushort => true,
+ .@"enum" => if (comp.langopts.emulate == .clang) ty.data.@"enum".isIncomplete() else false,
+ .float => true,
+
+ .typeof_type => ty.data.sub_type.undergoesDefaultArgPromotion(comp),
+ .typeof_expr => ty.data.expr.ty.undergoesDefaultArgPromotion(comp),
+ .attributed => ty.data.attributed.base.undergoesDefaultArgPromotion(comp),
+ else => false,
+ };
+}
+
pub fn isScalar(ty: Type) bool {
return ty.isInt() or ty.isScalarNonInt();
}
@@ -1195,31 +1239,6 @@ pub fn annotationAlignment(comp: *const Compilation, attrs: ?[]const Attribute)
return max_requested;
}
-/// Checks type compatibility for __builtin_types_compatible_p
-/// Returns true if the unqualified version of `a_param` and `b_param` are the same
-/// Ignores top-level qualifiers (e.g. `int` and `const int` are compatible) but `int *` and `const int *` are not
-/// Two types that are typedefed are considered compatible if their underlying types are compatible.
-/// An enum type is not considered to be compatible with another enum type even if both are compatible with the same integer type;
-/// `A[]` and `A[N]` for a type `A` and integer `N` are compatible
-pub fn compatible(a_param: Type, b_param: Type, comp: *const Compilation) bool {
- var a_unqual = a_param.canonicalize(.standard);
- a_unqual.qual.@"const" = false;
- a_unqual.qual.@"volatile" = false;
- var b_unqual = b_param.canonicalize(.standard);
- b_unqual.qual.@"const" = false;
- b_unqual.qual.@"volatile" = false;
-
- if (a_unqual.eql(b_unqual, comp, true)) return true;
- if (!a_unqual.isArray() or !b_unqual.isArray()) return false;
-
- if (a_unqual.arrayLen() == null or b_unqual.arrayLen() == null) {
- // incomplete arrays are compatible with arrays of the same element type
- // GCC and clang ignore cv-qualifiers on arrays
- return a_unqual.elemType().compatible(b_unqual.elemType(), comp);
- }
- return false;
-}
-
pub fn eql(a_param: Type, b_param: Type, comp: *const Compilation, check_qualifiers: bool) bool {
const a = a_param.canonicalize(.standard);
const b = b_param.canonicalize(.standard);
@@ -1252,29 +1271,21 @@ pub fn eql(a_param: Type, b_param: Type, comp: *const Compilation, check_qualifi
.func,
.var_args_func,
.old_style_func,
- => {
- // TODO validate this
- if (a.data.func.params.len != b.data.func.params.len) return false;
- // return type cannot have qualifiers
- if (!a.returnType().eql(b.returnType(), comp, false)) return false;
- for (a.data.func.params, b.data.func.params) |param, b_qual| {
- var a_unqual = param.ty;
- a_unqual.qual.@"const" = false;
- a_unqual.qual.@"volatile" = false;
- var b_unqual = b_qual.ty;
- b_unqual.qual.@"const" = false;
- b_unqual.qual.@"volatile" = false;
- if (!a_unqual.eql(b_unqual, comp, check_qualifiers)) return false;
- }
- },
+ => if (!a.data.func.eql(b.data.func, a.specifier == .var_args_func, b.specifier == .var_args_func, comp)) return false,
.array,
.static_array,
.incomplete_array,
.vector,
=> {
- if (!std.meta.eql(a.arrayLen(), b.arrayLen())) return false;
- if (!a.elemType().eql(b.elemType(), comp, check_qualifiers)) return false;
+ const a_len = a.arrayLen();
+ const b_len = b.arrayLen();
+ if (a_len == null or b_len == null) {
+ // At least one array is incomplete; only check child type for equality
+ } else if (a_len.? != b_len.?) {
+ return false;
+ }
+ if (!a.elemType().eql(b.elemType(), comp, false)) return false;
},
.variable_len_array => if (!a.elemType().eql(b.elemType(), comp, check_qualifiers)) return false,
deps/aro/Value.zig
@@ -18,8 +18,40 @@ pub const ByteRange = struct {
return .{ .start = self.start, .end = self.end - amount };
}
- pub fn slice(self: ByteRange, all_bytes: []const u8) []const u8 {
- return all_bytes[self.start..self.end];
+ 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('"');
+ },
+ }
}
};
@@ -593,7 +625,7 @@ pub fn dump(v: Value, ty: Type, comp: *Compilation, strings: []const u8, w: anyt
} else {
try w.print("{d}", .{v.signExtend(ty, comp)});
},
- .bytes => try w.print("\"{s}\"", .{v.data.bytes.slice(strings)}),
+ .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)}),