Update Subzero LLVM dependencies to 759dd39154f0bbf1adc87bf613c95f9564f64aa8
Change-Id: I03c5ebf799af288558d08190058d03f1ac2922b7
Reviewed-on: https://swiftshader-review.googlesource.com/8355
Reviewed-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/libGL/Device.cpp b/src/OpenGL/libGL/Device.cpp
index 86d01b9..f75b060 100644
--- a/src/OpenGL/libGL/Device.cpp
+++ b/src/OpenGL/libGL/Device.cpp
@@ -183,15 +183,15 @@
}
// This object has to be mem aligned
- void* Device::operator new(size_t size)
- {
- ASSERT(size == sizeof(Device)); // This operator can't be called from a derived class
- return sw::allocate(sizeof(gl::Device), 16);
- }
-
- void Device::operator delete(void * mem)
- {
- sw::deallocate(mem);
+ void* Device::operator new(size_t size)
+ {
+ ASSERT(size == sizeof(Device)); // This operator can't be called from a derived class
+ return sw::allocate(sizeof(gl::Device), 16);
+ }
+
+ void Device::operator delete(void * mem)
+ {
+ sw::deallocate(mem);
}
void Device::clearColor(float red, float green, float blue, float alpha, unsigned int rgbaMask)
diff --git a/src/OpenGL/libGLES_CM/Device.cpp b/src/OpenGL/libGLES_CM/Device.cpp
index b66c323..0f9d3e5 100644
--- a/src/OpenGL/libGLES_CM/Device.cpp
+++ b/src/OpenGL/libGLES_CM/Device.cpp
@@ -148,15 +148,15 @@
}
// This object has to be mem aligned
- void* Device::operator new(size_t size)
- {
- ASSERT(size == sizeof(Device)); // This operator can't be called from a derived class
- return sw::allocate(sizeof(Device), 16);
- }
-
- void Device::operator delete(void * mem)
- {
- sw::deallocate(mem);
+ void* Device::operator new(size_t size)
+ {
+ ASSERT(size == sizeof(Device)); // This operator can't be called from a derived class
+ return sw::allocate(sizeof(Device), 16);
+ }
+
+ void Device::operator delete(void * mem)
+ {
+ sw::deallocate(mem);
}
void Device::clearColor(float red, float green, float blue, float alpha, unsigned int rgbaMask)
diff --git a/src/Reactor/Subzero.vcxproj b/src/Reactor/Subzero.vcxproj
index 59c1669..6e0b480 100644
--- a/src/Reactor/Subzero.vcxproj
+++ b/src/Reactor/Subzero.vcxproj
@@ -87,7 +87,7 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>SZTARGET=X8632;ALLOW_DUMP=0;ALLOW_TIMERS=0;ALLOW_LLVM_CL=0;ALLOW_LLVM_IR=0;ALLOW_LLVM_IR_AS_INPUT=0;ALLOW_MINIMAL_BUILD=0;ALLOW_WASM=0;ICE_THREAD_LOCAL_HACK=0;WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
- <AdditionalIncludeDirectories>..\;$(SolutionDir)third_party\pnacl-subzero;$(SolutionDir)third_party\llvm-subzero\include;$(SolutionDir)third_party\pnacl-subzero\pnacl-llvm\include;SubmoduleCheck</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\;$(SolutionDir)third_party\pnacl-subzero;$(SolutionDir)third_party\llvm-subzero\include;$(SolutionDir)third_party\llvm-subzero\build\Windows\include;$(SolutionDir)third_party\pnacl-subzero\pnacl-llvm\include;SubmoduleCheck</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<ForcedIncludeFiles>src/IceTypes.h</ForcedIncludeFiles>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -105,7 +105,7 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>SZTARGET=X8664;ALLOW_DUMP=0;ALLOW_TIMERS=0;ALLOW_LLVM_CL=0;ALLOW_LLVM_IR=0;ALLOW_LLVM_IR_AS_INPUT=0;ALLOW_MINIMAL_BUILD=0;ALLOW_WASM=0;ICE_THREAD_LOCAL_HACK=0;WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
- <AdditionalIncludeDirectories>..\;$(SolutionDir)third_party\pnacl-subzero;$(SolutionDir)third_party\llvm-subzero\include;$(SolutionDir)third_party\pnacl-subzero\pnacl-llvm\include;SubmoduleCheck</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\;$(SolutionDir)third_party\pnacl-subzero;$(SolutionDir)third_party\llvm-subzero\include;$(SolutionDir)third_party\llvm-subzero\build\Windows\include;$(SolutionDir)third_party\pnacl-subzero\pnacl-llvm\include;SubmoduleCheck</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<ForcedIncludeFiles>src/IceTypes.h</ForcedIncludeFiles>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -125,7 +125,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SZTARGET=X8632;ALLOW_DUMP=0;ALLOW_TIMERS=0;ALLOW_LLVM_CL=0;ALLOW_LLVM_IR=0;ALLOW_LLVM_IR_AS_INPUT=0;ALLOW_MINIMAL_BUILD=0;ALLOW_WASM=0;ICE_THREAD_LOCAL_HACK=0;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
- <AdditionalIncludeDirectories>..\;$(SolutionDir)third_party\pnacl-subzero;$(SolutionDir)third_party\llvm-subzero\include;$(SolutionDir)third_party\pnacl-subzero\pnacl-llvm\include;SubmoduleCheck</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\;$(SolutionDir)third_party\pnacl-subzero;$(SolutionDir)third_party\llvm-subzero\include;$(SolutionDir)third_party\llvm-subzero\build\Windows\include;$(SolutionDir)third_party\pnacl-subzero\pnacl-llvm\include;SubmoduleCheck</AdditionalIncludeDirectories>
<ForcedIncludeFiles>src/IceTypes.h</ForcedIncludeFiles>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -147,7 +147,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>SZTARGET=X8664;ALLOW_DUMP=0;ALLOW_TIMERS=0;ALLOW_LLVM_CL=0;ALLOW_LLVM_IR=0;ALLOW_LLVM_IR_AS_INPUT=0;ALLOW_MINIMAL_BUILD=0;ALLOW_WASM=0;ICE_THREAD_LOCAL_HACK=0;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
- <AdditionalIncludeDirectories>..\;$(SolutionDir)third_party\pnacl-subzero;$(SolutionDir)third_party\llvm-subzero\include;$(SolutionDir)third_party\pnacl-subzero\pnacl-llvm\include;SubmoduleCheck</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\;$(SolutionDir)third_party\pnacl-subzero;$(SolutionDir)third_party\llvm-subzero\include;$(SolutionDir)third_party\llvm-subzero\build\Windows\include;$(SolutionDir)third_party\pnacl-subzero\pnacl-llvm\include;SubmoduleCheck</AdditionalIncludeDirectories>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
diff --git a/src/Reactor/SubzeroLLVMDependencies.vcxproj b/src/Reactor/SubzeroLLVMDependencies.vcxproj
index c8d459e..c424b47 100644
--- a/src/Reactor/SubzeroLLVMDependencies.vcxproj
+++ b/src/Reactor/SubzeroLLVMDependencies.vcxproj
@@ -75,7 +75,7 @@
<Optimization>Disabled</Optimization>
<SDLCheck>
</SDLCheck>
- <AdditionalIncludeDirectories>$(SolutionDir)third_party\llvm-subzero\include</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutionDir)third_party\llvm-subzero\include;$(SolutionDir)third_party\llvm-subzero\build\Windows\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
@@ -86,7 +86,7 @@
<Optimization>Disabled</Optimization>
<SDLCheck>
</SDLCheck>
- <AdditionalIncludeDirectories>$(SolutionDir)third_party\llvm-subzero\include</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutionDir)third_party\llvm-subzero\include;$(SolutionDir)third_party\llvm-subzero\build\Windows\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
@@ -99,7 +99,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>
</SDLCheck>
- <AdditionalIncludeDirectories>$(SolutionDir)third_party\llvm-subzero\include</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutionDir)third_party\llvm-subzero\include;$(SolutionDir)third_party\llvm-subzero\build\Windows\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
@@ -116,7 +116,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>
</SDLCheck>
- <AdditionalIncludeDirectories>$(SolutionDir)third_party\llvm-subzero\include</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(SolutionDir)third_party\llvm-subzero\include;$(SolutionDir)third_party\llvm-subzero\build\Windows\include</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
@@ -130,7 +130,7 @@
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Atomic.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\circular_raw_ostream.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\CommandLine.cpp" />
- <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\ConvertUTF.c" />
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\ConvertUTF.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\ConvertUTFWrapper.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Debug.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\ErrorHandling.cpp" />
@@ -140,11 +140,18 @@
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\ManagedStatic.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\MemoryBuffer.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Mutex.cpp" />
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\NativeFormatting.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Path.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Process.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Program.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\raw_ostream.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\raw_os_ostream.cpp" />
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\regcomp.c" />
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\regerror.c" />
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Regex.cpp" />
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\regexec.c" />
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\regfree.c" />
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\regstrlcpy.c" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Signals.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\SmallPtrSet.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\SmallVector.cpp" />
@@ -155,7 +162,6 @@
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\TargetParser.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Threading.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Timer.cpp" />
- <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\TimeValue.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Triple.cpp" />
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Twine.cpp" />
</ItemGroup>
diff --git a/src/Reactor/SubzeroLLVMDependencies.vcxproj.filters b/src/Reactor/SubzeroLLVMDependencies.vcxproj.filters
index e8fb6fd..d3d84e6 100644
--- a/src/Reactor/SubzeroLLVMDependencies.vcxproj.filters
+++ b/src/Reactor/SubzeroLLVMDependencies.vcxproj.filters
@@ -51,9 +51,6 @@
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\CommandLine.cpp">
<Filter>Source Files\Support</Filter>
</ClCompile>
- <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\ConvertUTF.c">
- <Filter>Source Files\Support</Filter>
- </ClCompile>
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\ConvertUTFWrapper.cpp">
<Filter>Source Files\Support</Filter>
</ClCompile>
@@ -126,15 +123,36 @@
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Timer.cpp">
<Filter>Source Files\Support</Filter>
</ClCompile>
- <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\TimeValue.cpp">
- <Filter>Source Files\Support</Filter>
- </ClCompile>
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Triple.cpp">
<Filter>Source Files\Support</Filter>
</ClCompile>
<ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Twine.cpp">
<Filter>Source Files\Support</Filter>
</ClCompile>
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\ConvertUTF.cpp">
+ <Filter>Source Files\Support</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\Regex.cpp">
+ <Filter>Source Files\Support</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\NativeFormatting.cpp">
+ <Filter>Source Files\Support</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\regerror.c">
+ <Filter>Source Files\Support</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\regfree.c">
+ <Filter>Source Files\Support</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\regstrlcpy.c">
+ <Filter>Source Files\Support</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\regcomp.c">
+ <Filter>Source Files\Support</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\third_party\llvm-subzero\lib\Support\regexec.c">
+ <Filter>Source Files\Support</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\third_party\llvm-subzero\include\llvm\ADT\APFloat.h">
diff --git a/third_party/llvm-subzero/CREDITS.TXT b/third_party/llvm-subzero/CREDITS.TXT
index 96a6e49..c354900 100644
--- a/third_party/llvm-subzero/CREDITS.TXT
+++ b/third_party/llvm-subzero/CREDITS.TXT
@@ -8,7 +8,6 @@
(W), PGP key ID and fingerprint (P), description (D), snail-mail address
(S), and (I) IRC handle.
-
N: Vikram Adve
E: vadve@cs.uiuc.edu
W: http://www.cs.uiuc.edu/~vadve/
@@ -401,7 +400,7 @@
N: Nadav Rotem
E: nadav.rotem@me.com
-D: X86 code generation improvements, Loop Vectorizer.
+D: X86 code generation improvements, Loop Vectorizer, SLP Vectorizer
N: Roman Samoilov
E: roman@codedgers.com
@@ -472,4 +471,3 @@
N: Bob Wilson
E: bob.wilson@acm.org
D: Advanced SIMD (NEON) support in the ARM backend.
-
diff --git a/third_party/llvm-subzero/README.txt b/third_party/llvm-subzero/README.txt
index d7a90ec..7d13b9a 100644
--- a/third_party/llvm-subzero/README.txt
+++ b/third_party/llvm-subzero/README.txt
@@ -1,25 +1,25 @@
-llvm-subzero
-============
-
-This directory and its subdirectories contain a subset of the source code for
-LLVM, required by Subzero.
-
-The original README.txt content follows:
-
-Low Level Virtual Machine (LLVM)
-================================
-
-This directory and its subdirectories contain source code for LLVM,
-a toolkit for the construction of highly optimized compilers,
-optimizers, and runtime environments.
-
-LLVM is open source software. You may freely distribute it under the terms of
-the license agreement found in LICENSE.txt.
-
-Please see the documentation provided in docs/ for further
-assistance with LLVM, and in particular docs/GettingStarted.rst for getting
-started with LLVM and docs/README.txt for an overview of LLVM's
-documentation setup.
-
-If you are writing a package for LLVM, see docs/Packaging.rst for our
-suggestions.
+llvm-subzero
+============
+
+This directory and its subdirectories contain a subset of the source code for
+LLVM, required by Subzero.
+
+The original README.txt content follows:
+
+Low Level Virtual Machine (LLVM)
+================================
+
+This directory and its subdirectories contain source code for LLVM,
+a toolkit for the construction of highly optimized compilers,
+optimizers, and runtime environments.
+
+LLVM is open source software. You may freely distribute it under the terms of
+the license agreement found in LICENSE.txt.
+
+Please see the documentation provided in docs/ for further
+assistance with LLVM, and in particular docs/GettingStarted.rst for getting
+started with LLVM and docs/README.txt for an overview of LLVM's
+documentation setup.
+
+If you are writing a package for LLVM, see docs/Packaging.rst for our
+suggestions.
diff --git a/third_party/llvm-subzero/build/Windows/include/llvm/Config/abi-breaking.h b/third_party/llvm-subzero/build/Windows/include/llvm/Config/abi-breaking.h
new file mode 100644
index 0000000..d78ffa1
--- /dev/null
+++ b/third_party/llvm-subzero/build/Windows/include/llvm/Config/abi-breaking.h
@@ -0,0 +1,48 @@
+/*===------- llvm/Config/abi-breaking.h - llvm configuration -------*- C -*-===*/
+/* */
+/* The LLVM Compiler Infrastructure */
+/* */
+/* This file is distributed under the University of Illinois Open Source */
+/* License. See LICENSE.TXT for details. */
+/* */
+/*===----------------------------------------------------------------------===*/
+
+/* This file controls the C++ ABI break introduced in LLVM public header. */
+
+#ifndef LLVM_ABI_BREAKING_CHECKS_H
+#define LLVM_ABI_BREAKING_CHECKS_H
+
+/* Define to enable checks that alter the LLVM C++ ABI */
+#define LLVM_ENABLE_ABI_BREAKING_CHECKS 0
+
+/* Define to disable the link-time checking of mismatch for
+ LLVM_ENABLE_ABI_BREAKING_CHECKS */
+#define LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING 0
+#if !LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
+
+// ABI_BREAKING_CHECKS protection: provides link-time failure when clients build
+// mismatch with LLVM
+#if defined(_MSC_VER)
+// Use pragma with MSVC
+#define LLVM_XSTR(s) LLVM_STR(s)
+#define LLVM_STR(s) #s
+#pragma detect_mismatch("LLVM_ENABLE_ABI_BREAKING_CHECKS", LLVM_XSTR(LLVM_ENABLE_ABI_BREAKING_CHECKS))
+#undef LLVM_XSTR
+#undef LLVM_STR
+#elif defined(_WIN32) || defined(__CYGWIN__) // Win32 w/o #pragma detect_mismatch
+// FIXME: Implement checks without weak.
+#elif defined(__cplusplus)
+namespace llvm {
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+extern int EnableABIBreakingChecks;
+__attribute__((weak, visibility ("hidden"))) int *VerifyEnableABIBreakingChecks = &EnableABIBreakingChecks;
+#else
+extern int DisableABIBreakingChecks;
+__attribute__((weak, visibility ("hidden"))) int *VerifyDisableABIBreakingChecks = &DisableABIBreakingChecks;
+#endif
+}
+#endif // _MSC_VER
+
+#endif // LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
+
+#endif
diff --git a/third_party/llvm-subzero/include/llvm/Config/config.h b/third_party/llvm-subzero/build/Windows/include/llvm/Config/config.h
similarity index 63%
rename from third_party/llvm-subzero/include/llvm/Config/config.h
rename to third_party/llvm-subzero/build/Windows/include/llvm/Config/config.h
index 2d77390..7d86562 100644
--- a/third_party/llvm-subzero/include/llvm/Config/config.h
+++ b/third_party/llvm-subzero/build/Windows/include/llvm/Config/config.h
@@ -1,5 +1,3 @@
-/* include/llvm/Config/config.h.cmake corresponding to config.h.in. */
-
#ifndef CONFIG_H
#define CONFIG_H
@@ -9,68 +7,50 @@
/* Bug report URL. */
#define BUG_REPORT_URL "http://llvm.org/bugs/"
-/* Define if you want backtraces on crash */
-#define ENABLE_BACKTRACES
+/* Define to 1 to enable backtraces, and to 0 otherwise. */
+#define ENABLE_BACKTRACES 1
-/* Define to enable crash overrides */
-#define ENABLE_CRASH_OVERRIDES
-
-/* Define to disable C++ atexit */
-#define DISABLE_LLVM_DYLIB_ATEXIT
-
-/* Define if position independent code is enabled */
-#define ENABLE_PIC
-
-/* Define if timestamp information (e.g., __DATE__) is allowed */
-#define ENABLE_TIMESTAMPS 1
-
-/* Define to 1 if you have the `arc4random' function. */
-/* #undef HAVE_DECL_ARC4RANDOM */
+/* Define to 1 to enable crash overrides, and to 0 otherwise. */
+#define ENABLE_CRASH_OVERRIDES 1
/* Define to 1 if you have the `backtrace' function. */
/* #undef HAVE_BACKTRACE */
-/* Define to 1 if you have the `bcopy' function. */
-#undef HAVE_BCOPY
-
-/* Define to 1 if you have the `closedir' function. */
-/* #undef HAVE_CLOSEDIR */
-
-/* Define to 1 if you have the <cxxabi.h> header file. */
-/* #undef HAVE_CXXABI_H */
-
/* Define to 1 if you have the <CrashReporterClient.h> header file. */
-#undef HAVE_CRASHREPORTERCLIENT_H
+/* #undef HAVE_CRASHREPORTERCLIENT_H */
/* can use __crashreporter_info__ */
-#undef HAVE_CRASHREPORTER_INFO
+#define HAVE_CRASHREPORTER_INFO 0
+
+/* Define to 1 if you have the declaration of `arc4random', and to 0 if you
+ don't. */
+#define HAVE_DECL_ARC4RANDOM 0
+
+/* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you
+ don't. */
+#define HAVE_DECL_FE_ALL_EXCEPT 1
+
+/* Define to 1 if you have the declaration of `FE_INEXACT', and to 0 if you
+ don't. */
+#define HAVE_DECL_FE_INEXACT 1
/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you
-don't. */
+ don't. */
#define HAVE_DECL_STRERROR_S 1
/* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */
-/* #undef HAVE_DIA_SDK */
+#define HAVE_DIA_SDK 0
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
-*/
+ */
/* #undef HAVE_DIRENT_H */
-/* Define if you have the GNU dld library. */
-#undef HAVE_DLD
-
-/* Define to 1 if you have the `dlerror' function. */
-/* #undef HAVE_DLERROR */
-
/* Define to 1 if you have the <dlfcn.h> header file. */
/* #undef HAVE_DLFCN_H */
/* Define if dlopen() is available on this platform. */
/* #undef HAVE_DLOPEN */
-/* Define if you have the _dyld_func_lookup function. */
-#undef HAVE_DYLD
-
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
@@ -92,12 +72,12 @@
/* Define to 1 if you have the <ffi.h> header file. */
/* #undef HAVE_FFI_H */
+/* Define to 1 if you have the `futimens' function. */
+/* #undef HAVE_FUTIMENS */
+
/* Define to 1 if you have the `futimes' function. */
/* #undef HAVE_FUTIMES */
-/* Define to 1 if you have the `futimens' function */
-/* #undef HAVE_FUTIMENS */
-
/* Define to 1 if you have the `getcwd' function. */
/* #undef HAVE_GETCWD */
@@ -122,14 +102,8 @@
/* Define to 1 if you have the `isatty' function. */
/* #undef HAVE_ISATTY */
-/* Define if you have the libdl library or equivalent. */
-/* #undef HAVE_LIBDL */
-
-/* Define to 1 if you have the `m' library (-lm). */
-#undef HAVE_LIBM
-
-/* Define to 1 if you have the `ole32' library (-lole32). */
-#undef HAVE_LIBOLE32
+/* Define to 1 if you have the `edit' library (-ledit). */
+/* #undef HAVE_LIBEDIT */
/* Define to 1 if you have the `psapi' library (-lpsapi). */
/* #undef HAVE_LIBPSAPI */
@@ -140,35 +114,22 @@
/* Define to 1 if you have the `shell32' library (-lshell32). */
/* #undef HAVE_LIBSHELL32 */
-/* Define to 1 if you have the 'z' library (-lz). */
+/* Define to 1 if you have the `z' library (-lz). */
/* #undef HAVE_LIBZ */
-/* Define to 1 if you have the 'edit' library (-ledit). */
-/* #undef HAVE_LIBEDIT */
-
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
/* Define to 1 if you have the <link.h> header file. */
/* #undef HAVE_LINK_H */
-/* Define if you can use -rdynamic. */
-#define HAVE_LINK_EXPORT_DYNAMIC 1
-
-/* Define if you can use -Wl,-R. to pass -R. to the linker, in order to add
-the current directory to the dynamic linker search path. */
-#undef HAVE_LINK_R
-
-/* Define to 1 if you have the `longjmp' function. */
-/* #undef HAVE_LONGJMP */
+/* Define to 1 if you have the `lseek64' function. */
+/* #undef HAVE_LSEEK64 */
/* Define to 1 if you have the <mach/mach.h> header file. */
/* #undef HAVE_MACH_MACH_H */
-/* Define to 1 if you have the <mach-o/dyld.h> header file. */
-/* #undef HAVE_MACH_O_DYLD_H */
+/* Define to 1 if you have the `mallctl' function. */
+/* #undef HAVE_MALLCTL */
-/* Define if mallinfo() is available on this platform. */
+/* Define to 1 if you have the `mallinfo' function. */
/* #undef HAVE_MALLINFO */
/* Define to 1 if you have the <malloc.h> header file. */
@@ -180,9 +141,6 @@
/* Define to 1 if you have the `malloc_zone_statistics' function. */
/* #undef HAVE_MALLOC_ZONE_STATISTICS */
-/* Define to 1 if you have the `mallctl` function. */
-/* #undef HAVE_MALLCTL */
-
/* Define to 1 if you have the `mkdtemp' function. */
/* #undef HAVE_MKDTEMP */
@@ -192,21 +150,11 @@
/* Define to 1 if you have the `mktemp' function. */
/* #undef HAVE_MKTEMP */
-/* Define to 1 if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
-/* Define if mmap() uses MAP_ANONYMOUS to map anonymous pages, or undefine if
-it uses MAP_ANON */
-#undef HAVE_MMAP_ANONYMOUS
-
-/* Define if mmap() can map files into memory */
-#undef HAVE_MMAP_FILE
-
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
-/* Define to 1 if you have the `opendir' function. */
-/* #undef HAVE_OPENDIR */
+/* Define to 1 if you have the `posix_fallocate' function. */
+/* #undef HAVE_POSIX_FALLOCATE */
/* Define to 1 if you have the `posix_spawn' function. */
/* #undef HAVE_POSIX_SPAWN */
@@ -214,12 +162,6 @@
/* Define to 1 if you have the `pread' function. */
/* #undef HAVE_PREAD */
-/* Define if libtool can extract symbol lists from object files. */
-#undef HAVE_PRELOADED_SYMBOLS
-
-/* Define to have the %a format string */
-#undef HAVE_PRINTF_A
-
/* Have pthread_getspecific */
/* #undef HAVE_PTHREAD_GETSPECIFIC */
@@ -232,12 +174,6 @@
/* Have pthread_rwlock_init */
/* #undef HAVE_PTHREAD_RWLOCK_INIT */
-/* Define to 1 if srand48/lrand48/drand48 exist in <stdlib.h> */
-/* #undef HAVE_RAND48 */
-
-/* Define to 1 if you have the `readdir' function. */
-/* #undef HAVE_READDIR */
-
/* Define to 1 if you have the `realpath' function. */
/* #undef HAVE_REALPATH */
@@ -247,36 +183,18 @@
/* Define to 1 if you have the `setenv' function. */
/* #undef HAVE_SETENV */
-/* Define to 1 if you have the `setjmp' function. */
-/* #undef HAVE_SETJMP */
-
/* Define to 1 if you have the `setrlimit' function. */
/* #undef HAVE_SETRLIMIT */
-/* Define if you have the shl_load function. */
-#undef HAVE_SHL_LOAD
-
-/* Define to 1 if you have the `siglongjmp' function. */
-/* #undef HAVE_SIGLONGJMP */
+/* Define to 1 if you have the `sigaltstack' function. */
+/* #undef HAVE_SIGALTSTACK */
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
-/* Define to 1 if you have the `sigsetjmp' function. */
-/* #undef HAVE_SIGSETJMP */
-
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
-/* Set to 1 if the std::isinf function is found in <cmath> */
-#undef HAVE_STD_ISINF_IN_CMATH
-
-/* Set to 1 if the std::isnan function is found in <cmath> */
-#undef HAVE_STD_ISNAN_IN_CMATH
-
-/* Define to 1 if you have the `strdup' function. */
-/* #undef HAVE_STRDUP */
-
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
@@ -286,14 +204,11 @@
/* Define to 1 if you have the `strtoll' function. */
#define HAVE_STRTOLL 1
-/* Define to 1 if you have the `strtoq' function. */
-/* #undef HAVE_STRTOQ */
-
/* Define to 1 if you have the `sysconf' function. */
-#undef HAVE_SYSCONF
+/* #undef HAVE_SYSCONF */
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
-*/
+ */
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
@@ -303,7 +218,7 @@
/* #undef HAVE_SYS_MMAN_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
-*/
+ */
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
@@ -319,7 +234,7 @@
/* #undef HAVE_SYS_TIME_H */
/* Define to 1 if you have the <sys/types.h> header file. */
-/* #undef HAVE_SYS_TYPES_H */
+#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/uio.h> header file. */
/* #undef HAVE_SYS_UIO_H */
@@ -327,6 +242,9 @@
/* Define if the setupterm() function is supported this platform. */
/* #undef HAVE_TERMINFO */
+/* Define if the xar_open() function is supported this platform. */
+/* #undef HAVE_LIBXAR */
+
/* Define to 1 if you have the <termios.h> header file. */
/* #undef HAVE_TERMIOS_H */
@@ -336,9 +254,6 @@
/* Define to 1 if you have the <unistd.h> header file. */
/* #undef HAVE_UNISTD_H */
-/* Define to 1 if you have the <utime.h> header file. */
-/* #undef HAVE_UTIME_H */
-
/* Define to 1 if the system has the type `u_int64_t'. */
/* #undef HAVE_U_INT64_T */
@@ -354,6 +269,12 @@
/* Have host's _alloca */
/* #undef HAVE__ALLOCA */
+/* Define to 1 if you have the `_chsize_s' function. */
+#define HAVE__CHSIZE_S 1
+
+/* Define to 1 if you have the `_Unwind_Backtrace' function. */
+/* #undef HAVE__UNWIND_BACKTRACE */
+
/* Have host's __alloca */
/* #undef HAVE___ALLOCA */
@@ -375,9 +296,6 @@
/* Have host's __divdi3 */
/* #undef HAVE___DIVDI3 */
-/* Define to 1 if you have the `__dso_handle' function. */
-#undef HAVE___DSO_HANDLE
-
/* Have host's __fixdfdi */
/* #undef HAVE___FIXDFDI */
@@ -409,53 +327,27 @@
/* #undef HAVE____CHKSTK_MS */
/* Linker version detected at compile time. */
-#undef HOST_LINK_VERSION
+/* #undef HOST_LINK_VERSION */
-/* Installation directory for binary executables */
-/* #undef LLVM_BINDIR */
+/* Define if we link Polly to the tools */
+/* #undef LINK_POLLY_INTO_TOOLS */
-/* Time at which LLVM was configured */
-/* #undef LLVM_CONFIGTIME */
-
-/* Installation directory for data files */
-/* #undef LLVM_DATADIR */
-
-/* Target triple LLVM will generate code for by default
-* Doesn't use `cmakedefine` because it is allowed to be empty.
-*/
+/* Target triple LLVM will generate code for by default */
+/* Doesn't use `cmakedefine` because it is allowed to be empty. */
#define LLVM_DEFAULT_TARGET_TRIPLE "i686-pc-win32"
-/* Installation directory for documentation */
-/* #undef LLVM_DOCSDIR */
-
-/* Define if LLVM is built with asserts and checks that change the layout of
-client-visible data structures. */
-#define LLVM_ENABLE_ABI_BREAKING_CHECKS
-
/* Define if threads enabled */
#define LLVM_ENABLE_THREADS 1
/* Define if zlib compression is available */
#define LLVM_ENABLE_ZLIB 0
-/* Installation directory for config files */
-/* #undef LLVM_ETCDIR */
-
/* Has gcc/MSVC atomic intrinsics */
#define LLVM_HAS_ATOMICS 1
/* Host triple LLVM will be executed on */
#define LLVM_HOST_TRIPLE "i686-pc-win32"
-/* Installation directory for include files */
-/* #undef LLVM_INCLUDEDIR */
-
-/* Installation directory for .info files */
-/* #undef LLVM_INFODIR */
-
-/* Installation directory for man pages */
-/* #undef LLVM_MANDIR */
-
/* LLVM architecture name for the native architecture, if available */
#define LLVM_NATIVE_ARCH X86
@@ -487,46 +379,29 @@
#define LLVM_PREFIX "C:/Program Files (x86)/LLVM"
/* Define if we have the Intel JIT API runtime support library */
-/* #undef LLVM_USE_INTEL_JITEVENTS */
+#define LLVM_USE_INTEL_JITEVENTS 0
/* Define if we have the oprofile JIT-support library */
-/* #undef LLVM_USE_OPROFILE */
+#define LLVM_USE_OPROFILE 0
+
+/* LLVM version information */
+/* #undef LLVM_VERSION_INFO */
/* Major version of the LLVM API */
-#define LLVM_VERSION_MAJOR 3
+#define LLVM_VERSION_MAJOR 4
/* Minor version of the LLVM API */
-#define LLVM_VERSION_MINOR 8
+#define LLVM_VERSION_MINOR 0
/* Patch version of the LLVM API */
-#define LLVM_VERSION_PATCH 1
+#define LLVM_VERSION_PATCH 0
/* LLVM version string */
-#define LLVM_VERSION_STRING "3.8.1"
-
-/* Define if we link Polly to the tools */
-/* #undef LINK_POLLY_INTO_TOOLS */
-
-/* Define if the OS needs help to load dependent libraries for dlopen(). */
-/* #undef LTDL_DLOPEN_DEPLIBS */
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-*/
-#undef LTDL_OBJDIR
+#define LLVM_VERSION_STRING "4.0.0svn"
/* Define to the extension used for shared libraries, say, ".so". */
#define LTDL_SHLIB_EXT ".dll"
-/* Define to the system default library search path. */
-/* #undef LTDL_SYSSEARCHPATH */
-
-/* Define if /dev/zero should be used when mapping RWX memory, or undefine if
-its not necessary */
-#undef NEED_DEV_ZERO_FOR_MMAP
-
-/* Define if dlsym() requires a leading underscore in symbol names. */
-#undef NEED_USCORE
-
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "http://llvm.org/bugs/"
@@ -534,38 +409,20 @@
#define PACKAGE_NAME "LLVM"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "LLVM 3.8.1"
+#define PACKAGE_STRING "LLVM 4.0.0svn"
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
-#define PACKAGE_VERSION "3.8.1"
+#define PACKAGE_VERSION "4.0.0svn"
+
+/* Define to the vendor of this package. */
+/* #undef PACKAGE_VENDOR */
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
-/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
-#undef STAT_MACROS_BROKEN
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Define to 1 if your <sys/time.h> declares `struct tm'. */
-#undef TM_IN_SYS_TIME
-
-/* Type of 1st arg on ELM Callback */
-#define WIN32_ELMCB_PCSTR PCSTR
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef pid_t
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
/* Define to a function replacing strtoll */
/* #undef strtoll */
@@ -578,7 +435,4 @@
/* Define to a function implementing strdup */
#define strdup _strdup
-/* Define to 1 if you have the `_chsize_s' function. */
-#define HAVE__CHSIZE_S 1
-
#endif
diff --git a/third_party/llvm-subzero/build/Windows/include/llvm/Config/llvm-config.h b/third_party/llvm-subzero/build/Windows/include/llvm/Config/llvm-config.h
new file mode 100644
index 0000000..ec5620d
--- /dev/null
+++ b/third_party/llvm-subzero/build/Windows/include/llvm/Config/llvm-config.h
@@ -0,0 +1,80 @@
+/*===------- llvm/Config/llvm-config.h - llvm configuration -------*- C -*-===*/
+/* */
+/* The LLVM Compiler Infrastructure */
+/* */
+/* This file is distributed under the University of Illinois Open Source */
+/* License. See LICENSE.TXT for details. */
+/* */
+/*===----------------------------------------------------------------------===*/
+
+/* This file enumerates variables from the LLVM configuration so that they
+ can be in exported headers and won't override package specific directives.
+ This is a C header that can be included in the llvm-c headers. */
+
+#ifndef LLVM_CONFIG_H
+#define LLVM_CONFIG_H
+
+/* Define if we link Polly to the tools */
+/* #undef LINK_POLLY_INTO_TOOLS */
+
+/* Target triple LLVM will generate code for by default */
+#define LLVM_DEFAULT_TARGET_TRIPLE "i686-pc-win32"
+
+/* Define if threads enabled */
+#define LLVM_ENABLE_THREADS 1
+
+/* Has gcc/MSVC atomic intrinsics */
+#define LLVM_HAS_ATOMICS 1
+
+/* Host triple LLVM will be executed on */
+#define LLVM_HOST_TRIPLE "i686-pc-win32"
+
+/* LLVM architecture name for the native architecture, if available */
+#define LLVM_NATIVE_ARCH X86
+
+/* LLVM name for the native AsmParser init function, if available */
+#define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser
+
+/* LLVM name for the native AsmPrinter init function, if available */
+#define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter
+
+/* LLVM name for the native Disassembler init function, if available */
+#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeX86Disassembler
+
+/* LLVM name for the native Target init function, if available */
+#define LLVM_NATIVE_TARGET LLVMInitializeX86Target
+
+/* LLVM name for the native TargetInfo init function, if available */
+#define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo
+
+/* LLVM name for the native target MC init function, if available */
+#define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC
+
+/* Define if this is Unixish platform */
+/* #undef LLVM_ON_UNIX */
+
+/* Define if this is Win32ish platform */
+#define LLVM_ON_WIN32 1
+
+/* Installation prefix directory */
+#define LLVM_PREFIX "C:/Program Files (x86)/LLVM"
+
+/* Define if we have the Intel JIT API runtime support library */
+#define LLVM_USE_INTEL_JITEVENTS 0
+
+/* Define if we have the oprofile JIT-support library */
+#define LLVM_USE_OPROFILE 0
+
+/* Major version of the LLVM API */
+#define LLVM_VERSION_MAJOR 4
+
+/* Minor version of the LLVM API */
+#define LLVM_VERSION_MINOR 0
+
+/* Patch version of the LLVM API */
+#define LLVM_VERSION_PATCH 0
+
+/* LLVM version string */
+#define LLVM_VERSION_STRING "4.0.0svn"
+
+#endif
diff --git a/third_party/llvm-subzero/build/Windows/include/llvm/IR/Attributes.gen b/third_party/llvm-subzero/build/Windows/include/llvm/IR/Attributes.gen
new file mode 100644
index 0000000..98d5fdc
--- /dev/null
+++ b/third_party/llvm-subzero/build/Windows/include/llvm/IR/Attributes.gen
@@ -0,0 +1,458 @@
+#ifdef GET_ATTR_ENUM
+#undef GET_ATTR_ENUM
+Alignment,
+AllocSize,
+AlwaysInline,
+ArgMemOnly,
+Builtin,
+ByVal,
+Cold,
+Convergent,
+Dereferenceable,
+DereferenceableOrNull,
+InAlloca,
+InReg,
+InaccessibleMemOnly,
+InaccessibleMemOrArgMemOnly,
+InlineHint,
+JumpTable,
+MinSize,
+Naked,
+Nest,
+NoAlias,
+NoBuiltin,
+NoCapture,
+NoDuplicate,
+NoImplicitFloat,
+NoInline,
+NoRecurse,
+NoRedZone,
+NoReturn,
+NoUnwind,
+NonLazyBind,
+NonNull,
+OptimizeForSize,
+OptimizeNone,
+ReadNone,
+ReadOnly,
+Returned,
+ReturnsTwice,
+SExt,
+SafeStack,
+SanitizeAddress,
+SanitizeMemory,
+SanitizeThread,
+StackAlignment,
+StackProtect,
+StackProtectReq,
+StackProtectStrong,
+StructRet,
+SwiftError,
+SwiftSelf,
+UWTable,
+WriteOnly,
+ZExt,
+#endif
+#ifdef GET_ATTR_KIND_FROM_NAME
+#undef GET_ATTR_KIND_FROM_NAME
+static Attribute::AttrKind getAttrKindFromName(StringRef AttrName) {
+ return StringSwitch<Attribute::AttrKind>(AttrName)
+ .Case("align", Attribute::Alignment)
+ .Case("allocsize", Attribute::AllocSize)
+ .Case("alwaysinline", Attribute::AlwaysInline)
+ .Case("argmemonly", Attribute::ArgMemOnly)
+ .Case("builtin", Attribute::Builtin)
+ .Case("byval", Attribute::ByVal)
+ .Case("cold", Attribute::Cold)
+ .Case("convergent", Attribute::Convergent)
+ .Case("dereferenceable", Attribute::Dereferenceable)
+ .Case("dereferenceable_or_null", Attribute::DereferenceableOrNull)
+ .Case("inalloca", Attribute::InAlloca)
+ .Case("inreg", Attribute::InReg)
+ .Case("inaccessiblememonly", Attribute::InaccessibleMemOnly)
+ .Case("inaccessiblemem_or_argmemonly", Attribute::InaccessibleMemOrArgMemOnly)
+ .Case("inlinehint", Attribute::InlineHint)
+ .Case("jumptable", Attribute::JumpTable)
+ .Case("minsize", Attribute::MinSize)
+ .Case("naked", Attribute::Naked)
+ .Case("nest", Attribute::Nest)
+ .Case("noalias", Attribute::NoAlias)
+ .Case("nobuiltin", Attribute::NoBuiltin)
+ .Case("nocapture", Attribute::NoCapture)
+ .Case("noduplicate", Attribute::NoDuplicate)
+ .Case("noimplicitfloat", Attribute::NoImplicitFloat)
+ .Case("noinline", Attribute::NoInline)
+ .Case("norecurse", Attribute::NoRecurse)
+ .Case("noredzone", Attribute::NoRedZone)
+ .Case("noreturn", Attribute::NoReturn)
+ .Case("nounwind", Attribute::NoUnwind)
+ .Case("nonlazybind", Attribute::NonLazyBind)
+ .Case("nonnull", Attribute::NonNull)
+ .Case("optsize", Attribute::OptimizeForSize)
+ .Case("optnone", Attribute::OptimizeNone)
+ .Case("readnone", Attribute::ReadNone)
+ .Case("readonly", Attribute::ReadOnly)
+ .Case("returned", Attribute::Returned)
+ .Case("returns_twice", Attribute::ReturnsTwice)
+ .Case("signext", Attribute::SExt)
+ .Case("safestack", Attribute::SafeStack)
+ .Case("sanitize_address", Attribute::SanitizeAddress)
+ .Case("sanitize_memory", Attribute::SanitizeMemory)
+ .Case("sanitize_thread", Attribute::SanitizeThread)
+ .Case("alignstack", Attribute::StackAlignment)
+ .Case("ssp", Attribute::StackProtect)
+ .Case("sspreq", Attribute::StackProtectReq)
+ .Case("sspstrong", Attribute::StackProtectStrong)
+ .Case("sret", Attribute::StructRet)
+ .Case("swifterror", Attribute::SwiftError)
+ .Case("swiftself", Attribute::SwiftSelf)
+ .Case("uwtable", Attribute::UWTable)
+ .Case("writeonly", Attribute::WriteOnly)
+ .Case("zeroext", Attribute::ZExt)
+ .Default(Attribute::None);
+}
+
+#endif
+#ifdef GET_ATTR_COMPAT_FUNC
+#undef GET_ATTR_COMPAT_FUNC
+struct EnumAttr {
+ static bool isSet(const Function &Fn,
+ Attribute::AttrKind Kind) {
+ return Fn.hasFnAttribute(Kind);
+ }
+
+ static void set(Function &Fn,
+ Attribute::AttrKind Kind, bool Val) {
+ if (Val)
+ Fn.addFnAttr(Kind);
+ else
+ Fn.removeFnAttr(Kind);
+ }
+};
+
+struct StrBoolAttr {
+ static bool isSet(const Function &Fn,
+ StringRef Kind) {
+ auto A = Fn.getFnAttribute(Kind);
+ return A.getValueAsString().equals("true");
+ }
+
+ static void set(Function &Fn,
+ StringRef Kind, bool Val) {
+ Fn.addFnAttr(Kind, Val ? "true" : "false");
+ }
+};
+
+// EnumAttr classes
+struct AlignmentAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::Alignment;
+ }
+};
+struct AllocSizeAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::AllocSize;
+ }
+};
+struct AlwaysInlineAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::AlwaysInline;
+ }
+};
+struct ArgMemOnlyAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::ArgMemOnly;
+ }
+};
+struct BuiltinAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::Builtin;
+ }
+};
+struct ByValAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::ByVal;
+ }
+};
+struct ColdAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::Cold;
+ }
+};
+struct ConvergentAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::Convergent;
+ }
+};
+struct DereferenceableAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::Dereferenceable;
+ }
+};
+struct DereferenceableOrNullAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::DereferenceableOrNull;
+ }
+};
+struct InAllocaAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::InAlloca;
+ }
+};
+struct InRegAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::InReg;
+ }
+};
+struct InaccessibleMemOnlyAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::InaccessibleMemOnly;
+ }
+};
+struct InaccessibleMemOrArgMemOnlyAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::InaccessibleMemOrArgMemOnly;
+ }
+};
+struct InlineHintAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::InlineHint;
+ }
+};
+struct JumpTableAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::JumpTable;
+ }
+};
+struct MinSizeAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::MinSize;
+ }
+};
+struct NakedAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::Naked;
+ }
+};
+struct NestAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::Nest;
+ }
+};
+struct NoAliasAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::NoAlias;
+ }
+};
+struct NoBuiltinAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::NoBuiltin;
+ }
+};
+struct NoCaptureAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::NoCapture;
+ }
+};
+struct NoDuplicateAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::NoDuplicate;
+ }
+};
+struct NoImplicitFloatAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::NoImplicitFloat;
+ }
+};
+struct NoInlineAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::NoInline;
+ }
+};
+struct NoRecurseAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::NoRecurse;
+ }
+};
+struct NoRedZoneAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::NoRedZone;
+ }
+};
+struct NoReturnAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::NoReturn;
+ }
+};
+struct NoUnwindAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::NoUnwind;
+ }
+};
+struct NonLazyBindAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::NonLazyBind;
+ }
+};
+struct NonNullAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::NonNull;
+ }
+};
+struct OptimizeForSizeAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::OptimizeForSize;
+ }
+};
+struct OptimizeNoneAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::OptimizeNone;
+ }
+};
+struct ReadNoneAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::ReadNone;
+ }
+};
+struct ReadOnlyAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::ReadOnly;
+ }
+};
+struct ReturnedAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::Returned;
+ }
+};
+struct ReturnsTwiceAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::ReturnsTwice;
+ }
+};
+struct SExtAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::SExt;
+ }
+};
+struct SafeStackAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::SafeStack;
+ }
+};
+struct SanitizeAddressAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::SanitizeAddress;
+ }
+};
+struct SanitizeMemoryAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::SanitizeMemory;
+ }
+};
+struct SanitizeThreadAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::SanitizeThread;
+ }
+};
+struct StackAlignmentAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::StackAlignment;
+ }
+};
+struct StackProtectAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::StackProtect;
+ }
+};
+struct StackProtectReqAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::StackProtectReq;
+ }
+};
+struct StackProtectStrongAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::StackProtectStrong;
+ }
+};
+struct StructRetAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::StructRet;
+ }
+};
+struct SwiftErrorAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::SwiftError;
+ }
+};
+struct SwiftSelfAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::SwiftSelf;
+ }
+};
+struct UWTableAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::UWTable;
+ }
+};
+struct WriteOnlyAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::WriteOnly;
+ }
+};
+struct ZExtAttr : EnumAttr {
+ static enum Attribute::AttrKind getKind() {
+ return llvm::Attribute::ZExt;
+ }
+};
+
+// StrBoolAttr classes
+struct LessPreciseFPMADAttr : StrBoolAttr {
+ static StringRef getKind() {
+ return "less-precise-fpmad";
+ }
+};
+struct NoInfsFPMathAttr : StrBoolAttr {
+ static StringRef getKind() {
+ return "no-infs-fp-math";
+ }
+};
+struct NoJumpTablesAttr : StrBoolAttr {
+ static StringRef getKind() {
+ return "no-jump-tables";
+ }
+};
+struct NoNansFPMathAttr : StrBoolAttr {
+ static StringRef getKind() {
+ return "no-nans-fp-math";
+ }
+};
+struct UnsafeFPMathAttr : StrBoolAttr {
+ static StringRef getKind() {
+ return "unsafe-fp-math";
+ }
+};
+
+static inline bool hasCompatibleFnAttrs(const Function &Caller,
+ const Function &Callee) {
+ bool Ret = true;
+
+ Ret &= isEqual<SanitizeAddressAttr>(Caller, Callee);
+ Ret &= isEqual<SanitizeThreadAttr>(Caller, Callee);
+ Ret &= isEqual<SanitizeMemoryAttr>(Caller, Callee);
+ Ret &= isEqual<SafeStackAttr>(Caller, Callee);
+
+ return Ret;
+}
+
+static inline void mergeFnAttrs(Function &Caller,
+ const Function &Callee) {
+ adjustCallerSSPLevel(Caller, Callee);
+ setAND<LessPreciseFPMADAttr>(Caller, Callee);
+ setAND<NoInfsFPMathAttr>(Caller, Callee);
+ setAND<NoNansFPMathAttr>(Caller, Callee);
+ setAND<UnsafeFPMathAttr>(Caller, Callee);
+ setOR<NoImplicitFloatAttr>(Caller, Callee);
+ setOR<NoJumpTablesAttr>(Caller, Callee);
+}
+
+#endif
diff --git a/third_party/llvm-subzero/build/Windows/include/llvm/IR/Intrinsics.gen b/third_party/llvm-subzero/build/Windows/include/llvm/IR/Intrinsics.gen
new file mode 100644
index 0000000..c3a40d9
--- /dev/null
+++ b/third_party/llvm-subzero/build/Windows/include/llvm/IR/Intrinsics.gen
@@ -0,0 +1,34224 @@
+/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
+|* *|
+|* Intrinsic Function Source Fragment *|
+|* *|
+|* Automatically generated file, do not edit! *|
+|* *|
+\*===----------------------------------------------------------------------===*/
+
+// VisualStudio defines setjmp as _setjmp
+#if defined(_MSC_VER) && defined(setjmp) && \
+ !defined(setjmp_undefined_for_msvc)
+# pragma push_macro("setjmp")
+# undef setjmp
+# define setjmp_undefined_for_msvc
+#endif
+
+// Enum values for Intrinsics.h
+#ifdef GET_INTRINSIC_ENUM_VALUES
+ addressofreturnaddress, // llvm.addressofreturnaddress
+ adjust_trampoline, // llvm.adjust.trampoline
+ annotation, // llvm.annotation
+ assume, // llvm.assume
+ bitreverse, // llvm.bitreverse
+ bswap, // llvm.bswap
+ canonicalize, // llvm.canonicalize
+ ceil, // llvm.ceil
+ clear_cache, // llvm.clear_cache
+ convert_from_fp16, // llvm.convert.from.fp16
+ convert_to_fp16, // llvm.convert.to.fp16
+ convertff, // llvm.convertff
+ convertfsi, // llvm.convertfsi
+ convertfui, // llvm.convertfui
+ convertsif, // llvm.convertsif
+ convertss, // llvm.convertss
+ convertsu, // llvm.convertsu
+ convertuif, // llvm.convertuif
+ convertus, // llvm.convertus
+ convertuu, // llvm.convertuu
+ copysign, // llvm.copysign
+ coro_alloc, // llvm.coro.alloc
+ coro_begin, // llvm.coro.begin
+ coro_destroy, // llvm.coro.destroy
+ coro_done, // llvm.coro.done
+ coro_end, // llvm.coro.end
+ coro_frame, // llvm.coro.frame
+ coro_free, // llvm.coro.free
+ coro_id, // llvm.coro.id
+ coro_param, // llvm.coro.param
+ coro_promise, // llvm.coro.promise
+ coro_resume, // llvm.coro.resume
+ coro_save, // llvm.coro.save
+ coro_size, // llvm.coro.size
+ coro_subfn_addr, // llvm.coro.subfn.addr
+ coro_suspend, // llvm.coro.suspend
+ cos, // llvm.cos
+ ctlz, // llvm.ctlz
+ ctpop, // llvm.ctpop
+ cttz, // llvm.cttz
+ dbg_declare, // llvm.dbg.declare
+ dbg_value, // llvm.dbg.value
+ debugtrap, // llvm.debugtrap
+ donothing, // llvm.donothing
+ eh_dwarf_cfa, // llvm.eh.dwarf.cfa
+ eh_exceptioncode, // llvm.eh.exceptioncode
+ eh_exceptionpointer, // llvm.eh.exceptionpointer
+ eh_return_i32, // llvm.eh.return.i32
+ eh_return_i64, // llvm.eh.return.i64
+ eh_sjlj_callsite, // llvm.eh.sjlj.callsite
+ eh_sjlj_functioncontext, // llvm.eh.sjlj.functioncontext
+ eh_sjlj_longjmp, // llvm.eh.sjlj.longjmp
+ eh_sjlj_lsda, // llvm.eh.sjlj.lsda
+ eh_sjlj_setjmp, // llvm.eh.sjlj.setjmp
+ eh_sjlj_setup_dispatch, // llvm.eh.sjlj.setup.dispatch
+ eh_typeid_for, // llvm.eh.typeid.for
+ eh_unwind_init, // llvm.eh.unwind.init
+ exp, // llvm.exp
+ exp2, // llvm.exp2
+ expect, // llvm.expect
+ experimental_deoptimize, // llvm.experimental.deoptimize
+ experimental_gc_relocate, // llvm.experimental.gc.relocate
+ experimental_gc_result, // llvm.experimental.gc.result
+ experimental_gc_statepoint, // llvm.experimental.gc.statepoint
+ experimental_guard, // llvm.experimental.guard
+ experimental_patchpoint_i64, // llvm.experimental.patchpoint.i64
+ experimental_patchpoint_void, // llvm.experimental.patchpoint.void
+ experimental_stackmap, // llvm.experimental.stackmap
+ fabs, // llvm.fabs
+ floor, // llvm.floor
+ flt_rounds, // llvm.flt.rounds
+ fma, // llvm.fma
+ fmuladd, // llvm.fmuladd
+ frameaddress, // llvm.frameaddress
+ gcread, // llvm.gcread
+ gcroot, // llvm.gcroot
+ gcwrite, // llvm.gcwrite
+ get_dynamic_area_offset, // llvm.get.dynamic.area.offset
+ init_trampoline, // llvm.init.trampoline
+ instrprof_increment, // llvm.instrprof.increment
+ instrprof_increment_step, // llvm.instrprof.increment.step
+ instrprof_value_profile, // llvm.instrprof.value.profile
+ invariant_end, // llvm.invariant.end
+ invariant_group_barrier, // llvm.invariant.group.barrier
+ invariant_start, // llvm.invariant.start
+ lifetime_end, // llvm.lifetime.end
+ lifetime_start, // llvm.lifetime.start
+ load_relative, // llvm.load.relative
+ localaddress, // llvm.localaddress
+ localescape, // llvm.localescape
+ localrecover, // llvm.localrecover
+ log, // llvm.log
+ log10, // llvm.log10
+ log2, // llvm.log2
+ longjmp, // llvm.longjmp
+ masked_compressstore, // llvm.masked.compressstore
+ masked_expandload, // llvm.masked.expandload
+ masked_gather, // llvm.masked.gather
+ masked_load, // llvm.masked.load
+ masked_scatter, // llvm.masked.scatter
+ masked_store, // llvm.masked.store
+ maxnum, // llvm.maxnum
+ memcpy, // llvm.memcpy
+ memmove, // llvm.memmove
+ memset, // llvm.memset
+ minnum, // llvm.minnum
+ nearbyint, // llvm.nearbyint
+ objectsize, // llvm.objectsize
+ pcmarker, // llvm.pcmarker
+ pow, // llvm.pow
+ powi, // llvm.powi
+ prefetch, // llvm.prefetch
+ ptr_annotation, // llvm.ptr.annotation
+ read_register, // llvm.read_register
+ readcyclecounter, // llvm.readcyclecounter
+ returnaddress, // llvm.returnaddress
+ rint, // llvm.rint
+ round, // llvm.round
+ sadd_with_overflow, // llvm.sadd.with.overflow
+ setjmp, // llvm.setjmp
+ siglongjmp, // llvm.siglongjmp
+ sigsetjmp, // llvm.sigsetjmp
+ sin, // llvm.sin
+ smul_with_overflow, // llvm.smul.with.overflow
+ sqrt, // llvm.sqrt
+ ssub_with_overflow, // llvm.ssub.with.overflow
+ stackguard, // llvm.stackguard
+ stackprotector, // llvm.stackprotector
+ stackrestore, // llvm.stackrestore
+ stacksave, // llvm.stacksave
+ thread_pointer, // llvm.thread.pointer
+ trap, // llvm.trap
+ trunc, // llvm.trunc
+ type_checked_load, // llvm.type.checked.load
+ type_test, // llvm.type.test
+ uadd_with_overflow, // llvm.uadd.with.overflow
+ umul_with_overflow, // llvm.umul.with.overflow
+ usub_with_overflow, // llvm.usub.with.overflow
+ vacopy, // llvm.va_copy
+ vaend, // llvm.va_end
+ vastart, // llvm.va_start
+ var_annotation, // llvm.var.annotation
+ write_register, // llvm.write_register
+ aarch64_clrex, // llvm.aarch64.clrex
+ aarch64_crc32b, // llvm.aarch64.crc32b
+ aarch64_crc32cb, // llvm.aarch64.crc32cb
+ aarch64_crc32ch, // llvm.aarch64.crc32ch
+ aarch64_crc32cw, // llvm.aarch64.crc32cw
+ aarch64_crc32cx, // llvm.aarch64.crc32cx
+ aarch64_crc32h, // llvm.aarch64.crc32h
+ aarch64_crc32w, // llvm.aarch64.crc32w
+ aarch64_crc32x, // llvm.aarch64.crc32x
+ aarch64_crypto_aesd, // llvm.aarch64.crypto.aesd
+ aarch64_crypto_aese, // llvm.aarch64.crypto.aese
+ aarch64_crypto_aesimc, // llvm.aarch64.crypto.aesimc
+ aarch64_crypto_aesmc, // llvm.aarch64.crypto.aesmc
+ aarch64_crypto_sha1c, // llvm.aarch64.crypto.sha1c
+ aarch64_crypto_sha1h, // llvm.aarch64.crypto.sha1h
+ aarch64_crypto_sha1m, // llvm.aarch64.crypto.sha1m
+ aarch64_crypto_sha1p, // llvm.aarch64.crypto.sha1p
+ aarch64_crypto_sha1su0, // llvm.aarch64.crypto.sha1su0
+ aarch64_crypto_sha1su1, // llvm.aarch64.crypto.sha1su1
+ aarch64_crypto_sha256h, // llvm.aarch64.crypto.sha256h
+ aarch64_crypto_sha256h2, // llvm.aarch64.crypto.sha256h2
+ aarch64_crypto_sha256su0, // llvm.aarch64.crypto.sha256su0
+ aarch64_crypto_sha256su1, // llvm.aarch64.crypto.sha256su1
+ aarch64_dmb, // llvm.aarch64.dmb
+ aarch64_dsb, // llvm.aarch64.dsb
+ aarch64_hint, // llvm.aarch64.hint
+ aarch64_isb, // llvm.aarch64.isb
+ aarch64_ldaxp, // llvm.aarch64.ldaxp
+ aarch64_ldaxr, // llvm.aarch64.ldaxr
+ aarch64_ldxp, // llvm.aarch64.ldxp
+ aarch64_ldxr, // llvm.aarch64.ldxr
+ aarch64_neon_abs, // llvm.aarch64.neon.abs
+ aarch64_neon_addhn, // llvm.aarch64.neon.addhn
+ aarch64_neon_addp, // llvm.aarch64.neon.addp
+ aarch64_neon_cls, // llvm.aarch64.neon.cls
+ aarch64_neon_fabd, // llvm.aarch64.neon.fabd
+ aarch64_neon_facge, // llvm.aarch64.neon.facge
+ aarch64_neon_facgt, // llvm.aarch64.neon.facgt
+ aarch64_neon_faddv, // llvm.aarch64.neon.faddv
+ aarch64_neon_fcvtas, // llvm.aarch64.neon.fcvtas
+ aarch64_neon_fcvtau, // llvm.aarch64.neon.fcvtau
+ aarch64_neon_fcvtms, // llvm.aarch64.neon.fcvtms
+ aarch64_neon_fcvtmu, // llvm.aarch64.neon.fcvtmu
+ aarch64_neon_fcvtns, // llvm.aarch64.neon.fcvtns
+ aarch64_neon_fcvtnu, // llvm.aarch64.neon.fcvtnu
+ aarch64_neon_fcvtps, // llvm.aarch64.neon.fcvtps
+ aarch64_neon_fcvtpu, // llvm.aarch64.neon.fcvtpu
+ aarch64_neon_fcvtxn, // llvm.aarch64.neon.fcvtxn
+ aarch64_neon_fcvtzs, // llvm.aarch64.neon.fcvtzs
+ aarch64_neon_fcvtzu, // llvm.aarch64.neon.fcvtzu
+ aarch64_neon_fmax, // llvm.aarch64.neon.fmax
+ aarch64_neon_fmaxnm, // llvm.aarch64.neon.fmaxnm
+ aarch64_neon_fmaxnmp, // llvm.aarch64.neon.fmaxnmp
+ aarch64_neon_fmaxnmv, // llvm.aarch64.neon.fmaxnmv
+ aarch64_neon_fmaxp, // llvm.aarch64.neon.fmaxp
+ aarch64_neon_fmaxv, // llvm.aarch64.neon.fmaxv
+ aarch64_neon_fmin, // llvm.aarch64.neon.fmin
+ aarch64_neon_fminnm, // llvm.aarch64.neon.fminnm
+ aarch64_neon_fminnmp, // llvm.aarch64.neon.fminnmp
+ aarch64_neon_fminnmv, // llvm.aarch64.neon.fminnmv
+ aarch64_neon_fminp, // llvm.aarch64.neon.fminp
+ aarch64_neon_fminv, // llvm.aarch64.neon.fminv
+ aarch64_neon_fmulx, // llvm.aarch64.neon.fmulx
+ aarch64_neon_frecpe, // llvm.aarch64.neon.frecpe
+ aarch64_neon_frecps, // llvm.aarch64.neon.frecps
+ aarch64_neon_frecpx, // llvm.aarch64.neon.frecpx
+ aarch64_neon_frintn, // llvm.aarch64.neon.frintn
+ aarch64_neon_frsqrte, // llvm.aarch64.neon.frsqrte
+ aarch64_neon_frsqrts, // llvm.aarch64.neon.frsqrts
+ aarch64_neon_ld1x2, // llvm.aarch64.neon.ld1x2
+ aarch64_neon_ld1x3, // llvm.aarch64.neon.ld1x3
+ aarch64_neon_ld1x4, // llvm.aarch64.neon.ld1x4
+ aarch64_neon_ld2, // llvm.aarch64.neon.ld2
+ aarch64_neon_ld2lane, // llvm.aarch64.neon.ld2lane
+ aarch64_neon_ld2r, // llvm.aarch64.neon.ld2r
+ aarch64_neon_ld3, // llvm.aarch64.neon.ld3
+ aarch64_neon_ld3lane, // llvm.aarch64.neon.ld3lane
+ aarch64_neon_ld3r, // llvm.aarch64.neon.ld3r
+ aarch64_neon_ld4, // llvm.aarch64.neon.ld4
+ aarch64_neon_ld4lane, // llvm.aarch64.neon.ld4lane
+ aarch64_neon_ld4r, // llvm.aarch64.neon.ld4r
+ aarch64_neon_pmul, // llvm.aarch64.neon.pmul
+ aarch64_neon_pmull, // llvm.aarch64.neon.pmull
+ aarch64_neon_pmull64, // llvm.aarch64.neon.pmull64
+ aarch64_neon_raddhn, // llvm.aarch64.neon.raddhn
+ aarch64_neon_rbit, // llvm.aarch64.neon.rbit
+ aarch64_neon_rshrn, // llvm.aarch64.neon.rshrn
+ aarch64_neon_rsubhn, // llvm.aarch64.neon.rsubhn
+ aarch64_neon_sabd, // llvm.aarch64.neon.sabd
+ aarch64_neon_saddlp, // llvm.aarch64.neon.saddlp
+ aarch64_neon_saddlv, // llvm.aarch64.neon.saddlv
+ aarch64_neon_saddv, // llvm.aarch64.neon.saddv
+ aarch64_neon_scalar_sqxtn, // llvm.aarch64.neon.scalar.sqxtn
+ aarch64_neon_scalar_sqxtun, // llvm.aarch64.neon.scalar.sqxtun
+ aarch64_neon_scalar_uqxtn, // llvm.aarch64.neon.scalar.uqxtn
+ aarch64_neon_shadd, // llvm.aarch64.neon.shadd
+ aarch64_neon_shll, // llvm.aarch64.neon.shll
+ aarch64_neon_shsub, // llvm.aarch64.neon.shsub
+ aarch64_neon_smax, // llvm.aarch64.neon.smax
+ aarch64_neon_smaxp, // llvm.aarch64.neon.smaxp
+ aarch64_neon_smaxv, // llvm.aarch64.neon.smaxv
+ aarch64_neon_smin, // llvm.aarch64.neon.smin
+ aarch64_neon_sminp, // llvm.aarch64.neon.sminp
+ aarch64_neon_sminv, // llvm.aarch64.neon.sminv
+ aarch64_neon_smull, // llvm.aarch64.neon.smull
+ aarch64_neon_sqabs, // llvm.aarch64.neon.sqabs
+ aarch64_neon_sqadd, // llvm.aarch64.neon.sqadd
+ aarch64_neon_sqdmulh, // llvm.aarch64.neon.sqdmulh
+ aarch64_neon_sqdmull, // llvm.aarch64.neon.sqdmull
+ aarch64_neon_sqdmulls_scalar, // llvm.aarch64.neon.sqdmulls.scalar
+ aarch64_neon_sqneg, // llvm.aarch64.neon.sqneg
+ aarch64_neon_sqrdmulh, // llvm.aarch64.neon.sqrdmulh
+ aarch64_neon_sqrshl, // llvm.aarch64.neon.sqrshl
+ aarch64_neon_sqrshrn, // llvm.aarch64.neon.sqrshrn
+ aarch64_neon_sqrshrun, // llvm.aarch64.neon.sqrshrun
+ aarch64_neon_sqshl, // llvm.aarch64.neon.sqshl
+ aarch64_neon_sqshlu, // llvm.aarch64.neon.sqshlu
+ aarch64_neon_sqshrn, // llvm.aarch64.neon.sqshrn
+ aarch64_neon_sqshrun, // llvm.aarch64.neon.sqshrun
+ aarch64_neon_sqsub, // llvm.aarch64.neon.sqsub
+ aarch64_neon_sqxtn, // llvm.aarch64.neon.sqxtn
+ aarch64_neon_sqxtun, // llvm.aarch64.neon.sqxtun
+ aarch64_neon_srhadd, // llvm.aarch64.neon.srhadd
+ aarch64_neon_srshl, // llvm.aarch64.neon.srshl
+ aarch64_neon_sshl, // llvm.aarch64.neon.sshl
+ aarch64_neon_sshll, // llvm.aarch64.neon.sshll
+ aarch64_neon_st1x2, // llvm.aarch64.neon.st1x2
+ aarch64_neon_st1x3, // llvm.aarch64.neon.st1x3
+ aarch64_neon_st1x4, // llvm.aarch64.neon.st1x4
+ aarch64_neon_st2, // llvm.aarch64.neon.st2
+ aarch64_neon_st2lane, // llvm.aarch64.neon.st2lane
+ aarch64_neon_st3, // llvm.aarch64.neon.st3
+ aarch64_neon_st3lane, // llvm.aarch64.neon.st3lane
+ aarch64_neon_st4, // llvm.aarch64.neon.st4
+ aarch64_neon_st4lane, // llvm.aarch64.neon.st4lane
+ aarch64_neon_subhn, // llvm.aarch64.neon.subhn
+ aarch64_neon_suqadd, // llvm.aarch64.neon.suqadd
+ aarch64_neon_tbl1, // llvm.aarch64.neon.tbl1
+ aarch64_neon_tbl2, // llvm.aarch64.neon.tbl2
+ aarch64_neon_tbl3, // llvm.aarch64.neon.tbl3
+ aarch64_neon_tbl4, // llvm.aarch64.neon.tbl4
+ aarch64_neon_tbx1, // llvm.aarch64.neon.tbx1
+ aarch64_neon_tbx2, // llvm.aarch64.neon.tbx2
+ aarch64_neon_tbx3, // llvm.aarch64.neon.tbx3
+ aarch64_neon_tbx4, // llvm.aarch64.neon.tbx4
+ aarch64_neon_uabd, // llvm.aarch64.neon.uabd
+ aarch64_neon_uaddlp, // llvm.aarch64.neon.uaddlp
+ aarch64_neon_uaddlv, // llvm.aarch64.neon.uaddlv
+ aarch64_neon_uaddv, // llvm.aarch64.neon.uaddv
+ aarch64_neon_uhadd, // llvm.aarch64.neon.uhadd
+ aarch64_neon_uhsub, // llvm.aarch64.neon.uhsub
+ aarch64_neon_umax, // llvm.aarch64.neon.umax
+ aarch64_neon_umaxp, // llvm.aarch64.neon.umaxp
+ aarch64_neon_umaxv, // llvm.aarch64.neon.umaxv
+ aarch64_neon_umin, // llvm.aarch64.neon.umin
+ aarch64_neon_uminp, // llvm.aarch64.neon.uminp
+ aarch64_neon_uminv, // llvm.aarch64.neon.uminv
+ aarch64_neon_umull, // llvm.aarch64.neon.umull
+ aarch64_neon_uqadd, // llvm.aarch64.neon.uqadd
+ aarch64_neon_uqrshl, // llvm.aarch64.neon.uqrshl
+ aarch64_neon_uqrshrn, // llvm.aarch64.neon.uqrshrn
+ aarch64_neon_uqshl, // llvm.aarch64.neon.uqshl
+ aarch64_neon_uqshrn, // llvm.aarch64.neon.uqshrn
+ aarch64_neon_uqsub, // llvm.aarch64.neon.uqsub
+ aarch64_neon_uqxtn, // llvm.aarch64.neon.uqxtn
+ aarch64_neon_urecpe, // llvm.aarch64.neon.urecpe
+ aarch64_neon_urhadd, // llvm.aarch64.neon.urhadd
+ aarch64_neon_urshl, // llvm.aarch64.neon.urshl
+ aarch64_neon_ursqrte, // llvm.aarch64.neon.ursqrte
+ aarch64_neon_ushl, // llvm.aarch64.neon.ushl
+ aarch64_neon_ushll, // llvm.aarch64.neon.ushll
+ aarch64_neon_usqadd, // llvm.aarch64.neon.usqadd
+ aarch64_neon_vcopy_lane, // llvm.aarch64.neon.vcopy.lane
+ aarch64_neon_vcvtfp2fxs, // llvm.aarch64.neon.vcvtfp2fxs
+ aarch64_neon_vcvtfp2fxu, // llvm.aarch64.neon.vcvtfp2fxu
+ aarch64_neon_vcvtfp2hf, // llvm.aarch64.neon.vcvtfp2hf
+ aarch64_neon_vcvtfxs2fp, // llvm.aarch64.neon.vcvtfxs2fp
+ aarch64_neon_vcvtfxu2fp, // llvm.aarch64.neon.vcvtfxu2fp
+ aarch64_neon_vcvthf2fp, // llvm.aarch64.neon.vcvthf2fp
+ aarch64_neon_vsli, // llvm.aarch64.neon.vsli
+ aarch64_neon_vsri, // llvm.aarch64.neon.vsri
+ aarch64_rbit, // llvm.aarch64.rbit
+ aarch64_sdiv, // llvm.aarch64.sdiv
+ aarch64_sisd_fabd, // llvm.aarch64.sisd.fabd
+ aarch64_sisd_fcvtxn, // llvm.aarch64.sisd.fcvtxn
+ aarch64_stlxp, // llvm.aarch64.stlxp
+ aarch64_stlxr, // llvm.aarch64.stlxr
+ aarch64_stxp, // llvm.aarch64.stxp
+ aarch64_stxr, // llvm.aarch64.stxr
+ aarch64_udiv, // llvm.aarch64.udiv
+ amdgcn_atomic_dec, // llvm.amdgcn.atomic.dec
+ amdgcn_atomic_inc, // llvm.amdgcn.atomic.inc
+ amdgcn_buffer_atomic_add, // llvm.amdgcn.buffer.atomic.add
+ amdgcn_buffer_atomic_and, // llvm.amdgcn.buffer.atomic.and
+ amdgcn_buffer_atomic_cmpswap, // llvm.amdgcn.buffer.atomic.cmpswap
+ amdgcn_buffer_atomic_or, // llvm.amdgcn.buffer.atomic.or
+ amdgcn_buffer_atomic_smax, // llvm.amdgcn.buffer.atomic.smax
+ amdgcn_buffer_atomic_smin, // llvm.amdgcn.buffer.atomic.smin
+ amdgcn_buffer_atomic_sub, // llvm.amdgcn.buffer.atomic.sub
+ amdgcn_buffer_atomic_swap, // llvm.amdgcn.buffer.atomic.swap
+ amdgcn_buffer_atomic_umax, // llvm.amdgcn.buffer.atomic.umax
+ amdgcn_buffer_atomic_umin, // llvm.amdgcn.buffer.atomic.umin
+ amdgcn_buffer_atomic_xor, // llvm.amdgcn.buffer.atomic.xor
+ amdgcn_buffer_load, // llvm.amdgcn.buffer.load
+ amdgcn_buffer_load_format, // llvm.amdgcn.buffer.load.format
+ amdgcn_buffer_store, // llvm.amdgcn.buffer.store
+ amdgcn_buffer_store_format, // llvm.amdgcn.buffer.store.format
+ amdgcn_buffer_wbinvl1, // llvm.amdgcn.buffer.wbinvl1
+ amdgcn_buffer_wbinvl1_sc, // llvm.amdgcn.buffer.wbinvl1.sc
+ amdgcn_buffer_wbinvl1_vol, // llvm.amdgcn.buffer.wbinvl1.vol
+ amdgcn_class, // llvm.amdgcn.class
+ amdgcn_cos, // llvm.amdgcn.cos
+ amdgcn_cubeid, // llvm.amdgcn.cubeid
+ amdgcn_cubema, // llvm.amdgcn.cubema
+ amdgcn_cubesc, // llvm.amdgcn.cubesc
+ amdgcn_cubetc, // llvm.amdgcn.cubetc
+ amdgcn_cvt_pk_u8_f32, // llvm.amdgcn.cvt.pk.u8.f32
+ amdgcn_dispatch_id, // llvm.amdgcn.dispatch.id
+ amdgcn_dispatch_ptr, // llvm.amdgcn.dispatch.ptr
+ amdgcn_div_fixup, // llvm.amdgcn.div.fixup
+ amdgcn_div_fmas, // llvm.amdgcn.div.fmas
+ amdgcn_div_scale, // llvm.amdgcn.div.scale
+ amdgcn_ds_bpermute, // llvm.amdgcn.ds.bpermute
+ amdgcn_ds_permute, // llvm.amdgcn.ds.permute
+ amdgcn_ds_swizzle, // llvm.amdgcn.ds.swizzle
+ amdgcn_fcmp, // llvm.amdgcn.fcmp
+ amdgcn_fmul_legacy, // llvm.amdgcn.fmul.legacy
+ amdgcn_fract, // llvm.amdgcn.fract
+ amdgcn_frexp_exp, // llvm.amdgcn.frexp.exp
+ amdgcn_frexp_mant, // llvm.amdgcn.frexp.mant
+ amdgcn_groupstaticsize, // llvm.amdgcn.groupstaticsize
+ amdgcn_icmp, // llvm.amdgcn.icmp
+ amdgcn_image_atomic_add, // llvm.amdgcn.image.atomic.add
+ amdgcn_image_atomic_and, // llvm.amdgcn.image.atomic.and
+ amdgcn_image_atomic_cmpswap, // llvm.amdgcn.image.atomic.cmpswap
+ amdgcn_image_atomic_dec, // llvm.amdgcn.image.atomic.dec
+ amdgcn_image_atomic_inc, // llvm.amdgcn.image.atomic.inc
+ amdgcn_image_atomic_or, // llvm.amdgcn.image.atomic.or
+ amdgcn_image_atomic_smax, // llvm.amdgcn.image.atomic.smax
+ amdgcn_image_atomic_smin, // llvm.amdgcn.image.atomic.smin
+ amdgcn_image_atomic_sub, // llvm.amdgcn.image.atomic.sub
+ amdgcn_image_atomic_swap, // llvm.amdgcn.image.atomic.swap
+ amdgcn_image_atomic_umax, // llvm.amdgcn.image.atomic.umax
+ amdgcn_image_atomic_umin, // llvm.amdgcn.image.atomic.umin
+ amdgcn_image_atomic_xor, // llvm.amdgcn.image.atomic.xor
+ amdgcn_image_gather4, // llvm.amdgcn.image.gather4
+ amdgcn_image_gather4_b, // llvm.amdgcn.image.gather4.b
+ amdgcn_image_gather4_b_cl, // llvm.amdgcn.image.gather4.b.cl
+ amdgcn_image_gather4_b_cl_o, // llvm.amdgcn.image.gather4.b.cl.o
+ amdgcn_image_gather4_b_o, // llvm.amdgcn.image.gather4.b.o
+ amdgcn_image_gather4_c, // llvm.amdgcn.image.gather4.c
+ amdgcn_image_gather4_c_b, // llvm.amdgcn.image.gather4.c.b
+ amdgcn_image_gather4_c_b_cl, // llvm.amdgcn.image.gather4.c.b.cl
+ amdgcn_image_gather4_c_b_cl_o, // llvm.amdgcn.image.gather4.c.b.cl.o
+ amdgcn_image_gather4_c_b_o, // llvm.amdgcn.image.gather4.c.b.o
+ amdgcn_image_gather4_c_cl, // llvm.amdgcn.image.gather4.c.cl
+ amdgcn_image_gather4_c_cl_o, // llvm.amdgcn.image.gather4.c.cl.o
+ amdgcn_image_gather4_c_l, // llvm.amdgcn.image.gather4.c.l
+ amdgcn_image_gather4_c_l_o, // llvm.amdgcn.image.gather4.c.l.o
+ amdgcn_image_gather4_c_lz, // llvm.amdgcn.image.gather4.c.lz
+ amdgcn_image_gather4_c_lz_o, // llvm.amdgcn.image.gather4.c.lz.o
+ amdgcn_image_gather4_c_o, // llvm.amdgcn.image.gather4.c.o
+ amdgcn_image_gather4_cl, // llvm.amdgcn.image.gather4.cl
+ amdgcn_image_gather4_cl_o, // llvm.amdgcn.image.gather4.cl.o
+ amdgcn_image_gather4_l, // llvm.amdgcn.image.gather4.l
+ amdgcn_image_gather4_l_o, // llvm.amdgcn.image.gather4.l.o
+ amdgcn_image_gather4_lz, // llvm.amdgcn.image.gather4.lz
+ amdgcn_image_gather4_lz_o, // llvm.amdgcn.image.gather4.lz.o
+ amdgcn_image_gather4_o, // llvm.amdgcn.image.gather4.o
+ amdgcn_image_getlod, // llvm.amdgcn.image.getlod
+ amdgcn_image_getresinfo, // llvm.amdgcn.image.getresinfo
+ amdgcn_image_load, // llvm.amdgcn.image.load
+ amdgcn_image_load_mip, // llvm.amdgcn.image.load.mip
+ amdgcn_image_sample, // llvm.amdgcn.image.sample
+ amdgcn_image_sample_b, // llvm.amdgcn.image.sample.b
+ amdgcn_image_sample_b_cl, // llvm.amdgcn.image.sample.b.cl
+ amdgcn_image_sample_b_cl_o, // llvm.amdgcn.image.sample.b.cl.o
+ amdgcn_image_sample_b_o, // llvm.amdgcn.image.sample.b.o
+ amdgcn_image_sample_c, // llvm.amdgcn.image.sample.c
+ amdgcn_image_sample_c_b, // llvm.amdgcn.image.sample.c.b
+ amdgcn_image_sample_c_b_cl, // llvm.amdgcn.image.sample.c.b.cl
+ amdgcn_image_sample_c_b_cl_o, // llvm.amdgcn.image.sample.c.b.cl.o
+ amdgcn_image_sample_c_b_o, // llvm.amdgcn.image.sample.c.b.o
+ amdgcn_image_sample_c_cd, // llvm.amdgcn.image.sample.c.cd
+ amdgcn_image_sample_c_cd_cl, // llvm.amdgcn.image.sample.c.cd.cl
+ amdgcn_image_sample_c_cd_cl_o, // llvm.amdgcn.image.sample.c.cd.cl.o
+ amdgcn_image_sample_c_cd_o, // llvm.amdgcn.image.sample.c.cd.o
+ amdgcn_image_sample_c_cl, // llvm.amdgcn.image.sample.c.cl
+ amdgcn_image_sample_c_cl_o, // llvm.amdgcn.image.sample.c.cl.o
+ amdgcn_image_sample_c_d, // llvm.amdgcn.image.sample.c.d
+ amdgcn_image_sample_c_d_cl, // llvm.amdgcn.image.sample.c.d.cl
+ amdgcn_image_sample_c_d_cl_o, // llvm.amdgcn.image.sample.c.d.cl.o
+ amdgcn_image_sample_c_d_o, // llvm.amdgcn.image.sample.c.d.o
+ amdgcn_image_sample_c_l, // llvm.amdgcn.image.sample.c.l
+ amdgcn_image_sample_c_l_o, // llvm.amdgcn.image.sample.c.l.o
+ amdgcn_image_sample_c_lz, // llvm.amdgcn.image.sample.c.lz
+ amdgcn_image_sample_c_lz_o, // llvm.amdgcn.image.sample.c.lz.o
+ amdgcn_image_sample_c_o, // llvm.amdgcn.image.sample.c.o
+ amdgcn_image_sample_cd, // llvm.amdgcn.image.sample.cd
+ amdgcn_image_sample_cd_cl, // llvm.amdgcn.image.sample.cd.cl
+ amdgcn_image_sample_cd_cl_o, // llvm.amdgcn.image.sample.cd.cl.o
+ amdgcn_image_sample_cd_o, // llvm.amdgcn.image.sample.cd.o
+ amdgcn_image_sample_cl, // llvm.amdgcn.image.sample.cl
+ amdgcn_image_sample_cl_o, // llvm.amdgcn.image.sample.cl.o
+ amdgcn_image_sample_d, // llvm.amdgcn.image.sample.d
+ amdgcn_image_sample_d_cl, // llvm.amdgcn.image.sample.d.cl
+ amdgcn_image_sample_d_cl_o, // llvm.amdgcn.image.sample.d.cl.o
+ amdgcn_image_sample_d_o, // llvm.amdgcn.image.sample.d.o
+ amdgcn_image_sample_l, // llvm.amdgcn.image.sample.l
+ amdgcn_image_sample_l_o, // llvm.amdgcn.image.sample.l.o
+ amdgcn_image_sample_lz, // llvm.amdgcn.image.sample.lz
+ amdgcn_image_sample_lz_o, // llvm.amdgcn.image.sample.lz.o
+ amdgcn_image_sample_o, // llvm.amdgcn.image.sample.o
+ amdgcn_image_store, // llvm.amdgcn.image.store
+ amdgcn_image_store_mip, // llvm.amdgcn.image.store.mip
+ amdgcn_implicitarg_ptr, // llvm.amdgcn.implicitarg.ptr
+ amdgcn_interp_mov, // llvm.amdgcn.interp.mov
+ amdgcn_interp_p1, // llvm.amdgcn.interp.p1
+ amdgcn_interp_p2, // llvm.amdgcn.interp.p2
+ amdgcn_kernarg_segment_ptr, // llvm.amdgcn.kernarg.segment.ptr
+ amdgcn_ldexp, // llvm.amdgcn.ldexp
+ amdgcn_lerp, // llvm.amdgcn.lerp
+ amdgcn_log_clamp, // llvm.amdgcn.log.clamp
+ amdgcn_mbcnt_hi, // llvm.amdgcn.mbcnt.hi
+ amdgcn_mbcnt_lo, // llvm.amdgcn.mbcnt.lo
+ amdgcn_mov_dpp, // llvm.amdgcn.mov.dpp
+ amdgcn_mqsad_pk_u16_u8, // llvm.amdgcn.mqsad.pk.u16.u8
+ amdgcn_mqsad_u32_u8, // llvm.amdgcn.mqsad.u32.u8
+ amdgcn_msad_u8, // llvm.amdgcn.msad.u8
+ amdgcn_ps_live, // llvm.amdgcn.ps.live
+ amdgcn_qsad_pk_u16_u8, // llvm.amdgcn.qsad.pk.u16.u8
+ amdgcn_queue_ptr, // llvm.amdgcn.queue.ptr
+ amdgcn_rcp, // llvm.amdgcn.rcp
+ amdgcn_rcp_legacy, // llvm.amdgcn.rcp.legacy
+ amdgcn_readfirstlane, // llvm.amdgcn.readfirstlane
+ amdgcn_readlane, // llvm.amdgcn.readlane
+ amdgcn_rsq, // llvm.amdgcn.rsq
+ amdgcn_rsq_clamp, // llvm.amdgcn.rsq.clamp
+ amdgcn_rsq_legacy, // llvm.amdgcn.rsq.legacy
+ amdgcn_s_barrier, // llvm.amdgcn.s.barrier
+ amdgcn_s_dcache_inv, // llvm.amdgcn.s.dcache.inv
+ amdgcn_s_dcache_inv_vol, // llvm.amdgcn.s.dcache.inv.vol
+ amdgcn_s_dcache_wb, // llvm.amdgcn.s.dcache.wb
+ amdgcn_s_dcache_wb_vol, // llvm.amdgcn.s.dcache.wb.vol
+ amdgcn_s_decperflevel, // llvm.amdgcn.s.decperflevel
+ amdgcn_s_getreg, // llvm.amdgcn.s.getreg
+ amdgcn_s_incperflevel, // llvm.amdgcn.s.incperflevel
+ amdgcn_s_memrealtime, // llvm.amdgcn.s.memrealtime
+ amdgcn_s_memtime, // llvm.amdgcn.s.memtime
+ amdgcn_s_sleep, // llvm.amdgcn.s.sleep
+ amdgcn_s_waitcnt, // llvm.amdgcn.s.waitcnt
+ amdgcn_sad_hi_u8, // llvm.amdgcn.sad.hi.u8
+ amdgcn_sad_u16, // llvm.amdgcn.sad.u16
+ amdgcn_sad_u8, // llvm.amdgcn.sad.u8
+ amdgcn_sffbh, // llvm.amdgcn.sffbh
+ amdgcn_sin, // llvm.amdgcn.sin
+ amdgcn_trig_preop, // llvm.amdgcn.trig.preop
+ amdgcn_wave_barrier, // llvm.amdgcn.wave.barrier
+ amdgcn_workgroup_id_x, // llvm.amdgcn.workgroup.id.x
+ amdgcn_workgroup_id_y, // llvm.amdgcn.workgroup.id.y
+ amdgcn_workgroup_id_z, // llvm.amdgcn.workgroup.id.z
+ amdgcn_workitem_id_x, // llvm.amdgcn.workitem.id.x
+ amdgcn_workitem_id_y, // llvm.amdgcn.workitem.id.y
+ amdgcn_workitem_id_z, // llvm.amdgcn.workitem.id.z
+ arm_cdp, // llvm.arm.cdp
+ arm_cdp2, // llvm.arm.cdp2
+ arm_clrex, // llvm.arm.clrex
+ arm_crc32b, // llvm.arm.crc32b
+ arm_crc32cb, // llvm.arm.crc32cb
+ arm_crc32ch, // llvm.arm.crc32ch
+ arm_crc32cw, // llvm.arm.crc32cw
+ arm_crc32h, // llvm.arm.crc32h
+ arm_crc32w, // llvm.arm.crc32w
+ arm_dbg, // llvm.arm.dbg
+ arm_dmb, // llvm.arm.dmb
+ arm_dsb, // llvm.arm.dsb
+ arm_get_fpscr, // llvm.arm.get.fpscr
+ arm_hint, // llvm.arm.hint
+ arm_isb, // llvm.arm.isb
+ arm_ldaex, // llvm.arm.ldaex
+ arm_ldaexd, // llvm.arm.ldaexd
+ arm_ldc, // llvm.arm.ldc
+ arm_ldc2, // llvm.arm.ldc2
+ arm_ldc2l, // llvm.arm.ldc2l
+ arm_ldcl, // llvm.arm.ldcl
+ arm_ldrex, // llvm.arm.ldrex
+ arm_ldrexd, // llvm.arm.ldrexd
+ arm_mcr, // llvm.arm.mcr
+ arm_mcr2, // llvm.arm.mcr2
+ arm_mcrr, // llvm.arm.mcrr
+ arm_mcrr2, // llvm.arm.mcrr2
+ arm_mrc, // llvm.arm.mrc
+ arm_mrc2, // llvm.arm.mrc2
+ arm_mrrc, // llvm.arm.mrrc
+ arm_mrrc2, // llvm.arm.mrrc2
+ arm_neon_aesd, // llvm.arm.neon.aesd
+ arm_neon_aese, // llvm.arm.neon.aese
+ arm_neon_aesimc, // llvm.arm.neon.aesimc
+ arm_neon_aesmc, // llvm.arm.neon.aesmc
+ arm_neon_sha1c, // llvm.arm.neon.sha1c
+ arm_neon_sha1h, // llvm.arm.neon.sha1h
+ arm_neon_sha1m, // llvm.arm.neon.sha1m
+ arm_neon_sha1p, // llvm.arm.neon.sha1p
+ arm_neon_sha1su0, // llvm.arm.neon.sha1su0
+ arm_neon_sha1su1, // llvm.arm.neon.sha1su1
+ arm_neon_sha256h, // llvm.arm.neon.sha256h
+ arm_neon_sha256h2, // llvm.arm.neon.sha256h2
+ arm_neon_sha256su0, // llvm.arm.neon.sha256su0
+ arm_neon_sha256su1, // llvm.arm.neon.sha256su1
+ arm_neon_vabds, // llvm.arm.neon.vabds
+ arm_neon_vabdu, // llvm.arm.neon.vabdu
+ arm_neon_vabs, // llvm.arm.neon.vabs
+ arm_neon_vacge, // llvm.arm.neon.vacge
+ arm_neon_vacgt, // llvm.arm.neon.vacgt
+ arm_neon_vbsl, // llvm.arm.neon.vbsl
+ arm_neon_vcls, // llvm.arm.neon.vcls
+ arm_neon_vcvtas, // llvm.arm.neon.vcvtas
+ arm_neon_vcvtau, // llvm.arm.neon.vcvtau
+ arm_neon_vcvtfp2fxs, // llvm.arm.neon.vcvtfp2fxs
+ arm_neon_vcvtfp2fxu, // llvm.arm.neon.vcvtfp2fxu
+ arm_neon_vcvtfp2hf, // llvm.arm.neon.vcvtfp2hf
+ arm_neon_vcvtfxs2fp, // llvm.arm.neon.vcvtfxs2fp
+ arm_neon_vcvtfxu2fp, // llvm.arm.neon.vcvtfxu2fp
+ arm_neon_vcvthf2fp, // llvm.arm.neon.vcvthf2fp
+ arm_neon_vcvtms, // llvm.arm.neon.vcvtms
+ arm_neon_vcvtmu, // llvm.arm.neon.vcvtmu
+ arm_neon_vcvtns, // llvm.arm.neon.vcvtns
+ arm_neon_vcvtnu, // llvm.arm.neon.vcvtnu
+ arm_neon_vcvtps, // llvm.arm.neon.vcvtps
+ arm_neon_vcvtpu, // llvm.arm.neon.vcvtpu
+ arm_neon_vhadds, // llvm.arm.neon.vhadds
+ arm_neon_vhaddu, // llvm.arm.neon.vhaddu
+ arm_neon_vhsubs, // llvm.arm.neon.vhsubs
+ arm_neon_vhsubu, // llvm.arm.neon.vhsubu
+ arm_neon_vld1, // llvm.arm.neon.vld1
+ arm_neon_vld2, // llvm.arm.neon.vld2
+ arm_neon_vld2lane, // llvm.arm.neon.vld2lane
+ arm_neon_vld3, // llvm.arm.neon.vld3
+ arm_neon_vld3lane, // llvm.arm.neon.vld3lane
+ arm_neon_vld4, // llvm.arm.neon.vld4
+ arm_neon_vld4lane, // llvm.arm.neon.vld4lane
+ arm_neon_vmaxnm, // llvm.arm.neon.vmaxnm
+ arm_neon_vmaxs, // llvm.arm.neon.vmaxs
+ arm_neon_vmaxu, // llvm.arm.neon.vmaxu
+ arm_neon_vminnm, // llvm.arm.neon.vminnm
+ arm_neon_vmins, // llvm.arm.neon.vmins
+ arm_neon_vminu, // llvm.arm.neon.vminu
+ arm_neon_vmullp, // llvm.arm.neon.vmullp
+ arm_neon_vmulls, // llvm.arm.neon.vmulls
+ arm_neon_vmullu, // llvm.arm.neon.vmullu
+ arm_neon_vmulp, // llvm.arm.neon.vmulp
+ arm_neon_vpadals, // llvm.arm.neon.vpadals
+ arm_neon_vpadalu, // llvm.arm.neon.vpadalu
+ arm_neon_vpadd, // llvm.arm.neon.vpadd
+ arm_neon_vpaddls, // llvm.arm.neon.vpaddls
+ arm_neon_vpaddlu, // llvm.arm.neon.vpaddlu
+ arm_neon_vpmaxs, // llvm.arm.neon.vpmaxs
+ arm_neon_vpmaxu, // llvm.arm.neon.vpmaxu
+ arm_neon_vpmins, // llvm.arm.neon.vpmins
+ arm_neon_vpminu, // llvm.arm.neon.vpminu
+ arm_neon_vqabs, // llvm.arm.neon.vqabs
+ arm_neon_vqadds, // llvm.arm.neon.vqadds
+ arm_neon_vqaddu, // llvm.arm.neon.vqaddu
+ arm_neon_vqdmulh, // llvm.arm.neon.vqdmulh
+ arm_neon_vqdmull, // llvm.arm.neon.vqdmull
+ arm_neon_vqmovns, // llvm.arm.neon.vqmovns
+ arm_neon_vqmovnsu, // llvm.arm.neon.vqmovnsu
+ arm_neon_vqmovnu, // llvm.arm.neon.vqmovnu
+ arm_neon_vqneg, // llvm.arm.neon.vqneg
+ arm_neon_vqrdmulh, // llvm.arm.neon.vqrdmulh
+ arm_neon_vqrshiftns, // llvm.arm.neon.vqrshiftns
+ arm_neon_vqrshiftnsu, // llvm.arm.neon.vqrshiftnsu
+ arm_neon_vqrshiftnu, // llvm.arm.neon.vqrshiftnu
+ arm_neon_vqrshifts, // llvm.arm.neon.vqrshifts
+ arm_neon_vqrshiftu, // llvm.arm.neon.vqrshiftu
+ arm_neon_vqshiftns, // llvm.arm.neon.vqshiftns
+ arm_neon_vqshiftnsu, // llvm.arm.neon.vqshiftnsu
+ arm_neon_vqshiftnu, // llvm.arm.neon.vqshiftnu
+ arm_neon_vqshifts, // llvm.arm.neon.vqshifts
+ arm_neon_vqshiftsu, // llvm.arm.neon.vqshiftsu
+ arm_neon_vqshiftu, // llvm.arm.neon.vqshiftu
+ arm_neon_vqsubs, // llvm.arm.neon.vqsubs
+ arm_neon_vqsubu, // llvm.arm.neon.vqsubu
+ arm_neon_vraddhn, // llvm.arm.neon.vraddhn
+ arm_neon_vrecpe, // llvm.arm.neon.vrecpe
+ arm_neon_vrecps, // llvm.arm.neon.vrecps
+ arm_neon_vrhadds, // llvm.arm.neon.vrhadds
+ arm_neon_vrhaddu, // llvm.arm.neon.vrhaddu
+ arm_neon_vrinta, // llvm.arm.neon.vrinta
+ arm_neon_vrintm, // llvm.arm.neon.vrintm
+ arm_neon_vrintn, // llvm.arm.neon.vrintn
+ arm_neon_vrintp, // llvm.arm.neon.vrintp
+ arm_neon_vrintx, // llvm.arm.neon.vrintx
+ arm_neon_vrintz, // llvm.arm.neon.vrintz
+ arm_neon_vrshiftn, // llvm.arm.neon.vrshiftn
+ arm_neon_vrshifts, // llvm.arm.neon.vrshifts
+ arm_neon_vrshiftu, // llvm.arm.neon.vrshiftu
+ arm_neon_vrsqrte, // llvm.arm.neon.vrsqrte
+ arm_neon_vrsqrts, // llvm.arm.neon.vrsqrts
+ arm_neon_vrsubhn, // llvm.arm.neon.vrsubhn
+ arm_neon_vshiftins, // llvm.arm.neon.vshiftins
+ arm_neon_vshifts, // llvm.arm.neon.vshifts
+ arm_neon_vshiftu, // llvm.arm.neon.vshiftu
+ arm_neon_vst1, // llvm.arm.neon.vst1
+ arm_neon_vst2, // llvm.arm.neon.vst2
+ arm_neon_vst2lane, // llvm.arm.neon.vst2lane
+ arm_neon_vst3, // llvm.arm.neon.vst3
+ arm_neon_vst3lane, // llvm.arm.neon.vst3lane
+ arm_neon_vst4, // llvm.arm.neon.vst4
+ arm_neon_vst4lane, // llvm.arm.neon.vst4lane
+ arm_neon_vtbl1, // llvm.arm.neon.vtbl1
+ arm_neon_vtbl2, // llvm.arm.neon.vtbl2
+ arm_neon_vtbl3, // llvm.arm.neon.vtbl3
+ arm_neon_vtbl4, // llvm.arm.neon.vtbl4
+ arm_neon_vtbx1, // llvm.arm.neon.vtbx1
+ arm_neon_vtbx2, // llvm.arm.neon.vtbx2
+ arm_neon_vtbx3, // llvm.arm.neon.vtbx3
+ arm_neon_vtbx4, // llvm.arm.neon.vtbx4
+ arm_qadd, // llvm.arm.qadd
+ arm_qsub, // llvm.arm.qsub
+ arm_rbit, // llvm.arm.rbit
+ arm_set_fpscr, // llvm.arm.set.fpscr
+ arm_space, // llvm.arm.space
+ arm_ssat, // llvm.arm.ssat
+ arm_stc, // llvm.arm.stc
+ arm_stc2, // llvm.arm.stc2
+ arm_stc2l, // llvm.arm.stc2l
+ arm_stcl, // llvm.arm.stcl
+ arm_stlex, // llvm.arm.stlex
+ arm_stlexd, // llvm.arm.stlexd
+ arm_strex, // llvm.arm.strex
+ arm_strexd, // llvm.arm.strexd
+ arm_undefined, // llvm.arm.undefined
+ arm_usat, // llvm.arm.usat
+ arm_vcvtr, // llvm.arm.vcvtr
+ arm_vcvtru, // llvm.arm.vcvtru
+ bpf_load_byte, // llvm.bpf.load.byte
+ bpf_load_half, // llvm.bpf.load.half
+ bpf_load_word, // llvm.bpf.load.word
+ bpf_pseudo, // llvm.bpf.pseudo
+ hexagon_A2_abs, // llvm.hexagon.A2.abs
+ hexagon_A2_absp, // llvm.hexagon.A2.absp
+ hexagon_A2_abssat, // llvm.hexagon.A2.abssat
+ hexagon_A2_add, // llvm.hexagon.A2.add
+ hexagon_A2_addh_h16_hh, // llvm.hexagon.A2.addh.h16.hh
+ hexagon_A2_addh_h16_hl, // llvm.hexagon.A2.addh.h16.hl
+ hexagon_A2_addh_h16_lh, // llvm.hexagon.A2.addh.h16.lh
+ hexagon_A2_addh_h16_ll, // llvm.hexagon.A2.addh.h16.ll
+ hexagon_A2_addh_h16_sat_hh, // llvm.hexagon.A2.addh.h16.sat.hh
+ hexagon_A2_addh_h16_sat_hl, // llvm.hexagon.A2.addh.h16.sat.hl
+ hexagon_A2_addh_h16_sat_lh, // llvm.hexagon.A2.addh.h16.sat.lh
+ hexagon_A2_addh_h16_sat_ll, // llvm.hexagon.A2.addh.h16.sat.ll
+ hexagon_A2_addh_l16_hl, // llvm.hexagon.A2.addh.l16.hl
+ hexagon_A2_addh_l16_ll, // llvm.hexagon.A2.addh.l16.ll
+ hexagon_A2_addh_l16_sat_hl, // llvm.hexagon.A2.addh.l16.sat.hl
+ hexagon_A2_addh_l16_sat_ll, // llvm.hexagon.A2.addh.l16.sat.ll
+ hexagon_A2_addi, // llvm.hexagon.A2.addi
+ hexagon_A2_addp, // llvm.hexagon.A2.addp
+ hexagon_A2_addpsat, // llvm.hexagon.A2.addpsat
+ hexagon_A2_addsat, // llvm.hexagon.A2.addsat
+ hexagon_A2_addsp, // llvm.hexagon.A2.addsp
+ hexagon_A2_and, // llvm.hexagon.A2.and
+ hexagon_A2_andir, // llvm.hexagon.A2.andir
+ hexagon_A2_andp, // llvm.hexagon.A2.andp
+ hexagon_A2_aslh, // llvm.hexagon.A2.aslh
+ hexagon_A2_asrh, // llvm.hexagon.A2.asrh
+ hexagon_A2_combine_hh, // llvm.hexagon.A2.combine.hh
+ hexagon_A2_combine_hl, // llvm.hexagon.A2.combine.hl
+ hexagon_A2_combine_lh, // llvm.hexagon.A2.combine.lh
+ hexagon_A2_combine_ll, // llvm.hexagon.A2.combine.ll
+ hexagon_A2_combineii, // llvm.hexagon.A2.combineii
+ hexagon_A2_combinew, // llvm.hexagon.A2.combinew
+ hexagon_A2_max, // llvm.hexagon.A2.max
+ hexagon_A2_maxp, // llvm.hexagon.A2.maxp
+ hexagon_A2_maxu, // llvm.hexagon.A2.maxu
+ hexagon_A2_maxup, // llvm.hexagon.A2.maxup
+ hexagon_A2_min, // llvm.hexagon.A2.min
+ hexagon_A2_minp, // llvm.hexagon.A2.minp
+ hexagon_A2_minu, // llvm.hexagon.A2.minu
+ hexagon_A2_minup, // llvm.hexagon.A2.minup
+ hexagon_A2_neg, // llvm.hexagon.A2.neg
+ hexagon_A2_negp, // llvm.hexagon.A2.negp
+ hexagon_A2_negsat, // llvm.hexagon.A2.negsat
+ hexagon_A2_not, // llvm.hexagon.A2.not
+ hexagon_A2_notp, // llvm.hexagon.A2.notp
+ hexagon_A2_or, // llvm.hexagon.A2.or
+ hexagon_A2_orir, // llvm.hexagon.A2.orir
+ hexagon_A2_orp, // llvm.hexagon.A2.orp
+ hexagon_A2_roundsat, // llvm.hexagon.A2.roundsat
+ hexagon_A2_sat, // llvm.hexagon.A2.sat
+ hexagon_A2_satb, // llvm.hexagon.A2.satb
+ hexagon_A2_sath, // llvm.hexagon.A2.sath
+ hexagon_A2_satub, // llvm.hexagon.A2.satub
+ hexagon_A2_satuh, // llvm.hexagon.A2.satuh
+ hexagon_A2_sub, // llvm.hexagon.A2.sub
+ hexagon_A2_subh_h16_hh, // llvm.hexagon.A2.subh.h16.hh
+ hexagon_A2_subh_h16_hl, // llvm.hexagon.A2.subh.h16.hl
+ hexagon_A2_subh_h16_lh, // llvm.hexagon.A2.subh.h16.lh
+ hexagon_A2_subh_h16_ll, // llvm.hexagon.A2.subh.h16.ll
+ hexagon_A2_subh_h16_sat_hh, // llvm.hexagon.A2.subh.h16.sat.hh
+ hexagon_A2_subh_h16_sat_hl, // llvm.hexagon.A2.subh.h16.sat.hl
+ hexagon_A2_subh_h16_sat_lh, // llvm.hexagon.A2.subh.h16.sat.lh
+ hexagon_A2_subh_h16_sat_ll, // llvm.hexagon.A2.subh.h16.sat.ll
+ hexagon_A2_subh_l16_hl, // llvm.hexagon.A2.subh.l16.hl
+ hexagon_A2_subh_l16_ll, // llvm.hexagon.A2.subh.l16.ll
+ hexagon_A2_subh_l16_sat_hl, // llvm.hexagon.A2.subh.l16.sat.hl
+ hexagon_A2_subh_l16_sat_ll, // llvm.hexagon.A2.subh.l16.sat.ll
+ hexagon_A2_subp, // llvm.hexagon.A2.subp
+ hexagon_A2_subri, // llvm.hexagon.A2.subri
+ hexagon_A2_subsat, // llvm.hexagon.A2.subsat
+ hexagon_A2_svaddh, // llvm.hexagon.A2.svaddh
+ hexagon_A2_svaddhs, // llvm.hexagon.A2.svaddhs
+ hexagon_A2_svadduhs, // llvm.hexagon.A2.svadduhs
+ hexagon_A2_svavgh, // llvm.hexagon.A2.svavgh
+ hexagon_A2_svavghs, // llvm.hexagon.A2.svavghs
+ hexagon_A2_svnavgh, // llvm.hexagon.A2.svnavgh
+ hexagon_A2_svsubh, // llvm.hexagon.A2.svsubh
+ hexagon_A2_svsubhs, // llvm.hexagon.A2.svsubhs
+ hexagon_A2_svsubuhs, // llvm.hexagon.A2.svsubuhs
+ hexagon_A2_swiz, // llvm.hexagon.A2.swiz
+ hexagon_A2_sxtb, // llvm.hexagon.A2.sxtb
+ hexagon_A2_sxth, // llvm.hexagon.A2.sxth
+ hexagon_A2_sxtw, // llvm.hexagon.A2.sxtw
+ hexagon_A2_tfr, // llvm.hexagon.A2.tfr
+ hexagon_A2_tfrih, // llvm.hexagon.A2.tfrih
+ hexagon_A2_tfril, // llvm.hexagon.A2.tfril
+ hexagon_A2_tfrp, // llvm.hexagon.A2.tfrp
+ hexagon_A2_tfrpi, // llvm.hexagon.A2.tfrpi
+ hexagon_A2_tfrsi, // llvm.hexagon.A2.tfrsi
+ hexagon_A2_vabsh, // llvm.hexagon.A2.vabsh
+ hexagon_A2_vabshsat, // llvm.hexagon.A2.vabshsat
+ hexagon_A2_vabsw, // llvm.hexagon.A2.vabsw
+ hexagon_A2_vabswsat, // llvm.hexagon.A2.vabswsat
+ hexagon_A2_vaddb_map, // llvm.hexagon.A2.vaddb.map
+ hexagon_A2_vaddh, // llvm.hexagon.A2.vaddh
+ hexagon_A2_vaddhs, // llvm.hexagon.A2.vaddhs
+ hexagon_A2_vaddub, // llvm.hexagon.A2.vaddub
+ hexagon_A2_vaddubs, // llvm.hexagon.A2.vaddubs
+ hexagon_A2_vadduhs, // llvm.hexagon.A2.vadduhs
+ hexagon_A2_vaddw, // llvm.hexagon.A2.vaddw
+ hexagon_A2_vaddws, // llvm.hexagon.A2.vaddws
+ hexagon_A2_vavgh, // llvm.hexagon.A2.vavgh
+ hexagon_A2_vavghcr, // llvm.hexagon.A2.vavghcr
+ hexagon_A2_vavghr, // llvm.hexagon.A2.vavghr
+ hexagon_A2_vavgub, // llvm.hexagon.A2.vavgub
+ hexagon_A2_vavgubr, // llvm.hexagon.A2.vavgubr
+ hexagon_A2_vavguh, // llvm.hexagon.A2.vavguh
+ hexagon_A2_vavguhr, // llvm.hexagon.A2.vavguhr
+ hexagon_A2_vavguw, // llvm.hexagon.A2.vavguw
+ hexagon_A2_vavguwr, // llvm.hexagon.A2.vavguwr
+ hexagon_A2_vavgw, // llvm.hexagon.A2.vavgw
+ hexagon_A2_vavgwcr, // llvm.hexagon.A2.vavgwcr
+ hexagon_A2_vavgwr, // llvm.hexagon.A2.vavgwr
+ hexagon_A2_vcmpbeq, // llvm.hexagon.A2.vcmpbeq
+ hexagon_A2_vcmpbgtu, // llvm.hexagon.A2.vcmpbgtu
+ hexagon_A2_vcmpheq, // llvm.hexagon.A2.vcmpheq
+ hexagon_A2_vcmphgt, // llvm.hexagon.A2.vcmphgt
+ hexagon_A2_vcmphgtu, // llvm.hexagon.A2.vcmphgtu
+ hexagon_A2_vcmpweq, // llvm.hexagon.A2.vcmpweq
+ hexagon_A2_vcmpwgt, // llvm.hexagon.A2.vcmpwgt
+ hexagon_A2_vcmpwgtu, // llvm.hexagon.A2.vcmpwgtu
+ hexagon_A2_vconj, // llvm.hexagon.A2.vconj
+ hexagon_A2_vmaxb, // llvm.hexagon.A2.vmaxb
+ hexagon_A2_vmaxh, // llvm.hexagon.A2.vmaxh
+ hexagon_A2_vmaxub, // llvm.hexagon.A2.vmaxub
+ hexagon_A2_vmaxuh, // llvm.hexagon.A2.vmaxuh
+ hexagon_A2_vmaxuw, // llvm.hexagon.A2.vmaxuw
+ hexagon_A2_vmaxw, // llvm.hexagon.A2.vmaxw
+ hexagon_A2_vminb, // llvm.hexagon.A2.vminb
+ hexagon_A2_vminh, // llvm.hexagon.A2.vminh
+ hexagon_A2_vminub, // llvm.hexagon.A2.vminub
+ hexagon_A2_vminuh, // llvm.hexagon.A2.vminuh
+ hexagon_A2_vminuw, // llvm.hexagon.A2.vminuw
+ hexagon_A2_vminw, // llvm.hexagon.A2.vminw
+ hexagon_A2_vnavgh, // llvm.hexagon.A2.vnavgh
+ hexagon_A2_vnavghcr, // llvm.hexagon.A2.vnavghcr
+ hexagon_A2_vnavghr, // llvm.hexagon.A2.vnavghr
+ hexagon_A2_vnavgw, // llvm.hexagon.A2.vnavgw
+ hexagon_A2_vnavgwcr, // llvm.hexagon.A2.vnavgwcr
+ hexagon_A2_vnavgwr, // llvm.hexagon.A2.vnavgwr
+ hexagon_A2_vraddub, // llvm.hexagon.A2.vraddub
+ hexagon_A2_vraddub_acc, // llvm.hexagon.A2.vraddub.acc
+ hexagon_A2_vrsadub, // llvm.hexagon.A2.vrsadub
+ hexagon_A2_vrsadub_acc, // llvm.hexagon.A2.vrsadub.acc
+ hexagon_A2_vsubb_map, // llvm.hexagon.A2.vsubb.map
+ hexagon_A2_vsubh, // llvm.hexagon.A2.vsubh
+ hexagon_A2_vsubhs, // llvm.hexagon.A2.vsubhs
+ hexagon_A2_vsubub, // llvm.hexagon.A2.vsubub
+ hexagon_A2_vsububs, // llvm.hexagon.A2.vsububs
+ hexagon_A2_vsubuhs, // llvm.hexagon.A2.vsubuhs
+ hexagon_A2_vsubw, // llvm.hexagon.A2.vsubw
+ hexagon_A2_vsubws, // llvm.hexagon.A2.vsubws
+ hexagon_A2_xor, // llvm.hexagon.A2.xor
+ hexagon_A2_xorp, // llvm.hexagon.A2.xorp
+ hexagon_A2_zxtb, // llvm.hexagon.A2.zxtb
+ hexagon_A2_zxth, // llvm.hexagon.A2.zxth
+ hexagon_A4_andn, // llvm.hexagon.A4.andn
+ hexagon_A4_andnp, // llvm.hexagon.A4.andnp
+ hexagon_A4_bitsplit, // llvm.hexagon.A4.bitsplit
+ hexagon_A4_bitspliti, // llvm.hexagon.A4.bitspliti
+ hexagon_A4_boundscheck, // llvm.hexagon.A4.boundscheck
+ hexagon_A4_cmpbeq, // llvm.hexagon.A4.cmpbeq
+ hexagon_A4_cmpbeqi, // llvm.hexagon.A4.cmpbeqi
+ hexagon_A4_cmpbgt, // llvm.hexagon.A4.cmpbgt
+ hexagon_A4_cmpbgti, // llvm.hexagon.A4.cmpbgti
+ hexagon_A4_cmpbgtu, // llvm.hexagon.A4.cmpbgtu
+ hexagon_A4_cmpbgtui, // llvm.hexagon.A4.cmpbgtui
+ hexagon_A4_cmpheq, // llvm.hexagon.A4.cmpheq
+ hexagon_A4_cmpheqi, // llvm.hexagon.A4.cmpheqi
+ hexagon_A4_cmphgt, // llvm.hexagon.A4.cmphgt
+ hexagon_A4_cmphgti, // llvm.hexagon.A4.cmphgti
+ hexagon_A4_cmphgtu, // llvm.hexagon.A4.cmphgtu
+ hexagon_A4_cmphgtui, // llvm.hexagon.A4.cmphgtui
+ hexagon_A4_combineir, // llvm.hexagon.A4.combineir
+ hexagon_A4_combineri, // llvm.hexagon.A4.combineri
+ hexagon_A4_cround_ri, // llvm.hexagon.A4.cround.ri
+ hexagon_A4_cround_rr, // llvm.hexagon.A4.cround.rr
+ hexagon_A4_modwrapu, // llvm.hexagon.A4.modwrapu
+ hexagon_A4_orn, // llvm.hexagon.A4.orn
+ hexagon_A4_ornp, // llvm.hexagon.A4.ornp
+ hexagon_A4_rcmpeq, // llvm.hexagon.A4.rcmpeq
+ hexagon_A4_rcmpeqi, // llvm.hexagon.A4.rcmpeqi
+ hexagon_A4_rcmpneq, // llvm.hexagon.A4.rcmpneq
+ hexagon_A4_rcmpneqi, // llvm.hexagon.A4.rcmpneqi
+ hexagon_A4_round_ri, // llvm.hexagon.A4.round.ri
+ hexagon_A4_round_ri_sat, // llvm.hexagon.A4.round.ri.sat
+ hexagon_A4_round_rr, // llvm.hexagon.A4.round.rr
+ hexagon_A4_round_rr_sat, // llvm.hexagon.A4.round.rr.sat
+ hexagon_A4_tlbmatch, // llvm.hexagon.A4.tlbmatch
+ hexagon_A4_vcmpbeq_any, // llvm.hexagon.A4.vcmpbeq.any
+ hexagon_A4_vcmpbeqi, // llvm.hexagon.A4.vcmpbeqi
+ hexagon_A4_vcmpbgt, // llvm.hexagon.A4.vcmpbgt
+ hexagon_A4_vcmpbgti, // llvm.hexagon.A4.vcmpbgti
+ hexagon_A4_vcmpbgtui, // llvm.hexagon.A4.vcmpbgtui
+ hexagon_A4_vcmpheqi, // llvm.hexagon.A4.vcmpheqi
+ hexagon_A4_vcmphgti, // llvm.hexagon.A4.vcmphgti
+ hexagon_A4_vcmphgtui, // llvm.hexagon.A4.vcmphgtui
+ hexagon_A4_vcmpweqi, // llvm.hexagon.A4.vcmpweqi
+ hexagon_A4_vcmpwgti, // llvm.hexagon.A4.vcmpwgti
+ hexagon_A4_vcmpwgtui, // llvm.hexagon.A4.vcmpwgtui
+ hexagon_A4_vrmaxh, // llvm.hexagon.A4.vrmaxh
+ hexagon_A4_vrmaxuh, // llvm.hexagon.A4.vrmaxuh
+ hexagon_A4_vrmaxuw, // llvm.hexagon.A4.vrmaxuw
+ hexagon_A4_vrmaxw, // llvm.hexagon.A4.vrmaxw
+ hexagon_A4_vrminh, // llvm.hexagon.A4.vrminh
+ hexagon_A4_vrminuh, // llvm.hexagon.A4.vrminuh
+ hexagon_A4_vrminuw, // llvm.hexagon.A4.vrminuw
+ hexagon_A4_vrminw, // llvm.hexagon.A4.vrminw
+ hexagon_A5_vaddhubs, // llvm.hexagon.A5.vaddhubs
+ hexagon_C2_all8, // llvm.hexagon.C2.all8
+ hexagon_C2_and, // llvm.hexagon.C2.and
+ hexagon_C2_andn, // llvm.hexagon.C2.andn
+ hexagon_C2_any8, // llvm.hexagon.C2.any8
+ hexagon_C2_bitsclr, // llvm.hexagon.C2.bitsclr
+ hexagon_C2_bitsclri, // llvm.hexagon.C2.bitsclri
+ hexagon_C2_bitsset, // llvm.hexagon.C2.bitsset
+ hexagon_C2_cmpeq, // llvm.hexagon.C2.cmpeq
+ hexagon_C2_cmpeqi, // llvm.hexagon.C2.cmpeqi
+ hexagon_C2_cmpeqp, // llvm.hexagon.C2.cmpeqp
+ hexagon_C2_cmpgei, // llvm.hexagon.C2.cmpgei
+ hexagon_C2_cmpgeui, // llvm.hexagon.C2.cmpgeui
+ hexagon_C2_cmpgt, // llvm.hexagon.C2.cmpgt
+ hexagon_C2_cmpgti, // llvm.hexagon.C2.cmpgti
+ hexagon_C2_cmpgtp, // llvm.hexagon.C2.cmpgtp
+ hexagon_C2_cmpgtu, // llvm.hexagon.C2.cmpgtu
+ hexagon_C2_cmpgtui, // llvm.hexagon.C2.cmpgtui
+ hexagon_C2_cmpgtup, // llvm.hexagon.C2.cmpgtup
+ hexagon_C2_cmplt, // llvm.hexagon.C2.cmplt
+ hexagon_C2_cmpltu, // llvm.hexagon.C2.cmpltu
+ hexagon_C2_mask, // llvm.hexagon.C2.mask
+ hexagon_C2_mux, // llvm.hexagon.C2.mux
+ hexagon_C2_muxii, // llvm.hexagon.C2.muxii
+ hexagon_C2_muxir, // llvm.hexagon.C2.muxir
+ hexagon_C2_muxri, // llvm.hexagon.C2.muxri
+ hexagon_C2_not, // llvm.hexagon.C2.not
+ hexagon_C2_or, // llvm.hexagon.C2.or
+ hexagon_C2_orn, // llvm.hexagon.C2.orn
+ hexagon_C2_pxfer_map, // llvm.hexagon.C2.pxfer.map
+ hexagon_C2_tfrpr, // llvm.hexagon.C2.tfrpr
+ hexagon_C2_tfrrp, // llvm.hexagon.C2.tfrrp
+ hexagon_C2_vitpack, // llvm.hexagon.C2.vitpack
+ hexagon_C2_vmux, // llvm.hexagon.C2.vmux
+ hexagon_C2_xor, // llvm.hexagon.C2.xor
+ hexagon_C4_and_and, // llvm.hexagon.C4.and.and
+ hexagon_C4_and_andn, // llvm.hexagon.C4.and.andn
+ hexagon_C4_and_or, // llvm.hexagon.C4.and.or
+ hexagon_C4_and_orn, // llvm.hexagon.C4.and.orn
+ hexagon_C4_cmplte, // llvm.hexagon.C4.cmplte
+ hexagon_C4_cmpltei, // llvm.hexagon.C4.cmpltei
+ hexagon_C4_cmplteu, // llvm.hexagon.C4.cmplteu
+ hexagon_C4_cmplteui, // llvm.hexagon.C4.cmplteui
+ hexagon_C4_cmpneq, // llvm.hexagon.C4.cmpneq
+ hexagon_C4_cmpneqi, // llvm.hexagon.C4.cmpneqi
+ hexagon_C4_fastcorner9, // llvm.hexagon.C4.fastcorner9
+ hexagon_C4_fastcorner9_not, // llvm.hexagon.C4.fastcorner9.not
+ hexagon_C4_nbitsclr, // llvm.hexagon.C4.nbitsclr
+ hexagon_C4_nbitsclri, // llvm.hexagon.C4.nbitsclri
+ hexagon_C4_nbitsset, // llvm.hexagon.C4.nbitsset
+ hexagon_C4_or_and, // llvm.hexagon.C4.or.and
+ hexagon_C4_or_andn, // llvm.hexagon.C4.or.andn
+ hexagon_C4_or_or, // llvm.hexagon.C4.or.or
+ hexagon_C4_or_orn, // llvm.hexagon.C4.or.orn
+ hexagon_F2_conv_d2df, // llvm.hexagon.F2.conv.d2df
+ hexagon_F2_conv_d2sf, // llvm.hexagon.F2.conv.d2sf
+ hexagon_F2_conv_df2d, // llvm.hexagon.F2.conv.df2d
+ hexagon_F2_conv_df2d_chop, // llvm.hexagon.F2.conv.df2d.chop
+ hexagon_F2_conv_df2sf, // llvm.hexagon.F2.conv.df2sf
+ hexagon_F2_conv_df2ud, // llvm.hexagon.F2.conv.df2ud
+ hexagon_F2_conv_df2ud_chop, // llvm.hexagon.F2.conv.df2ud.chop
+ hexagon_F2_conv_df2uw, // llvm.hexagon.F2.conv.df2uw
+ hexagon_F2_conv_df2uw_chop, // llvm.hexagon.F2.conv.df2uw.chop
+ hexagon_F2_conv_df2w, // llvm.hexagon.F2.conv.df2w
+ hexagon_F2_conv_df2w_chop, // llvm.hexagon.F2.conv.df2w.chop
+ hexagon_F2_conv_sf2d, // llvm.hexagon.F2.conv.sf2d
+ hexagon_F2_conv_sf2d_chop, // llvm.hexagon.F2.conv.sf2d.chop
+ hexagon_F2_conv_sf2df, // llvm.hexagon.F2.conv.sf2df
+ hexagon_F2_conv_sf2ud, // llvm.hexagon.F2.conv.sf2ud
+ hexagon_F2_conv_sf2ud_chop, // llvm.hexagon.F2.conv.sf2ud.chop
+ hexagon_F2_conv_sf2uw, // llvm.hexagon.F2.conv.sf2uw
+ hexagon_F2_conv_sf2uw_chop, // llvm.hexagon.F2.conv.sf2uw.chop
+ hexagon_F2_conv_sf2w, // llvm.hexagon.F2.conv.sf2w
+ hexagon_F2_conv_sf2w_chop, // llvm.hexagon.F2.conv.sf2w.chop
+ hexagon_F2_conv_ud2df, // llvm.hexagon.F2.conv.ud2df
+ hexagon_F2_conv_ud2sf, // llvm.hexagon.F2.conv.ud2sf
+ hexagon_F2_conv_uw2df, // llvm.hexagon.F2.conv.uw2df
+ hexagon_F2_conv_uw2sf, // llvm.hexagon.F2.conv.uw2sf
+ hexagon_F2_conv_w2df, // llvm.hexagon.F2.conv.w2df
+ hexagon_F2_conv_w2sf, // llvm.hexagon.F2.conv.w2sf
+ hexagon_F2_dfclass, // llvm.hexagon.F2.dfclass
+ hexagon_F2_dfcmpeq, // llvm.hexagon.F2.dfcmpeq
+ hexagon_F2_dfcmpge, // llvm.hexagon.F2.dfcmpge
+ hexagon_F2_dfcmpgt, // llvm.hexagon.F2.dfcmpgt
+ hexagon_F2_dfcmpuo, // llvm.hexagon.F2.dfcmpuo
+ hexagon_F2_dfimm_n, // llvm.hexagon.F2.dfimm.n
+ hexagon_F2_dfimm_p, // llvm.hexagon.F2.dfimm.p
+ hexagon_F2_sfadd, // llvm.hexagon.F2.sfadd
+ hexagon_F2_sfclass, // llvm.hexagon.F2.sfclass
+ hexagon_F2_sfcmpeq, // llvm.hexagon.F2.sfcmpeq
+ hexagon_F2_sfcmpge, // llvm.hexagon.F2.sfcmpge
+ hexagon_F2_sfcmpgt, // llvm.hexagon.F2.sfcmpgt
+ hexagon_F2_sfcmpuo, // llvm.hexagon.F2.sfcmpuo
+ hexagon_F2_sffixupd, // llvm.hexagon.F2.sffixupd
+ hexagon_F2_sffixupn, // llvm.hexagon.F2.sffixupn
+ hexagon_F2_sffixupr, // llvm.hexagon.F2.sffixupr
+ hexagon_F2_sffma, // llvm.hexagon.F2.sffma
+ hexagon_F2_sffma_lib, // llvm.hexagon.F2.sffma.lib
+ hexagon_F2_sffma_sc, // llvm.hexagon.F2.sffma.sc
+ hexagon_F2_sffms, // llvm.hexagon.F2.sffms
+ hexagon_F2_sffms_lib, // llvm.hexagon.F2.sffms.lib
+ hexagon_F2_sfimm_n, // llvm.hexagon.F2.sfimm.n
+ hexagon_F2_sfimm_p, // llvm.hexagon.F2.sfimm.p
+ hexagon_F2_sfmax, // llvm.hexagon.F2.sfmax
+ hexagon_F2_sfmin, // llvm.hexagon.F2.sfmin
+ hexagon_F2_sfmpy, // llvm.hexagon.F2.sfmpy
+ hexagon_F2_sfsub, // llvm.hexagon.F2.sfsub
+ hexagon_L2_loadw_locked, // llvm.hexagon.L2.loadw.locked
+ hexagon_L4_loadd_locked, // llvm.hexagon.L4.loadd.locked
+ hexagon_M2_acci, // llvm.hexagon.M2.acci
+ hexagon_M2_accii, // llvm.hexagon.M2.accii
+ hexagon_M2_cmaci_s0, // llvm.hexagon.M2.cmaci.s0
+ hexagon_M2_cmacr_s0, // llvm.hexagon.M2.cmacr.s0
+ hexagon_M2_cmacs_s0, // llvm.hexagon.M2.cmacs.s0
+ hexagon_M2_cmacs_s1, // llvm.hexagon.M2.cmacs.s1
+ hexagon_M2_cmacsc_s0, // llvm.hexagon.M2.cmacsc.s0
+ hexagon_M2_cmacsc_s1, // llvm.hexagon.M2.cmacsc.s1
+ hexagon_M2_cmpyi_s0, // llvm.hexagon.M2.cmpyi.s0
+ hexagon_M2_cmpyr_s0, // llvm.hexagon.M2.cmpyr.s0
+ hexagon_M2_cmpyrs_s0, // llvm.hexagon.M2.cmpyrs.s0
+ hexagon_M2_cmpyrs_s1, // llvm.hexagon.M2.cmpyrs.s1
+ hexagon_M2_cmpyrsc_s0, // llvm.hexagon.M2.cmpyrsc.s0
+ hexagon_M2_cmpyrsc_s1, // llvm.hexagon.M2.cmpyrsc.s1
+ hexagon_M2_cmpys_s0, // llvm.hexagon.M2.cmpys.s0
+ hexagon_M2_cmpys_s1, // llvm.hexagon.M2.cmpys.s1
+ hexagon_M2_cmpysc_s0, // llvm.hexagon.M2.cmpysc.s0
+ hexagon_M2_cmpysc_s1, // llvm.hexagon.M2.cmpysc.s1
+ hexagon_M2_cnacs_s0, // llvm.hexagon.M2.cnacs.s0
+ hexagon_M2_cnacs_s1, // llvm.hexagon.M2.cnacs.s1
+ hexagon_M2_cnacsc_s0, // llvm.hexagon.M2.cnacsc.s0
+ hexagon_M2_cnacsc_s1, // llvm.hexagon.M2.cnacsc.s1
+ hexagon_M2_dpmpyss_acc_s0, // llvm.hexagon.M2.dpmpyss.acc.s0
+ hexagon_M2_dpmpyss_nac_s0, // llvm.hexagon.M2.dpmpyss.nac.s0
+ hexagon_M2_dpmpyss_rnd_s0, // llvm.hexagon.M2.dpmpyss.rnd.s0
+ hexagon_M2_dpmpyss_s0, // llvm.hexagon.M2.dpmpyss.s0
+ hexagon_M2_dpmpyuu_acc_s0, // llvm.hexagon.M2.dpmpyuu.acc.s0
+ hexagon_M2_dpmpyuu_nac_s0, // llvm.hexagon.M2.dpmpyuu.nac.s0
+ hexagon_M2_dpmpyuu_s0, // llvm.hexagon.M2.dpmpyuu.s0
+ hexagon_M2_hmmpyh_rs1, // llvm.hexagon.M2.hmmpyh.rs1
+ hexagon_M2_hmmpyh_s1, // llvm.hexagon.M2.hmmpyh.s1
+ hexagon_M2_hmmpyl_rs1, // llvm.hexagon.M2.hmmpyl.rs1
+ hexagon_M2_hmmpyl_s1, // llvm.hexagon.M2.hmmpyl.s1
+ hexagon_M2_maci, // llvm.hexagon.M2.maci
+ hexagon_M2_macsin, // llvm.hexagon.M2.macsin
+ hexagon_M2_macsip, // llvm.hexagon.M2.macsip
+ hexagon_M2_mmachs_rs0, // llvm.hexagon.M2.mmachs.rs0
+ hexagon_M2_mmachs_rs1, // llvm.hexagon.M2.mmachs.rs1
+ hexagon_M2_mmachs_s0, // llvm.hexagon.M2.mmachs.s0
+ hexagon_M2_mmachs_s1, // llvm.hexagon.M2.mmachs.s1
+ hexagon_M2_mmacls_rs0, // llvm.hexagon.M2.mmacls.rs0
+ hexagon_M2_mmacls_rs1, // llvm.hexagon.M2.mmacls.rs1
+ hexagon_M2_mmacls_s0, // llvm.hexagon.M2.mmacls.s0
+ hexagon_M2_mmacls_s1, // llvm.hexagon.M2.mmacls.s1
+ hexagon_M2_mmacuhs_rs0, // llvm.hexagon.M2.mmacuhs.rs0
+ hexagon_M2_mmacuhs_rs1, // llvm.hexagon.M2.mmacuhs.rs1
+ hexagon_M2_mmacuhs_s0, // llvm.hexagon.M2.mmacuhs.s0
+ hexagon_M2_mmacuhs_s1, // llvm.hexagon.M2.mmacuhs.s1
+ hexagon_M2_mmaculs_rs0, // llvm.hexagon.M2.mmaculs.rs0
+ hexagon_M2_mmaculs_rs1, // llvm.hexagon.M2.mmaculs.rs1
+ hexagon_M2_mmaculs_s0, // llvm.hexagon.M2.mmaculs.s0
+ hexagon_M2_mmaculs_s1, // llvm.hexagon.M2.mmaculs.s1
+ hexagon_M2_mmpyh_rs0, // llvm.hexagon.M2.mmpyh.rs0
+ hexagon_M2_mmpyh_rs1, // llvm.hexagon.M2.mmpyh.rs1
+ hexagon_M2_mmpyh_s0, // llvm.hexagon.M2.mmpyh.s0
+ hexagon_M2_mmpyh_s1, // llvm.hexagon.M2.mmpyh.s1
+ hexagon_M2_mmpyl_rs0, // llvm.hexagon.M2.mmpyl.rs0
+ hexagon_M2_mmpyl_rs1, // llvm.hexagon.M2.mmpyl.rs1
+ hexagon_M2_mmpyl_s0, // llvm.hexagon.M2.mmpyl.s0
+ hexagon_M2_mmpyl_s1, // llvm.hexagon.M2.mmpyl.s1
+ hexagon_M2_mmpyuh_rs0, // llvm.hexagon.M2.mmpyuh.rs0
+ hexagon_M2_mmpyuh_rs1, // llvm.hexagon.M2.mmpyuh.rs1
+ hexagon_M2_mmpyuh_s0, // llvm.hexagon.M2.mmpyuh.s0
+ hexagon_M2_mmpyuh_s1, // llvm.hexagon.M2.mmpyuh.s1
+ hexagon_M2_mmpyul_rs0, // llvm.hexagon.M2.mmpyul.rs0
+ hexagon_M2_mmpyul_rs1, // llvm.hexagon.M2.mmpyul.rs1
+ hexagon_M2_mmpyul_s0, // llvm.hexagon.M2.mmpyul.s0
+ hexagon_M2_mmpyul_s1, // llvm.hexagon.M2.mmpyul.s1
+ hexagon_M2_mpy_acc_hh_s0, // llvm.hexagon.M2.mpy.acc.hh.s0
+ hexagon_M2_mpy_acc_hh_s1, // llvm.hexagon.M2.mpy.acc.hh.s1
+ hexagon_M2_mpy_acc_hl_s0, // llvm.hexagon.M2.mpy.acc.hl.s0
+ hexagon_M2_mpy_acc_hl_s1, // llvm.hexagon.M2.mpy.acc.hl.s1
+ hexagon_M2_mpy_acc_lh_s0, // llvm.hexagon.M2.mpy.acc.lh.s0
+ hexagon_M2_mpy_acc_lh_s1, // llvm.hexagon.M2.mpy.acc.lh.s1
+ hexagon_M2_mpy_acc_ll_s0, // llvm.hexagon.M2.mpy.acc.ll.s0
+ hexagon_M2_mpy_acc_ll_s1, // llvm.hexagon.M2.mpy.acc.ll.s1
+ hexagon_M2_mpy_acc_sat_hh_s0, // llvm.hexagon.M2.mpy.acc.sat.hh.s0
+ hexagon_M2_mpy_acc_sat_hh_s1, // llvm.hexagon.M2.mpy.acc.sat.hh.s1
+ hexagon_M2_mpy_acc_sat_hl_s0, // llvm.hexagon.M2.mpy.acc.sat.hl.s0
+ hexagon_M2_mpy_acc_sat_hl_s1, // llvm.hexagon.M2.mpy.acc.sat.hl.s1
+ hexagon_M2_mpy_acc_sat_lh_s0, // llvm.hexagon.M2.mpy.acc.sat.lh.s0
+ hexagon_M2_mpy_acc_sat_lh_s1, // llvm.hexagon.M2.mpy.acc.sat.lh.s1
+ hexagon_M2_mpy_acc_sat_ll_s0, // llvm.hexagon.M2.mpy.acc.sat.ll.s0
+ hexagon_M2_mpy_acc_sat_ll_s1, // llvm.hexagon.M2.mpy.acc.sat.ll.s1
+ hexagon_M2_mpy_hh_s0, // llvm.hexagon.M2.mpy.hh.s0
+ hexagon_M2_mpy_hh_s1, // llvm.hexagon.M2.mpy.hh.s1
+ hexagon_M2_mpy_hl_s0, // llvm.hexagon.M2.mpy.hl.s0
+ hexagon_M2_mpy_hl_s1, // llvm.hexagon.M2.mpy.hl.s1
+ hexagon_M2_mpy_lh_s0, // llvm.hexagon.M2.mpy.lh.s0
+ hexagon_M2_mpy_lh_s1, // llvm.hexagon.M2.mpy.lh.s1
+ hexagon_M2_mpy_ll_s0, // llvm.hexagon.M2.mpy.ll.s0
+ hexagon_M2_mpy_ll_s1, // llvm.hexagon.M2.mpy.ll.s1
+ hexagon_M2_mpy_nac_hh_s0, // llvm.hexagon.M2.mpy.nac.hh.s0
+ hexagon_M2_mpy_nac_hh_s1, // llvm.hexagon.M2.mpy.nac.hh.s1
+ hexagon_M2_mpy_nac_hl_s0, // llvm.hexagon.M2.mpy.nac.hl.s0
+ hexagon_M2_mpy_nac_hl_s1, // llvm.hexagon.M2.mpy.nac.hl.s1
+ hexagon_M2_mpy_nac_lh_s0, // llvm.hexagon.M2.mpy.nac.lh.s0
+ hexagon_M2_mpy_nac_lh_s1, // llvm.hexagon.M2.mpy.nac.lh.s1
+ hexagon_M2_mpy_nac_ll_s0, // llvm.hexagon.M2.mpy.nac.ll.s0
+ hexagon_M2_mpy_nac_ll_s1, // llvm.hexagon.M2.mpy.nac.ll.s1
+ hexagon_M2_mpy_nac_sat_hh_s0, // llvm.hexagon.M2.mpy.nac.sat.hh.s0
+ hexagon_M2_mpy_nac_sat_hh_s1, // llvm.hexagon.M2.mpy.nac.sat.hh.s1
+ hexagon_M2_mpy_nac_sat_hl_s0, // llvm.hexagon.M2.mpy.nac.sat.hl.s0
+ hexagon_M2_mpy_nac_sat_hl_s1, // llvm.hexagon.M2.mpy.nac.sat.hl.s1
+ hexagon_M2_mpy_nac_sat_lh_s0, // llvm.hexagon.M2.mpy.nac.sat.lh.s0
+ hexagon_M2_mpy_nac_sat_lh_s1, // llvm.hexagon.M2.mpy.nac.sat.lh.s1
+ hexagon_M2_mpy_nac_sat_ll_s0, // llvm.hexagon.M2.mpy.nac.sat.ll.s0
+ hexagon_M2_mpy_nac_sat_ll_s1, // llvm.hexagon.M2.mpy.nac.sat.ll.s1
+ hexagon_M2_mpy_rnd_hh_s0, // llvm.hexagon.M2.mpy.rnd.hh.s0
+ hexagon_M2_mpy_rnd_hh_s1, // llvm.hexagon.M2.mpy.rnd.hh.s1
+ hexagon_M2_mpy_rnd_hl_s0, // llvm.hexagon.M2.mpy.rnd.hl.s0
+ hexagon_M2_mpy_rnd_hl_s1, // llvm.hexagon.M2.mpy.rnd.hl.s1
+ hexagon_M2_mpy_rnd_lh_s0, // llvm.hexagon.M2.mpy.rnd.lh.s0
+ hexagon_M2_mpy_rnd_lh_s1, // llvm.hexagon.M2.mpy.rnd.lh.s1
+ hexagon_M2_mpy_rnd_ll_s0, // llvm.hexagon.M2.mpy.rnd.ll.s0
+ hexagon_M2_mpy_rnd_ll_s1, // llvm.hexagon.M2.mpy.rnd.ll.s1
+ hexagon_M2_mpy_sat_hh_s0, // llvm.hexagon.M2.mpy.sat.hh.s0
+ hexagon_M2_mpy_sat_hh_s1, // llvm.hexagon.M2.mpy.sat.hh.s1
+ hexagon_M2_mpy_sat_hl_s0, // llvm.hexagon.M2.mpy.sat.hl.s0
+ hexagon_M2_mpy_sat_hl_s1, // llvm.hexagon.M2.mpy.sat.hl.s1
+ hexagon_M2_mpy_sat_lh_s0, // llvm.hexagon.M2.mpy.sat.lh.s0
+ hexagon_M2_mpy_sat_lh_s1, // llvm.hexagon.M2.mpy.sat.lh.s1
+ hexagon_M2_mpy_sat_ll_s0, // llvm.hexagon.M2.mpy.sat.ll.s0
+ hexagon_M2_mpy_sat_ll_s1, // llvm.hexagon.M2.mpy.sat.ll.s1
+ hexagon_M2_mpy_sat_rnd_hh_s0, // llvm.hexagon.M2.mpy.sat.rnd.hh.s0
+ hexagon_M2_mpy_sat_rnd_hh_s1, // llvm.hexagon.M2.mpy.sat.rnd.hh.s1
+ hexagon_M2_mpy_sat_rnd_hl_s0, // llvm.hexagon.M2.mpy.sat.rnd.hl.s0
+ hexagon_M2_mpy_sat_rnd_hl_s1, // llvm.hexagon.M2.mpy.sat.rnd.hl.s1
+ hexagon_M2_mpy_sat_rnd_lh_s0, // llvm.hexagon.M2.mpy.sat.rnd.lh.s0
+ hexagon_M2_mpy_sat_rnd_lh_s1, // llvm.hexagon.M2.mpy.sat.rnd.lh.s1
+ hexagon_M2_mpy_sat_rnd_ll_s0, // llvm.hexagon.M2.mpy.sat.rnd.ll.s0
+ hexagon_M2_mpy_sat_rnd_ll_s1, // llvm.hexagon.M2.mpy.sat.rnd.ll.s1
+ hexagon_M2_mpy_up, // llvm.hexagon.M2.mpy.up
+ hexagon_M2_mpy_up_s1, // llvm.hexagon.M2.mpy.up.s1
+ hexagon_M2_mpy_up_s1_sat, // llvm.hexagon.M2.mpy.up.s1.sat
+ hexagon_M2_mpyd_acc_hh_s0, // llvm.hexagon.M2.mpyd.acc.hh.s0
+ hexagon_M2_mpyd_acc_hh_s1, // llvm.hexagon.M2.mpyd.acc.hh.s1
+ hexagon_M2_mpyd_acc_hl_s0, // llvm.hexagon.M2.mpyd.acc.hl.s0
+ hexagon_M2_mpyd_acc_hl_s1, // llvm.hexagon.M2.mpyd.acc.hl.s1
+ hexagon_M2_mpyd_acc_lh_s0, // llvm.hexagon.M2.mpyd.acc.lh.s0
+ hexagon_M2_mpyd_acc_lh_s1, // llvm.hexagon.M2.mpyd.acc.lh.s1
+ hexagon_M2_mpyd_acc_ll_s0, // llvm.hexagon.M2.mpyd.acc.ll.s0
+ hexagon_M2_mpyd_acc_ll_s1, // llvm.hexagon.M2.mpyd.acc.ll.s1
+ hexagon_M2_mpyd_hh_s0, // llvm.hexagon.M2.mpyd.hh.s0
+ hexagon_M2_mpyd_hh_s1, // llvm.hexagon.M2.mpyd.hh.s1
+ hexagon_M2_mpyd_hl_s0, // llvm.hexagon.M2.mpyd.hl.s0
+ hexagon_M2_mpyd_hl_s1, // llvm.hexagon.M2.mpyd.hl.s1
+ hexagon_M2_mpyd_lh_s0, // llvm.hexagon.M2.mpyd.lh.s0
+ hexagon_M2_mpyd_lh_s1, // llvm.hexagon.M2.mpyd.lh.s1
+ hexagon_M2_mpyd_ll_s0, // llvm.hexagon.M2.mpyd.ll.s0
+ hexagon_M2_mpyd_ll_s1, // llvm.hexagon.M2.mpyd.ll.s1
+ hexagon_M2_mpyd_nac_hh_s0, // llvm.hexagon.M2.mpyd.nac.hh.s0
+ hexagon_M2_mpyd_nac_hh_s1, // llvm.hexagon.M2.mpyd.nac.hh.s1
+ hexagon_M2_mpyd_nac_hl_s0, // llvm.hexagon.M2.mpyd.nac.hl.s0
+ hexagon_M2_mpyd_nac_hl_s1, // llvm.hexagon.M2.mpyd.nac.hl.s1
+ hexagon_M2_mpyd_nac_lh_s0, // llvm.hexagon.M2.mpyd.nac.lh.s0
+ hexagon_M2_mpyd_nac_lh_s1, // llvm.hexagon.M2.mpyd.nac.lh.s1
+ hexagon_M2_mpyd_nac_ll_s0, // llvm.hexagon.M2.mpyd.nac.ll.s0
+ hexagon_M2_mpyd_nac_ll_s1, // llvm.hexagon.M2.mpyd.nac.ll.s1
+ hexagon_M2_mpyd_rnd_hh_s0, // llvm.hexagon.M2.mpyd.rnd.hh.s0
+ hexagon_M2_mpyd_rnd_hh_s1, // llvm.hexagon.M2.mpyd.rnd.hh.s1
+ hexagon_M2_mpyd_rnd_hl_s0, // llvm.hexagon.M2.mpyd.rnd.hl.s0
+ hexagon_M2_mpyd_rnd_hl_s1, // llvm.hexagon.M2.mpyd.rnd.hl.s1
+ hexagon_M2_mpyd_rnd_lh_s0, // llvm.hexagon.M2.mpyd.rnd.lh.s0
+ hexagon_M2_mpyd_rnd_lh_s1, // llvm.hexagon.M2.mpyd.rnd.lh.s1
+ hexagon_M2_mpyd_rnd_ll_s0, // llvm.hexagon.M2.mpyd.rnd.ll.s0
+ hexagon_M2_mpyd_rnd_ll_s1, // llvm.hexagon.M2.mpyd.rnd.ll.s1
+ hexagon_M2_mpyi, // llvm.hexagon.M2.mpyi
+ hexagon_M2_mpysmi, // llvm.hexagon.M2.mpysmi
+ hexagon_M2_mpysu_up, // llvm.hexagon.M2.mpysu.up
+ hexagon_M2_mpyu_acc_hh_s0, // llvm.hexagon.M2.mpyu.acc.hh.s0
+ hexagon_M2_mpyu_acc_hh_s1, // llvm.hexagon.M2.mpyu.acc.hh.s1
+ hexagon_M2_mpyu_acc_hl_s0, // llvm.hexagon.M2.mpyu.acc.hl.s0
+ hexagon_M2_mpyu_acc_hl_s1, // llvm.hexagon.M2.mpyu.acc.hl.s1
+ hexagon_M2_mpyu_acc_lh_s0, // llvm.hexagon.M2.mpyu.acc.lh.s0
+ hexagon_M2_mpyu_acc_lh_s1, // llvm.hexagon.M2.mpyu.acc.lh.s1
+ hexagon_M2_mpyu_acc_ll_s0, // llvm.hexagon.M2.mpyu.acc.ll.s0
+ hexagon_M2_mpyu_acc_ll_s1, // llvm.hexagon.M2.mpyu.acc.ll.s1
+ hexagon_M2_mpyu_hh_s0, // llvm.hexagon.M2.mpyu.hh.s0
+ hexagon_M2_mpyu_hh_s1, // llvm.hexagon.M2.mpyu.hh.s1
+ hexagon_M2_mpyu_hl_s0, // llvm.hexagon.M2.mpyu.hl.s0
+ hexagon_M2_mpyu_hl_s1, // llvm.hexagon.M2.mpyu.hl.s1
+ hexagon_M2_mpyu_lh_s0, // llvm.hexagon.M2.mpyu.lh.s0
+ hexagon_M2_mpyu_lh_s1, // llvm.hexagon.M2.mpyu.lh.s1
+ hexagon_M2_mpyu_ll_s0, // llvm.hexagon.M2.mpyu.ll.s0
+ hexagon_M2_mpyu_ll_s1, // llvm.hexagon.M2.mpyu.ll.s1
+ hexagon_M2_mpyu_nac_hh_s0, // llvm.hexagon.M2.mpyu.nac.hh.s0
+ hexagon_M2_mpyu_nac_hh_s1, // llvm.hexagon.M2.mpyu.nac.hh.s1
+ hexagon_M2_mpyu_nac_hl_s0, // llvm.hexagon.M2.mpyu.nac.hl.s0
+ hexagon_M2_mpyu_nac_hl_s1, // llvm.hexagon.M2.mpyu.nac.hl.s1
+ hexagon_M2_mpyu_nac_lh_s0, // llvm.hexagon.M2.mpyu.nac.lh.s0
+ hexagon_M2_mpyu_nac_lh_s1, // llvm.hexagon.M2.mpyu.nac.lh.s1
+ hexagon_M2_mpyu_nac_ll_s0, // llvm.hexagon.M2.mpyu.nac.ll.s0
+ hexagon_M2_mpyu_nac_ll_s1, // llvm.hexagon.M2.mpyu.nac.ll.s1
+ hexagon_M2_mpyu_up, // llvm.hexagon.M2.mpyu.up
+ hexagon_M2_mpyud_acc_hh_s0, // llvm.hexagon.M2.mpyud.acc.hh.s0
+ hexagon_M2_mpyud_acc_hh_s1, // llvm.hexagon.M2.mpyud.acc.hh.s1
+ hexagon_M2_mpyud_acc_hl_s0, // llvm.hexagon.M2.mpyud.acc.hl.s0
+ hexagon_M2_mpyud_acc_hl_s1, // llvm.hexagon.M2.mpyud.acc.hl.s1
+ hexagon_M2_mpyud_acc_lh_s0, // llvm.hexagon.M2.mpyud.acc.lh.s0
+ hexagon_M2_mpyud_acc_lh_s1, // llvm.hexagon.M2.mpyud.acc.lh.s1
+ hexagon_M2_mpyud_acc_ll_s0, // llvm.hexagon.M2.mpyud.acc.ll.s0
+ hexagon_M2_mpyud_acc_ll_s1, // llvm.hexagon.M2.mpyud.acc.ll.s1
+ hexagon_M2_mpyud_hh_s0, // llvm.hexagon.M2.mpyud.hh.s0
+ hexagon_M2_mpyud_hh_s1, // llvm.hexagon.M2.mpyud.hh.s1
+ hexagon_M2_mpyud_hl_s0, // llvm.hexagon.M2.mpyud.hl.s0
+ hexagon_M2_mpyud_hl_s1, // llvm.hexagon.M2.mpyud.hl.s1
+ hexagon_M2_mpyud_lh_s0, // llvm.hexagon.M2.mpyud.lh.s0
+ hexagon_M2_mpyud_lh_s1, // llvm.hexagon.M2.mpyud.lh.s1
+ hexagon_M2_mpyud_ll_s0, // llvm.hexagon.M2.mpyud.ll.s0
+ hexagon_M2_mpyud_ll_s1, // llvm.hexagon.M2.mpyud.ll.s1
+ hexagon_M2_mpyud_nac_hh_s0, // llvm.hexagon.M2.mpyud.nac.hh.s0
+ hexagon_M2_mpyud_nac_hh_s1, // llvm.hexagon.M2.mpyud.nac.hh.s1
+ hexagon_M2_mpyud_nac_hl_s0, // llvm.hexagon.M2.mpyud.nac.hl.s0
+ hexagon_M2_mpyud_nac_hl_s1, // llvm.hexagon.M2.mpyud.nac.hl.s1
+ hexagon_M2_mpyud_nac_lh_s0, // llvm.hexagon.M2.mpyud.nac.lh.s0
+ hexagon_M2_mpyud_nac_lh_s1, // llvm.hexagon.M2.mpyud.nac.lh.s1
+ hexagon_M2_mpyud_nac_ll_s0, // llvm.hexagon.M2.mpyud.nac.ll.s0
+ hexagon_M2_mpyud_nac_ll_s1, // llvm.hexagon.M2.mpyud.nac.ll.s1
+ hexagon_M2_mpyui, // llvm.hexagon.M2.mpyui
+ hexagon_M2_nacci, // llvm.hexagon.M2.nacci
+ hexagon_M2_naccii, // llvm.hexagon.M2.naccii
+ hexagon_M2_subacc, // llvm.hexagon.M2.subacc
+ hexagon_M2_vabsdiffh, // llvm.hexagon.M2.vabsdiffh
+ hexagon_M2_vabsdiffw, // llvm.hexagon.M2.vabsdiffw
+ hexagon_M2_vcmac_s0_sat_i, // llvm.hexagon.M2.vcmac.s0.sat.i
+ hexagon_M2_vcmac_s0_sat_r, // llvm.hexagon.M2.vcmac.s0.sat.r
+ hexagon_M2_vcmpy_s0_sat_i, // llvm.hexagon.M2.vcmpy.s0.sat.i
+ hexagon_M2_vcmpy_s0_sat_r, // llvm.hexagon.M2.vcmpy.s0.sat.r
+ hexagon_M2_vcmpy_s1_sat_i, // llvm.hexagon.M2.vcmpy.s1.sat.i
+ hexagon_M2_vcmpy_s1_sat_r, // llvm.hexagon.M2.vcmpy.s1.sat.r
+ hexagon_M2_vdmacs_s0, // llvm.hexagon.M2.vdmacs.s0
+ hexagon_M2_vdmacs_s1, // llvm.hexagon.M2.vdmacs.s1
+ hexagon_M2_vdmpyrs_s0, // llvm.hexagon.M2.vdmpyrs.s0
+ hexagon_M2_vdmpyrs_s1, // llvm.hexagon.M2.vdmpyrs.s1
+ hexagon_M2_vdmpys_s0, // llvm.hexagon.M2.vdmpys.s0
+ hexagon_M2_vdmpys_s1, // llvm.hexagon.M2.vdmpys.s1
+ hexagon_M2_vmac2, // llvm.hexagon.M2.vmac2
+ hexagon_M2_vmac2es, // llvm.hexagon.M2.vmac2es
+ hexagon_M2_vmac2es_s0, // llvm.hexagon.M2.vmac2es.s0
+ hexagon_M2_vmac2es_s1, // llvm.hexagon.M2.vmac2es.s1
+ hexagon_M2_vmac2s_s0, // llvm.hexagon.M2.vmac2s.s0
+ hexagon_M2_vmac2s_s1, // llvm.hexagon.M2.vmac2s.s1
+ hexagon_M2_vmac2su_s0, // llvm.hexagon.M2.vmac2su.s0
+ hexagon_M2_vmac2su_s1, // llvm.hexagon.M2.vmac2su.s1
+ hexagon_M2_vmpy2es_s0, // llvm.hexagon.M2.vmpy2es.s0
+ hexagon_M2_vmpy2es_s1, // llvm.hexagon.M2.vmpy2es.s1
+ hexagon_M2_vmpy2s_s0, // llvm.hexagon.M2.vmpy2s.s0
+ hexagon_M2_vmpy2s_s0pack, // llvm.hexagon.M2.vmpy2s.s0pack
+ hexagon_M2_vmpy2s_s1, // llvm.hexagon.M2.vmpy2s.s1
+ hexagon_M2_vmpy2s_s1pack, // llvm.hexagon.M2.vmpy2s.s1pack
+ hexagon_M2_vmpy2su_s0, // llvm.hexagon.M2.vmpy2su.s0
+ hexagon_M2_vmpy2su_s1, // llvm.hexagon.M2.vmpy2su.s1
+ hexagon_M2_vraddh, // llvm.hexagon.M2.vraddh
+ hexagon_M2_vradduh, // llvm.hexagon.M2.vradduh
+ hexagon_M2_vrcmaci_s0, // llvm.hexagon.M2.vrcmaci.s0
+ hexagon_M2_vrcmaci_s0c, // llvm.hexagon.M2.vrcmaci.s0c
+ hexagon_M2_vrcmacr_s0, // llvm.hexagon.M2.vrcmacr.s0
+ hexagon_M2_vrcmacr_s0c, // llvm.hexagon.M2.vrcmacr.s0c
+ hexagon_M2_vrcmpyi_s0, // llvm.hexagon.M2.vrcmpyi.s0
+ hexagon_M2_vrcmpyi_s0c, // llvm.hexagon.M2.vrcmpyi.s0c
+ hexagon_M2_vrcmpyr_s0, // llvm.hexagon.M2.vrcmpyr.s0
+ hexagon_M2_vrcmpyr_s0c, // llvm.hexagon.M2.vrcmpyr.s0c
+ hexagon_M2_vrcmpys_acc_s1, // llvm.hexagon.M2.vrcmpys.acc.s1
+ hexagon_M2_vrcmpys_s1, // llvm.hexagon.M2.vrcmpys.s1
+ hexagon_M2_vrcmpys_s1rp, // llvm.hexagon.M2.vrcmpys.s1rp
+ hexagon_M2_vrmac_s0, // llvm.hexagon.M2.vrmac.s0
+ hexagon_M2_vrmpy_s0, // llvm.hexagon.M2.vrmpy.s0
+ hexagon_M2_xor_xacc, // llvm.hexagon.M2.xor.xacc
+ hexagon_M4_and_and, // llvm.hexagon.M4.and.and
+ hexagon_M4_and_andn, // llvm.hexagon.M4.and.andn
+ hexagon_M4_and_or, // llvm.hexagon.M4.and.or
+ hexagon_M4_and_xor, // llvm.hexagon.M4.and.xor
+ hexagon_M4_cmpyi_wh, // llvm.hexagon.M4.cmpyi.wh
+ hexagon_M4_cmpyi_whc, // llvm.hexagon.M4.cmpyi.whc
+ hexagon_M4_cmpyr_wh, // llvm.hexagon.M4.cmpyr.wh
+ hexagon_M4_cmpyr_whc, // llvm.hexagon.M4.cmpyr.whc
+ hexagon_M4_mac_up_s1_sat, // llvm.hexagon.M4.mac.up.s1.sat
+ hexagon_M4_mpyri_addi, // llvm.hexagon.M4.mpyri.addi
+ hexagon_M4_mpyri_addr, // llvm.hexagon.M4.mpyri.addr
+ hexagon_M4_mpyri_addr_u2, // llvm.hexagon.M4.mpyri.addr.u2
+ hexagon_M4_mpyrr_addi, // llvm.hexagon.M4.mpyrr.addi
+ hexagon_M4_mpyrr_addr, // llvm.hexagon.M4.mpyrr.addr
+ hexagon_M4_nac_up_s1_sat, // llvm.hexagon.M4.nac.up.s1.sat
+ hexagon_M4_or_and, // llvm.hexagon.M4.or.and
+ hexagon_M4_or_andn, // llvm.hexagon.M4.or.andn
+ hexagon_M4_or_or, // llvm.hexagon.M4.or.or
+ hexagon_M4_or_xor, // llvm.hexagon.M4.or.xor
+ hexagon_M4_pmpyw, // llvm.hexagon.M4.pmpyw
+ hexagon_M4_pmpyw_acc, // llvm.hexagon.M4.pmpyw.acc
+ hexagon_M4_vpmpyh, // llvm.hexagon.M4.vpmpyh
+ hexagon_M4_vpmpyh_acc, // llvm.hexagon.M4.vpmpyh.acc
+ hexagon_M4_vrmpyeh_acc_s0, // llvm.hexagon.M4.vrmpyeh.acc.s0
+ hexagon_M4_vrmpyeh_acc_s1, // llvm.hexagon.M4.vrmpyeh.acc.s1
+ hexagon_M4_vrmpyeh_s0, // llvm.hexagon.M4.vrmpyeh.s0
+ hexagon_M4_vrmpyeh_s1, // llvm.hexagon.M4.vrmpyeh.s1
+ hexagon_M4_vrmpyoh_acc_s0, // llvm.hexagon.M4.vrmpyoh.acc.s0
+ hexagon_M4_vrmpyoh_acc_s1, // llvm.hexagon.M4.vrmpyoh.acc.s1
+ hexagon_M4_vrmpyoh_s0, // llvm.hexagon.M4.vrmpyoh.s0
+ hexagon_M4_vrmpyoh_s1, // llvm.hexagon.M4.vrmpyoh.s1
+ hexagon_M4_xor_and, // llvm.hexagon.M4.xor.and
+ hexagon_M4_xor_andn, // llvm.hexagon.M4.xor.andn
+ hexagon_M4_xor_or, // llvm.hexagon.M4.xor.or
+ hexagon_M4_xor_xacc, // llvm.hexagon.M4.xor.xacc
+ hexagon_M5_vdmacbsu, // llvm.hexagon.M5.vdmacbsu
+ hexagon_M5_vdmpybsu, // llvm.hexagon.M5.vdmpybsu
+ hexagon_M5_vmacbsu, // llvm.hexagon.M5.vmacbsu
+ hexagon_M5_vmacbuu, // llvm.hexagon.M5.vmacbuu
+ hexagon_M5_vmpybsu, // llvm.hexagon.M5.vmpybsu
+ hexagon_M5_vmpybuu, // llvm.hexagon.M5.vmpybuu
+ hexagon_M5_vrmacbsu, // llvm.hexagon.M5.vrmacbsu
+ hexagon_M5_vrmacbuu, // llvm.hexagon.M5.vrmacbuu
+ hexagon_M5_vrmpybsu, // llvm.hexagon.M5.vrmpybsu
+ hexagon_M5_vrmpybuu, // llvm.hexagon.M5.vrmpybuu
+ hexagon_M6_vabsdiffb, // llvm.hexagon.M6.vabsdiffb
+ hexagon_M6_vabsdiffub, // llvm.hexagon.M6.vabsdiffub
+ hexagon_S2_addasl_rrri, // llvm.hexagon.S2.addasl.rrri
+ hexagon_S2_asl_i_p, // llvm.hexagon.S2.asl.i.p
+ hexagon_S2_asl_i_p_acc, // llvm.hexagon.S2.asl.i.p.acc
+ hexagon_S2_asl_i_p_and, // llvm.hexagon.S2.asl.i.p.and
+ hexagon_S2_asl_i_p_nac, // llvm.hexagon.S2.asl.i.p.nac
+ hexagon_S2_asl_i_p_or, // llvm.hexagon.S2.asl.i.p.or
+ hexagon_S2_asl_i_p_xacc, // llvm.hexagon.S2.asl.i.p.xacc
+ hexagon_S2_asl_i_r, // llvm.hexagon.S2.asl.i.r
+ hexagon_S2_asl_i_r_acc, // llvm.hexagon.S2.asl.i.r.acc
+ hexagon_S2_asl_i_r_and, // llvm.hexagon.S2.asl.i.r.and
+ hexagon_S2_asl_i_r_nac, // llvm.hexagon.S2.asl.i.r.nac
+ hexagon_S2_asl_i_r_or, // llvm.hexagon.S2.asl.i.r.or
+ hexagon_S2_asl_i_r_sat, // llvm.hexagon.S2.asl.i.r.sat
+ hexagon_S2_asl_i_r_xacc, // llvm.hexagon.S2.asl.i.r.xacc
+ hexagon_S2_asl_i_vh, // llvm.hexagon.S2.asl.i.vh
+ hexagon_S2_asl_i_vw, // llvm.hexagon.S2.asl.i.vw
+ hexagon_S2_asl_r_p, // llvm.hexagon.S2.asl.r.p
+ hexagon_S2_asl_r_p_acc, // llvm.hexagon.S2.asl.r.p.acc
+ hexagon_S2_asl_r_p_and, // llvm.hexagon.S2.asl.r.p.and
+ hexagon_S2_asl_r_p_nac, // llvm.hexagon.S2.asl.r.p.nac
+ hexagon_S2_asl_r_p_or, // llvm.hexagon.S2.asl.r.p.or
+ hexagon_S2_asl_r_p_xor, // llvm.hexagon.S2.asl.r.p.xor
+ hexagon_S2_asl_r_r, // llvm.hexagon.S2.asl.r.r
+ hexagon_S2_asl_r_r_acc, // llvm.hexagon.S2.asl.r.r.acc
+ hexagon_S2_asl_r_r_and, // llvm.hexagon.S2.asl.r.r.and
+ hexagon_S2_asl_r_r_nac, // llvm.hexagon.S2.asl.r.r.nac
+ hexagon_S2_asl_r_r_or, // llvm.hexagon.S2.asl.r.r.or
+ hexagon_S2_asl_r_r_sat, // llvm.hexagon.S2.asl.r.r.sat
+ hexagon_S2_asl_r_vh, // llvm.hexagon.S2.asl.r.vh
+ hexagon_S2_asl_r_vw, // llvm.hexagon.S2.asl.r.vw
+ hexagon_S2_asr_i_p, // llvm.hexagon.S2.asr.i.p
+ hexagon_S2_asr_i_p_acc, // llvm.hexagon.S2.asr.i.p.acc
+ hexagon_S2_asr_i_p_and, // llvm.hexagon.S2.asr.i.p.and
+ hexagon_S2_asr_i_p_nac, // llvm.hexagon.S2.asr.i.p.nac
+ hexagon_S2_asr_i_p_or, // llvm.hexagon.S2.asr.i.p.or
+ hexagon_S2_asr_i_p_rnd, // llvm.hexagon.S2.asr.i.p.rnd
+ hexagon_S2_asr_i_p_rnd_goodsyntax, // llvm.hexagon.S2.asr.i.p.rnd.goodsyntax
+ hexagon_S2_asr_i_r, // llvm.hexagon.S2.asr.i.r
+ hexagon_S2_asr_i_r_acc, // llvm.hexagon.S2.asr.i.r.acc
+ hexagon_S2_asr_i_r_and, // llvm.hexagon.S2.asr.i.r.and
+ hexagon_S2_asr_i_r_nac, // llvm.hexagon.S2.asr.i.r.nac
+ hexagon_S2_asr_i_r_or, // llvm.hexagon.S2.asr.i.r.or
+ hexagon_S2_asr_i_r_rnd, // llvm.hexagon.S2.asr.i.r.rnd
+ hexagon_S2_asr_i_r_rnd_goodsyntax, // llvm.hexagon.S2.asr.i.r.rnd.goodsyntax
+ hexagon_S2_asr_i_svw_trun, // llvm.hexagon.S2.asr.i.svw.trun
+ hexagon_S2_asr_i_vh, // llvm.hexagon.S2.asr.i.vh
+ hexagon_S2_asr_i_vw, // llvm.hexagon.S2.asr.i.vw
+ hexagon_S2_asr_r_p, // llvm.hexagon.S2.asr.r.p
+ hexagon_S2_asr_r_p_acc, // llvm.hexagon.S2.asr.r.p.acc
+ hexagon_S2_asr_r_p_and, // llvm.hexagon.S2.asr.r.p.and
+ hexagon_S2_asr_r_p_nac, // llvm.hexagon.S2.asr.r.p.nac
+ hexagon_S2_asr_r_p_or, // llvm.hexagon.S2.asr.r.p.or
+ hexagon_S2_asr_r_p_xor, // llvm.hexagon.S2.asr.r.p.xor
+ hexagon_S2_asr_r_r, // llvm.hexagon.S2.asr.r.r
+ hexagon_S2_asr_r_r_acc, // llvm.hexagon.S2.asr.r.r.acc
+ hexagon_S2_asr_r_r_and, // llvm.hexagon.S2.asr.r.r.and
+ hexagon_S2_asr_r_r_nac, // llvm.hexagon.S2.asr.r.r.nac
+ hexagon_S2_asr_r_r_or, // llvm.hexagon.S2.asr.r.r.or
+ hexagon_S2_asr_r_r_sat, // llvm.hexagon.S2.asr.r.r.sat
+ hexagon_S2_asr_r_svw_trun, // llvm.hexagon.S2.asr.r.svw.trun
+ hexagon_S2_asr_r_vh, // llvm.hexagon.S2.asr.r.vh
+ hexagon_S2_asr_r_vw, // llvm.hexagon.S2.asr.r.vw
+ hexagon_S2_brev, // llvm.hexagon.S2.brev
+ hexagon_S2_brevp, // llvm.hexagon.S2.brevp
+ hexagon_S2_cabacencbin, // llvm.hexagon.S2.cabacencbin
+ hexagon_S2_cl0, // llvm.hexagon.S2.cl0
+ hexagon_S2_cl0p, // llvm.hexagon.S2.cl0p
+ hexagon_S2_cl1, // llvm.hexagon.S2.cl1
+ hexagon_S2_cl1p, // llvm.hexagon.S2.cl1p
+ hexagon_S2_clb, // llvm.hexagon.S2.clb
+ hexagon_S2_clbnorm, // llvm.hexagon.S2.clbnorm
+ hexagon_S2_clbp, // llvm.hexagon.S2.clbp
+ hexagon_S2_clrbit_i, // llvm.hexagon.S2.clrbit.i
+ hexagon_S2_clrbit_r, // llvm.hexagon.S2.clrbit.r
+ hexagon_S2_ct0, // llvm.hexagon.S2.ct0
+ hexagon_S2_ct0p, // llvm.hexagon.S2.ct0p
+ hexagon_S2_ct1, // llvm.hexagon.S2.ct1
+ hexagon_S2_ct1p, // llvm.hexagon.S2.ct1p
+ hexagon_S2_deinterleave, // llvm.hexagon.S2.deinterleave
+ hexagon_S2_extractu, // llvm.hexagon.S2.extractu
+ hexagon_S2_extractu_rp, // llvm.hexagon.S2.extractu.rp
+ hexagon_S2_extractup, // llvm.hexagon.S2.extractup
+ hexagon_S2_extractup_rp, // llvm.hexagon.S2.extractup.rp
+ hexagon_S2_insert, // llvm.hexagon.S2.insert
+ hexagon_S2_insert_rp, // llvm.hexagon.S2.insert.rp
+ hexagon_S2_insertp, // llvm.hexagon.S2.insertp
+ hexagon_S2_insertp_rp, // llvm.hexagon.S2.insertp.rp
+ hexagon_S2_interleave, // llvm.hexagon.S2.interleave
+ hexagon_S2_lfsp, // llvm.hexagon.S2.lfsp
+ hexagon_S2_lsl_r_p, // llvm.hexagon.S2.lsl.r.p
+ hexagon_S2_lsl_r_p_acc, // llvm.hexagon.S2.lsl.r.p.acc
+ hexagon_S2_lsl_r_p_and, // llvm.hexagon.S2.lsl.r.p.and
+ hexagon_S2_lsl_r_p_nac, // llvm.hexagon.S2.lsl.r.p.nac
+ hexagon_S2_lsl_r_p_or, // llvm.hexagon.S2.lsl.r.p.or
+ hexagon_S2_lsl_r_p_xor, // llvm.hexagon.S2.lsl.r.p.xor
+ hexagon_S2_lsl_r_r, // llvm.hexagon.S2.lsl.r.r
+ hexagon_S2_lsl_r_r_acc, // llvm.hexagon.S2.lsl.r.r.acc
+ hexagon_S2_lsl_r_r_and, // llvm.hexagon.S2.lsl.r.r.and
+ hexagon_S2_lsl_r_r_nac, // llvm.hexagon.S2.lsl.r.r.nac
+ hexagon_S2_lsl_r_r_or, // llvm.hexagon.S2.lsl.r.r.or
+ hexagon_S2_lsl_r_vh, // llvm.hexagon.S2.lsl.r.vh
+ hexagon_S2_lsl_r_vw, // llvm.hexagon.S2.lsl.r.vw
+ hexagon_S2_lsr_i_p, // llvm.hexagon.S2.lsr.i.p
+ hexagon_S2_lsr_i_p_acc, // llvm.hexagon.S2.lsr.i.p.acc
+ hexagon_S2_lsr_i_p_and, // llvm.hexagon.S2.lsr.i.p.and
+ hexagon_S2_lsr_i_p_nac, // llvm.hexagon.S2.lsr.i.p.nac
+ hexagon_S2_lsr_i_p_or, // llvm.hexagon.S2.lsr.i.p.or
+ hexagon_S2_lsr_i_p_xacc, // llvm.hexagon.S2.lsr.i.p.xacc
+ hexagon_S2_lsr_i_r, // llvm.hexagon.S2.lsr.i.r
+ hexagon_S2_lsr_i_r_acc, // llvm.hexagon.S2.lsr.i.r.acc
+ hexagon_S2_lsr_i_r_and, // llvm.hexagon.S2.lsr.i.r.and
+ hexagon_S2_lsr_i_r_nac, // llvm.hexagon.S2.lsr.i.r.nac
+ hexagon_S2_lsr_i_r_or, // llvm.hexagon.S2.lsr.i.r.or
+ hexagon_S2_lsr_i_r_xacc, // llvm.hexagon.S2.lsr.i.r.xacc
+ hexagon_S2_lsr_i_vh, // llvm.hexagon.S2.lsr.i.vh
+ hexagon_S2_lsr_i_vw, // llvm.hexagon.S2.lsr.i.vw
+ hexagon_S2_lsr_r_p, // llvm.hexagon.S2.lsr.r.p
+ hexagon_S2_lsr_r_p_acc, // llvm.hexagon.S2.lsr.r.p.acc
+ hexagon_S2_lsr_r_p_and, // llvm.hexagon.S2.lsr.r.p.and
+ hexagon_S2_lsr_r_p_nac, // llvm.hexagon.S2.lsr.r.p.nac
+ hexagon_S2_lsr_r_p_or, // llvm.hexagon.S2.lsr.r.p.or
+ hexagon_S2_lsr_r_p_xor, // llvm.hexagon.S2.lsr.r.p.xor
+ hexagon_S2_lsr_r_r, // llvm.hexagon.S2.lsr.r.r
+ hexagon_S2_lsr_r_r_acc, // llvm.hexagon.S2.lsr.r.r.acc
+ hexagon_S2_lsr_r_r_and, // llvm.hexagon.S2.lsr.r.r.and
+ hexagon_S2_lsr_r_r_nac, // llvm.hexagon.S2.lsr.r.r.nac
+ hexagon_S2_lsr_r_r_or, // llvm.hexagon.S2.lsr.r.r.or
+ hexagon_S2_lsr_r_vh, // llvm.hexagon.S2.lsr.r.vh
+ hexagon_S2_lsr_r_vw, // llvm.hexagon.S2.lsr.r.vw
+ hexagon_S2_packhl, // llvm.hexagon.S2.packhl
+ hexagon_S2_parityp, // llvm.hexagon.S2.parityp
+ hexagon_S2_setbit_i, // llvm.hexagon.S2.setbit.i
+ hexagon_S2_setbit_r, // llvm.hexagon.S2.setbit.r
+ hexagon_S2_shuffeb, // llvm.hexagon.S2.shuffeb
+ hexagon_S2_shuffeh, // llvm.hexagon.S2.shuffeh
+ hexagon_S2_shuffob, // llvm.hexagon.S2.shuffob
+ hexagon_S2_shuffoh, // llvm.hexagon.S2.shuffoh
+ hexagon_S2_storew_locked, // llvm.hexagon.S2.storew.locked
+ hexagon_S2_svsathb, // llvm.hexagon.S2.svsathb
+ hexagon_S2_svsathub, // llvm.hexagon.S2.svsathub
+ hexagon_S2_tableidxb_goodsyntax, // llvm.hexagon.S2.tableidxb.goodsyntax
+ hexagon_S2_tableidxd_goodsyntax, // llvm.hexagon.S2.tableidxd.goodsyntax
+ hexagon_S2_tableidxh_goodsyntax, // llvm.hexagon.S2.tableidxh.goodsyntax
+ hexagon_S2_tableidxw_goodsyntax, // llvm.hexagon.S2.tableidxw.goodsyntax
+ hexagon_S2_togglebit_i, // llvm.hexagon.S2.togglebit.i
+ hexagon_S2_togglebit_r, // llvm.hexagon.S2.togglebit.r
+ hexagon_S2_tstbit_i, // llvm.hexagon.S2.tstbit.i
+ hexagon_S2_tstbit_r, // llvm.hexagon.S2.tstbit.r
+ hexagon_S2_valignib, // llvm.hexagon.S2.valignib
+ hexagon_S2_valignrb, // llvm.hexagon.S2.valignrb
+ hexagon_S2_vcnegh, // llvm.hexagon.S2.vcnegh
+ hexagon_S2_vcrotate, // llvm.hexagon.S2.vcrotate
+ hexagon_S2_vrcnegh, // llvm.hexagon.S2.vrcnegh
+ hexagon_S2_vrndpackwh, // llvm.hexagon.S2.vrndpackwh
+ hexagon_S2_vrndpackwhs, // llvm.hexagon.S2.vrndpackwhs
+ hexagon_S2_vsathb, // llvm.hexagon.S2.vsathb
+ hexagon_S2_vsathb_nopack, // llvm.hexagon.S2.vsathb.nopack
+ hexagon_S2_vsathub, // llvm.hexagon.S2.vsathub
+ hexagon_S2_vsathub_nopack, // llvm.hexagon.S2.vsathub.nopack
+ hexagon_S2_vsatwh, // llvm.hexagon.S2.vsatwh
+ hexagon_S2_vsatwh_nopack, // llvm.hexagon.S2.vsatwh.nopack
+ hexagon_S2_vsatwuh, // llvm.hexagon.S2.vsatwuh
+ hexagon_S2_vsatwuh_nopack, // llvm.hexagon.S2.vsatwuh.nopack
+ hexagon_S2_vsplatrb, // llvm.hexagon.S2.vsplatrb
+ hexagon_S2_vsplatrh, // llvm.hexagon.S2.vsplatrh
+ hexagon_S2_vspliceib, // llvm.hexagon.S2.vspliceib
+ hexagon_S2_vsplicerb, // llvm.hexagon.S2.vsplicerb
+ hexagon_S2_vsxtbh, // llvm.hexagon.S2.vsxtbh
+ hexagon_S2_vsxthw, // llvm.hexagon.S2.vsxthw
+ hexagon_S2_vtrunehb, // llvm.hexagon.S2.vtrunehb
+ hexagon_S2_vtrunewh, // llvm.hexagon.S2.vtrunewh
+ hexagon_S2_vtrunohb, // llvm.hexagon.S2.vtrunohb
+ hexagon_S2_vtrunowh, // llvm.hexagon.S2.vtrunowh
+ hexagon_S2_vzxtbh, // llvm.hexagon.S2.vzxtbh
+ hexagon_S2_vzxthw, // llvm.hexagon.S2.vzxthw
+ hexagon_S4_addaddi, // llvm.hexagon.S4.addaddi
+ hexagon_S4_addi_asl_ri, // llvm.hexagon.S4.addi.asl.ri
+ hexagon_S4_addi_lsr_ri, // llvm.hexagon.S4.addi.lsr.ri
+ hexagon_S4_andi_asl_ri, // llvm.hexagon.S4.andi.asl.ri
+ hexagon_S4_andi_lsr_ri, // llvm.hexagon.S4.andi.lsr.ri
+ hexagon_S4_clbaddi, // llvm.hexagon.S4.clbaddi
+ hexagon_S4_clbpaddi, // llvm.hexagon.S4.clbpaddi
+ hexagon_S4_clbpnorm, // llvm.hexagon.S4.clbpnorm
+ hexagon_S4_extract, // llvm.hexagon.S4.extract
+ hexagon_S4_extract_rp, // llvm.hexagon.S4.extract.rp
+ hexagon_S4_extractp, // llvm.hexagon.S4.extractp
+ hexagon_S4_extractp_rp, // llvm.hexagon.S4.extractp.rp
+ hexagon_S4_lsli, // llvm.hexagon.S4.lsli
+ hexagon_S4_ntstbit_i, // llvm.hexagon.S4.ntstbit.i
+ hexagon_S4_ntstbit_r, // llvm.hexagon.S4.ntstbit.r
+ hexagon_S4_or_andi, // llvm.hexagon.S4.or.andi
+ hexagon_S4_or_andix, // llvm.hexagon.S4.or.andix
+ hexagon_S4_or_ori, // llvm.hexagon.S4.or.ori
+ hexagon_S4_ori_asl_ri, // llvm.hexagon.S4.ori.asl.ri
+ hexagon_S4_ori_lsr_ri, // llvm.hexagon.S4.ori.lsr.ri
+ hexagon_S4_parity, // llvm.hexagon.S4.parity
+ hexagon_S4_stored_locked, // llvm.hexagon.S4.stored.locked
+ hexagon_S4_subaddi, // llvm.hexagon.S4.subaddi
+ hexagon_S4_subi_asl_ri, // llvm.hexagon.S4.subi.asl.ri
+ hexagon_S4_subi_lsr_ri, // llvm.hexagon.S4.subi.lsr.ri
+ hexagon_S4_vrcrotate, // llvm.hexagon.S4.vrcrotate
+ hexagon_S4_vrcrotate_acc, // llvm.hexagon.S4.vrcrotate.acc
+ hexagon_S4_vxaddsubh, // llvm.hexagon.S4.vxaddsubh
+ hexagon_S4_vxaddsubhr, // llvm.hexagon.S4.vxaddsubhr
+ hexagon_S4_vxaddsubw, // llvm.hexagon.S4.vxaddsubw
+ hexagon_S4_vxsubaddh, // llvm.hexagon.S4.vxsubaddh
+ hexagon_S4_vxsubaddhr, // llvm.hexagon.S4.vxsubaddhr
+ hexagon_S4_vxsubaddw, // llvm.hexagon.S4.vxsubaddw
+ hexagon_S5_asrhub_rnd_sat_goodsyntax, // llvm.hexagon.S5.asrhub.rnd.sat.goodsyntax
+ hexagon_S5_asrhub_sat, // llvm.hexagon.S5.asrhub.sat
+ hexagon_S5_popcountp, // llvm.hexagon.S5.popcountp
+ hexagon_S5_vasrhrnd_goodsyntax, // llvm.hexagon.S5.vasrhrnd.goodsyntax
+ hexagon_S6_rol_i_p, // llvm.hexagon.S6.rol.i.p
+ hexagon_S6_rol_i_p_acc, // llvm.hexagon.S6.rol.i.p.acc
+ hexagon_S6_rol_i_p_and, // llvm.hexagon.S6.rol.i.p.and
+ hexagon_S6_rol_i_p_nac, // llvm.hexagon.S6.rol.i.p.nac
+ hexagon_S6_rol_i_p_or, // llvm.hexagon.S6.rol.i.p.or
+ hexagon_S6_rol_i_p_xacc, // llvm.hexagon.S6.rol.i.p.xacc
+ hexagon_S6_rol_i_r, // llvm.hexagon.S6.rol.i.r
+ hexagon_S6_rol_i_r_acc, // llvm.hexagon.S6.rol.i.r.acc
+ hexagon_S6_rol_i_r_and, // llvm.hexagon.S6.rol.i.r.and
+ hexagon_S6_rol_i_r_nac, // llvm.hexagon.S6.rol.i.r.nac
+ hexagon_S6_rol_i_r_or, // llvm.hexagon.S6.rol.i.r.or
+ hexagon_S6_rol_i_r_xacc, // llvm.hexagon.S6.rol.i.r.xacc
+ hexagon_S6_vsplatrbp, // llvm.hexagon.S6.vsplatrbp
+ hexagon_S6_vtrunehb_ppp, // llvm.hexagon.S6.vtrunehb.ppp
+ hexagon_S6_vtrunohb_ppp, // llvm.hexagon.S6.vtrunohb.ppp
+ hexagon_SI_to_SXTHI_asrh, // llvm.hexagon.SI.to.SXTHI.asrh
+ hexagon_V6_extractw, // llvm.hexagon.V6.extractw
+ hexagon_V6_extractw_128B, // llvm.hexagon.V6.extractw.128B
+ hexagon_V6_hi, // llvm.hexagon.V6.hi
+ hexagon_V6_hi_128B, // llvm.hexagon.V6.hi.128B
+ hexagon_V6_lo, // llvm.hexagon.V6.lo
+ hexagon_V6_lo_128B, // llvm.hexagon.V6.lo.128B
+ hexagon_V6_lvsplatw, // llvm.hexagon.V6.lvsplatw
+ hexagon_V6_lvsplatw_128B, // llvm.hexagon.V6.lvsplatw.128B
+ hexagon_V6_pred_and, // llvm.hexagon.V6.pred.and
+ hexagon_V6_pred_and_128B, // llvm.hexagon.V6.pred.and.128B
+ hexagon_V6_pred_and_n, // llvm.hexagon.V6.pred.and.n
+ hexagon_V6_pred_and_n_128B, // llvm.hexagon.V6.pred.and.n.128B
+ hexagon_V6_pred_not, // llvm.hexagon.V6.pred.not
+ hexagon_V6_pred_not_128B, // llvm.hexagon.V6.pred.not.128B
+ hexagon_V6_pred_or, // llvm.hexagon.V6.pred.or
+ hexagon_V6_pred_or_128B, // llvm.hexagon.V6.pred.or.128B
+ hexagon_V6_pred_or_n, // llvm.hexagon.V6.pred.or.n
+ hexagon_V6_pred_or_n_128B, // llvm.hexagon.V6.pred.or.n.128B
+ hexagon_V6_pred_scalar2, // llvm.hexagon.V6.pred.scalar2
+ hexagon_V6_pred_scalar2_128B, // llvm.hexagon.V6.pred.scalar2.128B
+ hexagon_V6_pred_xor, // llvm.hexagon.V6.pred.xor
+ hexagon_V6_pred_xor_128B, // llvm.hexagon.V6.pred.xor.128B
+ hexagon_V6_vabsdiffh, // llvm.hexagon.V6.vabsdiffh
+ hexagon_V6_vabsdiffh_128B, // llvm.hexagon.V6.vabsdiffh.128B
+ hexagon_V6_vabsdiffub, // llvm.hexagon.V6.vabsdiffub
+ hexagon_V6_vabsdiffub_128B, // llvm.hexagon.V6.vabsdiffub.128B
+ hexagon_V6_vabsdiffuh, // llvm.hexagon.V6.vabsdiffuh
+ hexagon_V6_vabsdiffuh_128B, // llvm.hexagon.V6.vabsdiffuh.128B
+ hexagon_V6_vabsdiffw, // llvm.hexagon.V6.vabsdiffw
+ hexagon_V6_vabsdiffw_128B, // llvm.hexagon.V6.vabsdiffw.128B
+ hexagon_V6_vabsh, // llvm.hexagon.V6.vabsh
+ hexagon_V6_vabsh_128B, // llvm.hexagon.V6.vabsh.128B
+ hexagon_V6_vabsh_sat, // llvm.hexagon.V6.vabsh.sat
+ hexagon_V6_vabsh_sat_128B, // llvm.hexagon.V6.vabsh.sat.128B
+ hexagon_V6_vabsw, // llvm.hexagon.V6.vabsw
+ hexagon_V6_vabsw_128B, // llvm.hexagon.V6.vabsw.128B
+ hexagon_V6_vabsw_sat, // llvm.hexagon.V6.vabsw.sat
+ hexagon_V6_vabsw_sat_128B, // llvm.hexagon.V6.vabsw.sat.128B
+ hexagon_V6_vaddb, // llvm.hexagon.V6.vaddb
+ hexagon_V6_vaddb_128B, // llvm.hexagon.V6.vaddb.128B
+ hexagon_V6_vaddb_dv, // llvm.hexagon.V6.vaddb.dv
+ hexagon_V6_vaddb_dv_128B, // llvm.hexagon.V6.vaddb.dv.128B
+ hexagon_V6_vaddbnq, // llvm.hexagon.V6.vaddbnq
+ hexagon_V6_vaddbnq_128B, // llvm.hexagon.V6.vaddbnq.128B
+ hexagon_V6_vaddbq, // llvm.hexagon.V6.vaddbq
+ hexagon_V6_vaddbq_128B, // llvm.hexagon.V6.vaddbq.128B
+ hexagon_V6_vaddh, // llvm.hexagon.V6.vaddh
+ hexagon_V6_vaddh_128B, // llvm.hexagon.V6.vaddh.128B
+ hexagon_V6_vaddh_dv, // llvm.hexagon.V6.vaddh.dv
+ hexagon_V6_vaddh_dv_128B, // llvm.hexagon.V6.vaddh.dv.128B
+ hexagon_V6_vaddhnq, // llvm.hexagon.V6.vaddhnq
+ hexagon_V6_vaddhnq_128B, // llvm.hexagon.V6.vaddhnq.128B
+ hexagon_V6_vaddhq, // llvm.hexagon.V6.vaddhq
+ hexagon_V6_vaddhq_128B, // llvm.hexagon.V6.vaddhq.128B
+ hexagon_V6_vaddhsat, // llvm.hexagon.V6.vaddhsat
+ hexagon_V6_vaddhsat_128B, // llvm.hexagon.V6.vaddhsat.128B
+ hexagon_V6_vaddhsat_dv, // llvm.hexagon.V6.vaddhsat.dv
+ hexagon_V6_vaddhsat_dv_128B, // llvm.hexagon.V6.vaddhsat.dv.128B
+ hexagon_V6_vaddhw, // llvm.hexagon.V6.vaddhw
+ hexagon_V6_vaddhw_128B, // llvm.hexagon.V6.vaddhw.128B
+ hexagon_V6_vaddubh, // llvm.hexagon.V6.vaddubh
+ hexagon_V6_vaddubh_128B, // llvm.hexagon.V6.vaddubh.128B
+ hexagon_V6_vaddubsat, // llvm.hexagon.V6.vaddubsat
+ hexagon_V6_vaddubsat_128B, // llvm.hexagon.V6.vaddubsat.128B
+ hexagon_V6_vaddubsat_dv, // llvm.hexagon.V6.vaddubsat.dv
+ hexagon_V6_vaddubsat_dv_128B, // llvm.hexagon.V6.vaddubsat.dv.128B
+ hexagon_V6_vadduhsat, // llvm.hexagon.V6.vadduhsat
+ hexagon_V6_vadduhsat_128B, // llvm.hexagon.V6.vadduhsat.128B
+ hexagon_V6_vadduhsat_dv, // llvm.hexagon.V6.vadduhsat.dv
+ hexagon_V6_vadduhsat_dv_128B, // llvm.hexagon.V6.vadduhsat.dv.128B
+ hexagon_V6_vadduhw, // llvm.hexagon.V6.vadduhw
+ hexagon_V6_vadduhw_128B, // llvm.hexagon.V6.vadduhw.128B
+ hexagon_V6_vaddw, // llvm.hexagon.V6.vaddw
+ hexagon_V6_vaddw_128B, // llvm.hexagon.V6.vaddw.128B
+ hexagon_V6_vaddw_dv, // llvm.hexagon.V6.vaddw.dv
+ hexagon_V6_vaddw_dv_128B, // llvm.hexagon.V6.vaddw.dv.128B
+ hexagon_V6_vaddwnq, // llvm.hexagon.V6.vaddwnq
+ hexagon_V6_vaddwnq_128B, // llvm.hexagon.V6.vaddwnq.128B
+ hexagon_V6_vaddwq, // llvm.hexagon.V6.vaddwq
+ hexagon_V6_vaddwq_128B, // llvm.hexagon.V6.vaddwq.128B
+ hexagon_V6_vaddwsat, // llvm.hexagon.V6.vaddwsat
+ hexagon_V6_vaddwsat_128B, // llvm.hexagon.V6.vaddwsat.128B
+ hexagon_V6_vaddwsat_dv, // llvm.hexagon.V6.vaddwsat.dv
+ hexagon_V6_vaddwsat_dv_128B, // llvm.hexagon.V6.vaddwsat.dv.128B
+ hexagon_V6_valignb, // llvm.hexagon.V6.valignb
+ hexagon_V6_valignb_128B, // llvm.hexagon.V6.valignb.128B
+ hexagon_V6_valignbi, // llvm.hexagon.V6.valignbi
+ hexagon_V6_valignbi_128B, // llvm.hexagon.V6.valignbi.128B
+ hexagon_V6_vand, // llvm.hexagon.V6.vand
+ hexagon_V6_vand_128B, // llvm.hexagon.V6.vand.128B
+ hexagon_V6_vandqrt, // llvm.hexagon.V6.vandqrt
+ hexagon_V6_vandqrt_128B, // llvm.hexagon.V6.vandqrt.128B
+ hexagon_V6_vandqrt_acc, // llvm.hexagon.V6.vandqrt.acc
+ hexagon_V6_vandqrt_acc_128B, // llvm.hexagon.V6.vandqrt.acc.128B
+ hexagon_V6_vandvrt, // llvm.hexagon.V6.vandvrt
+ hexagon_V6_vandvrt_128B, // llvm.hexagon.V6.vandvrt.128B
+ hexagon_V6_vandvrt_acc, // llvm.hexagon.V6.vandvrt.acc
+ hexagon_V6_vandvrt_acc_128B, // llvm.hexagon.V6.vandvrt.acc.128B
+ hexagon_V6_vaslh, // llvm.hexagon.V6.vaslh
+ hexagon_V6_vaslh_128B, // llvm.hexagon.V6.vaslh.128B
+ hexagon_V6_vaslhv, // llvm.hexagon.V6.vaslhv
+ hexagon_V6_vaslhv_128B, // llvm.hexagon.V6.vaslhv.128B
+ hexagon_V6_vaslw, // llvm.hexagon.V6.vaslw
+ hexagon_V6_vaslw_128B, // llvm.hexagon.V6.vaslw.128B
+ hexagon_V6_vaslw_acc, // llvm.hexagon.V6.vaslw.acc
+ hexagon_V6_vaslw_acc_128B, // llvm.hexagon.V6.vaslw.acc.128B
+ hexagon_V6_vaslwv, // llvm.hexagon.V6.vaslwv
+ hexagon_V6_vaslwv_128B, // llvm.hexagon.V6.vaslwv.128B
+ hexagon_V6_vasrh, // llvm.hexagon.V6.vasrh
+ hexagon_V6_vasrh_128B, // llvm.hexagon.V6.vasrh.128B
+ hexagon_V6_vasrhbrndsat, // llvm.hexagon.V6.vasrhbrndsat
+ hexagon_V6_vasrhbrndsat_128B, // llvm.hexagon.V6.vasrhbrndsat.128B
+ hexagon_V6_vasrhubrndsat, // llvm.hexagon.V6.vasrhubrndsat
+ hexagon_V6_vasrhubrndsat_128B, // llvm.hexagon.V6.vasrhubrndsat.128B
+ hexagon_V6_vasrhubsat, // llvm.hexagon.V6.vasrhubsat
+ hexagon_V6_vasrhubsat_128B, // llvm.hexagon.V6.vasrhubsat.128B
+ hexagon_V6_vasrhv, // llvm.hexagon.V6.vasrhv
+ hexagon_V6_vasrhv_128B, // llvm.hexagon.V6.vasrhv.128B
+ hexagon_V6_vasrw, // llvm.hexagon.V6.vasrw
+ hexagon_V6_vasrw_128B, // llvm.hexagon.V6.vasrw.128B
+ hexagon_V6_vasrw_acc, // llvm.hexagon.V6.vasrw.acc
+ hexagon_V6_vasrw_acc_128B, // llvm.hexagon.V6.vasrw.acc.128B
+ hexagon_V6_vasrwh, // llvm.hexagon.V6.vasrwh
+ hexagon_V6_vasrwh_128B, // llvm.hexagon.V6.vasrwh.128B
+ hexagon_V6_vasrwhrndsat, // llvm.hexagon.V6.vasrwhrndsat
+ hexagon_V6_vasrwhrndsat_128B, // llvm.hexagon.V6.vasrwhrndsat.128B
+ hexagon_V6_vasrwhsat, // llvm.hexagon.V6.vasrwhsat
+ hexagon_V6_vasrwhsat_128B, // llvm.hexagon.V6.vasrwhsat.128B
+ hexagon_V6_vasrwuhsat, // llvm.hexagon.V6.vasrwuhsat
+ hexagon_V6_vasrwuhsat_128B, // llvm.hexagon.V6.vasrwuhsat.128B
+ hexagon_V6_vasrwv, // llvm.hexagon.V6.vasrwv
+ hexagon_V6_vasrwv_128B, // llvm.hexagon.V6.vasrwv.128B
+ hexagon_V6_vassign, // llvm.hexagon.V6.vassign
+ hexagon_V6_vassign_128B, // llvm.hexagon.V6.vassign.128B
+ hexagon_V6_vassignp, // llvm.hexagon.V6.vassignp
+ hexagon_V6_vassignp_128B, // llvm.hexagon.V6.vassignp.128B
+ hexagon_V6_vavgh, // llvm.hexagon.V6.vavgh
+ hexagon_V6_vavgh_128B, // llvm.hexagon.V6.vavgh.128B
+ hexagon_V6_vavghrnd, // llvm.hexagon.V6.vavghrnd
+ hexagon_V6_vavghrnd_128B, // llvm.hexagon.V6.vavghrnd.128B
+ hexagon_V6_vavgub, // llvm.hexagon.V6.vavgub
+ hexagon_V6_vavgub_128B, // llvm.hexagon.V6.vavgub.128B
+ hexagon_V6_vavgubrnd, // llvm.hexagon.V6.vavgubrnd
+ hexagon_V6_vavgubrnd_128B, // llvm.hexagon.V6.vavgubrnd.128B
+ hexagon_V6_vavguh, // llvm.hexagon.V6.vavguh
+ hexagon_V6_vavguh_128B, // llvm.hexagon.V6.vavguh.128B
+ hexagon_V6_vavguhrnd, // llvm.hexagon.V6.vavguhrnd
+ hexagon_V6_vavguhrnd_128B, // llvm.hexagon.V6.vavguhrnd.128B
+ hexagon_V6_vavgw, // llvm.hexagon.V6.vavgw
+ hexagon_V6_vavgw_128B, // llvm.hexagon.V6.vavgw.128B
+ hexagon_V6_vavgwrnd, // llvm.hexagon.V6.vavgwrnd
+ hexagon_V6_vavgwrnd_128B, // llvm.hexagon.V6.vavgwrnd.128B
+ hexagon_V6_vcl0h, // llvm.hexagon.V6.vcl0h
+ hexagon_V6_vcl0h_128B, // llvm.hexagon.V6.vcl0h.128B
+ hexagon_V6_vcl0w, // llvm.hexagon.V6.vcl0w
+ hexagon_V6_vcl0w_128B, // llvm.hexagon.V6.vcl0w.128B
+ hexagon_V6_vcombine, // llvm.hexagon.V6.vcombine
+ hexagon_V6_vcombine_128B, // llvm.hexagon.V6.vcombine.128B
+ hexagon_V6_vd0, // llvm.hexagon.V6.vd0
+ hexagon_V6_vd0_128B, // llvm.hexagon.V6.vd0.128B
+ hexagon_V6_vdealb, // llvm.hexagon.V6.vdealb
+ hexagon_V6_vdealb_128B, // llvm.hexagon.V6.vdealb.128B
+ hexagon_V6_vdealb4w, // llvm.hexagon.V6.vdealb4w
+ hexagon_V6_vdealb4w_128B, // llvm.hexagon.V6.vdealb4w.128B
+ hexagon_V6_vdealh, // llvm.hexagon.V6.vdealh
+ hexagon_V6_vdealh_128B, // llvm.hexagon.V6.vdealh.128B
+ hexagon_V6_vdealvdd, // llvm.hexagon.V6.vdealvdd
+ hexagon_V6_vdealvdd_128B, // llvm.hexagon.V6.vdealvdd.128B
+ hexagon_V6_vdelta, // llvm.hexagon.V6.vdelta
+ hexagon_V6_vdelta_128B, // llvm.hexagon.V6.vdelta.128B
+ hexagon_V6_vdmpybus, // llvm.hexagon.V6.vdmpybus
+ hexagon_V6_vdmpybus_128B, // llvm.hexagon.V6.vdmpybus.128B
+ hexagon_V6_vdmpybus_acc, // llvm.hexagon.V6.vdmpybus.acc
+ hexagon_V6_vdmpybus_acc_128B, // llvm.hexagon.V6.vdmpybus.acc.128B
+ hexagon_V6_vdmpybus_dv, // llvm.hexagon.V6.vdmpybus.dv
+ hexagon_V6_vdmpybus_dv_128B, // llvm.hexagon.V6.vdmpybus.dv.128B
+ hexagon_V6_vdmpybus_dv_acc, // llvm.hexagon.V6.vdmpybus.dv.acc
+ hexagon_V6_vdmpybus_dv_acc_128B, // llvm.hexagon.V6.vdmpybus.dv.acc.128B
+ hexagon_V6_vdmpyhb, // llvm.hexagon.V6.vdmpyhb
+ hexagon_V6_vdmpyhb_128B, // llvm.hexagon.V6.vdmpyhb.128B
+ hexagon_V6_vdmpyhb_acc, // llvm.hexagon.V6.vdmpyhb.acc
+ hexagon_V6_vdmpyhb_acc_128B, // llvm.hexagon.V6.vdmpyhb.acc.128B
+ hexagon_V6_vdmpyhb_dv, // llvm.hexagon.V6.vdmpyhb.dv
+ hexagon_V6_vdmpyhb_dv_128B, // llvm.hexagon.V6.vdmpyhb.dv.128B
+ hexagon_V6_vdmpyhb_dv_acc, // llvm.hexagon.V6.vdmpyhb.dv.acc
+ hexagon_V6_vdmpyhb_dv_acc_128B, // llvm.hexagon.V6.vdmpyhb.dv.acc.128B
+ hexagon_V6_vdmpyhisat, // llvm.hexagon.V6.vdmpyhisat
+ hexagon_V6_vdmpyhisat_128B, // llvm.hexagon.V6.vdmpyhisat.128B
+ hexagon_V6_vdmpyhisat_acc, // llvm.hexagon.V6.vdmpyhisat.acc
+ hexagon_V6_vdmpyhisat_acc_128B, // llvm.hexagon.V6.vdmpyhisat.acc.128B
+ hexagon_V6_vdmpyhsat, // llvm.hexagon.V6.vdmpyhsat
+ hexagon_V6_vdmpyhsat_128B, // llvm.hexagon.V6.vdmpyhsat.128B
+ hexagon_V6_vdmpyhsat_acc, // llvm.hexagon.V6.vdmpyhsat.acc
+ hexagon_V6_vdmpyhsat_acc_128B, // llvm.hexagon.V6.vdmpyhsat.acc.128B
+ hexagon_V6_vdmpyhsuisat, // llvm.hexagon.V6.vdmpyhsuisat
+ hexagon_V6_vdmpyhsuisat_128B, // llvm.hexagon.V6.vdmpyhsuisat.128B
+ hexagon_V6_vdmpyhsuisat_acc, // llvm.hexagon.V6.vdmpyhsuisat.acc
+ hexagon_V6_vdmpyhsuisat_acc_128B, // llvm.hexagon.V6.vdmpyhsuisat.acc.128B
+ hexagon_V6_vdmpyhsusat, // llvm.hexagon.V6.vdmpyhsusat
+ hexagon_V6_vdmpyhsusat_128B, // llvm.hexagon.V6.vdmpyhsusat.128B
+ hexagon_V6_vdmpyhsusat_acc, // llvm.hexagon.V6.vdmpyhsusat.acc
+ hexagon_V6_vdmpyhsusat_acc_128B, // llvm.hexagon.V6.vdmpyhsusat.acc.128B
+ hexagon_V6_vdmpyhvsat, // llvm.hexagon.V6.vdmpyhvsat
+ hexagon_V6_vdmpyhvsat_128B, // llvm.hexagon.V6.vdmpyhvsat.128B
+ hexagon_V6_vdmpyhvsat_acc, // llvm.hexagon.V6.vdmpyhvsat.acc
+ hexagon_V6_vdmpyhvsat_acc_128B, // llvm.hexagon.V6.vdmpyhvsat.acc.128B
+ hexagon_V6_vdsaduh, // llvm.hexagon.V6.vdsaduh
+ hexagon_V6_vdsaduh_128B, // llvm.hexagon.V6.vdsaduh.128B
+ hexagon_V6_vdsaduh_acc, // llvm.hexagon.V6.vdsaduh.acc
+ hexagon_V6_vdsaduh_acc_128B, // llvm.hexagon.V6.vdsaduh.acc.128B
+ hexagon_V6_veqb, // llvm.hexagon.V6.veqb
+ hexagon_V6_veqb_128B, // llvm.hexagon.V6.veqb.128B
+ hexagon_V6_veqb_and, // llvm.hexagon.V6.veqb.and
+ hexagon_V6_veqb_and_128B, // llvm.hexagon.V6.veqb.and.128B
+ hexagon_V6_veqb_or, // llvm.hexagon.V6.veqb.or
+ hexagon_V6_veqb_or_128B, // llvm.hexagon.V6.veqb.or.128B
+ hexagon_V6_veqb_xor, // llvm.hexagon.V6.veqb.xor
+ hexagon_V6_veqb_xor_128B, // llvm.hexagon.V6.veqb.xor.128B
+ hexagon_V6_veqh, // llvm.hexagon.V6.veqh
+ hexagon_V6_veqh_128B, // llvm.hexagon.V6.veqh.128B
+ hexagon_V6_veqh_and, // llvm.hexagon.V6.veqh.and
+ hexagon_V6_veqh_and_128B, // llvm.hexagon.V6.veqh.and.128B
+ hexagon_V6_veqh_or, // llvm.hexagon.V6.veqh.or
+ hexagon_V6_veqh_or_128B, // llvm.hexagon.V6.veqh.or.128B
+ hexagon_V6_veqh_xor, // llvm.hexagon.V6.veqh.xor
+ hexagon_V6_veqh_xor_128B, // llvm.hexagon.V6.veqh.xor.128B
+ hexagon_V6_veqw, // llvm.hexagon.V6.veqw
+ hexagon_V6_veqw_128B, // llvm.hexagon.V6.veqw.128B
+ hexagon_V6_veqw_and, // llvm.hexagon.V6.veqw.and
+ hexagon_V6_veqw_and_128B, // llvm.hexagon.V6.veqw.and.128B
+ hexagon_V6_veqw_or, // llvm.hexagon.V6.veqw.or
+ hexagon_V6_veqw_or_128B, // llvm.hexagon.V6.veqw.or.128B
+ hexagon_V6_veqw_xor, // llvm.hexagon.V6.veqw.xor
+ hexagon_V6_veqw_xor_128B, // llvm.hexagon.V6.veqw.xor.128B
+ hexagon_V6_vgtb, // llvm.hexagon.V6.vgtb
+ hexagon_V6_vgtb_128B, // llvm.hexagon.V6.vgtb.128B
+ hexagon_V6_vgtb_and, // llvm.hexagon.V6.vgtb.and
+ hexagon_V6_vgtb_and_128B, // llvm.hexagon.V6.vgtb.and.128B
+ hexagon_V6_vgtb_or, // llvm.hexagon.V6.vgtb.or
+ hexagon_V6_vgtb_or_128B, // llvm.hexagon.V6.vgtb.or.128B
+ hexagon_V6_vgtb_xor, // llvm.hexagon.V6.vgtb.xor
+ hexagon_V6_vgtb_xor_128B, // llvm.hexagon.V6.vgtb.xor.128B
+ hexagon_V6_vgth, // llvm.hexagon.V6.vgth
+ hexagon_V6_vgth_128B, // llvm.hexagon.V6.vgth.128B
+ hexagon_V6_vgth_and, // llvm.hexagon.V6.vgth.and
+ hexagon_V6_vgth_and_128B, // llvm.hexagon.V6.vgth.and.128B
+ hexagon_V6_vgth_or, // llvm.hexagon.V6.vgth.or
+ hexagon_V6_vgth_or_128B, // llvm.hexagon.V6.vgth.or.128B
+ hexagon_V6_vgth_xor, // llvm.hexagon.V6.vgth.xor
+ hexagon_V6_vgth_xor_128B, // llvm.hexagon.V6.vgth.xor.128B
+ hexagon_V6_vgtub, // llvm.hexagon.V6.vgtub
+ hexagon_V6_vgtub_128B, // llvm.hexagon.V6.vgtub.128B
+ hexagon_V6_vgtub_and, // llvm.hexagon.V6.vgtub.and
+ hexagon_V6_vgtub_and_128B, // llvm.hexagon.V6.vgtub.and.128B
+ hexagon_V6_vgtub_or, // llvm.hexagon.V6.vgtub.or
+ hexagon_V6_vgtub_or_128B, // llvm.hexagon.V6.vgtub.or.128B
+ hexagon_V6_vgtub_xor, // llvm.hexagon.V6.vgtub.xor
+ hexagon_V6_vgtub_xor_128B, // llvm.hexagon.V6.vgtub.xor.128B
+ hexagon_V6_vgtuh, // llvm.hexagon.V6.vgtuh
+ hexagon_V6_vgtuh_128B, // llvm.hexagon.V6.vgtuh.128B
+ hexagon_V6_vgtuh_and, // llvm.hexagon.V6.vgtuh.and
+ hexagon_V6_vgtuh_and_128B, // llvm.hexagon.V6.vgtuh.and.128B
+ hexagon_V6_vgtuh_or, // llvm.hexagon.V6.vgtuh.or
+ hexagon_V6_vgtuh_or_128B, // llvm.hexagon.V6.vgtuh.or.128B
+ hexagon_V6_vgtuh_xor, // llvm.hexagon.V6.vgtuh.xor
+ hexagon_V6_vgtuh_xor_128B, // llvm.hexagon.V6.vgtuh.xor.128B
+ hexagon_V6_vgtuw, // llvm.hexagon.V6.vgtuw
+ hexagon_V6_vgtuw_128B, // llvm.hexagon.V6.vgtuw.128B
+ hexagon_V6_vgtuw_and, // llvm.hexagon.V6.vgtuw.and
+ hexagon_V6_vgtuw_and_128B, // llvm.hexagon.V6.vgtuw.and.128B
+ hexagon_V6_vgtuw_or, // llvm.hexagon.V6.vgtuw.or
+ hexagon_V6_vgtuw_or_128B, // llvm.hexagon.V6.vgtuw.or.128B
+ hexagon_V6_vgtuw_xor, // llvm.hexagon.V6.vgtuw.xor
+ hexagon_V6_vgtuw_xor_128B, // llvm.hexagon.V6.vgtuw.xor.128B
+ hexagon_V6_vgtw, // llvm.hexagon.V6.vgtw
+ hexagon_V6_vgtw_128B, // llvm.hexagon.V6.vgtw.128B
+ hexagon_V6_vgtw_and, // llvm.hexagon.V6.vgtw.and
+ hexagon_V6_vgtw_and_128B, // llvm.hexagon.V6.vgtw.and.128B
+ hexagon_V6_vgtw_or, // llvm.hexagon.V6.vgtw.or
+ hexagon_V6_vgtw_or_128B, // llvm.hexagon.V6.vgtw.or.128B
+ hexagon_V6_vgtw_xor, // llvm.hexagon.V6.vgtw.xor
+ hexagon_V6_vgtw_xor_128B, // llvm.hexagon.V6.vgtw.xor.128B
+ hexagon_V6_vinsertwr, // llvm.hexagon.V6.vinsertwr
+ hexagon_V6_vinsertwr_128B, // llvm.hexagon.V6.vinsertwr.128B
+ hexagon_V6_vlalignb, // llvm.hexagon.V6.vlalignb
+ hexagon_V6_vlalignb_128B, // llvm.hexagon.V6.vlalignb.128B
+ hexagon_V6_vlalignbi, // llvm.hexagon.V6.vlalignbi
+ hexagon_V6_vlalignbi_128B, // llvm.hexagon.V6.vlalignbi.128B
+ hexagon_V6_vlsrh, // llvm.hexagon.V6.vlsrh
+ hexagon_V6_vlsrh_128B, // llvm.hexagon.V6.vlsrh.128B
+ hexagon_V6_vlsrhv, // llvm.hexagon.V6.vlsrhv
+ hexagon_V6_vlsrhv_128B, // llvm.hexagon.V6.vlsrhv.128B
+ hexagon_V6_vlsrw, // llvm.hexagon.V6.vlsrw
+ hexagon_V6_vlsrw_128B, // llvm.hexagon.V6.vlsrw.128B
+ hexagon_V6_vlsrwv, // llvm.hexagon.V6.vlsrwv
+ hexagon_V6_vlsrwv_128B, // llvm.hexagon.V6.vlsrwv.128B
+ hexagon_V6_vlutb, // llvm.hexagon.V6.vlutb
+ hexagon_V6_vlutb_128B, // llvm.hexagon.V6.vlutb.128B
+ hexagon_V6_vlutb_acc, // llvm.hexagon.V6.vlutb.acc
+ hexagon_V6_vlutb_acc_128B, // llvm.hexagon.V6.vlutb.acc.128B
+ hexagon_V6_vlutb_dv, // llvm.hexagon.V6.vlutb.dv
+ hexagon_V6_vlutb_dv_128B, // llvm.hexagon.V6.vlutb.dv.128B
+ hexagon_V6_vlutb_dv_acc, // llvm.hexagon.V6.vlutb.dv.acc
+ hexagon_V6_vlutb_dv_acc_128B, // llvm.hexagon.V6.vlutb.dv.acc.128B
+ hexagon_V6_vlutvvb, // llvm.hexagon.V6.vlutvvb
+ hexagon_V6_vlutvvb_128B, // llvm.hexagon.V6.vlutvvb.128B
+ hexagon_V6_vlutvvb_oracc, // llvm.hexagon.V6.vlutvvb.oracc
+ hexagon_V6_vlutvvb_oracc_128B, // llvm.hexagon.V6.vlutvvb.oracc.128B
+ hexagon_V6_vlutvwh, // llvm.hexagon.V6.vlutvwh
+ hexagon_V6_vlutvwh_128B, // llvm.hexagon.V6.vlutvwh.128B
+ hexagon_V6_vlutvwh_oracc, // llvm.hexagon.V6.vlutvwh.oracc
+ hexagon_V6_vlutvwh_oracc_128B, // llvm.hexagon.V6.vlutvwh.oracc.128B
+ hexagon_V6_vmaxh, // llvm.hexagon.V6.vmaxh
+ hexagon_V6_vmaxh_128B, // llvm.hexagon.V6.vmaxh.128B
+ hexagon_V6_vmaxub, // llvm.hexagon.V6.vmaxub
+ hexagon_V6_vmaxub_128B, // llvm.hexagon.V6.vmaxub.128B
+ hexagon_V6_vmaxuh, // llvm.hexagon.V6.vmaxuh
+ hexagon_V6_vmaxuh_128B, // llvm.hexagon.V6.vmaxuh.128B
+ hexagon_V6_vmaxw, // llvm.hexagon.V6.vmaxw
+ hexagon_V6_vmaxw_128B, // llvm.hexagon.V6.vmaxw.128B
+ hexagon_V6_vminh, // llvm.hexagon.V6.vminh
+ hexagon_V6_vminh_128B, // llvm.hexagon.V6.vminh.128B
+ hexagon_V6_vminub, // llvm.hexagon.V6.vminub
+ hexagon_V6_vminub_128B, // llvm.hexagon.V6.vminub.128B
+ hexagon_V6_vminuh, // llvm.hexagon.V6.vminuh
+ hexagon_V6_vminuh_128B, // llvm.hexagon.V6.vminuh.128B
+ hexagon_V6_vminw, // llvm.hexagon.V6.vminw
+ hexagon_V6_vminw_128B, // llvm.hexagon.V6.vminw.128B
+ hexagon_V6_vmpabus, // llvm.hexagon.V6.vmpabus
+ hexagon_V6_vmpabus_128B, // llvm.hexagon.V6.vmpabus.128B
+ hexagon_V6_vmpabus_acc, // llvm.hexagon.V6.vmpabus.acc
+ hexagon_V6_vmpabus_acc_128B, // llvm.hexagon.V6.vmpabus.acc.128B
+ hexagon_V6_vmpabusv, // llvm.hexagon.V6.vmpabusv
+ hexagon_V6_vmpabusv_128B, // llvm.hexagon.V6.vmpabusv.128B
+ hexagon_V6_vmpabuuv, // llvm.hexagon.V6.vmpabuuv
+ hexagon_V6_vmpabuuv_128B, // llvm.hexagon.V6.vmpabuuv.128B
+ hexagon_V6_vmpahb, // llvm.hexagon.V6.vmpahb
+ hexagon_V6_vmpahb_128B, // llvm.hexagon.V6.vmpahb.128B
+ hexagon_V6_vmpahb_acc, // llvm.hexagon.V6.vmpahb.acc
+ hexagon_V6_vmpahb_acc_128B, // llvm.hexagon.V6.vmpahb.acc.128B
+ hexagon_V6_vmpybus, // llvm.hexagon.V6.vmpybus
+ hexagon_V6_vmpybus_128B, // llvm.hexagon.V6.vmpybus.128B
+ hexagon_V6_vmpybus_acc, // llvm.hexagon.V6.vmpybus.acc
+ hexagon_V6_vmpybus_acc_128B, // llvm.hexagon.V6.vmpybus.acc.128B
+ hexagon_V6_vmpybusv, // llvm.hexagon.V6.vmpybusv
+ hexagon_V6_vmpybusv_128B, // llvm.hexagon.V6.vmpybusv.128B
+ hexagon_V6_vmpybusv_acc, // llvm.hexagon.V6.vmpybusv.acc
+ hexagon_V6_vmpybusv_acc_128B, // llvm.hexagon.V6.vmpybusv.acc.128B
+ hexagon_V6_vmpybv, // llvm.hexagon.V6.vmpybv
+ hexagon_V6_vmpybv_128B, // llvm.hexagon.V6.vmpybv.128B
+ hexagon_V6_vmpybv_acc, // llvm.hexagon.V6.vmpybv.acc
+ hexagon_V6_vmpybv_acc_128B, // llvm.hexagon.V6.vmpybv.acc.128B
+ hexagon_V6_vmpyewuh, // llvm.hexagon.V6.vmpyewuh
+ hexagon_V6_vmpyewuh_128B, // llvm.hexagon.V6.vmpyewuh.128B
+ hexagon_V6_vmpyh, // llvm.hexagon.V6.vmpyh
+ hexagon_V6_vmpyh_128B, // llvm.hexagon.V6.vmpyh.128B
+ hexagon_V6_vmpyhsat_acc, // llvm.hexagon.V6.vmpyhsat.acc
+ hexagon_V6_vmpyhsat_acc_128B, // llvm.hexagon.V6.vmpyhsat.acc.128B
+ hexagon_V6_vmpyhsrs, // llvm.hexagon.V6.vmpyhsrs
+ hexagon_V6_vmpyhsrs_128B, // llvm.hexagon.V6.vmpyhsrs.128B
+ hexagon_V6_vmpyhss, // llvm.hexagon.V6.vmpyhss
+ hexagon_V6_vmpyhss_128B, // llvm.hexagon.V6.vmpyhss.128B
+ hexagon_V6_vmpyhus, // llvm.hexagon.V6.vmpyhus
+ hexagon_V6_vmpyhus_128B, // llvm.hexagon.V6.vmpyhus.128B
+ hexagon_V6_vmpyhus_acc, // llvm.hexagon.V6.vmpyhus.acc
+ hexagon_V6_vmpyhus_acc_128B, // llvm.hexagon.V6.vmpyhus.acc.128B
+ hexagon_V6_vmpyhv, // llvm.hexagon.V6.vmpyhv
+ hexagon_V6_vmpyhv_128B, // llvm.hexagon.V6.vmpyhv.128B
+ hexagon_V6_vmpyhv_acc, // llvm.hexagon.V6.vmpyhv.acc
+ hexagon_V6_vmpyhv_acc_128B, // llvm.hexagon.V6.vmpyhv.acc.128B
+ hexagon_V6_vmpyhvsrs, // llvm.hexagon.V6.vmpyhvsrs
+ hexagon_V6_vmpyhvsrs_128B, // llvm.hexagon.V6.vmpyhvsrs.128B
+ hexagon_V6_vmpyieoh, // llvm.hexagon.V6.vmpyieoh
+ hexagon_V6_vmpyieoh_128B, // llvm.hexagon.V6.vmpyieoh.128B
+ hexagon_V6_vmpyiewh_acc, // llvm.hexagon.V6.vmpyiewh.acc
+ hexagon_V6_vmpyiewh_acc_128B, // llvm.hexagon.V6.vmpyiewh.acc.128B
+ hexagon_V6_vmpyiewuh, // llvm.hexagon.V6.vmpyiewuh
+ hexagon_V6_vmpyiewuh_128B, // llvm.hexagon.V6.vmpyiewuh.128B
+ hexagon_V6_vmpyiewuh_acc, // llvm.hexagon.V6.vmpyiewuh.acc
+ hexagon_V6_vmpyiewuh_acc_128B, // llvm.hexagon.V6.vmpyiewuh.acc.128B
+ hexagon_V6_vmpyih, // llvm.hexagon.V6.vmpyih
+ hexagon_V6_vmpyih_128B, // llvm.hexagon.V6.vmpyih.128B
+ hexagon_V6_vmpyih_acc, // llvm.hexagon.V6.vmpyih.acc
+ hexagon_V6_vmpyih_acc_128B, // llvm.hexagon.V6.vmpyih.acc.128B
+ hexagon_V6_vmpyihb, // llvm.hexagon.V6.vmpyihb
+ hexagon_V6_vmpyihb_128B, // llvm.hexagon.V6.vmpyihb.128B
+ hexagon_V6_vmpyihb_acc, // llvm.hexagon.V6.vmpyihb.acc
+ hexagon_V6_vmpyihb_acc_128B, // llvm.hexagon.V6.vmpyihb.acc.128B
+ hexagon_V6_vmpyiowh, // llvm.hexagon.V6.vmpyiowh
+ hexagon_V6_vmpyiowh_128B, // llvm.hexagon.V6.vmpyiowh.128B
+ hexagon_V6_vmpyiwb, // llvm.hexagon.V6.vmpyiwb
+ hexagon_V6_vmpyiwb_128B, // llvm.hexagon.V6.vmpyiwb.128B
+ hexagon_V6_vmpyiwb_acc, // llvm.hexagon.V6.vmpyiwb.acc
+ hexagon_V6_vmpyiwb_acc_128B, // llvm.hexagon.V6.vmpyiwb.acc.128B
+ hexagon_V6_vmpyiwh, // llvm.hexagon.V6.vmpyiwh
+ hexagon_V6_vmpyiwh_128B, // llvm.hexagon.V6.vmpyiwh.128B
+ hexagon_V6_vmpyiwh_acc, // llvm.hexagon.V6.vmpyiwh.acc
+ hexagon_V6_vmpyiwh_acc_128B, // llvm.hexagon.V6.vmpyiwh.acc.128B
+ hexagon_V6_vmpyowh, // llvm.hexagon.V6.vmpyowh
+ hexagon_V6_vmpyowh_128B, // llvm.hexagon.V6.vmpyowh.128B
+ hexagon_V6_vmpyowh_rnd, // llvm.hexagon.V6.vmpyowh.rnd
+ hexagon_V6_vmpyowh_rnd_128B, // llvm.hexagon.V6.vmpyowh.rnd.128B
+ hexagon_V6_vmpyowh_rnd_sacc, // llvm.hexagon.V6.vmpyowh.rnd.sacc
+ hexagon_V6_vmpyowh_rnd_sacc_128B, // llvm.hexagon.V6.vmpyowh.rnd.sacc.128B
+ hexagon_V6_vmpyowh_sacc, // llvm.hexagon.V6.vmpyowh.sacc
+ hexagon_V6_vmpyowh_sacc_128B, // llvm.hexagon.V6.vmpyowh.sacc.128B
+ hexagon_V6_vmpyub, // llvm.hexagon.V6.vmpyub
+ hexagon_V6_vmpyub_128B, // llvm.hexagon.V6.vmpyub.128B
+ hexagon_V6_vmpyub_acc, // llvm.hexagon.V6.vmpyub.acc
+ hexagon_V6_vmpyub_acc_128B, // llvm.hexagon.V6.vmpyub.acc.128B
+ hexagon_V6_vmpyubv, // llvm.hexagon.V6.vmpyubv
+ hexagon_V6_vmpyubv_128B, // llvm.hexagon.V6.vmpyubv.128B
+ hexagon_V6_vmpyubv_acc, // llvm.hexagon.V6.vmpyubv.acc
+ hexagon_V6_vmpyubv_acc_128B, // llvm.hexagon.V6.vmpyubv.acc.128B
+ hexagon_V6_vmpyuh, // llvm.hexagon.V6.vmpyuh
+ hexagon_V6_vmpyuh_128B, // llvm.hexagon.V6.vmpyuh.128B
+ hexagon_V6_vmpyuh_acc, // llvm.hexagon.V6.vmpyuh.acc
+ hexagon_V6_vmpyuh_acc_128B, // llvm.hexagon.V6.vmpyuh.acc.128B
+ hexagon_V6_vmpyuhv, // llvm.hexagon.V6.vmpyuhv
+ hexagon_V6_vmpyuhv_128B, // llvm.hexagon.V6.vmpyuhv.128B
+ hexagon_V6_vmpyuhv_acc, // llvm.hexagon.V6.vmpyuhv.acc
+ hexagon_V6_vmpyuhv_acc_128B, // llvm.hexagon.V6.vmpyuhv.acc.128B
+ hexagon_V6_vmux, // llvm.hexagon.V6.vmux
+ hexagon_V6_vmux_128B, // llvm.hexagon.V6.vmux.128B
+ hexagon_V6_vnavgh, // llvm.hexagon.V6.vnavgh
+ hexagon_V6_vnavgh_128B, // llvm.hexagon.V6.vnavgh.128B
+ hexagon_V6_vnavgub, // llvm.hexagon.V6.vnavgub
+ hexagon_V6_vnavgub_128B, // llvm.hexagon.V6.vnavgub.128B
+ hexagon_V6_vnavgw, // llvm.hexagon.V6.vnavgw
+ hexagon_V6_vnavgw_128B, // llvm.hexagon.V6.vnavgw.128B
+ hexagon_V6_vnormamth, // llvm.hexagon.V6.vnormamth
+ hexagon_V6_vnormamth_128B, // llvm.hexagon.V6.vnormamth.128B
+ hexagon_V6_vnormamtw, // llvm.hexagon.V6.vnormamtw
+ hexagon_V6_vnormamtw_128B, // llvm.hexagon.V6.vnormamtw.128B
+ hexagon_V6_vnot, // llvm.hexagon.V6.vnot
+ hexagon_V6_vnot_128B, // llvm.hexagon.V6.vnot.128B
+ hexagon_V6_vor, // llvm.hexagon.V6.vor
+ hexagon_V6_vor_128B, // llvm.hexagon.V6.vor.128B
+ hexagon_V6_vpackeb, // llvm.hexagon.V6.vpackeb
+ hexagon_V6_vpackeb_128B, // llvm.hexagon.V6.vpackeb.128B
+ hexagon_V6_vpackeh, // llvm.hexagon.V6.vpackeh
+ hexagon_V6_vpackeh_128B, // llvm.hexagon.V6.vpackeh.128B
+ hexagon_V6_vpackhb_sat, // llvm.hexagon.V6.vpackhb.sat
+ hexagon_V6_vpackhb_sat_128B, // llvm.hexagon.V6.vpackhb.sat.128B
+ hexagon_V6_vpackhub_sat, // llvm.hexagon.V6.vpackhub.sat
+ hexagon_V6_vpackhub_sat_128B, // llvm.hexagon.V6.vpackhub.sat.128B
+ hexagon_V6_vpackob, // llvm.hexagon.V6.vpackob
+ hexagon_V6_vpackob_128B, // llvm.hexagon.V6.vpackob.128B
+ hexagon_V6_vpackoh, // llvm.hexagon.V6.vpackoh
+ hexagon_V6_vpackoh_128B, // llvm.hexagon.V6.vpackoh.128B
+ hexagon_V6_vpackwh_sat, // llvm.hexagon.V6.vpackwh.sat
+ hexagon_V6_vpackwh_sat_128B, // llvm.hexagon.V6.vpackwh.sat.128B
+ hexagon_V6_vpackwuh_sat, // llvm.hexagon.V6.vpackwuh.sat
+ hexagon_V6_vpackwuh_sat_128B, // llvm.hexagon.V6.vpackwuh.sat.128B
+ hexagon_V6_vpopcounth, // llvm.hexagon.V6.vpopcounth
+ hexagon_V6_vpopcounth_128B, // llvm.hexagon.V6.vpopcounth.128B
+ hexagon_V6_vrdelta, // llvm.hexagon.V6.vrdelta
+ hexagon_V6_vrdelta_128B, // llvm.hexagon.V6.vrdelta.128B
+ hexagon_V6_vrmpybus, // llvm.hexagon.V6.vrmpybus
+ hexagon_V6_vrmpybus_128B, // llvm.hexagon.V6.vrmpybus.128B
+ hexagon_V6_vrmpybus_acc, // llvm.hexagon.V6.vrmpybus.acc
+ hexagon_V6_vrmpybus_acc_128B, // llvm.hexagon.V6.vrmpybus.acc.128B
+ hexagon_V6_vrmpybusi, // llvm.hexagon.V6.vrmpybusi
+ hexagon_V6_vrmpybusi_128B, // llvm.hexagon.V6.vrmpybusi.128B
+ hexagon_V6_vrmpybusi_acc, // llvm.hexagon.V6.vrmpybusi.acc
+ hexagon_V6_vrmpybusi_acc_128B, // llvm.hexagon.V6.vrmpybusi.acc.128B
+ hexagon_V6_vrmpybusv, // llvm.hexagon.V6.vrmpybusv
+ hexagon_V6_vrmpybusv_128B, // llvm.hexagon.V6.vrmpybusv.128B
+ hexagon_V6_vrmpybusv_acc, // llvm.hexagon.V6.vrmpybusv.acc
+ hexagon_V6_vrmpybusv_acc_128B, // llvm.hexagon.V6.vrmpybusv.acc.128B
+ hexagon_V6_vrmpybv, // llvm.hexagon.V6.vrmpybv
+ hexagon_V6_vrmpybv_128B, // llvm.hexagon.V6.vrmpybv.128B
+ hexagon_V6_vrmpybv_acc, // llvm.hexagon.V6.vrmpybv.acc
+ hexagon_V6_vrmpybv_acc_128B, // llvm.hexagon.V6.vrmpybv.acc.128B
+ hexagon_V6_vrmpyub, // llvm.hexagon.V6.vrmpyub
+ hexagon_V6_vrmpyub_128B, // llvm.hexagon.V6.vrmpyub.128B
+ hexagon_V6_vrmpyub_acc, // llvm.hexagon.V6.vrmpyub.acc
+ hexagon_V6_vrmpyub_acc_128B, // llvm.hexagon.V6.vrmpyub.acc.128B
+ hexagon_V6_vrmpyubi, // llvm.hexagon.V6.vrmpyubi
+ hexagon_V6_vrmpyubi_128B, // llvm.hexagon.V6.vrmpyubi.128B
+ hexagon_V6_vrmpyubi_acc, // llvm.hexagon.V6.vrmpyubi.acc
+ hexagon_V6_vrmpyubi_acc_128B, // llvm.hexagon.V6.vrmpyubi.acc.128B
+ hexagon_V6_vrmpyubv, // llvm.hexagon.V6.vrmpyubv
+ hexagon_V6_vrmpyubv_128B, // llvm.hexagon.V6.vrmpyubv.128B
+ hexagon_V6_vrmpyubv_acc, // llvm.hexagon.V6.vrmpyubv.acc
+ hexagon_V6_vrmpyubv_acc_128B, // llvm.hexagon.V6.vrmpyubv.acc.128B
+ hexagon_V6_vror, // llvm.hexagon.V6.vror
+ hexagon_V6_vror_128B, // llvm.hexagon.V6.vror.128B
+ hexagon_V6_vroundhb, // llvm.hexagon.V6.vroundhb
+ hexagon_V6_vroundhb_128B, // llvm.hexagon.V6.vroundhb.128B
+ hexagon_V6_vroundhub, // llvm.hexagon.V6.vroundhub
+ hexagon_V6_vroundhub_128B, // llvm.hexagon.V6.vroundhub.128B
+ hexagon_V6_vroundwh, // llvm.hexagon.V6.vroundwh
+ hexagon_V6_vroundwh_128B, // llvm.hexagon.V6.vroundwh.128B
+ hexagon_V6_vroundwuh, // llvm.hexagon.V6.vroundwuh
+ hexagon_V6_vroundwuh_128B, // llvm.hexagon.V6.vroundwuh.128B
+ hexagon_V6_vrsadubi, // llvm.hexagon.V6.vrsadubi
+ hexagon_V6_vrsadubi_128B, // llvm.hexagon.V6.vrsadubi.128B
+ hexagon_V6_vrsadubi_acc, // llvm.hexagon.V6.vrsadubi.acc
+ hexagon_V6_vrsadubi_acc_128B, // llvm.hexagon.V6.vrsadubi.acc.128B
+ hexagon_V6_vsathub, // llvm.hexagon.V6.vsathub
+ hexagon_V6_vsathub_128B, // llvm.hexagon.V6.vsathub.128B
+ hexagon_V6_vsatwh, // llvm.hexagon.V6.vsatwh
+ hexagon_V6_vsatwh_128B, // llvm.hexagon.V6.vsatwh.128B
+ hexagon_V6_vsb, // llvm.hexagon.V6.vsb
+ hexagon_V6_vsb_128B, // llvm.hexagon.V6.vsb.128B
+ hexagon_V6_vsh, // llvm.hexagon.V6.vsh
+ hexagon_V6_vsh_128B, // llvm.hexagon.V6.vsh.128B
+ hexagon_V6_vshufeh, // llvm.hexagon.V6.vshufeh
+ hexagon_V6_vshufeh_128B, // llvm.hexagon.V6.vshufeh.128B
+ hexagon_V6_vshuffb, // llvm.hexagon.V6.vshuffb
+ hexagon_V6_vshuffb_128B, // llvm.hexagon.V6.vshuffb.128B
+ hexagon_V6_vshuffeb, // llvm.hexagon.V6.vshuffeb
+ hexagon_V6_vshuffeb_128B, // llvm.hexagon.V6.vshuffeb.128B
+ hexagon_V6_vshuffh, // llvm.hexagon.V6.vshuffh
+ hexagon_V6_vshuffh_128B, // llvm.hexagon.V6.vshuffh.128B
+ hexagon_V6_vshuffob, // llvm.hexagon.V6.vshuffob
+ hexagon_V6_vshuffob_128B, // llvm.hexagon.V6.vshuffob.128B
+ hexagon_V6_vshuffvdd, // llvm.hexagon.V6.vshuffvdd
+ hexagon_V6_vshuffvdd_128B, // llvm.hexagon.V6.vshuffvdd.128B
+ hexagon_V6_vshufoeb, // llvm.hexagon.V6.vshufoeb
+ hexagon_V6_vshufoeb_128B, // llvm.hexagon.V6.vshufoeb.128B
+ hexagon_V6_vshufoeh, // llvm.hexagon.V6.vshufoeh
+ hexagon_V6_vshufoeh_128B, // llvm.hexagon.V6.vshufoeh.128B
+ hexagon_V6_vshufoh, // llvm.hexagon.V6.vshufoh
+ hexagon_V6_vshufoh_128B, // llvm.hexagon.V6.vshufoh.128B
+ hexagon_V6_vsubb, // llvm.hexagon.V6.vsubb
+ hexagon_V6_vsubb_128B, // llvm.hexagon.V6.vsubb.128B
+ hexagon_V6_vsubb_dv, // llvm.hexagon.V6.vsubb.dv
+ hexagon_V6_vsubb_dv_128B, // llvm.hexagon.V6.vsubb.dv.128B
+ hexagon_V6_vsubbnq, // llvm.hexagon.V6.vsubbnq
+ hexagon_V6_vsubbnq_128B, // llvm.hexagon.V6.vsubbnq.128B
+ hexagon_V6_vsubbq, // llvm.hexagon.V6.vsubbq
+ hexagon_V6_vsubbq_128B, // llvm.hexagon.V6.vsubbq.128B
+ hexagon_V6_vsubh, // llvm.hexagon.V6.vsubh
+ hexagon_V6_vsubh_128B, // llvm.hexagon.V6.vsubh.128B
+ hexagon_V6_vsubh_dv, // llvm.hexagon.V6.vsubh.dv
+ hexagon_V6_vsubh_dv_128B, // llvm.hexagon.V6.vsubh.dv.128B
+ hexagon_V6_vsubhnq, // llvm.hexagon.V6.vsubhnq
+ hexagon_V6_vsubhnq_128B, // llvm.hexagon.V6.vsubhnq.128B
+ hexagon_V6_vsubhq, // llvm.hexagon.V6.vsubhq
+ hexagon_V6_vsubhq_128B, // llvm.hexagon.V6.vsubhq.128B
+ hexagon_V6_vsubhsat, // llvm.hexagon.V6.vsubhsat
+ hexagon_V6_vsubhsat_128B, // llvm.hexagon.V6.vsubhsat.128B
+ hexagon_V6_vsubhsat_dv, // llvm.hexagon.V6.vsubhsat.dv
+ hexagon_V6_vsubhsat_dv_128B, // llvm.hexagon.V6.vsubhsat.dv.128B
+ hexagon_V6_vsubhw, // llvm.hexagon.V6.vsubhw
+ hexagon_V6_vsubhw_128B, // llvm.hexagon.V6.vsubhw.128B
+ hexagon_V6_vsububh, // llvm.hexagon.V6.vsububh
+ hexagon_V6_vsububh_128B, // llvm.hexagon.V6.vsububh.128B
+ hexagon_V6_vsububsat, // llvm.hexagon.V6.vsububsat
+ hexagon_V6_vsububsat_128B, // llvm.hexagon.V6.vsububsat.128B
+ hexagon_V6_vsububsat_dv, // llvm.hexagon.V6.vsububsat.dv
+ hexagon_V6_vsububsat_dv_128B, // llvm.hexagon.V6.vsububsat.dv.128B
+ hexagon_V6_vsubuhsat, // llvm.hexagon.V6.vsubuhsat
+ hexagon_V6_vsubuhsat_128B, // llvm.hexagon.V6.vsubuhsat.128B
+ hexagon_V6_vsubuhsat_dv, // llvm.hexagon.V6.vsubuhsat.dv
+ hexagon_V6_vsubuhsat_dv_128B, // llvm.hexagon.V6.vsubuhsat.dv.128B
+ hexagon_V6_vsubuhw, // llvm.hexagon.V6.vsubuhw
+ hexagon_V6_vsubuhw_128B, // llvm.hexagon.V6.vsubuhw.128B
+ hexagon_V6_vsubw, // llvm.hexagon.V6.vsubw
+ hexagon_V6_vsubw_128B, // llvm.hexagon.V6.vsubw.128B
+ hexagon_V6_vsubw_dv, // llvm.hexagon.V6.vsubw.dv
+ hexagon_V6_vsubw_dv_128B, // llvm.hexagon.V6.vsubw.dv.128B
+ hexagon_V6_vsubwnq, // llvm.hexagon.V6.vsubwnq
+ hexagon_V6_vsubwnq_128B, // llvm.hexagon.V6.vsubwnq.128B
+ hexagon_V6_vsubwq, // llvm.hexagon.V6.vsubwq
+ hexagon_V6_vsubwq_128B, // llvm.hexagon.V6.vsubwq.128B
+ hexagon_V6_vsubwsat, // llvm.hexagon.V6.vsubwsat
+ hexagon_V6_vsubwsat_128B, // llvm.hexagon.V6.vsubwsat.128B
+ hexagon_V6_vsubwsat_dv, // llvm.hexagon.V6.vsubwsat.dv
+ hexagon_V6_vsubwsat_dv_128B, // llvm.hexagon.V6.vsubwsat.dv.128B
+ hexagon_V6_vswap, // llvm.hexagon.V6.vswap
+ hexagon_V6_vswap_128B, // llvm.hexagon.V6.vswap.128B
+ hexagon_V6_vtmpyb, // llvm.hexagon.V6.vtmpyb
+ hexagon_V6_vtmpyb_128B, // llvm.hexagon.V6.vtmpyb.128B
+ hexagon_V6_vtmpyb_acc, // llvm.hexagon.V6.vtmpyb.acc
+ hexagon_V6_vtmpyb_acc_128B, // llvm.hexagon.V6.vtmpyb.acc.128B
+ hexagon_V6_vtmpybus, // llvm.hexagon.V6.vtmpybus
+ hexagon_V6_vtmpybus_128B, // llvm.hexagon.V6.vtmpybus.128B
+ hexagon_V6_vtmpybus_acc, // llvm.hexagon.V6.vtmpybus.acc
+ hexagon_V6_vtmpybus_acc_128B, // llvm.hexagon.V6.vtmpybus.acc.128B
+ hexagon_V6_vtmpyhb, // llvm.hexagon.V6.vtmpyhb
+ hexagon_V6_vtmpyhb_128B, // llvm.hexagon.V6.vtmpyhb.128B
+ hexagon_V6_vtmpyhb_acc, // llvm.hexagon.V6.vtmpyhb.acc
+ hexagon_V6_vtmpyhb_acc_128B, // llvm.hexagon.V6.vtmpyhb.acc.128B
+ hexagon_V6_vunpackb, // llvm.hexagon.V6.vunpackb
+ hexagon_V6_vunpackb_128B, // llvm.hexagon.V6.vunpackb.128B
+ hexagon_V6_vunpackh, // llvm.hexagon.V6.vunpackh
+ hexagon_V6_vunpackh_128B, // llvm.hexagon.V6.vunpackh.128B
+ hexagon_V6_vunpackob, // llvm.hexagon.V6.vunpackob
+ hexagon_V6_vunpackob_128B, // llvm.hexagon.V6.vunpackob.128B
+ hexagon_V6_vunpackoh, // llvm.hexagon.V6.vunpackoh
+ hexagon_V6_vunpackoh_128B, // llvm.hexagon.V6.vunpackoh.128B
+ hexagon_V6_vunpackub, // llvm.hexagon.V6.vunpackub
+ hexagon_V6_vunpackub_128B, // llvm.hexagon.V6.vunpackub.128B
+ hexagon_V6_vunpackuh, // llvm.hexagon.V6.vunpackuh
+ hexagon_V6_vunpackuh_128B, // llvm.hexagon.V6.vunpackuh.128B
+ hexagon_V6_vxor, // llvm.hexagon.V6.vxor
+ hexagon_V6_vxor_128B, // llvm.hexagon.V6.vxor.128B
+ hexagon_V6_vzb, // llvm.hexagon.V6.vzb
+ hexagon_V6_vzb_128B, // llvm.hexagon.V6.vzb.128B
+ hexagon_V6_vzh, // llvm.hexagon.V6.vzh
+ hexagon_V6_vzh_128B, // llvm.hexagon.V6.vzh.128B
+ hexagon_brev_ldb, // llvm.hexagon.brev.ldb
+ hexagon_brev_ldd, // llvm.hexagon.brev.ldd
+ hexagon_brev_ldh, // llvm.hexagon.brev.ldh
+ hexagon_brev_ldub, // llvm.hexagon.brev.ldub
+ hexagon_brev_lduh, // llvm.hexagon.brev.lduh
+ hexagon_brev_ldw, // llvm.hexagon.brev.ldw
+ hexagon_brev_stb, // llvm.hexagon.brev.stb
+ hexagon_brev_std, // llvm.hexagon.brev.std
+ hexagon_brev_sth, // llvm.hexagon.brev.sth
+ hexagon_brev_sthhi, // llvm.hexagon.brev.sthhi
+ hexagon_brev_stw, // llvm.hexagon.brev.stw
+ hexagon_circ_ldb, // llvm.hexagon.circ.ldb
+ hexagon_circ_ldd, // llvm.hexagon.circ.ldd
+ hexagon_circ_ldh, // llvm.hexagon.circ.ldh
+ hexagon_circ_ldub, // llvm.hexagon.circ.ldub
+ hexagon_circ_lduh, // llvm.hexagon.circ.lduh
+ hexagon_circ_ldw, // llvm.hexagon.circ.ldw
+ hexagon_circ_stb, // llvm.hexagon.circ.stb
+ hexagon_circ_std, // llvm.hexagon.circ.std
+ hexagon_circ_sth, // llvm.hexagon.circ.sth
+ hexagon_circ_sthhi, // llvm.hexagon.circ.sthhi
+ hexagon_circ_stw, // llvm.hexagon.circ.stw
+ hexagon_mm256i_vaddw, // llvm.hexagon.mm256i.vaddw
+ hexagon_prefetch, // llvm.hexagon.prefetch
+ mips_absq_s_ph, // llvm.mips.absq.s.ph
+ mips_absq_s_qb, // llvm.mips.absq.s.qb
+ mips_absq_s_w, // llvm.mips.absq.s.w
+ mips_add_a_b, // llvm.mips.add.a.b
+ mips_add_a_d, // llvm.mips.add.a.d
+ mips_add_a_h, // llvm.mips.add.a.h
+ mips_add_a_w, // llvm.mips.add.a.w
+ mips_addq_ph, // llvm.mips.addq.ph
+ mips_addq_s_ph, // llvm.mips.addq.s.ph
+ mips_addq_s_w, // llvm.mips.addq.s.w
+ mips_addqh_ph, // llvm.mips.addqh.ph
+ mips_addqh_r_ph, // llvm.mips.addqh.r.ph
+ mips_addqh_r_w, // llvm.mips.addqh.r.w
+ mips_addqh_w, // llvm.mips.addqh.w
+ mips_adds_a_b, // llvm.mips.adds.a.b
+ mips_adds_a_d, // llvm.mips.adds.a.d
+ mips_adds_a_h, // llvm.mips.adds.a.h
+ mips_adds_a_w, // llvm.mips.adds.a.w
+ mips_adds_s_b, // llvm.mips.adds.s.b
+ mips_adds_s_d, // llvm.mips.adds.s.d
+ mips_adds_s_h, // llvm.mips.adds.s.h
+ mips_adds_s_w, // llvm.mips.adds.s.w
+ mips_adds_u_b, // llvm.mips.adds.u.b
+ mips_adds_u_d, // llvm.mips.adds.u.d
+ mips_adds_u_h, // llvm.mips.adds.u.h
+ mips_adds_u_w, // llvm.mips.adds.u.w
+ mips_addsc, // llvm.mips.addsc
+ mips_addu_ph, // llvm.mips.addu.ph
+ mips_addu_qb, // llvm.mips.addu.qb
+ mips_addu_s_ph, // llvm.mips.addu.s.ph
+ mips_addu_s_qb, // llvm.mips.addu.s.qb
+ mips_adduh_qb, // llvm.mips.adduh.qb
+ mips_adduh_r_qb, // llvm.mips.adduh.r.qb
+ mips_addv_b, // llvm.mips.addv.b
+ mips_addv_d, // llvm.mips.addv.d
+ mips_addv_h, // llvm.mips.addv.h
+ mips_addv_w, // llvm.mips.addv.w
+ mips_addvi_b, // llvm.mips.addvi.b
+ mips_addvi_d, // llvm.mips.addvi.d
+ mips_addvi_h, // llvm.mips.addvi.h
+ mips_addvi_w, // llvm.mips.addvi.w
+ mips_addwc, // llvm.mips.addwc
+ mips_and_v, // llvm.mips.and.v
+ mips_andi_b, // llvm.mips.andi.b
+ mips_append, // llvm.mips.append
+ mips_asub_s_b, // llvm.mips.asub.s.b
+ mips_asub_s_d, // llvm.mips.asub.s.d
+ mips_asub_s_h, // llvm.mips.asub.s.h
+ mips_asub_s_w, // llvm.mips.asub.s.w
+ mips_asub_u_b, // llvm.mips.asub.u.b
+ mips_asub_u_d, // llvm.mips.asub.u.d
+ mips_asub_u_h, // llvm.mips.asub.u.h
+ mips_asub_u_w, // llvm.mips.asub.u.w
+ mips_ave_s_b, // llvm.mips.ave.s.b
+ mips_ave_s_d, // llvm.mips.ave.s.d
+ mips_ave_s_h, // llvm.mips.ave.s.h
+ mips_ave_s_w, // llvm.mips.ave.s.w
+ mips_ave_u_b, // llvm.mips.ave.u.b
+ mips_ave_u_d, // llvm.mips.ave.u.d
+ mips_ave_u_h, // llvm.mips.ave.u.h
+ mips_ave_u_w, // llvm.mips.ave.u.w
+ mips_aver_s_b, // llvm.mips.aver.s.b
+ mips_aver_s_d, // llvm.mips.aver.s.d
+ mips_aver_s_h, // llvm.mips.aver.s.h
+ mips_aver_s_w, // llvm.mips.aver.s.w
+ mips_aver_u_b, // llvm.mips.aver.u.b
+ mips_aver_u_d, // llvm.mips.aver.u.d
+ mips_aver_u_h, // llvm.mips.aver.u.h
+ mips_aver_u_w, // llvm.mips.aver.u.w
+ mips_balign, // llvm.mips.balign
+ mips_bclr_b, // llvm.mips.bclr.b
+ mips_bclr_d, // llvm.mips.bclr.d
+ mips_bclr_h, // llvm.mips.bclr.h
+ mips_bclr_w, // llvm.mips.bclr.w
+ mips_bclri_b, // llvm.mips.bclri.b
+ mips_bclri_d, // llvm.mips.bclri.d
+ mips_bclri_h, // llvm.mips.bclri.h
+ mips_bclri_w, // llvm.mips.bclri.w
+ mips_binsl_b, // llvm.mips.binsl.b
+ mips_binsl_d, // llvm.mips.binsl.d
+ mips_binsl_h, // llvm.mips.binsl.h
+ mips_binsl_w, // llvm.mips.binsl.w
+ mips_binsli_b, // llvm.mips.binsli.b
+ mips_binsli_d, // llvm.mips.binsli.d
+ mips_binsli_h, // llvm.mips.binsli.h
+ mips_binsli_w, // llvm.mips.binsli.w
+ mips_binsr_b, // llvm.mips.binsr.b
+ mips_binsr_d, // llvm.mips.binsr.d
+ mips_binsr_h, // llvm.mips.binsr.h
+ mips_binsr_w, // llvm.mips.binsr.w
+ mips_binsri_b, // llvm.mips.binsri.b
+ mips_binsri_d, // llvm.mips.binsri.d
+ mips_binsri_h, // llvm.mips.binsri.h
+ mips_binsri_w, // llvm.mips.binsri.w
+ mips_bitrev, // llvm.mips.bitrev
+ mips_bmnz_v, // llvm.mips.bmnz.v
+ mips_bmnzi_b, // llvm.mips.bmnzi.b
+ mips_bmz_v, // llvm.mips.bmz.v
+ mips_bmzi_b, // llvm.mips.bmzi.b
+ mips_bneg_b, // llvm.mips.bneg.b
+ mips_bneg_d, // llvm.mips.bneg.d
+ mips_bneg_h, // llvm.mips.bneg.h
+ mips_bneg_w, // llvm.mips.bneg.w
+ mips_bnegi_b, // llvm.mips.bnegi.b
+ mips_bnegi_d, // llvm.mips.bnegi.d
+ mips_bnegi_h, // llvm.mips.bnegi.h
+ mips_bnegi_w, // llvm.mips.bnegi.w
+ mips_bnz_b, // llvm.mips.bnz.b
+ mips_bnz_d, // llvm.mips.bnz.d
+ mips_bnz_h, // llvm.mips.bnz.h
+ mips_bnz_v, // llvm.mips.bnz.v
+ mips_bnz_w, // llvm.mips.bnz.w
+ mips_bposge32, // llvm.mips.bposge32
+ mips_bsel_v, // llvm.mips.bsel.v
+ mips_bseli_b, // llvm.mips.bseli.b
+ mips_bset_b, // llvm.mips.bset.b
+ mips_bset_d, // llvm.mips.bset.d
+ mips_bset_h, // llvm.mips.bset.h
+ mips_bset_w, // llvm.mips.bset.w
+ mips_bseti_b, // llvm.mips.bseti.b
+ mips_bseti_d, // llvm.mips.bseti.d
+ mips_bseti_h, // llvm.mips.bseti.h
+ mips_bseti_w, // llvm.mips.bseti.w
+ mips_bz_b, // llvm.mips.bz.b
+ mips_bz_d, // llvm.mips.bz.d
+ mips_bz_h, // llvm.mips.bz.h
+ mips_bz_v, // llvm.mips.bz.v
+ mips_bz_w, // llvm.mips.bz.w
+ mips_ceq_b, // llvm.mips.ceq.b
+ mips_ceq_d, // llvm.mips.ceq.d
+ mips_ceq_h, // llvm.mips.ceq.h
+ mips_ceq_w, // llvm.mips.ceq.w
+ mips_ceqi_b, // llvm.mips.ceqi.b
+ mips_ceqi_d, // llvm.mips.ceqi.d
+ mips_ceqi_h, // llvm.mips.ceqi.h
+ mips_ceqi_w, // llvm.mips.ceqi.w
+ mips_cfcmsa, // llvm.mips.cfcmsa
+ mips_cle_s_b, // llvm.mips.cle.s.b
+ mips_cle_s_d, // llvm.mips.cle.s.d
+ mips_cle_s_h, // llvm.mips.cle.s.h
+ mips_cle_s_w, // llvm.mips.cle.s.w
+ mips_cle_u_b, // llvm.mips.cle.u.b
+ mips_cle_u_d, // llvm.mips.cle.u.d
+ mips_cle_u_h, // llvm.mips.cle.u.h
+ mips_cle_u_w, // llvm.mips.cle.u.w
+ mips_clei_s_b, // llvm.mips.clei.s.b
+ mips_clei_s_d, // llvm.mips.clei.s.d
+ mips_clei_s_h, // llvm.mips.clei.s.h
+ mips_clei_s_w, // llvm.mips.clei.s.w
+ mips_clei_u_b, // llvm.mips.clei.u.b
+ mips_clei_u_d, // llvm.mips.clei.u.d
+ mips_clei_u_h, // llvm.mips.clei.u.h
+ mips_clei_u_w, // llvm.mips.clei.u.w
+ mips_clt_s_b, // llvm.mips.clt.s.b
+ mips_clt_s_d, // llvm.mips.clt.s.d
+ mips_clt_s_h, // llvm.mips.clt.s.h
+ mips_clt_s_w, // llvm.mips.clt.s.w
+ mips_clt_u_b, // llvm.mips.clt.u.b
+ mips_clt_u_d, // llvm.mips.clt.u.d
+ mips_clt_u_h, // llvm.mips.clt.u.h
+ mips_clt_u_w, // llvm.mips.clt.u.w
+ mips_clti_s_b, // llvm.mips.clti.s.b
+ mips_clti_s_d, // llvm.mips.clti.s.d
+ mips_clti_s_h, // llvm.mips.clti.s.h
+ mips_clti_s_w, // llvm.mips.clti.s.w
+ mips_clti_u_b, // llvm.mips.clti.u.b
+ mips_clti_u_d, // llvm.mips.clti.u.d
+ mips_clti_u_h, // llvm.mips.clti.u.h
+ mips_clti_u_w, // llvm.mips.clti.u.w
+ mips_cmp_eq_ph, // llvm.mips.cmp.eq.ph
+ mips_cmp_le_ph, // llvm.mips.cmp.le.ph
+ mips_cmp_lt_ph, // llvm.mips.cmp.lt.ph
+ mips_cmpgdu_eq_qb, // llvm.mips.cmpgdu.eq.qb
+ mips_cmpgdu_le_qb, // llvm.mips.cmpgdu.le.qb
+ mips_cmpgdu_lt_qb, // llvm.mips.cmpgdu.lt.qb
+ mips_cmpgu_eq_qb, // llvm.mips.cmpgu.eq.qb
+ mips_cmpgu_le_qb, // llvm.mips.cmpgu.le.qb
+ mips_cmpgu_lt_qb, // llvm.mips.cmpgu.lt.qb
+ mips_cmpu_eq_qb, // llvm.mips.cmpu.eq.qb
+ mips_cmpu_le_qb, // llvm.mips.cmpu.le.qb
+ mips_cmpu_lt_qb, // llvm.mips.cmpu.lt.qb
+ mips_copy_s_b, // llvm.mips.copy.s.b
+ mips_copy_s_d, // llvm.mips.copy.s.d
+ mips_copy_s_h, // llvm.mips.copy.s.h
+ mips_copy_s_w, // llvm.mips.copy.s.w
+ mips_copy_u_b, // llvm.mips.copy.u.b
+ mips_copy_u_d, // llvm.mips.copy.u.d
+ mips_copy_u_h, // llvm.mips.copy.u.h
+ mips_copy_u_w, // llvm.mips.copy.u.w
+ mips_ctcmsa, // llvm.mips.ctcmsa
+ mips_div_s_b, // llvm.mips.div.s.b
+ mips_div_s_d, // llvm.mips.div.s.d
+ mips_div_s_h, // llvm.mips.div.s.h
+ mips_div_s_w, // llvm.mips.div.s.w
+ mips_div_u_b, // llvm.mips.div.u.b
+ mips_div_u_d, // llvm.mips.div.u.d
+ mips_div_u_h, // llvm.mips.div.u.h
+ mips_div_u_w, // llvm.mips.div.u.w
+ mips_dlsa, // llvm.mips.dlsa
+ mips_dotp_s_d, // llvm.mips.dotp.s.d
+ mips_dotp_s_h, // llvm.mips.dotp.s.h
+ mips_dotp_s_w, // llvm.mips.dotp.s.w
+ mips_dotp_u_d, // llvm.mips.dotp.u.d
+ mips_dotp_u_h, // llvm.mips.dotp.u.h
+ mips_dotp_u_w, // llvm.mips.dotp.u.w
+ mips_dpa_w_ph, // llvm.mips.dpa.w.ph
+ mips_dpadd_s_d, // llvm.mips.dpadd.s.d
+ mips_dpadd_s_h, // llvm.mips.dpadd.s.h
+ mips_dpadd_s_w, // llvm.mips.dpadd.s.w
+ mips_dpadd_u_d, // llvm.mips.dpadd.u.d
+ mips_dpadd_u_h, // llvm.mips.dpadd.u.h
+ mips_dpadd_u_w, // llvm.mips.dpadd.u.w
+ mips_dpaq_s_w_ph, // llvm.mips.dpaq.s.w.ph
+ mips_dpaq_sa_l_w, // llvm.mips.dpaq.sa.l.w
+ mips_dpaqx_s_w_ph, // llvm.mips.dpaqx.s.w.ph
+ mips_dpaqx_sa_w_ph, // llvm.mips.dpaqx.sa.w.ph
+ mips_dpau_h_qbl, // llvm.mips.dpau.h.qbl
+ mips_dpau_h_qbr, // llvm.mips.dpau.h.qbr
+ mips_dpax_w_ph, // llvm.mips.dpax.w.ph
+ mips_dps_w_ph, // llvm.mips.dps.w.ph
+ mips_dpsq_s_w_ph, // llvm.mips.dpsq.s.w.ph
+ mips_dpsq_sa_l_w, // llvm.mips.dpsq.sa.l.w
+ mips_dpsqx_s_w_ph, // llvm.mips.dpsqx.s.w.ph
+ mips_dpsqx_sa_w_ph, // llvm.mips.dpsqx.sa.w.ph
+ mips_dpsu_h_qbl, // llvm.mips.dpsu.h.qbl
+ mips_dpsu_h_qbr, // llvm.mips.dpsu.h.qbr
+ mips_dpsub_s_d, // llvm.mips.dpsub.s.d
+ mips_dpsub_s_h, // llvm.mips.dpsub.s.h
+ mips_dpsub_s_w, // llvm.mips.dpsub.s.w
+ mips_dpsub_u_d, // llvm.mips.dpsub.u.d
+ mips_dpsub_u_h, // llvm.mips.dpsub.u.h
+ mips_dpsub_u_w, // llvm.mips.dpsub.u.w
+ mips_dpsx_w_ph, // llvm.mips.dpsx.w.ph
+ mips_extp, // llvm.mips.extp
+ mips_extpdp, // llvm.mips.extpdp
+ mips_extr_r_w, // llvm.mips.extr.r.w
+ mips_extr_rs_w, // llvm.mips.extr.rs.w
+ mips_extr_s_h, // llvm.mips.extr.s.h
+ mips_extr_w, // llvm.mips.extr.w
+ mips_fadd_d, // llvm.mips.fadd.d
+ mips_fadd_w, // llvm.mips.fadd.w
+ mips_fcaf_d, // llvm.mips.fcaf.d
+ mips_fcaf_w, // llvm.mips.fcaf.w
+ mips_fceq_d, // llvm.mips.fceq.d
+ mips_fceq_w, // llvm.mips.fceq.w
+ mips_fclass_d, // llvm.mips.fclass.d
+ mips_fclass_w, // llvm.mips.fclass.w
+ mips_fcle_d, // llvm.mips.fcle.d
+ mips_fcle_w, // llvm.mips.fcle.w
+ mips_fclt_d, // llvm.mips.fclt.d
+ mips_fclt_w, // llvm.mips.fclt.w
+ mips_fcne_d, // llvm.mips.fcne.d
+ mips_fcne_w, // llvm.mips.fcne.w
+ mips_fcor_d, // llvm.mips.fcor.d
+ mips_fcor_w, // llvm.mips.fcor.w
+ mips_fcueq_d, // llvm.mips.fcueq.d
+ mips_fcueq_w, // llvm.mips.fcueq.w
+ mips_fcule_d, // llvm.mips.fcule.d
+ mips_fcule_w, // llvm.mips.fcule.w
+ mips_fcult_d, // llvm.mips.fcult.d
+ mips_fcult_w, // llvm.mips.fcult.w
+ mips_fcun_d, // llvm.mips.fcun.d
+ mips_fcun_w, // llvm.mips.fcun.w
+ mips_fcune_d, // llvm.mips.fcune.d
+ mips_fcune_w, // llvm.mips.fcune.w
+ mips_fdiv_d, // llvm.mips.fdiv.d
+ mips_fdiv_w, // llvm.mips.fdiv.w
+ mips_fexdo_h, // llvm.mips.fexdo.h
+ mips_fexdo_w, // llvm.mips.fexdo.w
+ mips_fexp2_d, // llvm.mips.fexp2.d
+ mips_fexp2_w, // llvm.mips.fexp2.w
+ mips_fexupl_d, // llvm.mips.fexupl.d
+ mips_fexupl_w, // llvm.mips.fexupl.w
+ mips_fexupr_d, // llvm.mips.fexupr.d
+ mips_fexupr_w, // llvm.mips.fexupr.w
+ mips_ffint_s_d, // llvm.mips.ffint.s.d
+ mips_ffint_s_w, // llvm.mips.ffint.s.w
+ mips_ffint_u_d, // llvm.mips.ffint.u.d
+ mips_ffint_u_w, // llvm.mips.ffint.u.w
+ mips_ffql_d, // llvm.mips.ffql.d
+ mips_ffql_w, // llvm.mips.ffql.w
+ mips_ffqr_d, // llvm.mips.ffqr.d
+ mips_ffqr_w, // llvm.mips.ffqr.w
+ mips_fill_b, // llvm.mips.fill.b
+ mips_fill_d, // llvm.mips.fill.d
+ mips_fill_h, // llvm.mips.fill.h
+ mips_fill_w, // llvm.mips.fill.w
+ mips_flog2_d, // llvm.mips.flog2.d
+ mips_flog2_w, // llvm.mips.flog2.w
+ mips_fmadd_d, // llvm.mips.fmadd.d
+ mips_fmadd_w, // llvm.mips.fmadd.w
+ mips_fmax_a_d, // llvm.mips.fmax.a.d
+ mips_fmax_a_w, // llvm.mips.fmax.a.w
+ mips_fmax_d, // llvm.mips.fmax.d
+ mips_fmax_w, // llvm.mips.fmax.w
+ mips_fmin_a_d, // llvm.mips.fmin.a.d
+ mips_fmin_a_w, // llvm.mips.fmin.a.w
+ mips_fmin_d, // llvm.mips.fmin.d
+ mips_fmin_w, // llvm.mips.fmin.w
+ mips_fmsub_d, // llvm.mips.fmsub.d
+ mips_fmsub_w, // llvm.mips.fmsub.w
+ mips_fmul_d, // llvm.mips.fmul.d
+ mips_fmul_w, // llvm.mips.fmul.w
+ mips_frcp_d, // llvm.mips.frcp.d
+ mips_frcp_w, // llvm.mips.frcp.w
+ mips_frint_d, // llvm.mips.frint.d
+ mips_frint_w, // llvm.mips.frint.w
+ mips_frsqrt_d, // llvm.mips.frsqrt.d
+ mips_frsqrt_w, // llvm.mips.frsqrt.w
+ mips_fsaf_d, // llvm.mips.fsaf.d
+ mips_fsaf_w, // llvm.mips.fsaf.w
+ mips_fseq_d, // llvm.mips.fseq.d
+ mips_fseq_w, // llvm.mips.fseq.w
+ mips_fsle_d, // llvm.mips.fsle.d
+ mips_fsle_w, // llvm.mips.fsle.w
+ mips_fslt_d, // llvm.mips.fslt.d
+ mips_fslt_w, // llvm.mips.fslt.w
+ mips_fsne_d, // llvm.mips.fsne.d
+ mips_fsne_w, // llvm.mips.fsne.w
+ mips_fsor_d, // llvm.mips.fsor.d
+ mips_fsor_w, // llvm.mips.fsor.w
+ mips_fsqrt_d, // llvm.mips.fsqrt.d
+ mips_fsqrt_w, // llvm.mips.fsqrt.w
+ mips_fsub_d, // llvm.mips.fsub.d
+ mips_fsub_w, // llvm.mips.fsub.w
+ mips_fsueq_d, // llvm.mips.fsueq.d
+ mips_fsueq_w, // llvm.mips.fsueq.w
+ mips_fsule_d, // llvm.mips.fsule.d
+ mips_fsule_w, // llvm.mips.fsule.w
+ mips_fsult_d, // llvm.mips.fsult.d
+ mips_fsult_w, // llvm.mips.fsult.w
+ mips_fsun_d, // llvm.mips.fsun.d
+ mips_fsun_w, // llvm.mips.fsun.w
+ mips_fsune_d, // llvm.mips.fsune.d
+ mips_fsune_w, // llvm.mips.fsune.w
+ mips_ftint_s_d, // llvm.mips.ftint.s.d
+ mips_ftint_s_w, // llvm.mips.ftint.s.w
+ mips_ftint_u_d, // llvm.mips.ftint.u.d
+ mips_ftint_u_w, // llvm.mips.ftint.u.w
+ mips_ftq_h, // llvm.mips.ftq.h
+ mips_ftq_w, // llvm.mips.ftq.w
+ mips_ftrunc_s_d, // llvm.mips.ftrunc.s.d
+ mips_ftrunc_s_w, // llvm.mips.ftrunc.s.w
+ mips_ftrunc_u_d, // llvm.mips.ftrunc.u.d
+ mips_ftrunc_u_w, // llvm.mips.ftrunc.u.w
+ mips_hadd_s_d, // llvm.mips.hadd.s.d
+ mips_hadd_s_h, // llvm.mips.hadd.s.h
+ mips_hadd_s_w, // llvm.mips.hadd.s.w
+ mips_hadd_u_d, // llvm.mips.hadd.u.d
+ mips_hadd_u_h, // llvm.mips.hadd.u.h
+ mips_hadd_u_w, // llvm.mips.hadd.u.w
+ mips_hsub_s_d, // llvm.mips.hsub.s.d
+ mips_hsub_s_h, // llvm.mips.hsub.s.h
+ mips_hsub_s_w, // llvm.mips.hsub.s.w
+ mips_hsub_u_d, // llvm.mips.hsub.u.d
+ mips_hsub_u_h, // llvm.mips.hsub.u.h
+ mips_hsub_u_w, // llvm.mips.hsub.u.w
+ mips_ilvev_b, // llvm.mips.ilvev.b
+ mips_ilvev_d, // llvm.mips.ilvev.d
+ mips_ilvev_h, // llvm.mips.ilvev.h
+ mips_ilvev_w, // llvm.mips.ilvev.w
+ mips_ilvl_b, // llvm.mips.ilvl.b
+ mips_ilvl_d, // llvm.mips.ilvl.d
+ mips_ilvl_h, // llvm.mips.ilvl.h
+ mips_ilvl_w, // llvm.mips.ilvl.w
+ mips_ilvod_b, // llvm.mips.ilvod.b
+ mips_ilvod_d, // llvm.mips.ilvod.d
+ mips_ilvod_h, // llvm.mips.ilvod.h
+ mips_ilvod_w, // llvm.mips.ilvod.w
+ mips_ilvr_b, // llvm.mips.ilvr.b
+ mips_ilvr_d, // llvm.mips.ilvr.d
+ mips_ilvr_h, // llvm.mips.ilvr.h
+ mips_ilvr_w, // llvm.mips.ilvr.w
+ mips_insert_b, // llvm.mips.insert.b
+ mips_insert_d, // llvm.mips.insert.d
+ mips_insert_h, // llvm.mips.insert.h
+ mips_insert_w, // llvm.mips.insert.w
+ mips_insv, // llvm.mips.insv
+ mips_insve_b, // llvm.mips.insve.b
+ mips_insve_d, // llvm.mips.insve.d
+ mips_insve_h, // llvm.mips.insve.h
+ mips_insve_w, // llvm.mips.insve.w
+ mips_lbux, // llvm.mips.lbux
+ mips_ld_b, // llvm.mips.ld.b
+ mips_ld_d, // llvm.mips.ld.d
+ mips_ld_h, // llvm.mips.ld.h
+ mips_ld_w, // llvm.mips.ld.w
+ mips_ldi_b, // llvm.mips.ldi.b
+ mips_ldi_d, // llvm.mips.ldi.d
+ mips_ldi_h, // llvm.mips.ldi.h
+ mips_ldi_w, // llvm.mips.ldi.w
+ mips_lhx, // llvm.mips.lhx
+ mips_lsa, // llvm.mips.lsa
+ mips_lwx, // llvm.mips.lwx
+ mips_madd, // llvm.mips.madd
+ mips_madd_q_h, // llvm.mips.madd.q.h
+ mips_madd_q_w, // llvm.mips.madd.q.w
+ mips_maddr_q_h, // llvm.mips.maddr.q.h
+ mips_maddr_q_w, // llvm.mips.maddr.q.w
+ mips_maddu, // llvm.mips.maddu
+ mips_maddv_b, // llvm.mips.maddv.b
+ mips_maddv_d, // llvm.mips.maddv.d
+ mips_maddv_h, // llvm.mips.maddv.h
+ mips_maddv_w, // llvm.mips.maddv.w
+ mips_maq_s_w_phl, // llvm.mips.maq.s.w.phl
+ mips_maq_s_w_phr, // llvm.mips.maq.s.w.phr
+ mips_maq_sa_w_phl, // llvm.mips.maq.sa.w.phl
+ mips_maq_sa_w_phr, // llvm.mips.maq.sa.w.phr
+ mips_max_a_b, // llvm.mips.max.a.b
+ mips_max_a_d, // llvm.mips.max.a.d
+ mips_max_a_h, // llvm.mips.max.a.h
+ mips_max_a_w, // llvm.mips.max.a.w
+ mips_max_s_b, // llvm.mips.max.s.b
+ mips_max_s_d, // llvm.mips.max.s.d
+ mips_max_s_h, // llvm.mips.max.s.h
+ mips_max_s_w, // llvm.mips.max.s.w
+ mips_max_u_b, // llvm.mips.max.u.b
+ mips_max_u_d, // llvm.mips.max.u.d
+ mips_max_u_h, // llvm.mips.max.u.h
+ mips_max_u_w, // llvm.mips.max.u.w
+ mips_maxi_s_b, // llvm.mips.maxi.s.b
+ mips_maxi_s_d, // llvm.mips.maxi.s.d
+ mips_maxi_s_h, // llvm.mips.maxi.s.h
+ mips_maxi_s_w, // llvm.mips.maxi.s.w
+ mips_maxi_u_b, // llvm.mips.maxi.u.b
+ mips_maxi_u_d, // llvm.mips.maxi.u.d
+ mips_maxi_u_h, // llvm.mips.maxi.u.h
+ mips_maxi_u_w, // llvm.mips.maxi.u.w
+ mips_min_a_b, // llvm.mips.min.a.b
+ mips_min_a_d, // llvm.mips.min.a.d
+ mips_min_a_h, // llvm.mips.min.a.h
+ mips_min_a_w, // llvm.mips.min.a.w
+ mips_min_s_b, // llvm.mips.min.s.b
+ mips_min_s_d, // llvm.mips.min.s.d
+ mips_min_s_h, // llvm.mips.min.s.h
+ mips_min_s_w, // llvm.mips.min.s.w
+ mips_min_u_b, // llvm.mips.min.u.b
+ mips_min_u_d, // llvm.mips.min.u.d
+ mips_min_u_h, // llvm.mips.min.u.h
+ mips_min_u_w, // llvm.mips.min.u.w
+ mips_mini_s_b, // llvm.mips.mini.s.b
+ mips_mini_s_d, // llvm.mips.mini.s.d
+ mips_mini_s_h, // llvm.mips.mini.s.h
+ mips_mini_s_w, // llvm.mips.mini.s.w
+ mips_mini_u_b, // llvm.mips.mini.u.b
+ mips_mini_u_d, // llvm.mips.mini.u.d
+ mips_mini_u_h, // llvm.mips.mini.u.h
+ mips_mini_u_w, // llvm.mips.mini.u.w
+ mips_mod_s_b, // llvm.mips.mod.s.b
+ mips_mod_s_d, // llvm.mips.mod.s.d
+ mips_mod_s_h, // llvm.mips.mod.s.h
+ mips_mod_s_w, // llvm.mips.mod.s.w
+ mips_mod_u_b, // llvm.mips.mod.u.b
+ mips_mod_u_d, // llvm.mips.mod.u.d
+ mips_mod_u_h, // llvm.mips.mod.u.h
+ mips_mod_u_w, // llvm.mips.mod.u.w
+ mips_modsub, // llvm.mips.modsub
+ mips_move_v, // llvm.mips.move.v
+ mips_msub, // llvm.mips.msub
+ mips_msub_q_h, // llvm.mips.msub.q.h
+ mips_msub_q_w, // llvm.mips.msub.q.w
+ mips_msubr_q_h, // llvm.mips.msubr.q.h
+ mips_msubr_q_w, // llvm.mips.msubr.q.w
+ mips_msubu, // llvm.mips.msubu
+ mips_msubv_b, // llvm.mips.msubv.b
+ mips_msubv_d, // llvm.mips.msubv.d
+ mips_msubv_h, // llvm.mips.msubv.h
+ mips_msubv_w, // llvm.mips.msubv.w
+ mips_mthlip, // llvm.mips.mthlip
+ mips_mul_ph, // llvm.mips.mul.ph
+ mips_mul_q_h, // llvm.mips.mul.q.h
+ mips_mul_q_w, // llvm.mips.mul.q.w
+ mips_mul_s_ph, // llvm.mips.mul.s.ph
+ mips_muleq_s_w_phl, // llvm.mips.muleq.s.w.phl
+ mips_muleq_s_w_phr, // llvm.mips.muleq.s.w.phr
+ mips_muleu_s_ph_qbl, // llvm.mips.muleu.s.ph.qbl
+ mips_muleu_s_ph_qbr, // llvm.mips.muleu.s.ph.qbr
+ mips_mulq_rs_ph, // llvm.mips.mulq.rs.ph
+ mips_mulq_rs_w, // llvm.mips.mulq.rs.w
+ mips_mulq_s_ph, // llvm.mips.mulq.s.ph
+ mips_mulq_s_w, // llvm.mips.mulq.s.w
+ mips_mulr_q_h, // llvm.mips.mulr.q.h
+ mips_mulr_q_w, // llvm.mips.mulr.q.w
+ mips_mulsa_w_ph, // llvm.mips.mulsa.w.ph
+ mips_mulsaq_s_w_ph, // llvm.mips.mulsaq.s.w.ph
+ mips_mult, // llvm.mips.mult
+ mips_multu, // llvm.mips.multu
+ mips_mulv_b, // llvm.mips.mulv.b
+ mips_mulv_d, // llvm.mips.mulv.d
+ mips_mulv_h, // llvm.mips.mulv.h
+ mips_mulv_w, // llvm.mips.mulv.w
+ mips_nloc_b, // llvm.mips.nloc.b
+ mips_nloc_d, // llvm.mips.nloc.d
+ mips_nloc_h, // llvm.mips.nloc.h
+ mips_nloc_w, // llvm.mips.nloc.w
+ mips_nlzc_b, // llvm.mips.nlzc.b
+ mips_nlzc_d, // llvm.mips.nlzc.d
+ mips_nlzc_h, // llvm.mips.nlzc.h
+ mips_nlzc_w, // llvm.mips.nlzc.w
+ mips_nor_v, // llvm.mips.nor.v
+ mips_nori_b, // llvm.mips.nori.b
+ mips_or_v, // llvm.mips.or.v
+ mips_ori_b, // llvm.mips.ori.b
+ mips_packrl_ph, // llvm.mips.packrl.ph
+ mips_pckev_b, // llvm.mips.pckev.b
+ mips_pckev_d, // llvm.mips.pckev.d
+ mips_pckev_h, // llvm.mips.pckev.h
+ mips_pckev_w, // llvm.mips.pckev.w
+ mips_pckod_b, // llvm.mips.pckod.b
+ mips_pckod_d, // llvm.mips.pckod.d
+ mips_pckod_h, // llvm.mips.pckod.h
+ mips_pckod_w, // llvm.mips.pckod.w
+ mips_pcnt_b, // llvm.mips.pcnt.b
+ mips_pcnt_d, // llvm.mips.pcnt.d
+ mips_pcnt_h, // llvm.mips.pcnt.h
+ mips_pcnt_w, // llvm.mips.pcnt.w
+ mips_pick_ph, // llvm.mips.pick.ph
+ mips_pick_qb, // llvm.mips.pick.qb
+ mips_preceq_w_phl, // llvm.mips.preceq.w.phl
+ mips_preceq_w_phr, // llvm.mips.preceq.w.phr
+ mips_precequ_ph_qbl, // llvm.mips.precequ.ph.qbl
+ mips_precequ_ph_qbla, // llvm.mips.precequ.ph.qbla
+ mips_precequ_ph_qbr, // llvm.mips.precequ.ph.qbr
+ mips_precequ_ph_qbra, // llvm.mips.precequ.ph.qbra
+ mips_preceu_ph_qbl, // llvm.mips.preceu.ph.qbl
+ mips_preceu_ph_qbla, // llvm.mips.preceu.ph.qbla
+ mips_preceu_ph_qbr, // llvm.mips.preceu.ph.qbr
+ mips_preceu_ph_qbra, // llvm.mips.preceu.ph.qbra
+ mips_precr_qb_ph, // llvm.mips.precr.qb.ph
+ mips_precr_sra_ph_w, // llvm.mips.precr.sra.ph.w
+ mips_precr_sra_r_ph_w, // llvm.mips.precr.sra.r.ph.w
+ mips_precrq_ph_w, // llvm.mips.precrq.ph.w
+ mips_precrq_qb_ph, // llvm.mips.precrq.qb.ph
+ mips_precrq_rs_ph_w, // llvm.mips.precrq.rs.ph.w
+ mips_precrqu_s_qb_ph, // llvm.mips.precrqu.s.qb.ph
+ mips_prepend, // llvm.mips.prepend
+ mips_raddu_w_qb, // llvm.mips.raddu.w.qb
+ mips_rddsp, // llvm.mips.rddsp
+ mips_repl_ph, // llvm.mips.repl.ph
+ mips_repl_qb, // llvm.mips.repl.qb
+ mips_sat_s_b, // llvm.mips.sat.s.b
+ mips_sat_s_d, // llvm.mips.sat.s.d
+ mips_sat_s_h, // llvm.mips.sat.s.h
+ mips_sat_s_w, // llvm.mips.sat.s.w
+ mips_sat_u_b, // llvm.mips.sat.u.b
+ mips_sat_u_d, // llvm.mips.sat.u.d
+ mips_sat_u_h, // llvm.mips.sat.u.h
+ mips_sat_u_w, // llvm.mips.sat.u.w
+ mips_shf_b, // llvm.mips.shf.b
+ mips_shf_h, // llvm.mips.shf.h
+ mips_shf_w, // llvm.mips.shf.w
+ mips_shilo, // llvm.mips.shilo
+ mips_shll_ph, // llvm.mips.shll.ph
+ mips_shll_qb, // llvm.mips.shll.qb
+ mips_shll_s_ph, // llvm.mips.shll.s.ph
+ mips_shll_s_w, // llvm.mips.shll.s.w
+ mips_shra_ph, // llvm.mips.shra.ph
+ mips_shra_qb, // llvm.mips.shra.qb
+ mips_shra_r_ph, // llvm.mips.shra.r.ph
+ mips_shra_r_qb, // llvm.mips.shra.r.qb
+ mips_shra_r_w, // llvm.mips.shra.r.w
+ mips_shrl_ph, // llvm.mips.shrl.ph
+ mips_shrl_qb, // llvm.mips.shrl.qb
+ mips_sld_b, // llvm.mips.sld.b
+ mips_sld_d, // llvm.mips.sld.d
+ mips_sld_h, // llvm.mips.sld.h
+ mips_sld_w, // llvm.mips.sld.w
+ mips_sldi_b, // llvm.mips.sldi.b
+ mips_sldi_d, // llvm.mips.sldi.d
+ mips_sldi_h, // llvm.mips.sldi.h
+ mips_sldi_w, // llvm.mips.sldi.w
+ mips_sll_b, // llvm.mips.sll.b
+ mips_sll_d, // llvm.mips.sll.d
+ mips_sll_h, // llvm.mips.sll.h
+ mips_sll_w, // llvm.mips.sll.w
+ mips_slli_b, // llvm.mips.slli.b
+ mips_slli_d, // llvm.mips.slli.d
+ mips_slli_h, // llvm.mips.slli.h
+ mips_slli_w, // llvm.mips.slli.w
+ mips_splat_b, // llvm.mips.splat.b
+ mips_splat_d, // llvm.mips.splat.d
+ mips_splat_h, // llvm.mips.splat.h
+ mips_splat_w, // llvm.mips.splat.w
+ mips_splati_b, // llvm.mips.splati.b
+ mips_splati_d, // llvm.mips.splati.d
+ mips_splati_h, // llvm.mips.splati.h
+ mips_splati_w, // llvm.mips.splati.w
+ mips_sra_b, // llvm.mips.sra.b
+ mips_sra_d, // llvm.mips.sra.d
+ mips_sra_h, // llvm.mips.sra.h
+ mips_sra_w, // llvm.mips.sra.w
+ mips_srai_b, // llvm.mips.srai.b
+ mips_srai_d, // llvm.mips.srai.d
+ mips_srai_h, // llvm.mips.srai.h
+ mips_srai_w, // llvm.mips.srai.w
+ mips_srar_b, // llvm.mips.srar.b
+ mips_srar_d, // llvm.mips.srar.d
+ mips_srar_h, // llvm.mips.srar.h
+ mips_srar_w, // llvm.mips.srar.w
+ mips_srari_b, // llvm.mips.srari.b
+ mips_srari_d, // llvm.mips.srari.d
+ mips_srari_h, // llvm.mips.srari.h
+ mips_srari_w, // llvm.mips.srari.w
+ mips_srl_b, // llvm.mips.srl.b
+ mips_srl_d, // llvm.mips.srl.d
+ mips_srl_h, // llvm.mips.srl.h
+ mips_srl_w, // llvm.mips.srl.w
+ mips_srli_b, // llvm.mips.srli.b
+ mips_srli_d, // llvm.mips.srli.d
+ mips_srli_h, // llvm.mips.srli.h
+ mips_srli_w, // llvm.mips.srli.w
+ mips_srlr_b, // llvm.mips.srlr.b
+ mips_srlr_d, // llvm.mips.srlr.d
+ mips_srlr_h, // llvm.mips.srlr.h
+ mips_srlr_w, // llvm.mips.srlr.w
+ mips_srlri_b, // llvm.mips.srlri.b
+ mips_srlri_d, // llvm.mips.srlri.d
+ mips_srlri_h, // llvm.mips.srlri.h
+ mips_srlri_w, // llvm.mips.srlri.w
+ mips_st_b, // llvm.mips.st.b
+ mips_st_d, // llvm.mips.st.d
+ mips_st_h, // llvm.mips.st.h
+ mips_st_w, // llvm.mips.st.w
+ mips_subq_ph, // llvm.mips.subq.ph
+ mips_subq_s_ph, // llvm.mips.subq.s.ph
+ mips_subq_s_w, // llvm.mips.subq.s.w
+ mips_subqh_ph, // llvm.mips.subqh.ph
+ mips_subqh_r_ph, // llvm.mips.subqh.r.ph
+ mips_subqh_r_w, // llvm.mips.subqh.r.w
+ mips_subqh_w, // llvm.mips.subqh.w
+ mips_subs_s_b, // llvm.mips.subs.s.b
+ mips_subs_s_d, // llvm.mips.subs.s.d
+ mips_subs_s_h, // llvm.mips.subs.s.h
+ mips_subs_s_w, // llvm.mips.subs.s.w
+ mips_subs_u_b, // llvm.mips.subs.u.b
+ mips_subs_u_d, // llvm.mips.subs.u.d
+ mips_subs_u_h, // llvm.mips.subs.u.h
+ mips_subs_u_w, // llvm.mips.subs.u.w
+ mips_subsus_u_b, // llvm.mips.subsus.u.b
+ mips_subsus_u_d, // llvm.mips.subsus.u.d
+ mips_subsus_u_h, // llvm.mips.subsus.u.h
+ mips_subsus_u_w, // llvm.mips.subsus.u.w
+ mips_subsuu_s_b, // llvm.mips.subsuu.s.b
+ mips_subsuu_s_d, // llvm.mips.subsuu.s.d
+ mips_subsuu_s_h, // llvm.mips.subsuu.s.h
+ mips_subsuu_s_w, // llvm.mips.subsuu.s.w
+ mips_subu_ph, // llvm.mips.subu.ph
+ mips_subu_qb, // llvm.mips.subu.qb
+ mips_subu_s_ph, // llvm.mips.subu.s.ph
+ mips_subu_s_qb, // llvm.mips.subu.s.qb
+ mips_subuh_qb, // llvm.mips.subuh.qb
+ mips_subuh_r_qb, // llvm.mips.subuh.r.qb
+ mips_subv_b, // llvm.mips.subv.b
+ mips_subv_d, // llvm.mips.subv.d
+ mips_subv_h, // llvm.mips.subv.h
+ mips_subv_w, // llvm.mips.subv.w
+ mips_subvi_b, // llvm.mips.subvi.b
+ mips_subvi_d, // llvm.mips.subvi.d
+ mips_subvi_h, // llvm.mips.subvi.h
+ mips_subvi_w, // llvm.mips.subvi.w
+ mips_vshf_b, // llvm.mips.vshf.b
+ mips_vshf_d, // llvm.mips.vshf.d
+ mips_vshf_h, // llvm.mips.vshf.h
+ mips_vshf_w, // llvm.mips.vshf.w
+ mips_wrdsp, // llvm.mips.wrdsp
+ mips_xor_v, // llvm.mips.xor.v
+ mips_xori_b, // llvm.mips.xori.b
+ nvvm_abs_i, // llvm.nvvm.abs.i
+ nvvm_abs_ll, // llvm.nvvm.abs.ll
+ nvvm_add_rm_d, // llvm.nvvm.add.rm.d
+ nvvm_add_rm_f, // llvm.nvvm.add.rm.f
+ nvvm_add_rm_ftz_f, // llvm.nvvm.add.rm.ftz.f
+ nvvm_add_rn_d, // llvm.nvvm.add.rn.d
+ nvvm_add_rn_f, // llvm.nvvm.add.rn.f
+ nvvm_add_rn_ftz_f, // llvm.nvvm.add.rn.ftz.f
+ nvvm_add_rp_d, // llvm.nvvm.add.rp.d
+ nvvm_add_rp_f, // llvm.nvvm.add.rp.f
+ nvvm_add_rp_ftz_f, // llvm.nvvm.add.rp.ftz.f
+ nvvm_add_rz_d, // llvm.nvvm.add.rz.d
+ nvvm_add_rz_f, // llvm.nvvm.add.rz.f
+ nvvm_add_rz_ftz_f, // llvm.nvvm.add.rz.ftz.f
+ nvvm_atomic_add_gen_f_cta, // llvm.nvvm.atomic.add.gen.f.cta
+ nvvm_atomic_add_gen_f_sys, // llvm.nvvm.atomic.add.gen.f.sys
+ nvvm_atomic_add_gen_i_cta, // llvm.nvvm.atomic.add.gen.i.cta
+ nvvm_atomic_add_gen_i_sys, // llvm.nvvm.atomic.add.gen.i.sys
+ nvvm_atomic_and_gen_i_cta, // llvm.nvvm.atomic.and.gen.i.cta
+ nvvm_atomic_and_gen_i_sys, // llvm.nvvm.atomic.and.gen.i.sys
+ nvvm_atomic_cas_gen_i_cta, // llvm.nvvm.atomic.cas.gen.i.cta
+ nvvm_atomic_cas_gen_i_sys, // llvm.nvvm.atomic.cas.gen.i.sys
+ nvvm_atomic_dec_gen_i_cta, // llvm.nvvm.atomic.dec.gen.i.cta
+ nvvm_atomic_dec_gen_i_sys, // llvm.nvvm.atomic.dec.gen.i.sys
+ nvvm_atomic_exch_gen_i_cta, // llvm.nvvm.atomic.exch.gen.i.cta
+ nvvm_atomic_exch_gen_i_sys, // llvm.nvvm.atomic.exch.gen.i.sys
+ nvvm_atomic_inc_gen_i_cta, // llvm.nvvm.atomic.inc.gen.i.cta
+ nvvm_atomic_inc_gen_i_sys, // llvm.nvvm.atomic.inc.gen.i.sys
+ nvvm_atomic_load_add_f32, // llvm.nvvm.atomic.load.add.f32
+ nvvm_atomic_load_dec_32, // llvm.nvvm.atomic.load.dec.32
+ nvvm_atomic_load_inc_32, // llvm.nvvm.atomic.load.inc.32
+ nvvm_atomic_max_gen_i_cta, // llvm.nvvm.atomic.max.gen.i.cta
+ nvvm_atomic_max_gen_i_sys, // llvm.nvvm.atomic.max.gen.i.sys
+ nvvm_atomic_min_gen_i_cta, // llvm.nvvm.atomic.min.gen.i.cta
+ nvvm_atomic_min_gen_i_sys, // llvm.nvvm.atomic.min.gen.i.sys
+ nvvm_atomic_or_gen_i_cta, // llvm.nvvm.atomic.or.gen.i.cta
+ nvvm_atomic_or_gen_i_sys, // llvm.nvvm.atomic.or.gen.i.sys
+ nvvm_atomic_xor_gen_i_cta, // llvm.nvvm.atomic.xor.gen.i.cta
+ nvvm_atomic_xor_gen_i_sys, // llvm.nvvm.atomic.xor.gen.i.sys
+ nvvm_bar_sync, // llvm.nvvm.bar.sync
+ nvvm_barrier0, // llvm.nvvm.barrier0
+ nvvm_barrier0_and, // llvm.nvvm.barrier0.and
+ nvvm_barrier0_or, // llvm.nvvm.barrier0.or
+ nvvm_barrier0_popc, // llvm.nvvm.barrier0.popc
+ nvvm_bitcast_d2ll, // llvm.nvvm.bitcast.d2ll
+ nvvm_bitcast_f2i, // llvm.nvvm.bitcast.f2i
+ nvvm_bitcast_i2f, // llvm.nvvm.bitcast.i2f
+ nvvm_bitcast_ll2d, // llvm.nvvm.bitcast.ll2d
+ nvvm_brev32, // llvm.nvvm.brev32
+ nvvm_brev64, // llvm.nvvm.brev64
+ nvvm_ceil_d, // llvm.nvvm.ceil.d
+ nvvm_ceil_f, // llvm.nvvm.ceil.f
+ nvvm_ceil_ftz_f, // llvm.nvvm.ceil.ftz.f
+ nvvm_clz_i, // llvm.nvvm.clz.i
+ nvvm_clz_ll, // llvm.nvvm.clz.ll
+ nvvm_compiler_error, // llvm.nvvm.compiler.error
+ nvvm_compiler_warn, // llvm.nvvm.compiler.warn
+ nvvm_cos_approx_f, // llvm.nvvm.cos.approx.f
+ nvvm_cos_approx_ftz_f, // llvm.nvvm.cos.approx.ftz.f
+ nvvm_d2f_rm, // llvm.nvvm.d2f.rm
+ nvvm_d2f_rm_ftz, // llvm.nvvm.d2f.rm.ftz
+ nvvm_d2f_rn, // llvm.nvvm.d2f.rn
+ nvvm_d2f_rn_ftz, // llvm.nvvm.d2f.rn.ftz
+ nvvm_d2f_rp, // llvm.nvvm.d2f.rp
+ nvvm_d2f_rp_ftz, // llvm.nvvm.d2f.rp.ftz
+ nvvm_d2f_rz, // llvm.nvvm.d2f.rz
+ nvvm_d2f_rz_ftz, // llvm.nvvm.d2f.rz.ftz
+ nvvm_d2i_hi, // llvm.nvvm.d2i.hi
+ nvvm_d2i_lo, // llvm.nvvm.d2i.lo
+ nvvm_d2i_rm, // llvm.nvvm.d2i.rm
+ nvvm_d2i_rn, // llvm.nvvm.d2i.rn
+ nvvm_d2i_rp, // llvm.nvvm.d2i.rp
+ nvvm_d2i_rz, // llvm.nvvm.d2i.rz
+ nvvm_d2ll_rm, // llvm.nvvm.d2ll.rm
+ nvvm_d2ll_rn, // llvm.nvvm.d2ll.rn
+ nvvm_d2ll_rp, // llvm.nvvm.d2ll.rp
+ nvvm_d2ll_rz, // llvm.nvvm.d2ll.rz
+ nvvm_d2ui_rm, // llvm.nvvm.d2ui.rm
+ nvvm_d2ui_rn, // llvm.nvvm.d2ui.rn
+ nvvm_d2ui_rp, // llvm.nvvm.d2ui.rp
+ nvvm_d2ui_rz, // llvm.nvvm.d2ui.rz
+ nvvm_d2ull_rm, // llvm.nvvm.d2ull.rm
+ nvvm_d2ull_rn, // llvm.nvvm.d2ull.rn
+ nvvm_d2ull_rp, // llvm.nvvm.d2ull.rp
+ nvvm_d2ull_rz, // llvm.nvvm.d2ull.rz
+ nvvm_div_approx_f, // llvm.nvvm.div.approx.f
+ nvvm_div_approx_ftz_f, // llvm.nvvm.div.approx.ftz.f
+ nvvm_div_rm_d, // llvm.nvvm.div.rm.d
+ nvvm_div_rm_f, // llvm.nvvm.div.rm.f
+ nvvm_div_rm_ftz_f, // llvm.nvvm.div.rm.ftz.f
+ nvvm_div_rn_d, // llvm.nvvm.div.rn.d
+ nvvm_div_rn_f, // llvm.nvvm.div.rn.f
+ nvvm_div_rn_ftz_f, // llvm.nvvm.div.rn.ftz.f
+ nvvm_div_rp_d, // llvm.nvvm.div.rp.d
+ nvvm_div_rp_f, // llvm.nvvm.div.rp.f
+ nvvm_div_rp_ftz_f, // llvm.nvvm.div.rp.ftz.f
+ nvvm_div_rz_d, // llvm.nvvm.div.rz.d
+ nvvm_div_rz_f, // llvm.nvvm.div.rz.f
+ nvvm_div_rz_ftz_f, // llvm.nvvm.div.rz.ftz.f
+ nvvm_ex2_approx_d, // llvm.nvvm.ex2.approx.d
+ nvvm_ex2_approx_f, // llvm.nvvm.ex2.approx.f
+ nvvm_ex2_approx_ftz_f, // llvm.nvvm.ex2.approx.ftz.f
+ nvvm_f2h_rn, // llvm.nvvm.f2h.rn
+ nvvm_f2h_rn_ftz, // llvm.nvvm.f2h.rn.ftz
+ nvvm_f2i_rm, // llvm.nvvm.f2i.rm
+ nvvm_f2i_rm_ftz, // llvm.nvvm.f2i.rm.ftz
+ nvvm_f2i_rn, // llvm.nvvm.f2i.rn
+ nvvm_f2i_rn_ftz, // llvm.nvvm.f2i.rn.ftz
+ nvvm_f2i_rp, // llvm.nvvm.f2i.rp
+ nvvm_f2i_rp_ftz, // llvm.nvvm.f2i.rp.ftz
+ nvvm_f2i_rz, // llvm.nvvm.f2i.rz
+ nvvm_f2i_rz_ftz, // llvm.nvvm.f2i.rz.ftz
+ nvvm_f2ll_rm, // llvm.nvvm.f2ll.rm
+ nvvm_f2ll_rm_ftz, // llvm.nvvm.f2ll.rm.ftz
+ nvvm_f2ll_rn, // llvm.nvvm.f2ll.rn
+ nvvm_f2ll_rn_ftz, // llvm.nvvm.f2ll.rn.ftz
+ nvvm_f2ll_rp, // llvm.nvvm.f2ll.rp
+ nvvm_f2ll_rp_ftz, // llvm.nvvm.f2ll.rp.ftz
+ nvvm_f2ll_rz, // llvm.nvvm.f2ll.rz
+ nvvm_f2ll_rz_ftz, // llvm.nvvm.f2ll.rz.ftz
+ nvvm_f2ui_rm, // llvm.nvvm.f2ui.rm
+ nvvm_f2ui_rm_ftz, // llvm.nvvm.f2ui.rm.ftz
+ nvvm_f2ui_rn, // llvm.nvvm.f2ui.rn
+ nvvm_f2ui_rn_ftz, // llvm.nvvm.f2ui.rn.ftz
+ nvvm_f2ui_rp, // llvm.nvvm.f2ui.rp
+ nvvm_f2ui_rp_ftz, // llvm.nvvm.f2ui.rp.ftz
+ nvvm_f2ui_rz, // llvm.nvvm.f2ui.rz
+ nvvm_f2ui_rz_ftz, // llvm.nvvm.f2ui.rz.ftz
+ nvvm_f2ull_rm, // llvm.nvvm.f2ull.rm
+ nvvm_f2ull_rm_ftz, // llvm.nvvm.f2ull.rm.ftz
+ nvvm_f2ull_rn, // llvm.nvvm.f2ull.rn
+ nvvm_f2ull_rn_ftz, // llvm.nvvm.f2ull.rn.ftz
+ nvvm_f2ull_rp, // llvm.nvvm.f2ull.rp
+ nvvm_f2ull_rp_ftz, // llvm.nvvm.f2ull.rp.ftz
+ nvvm_f2ull_rz, // llvm.nvvm.f2ull.rz
+ nvvm_f2ull_rz_ftz, // llvm.nvvm.f2ull.rz.ftz
+ nvvm_fabs_d, // llvm.nvvm.fabs.d
+ nvvm_fabs_f, // llvm.nvvm.fabs.f
+ nvvm_fabs_ftz_f, // llvm.nvvm.fabs.ftz.f
+ nvvm_floor_d, // llvm.nvvm.floor.d
+ nvvm_floor_f, // llvm.nvvm.floor.f
+ nvvm_floor_ftz_f, // llvm.nvvm.floor.ftz.f
+ nvvm_fma_rm_d, // llvm.nvvm.fma.rm.d
+ nvvm_fma_rm_f, // llvm.nvvm.fma.rm.f
+ nvvm_fma_rm_ftz_f, // llvm.nvvm.fma.rm.ftz.f
+ nvvm_fma_rn_d, // llvm.nvvm.fma.rn.d
+ nvvm_fma_rn_f, // llvm.nvvm.fma.rn.f
+ nvvm_fma_rn_ftz_f, // llvm.nvvm.fma.rn.ftz.f
+ nvvm_fma_rp_d, // llvm.nvvm.fma.rp.d
+ nvvm_fma_rp_f, // llvm.nvvm.fma.rp.f
+ nvvm_fma_rp_ftz_f, // llvm.nvvm.fma.rp.ftz.f
+ nvvm_fma_rz_d, // llvm.nvvm.fma.rz.d
+ nvvm_fma_rz_f, // llvm.nvvm.fma.rz.f
+ nvvm_fma_rz_ftz_f, // llvm.nvvm.fma.rz.ftz.f
+ nvvm_fmax_d, // llvm.nvvm.fmax.d
+ nvvm_fmax_f, // llvm.nvvm.fmax.f
+ nvvm_fmax_ftz_f, // llvm.nvvm.fmax.ftz.f
+ nvvm_fmin_d, // llvm.nvvm.fmin.d
+ nvvm_fmin_f, // llvm.nvvm.fmin.f
+ nvvm_fmin_ftz_f, // llvm.nvvm.fmin.ftz.f
+ nvvm_h2f, // llvm.nvvm.h2f
+ nvvm_i2d_rm, // llvm.nvvm.i2d.rm
+ nvvm_i2d_rn, // llvm.nvvm.i2d.rn
+ nvvm_i2d_rp, // llvm.nvvm.i2d.rp
+ nvvm_i2d_rz, // llvm.nvvm.i2d.rz
+ nvvm_i2f_rm, // llvm.nvvm.i2f.rm
+ nvvm_i2f_rn, // llvm.nvvm.i2f.rn
+ nvvm_i2f_rp, // llvm.nvvm.i2f.rp
+ nvvm_i2f_rz, // llvm.nvvm.i2f.rz
+ nvvm_isspacep_const, // llvm.nvvm.isspacep.const
+ nvvm_isspacep_global, // llvm.nvvm.isspacep.global
+ nvvm_isspacep_local, // llvm.nvvm.isspacep.local
+ nvvm_isspacep_shared, // llvm.nvvm.isspacep.shared
+ nvvm_istypep_sampler, // llvm.nvvm.istypep.sampler
+ nvvm_istypep_surface, // llvm.nvvm.istypep.surface
+ nvvm_istypep_texture, // llvm.nvvm.istypep.texture
+ nvvm_ldg_global_f, // llvm.nvvm.ldg.global.f
+ nvvm_ldg_global_i, // llvm.nvvm.ldg.global.i
+ nvvm_ldg_global_p, // llvm.nvvm.ldg.global.p
+ nvvm_ldu_global_f, // llvm.nvvm.ldu.global.f
+ nvvm_ldu_global_i, // llvm.nvvm.ldu.global.i
+ nvvm_ldu_global_p, // llvm.nvvm.ldu.global.p
+ nvvm_lg2_approx_d, // llvm.nvvm.lg2.approx.d
+ nvvm_lg2_approx_f, // llvm.nvvm.lg2.approx.f
+ nvvm_lg2_approx_ftz_f, // llvm.nvvm.lg2.approx.ftz.f
+ nvvm_ll2d_rm, // llvm.nvvm.ll2d.rm
+ nvvm_ll2d_rn, // llvm.nvvm.ll2d.rn
+ nvvm_ll2d_rp, // llvm.nvvm.ll2d.rp
+ nvvm_ll2d_rz, // llvm.nvvm.ll2d.rz
+ nvvm_ll2f_rm, // llvm.nvvm.ll2f.rm
+ nvvm_ll2f_rn, // llvm.nvvm.ll2f.rn
+ nvvm_ll2f_rp, // llvm.nvvm.ll2f.rp
+ nvvm_ll2f_rz, // llvm.nvvm.ll2f.rz
+ nvvm_lohi_i2d, // llvm.nvvm.lohi.i2d
+ nvvm_max_i, // llvm.nvvm.max.i
+ nvvm_max_ll, // llvm.nvvm.max.ll
+ nvvm_max_ui, // llvm.nvvm.max.ui
+ nvvm_max_ull, // llvm.nvvm.max.ull
+ nvvm_membar_cta, // llvm.nvvm.membar.cta
+ nvvm_membar_gl, // llvm.nvvm.membar.gl
+ nvvm_membar_sys, // llvm.nvvm.membar.sys
+ nvvm_min_i, // llvm.nvvm.min.i
+ nvvm_min_ll, // llvm.nvvm.min.ll
+ nvvm_min_ui, // llvm.nvvm.min.ui
+ nvvm_min_ull, // llvm.nvvm.min.ull
+ nvvm_move_double, // llvm.nvvm.move.double
+ nvvm_move_float, // llvm.nvvm.move.float
+ nvvm_move_i16, // llvm.nvvm.move.i16
+ nvvm_move_i32, // llvm.nvvm.move.i32
+ nvvm_move_i64, // llvm.nvvm.move.i64
+ nvvm_move_ptr, // llvm.nvvm.move.ptr
+ nvvm_mul_rm_d, // llvm.nvvm.mul.rm.d
+ nvvm_mul_rm_f, // llvm.nvvm.mul.rm.f
+ nvvm_mul_rm_ftz_f, // llvm.nvvm.mul.rm.ftz.f
+ nvvm_mul_rn_d, // llvm.nvvm.mul.rn.d
+ nvvm_mul_rn_f, // llvm.nvvm.mul.rn.f
+ nvvm_mul_rn_ftz_f, // llvm.nvvm.mul.rn.ftz.f
+ nvvm_mul_rp_d, // llvm.nvvm.mul.rp.d
+ nvvm_mul_rp_f, // llvm.nvvm.mul.rp.f
+ nvvm_mul_rp_ftz_f, // llvm.nvvm.mul.rp.ftz.f
+ nvvm_mul_rz_d, // llvm.nvvm.mul.rz.d
+ nvvm_mul_rz_f, // llvm.nvvm.mul.rz.f
+ nvvm_mul_rz_ftz_f, // llvm.nvvm.mul.rz.ftz.f
+ nvvm_mul24_i, // llvm.nvvm.mul24.i
+ nvvm_mul24_ui, // llvm.nvvm.mul24.ui
+ nvvm_mulhi_i, // llvm.nvvm.mulhi.i
+ nvvm_mulhi_ll, // llvm.nvvm.mulhi.ll
+ nvvm_mulhi_ui, // llvm.nvvm.mulhi.ui
+ nvvm_mulhi_ull, // llvm.nvvm.mulhi.ull
+ nvvm_popc_i, // llvm.nvvm.popc.i
+ nvvm_popc_ll, // llvm.nvvm.popc.ll
+ nvvm_prmt, // llvm.nvvm.prmt
+ nvvm_ptr_constant_to_gen, // llvm.nvvm.ptr.constant.to.gen
+ nvvm_ptr_gen_to_constant, // llvm.nvvm.ptr.gen.to.constant
+ nvvm_ptr_gen_to_global, // llvm.nvvm.ptr.gen.to.global
+ nvvm_ptr_gen_to_local, // llvm.nvvm.ptr.gen.to.local
+ nvvm_ptr_gen_to_param, // llvm.nvvm.ptr.gen.to.param
+ nvvm_ptr_gen_to_shared, // llvm.nvvm.ptr.gen.to.shared
+ nvvm_ptr_global_to_gen, // llvm.nvvm.ptr.global.to.gen
+ nvvm_ptr_local_to_gen, // llvm.nvvm.ptr.local.to.gen
+ nvvm_ptr_shared_to_gen, // llvm.nvvm.ptr.shared.to.gen
+ nvvm_rcp_approx_ftz_d, // llvm.nvvm.rcp.approx.ftz.d
+ nvvm_rcp_rm_d, // llvm.nvvm.rcp.rm.d
+ nvvm_rcp_rm_f, // llvm.nvvm.rcp.rm.f
+ nvvm_rcp_rm_ftz_f, // llvm.nvvm.rcp.rm.ftz.f
+ nvvm_rcp_rn_d, // llvm.nvvm.rcp.rn.d
+ nvvm_rcp_rn_f, // llvm.nvvm.rcp.rn.f
+ nvvm_rcp_rn_ftz_f, // llvm.nvvm.rcp.rn.ftz.f
+ nvvm_rcp_rp_d, // llvm.nvvm.rcp.rp.d
+ nvvm_rcp_rp_f, // llvm.nvvm.rcp.rp.f
+ nvvm_rcp_rp_ftz_f, // llvm.nvvm.rcp.rp.ftz.f
+ nvvm_rcp_rz_d, // llvm.nvvm.rcp.rz.d
+ nvvm_rcp_rz_f, // llvm.nvvm.rcp.rz.f
+ nvvm_rcp_rz_ftz_f, // llvm.nvvm.rcp.rz.ftz.f
+ nvvm_read_ptx_sreg_clock, // llvm.nvvm.read.ptx.sreg.clock
+ nvvm_read_ptx_sreg_clock64, // llvm.nvvm.read.ptx.sreg.clock64
+ nvvm_read_ptx_sreg_ctaid_w, // llvm.nvvm.read.ptx.sreg.ctaid.w
+ nvvm_read_ptx_sreg_ctaid_x, // llvm.nvvm.read.ptx.sreg.ctaid.x
+ nvvm_read_ptx_sreg_ctaid_y, // llvm.nvvm.read.ptx.sreg.ctaid.y
+ nvvm_read_ptx_sreg_ctaid_z, // llvm.nvvm.read.ptx.sreg.ctaid.z
+ nvvm_read_ptx_sreg_envreg0, // llvm.nvvm.read.ptx.sreg.envreg0
+ nvvm_read_ptx_sreg_envreg1, // llvm.nvvm.read.ptx.sreg.envreg1
+ nvvm_read_ptx_sreg_envreg10, // llvm.nvvm.read.ptx.sreg.envreg10
+ nvvm_read_ptx_sreg_envreg11, // llvm.nvvm.read.ptx.sreg.envreg11
+ nvvm_read_ptx_sreg_envreg12, // llvm.nvvm.read.ptx.sreg.envreg12
+ nvvm_read_ptx_sreg_envreg13, // llvm.nvvm.read.ptx.sreg.envreg13
+ nvvm_read_ptx_sreg_envreg14, // llvm.nvvm.read.ptx.sreg.envreg14
+ nvvm_read_ptx_sreg_envreg15, // llvm.nvvm.read.ptx.sreg.envreg15
+ nvvm_read_ptx_sreg_envreg16, // llvm.nvvm.read.ptx.sreg.envreg16
+ nvvm_read_ptx_sreg_envreg17, // llvm.nvvm.read.ptx.sreg.envreg17
+ nvvm_read_ptx_sreg_envreg18, // llvm.nvvm.read.ptx.sreg.envreg18
+ nvvm_read_ptx_sreg_envreg19, // llvm.nvvm.read.ptx.sreg.envreg19
+ nvvm_read_ptx_sreg_envreg2, // llvm.nvvm.read.ptx.sreg.envreg2
+ nvvm_read_ptx_sreg_envreg20, // llvm.nvvm.read.ptx.sreg.envreg20
+ nvvm_read_ptx_sreg_envreg21, // llvm.nvvm.read.ptx.sreg.envreg21
+ nvvm_read_ptx_sreg_envreg22, // llvm.nvvm.read.ptx.sreg.envreg22
+ nvvm_read_ptx_sreg_envreg23, // llvm.nvvm.read.ptx.sreg.envreg23
+ nvvm_read_ptx_sreg_envreg24, // llvm.nvvm.read.ptx.sreg.envreg24
+ nvvm_read_ptx_sreg_envreg25, // llvm.nvvm.read.ptx.sreg.envreg25
+ nvvm_read_ptx_sreg_envreg26, // llvm.nvvm.read.ptx.sreg.envreg26
+ nvvm_read_ptx_sreg_envreg27, // llvm.nvvm.read.ptx.sreg.envreg27
+ nvvm_read_ptx_sreg_envreg28, // llvm.nvvm.read.ptx.sreg.envreg28
+ nvvm_read_ptx_sreg_envreg29, // llvm.nvvm.read.ptx.sreg.envreg29
+ nvvm_read_ptx_sreg_envreg3, // llvm.nvvm.read.ptx.sreg.envreg3
+ nvvm_read_ptx_sreg_envreg30, // llvm.nvvm.read.ptx.sreg.envreg30
+ nvvm_read_ptx_sreg_envreg31, // llvm.nvvm.read.ptx.sreg.envreg31
+ nvvm_read_ptx_sreg_envreg4, // llvm.nvvm.read.ptx.sreg.envreg4
+ nvvm_read_ptx_sreg_envreg5, // llvm.nvvm.read.ptx.sreg.envreg5
+ nvvm_read_ptx_sreg_envreg6, // llvm.nvvm.read.ptx.sreg.envreg6
+ nvvm_read_ptx_sreg_envreg7, // llvm.nvvm.read.ptx.sreg.envreg7
+ nvvm_read_ptx_sreg_envreg8, // llvm.nvvm.read.ptx.sreg.envreg8
+ nvvm_read_ptx_sreg_envreg9, // llvm.nvvm.read.ptx.sreg.envreg9
+ nvvm_read_ptx_sreg_gridid, // llvm.nvvm.read.ptx.sreg.gridid
+ nvvm_read_ptx_sreg_laneid, // llvm.nvvm.read.ptx.sreg.laneid
+ nvvm_read_ptx_sreg_lanemask_eq, // llvm.nvvm.read.ptx.sreg.lanemask.eq
+ nvvm_read_ptx_sreg_lanemask_ge, // llvm.nvvm.read.ptx.sreg.lanemask.ge
+ nvvm_read_ptx_sreg_lanemask_gt, // llvm.nvvm.read.ptx.sreg.lanemask.gt
+ nvvm_read_ptx_sreg_lanemask_le, // llvm.nvvm.read.ptx.sreg.lanemask.le
+ nvvm_read_ptx_sreg_lanemask_lt, // llvm.nvvm.read.ptx.sreg.lanemask.lt
+ nvvm_read_ptx_sreg_nctaid_w, // llvm.nvvm.read.ptx.sreg.nctaid.w
+ nvvm_read_ptx_sreg_nctaid_x, // llvm.nvvm.read.ptx.sreg.nctaid.x
+ nvvm_read_ptx_sreg_nctaid_y, // llvm.nvvm.read.ptx.sreg.nctaid.y
+ nvvm_read_ptx_sreg_nctaid_z, // llvm.nvvm.read.ptx.sreg.nctaid.z
+ nvvm_read_ptx_sreg_nsmid, // llvm.nvvm.read.ptx.sreg.nsmid
+ nvvm_read_ptx_sreg_ntid_w, // llvm.nvvm.read.ptx.sreg.ntid.w
+ nvvm_read_ptx_sreg_ntid_x, // llvm.nvvm.read.ptx.sreg.ntid.x
+ nvvm_read_ptx_sreg_ntid_y, // llvm.nvvm.read.ptx.sreg.ntid.y
+ nvvm_read_ptx_sreg_ntid_z, // llvm.nvvm.read.ptx.sreg.ntid.z
+ nvvm_read_ptx_sreg_nwarpid, // llvm.nvvm.read.ptx.sreg.nwarpid
+ nvvm_read_ptx_sreg_pm0, // llvm.nvvm.read.ptx.sreg.pm0
+ nvvm_read_ptx_sreg_pm1, // llvm.nvvm.read.ptx.sreg.pm1
+ nvvm_read_ptx_sreg_pm2, // llvm.nvvm.read.ptx.sreg.pm2
+ nvvm_read_ptx_sreg_pm3, // llvm.nvvm.read.ptx.sreg.pm3
+ nvvm_read_ptx_sreg_smid, // llvm.nvvm.read.ptx.sreg.smid
+ nvvm_read_ptx_sreg_tid_w, // llvm.nvvm.read.ptx.sreg.tid.w
+ nvvm_read_ptx_sreg_tid_x, // llvm.nvvm.read.ptx.sreg.tid.x
+ nvvm_read_ptx_sreg_tid_y, // llvm.nvvm.read.ptx.sreg.tid.y
+ nvvm_read_ptx_sreg_tid_z, // llvm.nvvm.read.ptx.sreg.tid.z
+ nvvm_read_ptx_sreg_warpid, // llvm.nvvm.read.ptx.sreg.warpid
+ nvvm_read_ptx_sreg_warpsize, // llvm.nvvm.read.ptx.sreg.warpsize
+ nvvm_reflect, // llvm.nvvm.reflect
+ nvvm_rotate_b32, // llvm.nvvm.rotate.b32
+ nvvm_rotate_b64, // llvm.nvvm.rotate.b64
+ nvvm_rotate_right_b64, // llvm.nvvm.rotate.right.b64
+ nvvm_round_d, // llvm.nvvm.round.d
+ nvvm_round_f, // llvm.nvvm.round.f
+ nvvm_round_ftz_f, // llvm.nvvm.round.ftz.f
+ nvvm_rsqrt_approx_d, // llvm.nvvm.rsqrt.approx.d
+ nvvm_rsqrt_approx_f, // llvm.nvvm.rsqrt.approx.f
+ nvvm_rsqrt_approx_ftz_f, // llvm.nvvm.rsqrt.approx.ftz.f
+ nvvm_sad_i, // llvm.nvvm.sad.i
+ nvvm_sad_ui, // llvm.nvvm.sad.ui
+ nvvm_saturate_d, // llvm.nvvm.saturate.d
+ nvvm_saturate_f, // llvm.nvvm.saturate.f
+ nvvm_saturate_ftz_f, // llvm.nvvm.saturate.ftz.f
+ nvvm_shfl_bfly_f32, // llvm.nvvm.shfl.bfly.f32
+ nvvm_shfl_bfly_i32, // llvm.nvvm.shfl.bfly.i32
+ nvvm_shfl_down_f32, // llvm.nvvm.shfl.down.f32
+ nvvm_shfl_down_i32, // llvm.nvvm.shfl.down.i32
+ nvvm_shfl_idx_f32, // llvm.nvvm.shfl.idx.f32
+ nvvm_shfl_idx_i32, // llvm.nvvm.shfl.idx.i32
+ nvvm_shfl_up_f32, // llvm.nvvm.shfl.up.f32
+ nvvm_shfl_up_i32, // llvm.nvvm.shfl.up.i32
+ nvvm_sin_approx_f, // llvm.nvvm.sin.approx.f
+ nvvm_sin_approx_ftz_f, // llvm.nvvm.sin.approx.ftz.f
+ nvvm_sqrt_approx_f, // llvm.nvvm.sqrt.approx.f
+ nvvm_sqrt_approx_ftz_f, // llvm.nvvm.sqrt.approx.ftz.f
+ nvvm_sqrt_f, // llvm.nvvm.sqrt.f
+ nvvm_sqrt_rm_d, // llvm.nvvm.sqrt.rm.d
+ nvvm_sqrt_rm_f, // llvm.nvvm.sqrt.rm.f
+ nvvm_sqrt_rm_ftz_f, // llvm.nvvm.sqrt.rm.ftz.f
+ nvvm_sqrt_rn_d, // llvm.nvvm.sqrt.rn.d
+ nvvm_sqrt_rn_f, // llvm.nvvm.sqrt.rn.f
+ nvvm_sqrt_rn_ftz_f, // llvm.nvvm.sqrt.rn.ftz.f
+ nvvm_sqrt_rp_d, // llvm.nvvm.sqrt.rp.d
+ nvvm_sqrt_rp_f, // llvm.nvvm.sqrt.rp.f
+ nvvm_sqrt_rp_ftz_f, // llvm.nvvm.sqrt.rp.ftz.f
+ nvvm_sqrt_rz_d, // llvm.nvvm.sqrt.rz.d
+ nvvm_sqrt_rz_f, // llvm.nvvm.sqrt.rz.f
+ nvvm_sqrt_rz_ftz_f, // llvm.nvvm.sqrt.rz.ftz.f
+ nvvm_suld_1d_array_i16_clamp, // llvm.nvvm.suld.1d.array.i16.clamp
+ nvvm_suld_1d_array_i16_trap, // llvm.nvvm.suld.1d.array.i16.trap
+ nvvm_suld_1d_array_i16_zero, // llvm.nvvm.suld.1d.array.i16.zero
+ nvvm_suld_1d_array_i32_clamp, // llvm.nvvm.suld.1d.array.i32.clamp
+ nvvm_suld_1d_array_i32_trap, // llvm.nvvm.suld.1d.array.i32.trap
+ nvvm_suld_1d_array_i32_zero, // llvm.nvvm.suld.1d.array.i32.zero
+ nvvm_suld_1d_array_i64_clamp, // llvm.nvvm.suld.1d.array.i64.clamp
+ nvvm_suld_1d_array_i64_trap, // llvm.nvvm.suld.1d.array.i64.trap
+ nvvm_suld_1d_array_i64_zero, // llvm.nvvm.suld.1d.array.i64.zero
+ nvvm_suld_1d_array_i8_clamp, // llvm.nvvm.suld.1d.array.i8.clamp
+ nvvm_suld_1d_array_i8_trap, // llvm.nvvm.suld.1d.array.i8.trap
+ nvvm_suld_1d_array_i8_zero, // llvm.nvvm.suld.1d.array.i8.zero
+ nvvm_suld_1d_array_v2i16_clamp, // llvm.nvvm.suld.1d.array.v2i16.clamp
+ nvvm_suld_1d_array_v2i16_trap, // llvm.nvvm.suld.1d.array.v2i16.trap
+ nvvm_suld_1d_array_v2i16_zero, // llvm.nvvm.suld.1d.array.v2i16.zero
+ nvvm_suld_1d_array_v2i32_clamp, // llvm.nvvm.suld.1d.array.v2i32.clamp
+ nvvm_suld_1d_array_v2i32_trap, // llvm.nvvm.suld.1d.array.v2i32.trap
+ nvvm_suld_1d_array_v2i32_zero, // llvm.nvvm.suld.1d.array.v2i32.zero
+ nvvm_suld_1d_array_v2i64_clamp, // llvm.nvvm.suld.1d.array.v2i64.clamp
+ nvvm_suld_1d_array_v2i64_trap, // llvm.nvvm.suld.1d.array.v2i64.trap
+ nvvm_suld_1d_array_v2i64_zero, // llvm.nvvm.suld.1d.array.v2i64.zero
+ nvvm_suld_1d_array_v2i8_clamp, // llvm.nvvm.suld.1d.array.v2i8.clamp
+ nvvm_suld_1d_array_v2i8_trap, // llvm.nvvm.suld.1d.array.v2i8.trap
+ nvvm_suld_1d_array_v2i8_zero, // llvm.nvvm.suld.1d.array.v2i8.zero
+ nvvm_suld_1d_array_v4i16_clamp, // llvm.nvvm.suld.1d.array.v4i16.clamp
+ nvvm_suld_1d_array_v4i16_trap, // llvm.nvvm.suld.1d.array.v4i16.trap
+ nvvm_suld_1d_array_v4i16_zero, // llvm.nvvm.suld.1d.array.v4i16.zero
+ nvvm_suld_1d_array_v4i32_clamp, // llvm.nvvm.suld.1d.array.v4i32.clamp
+ nvvm_suld_1d_array_v4i32_trap, // llvm.nvvm.suld.1d.array.v4i32.trap
+ nvvm_suld_1d_array_v4i32_zero, // llvm.nvvm.suld.1d.array.v4i32.zero
+ nvvm_suld_1d_array_v4i8_clamp, // llvm.nvvm.suld.1d.array.v4i8.clamp
+ nvvm_suld_1d_array_v4i8_trap, // llvm.nvvm.suld.1d.array.v4i8.trap
+ nvvm_suld_1d_array_v4i8_zero, // llvm.nvvm.suld.1d.array.v4i8.zero
+ nvvm_suld_1d_i16_clamp, // llvm.nvvm.suld.1d.i16.clamp
+ nvvm_suld_1d_i16_trap, // llvm.nvvm.suld.1d.i16.trap
+ nvvm_suld_1d_i16_zero, // llvm.nvvm.suld.1d.i16.zero
+ nvvm_suld_1d_i32_clamp, // llvm.nvvm.suld.1d.i32.clamp
+ nvvm_suld_1d_i32_trap, // llvm.nvvm.suld.1d.i32.trap
+ nvvm_suld_1d_i32_zero, // llvm.nvvm.suld.1d.i32.zero
+ nvvm_suld_1d_i64_clamp, // llvm.nvvm.suld.1d.i64.clamp
+ nvvm_suld_1d_i64_trap, // llvm.nvvm.suld.1d.i64.trap
+ nvvm_suld_1d_i64_zero, // llvm.nvvm.suld.1d.i64.zero
+ nvvm_suld_1d_i8_clamp, // llvm.nvvm.suld.1d.i8.clamp
+ nvvm_suld_1d_i8_trap, // llvm.nvvm.suld.1d.i8.trap
+ nvvm_suld_1d_i8_zero, // llvm.nvvm.suld.1d.i8.zero
+ nvvm_suld_1d_v2i16_clamp, // llvm.nvvm.suld.1d.v2i16.clamp
+ nvvm_suld_1d_v2i16_trap, // llvm.nvvm.suld.1d.v2i16.trap
+ nvvm_suld_1d_v2i16_zero, // llvm.nvvm.suld.1d.v2i16.zero
+ nvvm_suld_1d_v2i32_clamp, // llvm.nvvm.suld.1d.v2i32.clamp
+ nvvm_suld_1d_v2i32_trap, // llvm.nvvm.suld.1d.v2i32.trap
+ nvvm_suld_1d_v2i32_zero, // llvm.nvvm.suld.1d.v2i32.zero
+ nvvm_suld_1d_v2i64_clamp, // llvm.nvvm.suld.1d.v2i64.clamp
+ nvvm_suld_1d_v2i64_trap, // llvm.nvvm.suld.1d.v2i64.trap
+ nvvm_suld_1d_v2i64_zero, // llvm.nvvm.suld.1d.v2i64.zero
+ nvvm_suld_1d_v2i8_clamp, // llvm.nvvm.suld.1d.v2i8.clamp
+ nvvm_suld_1d_v2i8_trap, // llvm.nvvm.suld.1d.v2i8.trap
+ nvvm_suld_1d_v2i8_zero, // llvm.nvvm.suld.1d.v2i8.zero
+ nvvm_suld_1d_v4i16_clamp, // llvm.nvvm.suld.1d.v4i16.clamp
+ nvvm_suld_1d_v4i16_trap, // llvm.nvvm.suld.1d.v4i16.trap
+ nvvm_suld_1d_v4i16_zero, // llvm.nvvm.suld.1d.v4i16.zero
+ nvvm_suld_1d_v4i32_clamp, // llvm.nvvm.suld.1d.v4i32.clamp
+ nvvm_suld_1d_v4i32_trap, // llvm.nvvm.suld.1d.v4i32.trap
+ nvvm_suld_1d_v4i32_zero, // llvm.nvvm.suld.1d.v4i32.zero
+ nvvm_suld_1d_v4i8_clamp, // llvm.nvvm.suld.1d.v4i8.clamp
+ nvvm_suld_1d_v4i8_trap, // llvm.nvvm.suld.1d.v4i8.trap
+ nvvm_suld_1d_v4i8_zero, // llvm.nvvm.suld.1d.v4i8.zero
+ nvvm_suld_2d_array_i16_clamp, // llvm.nvvm.suld.2d.array.i16.clamp
+ nvvm_suld_2d_array_i16_trap, // llvm.nvvm.suld.2d.array.i16.trap
+ nvvm_suld_2d_array_i16_zero, // llvm.nvvm.suld.2d.array.i16.zero
+ nvvm_suld_2d_array_i32_clamp, // llvm.nvvm.suld.2d.array.i32.clamp
+ nvvm_suld_2d_array_i32_trap, // llvm.nvvm.suld.2d.array.i32.trap
+ nvvm_suld_2d_array_i32_zero, // llvm.nvvm.suld.2d.array.i32.zero
+ nvvm_suld_2d_array_i64_clamp, // llvm.nvvm.suld.2d.array.i64.clamp
+ nvvm_suld_2d_array_i64_trap, // llvm.nvvm.suld.2d.array.i64.trap
+ nvvm_suld_2d_array_i64_zero, // llvm.nvvm.suld.2d.array.i64.zero
+ nvvm_suld_2d_array_i8_clamp, // llvm.nvvm.suld.2d.array.i8.clamp
+ nvvm_suld_2d_array_i8_trap, // llvm.nvvm.suld.2d.array.i8.trap
+ nvvm_suld_2d_array_i8_zero, // llvm.nvvm.suld.2d.array.i8.zero
+ nvvm_suld_2d_array_v2i16_clamp, // llvm.nvvm.suld.2d.array.v2i16.clamp
+ nvvm_suld_2d_array_v2i16_trap, // llvm.nvvm.suld.2d.array.v2i16.trap
+ nvvm_suld_2d_array_v2i16_zero, // llvm.nvvm.suld.2d.array.v2i16.zero
+ nvvm_suld_2d_array_v2i32_clamp, // llvm.nvvm.suld.2d.array.v2i32.clamp
+ nvvm_suld_2d_array_v2i32_trap, // llvm.nvvm.suld.2d.array.v2i32.trap
+ nvvm_suld_2d_array_v2i32_zero, // llvm.nvvm.suld.2d.array.v2i32.zero
+ nvvm_suld_2d_array_v2i64_clamp, // llvm.nvvm.suld.2d.array.v2i64.clamp
+ nvvm_suld_2d_array_v2i64_trap, // llvm.nvvm.suld.2d.array.v2i64.trap
+ nvvm_suld_2d_array_v2i64_zero, // llvm.nvvm.suld.2d.array.v2i64.zero
+ nvvm_suld_2d_array_v2i8_clamp, // llvm.nvvm.suld.2d.array.v2i8.clamp
+ nvvm_suld_2d_array_v2i8_trap, // llvm.nvvm.suld.2d.array.v2i8.trap
+ nvvm_suld_2d_array_v2i8_zero, // llvm.nvvm.suld.2d.array.v2i8.zero
+ nvvm_suld_2d_array_v4i16_clamp, // llvm.nvvm.suld.2d.array.v4i16.clamp
+ nvvm_suld_2d_array_v4i16_trap, // llvm.nvvm.suld.2d.array.v4i16.trap
+ nvvm_suld_2d_array_v4i16_zero, // llvm.nvvm.suld.2d.array.v4i16.zero
+ nvvm_suld_2d_array_v4i32_clamp, // llvm.nvvm.suld.2d.array.v4i32.clamp
+ nvvm_suld_2d_array_v4i32_trap, // llvm.nvvm.suld.2d.array.v4i32.trap
+ nvvm_suld_2d_array_v4i32_zero, // llvm.nvvm.suld.2d.array.v4i32.zero
+ nvvm_suld_2d_array_v4i8_clamp, // llvm.nvvm.suld.2d.array.v4i8.clamp
+ nvvm_suld_2d_array_v4i8_trap, // llvm.nvvm.suld.2d.array.v4i8.trap
+ nvvm_suld_2d_array_v4i8_zero, // llvm.nvvm.suld.2d.array.v4i8.zero
+ nvvm_suld_2d_i16_clamp, // llvm.nvvm.suld.2d.i16.clamp
+ nvvm_suld_2d_i16_trap, // llvm.nvvm.suld.2d.i16.trap
+ nvvm_suld_2d_i16_zero, // llvm.nvvm.suld.2d.i16.zero
+ nvvm_suld_2d_i32_clamp, // llvm.nvvm.suld.2d.i32.clamp
+ nvvm_suld_2d_i32_trap, // llvm.nvvm.suld.2d.i32.trap
+ nvvm_suld_2d_i32_zero, // llvm.nvvm.suld.2d.i32.zero
+ nvvm_suld_2d_i64_clamp, // llvm.nvvm.suld.2d.i64.clamp
+ nvvm_suld_2d_i64_trap, // llvm.nvvm.suld.2d.i64.trap
+ nvvm_suld_2d_i64_zero, // llvm.nvvm.suld.2d.i64.zero
+ nvvm_suld_2d_i8_clamp, // llvm.nvvm.suld.2d.i8.clamp
+ nvvm_suld_2d_i8_trap, // llvm.nvvm.suld.2d.i8.trap
+ nvvm_suld_2d_i8_zero, // llvm.nvvm.suld.2d.i8.zero
+ nvvm_suld_2d_v2i16_clamp, // llvm.nvvm.suld.2d.v2i16.clamp
+ nvvm_suld_2d_v2i16_trap, // llvm.nvvm.suld.2d.v2i16.trap
+ nvvm_suld_2d_v2i16_zero, // llvm.nvvm.suld.2d.v2i16.zero
+ nvvm_suld_2d_v2i32_clamp, // llvm.nvvm.suld.2d.v2i32.clamp
+ nvvm_suld_2d_v2i32_trap, // llvm.nvvm.suld.2d.v2i32.trap
+ nvvm_suld_2d_v2i32_zero, // llvm.nvvm.suld.2d.v2i32.zero
+ nvvm_suld_2d_v2i64_clamp, // llvm.nvvm.suld.2d.v2i64.clamp
+ nvvm_suld_2d_v2i64_trap, // llvm.nvvm.suld.2d.v2i64.trap
+ nvvm_suld_2d_v2i64_zero, // llvm.nvvm.suld.2d.v2i64.zero
+ nvvm_suld_2d_v2i8_clamp, // llvm.nvvm.suld.2d.v2i8.clamp
+ nvvm_suld_2d_v2i8_trap, // llvm.nvvm.suld.2d.v2i8.trap
+ nvvm_suld_2d_v2i8_zero, // llvm.nvvm.suld.2d.v2i8.zero
+ nvvm_suld_2d_v4i16_clamp, // llvm.nvvm.suld.2d.v4i16.clamp
+ nvvm_suld_2d_v4i16_trap, // llvm.nvvm.suld.2d.v4i16.trap
+ nvvm_suld_2d_v4i16_zero, // llvm.nvvm.suld.2d.v4i16.zero
+ nvvm_suld_2d_v4i32_clamp, // llvm.nvvm.suld.2d.v4i32.clamp
+ nvvm_suld_2d_v4i32_trap, // llvm.nvvm.suld.2d.v4i32.trap
+ nvvm_suld_2d_v4i32_zero, // llvm.nvvm.suld.2d.v4i32.zero
+ nvvm_suld_2d_v4i8_clamp, // llvm.nvvm.suld.2d.v4i8.clamp
+ nvvm_suld_2d_v4i8_trap, // llvm.nvvm.suld.2d.v4i8.trap
+ nvvm_suld_2d_v4i8_zero, // llvm.nvvm.suld.2d.v4i8.zero
+ nvvm_suld_3d_i16_clamp, // llvm.nvvm.suld.3d.i16.clamp
+ nvvm_suld_3d_i16_trap, // llvm.nvvm.suld.3d.i16.trap
+ nvvm_suld_3d_i16_zero, // llvm.nvvm.suld.3d.i16.zero
+ nvvm_suld_3d_i32_clamp, // llvm.nvvm.suld.3d.i32.clamp
+ nvvm_suld_3d_i32_trap, // llvm.nvvm.suld.3d.i32.trap
+ nvvm_suld_3d_i32_zero, // llvm.nvvm.suld.3d.i32.zero
+ nvvm_suld_3d_i64_clamp, // llvm.nvvm.suld.3d.i64.clamp
+ nvvm_suld_3d_i64_trap, // llvm.nvvm.suld.3d.i64.trap
+ nvvm_suld_3d_i64_zero, // llvm.nvvm.suld.3d.i64.zero
+ nvvm_suld_3d_i8_clamp, // llvm.nvvm.suld.3d.i8.clamp
+ nvvm_suld_3d_i8_trap, // llvm.nvvm.suld.3d.i8.trap
+ nvvm_suld_3d_i8_zero, // llvm.nvvm.suld.3d.i8.zero
+ nvvm_suld_3d_v2i16_clamp, // llvm.nvvm.suld.3d.v2i16.clamp
+ nvvm_suld_3d_v2i16_trap, // llvm.nvvm.suld.3d.v2i16.trap
+ nvvm_suld_3d_v2i16_zero, // llvm.nvvm.suld.3d.v2i16.zero
+ nvvm_suld_3d_v2i32_clamp, // llvm.nvvm.suld.3d.v2i32.clamp
+ nvvm_suld_3d_v2i32_trap, // llvm.nvvm.suld.3d.v2i32.trap
+ nvvm_suld_3d_v2i32_zero, // llvm.nvvm.suld.3d.v2i32.zero
+ nvvm_suld_3d_v2i64_clamp, // llvm.nvvm.suld.3d.v2i64.clamp
+ nvvm_suld_3d_v2i64_trap, // llvm.nvvm.suld.3d.v2i64.trap
+ nvvm_suld_3d_v2i64_zero, // llvm.nvvm.suld.3d.v2i64.zero
+ nvvm_suld_3d_v2i8_clamp, // llvm.nvvm.suld.3d.v2i8.clamp
+ nvvm_suld_3d_v2i8_trap, // llvm.nvvm.suld.3d.v2i8.trap
+ nvvm_suld_3d_v2i8_zero, // llvm.nvvm.suld.3d.v2i8.zero
+ nvvm_suld_3d_v4i16_clamp, // llvm.nvvm.suld.3d.v4i16.clamp
+ nvvm_suld_3d_v4i16_trap, // llvm.nvvm.suld.3d.v4i16.trap
+ nvvm_suld_3d_v4i16_zero, // llvm.nvvm.suld.3d.v4i16.zero
+ nvvm_suld_3d_v4i32_clamp, // llvm.nvvm.suld.3d.v4i32.clamp
+ nvvm_suld_3d_v4i32_trap, // llvm.nvvm.suld.3d.v4i32.trap
+ nvvm_suld_3d_v4i32_zero, // llvm.nvvm.suld.3d.v4i32.zero
+ nvvm_suld_3d_v4i8_clamp, // llvm.nvvm.suld.3d.v4i8.clamp
+ nvvm_suld_3d_v4i8_trap, // llvm.nvvm.suld.3d.v4i8.trap
+ nvvm_suld_3d_v4i8_zero, // llvm.nvvm.suld.3d.v4i8.zero
+ nvvm_suq_array_size, // llvm.nvvm.suq.array.size
+ nvvm_suq_channel_data_type, // llvm.nvvm.suq.channel.data.type
+ nvvm_suq_channel_order, // llvm.nvvm.suq.channel.order
+ nvvm_suq_depth, // llvm.nvvm.suq.depth
+ nvvm_suq_height, // llvm.nvvm.suq.height
+ nvvm_suq_width, // llvm.nvvm.suq.width
+ nvvm_sust_b_1d_array_i16_clamp, // llvm.nvvm.sust.b.1d.array.i16.clamp
+ nvvm_sust_b_1d_array_i16_trap, // llvm.nvvm.sust.b.1d.array.i16.trap
+ nvvm_sust_b_1d_array_i16_zero, // llvm.nvvm.sust.b.1d.array.i16.zero
+ nvvm_sust_b_1d_array_i32_clamp, // llvm.nvvm.sust.b.1d.array.i32.clamp
+ nvvm_sust_b_1d_array_i32_trap, // llvm.nvvm.sust.b.1d.array.i32.trap
+ nvvm_sust_b_1d_array_i32_zero, // llvm.nvvm.sust.b.1d.array.i32.zero
+ nvvm_sust_b_1d_array_i64_clamp, // llvm.nvvm.sust.b.1d.array.i64.clamp
+ nvvm_sust_b_1d_array_i64_trap, // llvm.nvvm.sust.b.1d.array.i64.trap
+ nvvm_sust_b_1d_array_i64_zero, // llvm.nvvm.sust.b.1d.array.i64.zero
+ nvvm_sust_b_1d_array_i8_clamp, // llvm.nvvm.sust.b.1d.array.i8.clamp
+ nvvm_sust_b_1d_array_i8_trap, // llvm.nvvm.sust.b.1d.array.i8.trap
+ nvvm_sust_b_1d_array_i8_zero, // llvm.nvvm.sust.b.1d.array.i8.zero
+ nvvm_sust_b_1d_array_v2i16_clamp, // llvm.nvvm.sust.b.1d.array.v2i16.clamp
+ nvvm_sust_b_1d_array_v2i16_trap, // llvm.nvvm.sust.b.1d.array.v2i16.trap
+ nvvm_sust_b_1d_array_v2i16_zero, // llvm.nvvm.sust.b.1d.array.v2i16.zero
+ nvvm_sust_b_1d_array_v2i32_clamp, // llvm.nvvm.sust.b.1d.array.v2i32.clamp
+ nvvm_sust_b_1d_array_v2i32_trap, // llvm.nvvm.sust.b.1d.array.v2i32.trap
+ nvvm_sust_b_1d_array_v2i32_zero, // llvm.nvvm.sust.b.1d.array.v2i32.zero
+ nvvm_sust_b_1d_array_v2i64_clamp, // llvm.nvvm.sust.b.1d.array.v2i64.clamp
+ nvvm_sust_b_1d_array_v2i64_trap, // llvm.nvvm.sust.b.1d.array.v2i64.trap
+ nvvm_sust_b_1d_array_v2i64_zero, // llvm.nvvm.sust.b.1d.array.v2i64.zero
+ nvvm_sust_b_1d_array_v2i8_clamp, // llvm.nvvm.sust.b.1d.array.v2i8.clamp
+ nvvm_sust_b_1d_array_v2i8_trap, // llvm.nvvm.sust.b.1d.array.v2i8.trap
+ nvvm_sust_b_1d_array_v2i8_zero, // llvm.nvvm.sust.b.1d.array.v2i8.zero
+ nvvm_sust_b_1d_array_v4i16_clamp, // llvm.nvvm.sust.b.1d.array.v4i16.clamp
+ nvvm_sust_b_1d_array_v4i16_trap, // llvm.nvvm.sust.b.1d.array.v4i16.trap
+ nvvm_sust_b_1d_array_v4i16_zero, // llvm.nvvm.sust.b.1d.array.v4i16.zero
+ nvvm_sust_b_1d_array_v4i32_clamp, // llvm.nvvm.sust.b.1d.array.v4i32.clamp
+ nvvm_sust_b_1d_array_v4i32_trap, // llvm.nvvm.sust.b.1d.array.v4i32.trap
+ nvvm_sust_b_1d_array_v4i32_zero, // llvm.nvvm.sust.b.1d.array.v4i32.zero
+ nvvm_sust_b_1d_array_v4i8_clamp, // llvm.nvvm.sust.b.1d.array.v4i8.clamp
+ nvvm_sust_b_1d_array_v4i8_trap, // llvm.nvvm.sust.b.1d.array.v4i8.trap
+ nvvm_sust_b_1d_array_v4i8_zero, // llvm.nvvm.sust.b.1d.array.v4i8.zero
+ nvvm_sust_b_1d_i16_clamp, // llvm.nvvm.sust.b.1d.i16.clamp
+ nvvm_sust_b_1d_i16_trap, // llvm.nvvm.sust.b.1d.i16.trap
+ nvvm_sust_b_1d_i16_zero, // llvm.nvvm.sust.b.1d.i16.zero
+ nvvm_sust_b_1d_i32_clamp, // llvm.nvvm.sust.b.1d.i32.clamp
+ nvvm_sust_b_1d_i32_trap, // llvm.nvvm.sust.b.1d.i32.trap
+ nvvm_sust_b_1d_i32_zero, // llvm.nvvm.sust.b.1d.i32.zero
+ nvvm_sust_b_1d_i64_clamp, // llvm.nvvm.sust.b.1d.i64.clamp
+ nvvm_sust_b_1d_i64_trap, // llvm.nvvm.sust.b.1d.i64.trap
+ nvvm_sust_b_1d_i64_zero, // llvm.nvvm.sust.b.1d.i64.zero
+ nvvm_sust_b_1d_i8_clamp, // llvm.nvvm.sust.b.1d.i8.clamp
+ nvvm_sust_b_1d_i8_trap, // llvm.nvvm.sust.b.1d.i8.trap
+ nvvm_sust_b_1d_i8_zero, // llvm.nvvm.sust.b.1d.i8.zero
+ nvvm_sust_b_1d_v2i16_clamp, // llvm.nvvm.sust.b.1d.v2i16.clamp
+ nvvm_sust_b_1d_v2i16_trap, // llvm.nvvm.sust.b.1d.v2i16.trap
+ nvvm_sust_b_1d_v2i16_zero, // llvm.nvvm.sust.b.1d.v2i16.zero
+ nvvm_sust_b_1d_v2i32_clamp, // llvm.nvvm.sust.b.1d.v2i32.clamp
+ nvvm_sust_b_1d_v2i32_trap, // llvm.nvvm.sust.b.1d.v2i32.trap
+ nvvm_sust_b_1d_v2i32_zero, // llvm.nvvm.sust.b.1d.v2i32.zero
+ nvvm_sust_b_1d_v2i64_clamp, // llvm.nvvm.sust.b.1d.v2i64.clamp
+ nvvm_sust_b_1d_v2i64_trap, // llvm.nvvm.sust.b.1d.v2i64.trap
+ nvvm_sust_b_1d_v2i64_zero, // llvm.nvvm.sust.b.1d.v2i64.zero
+ nvvm_sust_b_1d_v2i8_clamp, // llvm.nvvm.sust.b.1d.v2i8.clamp
+ nvvm_sust_b_1d_v2i8_trap, // llvm.nvvm.sust.b.1d.v2i8.trap
+ nvvm_sust_b_1d_v2i8_zero, // llvm.nvvm.sust.b.1d.v2i8.zero
+ nvvm_sust_b_1d_v4i16_clamp, // llvm.nvvm.sust.b.1d.v4i16.clamp
+ nvvm_sust_b_1d_v4i16_trap, // llvm.nvvm.sust.b.1d.v4i16.trap
+ nvvm_sust_b_1d_v4i16_zero, // llvm.nvvm.sust.b.1d.v4i16.zero
+ nvvm_sust_b_1d_v4i32_clamp, // llvm.nvvm.sust.b.1d.v4i32.clamp
+ nvvm_sust_b_1d_v4i32_trap, // llvm.nvvm.sust.b.1d.v4i32.trap
+ nvvm_sust_b_1d_v4i32_zero, // llvm.nvvm.sust.b.1d.v4i32.zero
+ nvvm_sust_b_1d_v4i8_clamp, // llvm.nvvm.sust.b.1d.v4i8.clamp
+ nvvm_sust_b_1d_v4i8_trap, // llvm.nvvm.sust.b.1d.v4i8.trap
+ nvvm_sust_b_1d_v4i8_zero, // llvm.nvvm.sust.b.1d.v4i8.zero
+ nvvm_sust_b_2d_array_i16_clamp, // llvm.nvvm.sust.b.2d.array.i16.clamp
+ nvvm_sust_b_2d_array_i16_trap, // llvm.nvvm.sust.b.2d.array.i16.trap
+ nvvm_sust_b_2d_array_i16_zero, // llvm.nvvm.sust.b.2d.array.i16.zero
+ nvvm_sust_b_2d_array_i32_clamp, // llvm.nvvm.sust.b.2d.array.i32.clamp
+ nvvm_sust_b_2d_array_i32_trap, // llvm.nvvm.sust.b.2d.array.i32.trap
+ nvvm_sust_b_2d_array_i32_zero, // llvm.nvvm.sust.b.2d.array.i32.zero
+ nvvm_sust_b_2d_array_i64_clamp, // llvm.nvvm.sust.b.2d.array.i64.clamp
+ nvvm_sust_b_2d_array_i64_trap, // llvm.nvvm.sust.b.2d.array.i64.trap
+ nvvm_sust_b_2d_array_i64_zero, // llvm.nvvm.sust.b.2d.array.i64.zero
+ nvvm_sust_b_2d_array_i8_clamp, // llvm.nvvm.sust.b.2d.array.i8.clamp
+ nvvm_sust_b_2d_array_i8_trap, // llvm.nvvm.sust.b.2d.array.i8.trap
+ nvvm_sust_b_2d_array_i8_zero, // llvm.nvvm.sust.b.2d.array.i8.zero
+ nvvm_sust_b_2d_array_v2i16_clamp, // llvm.nvvm.sust.b.2d.array.v2i16.clamp
+ nvvm_sust_b_2d_array_v2i16_trap, // llvm.nvvm.sust.b.2d.array.v2i16.trap
+ nvvm_sust_b_2d_array_v2i16_zero, // llvm.nvvm.sust.b.2d.array.v2i16.zero
+ nvvm_sust_b_2d_array_v2i32_clamp, // llvm.nvvm.sust.b.2d.array.v2i32.clamp
+ nvvm_sust_b_2d_array_v2i32_trap, // llvm.nvvm.sust.b.2d.array.v2i32.trap
+ nvvm_sust_b_2d_array_v2i32_zero, // llvm.nvvm.sust.b.2d.array.v2i32.zero
+ nvvm_sust_b_2d_array_v2i64_clamp, // llvm.nvvm.sust.b.2d.array.v2i64.clamp
+ nvvm_sust_b_2d_array_v2i64_trap, // llvm.nvvm.sust.b.2d.array.v2i64.trap
+ nvvm_sust_b_2d_array_v2i64_zero, // llvm.nvvm.sust.b.2d.array.v2i64.zero
+ nvvm_sust_b_2d_array_v2i8_clamp, // llvm.nvvm.sust.b.2d.array.v2i8.clamp
+ nvvm_sust_b_2d_array_v2i8_trap, // llvm.nvvm.sust.b.2d.array.v2i8.trap
+ nvvm_sust_b_2d_array_v2i8_zero, // llvm.nvvm.sust.b.2d.array.v2i8.zero
+ nvvm_sust_b_2d_array_v4i16_clamp, // llvm.nvvm.sust.b.2d.array.v4i16.clamp
+ nvvm_sust_b_2d_array_v4i16_trap, // llvm.nvvm.sust.b.2d.array.v4i16.trap
+ nvvm_sust_b_2d_array_v4i16_zero, // llvm.nvvm.sust.b.2d.array.v4i16.zero
+ nvvm_sust_b_2d_array_v4i32_clamp, // llvm.nvvm.sust.b.2d.array.v4i32.clamp
+ nvvm_sust_b_2d_array_v4i32_trap, // llvm.nvvm.sust.b.2d.array.v4i32.trap
+ nvvm_sust_b_2d_array_v4i32_zero, // llvm.nvvm.sust.b.2d.array.v4i32.zero
+ nvvm_sust_b_2d_array_v4i8_clamp, // llvm.nvvm.sust.b.2d.array.v4i8.clamp
+ nvvm_sust_b_2d_array_v4i8_trap, // llvm.nvvm.sust.b.2d.array.v4i8.trap
+ nvvm_sust_b_2d_array_v4i8_zero, // llvm.nvvm.sust.b.2d.array.v4i8.zero
+ nvvm_sust_b_2d_i16_clamp, // llvm.nvvm.sust.b.2d.i16.clamp
+ nvvm_sust_b_2d_i16_trap, // llvm.nvvm.sust.b.2d.i16.trap
+ nvvm_sust_b_2d_i16_zero, // llvm.nvvm.sust.b.2d.i16.zero
+ nvvm_sust_b_2d_i32_clamp, // llvm.nvvm.sust.b.2d.i32.clamp
+ nvvm_sust_b_2d_i32_trap, // llvm.nvvm.sust.b.2d.i32.trap
+ nvvm_sust_b_2d_i32_zero, // llvm.nvvm.sust.b.2d.i32.zero
+ nvvm_sust_b_2d_i64_clamp, // llvm.nvvm.sust.b.2d.i64.clamp
+ nvvm_sust_b_2d_i64_trap, // llvm.nvvm.sust.b.2d.i64.trap
+ nvvm_sust_b_2d_i64_zero, // llvm.nvvm.sust.b.2d.i64.zero
+ nvvm_sust_b_2d_i8_clamp, // llvm.nvvm.sust.b.2d.i8.clamp
+ nvvm_sust_b_2d_i8_trap, // llvm.nvvm.sust.b.2d.i8.trap
+ nvvm_sust_b_2d_i8_zero, // llvm.nvvm.sust.b.2d.i8.zero
+ nvvm_sust_b_2d_v2i16_clamp, // llvm.nvvm.sust.b.2d.v2i16.clamp
+ nvvm_sust_b_2d_v2i16_trap, // llvm.nvvm.sust.b.2d.v2i16.trap
+ nvvm_sust_b_2d_v2i16_zero, // llvm.nvvm.sust.b.2d.v2i16.zero
+ nvvm_sust_b_2d_v2i32_clamp, // llvm.nvvm.sust.b.2d.v2i32.clamp
+ nvvm_sust_b_2d_v2i32_trap, // llvm.nvvm.sust.b.2d.v2i32.trap
+ nvvm_sust_b_2d_v2i32_zero, // llvm.nvvm.sust.b.2d.v2i32.zero
+ nvvm_sust_b_2d_v2i64_clamp, // llvm.nvvm.sust.b.2d.v2i64.clamp
+ nvvm_sust_b_2d_v2i64_trap, // llvm.nvvm.sust.b.2d.v2i64.trap
+ nvvm_sust_b_2d_v2i64_zero, // llvm.nvvm.sust.b.2d.v2i64.zero
+ nvvm_sust_b_2d_v2i8_clamp, // llvm.nvvm.sust.b.2d.v2i8.clamp
+ nvvm_sust_b_2d_v2i8_trap, // llvm.nvvm.sust.b.2d.v2i8.trap
+ nvvm_sust_b_2d_v2i8_zero, // llvm.nvvm.sust.b.2d.v2i8.zero
+ nvvm_sust_b_2d_v4i16_clamp, // llvm.nvvm.sust.b.2d.v4i16.clamp
+ nvvm_sust_b_2d_v4i16_trap, // llvm.nvvm.sust.b.2d.v4i16.trap
+ nvvm_sust_b_2d_v4i16_zero, // llvm.nvvm.sust.b.2d.v4i16.zero
+ nvvm_sust_b_2d_v4i32_clamp, // llvm.nvvm.sust.b.2d.v4i32.clamp
+ nvvm_sust_b_2d_v4i32_trap, // llvm.nvvm.sust.b.2d.v4i32.trap
+ nvvm_sust_b_2d_v4i32_zero, // llvm.nvvm.sust.b.2d.v4i32.zero
+ nvvm_sust_b_2d_v4i8_clamp, // llvm.nvvm.sust.b.2d.v4i8.clamp
+ nvvm_sust_b_2d_v4i8_trap, // llvm.nvvm.sust.b.2d.v4i8.trap
+ nvvm_sust_b_2d_v4i8_zero, // llvm.nvvm.sust.b.2d.v4i8.zero
+ nvvm_sust_b_3d_i16_clamp, // llvm.nvvm.sust.b.3d.i16.clamp
+ nvvm_sust_b_3d_i16_trap, // llvm.nvvm.sust.b.3d.i16.trap
+ nvvm_sust_b_3d_i16_zero, // llvm.nvvm.sust.b.3d.i16.zero
+ nvvm_sust_b_3d_i32_clamp, // llvm.nvvm.sust.b.3d.i32.clamp
+ nvvm_sust_b_3d_i32_trap, // llvm.nvvm.sust.b.3d.i32.trap
+ nvvm_sust_b_3d_i32_zero, // llvm.nvvm.sust.b.3d.i32.zero
+ nvvm_sust_b_3d_i64_clamp, // llvm.nvvm.sust.b.3d.i64.clamp
+ nvvm_sust_b_3d_i64_trap, // llvm.nvvm.sust.b.3d.i64.trap
+ nvvm_sust_b_3d_i64_zero, // llvm.nvvm.sust.b.3d.i64.zero
+ nvvm_sust_b_3d_i8_clamp, // llvm.nvvm.sust.b.3d.i8.clamp
+ nvvm_sust_b_3d_i8_trap, // llvm.nvvm.sust.b.3d.i8.trap
+ nvvm_sust_b_3d_i8_zero, // llvm.nvvm.sust.b.3d.i8.zero
+ nvvm_sust_b_3d_v2i16_clamp, // llvm.nvvm.sust.b.3d.v2i16.clamp
+ nvvm_sust_b_3d_v2i16_trap, // llvm.nvvm.sust.b.3d.v2i16.trap
+ nvvm_sust_b_3d_v2i16_zero, // llvm.nvvm.sust.b.3d.v2i16.zero
+ nvvm_sust_b_3d_v2i32_clamp, // llvm.nvvm.sust.b.3d.v2i32.clamp
+ nvvm_sust_b_3d_v2i32_trap, // llvm.nvvm.sust.b.3d.v2i32.trap
+ nvvm_sust_b_3d_v2i32_zero, // llvm.nvvm.sust.b.3d.v2i32.zero
+ nvvm_sust_b_3d_v2i64_clamp, // llvm.nvvm.sust.b.3d.v2i64.clamp
+ nvvm_sust_b_3d_v2i64_trap, // llvm.nvvm.sust.b.3d.v2i64.trap
+ nvvm_sust_b_3d_v2i64_zero, // llvm.nvvm.sust.b.3d.v2i64.zero
+ nvvm_sust_b_3d_v2i8_clamp, // llvm.nvvm.sust.b.3d.v2i8.clamp
+ nvvm_sust_b_3d_v2i8_trap, // llvm.nvvm.sust.b.3d.v2i8.trap
+ nvvm_sust_b_3d_v2i8_zero, // llvm.nvvm.sust.b.3d.v2i8.zero
+ nvvm_sust_b_3d_v4i16_clamp, // llvm.nvvm.sust.b.3d.v4i16.clamp
+ nvvm_sust_b_3d_v4i16_trap, // llvm.nvvm.sust.b.3d.v4i16.trap
+ nvvm_sust_b_3d_v4i16_zero, // llvm.nvvm.sust.b.3d.v4i16.zero
+ nvvm_sust_b_3d_v4i32_clamp, // llvm.nvvm.sust.b.3d.v4i32.clamp
+ nvvm_sust_b_3d_v4i32_trap, // llvm.nvvm.sust.b.3d.v4i32.trap
+ nvvm_sust_b_3d_v4i32_zero, // llvm.nvvm.sust.b.3d.v4i32.zero
+ nvvm_sust_b_3d_v4i8_clamp, // llvm.nvvm.sust.b.3d.v4i8.clamp
+ nvvm_sust_b_3d_v4i8_trap, // llvm.nvvm.sust.b.3d.v4i8.trap
+ nvvm_sust_b_3d_v4i8_zero, // llvm.nvvm.sust.b.3d.v4i8.zero
+ nvvm_sust_p_1d_array_i16_trap, // llvm.nvvm.sust.p.1d.array.i16.trap
+ nvvm_sust_p_1d_array_i32_trap, // llvm.nvvm.sust.p.1d.array.i32.trap
+ nvvm_sust_p_1d_array_i8_trap, // llvm.nvvm.sust.p.1d.array.i8.trap
+ nvvm_sust_p_1d_array_v2i16_trap, // llvm.nvvm.sust.p.1d.array.v2i16.trap
+ nvvm_sust_p_1d_array_v2i32_trap, // llvm.nvvm.sust.p.1d.array.v2i32.trap
+ nvvm_sust_p_1d_array_v2i8_trap, // llvm.nvvm.sust.p.1d.array.v2i8.trap
+ nvvm_sust_p_1d_array_v4i16_trap, // llvm.nvvm.sust.p.1d.array.v4i16.trap
+ nvvm_sust_p_1d_array_v4i32_trap, // llvm.nvvm.sust.p.1d.array.v4i32.trap
+ nvvm_sust_p_1d_array_v4i8_trap, // llvm.nvvm.sust.p.1d.array.v4i8.trap
+ nvvm_sust_p_1d_i16_trap, // llvm.nvvm.sust.p.1d.i16.trap
+ nvvm_sust_p_1d_i32_trap, // llvm.nvvm.sust.p.1d.i32.trap
+ nvvm_sust_p_1d_i8_trap, // llvm.nvvm.sust.p.1d.i8.trap
+ nvvm_sust_p_1d_v2i16_trap, // llvm.nvvm.sust.p.1d.v2i16.trap
+ nvvm_sust_p_1d_v2i32_trap, // llvm.nvvm.sust.p.1d.v2i32.trap
+ nvvm_sust_p_1d_v2i8_trap, // llvm.nvvm.sust.p.1d.v2i8.trap
+ nvvm_sust_p_1d_v4i16_trap, // llvm.nvvm.sust.p.1d.v4i16.trap
+ nvvm_sust_p_1d_v4i32_trap, // llvm.nvvm.sust.p.1d.v4i32.trap
+ nvvm_sust_p_1d_v4i8_trap, // llvm.nvvm.sust.p.1d.v4i8.trap
+ nvvm_sust_p_2d_array_i16_trap, // llvm.nvvm.sust.p.2d.array.i16.trap
+ nvvm_sust_p_2d_array_i32_trap, // llvm.nvvm.sust.p.2d.array.i32.trap
+ nvvm_sust_p_2d_array_i8_trap, // llvm.nvvm.sust.p.2d.array.i8.trap
+ nvvm_sust_p_2d_array_v2i16_trap, // llvm.nvvm.sust.p.2d.array.v2i16.trap
+ nvvm_sust_p_2d_array_v2i32_trap, // llvm.nvvm.sust.p.2d.array.v2i32.trap
+ nvvm_sust_p_2d_array_v2i8_trap, // llvm.nvvm.sust.p.2d.array.v2i8.trap
+ nvvm_sust_p_2d_array_v4i16_trap, // llvm.nvvm.sust.p.2d.array.v4i16.trap
+ nvvm_sust_p_2d_array_v4i32_trap, // llvm.nvvm.sust.p.2d.array.v4i32.trap
+ nvvm_sust_p_2d_array_v4i8_trap, // llvm.nvvm.sust.p.2d.array.v4i8.trap
+ nvvm_sust_p_2d_i16_trap, // llvm.nvvm.sust.p.2d.i16.trap
+ nvvm_sust_p_2d_i32_trap, // llvm.nvvm.sust.p.2d.i32.trap
+ nvvm_sust_p_2d_i8_trap, // llvm.nvvm.sust.p.2d.i8.trap
+ nvvm_sust_p_2d_v2i16_trap, // llvm.nvvm.sust.p.2d.v2i16.trap
+ nvvm_sust_p_2d_v2i32_trap, // llvm.nvvm.sust.p.2d.v2i32.trap
+ nvvm_sust_p_2d_v2i8_trap, // llvm.nvvm.sust.p.2d.v2i8.trap
+ nvvm_sust_p_2d_v4i16_trap, // llvm.nvvm.sust.p.2d.v4i16.trap
+ nvvm_sust_p_2d_v4i32_trap, // llvm.nvvm.sust.p.2d.v4i32.trap
+ nvvm_sust_p_2d_v4i8_trap, // llvm.nvvm.sust.p.2d.v4i8.trap
+ nvvm_sust_p_3d_i16_trap, // llvm.nvvm.sust.p.3d.i16.trap
+ nvvm_sust_p_3d_i32_trap, // llvm.nvvm.sust.p.3d.i32.trap
+ nvvm_sust_p_3d_i8_trap, // llvm.nvvm.sust.p.3d.i8.trap
+ nvvm_sust_p_3d_v2i16_trap, // llvm.nvvm.sust.p.3d.v2i16.trap
+ nvvm_sust_p_3d_v2i32_trap, // llvm.nvvm.sust.p.3d.v2i32.trap
+ nvvm_sust_p_3d_v2i8_trap, // llvm.nvvm.sust.p.3d.v2i8.trap
+ nvvm_sust_p_3d_v4i16_trap, // llvm.nvvm.sust.p.3d.v4i16.trap
+ nvvm_sust_p_3d_v4i32_trap, // llvm.nvvm.sust.p.3d.v4i32.trap
+ nvvm_sust_p_3d_v4i8_trap, // llvm.nvvm.sust.p.3d.v4i8.trap
+ nvvm_swap_lo_hi_b64, // llvm.nvvm.swap.lo.hi.b64
+ nvvm_tex_1d_array_grad_v4f32_f32, // llvm.nvvm.tex.1d.array.grad.v4f32.f32
+ nvvm_tex_1d_array_grad_v4s32_f32, // llvm.nvvm.tex.1d.array.grad.v4s32.f32
+ nvvm_tex_1d_array_grad_v4u32_f32, // llvm.nvvm.tex.1d.array.grad.v4u32.f32
+ nvvm_tex_1d_array_level_v4f32_f32, // llvm.nvvm.tex.1d.array.level.v4f32.f32
+ nvvm_tex_1d_array_level_v4s32_f32, // llvm.nvvm.tex.1d.array.level.v4s32.f32
+ nvvm_tex_1d_array_level_v4u32_f32, // llvm.nvvm.tex.1d.array.level.v4u32.f32
+ nvvm_tex_1d_array_v4f32_f32, // llvm.nvvm.tex.1d.array.v4f32.f32
+ nvvm_tex_1d_array_v4f32_s32, // llvm.nvvm.tex.1d.array.v4f32.s32
+ nvvm_tex_1d_array_v4s32_f32, // llvm.nvvm.tex.1d.array.v4s32.f32
+ nvvm_tex_1d_array_v4s32_s32, // llvm.nvvm.tex.1d.array.v4s32.s32
+ nvvm_tex_1d_array_v4u32_f32, // llvm.nvvm.tex.1d.array.v4u32.f32
+ nvvm_tex_1d_array_v4u32_s32, // llvm.nvvm.tex.1d.array.v4u32.s32
+ nvvm_tex_1d_grad_v4f32_f32, // llvm.nvvm.tex.1d.grad.v4f32.f32
+ nvvm_tex_1d_grad_v4s32_f32, // llvm.nvvm.tex.1d.grad.v4s32.f32
+ nvvm_tex_1d_grad_v4u32_f32, // llvm.nvvm.tex.1d.grad.v4u32.f32
+ nvvm_tex_1d_level_v4f32_f32, // llvm.nvvm.tex.1d.level.v4f32.f32
+ nvvm_tex_1d_level_v4s32_f32, // llvm.nvvm.tex.1d.level.v4s32.f32
+ nvvm_tex_1d_level_v4u32_f32, // llvm.nvvm.tex.1d.level.v4u32.f32
+ nvvm_tex_1d_v4f32_f32, // llvm.nvvm.tex.1d.v4f32.f32
+ nvvm_tex_1d_v4f32_s32, // llvm.nvvm.tex.1d.v4f32.s32
+ nvvm_tex_1d_v4s32_f32, // llvm.nvvm.tex.1d.v4s32.f32
+ nvvm_tex_1d_v4s32_s32, // llvm.nvvm.tex.1d.v4s32.s32
+ nvvm_tex_1d_v4u32_f32, // llvm.nvvm.tex.1d.v4u32.f32
+ nvvm_tex_1d_v4u32_s32, // llvm.nvvm.tex.1d.v4u32.s32
+ nvvm_tex_2d_array_grad_v4f32_f32, // llvm.nvvm.tex.2d.array.grad.v4f32.f32
+ nvvm_tex_2d_array_grad_v4s32_f32, // llvm.nvvm.tex.2d.array.grad.v4s32.f32
+ nvvm_tex_2d_array_grad_v4u32_f32, // llvm.nvvm.tex.2d.array.grad.v4u32.f32
+ nvvm_tex_2d_array_level_v4f32_f32, // llvm.nvvm.tex.2d.array.level.v4f32.f32
+ nvvm_tex_2d_array_level_v4s32_f32, // llvm.nvvm.tex.2d.array.level.v4s32.f32
+ nvvm_tex_2d_array_level_v4u32_f32, // llvm.nvvm.tex.2d.array.level.v4u32.f32
+ nvvm_tex_2d_array_v4f32_f32, // llvm.nvvm.tex.2d.array.v4f32.f32
+ nvvm_tex_2d_array_v4f32_s32, // llvm.nvvm.tex.2d.array.v4f32.s32
+ nvvm_tex_2d_array_v4s32_f32, // llvm.nvvm.tex.2d.array.v4s32.f32
+ nvvm_tex_2d_array_v4s32_s32, // llvm.nvvm.tex.2d.array.v4s32.s32
+ nvvm_tex_2d_array_v4u32_f32, // llvm.nvvm.tex.2d.array.v4u32.f32
+ nvvm_tex_2d_array_v4u32_s32, // llvm.nvvm.tex.2d.array.v4u32.s32
+ nvvm_tex_2d_grad_v4f32_f32, // llvm.nvvm.tex.2d.grad.v4f32.f32
+ nvvm_tex_2d_grad_v4s32_f32, // llvm.nvvm.tex.2d.grad.v4s32.f32
+ nvvm_tex_2d_grad_v4u32_f32, // llvm.nvvm.tex.2d.grad.v4u32.f32
+ nvvm_tex_2d_level_v4f32_f32, // llvm.nvvm.tex.2d.level.v4f32.f32
+ nvvm_tex_2d_level_v4s32_f32, // llvm.nvvm.tex.2d.level.v4s32.f32
+ nvvm_tex_2d_level_v4u32_f32, // llvm.nvvm.tex.2d.level.v4u32.f32
+ nvvm_tex_2d_v4f32_f32, // llvm.nvvm.tex.2d.v4f32.f32
+ nvvm_tex_2d_v4f32_s32, // llvm.nvvm.tex.2d.v4f32.s32
+ nvvm_tex_2d_v4s32_f32, // llvm.nvvm.tex.2d.v4s32.f32
+ nvvm_tex_2d_v4s32_s32, // llvm.nvvm.tex.2d.v4s32.s32
+ nvvm_tex_2d_v4u32_f32, // llvm.nvvm.tex.2d.v4u32.f32
+ nvvm_tex_2d_v4u32_s32, // llvm.nvvm.tex.2d.v4u32.s32
+ nvvm_tex_3d_grad_v4f32_f32, // llvm.nvvm.tex.3d.grad.v4f32.f32
+ nvvm_tex_3d_grad_v4s32_f32, // llvm.nvvm.tex.3d.grad.v4s32.f32
+ nvvm_tex_3d_grad_v4u32_f32, // llvm.nvvm.tex.3d.grad.v4u32.f32
+ nvvm_tex_3d_level_v4f32_f32, // llvm.nvvm.tex.3d.level.v4f32.f32
+ nvvm_tex_3d_level_v4s32_f32, // llvm.nvvm.tex.3d.level.v4s32.f32
+ nvvm_tex_3d_level_v4u32_f32, // llvm.nvvm.tex.3d.level.v4u32.f32
+ nvvm_tex_3d_v4f32_f32, // llvm.nvvm.tex.3d.v4f32.f32
+ nvvm_tex_3d_v4f32_s32, // llvm.nvvm.tex.3d.v4f32.s32
+ nvvm_tex_3d_v4s32_f32, // llvm.nvvm.tex.3d.v4s32.f32
+ nvvm_tex_3d_v4s32_s32, // llvm.nvvm.tex.3d.v4s32.s32
+ nvvm_tex_3d_v4u32_f32, // llvm.nvvm.tex.3d.v4u32.f32
+ nvvm_tex_3d_v4u32_s32, // llvm.nvvm.tex.3d.v4u32.s32
+ nvvm_tex_cube_array_level_v4f32_f32, // llvm.nvvm.tex.cube.array.level.v4f32.f32
+ nvvm_tex_cube_array_level_v4s32_f32, // llvm.nvvm.tex.cube.array.level.v4s32.f32
+ nvvm_tex_cube_array_level_v4u32_f32, // llvm.nvvm.tex.cube.array.level.v4u32.f32
+ nvvm_tex_cube_array_v4f32_f32, // llvm.nvvm.tex.cube.array.v4f32.f32
+ nvvm_tex_cube_array_v4s32_f32, // llvm.nvvm.tex.cube.array.v4s32.f32
+ nvvm_tex_cube_array_v4u32_f32, // llvm.nvvm.tex.cube.array.v4u32.f32
+ nvvm_tex_cube_level_v4f32_f32, // llvm.nvvm.tex.cube.level.v4f32.f32
+ nvvm_tex_cube_level_v4s32_f32, // llvm.nvvm.tex.cube.level.v4s32.f32
+ nvvm_tex_cube_level_v4u32_f32, // llvm.nvvm.tex.cube.level.v4u32.f32
+ nvvm_tex_cube_v4f32_f32, // llvm.nvvm.tex.cube.v4f32.f32
+ nvvm_tex_cube_v4s32_f32, // llvm.nvvm.tex.cube.v4s32.f32
+ nvvm_tex_cube_v4u32_f32, // llvm.nvvm.tex.cube.v4u32.f32
+ nvvm_tex_unified_1d_array_grad_v4f32_f32, // llvm.nvvm.tex.unified.1d.array.grad.v4f32.f32
+ nvvm_tex_unified_1d_array_grad_v4s32_f32, // llvm.nvvm.tex.unified.1d.array.grad.v4s32.f32
+ nvvm_tex_unified_1d_array_grad_v4u32_f32, // llvm.nvvm.tex.unified.1d.array.grad.v4u32.f32
+ nvvm_tex_unified_1d_array_level_v4f32_f32, // llvm.nvvm.tex.unified.1d.array.level.v4f32.f32
+ nvvm_tex_unified_1d_array_level_v4s32_f32, // llvm.nvvm.tex.unified.1d.array.level.v4s32.f32
+ nvvm_tex_unified_1d_array_level_v4u32_f32, // llvm.nvvm.tex.unified.1d.array.level.v4u32.f32
+ nvvm_tex_unified_1d_array_v4f32_f32, // llvm.nvvm.tex.unified.1d.array.v4f32.f32
+ nvvm_tex_unified_1d_array_v4f32_s32, // llvm.nvvm.tex.unified.1d.array.v4f32.s32
+ nvvm_tex_unified_1d_array_v4s32_f32, // llvm.nvvm.tex.unified.1d.array.v4s32.f32
+ nvvm_tex_unified_1d_array_v4s32_s32, // llvm.nvvm.tex.unified.1d.array.v4s32.s32
+ nvvm_tex_unified_1d_array_v4u32_f32, // llvm.nvvm.tex.unified.1d.array.v4u32.f32
+ nvvm_tex_unified_1d_array_v4u32_s32, // llvm.nvvm.tex.unified.1d.array.v4u32.s32
+ nvvm_tex_unified_1d_grad_v4f32_f32, // llvm.nvvm.tex.unified.1d.grad.v4f32.f32
+ nvvm_tex_unified_1d_grad_v4s32_f32, // llvm.nvvm.tex.unified.1d.grad.v4s32.f32
+ nvvm_tex_unified_1d_grad_v4u32_f32, // llvm.nvvm.tex.unified.1d.grad.v4u32.f32
+ nvvm_tex_unified_1d_level_v4f32_f32, // llvm.nvvm.tex.unified.1d.level.v4f32.f32
+ nvvm_tex_unified_1d_level_v4s32_f32, // llvm.nvvm.tex.unified.1d.level.v4s32.f32
+ nvvm_tex_unified_1d_level_v4u32_f32, // llvm.nvvm.tex.unified.1d.level.v4u32.f32
+ nvvm_tex_unified_1d_v4f32_f32, // llvm.nvvm.tex.unified.1d.v4f32.f32
+ nvvm_tex_unified_1d_v4f32_s32, // llvm.nvvm.tex.unified.1d.v4f32.s32
+ nvvm_tex_unified_1d_v4s32_f32, // llvm.nvvm.tex.unified.1d.v4s32.f32
+ nvvm_tex_unified_1d_v4s32_s32, // llvm.nvvm.tex.unified.1d.v4s32.s32
+ nvvm_tex_unified_1d_v4u32_f32, // llvm.nvvm.tex.unified.1d.v4u32.f32
+ nvvm_tex_unified_1d_v4u32_s32, // llvm.nvvm.tex.unified.1d.v4u32.s32
+ nvvm_tex_unified_2d_array_grad_v4f32_f32, // llvm.nvvm.tex.unified.2d.array.grad.v4f32.f32
+ nvvm_tex_unified_2d_array_grad_v4s32_f32, // llvm.nvvm.tex.unified.2d.array.grad.v4s32.f32
+ nvvm_tex_unified_2d_array_grad_v4u32_f32, // llvm.nvvm.tex.unified.2d.array.grad.v4u32.f32
+ nvvm_tex_unified_2d_array_level_v4f32_f32, // llvm.nvvm.tex.unified.2d.array.level.v4f32.f32
+ nvvm_tex_unified_2d_array_level_v4s32_f32, // llvm.nvvm.tex.unified.2d.array.level.v4s32.f32
+ nvvm_tex_unified_2d_array_level_v4u32_f32, // llvm.nvvm.tex.unified.2d.array.level.v4u32.f32
+ nvvm_tex_unified_2d_array_v4f32_f32, // llvm.nvvm.tex.unified.2d.array.v4f32.f32
+ nvvm_tex_unified_2d_array_v4f32_s32, // llvm.nvvm.tex.unified.2d.array.v4f32.s32
+ nvvm_tex_unified_2d_array_v4s32_f32, // llvm.nvvm.tex.unified.2d.array.v4s32.f32
+ nvvm_tex_unified_2d_array_v4s32_s32, // llvm.nvvm.tex.unified.2d.array.v4s32.s32
+ nvvm_tex_unified_2d_array_v4u32_f32, // llvm.nvvm.tex.unified.2d.array.v4u32.f32
+ nvvm_tex_unified_2d_array_v4u32_s32, // llvm.nvvm.tex.unified.2d.array.v4u32.s32
+ nvvm_tex_unified_2d_grad_v4f32_f32, // llvm.nvvm.tex.unified.2d.grad.v4f32.f32
+ nvvm_tex_unified_2d_grad_v4s32_f32, // llvm.nvvm.tex.unified.2d.grad.v4s32.f32
+ nvvm_tex_unified_2d_grad_v4u32_f32, // llvm.nvvm.tex.unified.2d.grad.v4u32.f32
+ nvvm_tex_unified_2d_level_v4f32_f32, // llvm.nvvm.tex.unified.2d.level.v4f32.f32
+ nvvm_tex_unified_2d_level_v4s32_f32, // llvm.nvvm.tex.unified.2d.level.v4s32.f32
+ nvvm_tex_unified_2d_level_v4u32_f32, // llvm.nvvm.tex.unified.2d.level.v4u32.f32
+ nvvm_tex_unified_2d_v4f32_f32, // llvm.nvvm.tex.unified.2d.v4f32.f32
+ nvvm_tex_unified_2d_v4f32_s32, // llvm.nvvm.tex.unified.2d.v4f32.s32
+ nvvm_tex_unified_2d_v4s32_f32, // llvm.nvvm.tex.unified.2d.v4s32.f32
+ nvvm_tex_unified_2d_v4s32_s32, // llvm.nvvm.tex.unified.2d.v4s32.s32
+ nvvm_tex_unified_2d_v4u32_f32, // llvm.nvvm.tex.unified.2d.v4u32.f32
+ nvvm_tex_unified_2d_v4u32_s32, // llvm.nvvm.tex.unified.2d.v4u32.s32
+ nvvm_tex_unified_3d_grad_v4f32_f32, // llvm.nvvm.tex.unified.3d.grad.v4f32.f32
+ nvvm_tex_unified_3d_grad_v4s32_f32, // llvm.nvvm.tex.unified.3d.grad.v4s32.f32
+ nvvm_tex_unified_3d_grad_v4u32_f32, // llvm.nvvm.tex.unified.3d.grad.v4u32.f32
+ nvvm_tex_unified_3d_level_v4f32_f32, // llvm.nvvm.tex.unified.3d.level.v4f32.f32
+ nvvm_tex_unified_3d_level_v4s32_f32, // llvm.nvvm.tex.unified.3d.level.v4s32.f32
+ nvvm_tex_unified_3d_level_v4u32_f32, // llvm.nvvm.tex.unified.3d.level.v4u32.f32
+ nvvm_tex_unified_3d_v4f32_f32, // llvm.nvvm.tex.unified.3d.v4f32.f32
+ nvvm_tex_unified_3d_v4f32_s32, // llvm.nvvm.tex.unified.3d.v4f32.s32
+ nvvm_tex_unified_3d_v4s32_f32, // llvm.nvvm.tex.unified.3d.v4s32.f32
+ nvvm_tex_unified_3d_v4s32_s32, // llvm.nvvm.tex.unified.3d.v4s32.s32
+ nvvm_tex_unified_3d_v4u32_f32, // llvm.nvvm.tex.unified.3d.v4u32.f32
+ nvvm_tex_unified_3d_v4u32_s32, // llvm.nvvm.tex.unified.3d.v4u32.s32
+ nvvm_tex_unified_cube_array_level_v4f32_f32, // llvm.nvvm.tex.unified.cube.array.level.v4f32.f32
+ nvvm_tex_unified_cube_array_level_v4s32_f32, // llvm.nvvm.tex.unified.cube.array.level.v4s32.f32
+ nvvm_tex_unified_cube_array_level_v4u32_f32, // llvm.nvvm.tex.unified.cube.array.level.v4u32.f32
+ nvvm_tex_unified_cube_array_v4f32_f32, // llvm.nvvm.tex.unified.cube.array.v4f32.f32
+ nvvm_tex_unified_cube_array_v4s32_f32, // llvm.nvvm.tex.unified.cube.array.v4s32.f32
+ nvvm_tex_unified_cube_array_v4u32_f32, // llvm.nvvm.tex.unified.cube.array.v4u32.f32
+ nvvm_tex_unified_cube_level_v4f32_f32, // llvm.nvvm.tex.unified.cube.level.v4f32.f32
+ nvvm_tex_unified_cube_level_v4s32_f32, // llvm.nvvm.tex.unified.cube.level.v4s32.f32
+ nvvm_tex_unified_cube_level_v4u32_f32, // llvm.nvvm.tex.unified.cube.level.v4u32.f32
+ nvvm_tex_unified_cube_v4f32_f32, // llvm.nvvm.tex.unified.cube.v4f32.f32
+ nvvm_tex_unified_cube_v4s32_f32, // llvm.nvvm.tex.unified.cube.v4s32.f32
+ nvvm_tex_unified_cube_v4u32_f32, // llvm.nvvm.tex.unified.cube.v4u32.f32
+ nvvm_texsurf_handle, // llvm.nvvm.texsurf.handle
+ nvvm_texsurf_handle_internal, // llvm.nvvm.texsurf.handle.internal
+ nvvm_tld4_a_2d_v4f32_f32, // llvm.nvvm.tld4.a.2d.v4f32.f32
+ nvvm_tld4_a_2d_v4s32_f32, // llvm.nvvm.tld4.a.2d.v4s32.f32
+ nvvm_tld4_a_2d_v4u32_f32, // llvm.nvvm.tld4.a.2d.v4u32.f32
+ nvvm_tld4_b_2d_v4f32_f32, // llvm.nvvm.tld4.b.2d.v4f32.f32
+ nvvm_tld4_b_2d_v4s32_f32, // llvm.nvvm.tld4.b.2d.v4s32.f32
+ nvvm_tld4_b_2d_v4u32_f32, // llvm.nvvm.tld4.b.2d.v4u32.f32
+ nvvm_tld4_g_2d_v4f32_f32, // llvm.nvvm.tld4.g.2d.v4f32.f32
+ nvvm_tld4_g_2d_v4s32_f32, // llvm.nvvm.tld4.g.2d.v4s32.f32
+ nvvm_tld4_g_2d_v4u32_f32, // llvm.nvvm.tld4.g.2d.v4u32.f32
+ nvvm_tld4_r_2d_v4f32_f32, // llvm.nvvm.tld4.r.2d.v4f32.f32
+ nvvm_tld4_r_2d_v4s32_f32, // llvm.nvvm.tld4.r.2d.v4s32.f32
+ nvvm_tld4_r_2d_v4u32_f32, // llvm.nvvm.tld4.r.2d.v4u32.f32
+ nvvm_tld4_unified_a_2d_v4f32_f32, // llvm.nvvm.tld4.unified.a.2d.v4f32.f32
+ nvvm_tld4_unified_a_2d_v4s32_f32, // llvm.nvvm.tld4.unified.a.2d.v4s32.f32
+ nvvm_tld4_unified_a_2d_v4u32_f32, // llvm.nvvm.tld4.unified.a.2d.v4u32.f32
+ nvvm_tld4_unified_b_2d_v4f32_f32, // llvm.nvvm.tld4.unified.b.2d.v4f32.f32
+ nvvm_tld4_unified_b_2d_v4s32_f32, // llvm.nvvm.tld4.unified.b.2d.v4s32.f32
+ nvvm_tld4_unified_b_2d_v4u32_f32, // llvm.nvvm.tld4.unified.b.2d.v4u32.f32
+ nvvm_tld4_unified_g_2d_v4f32_f32, // llvm.nvvm.tld4.unified.g.2d.v4f32.f32
+ nvvm_tld4_unified_g_2d_v4s32_f32, // llvm.nvvm.tld4.unified.g.2d.v4s32.f32
+ nvvm_tld4_unified_g_2d_v4u32_f32, // llvm.nvvm.tld4.unified.g.2d.v4u32.f32
+ nvvm_tld4_unified_r_2d_v4f32_f32, // llvm.nvvm.tld4.unified.r.2d.v4f32.f32
+ nvvm_tld4_unified_r_2d_v4s32_f32, // llvm.nvvm.tld4.unified.r.2d.v4s32.f32
+ nvvm_tld4_unified_r_2d_v4u32_f32, // llvm.nvvm.tld4.unified.r.2d.v4u32.f32
+ nvvm_trunc_d, // llvm.nvvm.trunc.d
+ nvvm_trunc_f, // llvm.nvvm.trunc.f
+ nvvm_trunc_ftz_f, // llvm.nvvm.trunc.ftz.f
+ nvvm_txq_array_size, // llvm.nvvm.txq.array.size
+ nvvm_txq_channel_data_type, // llvm.nvvm.txq.channel.data.type
+ nvvm_txq_channel_order, // llvm.nvvm.txq.channel.order
+ nvvm_txq_depth, // llvm.nvvm.txq.depth
+ nvvm_txq_height, // llvm.nvvm.txq.height
+ nvvm_txq_num_mipmap_levels, // llvm.nvvm.txq.num.mipmap.levels
+ nvvm_txq_num_samples, // llvm.nvvm.txq.num.samples
+ nvvm_txq_width, // llvm.nvvm.txq.width
+ nvvm_ui2d_rm, // llvm.nvvm.ui2d.rm
+ nvvm_ui2d_rn, // llvm.nvvm.ui2d.rn
+ nvvm_ui2d_rp, // llvm.nvvm.ui2d.rp
+ nvvm_ui2d_rz, // llvm.nvvm.ui2d.rz
+ nvvm_ui2f_rm, // llvm.nvvm.ui2f.rm
+ nvvm_ui2f_rn, // llvm.nvvm.ui2f.rn
+ nvvm_ui2f_rp, // llvm.nvvm.ui2f.rp
+ nvvm_ui2f_rz, // llvm.nvvm.ui2f.rz
+ nvvm_ull2d_rm, // llvm.nvvm.ull2d.rm
+ nvvm_ull2d_rn, // llvm.nvvm.ull2d.rn
+ nvvm_ull2d_rp, // llvm.nvvm.ull2d.rp
+ nvvm_ull2d_rz, // llvm.nvvm.ull2d.rz
+ nvvm_ull2f_rm, // llvm.nvvm.ull2f.rm
+ nvvm_ull2f_rn, // llvm.nvvm.ull2f.rn
+ nvvm_ull2f_rp, // llvm.nvvm.ull2f.rp
+ nvvm_ull2f_rz, // llvm.nvvm.ull2f.rz
+ ppc_altivec_crypto_vcipher, // llvm.ppc.altivec.crypto.vcipher
+ ppc_altivec_crypto_vcipherlast, // llvm.ppc.altivec.crypto.vcipherlast
+ ppc_altivec_crypto_vncipher, // llvm.ppc.altivec.crypto.vncipher
+ ppc_altivec_crypto_vncipherlast, // llvm.ppc.altivec.crypto.vncipherlast
+ ppc_altivec_crypto_vpermxor, // llvm.ppc.altivec.crypto.vpermxor
+ ppc_altivec_crypto_vpmsumb, // llvm.ppc.altivec.crypto.vpmsumb
+ ppc_altivec_crypto_vpmsumd, // llvm.ppc.altivec.crypto.vpmsumd
+ ppc_altivec_crypto_vpmsumh, // llvm.ppc.altivec.crypto.vpmsumh
+ ppc_altivec_crypto_vpmsumw, // llvm.ppc.altivec.crypto.vpmsumw
+ ppc_altivec_crypto_vsbox, // llvm.ppc.altivec.crypto.vsbox
+ ppc_altivec_crypto_vshasigmad, // llvm.ppc.altivec.crypto.vshasigmad
+ ppc_altivec_crypto_vshasigmaw, // llvm.ppc.altivec.crypto.vshasigmaw
+ ppc_altivec_dss, // llvm.ppc.altivec.dss
+ ppc_altivec_dssall, // llvm.ppc.altivec.dssall
+ ppc_altivec_dst, // llvm.ppc.altivec.dst
+ ppc_altivec_dstst, // llvm.ppc.altivec.dstst
+ ppc_altivec_dststt, // llvm.ppc.altivec.dststt
+ ppc_altivec_dstt, // llvm.ppc.altivec.dstt
+ ppc_altivec_lvebx, // llvm.ppc.altivec.lvebx
+ ppc_altivec_lvehx, // llvm.ppc.altivec.lvehx
+ ppc_altivec_lvewx, // llvm.ppc.altivec.lvewx
+ ppc_altivec_lvsl, // llvm.ppc.altivec.lvsl
+ ppc_altivec_lvsr, // llvm.ppc.altivec.lvsr
+ ppc_altivec_lvx, // llvm.ppc.altivec.lvx
+ ppc_altivec_lvxl, // llvm.ppc.altivec.lvxl
+ ppc_altivec_mfvscr, // llvm.ppc.altivec.mfvscr
+ ppc_altivec_mtvscr, // llvm.ppc.altivec.mtvscr
+ ppc_altivec_stvebx, // llvm.ppc.altivec.stvebx
+ ppc_altivec_stvehx, // llvm.ppc.altivec.stvehx
+ ppc_altivec_stvewx, // llvm.ppc.altivec.stvewx
+ ppc_altivec_stvx, // llvm.ppc.altivec.stvx
+ ppc_altivec_stvxl, // llvm.ppc.altivec.stvxl
+ ppc_altivec_vabsdub, // llvm.ppc.altivec.vabsdub
+ ppc_altivec_vabsduh, // llvm.ppc.altivec.vabsduh
+ ppc_altivec_vabsduw, // llvm.ppc.altivec.vabsduw
+ ppc_altivec_vaddcuq, // llvm.ppc.altivec.vaddcuq
+ ppc_altivec_vaddcuw, // llvm.ppc.altivec.vaddcuw
+ ppc_altivec_vaddecuq, // llvm.ppc.altivec.vaddecuq
+ ppc_altivec_vaddeuqm, // llvm.ppc.altivec.vaddeuqm
+ ppc_altivec_vaddsbs, // llvm.ppc.altivec.vaddsbs
+ ppc_altivec_vaddshs, // llvm.ppc.altivec.vaddshs
+ ppc_altivec_vaddsws, // llvm.ppc.altivec.vaddsws
+ ppc_altivec_vaddubs, // llvm.ppc.altivec.vaddubs
+ ppc_altivec_vadduhs, // llvm.ppc.altivec.vadduhs
+ ppc_altivec_vadduws, // llvm.ppc.altivec.vadduws
+ ppc_altivec_vavgsb, // llvm.ppc.altivec.vavgsb
+ ppc_altivec_vavgsh, // llvm.ppc.altivec.vavgsh
+ ppc_altivec_vavgsw, // llvm.ppc.altivec.vavgsw
+ ppc_altivec_vavgub, // llvm.ppc.altivec.vavgub
+ ppc_altivec_vavguh, // llvm.ppc.altivec.vavguh
+ ppc_altivec_vavguw, // llvm.ppc.altivec.vavguw
+ ppc_altivec_vbpermq, // llvm.ppc.altivec.vbpermq
+ ppc_altivec_vcfsx, // llvm.ppc.altivec.vcfsx
+ ppc_altivec_vcfux, // llvm.ppc.altivec.vcfux
+ ppc_altivec_vclzlsbb, // llvm.ppc.altivec.vclzlsbb
+ ppc_altivec_vcmpbfp, // llvm.ppc.altivec.vcmpbfp
+ ppc_altivec_vcmpbfp_p, // llvm.ppc.altivec.vcmpbfp.p
+ ppc_altivec_vcmpeqfp, // llvm.ppc.altivec.vcmpeqfp
+ ppc_altivec_vcmpeqfp_p, // llvm.ppc.altivec.vcmpeqfp.p
+ ppc_altivec_vcmpequb, // llvm.ppc.altivec.vcmpequb
+ ppc_altivec_vcmpequb_p, // llvm.ppc.altivec.vcmpequb.p
+ ppc_altivec_vcmpequd, // llvm.ppc.altivec.vcmpequd
+ ppc_altivec_vcmpequd_p, // llvm.ppc.altivec.vcmpequd.p
+ ppc_altivec_vcmpequh, // llvm.ppc.altivec.vcmpequh
+ ppc_altivec_vcmpequh_p, // llvm.ppc.altivec.vcmpequh.p
+ ppc_altivec_vcmpequw, // llvm.ppc.altivec.vcmpequw
+ ppc_altivec_vcmpequw_p, // llvm.ppc.altivec.vcmpequw.p
+ ppc_altivec_vcmpgefp, // llvm.ppc.altivec.vcmpgefp
+ ppc_altivec_vcmpgefp_p, // llvm.ppc.altivec.vcmpgefp.p
+ ppc_altivec_vcmpgtfp, // llvm.ppc.altivec.vcmpgtfp
+ ppc_altivec_vcmpgtfp_p, // llvm.ppc.altivec.vcmpgtfp.p
+ ppc_altivec_vcmpgtsb, // llvm.ppc.altivec.vcmpgtsb
+ ppc_altivec_vcmpgtsb_p, // llvm.ppc.altivec.vcmpgtsb.p
+ ppc_altivec_vcmpgtsd, // llvm.ppc.altivec.vcmpgtsd
+ ppc_altivec_vcmpgtsd_p, // llvm.ppc.altivec.vcmpgtsd.p
+ ppc_altivec_vcmpgtsh, // llvm.ppc.altivec.vcmpgtsh
+ ppc_altivec_vcmpgtsh_p, // llvm.ppc.altivec.vcmpgtsh.p
+ ppc_altivec_vcmpgtsw, // llvm.ppc.altivec.vcmpgtsw
+ ppc_altivec_vcmpgtsw_p, // llvm.ppc.altivec.vcmpgtsw.p
+ ppc_altivec_vcmpgtub, // llvm.ppc.altivec.vcmpgtub
+ ppc_altivec_vcmpgtub_p, // llvm.ppc.altivec.vcmpgtub.p
+ ppc_altivec_vcmpgtud, // llvm.ppc.altivec.vcmpgtud
+ ppc_altivec_vcmpgtud_p, // llvm.ppc.altivec.vcmpgtud.p
+ ppc_altivec_vcmpgtuh, // llvm.ppc.altivec.vcmpgtuh
+ ppc_altivec_vcmpgtuh_p, // llvm.ppc.altivec.vcmpgtuh.p
+ ppc_altivec_vcmpgtuw, // llvm.ppc.altivec.vcmpgtuw
+ ppc_altivec_vcmpgtuw_p, // llvm.ppc.altivec.vcmpgtuw.p
+ ppc_altivec_vcmpneb, // llvm.ppc.altivec.vcmpneb
+ ppc_altivec_vcmpneb_p, // llvm.ppc.altivec.vcmpneb.p
+ ppc_altivec_vcmpneh, // llvm.ppc.altivec.vcmpneh
+ ppc_altivec_vcmpneh_p, // llvm.ppc.altivec.vcmpneh.p
+ ppc_altivec_vcmpnew, // llvm.ppc.altivec.vcmpnew
+ ppc_altivec_vcmpnew_p, // llvm.ppc.altivec.vcmpnew.p
+ ppc_altivec_vcmpnezb, // llvm.ppc.altivec.vcmpnezb
+ ppc_altivec_vcmpnezb_p, // llvm.ppc.altivec.vcmpnezb.p
+ ppc_altivec_vcmpnezh, // llvm.ppc.altivec.vcmpnezh
+ ppc_altivec_vcmpnezh_p, // llvm.ppc.altivec.vcmpnezh.p
+ ppc_altivec_vcmpnezw, // llvm.ppc.altivec.vcmpnezw
+ ppc_altivec_vcmpnezw_p, // llvm.ppc.altivec.vcmpnezw.p
+ ppc_altivec_vctsxs, // llvm.ppc.altivec.vctsxs
+ ppc_altivec_vctuxs, // llvm.ppc.altivec.vctuxs
+ ppc_altivec_vctzlsbb, // llvm.ppc.altivec.vctzlsbb
+ ppc_altivec_vexptefp, // llvm.ppc.altivec.vexptefp
+ ppc_altivec_vgbbd, // llvm.ppc.altivec.vgbbd
+ ppc_altivec_vlogefp, // llvm.ppc.altivec.vlogefp
+ ppc_altivec_vmaddfp, // llvm.ppc.altivec.vmaddfp
+ ppc_altivec_vmaxfp, // llvm.ppc.altivec.vmaxfp
+ ppc_altivec_vmaxsb, // llvm.ppc.altivec.vmaxsb
+ ppc_altivec_vmaxsd, // llvm.ppc.altivec.vmaxsd
+ ppc_altivec_vmaxsh, // llvm.ppc.altivec.vmaxsh
+ ppc_altivec_vmaxsw, // llvm.ppc.altivec.vmaxsw
+ ppc_altivec_vmaxub, // llvm.ppc.altivec.vmaxub
+ ppc_altivec_vmaxud, // llvm.ppc.altivec.vmaxud
+ ppc_altivec_vmaxuh, // llvm.ppc.altivec.vmaxuh
+ ppc_altivec_vmaxuw, // llvm.ppc.altivec.vmaxuw
+ ppc_altivec_vmhaddshs, // llvm.ppc.altivec.vmhaddshs
+ ppc_altivec_vmhraddshs, // llvm.ppc.altivec.vmhraddshs
+ ppc_altivec_vminfp, // llvm.ppc.altivec.vminfp
+ ppc_altivec_vminsb, // llvm.ppc.altivec.vminsb
+ ppc_altivec_vminsd, // llvm.ppc.altivec.vminsd
+ ppc_altivec_vminsh, // llvm.ppc.altivec.vminsh
+ ppc_altivec_vminsw, // llvm.ppc.altivec.vminsw
+ ppc_altivec_vminub, // llvm.ppc.altivec.vminub
+ ppc_altivec_vminud, // llvm.ppc.altivec.vminud
+ ppc_altivec_vminuh, // llvm.ppc.altivec.vminuh
+ ppc_altivec_vminuw, // llvm.ppc.altivec.vminuw
+ ppc_altivec_vmladduhm, // llvm.ppc.altivec.vmladduhm
+ ppc_altivec_vmsummbm, // llvm.ppc.altivec.vmsummbm
+ ppc_altivec_vmsumshm, // llvm.ppc.altivec.vmsumshm
+ ppc_altivec_vmsumshs, // llvm.ppc.altivec.vmsumshs
+ ppc_altivec_vmsumubm, // llvm.ppc.altivec.vmsumubm
+ ppc_altivec_vmsumuhm, // llvm.ppc.altivec.vmsumuhm
+ ppc_altivec_vmsumuhs, // llvm.ppc.altivec.vmsumuhs
+ ppc_altivec_vmulesb, // llvm.ppc.altivec.vmulesb
+ ppc_altivec_vmulesh, // llvm.ppc.altivec.vmulesh
+ ppc_altivec_vmulesw, // llvm.ppc.altivec.vmulesw
+ ppc_altivec_vmuleub, // llvm.ppc.altivec.vmuleub
+ ppc_altivec_vmuleuh, // llvm.ppc.altivec.vmuleuh
+ ppc_altivec_vmuleuw, // llvm.ppc.altivec.vmuleuw
+ ppc_altivec_vmulosb, // llvm.ppc.altivec.vmulosb
+ ppc_altivec_vmulosh, // llvm.ppc.altivec.vmulosh
+ ppc_altivec_vmulosw, // llvm.ppc.altivec.vmulosw
+ ppc_altivec_vmuloub, // llvm.ppc.altivec.vmuloub
+ ppc_altivec_vmulouh, // llvm.ppc.altivec.vmulouh
+ ppc_altivec_vmulouw, // llvm.ppc.altivec.vmulouw
+ ppc_altivec_vnmsubfp, // llvm.ppc.altivec.vnmsubfp
+ ppc_altivec_vperm, // llvm.ppc.altivec.vperm
+ ppc_altivec_vpkpx, // llvm.ppc.altivec.vpkpx
+ ppc_altivec_vpksdss, // llvm.ppc.altivec.vpksdss
+ ppc_altivec_vpksdus, // llvm.ppc.altivec.vpksdus
+ ppc_altivec_vpkshss, // llvm.ppc.altivec.vpkshss
+ ppc_altivec_vpkshus, // llvm.ppc.altivec.vpkshus
+ ppc_altivec_vpkswss, // llvm.ppc.altivec.vpkswss
+ ppc_altivec_vpkswus, // llvm.ppc.altivec.vpkswus
+ ppc_altivec_vpkudus, // llvm.ppc.altivec.vpkudus
+ ppc_altivec_vpkuhus, // llvm.ppc.altivec.vpkuhus
+ ppc_altivec_vpkuwus, // llvm.ppc.altivec.vpkuwus
+ ppc_altivec_vprtybd, // llvm.ppc.altivec.vprtybd
+ ppc_altivec_vprtybq, // llvm.ppc.altivec.vprtybq
+ ppc_altivec_vprtybw, // llvm.ppc.altivec.vprtybw
+ ppc_altivec_vrefp, // llvm.ppc.altivec.vrefp
+ ppc_altivec_vrfim, // llvm.ppc.altivec.vrfim
+ ppc_altivec_vrfin, // llvm.ppc.altivec.vrfin
+ ppc_altivec_vrfip, // llvm.ppc.altivec.vrfip
+ ppc_altivec_vrfiz, // llvm.ppc.altivec.vrfiz
+ ppc_altivec_vrlb, // llvm.ppc.altivec.vrlb
+ ppc_altivec_vrld, // llvm.ppc.altivec.vrld
+ ppc_altivec_vrldmi, // llvm.ppc.altivec.vrldmi
+ ppc_altivec_vrldnm, // llvm.ppc.altivec.vrldnm
+ ppc_altivec_vrlh, // llvm.ppc.altivec.vrlh
+ ppc_altivec_vrlw, // llvm.ppc.altivec.vrlw
+ ppc_altivec_vrlwmi, // llvm.ppc.altivec.vrlwmi
+ ppc_altivec_vrlwnm, // llvm.ppc.altivec.vrlwnm
+ ppc_altivec_vrsqrtefp, // llvm.ppc.altivec.vrsqrtefp
+ ppc_altivec_vsel, // llvm.ppc.altivec.vsel
+ ppc_altivec_vsl, // llvm.ppc.altivec.vsl
+ ppc_altivec_vslb, // llvm.ppc.altivec.vslb
+ ppc_altivec_vslh, // llvm.ppc.altivec.vslh
+ ppc_altivec_vslo, // llvm.ppc.altivec.vslo
+ ppc_altivec_vslv, // llvm.ppc.altivec.vslv
+ ppc_altivec_vslw, // llvm.ppc.altivec.vslw
+ ppc_altivec_vsr, // llvm.ppc.altivec.vsr
+ ppc_altivec_vsrab, // llvm.ppc.altivec.vsrab
+ ppc_altivec_vsrah, // llvm.ppc.altivec.vsrah
+ ppc_altivec_vsraw, // llvm.ppc.altivec.vsraw
+ ppc_altivec_vsrb, // llvm.ppc.altivec.vsrb
+ ppc_altivec_vsrh, // llvm.ppc.altivec.vsrh
+ ppc_altivec_vsro, // llvm.ppc.altivec.vsro
+ ppc_altivec_vsrv, // llvm.ppc.altivec.vsrv
+ ppc_altivec_vsrw, // llvm.ppc.altivec.vsrw
+ ppc_altivec_vsubcuq, // llvm.ppc.altivec.vsubcuq
+ ppc_altivec_vsubcuw, // llvm.ppc.altivec.vsubcuw
+ ppc_altivec_vsubecuq, // llvm.ppc.altivec.vsubecuq
+ ppc_altivec_vsubeuqm, // llvm.ppc.altivec.vsubeuqm
+ ppc_altivec_vsubsbs, // llvm.ppc.altivec.vsubsbs
+ ppc_altivec_vsubshs, // llvm.ppc.altivec.vsubshs
+ ppc_altivec_vsubsws, // llvm.ppc.altivec.vsubsws
+ ppc_altivec_vsububs, // llvm.ppc.altivec.vsububs
+ ppc_altivec_vsubuhs, // llvm.ppc.altivec.vsubuhs
+ ppc_altivec_vsubuws, // llvm.ppc.altivec.vsubuws
+ ppc_altivec_vsum2sws, // llvm.ppc.altivec.vsum2sws
+ ppc_altivec_vsum4sbs, // llvm.ppc.altivec.vsum4sbs
+ ppc_altivec_vsum4shs, // llvm.ppc.altivec.vsum4shs
+ ppc_altivec_vsum4ubs, // llvm.ppc.altivec.vsum4ubs
+ ppc_altivec_vsumsws, // llvm.ppc.altivec.vsumsws
+ ppc_altivec_vupkhpx, // llvm.ppc.altivec.vupkhpx
+ ppc_altivec_vupkhsb, // llvm.ppc.altivec.vupkhsb
+ ppc_altivec_vupkhsh, // llvm.ppc.altivec.vupkhsh
+ ppc_altivec_vupkhsw, // llvm.ppc.altivec.vupkhsw
+ ppc_altivec_vupklpx, // llvm.ppc.altivec.vupklpx
+ ppc_altivec_vupklsb, // llvm.ppc.altivec.vupklsb
+ ppc_altivec_vupklsh, // llvm.ppc.altivec.vupklsh
+ ppc_altivec_vupklsw, // llvm.ppc.altivec.vupklsw
+ ppc_bpermd, // llvm.ppc.bpermd
+ ppc_dcba, // llvm.ppc.dcba
+ ppc_dcbf, // llvm.ppc.dcbf
+ ppc_dcbi, // llvm.ppc.dcbi
+ ppc_dcbst, // llvm.ppc.dcbst
+ ppc_dcbt, // llvm.ppc.dcbt
+ ppc_dcbtst, // llvm.ppc.dcbtst
+ ppc_dcbz, // llvm.ppc.dcbz
+ ppc_dcbzl, // llvm.ppc.dcbzl
+ ppc_divde, // llvm.ppc.divde
+ ppc_divdeu, // llvm.ppc.divdeu
+ ppc_divwe, // llvm.ppc.divwe
+ ppc_divweu, // llvm.ppc.divweu
+ ppc_get_texasr, // llvm.ppc.get.texasr
+ ppc_get_texasru, // llvm.ppc.get.texasru
+ ppc_get_tfhar, // llvm.ppc.get.tfhar
+ ppc_get_tfiar, // llvm.ppc.get.tfiar
+ ppc_is_decremented_ctr_nonzero, // llvm.ppc.is.decremented.ctr.nonzero
+ ppc_lwsync, // llvm.ppc.lwsync
+ ppc_mtctr, // llvm.ppc.mtctr
+ ppc_qpx_qvfabs, // llvm.ppc.qpx.qvfabs
+ ppc_qpx_qvfadd, // llvm.ppc.qpx.qvfadd
+ ppc_qpx_qvfadds, // llvm.ppc.qpx.qvfadds
+ ppc_qpx_qvfcfid, // llvm.ppc.qpx.qvfcfid
+ ppc_qpx_qvfcfids, // llvm.ppc.qpx.qvfcfids
+ ppc_qpx_qvfcfidu, // llvm.ppc.qpx.qvfcfidu
+ ppc_qpx_qvfcfidus, // llvm.ppc.qpx.qvfcfidus
+ ppc_qpx_qvfcmpeq, // llvm.ppc.qpx.qvfcmpeq
+ ppc_qpx_qvfcmpgt, // llvm.ppc.qpx.qvfcmpgt
+ ppc_qpx_qvfcmplt, // llvm.ppc.qpx.qvfcmplt
+ ppc_qpx_qvfcpsgn, // llvm.ppc.qpx.qvfcpsgn
+ ppc_qpx_qvfctid, // llvm.ppc.qpx.qvfctid
+ ppc_qpx_qvfctidu, // llvm.ppc.qpx.qvfctidu
+ ppc_qpx_qvfctiduz, // llvm.ppc.qpx.qvfctiduz
+ ppc_qpx_qvfctidz, // llvm.ppc.qpx.qvfctidz
+ ppc_qpx_qvfctiw, // llvm.ppc.qpx.qvfctiw
+ ppc_qpx_qvfctiwu, // llvm.ppc.qpx.qvfctiwu
+ ppc_qpx_qvfctiwuz, // llvm.ppc.qpx.qvfctiwuz
+ ppc_qpx_qvfctiwz, // llvm.ppc.qpx.qvfctiwz
+ ppc_qpx_qvflogical, // llvm.ppc.qpx.qvflogical
+ ppc_qpx_qvfmadd, // llvm.ppc.qpx.qvfmadd
+ ppc_qpx_qvfmadds, // llvm.ppc.qpx.qvfmadds
+ ppc_qpx_qvfmsub, // llvm.ppc.qpx.qvfmsub
+ ppc_qpx_qvfmsubs, // llvm.ppc.qpx.qvfmsubs
+ ppc_qpx_qvfmul, // llvm.ppc.qpx.qvfmul
+ ppc_qpx_qvfmuls, // llvm.ppc.qpx.qvfmuls
+ ppc_qpx_qvfnabs, // llvm.ppc.qpx.qvfnabs
+ ppc_qpx_qvfneg, // llvm.ppc.qpx.qvfneg
+ ppc_qpx_qvfnmadd, // llvm.ppc.qpx.qvfnmadd
+ ppc_qpx_qvfnmadds, // llvm.ppc.qpx.qvfnmadds
+ ppc_qpx_qvfnmsub, // llvm.ppc.qpx.qvfnmsub
+ ppc_qpx_qvfnmsubs, // llvm.ppc.qpx.qvfnmsubs
+ ppc_qpx_qvfperm, // llvm.ppc.qpx.qvfperm
+ ppc_qpx_qvfre, // llvm.ppc.qpx.qvfre
+ ppc_qpx_qvfres, // llvm.ppc.qpx.qvfres
+ ppc_qpx_qvfrim, // llvm.ppc.qpx.qvfrim
+ ppc_qpx_qvfrin, // llvm.ppc.qpx.qvfrin
+ ppc_qpx_qvfrip, // llvm.ppc.qpx.qvfrip
+ ppc_qpx_qvfriz, // llvm.ppc.qpx.qvfriz
+ ppc_qpx_qvfrsp, // llvm.ppc.qpx.qvfrsp
+ ppc_qpx_qvfrsqrte, // llvm.ppc.qpx.qvfrsqrte
+ ppc_qpx_qvfrsqrtes, // llvm.ppc.qpx.qvfrsqrtes
+ ppc_qpx_qvfsel, // llvm.ppc.qpx.qvfsel
+ ppc_qpx_qvfsub, // llvm.ppc.qpx.qvfsub
+ ppc_qpx_qvfsubs, // llvm.ppc.qpx.qvfsubs
+ ppc_qpx_qvftstnan, // llvm.ppc.qpx.qvftstnan
+ ppc_qpx_qvfxmadd, // llvm.ppc.qpx.qvfxmadd
+ ppc_qpx_qvfxmadds, // llvm.ppc.qpx.qvfxmadds
+ ppc_qpx_qvfxmul, // llvm.ppc.qpx.qvfxmul
+ ppc_qpx_qvfxmuls, // llvm.ppc.qpx.qvfxmuls
+ ppc_qpx_qvfxxcpnmadd, // llvm.ppc.qpx.qvfxxcpnmadd
+ ppc_qpx_qvfxxcpnmadds, // llvm.ppc.qpx.qvfxxcpnmadds
+ ppc_qpx_qvfxxmadd, // llvm.ppc.qpx.qvfxxmadd
+ ppc_qpx_qvfxxmadds, // llvm.ppc.qpx.qvfxxmadds
+ ppc_qpx_qvfxxnpmadd, // llvm.ppc.qpx.qvfxxnpmadd
+ ppc_qpx_qvfxxnpmadds, // llvm.ppc.qpx.qvfxxnpmadds
+ ppc_qpx_qvgpci, // llvm.ppc.qpx.qvgpci
+ ppc_qpx_qvlfcd, // llvm.ppc.qpx.qvlfcd
+ ppc_qpx_qvlfcda, // llvm.ppc.qpx.qvlfcda
+ ppc_qpx_qvlfcs, // llvm.ppc.qpx.qvlfcs
+ ppc_qpx_qvlfcsa, // llvm.ppc.qpx.qvlfcsa
+ ppc_qpx_qvlfd, // llvm.ppc.qpx.qvlfd
+ ppc_qpx_qvlfda, // llvm.ppc.qpx.qvlfda
+ ppc_qpx_qvlfiwa, // llvm.ppc.qpx.qvlfiwa
+ ppc_qpx_qvlfiwaa, // llvm.ppc.qpx.qvlfiwaa
+ ppc_qpx_qvlfiwz, // llvm.ppc.qpx.qvlfiwz
+ ppc_qpx_qvlfiwza, // llvm.ppc.qpx.qvlfiwza
+ ppc_qpx_qvlfs, // llvm.ppc.qpx.qvlfs
+ ppc_qpx_qvlfsa, // llvm.ppc.qpx.qvlfsa
+ ppc_qpx_qvlpcld, // llvm.ppc.qpx.qvlpcld
+ ppc_qpx_qvlpcls, // llvm.ppc.qpx.qvlpcls
+ ppc_qpx_qvlpcrd, // llvm.ppc.qpx.qvlpcrd
+ ppc_qpx_qvlpcrs, // llvm.ppc.qpx.qvlpcrs
+ ppc_qpx_qvstfcd, // llvm.ppc.qpx.qvstfcd
+ ppc_qpx_qvstfcda, // llvm.ppc.qpx.qvstfcda
+ ppc_qpx_qvstfcs, // llvm.ppc.qpx.qvstfcs
+ ppc_qpx_qvstfcsa, // llvm.ppc.qpx.qvstfcsa
+ ppc_qpx_qvstfd, // llvm.ppc.qpx.qvstfd
+ ppc_qpx_qvstfda, // llvm.ppc.qpx.qvstfda
+ ppc_qpx_qvstfiw, // llvm.ppc.qpx.qvstfiw
+ ppc_qpx_qvstfiwa, // llvm.ppc.qpx.qvstfiwa
+ ppc_qpx_qvstfs, // llvm.ppc.qpx.qvstfs
+ ppc_qpx_qvstfsa, // llvm.ppc.qpx.qvstfsa
+ ppc_set_texasr, // llvm.ppc.set.texasr
+ ppc_set_texasru, // llvm.ppc.set.texasru
+ ppc_set_tfhar, // llvm.ppc.set.tfhar
+ ppc_set_tfiar, // llvm.ppc.set.tfiar
+ ppc_sync, // llvm.ppc.sync
+ ppc_tabort, // llvm.ppc.tabort
+ ppc_tabortdc, // llvm.ppc.tabortdc
+ ppc_tabortdci, // llvm.ppc.tabortdci
+ ppc_tabortwc, // llvm.ppc.tabortwc
+ ppc_tabortwci, // llvm.ppc.tabortwci
+ ppc_tbegin, // llvm.ppc.tbegin
+ ppc_tcheck, // llvm.ppc.tcheck
+ ppc_tend, // llvm.ppc.tend
+ ppc_tendall, // llvm.ppc.tendall
+ ppc_trechkpt, // llvm.ppc.trechkpt
+ ppc_treclaim, // llvm.ppc.treclaim
+ ppc_tresume, // llvm.ppc.tresume
+ ppc_tsr, // llvm.ppc.tsr
+ ppc_tsuspend, // llvm.ppc.tsuspend
+ ppc_ttest, // llvm.ppc.ttest
+ ppc_vsx_lxvd2x, // llvm.ppc.vsx.lxvd2x
+ ppc_vsx_lxvd2x_be, // llvm.ppc.vsx.lxvd2x.be
+ ppc_vsx_lxvl, // llvm.ppc.vsx.lxvl
+ ppc_vsx_lxvll, // llvm.ppc.vsx.lxvll
+ ppc_vsx_lxvw4x, // llvm.ppc.vsx.lxvw4x
+ ppc_vsx_lxvw4x_be, // llvm.ppc.vsx.lxvw4x.be
+ ppc_vsx_stxvd2x, // llvm.ppc.vsx.stxvd2x
+ ppc_vsx_stxvd2x_be, // llvm.ppc.vsx.stxvd2x.be
+ ppc_vsx_stxvl, // llvm.ppc.vsx.stxvl
+ ppc_vsx_stxvll, // llvm.ppc.vsx.stxvll
+ ppc_vsx_stxvw4x, // llvm.ppc.vsx.stxvw4x
+ ppc_vsx_stxvw4x_be, // llvm.ppc.vsx.stxvw4x.be
+ ppc_vsx_xsmaxdp, // llvm.ppc.vsx.xsmaxdp
+ ppc_vsx_xsmindp, // llvm.ppc.vsx.xsmindp
+ ppc_vsx_xvcmpeqdp, // llvm.ppc.vsx.xvcmpeqdp
+ ppc_vsx_xvcmpeqdp_p, // llvm.ppc.vsx.xvcmpeqdp.p
+ ppc_vsx_xvcmpeqsp, // llvm.ppc.vsx.xvcmpeqsp
+ ppc_vsx_xvcmpeqsp_p, // llvm.ppc.vsx.xvcmpeqsp.p
+ ppc_vsx_xvcmpgedp, // llvm.ppc.vsx.xvcmpgedp
+ ppc_vsx_xvcmpgedp_p, // llvm.ppc.vsx.xvcmpgedp.p
+ ppc_vsx_xvcmpgesp, // llvm.ppc.vsx.xvcmpgesp
+ ppc_vsx_xvcmpgesp_p, // llvm.ppc.vsx.xvcmpgesp.p
+ ppc_vsx_xvcmpgtdp, // llvm.ppc.vsx.xvcmpgtdp
+ ppc_vsx_xvcmpgtdp_p, // llvm.ppc.vsx.xvcmpgtdp.p
+ ppc_vsx_xvcmpgtsp, // llvm.ppc.vsx.xvcmpgtsp
+ ppc_vsx_xvcmpgtsp_p, // llvm.ppc.vsx.xvcmpgtsp.p
+ ppc_vsx_xvcvdpsp, // llvm.ppc.vsx.xvcvdpsp
+ ppc_vsx_xvcvdpsxws, // llvm.ppc.vsx.xvcvdpsxws
+ ppc_vsx_xvcvdpuxws, // llvm.ppc.vsx.xvcvdpuxws
+ ppc_vsx_xvcvhpsp, // llvm.ppc.vsx.xvcvhpsp
+ ppc_vsx_xvcvspdp, // llvm.ppc.vsx.xvcvspdp
+ ppc_vsx_xvcvsphp, // llvm.ppc.vsx.xvcvsphp
+ ppc_vsx_xvcvsxdsp, // llvm.ppc.vsx.xvcvsxdsp
+ ppc_vsx_xvcvsxwdp, // llvm.ppc.vsx.xvcvsxwdp
+ ppc_vsx_xvcvuxdsp, // llvm.ppc.vsx.xvcvuxdsp
+ ppc_vsx_xvcvuxwdp, // llvm.ppc.vsx.xvcvuxwdp
+ ppc_vsx_xvdivdp, // llvm.ppc.vsx.xvdivdp
+ ppc_vsx_xvdivsp, // llvm.ppc.vsx.xvdivsp
+ ppc_vsx_xviexpdp, // llvm.ppc.vsx.xviexpdp
+ ppc_vsx_xviexpsp, // llvm.ppc.vsx.xviexpsp
+ ppc_vsx_xvmaxdp, // llvm.ppc.vsx.xvmaxdp
+ ppc_vsx_xvmaxsp, // llvm.ppc.vsx.xvmaxsp
+ ppc_vsx_xvmindp, // llvm.ppc.vsx.xvmindp
+ ppc_vsx_xvminsp, // llvm.ppc.vsx.xvminsp
+ ppc_vsx_xvrdpip, // llvm.ppc.vsx.xvrdpip
+ ppc_vsx_xvredp, // llvm.ppc.vsx.xvredp
+ ppc_vsx_xvresp, // llvm.ppc.vsx.xvresp
+ ppc_vsx_xvrspip, // llvm.ppc.vsx.xvrspip
+ ppc_vsx_xvrsqrtedp, // llvm.ppc.vsx.xvrsqrtedp
+ ppc_vsx_xvrsqrtesp, // llvm.ppc.vsx.xvrsqrtesp
+ ppc_vsx_xvtstdcdp, // llvm.ppc.vsx.xvtstdcdp
+ ppc_vsx_xvtstdcsp, // llvm.ppc.vsx.xvtstdcsp
+ ppc_vsx_xvxexpdp, // llvm.ppc.vsx.xvxexpdp
+ ppc_vsx_xvxexpsp, // llvm.ppc.vsx.xvxexpsp
+ ppc_vsx_xvxsigdp, // llvm.ppc.vsx.xvxsigdp
+ ppc_vsx_xvxsigsp, // llvm.ppc.vsx.xvxsigsp
+ ppc_vsx_xxextractuw, // llvm.ppc.vsx.xxextractuw
+ ppc_vsx_xxinsertw, // llvm.ppc.vsx.xxinsertw
+ ppc_vsx_xxleqv, // llvm.ppc.vsx.xxleqv
+ r600_group_barrier, // llvm.r600.group.barrier
+ r600_implicitarg_ptr, // llvm.r600.implicitarg.ptr
+ r600_rat_store_typed, // llvm.r600.rat.store.typed
+ r600_read_global_size_x, // llvm.r600.read.global.size.x
+ r600_read_global_size_y, // llvm.r600.read.global.size.y
+ r600_read_global_size_z, // llvm.r600.read.global.size.z
+ r600_read_local_size_x, // llvm.r600.read.local.size.x
+ r600_read_local_size_y, // llvm.r600.read.local.size.y
+ r600_read_local_size_z, // llvm.r600.read.local.size.z
+ r600_read_ngroups_x, // llvm.r600.read.ngroups.x
+ r600_read_ngroups_y, // llvm.r600.read.ngroups.y
+ r600_read_ngroups_z, // llvm.r600.read.ngroups.z
+ r600_read_tgid_x, // llvm.r600.read.tgid.x
+ r600_read_tgid_y, // llvm.r600.read.tgid.y
+ r600_read_tgid_z, // llvm.r600.read.tgid.z
+ r600_read_tidig_x, // llvm.r600.read.tidig.x
+ r600_read_tidig_y, // llvm.r600.read.tidig.y
+ r600_read_tidig_z, // llvm.r600.read.tidig.z
+ r600_recipsqrt_clamped, // llvm.r600.recipsqrt.clamped
+ r600_recipsqrt_ieee, // llvm.r600.recipsqrt.ieee
+ s390_efpc, // llvm.s390.efpc
+ s390_etnd, // llvm.s390.etnd
+ s390_lcbb, // llvm.s390.lcbb
+ s390_ntstg, // llvm.s390.ntstg
+ s390_ppa_txassist, // llvm.s390.ppa.txassist
+ s390_sfpc, // llvm.s390.sfpc
+ s390_tabort, // llvm.s390.tabort
+ s390_tbegin, // llvm.s390.tbegin
+ s390_tbegin_nofloat, // llvm.s390.tbegin.nofloat
+ s390_tbeginc, // llvm.s390.tbeginc
+ s390_tdc, // llvm.s390.tdc
+ s390_tend, // llvm.s390.tend
+ s390_vaccb, // llvm.s390.vaccb
+ s390_vacccq, // llvm.s390.vacccq
+ s390_vaccf, // llvm.s390.vaccf
+ s390_vaccg, // llvm.s390.vaccg
+ s390_vacch, // llvm.s390.vacch
+ s390_vaccq, // llvm.s390.vaccq
+ s390_vacq, // llvm.s390.vacq
+ s390_vaq, // llvm.s390.vaq
+ s390_vavgb, // llvm.s390.vavgb
+ s390_vavgf, // llvm.s390.vavgf
+ s390_vavgg, // llvm.s390.vavgg
+ s390_vavgh, // llvm.s390.vavgh
+ s390_vavglb, // llvm.s390.vavglb
+ s390_vavglf, // llvm.s390.vavglf
+ s390_vavglg, // llvm.s390.vavglg
+ s390_vavglh, // llvm.s390.vavglh
+ s390_vceqbs, // llvm.s390.vceqbs
+ s390_vceqfs, // llvm.s390.vceqfs
+ s390_vceqgs, // llvm.s390.vceqgs
+ s390_vceqhs, // llvm.s390.vceqhs
+ s390_vchbs, // llvm.s390.vchbs
+ s390_vchfs, // llvm.s390.vchfs
+ s390_vchgs, // llvm.s390.vchgs
+ s390_vchhs, // llvm.s390.vchhs
+ s390_vchlbs, // llvm.s390.vchlbs
+ s390_vchlfs, // llvm.s390.vchlfs
+ s390_vchlgs, // llvm.s390.vchlgs
+ s390_vchlhs, // llvm.s390.vchlhs
+ s390_vcksm, // llvm.s390.vcksm
+ s390_verimb, // llvm.s390.verimb
+ s390_verimf, // llvm.s390.verimf
+ s390_verimg, // llvm.s390.verimg
+ s390_verimh, // llvm.s390.verimh
+ s390_verllb, // llvm.s390.verllb
+ s390_verllf, // llvm.s390.verllf
+ s390_verllg, // llvm.s390.verllg
+ s390_verllh, // llvm.s390.verllh
+ s390_verllvb, // llvm.s390.verllvb
+ s390_verllvf, // llvm.s390.verllvf
+ s390_verllvg, // llvm.s390.verllvg
+ s390_verllvh, // llvm.s390.verllvh
+ s390_vfaeb, // llvm.s390.vfaeb
+ s390_vfaebs, // llvm.s390.vfaebs
+ s390_vfaef, // llvm.s390.vfaef
+ s390_vfaefs, // llvm.s390.vfaefs
+ s390_vfaeh, // llvm.s390.vfaeh
+ s390_vfaehs, // llvm.s390.vfaehs
+ s390_vfaezb, // llvm.s390.vfaezb
+ s390_vfaezbs, // llvm.s390.vfaezbs
+ s390_vfaezf, // llvm.s390.vfaezf
+ s390_vfaezfs, // llvm.s390.vfaezfs
+ s390_vfaezh, // llvm.s390.vfaezh
+ s390_vfaezhs, // llvm.s390.vfaezhs
+ s390_vfcedbs, // llvm.s390.vfcedbs
+ s390_vfchdbs, // llvm.s390.vfchdbs
+ s390_vfchedbs, // llvm.s390.vfchedbs
+ s390_vfeeb, // llvm.s390.vfeeb
+ s390_vfeebs, // llvm.s390.vfeebs
+ s390_vfeef, // llvm.s390.vfeef
+ s390_vfeefs, // llvm.s390.vfeefs
+ s390_vfeeh, // llvm.s390.vfeeh
+ s390_vfeehs, // llvm.s390.vfeehs
+ s390_vfeezb, // llvm.s390.vfeezb
+ s390_vfeezbs, // llvm.s390.vfeezbs
+ s390_vfeezf, // llvm.s390.vfeezf
+ s390_vfeezfs, // llvm.s390.vfeezfs
+ s390_vfeezh, // llvm.s390.vfeezh
+ s390_vfeezhs, // llvm.s390.vfeezhs
+ s390_vfeneb, // llvm.s390.vfeneb
+ s390_vfenebs, // llvm.s390.vfenebs
+ s390_vfenef, // llvm.s390.vfenef
+ s390_vfenefs, // llvm.s390.vfenefs
+ s390_vfeneh, // llvm.s390.vfeneh
+ s390_vfenehs, // llvm.s390.vfenehs
+ s390_vfenezb, // llvm.s390.vfenezb
+ s390_vfenezbs, // llvm.s390.vfenezbs
+ s390_vfenezf, // llvm.s390.vfenezf
+ s390_vfenezfs, // llvm.s390.vfenezfs
+ s390_vfenezh, // llvm.s390.vfenezh
+ s390_vfenezhs, // llvm.s390.vfenezhs
+ s390_vfidb, // llvm.s390.vfidb
+ s390_vftcidb, // llvm.s390.vftcidb
+ s390_vgfmab, // llvm.s390.vgfmab
+ s390_vgfmaf, // llvm.s390.vgfmaf
+ s390_vgfmag, // llvm.s390.vgfmag
+ s390_vgfmah, // llvm.s390.vgfmah
+ s390_vgfmb, // llvm.s390.vgfmb
+ s390_vgfmf, // llvm.s390.vgfmf
+ s390_vgfmg, // llvm.s390.vgfmg
+ s390_vgfmh, // llvm.s390.vgfmh
+ s390_vistrb, // llvm.s390.vistrb
+ s390_vistrbs, // llvm.s390.vistrbs
+ s390_vistrf, // llvm.s390.vistrf
+ s390_vistrfs, // llvm.s390.vistrfs
+ s390_vistrh, // llvm.s390.vistrh
+ s390_vistrhs, // llvm.s390.vistrhs
+ s390_vlbb, // llvm.s390.vlbb
+ s390_vll, // llvm.s390.vll
+ s390_vmaeb, // llvm.s390.vmaeb
+ s390_vmaef, // llvm.s390.vmaef
+ s390_vmaeh, // llvm.s390.vmaeh
+ s390_vmahb, // llvm.s390.vmahb
+ s390_vmahf, // llvm.s390.vmahf
+ s390_vmahh, // llvm.s390.vmahh
+ s390_vmaleb, // llvm.s390.vmaleb
+ s390_vmalef, // llvm.s390.vmalef
+ s390_vmaleh, // llvm.s390.vmaleh
+ s390_vmalhb, // llvm.s390.vmalhb
+ s390_vmalhf, // llvm.s390.vmalhf
+ s390_vmalhh, // llvm.s390.vmalhh
+ s390_vmalob, // llvm.s390.vmalob
+ s390_vmalof, // llvm.s390.vmalof
+ s390_vmaloh, // llvm.s390.vmaloh
+ s390_vmaob, // llvm.s390.vmaob
+ s390_vmaof, // llvm.s390.vmaof
+ s390_vmaoh, // llvm.s390.vmaoh
+ s390_vmeb, // llvm.s390.vmeb
+ s390_vmef, // llvm.s390.vmef
+ s390_vmeh, // llvm.s390.vmeh
+ s390_vmhb, // llvm.s390.vmhb
+ s390_vmhf, // llvm.s390.vmhf
+ s390_vmhh, // llvm.s390.vmhh
+ s390_vmleb, // llvm.s390.vmleb
+ s390_vmlef, // llvm.s390.vmlef
+ s390_vmleh, // llvm.s390.vmleh
+ s390_vmlhb, // llvm.s390.vmlhb
+ s390_vmlhf, // llvm.s390.vmlhf
+ s390_vmlhh, // llvm.s390.vmlhh
+ s390_vmlob, // llvm.s390.vmlob
+ s390_vmlof, // llvm.s390.vmlof
+ s390_vmloh, // llvm.s390.vmloh
+ s390_vmob, // llvm.s390.vmob
+ s390_vmof, // llvm.s390.vmof
+ s390_vmoh, // llvm.s390.vmoh
+ s390_vpdi, // llvm.s390.vpdi
+ s390_vperm, // llvm.s390.vperm
+ s390_vpklsf, // llvm.s390.vpklsf
+ s390_vpklsfs, // llvm.s390.vpklsfs
+ s390_vpklsg, // llvm.s390.vpklsg
+ s390_vpklsgs, // llvm.s390.vpklsgs
+ s390_vpklsh, // llvm.s390.vpklsh
+ s390_vpklshs, // llvm.s390.vpklshs
+ s390_vpksf, // llvm.s390.vpksf
+ s390_vpksfs, // llvm.s390.vpksfs
+ s390_vpksg, // llvm.s390.vpksg
+ s390_vpksgs, // llvm.s390.vpksgs
+ s390_vpksh, // llvm.s390.vpksh
+ s390_vpkshs, // llvm.s390.vpkshs
+ s390_vsbcbiq, // llvm.s390.vsbcbiq
+ s390_vsbiq, // llvm.s390.vsbiq
+ s390_vscbib, // llvm.s390.vscbib
+ s390_vscbif, // llvm.s390.vscbif
+ s390_vscbig, // llvm.s390.vscbig
+ s390_vscbih, // llvm.s390.vscbih
+ s390_vscbiq, // llvm.s390.vscbiq
+ s390_vsl, // llvm.s390.vsl
+ s390_vslb, // llvm.s390.vslb
+ s390_vsldb, // llvm.s390.vsldb
+ s390_vsq, // llvm.s390.vsq
+ s390_vsra, // llvm.s390.vsra
+ s390_vsrab, // llvm.s390.vsrab
+ s390_vsrl, // llvm.s390.vsrl
+ s390_vsrlb, // llvm.s390.vsrlb
+ s390_vstl, // llvm.s390.vstl
+ s390_vstrcb, // llvm.s390.vstrcb
+ s390_vstrcbs, // llvm.s390.vstrcbs
+ s390_vstrcf, // llvm.s390.vstrcf
+ s390_vstrcfs, // llvm.s390.vstrcfs
+ s390_vstrch, // llvm.s390.vstrch
+ s390_vstrchs, // llvm.s390.vstrchs
+ s390_vstrczb, // llvm.s390.vstrczb
+ s390_vstrczbs, // llvm.s390.vstrczbs
+ s390_vstrczf, // llvm.s390.vstrczf
+ s390_vstrczfs, // llvm.s390.vstrczfs
+ s390_vstrczh, // llvm.s390.vstrczh
+ s390_vstrczhs, // llvm.s390.vstrczhs
+ s390_vsumb, // llvm.s390.vsumb
+ s390_vsumgf, // llvm.s390.vsumgf
+ s390_vsumgh, // llvm.s390.vsumgh
+ s390_vsumh, // llvm.s390.vsumh
+ s390_vsumqf, // llvm.s390.vsumqf
+ s390_vsumqg, // llvm.s390.vsumqg
+ s390_vtm, // llvm.s390.vtm
+ s390_vuphb, // llvm.s390.vuphb
+ s390_vuphf, // llvm.s390.vuphf
+ s390_vuphh, // llvm.s390.vuphh
+ s390_vuplb, // llvm.s390.vuplb
+ s390_vuplf, // llvm.s390.vuplf
+ s390_vuplhb, // llvm.s390.vuplhb
+ s390_vuplhf, // llvm.s390.vuplhf
+ s390_vuplhh, // llvm.s390.vuplhh
+ s390_vuplhw, // llvm.s390.vuplhw
+ s390_vupllb, // llvm.s390.vupllb
+ s390_vupllf, // llvm.s390.vupllf
+ s390_vupllh, // llvm.s390.vupllh
+ wasm_current_memory, // llvm.wasm.current.memory
+ wasm_grow_memory, // llvm.wasm.grow.memory
+ x86_3dnow_pavgusb, // llvm.x86.3dnow.pavgusb
+ x86_3dnow_pf2id, // llvm.x86.3dnow.pf2id
+ x86_3dnow_pfacc, // llvm.x86.3dnow.pfacc
+ x86_3dnow_pfadd, // llvm.x86.3dnow.pfadd
+ x86_3dnow_pfcmpeq, // llvm.x86.3dnow.pfcmpeq
+ x86_3dnow_pfcmpge, // llvm.x86.3dnow.pfcmpge
+ x86_3dnow_pfcmpgt, // llvm.x86.3dnow.pfcmpgt
+ x86_3dnow_pfmax, // llvm.x86.3dnow.pfmax
+ x86_3dnow_pfmin, // llvm.x86.3dnow.pfmin
+ x86_3dnow_pfmul, // llvm.x86.3dnow.pfmul
+ x86_3dnow_pfrcp, // llvm.x86.3dnow.pfrcp
+ x86_3dnow_pfrcpit1, // llvm.x86.3dnow.pfrcpit1
+ x86_3dnow_pfrcpit2, // llvm.x86.3dnow.pfrcpit2
+ x86_3dnow_pfrsqit1, // llvm.x86.3dnow.pfrsqit1
+ x86_3dnow_pfrsqrt, // llvm.x86.3dnow.pfrsqrt
+ x86_3dnow_pfsub, // llvm.x86.3dnow.pfsub
+ x86_3dnow_pfsubr, // llvm.x86.3dnow.pfsubr
+ x86_3dnow_pi2fd, // llvm.x86.3dnow.pi2fd
+ x86_3dnow_pmulhrw, // llvm.x86.3dnow.pmulhrw
+ x86_3dnowa_pf2iw, // llvm.x86.3dnowa.pf2iw
+ x86_3dnowa_pfnacc, // llvm.x86.3dnowa.pfnacc
+ x86_3dnowa_pfpnacc, // llvm.x86.3dnowa.pfpnacc
+ x86_3dnowa_pi2fw, // llvm.x86.3dnowa.pi2fw
+ x86_3dnowa_pswapd, // llvm.x86.3dnowa.pswapd
+ x86_addcarry_u32, // llvm.x86.addcarry.u32
+ x86_addcarry_u64, // llvm.x86.addcarry.u64
+ x86_addcarryx_u32, // llvm.x86.addcarryx.u32
+ x86_addcarryx_u64, // llvm.x86.addcarryx.u64
+ x86_aesni_aesdec, // llvm.x86.aesni.aesdec
+ x86_aesni_aesdeclast, // llvm.x86.aesni.aesdeclast
+ x86_aesni_aesenc, // llvm.x86.aesni.aesenc
+ x86_aesni_aesenclast, // llvm.x86.aesni.aesenclast
+ x86_aesni_aesimc, // llvm.x86.aesni.aesimc
+ x86_aesni_aeskeygenassist, // llvm.x86.aesni.aeskeygenassist
+ x86_avx_addsub_pd_256, // llvm.x86.avx.addsub.pd.256
+ x86_avx_addsub_ps_256, // llvm.x86.avx.addsub.ps.256
+ x86_avx_blendv_pd_256, // llvm.x86.avx.blendv.pd.256
+ x86_avx_blendv_ps_256, // llvm.x86.avx.blendv.ps.256
+ x86_avx_cmp_pd_256, // llvm.x86.avx.cmp.pd.256
+ x86_avx_cmp_ps_256, // llvm.x86.avx.cmp.ps.256
+ x86_avx_cvt_pd2_ps_256, // llvm.x86.avx.cvt.pd2.ps.256
+ x86_avx_cvt_pd2dq_256, // llvm.x86.avx.cvt.pd2dq.256
+ x86_avx_cvt_ps2dq_256, // llvm.x86.avx.cvt.ps2dq.256
+ x86_avx_cvtdq2_ps_256, // llvm.x86.avx.cvtdq2.ps.256
+ x86_avx_cvtt_pd2dq_256, // llvm.x86.avx.cvtt.pd2dq.256
+ x86_avx_cvtt_ps2dq_256, // llvm.x86.avx.cvtt.ps2dq.256
+ x86_avx_dp_ps_256, // llvm.x86.avx.dp.ps.256
+ x86_avx_hadd_pd_256, // llvm.x86.avx.hadd.pd.256
+ x86_avx_hadd_ps_256, // llvm.x86.avx.hadd.ps.256
+ x86_avx_hsub_pd_256, // llvm.x86.avx.hsub.pd.256
+ x86_avx_hsub_ps_256, // llvm.x86.avx.hsub.ps.256
+ x86_avx_ldu_dq_256, // llvm.x86.avx.ldu.dq.256
+ x86_avx_maskload_pd, // llvm.x86.avx.maskload.pd
+ x86_avx_maskload_pd_256, // llvm.x86.avx.maskload.pd.256
+ x86_avx_maskload_ps, // llvm.x86.avx.maskload.ps
+ x86_avx_maskload_ps_256, // llvm.x86.avx.maskload.ps.256
+ x86_avx_maskstore_pd, // llvm.x86.avx.maskstore.pd
+ x86_avx_maskstore_pd_256, // llvm.x86.avx.maskstore.pd.256
+ x86_avx_maskstore_ps, // llvm.x86.avx.maskstore.ps
+ x86_avx_maskstore_ps_256, // llvm.x86.avx.maskstore.ps.256
+ x86_avx_max_pd_256, // llvm.x86.avx.max.pd.256
+ x86_avx_max_ps_256, // llvm.x86.avx.max.ps.256
+ x86_avx_min_pd_256, // llvm.x86.avx.min.pd.256
+ x86_avx_min_ps_256, // llvm.x86.avx.min.ps.256
+ x86_avx_movmsk_pd_256, // llvm.x86.avx.movmsk.pd.256
+ x86_avx_movmsk_ps_256, // llvm.x86.avx.movmsk.ps.256
+ x86_avx_ptestc_256, // llvm.x86.avx.ptestc.256
+ x86_avx_ptestnzc_256, // llvm.x86.avx.ptestnzc.256
+ x86_avx_ptestz_256, // llvm.x86.avx.ptestz.256
+ x86_avx_rcp_ps_256, // llvm.x86.avx.rcp.ps.256
+ x86_avx_round_pd_256, // llvm.x86.avx.round.pd.256
+ x86_avx_round_ps_256, // llvm.x86.avx.round.ps.256
+ x86_avx_rsqrt_ps_256, // llvm.x86.avx.rsqrt.ps.256
+ x86_avx_sqrt_pd_256, // llvm.x86.avx.sqrt.pd.256
+ x86_avx_sqrt_ps_256, // llvm.x86.avx.sqrt.ps.256
+ x86_avx_vperm2f128_pd_256, // llvm.x86.avx.vperm2f128.pd.256
+ x86_avx_vperm2f128_ps_256, // llvm.x86.avx.vperm2f128.ps.256
+ x86_avx_vperm2f128_si_256, // llvm.x86.avx.vperm2f128.si.256
+ x86_avx_vpermilvar_pd, // llvm.x86.avx.vpermilvar.pd
+ x86_avx_vpermilvar_pd_256, // llvm.x86.avx.vpermilvar.pd.256
+ x86_avx_vpermilvar_ps, // llvm.x86.avx.vpermilvar.ps
+ x86_avx_vpermilvar_ps_256, // llvm.x86.avx.vpermilvar.ps.256
+ x86_avx_vtestc_pd, // llvm.x86.avx.vtestc.pd
+ x86_avx_vtestc_pd_256, // llvm.x86.avx.vtestc.pd.256
+ x86_avx_vtestc_ps, // llvm.x86.avx.vtestc.ps
+ x86_avx_vtestc_ps_256, // llvm.x86.avx.vtestc.ps.256
+ x86_avx_vtestnzc_pd, // llvm.x86.avx.vtestnzc.pd
+ x86_avx_vtestnzc_pd_256, // llvm.x86.avx.vtestnzc.pd.256
+ x86_avx_vtestnzc_ps, // llvm.x86.avx.vtestnzc.ps
+ x86_avx_vtestnzc_ps_256, // llvm.x86.avx.vtestnzc.ps.256
+ x86_avx_vtestz_pd, // llvm.x86.avx.vtestz.pd
+ x86_avx_vtestz_pd_256, // llvm.x86.avx.vtestz.pd.256
+ x86_avx_vtestz_ps, // llvm.x86.avx.vtestz.ps
+ x86_avx_vtestz_ps_256, // llvm.x86.avx.vtestz.ps.256
+ x86_avx_vzeroall, // llvm.x86.avx.vzeroall
+ x86_avx_vzeroupper, // llvm.x86.avx.vzeroupper
+ x86_avx2_gather_d_d, // llvm.x86.avx2.gather.d.d
+ x86_avx2_gather_d_d_256, // llvm.x86.avx2.gather.d.d.256
+ x86_avx2_gather_d_pd, // llvm.x86.avx2.gather.d.pd
+ x86_avx2_gather_d_pd_256, // llvm.x86.avx2.gather.d.pd.256
+ x86_avx2_gather_d_ps, // llvm.x86.avx2.gather.d.ps
+ x86_avx2_gather_d_ps_256, // llvm.x86.avx2.gather.d.ps.256
+ x86_avx2_gather_d_q, // llvm.x86.avx2.gather.d.q
+ x86_avx2_gather_d_q_256, // llvm.x86.avx2.gather.d.q.256
+ x86_avx2_gather_q_d, // llvm.x86.avx2.gather.q.d
+ x86_avx2_gather_q_d_256, // llvm.x86.avx2.gather.q.d.256
+ x86_avx2_gather_q_pd, // llvm.x86.avx2.gather.q.pd
+ x86_avx2_gather_q_pd_256, // llvm.x86.avx2.gather.q.pd.256
+ x86_avx2_gather_q_ps, // llvm.x86.avx2.gather.q.ps
+ x86_avx2_gather_q_ps_256, // llvm.x86.avx2.gather.q.ps.256
+ x86_avx2_gather_q_q, // llvm.x86.avx2.gather.q.q
+ x86_avx2_gather_q_q_256, // llvm.x86.avx2.gather.q.q.256
+ x86_avx2_maskload_d, // llvm.x86.avx2.maskload.d
+ x86_avx2_maskload_d_256, // llvm.x86.avx2.maskload.d.256
+ x86_avx2_maskload_q, // llvm.x86.avx2.maskload.q
+ x86_avx2_maskload_q_256, // llvm.x86.avx2.maskload.q.256
+ x86_avx2_maskstore_d, // llvm.x86.avx2.maskstore.d
+ x86_avx2_maskstore_d_256, // llvm.x86.avx2.maskstore.d.256
+ x86_avx2_maskstore_q, // llvm.x86.avx2.maskstore.q
+ x86_avx2_maskstore_q_256, // llvm.x86.avx2.maskstore.q.256
+ x86_avx2_movntdqa, // llvm.x86.avx2.movntdqa
+ x86_avx2_mpsadbw, // llvm.x86.avx2.mpsadbw
+ x86_avx2_pabs_b, // llvm.x86.avx2.pabs.b
+ x86_avx2_pabs_d, // llvm.x86.avx2.pabs.d
+ x86_avx2_pabs_w, // llvm.x86.avx2.pabs.w
+ x86_avx2_packssdw, // llvm.x86.avx2.packssdw
+ x86_avx2_packsswb, // llvm.x86.avx2.packsswb
+ x86_avx2_packusdw, // llvm.x86.avx2.packusdw
+ x86_avx2_packuswb, // llvm.x86.avx2.packuswb
+ x86_avx2_padds_b, // llvm.x86.avx2.padds.b
+ x86_avx2_padds_w, // llvm.x86.avx2.padds.w
+ x86_avx2_paddus_b, // llvm.x86.avx2.paddus.b
+ x86_avx2_paddus_w, // llvm.x86.avx2.paddus.w
+ x86_avx2_pavg_b, // llvm.x86.avx2.pavg.b
+ x86_avx2_pavg_w, // llvm.x86.avx2.pavg.w
+ x86_avx2_pblendvb, // llvm.x86.avx2.pblendvb
+ x86_avx2_permd, // llvm.x86.avx2.permd
+ x86_avx2_permps, // llvm.x86.avx2.permps
+ x86_avx2_phadd_d, // llvm.x86.avx2.phadd.d
+ x86_avx2_phadd_sw, // llvm.x86.avx2.phadd.sw
+ x86_avx2_phadd_w, // llvm.x86.avx2.phadd.w
+ x86_avx2_phsub_d, // llvm.x86.avx2.phsub.d
+ x86_avx2_phsub_sw, // llvm.x86.avx2.phsub.sw
+ x86_avx2_phsub_w, // llvm.x86.avx2.phsub.w
+ x86_avx2_pmadd_ub_sw, // llvm.x86.avx2.pmadd.ub.sw
+ x86_avx2_pmadd_wd, // llvm.x86.avx2.pmadd.wd
+ x86_avx2_pmovmskb, // llvm.x86.avx2.pmovmskb
+ x86_avx2_pmul_dq, // llvm.x86.avx2.pmul.dq
+ x86_avx2_pmul_hr_sw, // llvm.x86.avx2.pmul.hr.sw
+ x86_avx2_pmulh_w, // llvm.x86.avx2.pmulh.w
+ x86_avx2_pmulhu_w, // llvm.x86.avx2.pmulhu.w
+ x86_avx2_pmulu_dq, // llvm.x86.avx2.pmulu.dq
+ x86_avx2_psad_bw, // llvm.x86.avx2.psad.bw
+ x86_avx2_pshuf_b, // llvm.x86.avx2.pshuf.b
+ x86_avx2_psign_b, // llvm.x86.avx2.psign.b
+ x86_avx2_psign_d, // llvm.x86.avx2.psign.d
+ x86_avx2_psign_w, // llvm.x86.avx2.psign.w
+ x86_avx2_psll_d, // llvm.x86.avx2.psll.d
+ x86_avx2_psll_q, // llvm.x86.avx2.psll.q
+ x86_avx2_psll_w, // llvm.x86.avx2.psll.w
+ x86_avx2_pslli_d, // llvm.x86.avx2.pslli.d
+ x86_avx2_pslli_q, // llvm.x86.avx2.pslli.q
+ x86_avx2_pslli_w, // llvm.x86.avx2.pslli.w
+ x86_avx2_psllv_d, // llvm.x86.avx2.psllv.d
+ x86_avx2_psllv_d_256, // llvm.x86.avx2.psllv.d.256
+ x86_avx2_psllv_q, // llvm.x86.avx2.psllv.q
+ x86_avx2_psllv_q_256, // llvm.x86.avx2.psllv.q.256
+ x86_avx2_psra_d, // llvm.x86.avx2.psra.d
+ x86_avx2_psra_w, // llvm.x86.avx2.psra.w
+ x86_avx2_psrai_d, // llvm.x86.avx2.psrai.d
+ x86_avx2_psrai_w, // llvm.x86.avx2.psrai.w
+ x86_avx2_psrav_d, // llvm.x86.avx2.psrav.d
+ x86_avx2_psrav_d_256, // llvm.x86.avx2.psrav.d.256
+ x86_avx2_psrl_d, // llvm.x86.avx2.psrl.d
+ x86_avx2_psrl_q, // llvm.x86.avx2.psrl.q
+ x86_avx2_psrl_w, // llvm.x86.avx2.psrl.w
+ x86_avx2_psrli_d, // llvm.x86.avx2.psrli.d
+ x86_avx2_psrli_q, // llvm.x86.avx2.psrli.q
+ x86_avx2_psrli_w, // llvm.x86.avx2.psrli.w
+ x86_avx2_psrlv_d, // llvm.x86.avx2.psrlv.d
+ x86_avx2_psrlv_d_256, // llvm.x86.avx2.psrlv.d.256
+ x86_avx2_psrlv_q, // llvm.x86.avx2.psrlv.q
+ x86_avx2_psrlv_q_256, // llvm.x86.avx2.psrlv.q.256
+ x86_avx2_psubs_b, // llvm.x86.avx2.psubs.b
+ x86_avx2_psubs_w, // llvm.x86.avx2.psubs.w
+ x86_avx2_psubus_b, // llvm.x86.avx2.psubus.b
+ x86_avx2_psubus_w, // llvm.x86.avx2.psubus.w
+ x86_avx2_vperm2i128, // llvm.x86.avx2.vperm2i128
+ x86_avx512_broadcastmb_128, // llvm.x86.avx512.broadcastmb.128
+ x86_avx512_broadcastmb_256, // llvm.x86.avx512.broadcastmb.256
+ x86_avx512_broadcastmb_512, // llvm.x86.avx512.broadcastmb.512
+ x86_avx512_broadcastmw_128, // llvm.x86.avx512.broadcastmw.128
+ x86_avx512_broadcastmw_256, // llvm.x86.avx512.broadcastmw.256
+ x86_avx512_broadcastmw_512, // llvm.x86.avx512.broadcastmw.512
+ x86_avx512_cvtb2mask_128, // llvm.x86.avx512.cvtb2mask.128
+ x86_avx512_cvtb2mask_256, // llvm.x86.avx512.cvtb2mask.256
+ x86_avx512_cvtb2mask_512, // llvm.x86.avx512.cvtb2mask.512
+ x86_avx512_cvtd2mask_128, // llvm.x86.avx512.cvtd2mask.128
+ x86_avx512_cvtd2mask_256, // llvm.x86.avx512.cvtd2mask.256
+ x86_avx512_cvtd2mask_512, // llvm.x86.avx512.cvtd2mask.512
+ x86_avx512_cvtmask2b_128, // llvm.x86.avx512.cvtmask2b.128
+ x86_avx512_cvtmask2b_256, // llvm.x86.avx512.cvtmask2b.256
+ x86_avx512_cvtmask2b_512, // llvm.x86.avx512.cvtmask2b.512
+ x86_avx512_cvtmask2d_128, // llvm.x86.avx512.cvtmask2d.128
+ x86_avx512_cvtmask2d_256, // llvm.x86.avx512.cvtmask2d.256
+ x86_avx512_cvtmask2d_512, // llvm.x86.avx512.cvtmask2d.512
+ x86_avx512_cvtmask2q_128, // llvm.x86.avx512.cvtmask2q.128
+ x86_avx512_cvtmask2q_256, // llvm.x86.avx512.cvtmask2q.256
+ x86_avx512_cvtmask2q_512, // llvm.x86.avx512.cvtmask2q.512
+ x86_avx512_cvtmask2w_128, // llvm.x86.avx512.cvtmask2w.128
+ x86_avx512_cvtmask2w_256, // llvm.x86.avx512.cvtmask2w.256
+ x86_avx512_cvtmask2w_512, // llvm.x86.avx512.cvtmask2w.512
+ x86_avx512_cvtq2mask_128, // llvm.x86.avx512.cvtq2mask.128
+ x86_avx512_cvtq2mask_256, // llvm.x86.avx512.cvtq2mask.256
+ x86_avx512_cvtq2mask_512, // llvm.x86.avx512.cvtq2mask.512
+ x86_avx512_cvtsi2sd64, // llvm.x86.avx512.cvtsi2sd64
+ x86_avx512_cvtsi2ss32, // llvm.x86.avx512.cvtsi2ss32
+ x86_avx512_cvtsi2ss64, // llvm.x86.avx512.cvtsi2ss64
+ x86_avx512_cvttsd2si, // llvm.x86.avx512.cvttsd2si
+ x86_avx512_cvttsd2si64, // llvm.x86.avx512.cvttsd2si64
+ x86_avx512_cvttsd2usi, // llvm.x86.avx512.cvttsd2usi
+ x86_avx512_cvttsd2usi64, // llvm.x86.avx512.cvttsd2usi64
+ x86_avx512_cvttss2si, // llvm.x86.avx512.cvttss2si
+ x86_avx512_cvttss2si64, // llvm.x86.avx512.cvttss2si64
+ x86_avx512_cvttss2usi, // llvm.x86.avx512.cvttss2usi
+ x86_avx512_cvttss2usi64, // llvm.x86.avx512.cvttss2usi64
+ x86_avx512_cvtusi2sd, // llvm.x86.avx512.cvtusi2sd
+ x86_avx512_cvtusi2ss, // llvm.x86.avx512.cvtusi2ss
+ x86_avx512_cvtusi642sd, // llvm.x86.avx512.cvtusi642sd
+ x86_avx512_cvtusi642ss, // llvm.x86.avx512.cvtusi642ss
+ x86_avx512_cvtw2mask_128, // llvm.x86.avx512.cvtw2mask.128
+ x86_avx512_cvtw2mask_256, // llvm.x86.avx512.cvtw2mask.256
+ x86_avx512_cvtw2mask_512, // llvm.x86.avx512.cvtw2mask.512
+ x86_avx512_exp2_pd, // llvm.x86.avx512.exp2.pd
+ x86_avx512_exp2_ps, // llvm.x86.avx512.exp2.ps
+ x86_avx512_gather_dpd_512, // llvm.x86.avx512.gather.dpd.512
+ x86_avx512_gather_dpi_512, // llvm.x86.avx512.gather.dpi.512
+ x86_avx512_gather_dpq_512, // llvm.x86.avx512.gather.dpq.512
+ x86_avx512_gather_dps_512, // llvm.x86.avx512.gather.dps.512
+ x86_avx512_gather_qpd_512, // llvm.x86.avx512.gather.qpd.512
+ x86_avx512_gather_qpi_512, // llvm.x86.avx512.gather.qpi.512
+ x86_avx512_gather_qpq_512, // llvm.x86.avx512.gather.qpq.512
+ x86_avx512_gather_qps_512, // llvm.x86.avx512.gather.qps.512
+ x86_avx512_gather3div2_df, // llvm.x86.avx512.gather3div2.df
+ x86_avx512_gather3div2_di, // llvm.x86.avx512.gather3div2.di
+ x86_avx512_gather3div4_df, // llvm.x86.avx512.gather3div4.df
+ x86_avx512_gather3div4_di, // llvm.x86.avx512.gather3div4.di
+ x86_avx512_gather3div4_sf, // llvm.x86.avx512.gather3div4.sf
+ x86_avx512_gather3div4_si, // llvm.x86.avx512.gather3div4.si
+ x86_avx512_gather3div8_sf, // llvm.x86.avx512.gather3div8.sf
+ x86_avx512_gather3div8_si, // llvm.x86.avx512.gather3div8.si
+ x86_avx512_gather3siv2_df, // llvm.x86.avx512.gather3siv2.df
+ x86_avx512_gather3siv2_di, // llvm.x86.avx512.gather3siv2.di
+ x86_avx512_gather3siv4_df, // llvm.x86.avx512.gather3siv4.df
+ x86_avx512_gather3siv4_di, // llvm.x86.avx512.gather3siv4.di
+ x86_avx512_gather3siv4_sf, // llvm.x86.avx512.gather3siv4.sf
+ x86_avx512_gather3siv4_si, // llvm.x86.avx512.gather3siv4.si
+ x86_avx512_gather3siv8_sf, // llvm.x86.avx512.gather3siv8.sf
+ x86_avx512_gather3siv8_si, // llvm.x86.avx512.gather3siv8.si
+ x86_avx512_gatherpf_dpd_512, // llvm.x86.avx512.gatherpf.dpd.512
+ x86_avx512_gatherpf_dps_512, // llvm.x86.avx512.gatherpf.dps.512
+ x86_avx512_gatherpf_qpd_512, // llvm.x86.avx512.gatherpf.qpd.512
+ x86_avx512_gatherpf_qps_512, // llvm.x86.avx512.gatherpf.qps.512
+ x86_avx512_kand_w, // llvm.x86.avx512.kand.w
+ x86_avx512_kandn_w, // llvm.x86.avx512.kandn.w
+ x86_avx512_knot_w, // llvm.x86.avx512.knot.w
+ x86_avx512_kor_w, // llvm.x86.avx512.kor.w
+ x86_avx512_kortestc_w, // llvm.x86.avx512.kortestc.w
+ x86_avx512_kortestz_w, // llvm.x86.avx512.kortestz.w
+ x86_avx512_kunpck_bw, // llvm.x86.avx512.kunpck.bw
+ x86_avx512_kunpck_dq, // llvm.x86.avx512.kunpck.dq
+ x86_avx512_kunpck_wd, // llvm.x86.avx512.kunpck.wd
+ x86_avx512_kxnor_w, // llvm.x86.avx512.kxnor.w
+ x86_avx512_kxor_w, // llvm.x86.avx512.kxor.w
+ x86_avx512_mask_add_pd_512, // llvm.x86.avx512.mask.add.pd.512
+ x86_avx512_mask_add_ps_512, // llvm.x86.avx512.mask.add.ps.512
+ x86_avx512_mask_add_sd_round, // llvm.x86.avx512.mask.add.sd.round
+ x86_avx512_mask_add_ss_round, // llvm.x86.avx512.mask.add.ss.round
+ x86_avx512_mask_broadcastf32x2_256, // llvm.x86.avx512.mask.broadcastf32x2.256
+ x86_avx512_mask_broadcastf32x2_512, // llvm.x86.avx512.mask.broadcastf32x2.512
+ x86_avx512_mask_broadcastf32x4_256, // llvm.x86.avx512.mask.broadcastf32x4.256
+ x86_avx512_mask_broadcastf32x4_512, // llvm.x86.avx512.mask.broadcastf32x4.512
+ x86_avx512_mask_broadcastf32x8_512, // llvm.x86.avx512.mask.broadcastf32x8.512
+ x86_avx512_mask_broadcastf64x2_256, // llvm.x86.avx512.mask.broadcastf64x2.256
+ x86_avx512_mask_broadcastf64x2_512, // llvm.x86.avx512.mask.broadcastf64x2.512
+ x86_avx512_mask_broadcastf64x4_512, // llvm.x86.avx512.mask.broadcastf64x4.512
+ x86_avx512_mask_broadcasti32x2_128, // llvm.x86.avx512.mask.broadcasti32x2.128
+ x86_avx512_mask_broadcasti32x2_256, // llvm.x86.avx512.mask.broadcasti32x2.256
+ x86_avx512_mask_broadcasti32x2_512, // llvm.x86.avx512.mask.broadcasti32x2.512
+ x86_avx512_mask_broadcasti32x4_256, // llvm.x86.avx512.mask.broadcasti32x4.256
+ x86_avx512_mask_broadcasti32x4_512, // llvm.x86.avx512.mask.broadcasti32x4.512
+ x86_avx512_mask_broadcasti32x8_512, // llvm.x86.avx512.mask.broadcasti32x8.512
+ x86_avx512_mask_broadcasti64x2_256, // llvm.x86.avx512.mask.broadcasti64x2.256
+ x86_avx512_mask_broadcasti64x2_512, // llvm.x86.avx512.mask.broadcasti64x2.512
+ x86_avx512_mask_broadcasti64x4_512, // llvm.x86.avx512.mask.broadcasti64x4.512
+ x86_avx512_mask_cmp_b_128, // llvm.x86.avx512.mask.cmp.b.128
+ x86_avx512_mask_cmp_b_256, // llvm.x86.avx512.mask.cmp.b.256
+ x86_avx512_mask_cmp_b_512, // llvm.x86.avx512.mask.cmp.b.512
+ x86_avx512_mask_cmp_d_128, // llvm.x86.avx512.mask.cmp.d.128
+ x86_avx512_mask_cmp_d_256, // llvm.x86.avx512.mask.cmp.d.256
+ x86_avx512_mask_cmp_d_512, // llvm.x86.avx512.mask.cmp.d.512
+ x86_avx512_mask_cmp_pd_128, // llvm.x86.avx512.mask.cmp.pd.128
+ x86_avx512_mask_cmp_pd_256, // llvm.x86.avx512.mask.cmp.pd.256
+ x86_avx512_mask_cmp_pd_512, // llvm.x86.avx512.mask.cmp.pd.512
+ x86_avx512_mask_cmp_ps_128, // llvm.x86.avx512.mask.cmp.ps.128
+ x86_avx512_mask_cmp_ps_256, // llvm.x86.avx512.mask.cmp.ps.256
+ x86_avx512_mask_cmp_ps_512, // llvm.x86.avx512.mask.cmp.ps.512
+ x86_avx512_mask_cmp_q_128, // llvm.x86.avx512.mask.cmp.q.128
+ x86_avx512_mask_cmp_q_256, // llvm.x86.avx512.mask.cmp.q.256
+ x86_avx512_mask_cmp_q_512, // llvm.x86.avx512.mask.cmp.q.512
+ x86_avx512_mask_cmp_sd, // llvm.x86.avx512.mask.cmp.sd
+ x86_avx512_mask_cmp_ss, // llvm.x86.avx512.mask.cmp.ss
+ x86_avx512_mask_cmp_w_128, // llvm.x86.avx512.mask.cmp.w.128
+ x86_avx512_mask_cmp_w_256, // llvm.x86.avx512.mask.cmp.w.256
+ x86_avx512_mask_cmp_w_512, // llvm.x86.avx512.mask.cmp.w.512
+ x86_avx512_mask_compress_d_128, // llvm.x86.avx512.mask.compress.d.128
+ x86_avx512_mask_compress_d_256, // llvm.x86.avx512.mask.compress.d.256
+ x86_avx512_mask_compress_d_512, // llvm.x86.avx512.mask.compress.d.512
+ x86_avx512_mask_compress_pd_128, // llvm.x86.avx512.mask.compress.pd.128
+ x86_avx512_mask_compress_pd_256, // llvm.x86.avx512.mask.compress.pd.256
+ x86_avx512_mask_compress_pd_512, // llvm.x86.avx512.mask.compress.pd.512
+ x86_avx512_mask_compress_ps_128, // llvm.x86.avx512.mask.compress.ps.128
+ x86_avx512_mask_compress_ps_256, // llvm.x86.avx512.mask.compress.ps.256
+ x86_avx512_mask_compress_ps_512, // llvm.x86.avx512.mask.compress.ps.512
+ x86_avx512_mask_compress_q_128, // llvm.x86.avx512.mask.compress.q.128
+ x86_avx512_mask_compress_q_256, // llvm.x86.avx512.mask.compress.q.256
+ x86_avx512_mask_compress_q_512, // llvm.x86.avx512.mask.compress.q.512
+ x86_avx512_mask_compress_store_d_128, // llvm.x86.avx512.mask.compress.store.d.128
+ x86_avx512_mask_compress_store_d_256, // llvm.x86.avx512.mask.compress.store.d.256
+ x86_avx512_mask_compress_store_d_512, // llvm.x86.avx512.mask.compress.store.d.512
+ x86_avx512_mask_compress_store_pd_128, // llvm.x86.avx512.mask.compress.store.pd.128
+ x86_avx512_mask_compress_store_pd_256, // llvm.x86.avx512.mask.compress.store.pd.256
+ x86_avx512_mask_compress_store_pd_512, // llvm.x86.avx512.mask.compress.store.pd.512
+ x86_avx512_mask_compress_store_ps_128, // llvm.x86.avx512.mask.compress.store.ps.128
+ x86_avx512_mask_compress_store_ps_256, // llvm.x86.avx512.mask.compress.store.ps.256
+ x86_avx512_mask_compress_store_ps_512, // llvm.x86.avx512.mask.compress.store.ps.512
+ x86_avx512_mask_compress_store_q_128, // llvm.x86.avx512.mask.compress.store.q.128
+ x86_avx512_mask_compress_store_q_256, // llvm.x86.avx512.mask.compress.store.q.256
+ x86_avx512_mask_compress_store_q_512, // llvm.x86.avx512.mask.compress.store.q.512
+ x86_avx512_mask_conflict_d_128, // llvm.x86.avx512.mask.conflict.d.128
+ x86_avx512_mask_conflict_d_256, // llvm.x86.avx512.mask.conflict.d.256
+ x86_avx512_mask_conflict_d_512, // llvm.x86.avx512.mask.conflict.d.512
+ x86_avx512_mask_conflict_q_128, // llvm.x86.avx512.mask.conflict.q.128
+ x86_avx512_mask_conflict_q_256, // llvm.x86.avx512.mask.conflict.q.256
+ x86_avx512_mask_conflict_q_512, // llvm.x86.avx512.mask.conflict.q.512
+ x86_avx512_mask_cvtdq2ps_128, // llvm.x86.avx512.mask.cvtdq2ps.128
+ x86_avx512_mask_cvtdq2ps_256, // llvm.x86.avx512.mask.cvtdq2ps.256
+ x86_avx512_mask_cvtdq2ps_512, // llvm.x86.avx512.mask.cvtdq2ps.512
+ x86_avx512_mask_cvtpd2dq_128, // llvm.x86.avx512.mask.cvtpd2dq.128
+ x86_avx512_mask_cvtpd2dq_256, // llvm.x86.avx512.mask.cvtpd2dq.256
+ x86_avx512_mask_cvtpd2dq_512, // llvm.x86.avx512.mask.cvtpd2dq.512
+ x86_avx512_mask_cvtpd2ps, // llvm.x86.avx512.mask.cvtpd2ps
+ x86_avx512_mask_cvtpd2ps_256, // llvm.x86.avx512.mask.cvtpd2ps.256
+ x86_avx512_mask_cvtpd2ps_512, // llvm.x86.avx512.mask.cvtpd2ps.512
+ x86_avx512_mask_cvtpd2qq_128, // llvm.x86.avx512.mask.cvtpd2qq.128
+ x86_avx512_mask_cvtpd2qq_256, // llvm.x86.avx512.mask.cvtpd2qq.256
+ x86_avx512_mask_cvtpd2qq_512, // llvm.x86.avx512.mask.cvtpd2qq.512
+ x86_avx512_mask_cvtpd2udq_128, // llvm.x86.avx512.mask.cvtpd2udq.128
+ x86_avx512_mask_cvtpd2udq_256, // llvm.x86.avx512.mask.cvtpd2udq.256
+ x86_avx512_mask_cvtpd2udq_512, // llvm.x86.avx512.mask.cvtpd2udq.512
+ x86_avx512_mask_cvtpd2uqq_128, // llvm.x86.avx512.mask.cvtpd2uqq.128
+ x86_avx512_mask_cvtpd2uqq_256, // llvm.x86.avx512.mask.cvtpd2uqq.256
+ x86_avx512_mask_cvtpd2uqq_512, // llvm.x86.avx512.mask.cvtpd2uqq.512
+ x86_avx512_mask_cvtps2dq_128, // llvm.x86.avx512.mask.cvtps2dq.128
+ x86_avx512_mask_cvtps2dq_256, // llvm.x86.avx512.mask.cvtps2dq.256
+ x86_avx512_mask_cvtps2dq_512, // llvm.x86.avx512.mask.cvtps2dq.512
+ x86_avx512_mask_cvtps2pd_128, // llvm.x86.avx512.mask.cvtps2pd.128
+ x86_avx512_mask_cvtps2pd_256, // llvm.x86.avx512.mask.cvtps2pd.256
+ x86_avx512_mask_cvtps2pd_512, // llvm.x86.avx512.mask.cvtps2pd.512
+ x86_avx512_mask_cvtps2qq_128, // llvm.x86.avx512.mask.cvtps2qq.128
+ x86_avx512_mask_cvtps2qq_256, // llvm.x86.avx512.mask.cvtps2qq.256
+ x86_avx512_mask_cvtps2qq_512, // llvm.x86.avx512.mask.cvtps2qq.512
+ x86_avx512_mask_cvtps2udq_128, // llvm.x86.avx512.mask.cvtps2udq.128
+ x86_avx512_mask_cvtps2udq_256, // llvm.x86.avx512.mask.cvtps2udq.256
+ x86_avx512_mask_cvtps2udq_512, // llvm.x86.avx512.mask.cvtps2udq.512
+ x86_avx512_mask_cvtps2uqq_128, // llvm.x86.avx512.mask.cvtps2uqq.128
+ x86_avx512_mask_cvtps2uqq_256, // llvm.x86.avx512.mask.cvtps2uqq.256
+ x86_avx512_mask_cvtps2uqq_512, // llvm.x86.avx512.mask.cvtps2uqq.512
+ x86_avx512_mask_cvtqq2pd_128, // llvm.x86.avx512.mask.cvtqq2pd.128
+ x86_avx512_mask_cvtqq2pd_256, // llvm.x86.avx512.mask.cvtqq2pd.256
+ x86_avx512_mask_cvtqq2pd_512, // llvm.x86.avx512.mask.cvtqq2pd.512
+ x86_avx512_mask_cvtqq2ps_128, // llvm.x86.avx512.mask.cvtqq2ps.128
+ x86_avx512_mask_cvtqq2ps_256, // llvm.x86.avx512.mask.cvtqq2ps.256
+ x86_avx512_mask_cvtqq2ps_512, // llvm.x86.avx512.mask.cvtqq2ps.512
+ x86_avx512_mask_cvtsd2ss_round, // llvm.x86.avx512.mask.cvtsd2ss.round
+ x86_avx512_mask_cvtss2sd_round, // llvm.x86.avx512.mask.cvtss2sd.round
+ x86_avx512_mask_cvttpd2dq_128, // llvm.x86.avx512.mask.cvttpd2dq.128
+ x86_avx512_mask_cvttpd2dq_256, // llvm.x86.avx512.mask.cvttpd2dq.256
+ x86_avx512_mask_cvttpd2dq_512, // llvm.x86.avx512.mask.cvttpd2dq.512
+ x86_avx512_mask_cvttpd2qq_128, // llvm.x86.avx512.mask.cvttpd2qq.128
+ x86_avx512_mask_cvttpd2qq_256, // llvm.x86.avx512.mask.cvttpd2qq.256
+ x86_avx512_mask_cvttpd2qq_512, // llvm.x86.avx512.mask.cvttpd2qq.512
+ x86_avx512_mask_cvttpd2udq_128, // llvm.x86.avx512.mask.cvttpd2udq.128
+ x86_avx512_mask_cvttpd2udq_256, // llvm.x86.avx512.mask.cvttpd2udq.256
+ x86_avx512_mask_cvttpd2udq_512, // llvm.x86.avx512.mask.cvttpd2udq.512
+ x86_avx512_mask_cvttpd2uqq_128, // llvm.x86.avx512.mask.cvttpd2uqq.128
+ x86_avx512_mask_cvttpd2uqq_256, // llvm.x86.avx512.mask.cvttpd2uqq.256
+ x86_avx512_mask_cvttpd2uqq_512, // llvm.x86.avx512.mask.cvttpd2uqq.512
+ x86_avx512_mask_cvttps2dq_128, // llvm.x86.avx512.mask.cvttps2dq.128
+ x86_avx512_mask_cvttps2dq_256, // llvm.x86.avx512.mask.cvttps2dq.256
+ x86_avx512_mask_cvttps2dq_512, // llvm.x86.avx512.mask.cvttps2dq.512
+ x86_avx512_mask_cvttps2qq_128, // llvm.x86.avx512.mask.cvttps2qq.128
+ x86_avx512_mask_cvttps2qq_256, // llvm.x86.avx512.mask.cvttps2qq.256
+ x86_avx512_mask_cvttps2qq_512, // llvm.x86.avx512.mask.cvttps2qq.512
+ x86_avx512_mask_cvttps2udq_128, // llvm.x86.avx512.mask.cvttps2udq.128
+ x86_avx512_mask_cvttps2udq_256, // llvm.x86.avx512.mask.cvttps2udq.256
+ x86_avx512_mask_cvttps2udq_512, // llvm.x86.avx512.mask.cvttps2udq.512
+ x86_avx512_mask_cvttps2uqq_128, // llvm.x86.avx512.mask.cvttps2uqq.128
+ x86_avx512_mask_cvttps2uqq_256, // llvm.x86.avx512.mask.cvttps2uqq.256
+ x86_avx512_mask_cvttps2uqq_512, // llvm.x86.avx512.mask.cvttps2uqq.512
+ x86_avx512_mask_cvtudq2ps_128, // llvm.x86.avx512.mask.cvtudq2ps.128
+ x86_avx512_mask_cvtudq2ps_256, // llvm.x86.avx512.mask.cvtudq2ps.256
+ x86_avx512_mask_cvtudq2ps_512, // llvm.x86.avx512.mask.cvtudq2ps.512
+ x86_avx512_mask_cvtuqq2pd_128, // llvm.x86.avx512.mask.cvtuqq2pd.128
+ x86_avx512_mask_cvtuqq2pd_256, // llvm.x86.avx512.mask.cvtuqq2pd.256
+ x86_avx512_mask_cvtuqq2pd_512, // llvm.x86.avx512.mask.cvtuqq2pd.512
+ x86_avx512_mask_cvtuqq2ps_128, // llvm.x86.avx512.mask.cvtuqq2ps.128
+ x86_avx512_mask_cvtuqq2ps_256, // llvm.x86.avx512.mask.cvtuqq2ps.256
+ x86_avx512_mask_cvtuqq2ps_512, // llvm.x86.avx512.mask.cvtuqq2ps.512
+ x86_avx512_mask_dbpsadbw_128, // llvm.x86.avx512.mask.dbpsadbw.128
+ x86_avx512_mask_dbpsadbw_256, // llvm.x86.avx512.mask.dbpsadbw.256
+ x86_avx512_mask_dbpsadbw_512, // llvm.x86.avx512.mask.dbpsadbw.512
+ x86_avx512_mask_div_pd_512, // llvm.x86.avx512.mask.div.pd.512
+ x86_avx512_mask_div_ps_512, // llvm.x86.avx512.mask.div.ps.512
+ x86_avx512_mask_div_sd_round, // llvm.x86.avx512.mask.div.sd.round
+ x86_avx512_mask_div_ss_round, // llvm.x86.avx512.mask.div.ss.round
+ x86_avx512_mask_expand_d_128, // llvm.x86.avx512.mask.expand.d.128
+ x86_avx512_mask_expand_d_256, // llvm.x86.avx512.mask.expand.d.256
+ x86_avx512_mask_expand_d_512, // llvm.x86.avx512.mask.expand.d.512
+ x86_avx512_mask_expand_load_d_128, // llvm.x86.avx512.mask.expand.load.d.128
+ x86_avx512_mask_expand_load_d_256, // llvm.x86.avx512.mask.expand.load.d.256
+ x86_avx512_mask_expand_load_d_512, // llvm.x86.avx512.mask.expand.load.d.512
+ x86_avx512_mask_expand_load_pd_128, // llvm.x86.avx512.mask.expand.load.pd.128
+ x86_avx512_mask_expand_load_pd_256, // llvm.x86.avx512.mask.expand.load.pd.256
+ x86_avx512_mask_expand_load_pd_512, // llvm.x86.avx512.mask.expand.load.pd.512
+ x86_avx512_mask_expand_load_ps_128, // llvm.x86.avx512.mask.expand.load.ps.128
+ x86_avx512_mask_expand_load_ps_256, // llvm.x86.avx512.mask.expand.load.ps.256
+ x86_avx512_mask_expand_load_ps_512, // llvm.x86.avx512.mask.expand.load.ps.512
+ x86_avx512_mask_expand_load_q_128, // llvm.x86.avx512.mask.expand.load.q.128
+ x86_avx512_mask_expand_load_q_256, // llvm.x86.avx512.mask.expand.load.q.256
+ x86_avx512_mask_expand_load_q_512, // llvm.x86.avx512.mask.expand.load.q.512
+ x86_avx512_mask_expand_pd_128, // llvm.x86.avx512.mask.expand.pd.128
+ x86_avx512_mask_expand_pd_256, // llvm.x86.avx512.mask.expand.pd.256
+ x86_avx512_mask_expand_pd_512, // llvm.x86.avx512.mask.expand.pd.512
+ x86_avx512_mask_expand_ps_128, // llvm.x86.avx512.mask.expand.ps.128
+ x86_avx512_mask_expand_ps_256, // llvm.x86.avx512.mask.expand.ps.256
+ x86_avx512_mask_expand_ps_512, // llvm.x86.avx512.mask.expand.ps.512
+ x86_avx512_mask_expand_q_128, // llvm.x86.avx512.mask.expand.q.128
+ x86_avx512_mask_expand_q_256, // llvm.x86.avx512.mask.expand.q.256
+ x86_avx512_mask_expand_q_512, // llvm.x86.avx512.mask.expand.q.512
+ x86_avx512_mask_fixupimm_pd_128, // llvm.x86.avx512.mask.fixupimm.pd.128
+ x86_avx512_mask_fixupimm_pd_256, // llvm.x86.avx512.mask.fixupimm.pd.256
+ x86_avx512_mask_fixupimm_pd_512, // llvm.x86.avx512.mask.fixupimm.pd.512
+ x86_avx512_mask_fixupimm_ps_128, // llvm.x86.avx512.mask.fixupimm.ps.128
+ x86_avx512_mask_fixupimm_ps_256, // llvm.x86.avx512.mask.fixupimm.ps.256
+ x86_avx512_mask_fixupimm_ps_512, // llvm.x86.avx512.mask.fixupimm.ps.512
+ x86_avx512_mask_fixupimm_sd, // llvm.x86.avx512.mask.fixupimm.sd
+ x86_avx512_mask_fixupimm_ss, // llvm.x86.avx512.mask.fixupimm.ss
+ x86_avx512_mask_fpclass_pd_128, // llvm.x86.avx512.mask.fpclass.pd.128
+ x86_avx512_mask_fpclass_pd_256, // llvm.x86.avx512.mask.fpclass.pd.256
+ x86_avx512_mask_fpclass_pd_512, // llvm.x86.avx512.mask.fpclass.pd.512
+ x86_avx512_mask_fpclass_ps_128, // llvm.x86.avx512.mask.fpclass.ps.128
+ x86_avx512_mask_fpclass_ps_256, // llvm.x86.avx512.mask.fpclass.ps.256
+ x86_avx512_mask_fpclass_ps_512, // llvm.x86.avx512.mask.fpclass.ps.512
+ x86_avx512_mask_fpclass_sd, // llvm.x86.avx512.mask.fpclass.sd
+ x86_avx512_mask_fpclass_ss, // llvm.x86.avx512.mask.fpclass.ss
+ x86_avx512_mask_getexp_pd_128, // llvm.x86.avx512.mask.getexp.pd.128
+ x86_avx512_mask_getexp_pd_256, // llvm.x86.avx512.mask.getexp.pd.256
+ x86_avx512_mask_getexp_pd_512, // llvm.x86.avx512.mask.getexp.pd.512
+ x86_avx512_mask_getexp_ps_128, // llvm.x86.avx512.mask.getexp.ps.128
+ x86_avx512_mask_getexp_ps_256, // llvm.x86.avx512.mask.getexp.ps.256
+ x86_avx512_mask_getexp_ps_512, // llvm.x86.avx512.mask.getexp.ps.512
+ x86_avx512_mask_getexp_sd, // llvm.x86.avx512.mask.getexp.sd
+ x86_avx512_mask_getexp_ss, // llvm.x86.avx512.mask.getexp.ss
+ x86_avx512_mask_getmant_pd_128, // llvm.x86.avx512.mask.getmant.pd.128
+ x86_avx512_mask_getmant_pd_256, // llvm.x86.avx512.mask.getmant.pd.256
+ x86_avx512_mask_getmant_pd_512, // llvm.x86.avx512.mask.getmant.pd.512
+ x86_avx512_mask_getmant_ps_128, // llvm.x86.avx512.mask.getmant.ps.128
+ x86_avx512_mask_getmant_ps_256, // llvm.x86.avx512.mask.getmant.ps.256
+ x86_avx512_mask_getmant_ps_512, // llvm.x86.avx512.mask.getmant.ps.512
+ x86_avx512_mask_getmant_sd, // llvm.x86.avx512.mask.getmant.sd
+ x86_avx512_mask_getmant_ss, // llvm.x86.avx512.mask.getmant.ss
+ x86_avx512_mask_insertf32x4_256, // llvm.x86.avx512.mask.insertf32x4.256
+ x86_avx512_mask_insertf32x4_512, // llvm.x86.avx512.mask.insertf32x4.512
+ x86_avx512_mask_insertf32x8_512, // llvm.x86.avx512.mask.insertf32x8.512
+ x86_avx512_mask_insertf64x2_256, // llvm.x86.avx512.mask.insertf64x2.256
+ x86_avx512_mask_insertf64x2_512, // llvm.x86.avx512.mask.insertf64x2.512
+ x86_avx512_mask_insertf64x4_512, // llvm.x86.avx512.mask.insertf64x4.512
+ x86_avx512_mask_inserti32x4_256, // llvm.x86.avx512.mask.inserti32x4.256
+ x86_avx512_mask_inserti32x4_512, // llvm.x86.avx512.mask.inserti32x4.512
+ x86_avx512_mask_inserti32x8_512, // llvm.x86.avx512.mask.inserti32x8.512
+ x86_avx512_mask_inserti64x2_256, // llvm.x86.avx512.mask.inserti64x2.256
+ x86_avx512_mask_inserti64x2_512, // llvm.x86.avx512.mask.inserti64x2.512
+ x86_avx512_mask_inserti64x4_512, // llvm.x86.avx512.mask.inserti64x4.512
+ x86_avx512_mask_lzcnt_d_128, // llvm.x86.avx512.mask.lzcnt.d.128
+ x86_avx512_mask_lzcnt_d_256, // llvm.x86.avx512.mask.lzcnt.d.256
+ x86_avx512_mask_lzcnt_d_512, // llvm.x86.avx512.mask.lzcnt.d.512
+ x86_avx512_mask_lzcnt_q_128, // llvm.x86.avx512.mask.lzcnt.q.128
+ x86_avx512_mask_lzcnt_q_256, // llvm.x86.avx512.mask.lzcnt.q.256
+ x86_avx512_mask_lzcnt_q_512, // llvm.x86.avx512.mask.lzcnt.q.512
+ x86_avx512_mask_max_pd_128, // llvm.x86.avx512.mask.max.pd.128
+ x86_avx512_mask_max_pd_256, // llvm.x86.avx512.mask.max.pd.256
+ x86_avx512_mask_max_pd_512, // llvm.x86.avx512.mask.max.pd.512
+ x86_avx512_mask_max_ps_128, // llvm.x86.avx512.mask.max.ps.128
+ x86_avx512_mask_max_ps_256, // llvm.x86.avx512.mask.max.ps.256
+ x86_avx512_mask_max_ps_512, // llvm.x86.avx512.mask.max.ps.512
+ x86_avx512_mask_max_sd_round, // llvm.x86.avx512.mask.max.sd.round
+ x86_avx512_mask_max_ss_round, // llvm.x86.avx512.mask.max.ss.round
+ x86_avx512_mask_min_pd_128, // llvm.x86.avx512.mask.min.pd.128
+ x86_avx512_mask_min_pd_256, // llvm.x86.avx512.mask.min.pd.256
+ x86_avx512_mask_min_pd_512, // llvm.x86.avx512.mask.min.pd.512
+ x86_avx512_mask_min_ps_128, // llvm.x86.avx512.mask.min.ps.128
+ x86_avx512_mask_min_ps_256, // llvm.x86.avx512.mask.min.ps.256
+ x86_avx512_mask_min_ps_512, // llvm.x86.avx512.mask.min.ps.512
+ x86_avx512_mask_min_sd_round, // llvm.x86.avx512.mask.min.sd.round
+ x86_avx512_mask_min_ss_round, // llvm.x86.avx512.mask.min.ss.round
+ x86_avx512_mask_mul_pd_512, // llvm.x86.avx512.mask.mul.pd.512
+ x86_avx512_mask_mul_ps_512, // llvm.x86.avx512.mask.mul.ps.512
+ x86_avx512_mask_mul_sd_round, // llvm.x86.avx512.mask.mul.sd.round
+ x86_avx512_mask_mul_ss_round, // llvm.x86.avx512.mask.mul.ss.round
+ x86_avx512_mask_pabs_b_128, // llvm.x86.avx512.mask.pabs.b.128
+ x86_avx512_mask_pabs_b_256, // llvm.x86.avx512.mask.pabs.b.256
+ x86_avx512_mask_pabs_b_512, // llvm.x86.avx512.mask.pabs.b.512
+ x86_avx512_mask_pabs_d_128, // llvm.x86.avx512.mask.pabs.d.128
+ x86_avx512_mask_pabs_d_256, // llvm.x86.avx512.mask.pabs.d.256
+ x86_avx512_mask_pabs_d_512, // llvm.x86.avx512.mask.pabs.d.512
+ x86_avx512_mask_pabs_q_128, // llvm.x86.avx512.mask.pabs.q.128
+ x86_avx512_mask_pabs_q_256, // llvm.x86.avx512.mask.pabs.q.256
+ x86_avx512_mask_pabs_q_512, // llvm.x86.avx512.mask.pabs.q.512
+ x86_avx512_mask_pabs_w_128, // llvm.x86.avx512.mask.pabs.w.128
+ x86_avx512_mask_pabs_w_256, // llvm.x86.avx512.mask.pabs.w.256
+ x86_avx512_mask_pabs_w_512, // llvm.x86.avx512.mask.pabs.w.512
+ x86_avx512_mask_packssdw_128, // llvm.x86.avx512.mask.packssdw.128
+ x86_avx512_mask_packssdw_256, // llvm.x86.avx512.mask.packssdw.256
+ x86_avx512_mask_packssdw_512, // llvm.x86.avx512.mask.packssdw.512
+ x86_avx512_mask_packsswb_128, // llvm.x86.avx512.mask.packsswb.128
+ x86_avx512_mask_packsswb_256, // llvm.x86.avx512.mask.packsswb.256
+ x86_avx512_mask_packsswb_512, // llvm.x86.avx512.mask.packsswb.512
+ x86_avx512_mask_packusdw_128, // llvm.x86.avx512.mask.packusdw.128
+ x86_avx512_mask_packusdw_256, // llvm.x86.avx512.mask.packusdw.256
+ x86_avx512_mask_packusdw_512, // llvm.x86.avx512.mask.packusdw.512
+ x86_avx512_mask_packuswb_128, // llvm.x86.avx512.mask.packuswb.128
+ x86_avx512_mask_packuswb_256, // llvm.x86.avx512.mask.packuswb.256
+ x86_avx512_mask_packuswb_512, // llvm.x86.avx512.mask.packuswb.512
+ x86_avx512_mask_padds_b_128, // llvm.x86.avx512.mask.padds.b.128
+ x86_avx512_mask_padds_b_256, // llvm.x86.avx512.mask.padds.b.256
+ x86_avx512_mask_padds_b_512, // llvm.x86.avx512.mask.padds.b.512
+ x86_avx512_mask_padds_w_128, // llvm.x86.avx512.mask.padds.w.128
+ x86_avx512_mask_padds_w_256, // llvm.x86.avx512.mask.padds.w.256
+ x86_avx512_mask_padds_w_512, // llvm.x86.avx512.mask.padds.w.512
+ x86_avx512_mask_paddus_b_128, // llvm.x86.avx512.mask.paddus.b.128
+ x86_avx512_mask_paddus_b_256, // llvm.x86.avx512.mask.paddus.b.256
+ x86_avx512_mask_paddus_b_512, // llvm.x86.avx512.mask.paddus.b.512
+ x86_avx512_mask_paddus_w_128, // llvm.x86.avx512.mask.paddus.w.128
+ x86_avx512_mask_paddus_w_256, // llvm.x86.avx512.mask.paddus.w.256
+ x86_avx512_mask_paddus_w_512, // llvm.x86.avx512.mask.paddus.w.512
+ x86_avx512_mask_pavg_b_128, // llvm.x86.avx512.mask.pavg.b.128
+ x86_avx512_mask_pavg_b_256, // llvm.x86.avx512.mask.pavg.b.256
+ x86_avx512_mask_pavg_b_512, // llvm.x86.avx512.mask.pavg.b.512
+ x86_avx512_mask_pavg_w_128, // llvm.x86.avx512.mask.pavg.w.128
+ x86_avx512_mask_pavg_w_256, // llvm.x86.avx512.mask.pavg.w.256
+ x86_avx512_mask_pavg_w_512, // llvm.x86.avx512.mask.pavg.w.512
+ x86_avx512_mask_pbroadcast_b_gpr_128, // llvm.x86.avx512.mask.pbroadcast.b.gpr.128
+ x86_avx512_mask_pbroadcast_b_gpr_256, // llvm.x86.avx512.mask.pbroadcast.b.gpr.256
+ x86_avx512_mask_pbroadcast_b_gpr_512, // llvm.x86.avx512.mask.pbroadcast.b.gpr.512
+ x86_avx512_mask_pbroadcast_d_gpr_128, // llvm.x86.avx512.mask.pbroadcast.d.gpr.128
+ x86_avx512_mask_pbroadcast_d_gpr_256, // llvm.x86.avx512.mask.pbroadcast.d.gpr.256
+ x86_avx512_mask_pbroadcast_d_gpr_512, // llvm.x86.avx512.mask.pbroadcast.d.gpr.512
+ x86_avx512_mask_pbroadcast_q_gpr_128, // llvm.x86.avx512.mask.pbroadcast.q.gpr.128
+ x86_avx512_mask_pbroadcast_q_gpr_256, // llvm.x86.avx512.mask.pbroadcast.q.gpr.256
+ x86_avx512_mask_pbroadcast_q_gpr_512, // llvm.x86.avx512.mask.pbroadcast.q.gpr.512
+ x86_avx512_mask_pbroadcast_q_mem_512, // llvm.x86.avx512.mask.pbroadcast.q.mem.512
+ x86_avx512_mask_pbroadcast_w_gpr_128, // llvm.x86.avx512.mask.pbroadcast.w.gpr.128
+ x86_avx512_mask_pbroadcast_w_gpr_256, // llvm.x86.avx512.mask.pbroadcast.w.gpr.256
+ x86_avx512_mask_pbroadcast_w_gpr_512, // llvm.x86.avx512.mask.pbroadcast.w.gpr.512
+ x86_avx512_mask_permvar_df_256, // llvm.x86.avx512.mask.permvar.df.256
+ x86_avx512_mask_permvar_df_512, // llvm.x86.avx512.mask.permvar.df.512
+ x86_avx512_mask_permvar_di_256, // llvm.x86.avx512.mask.permvar.di.256
+ x86_avx512_mask_permvar_di_512, // llvm.x86.avx512.mask.permvar.di.512
+ x86_avx512_mask_permvar_hi_128, // llvm.x86.avx512.mask.permvar.hi.128
+ x86_avx512_mask_permvar_hi_256, // llvm.x86.avx512.mask.permvar.hi.256
+ x86_avx512_mask_permvar_hi_512, // llvm.x86.avx512.mask.permvar.hi.512
+ x86_avx512_mask_permvar_qi_128, // llvm.x86.avx512.mask.permvar.qi.128
+ x86_avx512_mask_permvar_qi_256, // llvm.x86.avx512.mask.permvar.qi.256
+ x86_avx512_mask_permvar_qi_512, // llvm.x86.avx512.mask.permvar.qi.512
+ x86_avx512_mask_permvar_sf_256, // llvm.x86.avx512.mask.permvar.sf.256
+ x86_avx512_mask_permvar_sf_512, // llvm.x86.avx512.mask.permvar.sf.512
+ x86_avx512_mask_permvar_si_256, // llvm.x86.avx512.mask.permvar.si.256
+ x86_avx512_mask_permvar_si_512, // llvm.x86.avx512.mask.permvar.si.512
+ x86_avx512_mask_pmaddubs_w_128, // llvm.x86.avx512.mask.pmaddubs.w.128
+ x86_avx512_mask_pmaddubs_w_256, // llvm.x86.avx512.mask.pmaddubs.w.256
+ x86_avx512_mask_pmaddubs_w_512, // llvm.x86.avx512.mask.pmaddubs.w.512
+ x86_avx512_mask_pmaddw_d_128, // llvm.x86.avx512.mask.pmaddw.d.128
+ x86_avx512_mask_pmaddw_d_256, // llvm.x86.avx512.mask.pmaddw.d.256
+ x86_avx512_mask_pmaddw_d_512, // llvm.x86.avx512.mask.pmaddw.d.512
+ x86_avx512_mask_pmov_db_128, // llvm.x86.avx512.mask.pmov.db.128
+ x86_avx512_mask_pmov_db_256, // llvm.x86.avx512.mask.pmov.db.256
+ x86_avx512_mask_pmov_db_512, // llvm.x86.avx512.mask.pmov.db.512
+ x86_avx512_mask_pmov_db_mem_128, // llvm.x86.avx512.mask.pmov.db.mem.128
+ x86_avx512_mask_pmov_db_mem_256, // llvm.x86.avx512.mask.pmov.db.mem.256
+ x86_avx512_mask_pmov_db_mem_512, // llvm.x86.avx512.mask.pmov.db.mem.512
+ x86_avx512_mask_pmov_dw_128, // llvm.x86.avx512.mask.pmov.dw.128
+ x86_avx512_mask_pmov_dw_256, // llvm.x86.avx512.mask.pmov.dw.256
+ x86_avx512_mask_pmov_dw_512, // llvm.x86.avx512.mask.pmov.dw.512
+ x86_avx512_mask_pmov_dw_mem_128, // llvm.x86.avx512.mask.pmov.dw.mem.128
+ x86_avx512_mask_pmov_dw_mem_256, // llvm.x86.avx512.mask.pmov.dw.mem.256
+ x86_avx512_mask_pmov_dw_mem_512, // llvm.x86.avx512.mask.pmov.dw.mem.512
+ x86_avx512_mask_pmov_qb_128, // llvm.x86.avx512.mask.pmov.qb.128
+ x86_avx512_mask_pmov_qb_256, // llvm.x86.avx512.mask.pmov.qb.256
+ x86_avx512_mask_pmov_qb_512, // llvm.x86.avx512.mask.pmov.qb.512
+ x86_avx512_mask_pmov_qb_mem_128, // llvm.x86.avx512.mask.pmov.qb.mem.128
+ x86_avx512_mask_pmov_qb_mem_256, // llvm.x86.avx512.mask.pmov.qb.mem.256
+ x86_avx512_mask_pmov_qb_mem_512, // llvm.x86.avx512.mask.pmov.qb.mem.512
+ x86_avx512_mask_pmov_qd_128, // llvm.x86.avx512.mask.pmov.qd.128
+ x86_avx512_mask_pmov_qd_256, // llvm.x86.avx512.mask.pmov.qd.256
+ x86_avx512_mask_pmov_qd_512, // llvm.x86.avx512.mask.pmov.qd.512
+ x86_avx512_mask_pmov_qd_mem_128, // llvm.x86.avx512.mask.pmov.qd.mem.128
+ x86_avx512_mask_pmov_qd_mem_256, // llvm.x86.avx512.mask.pmov.qd.mem.256
+ x86_avx512_mask_pmov_qd_mem_512, // llvm.x86.avx512.mask.pmov.qd.mem.512
+ x86_avx512_mask_pmov_qw_128, // llvm.x86.avx512.mask.pmov.qw.128
+ x86_avx512_mask_pmov_qw_256, // llvm.x86.avx512.mask.pmov.qw.256
+ x86_avx512_mask_pmov_qw_512, // llvm.x86.avx512.mask.pmov.qw.512
+ x86_avx512_mask_pmov_qw_mem_128, // llvm.x86.avx512.mask.pmov.qw.mem.128
+ x86_avx512_mask_pmov_qw_mem_256, // llvm.x86.avx512.mask.pmov.qw.mem.256
+ x86_avx512_mask_pmov_qw_mem_512, // llvm.x86.avx512.mask.pmov.qw.mem.512
+ x86_avx512_mask_pmov_wb_128, // llvm.x86.avx512.mask.pmov.wb.128
+ x86_avx512_mask_pmov_wb_256, // llvm.x86.avx512.mask.pmov.wb.256
+ x86_avx512_mask_pmov_wb_512, // llvm.x86.avx512.mask.pmov.wb.512
+ x86_avx512_mask_pmov_wb_mem_128, // llvm.x86.avx512.mask.pmov.wb.mem.128
+ x86_avx512_mask_pmov_wb_mem_256, // llvm.x86.avx512.mask.pmov.wb.mem.256
+ x86_avx512_mask_pmov_wb_mem_512, // llvm.x86.avx512.mask.pmov.wb.mem.512
+ x86_avx512_mask_pmovs_db_128, // llvm.x86.avx512.mask.pmovs.db.128
+ x86_avx512_mask_pmovs_db_256, // llvm.x86.avx512.mask.pmovs.db.256
+ x86_avx512_mask_pmovs_db_512, // llvm.x86.avx512.mask.pmovs.db.512
+ x86_avx512_mask_pmovs_db_mem_128, // llvm.x86.avx512.mask.pmovs.db.mem.128
+ x86_avx512_mask_pmovs_db_mem_256, // llvm.x86.avx512.mask.pmovs.db.mem.256
+ x86_avx512_mask_pmovs_db_mem_512, // llvm.x86.avx512.mask.pmovs.db.mem.512
+ x86_avx512_mask_pmovs_dw_128, // llvm.x86.avx512.mask.pmovs.dw.128
+ x86_avx512_mask_pmovs_dw_256, // llvm.x86.avx512.mask.pmovs.dw.256
+ x86_avx512_mask_pmovs_dw_512, // llvm.x86.avx512.mask.pmovs.dw.512
+ x86_avx512_mask_pmovs_dw_mem_128, // llvm.x86.avx512.mask.pmovs.dw.mem.128
+ x86_avx512_mask_pmovs_dw_mem_256, // llvm.x86.avx512.mask.pmovs.dw.mem.256
+ x86_avx512_mask_pmovs_dw_mem_512, // llvm.x86.avx512.mask.pmovs.dw.mem.512
+ x86_avx512_mask_pmovs_qb_128, // llvm.x86.avx512.mask.pmovs.qb.128
+ x86_avx512_mask_pmovs_qb_256, // llvm.x86.avx512.mask.pmovs.qb.256
+ x86_avx512_mask_pmovs_qb_512, // llvm.x86.avx512.mask.pmovs.qb.512
+ x86_avx512_mask_pmovs_qb_mem_128, // llvm.x86.avx512.mask.pmovs.qb.mem.128
+ x86_avx512_mask_pmovs_qb_mem_256, // llvm.x86.avx512.mask.pmovs.qb.mem.256
+ x86_avx512_mask_pmovs_qb_mem_512, // llvm.x86.avx512.mask.pmovs.qb.mem.512
+ x86_avx512_mask_pmovs_qd_128, // llvm.x86.avx512.mask.pmovs.qd.128
+ x86_avx512_mask_pmovs_qd_256, // llvm.x86.avx512.mask.pmovs.qd.256
+ x86_avx512_mask_pmovs_qd_512, // llvm.x86.avx512.mask.pmovs.qd.512
+ x86_avx512_mask_pmovs_qd_mem_128, // llvm.x86.avx512.mask.pmovs.qd.mem.128
+ x86_avx512_mask_pmovs_qd_mem_256, // llvm.x86.avx512.mask.pmovs.qd.mem.256
+ x86_avx512_mask_pmovs_qd_mem_512, // llvm.x86.avx512.mask.pmovs.qd.mem.512
+ x86_avx512_mask_pmovs_qw_128, // llvm.x86.avx512.mask.pmovs.qw.128
+ x86_avx512_mask_pmovs_qw_256, // llvm.x86.avx512.mask.pmovs.qw.256
+ x86_avx512_mask_pmovs_qw_512, // llvm.x86.avx512.mask.pmovs.qw.512
+ x86_avx512_mask_pmovs_qw_mem_128, // llvm.x86.avx512.mask.pmovs.qw.mem.128
+ x86_avx512_mask_pmovs_qw_mem_256, // llvm.x86.avx512.mask.pmovs.qw.mem.256
+ x86_avx512_mask_pmovs_qw_mem_512, // llvm.x86.avx512.mask.pmovs.qw.mem.512
+ x86_avx512_mask_pmovs_wb_128, // llvm.x86.avx512.mask.pmovs.wb.128
+ x86_avx512_mask_pmovs_wb_256, // llvm.x86.avx512.mask.pmovs.wb.256
+ x86_avx512_mask_pmovs_wb_512, // llvm.x86.avx512.mask.pmovs.wb.512
+ x86_avx512_mask_pmovs_wb_mem_128, // llvm.x86.avx512.mask.pmovs.wb.mem.128
+ x86_avx512_mask_pmovs_wb_mem_256, // llvm.x86.avx512.mask.pmovs.wb.mem.256
+ x86_avx512_mask_pmovs_wb_mem_512, // llvm.x86.avx512.mask.pmovs.wb.mem.512
+ x86_avx512_mask_pmovus_db_128, // llvm.x86.avx512.mask.pmovus.db.128
+ x86_avx512_mask_pmovus_db_256, // llvm.x86.avx512.mask.pmovus.db.256
+ x86_avx512_mask_pmovus_db_512, // llvm.x86.avx512.mask.pmovus.db.512
+ x86_avx512_mask_pmovus_db_mem_128, // llvm.x86.avx512.mask.pmovus.db.mem.128
+ x86_avx512_mask_pmovus_db_mem_256, // llvm.x86.avx512.mask.pmovus.db.mem.256
+ x86_avx512_mask_pmovus_db_mem_512, // llvm.x86.avx512.mask.pmovus.db.mem.512
+ x86_avx512_mask_pmovus_dw_128, // llvm.x86.avx512.mask.pmovus.dw.128
+ x86_avx512_mask_pmovus_dw_256, // llvm.x86.avx512.mask.pmovus.dw.256
+ x86_avx512_mask_pmovus_dw_512, // llvm.x86.avx512.mask.pmovus.dw.512
+ x86_avx512_mask_pmovus_dw_mem_128, // llvm.x86.avx512.mask.pmovus.dw.mem.128
+ x86_avx512_mask_pmovus_dw_mem_256, // llvm.x86.avx512.mask.pmovus.dw.mem.256
+ x86_avx512_mask_pmovus_dw_mem_512, // llvm.x86.avx512.mask.pmovus.dw.mem.512
+ x86_avx512_mask_pmovus_qb_128, // llvm.x86.avx512.mask.pmovus.qb.128
+ x86_avx512_mask_pmovus_qb_256, // llvm.x86.avx512.mask.pmovus.qb.256
+ x86_avx512_mask_pmovus_qb_512, // llvm.x86.avx512.mask.pmovus.qb.512
+ x86_avx512_mask_pmovus_qb_mem_128, // llvm.x86.avx512.mask.pmovus.qb.mem.128
+ x86_avx512_mask_pmovus_qb_mem_256, // llvm.x86.avx512.mask.pmovus.qb.mem.256
+ x86_avx512_mask_pmovus_qb_mem_512, // llvm.x86.avx512.mask.pmovus.qb.mem.512
+ x86_avx512_mask_pmovus_qd_128, // llvm.x86.avx512.mask.pmovus.qd.128
+ x86_avx512_mask_pmovus_qd_256, // llvm.x86.avx512.mask.pmovus.qd.256
+ x86_avx512_mask_pmovus_qd_512, // llvm.x86.avx512.mask.pmovus.qd.512
+ x86_avx512_mask_pmovus_qd_mem_128, // llvm.x86.avx512.mask.pmovus.qd.mem.128
+ x86_avx512_mask_pmovus_qd_mem_256, // llvm.x86.avx512.mask.pmovus.qd.mem.256
+ x86_avx512_mask_pmovus_qd_mem_512, // llvm.x86.avx512.mask.pmovus.qd.mem.512
+ x86_avx512_mask_pmovus_qw_128, // llvm.x86.avx512.mask.pmovus.qw.128
+ x86_avx512_mask_pmovus_qw_256, // llvm.x86.avx512.mask.pmovus.qw.256
+ x86_avx512_mask_pmovus_qw_512, // llvm.x86.avx512.mask.pmovus.qw.512
+ x86_avx512_mask_pmovus_qw_mem_128, // llvm.x86.avx512.mask.pmovus.qw.mem.128
+ x86_avx512_mask_pmovus_qw_mem_256, // llvm.x86.avx512.mask.pmovus.qw.mem.256
+ x86_avx512_mask_pmovus_qw_mem_512, // llvm.x86.avx512.mask.pmovus.qw.mem.512
+ x86_avx512_mask_pmovus_wb_128, // llvm.x86.avx512.mask.pmovus.wb.128
+ x86_avx512_mask_pmovus_wb_256, // llvm.x86.avx512.mask.pmovus.wb.256
+ x86_avx512_mask_pmovus_wb_512, // llvm.x86.avx512.mask.pmovus.wb.512
+ x86_avx512_mask_pmovus_wb_mem_128, // llvm.x86.avx512.mask.pmovus.wb.mem.128
+ x86_avx512_mask_pmovus_wb_mem_256, // llvm.x86.avx512.mask.pmovus.wb.mem.256
+ x86_avx512_mask_pmovus_wb_mem_512, // llvm.x86.avx512.mask.pmovus.wb.mem.512
+ x86_avx512_mask_pmul_dq_128, // llvm.x86.avx512.mask.pmul.dq.128
+ x86_avx512_mask_pmul_dq_256, // llvm.x86.avx512.mask.pmul.dq.256
+ x86_avx512_mask_pmul_dq_512, // llvm.x86.avx512.mask.pmul.dq.512
+ x86_avx512_mask_pmul_hr_sw_128, // llvm.x86.avx512.mask.pmul.hr.sw.128
+ x86_avx512_mask_pmul_hr_sw_256, // llvm.x86.avx512.mask.pmul.hr.sw.256
+ x86_avx512_mask_pmul_hr_sw_512, // llvm.x86.avx512.mask.pmul.hr.sw.512
+ x86_avx512_mask_pmulh_w_128, // llvm.x86.avx512.mask.pmulh.w.128
+ x86_avx512_mask_pmulh_w_256, // llvm.x86.avx512.mask.pmulh.w.256
+ x86_avx512_mask_pmulh_w_512, // llvm.x86.avx512.mask.pmulh.w.512
+ x86_avx512_mask_pmulhu_w_128, // llvm.x86.avx512.mask.pmulhu.w.128
+ x86_avx512_mask_pmulhu_w_256, // llvm.x86.avx512.mask.pmulhu.w.256
+ x86_avx512_mask_pmulhu_w_512, // llvm.x86.avx512.mask.pmulhu.w.512
+ x86_avx512_mask_pmultishift_qb_128, // llvm.x86.avx512.mask.pmultishift.qb.128
+ x86_avx512_mask_pmultishift_qb_256, // llvm.x86.avx512.mask.pmultishift.qb.256
+ x86_avx512_mask_pmultishift_qb_512, // llvm.x86.avx512.mask.pmultishift.qb.512
+ x86_avx512_mask_pmulu_dq_128, // llvm.x86.avx512.mask.pmulu.dq.128
+ x86_avx512_mask_pmulu_dq_256, // llvm.x86.avx512.mask.pmulu.dq.256
+ x86_avx512_mask_pmulu_dq_512, // llvm.x86.avx512.mask.pmulu.dq.512
+ x86_avx512_mask_prol_d_128, // llvm.x86.avx512.mask.prol.d.128
+ x86_avx512_mask_prol_d_256, // llvm.x86.avx512.mask.prol.d.256
+ x86_avx512_mask_prol_d_512, // llvm.x86.avx512.mask.prol.d.512
+ x86_avx512_mask_prol_q_128, // llvm.x86.avx512.mask.prol.q.128
+ x86_avx512_mask_prol_q_256, // llvm.x86.avx512.mask.prol.q.256
+ x86_avx512_mask_prol_q_512, // llvm.x86.avx512.mask.prol.q.512
+ x86_avx512_mask_prolv_d_128, // llvm.x86.avx512.mask.prolv.d.128
+ x86_avx512_mask_prolv_d_256, // llvm.x86.avx512.mask.prolv.d.256
+ x86_avx512_mask_prolv_d_512, // llvm.x86.avx512.mask.prolv.d.512
+ x86_avx512_mask_prolv_q_128, // llvm.x86.avx512.mask.prolv.q.128
+ x86_avx512_mask_prolv_q_256, // llvm.x86.avx512.mask.prolv.q.256
+ x86_avx512_mask_prolv_q_512, // llvm.x86.avx512.mask.prolv.q.512
+ x86_avx512_mask_pror_d_128, // llvm.x86.avx512.mask.pror.d.128
+ x86_avx512_mask_pror_d_256, // llvm.x86.avx512.mask.pror.d.256
+ x86_avx512_mask_pror_d_512, // llvm.x86.avx512.mask.pror.d.512
+ x86_avx512_mask_pror_q_128, // llvm.x86.avx512.mask.pror.q.128
+ x86_avx512_mask_pror_q_256, // llvm.x86.avx512.mask.pror.q.256
+ x86_avx512_mask_pror_q_512, // llvm.x86.avx512.mask.pror.q.512
+ x86_avx512_mask_prorv_d_128, // llvm.x86.avx512.mask.prorv.d.128
+ x86_avx512_mask_prorv_d_256, // llvm.x86.avx512.mask.prorv.d.256
+ x86_avx512_mask_prorv_d_512, // llvm.x86.avx512.mask.prorv.d.512
+ x86_avx512_mask_prorv_q_128, // llvm.x86.avx512.mask.prorv.q.128
+ x86_avx512_mask_prorv_q_256, // llvm.x86.avx512.mask.prorv.q.256
+ x86_avx512_mask_prorv_q_512, // llvm.x86.avx512.mask.prorv.q.512
+ x86_avx512_mask_psubs_b_128, // llvm.x86.avx512.mask.psubs.b.128
+ x86_avx512_mask_psubs_b_256, // llvm.x86.avx512.mask.psubs.b.256
+ x86_avx512_mask_psubs_b_512, // llvm.x86.avx512.mask.psubs.b.512
+ x86_avx512_mask_psubs_w_128, // llvm.x86.avx512.mask.psubs.w.128
+ x86_avx512_mask_psubs_w_256, // llvm.x86.avx512.mask.psubs.w.256
+ x86_avx512_mask_psubs_w_512, // llvm.x86.avx512.mask.psubs.w.512
+ x86_avx512_mask_psubus_b_128, // llvm.x86.avx512.mask.psubus.b.128
+ x86_avx512_mask_psubus_b_256, // llvm.x86.avx512.mask.psubus.b.256
+ x86_avx512_mask_psubus_b_512, // llvm.x86.avx512.mask.psubus.b.512
+ x86_avx512_mask_psubus_w_128, // llvm.x86.avx512.mask.psubus.w.128
+ x86_avx512_mask_psubus_w_256, // llvm.x86.avx512.mask.psubus.w.256
+ x86_avx512_mask_psubus_w_512, // llvm.x86.avx512.mask.psubus.w.512
+ x86_avx512_mask_pternlog_d_128, // llvm.x86.avx512.mask.pternlog.d.128
+ x86_avx512_mask_pternlog_d_256, // llvm.x86.avx512.mask.pternlog.d.256
+ x86_avx512_mask_pternlog_d_512, // llvm.x86.avx512.mask.pternlog.d.512
+ x86_avx512_mask_pternlog_q_128, // llvm.x86.avx512.mask.pternlog.q.128
+ x86_avx512_mask_pternlog_q_256, // llvm.x86.avx512.mask.pternlog.q.256
+ x86_avx512_mask_pternlog_q_512, // llvm.x86.avx512.mask.pternlog.q.512
+ x86_avx512_mask_range_pd_128, // llvm.x86.avx512.mask.range.pd.128
+ x86_avx512_mask_range_pd_256, // llvm.x86.avx512.mask.range.pd.256
+ x86_avx512_mask_range_pd_512, // llvm.x86.avx512.mask.range.pd.512
+ x86_avx512_mask_range_ps_128, // llvm.x86.avx512.mask.range.ps.128
+ x86_avx512_mask_range_ps_256, // llvm.x86.avx512.mask.range.ps.256
+ x86_avx512_mask_range_ps_512, // llvm.x86.avx512.mask.range.ps.512
+ x86_avx512_mask_range_sd, // llvm.x86.avx512.mask.range.sd
+ x86_avx512_mask_range_ss, // llvm.x86.avx512.mask.range.ss
+ x86_avx512_mask_reduce_pd_128, // llvm.x86.avx512.mask.reduce.pd.128
+ x86_avx512_mask_reduce_pd_256, // llvm.x86.avx512.mask.reduce.pd.256
+ x86_avx512_mask_reduce_pd_512, // llvm.x86.avx512.mask.reduce.pd.512
+ x86_avx512_mask_reduce_ps_128, // llvm.x86.avx512.mask.reduce.ps.128
+ x86_avx512_mask_reduce_ps_256, // llvm.x86.avx512.mask.reduce.ps.256
+ x86_avx512_mask_reduce_ps_512, // llvm.x86.avx512.mask.reduce.ps.512
+ x86_avx512_mask_reduce_sd, // llvm.x86.avx512.mask.reduce.sd
+ x86_avx512_mask_reduce_ss, // llvm.x86.avx512.mask.reduce.ss
+ x86_avx512_mask_rndscale_pd_128, // llvm.x86.avx512.mask.rndscale.pd.128
+ x86_avx512_mask_rndscale_pd_256, // llvm.x86.avx512.mask.rndscale.pd.256
+ x86_avx512_mask_rndscale_pd_512, // llvm.x86.avx512.mask.rndscale.pd.512
+ x86_avx512_mask_rndscale_ps_128, // llvm.x86.avx512.mask.rndscale.ps.128
+ x86_avx512_mask_rndscale_ps_256, // llvm.x86.avx512.mask.rndscale.ps.256
+ x86_avx512_mask_rndscale_ps_512, // llvm.x86.avx512.mask.rndscale.ps.512
+ x86_avx512_mask_rndscale_sd, // llvm.x86.avx512.mask.rndscale.sd
+ x86_avx512_mask_rndscale_ss, // llvm.x86.avx512.mask.rndscale.ss
+ x86_avx512_mask_scalef_pd_128, // llvm.x86.avx512.mask.scalef.pd.128
+ x86_avx512_mask_scalef_pd_256, // llvm.x86.avx512.mask.scalef.pd.256
+ x86_avx512_mask_scalef_pd_512, // llvm.x86.avx512.mask.scalef.pd.512
+ x86_avx512_mask_scalef_ps_128, // llvm.x86.avx512.mask.scalef.ps.128
+ x86_avx512_mask_scalef_ps_256, // llvm.x86.avx512.mask.scalef.ps.256
+ x86_avx512_mask_scalef_ps_512, // llvm.x86.avx512.mask.scalef.ps.512
+ x86_avx512_mask_scalef_sd, // llvm.x86.avx512.mask.scalef.sd
+ x86_avx512_mask_scalef_ss, // llvm.x86.avx512.mask.scalef.ss
+ x86_avx512_mask_shuf_f32x4, // llvm.x86.avx512.mask.shuf.f32x4
+ x86_avx512_mask_shuf_f32x4_256, // llvm.x86.avx512.mask.shuf.f32x4.256
+ x86_avx512_mask_shuf_f64x2, // llvm.x86.avx512.mask.shuf.f64x2
+ x86_avx512_mask_shuf_f64x2_256, // llvm.x86.avx512.mask.shuf.f64x2.256
+ x86_avx512_mask_shuf_i32x4, // llvm.x86.avx512.mask.shuf.i32x4
+ x86_avx512_mask_shuf_i32x4_256, // llvm.x86.avx512.mask.shuf.i32x4.256
+ x86_avx512_mask_shuf_i64x2, // llvm.x86.avx512.mask.shuf.i64x2
+ x86_avx512_mask_shuf_i64x2_256, // llvm.x86.avx512.mask.shuf.i64x2.256
+ x86_avx512_mask_sqrt_pd_128, // llvm.x86.avx512.mask.sqrt.pd.128
+ x86_avx512_mask_sqrt_pd_256, // llvm.x86.avx512.mask.sqrt.pd.256
+ x86_avx512_mask_sqrt_pd_512, // llvm.x86.avx512.mask.sqrt.pd.512
+ x86_avx512_mask_sqrt_ps_128, // llvm.x86.avx512.mask.sqrt.ps.128
+ x86_avx512_mask_sqrt_ps_256, // llvm.x86.avx512.mask.sqrt.ps.256
+ x86_avx512_mask_sqrt_ps_512, // llvm.x86.avx512.mask.sqrt.ps.512
+ x86_avx512_mask_sqrt_sd, // llvm.x86.avx512.mask.sqrt.sd
+ x86_avx512_mask_sqrt_ss, // llvm.x86.avx512.mask.sqrt.ss
+ x86_avx512_mask_store_ss, // llvm.x86.avx512.mask.store.ss
+ x86_avx512_mask_sub_pd_512, // llvm.x86.avx512.mask.sub.pd.512
+ x86_avx512_mask_sub_ps_512, // llvm.x86.avx512.mask.sub.ps.512
+ x86_avx512_mask_sub_sd_round, // llvm.x86.avx512.mask.sub.sd.round
+ x86_avx512_mask_sub_ss_round, // llvm.x86.avx512.mask.sub.ss.round
+ x86_avx512_mask_ucmp_b_128, // llvm.x86.avx512.mask.ucmp.b.128
+ x86_avx512_mask_ucmp_b_256, // llvm.x86.avx512.mask.ucmp.b.256
+ x86_avx512_mask_ucmp_b_512, // llvm.x86.avx512.mask.ucmp.b.512
+ x86_avx512_mask_ucmp_d_128, // llvm.x86.avx512.mask.ucmp.d.128
+ x86_avx512_mask_ucmp_d_256, // llvm.x86.avx512.mask.ucmp.d.256
+ x86_avx512_mask_ucmp_d_512, // llvm.x86.avx512.mask.ucmp.d.512
+ x86_avx512_mask_ucmp_q_128, // llvm.x86.avx512.mask.ucmp.q.128
+ x86_avx512_mask_ucmp_q_256, // llvm.x86.avx512.mask.ucmp.q.256
+ x86_avx512_mask_ucmp_q_512, // llvm.x86.avx512.mask.ucmp.q.512
+ x86_avx512_mask_ucmp_w_128, // llvm.x86.avx512.mask.ucmp.w.128
+ x86_avx512_mask_ucmp_w_256, // llvm.x86.avx512.mask.ucmp.w.256
+ x86_avx512_mask_ucmp_w_512, // llvm.x86.avx512.mask.ucmp.w.512
+ x86_avx512_mask_vcvtph2ps_128, // llvm.x86.avx512.mask.vcvtph2ps.128
+ x86_avx512_mask_vcvtph2ps_256, // llvm.x86.avx512.mask.vcvtph2ps.256
+ x86_avx512_mask_vcvtph2ps_512, // llvm.x86.avx512.mask.vcvtph2ps.512
+ x86_avx512_mask_vcvtps2ph_128, // llvm.x86.avx512.mask.vcvtps2ph.128
+ x86_avx512_mask_vcvtps2ph_256, // llvm.x86.avx512.mask.vcvtps2ph.256
+ x86_avx512_mask_vcvtps2ph_512, // llvm.x86.avx512.mask.vcvtps2ph.512
+ x86_avx512_mask_vextractf32x4_256, // llvm.x86.avx512.mask.vextractf32x4.256
+ x86_avx512_mask_vextractf32x4_512, // llvm.x86.avx512.mask.vextractf32x4.512
+ x86_avx512_mask_vextractf32x8_512, // llvm.x86.avx512.mask.vextractf32x8.512
+ x86_avx512_mask_vextractf64x2_256, // llvm.x86.avx512.mask.vextractf64x2.256
+ x86_avx512_mask_vextractf64x2_512, // llvm.x86.avx512.mask.vextractf64x2.512
+ x86_avx512_mask_vextractf64x4_512, // llvm.x86.avx512.mask.vextractf64x4.512
+ x86_avx512_mask_vextracti32x4_256, // llvm.x86.avx512.mask.vextracti32x4.256
+ x86_avx512_mask_vextracti32x4_512, // llvm.x86.avx512.mask.vextracti32x4.512
+ x86_avx512_mask_vextracti32x8_512, // llvm.x86.avx512.mask.vextracti32x8.512
+ x86_avx512_mask_vextracti64x2_256, // llvm.x86.avx512.mask.vextracti64x2.256
+ x86_avx512_mask_vextracti64x2_512, // llvm.x86.avx512.mask.vextracti64x2.512
+ x86_avx512_mask_vextracti64x4_512, // llvm.x86.avx512.mask.vextracti64x4.512
+ x86_avx512_mask_vfmadd_pd_128, // llvm.x86.avx512.mask.vfmadd.pd.128
+ x86_avx512_mask_vfmadd_pd_256, // llvm.x86.avx512.mask.vfmadd.pd.256
+ x86_avx512_mask_vfmadd_pd_512, // llvm.x86.avx512.mask.vfmadd.pd.512
+ x86_avx512_mask_vfmadd_ps_128, // llvm.x86.avx512.mask.vfmadd.ps.128
+ x86_avx512_mask_vfmadd_ps_256, // llvm.x86.avx512.mask.vfmadd.ps.256
+ x86_avx512_mask_vfmadd_ps_512, // llvm.x86.avx512.mask.vfmadd.ps.512
+ x86_avx512_mask_vfmadd_sd, // llvm.x86.avx512.mask.vfmadd.sd
+ x86_avx512_mask_vfmadd_ss, // llvm.x86.avx512.mask.vfmadd.ss
+ x86_avx512_mask_vfmaddsub_pd_128, // llvm.x86.avx512.mask.vfmaddsub.pd.128
+ x86_avx512_mask_vfmaddsub_pd_256, // llvm.x86.avx512.mask.vfmaddsub.pd.256
+ x86_avx512_mask_vfmaddsub_pd_512, // llvm.x86.avx512.mask.vfmaddsub.pd.512
+ x86_avx512_mask_vfmaddsub_ps_128, // llvm.x86.avx512.mask.vfmaddsub.ps.128
+ x86_avx512_mask_vfmaddsub_ps_256, // llvm.x86.avx512.mask.vfmaddsub.ps.256
+ x86_avx512_mask_vfmaddsub_ps_512, // llvm.x86.avx512.mask.vfmaddsub.ps.512
+ x86_avx512_mask_vfnmadd_pd_128, // llvm.x86.avx512.mask.vfnmadd.pd.128
+ x86_avx512_mask_vfnmadd_pd_256, // llvm.x86.avx512.mask.vfnmadd.pd.256
+ x86_avx512_mask_vfnmadd_pd_512, // llvm.x86.avx512.mask.vfnmadd.pd.512
+ x86_avx512_mask_vfnmadd_ps_128, // llvm.x86.avx512.mask.vfnmadd.ps.128
+ x86_avx512_mask_vfnmadd_ps_256, // llvm.x86.avx512.mask.vfnmadd.ps.256
+ x86_avx512_mask_vfnmadd_ps_512, // llvm.x86.avx512.mask.vfnmadd.ps.512
+ x86_avx512_mask_vfnmsub_pd_128, // llvm.x86.avx512.mask.vfnmsub.pd.128
+ x86_avx512_mask_vfnmsub_pd_256, // llvm.x86.avx512.mask.vfnmsub.pd.256
+ x86_avx512_mask_vfnmsub_pd_512, // llvm.x86.avx512.mask.vfnmsub.pd.512
+ x86_avx512_mask_vfnmsub_ps_128, // llvm.x86.avx512.mask.vfnmsub.ps.128
+ x86_avx512_mask_vfnmsub_ps_256, // llvm.x86.avx512.mask.vfnmsub.ps.256
+ x86_avx512_mask_vfnmsub_ps_512, // llvm.x86.avx512.mask.vfnmsub.ps.512
+ x86_avx512_mask_vpermi2var_d_128, // llvm.x86.avx512.mask.vpermi2var.d.128
+ x86_avx512_mask_vpermi2var_d_256, // llvm.x86.avx512.mask.vpermi2var.d.256
+ x86_avx512_mask_vpermi2var_d_512, // llvm.x86.avx512.mask.vpermi2var.d.512
+ x86_avx512_mask_vpermi2var_hi_128, // llvm.x86.avx512.mask.vpermi2var.hi.128
+ x86_avx512_mask_vpermi2var_hi_256, // llvm.x86.avx512.mask.vpermi2var.hi.256
+ x86_avx512_mask_vpermi2var_hi_512, // llvm.x86.avx512.mask.vpermi2var.hi.512
+ x86_avx512_mask_vpermi2var_pd_128, // llvm.x86.avx512.mask.vpermi2var.pd.128
+ x86_avx512_mask_vpermi2var_pd_256, // llvm.x86.avx512.mask.vpermi2var.pd.256
+ x86_avx512_mask_vpermi2var_pd_512, // llvm.x86.avx512.mask.vpermi2var.pd.512
+ x86_avx512_mask_vpermi2var_ps_128, // llvm.x86.avx512.mask.vpermi2var.ps.128
+ x86_avx512_mask_vpermi2var_ps_256, // llvm.x86.avx512.mask.vpermi2var.ps.256
+ x86_avx512_mask_vpermi2var_ps_512, // llvm.x86.avx512.mask.vpermi2var.ps.512
+ x86_avx512_mask_vpermi2var_q_128, // llvm.x86.avx512.mask.vpermi2var.q.128
+ x86_avx512_mask_vpermi2var_q_256, // llvm.x86.avx512.mask.vpermi2var.q.256
+ x86_avx512_mask_vpermi2var_q_512, // llvm.x86.avx512.mask.vpermi2var.q.512
+ x86_avx512_mask_vpermi2var_qi_128, // llvm.x86.avx512.mask.vpermi2var.qi.128
+ x86_avx512_mask_vpermi2var_qi_256, // llvm.x86.avx512.mask.vpermi2var.qi.256
+ x86_avx512_mask_vpermi2var_qi_512, // llvm.x86.avx512.mask.vpermi2var.qi.512
+ x86_avx512_mask_vpermt2var_d_128, // llvm.x86.avx512.mask.vpermt2var.d.128
+ x86_avx512_mask_vpermt2var_d_256, // llvm.x86.avx512.mask.vpermt2var.d.256
+ x86_avx512_mask_vpermt2var_d_512, // llvm.x86.avx512.mask.vpermt2var.d.512
+ x86_avx512_mask_vpermt2var_hi_128, // llvm.x86.avx512.mask.vpermt2var.hi.128
+ x86_avx512_mask_vpermt2var_hi_256, // llvm.x86.avx512.mask.vpermt2var.hi.256
+ x86_avx512_mask_vpermt2var_hi_512, // llvm.x86.avx512.mask.vpermt2var.hi.512
+ x86_avx512_mask_vpermt2var_pd_128, // llvm.x86.avx512.mask.vpermt2var.pd.128
+ x86_avx512_mask_vpermt2var_pd_256, // llvm.x86.avx512.mask.vpermt2var.pd.256
+ x86_avx512_mask_vpermt2var_pd_512, // llvm.x86.avx512.mask.vpermt2var.pd.512
+ x86_avx512_mask_vpermt2var_ps_128, // llvm.x86.avx512.mask.vpermt2var.ps.128
+ x86_avx512_mask_vpermt2var_ps_256, // llvm.x86.avx512.mask.vpermt2var.ps.256
+ x86_avx512_mask_vpermt2var_ps_512, // llvm.x86.avx512.mask.vpermt2var.ps.512
+ x86_avx512_mask_vpermt2var_q_128, // llvm.x86.avx512.mask.vpermt2var.q.128
+ x86_avx512_mask_vpermt2var_q_256, // llvm.x86.avx512.mask.vpermt2var.q.256
+ x86_avx512_mask_vpermt2var_q_512, // llvm.x86.avx512.mask.vpermt2var.q.512
+ x86_avx512_mask_vpermt2var_qi_128, // llvm.x86.avx512.mask.vpermt2var.qi.128
+ x86_avx512_mask_vpermt2var_qi_256, // llvm.x86.avx512.mask.vpermt2var.qi.256
+ x86_avx512_mask_vpermt2var_qi_512, // llvm.x86.avx512.mask.vpermt2var.qi.512
+ x86_avx512_mask_vpmadd52h_uq_128, // llvm.x86.avx512.mask.vpmadd52h.uq.128
+ x86_avx512_mask_vpmadd52h_uq_256, // llvm.x86.avx512.mask.vpmadd52h.uq.256
+ x86_avx512_mask_vpmadd52h_uq_512, // llvm.x86.avx512.mask.vpmadd52h.uq.512
+ x86_avx512_mask_vpmadd52l_uq_128, // llvm.x86.avx512.mask.vpmadd52l.uq.128
+ x86_avx512_mask_vpmadd52l_uq_256, // llvm.x86.avx512.mask.vpmadd52l.uq.256
+ x86_avx512_mask_vpmadd52l_uq_512, // llvm.x86.avx512.mask.vpmadd52l.uq.512
+ x86_avx512_mask3_vfmadd_pd_128, // llvm.x86.avx512.mask3.vfmadd.pd.128
+ x86_avx512_mask3_vfmadd_pd_256, // llvm.x86.avx512.mask3.vfmadd.pd.256
+ x86_avx512_mask3_vfmadd_pd_512, // llvm.x86.avx512.mask3.vfmadd.pd.512
+ x86_avx512_mask3_vfmadd_ps_128, // llvm.x86.avx512.mask3.vfmadd.ps.128
+ x86_avx512_mask3_vfmadd_ps_256, // llvm.x86.avx512.mask3.vfmadd.ps.256
+ x86_avx512_mask3_vfmadd_ps_512, // llvm.x86.avx512.mask3.vfmadd.ps.512
+ x86_avx512_mask3_vfmadd_sd, // llvm.x86.avx512.mask3.vfmadd.sd
+ x86_avx512_mask3_vfmadd_ss, // llvm.x86.avx512.mask3.vfmadd.ss
+ x86_avx512_mask3_vfmaddsub_pd_128, // llvm.x86.avx512.mask3.vfmaddsub.pd.128
+ x86_avx512_mask3_vfmaddsub_pd_256, // llvm.x86.avx512.mask3.vfmaddsub.pd.256
+ x86_avx512_mask3_vfmaddsub_pd_512, // llvm.x86.avx512.mask3.vfmaddsub.pd.512
+ x86_avx512_mask3_vfmaddsub_ps_128, // llvm.x86.avx512.mask3.vfmaddsub.ps.128
+ x86_avx512_mask3_vfmaddsub_ps_256, // llvm.x86.avx512.mask3.vfmaddsub.ps.256
+ x86_avx512_mask3_vfmaddsub_ps_512, // llvm.x86.avx512.mask3.vfmaddsub.ps.512
+ x86_avx512_mask3_vfmsub_pd_128, // llvm.x86.avx512.mask3.vfmsub.pd.128
+ x86_avx512_mask3_vfmsub_pd_256, // llvm.x86.avx512.mask3.vfmsub.pd.256
+ x86_avx512_mask3_vfmsub_pd_512, // llvm.x86.avx512.mask3.vfmsub.pd.512
+ x86_avx512_mask3_vfmsub_ps_128, // llvm.x86.avx512.mask3.vfmsub.ps.128
+ x86_avx512_mask3_vfmsub_ps_256, // llvm.x86.avx512.mask3.vfmsub.ps.256
+ x86_avx512_mask3_vfmsub_ps_512, // llvm.x86.avx512.mask3.vfmsub.ps.512
+ x86_avx512_mask3_vfmsub_sd, // llvm.x86.avx512.mask3.vfmsub.sd
+ x86_avx512_mask3_vfmsub_ss, // llvm.x86.avx512.mask3.vfmsub.ss
+ x86_avx512_mask3_vfmsubadd_pd_128, // llvm.x86.avx512.mask3.vfmsubadd.pd.128
+ x86_avx512_mask3_vfmsubadd_pd_256, // llvm.x86.avx512.mask3.vfmsubadd.pd.256
+ x86_avx512_mask3_vfmsubadd_pd_512, // llvm.x86.avx512.mask3.vfmsubadd.pd.512
+ x86_avx512_mask3_vfmsubadd_ps_128, // llvm.x86.avx512.mask3.vfmsubadd.ps.128
+ x86_avx512_mask3_vfmsubadd_ps_256, // llvm.x86.avx512.mask3.vfmsubadd.ps.256
+ x86_avx512_mask3_vfmsubadd_ps_512, // llvm.x86.avx512.mask3.vfmsubadd.ps.512
+ x86_avx512_mask3_vfnmsub_pd_128, // llvm.x86.avx512.mask3.vfnmsub.pd.128
+ x86_avx512_mask3_vfnmsub_pd_256, // llvm.x86.avx512.mask3.vfnmsub.pd.256
+ x86_avx512_mask3_vfnmsub_pd_512, // llvm.x86.avx512.mask3.vfnmsub.pd.512
+ x86_avx512_mask3_vfnmsub_ps_128, // llvm.x86.avx512.mask3.vfnmsub.ps.128
+ x86_avx512_mask3_vfnmsub_ps_256, // llvm.x86.avx512.mask3.vfnmsub.ps.256
+ x86_avx512_mask3_vfnmsub_ps_512, // llvm.x86.avx512.mask3.vfnmsub.ps.512
+ x86_avx512_mask3_vfnmsub_sd, // llvm.x86.avx512.mask3.vfnmsub.sd
+ x86_avx512_mask3_vfnmsub_ss, // llvm.x86.avx512.mask3.vfnmsub.ss
+ x86_avx512_maskz_fixupimm_pd_128, // llvm.x86.avx512.maskz.fixupimm.pd.128
+ x86_avx512_maskz_fixupimm_pd_256, // llvm.x86.avx512.maskz.fixupimm.pd.256
+ x86_avx512_maskz_fixupimm_pd_512, // llvm.x86.avx512.maskz.fixupimm.pd.512
+ x86_avx512_maskz_fixupimm_ps_128, // llvm.x86.avx512.maskz.fixupimm.ps.128
+ x86_avx512_maskz_fixupimm_ps_256, // llvm.x86.avx512.maskz.fixupimm.ps.256
+ x86_avx512_maskz_fixupimm_ps_512, // llvm.x86.avx512.maskz.fixupimm.ps.512
+ x86_avx512_maskz_fixupimm_sd, // llvm.x86.avx512.maskz.fixupimm.sd
+ x86_avx512_maskz_fixupimm_ss, // llvm.x86.avx512.maskz.fixupimm.ss
+ x86_avx512_maskz_pternlog_d_128, // llvm.x86.avx512.maskz.pternlog.d.128
+ x86_avx512_maskz_pternlog_d_256, // llvm.x86.avx512.maskz.pternlog.d.256
+ x86_avx512_maskz_pternlog_d_512, // llvm.x86.avx512.maskz.pternlog.d.512
+ x86_avx512_maskz_pternlog_q_128, // llvm.x86.avx512.maskz.pternlog.q.128
+ x86_avx512_maskz_pternlog_q_256, // llvm.x86.avx512.maskz.pternlog.q.256
+ x86_avx512_maskz_pternlog_q_512, // llvm.x86.avx512.maskz.pternlog.q.512
+ x86_avx512_maskz_vfmadd_pd_128, // llvm.x86.avx512.maskz.vfmadd.pd.128
+ x86_avx512_maskz_vfmadd_pd_256, // llvm.x86.avx512.maskz.vfmadd.pd.256
+ x86_avx512_maskz_vfmadd_pd_512, // llvm.x86.avx512.maskz.vfmadd.pd.512
+ x86_avx512_maskz_vfmadd_ps_128, // llvm.x86.avx512.maskz.vfmadd.ps.128
+ x86_avx512_maskz_vfmadd_ps_256, // llvm.x86.avx512.maskz.vfmadd.ps.256
+ x86_avx512_maskz_vfmadd_ps_512, // llvm.x86.avx512.maskz.vfmadd.ps.512
+ x86_avx512_maskz_vfmadd_sd, // llvm.x86.avx512.maskz.vfmadd.sd
+ x86_avx512_maskz_vfmadd_ss, // llvm.x86.avx512.maskz.vfmadd.ss
+ x86_avx512_maskz_vfmaddsub_pd_128, // llvm.x86.avx512.maskz.vfmaddsub.pd.128
+ x86_avx512_maskz_vfmaddsub_pd_256, // llvm.x86.avx512.maskz.vfmaddsub.pd.256
+ x86_avx512_maskz_vfmaddsub_pd_512, // llvm.x86.avx512.maskz.vfmaddsub.pd.512
+ x86_avx512_maskz_vfmaddsub_ps_128, // llvm.x86.avx512.maskz.vfmaddsub.ps.128
+ x86_avx512_maskz_vfmaddsub_ps_256, // llvm.x86.avx512.maskz.vfmaddsub.ps.256
+ x86_avx512_maskz_vfmaddsub_ps_512, // llvm.x86.avx512.maskz.vfmaddsub.ps.512
+ x86_avx512_maskz_vpermt2var_d_128, // llvm.x86.avx512.maskz.vpermt2var.d.128
+ x86_avx512_maskz_vpermt2var_d_256, // llvm.x86.avx512.maskz.vpermt2var.d.256
+ x86_avx512_maskz_vpermt2var_d_512, // llvm.x86.avx512.maskz.vpermt2var.d.512
+ x86_avx512_maskz_vpermt2var_hi_128, // llvm.x86.avx512.maskz.vpermt2var.hi.128
+ x86_avx512_maskz_vpermt2var_hi_256, // llvm.x86.avx512.maskz.vpermt2var.hi.256
+ x86_avx512_maskz_vpermt2var_hi_512, // llvm.x86.avx512.maskz.vpermt2var.hi.512
+ x86_avx512_maskz_vpermt2var_pd_128, // llvm.x86.avx512.maskz.vpermt2var.pd.128
+ x86_avx512_maskz_vpermt2var_pd_256, // llvm.x86.avx512.maskz.vpermt2var.pd.256
+ x86_avx512_maskz_vpermt2var_pd_512, // llvm.x86.avx512.maskz.vpermt2var.pd.512
+ x86_avx512_maskz_vpermt2var_ps_128, // llvm.x86.avx512.maskz.vpermt2var.ps.128
+ x86_avx512_maskz_vpermt2var_ps_256, // llvm.x86.avx512.maskz.vpermt2var.ps.256
+ x86_avx512_maskz_vpermt2var_ps_512, // llvm.x86.avx512.maskz.vpermt2var.ps.512
+ x86_avx512_maskz_vpermt2var_q_128, // llvm.x86.avx512.maskz.vpermt2var.q.128
+ x86_avx512_maskz_vpermt2var_q_256, // llvm.x86.avx512.maskz.vpermt2var.q.256
+ x86_avx512_maskz_vpermt2var_q_512, // llvm.x86.avx512.maskz.vpermt2var.q.512
+ x86_avx512_maskz_vpermt2var_qi_128, // llvm.x86.avx512.maskz.vpermt2var.qi.128
+ x86_avx512_maskz_vpermt2var_qi_256, // llvm.x86.avx512.maskz.vpermt2var.qi.256
+ x86_avx512_maskz_vpermt2var_qi_512, // llvm.x86.avx512.maskz.vpermt2var.qi.512
+ x86_avx512_maskz_vpmadd52h_uq_128, // llvm.x86.avx512.maskz.vpmadd52h.uq.128
+ x86_avx512_maskz_vpmadd52h_uq_256, // llvm.x86.avx512.maskz.vpmadd52h.uq.256
+ x86_avx512_maskz_vpmadd52h_uq_512, // llvm.x86.avx512.maskz.vpmadd52h.uq.512
+ x86_avx512_maskz_vpmadd52l_uq_128, // llvm.x86.avx512.maskz.vpmadd52l.uq.128
+ x86_avx512_maskz_vpmadd52l_uq_256, // llvm.x86.avx512.maskz.vpmadd52l.uq.256
+ x86_avx512_maskz_vpmadd52l_uq_512, // llvm.x86.avx512.maskz.vpmadd52l.uq.512
+ x86_avx512_movntdqa, // llvm.x86.avx512.movntdqa
+ x86_avx512_psad_bw_512, // llvm.x86.avx512.psad.bw.512
+ x86_avx512_pshuf_b_512, // llvm.x86.avx512.pshuf.b.512
+ x86_avx512_psll_d_512, // llvm.x86.avx512.psll.d.512
+ x86_avx512_psll_q_512, // llvm.x86.avx512.psll.q.512
+ x86_avx512_psll_w_512, // llvm.x86.avx512.psll.w.512
+ x86_avx512_pslli_d_512, // llvm.x86.avx512.pslli.d.512
+ x86_avx512_pslli_q_512, // llvm.x86.avx512.pslli.q.512
+ x86_avx512_pslli_w_512, // llvm.x86.avx512.pslli.w.512
+ x86_avx512_psllv_d_512, // llvm.x86.avx512.psllv.d.512
+ x86_avx512_psllv_q_512, // llvm.x86.avx512.psllv.q.512
+ x86_avx512_psllv_w_128, // llvm.x86.avx512.psllv.w.128
+ x86_avx512_psllv_w_256, // llvm.x86.avx512.psllv.w.256
+ x86_avx512_psllv_w_512, // llvm.x86.avx512.psllv.w.512
+ x86_avx512_psra_d_512, // llvm.x86.avx512.psra.d.512
+ x86_avx512_psra_q_128, // llvm.x86.avx512.psra.q.128
+ x86_avx512_psra_q_256, // llvm.x86.avx512.psra.q.256
+ x86_avx512_psra_q_512, // llvm.x86.avx512.psra.q.512
+ x86_avx512_psra_w_512, // llvm.x86.avx512.psra.w.512
+ x86_avx512_psrai_d_512, // llvm.x86.avx512.psrai.d.512
+ x86_avx512_psrai_q_128, // llvm.x86.avx512.psrai.q.128
+ x86_avx512_psrai_q_256, // llvm.x86.avx512.psrai.q.256
+ x86_avx512_psrai_q_512, // llvm.x86.avx512.psrai.q.512
+ x86_avx512_psrai_w_512, // llvm.x86.avx512.psrai.w.512
+ x86_avx512_psrav_d_512, // llvm.x86.avx512.psrav.d.512
+ x86_avx512_psrav_q_128, // llvm.x86.avx512.psrav.q.128
+ x86_avx512_psrav_q_256, // llvm.x86.avx512.psrav.q.256
+ x86_avx512_psrav_q_512, // llvm.x86.avx512.psrav.q.512
+ x86_avx512_psrav_w_128, // llvm.x86.avx512.psrav.w.128
+ x86_avx512_psrav_w_256, // llvm.x86.avx512.psrav.w.256
+ x86_avx512_psrav_w_512, // llvm.x86.avx512.psrav.w.512
+ x86_avx512_psrl_d_512, // llvm.x86.avx512.psrl.d.512
+ x86_avx512_psrl_q_512, // llvm.x86.avx512.psrl.q.512
+ x86_avx512_psrl_w_512, // llvm.x86.avx512.psrl.w.512
+ x86_avx512_psrli_d_512, // llvm.x86.avx512.psrli.d.512
+ x86_avx512_psrli_q_512, // llvm.x86.avx512.psrli.q.512
+ x86_avx512_psrli_w_512, // llvm.x86.avx512.psrli.w.512
+ x86_avx512_psrlv_d_512, // llvm.x86.avx512.psrlv.d.512
+ x86_avx512_psrlv_q_512, // llvm.x86.avx512.psrlv.q.512
+ x86_avx512_psrlv_w_128, // llvm.x86.avx512.psrlv.w.128
+ x86_avx512_psrlv_w_256, // llvm.x86.avx512.psrlv.w.256
+ x86_avx512_psrlv_w_512, // llvm.x86.avx512.psrlv.w.512
+ x86_avx512_ptestm_b_128, // llvm.x86.avx512.ptestm.b.128
+ x86_avx512_ptestm_b_256, // llvm.x86.avx512.ptestm.b.256
+ x86_avx512_ptestm_b_512, // llvm.x86.avx512.ptestm.b.512
+ x86_avx512_ptestm_d_128, // llvm.x86.avx512.ptestm.d.128
+ x86_avx512_ptestm_d_256, // llvm.x86.avx512.ptestm.d.256
+ x86_avx512_ptestm_d_512, // llvm.x86.avx512.ptestm.d.512
+ x86_avx512_ptestm_q_128, // llvm.x86.avx512.ptestm.q.128
+ x86_avx512_ptestm_q_256, // llvm.x86.avx512.ptestm.q.256
+ x86_avx512_ptestm_q_512, // llvm.x86.avx512.ptestm.q.512
+ x86_avx512_ptestm_w_128, // llvm.x86.avx512.ptestm.w.128
+ x86_avx512_ptestm_w_256, // llvm.x86.avx512.ptestm.w.256
+ x86_avx512_ptestm_w_512, // llvm.x86.avx512.ptestm.w.512
+ x86_avx512_ptestnm_b_128, // llvm.x86.avx512.ptestnm.b.128
+ x86_avx512_ptestnm_b_256, // llvm.x86.avx512.ptestnm.b.256
+ x86_avx512_ptestnm_b_512, // llvm.x86.avx512.ptestnm.b.512
+ x86_avx512_ptestnm_d_128, // llvm.x86.avx512.ptestnm.d.128
+ x86_avx512_ptestnm_d_256, // llvm.x86.avx512.ptestnm.d.256
+ x86_avx512_ptestnm_d_512, // llvm.x86.avx512.ptestnm.d.512
+ x86_avx512_ptestnm_q_128, // llvm.x86.avx512.ptestnm.q.128
+ x86_avx512_ptestnm_q_256, // llvm.x86.avx512.ptestnm.q.256
+ x86_avx512_ptestnm_q_512, // llvm.x86.avx512.ptestnm.q.512
+ x86_avx512_ptestnm_w_128, // llvm.x86.avx512.ptestnm.w.128
+ x86_avx512_ptestnm_w_256, // llvm.x86.avx512.ptestnm.w.256
+ x86_avx512_ptestnm_w_512, // llvm.x86.avx512.ptestnm.w.512
+ x86_avx512_rcp14_pd_128, // llvm.x86.avx512.rcp14.pd.128
+ x86_avx512_rcp14_pd_256, // llvm.x86.avx512.rcp14.pd.256
+ x86_avx512_rcp14_pd_512, // llvm.x86.avx512.rcp14.pd.512
+ x86_avx512_rcp14_ps_128, // llvm.x86.avx512.rcp14.ps.128
+ x86_avx512_rcp14_ps_256, // llvm.x86.avx512.rcp14.ps.256
+ x86_avx512_rcp14_ps_512, // llvm.x86.avx512.rcp14.ps.512
+ x86_avx512_rcp14_sd, // llvm.x86.avx512.rcp14.sd
+ x86_avx512_rcp14_ss, // llvm.x86.avx512.rcp14.ss
+ x86_avx512_rcp28_pd, // llvm.x86.avx512.rcp28.pd
+ x86_avx512_rcp28_ps, // llvm.x86.avx512.rcp28.ps
+ x86_avx512_rcp28_sd, // llvm.x86.avx512.rcp28.sd
+ x86_avx512_rcp28_ss, // llvm.x86.avx512.rcp28.ss
+ x86_avx512_rsqrt14_pd_128, // llvm.x86.avx512.rsqrt14.pd.128
+ x86_avx512_rsqrt14_pd_256, // llvm.x86.avx512.rsqrt14.pd.256
+ x86_avx512_rsqrt14_pd_512, // llvm.x86.avx512.rsqrt14.pd.512
+ x86_avx512_rsqrt14_ps_128, // llvm.x86.avx512.rsqrt14.ps.128
+ x86_avx512_rsqrt14_ps_256, // llvm.x86.avx512.rsqrt14.ps.256
+ x86_avx512_rsqrt14_ps_512, // llvm.x86.avx512.rsqrt14.ps.512
+ x86_avx512_rsqrt14_sd, // llvm.x86.avx512.rsqrt14.sd
+ x86_avx512_rsqrt14_ss, // llvm.x86.avx512.rsqrt14.ss
+ x86_avx512_rsqrt28_pd, // llvm.x86.avx512.rsqrt28.pd
+ x86_avx512_rsqrt28_ps, // llvm.x86.avx512.rsqrt28.ps
+ x86_avx512_rsqrt28_sd, // llvm.x86.avx512.rsqrt28.sd
+ x86_avx512_rsqrt28_ss, // llvm.x86.avx512.rsqrt28.ss
+ x86_avx512_scatter_dpd_512, // llvm.x86.avx512.scatter.dpd.512
+ x86_avx512_scatter_dpi_512, // llvm.x86.avx512.scatter.dpi.512
+ x86_avx512_scatter_dpq_512, // llvm.x86.avx512.scatter.dpq.512
+ x86_avx512_scatter_dps_512, // llvm.x86.avx512.scatter.dps.512
+ x86_avx512_scatter_qpd_512, // llvm.x86.avx512.scatter.qpd.512
+ x86_avx512_scatter_qpi_512, // llvm.x86.avx512.scatter.qpi.512
+ x86_avx512_scatter_qpq_512, // llvm.x86.avx512.scatter.qpq.512
+ x86_avx512_scatter_qps_512, // llvm.x86.avx512.scatter.qps.512
+ x86_avx512_scatterdiv2_df, // llvm.x86.avx512.scatterdiv2.df
+ x86_avx512_scatterdiv2_di, // llvm.x86.avx512.scatterdiv2.di
+ x86_avx512_scatterdiv4_df, // llvm.x86.avx512.scatterdiv4.df
+ x86_avx512_scatterdiv4_di, // llvm.x86.avx512.scatterdiv4.di
+ x86_avx512_scatterdiv4_sf, // llvm.x86.avx512.scatterdiv4.sf
+ x86_avx512_scatterdiv4_si, // llvm.x86.avx512.scatterdiv4.si
+ x86_avx512_scatterdiv8_sf, // llvm.x86.avx512.scatterdiv8.sf
+ x86_avx512_scatterdiv8_si, // llvm.x86.avx512.scatterdiv8.si
+ x86_avx512_scatterpf_dpd_512, // llvm.x86.avx512.scatterpf.dpd.512
+ x86_avx512_scatterpf_dps_512, // llvm.x86.avx512.scatterpf.dps.512
+ x86_avx512_scatterpf_qpd_512, // llvm.x86.avx512.scatterpf.qpd.512
+ x86_avx512_scatterpf_qps_512, // llvm.x86.avx512.scatterpf.qps.512
+ x86_avx512_scattersiv2_df, // llvm.x86.avx512.scattersiv2.df
+ x86_avx512_scattersiv2_di, // llvm.x86.avx512.scattersiv2.di
+ x86_avx512_scattersiv4_df, // llvm.x86.avx512.scattersiv4.df
+ x86_avx512_scattersiv4_di, // llvm.x86.avx512.scattersiv4.di
+ x86_avx512_scattersiv4_sf, // llvm.x86.avx512.scattersiv4.sf
+ x86_avx512_scattersiv4_si, // llvm.x86.avx512.scattersiv4.si
+ x86_avx512_scattersiv8_sf, // llvm.x86.avx512.scattersiv8.sf
+ x86_avx512_scattersiv8_si, // llvm.x86.avx512.scattersiv8.si
+ x86_avx512_vbroadcast_sd_512, // llvm.x86.avx512.vbroadcast.sd.512
+ x86_avx512_vbroadcast_ss_512, // llvm.x86.avx512.vbroadcast.ss.512
+ x86_avx512_vcomi_sd, // llvm.x86.avx512.vcomi.sd
+ x86_avx512_vcomi_ss, // llvm.x86.avx512.vcomi.ss
+ x86_avx512_vcvtsd2si32, // llvm.x86.avx512.vcvtsd2si32
+ x86_avx512_vcvtsd2si64, // llvm.x86.avx512.vcvtsd2si64
+ x86_avx512_vcvtsd2usi32, // llvm.x86.avx512.vcvtsd2usi32
+ x86_avx512_vcvtsd2usi64, // llvm.x86.avx512.vcvtsd2usi64
+ x86_avx512_vcvtss2si32, // llvm.x86.avx512.vcvtss2si32
+ x86_avx512_vcvtss2si64, // llvm.x86.avx512.vcvtss2si64
+ x86_avx512_vcvtss2usi32, // llvm.x86.avx512.vcvtss2usi32
+ x86_avx512_vcvtss2usi64, // llvm.x86.avx512.vcvtss2usi64
+ x86_avx512_vpermilvar_pd_512, // llvm.x86.avx512.vpermilvar.pd.512
+ x86_avx512_vpermilvar_ps_512, // llvm.x86.avx512.vpermilvar.ps.512
+ x86_bmi_bextr_32, // llvm.x86.bmi.bextr.32
+ x86_bmi_bextr_64, // llvm.x86.bmi.bextr.64
+ x86_bmi_bzhi_32, // llvm.x86.bmi.bzhi.32
+ x86_bmi_bzhi_64, // llvm.x86.bmi.bzhi.64
+ x86_bmi_pdep_32, // llvm.x86.bmi.pdep.32
+ x86_bmi_pdep_64, // llvm.x86.bmi.pdep.64
+ x86_bmi_pext_32, // llvm.x86.bmi.pext.32
+ x86_bmi_pext_64, // llvm.x86.bmi.pext.64
+ x86_clflushopt, // llvm.x86.clflushopt
+ x86_flags_read_u32, // llvm.x86.flags.read.u32
+ x86_flags_read_u64, // llvm.x86.flags.read.u64
+ x86_flags_write_u32, // llvm.x86.flags.write.u32
+ x86_flags_write_u64, // llvm.x86.flags.write.u64
+ x86_fma_vfmadd_pd, // llvm.x86.fma.vfmadd.pd
+ x86_fma_vfmadd_pd_256, // llvm.x86.fma.vfmadd.pd.256
+ x86_fma_vfmadd_ps, // llvm.x86.fma.vfmadd.ps
+ x86_fma_vfmadd_ps_256, // llvm.x86.fma.vfmadd.ps.256
+ x86_fma_vfmadd_sd, // llvm.x86.fma.vfmadd.sd
+ x86_fma_vfmadd_ss, // llvm.x86.fma.vfmadd.ss
+ x86_fma_vfmaddsub_pd, // llvm.x86.fma.vfmaddsub.pd
+ x86_fma_vfmaddsub_pd_256, // llvm.x86.fma.vfmaddsub.pd.256
+ x86_fma_vfmaddsub_ps, // llvm.x86.fma.vfmaddsub.ps
+ x86_fma_vfmaddsub_ps_256, // llvm.x86.fma.vfmaddsub.ps.256
+ x86_fma_vfmsub_pd, // llvm.x86.fma.vfmsub.pd
+ x86_fma_vfmsub_pd_256, // llvm.x86.fma.vfmsub.pd.256
+ x86_fma_vfmsub_ps, // llvm.x86.fma.vfmsub.ps
+ x86_fma_vfmsub_ps_256, // llvm.x86.fma.vfmsub.ps.256
+ x86_fma_vfmsub_sd, // llvm.x86.fma.vfmsub.sd
+ x86_fma_vfmsub_ss, // llvm.x86.fma.vfmsub.ss
+ x86_fma_vfmsubadd_pd, // llvm.x86.fma.vfmsubadd.pd
+ x86_fma_vfmsubadd_pd_256, // llvm.x86.fma.vfmsubadd.pd.256
+ x86_fma_vfmsubadd_ps, // llvm.x86.fma.vfmsubadd.ps
+ x86_fma_vfmsubadd_ps_256, // llvm.x86.fma.vfmsubadd.ps.256
+ x86_fma_vfnmadd_pd, // llvm.x86.fma.vfnmadd.pd
+ x86_fma_vfnmadd_pd_256, // llvm.x86.fma.vfnmadd.pd.256
+ x86_fma_vfnmadd_ps, // llvm.x86.fma.vfnmadd.ps
+ x86_fma_vfnmadd_ps_256, // llvm.x86.fma.vfnmadd.ps.256
+ x86_fma_vfnmadd_sd, // llvm.x86.fma.vfnmadd.sd
+ x86_fma_vfnmadd_ss, // llvm.x86.fma.vfnmadd.ss
+ x86_fma_vfnmsub_pd, // llvm.x86.fma.vfnmsub.pd
+ x86_fma_vfnmsub_pd_256, // llvm.x86.fma.vfnmsub.pd.256
+ x86_fma_vfnmsub_ps, // llvm.x86.fma.vfnmsub.ps
+ x86_fma_vfnmsub_ps_256, // llvm.x86.fma.vfnmsub.ps.256
+ x86_fma_vfnmsub_sd, // llvm.x86.fma.vfnmsub.sd
+ x86_fma_vfnmsub_ss, // llvm.x86.fma.vfnmsub.ss
+ x86_fxrstor, // llvm.x86.fxrstor
+ x86_fxrstor64, // llvm.x86.fxrstor64
+ x86_fxsave, // llvm.x86.fxsave
+ x86_fxsave64, // llvm.x86.fxsave64
+ x86_int, // llvm.x86.int
+ x86_mmx_emms, // llvm.x86.mmx.emms
+ x86_mmx_femms, // llvm.x86.mmx.femms
+ x86_mmx_maskmovq, // llvm.x86.mmx.maskmovq
+ x86_mmx_movnt_dq, // llvm.x86.mmx.movnt.dq
+ x86_mmx_packssdw, // llvm.x86.mmx.packssdw
+ x86_mmx_packsswb, // llvm.x86.mmx.packsswb
+ x86_mmx_packuswb, // llvm.x86.mmx.packuswb
+ x86_mmx_padd_b, // llvm.x86.mmx.padd.b
+ x86_mmx_padd_d, // llvm.x86.mmx.padd.d
+ x86_mmx_padd_q, // llvm.x86.mmx.padd.q
+ x86_mmx_padd_w, // llvm.x86.mmx.padd.w
+ x86_mmx_padds_b, // llvm.x86.mmx.padds.b
+ x86_mmx_padds_w, // llvm.x86.mmx.padds.w
+ x86_mmx_paddus_b, // llvm.x86.mmx.paddus.b
+ x86_mmx_paddus_w, // llvm.x86.mmx.paddus.w
+ x86_mmx_palignr_b, // llvm.x86.mmx.palignr.b
+ x86_mmx_pand, // llvm.x86.mmx.pand
+ x86_mmx_pandn, // llvm.x86.mmx.pandn
+ x86_mmx_pavg_b, // llvm.x86.mmx.pavg.b
+ x86_mmx_pavg_w, // llvm.x86.mmx.pavg.w
+ x86_mmx_pcmpeq_b, // llvm.x86.mmx.pcmpeq.b
+ x86_mmx_pcmpeq_d, // llvm.x86.mmx.pcmpeq.d
+ x86_mmx_pcmpeq_w, // llvm.x86.mmx.pcmpeq.w
+ x86_mmx_pcmpgt_b, // llvm.x86.mmx.pcmpgt.b
+ x86_mmx_pcmpgt_d, // llvm.x86.mmx.pcmpgt.d
+ x86_mmx_pcmpgt_w, // llvm.x86.mmx.pcmpgt.w
+ x86_mmx_pextr_w, // llvm.x86.mmx.pextr.w
+ x86_mmx_pinsr_w, // llvm.x86.mmx.pinsr.w
+ x86_mmx_pmadd_wd, // llvm.x86.mmx.pmadd.wd
+ x86_mmx_pmaxs_w, // llvm.x86.mmx.pmaxs.w
+ x86_mmx_pmaxu_b, // llvm.x86.mmx.pmaxu.b
+ x86_mmx_pmins_w, // llvm.x86.mmx.pmins.w
+ x86_mmx_pminu_b, // llvm.x86.mmx.pminu.b
+ x86_mmx_pmovmskb, // llvm.x86.mmx.pmovmskb
+ x86_mmx_pmulh_w, // llvm.x86.mmx.pmulh.w
+ x86_mmx_pmulhu_w, // llvm.x86.mmx.pmulhu.w
+ x86_mmx_pmull_w, // llvm.x86.mmx.pmull.w
+ x86_mmx_pmulu_dq, // llvm.x86.mmx.pmulu.dq
+ x86_mmx_por, // llvm.x86.mmx.por
+ x86_mmx_psad_bw, // llvm.x86.mmx.psad.bw
+ x86_mmx_psll_d, // llvm.x86.mmx.psll.d
+ x86_mmx_psll_q, // llvm.x86.mmx.psll.q
+ x86_mmx_psll_w, // llvm.x86.mmx.psll.w
+ x86_mmx_pslli_d, // llvm.x86.mmx.pslli.d
+ x86_mmx_pslli_q, // llvm.x86.mmx.pslli.q
+ x86_mmx_pslli_w, // llvm.x86.mmx.pslli.w
+ x86_mmx_psra_d, // llvm.x86.mmx.psra.d
+ x86_mmx_psra_w, // llvm.x86.mmx.psra.w
+ x86_mmx_psrai_d, // llvm.x86.mmx.psrai.d
+ x86_mmx_psrai_w, // llvm.x86.mmx.psrai.w
+ x86_mmx_psrl_d, // llvm.x86.mmx.psrl.d
+ x86_mmx_psrl_q, // llvm.x86.mmx.psrl.q
+ x86_mmx_psrl_w, // llvm.x86.mmx.psrl.w
+ x86_mmx_psrli_d, // llvm.x86.mmx.psrli.d
+ x86_mmx_psrli_q, // llvm.x86.mmx.psrli.q
+ x86_mmx_psrli_w, // llvm.x86.mmx.psrli.w
+ x86_mmx_psub_b, // llvm.x86.mmx.psub.b
+ x86_mmx_psub_d, // llvm.x86.mmx.psub.d
+ x86_mmx_psub_q, // llvm.x86.mmx.psub.q
+ x86_mmx_psub_w, // llvm.x86.mmx.psub.w
+ x86_mmx_psubs_b, // llvm.x86.mmx.psubs.b
+ x86_mmx_psubs_w, // llvm.x86.mmx.psubs.w
+ x86_mmx_psubus_b, // llvm.x86.mmx.psubus.b
+ x86_mmx_psubus_w, // llvm.x86.mmx.psubus.w
+ x86_mmx_punpckhbw, // llvm.x86.mmx.punpckhbw
+ x86_mmx_punpckhdq, // llvm.x86.mmx.punpckhdq
+ x86_mmx_punpckhwd, // llvm.x86.mmx.punpckhwd
+ x86_mmx_punpcklbw, // llvm.x86.mmx.punpcklbw
+ x86_mmx_punpckldq, // llvm.x86.mmx.punpckldq
+ x86_mmx_punpcklwd, // llvm.x86.mmx.punpcklwd
+ x86_mmx_pxor, // llvm.x86.mmx.pxor
+ x86_monitorx, // llvm.x86.monitorx
+ x86_mwaitx, // llvm.x86.mwaitx
+ x86_pclmulqdq, // llvm.x86.pclmulqdq
+ x86_rdfsbase_32, // llvm.x86.rdfsbase.32
+ x86_rdfsbase_64, // llvm.x86.rdfsbase.64
+ x86_rdgsbase_32, // llvm.x86.rdgsbase.32
+ x86_rdgsbase_64, // llvm.x86.rdgsbase.64
+ x86_rdpkru, // llvm.x86.rdpkru
+ x86_rdpmc, // llvm.x86.rdpmc
+ x86_rdrand_16, // llvm.x86.rdrand.16
+ x86_rdrand_32, // llvm.x86.rdrand.32
+ x86_rdrand_64, // llvm.x86.rdrand.64
+ x86_rdseed_16, // llvm.x86.rdseed.16
+ x86_rdseed_32, // llvm.x86.rdseed.32
+ x86_rdseed_64, // llvm.x86.rdseed.64
+ x86_rdtsc, // llvm.x86.rdtsc
+ x86_rdtscp, // llvm.x86.rdtscp
+ x86_seh_ehguard, // llvm.x86.seh.ehguard
+ x86_seh_ehregnode, // llvm.x86.seh.ehregnode
+ x86_seh_lsda, // llvm.x86.seh.lsda
+ x86_seh_recoverfp, // llvm.x86.seh.recoverfp
+ x86_sha1msg1, // llvm.x86.sha1msg1
+ x86_sha1msg2, // llvm.x86.sha1msg2
+ x86_sha1nexte, // llvm.x86.sha1nexte
+ x86_sha1rnds4, // llvm.x86.sha1rnds4
+ x86_sha256msg1, // llvm.x86.sha256msg1
+ x86_sha256msg2, // llvm.x86.sha256msg2
+ x86_sha256rnds2, // llvm.x86.sha256rnds2
+ x86_sse_cmp_ps, // llvm.x86.sse.cmp.ps
+ x86_sse_cmp_ss, // llvm.x86.sse.cmp.ss
+ x86_sse_comieq_ss, // llvm.x86.sse.comieq.ss
+ x86_sse_comige_ss, // llvm.x86.sse.comige.ss
+ x86_sse_comigt_ss, // llvm.x86.sse.comigt.ss
+ x86_sse_comile_ss, // llvm.x86.sse.comile.ss
+ x86_sse_comilt_ss, // llvm.x86.sse.comilt.ss
+ x86_sse_comineq_ss, // llvm.x86.sse.comineq.ss
+ x86_sse_cvtpd2pi, // llvm.x86.sse.cvtpd2pi
+ x86_sse_cvtpi2pd, // llvm.x86.sse.cvtpi2pd
+ x86_sse_cvtpi2ps, // llvm.x86.sse.cvtpi2ps
+ x86_sse_cvtps2pi, // llvm.x86.sse.cvtps2pi
+ x86_sse_cvtsi2ss, // llvm.x86.sse.cvtsi2ss
+ x86_sse_cvtsi642ss, // llvm.x86.sse.cvtsi642ss
+ x86_sse_cvtss2si, // llvm.x86.sse.cvtss2si
+ x86_sse_cvtss2si64, // llvm.x86.sse.cvtss2si64
+ x86_sse_cvttpd2pi, // llvm.x86.sse.cvttpd2pi
+ x86_sse_cvttps2pi, // llvm.x86.sse.cvttps2pi
+ x86_sse_cvttss2si, // llvm.x86.sse.cvttss2si
+ x86_sse_cvttss2si64, // llvm.x86.sse.cvttss2si64
+ x86_sse_ldmxcsr, // llvm.x86.sse.ldmxcsr
+ x86_sse_max_ps, // llvm.x86.sse.max.ps
+ x86_sse_max_ss, // llvm.x86.sse.max.ss
+ x86_sse_min_ps, // llvm.x86.sse.min.ps
+ x86_sse_min_ss, // llvm.x86.sse.min.ss
+ x86_sse_movmsk_ps, // llvm.x86.sse.movmsk.ps
+ x86_sse_pshuf_w, // llvm.x86.sse.pshuf.w
+ x86_sse_rcp_ps, // llvm.x86.sse.rcp.ps
+ x86_sse_rcp_ss, // llvm.x86.sse.rcp.ss
+ x86_sse_rsqrt_ps, // llvm.x86.sse.rsqrt.ps
+ x86_sse_rsqrt_ss, // llvm.x86.sse.rsqrt.ss
+ x86_sse_sfence, // llvm.x86.sse.sfence
+ x86_sse_sqrt_ps, // llvm.x86.sse.sqrt.ps
+ x86_sse_sqrt_ss, // llvm.x86.sse.sqrt.ss
+ x86_sse_stmxcsr, // llvm.x86.sse.stmxcsr
+ x86_sse_ucomieq_ss, // llvm.x86.sse.ucomieq.ss
+ x86_sse_ucomige_ss, // llvm.x86.sse.ucomige.ss
+ x86_sse_ucomigt_ss, // llvm.x86.sse.ucomigt.ss
+ x86_sse_ucomile_ss, // llvm.x86.sse.ucomile.ss
+ x86_sse_ucomilt_ss, // llvm.x86.sse.ucomilt.ss
+ x86_sse_ucomineq_ss, // llvm.x86.sse.ucomineq.ss
+ x86_sse2_clflush, // llvm.x86.sse2.clflush
+ x86_sse2_cmp_pd, // llvm.x86.sse2.cmp.pd
+ x86_sse2_cmp_sd, // llvm.x86.sse2.cmp.sd
+ x86_sse2_comieq_sd, // llvm.x86.sse2.comieq.sd
+ x86_sse2_comige_sd, // llvm.x86.sse2.comige.sd
+ x86_sse2_comigt_sd, // llvm.x86.sse2.comigt.sd
+ x86_sse2_comile_sd, // llvm.x86.sse2.comile.sd
+ x86_sse2_comilt_sd, // llvm.x86.sse2.comilt.sd
+ x86_sse2_comineq_sd, // llvm.x86.sse2.comineq.sd
+ x86_sse2_cvtdq2ps, // llvm.x86.sse2.cvtdq2ps
+ x86_sse2_cvtpd2dq, // llvm.x86.sse2.cvtpd2dq
+ x86_sse2_cvtpd2ps, // llvm.x86.sse2.cvtpd2ps
+ x86_sse2_cvtps2dq, // llvm.x86.sse2.cvtps2dq
+ x86_sse2_cvtsd2si, // llvm.x86.sse2.cvtsd2si
+ x86_sse2_cvtsd2si64, // llvm.x86.sse2.cvtsd2si64
+ x86_sse2_cvtsd2ss, // llvm.x86.sse2.cvtsd2ss
+ x86_sse2_cvtsi2sd, // llvm.x86.sse2.cvtsi2sd
+ x86_sse2_cvtsi642sd, // llvm.x86.sse2.cvtsi642sd
+ x86_sse2_cvtss2sd, // llvm.x86.sse2.cvtss2sd
+ x86_sse2_cvttpd2dq, // llvm.x86.sse2.cvttpd2dq
+ x86_sse2_cvttps2dq, // llvm.x86.sse2.cvttps2dq
+ x86_sse2_cvttsd2si, // llvm.x86.sse2.cvttsd2si
+ x86_sse2_cvttsd2si64, // llvm.x86.sse2.cvttsd2si64
+ x86_sse2_lfence, // llvm.x86.sse2.lfence
+ x86_sse2_maskmov_dqu, // llvm.x86.sse2.maskmov.dqu
+ x86_sse2_max_pd, // llvm.x86.sse2.max.pd
+ x86_sse2_max_sd, // llvm.x86.sse2.max.sd
+ x86_sse2_mfence, // llvm.x86.sse2.mfence
+ x86_sse2_min_pd, // llvm.x86.sse2.min.pd
+ x86_sse2_min_sd, // llvm.x86.sse2.min.sd
+ x86_sse2_movmsk_pd, // llvm.x86.sse2.movmsk.pd
+ x86_sse2_packssdw_128, // llvm.x86.sse2.packssdw.128
+ x86_sse2_packsswb_128, // llvm.x86.sse2.packsswb.128
+ x86_sse2_packuswb_128, // llvm.x86.sse2.packuswb.128
+ x86_sse2_padds_b, // llvm.x86.sse2.padds.b
+ x86_sse2_padds_w, // llvm.x86.sse2.padds.w
+ x86_sse2_paddus_b, // llvm.x86.sse2.paddus.b
+ x86_sse2_paddus_w, // llvm.x86.sse2.paddus.w
+ x86_sse2_pause, // llvm.x86.sse2.pause
+ x86_sse2_pavg_b, // llvm.x86.sse2.pavg.b
+ x86_sse2_pavg_w, // llvm.x86.sse2.pavg.w
+ x86_sse2_pmadd_wd, // llvm.x86.sse2.pmadd.wd
+ x86_sse2_pmovmskb_128, // llvm.x86.sse2.pmovmskb.128
+ x86_sse2_pmulh_w, // llvm.x86.sse2.pmulh.w
+ x86_sse2_pmulhu_w, // llvm.x86.sse2.pmulhu.w
+ x86_sse2_pmulu_dq, // llvm.x86.sse2.pmulu.dq
+ x86_sse2_psad_bw, // llvm.x86.sse2.psad.bw
+ x86_sse2_psll_d, // llvm.x86.sse2.psll.d
+ x86_sse2_psll_q, // llvm.x86.sse2.psll.q
+ x86_sse2_psll_w, // llvm.x86.sse2.psll.w
+ x86_sse2_pslli_d, // llvm.x86.sse2.pslli.d
+ x86_sse2_pslli_q, // llvm.x86.sse2.pslli.q
+ x86_sse2_pslli_w, // llvm.x86.sse2.pslli.w
+ x86_sse2_psra_d, // llvm.x86.sse2.psra.d
+ x86_sse2_psra_w, // llvm.x86.sse2.psra.w
+ x86_sse2_psrai_d, // llvm.x86.sse2.psrai.d
+ x86_sse2_psrai_w, // llvm.x86.sse2.psrai.w
+ x86_sse2_psrl_d, // llvm.x86.sse2.psrl.d
+ x86_sse2_psrl_q, // llvm.x86.sse2.psrl.q
+ x86_sse2_psrl_w, // llvm.x86.sse2.psrl.w
+ x86_sse2_psrli_d, // llvm.x86.sse2.psrli.d
+ x86_sse2_psrli_q, // llvm.x86.sse2.psrli.q
+ x86_sse2_psrli_w, // llvm.x86.sse2.psrli.w
+ x86_sse2_psubs_b, // llvm.x86.sse2.psubs.b
+ x86_sse2_psubs_w, // llvm.x86.sse2.psubs.w
+ x86_sse2_psubus_b, // llvm.x86.sse2.psubus.b
+ x86_sse2_psubus_w, // llvm.x86.sse2.psubus.w
+ x86_sse2_sqrt_pd, // llvm.x86.sse2.sqrt.pd
+ x86_sse2_sqrt_sd, // llvm.x86.sse2.sqrt.sd
+ x86_sse2_ucomieq_sd, // llvm.x86.sse2.ucomieq.sd
+ x86_sse2_ucomige_sd, // llvm.x86.sse2.ucomige.sd
+ x86_sse2_ucomigt_sd, // llvm.x86.sse2.ucomigt.sd
+ x86_sse2_ucomile_sd, // llvm.x86.sse2.ucomile.sd
+ x86_sse2_ucomilt_sd, // llvm.x86.sse2.ucomilt.sd
+ x86_sse2_ucomineq_sd, // llvm.x86.sse2.ucomineq.sd
+ x86_sse3_addsub_pd, // llvm.x86.sse3.addsub.pd
+ x86_sse3_addsub_ps, // llvm.x86.sse3.addsub.ps
+ x86_sse3_hadd_pd, // llvm.x86.sse3.hadd.pd
+ x86_sse3_hadd_ps, // llvm.x86.sse3.hadd.ps
+ x86_sse3_hsub_pd, // llvm.x86.sse3.hsub.pd
+ x86_sse3_hsub_ps, // llvm.x86.sse3.hsub.ps
+ x86_sse3_ldu_dq, // llvm.x86.sse3.ldu.dq
+ x86_sse3_monitor, // llvm.x86.sse3.monitor
+ x86_sse3_mwait, // llvm.x86.sse3.mwait
+ x86_sse41_blendvpd, // llvm.x86.sse41.blendvpd
+ x86_sse41_blendvps, // llvm.x86.sse41.blendvps
+ x86_sse41_dppd, // llvm.x86.sse41.dppd
+ x86_sse41_dpps, // llvm.x86.sse41.dpps
+ x86_sse41_insertps, // llvm.x86.sse41.insertps
+ x86_sse41_movntdqa, // llvm.x86.sse41.movntdqa
+ x86_sse41_mpsadbw, // llvm.x86.sse41.mpsadbw
+ x86_sse41_packusdw, // llvm.x86.sse41.packusdw
+ x86_sse41_pblendvb, // llvm.x86.sse41.pblendvb
+ x86_sse41_phminposuw, // llvm.x86.sse41.phminposuw
+ x86_sse41_pmuldq, // llvm.x86.sse41.pmuldq
+ x86_sse41_ptestc, // llvm.x86.sse41.ptestc
+ x86_sse41_ptestnzc, // llvm.x86.sse41.ptestnzc
+ x86_sse41_ptestz, // llvm.x86.sse41.ptestz
+ x86_sse41_round_pd, // llvm.x86.sse41.round.pd
+ x86_sse41_round_ps, // llvm.x86.sse41.round.ps
+ x86_sse41_round_sd, // llvm.x86.sse41.round.sd
+ x86_sse41_round_ss, // llvm.x86.sse41.round.ss
+ x86_sse42_crc32_32_16, // llvm.x86.sse42.crc32.32.16
+ x86_sse42_crc32_32_32, // llvm.x86.sse42.crc32.32.32
+ x86_sse42_crc32_32_8, // llvm.x86.sse42.crc32.32.8
+ x86_sse42_crc32_64_64, // llvm.x86.sse42.crc32.64.64
+ x86_sse42_pcmpestri128, // llvm.x86.sse42.pcmpestri128
+ x86_sse42_pcmpestria128, // llvm.x86.sse42.pcmpestria128
+ x86_sse42_pcmpestric128, // llvm.x86.sse42.pcmpestric128
+ x86_sse42_pcmpestrio128, // llvm.x86.sse42.pcmpestrio128
+ x86_sse42_pcmpestris128, // llvm.x86.sse42.pcmpestris128
+ x86_sse42_pcmpestriz128, // llvm.x86.sse42.pcmpestriz128
+ x86_sse42_pcmpestrm128, // llvm.x86.sse42.pcmpestrm128
+ x86_sse42_pcmpistri128, // llvm.x86.sse42.pcmpistri128
+ x86_sse42_pcmpistria128, // llvm.x86.sse42.pcmpistria128
+ x86_sse42_pcmpistric128, // llvm.x86.sse42.pcmpistric128
+ x86_sse42_pcmpistrio128, // llvm.x86.sse42.pcmpistrio128
+ x86_sse42_pcmpistris128, // llvm.x86.sse42.pcmpistris128
+ x86_sse42_pcmpistriz128, // llvm.x86.sse42.pcmpistriz128
+ x86_sse42_pcmpistrm128, // llvm.x86.sse42.pcmpistrm128
+ x86_sse4a_extrq, // llvm.x86.sse4a.extrq
+ x86_sse4a_extrqi, // llvm.x86.sse4a.extrqi
+ x86_sse4a_insertq, // llvm.x86.sse4a.insertq
+ x86_sse4a_insertqi, // llvm.x86.sse4a.insertqi
+ x86_ssse3_pabs_b, // llvm.x86.ssse3.pabs.b
+ x86_ssse3_pabs_b_128, // llvm.x86.ssse3.pabs.b.128
+ x86_ssse3_pabs_d, // llvm.x86.ssse3.pabs.d
+ x86_ssse3_pabs_d_128, // llvm.x86.ssse3.pabs.d.128
+ x86_ssse3_pabs_w, // llvm.x86.ssse3.pabs.w
+ x86_ssse3_pabs_w_128, // llvm.x86.ssse3.pabs.w.128
+ x86_ssse3_phadd_d, // llvm.x86.ssse3.phadd.d
+ x86_ssse3_phadd_d_128, // llvm.x86.ssse3.phadd.d.128
+ x86_ssse3_phadd_sw, // llvm.x86.ssse3.phadd.sw
+ x86_ssse3_phadd_sw_128, // llvm.x86.ssse3.phadd.sw.128
+ x86_ssse3_phadd_w, // llvm.x86.ssse3.phadd.w
+ x86_ssse3_phadd_w_128, // llvm.x86.ssse3.phadd.w.128
+ x86_ssse3_phsub_d, // llvm.x86.ssse3.phsub.d
+ x86_ssse3_phsub_d_128, // llvm.x86.ssse3.phsub.d.128
+ x86_ssse3_phsub_sw, // llvm.x86.ssse3.phsub.sw
+ x86_ssse3_phsub_sw_128, // llvm.x86.ssse3.phsub.sw.128
+ x86_ssse3_phsub_w, // llvm.x86.ssse3.phsub.w
+ x86_ssse3_phsub_w_128, // llvm.x86.ssse3.phsub.w.128
+ x86_ssse3_pmadd_ub_sw, // llvm.x86.ssse3.pmadd.ub.sw
+ x86_ssse3_pmadd_ub_sw_128, // llvm.x86.ssse3.pmadd.ub.sw.128
+ x86_ssse3_pmul_hr_sw, // llvm.x86.ssse3.pmul.hr.sw
+ x86_ssse3_pmul_hr_sw_128, // llvm.x86.ssse3.pmul.hr.sw.128
+ x86_ssse3_pshuf_b, // llvm.x86.ssse3.pshuf.b
+ x86_ssse3_pshuf_b_128, // llvm.x86.ssse3.pshuf.b.128
+ x86_ssse3_psign_b, // llvm.x86.ssse3.psign.b
+ x86_ssse3_psign_b_128, // llvm.x86.ssse3.psign.b.128
+ x86_ssse3_psign_d, // llvm.x86.ssse3.psign.d
+ x86_ssse3_psign_d_128, // llvm.x86.ssse3.psign.d.128
+ x86_ssse3_psign_w, // llvm.x86.ssse3.psign.w
+ x86_ssse3_psign_w_128, // llvm.x86.ssse3.psign.w.128
+ x86_subborrow_u32, // llvm.x86.subborrow.u32
+ x86_subborrow_u64, // llvm.x86.subborrow.u64
+ x86_tbm_bextri_u32, // llvm.x86.tbm.bextri.u32
+ x86_tbm_bextri_u64, // llvm.x86.tbm.bextri.u64
+ x86_vcvtph2ps_128, // llvm.x86.vcvtph2ps.128
+ x86_vcvtph2ps_256, // llvm.x86.vcvtph2ps.256
+ x86_vcvtps2ph_128, // llvm.x86.vcvtps2ph.128
+ x86_vcvtps2ph_256, // llvm.x86.vcvtps2ph.256
+ x86_wrfsbase_32, // llvm.x86.wrfsbase.32
+ x86_wrfsbase_64, // llvm.x86.wrfsbase.64
+ x86_wrgsbase_32, // llvm.x86.wrgsbase.32
+ x86_wrgsbase_64, // llvm.x86.wrgsbase.64
+ x86_wrpkru, // llvm.x86.wrpkru
+ x86_xabort, // llvm.x86.xabort
+ x86_xbegin, // llvm.x86.xbegin
+ x86_xend, // llvm.x86.xend
+ x86_xgetbv, // llvm.x86.xgetbv
+ x86_xop_vfrcz_pd, // llvm.x86.xop.vfrcz.pd
+ x86_xop_vfrcz_pd_256, // llvm.x86.xop.vfrcz.pd.256
+ x86_xop_vfrcz_ps, // llvm.x86.xop.vfrcz.ps
+ x86_xop_vfrcz_ps_256, // llvm.x86.xop.vfrcz.ps.256
+ x86_xop_vfrcz_sd, // llvm.x86.xop.vfrcz.sd
+ x86_xop_vfrcz_ss, // llvm.x86.xop.vfrcz.ss
+ x86_xop_vpcmov, // llvm.x86.xop.vpcmov
+ x86_xop_vpcmov_256, // llvm.x86.xop.vpcmov.256
+ x86_xop_vpcomb, // llvm.x86.xop.vpcomb
+ x86_xop_vpcomd, // llvm.x86.xop.vpcomd
+ x86_xop_vpcomq, // llvm.x86.xop.vpcomq
+ x86_xop_vpcomub, // llvm.x86.xop.vpcomub
+ x86_xop_vpcomud, // llvm.x86.xop.vpcomud
+ x86_xop_vpcomuq, // llvm.x86.xop.vpcomuq
+ x86_xop_vpcomuw, // llvm.x86.xop.vpcomuw
+ x86_xop_vpcomw, // llvm.x86.xop.vpcomw
+ x86_xop_vpermil2pd, // llvm.x86.xop.vpermil2pd
+ x86_xop_vpermil2pd_256, // llvm.x86.xop.vpermil2pd.256
+ x86_xop_vpermil2ps, // llvm.x86.xop.vpermil2ps
+ x86_xop_vpermil2ps_256, // llvm.x86.xop.vpermil2ps.256
+ x86_xop_vphaddbd, // llvm.x86.xop.vphaddbd
+ x86_xop_vphaddbq, // llvm.x86.xop.vphaddbq
+ x86_xop_vphaddbw, // llvm.x86.xop.vphaddbw
+ x86_xop_vphadddq, // llvm.x86.xop.vphadddq
+ x86_xop_vphaddubd, // llvm.x86.xop.vphaddubd
+ x86_xop_vphaddubq, // llvm.x86.xop.vphaddubq
+ x86_xop_vphaddubw, // llvm.x86.xop.vphaddubw
+ x86_xop_vphaddudq, // llvm.x86.xop.vphaddudq
+ x86_xop_vphadduwd, // llvm.x86.xop.vphadduwd
+ x86_xop_vphadduwq, // llvm.x86.xop.vphadduwq
+ x86_xop_vphaddwd, // llvm.x86.xop.vphaddwd
+ x86_xop_vphaddwq, // llvm.x86.xop.vphaddwq
+ x86_xop_vphsubbw, // llvm.x86.xop.vphsubbw
+ x86_xop_vphsubdq, // llvm.x86.xop.vphsubdq
+ x86_xop_vphsubwd, // llvm.x86.xop.vphsubwd
+ x86_xop_vpmacsdd, // llvm.x86.xop.vpmacsdd
+ x86_xop_vpmacsdqh, // llvm.x86.xop.vpmacsdqh
+ x86_xop_vpmacsdql, // llvm.x86.xop.vpmacsdql
+ x86_xop_vpmacssdd, // llvm.x86.xop.vpmacssdd
+ x86_xop_vpmacssdqh, // llvm.x86.xop.vpmacssdqh
+ x86_xop_vpmacssdql, // llvm.x86.xop.vpmacssdql
+ x86_xop_vpmacsswd, // llvm.x86.xop.vpmacsswd
+ x86_xop_vpmacssww, // llvm.x86.xop.vpmacssww
+ x86_xop_vpmacswd, // llvm.x86.xop.vpmacswd
+ x86_xop_vpmacsww, // llvm.x86.xop.vpmacsww
+ x86_xop_vpmadcsswd, // llvm.x86.xop.vpmadcsswd
+ x86_xop_vpmadcswd, // llvm.x86.xop.vpmadcswd
+ x86_xop_vpperm, // llvm.x86.xop.vpperm
+ x86_xop_vprotb, // llvm.x86.xop.vprotb
+ x86_xop_vprotbi, // llvm.x86.xop.vprotbi
+ x86_xop_vprotd, // llvm.x86.xop.vprotd
+ x86_xop_vprotdi, // llvm.x86.xop.vprotdi
+ x86_xop_vprotq, // llvm.x86.xop.vprotq
+ x86_xop_vprotqi, // llvm.x86.xop.vprotqi
+ x86_xop_vprotw, // llvm.x86.xop.vprotw
+ x86_xop_vprotwi, // llvm.x86.xop.vprotwi
+ x86_xop_vpshab, // llvm.x86.xop.vpshab
+ x86_xop_vpshad, // llvm.x86.xop.vpshad
+ x86_xop_vpshaq, // llvm.x86.xop.vpshaq
+ x86_xop_vpshaw, // llvm.x86.xop.vpshaw
+ x86_xop_vpshlb, // llvm.x86.xop.vpshlb
+ x86_xop_vpshld, // llvm.x86.xop.vpshld
+ x86_xop_vpshlq, // llvm.x86.xop.vpshlq
+ x86_xop_vpshlw, // llvm.x86.xop.vpshlw
+ x86_xrstor, // llvm.x86.xrstor
+ x86_xrstor64, // llvm.x86.xrstor64
+ x86_xrstors, // llvm.x86.xrstors
+ x86_xrstors64, // llvm.x86.xrstors64
+ x86_xsave, // llvm.x86.xsave
+ x86_xsave64, // llvm.x86.xsave64
+ x86_xsavec, // llvm.x86.xsavec
+ x86_xsavec64, // llvm.x86.xsavec64
+ x86_xsaveopt, // llvm.x86.xsaveopt
+ x86_xsaveopt64, // llvm.x86.xsaveopt64
+ x86_xsaves, // llvm.x86.xsaves
+ x86_xsaves64, // llvm.x86.xsaves64
+ x86_xsetbv, // llvm.x86.xsetbv
+ x86_xtest, // llvm.x86.xtest
+ xcore_bitrev, // llvm.xcore.bitrev
+ xcore_checkevent, // llvm.xcore.checkevent
+ xcore_chkct, // llvm.xcore.chkct
+ xcore_clre, // llvm.xcore.clre
+ xcore_clrpt, // llvm.xcore.clrpt
+ xcore_clrsr, // llvm.xcore.clrsr
+ xcore_crc32, // llvm.xcore.crc32
+ xcore_crc8, // llvm.xcore.crc8
+ xcore_edu, // llvm.xcore.edu
+ xcore_eeu, // llvm.xcore.eeu
+ xcore_endin, // llvm.xcore.endin
+ xcore_freer, // llvm.xcore.freer
+ xcore_geted, // llvm.xcore.geted
+ xcore_getet, // llvm.xcore.getet
+ xcore_getid, // llvm.xcore.getid
+ xcore_getps, // llvm.xcore.getps
+ xcore_getr, // llvm.xcore.getr
+ xcore_getst, // llvm.xcore.getst
+ xcore_getts, // llvm.xcore.getts
+ xcore_in, // llvm.xcore.in
+ xcore_inct, // llvm.xcore.inct
+ xcore_initcp, // llvm.xcore.initcp
+ xcore_initdp, // llvm.xcore.initdp
+ xcore_initlr, // llvm.xcore.initlr
+ xcore_initpc, // llvm.xcore.initpc
+ xcore_initsp, // llvm.xcore.initsp
+ xcore_inshr, // llvm.xcore.inshr
+ xcore_int, // llvm.xcore.int
+ xcore_mjoin, // llvm.xcore.mjoin
+ xcore_msync, // llvm.xcore.msync
+ xcore_out, // llvm.xcore.out
+ xcore_outct, // llvm.xcore.outct
+ xcore_outshr, // llvm.xcore.outshr
+ xcore_outt, // llvm.xcore.outt
+ xcore_peek, // llvm.xcore.peek
+ xcore_setc, // llvm.xcore.setc
+ xcore_setclk, // llvm.xcore.setclk
+ xcore_setd, // llvm.xcore.setd
+ xcore_setev, // llvm.xcore.setev
+ xcore_setps, // llvm.xcore.setps
+ xcore_setpsc, // llvm.xcore.setpsc
+ xcore_setpt, // llvm.xcore.setpt
+ xcore_setrdy, // llvm.xcore.setrdy
+ xcore_setsr, // llvm.xcore.setsr
+ xcore_settw, // llvm.xcore.settw
+ xcore_setv, // llvm.xcore.setv
+ xcore_sext, // llvm.xcore.sext
+ xcore_ssync, // llvm.xcore.ssync
+ xcore_syncr, // llvm.xcore.syncr
+ xcore_testct, // llvm.xcore.testct
+ xcore_testwct, // llvm.xcore.testwct
+ xcore_waitevent, // llvm.xcore.waitevent
+ xcore_zext // llvm.xcore.zext
+#endif
+
+// Target mapping
+#ifdef GET_INTRINSIC_TARGET_DATA
+struct IntrinsicTargetInfo {
+ StringRef Name;
+ size_t Offset;
+ size_t Count;
+};
+static const IntrinsicTargetInfo TargetInfos[] = {
+ {"", 0, 143},
+ {"aarch64", 143, 190},
+ {"amdgcn", 333, 174},
+ {"arm", 507, 172},
+ {"bpf", 679, 4},
+ {"hexagon", 683, 1489},
+ {"mips", 2172, 667},
+ {"nvvm", 2839, 939},
+ {"ppc", 3778, 395},
+ {"r600", 4173, 20},
+ {"s390", 4193, 207},
+ {"wasm", 4400, 2},
+ {"x86", 4402, 1573},
+ {"xcore", 5975, 53},
+};
+#endif
+
+// Intrinsic ID to name table
+#ifdef GET_INTRINSIC_NAME_TABLE
+ // Note that entry #0 is the invalid intrinsic!
+ "llvm.addressofreturnaddress",
+ "llvm.adjust.trampoline",
+ "llvm.annotation",
+ "llvm.assume",
+ "llvm.bitreverse",
+ "llvm.bswap",
+ "llvm.canonicalize",
+ "llvm.ceil",
+ "llvm.clear_cache",
+ "llvm.convert.from.fp16",
+ "llvm.convert.to.fp16",
+ "llvm.convertff",
+ "llvm.convertfsi",
+ "llvm.convertfui",
+ "llvm.convertsif",
+ "llvm.convertss",
+ "llvm.convertsu",
+ "llvm.convertuif",
+ "llvm.convertus",
+ "llvm.convertuu",
+ "llvm.copysign",
+ "llvm.coro.alloc",
+ "llvm.coro.begin",
+ "llvm.coro.destroy",
+ "llvm.coro.done",
+ "llvm.coro.end",
+ "llvm.coro.frame",
+ "llvm.coro.free",
+ "llvm.coro.id",
+ "llvm.coro.param",
+ "llvm.coro.promise",
+ "llvm.coro.resume",
+ "llvm.coro.save",
+ "llvm.coro.size",
+ "llvm.coro.subfn.addr",
+ "llvm.coro.suspend",
+ "llvm.cos",
+ "llvm.ctlz",
+ "llvm.ctpop",
+ "llvm.cttz",
+ "llvm.dbg.declare",
+ "llvm.dbg.value",
+ "llvm.debugtrap",
+ "llvm.donothing",
+ "llvm.eh.dwarf.cfa",
+ "llvm.eh.exceptioncode",
+ "llvm.eh.exceptionpointer",
+ "llvm.eh.return.i32",
+ "llvm.eh.return.i64",
+ "llvm.eh.sjlj.callsite",
+ "llvm.eh.sjlj.functioncontext",
+ "llvm.eh.sjlj.longjmp",
+ "llvm.eh.sjlj.lsda",
+ "llvm.eh.sjlj.setjmp",
+ "llvm.eh.sjlj.setup.dispatch",
+ "llvm.eh.typeid.for",
+ "llvm.eh.unwind.init",
+ "llvm.exp",
+ "llvm.exp2",
+ "llvm.expect",
+ "llvm.experimental.deoptimize",
+ "llvm.experimental.gc.relocate",
+ "llvm.experimental.gc.result",
+ "llvm.experimental.gc.statepoint",
+ "llvm.experimental.guard",
+ "llvm.experimental.patchpoint.i64",
+ "llvm.experimental.patchpoint.void",
+ "llvm.experimental.stackmap",
+ "llvm.fabs",
+ "llvm.floor",
+ "llvm.flt.rounds",
+ "llvm.fma",
+ "llvm.fmuladd",
+ "llvm.frameaddress",
+ "llvm.gcread",
+ "llvm.gcroot",
+ "llvm.gcwrite",
+ "llvm.get.dynamic.area.offset",
+ "llvm.init.trampoline",
+ "llvm.instrprof.increment",
+ "llvm.instrprof.increment.step",
+ "llvm.instrprof.value.profile",
+ "llvm.invariant.end",
+ "llvm.invariant.group.barrier",
+ "llvm.invariant.start",
+ "llvm.lifetime.end",
+ "llvm.lifetime.start",
+ "llvm.load.relative",
+ "llvm.localaddress",
+ "llvm.localescape",
+ "llvm.localrecover",
+ "llvm.log",
+ "llvm.log10",
+ "llvm.log2",
+ "llvm.longjmp",
+ "llvm.masked.compressstore",
+ "llvm.masked.expandload",
+ "llvm.masked.gather",
+ "llvm.masked.load",
+ "llvm.masked.scatter",
+ "llvm.masked.store",
+ "llvm.maxnum",
+ "llvm.memcpy",
+ "llvm.memmove",
+ "llvm.memset",
+ "llvm.minnum",
+ "llvm.nearbyint",
+ "llvm.objectsize",
+ "llvm.pcmarker",
+ "llvm.pow",
+ "llvm.powi",
+ "llvm.prefetch",
+ "llvm.ptr.annotation",
+ "llvm.read_register",
+ "llvm.readcyclecounter",
+ "llvm.returnaddress",
+ "llvm.rint",
+ "llvm.round",
+ "llvm.sadd.with.overflow",
+ "llvm.setjmp",
+ "llvm.siglongjmp",
+ "llvm.sigsetjmp",
+ "llvm.sin",
+ "llvm.smul.with.overflow",
+ "llvm.sqrt",
+ "llvm.ssub.with.overflow",
+ "llvm.stackguard",
+ "llvm.stackprotector",
+ "llvm.stackrestore",
+ "llvm.stacksave",
+ "llvm.thread.pointer",
+ "llvm.trap",
+ "llvm.trunc",
+ "llvm.type.checked.load",
+ "llvm.type.test",
+ "llvm.uadd.with.overflow",
+ "llvm.umul.with.overflow",
+ "llvm.usub.with.overflow",
+ "llvm.va_copy",
+ "llvm.va_end",
+ "llvm.va_start",
+ "llvm.var.annotation",
+ "llvm.write_register",
+ "llvm.aarch64.clrex",
+ "llvm.aarch64.crc32b",
+ "llvm.aarch64.crc32cb",
+ "llvm.aarch64.crc32ch",
+ "llvm.aarch64.crc32cw",
+ "llvm.aarch64.crc32cx",
+ "llvm.aarch64.crc32h",
+ "llvm.aarch64.crc32w",
+ "llvm.aarch64.crc32x",
+ "llvm.aarch64.crypto.aesd",
+ "llvm.aarch64.crypto.aese",
+ "llvm.aarch64.crypto.aesimc",
+ "llvm.aarch64.crypto.aesmc",
+ "llvm.aarch64.crypto.sha1c",
+ "llvm.aarch64.crypto.sha1h",
+ "llvm.aarch64.crypto.sha1m",
+ "llvm.aarch64.crypto.sha1p",
+ "llvm.aarch64.crypto.sha1su0",
+ "llvm.aarch64.crypto.sha1su1",
+ "llvm.aarch64.crypto.sha256h",
+ "llvm.aarch64.crypto.sha256h2",
+ "llvm.aarch64.crypto.sha256su0",
+ "llvm.aarch64.crypto.sha256su1",
+ "llvm.aarch64.dmb",
+ "llvm.aarch64.dsb",
+ "llvm.aarch64.hint",
+ "llvm.aarch64.isb",
+ "llvm.aarch64.ldaxp",
+ "llvm.aarch64.ldaxr",
+ "llvm.aarch64.ldxp",
+ "llvm.aarch64.ldxr",
+ "llvm.aarch64.neon.abs",
+ "llvm.aarch64.neon.addhn",
+ "llvm.aarch64.neon.addp",
+ "llvm.aarch64.neon.cls",
+ "llvm.aarch64.neon.fabd",
+ "llvm.aarch64.neon.facge",
+ "llvm.aarch64.neon.facgt",
+ "llvm.aarch64.neon.faddv",
+ "llvm.aarch64.neon.fcvtas",
+ "llvm.aarch64.neon.fcvtau",
+ "llvm.aarch64.neon.fcvtms",
+ "llvm.aarch64.neon.fcvtmu",
+ "llvm.aarch64.neon.fcvtns",
+ "llvm.aarch64.neon.fcvtnu",
+ "llvm.aarch64.neon.fcvtps",
+ "llvm.aarch64.neon.fcvtpu",
+ "llvm.aarch64.neon.fcvtxn",
+ "llvm.aarch64.neon.fcvtzs",
+ "llvm.aarch64.neon.fcvtzu",
+ "llvm.aarch64.neon.fmax",
+ "llvm.aarch64.neon.fmaxnm",
+ "llvm.aarch64.neon.fmaxnmp",
+ "llvm.aarch64.neon.fmaxnmv",
+ "llvm.aarch64.neon.fmaxp",
+ "llvm.aarch64.neon.fmaxv",
+ "llvm.aarch64.neon.fmin",
+ "llvm.aarch64.neon.fminnm",
+ "llvm.aarch64.neon.fminnmp",
+ "llvm.aarch64.neon.fminnmv",
+ "llvm.aarch64.neon.fminp",
+ "llvm.aarch64.neon.fminv",
+ "llvm.aarch64.neon.fmulx",
+ "llvm.aarch64.neon.frecpe",
+ "llvm.aarch64.neon.frecps",
+ "llvm.aarch64.neon.frecpx",
+ "llvm.aarch64.neon.frintn",
+ "llvm.aarch64.neon.frsqrte",
+ "llvm.aarch64.neon.frsqrts",
+ "llvm.aarch64.neon.ld1x2",
+ "llvm.aarch64.neon.ld1x3",
+ "llvm.aarch64.neon.ld1x4",
+ "llvm.aarch64.neon.ld2",
+ "llvm.aarch64.neon.ld2lane",
+ "llvm.aarch64.neon.ld2r",
+ "llvm.aarch64.neon.ld3",
+ "llvm.aarch64.neon.ld3lane",
+ "llvm.aarch64.neon.ld3r",
+ "llvm.aarch64.neon.ld4",
+ "llvm.aarch64.neon.ld4lane",
+ "llvm.aarch64.neon.ld4r",
+ "llvm.aarch64.neon.pmul",
+ "llvm.aarch64.neon.pmull",
+ "llvm.aarch64.neon.pmull64",
+ "llvm.aarch64.neon.raddhn",
+ "llvm.aarch64.neon.rbit",
+ "llvm.aarch64.neon.rshrn",
+ "llvm.aarch64.neon.rsubhn",
+ "llvm.aarch64.neon.sabd",
+ "llvm.aarch64.neon.saddlp",
+ "llvm.aarch64.neon.saddlv",
+ "llvm.aarch64.neon.saddv",
+ "llvm.aarch64.neon.scalar.sqxtn",
+ "llvm.aarch64.neon.scalar.sqxtun",
+ "llvm.aarch64.neon.scalar.uqxtn",
+ "llvm.aarch64.neon.shadd",
+ "llvm.aarch64.neon.shll",
+ "llvm.aarch64.neon.shsub",
+ "llvm.aarch64.neon.smax",
+ "llvm.aarch64.neon.smaxp",
+ "llvm.aarch64.neon.smaxv",
+ "llvm.aarch64.neon.smin",
+ "llvm.aarch64.neon.sminp",
+ "llvm.aarch64.neon.sminv",
+ "llvm.aarch64.neon.smull",
+ "llvm.aarch64.neon.sqabs",
+ "llvm.aarch64.neon.sqadd",
+ "llvm.aarch64.neon.sqdmulh",
+ "llvm.aarch64.neon.sqdmull",
+ "llvm.aarch64.neon.sqdmulls.scalar",
+ "llvm.aarch64.neon.sqneg",
+ "llvm.aarch64.neon.sqrdmulh",
+ "llvm.aarch64.neon.sqrshl",
+ "llvm.aarch64.neon.sqrshrn",
+ "llvm.aarch64.neon.sqrshrun",
+ "llvm.aarch64.neon.sqshl",
+ "llvm.aarch64.neon.sqshlu",
+ "llvm.aarch64.neon.sqshrn",
+ "llvm.aarch64.neon.sqshrun",
+ "llvm.aarch64.neon.sqsub",
+ "llvm.aarch64.neon.sqxtn",
+ "llvm.aarch64.neon.sqxtun",
+ "llvm.aarch64.neon.srhadd",
+ "llvm.aarch64.neon.srshl",
+ "llvm.aarch64.neon.sshl",
+ "llvm.aarch64.neon.sshll",
+ "llvm.aarch64.neon.st1x2",
+ "llvm.aarch64.neon.st1x3",
+ "llvm.aarch64.neon.st1x4",
+ "llvm.aarch64.neon.st2",
+ "llvm.aarch64.neon.st2lane",
+ "llvm.aarch64.neon.st3",
+ "llvm.aarch64.neon.st3lane",
+ "llvm.aarch64.neon.st4",
+ "llvm.aarch64.neon.st4lane",
+ "llvm.aarch64.neon.subhn",
+ "llvm.aarch64.neon.suqadd",
+ "llvm.aarch64.neon.tbl1",
+ "llvm.aarch64.neon.tbl2",
+ "llvm.aarch64.neon.tbl3",
+ "llvm.aarch64.neon.tbl4",
+ "llvm.aarch64.neon.tbx1",
+ "llvm.aarch64.neon.tbx2",
+ "llvm.aarch64.neon.tbx3",
+ "llvm.aarch64.neon.tbx4",
+ "llvm.aarch64.neon.uabd",
+ "llvm.aarch64.neon.uaddlp",
+ "llvm.aarch64.neon.uaddlv",
+ "llvm.aarch64.neon.uaddv",
+ "llvm.aarch64.neon.uhadd",
+ "llvm.aarch64.neon.uhsub",
+ "llvm.aarch64.neon.umax",
+ "llvm.aarch64.neon.umaxp",
+ "llvm.aarch64.neon.umaxv",
+ "llvm.aarch64.neon.umin",
+ "llvm.aarch64.neon.uminp",
+ "llvm.aarch64.neon.uminv",
+ "llvm.aarch64.neon.umull",
+ "llvm.aarch64.neon.uqadd",
+ "llvm.aarch64.neon.uqrshl",
+ "llvm.aarch64.neon.uqrshrn",
+ "llvm.aarch64.neon.uqshl",
+ "llvm.aarch64.neon.uqshrn",
+ "llvm.aarch64.neon.uqsub",
+ "llvm.aarch64.neon.uqxtn",
+ "llvm.aarch64.neon.urecpe",
+ "llvm.aarch64.neon.urhadd",
+ "llvm.aarch64.neon.urshl",
+ "llvm.aarch64.neon.ursqrte",
+ "llvm.aarch64.neon.ushl",
+ "llvm.aarch64.neon.ushll",
+ "llvm.aarch64.neon.usqadd",
+ "llvm.aarch64.neon.vcopy.lane",
+ "llvm.aarch64.neon.vcvtfp2fxs",
+ "llvm.aarch64.neon.vcvtfp2fxu",
+ "llvm.aarch64.neon.vcvtfp2hf",
+ "llvm.aarch64.neon.vcvtfxs2fp",
+ "llvm.aarch64.neon.vcvtfxu2fp",
+ "llvm.aarch64.neon.vcvthf2fp",
+ "llvm.aarch64.neon.vsli",
+ "llvm.aarch64.neon.vsri",
+ "llvm.aarch64.rbit",
+ "llvm.aarch64.sdiv",
+ "llvm.aarch64.sisd.fabd",
+ "llvm.aarch64.sisd.fcvtxn",
+ "llvm.aarch64.stlxp",
+ "llvm.aarch64.stlxr",
+ "llvm.aarch64.stxp",
+ "llvm.aarch64.stxr",
+ "llvm.aarch64.udiv",
+ "llvm.amdgcn.atomic.dec",
+ "llvm.amdgcn.atomic.inc",
+ "llvm.amdgcn.buffer.atomic.add",
+ "llvm.amdgcn.buffer.atomic.and",
+ "llvm.amdgcn.buffer.atomic.cmpswap",
+ "llvm.amdgcn.buffer.atomic.or",
+ "llvm.amdgcn.buffer.atomic.smax",
+ "llvm.amdgcn.buffer.atomic.smin",
+ "llvm.amdgcn.buffer.atomic.sub",
+ "llvm.amdgcn.buffer.atomic.swap",
+ "llvm.amdgcn.buffer.atomic.umax",
+ "llvm.amdgcn.buffer.atomic.umin",
+ "llvm.amdgcn.buffer.atomic.xor",
+ "llvm.amdgcn.buffer.load",
+ "llvm.amdgcn.buffer.load.format",
+ "llvm.amdgcn.buffer.store",
+ "llvm.amdgcn.buffer.store.format",
+ "llvm.amdgcn.buffer.wbinvl1",
+ "llvm.amdgcn.buffer.wbinvl1.sc",
+ "llvm.amdgcn.buffer.wbinvl1.vol",
+ "llvm.amdgcn.class",
+ "llvm.amdgcn.cos",
+ "llvm.amdgcn.cubeid",
+ "llvm.amdgcn.cubema",
+ "llvm.amdgcn.cubesc",
+ "llvm.amdgcn.cubetc",
+ "llvm.amdgcn.cvt.pk.u8.f32",
+ "llvm.amdgcn.dispatch.id",
+ "llvm.amdgcn.dispatch.ptr",
+ "llvm.amdgcn.div.fixup",
+ "llvm.amdgcn.div.fmas",
+ "llvm.amdgcn.div.scale",
+ "llvm.amdgcn.ds.bpermute",
+ "llvm.amdgcn.ds.permute",
+ "llvm.amdgcn.ds.swizzle",
+ "llvm.amdgcn.fcmp",
+ "llvm.amdgcn.fmul.legacy",
+ "llvm.amdgcn.fract",
+ "llvm.amdgcn.frexp.exp",
+ "llvm.amdgcn.frexp.mant",
+ "llvm.amdgcn.groupstaticsize",
+ "llvm.amdgcn.icmp",
+ "llvm.amdgcn.image.atomic.add",
+ "llvm.amdgcn.image.atomic.and",
+ "llvm.amdgcn.image.atomic.cmpswap",
+ "llvm.amdgcn.image.atomic.dec",
+ "llvm.amdgcn.image.atomic.inc",
+ "llvm.amdgcn.image.atomic.or",
+ "llvm.amdgcn.image.atomic.smax",
+ "llvm.amdgcn.image.atomic.smin",
+ "llvm.amdgcn.image.atomic.sub",
+ "llvm.amdgcn.image.atomic.swap",
+ "llvm.amdgcn.image.atomic.umax",
+ "llvm.amdgcn.image.atomic.umin",
+ "llvm.amdgcn.image.atomic.xor",
+ "llvm.amdgcn.image.gather4",
+ "llvm.amdgcn.image.gather4.b",
+ "llvm.amdgcn.image.gather4.b.cl",
+ "llvm.amdgcn.image.gather4.b.cl.o",
+ "llvm.amdgcn.image.gather4.b.o",
+ "llvm.amdgcn.image.gather4.c",
+ "llvm.amdgcn.image.gather4.c.b",
+ "llvm.amdgcn.image.gather4.c.b.cl",
+ "llvm.amdgcn.image.gather4.c.b.cl.o",
+ "llvm.amdgcn.image.gather4.c.b.o",
+ "llvm.amdgcn.image.gather4.c.cl",
+ "llvm.amdgcn.image.gather4.c.cl.o",
+ "llvm.amdgcn.image.gather4.c.l",
+ "llvm.amdgcn.image.gather4.c.l.o",
+ "llvm.amdgcn.image.gather4.c.lz",
+ "llvm.amdgcn.image.gather4.c.lz.o",
+ "llvm.amdgcn.image.gather4.c.o",
+ "llvm.amdgcn.image.gather4.cl",
+ "llvm.amdgcn.image.gather4.cl.o",
+ "llvm.amdgcn.image.gather4.l",
+ "llvm.amdgcn.image.gather4.l.o",
+ "llvm.amdgcn.image.gather4.lz",
+ "llvm.amdgcn.image.gather4.lz.o",
+ "llvm.amdgcn.image.gather4.o",
+ "llvm.amdgcn.image.getlod",
+ "llvm.amdgcn.image.getresinfo",
+ "llvm.amdgcn.image.load",
+ "llvm.amdgcn.image.load.mip",
+ "llvm.amdgcn.image.sample",
+ "llvm.amdgcn.image.sample.b",
+ "llvm.amdgcn.image.sample.b.cl",
+ "llvm.amdgcn.image.sample.b.cl.o",
+ "llvm.amdgcn.image.sample.b.o",
+ "llvm.amdgcn.image.sample.c",
+ "llvm.amdgcn.image.sample.c.b",
+ "llvm.amdgcn.image.sample.c.b.cl",
+ "llvm.amdgcn.image.sample.c.b.cl.o",
+ "llvm.amdgcn.image.sample.c.b.o",
+ "llvm.amdgcn.image.sample.c.cd",
+ "llvm.amdgcn.image.sample.c.cd.cl",
+ "llvm.amdgcn.image.sample.c.cd.cl.o",
+ "llvm.amdgcn.image.sample.c.cd.o",
+ "llvm.amdgcn.image.sample.c.cl",
+ "llvm.amdgcn.image.sample.c.cl.o",
+ "llvm.amdgcn.image.sample.c.d",
+ "llvm.amdgcn.image.sample.c.d.cl",
+ "llvm.amdgcn.image.sample.c.d.cl.o",
+ "llvm.amdgcn.image.sample.c.d.o",
+ "llvm.amdgcn.image.sample.c.l",
+ "llvm.amdgcn.image.sample.c.l.o",
+ "llvm.amdgcn.image.sample.c.lz",
+ "llvm.amdgcn.image.sample.c.lz.o",
+ "llvm.amdgcn.image.sample.c.o",
+ "llvm.amdgcn.image.sample.cd",
+ "llvm.amdgcn.image.sample.cd.cl",
+ "llvm.amdgcn.image.sample.cd.cl.o",
+ "llvm.amdgcn.image.sample.cd.o",
+ "llvm.amdgcn.image.sample.cl",
+ "llvm.amdgcn.image.sample.cl.o",
+ "llvm.amdgcn.image.sample.d",
+ "llvm.amdgcn.image.sample.d.cl",
+ "llvm.amdgcn.image.sample.d.cl.o",
+ "llvm.amdgcn.image.sample.d.o",
+ "llvm.amdgcn.image.sample.l",
+ "llvm.amdgcn.image.sample.l.o",
+ "llvm.amdgcn.image.sample.lz",
+ "llvm.amdgcn.image.sample.lz.o",
+ "llvm.amdgcn.image.sample.o",
+ "llvm.amdgcn.image.store",
+ "llvm.amdgcn.image.store.mip",
+ "llvm.amdgcn.implicitarg.ptr",
+ "llvm.amdgcn.interp.mov",
+ "llvm.amdgcn.interp.p1",
+ "llvm.amdgcn.interp.p2",
+ "llvm.amdgcn.kernarg.segment.ptr",
+ "llvm.amdgcn.ldexp",
+ "llvm.amdgcn.lerp",
+ "llvm.amdgcn.log.clamp",
+ "llvm.amdgcn.mbcnt.hi",
+ "llvm.amdgcn.mbcnt.lo",
+ "llvm.amdgcn.mov.dpp",
+ "llvm.amdgcn.mqsad.pk.u16.u8",
+ "llvm.amdgcn.mqsad.u32.u8",
+ "llvm.amdgcn.msad.u8",
+ "llvm.amdgcn.ps.live",
+ "llvm.amdgcn.qsad.pk.u16.u8",
+ "llvm.amdgcn.queue.ptr",
+ "llvm.amdgcn.rcp",
+ "llvm.amdgcn.rcp.legacy",
+ "llvm.amdgcn.readfirstlane",
+ "llvm.amdgcn.readlane",
+ "llvm.amdgcn.rsq",
+ "llvm.amdgcn.rsq.clamp",
+ "llvm.amdgcn.rsq.legacy",
+ "llvm.amdgcn.s.barrier",
+ "llvm.amdgcn.s.dcache.inv",
+ "llvm.amdgcn.s.dcache.inv.vol",
+ "llvm.amdgcn.s.dcache.wb",
+ "llvm.amdgcn.s.dcache.wb.vol",
+ "llvm.amdgcn.s.decperflevel",
+ "llvm.amdgcn.s.getreg",
+ "llvm.amdgcn.s.incperflevel",
+ "llvm.amdgcn.s.memrealtime",
+ "llvm.amdgcn.s.memtime",
+ "llvm.amdgcn.s.sleep",
+ "llvm.amdgcn.s.waitcnt",
+ "llvm.amdgcn.sad.hi.u8",
+ "llvm.amdgcn.sad.u16",
+ "llvm.amdgcn.sad.u8",
+ "llvm.amdgcn.sffbh",
+ "llvm.amdgcn.sin",
+ "llvm.amdgcn.trig.preop",
+ "llvm.amdgcn.wave.barrier",
+ "llvm.amdgcn.workgroup.id.x",
+ "llvm.amdgcn.workgroup.id.y",
+ "llvm.amdgcn.workgroup.id.z",
+ "llvm.amdgcn.workitem.id.x",
+ "llvm.amdgcn.workitem.id.y",
+ "llvm.amdgcn.workitem.id.z",
+ "llvm.arm.cdp",
+ "llvm.arm.cdp2",
+ "llvm.arm.clrex",
+ "llvm.arm.crc32b",
+ "llvm.arm.crc32cb",
+ "llvm.arm.crc32ch",
+ "llvm.arm.crc32cw",
+ "llvm.arm.crc32h",
+ "llvm.arm.crc32w",
+ "llvm.arm.dbg",
+ "llvm.arm.dmb",
+ "llvm.arm.dsb",
+ "llvm.arm.get.fpscr",
+ "llvm.arm.hint",
+ "llvm.arm.isb",
+ "llvm.arm.ldaex",
+ "llvm.arm.ldaexd",
+ "llvm.arm.ldc",
+ "llvm.arm.ldc2",
+ "llvm.arm.ldc2l",
+ "llvm.arm.ldcl",
+ "llvm.arm.ldrex",
+ "llvm.arm.ldrexd",
+ "llvm.arm.mcr",
+ "llvm.arm.mcr2",
+ "llvm.arm.mcrr",
+ "llvm.arm.mcrr2",
+ "llvm.arm.mrc",
+ "llvm.arm.mrc2",
+ "llvm.arm.mrrc",
+ "llvm.arm.mrrc2",
+ "llvm.arm.neon.aesd",
+ "llvm.arm.neon.aese",
+ "llvm.arm.neon.aesimc",
+ "llvm.arm.neon.aesmc",
+ "llvm.arm.neon.sha1c",
+ "llvm.arm.neon.sha1h",
+ "llvm.arm.neon.sha1m",
+ "llvm.arm.neon.sha1p",
+ "llvm.arm.neon.sha1su0",
+ "llvm.arm.neon.sha1su1",
+ "llvm.arm.neon.sha256h",
+ "llvm.arm.neon.sha256h2",
+ "llvm.arm.neon.sha256su0",
+ "llvm.arm.neon.sha256su1",
+ "llvm.arm.neon.vabds",
+ "llvm.arm.neon.vabdu",
+ "llvm.arm.neon.vabs",
+ "llvm.arm.neon.vacge",
+ "llvm.arm.neon.vacgt",
+ "llvm.arm.neon.vbsl",
+ "llvm.arm.neon.vcls",
+ "llvm.arm.neon.vcvtas",
+ "llvm.arm.neon.vcvtau",
+ "llvm.arm.neon.vcvtfp2fxs",
+ "llvm.arm.neon.vcvtfp2fxu",
+ "llvm.arm.neon.vcvtfp2hf",
+ "llvm.arm.neon.vcvtfxs2fp",
+ "llvm.arm.neon.vcvtfxu2fp",
+ "llvm.arm.neon.vcvthf2fp",
+ "llvm.arm.neon.vcvtms",
+ "llvm.arm.neon.vcvtmu",
+ "llvm.arm.neon.vcvtns",
+ "llvm.arm.neon.vcvtnu",
+ "llvm.arm.neon.vcvtps",
+ "llvm.arm.neon.vcvtpu",
+ "llvm.arm.neon.vhadds",
+ "llvm.arm.neon.vhaddu",
+ "llvm.arm.neon.vhsubs",
+ "llvm.arm.neon.vhsubu",
+ "llvm.arm.neon.vld1",
+ "llvm.arm.neon.vld2",
+ "llvm.arm.neon.vld2lane",
+ "llvm.arm.neon.vld3",
+ "llvm.arm.neon.vld3lane",
+ "llvm.arm.neon.vld4",
+ "llvm.arm.neon.vld4lane",
+ "llvm.arm.neon.vmaxnm",
+ "llvm.arm.neon.vmaxs",
+ "llvm.arm.neon.vmaxu",
+ "llvm.arm.neon.vminnm",
+ "llvm.arm.neon.vmins",
+ "llvm.arm.neon.vminu",
+ "llvm.arm.neon.vmullp",
+ "llvm.arm.neon.vmulls",
+ "llvm.arm.neon.vmullu",
+ "llvm.arm.neon.vmulp",
+ "llvm.arm.neon.vpadals",
+ "llvm.arm.neon.vpadalu",
+ "llvm.arm.neon.vpadd",
+ "llvm.arm.neon.vpaddls",
+ "llvm.arm.neon.vpaddlu",
+ "llvm.arm.neon.vpmaxs",
+ "llvm.arm.neon.vpmaxu",
+ "llvm.arm.neon.vpmins",
+ "llvm.arm.neon.vpminu",
+ "llvm.arm.neon.vqabs",
+ "llvm.arm.neon.vqadds",
+ "llvm.arm.neon.vqaddu",
+ "llvm.arm.neon.vqdmulh",
+ "llvm.arm.neon.vqdmull",
+ "llvm.arm.neon.vqmovns",
+ "llvm.arm.neon.vqmovnsu",
+ "llvm.arm.neon.vqmovnu",
+ "llvm.arm.neon.vqneg",
+ "llvm.arm.neon.vqrdmulh",
+ "llvm.arm.neon.vqrshiftns",
+ "llvm.arm.neon.vqrshiftnsu",
+ "llvm.arm.neon.vqrshiftnu",
+ "llvm.arm.neon.vqrshifts",
+ "llvm.arm.neon.vqrshiftu",
+ "llvm.arm.neon.vqshiftns",
+ "llvm.arm.neon.vqshiftnsu",
+ "llvm.arm.neon.vqshiftnu",
+ "llvm.arm.neon.vqshifts",
+ "llvm.arm.neon.vqshiftsu",
+ "llvm.arm.neon.vqshiftu",
+ "llvm.arm.neon.vqsubs",
+ "llvm.arm.neon.vqsubu",
+ "llvm.arm.neon.vraddhn",
+ "llvm.arm.neon.vrecpe",
+ "llvm.arm.neon.vrecps",
+ "llvm.arm.neon.vrhadds",
+ "llvm.arm.neon.vrhaddu",
+ "llvm.arm.neon.vrinta",
+ "llvm.arm.neon.vrintm",
+ "llvm.arm.neon.vrintn",
+ "llvm.arm.neon.vrintp",
+ "llvm.arm.neon.vrintx",
+ "llvm.arm.neon.vrintz",
+ "llvm.arm.neon.vrshiftn",
+ "llvm.arm.neon.vrshifts",
+ "llvm.arm.neon.vrshiftu",
+ "llvm.arm.neon.vrsqrte",
+ "llvm.arm.neon.vrsqrts",
+ "llvm.arm.neon.vrsubhn",
+ "llvm.arm.neon.vshiftins",
+ "llvm.arm.neon.vshifts",
+ "llvm.arm.neon.vshiftu",
+ "llvm.arm.neon.vst1",
+ "llvm.arm.neon.vst2",
+ "llvm.arm.neon.vst2lane",
+ "llvm.arm.neon.vst3",
+ "llvm.arm.neon.vst3lane",
+ "llvm.arm.neon.vst4",
+ "llvm.arm.neon.vst4lane",
+ "llvm.arm.neon.vtbl1",
+ "llvm.arm.neon.vtbl2",
+ "llvm.arm.neon.vtbl3",
+ "llvm.arm.neon.vtbl4",
+ "llvm.arm.neon.vtbx1",
+ "llvm.arm.neon.vtbx2",
+ "llvm.arm.neon.vtbx3",
+ "llvm.arm.neon.vtbx4",
+ "llvm.arm.qadd",
+ "llvm.arm.qsub",
+ "llvm.arm.rbit",
+ "llvm.arm.set.fpscr",
+ "llvm.arm.space",
+ "llvm.arm.ssat",
+ "llvm.arm.stc",
+ "llvm.arm.stc2",
+ "llvm.arm.stc2l",
+ "llvm.arm.stcl",
+ "llvm.arm.stlex",
+ "llvm.arm.stlexd",
+ "llvm.arm.strex",
+ "llvm.arm.strexd",
+ "llvm.arm.undefined",
+ "llvm.arm.usat",
+ "llvm.arm.vcvtr",
+ "llvm.arm.vcvtru",
+ "llvm.bpf.load.byte",
+ "llvm.bpf.load.half",
+ "llvm.bpf.load.word",
+ "llvm.bpf.pseudo",
+ "llvm.hexagon.A2.abs",
+ "llvm.hexagon.A2.absp",
+ "llvm.hexagon.A2.abssat",
+ "llvm.hexagon.A2.add",
+ "llvm.hexagon.A2.addh.h16.hh",
+ "llvm.hexagon.A2.addh.h16.hl",
+ "llvm.hexagon.A2.addh.h16.lh",
+ "llvm.hexagon.A2.addh.h16.ll",
+ "llvm.hexagon.A2.addh.h16.sat.hh",
+ "llvm.hexagon.A2.addh.h16.sat.hl",
+ "llvm.hexagon.A2.addh.h16.sat.lh",
+ "llvm.hexagon.A2.addh.h16.sat.ll",
+ "llvm.hexagon.A2.addh.l16.hl",
+ "llvm.hexagon.A2.addh.l16.ll",
+ "llvm.hexagon.A2.addh.l16.sat.hl",
+ "llvm.hexagon.A2.addh.l16.sat.ll",
+ "llvm.hexagon.A2.addi",
+ "llvm.hexagon.A2.addp",
+ "llvm.hexagon.A2.addpsat",
+ "llvm.hexagon.A2.addsat",
+ "llvm.hexagon.A2.addsp",
+ "llvm.hexagon.A2.and",
+ "llvm.hexagon.A2.andir",
+ "llvm.hexagon.A2.andp",
+ "llvm.hexagon.A2.aslh",
+ "llvm.hexagon.A2.asrh",
+ "llvm.hexagon.A2.combine.hh",
+ "llvm.hexagon.A2.combine.hl",
+ "llvm.hexagon.A2.combine.lh",
+ "llvm.hexagon.A2.combine.ll",
+ "llvm.hexagon.A2.combineii",
+ "llvm.hexagon.A2.combinew",
+ "llvm.hexagon.A2.max",
+ "llvm.hexagon.A2.maxp",
+ "llvm.hexagon.A2.maxu",
+ "llvm.hexagon.A2.maxup",
+ "llvm.hexagon.A2.min",
+ "llvm.hexagon.A2.minp",
+ "llvm.hexagon.A2.minu",
+ "llvm.hexagon.A2.minup",
+ "llvm.hexagon.A2.neg",
+ "llvm.hexagon.A2.negp",
+ "llvm.hexagon.A2.negsat",
+ "llvm.hexagon.A2.not",
+ "llvm.hexagon.A2.notp",
+ "llvm.hexagon.A2.or",
+ "llvm.hexagon.A2.orir",
+ "llvm.hexagon.A2.orp",
+ "llvm.hexagon.A2.roundsat",
+ "llvm.hexagon.A2.sat",
+ "llvm.hexagon.A2.satb",
+ "llvm.hexagon.A2.sath",
+ "llvm.hexagon.A2.satub",
+ "llvm.hexagon.A2.satuh",
+ "llvm.hexagon.A2.sub",
+ "llvm.hexagon.A2.subh.h16.hh",
+ "llvm.hexagon.A2.subh.h16.hl",
+ "llvm.hexagon.A2.subh.h16.lh",
+ "llvm.hexagon.A2.subh.h16.ll",
+ "llvm.hexagon.A2.subh.h16.sat.hh",
+ "llvm.hexagon.A2.subh.h16.sat.hl",
+ "llvm.hexagon.A2.subh.h16.sat.lh",
+ "llvm.hexagon.A2.subh.h16.sat.ll",
+ "llvm.hexagon.A2.subh.l16.hl",
+ "llvm.hexagon.A2.subh.l16.ll",
+ "llvm.hexagon.A2.subh.l16.sat.hl",
+ "llvm.hexagon.A2.subh.l16.sat.ll",
+ "llvm.hexagon.A2.subp",
+ "llvm.hexagon.A2.subri",
+ "llvm.hexagon.A2.subsat",
+ "llvm.hexagon.A2.svaddh",
+ "llvm.hexagon.A2.svaddhs",
+ "llvm.hexagon.A2.svadduhs",
+ "llvm.hexagon.A2.svavgh",
+ "llvm.hexagon.A2.svavghs",
+ "llvm.hexagon.A2.svnavgh",
+ "llvm.hexagon.A2.svsubh",
+ "llvm.hexagon.A2.svsubhs",
+ "llvm.hexagon.A2.svsubuhs",
+ "llvm.hexagon.A2.swiz",
+ "llvm.hexagon.A2.sxtb",
+ "llvm.hexagon.A2.sxth",
+ "llvm.hexagon.A2.sxtw",
+ "llvm.hexagon.A2.tfr",
+ "llvm.hexagon.A2.tfrih",
+ "llvm.hexagon.A2.tfril",
+ "llvm.hexagon.A2.tfrp",
+ "llvm.hexagon.A2.tfrpi",
+ "llvm.hexagon.A2.tfrsi",
+ "llvm.hexagon.A2.vabsh",
+ "llvm.hexagon.A2.vabshsat",
+ "llvm.hexagon.A2.vabsw",
+ "llvm.hexagon.A2.vabswsat",
+ "llvm.hexagon.A2.vaddb.map",
+ "llvm.hexagon.A2.vaddh",
+ "llvm.hexagon.A2.vaddhs",
+ "llvm.hexagon.A2.vaddub",
+ "llvm.hexagon.A2.vaddubs",
+ "llvm.hexagon.A2.vadduhs",
+ "llvm.hexagon.A2.vaddw",
+ "llvm.hexagon.A2.vaddws",
+ "llvm.hexagon.A2.vavgh",
+ "llvm.hexagon.A2.vavghcr",
+ "llvm.hexagon.A2.vavghr",
+ "llvm.hexagon.A2.vavgub",
+ "llvm.hexagon.A2.vavgubr",
+ "llvm.hexagon.A2.vavguh",
+ "llvm.hexagon.A2.vavguhr",
+ "llvm.hexagon.A2.vavguw",
+ "llvm.hexagon.A2.vavguwr",
+ "llvm.hexagon.A2.vavgw",
+ "llvm.hexagon.A2.vavgwcr",
+ "llvm.hexagon.A2.vavgwr",
+ "llvm.hexagon.A2.vcmpbeq",
+ "llvm.hexagon.A2.vcmpbgtu",
+ "llvm.hexagon.A2.vcmpheq",
+ "llvm.hexagon.A2.vcmphgt",
+ "llvm.hexagon.A2.vcmphgtu",
+ "llvm.hexagon.A2.vcmpweq",
+ "llvm.hexagon.A2.vcmpwgt",
+ "llvm.hexagon.A2.vcmpwgtu",
+ "llvm.hexagon.A2.vconj",
+ "llvm.hexagon.A2.vmaxb",
+ "llvm.hexagon.A2.vmaxh",
+ "llvm.hexagon.A2.vmaxub",
+ "llvm.hexagon.A2.vmaxuh",
+ "llvm.hexagon.A2.vmaxuw",
+ "llvm.hexagon.A2.vmaxw",
+ "llvm.hexagon.A2.vminb",
+ "llvm.hexagon.A2.vminh",
+ "llvm.hexagon.A2.vminub",
+ "llvm.hexagon.A2.vminuh",
+ "llvm.hexagon.A2.vminuw",
+ "llvm.hexagon.A2.vminw",
+ "llvm.hexagon.A2.vnavgh",
+ "llvm.hexagon.A2.vnavghcr",
+ "llvm.hexagon.A2.vnavghr",
+ "llvm.hexagon.A2.vnavgw",
+ "llvm.hexagon.A2.vnavgwcr",
+ "llvm.hexagon.A2.vnavgwr",
+ "llvm.hexagon.A2.vraddub",
+ "llvm.hexagon.A2.vraddub.acc",
+ "llvm.hexagon.A2.vrsadub",
+ "llvm.hexagon.A2.vrsadub.acc",
+ "llvm.hexagon.A2.vsubb.map",
+ "llvm.hexagon.A2.vsubh",
+ "llvm.hexagon.A2.vsubhs",
+ "llvm.hexagon.A2.vsubub",
+ "llvm.hexagon.A2.vsububs",
+ "llvm.hexagon.A2.vsubuhs",
+ "llvm.hexagon.A2.vsubw",
+ "llvm.hexagon.A2.vsubws",
+ "llvm.hexagon.A2.xor",
+ "llvm.hexagon.A2.xorp",
+ "llvm.hexagon.A2.zxtb",
+ "llvm.hexagon.A2.zxth",
+ "llvm.hexagon.A4.andn",
+ "llvm.hexagon.A4.andnp",
+ "llvm.hexagon.A4.bitsplit",
+ "llvm.hexagon.A4.bitspliti",
+ "llvm.hexagon.A4.boundscheck",
+ "llvm.hexagon.A4.cmpbeq",
+ "llvm.hexagon.A4.cmpbeqi",
+ "llvm.hexagon.A4.cmpbgt",
+ "llvm.hexagon.A4.cmpbgti",
+ "llvm.hexagon.A4.cmpbgtu",
+ "llvm.hexagon.A4.cmpbgtui",
+ "llvm.hexagon.A4.cmpheq",
+ "llvm.hexagon.A4.cmpheqi",
+ "llvm.hexagon.A4.cmphgt",
+ "llvm.hexagon.A4.cmphgti",
+ "llvm.hexagon.A4.cmphgtu",
+ "llvm.hexagon.A4.cmphgtui",
+ "llvm.hexagon.A4.combineir",
+ "llvm.hexagon.A4.combineri",
+ "llvm.hexagon.A4.cround.ri",
+ "llvm.hexagon.A4.cround.rr",
+ "llvm.hexagon.A4.modwrapu",
+ "llvm.hexagon.A4.orn",
+ "llvm.hexagon.A4.ornp",
+ "llvm.hexagon.A4.rcmpeq",
+ "llvm.hexagon.A4.rcmpeqi",
+ "llvm.hexagon.A4.rcmpneq",
+ "llvm.hexagon.A4.rcmpneqi",
+ "llvm.hexagon.A4.round.ri",
+ "llvm.hexagon.A4.round.ri.sat",
+ "llvm.hexagon.A4.round.rr",
+ "llvm.hexagon.A4.round.rr.sat",
+ "llvm.hexagon.A4.tlbmatch",
+ "llvm.hexagon.A4.vcmpbeq.any",
+ "llvm.hexagon.A4.vcmpbeqi",
+ "llvm.hexagon.A4.vcmpbgt",
+ "llvm.hexagon.A4.vcmpbgti",
+ "llvm.hexagon.A4.vcmpbgtui",
+ "llvm.hexagon.A4.vcmpheqi",
+ "llvm.hexagon.A4.vcmphgti",
+ "llvm.hexagon.A4.vcmphgtui",
+ "llvm.hexagon.A4.vcmpweqi",
+ "llvm.hexagon.A4.vcmpwgti",
+ "llvm.hexagon.A4.vcmpwgtui",
+ "llvm.hexagon.A4.vrmaxh",
+ "llvm.hexagon.A4.vrmaxuh",
+ "llvm.hexagon.A4.vrmaxuw",
+ "llvm.hexagon.A4.vrmaxw",
+ "llvm.hexagon.A4.vrminh",
+ "llvm.hexagon.A4.vrminuh",
+ "llvm.hexagon.A4.vrminuw",
+ "llvm.hexagon.A4.vrminw",
+ "llvm.hexagon.A5.vaddhubs",
+ "llvm.hexagon.C2.all8",
+ "llvm.hexagon.C2.and",
+ "llvm.hexagon.C2.andn",
+ "llvm.hexagon.C2.any8",
+ "llvm.hexagon.C2.bitsclr",
+ "llvm.hexagon.C2.bitsclri",
+ "llvm.hexagon.C2.bitsset",
+ "llvm.hexagon.C2.cmpeq",
+ "llvm.hexagon.C2.cmpeqi",
+ "llvm.hexagon.C2.cmpeqp",
+ "llvm.hexagon.C2.cmpgei",
+ "llvm.hexagon.C2.cmpgeui",
+ "llvm.hexagon.C2.cmpgt",
+ "llvm.hexagon.C2.cmpgti",
+ "llvm.hexagon.C2.cmpgtp",
+ "llvm.hexagon.C2.cmpgtu",
+ "llvm.hexagon.C2.cmpgtui",
+ "llvm.hexagon.C2.cmpgtup",
+ "llvm.hexagon.C2.cmplt",
+ "llvm.hexagon.C2.cmpltu",
+ "llvm.hexagon.C2.mask",
+ "llvm.hexagon.C2.mux",
+ "llvm.hexagon.C2.muxii",
+ "llvm.hexagon.C2.muxir",
+ "llvm.hexagon.C2.muxri",
+ "llvm.hexagon.C2.not",
+ "llvm.hexagon.C2.or",
+ "llvm.hexagon.C2.orn",
+ "llvm.hexagon.C2.pxfer.map",
+ "llvm.hexagon.C2.tfrpr",
+ "llvm.hexagon.C2.tfrrp",
+ "llvm.hexagon.C2.vitpack",
+ "llvm.hexagon.C2.vmux",
+ "llvm.hexagon.C2.xor",
+ "llvm.hexagon.C4.and.and",
+ "llvm.hexagon.C4.and.andn",
+ "llvm.hexagon.C4.and.or",
+ "llvm.hexagon.C4.and.orn",
+ "llvm.hexagon.C4.cmplte",
+ "llvm.hexagon.C4.cmpltei",
+ "llvm.hexagon.C4.cmplteu",
+ "llvm.hexagon.C4.cmplteui",
+ "llvm.hexagon.C4.cmpneq",
+ "llvm.hexagon.C4.cmpneqi",
+ "llvm.hexagon.C4.fastcorner9",
+ "llvm.hexagon.C4.fastcorner9.not",
+ "llvm.hexagon.C4.nbitsclr",
+ "llvm.hexagon.C4.nbitsclri",
+ "llvm.hexagon.C4.nbitsset",
+ "llvm.hexagon.C4.or.and",
+ "llvm.hexagon.C4.or.andn",
+ "llvm.hexagon.C4.or.or",
+ "llvm.hexagon.C4.or.orn",
+ "llvm.hexagon.F2.conv.d2df",
+ "llvm.hexagon.F2.conv.d2sf",
+ "llvm.hexagon.F2.conv.df2d",
+ "llvm.hexagon.F2.conv.df2d.chop",
+ "llvm.hexagon.F2.conv.df2sf",
+ "llvm.hexagon.F2.conv.df2ud",
+ "llvm.hexagon.F2.conv.df2ud.chop",
+ "llvm.hexagon.F2.conv.df2uw",
+ "llvm.hexagon.F2.conv.df2uw.chop",
+ "llvm.hexagon.F2.conv.df2w",
+ "llvm.hexagon.F2.conv.df2w.chop",
+ "llvm.hexagon.F2.conv.sf2d",
+ "llvm.hexagon.F2.conv.sf2d.chop",
+ "llvm.hexagon.F2.conv.sf2df",
+ "llvm.hexagon.F2.conv.sf2ud",
+ "llvm.hexagon.F2.conv.sf2ud.chop",
+ "llvm.hexagon.F2.conv.sf2uw",
+ "llvm.hexagon.F2.conv.sf2uw.chop",
+ "llvm.hexagon.F2.conv.sf2w",
+ "llvm.hexagon.F2.conv.sf2w.chop",
+ "llvm.hexagon.F2.conv.ud2df",
+ "llvm.hexagon.F2.conv.ud2sf",
+ "llvm.hexagon.F2.conv.uw2df",
+ "llvm.hexagon.F2.conv.uw2sf",
+ "llvm.hexagon.F2.conv.w2df",
+ "llvm.hexagon.F2.conv.w2sf",
+ "llvm.hexagon.F2.dfclass",
+ "llvm.hexagon.F2.dfcmpeq",
+ "llvm.hexagon.F2.dfcmpge",
+ "llvm.hexagon.F2.dfcmpgt",
+ "llvm.hexagon.F2.dfcmpuo",
+ "llvm.hexagon.F2.dfimm.n",
+ "llvm.hexagon.F2.dfimm.p",
+ "llvm.hexagon.F2.sfadd",
+ "llvm.hexagon.F2.sfclass",
+ "llvm.hexagon.F2.sfcmpeq",
+ "llvm.hexagon.F2.sfcmpge",
+ "llvm.hexagon.F2.sfcmpgt",
+ "llvm.hexagon.F2.sfcmpuo",
+ "llvm.hexagon.F2.sffixupd",
+ "llvm.hexagon.F2.sffixupn",
+ "llvm.hexagon.F2.sffixupr",
+ "llvm.hexagon.F2.sffma",
+ "llvm.hexagon.F2.sffma.lib",
+ "llvm.hexagon.F2.sffma.sc",
+ "llvm.hexagon.F2.sffms",
+ "llvm.hexagon.F2.sffms.lib",
+ "llvm.hexagon.F2.sfimm.n",
+ "llvm.hexagon.F2.sfimm.p",
+ "llvm.hexagon.F2.sfmax",
+ "llvm.hexagon.F2.sfmin",
+ "llvm.hexagon.F2.sfmpy",
+ "llvm.hexagon.F2.sfsub",
+ "llvm.hexagon.L2.loadw.locked",
+ "llvm.hexagon.L4.loadd.locked",
+ "llvm.hexagon.M2.acci",
+ "llvm.hexagon.M2.accii",
+ "llvm.hexagon.M2.cmaci.s0",
+ "llvm.hexagon.M2.cmacr.s0",
+ "llvm.hexagon.M2.cmacs.s0",
+ "llvm.hexagon.M2.cmacs.s1",
+ "llvm.hexagon.M2.cmacsc.s0",
+ "llvm.hexagon.M2.cmacsc.s1",
+ "llvm.hexagon.M2.cmpyi.s0",
+ "llvm.hexagon.M2.cmpyr.s0",
+ "llvm.hexagon.M2.cmpyrs.s0",
+ "llvm.hexagon.M2.cmpyrs.s1",
+ "llvm.hexagon.M2.cmpyrsc.s0",
+ "llvm.hexagon.M2.cmpyrsc.s1",
+ "llvm.hexagon.M2.cmpys.s0",
+ "llvm.hexagon.M2.cmpys.s1",
+ "llvm.hexagon.M2.cmpysc.s0",
+ "llvm.hexagon.M2.cmpysc.s1",
+ "llvm.hexagon.M2.cnacs.s0",
+ "llvm.hexagon.M2.cnacs.s1",
+ "llvm.hexagon.M2.cnacsc.s0",
+ "llvm.hexagon.M2.cnacsc.s1",
+ "llvm.hexagon.M2.dpmpyss.acc.s0",
+ "llvm.hexagon.M2.dpmpyss.nac.s0",
+ "llvm.hexagon.M2.dpmpyss.rnd.s0",
+ "llvm.hexagon.M2.dpmpyss.s0",
+ "llvm.hexagon.M2.dpmpyuu.acc.s0",
+ "llvm.hexagon.M2.dpmpyuu.nac.s0",
+ "llvm.hexagon.M2.dpmpyuu.s0",
+ "llvm.hexagon.M2.hmmpyh.rs1",
+ "llvm.hexagon.M2.hmmpyh.s1",
+ "llvm.hexagon.M2.hmmpyl.rs1",
+ "llvm.hexagon.M2.hmmpyl.s1",
+ "llvm.hexagon.M2.maci",
+ "llvm.hexagon.M2.macsin",
+ "llvm.hexagon.M2.macsip",
+ "llvm.hexagon.M2.mmachs.rs0",
+ "llvm.hexagon.M2.mmachs.rs1",
+ "llvm.hexagon.M2.mmachs.s0",
+ "llvm.hexagon.M2.mmachs.s1",
+ "llvm.hexagon.M2.mmacls.rs0",
+ "llvm.hexagon.M2.mmacls.rs1",
+ "llvm.hexagon.M2.mmacls.s0",
+ "llvm.hexagon.M2.mmacls.s1",
+ "llvm.hexagon.M2.mmacuhs.rs0",
+ "llvm.hexagon.M2.mmacuhs.rs1",
+ "llvm.hexagon.M2.mmacuhs.s0",
+ "llvm.hexagon.M2.mmacuhs.s1",
+ "llvm.hexagon.M2.mmaculs.rs0",
+ "llvm.hexagon.M2.mmaculs.rs1",
+ "llvm.hexagon.M2.mmaculs.s0",
+ "llvm.hexagon.M2.mmaculs.s1",
+ "llvm.hexagon.M2.mmpyh.rs0",
+ "llvm.hexagon.M2.mmpyh.rs1",
+ "llvm.hexagon.M2.mmpyh.s0",
+ "llvm.hexagon.M2.mmpyh.s1",
+ "llvm.hexagon.M2.mmpyl.rs0",
+ "llvm.hexagon.M2.mmpyl.rs1",
+ "llvm.hexagon.M2.mmpyl.s0",
+ "llvm.hexagon.M2.mmpyl.s1",
+ "llvm.hexagon.M2.mmpyuh.rs0",
+ "llvm.hexagon.M2.mmpyuh.rs1",
+ "llvm.hexagon.M2.mmpyuh.s0",
+ "llvm.hexagon.M2.mmpyuh.s1",
+ "llvm.hexagon.M2.mmpyul.rs0",
+ "llvm.hexagon.M2.mmpyul.rs1",
+ "llvm.hexagon.M2.mmpyul.s0",
+ "llvm.hexagon.M2.mmpyul.s1",
+ "llvm.hexagon.M2.mpy.acc.hh.s0",
+ "llvm.hexagon.M2.mpy.acc.hh.s1",
+ "llvm.hexagon.M2.mpy.acc.hl.s0",
+ "llvm.hexagon.M2.mpy.acc.hl.s1",
+ "llvm.hexagon.M2.mpy.acc.lh.s0",
+ "llvm.hexagon.M2.mpy.acc.lh.s1",
+ "llvm.hexagon.M2.mpy.acc.ll.s0",
+ "llvm.hexagon.M2.mpy.acc.ll.s1",
+ "llvm.hexagon.M2.mpy.acc.sat.hh.s0",
+ "llvm.hexagon.M2.mpy.acc.sat.hh.s1",
+ "llvm.hexagon.M2.mpy.acc.sat.hl.s0",
+ "llvm.hexagon.M2.mpy.acc.sat.hl.s1",
+ "llvm.hexagon.M2.mpy.acc.sat.lh.s0",
+ "llvm.hexagon.M2.mpy.acc.sat.lh.s1",
+ "llvm.hexagon.M2.mpy.acc.sat.ll.s0",
+ "llvm.hexagon.M2.mpy.acc.sat.ll.s1",
+ "llvm.hexagon.M2.mpy.hh.s0",
+ "llvm.hexagon.M2.mpy.hh.s1",
+ "llvm.hexagon.M2.mpy.hl.s0",
+ "llvm.hexagon.M2.mpy.hl.s1",
+ "llvm.hexagon.M2.mpy.lh.s0",
+ "llvm.hexagon.M2.mpy.lh.s1",
+ "llvm.hexagon.M2.mpy.ll.s0",
+ "llvm.hexagon.M2.mpy.ll.s1",
+ "llvm.hexagon.M2.mpy.nac.hh.s0",
+ "llvm.hexagon.M2.mpy.nac.hh.s1",
+ "llvm.hexagon.M2.mpy.nac.hl.s0",
+ "llvm.hexagon.M2.mpy.nac.hl.s1",
+ "llvm.hexagon.M2.mpy.nac.lh.s0",
+ "llvm.hexagon.M2.mpy.nac.lh.s1",
+ "llvm.hexagon.M2.mpy.nac.ll.s0",
+ "llvm.hexagon.M2.mpy.nac.ll.s1",
+ "llvm.hexagon.M2.mpy.nac.sat.hh.s0",
+ "llvm.hexagon.M2.mpy.nac.sat.hh.s1",
+ "llvm.hexagon.M2.mpy.nac.sat.hl.s0",
+ "llvm.hexagon.M2.mpy.nac.sat.hl.s1",
+ "llvm.hexagon.M2.mpy.nac.sat.lh.s0",
+ "llvm.hexagon.M2.mpy.nac.sat.lh.s1",
+ "llvm.hexagon.M2.mpy.nac.sat.ll.s0",
+ "llvm.hexagon.M2.mpy.nac.sat.ll.s1",
+ "llvm.hexagon.M2.mpy.rnd.hh.s0",
+ "llvm.hexagon.M2.mpy.rnd.hh.s1",
+ "llvm.hexagon.M2.mpy.rnd.hl.s0",
+ "llvm.hexagon.M2.mpy.rnd.hl.s1",
+ "llvm.hexagon.M2.mpy.rnd.lh.s0",
+ "llvm.hexagon.M2.mpy.rnd.lh.s1",
+ "llvm.hexagon.M2.mpy.rnd.ll.s0",
+ "llvm.hexagon.M2.mpy.rnd.ll.s1",
+ "llvm.hexagon.M2.mpy.sat.hh.s0",
+ "llvm.hexagon.M2.mpy.sat.hh.s1",
+ "llvm.hexagon.M2.mpy.sat.hl.s0",
+ "llvm.hexagon.M2.mpy.sat.hl.s1",
+ "llvm.hexagon.M2.mpy.sat.lh.s0",
+ "llvm.hexagon.M2.mpy.sat.lh.s1",
+ "llvm.hexagon.M2.mpy.sat.ll.s0",
+ "llvm.hexagon.M2.mpy.sat.ll.s1",
+ "llvm.hexagon.M2.mpy.sat.rnd.hh.s0",
+ "llvm.hexagon.M2.mpy.sat.rnd.hh.s1",
+ "llvm.hexagon.M2.mpy.sat.rnd.hl.s0",
+ "llvm.hexagon.M2.mpy.sat.rnd.hl.s1",
+ "llvm.hexagon.M2.mpy.sat.rnd.lh.s0",
+ "llvm.hexagon.M2.mpy.sat.rnd.lh.s1",
+ "llvm.hexagon.M2.mpy.sat.rnd.ll.s0",
+ "llvm.hexagon.M2.mpy.sat.rnd.ll.s1",
+ "llvm.hexagon.M2.mpy.up",
+ "llvm.hexagon.M2.mpy.up.s1",
+ "llvm.hexagon.M2.mpy.up.s1.sat",
+ "llvm.hexagon.M2.mpyd.acc.hh.s0",
+ "llvm.hexagon.M2.mpyd.acc.hh.s1",
+ "llvm.hexagon.M2.mpyd.acc.hl.s0",
+ "llvm.hexagon.M2.mpyd.acc.hl.s1",
+ "llvm.hexagon.M2.mpyd.acc.lh.s0",
+ "llvm.hexagon.M2.mpyd.acc.lh.s1",
+ "llvm.hexagon.M2.mpyd.acc.ll.s0",
+ "llvm.hexagon.M2.mpyd.acc.ll.s1",
+ "llvm.hexagon.M2.mpyd.hh.s0",
+ "llvm.hexagon.M2.mpyd.hh.s1",
+ "llvm.hexagon.M2.mpyd.hl.s0",
+ "llvm.hexagon.M2.mpyd.hl.s1",
+ "llvm.hexagon.M2.mpyd.lh.s0",
+ "llvm.hexagon.M2.mpyd.lh.s1",
+ "llvm.hexagon.M2.mpyd.ll.s0",
+ "llvm.hexagon.M2.mpyd.ll.s1",
+ "llvm.hexagon.M2.mpyd.nac.hh.s0",
+ "llvm.hexagon.M2.mpyd.nac.hh.s1",
+ "llvm.hexagon.M2.mpyd.nac.hl.s0",
+ "llvm.hexagon.M2.mpyd.nac.hl.s1",
+ "llvm.hexagon.M2.mpyd.nac.lh.s0",
+ "llvm.hexagon.M2.mpyd.nac.lh.s1",
+ "llvm.hexagon.M2.mpyd.nac.ll.s0",
+ "llvm.hexagon.M2.mpyd.nac.ll.s1",
+ "llvm.hexagon.M2.mpyd.rnd.hh.s0",
+ "llvm.hexagon.M2.mpyd.rnd.hh.s1",
+ "llvm.hexagon.M2.mpyd.rnd.hl.s0",
+ "llvm.hexagon.M2.mpyd.rnd.hl.s1",
+ "llvm.hexagon.M2.mpyd.rnd.lh.s0",
+ "llvm.hexagon.M2.mpyd.rnd.lh.s1",
+ "llvm.hexagon.M2.mpyd.rnd.ll.s0",
+ "llvm.hexagon.M2.mpyd.rnd.ll.s1",
+ "llvm.hexagon.M2.mpyi",
+ "llvm.hexagon.M2.mpysmi",
+ "llvm.hexagon.M2.mpysu.up",
+ "llvm.hexagon.M2.mpyu.acc.hh.s0",
+ "llvm.hexagon.M2.mpyu.acc.hh.s1",
+ "llvm.hexagon.M2.mpyu.acc.hl.s0",
+ "llvm.hexagon.M2.mpyu.acc.hl.s1",
+ "llvm.hexagon.M2.mpyu.acc.lh.s0",
+ "llvm.hexagon.M2.mpyu.acc.lh.s1",
+ "llvm.hexagon.M2.mpyu.acc.ll.s0",
+ "llvm.hexagon.M2.mpyu.acc.ll.s1",
+ "llvm.hexagon.M2.mpyu.hh.s0",
+ "llvm.hexagon.M2.mpyu.hh.s1",
+ "llvm.hexagon.M2.mpyu.hl.s0",
+ "llvm.hexagon.M2.mpyu.hl.s1",
+ "llvm.hexagon.M2.mpyu.lh.s0",
+ "llvm.hexagon.M2.mpyu.lh.s1",
+ "llvm.hexagon.M2.mpyu.ll.s0",
+ "llvm.hexagon.M2.mpyu.ll.s1",
+ "llvm.hexagon.M2.mpyu.nac.hh.s0",
+ "llvm.hexagon.M2.mpyu.nac.hh.s1",
+ "llvm.hexagon.M2.mpyu.nac.hl.s0",
+ "llvm.hexagon.M2.mpyu.nac.hl.s1",
+ "llvm.hexagon.M2.mpyu.nac.lh.s0",
+ "llvm.hexagon.M2.mpyu.nac.lh.s1",
+ "llvm.hexagon.M2.mpyu.nac.ll.s0",
+ "llvm.hexagon.M2.mpyu.nac.ll.s1",
+ "llvm.hexagon.M2.mpyu.up",
+ "llvm.hexagon.M2.mpyud.acc.hh.s0",
+ "llvm.hexagon.M2.mpyud.acc.hh.s1",
+ "llvm.hexagon.M2.mpyud.acc.hl.s0",
+ "llvm.hexagon.M2.mpyud.acc.hl.s1",
+ "llvm.hexagon.M2.mpyud.acc.lh.s0",
+ "llvm.hexagon.M2.mpyud.acc.lh.s1",
+ "llvm.hexagon.M2.mpyud.acc.ll.s0",
+ "llvm.hexagon.M2.mpyud.acc.ll.s1",
+ "llvm.hexagon.M2.mpyud.hh.s0",
+ "llvm.hexagon.M2.mpyud.hh.s1",
+ "llvm.hexagon.M2.mpyud.hl.s0",
+ "llvm.hexagon.M2.mpyud.hl.s1",
+ "llvm.hexagon.M2.mpyud.lh.s0",
+ "llvm.hexagon.M2.mpyud.lh.s1",
+ "llvm.hexagon.M2.mpyud.ll.s0",
+ "llvm.hexagon.M2.mpyud.ll.s1",
+ "llvm.hexagon.M2.mpyud.nac.hh.s0",
+ "llvm.hexagon.M2.mpyud.nac.hh.s1",
+ "llvm.hexagon.M2.mpyud.nac.hl.s0",
+ "llvm.hexagon.M2.mpyud.nac.hl.s1",
+ "llvm.hexagon.M2.mpyud.nac.lh.s0",
+ "llvm.hexagon.M2.mpyud.nac.lh.s1",
+ "llvm.hexagon.M2.mpyud.nac.ll.s0",
+ "llvm.hexagon.M2.mpyud.nac.ll.s1",
+ "llvm.hexagon.M2.mpyui",
+ "llvm.hexagon.M2.nacci",
+ "llvm.hexagon.M2.naccii",
+ "llvm.hexagon.M2.subacc",
+ "llvm.hexagon.M2.vabsdiffh",
+ "llvm.hexagon.M2.vabsdiffw",
+ "llvm.hexagon.M2.vcmac.s0.sat.i",
+ "llvm.hexagon.M2.vcmac.s0.sat.r",
+ "llvm.hexagon.M2.vcmpy.s0.sat.i",
+ "llvm.hexagon.M2.vcmpy.s0.sat.r",
+ "llvm.hexagon.M2.vcmpy.s1.sat.i",
+ "llvm.hexagon.M2.vcmpy.s1.sat.r",
+ "llvm.hexagon.M2.vdmacs.s0",
+ "llvm.hexagon.M2.vdmacs.s1",
+ "llvm.hexagon.M2.vdmpyrs.s0",
+ "llvm.hexagon.M2.vdmpyrs.s1",
+ "llvm.hexagon.M2.vdmpys.s0",
+ "llvm.hexagon.M2.vdmpys.s1",
+ "llvm.hexagon.M2.vmac2",
+ "llvm.hexagon.M2.vmac2es",
+ "llvm.hexagon.M2.vmac2es.s0",
+ "llvm.hexagon.M2.vmac2es.s1",
+ "llvm.hexagon.M2.vmac2s.s0",
+ "llvm.hexagon.M2.vmac2s.s1",
+ "llvm.hexagon.M2.vmac2su.s0",
+ "llvm.hexagon.M2.vmac2su.s1",
+ "llvm.hexagon.M2.vmpy2es.s0",
+ "llvm.hexagon.M2.vmpy2es.s1",
+ "llvm.hexagon.M2.vmpy2s.s0",
+ "llvm.hexagon.M2.vmpy2s.s0pack",
+ "llvm.hexagon.M2.vmpy2s.s1",
+ "llvm.hexagon.M2.vmpy2s.s1pack",
+ "llvm.hexagon.M2.vmpy2su.s0",
+ "llvm.hexagon.M2.vmpy2su.s1",
+ "llvm.hexagon.M2.vraddh",
+ "llvm.hexagon.M2.vradduh",
+ "llvm.hexagon.M2.vrcmaci.s0",
+ "llvm.hexagon.M2.vrcmaci.s0c",
+ "llvm.hexagon.M2.vrcmacr.s0",
+ "llvm.hexagon.M2.vrcmacr.s0c",
+ "llvm.hexagon.M2.vrcmpyi.s0",
+ "llvm.hexagon.M2.vrcmpyi.s0c",
+ "llvm.hexagon.M2.vrcmpyr.s0",
+ "llvm.hexagon.M2.vrcmpyr.s0c",
+ "llvm.hexagon.M2.vrcmpys.acc.s1",
+ "llvm.hexagon.M2.vrcmpys.s1",
+ "llvm.hexagon.M2.vrcmpys.s1rp",
+ "llvm.hexagon.M2.vrmac.s0",
+ "llvm.hexagon.M2.vrmpy.s0",
+ "llvm.hexagon.M2.xor.xacc",
+ "llvm.hexagon.M4.and.and",
+ "llvm.hexagon.M4.and.andn",
+ "llvm.hexagon.M4.and.or",
+ "llvm.hexagon.M4.and.xor",
+ "llvm.hexagon.M4.cmpyi.wh",
+ "llvm.hexagon.M4.cmpyi.whc",
+ "llvm.hexagon.M4.cmpyr.wh",
+ "llvm.hexagon.M4.cmpyr.whc",
+ "llvm.hexagon.M4.mac.up.s1.sat",
+ "llvm.hexagon.M4.mpyri.addi",
+ "llvm.hexagon.M4.mpyri.addr",
+ "llvm.hexagon.M4.mpyri.addr.u2",
+ "llvm.hexagon.M4.mpyrr.addi",
+ "llvm.hexagon.M4.mpyrr.addr",
+ "llvm.hexagon.M4.nac.up.s1.sat",
+ "llvm.hexagon.M4.or.and",
+ "llvm.hexagon.M4.or.andn",
+ "llvm.hexagon.M4.or.or",
+ "llvm.hexagon.M4.or.xor",
+ "llvm.hexagon.M4.pmpyw",
+ "llvm.hexagon.M4.pmpyw.acc",
+ "llvm.hexagon.M4.vpmpyh",
+ "llvm.hexagon.M4.vpmpyh.acc",
+ "llvm.hexagon.M4.vrmpyeh.acc.s0",
+ "llvm.hexagon.M4.vrmpyeh.acc.s1",
+ "llvm.hexagon.M4.vrmpyeh.s0",
+ "llvm.hexagon.M4.vrmpyeh.s1",
+ "llvm.hexagon.M4.vrmpyoh.acc.s0",
+ "llvm.hexagon.M4.vrmpyoh.acc.s1",
+ "llvm.hexagon.M4.vrmpyoh.s0",
+ "llvm.hexagon.M4.vrmpyoh.s1",
+ "llvm.hexagon.M4.xor.and",
+ "llvm.hexagon.M4.xor.andn",
+ "llvm.hexagon.M4.xor.or",
+ "llvm.hexagon.M4.xor.xacc",
+ "llvm.hexagon.M5.vdmacbsu",
+ "llvm.hexagon.M5.vdmpybsu",
+ "llvm.hexagon.M5.vmacbsu",
+ "llvm.hexagon.M5.vmacbuu",
+ "llvm.hexagon.M5.vmpybsu",
+ "llvm.hexagon.M5.vmpybuu",
+ "llvm.hexagon.M5.vrmacbsu",
+ "llvm.hexagon.M5.vrmacbuu",
+ "llvm.hexagon.M5.vrmpybsu",
+ "llvm.hexagon.M5.vrmpybuu",
+ "llvm.hexagon.M6.vabsdiffb",
+ "llvm.hexagon.M6.vabsdiffub",
+ "llvm.hexagon.S2.addasl.rrri",
+ "llvm.hexagon.S2.asl.i.p",
+ "llvm.hexagon.S2.asl.i.p.acc",
+ "llvm.hexagon.S2.asl.i.p.and",
+ "llvm.hexagon.S2.asl.i.p.nac",
+ "llvm.hexagon.S2.asl.i.p.or",
+ "llvm.hexagon.S2.asl.i.p.xacc",
+ "llvm.hexagon.S2.asl.i.r",
+ "llvm.hexagon.S2.asl.i.r.acc",
+ "llvm.hexagon.S2.asl.i.r.and",
+ "llvm.hexagon.S2.asl.i.r.nac",
+ "llvm.hexagon.S2.asl.i.r.or",
+ "llvm.hexagon.S2.asl.i.r.sat",
+ "llvm.hexagon.S2.asl.i.r.xacc",
+ "llvm.hexagon.S2.asl.i.vh",
+ "llvm.hexagon.S2.asl.i.vw",
+ "llvm.hexagon.S2.asl.r.p",
+ "llvm.hexagon.S2.asl.r.p.acc",
+ "llvm.hexagon.S2.asl.r.p.and",
+ "llvm.hexagon.S2.asl.r.p.nac",
+ "llvm.hexagon.S2.asl.r.p.or",
+ "llvm.hexagon.S2.asl.r.p.xor",
+ "llvm.hexagon.S2.asl.r.r",
+ "llvm.hexagon.S2.asl.r.r.acc",
+ "llvm.hexagon.S2.asl.r.r.and",
+ "llvm.hexagon.S2.asl.r.r.nac",
+ "llvm.hexagon.S2.asl.r.r.or",
+ "llvm.hexagon.S2.asl.r.r.sat",
+ "llvm.hexagon.S2.asl.r.vh",
+ "llvm.hexagon.S2.asl.r.vw",
+ "llvm.hexagon.S2.asr.i.p",
+ "llvm.hexagon.S2.asr.i.p.acc",
+ "llvm.hexagon.S2.asr.i.p.and",
+ "llvm.hexagon.S2.asr.i.p.nac",
+ "llvm.hexagon.S2.asr.i.p.or",
+ "llvm.hexagon.S2.asr.i.p.rnd",
+ "llvm.hexagon.S2.asr.i.p.rnd.goodsyntax",
+ "llvm.hexagon.S2.asr.i.r",
+ "llvm.hexagon.S2.asr.i.r.acc",
+ "llvm.hexagon.S2.asr.i.r.and",
+ "llvm.hexagon.S2.asr.i.r.nac",
+ "llvm.hexagon.S2.asr.i.r.or",
+ "llvm.hexagon.S2.asr.i.r.rnd",
+ "llvm.hexagon.S2.asr.i.r.rnd.goodsyntax",
+ "llvm.hexagon.S2.asr.i.svw.trun",
+ "llvm.hexagon.S2.asr.i.vh",
+ "llvm.hexagon.S2.asr.i.vw",
+ "llvm.hexagon.S2.asr.r.p",
+ "llvm.hexagon.S2.asr.r.p.acc",
+ "llvm.hexagon.S2.asr.r.p.and",
+ "llvm.hexagon.S2.asr.r.p.nac",
+ "llvm.hexagon.S2.asr.r.p.or",
+ "llvm.hexagon.S2.asr.r.p.xor",
+ "llvm.hexagon.S2.asr.r.r",
+ "llvm.hexagon.S2.asr.r.r.acc",
+ "llvm.hexagon.S2.asr.r.r.and",
+ "llvm.hexagon.S2.asr.r.r.nac",
+ "llvm.hexagon.S2.asr.r.r.or",
+ "llvm.hexagon.S2.asr.r.r.sat",
+ "llvm.hexagon.S2.asr.r.svw.trun",
+ "llvm.hexagon.S2.asr.r.vh",
+ "llvm.hexagon.S2.asr.r.vw",
+ "llvm.hexagon.S2.brev",
+ "llvm.hexagon.S2.brevp",
+ "llvm.hexagon.S2.cabacencbin",
+ "llvm.hexagon.S2.cl0",
+ "llvm.hexagon.S2.cl0p",
+ "llvm.hexagon.S2.cl1",
+ "llvm.hexagon.S2.cl1p",
+ "llvm.hexagon.S2.clb",
+ "llvm.hexagon.S2.clbnorm",
+ "llvm.hexagon.S2.clbp",
+ "llvm.hexagon.S2.clrbit.i",
+ "llvm.hexagon.S2.clrbit.r",
+ "llvm.hexagon.S2.ct0",
+ "llvm.hexagon.S2.ct0p",
+ "llvm.hexagon.S2.ct1",
+ "llvm.hexagon.S2.ct1p",
+ "llvm.hexagon.S2.deinterleave",
+ "llvm.hexagon.S2.extractu",
+ "llvm.hexagon.S2.extractu.rp",
+ "llvm.hexagon.S2.extractup",
+ "llvm.hexagon.S2.extractup.rp",
+ "llvm.hexagon.S2.insert",
+ "llvm.hexagon.S2.insert.rp",
+ "llvm.hexagon.S2.insertp",
+ "llvm.hexagon.S2.insertp.rp",
+ "llvm.hexagon.S2.interleave",
+ "llvm.hexagon.S2.lfsp",
+ "llvm.hexagon.S2.lsl.r.p",
+ "llvm.hexagon.S2.lsl.r.p.acc",
+ "llvm.hexagon.S2.lsl.r.p.and",
+ "llvm.hexagon.S2.lsl.r.p.nac",
+ "llvm.hexagon.S2.lsl.r.p.or",
+ "llvm.hexagon.S2.lsl.r.p.xor",
+ "llvm.hexagon.S2.lsl.r.r",
+ "llvm.hexagon.S2.lsl.r.r.acc",
+ "llvm.hexagon.S2.lsl.r.r.and",
+ "llvm.hexagon.S2.lsl.r.r.nac",
+ "llvm.hexagon.S2.lsl.r.r.or",
+ "llvm.hexagon.S2.lsl.r.vh",
+ "llvm.hexagon.S2.lsl.r.vw",
+ "llvm.hexagon.S2.lsr.i.p",
+ "llvm.hexagon.S2.lsr.i.p.acc",
+ "llvm.hexagon.S2.lsr.i.p.and",
+ "llvm.hexagon.S2.lsr.i.p.nac",
+ "llvm.hexagon.S2.lsr.i.p.or",
+ "llvm.hexagon.S2.lsr.i.p.xacc",
+ "llvm.hexagon.S2.lsr.i.r",
+ "llvm.hexagon.S2.lsr.i.r.acc",
+ "llvm.hexagon.S2.lsr.i.r.and",
+ "llvm.hexagon.S2.lsr.i.r.nac",
+ "llvm.hexagon.S2.lsr.i.r.or",
+ "llvm.hexagon.S2.lsr.i.r.xacc",
+ "llvm.hexagon.S2.lsr.i.vh",
+ "llvm.hexagon.S2.lsr.i.vw",
+ "llvm.hexagon.S2.lsr.r.p",
+ "llvm.hexagon.S2.lsr.r.p.acc",
+ "llvm.hexagon.S2.lsr.r.p.and",
+ "llvm.hexagon.S2.lsr.r.p.nac",
+ "llvm.hexagon.S2.lsr.r.p.or",
+ "llvm.hexagon.S2.lsr.r.p.xor",
+ "llvm.hexagon.S2.lsr.r.r",
+ "llvm.hexagon.S2.lsr.r.r.acc",
+ "llvm.hexagon.S2.lsr.r.r.and",
+ "llvm.hexagon.S2.lsr.r.r.nac",
+ "llvm.hexagon.S2.lsr.r.r.or",
+ "llvm.hexagon.S2.lsr.r.vh",
+ "llvm.hexagon.S2.lsr.r.vw",
+ "llvm.hexagon.S2.packhl",
+ "llvm.hexagon.S2.parityp",
+ "llvm.hexagon.S2.setbit.i",
+ "llvm.hexagon.S2.setbit.r",
+ "llvm.hexagon.S2.shuffeb",
+ "llvm.hexagon.S2.shuffeh",
+ "llvm.hexagon.S2.shuffob",
+ "llvm.hexagon.S2.shuffoh",
+ "llvm.hexagon.S2.storew.locked",
+ "llvm.hexagon.S2.svsathb",
+ "llvm.hexagon.S2.svsathub",
+ "llvm.hexagon.S2.tableidxb.goodsyntax",
+ "llvm.hexagon.S2.tableidxd.goodsyntax",
+ "llvm.hexagon.S2.tableidxh.goodsyntax",
+ "llvm.hexagon.S2.tableidxw.goodsyntax",
+ "llvm.hexagon.S2.togglebit.i",
+ "llvm.hexagon.S2.togglebit.r",
+ "llvm.hexagon.S2.tstbit.i",
+ "llvm.hexagon.S2.tstbit.r",
+ "llvm.hexagon.S2.valignib",
+ "llvm.hexagon.S2.valignrb",
+ "llvm.hexagon.S2.vcnegh",
+ "llvm.hexagon.S2.vcrotate",
+ "llvm.hexagon.S2.vrcnegh",
+ "llvm.hexagon.S2.vrndpackwh",
+ "llvm.hexagon.S2.vrndpackwhs",
+ "llvm.hexagon.S2.vsathb",
+ "llvm.hexagon.S2.vsathb.nopack",
+ "llvm.hexagon.S2.vsathub",
+ "llvm.hexagon.S2.vsathub.nopack",
+ "llvm.hexagon.S2.vsatwh",
+ "llvm.hexagon.S2.vsatwh.nopack",
+ "llvm.hexagon.S2.vsatwuh",
+ "llvm.hexagon.S2.vsatwuh.nopack",
+ "llvm.hexagon.S2.vsplatrb",
+ "llvm.hexagon.S2.vsplatrh",
+ "llvm.hexagon.S2.vspliceib",
+ "llvm.hexagon.S2.vsplicerb",
+ "llvm.hexagon.S2.vsxtbh",
+ "llvm.hexagon.S2.vsxthw",
+ "llvm.hexagon.S2.vtrunehb",
+ "llvm.hexagon.S2.vtrunewh",
+ "llvm.hexagon.S2.vtrunohb",
+ "llvm.hexagon.S2.vtrunowh",
+ "llvm.hexagon.S2.vzxtbh",
+ "llvm.hexagon.S2.vzxthw",
+ "llvm.hexagon.S4.addaddi",
+ "llvm.hexagon.S4.addi.asl.ri",
+ "llvm.hexagon.S4.addi.lsr.ri",
+ "llvm.hexagon.S4.andi.asl.ri",
+ "llvm.hexagon.S4.andi.lsr.ri",
+ "llvm.hexagon.S4.clbaddi",
+ "llvm.hexagon.S4.clbpaddi",
+ "llvm.hexagon.S4.clbpnorm",
+ "llvm.hexagon.S4.extract",
+ "llvm.hexagon.S4.extract.rp",
+ "llvm.hexagon.S4.extractp",
+ "llvm.hexagon.S4.extractp.rp",
+ "llvm.hexagon.S4.lsli",
+ "llvm.hexagon.S4.ntstbit.i",
+ "llvm.hexagon.S4.ntstbit.r",
+ "llvm.hexagon.S4.or.andi",
+ "llvm.hexagon.S4.or.andix",
+ "llvm.hexagon.S4.or.ori",
+ "llvm.hexagon.S4.ori.asl.ri",
+ "llvm.hexagon.S4.ori.lsr.ri",
+ "llvm.hexagon.S4.parity",
+ "llvm.hexagon.S4.stored.locked",
+ "llvm.hexagon.S4.subaddi",
+ "llvm.hexagon.S4.subi.asl.ri",
+ "llvm.hexagon.S4.subi.lsr.ri",
+ "llvm.hexagon.S4.vrcrotate",
+ "llvm.hexagon.S4.vrcrotate.acc",
+ "llvm.hexagon.S4.vxaddsubh",
+ "llvm.hexagon.S4.vxaddsubhr",
+ "llvm.hexagon.S4.vxaddsubw",
+ "llvm.hexagon.S4.vxsubaddh",
+ "llvm.hexagon.S4.vxsubaddhr",
+ "llvm.hexagon.S4.vxsubaddw",
+ "llvm.hexagon.S5.asrhub.rnd.sat.goodsyntax",
+ "llvm.hexagon.S5.asrhub.sat",
+ "llvm.hexagon.S5.popcountp",
+ "llvm.hexagon.S5.vasrhrnd.goodsyntax",
+ "llvm.hexagon.S6.rol.i.p",
+ "llvm.hexagon.S6.rol.i.p.acc",
+ "llvm.hexagon.S6.rol.i.p.and",
+ "llvm.hexagon.S6.rol.i.p.nac",
+ "llvm.hexagon.S6.rol.i.p.or",
+ "llvm.hexagon.S6.rol.i.p.xacc",
+ "llvm.hexagon.S6.rol.i.r",
+ "llvm.hexagon.S6.rol.i.r.acc",
+ "llvm.hexagon.S6.rol.i.r.and",
+ "llvm.hexagon.S6.rol.i.r.nac",
+ "llvm.hexagon.S6.rol.i.r.or",
+ "llvm.hexagon.S6.rol.i.r.xacc",
+ "llvm.hexagon.S6.vsplatrbp",
+ "llvm.hexagon.S6.vtrunehb.ppp",
+ "llvm.hexagon.S6.vtrunohb.ppp",
+ "llvm.hexagon.SI.to.SXTHI.asrh",
+ "llvm.hexagon.V6.extractw",
+ "llvm.hexagon.V6.extractw.128B",
+ "llvm.hexagon.V6.hi",
+ "llvm.hexagon.V6.hi.128B",
+ "llvm.hexagon.V6.lo",
+ "llvm.hexagon.V6.lo.128B",
+ "llvm.hexagon.V6.lvsplatw",
+ "llvm.hexagon.V6.lvsplatw.128B",
+ "llvm.hexagon.V6.pred.and",
+ "llvm.hexagon.V6.pred.and.128B",
+ "llvm.hexagon.V6.pred.and.n",
+ "llvm.hexagon.V6.pred.and.n.128B",
+ "llvm.hexagon.V6.pred.not",
+ "llvm.hexagon.V6.pred.not.128B",
+ "llvm.hexagon.V6.pred.or",
+ "llvm.hexagon.V6.pred.or.128B",
+ "llvm.hexagon.V6.pred.or.n",
+ "llvm.hexagon.V6.pred.or.n.128B",
+ "llvm.hexagon.V6.pred.scalar2",
+ "llvm.hexagon.V6.pred.scalar2.128B",
+ "llvm.hexagon.V6.pred.xor",
+ "llvm.hexagon.V6.pred.xor.128B",
+ "llvm.hexagon.V6.vabsdiffh",
+ "llvm.hexagon.V6.vabsdiffh.128B",
+ "llvm.hexagon.V6.vabsdiffub",
+ "llvm.hexagon.V6.vabsdiffub.128B",
+ "llvm.hexagon.V6.vabsdiffuh",
+ "llvm.hexagon.V6.vabsdiffuh.128B",
+ "llvm.hexagon.V6.vabsdiffw",
+ "llvm.hexagon.V6.vabsdiffw.128B",
+ "llvm.hexagon.V6.vabsh",
+ "llvm.hexagon.V6.vabsh.128B",
+ "llvm.hexagon.V6.vabsh.sat",
+ "llvm.hexagon.V6.vabsh.sat.128B",
+ "llvm.hexagon.V6.vabsw",
+ "llvm.hexagon.V6.vabsw.128B",
+ "llvm.hexagon.V6.vabsw.sat",
+ "llvm.hexagon.V6.vabsw.sat.128B",
+ "llvm.hexagon.V6.vaddb",
+ "llvm.hexagon.V6.vaddb.128B",
+ "llvm.hexagon.V6.vaddb.dv",
+ "llvm.hexagon.V6.vaddb.dv.128B",
+ "llvm.hexagon.V6.vaddbnq",
+ "llvm.hexagon.V6.vaddbnq.128B",
+ "llvm.hexagon.V6.vaddbq",
+ "llvm.hexagon.V6.vaddbq.128B",
+ "llvm.hexagon.V6.vaddh",
+ "llvm.hexagon.V6.vaddh.128B",
+ "llvm.hexagon.V6.vaddh.dv",
+ "llvm.hexagon.V6.vaddh.dv.128B",
+ "llvm.hexagon.V6.vaddhnq",
+ "llvm.hexagon.V6.vaddhnq.128B",
+ "llvm.hexagon.V6.vaddhq",
+ "llvm.hexagon.V6.vaddhq.128B",
+ "llvm.hexagon.V6.vaddhsat",
+ "llvm.hexagon.V6.vaddhsat.128B",
+ "llvm.hexagon.V6.vaddhsat.dv",
+ "llvm.hexagon.V6.vaddhsat.dv.128B",
+ "llvm.hexagon.V6.vaddhw",
+ "llvm.hexagon.V6.vaddhw.128B",
+ "llvm.hexagon.V6.vaddubh",
+ "llvm.hexagon.V6.vaddubh.128B",
+ "llvm.hexagon.V6.vaddubsat",
+ "llvm.hexagon.V6.vaddubsat.128B",
+ "llvm.hexagon.V6.vaddubsat.dv",
+ "llvm.hexagon.V6.vaddubsat.dv.128B",
+ "llvm.hexagon.V6.vadduhsat",
+ "llvm.hexagon.V6.vadduhsat.128B",
+ "llvm.hexagon.V6.vadduhsat.dv",
+ "llvm.hexagon.V6.vadduhsat.dv.128B",
+ "llvm.hexagon.V6.vadduhw",
+ "llvm.hexagon.V6.vadduhw.128B",
+ "llvm.hexagon.V6.vaddw",
+ "llvm.hexagon.V6.vaddw.128B",
+ "llvm.hexagon.V6.vaddw.dv",
+ "llvm.hexagon.V6.vaddw.dv.128B",
+ "llvm.hexagon.V6.vaddwnq",
+ "llvm.hexagon.V6.vaddwnq.128B",
+ "llvm.hexagon.V6.vaddwq",
+ "llvm.hexagon.V6.vaddwq.128B",
+ "llvm.hexagon.V6.vaddwsat",
+ "llvm.hexagon.V6.vaddwsat.128B",
+ "llvm.hexagon.V6.vaddwsat.dv",
+ "llvm.hexagon.V6.vaddwsat.dv.128B",
+ "llvm.hexagon.V6.valignb",
+ "llvm.hexagon.V6.valignb.128B",
+ "llvm.hexagon.V6.valignbi",
+ "llvm.hexagon.V6.valignbi.128B",
+ "llvm.hexagon.V6.vand",
+ "llvm.hexagon.V6.vand.128B",
+ "llvm.hexagon.V6.vandqrt",
+ "llvm.hexagon.V6.vandqrt.128B",
+ "llvm.hexagon.V6.vandqrt.acc",
+ "llvm.hexagon.V6.vandqrt.acc.128B",
+ "llvm.hexagon.V6.vandvrt",
+ "llvm.hexagon.V6.vandvrt.128B",
+ "llvm.hexagon.V6.vandvrt.acc",
+ "llvm.hexagon.V6.vandvrt.acc.128B",
+ "llvm.hexagon.V6.vaslh",
+ "llvm.hexagon.V6.vaslh.128B",
+ "llvm.hexagon.V6.vaslhv",
+ "llvm.hexagon.V6.vaslhv.128B",
+ "llvm.hexagon.V6.vaslw",
+ "llvm.hexagon.V6.vaslw.128B",
+ "llvm.hexagon.V6.vaslw.acc",
+ "llvm.hexagon.V6.vaslw.acc.128B",
+ "llvm.hexagon.V6.vaslwv",
+ "llvm.hexagon.V6.vaslwv.128B",
+ "llvm.hexagon.V6.vasrh",
+ "llvm.hexagon.V6.vasrh.128B",
+ "llvm.hexagon.V6.vasrhbrndsat",
+ "llvm.hexagon.V6.vasrhbrndsat.128B",
+ "llvm.hexagon.V6.vasrhubrndsat",
+ "llvm.hexagon.V6.vasrhubrndsat.128B",
+ "llvm.hexagon.V6.vasrhubsat",
+ "llvm.hexagon.V6.vasrhubsat.128B",
+ "llvm.hexagon.V6.vasrhv",
+ "llvm.hexagon.V6.vasrhv.128B",
+ "llvm.hexagon.V6.vasrw",
+ "llvm.hexagon.V6.vasrw.128B",
+ "llvm.hexagon.V6.vasrw.acc",
+ "llvm.hexagon.V6.vasrw.acc.128B",
+ "llvm.hexagon.V6.vasrwh",
+ "llvm.hexagon.V6.vasrwh.128B",
+ "llvm.hexagon.V6.vasrwhrndsat",
+ "llvm.hexagon.V6.vasrwhrndsat.128B",
+ "llvm.hexagon.V6.vasrwhsat",
+ "llvm.hexagon.V6.vasrwhsat.128B",
+ "llvm.hexagon.V6.vasrwuhsat",
+ "llvm.hexagon.V6.vasrwuhsat.128B",
+ "llvm.hexagon.V6.vasrwv",
+ "llvm.hexagon.V6.vasrwv.128B",
+ "llvm.hexagon.V6.vassign",
+ "llvm.hexagon.V6.vassign.128B",
+ "llvm.hexagon.V6.vassignp",
+ "llvm.hexagon.V6.vassignp.128B",
+ "llvm.hexagon.V6.vavgh",
+ "llvm.hexagon.V6.vavgh.128B",
+ "llvm.hexagon.V6.vavghrnd",
+ "llvm.hexagon.V6.vavghrnd.128B",
+ "llvm.hexagon.V6.vavgub",
+ "llvm.hexagon.V6.vavgub.128B",
+ "llvm.hexagon.V6.vavgubrnd",
+ "llvm.hexagon.V6.vavgubrnd.128B",
+ "llvm.hexagon.V6.vavguh",
+ "llvm.hexagon.V6.vavguh.128B",
+ "llvm.hexagon.V6.vavguhrnd",
+ "llvm.hexagon.V6.vavguhrnd.128B",
+ "llvm.hexagon.V6.vavgw",
+ "llvm.hexagon.V6.vavgw.128B",
+ "llvm.hexagon.V6.vavgwrnd",
+ "llvm.hexagon.V6.vavgwrnd.128B",
+ "llvm.hexagon.V6.vcl0h",
+ "llvm.hexagon.V6.vcl0h.128B",
+ "llvm.hexagon.V6.vcl0w",
+ "llvm.hexagon.V6.vcl0w.128B",
+ "llvm.hexagon.V6.vcombine",
+ "llvm.hexagon.V6.vcombine.128B",
+ "llvm.hexagon.V6.vd0",
+ "llvm.hexagon.V6.vd0.128B",
+ "llvm.hexagon.V6.vdealb",
+ "llvm.hexagon.V6.vdealb.128B",
+ "llvm.hexagon.V6.vdealb4w",
+ "llvm.hexagon.V6.vdealb4w.128B",
+ "llvm.hexagon.V6.vdealh",
+ "llvm.hexagon.V6.vdealh.128B",
+ "llvm.hexagon.V6.vdealvdd",
+ "llvm.hexagon.V6.vdealvdd.128B",
+ "llvm.hexagon.V6.vdelta",
+ "llvm.hexagon.V6.vdelta.128B",
+ "llvm.hexagon.V6.vdmpybus",
+ "llvm.hexagon.V6.vdmpybus.128B",
+ "llvm.hexagon.V6.vdmpybus.acc",
+ "llvm.hexagon.V6.vdmpybus.acc.128B",
+ "llvm.hexagon.V6.vdmpybus.dv",
+ "llvm.hexagon.V6.vdmpybus.dv.128B",
+ "llvm.hexagon.V6.vdmpybus.dv.acc",
+ "llvm.hexagon.V6.vdmpybus.dv.acc.128B",
+ "llvm.hexagon.V6.vdmpyhb",
+ "llvm.hexagon.V6.vdmpyhb.128B",
+ "llvm.hexagon.V6.vdmpyhb.acc",
+ "llvm.hexagon.V6.vdmpyhb.acc.128B",
+ "llvm.hexagon.V6.vdmpyhb.dv",
+ "llvm.hexagon.V6.vdmpyhb.dv.128B",
+ "llvm.hexagon.V6.vdmpyhb.dv.acc",
+ "llvm.hexagon.V6.vdmpyhb.dv.acc.128B",
+ "llvm.hexagon.V6.vdmpyhisat",
+ "llvm.hexagon.V6.vdmpyhisat.128B",
+ "llvm.hexagon.V6.vdmpyhisat.acc",
+ "llvm.hexagon.V6.vdmpyhisat.acc.128B",
+ "llvm.hexagon.V6.vdmpyhsat",
+ "llvm.hexagon.V6.vdmpyhsat.128B",
+ "llvm.hexagon.V6.vdmpyhsat.acc",
+ "llvm.hexagon.V6.vdmpyhsat.acc.128B",
+ "llvm.hexagon.V6.vdmpyhsuisat",
+ "llvm.hexagon.V6.vdmpyhsuisat.128B",
+ "llvm.hexagon.V6.vdmpyhsuisat.acc",
+ "llvm.hexagon.V6.vdmpyhsuisat.acc.128B",
+ "llvm.hexagon.V6.vdmpyhsusat",
+ "llvm.hexagon.V6.vdmpyhsusat.128B",
+ "llvm.hexagon.V6.vdmpyhsusat.acc",
+ "llvm.hexagon.V6.vdmpyhsusat.acc.128B",
+ "llvm.hexagon.V6.vdmpyhvsat",
+ "llvm.hexagon.V6.vdmpyhvsat.128B",
+ "llvm.hexagon.V6.vdmpyhvsat.acc",
+ "llvm.hexagon.V6.vdmpyhvsat.acc.128B",
+ "llvm.hexagon.V6.vdsaduh",
+ "llvm.hexagon.V6.vdsaduh.128B",
+ "llvm.hexagon.V6.vdsaduh.acc",
+ "llvm.hexagon.V6.vdsaduh.acc.128B",
+ "llvm.hexagon.V6.veqb",
+ "llvm.hexagon.V6.veqb.128B",
+ "llvm.hexagon.V6.veqb.and",
+ "llvm.hexagon.V6.veqb.and.128B",
+ "llvm.hexagon.V6.veqb.or",
+ "llvm.hexagon.V6.veqb.or.128B",
+ "llvm.hexagon.V6.veqb.xor",
+ "llvm.hexagon.V6.veqb.xor.128B",
+ "llvm.hexagon.V6.veqh",
+ "llvm.hexagon.V6.veqh.128B",
+ "llvm.hexagon.V6.veqh.and",
+ "llvm.hexagon.V6.veqh.and.128B",
+ "llvm.hexagon.V6.veqh.or",
+ "llvm.hexagon.V6.veqh.or.128B",
+ "llvm.hexagon.V6.veqh.xor",
+ "llvm.hexagon.V6.veqh.xor.128B",
+ "llvm.hexagon.V6.veqw",
+ "llvm.hexagon.V6.veqw.128B",
+ "llvm.hexagon.V6.veqw.and",
+ "llvm.hexagon.V6.veqw.and.128B",
+ "llvm.hexagon.V6.veqw.or",
+ "llvm.hexagon.V6.veqw.or.128B",
+ "llvm.hexagon.V6.veqw.xor",
+ "llvm.hexagon.V6.veqw.xor.128B",
+ "llvm.hexagon.V6.vgtb",
+ "llvm.hexagon.V6.vgtb.128B",
+ "llvm.hexagon.V6.vgtb.and",
+ "llvm.hexagon.V6.vgtb.and.128B",
+ "llvm.hexagon.V6.vgtb.or",
+ "llvm.hexagon.V6.vgtb.or.128B",
+ "llvm.hexagon.V6.vgtb.xor",
+ "llvm.hexagon.V6.vgtb.xor.128B",
+ "llvm.hexagon.V6.vgth",
+ "llvm.hexagon.V6.vgth.128B",
+ "llvm.hexagon.V6.vgth.and",
+ "llvm.hexagon.V6.vgth.and.128B",
+ "llvm.hexagon.V6.vgth.or",
+ "llvm.hexagon.V6.vgth.or.128B",
+ "llvm.hexagon.V6.vgth.xor",
+ "llvm.hexagon.V6.vgth.xor.128B",
+ "llvm.hexagon.V6.vgtub",
+ "llvm.hexagon.V6.vgtub.128B",
+ "llvm.hexagon.V6.vgtub.and",
+ "llvm.hexagon.V6.vgtub.and.128B",
+ "llvm.hexagon.V6.vgtub.or",
+ "llvm.hexagon.V6.vgtub.or.128B",
+ "llvm.hexagon.V6.vgtub.xor",
+ "llvm.hexagon.V6.vgtub.xor.128B",
+ "llvm.hexagon.V6.vgtuh",
+ "llvm.hexagon.V6.vgtuh.128B",
+ "llvm.hexagon.V6.vgtuh.and",
+ "llvm.hexagon.V6.vgtuh.and.128B",
+ "llvm.hexagon.V6.vgtuh.or",
+ "llvm.hexagon.V6.vgtuh.or.128B",
+ "llvm.hexagon.V6.vgtuh.xor",
+ "llvm.hexagon.V6.vgtuh.xor.128B",
+ "llvm.hexagon.V6.vgtuw",
+ "llvm.hexagon.V6.vgtuw.128B",
+ "llvm.hexagon.V6.vgtuw.and",
+ "llvm.hexagon.V6.vgtuw.and.128B",
+ "llvm.hexagon.V6.vgtuw.or",
+ "llvm.hexagon.V6.vgtuw.or.128B",
+ "llvm.hexagon.V6.vgtuw.xor",
+ "llvm.hexagon.V6.vgtuw.xor.128B",
+ "llvm.hexagon.V6.vgtw",
+ "llvm.hexagon.V6.vgtw.128B",
+ "llvm.hexagon.V6.vgtw.and",
+ "llvm.hexagon.V6.vgtw.and.128B",
+ "llvm.hexagon.V6.vgtw.or",
+ "llvm.hexagon.V6.vgtw.or.128B",
+ "llvm.hexagon.V6.vgtw.xor",
+ "llvm.hexagon.V6.vgtw.xor.128B",
+ "llvm.hexagon.V6.vinsertwr",
+ "llvm.hexagon.V6.vinsertwr.128B",
+ "llvm.hexagon.V6.vlalignb",
+ "llvm.hexagon.V6.vlalignb.128B",
+ "llvm.hexagon.V6.vlalignbi",
+ "llvm.hexagon.V6.vlalignbi.128B",
+ "llvm.hexagon.V6.vlsrh",
+ "llvm.hexagon.V6.vlsrh.128B",
+ "llvm.hexagon.V6.vlsrhv",
+ "llvm.hexagon.V6.vlsrhv.128B",
+ "llvm.hexagon.V6.vlsrw",
+ "llvm.hexagon.V6.vlsrw.128B",
+ "llvm.hexagon.V6.vlsrwv",
+ "llvm.hexagon.V6.vlsrwv.128B",
+ "llvm.hexagon.V6.vlutb",
+ "llvm.hexagon.V6.vlutb.128B",
+ "llvm.hexagon.V6.vlutb.acc",
+ "llvm.hexagon.V6.vlutb.acc.128B",
+ "llvm.hexagon.V6.vlutb.dv",
+ "llvm.hexagon.V6.vlutb.dv.128B",
+ "llvm.hexagon.V6.vlutb.dv.acc",
+ "llvm.hexagon.V6.vlutb.dv.acc.128B",
+ "llvm.hexagon.V6.vlutvvb",
+ "llvm.hexagon.V6.vlutvvb.128B",
+ "llvm.hexagon.V6.vlutvvb.oracc",
+ "llvm.hexagon.V6.vlutvvb.oracc.128B",
+ "llvm.hexagon.V6.vlutvwh",
+ "llvm.hexagon.V6.vlutvwh.128B",
+ "llvm.hexagon.V6.vlutvwh.oracc",
+ "llvm.hexagon.V6.vlutvwh.oracc.128B",
+ "llvm.hexagon.V6.vmaxh",
+ "llvm.hexagon.V6.vmaxh.128B",
+ "llvm.hexagon.V6.vmaxub",
+ "llvm.hexagon.V6.vmaxub.128B",
+ "llvm.hexagon.V6.vmaxuh",
+ "llvm.hexagon.V6.vmaxuh.128B",
+ "llvm.hexagon.V6.vmaxw",
+ "llvm.hexagon.V6.vmaxw.128B",
+ "llvm.hexagon.V6.vminh",
+ "llvm.hexagon.V6.vminh.128B",
+ "llvm.hexagon.V6.vminub",
+ "llvm.hexagon.V6.vminub.128B",
+ "llvm.hexagon.V6.vminuh",
+ "llvm.hexagon.V6.vminuh.128B",
+ "llvm.hexagon.V6.vminw",
+ "llvm.hexagon.V6.vminw.128B",
+ "llvm.hexagon.V6.vmpabus",
+ "llvm.hexagon.V6.vmpabus.128B",
+ "llvm.hexagon.V6.vmpabus.acc",
+ "llvm.hexagon.V6.vmpabus.acc.128B",
+ "llvm.hexagon.V6.vmpabusv",
+ "llvm.hexagon.V6.vmpabusv.128B",
+ "llvm.hexagon.V6.vmpabuuv",
+ "llvm.hexagon.V6.vmpabuuv.128B",
+ "llvm.hexagon.V6.vmpahb",
+ "llvm.hexagon.V6.vmpahb.128B",
+ "llvm.hexagon.V6.vmpahb.acc",
+ "llvm.hexagon.V6.vmpahb.acc.128B",
+ "llvm.hexagon.V6.vmpybus",
+ "llvm.hexagon.V6.vmpybus.128B",
+ "llvm.hexagon.V6.vmpybus.acc",
+ "llvm.hexagon.V6.vmpybus.acc.128B",
+ "llvm.hexagon.V6.vmpybusv",
+ "llvm.hexagon.V6.vmpybusv.128B",
+ "llvm.hexagon.V6.vmpybusv.acc",
+ "llvm.hexagon.V6.vmpybusv.acc.128B",
+ "llvm.hexagon.V6.vmpybv",
+ "llvm.hexagon.V6.vmpybv.128B",
+ "llvm.hexagon.V6.vmpybv.acc",
+ "llvm.hexagon.V6.vmpybv.acc.128B",
+ "llvm.hexagon.V6.vmpyewuh",
+ "llvm.hexagon.V6.vmpyewuh.128B",
+ "llvm.hexagon.V6.vmpyh",
+ "llvm.hexagon.V6.vmpyh.128B",
+ "llvm.hexagon.V6.vmpyhsat.acc",
+ "llvm.hexagon.V6.vmpyhsat.acc.128B",
+ "llvm.hexagon.V6.vmpyhsrs",
+ "llvm.hexagon.V6.vmpyhsrs.128B",
+ "llvm.hexagon.V6.vmpyhss",
+ "llvm.hexagon.V6.vmpyhss.128B",
+ "llvm.hexagon.V6.vmpyhus",
+ "llvm.hexagon.V6.vmpyhus.128B",
+ "llvm.hexagon.V6.vmpyhus.acc",
+ "llvm.hexagon.V6.vmpyhus.acc.128B",
+ "llvm.hexagon.V6.vmpyhv",
+ "llvm.hexagon.V6.vmpyhv.128B",
+ "llvm.hexagon.V6.vmpyhv.acc",
+ "llvm.hexagon.V6.vmpyhv.acc.128B",
+ "llvm.hexagon.V6.vmpyhvsrs",
+ "llvm.hexagon.V6.vmpyhvsrs.128B",
+ "llvm.hexagon.V6.vmpyieoh",
+ "llvm.hexagon.V6.vmpyieoh.128B",
+ "llvm.hexagon.V6.vmpyiewh.acc",
+ "llvm.hexagon.V6.vmpyiewh.acc.128B",
+ "llvm.hexagon.V6.vmpyiewuh",
+ "llvm.hexagon.V6.vmpyiewuh.128B",
+ "llvm.hexagon.V6.vmpyiewuh.acc",
+ "llvm.hexagon.V6.vmpyiewuh.acc.128B",
+ "llvm.hexagon.V6.vmpyih",
+ "llvm.hexagon.V6.vmpyih.128B",
+ "llvm.hexagon.V6.vmpyih.acc",
+ "llvm.hexagon.V6.vmpyih.acc.128B",
+ "llvm.hexagon.V6.vmpyihb",
+ "llvm.hexagon.V6.vmpyihb.128B",
+ "llvm.hexagon.V6.vmpyihb.acc",
+ "llvm.hexagon.V6.vmpyihb.acc.128B",
+ "llvm.hexagon.V6.vmpyiowh",
+ "llvm.hexagon.V6.vmpyiowh.128B",
+ "llvm.hexagon.V6.vmpyiwb",
+ "llvm.hexagon.V6.vmpyiwb.128B",
+ "llvm.hexagon.V6.vmpyiwb.acc",
+ "llvm.hexagon.V6.vmpyiwb.acc.128B",
+ "llvm.hexagon.V6.vmpyiwh",
+ "llvm.hexagon.V6.vmpyiwh.128B",
+ "llvm.hexagon.V6.vmpyiwh.acc",
+ "llvm.hexagon.V6.vmpyiwh.acc.128B",
+ "llvm.hexagon.V6.vmpyowh",
+ "llvm.hexagon.V6.vmpyowh.128B",
+ "llvm.hexagon.V6.vmpyowh.rnd",
+ "llvm.hexagon.V6.vmpyowh.rnd.128B",
+ "llvm.hexagon.V6.vmpyowh.rnd.sacc",
+ "llvm.hexagon.V6.vmpyowh.rnd.sacc.128B",
+ "llvm.hexagon.V6.vmpyowh.sacc",
+ "llvm.hexagon.V6.vmpyowh.sacc.128B",
+ "llvm.hexagon.V6.vmpyub",
+ "llvm.hexagon.V6.vmpyub.128B",
+ "llvm.hexagon.V6.vmpyub.acc",
+ "llvm.hexagon.V6.vmpyub.acc.128B",
+ "llvm.hexagon.V6.vmpyubv",
+ "llvm.hexagon.V6.vmpyubv.128B",
+ "llvm.hexagon.V6.vmpyubv.acc",
+ "llvm.hexagon.V6.vmpyubv.acc.128B",
+ "llvm.hexagon.V6.vmpyuh",
+ "llvm.hexagon.V6.vmpyuh.128B",
+ "llvm.hexagon.V6.vmpyuh.acc",
+ "llvm.hexagon.V6.vmpyuh.acc.128B",
+ "llvm.hexagon.V6.vmpyuhv",
+ "llvm.hexagon.V6.vmpyuhv.128B",
+ "llvm.hexagon.V6.vmpyuhv.acc",
+ "llvm.hexagon.V6.vmpyuhv.acc.128B",
+ "llvm.hexagon.V6.vmux",
+ "llvm.hexagon.V6.vmux.128B",
+ "llvm.hexagon.V6.vnavgh",
+ "llvm.hexagon.V6.vnavgh.128B",
+ "llvm.hexagon.V6.vnavgub",
+ "llvm.hexagon.V6.vnavgub.128B",
+ "llvm.hexagon.V6.vnavgw",
+ "llvm.hexagon.V6.vnavgw.128B",
+ "llvm.hexagon.V6.vnormamth",
+ "llvm.hexagon.V6.vnormamth.128B",
+ "llvm.hexagon.V6.vnormamtw",
+ "llvm.hexagon.V6.vnormamtw.128B",
+ "llvm.hexagon.V6.vnot",
+ "llvm.hexagon.V6.vnot.128B",
+ "llvm.hexagon.V6.vor",
+ "llvm.hexagon.V6.vor.128B",
+ "llvm.hexagon.V6.vpackeb",
+ "llvm.hexagon.V6.vpackeb.128B",
+ "llvm.hexagon.V6.vpackeh",
+ "llvm.hexagon.V6.vpackeh.128B",
+ "llvm.hexagon.V6.vpackhb.sat",
+ "llvm.hexagon.V6.vpackhb.sat.128B",
+ "llvm.hexagon.V6.vpackhub.sat",
+ "llvm.hexagon.V6.vpackhub.sat.128B",
+ "llvm.hexagon.V6.vpackob",
+ "llvm.hexagon.V6.vpackob.128B",
+ "llvm.hexagon.V6.vpackoh",
+ "llvm.hexagon.V6.vpackoh.128B",
+ "llvm.hexagon.V6.vpackwh.sat",
+ "llvm.hexagon.V6.vpackwh.sat.128B",
+ "llvm.hexagon.V6.vpackwuh.sat",
+ "llvm.hexagon.V6.vpackwuh.sat.128B",
+ "llvm.hexagon.V6.vpopcounth",
+ "llvm.hexagon.V6.vpopcounth.128B",
+ "llvm.hexagon.V6.vrdelta",
+ "llvm.hexagon.V6.vrdelta.128B",
+ "llvm.hexagon.V6.vrmpybus",
+ "llvm.hexagon.V6.vrmpybus.128B",
+ "llvm.hexagon.V6.vrmpybus.acc",
+ "llvm.hexagon.V6.vrmpybus.acc.128B",
+ "llvm.hexagon.V6.vrmpybusi",
+ "llvm.hexagon.V6.vrmpybusi.128B",
+ "llvm.hexagon.V6.vrmpybusi.acc",
+ "llvm.hexagon.V6.vrmpybusi.acc.128B",
+ "llvm.hexagon.V6.vrmpybusv",
+ "llvm.hexagon.V6.vrmpybusv.128B",
+ "llvm.hexagon.V6.vrmpybusv.acc",
+ "llvm.hexagon.V6.vrmpybusv.acc.128B",
+ "llvm.hexagon.V6.vrmpybv",
+ "llvm.hexagon.V6.vrmpybv.128B",
+ "llvm.hexagon.V6.vrmpybv.acc",
+ "llvm.hexagon.V6.vrmpybv.acc.128B",
+ "llvm.hexagon.V6.vrmpyub",
+ "llvm.hexagon.V6.vrmpyub.128B",
+ "llvm.hexagon.V6.vrmpyub.acc",
+ "llvm.hexagon.V6.vrmpyub.acc.128B",
+ "llvm.hexagon.V6.vrmpyubi",
+ "llvm.hexagon.V6.vrmpyubi.128B",
+ "llvm.hexagon.V6.vrmpyubi.acc",
+ "llvm.hexagon.V6.vrmpyubi.acc.128B",
+ "llvm.hexagon.V6.vrmpyubv",
+ "llvm.hexagon.V6.vrmpyubv.128B",
+ "llvm.hexagon.V6.vrmpyubv.acc",
+ "llvm.hexagon.V6.vrmpyubv.acc.128B",
+ "llvm.hexagon.V6.vror",
+ "llvm.hexagon.V6.vror.128B",
+ "llvm.hexagon.V6.vroundhb",
+ "llvm.hexagon.V6.vroundhb.128B",
+ "llvm.hexagon.V6.vroundhub",
+ "llvm.hexagon.V6.vroundhub.128B",
+ "llvm.hexagon.V6.vroundwh",
+ "llvm.hexagon.V6.vroundwh.128B",
+ "llvm.hexagon.V6.vroundwuh",
+ "llvm.hexagon.V6.vroundwuh.128B",
+ "llvm.hexagon.V6.vrsadubi",
+ "llvm.hexagon.V6.vrsadubi.128B",
+ "llvm.hexagon.V6.vrsadubi.acc",
+ "llvm.hexagon.V6.vrsadubi.acc.128B",
+ "llvm.hexagon.V6.vsathub",
+ "llvm.hexagon.V6.vsathub.128B",
+ "llvm.hexagon.V6.vsatwh",
+ "llvm.hexagon.V6.vsatwh.128B",
+ "llvm.hexagon.V6.vsb",
+ "llvm.hexagon.V6.vsb.128B",
+ "llvm.hexagon.V6.vsh",
+ "llvm.hexagon.V6.vsh.128B",
+ "llvm.hexagon.V6.vshufeh",
+ "llvm.hexagon.V6.vshufeh.128B",
+ "llvm.hexagon.V6.vshuffb",
+ "llvm.hexagon.V6.vshuffb.128B",
+ "llvm.hexagon.V6.vshuffeb",
+ "llvm.hexagon.V6.vshuffeb.128B",
+ "llvm.hexagon.V6.vshuffh",
+ "llvm.hexagon.V6.vshuffh.128B",
+ "llvm.hexagon.V6.vshuffob",
+ "llvm.hexagon.V6.vshuffob.128B",
+ "llvm.hexagon.V6.vshuffvdd",
+ "llvm.hexagon.V6.vshuffvdd.128B",
+ "llvm.hexagon.V6.vshufoeb",
+ "llvm.hexagon.V6.vshufoeb.128B",
+ "llvm.hexagon.V6.vshufoeh",
+ "llvm.hexagon.V6.vshufoeh.128B",
+ "llvm.hexagon.V6.vshufoh",
+ "llvm.hexagon.V6.vshufoh.128B",
+ "llvm.hexagon.V6.vsubb",
+ "llvm.hexagon.V6.vsubb.128B",
+ "llvm.hexagon.V6.vsubb.dv",
+ "llvm.hexagon.V6.vsubb.dv.128B",
+ "llvm.hexagon.V6.vsubbnq",
+ "llvm.hexagon.V6.vsubbnq.128B",
+ "llvm.hexagon.V6.vsubbq",
+ "llvm.hexagon.V6.vsubbq.128B",
+ "llvm.hexagon.V6.vsubh",
+ "llvm.hexagon.V6.vsubh.128B",
+ "llvm.hexagon.V6.vsubh.dv",
+ "llvm.hexagon.V6.vsubh.dv.128B",
+ "llvm.hexagon.V6.vsubhnq",
+ "llvm.hexagon.V6.vsubhnq.128B",
+ "llvm.hexagon.V6.vsubhq",
+ "llvm.hexagon.V6.vsubhq.128B",
+ "llvm.hexagon.V6.vsubhsat",
+ "llvm.hexagon.V6.vsubhsat.128B",
+ "llvm.hexagon.V6.vsubhsat.dv",
+ "llvm.hexagon.V6.vsubhsat.dv.128B",
+ "llvm.hexagon.V6.vsubhw",
+ "llvm.hexagon.V6.vsubhw.128B",
+ "llvm.hexagon.V6.vsububh",
+ "llvm.hexagon.V6.vsububh.128B",
+ "llvm.hexagon.V6.vsububsat",
+ "llvm.hexagon.V6.vsububsat.128B",
+ "llvm.hexagon.V6.vsububsat.dv",
+ "llvm.hexagon.V6.vsububsat.dv.128B",
+ "llvm.hexagon.V6.vsubuhsat",
+ "llvm.hexagon.V6.vsubuhsat.128B",
+ "llvm.hexagon.V6.vsubuhsat.dv",
+ "llvm.hexagon.V6.vsubuhsat.dv.128B",
+ "llvm.hexagon.V6.vsubuhw",
+ "llvm.hexagon.V6.vsubuhw.128B",
+ "llvm.hexagon.V6.vsubw",
+ "llvm.hexagon.V6.vsubw.128B",
+ "llvm.hexagon.V6.vsubw.dv",
+ "llvm.hexagon.V6.vsubw.dv.128B",
+ "llvm.hexagon.V6.vsubwnq",
+ "llvm.hexagon.V6.vsubwnq.128B",
+ "llvm.hexagon.V6.vsubwq",
+ "llvm.hexagon.V6.vsubwq.128B",
+ "llvm.hexagon.V6.vsubwsat",
+ "llvm.hexagon.V6.vsubwsat.128B",
+ "llvm.hexagon.V6.vsubwsat.dv",
+ "llvm.hexagon.V6.vsubwsat.dv.128B",
+ "llvm.hexagon.V6.vswap",
+ "llvm.hexagon.V6.vswap.128B",
+ "llvm.hexagon.V6.vtmpyb",
+ "llvm.hexagon.V6.vtmpyb.128B",
+ "llvm.hexagon.V6.vtmpyb.acc",
+ "llvm.hexagon.V6.vtmpyb.acc.128B",
+ "llvm.hexagon.V6.vtmpybus",
+ "llvm.hexagon.V6.vtmpybus.128B",
+ "llvm.hexagon.V6.vtmpybus.acc",
+ "llvm.hexagon.V6.vtmpybus.acc.128B",
+ "llvm.hexagon.V6.vtmpyhb",
+ "llvm.hexagon.V6.vtmpyhb.128B",
+ "llvm.hexagon.V6.vtmpyhb.acc",
+ "llvm.hexagon.V6.vtmpyhb.acc.128B",
+ "llvm.hexagon.V6.vunpackb",
+ "llvm.hexagon.V6.vunpackb.128B",
+ "llvm.hexagon.V6.vunpackh",
+ "llvm.hexagon.V6.vunpackh.128B",
+ "llvm.hexagon.V6.vunpackob",
+ "llvm.hexagon.V6.vunpackob.128B",
+ "llvm.hexagon.V6.vunpackoh",
+ "llvm.hexagon.V6.vunpackoh.128B",
+ "llvm.hexagon.V6.vunpackub",
+ "llvm.hexagon.V6.vunpackub.128B",
+ "llvm.hexagon.V6.vunpackuh",
+ "llvm.hexagon.V6.vunpackuh.128B",
+ "llvm.hexagon.V6.vxor",
+ "llvm.hexagon.V6.vxor.128B",
+ "llvm.hexagon.V6.vzb",
+ "llvm.hexagon.V6.vzb.128B",
+ "llvm.hexagon.V6.vzh",
+ "llvm.hexagon.V6.vzh.128B",
+ "llvm.hexagon.brev.ldb",
+ "llvm.hexagon.brev.ldd",
+ "llvm.hexagon.brev.ldh",
+ "llvm.hexagon.brev.ldub",
+ "llvm.hexagon.brev.lduh",
+ "llvm.hexagon.brev.ldw",
+ "llvm.hexagon.brev.stb",
+ "llvm.hexagon.brev.std",
+ "llvm.hexagon.brev.sth",
+ "llvm.hexagon.brev.sthhi",
+ "llvm.hexagon.brev.stw",
+ "llvm.hexagon.circ.ldb",
+ "llvm.hexagon.circ.ldd",
+ "llvm.hexagon.circ.ldh",
+ "llvm.hexagon.circ.ldub",
+ "llvm.hexagon.circ.lduh",
+ "llvm.hexagon.circ.ldw",
+ "llvm.hexagon.circ.stb",
+ "llvm.hexagon.circ.std",
+ "llvm.hexagon.circ.sth",
+ "llvm.hexagon.circ.sthhi",
+ "llvm.hexagon.circ.stw",
+ "llvm.hexagon.mm256i.vaddw",
+ "llvm.hexagon.prefetch",
+ "llvm.mips.absq.s.ph",
+ "llvm.mips.absq.s.qb",
+ "llvm.mips.absq.s.w",
+ "llvm.mips.add.a.b",
+ "llvm.mips.add.a.d",
+ "llvm.mips.add.a.h",
+ "llvm.mips.add.a.w",
+ "llvm.mips.addq.ph",
+ "llvm.mips.addq.s.ph",
+ "llvm.mips.addq.s.w",
+ "llvm.mips.addqh.ph",
+ "llvm.mips.addqh.r.ph",
+ "llvm.mips.addqh.r.w",
+ "llvm.mips.addqh.w",
+ "llvm.mips.adds.a.b",
+ "llvm.mips.adds.a.d",
+ "llvm.mips.adds.a.h",
+ "llvm.mips.adds.a.w",
+ "llvm.mips.adds.s.b",
+ "llvm.mips.adds.s.d",
+ "llvm.mips.adds.s.h",
+ "llvm.mips.adds.s.w",
+ "llvm.mips.adds.u.b",
+ "llvm.mips.adds.u.d",
+ "llvm.mips.adds.u.h",
+ "llvm.mips.adds.u.w",
+ "llvm.mips.addsc",
+ "llvm.mips.addu.ph",
+ "llvm.mips.addu.qb",
+ "llvm.mips.addu.s.ph",
+ "llvm.mips.addu.s.qb",
+ "llvm.mips.adduh.qb",
+ "llvm.mips.adduh.r.qb",
+ "llvm.mips.addv.b",
+ "llvm.mips.addv.d",
+ "llvm.mips.addv.h",
+ "llvm.mips.addv.w",
+ "llvm.mips.addvi.b",
+ "llvm.mips.addvi.d",
+ "llvm.mips.addvi.h",
+ "llvm.mips.addvi.w",
+ "llvm.mips.addwc",
+ "llvm.mips.and.v",
+ "llvm.mips.andi.b",
+ "llvm.mips.append",
+ "llvm.mips.asub.s.b",
+ "llvm.mips.asub.s.d",
+ "llvm.mips.asub.s.h",
+ "llvm.mips.asub.s.w",
+ "llvm.mips.asub.u.b",
+ "llvm.mips.asub.u.d",
+ "llvm.mips.asub.u.h",
+ "llvm.mips.asub.u.w",
+ "llvm.mips.ave.s.b",
+ "llvm.mips.ave.s.d",
+ "llvm.mips.ave.s.h",
+ "llvm.mips.ave.s.w",
+ "llvm.mips.ave.u.b",
+ "llvm.mips.ave.u.d",
+ "llvm.mips.ave.u.h",
+ "llvm.mips.ave.u.w",
+ "llvm.mips.aver.s.b",
+ "llvm.mips.aver.s.d",
+ "llvm.mips.aver.s.h",
+ "llvm.mips.aver.s.w",
+ "llvm.mips.aver.u.b",
+ "llvm.mips.aver.u.d",
+ "llvm.mips.aver.u.h",
+ "llvm.mips.aver.u.w",
+ "llvm.mips.balign",
+ "llvm.mips.bclr.b",
+ "llvm.mips.bclr.d",
+ "llvm.mips.bclr.h",
+ "llvm.mips.bclr.w",
+ "llvm.mips.bclri.b",
+ "llvm.mips.bclri.d",
+ "llvm.mips.bclri.h",
+ "llvm.mips.bclri.w",
+ "llvm.mips.binsl.b",
+ "llvm.mips.binsl.d",
+ "llvm.mips.binsl.h",
+ "llvm.mips.binsl.w",
+ "llvm.mips.binsli.b",
+ "llvm.mips.binsli.d",
+ "llvm.mips.binsli.h",
+ "llvm.mips.binsli.w",
+ "llvm.mips.binsr.b",
+ "llvm.mips.binsr.d",
+ "llvm.mips.binsr.h",
+ "llvm.mips.binsr.w",
+ "llvm.mips.binsri.b",
+ "llvm.mips.binsri.d",
+ "llvm.mips.binsri.h",
+ "llvm.mips.binsri.w",
+ "llvm.mips.bitrev",
+ "llvm.mips.bmnz.v",
+ "llvm.mips.bmnzi.b",
+ "llvm.mips.bmz.v",
+ "llvm.mips.bmzi.b",
+ "llvm.mips.bneg.b",
+ "llvm.mips.bneg.d",
+ "llvm.mips.bneg.h",
+ "llvm.mips.bneg.w",
+ "llvm.mips.bnegi.b",
+ "llvm.mips.bnegi.d",
+ "llvm.mips.bnegi.h",
+ "llvm.mips.bnegi.w",
+ "llvm.mips.bnz.b",
+ "llvm.mips.bnz.d",
+ "llvm.mips.bnz.h",
+ "llvm.mips.bnz.v",
+ "llvm.mips.bnz.w",
+ "llvm.mips.bposge32",
+ "llvm.mips.bsel.v",
+ "llvm.mips.bseli.b",
+ "llvm.mips.bset.b",
+ "llvm.mips.bset.d",
+ "llvm.mips.bset.h",
+ "llvm.mips.bset.w",
+ "llvm.mips.bseti.b",
+ "llvm.mips.bseti.d",
+ "llvm.mips.bseti.h",
+ "llvm.mips.bseti.w",
+ "llvm.mips.bz.b",
+ "llvm.mips.bz.d",
+ "llvm.mips.bz.h",
+ "llvm.mips.bz.v",
+ "llvm.mips.bz.w",
+ "llvm.mips.ceq.b",
+ "llvm.mips.ceq.d",
+ "llvm.mips.ceq.h",
+ "llvm.mips.ceq.w",
+ "llvm.mips.ceqi.b",
+ "llvm.mips.ceqi.d",
+ "llvm.mips.ceqi.h",
+ "llvm.mips.ceqi.w",
+ "llvm.mips.cfcmsa",
+ "llvm.mips.cle.s.b",
+ "llvm.mips.cle.s.d",
+ "llvm.mips.cle.s.h",
+ "llvm.mips.cle.s.w",
+ "llvm.mips.cle.u.b",
+ "llvm.mips.cle.u.d",
+ "llvm.mips.cle.u.h",
+ "llvm.mips.cle.u.w",
+ "llvm.mips.clei.s.b",
+ "llvm.mips.clei.s.d",
+ "llvm.mips.clei.s.h",
+ "llvm.mips.clei.s.w",
+ "llvm.mips.clei.u.b",
+ "llvm.mips.clei.u.d",
+ "llvm.mips.clei.u.h",
+ "llvm.mips.clei.u.w",
+ "llvm.mips.clt.s.b",
+ "llvm.mips.clt.s.d",
+ "llvm.mips.clt.s.h",
+ "llvm.mips.clt.s.w",
+ "llvm.mips.clt.u.b",
+ "llvm.mips.clt.u.d",
+ "llvm.mips.clt.u.h",
+ "llvm.mips.clt.u.w",
+ "llvm.mips.clti.s.b",
+ "llvm.mips.clti.s.d",
+ "llvm.mips.clti.s.h",
+ "llvm.mips.clti.s.w",
+ "llvm.mips.clti.u.b",
+ "llvm.mips.clti.u.d",
+ "llvm.mips.clti.u.h",
+ "llvm.mips.clti.u.w",
+ "llvm.mips.cmp.eq.ph",
+ "llvm.mips.cmp.le.ph",
+ "llvm.mips.cmp.lt.ph",
+ "llvm.mips.cmpgdu.eq.qb",
+ "llvm.mips.cmpgdu.le.qb",
+ "llvm.mips.cmpgdu.lt.qb",
+ "llvm.mips.cmpgu.eq.qb",
+ "llvm.mips.cmpgu.le.qb",
+ "llvm.mips.cmpgu.lt.qb",
+ "llvm.mips.cmpu.eq.qb",
+ "llvm.mips.cmpu.le.qb",
+ "llvm.mips.cmpu.lt.qb",
+ "llvm.mips.copy.s.b",
+ "llvm.mips.copy.s.d",
+ "llvm.mips.copy.s.h",
+ "llvm.mips.copy.s.w",
+ "llvm.mips.copy.u.b",
+ "llvm.mips.copy.u.d",
+ "llvm.mips.copy.u.h",
+ "llvm.mips.copy.u.w",
+ "llvm.mips.ctcmsa",
+ "llvm.mips.div.s.b",
+ "llvm.mips.div.s.d",
+ "llvm.mips.div.s.h",
+ "llvm.mips.div.s.w",
+ "llvm.mips.div.u.b",
+ "llvm.mips.div.u.d",
+ "llvm.mips.div.u.h",
+ "llvm.mips.div.u.w",
+ "llvm.mips.dlsa",
+ "llvm.mips.dotp.s.d",
+ "llvm.mips.dotp.s.h",
+ "llvm.mips.dotp.s.w",
+ "llvm.mips.dotp.u.d",
+ "llvm.mips.dotp.u.h",
+ "llvm.mips.dotp.u.w",
+ "llvm.mips.dpa.w.ph",
+ "llvm.mips.dpadd.s.d",
+ "llvm.mips.dpadd.s.h",
+ "llvm.mips.dpadd.s.w",
+ "llvm.mips.dpadd.u.d",
+ "llvm.mips.dpadd.u.h",
+ "llvm.mips.dpadd.u.w",
+ "llvm.mips.dpaq.s.w.ph",
+ "llvm.mips.dpaq.sa.l.w",
+ "llvm.mips.dpaqx.s.w.ph",
+ "llvm.mips.dpaqx.sa.w.ph",
+ "llvm.mips.dpau.h.qbl",
+ "llvm.mips.dpau.h.qbr",
+ "llvm.mips.dpax.w.ph",
+ "llvm.mips.dps.w.ph",
+ "llvm.mips.dpsq.s.w.ph",
+ "llvm.mips.dpsq.sa.l.w",
+ "llvm.mips.dpsqx.s.w.ph",
+ "llvm.mips.dpsqx.sa.w.ph",
+ "llvm.mips.dpsu.h.qbl",
+ "llvm.mips.dpsu.h.qbr",
+ "llvm.mips.dpsub.s.d",
+ "llvm.mips.dpsub.s.h",
+ "llvm.mips.dpsub.s.w",
+ "llvm.mips.dpsub.u.d",
+ "llvm.mips.dpsub.u.h",
+ "llvm.mips.dpsub.u.w",
+ "llvm.mips.dpsx.w.ph",
+ "llvm.mips.extp",
+ "llvm.mips.extpdp",
+ "llvm.mips.extr.r.w",
+ "llvm.mips.extr.rs.w",
+ "llvm.mips.extr.s.h",
+ "llvm.mips.extr.w",
+ "llvm.mips.fadd.d",
+ "llvm.mips.fadd.w",
+ "llvm.mips.fcaf.d",
+ "llvm.mips.fcaf.w",
+ "llvm.mips.fceq.d",
+ "llvm.mips.fceq.w",
+ "llvm.mips.fclass.d",
+ "llvm.mips.fclass.w",
+ "llvm.mips.fcle.d",
+ "llvm.mips.fcle.w",
+ "llvm.mips.fclt.d",
+ "llvm.mips.fclt.w",
+ "llvm.mips.fcne.d",
+ "llvm.mips.fcne.w",
+ "llvm.mips.fcor.d",
+ "llvm.mips.fcor.w",
+ "llvm.mips.fcueq.d",
+ "llvm.mips.fcueq.w",
+ "llvm.mips.fcule.d",
+ "llvm.mips.fcule.w",
+ "llvm.mips.fcult.d",
+ "llvm.mips.fcult.w",
+ "llvm.mips.fcun.d",
+ "llvm.mips.fcun.w",
+ "llvm.mips.fcune.d",
+ "llvm.mips.fcune.w",
+ "llvm.mips.fdiv.d",
+ "llvm.mips.fdiv.w",
+ "llvm.mips.fexdo.h",
+ "llvm.mips.fexdo.w",
+ "llvm.mips.fexp2.d",
+ "llvm.mips.fexp2.w",
+ "llvm.mips.fexupl.d",
+ "llvm.mips.fexupl.w",
+ "llvm.mips.fexupr.d",
+ "llvm.mips.fexupr.w",
+ "llvm.mips.ffint.s.d",
+ "llvm.mips.ffint.s.w",
+ "llvm.mips.ffint.u.d",
+ "llvm.mips.ffint.u.w",
+ "llvm.mips.ffql.d",
+ "llvm.mips.ffql.w",
+ "llvm.mips.ffqr.d",
+ "llvm.mips.ffqr.w",
+ "llvm.mips.fill.b",
+ "llvm.mips.fill.d",
+ "llvm.mips.fill.h",
+ "llvm.mips.fill.w",
+ "llvm.mips.flog2.d",
+ "llvm.mips.flog2.w",
+ "llvm.mips.fmadd.d",
+ "llvm.mips.fmadd.w",
+ "llvm.mips.fmax.a.d",
+ "llvm.mips.fmax.a.w",
+ "llvm.mips.fmax.d",
+ "llvm.mips.fmax.w",
+ "llvm.mips.fmin.a.d",
+ "llvm.mips.fmin.a.w",
+ "llvm.mips.fmin.d",
+ "llvm.mips.fmin.w",
+ "llvm.mips.fmsub.d",
+ "llvm.mips.fmsub.w",
+ "llvm.mips.fmul.d",
+ "llvm.mips.fmul.w",
+ "llvm.mips.frcp.d",
+ "llvm.mips.frcp.w",
+ "llvm.mips.frint.d",
+ "llvm.mips.frint.w",
+ "llvm.mips.frsqrt.d",
+ "llvm.mips.frsqrt.w",
+ "llvm.mips.fsaf.d",
+ "llvm.mips.fsaf.w",
+ "llvm.mips.fseq.d",
+ "llvm.mips.fseq.w",
+ "llvm.mips.fsle.d",
+ "llvm.mips.fsle.w",
+ "llvm.mips.fslt.d",
+ "llvm.mips.fslt.w",
+ "llvm.mips.fsne.d",
+ "llvm.mips.fsne.w",
+ "llvm.mips.fsor.d",
+ "llvm.mips.fsor.w",
+ "llvm.mips.fsqrt.d",
+ "llvm.mips.fsqrt.w",
+ "llvm.mips.fsub.d",
+ "llvm.mips.fsub.w",
+ "llvm.mips.fsueq.d",
+ "llvm.mips.fsueq.w",
+ "llvm.mips.fsule.d",
+ "llvm.mips.fsule.w",
+ "llvm.mips.fsult.d",
+ "llvm.mips.fsult.w",
+ "llvm.mips.fsun.d",
+ "llvm.mips.fsun.w",
+ "llvm.mips.fsune.d",
+ "llvm.mips.fsune.w",
+ "llvm.mips.ftint.s.d",
+ "llvm.mips.ftint.s.w",
+ "llvm.mips.ftint.u.d",
+ "llvm.mips.ftint.u.w",
+ "llvm.mips.ftq.h",
+ "llvm.mips.ftq.w",
+ "llvm.mips.ftrunc.s.d",
+ "llvm.mips.ftrunc.s.w",
+ "llvm.mips.ftrunc.u.d",
+ "llvm.mips.ftrunc.u.w",
+ "llvm.mips.hadd.s.d",
+ "llvm.mips.hadd.s.h",
+ "llvm.mips.hadd.s.w",
+ "llvm.mips.hadd.u.d",
+ "llvm.mips.hadd.u.h",
+ "llvm.mips.hadd.u.w",
+ "llvm.mips.hsub.s.d",
+ "llvm.mips.hsub.s.h",
+ "llvm.mips.hsub.s.w",
+ "llvm.mips.hsub.u.d",
+ "llvm.mips.hsub.u.h",
+ "llvm.mips.hsub.u.w",
+ "llvm.mips.ilvev.b",
+ "llvm.mips.ilvev.d",
+ "llvm.mips.ilvev.h",
+ "llvm.mips.ilvev.w",
+ "llvm.mips.ilvl.b",
+ "llvm.mips.ilvl.d",
+ "llvm.mips.ilvl.h",
+ "llvm.mips.ilvl.w",
+ "llvm.mips.ilvod.b",
+ "llvm.mips.ilvod.d",
+ "llvm.mips.ilvod.h",
+ "llvm.mips.ilvod.w",
+ "llvm.mips.ilvr.b",
+ "llvm.mips.ilvr.d",
+ "llvm.mips.ilvr.h",
+ "llvm.mips.ilvr.w",
+ "llvm.mips.insert.b",
+ "llvm.mips.insert.d",
+ "llvm.mips.insert.h",
+ "llvm.mips.insert.w",
+ "llvm.mips.insv",
+ "llvm.mips.insve.b",
+ "llvm.mips.insve.d",
+ "llvm.mips.insve.h",
+ "llvm.mips.insve.w",
+ "llvm.mips.lbux",
+ "llvm.mips.ld.b",
+ "llvm.mips.ld.d",
+ "llvm.mips.ld.h",
+ "llvm.mips.ld.w",
+ "llvm.mips.ldi.b",
+ "llvm.mips.ldi.d",
+ "llvm.mips.ldi.h",
+ "llvm.mips.ldi.w",
+ "llvm.mips.lhx",
+ "llvm.mips.lsa",
+ "llvm.mips.lwx",
+ "llvm.mips.madd",
+ "llvm.mips.madd.q.h",
+ "llvm.mips.madd.q.w",
+ "llvm.mips.maddr.q.h",
+ "llvm.mips.maddr.q.w",
+ "llvm.mips.maddu",
+ "llvm.mips.maddv.b",
+ "llvm.mips.maddv.d",
+ "llvm.mips.maddv.h",
+ "llvm.mips.maddv.w",
+ "llvm.mips.maq.s.w.phl",
+ "llvm.mips.maq.s.w.phr",
+ "llvm.mips.maq.sa.w.phl",
+ "llvm.mips.maq.sa.w.phr",
+ "llvm.mips.max.a.b",
+ "llvm.mips.max.a.d",
+ "llvm.mips.max.a.h",
+ "llvm.mips.max.a.w",
+ "llvm.mips.max.s.b",
+ "llvm.mips.max.s.d",
+ "llvm.mips.max.s.h",
+ "llvm.mips.max.s.w",
+ "llvm.mips.max.u.b",
+ "llvm.mips.max.u.d",
+ "llvm.mips.max.u.h",
+ "llvm.mips.max.u.w",
+ "llvm.mips.maxi.s.b",
+ "llvm.mips.maxi.s.d",
+ "llvm.mips.maxi.s.h",
+ "llvm.mips.maxi.s.w",
+ "llvm.mips.maxi.u.b",
+ "llvm.mips.maxi.u.d",
+ "llvm.mips.maxi.u.h",
+ "llvm.mips.maxi.u.w",
+ "llvm.mips.min.a.b",
+ "llvm.mips.min.a.d",
+ "llvm.mips.min.a.h",
+ "llvm.mips.min.a.w",
+ "llvm.mips.min.s.b",
+ "llvm.mips.min.s.d",
+ "llvm.mips.min.s.h",
+ "llvm.mips.min.s.w",
+ "llvm.mips.min.u.b",
+ "llvm.mips.min.u.d",
+ "llvm.mips.min.u.h",
+ "llvm.mips.min.u.w",
+ "llvm.mips.mini.s.b",
+ "llvm.mips.mini.s.d",
+ "llvm.mips.mini.s.h",
+ "llvm.mips.mini.s.w",
+ "llvm.mips.mini.u.b",
+ "llvm.mips.mini.u.d",
+ "llvm.mips.mini.u.h",
+ "llvm.mips.mini.u.w",
+ "llvm.mips.mod.s.b",
+ "llvm.mips.mod.s.d",
+ "llvm.mips.mod.s.h",
+ "llvm.mips.mod.s.w",
+ "llvm.mips.mod.u.b",
+ "llvm.mips.mod.u.d",
+ "llvm.mips.mod.u.h",
+ "llvm.mips.mod.u.w",
+ "llvm.mips.modsub",
+ "llvm.mips.move.v",
+ "llvm.mips.msub",
+ "llvm.mips.msub.q.h",
+ "llvm.mips.msub.q.w",
+ "llvm.mips.msubr.q.h",
+ "llvm.mips.msubr.q.w",
+ "llvm.mips.msubu",
+ "llvm.mips.msubv.b",
+ "llvm.mips.msubv.d",
+ "llvm.mips.msubv.h",
+ "llvm.mips.msubv.w",
+ "llvm.mips.mthlip",
+ "llvm.mips.mul.ph",
+ "llvm.mips.mul.q.h",
+ "llvm.mips.mul.q.w",
+ "llvm.mips.mul.s.ph",
+ "llvm.mips.muleq.s.w.phl",
+ "llvm.mips.muleq.s.w.phr",
+ "llvm.mips.muleu.s.ph.qbl",
+ "llvm.mips.muleu.s.ph.qbr",
+ "llvm.mips.mulq.rs.ph",
+ "llvm.mips.mulq.rs.w",
+ "llvm.mips.mulq.s.ph",
+ "llvm.mips.mulq.s.w",
+ "llvm.mips.mulr.q.h",
+ "llvm.mips.mulr.q.w",
+ "llvm.mips.mulsa.w.ph",
+ "llvm.mips.mulsaq.s.w.ph",
+ "llvm.mips.mult",
+ "llvm.mips.multu",
+ "llvm.mips.mulv.b",
+ "llvm.mips.mulv.d",
+ "llvm.mips.mulv.h",
+ "llvm.mips.mulv.w",
+ "llvm.mips.nloc.b",
+ "llvm.mips.nloc.d",
+ "llvm.mips.nloc.h",
+ "llvm.mips.nloc.w",
+ "llvm.mips.nlzc.b",
+ "llvm.mips.nlzc.d",
+ "llvm.mips.nlzc.h",
+ "llvm.mips.nlzc.w",
+ "llvm.mips.nor.v",
+ "llvm.mips.nori.b",
+ "llvm.mips.or.v",
+ "llvm.mips.ori.b",
+ "llvm.mips.packrl.ph",
+ "llvm.mips.pckev.b",
+ "llvm.mips.pckev.d",
+ "llvm.mips.pckev.h",
+ "llvm.mips.pckev.w",
+ "llvm.mips.pckod.b",
+ "llvm.mips.pckod.d",
+ "llvm.mips.pckod.h",
+ "llvm.mips.pckod.w",
+ "llvm.mips.pcnt.b",
+ "llvm.mips.pcnt.d",
+ "llvm.mips.pcnt.h",
+ "llvm.mips.pcnt.w",
+ "llvm.mips.pick.ph",
+ "llvm.mips.pick.qb",
+ "llvm.mips.preceq.w.phl",
+ "llvm.mips.preceq.w.phr",
+ "llvm.mips.precequ.ph.qbl",
+ "llvm.mips.precequ.ph.qbla",
+ "llvm.mips.precequ.ph.qbr",
+ "llvm.mips.precequ.ph.qbra",
+ "llvm.mips.preceu.ph.qbl",
+ "llvm.mips.preceu.ph.qbla",
+ "llvm.mips.preceu.ph.qbr",
+ "llvm.mips.preceu.ph.qbra",
+ "llvm.mips.precr.qb.ph",
+ "llvm.mips.precr.sra.ph.w",
+ "llvm.mips.precr.sra.r.ph.w",
+ "llvm.mips.precrq.ph.w",
+ "llvm.mips.precrq.qb.ph",
+ "llvm.mips.precrq.rs.ph.w",
+ "llvm.mips.precrqu.s.qb.ph",
+ "llvm.mips.prepend",
+ "llvm.mips.raddu.w.qb",
+ "llvm.mips.rddsp",
+ "llvm.mips.repl.ph",
+ "llvm.mips.repl.qb",
+ "llvm.mips.sat.s.b",
+ "llvm.mips.sat.s.d",
+ "llvm.mips.sat.s.h",
+ "llvm.mips.sat.s.w",
+ "llvm.mips.sat.u.b",
+ "llvm.mips.sat.u.d",
+ "llvm.mips.sat.u.h",
+ "llvm.mips.sat.u.w",
+ "llvm.mips.shf.b",
+ "llvm.mips.shf.h",
+ "llvm.mips.shf.w",
+ "llvm.mips.shilo",
+ "llvm.mips.shll.ph",
+ "llvm.mips.shll.qb",
+ "llvm.mips.shll.s.ph",
+ "llvm.mips.shll.s.w",
+ "llvm.mips.shra.ph",
+ "llvm.mips.shra.qb",
+ "llvm.mips.shra.r.ph",
+ "llvm.mips.shra.r.qb",
+ "llvm.mips.shra.r.w",
+ "llvm.mips.shrl.ph",
+ "llvm.mips.shrl.qb",
+ "llvm.mips.sld.b",
+ "llvm.mips.sld.d",
+ "llvm.mips.sld.h",
+ "llvm.mips.sld.w",
+ "llvm.mips.sldi.b",
+ "llvm.mips.sldi.d",
+ "llvm.mips.sldi.h",
+ "llvm.mips.sldi.w",
+ "llvm.mips.sll.b",
+ "llvm.mips.sll.d",
+ "llvm.mips.sll.h",
+ "llvm.mips.sll.w",
+ "llvm.mips.slli.b",
+ "llvm.mips.slli.d",
+ "llvm.mips.slli.h",
+ "llvm.mips.slli.w",
+ "llvm.mips.splat.b",
+ "llvm.mips.splat.d",
+ "llvm.mips.splat.h",
+ "llvm.mips.splat.w",
+ "llvm.mips.splati.b",
+ "llvm.mips.splati.d",
+ "llvm.mips.splati.h",
+ "llvm.mips.splati.w",
+ "llvm.mips.sra.b",
+ "llvm.mips.sra.d",
+ "llvm.mips.sra.h",
+ "llvm.mips.sra.w",
+ "llvm.mips.srai.b",
+ "llvm.mips.srai.d",
+ "llvm.mips.srai.h",
+ "llvm.mips.srai.w",
+ "llvm.mips.srar.b",
+ "llvm.mips.srar.d",
+ "llvm.mips.srar.h",
+ "llvm.mips.srar.w",
+ "llvm.mips.srari.b",
+ "llvm.mips.srari.d",
+ "llvm.mips.srari.h",
+ "llvm.mips.srari.w",
+ "llvm.mips.srl.b",
+ "llvm.mips.srl.d",
+ "llvm.mips.srl.h",
+ "llvm.mips.srl.w",
+ "llvm.mips.srli.b",
+ "llvm.mips.srli.d",
+ "llvm.mips.srli.h",
+ "llvm.mips.srli.w",
+ "llvm.mips.srlr.b",
+ "llvm.mips.srlr.d",
+ "llvm.mips.srlr.h",
+ "llvm.mips.srlr.w",
+ "llvm.mips.srlri.b",
+ "llvm.mips.srlri.d",
+ "llvm.mips.srlri.h",
+ "llvm.mips.srlri.w",
+ "llvm.mips.st.b",
+ "llvm.mips.st.d",
+ "llvm.mips.st.h",
+ "llvm.mips.st.w",
+ "llvm.mips.subq.ph",
+ "llvm.mips.subq.s.ph",
+ "llvm.mips.subq.s.w",
+ "llvm.mips.subqh.ph",
+ "llvm.mips.subqh.r.ph",
+ "llvm.mips.subqh.r.w",
+ "llvm.mips.subqh.w",
+ "llvm.mips.subs.s.b",
+ "llvm.mips.subs.s.d",
+ "llvm.mips.subs.s.h",
+ "llvm.mips.subs.s.w",
+ "llvm.mips.subs.u.b",
+ "llvm.mips.subs.u.d",
+ "llvm.mips.subs.u.h",
+ "llvm.mips.subs.u.w",
+ "llvm.mips.subsus.u.b",
+ "llvm.mips.subsus.u.d",
+ "llvm.mips.subsus.u.h",
+ "llvm.mips.subsus.u.w",
+ "llvm.mips.subsuu.s.b",
+ "llvm.mips.subsuu.s.d",
+ "llvm.mips.subsuu.s.h",
+ "llvm.mips.subsuu.s.w",
+ "llvm.mips.subu.ph",
+ "llvm.mips.subu.qb",
+ "llvm.mips.subu.s.ph",
+ "llvm.mips.subu.s.qb",
+ "llvm.mips.subuh.qb",
+ "llvm.mips.subuh.r.qb",
+ "llvm.mips.subv.b",
+ "llvm.mips.subv.d",
+ "llvm.mips.subv.h",
+ "llvm.mips.subv.w",
+ "llvm.mips.subvi.b",
+ "llvm.mips.subvi.d",
+ "llvm.mips.subvi.h",
+ "llvm.mips.subvi.w",
+ "llvm.mips.vshf.b",
+ "llvm.mips.vshf.d",
+ "llvm.mips.vshf.h",
+ "llvm.mips.vshf.w",
+ "llvm.mips.wrdsp",
+ "llvm.mips.xor.v",
+ "llvm.mips.xori.b",
+ "llvm.nvvm.abs.i",
+ "llvm.nvvm.abs.ll",
+ "llvm.nvvm.add.rm.d",
+ "llvm.nvvm.add.rm.f",
+ "llvm.nvvm.add.rm.ftz.f",
+ "llvm.nvvm.add.rn.d",
+ "llvm.nvvm.add.rn.f",
+ "llvm.nvvm.add.rn.ftz.f",
+ "llvm.nvvm.add.rp.d",
+ "llvm.nvvm.add.rp.f",
+ "llvm.nvvm.add.rp.ftz.f",
+ "llvm.nvvm.add.rz.d",
+ "llvm.nvvm.add.rz.f",
+ "llvm.nvvm.add.rz.ftz.f",
+ "llvm.nvvm.atomic.add.gen.f.cta",
+ "llvm.nvvm.atomic.add.gen.f.sys",
+ "llvm.nvvm.atomic.add.gen.i.cta",
+ "llvm.nvvm.atomic.add.gen.i.sys",
+ "llvm.nvvm.atomic.and.gen.i.cta",
+ "llvm.nvvm.atomic.and.gen.i.sys",
+ "llvm.nvvm.atomic.cas.gen.i.cta",
+ "llvm.nvvm.atomic.cas.gen.i.sys",
+ "llvm.nvvm.atomic.dec.gen.i.cta",
+ "llvm.nvvm.atomic.dec.gen.i.sys",
+ "llvm.nvvm.atomic.exch.gen.i.cta",
+ "llvm.nvvm.atomic.exch.gen.i.sys",
+ "llvm.nvvm.atomic.inc.gen.i.cta",
+ "llvm.nvvm.atomic.inc.gen.i.sys",
+ "llvm.nvvm.atomic.load.add.f32",
+ "llvm.nvvm.atomic.load.dec.32",
+ "llvm.nvvm.atomic.load.inc.32",
+ "llvm.nvvm.atomic.max.gen.i.cta",
+ "llvm.nvvm.atomic.max.gen.i.sys",
+ "llvm.nvvm.atomic.min.gen.i.cta",
+ "llvm.nvvm.atomic.min.gen.i.sys",
+ "llvm.nvvm.atomic.or.gen.i.cta",
+ "llvm.nvvm.atomic.or.gen.i.sys",
+ "llvm.nvvm.atomic.xor.gen.i.cta",
+ "llvm.nvvm.atomic.xor.gen.i.sys",
+ "llvm.nvvm.bar.sync",
+ "llvm.nvvm.barrier0",
+ "llvm.nvvm.barrier0.and",
+ "llvm.nvvm.barrier0.or",
+ "llvm.nvvm.barrier0.popc",
+ "llvm.nvvm.bitcast.d2ll",
+ "llvm.nvvm.bitcast.f2i",
+ "llvm.nvvm.bitcast.i2f",
+ "llvm.nvvm.bitcast.ll2d",
+ "llvm.nvvm.brev32",
+ "llvm.nvvm.brev64",
+ "llvm.nvvm.ceil.d",
+ "llvm.nvvm.ceil.f",
+ "llvm.nvvm.ceil.ftz.f",
+ "llvm.nvvm.clz.i",
+ "llvm.nvvm.clz.ll",
+ "llvm.nvvm.compiler.error",
+ "llvm.nvvm.compiler.warn",
+ "llvm.nvvm.cos.approx.f",
+ "llvm.nvvm.cos.approx.ftz.f",
+ "llvm.nvvm.d2f.rm",
+ "llvm.nvvm.d2f.rm.ftz",
+ "llvm.nvvm.d2f.rn",
+ "llvm.nvvm.d2f.rn.ftz",
+ "llvm.nvvm.d2f.rp",
+ "llvm.nvvm.d2f.rp.ftz",
+ "llvm.nvvm.d2f.rz",
+ "llvm.nvvm.d2f.rz.ftz",
+ "llvm.nvvm.d2i.hi",
+ "llvm.nvvm.d2i.lo",
+ "llvm.nvvm.d2i.rm",
+ "llvm.nvvm.d2i.rn",
+ "llvm.nvvm.d2i.rp",
+ "llvm.nvvm.d2i.rz",
+ "llvm.nvvm.d2ll.rm",
+ "llvm.nvvm.d2ll.rn",
+ "llvm.nvvm.d2ll.rp",
+ "llvm.nvvm.d2ll.rz",
+ "llvm.nvvm.d2ui.rm",
+ "llvm.nvvm.d2ui.rn",
+ "llvm.nvvm.d2ui.rp",
+ "llvm.nvvm.d2ui.rz",
+ "llvm.nvvm.d2ull.rm",
+ "llvm.nvvm.d2ull.rn",
+ "llvm.nvvm.d2ull.rp",
+ "llvm.nvvm.d2ull.rz",
+ "llvm.nvvm.div.approx.f",
+ "llvm.nvvm.div.approx.ftz.f",
+ "llvm.nvvm.div.rm.d",
+ "llvm.nvvm.div.rm.f",
+ "llvm.nvvm.div.rm.ftz.f",
+ "llvm.nvvm.div.rn.d",
+ "llvm.nvvm.div.rn.f",
+ "llvm.nvvm.div.rn.ftz.f",
+ "llvm.nvvm.div.rp.d",
+ "llvm.nvvm.div.rp.f",
+ "llvm.nvvm.div.rp.ftz.f",
+ "llvm.nvvm.div.rz.d",
+ "llvm.nvvm.div.rz.f",
+ "llvm.nvvm.div.rz.ftz.f",
+ "llvm.nvvm.ex2.approx.d",
+ "llvm.nvvm.ex2.approx.f",
+ "llvm.nvvm.ex2.approx.ftz.f",
+ "llvm.nvvm.f2h.rn",
+ "llvm.nvvm.f2h.rn.ftz",
+ "llvm.nvvm.f2i.rm",
+ "llvm.nvvm.f2i.rm.ftz",
+ "llvm.nvvm.f2i.rn",
+ "llvm.nvvm.f2i.rn.ftz",
+ "llvm.nvvm.f2i.rp",
+ "llvm.nvvm.f2i.rp.ftz",
+ "llvm.nvvm.f2i.rz",
+ "llvm.nvvm.f2i.rz.ftz",
+ "llvm.nvvm.f2ll.rm",
+ "llvm.nvvm.f2ll.rm.ftz",
+ "llvm.nvvm.f2ll.rn",
+ "llvm.nvvm.f2ll.rn.ftz",
+ "llvm.nvvm.f2ll.rp",
+ "llvm.nvvm.f2ll.rp.ftz",
+ "llvm.nvvm.f2ll.rz",
+ "llvm.nvvm.f2ll.rz.ftz",
+ "llvm.nvvm.f2ui.rm",
+ "llvm.nvvm.f2ui.rm.ftz",
+ "llvm.nvvm.f2ui.rn",
+ "llvm.nvvm.f2ui.rn.ftz",
+ "llvm.nvvm.f2ui.rp",
+ "llvm.nvvm.f2ui.rp.ftz",
+ "llvm.nvvm.f2ui.rz",
+ "llvm.nvvm.f2ui.rz.ftz",
+ "llvm.nvvm.f2ull.rm",
+ "llvm.nvvm.f2ull.rm.ftz",
+ "llvm.nvvm.f2ull.rn",
+ "llvm.nvvm.f2ull.rn.ftz",
+ "llvm.nvvm.f2ull.rp",
+ "llvm.nvvm.f2ull.rp.ftz",
+ "llvm.nvvm.f2ull.rz",
+ "llvm.nvvm.f2ull.rz.ftz",
+ "llvm.nvvm.fabs.d",
+ "llvm.nvvm.fabs.f",
+ "llvm.nvvm.fabs.ftz.f",
+ "llvm.nvvm.floor.d",
+ "llvm.nvvm.floor.f",
+ "llvm.nvvm.floor.ftz.f",
+ "llvm.nvvm.fma.rm.d",
+ "llvm.nvvm.fma.rm.f",
+ "llvm.nvvm.fma.rm.ftz.f",
+ "llvm.nvvm.fma.rn.d",
+ "llvm.nvvm.fma.rn.f",
+ "llvm.nvvm.fma.rn.ftz.f",
+ "llvm.nvvm.fma.rp.d",
+ "llvm.nvvm.fma.rp.f",
+ "llvm.nvvm.fma.rp.ftz.f",
+ "llvm.nvvm.fma.rz.d",
+ "llvm.nvvm.fma.rz.f",
+ "llvm.nvvm.fma.rz.ftz.f",
+ "llvm.nvvm.fmax.d",
+ "llvm.nvvm.fmax.f",
+ "llvm.nvvm.fmax.ftz.f",
+ "llvm.nvvm.fmin.d",
+ "llvm.nvvm.fmin.f",
+ "llvm.nvvm.fmin.ftz.f",
+ "llvm.nvvm.h2f",
+ "llvm.nvvm.i2d.rm",
+ "llvm.nvvm.i2d.rn",
+ "llvm.nvvm.i2d.rp",
+ "llvm.nvvm.i2d.rz",
+ "llvm.nvvm.i2f.rm",
+ "llvm.nvvm.i2f.rn",
+ "llvm.nvvm.i2f.rp",
+ "llvm.nvvm.i2f.rz",
+ "llvm.nvvm.isspacep.const",
+ "llvm.nvvm.isspacep.global",
+ "llvm.nvvm.isspacep.local",
+ "llvm.nvvm.isspacep.shared",
+ "llvm.nvvm.istypep.sampler",
+ "llvm.nvvm.istypep.surface",
+ "llvm.nvvm.istypep.texture",
+ "llvm.nvvm.ldg.global.f",
+ "llvm.nvvm.ldg.global.i",
+ "llvm.nvvm.ldg.global.p",
+ "llvm.nvvm.ldu.global.f",
+ "llvm.nvvm.ldu.global.i",
+ "llvm.nvvm.ldu.global.p",
+ "llvm.nvvm.lg2.approx.d",
+ "llvm.nvvm.lg2.approx.f",
+ "llvm.nvvm.lg2.approx.ftz.f",
+ "llvm.nvvm.ll2d.rm",
+ "llvm.nvvm.ll2d.rn",
+ "llvm.nvvm.ll2d.rp",
+ "llvm.nvvm.ll2d.rz",
+ "llvm.nvvm.ll2f.rm",
+ "llvm.nvvm.ll2f.rn",
+ "llvm.nvvm.ll2f.rp",
+ "llvm.nvvm.ll2f.rz",
+ "llvm.nvvm.lohi.i2d",
+ "llvm.nvvm.max.i",
+ "llvm.nvvm.max.ll",
+ "llvm.nvvm.max.ui",
+ "llvm.nvvm.max.ull",
+ "llvm.nvvm.membar.cta",
+ "llvm.nvvm.membar.gl",
+ "llvm.nvvm.membar.sys",
+ "llvm.nvvm.min.i",
+ "llvm.nvvm.min.ll",
+ "llvm.nvvm.min.ui",
+ "llvm.nvvm.min.ull",
+ "llvm.nvvm.move.double",
+ "llvm.nvvm.move.float",
+ "llvm.nvvm.move.i16",
+ "llvm.nvvm.move.i32",
+ "llvm.nvvm.move.i64",
+ "llvm.nvvm.move.ptr",
+ "llvm.nvvm.mul.rm.d",
+ "llvm.nvvm.mul.rm.f",
+ "llvm.nvvm.mul.rm.ftz.f",
+ "llvm.nvvm.mul.rn.d",
+ "llvm.nvvm.mul.rn.f",
+ "llvm.nvvm.mul.rn.ftz.f",
+ "llvm.nvvm.mul.rp.d",
+ "llvm.nvvm.mul.rp.f",
+ "llvm.nvvm.mul.rp.ftz.f",
+ "llvm.nvvm.mul.rz.d",
+ "llvm.nvvm.mul.rz.f",
+ "llvm.nvvm.mul.rz.ftz.f",
+ "llvm.nvvm.mul24.i",
+ "llvm.nvvm.mul24.ui",
+ "llvm.nvvm.mulhi.i",
+ "llvm.nvvm.mulhi.ll",
+ "llvm.nvvm.mulhi.ui",
+ "llvm.nvvm.mulhi.ull",
+ "llvm.nvvm.popc.i",
+ "llvm.nvvm.popc.ll",
+ "llvm.nvvm.prmt",
+ "llvm.nvvm.ptr.constant.to.gen",
+ "llvm.nvvm.ptr.gen.to.constant",
+ "llvm.nvvm.ptr.gen.to.global",
+ "llvm.nvvm.ptr.gen.to.local",
+ "llvm.nvvm.ptr.gen.to.param",
+ "llvm.nvvm.ptr.gen.to.shared",
+ "llvm.nvvm.ptr.global.to.gen",
+ "llvm.nvvm.ptr.local.to.gen",
+ "llvm.nvvm.ptr.shared.to.gen",
+ "llvm.nvvm.rcp.approx.ftz.d",
+ "llvm.nvvm.rcp.rm.d",
+ "llvm.nvvm.rcp.rm.f",
+ "llvm.nvvm.rcp.rm.ftz.f",
+ "llvm.nvvm.rcp.rn.d",
+ "llvm.nvvm.rcp.rn.f",
+ "llvm.nvvm.rcp.rn.ftz.f",
+ "llvm.nvvm.rcp.rp.d",
+ "llvm.nvvm.rcp.rp.f",
+ "llvm.nvvm.rcp.rp.ftz.f",
+ "llvm.nvvm.rcp.rz.d",
+ "llvm.nvvm.rcp.rz.f",
+ "llvm.nvvm.rcp.rz.ftz.f",
+ "llvm.nvvm.read.ptx.sreg.clock",
+ "llvm.nvvm.read.ptx.sreg.clock64",
+ "llvm.nvvm.read.ptx.sreg.ctaid.w",
+ "llvm.nvvm.read.ptx.sreg.ctaid.x",
+ "llvm.nvvm.read.ptx.sreg.ctaid.y",
+ "llvm.nvvm.read.ptx.sreg.ctaid.z",
+ "llvm.nvvm.read.ptx.sreg.envreg0",
+ "llvm.nvvm.read.ptx.sreg.envreg1",
+ "llvm.nvvm.read.ptx.sreg.envreg10",
+ "llvm.nvvm.read.ptx.sreg.envreg11",
+ "llvm.nvvm.read.ptx.sreg.envreg12",
+ "llvm.nvvm.read.ptx.sreg.envreg13",
+ "llvm.nvvm.read.ptx.sreg.envreg14",
+ "llvm.nvvm.read.ptx.sreg.envreg15",
+ "llvm.nvvm.read.ptx.sreg.envreg16",
+ "llvm.nvvm.read.ptx.sreg.envreg17",
+ "llvm.nvvm.read.ptx.sreg.envreg18",
+ "llvm.nvvm.read.ptx.sreg.envreg19",
+ "llvm.nvvm.read.ptx.sreg.envreg2",
+ "llvm.nvvm.read.ptx.sreg.envreg20",
+ "llvm.nvvm.read.ptx.sreg.envreg21",
+ "llvm.nvvm.read.ptx.sreg.envreg22",
+ "llvm.nvvm.read.ptx.sreg.envreg23",
+ "llvm.nvvm.read.ptx.sreg.envreg24",
+ "llvm.nvvm.read.ptx.sreg.envreg25",
+ "llvm.nvvm.read.ptx.sreg.envreg26",
+ "llvm.nvvm.read.ptx.sreg.envreg27",
+ "llvm.nvvm.read.ptx.sreg.envreg28",
+ "llvm.nvvm.read.ptx.sreg.envreg29",
+ "llvm.nvvm.read.ptx.sreg.envreg3",
+ "llvm.nvvm.read.ptx.sreg.envreg30",
+ "llvm.nvvm.read.ptx.sreg.envreg31",
+ "llvm.nvvm.read.ptx.sreg.envreg4",
+ "llvm.nvvm.read.ptx.sreg.envreg5",
+ "llvm.nvvm.read.ptx.sreg.envreg6",
+ "llvm.nvvm.read.ptx.sreg.envreg7",
+ "llvm.nvvm.read.ptx.sreg.envreg8",
+ "llvm.nvvm.read.ptx.sreg.envreg9",
+ "llvm.nvvm.read.ptx.sreg.gridid",
+ "llvm.nvvm.read.ptx.sreg.laneid",
+ "llvm.nvvm.read.ptx.sreg.lanemask.eq",
+ "llvm.nvvm.read.ptx.sreg.lanemask.ge",
+ "llvm.nvvm.read.ptx.sreg.lanemask.gt",
+ "llvm.nvvm.read.ptx.sreg.lanemask.le",
+ "llvm.nvvm.read.ptx.sreg.lanemask.lt",
+ "llvm.nvvm.read.ptx.sreg.nctaid.w",
+ "llvm.nvvm.read.ptx.sreg.nctaid.x",
+ "llvm.nvvm.read.ptx.sreg.nctaid.y",
+ "llvm.nvvm.read.ptx.sreg.nctaid.z",
+ "llvm.nvvm.read.ptx.sreg.nsmid",
+ "llvm.nvvm.read.ptx.sreg.ntid.w",
+ "llvm.nvvm.read.ptx.sreg.ntid.x",
+ "llvm.nvvm.read.ptx.sreg.ntid.y",
+ "llvm.nvvm.read.ptx.sreg.ntid.z",
+ "llvm.nvvm.read.ptx.sreg.nwarpid",
+ "llvm.nvvm.read.ptx.sreg.pm0",
+ "llvm.nvvm.read.ptx.sreg.pm1",
+ "llvm.nvvm.read.ptx.sreg.pm2",
+ "llvm.nvvm.read.ptx.sreg.pm3",
+ "llvm.nvvm.read.ptx.sreg.smid",
+ "llvm.nvvm.read.ptx.sreg.tid.w",
+ "llvm.nvvm.read.ptx.sreg.tid.x",
+ "llvm.nvvm.read.ptx.sreg.tid.y",
+ "llvm.nvvm.read.ptx.sreg.tid.z",
+ "llvm.nvvm.read.ptx.sreg.warpid",
+ "llvm.nvvm.read.ptx.sreg.warpsize",
+ "llvm.nvvm.reflect",
+ "llvm.nvvm.rotate.b32",
+ "llvm.nvvm.rotate.b64",
+ "llvm.nvvm.rotate.right.b64",
+ "llvm.nvvm.round.d",
+ "llvm.nvvm.round.f",
+ "llvm.nvvm.round.ftz.f",
+ "llvm.nvvm.rsqrt.approx.d",
+ "llvm.nvvm.rsqrt.approx.f",
+ "llvm.nvvm.rsqrt.approx.ftz.f",
+ "llvm.nvvm.sad.i",
+ "llvm.nvvm.sad.ui",
+ "llvm.nvvm.saturate.d",
+ "llvm.nvvm.saturate.f",
+ "llvm.nvvm.saturate.ftz.f",
+ "llvm.nvvm.shfl.bfly.f32",
+ "llvm.nvvm.shfl.bfly.i32",
+ "llvm.nvvm.shfl.down.f32",
+ "llvm.nvvm.shfl.down.i32",
+ "llvm.nvvm.shfl.idx.f32",
+ "llvm.nvvm.shfl.idx.i32",
+ "llvm.nvvm.shfl.up.f32",
+ "llvm.nvvm.shfl.up.i32",
+ "llvm.nvvm.sin.approx.f",
+ "llvm.nvvm.sin.approx.ftz.f",
+ "llvm.nvvm.sqrt.approx.f",
+ "llvm.nvvm.sqrt.approx.ftz.f",
+ "llvm.nvvm.sqrt.f",
+ "llvm.nvvm.sqrt.rm.d",
+ "llvm.nvvm.sqrt.rm.f",
+ "llvm.nvvm.sqrt.rm.ftz.f",
+ "llvm.nvvm.sqrt.rn.d",
+ "llvm.nvvm.sqrt.rn.f",
+ "llvm.nvvm.sqrt.rn.ftz.f",
+ "llvm.nvvm.sqrt.rp.d",
+ "llvm.nvvm.sqrt.rp.f",
+ "llvm.nvvm.sqrt.rp.ftz.f",
+ "llvm.nvvm.sqrt.rz.d",
+ "llvm.nvvm.sqrt.rz.f",
+ "llvm.nvvm.sqrt.rz.ftz.f",
+ "llvm.nvvm.suld.1d.array.i16.clamp",
+ "llvm.nvvm.suld.1d.array.i16.trap",
+ "llvm.nvvm.suld.1d.array.i16.zero",
+ "llvm.nvvm.suld.1d.array.i32.clamp",
+ "llvm.nvvm.suld.1d.array.i32.trap",
+ "llvm.nvvm.suld.1d.array.i32.zero",
+ "llvm.nvvm.suld.1d.array.i64.clamp",
+ "llvm.nvvm.suld.1d.array.i64.trap",
+ "llvm.nvvm.suld.1d.array.i64.zero",
+ "llvm.nvvm.suld.1d.array.i8.clamp",
+ "llvm.nvvm.suld.1d.array.i8.trap",
+ "llvm.nvvm.suld.1d.array.i8.zero",
+ "llvm.nvvm.suld.1d.array.v2i16.clamp",
+ "llvm.nvvm.suld.1d.array.v2i16.trap",
+ "llvm.nvvm.suld.1d.array.v2i16.zero",
+ "llvm.nvvm.suld.1d.array.v2i32.clamp",
+ "llvm.nvvm.suld.1d.array.v2i32.trap",
+ "llvm.nvvm.suld.1d.array.v2i32.zero",
+ "llvm.nvvm.suld.1d.array.v2i64.clamp",
+ "llvm.nvvm.suld.1d.array.v2i64.trap",
+ "llvm.nvvm.suld.1d.array.v2i64.zero",
+ "llvm.nvvm.suld.1d.array.v2i8.clamp",
+ "llvm.nvvm.suld.1d.array.v2i8.trap",
+ "llvm.nvvm.suld.1d.array.v2i8.zero",
+ "llvm.nvvm.suld.1d.array.v4i16.clamp",
+ "llvm.nvvm.suld.1d.array.v4i16.trap",
+ "llvm.nvvm.suld.1d.array.v4i16.zero",
+ "llvm.nvvm.suld.1d.array.v4i32.clamp",
+ "llvm.nvvm.suld.1d.array.v4i32.trap",
+ "llvm.nvvm.suld.1d.array.v4i32.zero",
+ "llvm.nvvm.suld.1d.array.v4i8.clamp",
+ "llvm.nvvm.suld.1d.array.v4i8.trap",
+ "llvm.nvvm.suld.1d.array.v4i8.zero",
+ "llvm.nvvm.suld.1d.i16.clamp",
+ "llvm.nvvm.suld.1d.i16.trap",
+ "llvm.nvvm.suld.1d.i16.zero",
+ "llvm.nvvm.suld.1d.i32.clamp",
+ "llvm.nvvm.suld.1d.i32.trap",
+ "llvm.nvvm.suld.1d.i32.zero",
+ "llvm.nvvm.suld.1d.i64.clamp",
+ "llvm.nvvm.suld.1d.i64.trap",
+ "llvm.nvvm.suld.1d.i64.zero",
+ "llvm.nvvm.suld.1d.i8.clamp",
+ "llvm.nvvm.suld.1d.i8.trap",
+ "llvm.nvvm.suld.1d.i8.zero",
+ "llvm.nvvm.suld.1d.v2i16.clamp",
+ "llvm.nvvm.suld.1d.v2i16.trap",
+ "llvm.nvvm.suld.1d.v2i16.zero",
+ "llvm.nvvm.suld.1d.v2i32.clamp",
+ "llvm.nvvm.suld.1d.v2i32.trap",
+ "llvm.nvvm.suld.1d.v2i32.zero",
+ "llvm.nvvm.suld.1d.v2i64.clamp",
+ "llvm.nvvm.suld.1d.v2i64.trap",
+ "llvm.nvvm.suld.1d.v2i64.zero",
+ "llvm.nvvm.suld.1d.v2i8.clamp",
+ "llvm.nvvm.suld.1d.v2i8.trap",
+ "llvm.nvvm.suld.1d.v2i8.zero",
+ "llvm.nvvm.suld.1d.v4i16.clamp",
+ "llvm.nvvm.suld.1d.v4i16.trap",
+ "llvm.nvvm.suld.1d.v4i16.zero",
+ "llvm.nvvm.suld.1d.v4i32.clamp",
+ "llvm.nvvm.suld.1d.v4i32.trap",
+ "llvm.nvvm.suld.1d.v4i32.zero",
+ "llvm.nvvm.suld.1d.v4i8.clamp",
+ "llvm.nvvm.suld.1d.v4i8.trap",
+ "llvm.nvvm.suld.1d.v4i8.zero",
+ "llvm.nvvm.suld.2d.array.i16.clamp",
+ "llvm.nvvm.suld.2d.array.i16.trap",
+ "llvm.nvvm.suld.2d.array.i16.zero",
+ "llvm.nvvm.suld.2d.array.i32.clamp",
+ "llvm.nvvm.suld.2d.array.i32.trap",
+ "llvm.nvvm.suld.2d.array.i32.zero",
+ "llvm.nvvm.suld.2d.array.i64.clamp",
+ "llvm.nvvm.suld.2d.array.i64.trap",
+ "llvm.nvvm.suld.2d.array.i64.zero",
+ "llvm.nvvm.suld.2d.array.i8.clamp",
+ "llvm.nvvm.suld.2d.array.i8.trap",
+ "llvm.nvvm.suld.2d.array.i8.zero",
+ "llvm.nvvm.suld.2d.array.v2i16.clamp",
+ "llvm.nvvm.suld.2d.array.v2i16.trap",
+ "llvm.nvvm.suld.2d.array.v2i16.zero",
+ "llvm.nvvm.suld.2d.array.v2i32.clamp",
+ "llvm.nvvm.suld.2d.array.v2i32.trap",
+ "llvm.nvvm.suld.2d.array.v2i32.zero",
+ "llvm.nvvm.suld.2d.array.v2i64.clamp",
+ "llvm.nvvm.suld.2d.array.v2i64.trap",
+ "llvm.nvvm.suld.2d.array.v2i64.zero",
+ "llvm.nvvm.suld.2d.array.v2i8.clamp",
+ "llvm.nvvm.suld.2d.array.v2i8.trap",
+ "llvm.nvvm.suld.2d.array.v2i8.zero",
+ "llvm.nvvm.suld.2d.array.v4i16.clamp",
+ "llvm.nvvm.suld.2d.array.v4i16.trap",
+ "llvm.nvvm.suld.2d.array.v4i16.zero",
+ "llvm.nvvm.suld.2d.array.v4i32.clamp",
+ "llvm.nvvm.suld.2d.array.v4i32.trap",
+ "llvm.nvvm.suld.2d.array.v4i32.zero",
+ "llvm.nvvm.suld.2d.array.v4i8.clamp",
+ "llvm.nvvm.suld.2d.array.v4i8.trap",
+ "llvm.nvvm.suld.2d.array.v4i8.zero",
+ "llvm.nvvm.suld.2d.i16.clamp",
+ "llvm.nvvm.suld.2d.i16.trap",
+ "llvm.nvvm.suld.2d.i16.zero",
+ "llvm.nvvm.suld.2d.i32.clamp",
+ "llvm.nvvm.suld.2d.i32.trap",
+ "llvm.nvvm.suld.2d.i32.zero",
+ "llvm.nvvm.suld.2d.i64.clamp",
+ "llvm.nvvm.suld.2d.i64.trap",
+ "llvm.nvvm.suld.2d.i64.zero",
+ "llvm.nvvm.suld.2d.i8.clamp",
+ "llvm.nvvm.suld.2d.i8.trap",
+ "llvm.nvvm.suld.2d.i8.zero",
+ "llvm.nvvm.suld.2d.v2i16.clamp",
+ "llvm.nvvm.suld.2d.v2i16.trap",
+ "llvm.nvvm.suld.2d.v2i16.zero",
+ "llvm.nvvm.suld.2d.v2i32.clamp",
+ "llvm.nvvm.suld.2d.v2i32.trap",
+ "llvm.nvvm.suld.2d.v2i32.zero",
+ "llvm.nvvm.suld.2d.v2i64.clamp",
+ "llvm.nvvm.suld.2d.v2i64.trap",
+ "llvm.nvvm.suld.2d.v2i64.zero",
+ "llvm.nvvm.suld.2d.v2i8.clamp",
+ "llvm.nvvm.suld.2d.v2i8.trap",
+ "llvm.nvvm.suld.2d.v2i8.zero",
+ "llvm.nvvm.suld.2d.v4i16.clamp",
+ "llvm.nvvm.suld.2d.v4i16.trap",
+ "llvm.nvvm.suld.2d.v4i16.zero",
+ "llvm.nvvm.suld.2d.v4i32.clamp",
+ "llvm.nvvm.suld.2d.v4i32.trap",
+ "llvm.nvvm.suld.2d.v4i32.zero",
+ "llvm.nvvm.suld.2d.v4i8.clamp",
+ "llvm.nvvm.suld.2d.v4i8.trap",
+ "llvm.nvvm.suld.2d.v4i8.zero",
+ "llvm.nvvm.suld.3d.i16.clamp",
+ "llvm.nvvm.suld.3d.i16.trap",
+ "llvm.nvvm.suld.3d.i16.zero",
+ "llvm.nvvm.suld.3d.i32.clamp",
+ "llvm.nvvm.suld.3d.i32.trap",
+ "llvm.nvvm.suld.3d.i32.zero",
+ "llvm.nvvm.suld.3d.i64.clamp",
+ "llvm.nvvm.suld.3d.i64.trap",
+ "llvm.nvvm.suld.3d.i64.zero",
+ "llvm.nvvm.suld.3d.i8.clamp",
+ "llvm.nvvm.suld.3d.i8.trap",
+ "llvm.nvvm.suld.3d.i8.zero",
+ "llvm.nvvm.suld.3d.v2i16.clamp",
+ "llvm.nvvm.suld.3d.v2i16.trap",
+ "llvm.nvvm.suld.3d.v2i16.zero",
+ "llvm.nvvm.suld.3d.v2i32.clamp",
+ "llvm.nvvm.suld.3d.v2i32.trap",
+ "llvm.nvvm.suld.3d.v2i32.zero",
+ "llvm.nvvm.suld.3d.v2i64.clamp",
+ "llvm.nvvm.suld.3d.v2i64.trap",
+ "llvm.nvvm.suld.3d.v2i64.zero",
+ "llvm.nvvm.suld.3d.v2i8.clamp",
+ "llvm.nvvm.suld.3d.v2i8.trap",
+ "llvm.nvvm.suld.3d.v2i8.zero",
+ "llvm.nvvm.suld.3d.v4i16.clamp",
+ "llvm.nvvm.suld.3d.v4i16.trap",
+ "llvm.nvvm.suld.3d.v4i16.zero",
+ "llvm.nvvm.suld.3d.v4i32.clamp",
+ "llvm.nvvm.suld.3d.v4i32.trap",
+ "llvm.nvvm.suld.3d.v4i32.zero",
+ "llvm.nvvm.suld.3d.v4i8.clamp",
+ "llvm.nvvm.suld.3d.v4i8.trap",
+ "llvm.nvvm.suld.3d.v4i8.zero",
+ "llvm.nvvm.suq.array.size",
+ "llvm.nvvm.suq.channel.data.type",
+ "llvm.nvvm.suq.channel.order",
+ "llvm.nvvm.suq.depth",
+ "llvm.nvvm.suq.height",
+ "llvm.nvvm.suq.width",
+ "llvm.nvvm.sust.b.1d.array.i16.clamp",
+ "llvm.nvvm.sust.b.1d.array.i16.trap",
+ "llvm.nvvm.sust.b.1d.array.i16.zero",
+ "llvm.nvvm.sust.b.1d.array.i32.clamp",
+ "llvm.nvvm.sust.b.1d.array.i32.trap",
+ "llvm.nvvm.sust.b.1d.array.i32.zero",
+ "llvm.nvvm.sust.b.1d.array.i64.clamp",
+ "llvm.nvvm.sust.b.1d.array.i64.trap",
+ "llvm.nvvm.sust.b.1d.array.i64.zero",
+ "llvm.nvvm.sust.b.1d.array.i8.clamp",
+ "llvm.nvvm.sust.b.1d.array.i8.trap",
+ "llvm.nvvm.sust.b.1d.array.i8.zero",
+ "llvm.nvvm.sust.b.1d.array.v2i16.clamp",
+ "llvm.nvvm.sust.b.1d.array.v2i16.trap",
+ "llvm.nvvm.sust.b.1d.array.v2i16.zero",
+ "llvm.nvvm.sust.b.1d.array.v2i32.clamp",
+ "llvm.nvvm.sust.b.1d.array.v2i32.trap",
+ "llvm.nvvm.sust.b.1d.array.v2i32.zero",
+ "llvm.nvvm.sust.b.1d.array.v2i64.clamp",
+ "llvm.nvvm.sust.b.1d.array.v2i64.trap",
+ "llvm.nvvm.sust.b.1d.array.v2i64.zero",
+ "llvm.nvvm.sust.b.1d.array.v2i8.clamp",
+ "llvm.nvvm.sust.b.1d.array.v2i8.trap",
+ "llvm.nvvm.sust.b.1d.array.v2i8.zero",
+ "llvm.nvvm.sust.b.1d.array.v4i16.clamp",
+ "llvm.nvvm.sust.b.1d.array.v4i16.trap",
+ "llvm.nvvm.sust.b.1d.array.v4i16.zero",
+ "llvm.nvvm.sust.b.1d.array.v4i32.clamp",
+ "llvm.nvvm.sust.b.1d.array.v4i32.trap",
+ "llvm.nvvm.sust.b.1d.array.v4i32.zero",
+ "llvm.nvvm.sust.b.1d.array.v4i8.clamp",
+ "llvm.nvvm.sust.b.1d.array.v4i8.trap",
+ "llvm.nvvm.sust.b.1d.array.v4i8.zero",
+ "llvm.nvvm.sust.b.1d.i16.clamp",
+ "llvm.nvvm.sust.b.1d.i16.trap",
+ "llvm.nvvm.sust.b.1d.i16.zero",
+ "llvm.nvvm.sust.b.1d.i32.clamp",
+ "llvm.nvvm.sust.b.1d.i32.trap",
+ "llvm.nvvm.sust.b.1d.i32.zero",
+ "llvm.nvvm.sust.b.1d.i64.clamp",
+ "llvm.nvvm.sust.b.1d.i64.trap",
+ "llvm.nvvm.sust.b.1d.i64.zero",
+ "llvm.nvvm.sust.b.1d.i8.clamp",
+ "llvm.nvvm.sust.b.1d.i8.trap",
+ "llvm.nvvm.sust.b.1d.i8.zero",
+ "llvm.nvvm.sust.b.1d.v2i16.clamp",
+ "llvm.nvvm.sust.b.1d.v2i16.trap",
+ "llvm.nvvm.sust.b.1d.v2i16.zero",
+ "llvm.nvvm.sust.b.1d.v2i32.clamp",
+ "llvm.nvvm.sust.b.1d.v2i32.trap",
+ "llvm.nvvm.sust.b.1d.v2i32.zero",
+ "llvm.nvvm.sust.b.1d.v2i64.clamp",
+ "llvm.nvvm.sust.b.1d.v2i64.trap",
+ "llvm.nvvm.sust.b.1d.v2i64.zero",
+ "llvm.nvvm.sust.b.1d.v2i8.clamp",
+ "llvm.nvvm.sust.b.1d.v2i8.trap",
+ "llvm.nvvm.sust.b.1d.v2i8.zero",
+ "llvm.nvvm.sust.b.1d.v4i16.clamp",
+ "llvm.nvvm.sust.b.1d.v4i16.trap",
+ "llvm.nvvm.sust.b.1d.v4i16.zero",
+ "llvm.nvvm.sust.b.1d.v4i32.clamp",
+ "llvm.nvvm.sust.b.1d.v4i32.trap",
+ "llvm.nvvm.sust.b.1d.v4i32.zero",
+ "llvm.nvvm.sust.b.1d.v4i8.clamp",
+ "llvm.nvvm.sust.b.1d.v4i8.trap",
+ "llvm.nvvm.sust.b.1d.v4i8.zero",
+ "llvm.nvvm.sust.b.2d.array.i16.clamp",
+ "llvm.nvvm.sust.b.2d.array.i16.trap",
+ "llvm.nvvm.sust.b.2d.array.i16.zero",
+ "llvm.nvvm.sust.b.2d.array.i32.clamp",
+ "llvm.nvvm.sust.b.2d.array.i32.trap",
+ "llvm.nvvm.sust.b.2d.array.i32.zero",
+ "llvm.nvvm.sust.b.2d.array.i64.clamp",
+ "llvm.nvvm.sust.b.2d.array.i64.trap",
+ "llvm.nvvm.sust.b.2d.array.i64.zero",
+ "llvm.nvvm.sust.b.2d.array.i8.clamp",
+ "llvm.nvvm.sust.b.2d.array.i8.trap",
+ "llvm.nvvm.sust.b.2d.array.i8.zero",
+ "llvm.nvvm.sust.b.2d.array.v2i16.clamp",
+ "llvm.nvvm.sust.b.2d.array.v2i16.trap",
+ "llvm.nvvm.sust.b.2d.array.v2i16.zero",
+ "llvm.nvvm.sust.b.2d.array.v2i32.clamp",
+ "llvm.nvvm.sust.b.2d.array.v2i32.trap",
+ "llvm.nvvm.sust.b.2d.array.v2i32.zero",
+ "llvm.nvvm.sust.b.2d.array.v2i64.clamp",
+ "llvm.nvvm.sust.b.2d.array.v2i64.trap",
+ "llvm.nvvm.sust.b.2d.array.v2i64.zero",
+ "llvm.nvvm.sust.b.2d.array.v2i8.clamp",
+ "llvm.nvvm.sust.b.2d.array.v2i8.trap",
+ "llvm.nvvm.sust.b.2d.array.v2i8.zero",
+ "llvm.nvvm.sust.b.2d.array.v4i16.clamp",
+ "llvm.nvvm.sust.b.2d.array.v4i16.trap",
+ "llvm.nvvm.sust.b.2d.array.v4i16.zero",
+ "llvm.nvvm.sust.b.2d.array.v4i32.clamp",
+ "llvm.nvvm.sust.b.2d.array.v4i32.trap",
+ "llvm.nvvm.sust.b.2d.array.v4i32.zero",
+ "llvm.nvvm.sust.b.2d.array.v4i8.clamp",
+ "llvm.nvvm.sust.b.2d.array.v4i8.trap",
+ "llvm.nvvm.sust.b.2d.array.v4i8.zero",
+ "llvm.nvvm.sust.b.2d.i16.clamp",
+ "llvm.nvvm.sust.b.2d.i16.trap",
+ "llvm.nvvm.sust.b.2d.i16.zero",
+ "llvm.nvvm.sust.b.2d.i32.clamp",
+ "llvm.nvvm.sust.b.2d.i32.trap",
+ "llvm.nvvm.sust.b.2d.i32.zero",
+ "llvm.nvvm.sust.b.2d.i64.clamp",
+ "llvm.nvvm.sust.b.2d.i64.trap",
+ "llvm.nvvm.sust.b.2d.i64.zero",
+ "llvm.nvvm.sust.b.2d.i8.clamp",
+ "llvm.nvvm.sust.b.2d.i8.trap",
+ "llvm.nvvm.sust.b.2d.i8.zero",
+ "llvm.nvvm.sust.b.2d.v2i16.clamp",
+ "llvm.nvvm.sust.b.2d.v2i16.trap",
+ "llvm.nvvm.sust.b.2d.v2i16.zero",
+ "llvm.nvvm.sust.b.2d.v2i32.clamp",
+ "llvm.nvvm.sust.b.2d.v2i32.trap",
+ "llvm.nvvm.sust.b.2d.v2i32.zero",
+ "llvm.nvvm.sust.b.2d.v2i64.clamp",
+ "llvm.nvvm.sust.b.2d.v2i64.trap",
+ "llvm.nvvm.sust.b.2d.v2i64.zero",
+ "llvm.nvvm.sust.b.2d.v2i8.clamp",
+ "llvm.nvvm.sust.b.2d.v2i8.trap",
+ "llvm.nvvm.sust.b.2d.v2i8.zero",
+ "llvm.nvvm.sust.b.2d.v4i16.clamp",
+ "llvm.nvvm.sust.b.2d.v4i16.trap",
+ "llvm.nvvm.sust.b.2d.v4i16.zero",
+ "llvm.nvvm.sust.b.2d.v4i32.clamp",
+ "llvm.nvvm.sust.b.2d.v4i32.trap",
+ "llvm.nvvm.sust.b.2d.v4i32.zero",
+ "llvm.nvvm.sust.b.2d.v4i8.clamp",
+ "llvm.nvvm.sust.b.2d.v4i8.trap",
+ "llvm.nvvm.sust.b.2d.v4i8.zero",
+ "llvm.nvvm.sust.b.3d.i16.clamp",
+ "llvm.nvvm.sust.b.3d.i16.trap",
+ "llvm.nvvm.sust.b.3d.i16.zero",
+ "llvm.nvvm.sust.b.3d.i32.clamp",
+ "llvm.nvvm.sust.b.3d.i32.trap",
+ "llvm.nvvm.sust.b.3d.i32.zero",
+ "llvm.nvvm.sust.b.3d.i64.clamp",
+ "llvm.nvvm.sust.b.3d.i64.trap",
+ "llvm.nvvm.sust.b.3d.i64.zero",
+ "llvm.nvvm.sust.b.3d.i8.clamp",
+ "llvm.nvvm.sust.b.3d.i8.trap",
+ "llvm.nvvm.sust.b.3d.i8.zero",
+ "llvm.nvvm.sust.b.3d.v2i16.clamp",
+ "llvm.nvvm.sust.b.3d.v2i16.trap",
+ "llvm.nvvm.sust.b.3d.v2i16.zero",
+ "llvm.nvvm.sust.b.3d.v2i32.clamp",
+ "llvm.nvvm.sust.b.3d.v2i32.trap",
+ "llvm.nvvm.sust.b.3d.v2i32.zero",
+ "llvm.nvvm.sust.b.3d.v2i64.clamp",
+ "llvm.nvvm.sust.b.3d.v2i64.trap",
+ "llvm.nvvm.sust.b.3d.v2i64.zero",
+ "llvm.nvvm.sust.b.3d.v2i8.clamp",
+ "llvm.nvvm.sust.b.3d.v2i8.trap",
+ "llvm.nvvm.sust.b.3d.v2i8.zero",
+ "llvm.nvvm.sust.b.3d.v4i16.clamp",
+ "llvm.nvvm.sust.b.3d.v4i16.trap",
+ "llvm.nvvm.sust.b.3d.v4i16.zero",
+ "llvm.nvvm.sust.b.3d.v4i32.clamp",
+ "llvm.nvvm.sust.b.3d.v4i32.trap",
+ "llvm.nvvm.sust.b.3d.v4i32.zero",
+ "llvm.nvvm.sust.b.3d.v4i8.clamp",
+ "llvm.nvvm.sust.b.3d.v4i8.trap",
+ "llvm.nvvm.sust.b.3d.v4i8.zero",
+ "llvm.nvvm.sust.p.1d.array.i16.trap",
+ "llvm.nvvm.sust.p.1d.array.i32.trap",
+ "llvm.nvvm.sust.p.1d.array.i8.trap",
+ "llvm.nvvm.sust.p.1d.array.v2i16.trap",
+ "llvm.nvvm.sust.p.1d.array.v2i32.trap",
+ "llvm.nvvm.sust.p.1d.array.v2i8.trap",
+ "llvm.nvvm.sust.p.1d.array.v4i16.trap",
+ "llvm.nvvm.sust.p.1d.array.v4i32.trap",
+ "llvm.nvvm.sust.p.1d.array.v4i8.trap",
+ "llvm.nvvm.sust.p.1d.i16.trap",
+ "llvm.nvvm.sust.p.1d.i32.trap",
+ "llvm.nvvm.sust.p.1d.i8.trap",
+ "llvm.nvvm.sust.p.1d.v2i16.trap",
+ "llvm.nvvm.sust.p.1d.v2i32.trap",
+ "llvm.nvvm.sust.p.1d.v2i8.trap",
+ "llvm.nvvm.sust.p.1d.v4i16.trap",
+ "llvm.nvvm.sust.p.1d.v4i32.trap",
+ "llvm.nvvm.sust.p.1d.v4i8.trap",
+ "llvm.nvvm.sust.p.2d.array.i16.trap",
+ "llvm.nvvm.sust.p.2d.array.i32.trap",
+ "llvm.nvvm.sust.p.2d.array.i8.trap",
+ "llvm.nvvm.sust.p.2d.array.v2i16.trap",
+ "llvm.nvvm.sust.p.2d.array.v2i32.trap",
+ "llvm.nvvm.sust.p.2d.array.v2i8.trap",
+ "llvm.nvvm.sust.p.2d.array.v4i16.trap",
+ "llvm.nvvm.sust.p.2d.array.v4i32.trap",
+ "llvm.nvvm.sust.p.2d.array.v4i8.trap",
+ "llvm.nvvm.sust.p.2d.i16.trap",
+ "llvm.nvvm.sust.p.2d.i32.trap",
+ "llvm.nvvm.sust.p.2d.i8.trap",
+ "llvm.nvvm.sust.p.2d.v2i16.trap",
+ "llvm.nvvm.sust.p.2d.v2i32.trap",
+ "llvm.nvvm.sust.p.2d.v2i8.trap",
+ "llvm.nvvm.sust.p.2d.v4i16.trap",
+ "llvm.nvvm.sust.p.2d.v4i32.trap",
+ "llvm.nvvm.sust.p.2d.v4i8.trap",
+ "llvm.nvvm.sust.p.3d.i16.trap",
+ "llvm.nvvm.sust.p.3d.i32.trap",
+ "llvm.nvvm.sust.p.3d.i8.trap",
+ "llvm.nvvm.sust.p.3d.v2i16.trap",
+ "llvm.nvvm.sust.p.3d.v2i32.trap",
+ "llvm.nvvm.sust.p.3d.v2i8.trap",
+ "llvm.nvvm.sust.p.3d.v4i16.trap",
+ "llvm.nvvm.sust.p.3d.v4i32.trap",
+ "llvm.nvvm.sust.p.3d.v4i8.trap",
+ "llvm.nvvm.swap.lo.hi.b64",
+ "llvm.nvvm.tex.1d.array.grad.v4f32.f32",
+ "llvm.nvvm.tex.1d.array.grad.v4s32.f32",
+ "llvm.nvvm.tex.1d.array.grad.v4u32.f32",
+ "llvm.nvvm.tex.1d.array.level.v4f32.f32",
+ "llvm.nvvm.tex.1d.array.level.v4s32.f32",
+ "llvm.nvvm.tex.1d.array.level.v4u32.f32",
+ "llvm.nvvm.tex.1d.array.v4f32.f32",
+ "llvm.nvvm.tex.1d.array.v4f32.s32",
+ "llvm.nvvm.tex.1d.array.v4s32.f32",
+ "llvm.nvvm.tex.1d.array.v4s32.s32",
+ "llvm.nvvm.tex.1d.array.v4u32.f32",
+ "llvm.nvvm.tex.1d.array.v4u32.s32",
+ "llvm.nvvm.tex.1d.grad.v4f32.f32",
+ "llvm.nvvm.tex.1d.grad.v4s32.f32",
+ "llvm.nvvm.tex.1d.grad.v4u32.f32",
+ "llvm.nvvm.tex.1d.level.v4f32.f32",
+ "llvm.nvvm.tex.1d.level.v4s32.f32",
+ "llvm.nvvm.tex.1d.level.v4u32.f32",
+ "llvm.nvvm.tex.1d.v4f32.f32",
+ "llvm.nvvm.tex.1d.v4f32.s32",
+ "llvm.nvvm.tex.1d.v4s32.f32",
+ "llvm.nvvm.tex.1d.v4s32.s32",
+ "llvm.nvvm.tex.1d.v4u32.f32",
+ "llvm.nvvm.tex.1d.v4u32.s32",
+ "llvm.nvvm.tex.2d.array.grad.v4f32.f32",
+ "llvm.nvvm.tex.2d.array.grad.v4s32.f32",
+ "llvm.nvvm.tex.2d.array.grad.v4u32.f32",
+ "llvm.nvvm.tex.2d.array.level.v4f32.f32",
+ "llvm.nvvm.tex.2d.array.level.v4s32.f32",
+ "llvm.nvvm.tex.2d.array.level.v4u32.f32",
+ "llvm.nvvm.tex.2d.array.v4f32.f32",
+ "llvm.nvvm.tex.2d.array.v4f32.s32",
+ "llvm.nvvm.tex.2d.array.v4s32.f32",
+ "llvm.nvvm.tex.2d.array.v4s32.s32",
+ "llvm.nvvm.tex.2d.array.v4u32.f32",
+ "llvm.nvvm.tex.2d.array.v4u32.s32",
+ "llvm.nvvm.tex.2d.grad.v4f32.f32",
+ "llvm.nvvm.tex.2d.grad.v4s32.f32",
+ "llvm.nvvm.tex.2d.grad.v4u32.f32",
+ "llvm.nvvm.tex.2d.level.v4f32.f32",
+ "llvm.nvvm.tex.2d.level.v4s32.f32",
+ "llvm.nvvm.tex.2d.level.v4u32.f32",
+ "llvm.nvvm.tex.2d.v4f32.f32",
+ "llvm.nvvm.tex.2d.v4f32.s32",
+ "llvm.nvvm.tex.2d.v4s32.f32",
+ "llvm.nvvm.tex.2d.v4s32.s32",
+ "llvm.nvvm.tex.2d.v4u32.f32",
+ "llvm.nvvm.tex.2d.v4u32.s32",
+ "llvm.nvvm.tex.3d.grad.v4f32.f32",
+ "llvm.nvvm.tex.3d.grad.v4s32.f32",
+ "llvm.nvvm.tex.3d.grad.v4u32.f32",
+ "llvm.nvvm.tex.3d.level.v4f32.f32",
+ "llvm.nvvm.tex.3d.level.v4s32.f32",
+ "llvm.nvvm.tex.3d.level.v4u32.f32",
+ "llvm.nvvm.tex.3d.v4f32.f32",
+ "llvm.nvvm.tex.3d.v4f32.s32",
+ "llvm.nvvm.tex.3d.v4s32.f32",
+ "llvm.nvvm.tex.3d.v4s32.s32",
+ "llvm.nvvm.tex.3d.v4u32.f32",
+ "llvm.nvvm.tex.3d.v4u32.s32",
+ "llvm.nvvm.tex.cube.array.level.v4f32.f32",
+ "llvm.nvvm.tex.cube.array.level.v4s32.f32",
+ "llvm.nvvm.tex.cube.array.level.v4u32.f32",
+ "llvm.nvvm.tex.cube.array.v4f32.f32",
+ "llvm.nvvm.tex.cube.array.v4s32.f32",
+ "llvm.nvvm.tex.cube.array.v4u32.f32",
+ "llvm.nvvm.tex.cube.level.v4f32.f32",
+ "llvm.nvvm.tex.cube.level.v4s32.f32",
+ "llvm.nvvm.tex.cube.level.v4u32.f32",
+ "llvm.nvvm.tex.cube.v4f32.f32",
+ "llvm.nvvm.tex.cube.v4s32.f32",
+ "llvm.nvvm.tex.cube.v4u32.f32",
+ "llvm.nvvm.tex.unified.1d.array.grad.v4f32.f32",
+ "llvm.nvvm.tex.unified.1d.array.grad.v4s32.f32",
+ "llvm.nvvm.tex.unified.1d.array.grad.v4u32.f32",
+ "llvm.nvvm.tex.unified.1d.array.level.v4f32.f32",
+ "llvm.nvvm.tex.unified.1d.array.level.v4s32.f32",
+ "llvm.nvvm.tex.unified.1d.array.level.v4u32.f32",
+ "llvm.nvvm.tex.unified.1d.array.v4f32.f32",
+ "llvm.nvvm.tex.unified.1d.array.v4f32.s32",
+ "llvm.nvvm.tex.unified.1d.array.v4s32.f32",
+ "llvm.nvvm.tex.unified.1d.array.v4s32.s32",
+ "llvm.nvvm.tex.unified.1d.array.v4u32.f32",
+ "llvm.nvvm.tex.unified.1d.array.v4u32.s32",
+ "llvm.nvvm.tex.unified.1d.grad.v4f32.f32",
+ "llvm.nvvm.tex.unified.1d.grad.v4s32.f32",
+ "llvm.nvvm.tex.unified.1d.grad.v4u32.f32",
+ "llvm.nvvm.tex.unified.1d.level.v4f32.f32",
+ "llvm.nvvm.tex.unified.1d.level.v4s32.f32",
+ "llvm.nvvm.tex.unified.1d.level.v4u32.f32",
+ "llvm.nvvm.tex.unified.1d.v4f32.f32",
+ "llvm.nvvm.tex.unified.1d.v4f32.s32",
+ "llvm.nvvm.tex.unified.1d.v4s32.f32",
+ "llvm.nvvm.tex.unified.1d.v4s32.s32",
+ "llvm.nvvm.tex.unified.1d.v4u32.f32",
+ "llvm.nvvm.tex.unified.1d.v4u32.s32",
+ "llvm.nvvm.tex.unified.2d.array.grad.v4f32.f32",
+ "llvm.nvvm.tex.unified.2d.array.grad.v4s32.f32",
+ "llvm.nvvm.tex.unified.2d.array.grad.v4u32.f32",
+ "llvm.nvvm.tex.unified.2d.array.level.v4f32.f32",
+ "llvm.nvvm.tex.unified.2d.array.level.v4s32.f32",
+ "llvm.nvvm.tex.unified.2d.array.level.v4u32.f32",
+ "llvm.nvvm.tex.unified.2d.array.v4f32.f32",
+ "llvm.nvvm.tex.unified.2d.array.v4f32.s32",
+ "llvm.nvvm.tex.unified.2d.array.v4s32.f32",
+ "llvm.nvvm.tex.unified.2d.array.v4s32.s32",
+ "llvm.nvvm.tex.unified.2d.array.v4u32.f32",
+ "llvm.nvvm.tex.unified.2d.array.v4u32.s32",
+ "llvm.nvvm.tex.unified.2d.grad.v4f32.f32",
+ "llvm.nvvm.tex.unified.2d.grad.v4s32.f32",
+ "llvm.nvvm.tex.unified.2d.grad.v4u32.f32",
+ "llvm.nvvm.tex.unified.2d.level.v4f32.f32",
+ "llvm.nvvm.tex.unified.2d.level.v4s32.f32",
+ "llvm.nvvm.tex.unified.2d.level.v4u32.f32",
+ "llvm.nvvm.tex.unified.2d.v4f32.f32",
+ "llvm.nvvm.tex.unified.2d.v4f32.s32",
+ "llvm.nvvm.tex.unified.2d.v4s32.f32",
+ "llvm.nvvm.tex.unified.2d.v4s32.s32",
+ "llvm.nvvm.tex.unified.2d.v4u32.f32",
+ "llvm.nvvm.tex.unified.2d.v4u32.s32",
+ "llvm.nvvm.tex.unified.3d.grad.v4f32.f32",
+ "llvm.nvvm.tex.unified.3d.grad.v4s32.f32",
+ "llvm.nvvm.tex.unified.3d.grad.v4u32.f32",
+ "llvm.nvvm.tex.unified.3d.level.v4f32.f32",
+ "llvm.nvvm.tex.unified.3d.level.v4s32.f32",
+ "llvm.nvvm.tex.unified.3d.level.v4u32.f32",
+ "llvm.nvvm.tex.unified.3d.v4f32.f32",
+ "llvm.nvvm.tex.unified.3d.v4f32.s32",
+ "llvm.nvvm.tex.unified.3d.v4s32.f32",
+ "llvm.nvvm.tex.unified.3d.v4s32.s32",
+ "llvm.nvvm.tex.unified.3d.v4u32.f32",
+ "llvm.nvvm.tex.unified.3d.v4u32.s32",
+ "llvm.nvvm.tex.unified.cube.array.level.v4f32.f32",
+ "llvm.nvvm.tex.unified.cube.array.level.v4s32.f32",
+ "llvm.nvvm.tex.unified.cube.array.level.v4u32.f32",
+ "llvm.nvvm.tex.unified.cube.array.v4f32.f32",
+ "llvm.nvvm.tex.unified.cube.array.v4s32.f32",
+ "llvm.nvvm.tex.unified.cube.array.v4u32.f32",
+ "llvm.nvvm.tex.unified.cube.level.v4f32.f32",
+ "llvm.nvvm.tex.unified.cube.level.v4s32.f32",
+ "llvm.nvvm.tex.unified.cube.level.v4u32.f32",
+ "llvm.nvvm.tex.unified.cube.v4f32.f32",
+ "llvm.nvvm.tex.unified.cube.v4s32.f32",
+ "llvm.nvvm.tex.unified.cube.v4u32.f32",
+ "llvm.nvvm.texsurf.handle",
+ "llvm.nvvm.texsurf.handle.internal",
+ "llvm.nvvm.tld4.a.2d.v4f32.f32",
+ "llvm.nvvm.tld4.a.2d.v4s32.f32",
+ "llvm.nvvm.tld4.a.2d.v4u32.f32",
+ "llvm.nvvm.tld4.b.2d.v4f32.f32",
+ "llvm.nvvm.tld4.b.2d.v4s32.f32",
+ "llvm.nvvm.tld4.b.2d.v4u32.f32",
+ "llvm.nvvm.tld4.g.2d.v4f32.f32",
+ "llvm.nvvm.tld4.g.2d.v4s32.f32",
+ "llvm.nvvm.tld4.g.2d.v4u32.f32",
+ "llvm.nvvm.tld4.r.2d.v4f32.f32",
+ "llvm.nvvm.tld4.r.2d.v4s32.f32",
+ "llvm.nvvm.tld4.r.2d.v4u32.f32",
+ "llvm.nvvm.tld4.unified.a.2d.v4f32.f32",
+ "llvm.nvvm.tld4.unified.a.2d.v4s32.f32",
+ "llvm.nvvm.tld4.unified.a.2d.v4u32.f32",
+ "llvm.nvvm.tld4.unified.b.2d.v4f32.f32",
+ "llvm.nvvm.tld4.unified.b.2d.v4s32.f32",
+ "llvm.nvvm.tld4.unified.b.2d.v4u32.f32",
+ "llvm.nvvm.tld4.unified.g.2d.v4f32.f32",
+ "llvm.nvvm.tld4.unified.g.2d.v4s32.f32",
+ "llvm.nvvm.tld4.unified.g.2d.v4u32.f32",
+ "llvm.nvvm.tld4.unified.r.2d.v4f32.f32",
+ "llvm.nvvm.tld4.unified.r.2d.v4s32.f32",
+ "llvm.nvvm.tld4.unified.r.2d.v4u32.f32",
+ "llvm.nvvm.trunc.d",
+ "llvm.nvvm.trunc.f",
+ "llvm.nvvm.trunc.ftz.f",
+ "llvm.nvvm.txq.array.size",
+ "llvm.nvvm.txq.channel.data.type",
+ "llvm.nvvm.txq.channel.order",
+ "llvm.nvvm.txq.depth",
+ "llvm.nvvm.txq.height",
+ "llvm.nvvm.txq.num.mipmap.levels",
+ "llvm.nvvm.txq.num.samples",
+ "llvm.nvvm.txq.width",
+ "llvm.nvvm.ui2d.rm",
+ "llvm.nvvm.ui2d.rn",
+ "llvm.nvvm.ui2d.rp",
+ "llvm.nvvm.ui2d.rz",
+ "llvm.nvvm.ui2f.rm",
+ "llvm.nvvm.ui2f.rn",
+ "llvm.nvvm.ui2f.rp",
+ "llvm.nvvm.ui2f.rz",
+ "llvm.nvvm.ull2d.rm",
+ "llvm.nvvm.ull2d.rn",
+ "llvm.nvvm.ull2d.rp",
+ "llvm.nvvm.ull2d.rz",
+ "llvm.nvvm.ull2f.rm",
+ "llvm.nvvm.ull2f.rn",
+ "llvm.nvvm.ull2f.rp",
+ "llvm.nvvm.ull2f.rz",
+ "llvm.ppc.altivec.crypto.vcipher",
+ "llvm.ppc.altivec.crypto.vcipherlast",
+ "llvm.ppc.altivec.crypto.vncipher",
+ "llvm.ppc.altivec.crypto.vncipherlast",
+ "llvm.ppc.altivec.crypto.vpermxor",
+ "llvm.ppc.altivec.crypto.vpmsumb",
+ "llvm.ppc.altivec.crypto.vpmsumd",
+ "llvm.ppc.altivec.crypto.vpmsumh",
+ "llvm.ppc.altivec.crypto.vpmsumw",
+ "llvm.ppc.altivec.crypto.vsbox",
+ "llvm.ppc.altivec.crypto.vshasigmad",
+ "llvm.ppc.altivec.crypto.vshasigmaw",
+ "llvm.ppc.altivec.dss",
+ "llvm.ppc.altivec.dssall",
+ "llvm.ppc.altivec.dst",
+ "llvm.ppc.altivec.dstst",
+ "llvm.ppc.altivec.dststt",
+ "llvm.ppc.altivec.dstt",
+ "llvm.ppc.altivec.lvebx",
+ "llvm.ppc.altivec.lvehx",
+ "llvm.ppc.altivec.lvewx",
+ "llvm.ppc.altivec.lvsl",
+ "llvm.ppc.altivec.lvsr",
+ "llvm.ppc.altivec.lvx",
+ "llvm.ppc.altivec.lvxl",
+ "llvm.ppc.altivec.mfvscr",
+ "llvm.ppc.altivec.mtvscr",
+ "llvm.ppc.altivec.stvebx",
+ "llvm.ppc.altivec.stvehx",
+ "llvm.ppc.altivec.stvewx",
+ "llvm.ppc.altivec.stvx",
+ "llvm.ppc.altivec.stvxl",
+ "llvm.ppc.altivec.vabsdub",
+ "llvm.ppc.altivec.vabsduh",
+ "llvm.ppc.altivec.vabsduw",
+ "llvm.ppc.altivec.vaddcuq",
+ "llvm.ppc.altivec.vaddcuw",
+ "llvm.ppc.altivec.vaddecuq",
+ "llvm.ppc.altivec.vaddeuqm",
+ "llvm.ppc.altivec.vaddsbs",
+ "llvm.ppc.altivec.vaddshs",
+ "llvm.ppc.altivec.vaddsws",
+ "llvm.ppc.altivec.vaddubs",
+ "llvm.ppc.altivec.vadduhs",
+ "llvm.ppc.altivec.vadduws",
+ "llvm.ppc.altivec.vavgsb",
+ "llvm.ppc.altivec.vavgsh",
+ "llvm.ppc.altivec.vavgsw",
+ "llvm.ppc.altivec.vavgub",
+ "llvm.ppc.altivec.vavguh",
+ "llvm.ppc.altivec.vavguw",
+ "llvm.ppc.altivec.vbpermq",
+ "llvm.ppc.altivec.vcfsx",
+ "llvm.ppc.altivec.vcfux",
+ "llvm.ppc.altivec.vclzlsbb",
+ "llvm.ppc.altivec.vcmpbfp",
+ "llvm.ppc.altivec.vcmpbfp.p",
+ "llvm.ppc.altivec.vcmpeqfp",
+ "llvm.ppc.altivec.vcmpeqfp.p",
+ "llvm.ppc.altivec.vcmpequb",
+ "llvm.ppc.altivec.vcmpequb.p",
+ "llvm.ppc.altivec.vcmpequd",
+ "llvm.ppc.altivec.vcmpequd.p",
+ "llvm.ppc.altivec.vcmpequh",
+ "llvm.ppc.altivec.vcmpequh.p",
+ "llvm.ppc.altivec.vcmpequw",
+ "llvm.ppc.altivec.vcmpequw.p",
+ "llvm.ppc.altivec.vcmpgefp",
+ "llvm.ppc.altivec.vcmpgefp.p",
+ "llvm.ppc.altivec.vcmpgtfp",
+ "llvm.ppc.altivec.vcmpgtfp.p",
+ "llvm.ppc.altivec.vcmpgtsb",
+ "llvm.ppc.altivec.vcmpgtsb.p",
+ "llvm.ppc.altivec.vcmpgtsd",
+ "llvm.ppc.altivec.vcmpgtsd.p",
+ "llvm.ppc.altivec.vcmpgtsh",
+ "llvm.ppc.altivec.vcmpgtsh.p",
+ "llvm.ppc.altivec.vcmpgtsw",
+ "llvm.ppc.altivec.vcmpgtsw.p",
+ "llvm.ppc.altivec.vcmpgtub",
+ "llvm.ppc.altivec.vcmpgtub.p",
+ "llvm.ppc.altivec.vcmpgtud",
+ "llvm.ppc.altivec.vcmpgtud.p",
+ "llvm.ppc.altivec.vcmpgtuh",
+ "llvm.ppc.altivec.vcmpgtuh.p",
+ "llvm.ppc.altivec.vcmpgtuw",
+ "llvm.ppc.altivec.vcmpgtuw.p",
+ "llvm.ppc.altivec.vcmpneb",
+ "llvm.ppc.altivec.vcmpneb.p",
+ "llvm.ppc.altivec.vcmpneh",
+ "llvm.ppc.altivec.vcmpneh.p",
+ "llvm.ppc.altivec.vcmpnew",
+ "llvm.ppc.altivec.vcmpnew.p",
+ "llvm.ppc.altivec.vcmpnezb",
+ "llvm.ppc.altivec.vcmpnezb.p",
+ "llvm.ppc.altivec.vcmpnezh",
+ "llvm.ppc.altivec.vcmpnezh.p",
+ "llvm.ppc.altivec.vcmpnezw",
+ "llvm.ppc.altivec.vcmpnezw.p",
+ "llvm.ppc.altivec.vctsxs",
+ "llvm.ppc.altivec.vctuxs",
+ "llvm.ppc.altivec.vctzlsbb",
+ "llvm.ppc.altivec.vexptefp",
+ "llvm.ppc.altivec.vgbbd",
+ "llvm.ppc.altivec.vlogefp",
+ "llvm.ppc.altivec.vmaddfp",
+ "llvm.ppc.altivec.vmaxfp",
+ "llvm.ppc.altivec.vmaxsb",
+ "llvm.ppc.altivec.vmaxsd",
+ "llvm.ppc.altivec.vmaxsh",
+ "llvm.ppc.altivec.vmaxsw",
+ "llvm.ppc.altivec.vmaxub",
+ "llvm.ppc.altivec.vmaxud",
+ "llvm.ppc.altivec.vmaxuh",
+ "llvm.ppc.altivec.vmaxuw",
+ "llvm.ppc.altivec.vmhaddshs",
+ "llvm.ppc.altivec.vmhraddshs",
+ "llvm.ppc.altivec.vminfp",
+ "llvm.ppc.altivec.vminsb",
+ "llvm.ppc.altivec.vminsd",
+ "llvm.ppc.altivec.vminsh",
+ "llvm.ppc.altivec.vminsw",
+ "llvm.ppc.altivec.vminub",
+ "llvm.ppc.altivec.vminud",
+ "llvm.ppc.altivec.vminuh",
+ "llvm.ppc.altivec.vminuw",
+ "llvm.ppc.altivec.vmladduhm",
+ "llvm.ppc.altivec.vmsummbm",
+ "llvm.ppc.altivec.vmsumshm",
+ "llvm.ppc.altivec.vmsumshs",
+ "llvm.ppc.altivec.vmsumubm",
+ "llvm.ppc.altivec.vmsumuhm",
+ "llvm.ppc.altivec.vmsumuhs",
+ "llvm.ppc.altivec.vmulesb",
+ "llvm.ppc.altivec.vmulesh",
+ "llvm.ppc.altivec.vmulesw",
+ "llvm.ppc.altivec.vmuleub",
+ "llvm.ppc.altivec.vmuleuh",
+ "llvm.ppc.altivec.vmuleuw",
+ "llvm.ppc.altivec.vmulosb",
+ "llvm.ppc.altivec.vmulosh",
+ "llvm.ppc.altivec.vmulosw",
+ "llvm.ppc.altivec.vmuloub",
+ "llvm.ppc.altivec.vmulouh",
+ "llvm.ppc.altivec.vmulouw",
+ "llvm.ppc.altivec.vnmsubfp",
+ "llvm.ppc.altivec.vperm",
+ "llvm.ppc.altivec.vpkpx",
+ "llvm.ppc.altivec.vpksdss",
+ "llvm.ppc.altivec.vpksdus",
+ "llvm.ppc.altivec.vpkshss",
+ "llvm.ppc.altivec.vpkshus",
+ "llvm.ppc.altivec.vpkswss",
+ "llvm.ppc.altivec.vpkswus",
+ "llvm.ppc.altivec.vpkudus",
+ "llvm.ppc.altivec.vpkuhus",
+ "llvm.ppc.altivec.vpkuwus",
+ "llvm.ppc.altivec.vprtybd",
+ "llvm.ppc.altivec.vprtybq",
+ "llvm.ppc.altivec.vprtybw",
+ "llvm.ppc.altivec.vrefp",
+ "llvm.ppc.altivec.vrfim",
+ "llvm.ppc.altivec.vrfin",
+ "llvm.ppc.altivec.vrfip",
+ "llvm.ppc.altivec.vrfiz",
+ "llvm.ppc.altivec.vrlb",
+ "llvm.ppc.altivec.vrld",
+ "llvm.ppc.altivec.vrldmi",
+ "llvm.ppc.altivec.vrldnm",
+ "llvm.ppc.altivec.vrlh",
+ "llvm.ppc.altivec.vrlw",
+ "llvm.ppc.altivec.vrlwmi",
+ "llvm.ppc.altivec.vrlwnm",
+ "llvm.ppc.altivec.vrsqrtefp",
+ "llvm.ppc.altivec.vsel",
+ "llvm.ppc.altivec.vsl",
+ "llvm.ppc.altivec.vslb",
+ "llvm.ppc.altivec.vslh",
+ "llvm.ppc.altivec.vslo",
+ "llvm.ppc.altivec.vslv",
+ "llvm.ppc.altivec.vslw",
+ "llvm.ppc.altivec.vsr",
+ "llvm.ppc.altivec.vsrab",
+ "llvm.ppc.altivec.vsrah",
+ "llvm.ppc.altivec.vsraw",
+ "llvm.ppc.altivec.vsrb",
+ "llvm.ppc.altivec.vsrh",
+ "llvm.ppc.altivec.vsro",
+ "llvm.ppc.altivec.vsrv",
+ "llvm.ppc.altivec.vsrw",
+ "llvm.ppc.altivec.vsubcuq",
+ "llvm.ppc.altivec.vsubcuw",
+ "llvm.ppc.altivec.vsubecuq",
+ "llvm.ppc.altivec.vsubeuqm",
+ "llvm.ppc.altivec.vsubsbs",
+ "llvm.ppc.altivec.vsubshs",
+ "llvm.ppc.altivec.vsubsws",
+ "llvm.ppc.altivec.vsububs",
+ "llvm.ppc.altivec.vsubuhs",
+ "llvm.ppc.altivec.vsubuws",
+ "llvm.ppc.altivec.vsum2sws",
+ "llvm.ppc.altivec.vsum4sbs",
+ "llvm.ppc.altivec.vsum4shs",
+ "llvm.ppc.altivec.vsum4ubs",
+ "llvm.ppc.altivec.vsumsws",
+ "llvm.ppc.altivec.vupkhpx",
+ "llvm.ppc.altivec.vupkhsb",
+ "llvm.ppc.altivec.vupkhsh",
+ "llvm.ppc.altivec.vupkhsw",
+ "llvm.ppc.altivec.vupklpx",
+ "llvm.ppc.altivec.vupklsb",
+ "llvm.ppc.altivec.vupklsh",
+ "llvm.ppc.altivec.vupklsw",
+ "llvm.ppc.bpermd",
+ "llvm.ppc.dcba",
+ "llvm.ppc.dcbf",
+ "llvm.ppc.dcbi",
+ "llvm.ppc.dcbst",
+ "llvm.ppc.dcbt",
+ "llvm.ppc.dcbtst",
+ "llvm.ppc.dcbz",
+ "llvm.ppc.dcbzl",
+ "llvm.ppc.divde",
+ "llvm.ppc.divdeu",
+ "llvm.ppc.divwe",
+ "llvm.ppc.divweu",
+ "llvm.ppc.get.texasr",
+ "llvm.ppc.get.texasru",
+ "llvm.ppc.get.tfhar",
+ "llvm.ppc.get.tfiar",
+ "llvm.ppc.is.decremented.ctr.nonzero",
+ "llvm.ppc.lwsync",
+ "llvm.ppc.mtctr",
+ "llvm.ppc.qpx.qvfabs",
+ "llvm.ppc.qpx.qvfadd",
+ "llvm.ppc.qpx.qvfadds",
+ "llvm.ppc.qpx.qvfcfid",
+ "llvm.ppc.qpx.qvfcfids",
+ "llvm.ppc.qpx.qvfcfidu",
+ "llvm.ppc.qpx.qvfcfidus",
+ "llvm.ppc.qpx.qvfcmpeq",
+ "llvm.ppc.qpx.qvfcmpgt",
+ "llvm.ppc.qpx.qvfcmplt",
+ "llvm.ppc.qpx.qvfcpsgn",
+ "llvm.ppc.qpx.qvfctid",
+ "llvm.ppc.qpx.qvfctidu",
+ "llvm.ppc.qpx.qvfctiduz",
+ "llvm.ppc.qpx.qvfctidz",
+ "llvm.ppc.qpx.qvfctiw",
+ "llvm.ppc.qpx.qvfctiwu",
+ "llvm.ppc.qpx.qvfctiwuz",
+ "llvm.ppc.qpx.qvfctiwz",
+ "llvm.ppc.qpx.qvflogical",
+ "llvm.ppc.qpx.qvfmadd",
+ "llvm.ppc.qpx.qvfmadds",
+ "llvm.ppc.qpx.qvfmsub",
+ "llvm.ppc.qpx.qvfmsubs",
+ "llvm.ppc.qpx.qvfmul",
+ "llvm.ppc.qpx.qvfmuls",
+ "llvm.ppc.qpx.qvfnabs",
+ "llvm.ppc.qpx.qvfneg",
+ "llvm.ppc.qpx.qvfnmadd",
+ "llvm.ppc.qpx.qvfnmadds",
+ "llvm.ppc.qpx.qvfnmsub",
+ "llvm.ppc.qpx.qvfnmsubs",
+ "llvm.ppc.qpx.qvfperm",
+ "llvm.ppc.qpx.qvfre",
+ "llvm.ppc.qpx.qvfres",
+ "llvm.ppc.qpx.qvfrim",
+ "llvm.ppc.qpx.qvfrin",
+ "llvm.ppc.qpx.qvfrip",
+ "llvm.ppc.qpx.qvfriz",
+ "llvm.ppc.qpx.qvfrsp",
+ "llvm.ppc.qpx.qvfrsqrte",
+ "llvm.ppc.qpx.qvfrsqrtes",
+ "llvm.ppc.qpx.qvfsel",
+ "llvm.ppc.qpx.qvfsub",
+ "llvm.ppc.qpx.qvfsubs",
+ "llvm.ppc.qpx.qvftstnan",
+ "llvm.ppc.qpx.qvfxmadd",
+ "llvm.ppc.qpx.qvfxmadds",
+ "llvm.ppc.qpx.qvfxmul",
+ "llvm.ppc.qpx.qvfxmuls",
+ "llvm.ppc.qpx.qvfxxcpnmadd",
+ "llvm.ppc.qpx.qvfxxcpnmadds",
+ "llvm.ppc.qpx.qvfxxmadd",
+ "llvm.ppc.qpx.qvfxxmadds",
+ "llvm.ppc.qpx.qvfxxnpmadd",
+ "llvm.ppc.qpx.qvfxxnpmadds",
+ "llvm.ppc.qpx.qvgpci",
+ "llvm.ppc.qpx.qvlfcd",
+ "llvm.ppc.qpx.qvlfcda",
+ "llvm.ppc.qpx.qvlfcs",
+ "llvm.ppc.qpx.qvlfcsa",
+ "llvm.ppc.qpx.qvlfd",
+ "llvm.ppc.qpx.qvlfda",
+ "llvm.ppc.qpx.qvlfiwa",
+ "llvm.ppc.qpx.qvlfiwaa",
+ "llvm.ppc.qpx.qvlfiwz",
+ "llvm.ppc.qpx.qvlfiwza",
+ "llvm.ppc.qpx.qvlfs",
+ "llvm.ppc.qpx.qvlfsa",
+ "llvm.ppc.qpx.qvlpcld",
+ "llvm.ppc.qpx.qvlpcls",
+ "llvm.ppc.qpx.qvlpcrd",
+ "llvm.ppc.qpx.qvlpcrs",
+ "llvm.ppc.qpx.qvstfcd",
+ "llvm.ppc.qpx.qvstfcda",
+ "llvm.ppc.qpx.qvstfcs",
+ "llvm.ppc.qpx.qvstfcsa",
+ "llvm.ppc.qpx.qvstfd",
+ "llvm.ppc.qpx.qvstfda",
+ "llvm.ppc.qpx.qvstfiw",
+ "llvm.ppc.qpx.qvstfiwa",
+ "llvm.ppc.qpx.qvstfs",
+ "llvm.ppc.qpx.qvstfsa",
+ "llvm.ppc.set.texasr",
+ "llvm.ppc.set.texasru",
+ "llvm.ppc.set.tfhar",
+ "llvm.ppc.set.tfiar",
+ "llvm.ppc.sync",
+ "llvm.ppc.tabort",
+ "llvm.ppc.tabortdc",
+ "llvm.ppc.tabortdci",
+ "llvm.ppc.tabortwc",
+ "llvm.ppc.tabortwci",
+ "llvm.ppc.tbegin",
+ "llvm.ppc.tcheck",
+ "llvm.ppc.tend",
+ "llvm.ppc.tendall",
+ "llvm.ppc.trechkpt",
+ "llvm.ppc.treclaim",
+ "llvm.ppc.tresume",
+ "llvm.ppc.tsr",
+ "llvm.ppc.tsuspend",
+ "llvm.ppc.ttest",
+ "llvm.ppc.vsx.lxvd2x",
+ "llvm.ppc.vsx.lxvd2x.be",
+ "llvm.ppc.vsx.lxvl",
+ "llvm.ppc.vsx.lxvll",
+ "llvm.ppc.vsx.lxvw4x",
+ "llvm.ppc.vsx.lxvw4x.be",
+ "llvm.ppc.vsx.stxvd2x",
+ "llvm.ppc.vsx.stxvd2x.be",
+ "llvm.ppc.vsx.stxvl",
+ "llvm.ppc.vsx.stxvll",
+ "llvm.ppc.vsx.stxvw4x",
+ "llvm.ppc.vsx.stxvw4x.be",
+ "llvm.ppc.vsx.xsmaxdp",
+ "llvm.ppc.vsx.xsmindp",
+ "llvm.ppc.vsx.xvcmpeqdp",
+ "llvm.ppc.vsx.xvcmpeqdp.p",
+ "llvm.ppc.vsx.xvcmpeqsp",
+ "llvm.ppc.vsx.xvcmpeqsp.p",
+ "llvm.ppc.vsx.xvcmpgedp",
+ "llvm.ppc.vsx.xvcmpgedp.p",
+ "llvm.ppc.vsx.xvcmpgesp",
+ "llvm.ppc.vsx.xvcmpgesp.p",
+ "llvm.ppc.vsx.xvcmpgtdp",
+ "llvm.ppc.vsx.xvcmpgtdp.p",
+ "llvm.ppc.vsx.xvcmpgtsp",
+ "llvm.ppc.vsx.xvcmpgtsp.p",
+ "llvm.ppc.vsx.xvcvdpsp",
+ "llvm.ppc.vsx.xvcvdpsxws",
+ "llvm.ppc.vsx.xvcvdpuxws",
+ "llvm.ppc.vsx.xvcvhpsp",
+ "llvm.ppc.vsx.xvcvspdp",
+ "llvm.ppc.vsx.xvcvsphp",
+ "llvm.ppc.vsx.xvcvsxdsp",
+ "llvm.ppc.vsx.xvcvsxwdp",
+ "llvm.ppc.vsx.xvcvuxdsp",
+ "llvm.ppc.vsx.xvcvuxwdp",
+ "llvm.ppc.vsx.xvdivdp",
+ "llvm.ppc.vsx.xvdivsp",
+ "llvm.ppc.vsx.xviexpdp",
+ "llvm.ppc.vsx.xviexpsp",
+ "llvm.ppc.vsx.xvmaxdp",
+ "llvm.ppc.vsx.xvmaxsp",
+ "llvm.ppc.vsx.xvmindp",
+ "llvm.ppc.vsx.xvminsp",
+ "llvm.ppc.vsx.xvrdpip",
+ "llvm.ppc.vsx.xvredp",
+ "llvm.ppc.vsx.xvresp",
+ "llvm.ppc.vsx.xvrspip",
+ "llvm.ppc.vsx.xvrsqrtedp",
+ "llvm.ppc.vsx.xvrsqrtesp",
+ "llvm.ppc.vsx.xvtstdcdp",
+ "llvm.ppc.vsx.xvtstdcsp",
+ "llvm.ppc.vsx.xvxexpdp",
+ "llvm.ppc.vsx.xvxexpsp",
+ "llvm.ppc.vsx.xvxsigdp",
+ "llvm.ppc.vsx.xvxsigsp",
+ "llvm.ppc.vsx.xxextractuw",
+ "llvm.ppc.vsx.xxinsertw",
+ "llvm.ppc.vsx.xxleqv",
+ "llvm.r600.group.barrier",
+ "llvm.r600.implicitarg.ptr",
+ "llvm.r600.rat.store.typed",
+ "llvm.r600.read.global.size.x",
+ "llvm.r600.read.global.size.y",
+ "llvm.r600.read.global.size.z",
+ "llvm.r600.read.local.size.x",
+ "llvm.r600.read.local.size.y",
+ "llvm.r600.read.local.size.z",
+ "llvm.r600.read.ngroups.x",
+ "llvm.r600.read.ngroups.y",
+ "llvm.r600.read.ngroups.z",
+ "llvm.r600.read.tgid.x",
+ "llvm.r600.read.tgid.y",
+ "llvm.r600.read.tgid.z",
+ "llvm.r600.read.tidig.x",
+ "llvm.r600.read.tidig.y",
+ "llvm.r600.read.tidig.z",
+ "llvm.r600.recipsqrt.clamped",
+ "llvm.r600.recipsqrt.ieee",
+ "llvm.s390.efpc",
+ "llvm.s390.etnd",
+ "llvm.s390.lcbb",
+ "llvm.s390.ntstg",
+ "llvm.s390.ppa.txassist",
+ "llvm.s390.sfpc",
+ "llvm.s390.tabort",
+ "llvm.s390.tbegin",
+ "llvm.s390.tbegin.nofloat",
+ "llvm.s390.tbeginc",
+ "llvm.s390.tdc",
+ "llvm.s390.tend",
+ "llvm.s390.vaccb",
+ "llvm.s390.vacccq",
+ "llvm.s390.vaccf",
+ "llvm.s390.vaccg",
+ "llvm.s390.vacch",
+ "llvm.s390.vaccq",
+ "llvm.s390.vacq",
+ "llvm.s390.vaq",
+ "llvm.s390.vavgb",
+ "llvm.s390.vavgf",
+ "llvm.s390.vavgg",
+ "llvm.s390.vavgh",
+ "llvm.s390.vavglb",
+ "llvm.s390.vavglf",
+ "llvm.s390.vavglg",
+ "llvm.s390.vavglh",
+ "llvm.s390.vceqbs",
+ "llvm.s390.vceqfs",
+ "llvm.s390.vceqgs",
+ "llvm.s390.vceqhs",
+ "llvm.s390.vchbs",
+ "llvm.s390.vchfs",
+ "llvm.s390.vchgs",
+ "llvm.s390.vchhs",
+ "llvm.s390.vchlbs",
+ "llvm.s390.vchlfs",
+ "llvm.s390.vchlgs",
+ "llvm.s390.vchlhs",
+ "llvm.s390.vcksm",
+ "llvm.s390.verimb",
+ "llvm.s390.verimf",
+ "llvm.s390.verimg",
+ "llvm.s390.verimh",
+ "llvm.s390.verllb",
+ "llvm.s390.verllf",
+ "llvm.s390.verllg",
+ "llvm.s390.verllh",
+ "llvm.s390.verllvb",
+ "llvm.s390.verllvf",
+ "llvm.s390.verllvg",
+ "llvm.s390.verllvh",
+ "llvm.s390.vfaeb",
+ "llvm.s390.vfaebs",
+ "llvm.s390.vfaef",
+ "llvm.s390.vfaefs",
+ "llvm.s390.vfaeh",
+ "llvm.s390.vfaehs",
+ "llvm.s390.vfaezb",
+ "llvm.s390.vfaezbs",
+ "llvm.s390.vfaezf",
+ "llvm.s390.vfaezfs",
+ "llvm.s390.vfaezh",
+ "llvm.s390.vfaezhs",
+ "llvm.s390.vfcedbs",
+ "llvm.s390.vfchdbs",
+ "llvm.s390.vfchedbs",
+ "llvm.s390.vfeeb",
+ "llvm.s390.vfeebs",
+ "llvm.s390.vfeef",
+ "llvm.s390.vfeefs",
+ "llvm.s390.vfeeh",
+ "llvm.s390.vfeehs",
+ "llvm.s390.vfeezb",
+ "llvm.s390.vfeezbs",
+ "llvm.s390.vfeezf",
+ "llvm.s390.vfeezfs",
+ "llvm.s390.vfeezh",
+ "llvm.s390.vfeezhs",
+ "llvm.s390.vfeneb",
+ "llvm.s390.vfenebs",
+ "llvm.s390.vfenef",
+ "llvm.s390.vfenefs",
+ "llvm.s390.vfeneh",
+ "llvm.s390.vfenehs",
+ "llvm.s390.vfenezb",
+ "llvm.s390.vfenezbs",
+ "llvm.s390.vfenezf",
+ "llvm.s390.vfenezfs",
+ "llvm.s390.vfenezh",
+ "llvm.s390.vfenezhs",
+ "llvm.s390.vfidb",
+ "llvm.s390.vftcidb",
+ "llvm.s390.vgfmab",
+ "llvm.s390.vgfmaf",
+ "llvm.s390.vgfmag",
+ "llvm.s390.vgfmah",
+ "llvm.s390.vgfmb",
+ "llvm.s390.vgfmf",
+ "llvm.s390.vgfmg",
+ "llvm.s390.vgfmh",
+ "llvm.s390.vistrb",
+ "llvm.s390.vistrbs",
+ "llvm.s390.vistrf",
+ "llvm.s390.vistrfs",
+ "llvm.s390.vistrh",
+ "llvm.s390.vistrhs",
+ "llvm.s390.vlbb",
+ "llvm.s390.vll",
+ "llvm.s390.vmaeb",
+ "llvm.s390.vmaef",
+ "llvm.s390.vmaeh",
+ "llvm.s390.vmahb",
+ "llvm.s390.vmahf",
+ "llvm.s390.vmahh",
+ "llvm.s390.vmaleb",
+ "llvm.s390.vmalef",
+ "llvm.s390.vmaleh",
+ "llvm.s390.vmalhb",
+ "llvm.s390.vmalhf",
+ "llvm.s390.vmalhh",
+ "llvm.s390.vmalob",
+ "llvm.s390.vmalof",
+ "llvm.s390.vmaloh",
+ "llvm.s390.vmaob",
+ "llvm.s390.vmaof",
+ "llvm.s390.vmaoh",
+ "llvm.s390.vmeb",
+ "llvm.s390.vmef",
+ "llvm.s390.vmeh",
+ "llvm.s390.vmhb",
+ "llvm.s390.vmhf",
+ "llvm.s390.vmhh",
+ "llvm.s390.vmleb",
+ "llvm.s390.vmlef",
+ "llvm.s390.vmleh",
+ "llvm.s390.vmlhb",
+ "llvm.s390.vmlhf",
+ "llvm.s390.vmlhh",
+ "llvm.s390.vmlob",
+ "llvm.s390.vmlof",
+ "llvm.s390.vmloh",
+ "llvm.s390.vmob",
+ "llvm.s390.vmof",
+ "llvm.s390.vmoh",
+ "llvm.s390.vpdi",
+ "llvm.s390.vperm",
+ "llvm.s390.vpklsf",
+ "llvm.s390.vpklsfs",
+ "llvm.s390.vpklsg",
+ "llvm.s390.vpklsgs",
+ "llvm.s390.vpklsh",
+ "llvm.s390.vpklshs",
+ "llvm.s390.vpksf",
+ "llvm.s390.vpksfs",
+ "llvm.s390.vpksg",
+ "llvm.s390.vpksgs",
+ "llvm.s390.vpksh",
+ "llvm.s390.vpkshs",
+ "llvm.s390.vsbcbiq",
+ "llvm.s390.vsbiq",
+ "llvm.s390.vscbib",
+ "llvm.s390.vscbif",
+ "llvm.s390.vscbig",
+ "llvm.s390.vscbih",
+ "llvm.s390.vscbiq",
+ "llvm.s390.vsl",
+ "llvm.s390.vslb",
+ "llvm.s390.vsldb",
+ "llvm.s390.vsq",
+ "llvm.s390.vsra",
+ "llvm.s390.vsrab",
+ "llvm.s390.vsrl",
+ "llvm.s390.vsrlb",
+ "llvm.s390.vstl",
+ "llvm.s390.vstrcb",
+ "llvm.s390.vstrcbs",
+ "llvm.s390.vstrcf",
+ "llvm.s390.vstrcfs",
+ "llvm.s390.vstrch",
+ "llvm.s390.vstrchs",
+ "llvm.s390.vstrczb",
+ "llvm.s390.vstrczbs",
+ "llvm.s390.vstrczf",
+ "llvm.s390.vstrczfs",
+ "llvm.s390.vstrczh",
+ "llvm.s390.vstrczhs",
+ "llvm.s390.vsumb",
+ "llvm.s390.vsumgf",
+ "llvm.s390.vsumgh",
+ "llvm.s390.vsumh",
+ "llvm.s390.vsumqf",
+ "llvm.s390.vsumqg",
+ "llvm.s390.vtm",
+ "llvm.s390.vuphb",
+ "llvm.s390.vuphf",
+ "llvm.s390.vuphh",
+ "llvm.s390.vuplb",
+ "llvm.s390.vuplf",
+ "llvm.s390.vuplhb",
+ "llvm.s390.vuplhf",
+ "llvm.s390.vuplhh",
+ "llvm.s390.vuplhw",
+ "llvm.s390.vupllb",
+ "llvm.s390.vupllf",
+ "llvm.s390.vupllh",
+ "llvm.wasm.current.memory",
+ "llvm.wasm.grow.memory",
+ "llvm.x86.3dnow.pavgusb",
+ "llvm.x86.3dnow.pf2id",
+ "llvm.x86.3dnow.pfacc",
+ "llvm.x86.3dnow.pfadd",
+ "llvm.x86.3dnow.pfcmpeq",
+ "llvm.x86.3dnow.pfcmpge",
+ "llvm.x86.3dnow.pfcmpgt",
+ "llvm.x86.3dnow.pfmax",
+ "llvm.x86.3dnow.pfmin",
+ "llvm.x86.3dnow.pfmul",
+ "llvm.x86.3dnow.pfrcp",
+ "llvm.x86.3dnow.pfrcpit1",
+ "llvm.x86.3dnow.pfrcpit2",
+ "llvm.x86.3dnow.pfrsqit1",
+ "llvm.x86.3dnow.pfrsqrt",
+ "llvm.x86.3dnow.pfsub",
+ "llvm.x86.3dnow.pfsubr",
+ "llvm.x86.3dnow.pi2fd",
+ "llvm.x86.3dnow.pmulhrw",
+ "llvm.x86.3dnowa.pf2iw",
+ "llvm.x86.3dnowa.pfnacc",
+ "llvm.x86.3dnowa.pfpnacc",
+ "llvm.x86.3dnowa.pi2fw",
+ "llvm.x86.3dnowa.pswapd",
+ "llvm.x86.addcarry.u32",
+ "llvm.x86.addcarry.u64",
+ "llvm.x86.addcarryx.u32",
+ "llvm.x86.addcarryx.u64",
+ "llvm.x86.aesni.aesdec",
+ "llvm.x86.aesni.aesdeclast",
+ "llvm.x86.aesni.aesenc",
+ "llvm.x86.aesni.aesenclast",
+ "llvm.x86.aesni.aesimc",
+ "llvm.x86.aesni.aeskeygenassist",
+ "llvm.x86.avx.addsub.pd.256",
+ "llvm.x86.avx.addsub.ps.256",
+ "llvm.x86.avx.blendv.pd.256",
+ "llvm.x86.avx.blendv.ps.256",
+ "llvm.x86.avx.cmp.pd.256",
+ "llvm.x86.avx.cmp.ps.256",
+ "llvm.x86.avx.cvt.pd2.ps.256",
+ "llvm.x86.avx.cvt.pd2dq.256",
+ "llvm.x86.avx.cvt.ps2dq.256",
+ "llvm.x86.avx.cvtdq2.ps.256",
+ "llvm.x86.avx.cvtt.pd2dq.256",
+ "llvm.x86.avx.cvtt.ps2dq.256",
+ "llvm.x86.avx.dp.ps.256",
+ "llvm.x86.avx.hadd.pd.256",
+ "llvm.x86.avx.hadd.ps.256",
+ "llvm.x86.avx.hsub.pd.256",
+ "llvm.x86.avx.hsub.ps.256",
+ "llvm.x86.avx.ldu.dq.256",
+ "llvm.x86.avx.maskload.pd",
+ "llvm.x86.avx.maskload.pd.256",
+ "llvm.x86.avx.maskload.ps",
+ "llvm.x86.avx.maskload.ps.256",
+ "llvm.x86.avx.maskstore.pd",
+ "llvm.x86.avx.maskstore.pd.256",
+ "llvm.x86.avx.maskstore.ps",
+ "llvm.x86.avx.maskstore.ps.256",
+ "llvm.x86.avx.max.pd.256",
+ "llvm.x86.avx.max.ps.256",
+ "llvm.x86.avx.min.pd.256",
+ "llvm.x86.avx.min.ps.256",
+ "llvm.x86.avx.movmsk.pd.256",
+ "llvm.x86.avx.movmsk.ps.256",
+ "llvm.x86.avx.ptestc.256",
+ "llvm.x86.avx.ptestnzc.256",
+ "llvm.x86.avx.ptestz.256",
+ "llvm.x86.avx.rcp.ps.256",
+ "llvm.x86.avx.round.pd.256",
+ "llvm.x86.avx.round.ps.256",
+ "llvm.x86.avx.rsqrt.ps.256",
+ "llvm.x86.avx.sqrt.pd.256",
+ "llvm.x86.avx.sqrt.ps.256",
+ "llvm.x86.avx.vperm2f128.pd.256",
+ "llvm.x86.avx.vperm2f128.ps.256",
+ "llvm.x86.avx.vperm2f128.si.256",
+ "llvm.x86.avx.vpermilvar.pd",
+ "llvm.x86.avx.vpermilvar.pd.256",
+ "llvm.x86.avx.vpermilvar.ps",
+ "llvm.x86.avx.vpermilvar.ps.256",
+ "llvm.x86.avx.vtestc.pd",
+ "llvm.x86.avx.vtestc.pd.256",
+ "llvm.x86.avx.vtestc.ps",
+ "llvm.x86.avx.vtestc.ps.256",
+ "llvm.x86.avx.vtestnzc.pd",
+ "llvm.x86.avx.vtestnzc.pd.256",
+ "llvm.x86.avx.vtestnzc.ps",
+ "llvm.x86.avx.vtestnzc.ps.256",
+ "llvm.x86.avx.vtestz.pd",
+ "llvm.x86.avx.vtestz.pd.256",
+ "llvm.x86.avx.vtestz.ps",
+ "llvm.x86.avx.vtestz.ps.256",
+ "llvm.x86.avx.vzeroall",
+ "llvm.x86.avx.vzeroupper",
+ "llvm.x86.avx2.gather.d.d",
+ "llvm.x86.avx2.gather.d.d.256",
+ "llvm.x86.avx2.gather.d.pd",
+ "llvm.x86.avx2.gather.d.pd.256",
+ "llvm.x86.avx2.gather.d.ps",
+ "llvm.x86.avx2.gather.d.ps.256",
+ "llvm.x86.avx2.gather.d.q",
+ "llvm.x86.avx2.gather.d.q.256",
+ "llvm.x86.avx2.gather.q.d",
+ "llvm.x86.avx2.gather.q.d.256",
+ "llvm.x86.avx2.gather.q.pd",
+ "llvm.x86.avx2.gather.q.pd.256",
+ "llvm.x86.avx2.gather.q.ps",
+ "llvm.x86.avx2.gather.q.ps.256",
+ "llvm.x86.avx2.gather.q.q",
+ "llvm.x86.avx2.gather.q.q.256",
+ "llvm.x86.avx2.maskload.d",
+ "llvm.x86.avx2.maskload.d.256",
+ "llvm.x86.avx2.maskload.q",
+ "llvm.x86.avx2.maskload.q.256",
+ "llvm.x86.avx2.maskstore.d",
+ "llvm.x86.avx2.maskstore.d.256",
+ "llvm.x86.avx2.maskstore.q",
+ "llvm.x86.avx2.maskstore.q.256",
+ "llvm.x86.avx2.movntdqa",
+ "llvm.x86.avx2.mpsadbw",
+ "llvm.x86.avx2.pabs.b",
+ "llvm.x86.avx2.pabs.d",
+ "llvm.x86.avx2.pabs.w",
+ "llvm.x86.avx2.packssdw",
+ "llvm.x86.avx2.packsswb",
+ "llvm.x86.avx2.packusdw",
+ "llvm.x86.avx2.packuswb",
+ "llvm.x86.avx2.padds.b",
+ "llvm.x86.avx2.padds.w",
+ "llvm.x86.avx2.paddus.b",
+ "llvm.x86.avx2.paddus.w",
+ "llvm.x86.avx2.pavg.b",
+ "llvm.x86.avx2.pavg.w",
+ "llvm.x86.avx2.pblendvb",
+ "llvm.x86.avx2.permd",
+ "llvm.x86.avx2.permps",
+ "llvm.x86.avx2.phadd.d",
+ "llvm.x86.avx2.phadd.sw",
+ "llvm.x86.avx2.phadd.w",
+ "llvm.x86.avx2.phsub.d",
+ "llvm.x86.avx2.phsub.sw",
+ "llvm.x86.avx2.phsub.w",
+ "llvm.x86.avx2.pmadd.ub.sw",
+ "llvm.x86.avx2.pmadd.wd",
+ "llvm.x86.avx2.pmovmskb",
+ "llvm.x86.avx2.pmul.dq",
+ "llvm.x86.avx2.pmul.hr.sw",
+ "llvm.x86.avx2.pmulh.w",
+ "llvm.x86.avx2.pmulhu.w",
+ "llvm.x86.avx2.pmulu.dq",
+ "llvm.x86.avx2.psad.bw",
+ "llvm.x86.avx2.pshuf.b",
+ "llvm.x86.avx2.psign.b",
+ "llvm.x86.avx2.psign.d",
+ "llvm.x86.avx2.psign.w",
+ "llvm.x86.avx2.psll.d",
+ "llvm.x86.avx2.psll.q",
+ "llvm.x86.avx2.psll.w",
+ "llvm.x86.avx2.pslli.d",
+ "llvm.x86.avx2.pslli.q",
+ "llvm.x86.avx2.pslli.w",
+ "llvm.x86.avx2.psllv.d",
+ "llvm.x86.avx2.psllv.d.256",
+ "llvm.x86.avx2.psllv.q",
+ "llvm.x86.avx2.psllv.q.256",
+ "llvm.x86.avx2.psra.d",
+ "llvm.x86.avx2.psra.w",
+ "llvm.x86.avx2.psrai.d",
+ "llvm.x86.avx2.psrai.w",
+ "llvm.x86.avx2.psrav.d",
+ "llvm.x86.avx2.psrav.d.256",
+ "llvm.x86.avx2.psrl.d",
+ "llvm.x86.avx2.psrl.q",
+ "llvm.x86.avx2.psrl.w",
+ "llvm.x86.avx2.psrli.d",
+ "llvm.x86.avx2.psrli.q",
+ "llvm.x86.avx2.psrli.w",
+ "llvm.x86.avx2.psrlv.d",
+ "llvm.x86.avx2.psrlv.d.256",
+ "llvm.x86.avx2.psrlv.q",
+ "llvm.x86.avx2.psrlv.q.256",
+ "llvm.x86.avx2.psubs.b",
+ "llvm.x86.avx2.psubs.w",
+ "llvm.x86.avx2.psubus.b",
+ "llvm.x86.avx2.psubus.w",
+ "llvm.x86.avx2.vperm2i128",
+ "llvm.x86.avx512.broadcastmb.128",
+ "llvm.x86.avx512.broadcastmb.256",
+ "llvm.x86.avx512.broadcastmb.512",
+ "llvm.x86.avx512.broadcastmw.128",
+ "llvm.x86.avx512.broadcastmw.256",
+ "llvm.x86.avx512.broadcastmw.512",
+ "llvm.x86.avx512.cvtb2mask.128",
+ "llvm.x86.avx512.cvtb2mask.256",
+ "llvm.x86.avx512.cvtb2mask.512",
+ "llvm.x86.avx512.cvtd2mask.128",
+ "llvm.x86.avx512.cvtd2mask.256",
+ "llvm.x86.avx512.cvtd2mask.512",
+ "llvm.x86.avx512.cvtmask2b.128",
+ "llvm.x86.avx512.cvtmask2b.256",
+ "llvm.x86.avx512.cvtmask2b.512",
+ "llvm.x86.avx512.cvtmask2d.128",
+ "llvm.x86.avx512.cvtmask2d.256",
+ "llvm.x86.avx512.cvtmask2d.512",
+ "llvm.x86.avx512.cvtmask2q.128",
+ "llvm.x86.avx512.cvtmask2q.256",
+ "llvm.x86.avx512.cvtmask2q.512",
+ "llvm.x86.avx512.cvtmask2w.128",
+ "llvm.x86.avx512.cvtmask2w.256",
+ "llvm.x86.avx512.cvtmask2w.512",
+ "llvm.x86.avx512.cvtq2mask.128",
+ "llvm.x86.avx512.cvtq2mask.256",
+ "llvm.x86.avx512.cvtq2mask.512",
+ "llvm.x86.avx512.cvtsi2sd64",
+ "llvm.x86.avx512.cvtsi2ss32",
+ "llvm.x86.avx512.cvtsi2ss64",
+ "llvm.x86.avx512.cvttsd2si",
+ "llvm.x86.avx512.cvttsd2si64",
+ "llvm.x86.avx512.cvttsd2usi",
+ "llvm.x86.avx512.cvttsd2usi64",
+ "llvm.x86.avx512.cvttss2si",
+ "llvm.x86.avx512.cvttss2si64",
+ "llvm.x86.avx512.cvttss2usi",
+ "llvm.x86.avx512.cvttss2usi64",
+ "llvm.x86.avx512.cvtusi2sd",
+ "llvm.x86.avx512.cvtusi2ss",
+ "llvm.x86.avx512.cvtusi642sd",
+ "llvm.x86.avx512.cvtusi642ss",
+ "llvm.x86.avx512.cvtw2mask.128",
+ "llvm.x86.avx512.cvtw2mask.256",
+ "llvm.x86.avx512.cvtw2mask.512",
+ "llvm.x86.avx512.exp2.pd",
+ "llvm.x86.avx512.exp2.ps",
+ "llvm.x86.avx512.gather.dpd.512",
+ "llvm.x86.avx512.gather.dpi.512",
+ "llvm.x86.avx512.gather.dpq.512",
+ "llvm.x86.avx512.gather.dps.512",
+ "llvm.x86.avx512.gather.qpd.512",
+ "llvm.x86.avx512.gather.qpi.512",
+ "llvm.x86.avx512.gather.qpq.512",
+ "llvm.x86.avx512.gather.qps.512",
+ "llvm.x86.avx512.gather3div2.df",
+ "llvm.x86.avx512.gather3div2.di",
+ "llvm.x86.avx512.gather3div4.df",
+ "llvm.x86.avx512.gather3div4.di",
+ "llvm.x86.avx512.gather3div4.sf",
+ "llvm.x86.avx512.gather3div4.si",
+ "llvm.x86.avx512.gather3div8.sf",
+ "llvm.x86.avx512.gather3div8.si",
+ "llvm.x86.avx512.gather3siv2.df",
+ "llvm.x86.avx512.gather3siv2.di",
+ "llvm.x86.avx512.gather3siv4.df",
+ "llvm.x86.avx512.gather3siv4.di",
+ "llvm.x86.avx512.gather3siv4.sf",
+ "llvm.x86.avx512.gather3siv4.si",
+ "llvm.x86.avx512.gather3siv8.sf",
+ "llvm.x86.avx512.gather3siv8.si",
+ "llvm.x86.avx512.gatherpf.dpd.512",
+ "llvm.x86.avx512.gatherpf.dps.512",
+ "llvm.x86.avx512.gatherpf.qpd.512",
+ "llvm.x86.avx512.gatherpf.qps.512",
+ "llvm.x86.avx512.kand.w",
+ "llvm.x86.avx512.kandn.w",
+ "llvm.x86.avx512.knot.w",
+ "llvm.x86.avx512.kor.w",
+ "llvm.x86.avx512.kortestc.w",
+ "llvm.x86.avx512.kortestz.w",
+ "llvm.x86.avx512.kunpck.bw",
+ "llvm.x86.avx512.kunpck.dq",
+ "llvm.x86.avx512.kunpck.wd",
+ "llvm.x86.avx512.kxnor.w",
+ "llvm.x86.avx512.kxor.w",
+ "llvm.x86.avx512.mask.add.pd.512",
+ "llvm.x86.avx512.mask.add.ps.512",
+ "llvm.x86.avx512.mask.add.sd.round",
+ "llvm.x86.avx512.mask.add.ss.round",
+ "llvm.x86.avx512.mask.broadcastf32x2.256",
+ "llvm.x86.avx512.mask.broadcastf32x2.512",
+ "llvm.x86.avx512.mask.broadcastf32x4.256",
+ "llvm.x86.avx512.mask.broadcastf32x4.512",
+ "llvm.x86.avx512.mask.broadcastf32x8.512",
+ "llvm.x86.avx512.mask.broadcastf64x2.256",
+ "llvm.x86.avx512.mask.broadcastf64x2.512",
+ "llvm.x86.avx512.mask.broadcastf64x4.512",
+ "llvm.x86.avx512.mask.broadcasti32x2.128",
+ "llvm.x86.avx512.mask.broadcasti32x2.256",
+ "llvm.x86.avx512.mask.broadcasti32x2.512",
+ "llvm.x86.avx512.mask.broadcasti32x4.256",
+ "llvm.x86.avx512.mask.broadcasti32x4.512",
+ "llvm.x86.avx512.mask.broadcasti32x8.512",
+ "llvm.x86.avx512.mask.broadcasti64x2.256",
+ "llvm.x86.avx512.mask.broadcasti64x2.512",
+ "llvm.x86.avx512.mask.broadcasti64x4.512",
+ "llvm.x86.avx512.mask.cmp.b.128",
+ "llvm.x86.avx512.mask.cmp.b.256",
+ "llvm.x86.avx512.mask.cmp.b.512",
+ "llvm.x86.avx512.mask.cmp.d.128",
+ "llvm.x86.avx512.mask.cmp.d.256",
+ "llvm.x86.avx512.mask.cmp.d.512",
+ "llvm.x86.avx512.mask.cmp.pd.128",
+ "llvm.x86.avx512.mask.cmp.pd.256",
+ "llvm.x86.avx512.mask.cmp.pd.512",
+ "llvm.x86.avx512.mask.cmp.ps.128",
+ "llvm.x86.avx512.mask.cmp.ps.256",
+ "llvm.x86.avx512.mask.cmp.ps.512",
+ "llvm.x86.avx512.mask.cmp.q.128",
+ "llvm.x86.avx512.mask.cmp.q.256",
+ "llvm.x86.avx512.mask.cmp.q.512",
+ "llvm.x86.avx512.mask.cmp.sd",
+ "llvm.x86.avx512.mask.cmp.ss",
+ "llvm.x86.avx512.mask.cmp.w.128",
+ "llvm.x86.avx512.mask.cmp.w.256",
+ "llvm.x86.avx512.mask.cmp.w.512",
+ "llvm.x86.avx512.mask.compress.d.128",
+ "llvm.x86.avx512.mask.compress.d.256",
+ "llvm.x86.avx512.mask.compress.d.512",
+ "llvm.x86.avx512.mask.compress.pd.128",
+ "llvm.x86.avx512.mask.compress.pd.256",
+ "llvm.x86.avx512.mask.compress.pd.512",
+ "llvm.x86.avx512.mask.compress.ps.128",
+ "llvm.x86.avx512.mask.compress.ps.256",
+ "llvm.x86.avx512.mask.compress.ps.512",
+ "llvm.x86.avx512.mask.compress.q.128",
+ "llvm.x86.avx512.mask.compress.q.256",
+ "llvm.x86.avx512.mask.compress.q.512",
+ "llvm.x86.avx512.mask.compress.store.d.128",
+ "llvm.x86.avx512.mask.compress.store.d.256",
+ "llvm.x86.avx512.mask.compress.store.d.512",
+ "llvm.x86.avx512.mask.compress.store.pd.128",
+ "llvm.x86.avx512.mask.compress.store.pd.256",
+ "llvm.x86.avx512.mask.compress.store.pd.512",
+ "llvm.x86.avx512.mask.compress.store.ps.128",
+ "llvm.x86.avx512.mask.compress.store.ps.256",
+ "llvm.x86.avx512.mask.compress.store.ps.512",
+ "llvm.x86.avx512.mask.compress.store.q.128",
+ "llvm.x86.avx512.mask.compress.store.q.256",
+ "llvm.x86.avx512.mask.compress.store.q.512",
+ "llvm.x86.avx512.mask.conflict.d.128",
+ "llvm.x86.avx512.mask.conflict.d.256",
+ "llvm.x86.avx512.mask.conflict.d.512",
+ "llvm.x86.avx512.mask.conflict.q.128",
+ "llvm.x86.avx512.mask.conflict.q.256",
+ "llvm.x86.avx512.mask.conflict.q.512",
+ "llvm.x86.avx512.mask.cvtdq2ps.128",
+ "llvm.x86.avx512.mask.cvtdq2ps.256",
+ "llvm.x86.avx512.mask.cvtdq2ps.512",
+ "llvm.x86.avx512.mask.cvtpd2dq.128",
+ "llvm.x86.avx512.mask.cvtpd2dq.256",
+ "llvm.x86.avx512.mask.cvtpd2dq.512",
+ "llvm.x86.avx512.mask.cvtpd2ps",
+ "llvm.x86.avx512.mask.cvtpd2ps.256",
+ "llvm.x86.avx512.mask.cvtpd2ps.512",
+ "llvm.x86.avx512.mask.cvtpd2qq.128",
+ "llvm.x86.avx512.mask.cvtpd2qq.256",
+ "llvm.x86.avx512.mask.cvtpd2qq.512",
+ "llvm.x86.avx512.mask.cvtpd2udq.128",
+ "llvm.x86.avx512.mask.cvtpd2udq.256",
+ "llvm.x86.avx512.mask.cvtpd2udq.512",
+ "llvm.x86.avx512.mask.cvtpd2uqq.128",
+ "llvm.x86.avx512.mask.cvtpd2uqq.256",
+ "llvm.x86.avx512.mask.cvtpd2uqq.512",
+ "llvm.x86.avx512.mask.cvtps2dq.128",
+ "llvm.x86.avx512.mask.cvtps2dq.256",
+ "llvm.x86.avx512.mask.cvtps2dq.512",
+ "llvm.x86.avx512.mask.cvtps2pd.128",
+ "llvm.x86.avx512.mask.cvtps2pd.256",
+ "llvm.x86.avx512.mask.cvtps2pd.512",
+ "llvm.x86.avx512.mask.cvtps2qq.128",
+ "llvm.x86.avx512.mask.cvtps2qq.256",
+ "llvm.x86.avx512.mask.cvtps2qq.512",
+ "llvm.x86.avx512.mask.cvtps2udq.128",
+ "llvm.x86.avx512.mask.cvtps2udq.256",
+ "llvm.x86.avx512.mask.cvtps2udq.512",
+ "llvm.x86.avx512.mask.cvtps2uqq.128",
+ "llvm.x86.avx512.mask.cvtps2uqq.256",
+ "llvm.x86.avx512.mask.cvtps2uqq.512",
+ "llvm.x86.avx512.mask.cvtqq2pd.128",
+ "llvm.x86.avx512.mask.cvtqq2pd.256",
+ "llvm.x86.avx512.mask.cvtqq2pd.512",
+ "llvm.x86.avx512.mask.cvtqq2ps.128",
+ "llvm.x86.avx512.mask.cvtqq2ps.256",
+ "llvm.x86.avx512.mask.cvtqq2ps.512",
+ "llvm.x86.avx512.mask.cvtsd2ss.round",
+ "llvm.x86.avx512.mask.cvtss2sd.round",
+ "llvm.x86.avx512.mask.cvttpd2dq.128",
+ "llvm.x86.avx512.mask.cvttpd2dq.256",
+ "llvm.x86.avx512.mask.cvttpd2dq.512",
+ "llvm.x86.avx512.mask.cvttpd2qq.128",
+ "llvm.x86.avx512.mask.cvttpd2qq.256",
+ "llvm.x86.avx512.mask.cvttpd2qq.512",
+ "llvm.x86.avx512.mask.cvttpd2udq.128",
+ "llvm.x86.avx512.mask.cvttpd2udq.256",
+ "llvm.x86.avx512.mask.cvttpd2udq.512",
+ "llvm.x86.avx512.mask.cvttpd2uqq.128",
+ "llvm.x86.avx512.mask.cvttpd2uqq.256",
+ "llvm.x86.avx512.mask.cvttpd2uqq.512",
+ "llvm.x86.avx512.mask.cvttps2dq.128",
+ "llvm.x86.avx512.mask.cvttps2dq.256",
+ "llvm.x86.avx512.mask.cvttps2dq.512",
+ "llvm.x86.avx512.mask.cvttps2qq.128",
+ "llvm.x86.avx512.mask.cvttps2qq.256",
+ "llvm.x86.avx512.mask.cvttps2qq.512",
+ "llvm.x86.avx512.mask.cvttps2udq.128",
+ "llvm.x86.avx512.mask.cvttps2udq.256",
+ "llvm.x86.avx512.mask.cvttps2udq.512",
+ "llvm.x86.avx512.mask.cvttps2uqq.128",
+ "llvm.x86.avx512.mask.cvttps2uqq.256",
+ "llvm.x86.avx512.mask.cvttps2uqq.512",
+ "llvm.x86.avx512.mask.cvtudq2ps.128",
+ "llvm.x86.avx512.mask.cvtudq2ps.256",
+ "llvm.x86.avx512.mask.cvtudq2ps.512",
+ "llvm.x86.avx512.mask.cvtuqq2pd.128",
+ "llvm.x86.avx512.mask.cvtuqq2pd.256",
+ "llvm.x86.avx512.mask.cvtuqq2pd.512",
+ "llvm.x86.avx512.mask.cvtuqq2ps.128",
+ "llvm.x86.avx512.mask.cvtuqq2ps.256",
+ "llvm.x86.avx512.mask.cvtuqq2ps.512",
+ "llvm.x86.avx512.mask.dbpsadbw.128",
+ "llvm.x86.avx512.mask.dbpsadbw.256",
+ "llvm.x86.avx512.mask.dbpsadbw.512",
+ "llvm.x86.avx512.mask.div.pd.512",
+ "llvm.x86.avx512.mask.div.ps.512",
+ "llvm.x86.avx512.mask.div.sd.round",
+ "llvm.x86.avx512.mask.div.ss.round",
+ "llvm.x86.avx512.mask.expand.d.128",
+ "llvm.x86.avx512.mask.expand.d.256",
+ "llvm.x86.avx512.mask.expand.d.512",
+ "llvm.x86.avx512.mask.expand.load.d.128",
+ "llvm.x86.avx512.mask.expand.load.d.256",
+ "llvm.x86.avx512.mask.expand.load.d.512",
+ "llvm.x86.avx512.mask.expand.load.pd.128",
+ "llvm.x86.avx512.mask.expand.load.pd.256",
+ "llvm.x86.avx512.mask.expand.load.pd.512",
+ "llvm.x86.avx512.mask.expand.load.ps.128",
+ "llvm.x86.avx512.mask.expand.load.ps.256",
+ "llvm.x86.avx512.mask.expand.load.ps.512",
+ "llvm.x86.avx512.mask.expand.load.q.128",
+ "llvm.x86.avx512.mask.expand.load.q.256",
+ "llvm.x86.avx512.mask.expand.load.q.512",
+ "llvm.x86.avx512.mask.expand.pd.128",
+ "llvm.x86.avx512.mask.expand.pd.256",
+ "llvm.x86.avx512.mask.expand.pd.512",
+ "llvm.x86.avx512.mask.expand.ps.128",
+ "llvm.x86.avx512.mask.expand.ps.256",
+ "llvm.x86.avx512.mask.expand.ps.512",
+ "llvm.x86.avx512.mask.expand.q.128",
+ "llvm.x86.avx512.mask.expand.q.256",
+ "llvm.x86.avx512.mask.expand.q.512",
+ "llvm.x86.avx512.mask.fixupimm.pd.128",
+ "llvm.x86.avx512.mask.fixupimm.pd.256",
+ "llvm.x86.avx512.mask.fixupimm.pd.512",
+ "llvm.x86.avx512.mask.fixupimm.ps.128",
+ "llvm.x86.avx512.mask.fixupimm.ps.256",
+ "llvm.x86.avx512.mask.fixupimm.ps.512",
+ "llvm.x86.avx512.mask.fixupimm.sd",
+ "llvm.x86.avx512.mask.fixupimm.ss",
+ "llvm.x86.avx512.mask.fpclass.pd.128",
+ "llvm.x86.avx512.mask.fpclass.pd.256",
+ "llvm.x86.avx512.mask.fpclass.pd.512",
+ "llvm.x86.avx512.mask.fpclass.ps.128",
+ "llvm.x86.avx512.mask.fpclass.ps.256",
+ "llvm.x86.avx512.mask.fpclass.ps.512",
+ "llvm.x86.avx512.mask.fpclass.sd",
+ "llvm.x86.avx512.mask.fpclass.ss",
+ "llvm.x86.avx512.mask.getexp.pd.128",
+ "llvm.x86.avx512.mask.getexp.pd.256",
+ "llvm.x86.avx512.mask.getexp.pd.512",
+ "llvm.x86.avx512.mask.getexp.ps.128",
+ "llvm.x86.avx512.mask.getexp.ps.256",
+ "llvm.x86.avx512.mask.getexp.ps.512",
+ "llvm.x86.avx512.mask.getexp.sd",
+ "llvm.x86.avx512.mask.getexp.ss",
+ "llvm.x86.avx512.mask.getmant.pd.128",
+ "llvm.x86.avx512.mask.getmant.pd.256",
+ "llvm.x86.avx512.mask.getmant.pd.512",
+ "llvm.x86.avx512.mask.getmant.ps.128",
+ "llvm.x86.avx512.mask.getmant.ps.256",
+ "llvm.x86.avx512.mask.getmant.ps.512",
+ "llvm.x86.avx512.mask.getmant.sd",
+ "llvm.x86.avx512.mask.getmant.ss",
+ "llvm.x86.avx512.mask.insertf32x4.256",
+ "llvm.x86.avx512.mask.insertf32x4.512",
+ "llvm.x86.avx512.mask.insertf32x8.512",
+ "llvm.x86.avx512.mask.insertf64x2.256",
+ "llvm.x86.avx512.mask.insertf64x2.512",
+ "llvm.x86.avx512.mask.insertf64x4.512",
+ "llvm.x86.avx512.mask.inserti32x4.256",
+ "llvm.x86.avx512.mask.inserti32x4.512",
+ "llvm.x86.avx512.mask.inserti32x8.512",
+ "llvm.x86.avx512.mask.inserti64x2.256",
+ "llvm.x86.avx512.mask.inserti64x2.512",
+ "llvm.x86.avx512.mask.inserti64x4.512",
+ "llvm.x86.avx512.mask.lzcnt.d.128",
+ "llvm.x86.avx512.mask.lzcnt.d.256",
+ "llvm.x86.avx512.mask.lzcnt.d.512",
+ "llvm.x86.avx512.mask.lzcnt.q.128",
+ "llvm.x86.avx512.mask.lzcnt.q.256",
+ "llvm.x86.avx512.mask.lzcnt.q.512",
+ "llvm.x86.avx512.mask.max.pd.128",
+ "llvm.x86.avx512.mask.max.pd.256",
+ "llvm.x86.avx512.mask.max.pd.512",
+ "llvm.x86.avx512.mask.max.ps.128",
+ "llvm.x86.avx512.mask.max.ps.256",
+ "llvm.x86.avx512.mask.max.ps.512",
+ "llvm.x86.avx512.mask.max.sd.round",
+ "llvm.x86.avx512.mask.max.ss.round",
+ "llvm.x86.avx512.mask.min.pd.128",
+ "llvm.x86.avx512.mask.min.pd.256",
+ "llvm.x86.avx512.mask.min.pd.512",
+ "llvm.x86.avx512.mask.min.ps.128",
+ "llvm.x86.avx512.mask.min.ps.256",
+ "llvm.x86.avx512.mask.min.ps.512",
+ "llvm.x86.avx512.mask.min.sd.round",
+ "llvm.x86.avx512.mask.min.ss.round",
+ "llvm.x86.avx512.mask.mul.pd.512",
+ "llvm.x86.avx512.mask.mul.ps.512",
+ "llvm.x86.avx512.mask.mul.sd.round",
+ "llvm.x86.avx512.mask.mul.ss.round",
+ "llvm.x86.avx512.mask.pabs.b.128",
+ "llvm.x86.avx512.mask.pabs.b.256",
+ "llvm.x86.avx512.mask.pabs.b.512",
+ "llvm.x86.avx512.mask.pabs.d.128",
+ "llvm.x86.avx512.mask.pabs.d.256",
+ "llvm.x86.avx512.mask.pabs.d.512",
+ "llvm.x86.avx512.mask.pabs.q.128",
+ "llvm.x86.avx512.mask.pabs.q.256",
+ "llvm.x86.avx512.mask.pabs.q.512",
+ "llvm.x86.avx512.mask.pabs.w.128",
+ "llvm.x86.avx512.mask.pabs.w.256",
+ "llvm.x86.avx512.mask.pabs.w.512",
+ "llvm.x86.avx512.mask.packssdw.128",
+ "llvm.x86.avx512.mask.packssdw.256",
+ "llvm.x86.avx512.mask.packssdw.512",
+ "llvm.x86.avx512.mask.packsswb.128",
+ "llvm.x86.avx512.mask.packsswb.256",
+ "llvm.x86.avx512.mask.packsswb.512",
+ "llvm.x86.avx512.mask.packusdw.128",
+ "llvm.x86.avx512.mask.packusdw.256",
+ "llvm.x86.avx512.mask.packusdw.512",
+ "llvm.x86.avx512.mask.packuswb.128",
+ "llvm.x86.avx512.mask.packuswb.256",
+ "llvm.x86.avx512.mask.packuswb.512",
+ "llvm.x86.avx512.mask.padds.b.128",
+ "llvm.x86.avx512.mask.padds.b.256",
+ "llvm.x86.avx512.mask.padds.b.512",
+ "llvm.x86.avx512.mask.padds.w.128",
+ "llvm.x86.avx512.mask.padds.w.256",
+ "llvm.x86.avx512.mask.padds.w.512",
+ "llvm.x86.avx512.mask.paddus.b.128",
+ "llvm.x86.avx512.mask.paddus.b.256",
+ "llvm.x86.avx512.mask.paddus.b.512",
+ "llvm.x86.avx512.mask.paddus.w.128",
+ "llvm.x86.avx512.mask.paddus.w.256",
+ "llvm.x86.avx512.mask.paddus.w.512",
+ "llvm.x86.avx512.mask.pavg.b.128",
+ "llvm.x86.avx512.mask.pavg.b.256",
+ "llvm.x86.avx512.mask.pavg.b.512",
+ "llvm.x86.avx512.mask.pavg.w.128",
+ "llvm.x86.avx512.mask.pavg.w.256",
+ "llvm.x86.avx512.mask.pavg.w.512",
+ "llvm.x86.avx512.mask.pbroadcast.b.gpr.128",
+ "llvm.x86.avx512.mask.pbroadcast.b.gpr.256",
+ "llvm.x86.avx512.mask.pbroadcast.b.gpr.512",
+ "llvm.x86.avx512.mask.pbroadcast.d.gpr.128",
+ "llvm.x86.avx512.mask.pbroadcast.d.gpr.256",
+ "llvm.x86.avx512.mask.pbroadcast.d.gpr.512",
+ "llvm.x86.avx512.mask.pbroadcast.q.gpr.128",
+ "llvm.x86.avx512.mask.pbroadcast.q.gpr.256",
+ "llvm.x86.avx512.mask.pbroadcast.q.gpr.512",
+ "llvm.x86.avx512.mask.pbroadcast.q.mem.512",
+ "llvm.x86.avx512.mask.pbroadcast.w.gpr.128",
+ "llvm.x86.avx512.mask.pbroadcast.w.gpr.256",
+ "llvm.x86.avx512.mask.pbroadcast.w.gpr.512",
+ "llvm.x86.avx512.mask.permvar.df.256",
+ "llvm.x86.avx512.mask.permvar.df.512",
+ "llvm.x86.avx512.mask.permvar.di.256",
+ "llvm.x86.avx512.mask.permvar.di.512",
+ "llvm.x86.avx512.mask.permvar.hi.128",
+ "llvm.x86.avx512.mask.permvar.hi.256",
+ "llvm.x86.avx512.mask.permvar.hi.512",
+ "llvm.x86.avx512.mask.permvar.qi.128",
+ "llvm.x86.avx512.mask.permvar.qi.256",
+ "llvm.x86.avx512.mask.permvar.qi.512",
+ "llvm.x86.avx512.mask.permvar.sf.256",
+ "llvm.x86.avx512.mask.permvar.sf.512",
+ "llvm.x86.avx512.mask.permvar.si.256",
+ "llvm.x86.avx512.mask.permvar.si.512",
+ "llvm.x86.avx512.mask.pmaddubs.w.128",
+ "llvm.x86.avx512.mask.pmaddubs.w.256",
+ "llvm.x86.avx512.mask.pmaddubs.w.512",
+ "llvm.x86.avx512.mask.pmaddw.d.128",
+ "llvm.x86.avx512.mask.pmaddw.d.256",
+ "llvm.x86.avx512.mask.pmaddw.d.512",
+ "llvm.x86.avx512.mask.pmov.db.128",
+ "llvm.x86.avx512.mask.pmov.db.256",
+ "llvm.x86.avx512.mask.pmov.db.512",
+ "llvm.x86.avx512.mask.pmov.db.mem.128",
+ "llvm.x86.avx512.mask.pmov.db.mem.256",
+ "llvm.x86.avx512.mask.pmov.db.mem.512",
+ "llvm.x86.avx512.mask.pmov.dw.128",
+ "llvm.x86.avx512.mask.pmov.dw.256",
+ "llvm.x86.avx512.mask.pmov.dw.512",
+ "llvm.x86.avx512.mask.pmov.dw.mem.128",
+ "llvm.x86.avx512.mask.pmov.dw.mem.256",
+ "llvm.x86.avx512.mask.pmov.dw.mem.512",
+ "llvm.x86.avx512.mask.pmov.qb.128",
+ "llvm.x86.avx512.mask.pmov.qb.256",
+ "llvm.x86.avx512.mask.pmov.qb.512",
+ "llvm.x86.avx512.mask.pmov.qb.mem.128",
+ "llvm.x86.avx512.mask.pmov.qb.mem.256",
+ "llvm.x86.avx512.mask.pmov.qb.mem.512",
+ "llvm.x86.avx512.mask.pmov.qd.128",
+ "llvm.x86.avx512.mask.pmov.qd.256",
+ "llvm.x86.avx512.mask.pmov.qd.512",
+ "llvm.x86.avx512.mask.pmov.qd.mem.128",
+ "llvm.x86.avx512.mask.pmov.qd.mem.256",
+ "llvm.x86.avx512.mask.pmov.qd.mem.512",
+ "llvm.x86.avx512.mask.pmov.qw.128",
+ "llvm.x86.avx512.mask.pmov.qw.256",
+ "llvm.x86.avx512.mask.pmov.qw.512",
+ "llvm.x86.avx512.mask.pmov.qw.mem.128",
+ "llvm.x86.avx512.mask.pmov.qw.mem.256",
+ "llvm.x86.avx512.mask.pmov.qw.mem.512",
+ "llvm.x86.avx512.mask.pmov.wb.128",
+ "llvm.x86.avx512.mask.pmov.wb.256",
+ "llvm.x86.avx512.mask.pmov.wb.512",
+ "llvm.x86.avx512.mask.pmov.wb.mem.128",
+ "llvm.x86.avx512.mask.pmov.wb.mem.256",
+ "llvm.x86.avx512.mask.pmov.wb.mem.512",
+ "llvm.x86.avx512.mask.pmovs.db.128",
+ "llvm.x86.avx512.mask.pmovs.db.256",
+ "llvm.x86.avx512.mask.pmovs.db.512",
+ "llvm.x86.avx512.mask.pmovs.db.mem.128",
+ "llvm.x86.avx512.mask.pmovs.db.mem.256",
+ "llvm.x86.avx512.mask.pmovs.db.mem.512",
+ "llvm.x86.avx512.mask.pmovs.dw.128",
+ "llvm.x86.avx512.mask.pmovs.dw.256",
+ "llvm.x86.avx512.mask.pmovs.dw.512",
+ "llvm.x86.avx512.mask.pmovs.dw.mem.128",
+ "llvm.x86.avx512.mask.pmovs.dw.mem.256",
+ "llvm.x86.avx512.mask.pmovs.dw.mem.512",
+ "llvm.x86.avx512.mask.pmovs.qb.128",
+ "llvm.x86.avx512.mask.pmovs.qb.256",
+ "llvm.x86.avx512.mask.pmovs.qb.512",
+ "llvm.x86.avx512.mask.pmovs.qb.mem.128",
+ "llvm.x86.avx512.mask.pmovs.qb.mem.256",
+ "llvm.x86.avx512.mask.pmovs.qb.mem.512",
+ "llvm.x86.avx512.mask.pmovs.qd.128",
+ "llvm.x86.avx512.mask.pmovs.qd.256",
+ "llvm.x86.avx512.mask.pmovs.qd.512",
+ "llvm.x86.avx512.mask.pmovs.qd.mem.128",
+ "llvm.x86.avx512.mask.pmovs.qd.mem.256",
+ "llvm.x86.avx512.mask.pmovs.qd.mem.512",
+ "llvm.x86.avx512.mask.pmovs.qw.128",
+ "llvm.x86.avx512.mask.pmovs.qw.256",
+ "llvm.x86.avx512.mask.pmovs.qw.512",
+ "llvm.x86.avx512.mask.pmovs.qw.mem.128",
+ "llvm.x86.avx512.mask.pmovs.qw.mem.256",
+ "llvm.x86.avx512.mask.pmovs.qw.mem.512",
+ "llvm.x86.avx512.mask.pmovs.wb.128",
+ "llvm.x86.avx512.mask.pmovs.wb.256",
+ "llvm.x86.avx512.mask.pmovs.wb.512",
+ "llvm.x86.avx512.mask.pmovs.wb.mem.128",
+ "llvm.x86.avx512.mask.pmovs.wb.mem.256",
+ "llvm.x86.avx512.mask.pmovs.wb.mem.512",
+ "llvm.x86.avx512.mask.pmovus.db.128",
+ "llvm.x86.avx512.mask.pmovus.db.256",
+ "llvm.x86.avx512.mask.pmovus.db.512",
+ "llvm.x86.avx512.mask.pmovus.db.mem.128",
+ "llvm.x86.avx512.mask.pmovus.db.mem.256",
+ "llvm.x86.avx512.mask.pmovus.db.mem.512",
+ "llvm.x86.avx512.mask.pmovus.dw.128",
+ "llvm.x86.avx512.mask.pmovus.dw.256",
+ "llvm.x86.avx512.mask.pmovus.dw.512",
+ "llvm.x86.avx512.mask.pmovus.dw.mem.128",
+ "llvm.x86.avx512.mask.pmovus.dw.mem.256",
+ "llvm.x86.avx512.mask.pmovus.dw.mem.512",
+ "llvm.x86.avx512.mask.pmovus.qb.128",
+ "llvm.x86.avx512.mask.pmovus.qb.256",
+ "llvm.x86.avx512.mask.pmovus.qb.512",
+ "llvm.x86.avx512.mask.pmovus.qb.mem.128",
+ "llvm.x86.avx512.mask.pmovus.qb.mem.256",
+ "llvm.x86.avx512.mask.pmovus.qb.mem.512",
+ "llvm.x86.avx512.mask.pmovus.qd.128",
+ "llvm.x86.avx512.mask.pmovus.qd.256",
+ "llvm.x86.avx512.mask.pmovus.qd.512",
+ "llvm.x86.avx512.mask.pmovus.qd.mem.128",
+ "llvm.x86.avx512.mask.pmovus.qd.mem.256",
+ "llvm.x86.avx512.mask.pmovus.qd.mem.512",
+ "llvm.x86.avx512.mask.pmovus.qw.128",
+ "llvm.x86.avx512.mask.pmovus.qw.256",
+ "llvm.x86.avx512.mask.pmovus.qw.512",
+ "llvm.x86.avx512.mask.pmovus.qw.mem.128",
+ "llvm.x86.avx512.mask.pmovus.qw.mem.256",
+ "llvm.x86.avx512.mask.pmovus.qw.mem.512",
+ "llvm.x86.avx512.mask.pmovus.wb.128",
+ "llvm.x86.avx512.mask.pmovus.wb.256",
+ "llvm.x86.avx512.mask.pmovus.wb.512",
+ "llvm.x86.avx512.mask.pmovus.wb.mem.128",
+ "llvm.x86.avx512.mask.pmovus.wb.mem.256",
+ "llvm.x86.avx512.mask.pmovus.wb.mem.512",
+ "llvm.x86.avx512.mask.pmul.dq.128",
+ "llvm.x86.avx512.mask.pmul.dq.256",
+ "llvm.x86.avx512.mask.pmul.dq.512",
+ "llvm.x86.avx512.mask.pmul.hr.sw.128",
+ "llvm.x86.avx512.mask.pmul.hr.sw.256",
+ "llvm.x86.avx512.mask.pmul.hr.sw.512",
+ "llvm.x86.avx512.mask.pmulh.w.128",
+ "llvm.x86.avx512.mask.pmulh.w.256",
+ "llvm.x86.avx512.mask.pmulh.w.512",
+ "llvm.x86.avx512.mask.pmulhu.w.128",
+ "llvm.x86.avx512.mask.pmulhu.w.256",
+ "llvm.x86.avx512.mask.pmulhu.w.512",
+ "llvm.x86.avx512.mask.pmultishift.qb.128",
+ "llvm.x86.avx512.mask.pmultishift.qb.256",
+ "llvm.x86.avx512.mask.pmultishift.qb.512",
+ "llvm.x86.avx512.mask.pmulu.dq.128",
+ "llvm.x86.avx512.mask.pmulu.dq.256",
+ "llvm.x86.avx512.mask.pmulu.dq.512",
+ "llvm.x86.avx512.mask.prol.d.128",
+ "llvm.x86.avx512.mask.prol.d.256",
+ "llvm.x86.avx512.mask.prol.d.512",
+ "llvm.x86.avx512.mask.prol.q.128",
+ "llvm.x86.avx512.mask.prol.q.256",
+ "llvm.x86.avx512.mask.prol.q.512",
+ "llvm.x86.avx512.mask.prolv.d.128",
+ "llvm.x86.avx512.mask.prolv.d.256",
+ "llvm.x86.avx512.mask.prolv.d.512",
+ "llvm.x86.avx512.mask.prolv.q.128",
+ "llvm.x86.avx512.mask.prolv.q.256",
+ "llvm.x86.avx512.mask.prolv.q.512",
+ "llvm.x86.avx512.mask.pror.d.128",
+ "llvm.x86.avx512.mask.pror.d.256",
+ "llvm.x86.avx512.mask.pror.d.512",
+ "llvm.x86.avx512.mask.pror.q.128",
+ "llvm.x86.avx512.mask.pror.q.256",
+ "llvm.x86.avx512.mask.pror.q.512",
+ "llvm.x86.avx512.mask.prorv.d.128",
+ "llvm.x86.avx512.mask.prorv.d.256",
+ "llvm.x86.avx512.mask.prorv.d.512",
+ "llvm.x86.avx512.mask.prorv.q.128",
+ "llvm.x86.avx512.mask.prorv.q.256",
+ "llvm.x86.avx512.mask.prorv.q.512",
+ "llvm.x86.avx512.mask.psubs.b.128",
+ "llvm.x86.avx512.mask.psubs.b.256",
+ "llvm.x86.avx512.mask.psubs.b.512",
+ "llvm.x86.avx512.mask.psubs.w.128",
+ "llvm.x86.avx512.mask.psubs.w.256",
+ "llvm.x86.avx512.mask.psubs.w.512",
+ "llvm.x86.avx512.mask.psubus.b.128",
+ "llvm.x86.avx512.mask.psubus.b.256",
+ "llvm.x86.avx512.mask.psubus.b.512",
+ "llvm.x86.avx512.mask.psubus.w.128",
+ "llvm.x86.avx512.mask.psubus.w.256",
+ "llvm.x86.avx512.mask.psubus.w.512",
+ "llvm.x86.avx512.mask.pternlog.d.128",
+ "llvm.x86.avx512.mask.pternlog.d.256",
+ "llvm.x86.avx512.mask.pternlog.d.512",
+ "llvm.x86.avx512.mask.pternlog.q.128",
+ "llvm.x86.avx512.mask.pternlog.q.256",
+ "llvm.x86.avx512.mask.pternlog.q.512",
+ "llvm.x86.avx512.mask.range.pd.128",
+ "llvm.x86.avx512.mask.range.pd.256",
+ "llvm.x86.avx512.mask.range.pd.512",
+ "llvm.x86.avx512.mask.range.ps.128",
+ "llvm.x86.avx512.mask.range.ps.256",
+ "llvm.x86.avx512.mask.range.ps.512",
+ "llvm.x86.avx512.mask.range.sd",
+ "llvm.x86.avx512.mask.range.ss",
+ "llvm.x86.avx512.mask.reduce.pd.128",
+ "llvm.x86.avx512.mask.reduce.pd.256",
+ "llvm.x86.avx512.mask.reduce.pd.512",
+ "llvm.x86.avx512.mask.reduce.ps.128",
+ "llvm.x86.avx512.mask.reduce.ps.256",
+ "llvm.x86.avx512.mask.reduce.ps.512",
+ "llvm.x86.avx512.mask.reduce.sd",
+ "llvm.x86.avx512.mask.reduce.ss",
+ "llvm.x86.avx512.mask.rndscale.pd.128",
+ "llvm.x86.avx512.mask.rndscale.pd.256",
+ "llvm.x86.avx512.mask.rndscale.pd.512",
+ "llvm.x86.avx512.mask.rndscale.ps.128",
+ "llvm.x86.avx512.mask.rndscale.ps.256",
+ "llvm.x86.avx512.mask.rndscale.ps.512",
+ "llvm.x86.avx512.mask.rndscale.sd",
+ "llvm.x86.avx512.mask.rndscale.ss",
+ "llvm.x86.avx512.mask.scalef.pd.128",
+ "llvm.x86.avx512.mask.scalef.pd.256",
+ "llvm.x86.avx512.mask.scalef.pd.512",
+ "llvm.x86.avx512.mask.scalef.ps.128",
+ "llvm.x86.avx512.mask.scalef.ps.256",
+ "llvm.x86.avx512.mask.scalef.ps.512",
+ "llvm.x86.avx512.mask.scalef.sd",
+ "llvm.x86.avx512.mask.scalef.ss",
+ "llvm.x86.avx512.mask.shuf.f32x4",
+ "llvm.x86.avx512.mask.shuf.f32x4.256",
+ "llvm.x86.avx512.mask.shuf.f64x2",
+ "llvm.x86.avx512.mask.shuf.f64x2.256",
+ "llvm.x86.avx512.mask.shuf.i32x4",
+ "llvm.x86.avx512.mask.shuf.i32x4.256",
+ "llvm.x86.avx512.mask.shuf.i64x2",
+ "llvm.x86.avx512.mask.shuf.i64x2.256",
+ "llvm.x86.avx512.mask.sqrt.pd.128",
+ "llvm.x86.avx512.mask.sqrt.pd.256",
+ "llvm.x86.avx512.mask.sqrt.pd.512",
+ "llvm.x86.avx512.mask.sqrt.ps.128",
+ "llvm.x86.avx512.mask.sqrt.ps.256",
+ "llvm.x86.avx512.mask.sqrt.ps.512",
+ "llvm.x86.avx512.mask.sqrt.sd",
+ "llvm.x86.avx512.mask.sqrt.ss",
+ "llvm.x86.avx512.mask.store.ss",
+ "llvm.x86.avx512.mask.sub.pd.512",
+ "llvm.x86.avx512.mask.sub.ps.512",
+ "llvm.x86.avx512.mask.sub.sd.round",
+ "llvm.x86.avx512.mask.sub.ss.round",
+ "llvm.x86.avx512.mask.ucmp.b.128",
+ "llvm.x86.avx512.mask.ucmp.b.256",
+ "llvm.x86.avx512.mask.ucmp.b.512",
+ "llvm.x86.avx512.mask.ucmp.d.128",
+ "llvm.x86.avx512.mask.ucmp.d.256",
+ "llvm.x86.avx512.mask.ucmp.d.512",
+ "llvm.x86.avx512.mask.ucmp.q.128",
+ "llvm.x86.avx512.mask.ucmp.q.256",
+ "llvm.x86.avx512.mask.ucmp.q.512",
+ "llvm.x86.avx512.mask.ucmp.w.128",
+ "llvm.x86.avx512.mask.ucmp.w.256",
+ "llvm.x86.avx512.mask.ucmp.w.512",
+ "llvm.x86.avx512.mask.vcvtph2ps.128",
+ "llvm.x86.avx512.mask.vcvtph2ps.256",
+ "llvm.x86.avx512.mask.vcvtph2ps.512",
+ "llvm.x86.avx512.mask.vcvtps2ph.128",
+ "llvm.x86.avx512.mask.vcvtps2ph.256",
+ "llvm.x86.avx512.mask.vcvtps2ph.512",
+ "llvm.x86.avx512.mask.vextractf32x4.256",
+ "llvm.x86.avx512.mask.vextractf32x4.512",
+ "llvm.x86.avx512.mask.vextractf32x8.512",
+ "llvm.x86.avx512.mask.vextractf64x2.256",
+ "llvm.x86.avx512.mask.vextractf64x2.512",
+ "llvm.x86.avx512.mask.vextractf64x4.512",
+ "llvm.x86.avx512.mask.vextracti32x4.256",
+ "llvm.x86.avx512.mask.vextracti32x4.512",
+ "llvm.x86.avx512.mask.vextracti32x8.512",
+ "llvm.x86.avx512.mask.vextracti64x2.256",
+ "llvm.x86.avx512.mask.vextracti64x2.512",
+ "llvm.x86.avx512.mask.vextracti64x4.512",
+ "llvm.x86.avx512.mask.vfmadd.pd.128",
+ "llvm.x86.avx512.mask.vfmadd.pd.256",
+ "llvm.x86.avx512.mask.vfmadd.pd.512",
+ "llvm.x86.avx512.mask.vfmadd.ps.128",
+ "llvm.x86.avx512.mask.vfmadd.ps.256",
+ "llvm.x86.avx512.mask.vfmadd.ps.512",
+ "llvm.x86.avx512.mask.vfmadd.sd",
+ "llvm.x86.avx512.mask.vfmadd.ss",
+ "llvm.x86.avx512.mask.vfmaddsub.pd.128",
+ "llvm.x86.avx512.mask.vfmaddsub.pd.256",
+ "llvm.x86.avx512.mask.vfmaddsub.pd.512",
+ "llvm.x86.avx512.mask.vfmaddsub.ps.128",
+ "llvm.x86.avx512.mask.vfmaddsub.ps.256",
+ "llvm.x86.avx512.mask.vfmaddsub.ps.512",
+ "llvm.x86.avx512.mask.vfnmadd.pd.128",
+ "llvm.x86.avx512.mask.vfnmadd.pd.256",
+ "llvm.x86.avx512.mask.vfnmadd.pd.512",
+ "llvm.x86.avx512.mask.vfnmadd.ps.128",
+ "llvm.x86.avx512.mask.vfnmadd.ps.256",
+ "llvm.x86.avx512.mask.vfnmadd.ps.512",
+ "llvm.x86.avx512.mask.vfnmsub.pd.128",
+ "llvm.x86.avx512.mask.vfnmsub.pd.256",
+ "llvm.x86.avx512.mask.vfnmsub.pd.512",
+ "llvm.x86.avx512.mask.vfnmsub.ps.128",
+ "llvm.x86.avx512.mask.vfnmsub.ps.256",
+ "llvm.x86.avx512.mask.vfnmsub.ps.512",
+ "llvm.x86.avx512.mask.vpermi2var.d.128",
+ "llvm.x86.avx512.mask.vpermi2var.d.256",
+ "llvm.x86.avx512.mask.vpermi2var.d.512",
+ "llvm.x86.avx512.mask.vpermi2var.hi.128",
+ "llvm.x86.avx512.mask.vpermi2var.hi.256",
+ "llvm.x86.avx512.mask.vpermi2var.hi.512",
+ "llvm.x86.avx512.mask.vpermi2var.pd.128",
+ "llvm.x86.avx512.mask.vpermi2var.pd.256",
+ "llvm.x86.avx512.mask.vpermi2var.pd.512",
+ "llvm.x86.avx512.mask.vpermi2var.ps.128",
+ "llvm.x86.avx512.mask.vpermi2var.ps.256",
+ "llvm.x86.avx512.mask.vpermi2var.ps.512",
+ "llvm.x86.avx512.mask.vpermi2var.q.128",
+ "llvm.x86.avx512.mask.vpermi2var.q.256",
+ "llvm.x86.avx512.mask.vpermi2var.q.512",
+ "llvm.x86.avx512.mask.vpermi2var.qi.128",
+ "llvm.x86.avx512.mask.vpermi2var.qi.256",
+ "llvm.x86.avx512.mask.vpermi2var.qi.512",
+ "llvm.x86.avx512.mask.vpermt2var.d.128",
+ "llvm.x86.avx512.mask.vpermt2var.d.256",
+ "llvm.x86.avx512.mask.vpermt2var.d.512",
+ "llvm.x86.avx512.mask.vpermt2var.hi.128",
+ "llvm.x86.avx512.mask.vpermt2var.hi.256",
+ "llvm.x86.avx512.mask.vpermt2var.hi.512",
+ "llvm.x86.avx512.mask.vpermt2var.pd.128",
+ "llvm.x86.avx512.mask.vpermt2var.pd.256",
+ "llvm.x86.avx512.mask.vpermt2var.pd.512",
+ "llvm.x86.avx512.mask.vpermt2var.ps.128",
+ "llvm.x86.avx512.mask.vpermt2var.ps.256",
+ "llvm.x86.avx512.mask.vpermt2var.ps.512",
+ "llvm.x86.avx512.mask.vpermt2var.q.128",
+ "llvm.x86.avx512.mask.vpermt2var.q.256",
+ "llvm.x86.avx512.mask.vpermt2var.q.512",
+ "llvm.x86.avx512.mask.vpermt2var.qi.128",
+ "llvm.x86.avx512.mask.vpermt2var.qi.256",
+ "llvm.x86.avx512.mask.vpermt2var.qi.512",
+ "llvm.x86.avx512.mask.vpmadd52h.uq.128",
+ "llvm.x86.avx512.mask.vpmadd52h.uq.256",
+ "llvm.x86.avx512.mask.vpmadd52h.uq.512",
+ "llvm.x86.avx512.mask.vpmadd52l.uq.128",
+ "llvm.x86.avx512.mask.vpmadd52l.uq.256",
+ "llvm.x86.avx512.mask.vpmadd52l.uq.512",
+ "llvm.x86.avx512.mask3.vfmadd.pd.128",
+ "llvm.x86.avx512.mask3.vfmadd.pd.256",
+ "llvm.x86.avx512.mask3.vfmadd.pd.512",
+ "llvm.x86.avx512.mask3.vfmadd.ps.128",
+ "llvm.x86.avx512.mask3.vfmadd.ps.256",
+ "llvm.x86.avx512.mask3.vfmadd.ps.512",
+ "llvm.x86.avx512.mask3.vfmadd.sd",
+ "llvm.x86.avx512.mask3.vfmadd.ss",
+ "llvm.x86.avx512.mask3.vfmaddsub.pd.128",
+ "llvm.x86.avx512.mask3.vfmaddsub.pd.256",
+ "llvm.x86.avx512.mask3.vfmaddsub.pd.512",
+ "llvm.x86.avx512.mask3.vfmaddsub.ps.128",
+ "llvm.x86.avx512.mask3.vfmaddsub.ps.256",
+ "llvm.x86.avx512.mask3.vfmaddsub.ps.512",
+ "llvm.x86.avx512.mask3.vfmsub.pd.128",
+ "llvm.x86.avx512.mask3.vfmsub.pd.256",
+ "llvm.x86.avx512.mask3.vfmsub.pd.512",
+ "llvm.x86.avx512.mask3.vfmsub.ps.128",
+ "llvm.x86.avx512.mask3.vfmsub.ps.256",
+ "llvm.x86.avx512.mask3.vfmsub.ps.512",
+ "llvm.x86.avx512.mask3.vfmsub.sd",
+ "llvm.x86.avx512.mask3.vfmsub.ss",
+ "llvm.x86.avx512.mask3.vfmsubadd.pd.128",
+ "llvm.x86.avx512.mask3.vfmsubadd.pd.256",
+ "llvm.x86.avx512.mask3.vfmsubadd.pd.512",
+ "llvm.x86.avx512.mask3.vfmsubadd.ps.128",
+ "llvm.x86.avx512.mask3.vfmsubadd.ps.256",
+ "llvm.x86.avx512.mask3.vfmsubadd.ps.512",
+ "llvm.x86.avx512.mask3.vfnmsub.pd.128",
+ "llvm.x86.avx512.mask3.vfnmsub.pd.256",
+ "llvm.x86.avx512.mask3.vfnmsub.pd.512",
+ "llvm.x86.avx512.mask3.vfnmsub.ps.128",
+ "llvm.x86.avx512.mask3.vfnmsub.ps.256",
+ "llvm.x86.avx512.mask3.vfnmsub.ps.512",
+ "llvm.x86.avx512.mask3.vfnmsub.sd",
+ "llvm.x86.avx512.mask3.vfnmsub.ss",
+ "llvm.x86.avx512.maskz.fixupimm.pd.128",
+ "llvm.x86.avx512.maskz.fixupimm.pd.256",
+ "llvm.x86.avx512.maskz.fixupimm.pd.512",
+ "llvm.x86.avx512.maskz.fixupimm.ps.128",
+ "llvm.x86.avx512.maskz.fixupimm.ps.256",
+ "llvm.x86.avx512.maskz.fixupimm.ps.512",
+ "llvm.x86.avx512.maskz.fixupimm.sd",
+ "llvm.x86.avx512.maskz.fixupimm.ss",
+ "llvm.x86.avx512.maskz.pternlog.d.128",
+ "llvm.x86.avx512.maskz.pternlog.d.256",
+ "llvm.x86.avx512.maskz.pternlog.d.512",
+ "llvm.x86.avx512.maskz.pternlog.q.128",
+ "llvm.x86.avx512.maskz.pternlog.q.256",
+ "llvm.x86.avx512.maskz.pternlog.q.512",
+ "llvm.x86.avx512.maskz.vfmadd.pd.128",
+ "llvm.x86.avx512.maskz.vfmadd.pd.256",
+ "llvm.x86.avx512.maskz.vfmadd.pd.512",
+ "llvm.x86.avx512.maskz.vfmadd.ps.128",
+ "llvm.x86.avx512.maskz.vfmadd.ps.256",
+ "llvm.x86.avx512.maskz.vfmadd.ps.512",
+ "llvm.x86.avx512.maskz.vfmadd.sd",
+ "llvm.x86.avx512.maskz.vfmadd.ss",
+ "llvm.x86.avx512.maskz.vfmaddsub.pd.128",
+ "llvm.x86.avx512.maskz.vfmaddsub.pd.256",
+ "llvm.x86.avx512.maskz.vfmaddsub.pd.512",
+ "llvm.x86.avx512.maskz.vfmaddsub.ps.128",
+ "llvm.x86.avx512.maskz.vfmaddsub.ps.256",
+ "llvm.x86.avx512.maskz.vfmaddsub.ps.512",
+ "llvm.x86.avx512.maskz.vpermt2var.d.128",
+ "llvm.x86.avx512.maskz.vpermt2var.d.256",
+ "llvm.x86.avx512.maskz.vpermt2var.d.512",
+ "llvm.x86.avx512.maskz.vpermt2var.hi.128",
+ "llvm.x86.avx512.maskz.vpermt2var.hi.256",
+ "llvm.x86.avx512.maskz.vpermt2var.hi.512",
+ "llvm.x86.avx512.maskz.vpermt2var.pd.128",
+ "llvm.x86.avx512.maskz.vpermt2var.pd.256",
+ "llvm.x86.avx512.maskz.vpermt2var.pd.512",
+ "llvm.x86.avx512.maskz.vpermt2var.ps.128",
+ "llvm.x86.avx512.maskz.vpermt2var.ps.256",
+ "llvm.x86.avx512.maskz.vpermt2var.ps.512",
+ "llvm.x86.avx512.maskz.vpermt2var.q.128",
+ "llvm.x86.avx512.maskz.vpermt2var.q.256",
+ "llvm.x86.avx512.maskz.vpermt2var.q.512",
+ "llvm.x86.avx512.maskz.vpermt2var.qi.128",
+ "llvm.x86.avx512.maskz.vpermt2var.qi.256",
+ "llvm.x86.avx512.maskz.vpermt2var.qi.512",
+ "llvm.x86.avx512.maskz.vpmadd52h.uq.128",
+ "llvm.x86.avx512.maskz.vpmadd52h.uq.256",
+ "llvm.x86.avx512.maskz.vpmadd52h.uq.512",
+ "llvm.x86.avx512.maskz.vpmadd52l.uq.128",
+ "llvm.x86.avx512.maskz.vpmadd52l.uq.256",
+ "llvm.x86.avx512.maskz.vpmadd52l.uq.512",
+ "llvm.x86.avx512.movntdqa",
+ "llvm.x86.avx512.psad.bw.512",
+ "llvm.x86.avx512.pshuf.b.512",
+ "llvm.x86.avx512.psll.d.512",
+ "llvm.x86.avx512.psll.q.512",
+ "llvm.x86.avx512.psll.w.512",
+ "llvm.x86.avx512.pslli.d.512",
+ "llvm.x86.avx512.pslli.q.512",
+ "llvm.x86.avx512.pslli.w.512",
+ "llvm.x86.avx512.psllv.d.512",
+ "llvm.x86.avx512.psllv.q.512",
+ "llvm.x86.avx512.psllv.w.128",
+ "llvm.x86.avx512.psllv.w.256",
+ "llvm.x86.avx512.psllv.w.512",
+ "llvm.x86.avx512.psra.d.512",
+ "llvm.x86.avx512.psra.q.128",
+ "llvm.x86.avx512.psra.q.256",
+ "llvm.x86.avx512.psra.q.512",
+ "llvm.x86.avx512.psra.w.512",
+ "llvm.x86.avx512.psrai.d.512",
+ "llvm.x86.avx512.psrai.q.128",
+ "llvm.x86.avx512.psrai.q.256",
+ "llvm.x86.avx512.psrai.q.512",
+ "llvm.x86.avx512.psrai.w.512",
+ "llvm.x86.avx512.psrav.d.512",
+ "llvm.x86.avx512.psrav.q.128",
+ "llvm.x86.avx512.psrav.q.256",
+ "llvm.x86.avx512.psrav.q.512",
+ "llvm.x86.avx512.psrav.w.128",
+ "llvm.x86.avx512.psrav.w.256",
+ "llvm.x86.avx512.psrav.w.512",
+ "llvm.x86.avx512.psrl.d.512",
+ "llvm.x86.avx512.psrl.q.512",
+ "llvm.x86.avx512.psrl.w.512",
+ "llvm.x86.avx512.psrli.d.512",
+ "llvm.x86.avx512.psrli.q.512",
+ "llvm.x86.avx512.psrli.w.512",
+ "llvm.x86.avx512.psrlv.d.512",
+ "llvm.x86.avx512.psrlv.q.512",
+ "llvm.x86.avx512.psrlv.w.128",
+ "llvm.x86.avx512.psrlv.w.256",
+ "llvm.x86.avx512.psrlv.w.512",
+ "llvm.x86.avx512.ptestm.b.128",
+ "llvm.x86.avx512.ptestm.b.256",
+ "llvm.x86.avx512.ptestm.b.512",
+ "llvm.x86.avx512.ptestm.d.128",
+ "llvm.x86.avx512.ptestm.d.256",
+ "llvm.x86.avx512.ptestm.d.512",
+ "llvm.x86.avx512.ptestm.q.128",
+ "llvm.x86.avx512.ptestm.q.256",
+ "llvm.x86.avx512.ptestm.q.512",
+ "llvm.x86.avx512.ptestm.w.128",
+ "llvm.x86.avx512.ptestm.w.256",
+ "llvm.x86.avx512.ptestm.w.512",
+ "llvm.x86.avx512.ptestnm.b.128",
+ "llvm.x86.avx512.ptestnm.b.256",
+ "llvm.x86.avx512.ptestnm.b.512",
+ "llvm.x86.avx512.ptestnm.d.128",
+ "llvm.x86.avx512.ptestnm.d.256",
+ "llvm.x86.avx512.ptestnm.d.512",
+ "llvm.x86.avx512.ptestnm.q.128",
+ "llvm.x86.avx512.ptestnm.q.256",
+ "llvm.x86.avx512.ptestnm.q.512",
+ "llvm.x86.avx512.ptestnm.w.128",
+ "llvm.x86.avx512.ptestnm.w.256",
+ "llvm.x86.avx512.ptestnm.w.512",
+ "llvm.x86.avx512.rcp14.pd.128",
+ "llvm.x86.avx512.rcp14.pd.256",
+ "llvm.x86.avx512.rcp14.pd.512",
+ "llvm.x86.avx512.rcp14.ps.128",
+ "llvm.x86.avx512.rcp14.ps.256",
+ "llvm.x86.avx512.rcp14.ps.512",
+ "llvm.x86.avx512.rcp14.sd",
+ "llvm.x86.avx512.rcp14.ss",
+ "llvm.x86.avx512.rcp28.pd",
+ "llvm.x86.avx512.rcp28.ps",
+ "llvm.x86.avx512.rcp28.sd",
+ "llvm.x86.avx512.rcp28.ss",
+ "llvm.x86.avx512.rsqrt14.pd.128",
+ "llvm.x86.avx512.rsqrt14.pd.256",
+ "llvm.x86.avx512.rsqrt14.pd.512",
+ "llvm.x86.avx512.rsqrt14.ps.128",
+ "llvm.x86.avx512.rsqrt14.ps.256",
+ "llvm.x86.avx512.rsqrt14.ps.512",
+ "llvm.x86.avx512.rsqrt14.sd",
+ "llvm.x86.avx512.rsqrt14.ss",
+ "llvm.x86.avx512.rsqrt28.pd",
+ "llvm.x86.avx512.rsqrt28.ps",
+ "llvm.x86.avx512.rsqrt28.sd",
+ "llvm.x86.avx512.rsqrt28.ss",
+ "llvm.x86.avx512.scatter.dpd.512",
+ "llvm.x86.avx512.scatter.dpi.512",
+ "llvm.x86.avx512.scatter.dpq.512",
+ "llvm.x86.avx512.scatter.dps.512",
+ "llvm.x86.avx512.scatter.qpd.512",
+ "llvm.x86.avx512.scatter.qpi.512",
+ "llvm.x86.avx512.scatter.qpq.512",
+ "llvm.x86.avx512.scatter.qps.512",
+ "llvm.x86.avx512.scatterdiv2.df",
+ "llvm.x86.avx512.scatterdiv2.di",
+ "llvm.x86.avx512.scatterdiv4.df",
+ "llvm.x86.avx512.scatterdiv4.di",
+ "llvm.x86.avx512.scatterdiv4.sf",
+ "llvm.x86.avx512.scatterdiv4.si",
+ "llvm.x86.avx512.scatterdiv8.sf",
+ "llvm.x86.avx512.scatterdiv8.si",
+ "llvm.x86.avx512.scatterpf.dpd.512",
+ "llvm.x86.avx512.scatterpf.dps.512",
+ "llvm.x86.avx512.scatterpf.qpd.512",
+ "llvm.x86.avx512.scatterpf.qps.512",
+ "llvm.x86.avx512.scattersiv2.df",
+ "llvm.x86.avx512.scattersiv2.di",
+ "llvm.x86.avx512.scattersiv4.df",
+ "llvm.x86.avx512.scattersiv4.di",
+ "llvm.x86.avx512.scattersiv4.sf",
+ "llvm.x86.avx512.scattersiv4.si",
+ "llvm.x86.avx512.scattersiv8.sf",
+ "llvm.x86.avx512.scattersiv8.si",
+ "llvm.x86.avx512.vbroadcast.sd.512",
+ "llvm.x86.avx512.vbroadcast.ss.512",
+ "llvm.x86.avx512.vcomi.sd",
+ "llvm.x86.avx512.vcomi.ss",
+ "llvm.x86.avx512.vcvtsd2si32",
+ "llvm.x86.avx512.vcvtsd2si64",
+ "llvm.x86.avx512.vcvtsd2usi32",
+ "llvm.x86.avx512.vcvtsd2usi64",
+ "llvm.x86.avx512.vcvtss2si32",
+ "llvm.x86.avx512.vcvtss2si64",
+ "llvm.x86.avx512.vcvtss2usi32",
+ "llvm.x86.avx512.vcvtss2usi64",
+ "llvm.x86.avx512.vpermilvar.pd.512",
+ "llvm.x86.avx512.vpermilvar.ps.512",
+ "llvm.x86.bmi.bextr.32",
+ "llvm.x86.bmi.bextr.64",
+ "llvm.x86.bmi.bzhi.32",
+ "llvm.x86.bmi.bzhi.64",
+ "llvm.x86.bmi.pdep.32",
+ "llvm.x86.bmi.pdep.64",
+ "llvm.x86.bmi.pext.32",
+ "llvm.x86.bmi.pext.64",
+ "llvm.x86.clflushopt",
+ "llvm.x86.flags.read.u32",
+ "llvm.x86.flags.read.u64",
+ "llvm.x86.flags.write.u32",
+ "llvm.x86.flags.write.u64",
+ "llvm.x86.fma.vfmadd.pd",
+ "llvm.x86.fma.vfmadd.pd.256",
+ "llvm.x86.fma.vfmadd.ps",
+ "llvm.x86.fma.vfmadd.ps.256",
+ "llvm.x86.fma.vfmadd.sd",
+ "llvm.x86.fma.vfmadd.ss",
+ "llvm.x86.fma.vfmaddsub.pd",
+ "llvm.x86.fma.vfmaddsub.pd.256",
+ "llvm.x86.fma.vfmaddsub.ps",
+ "llvm.x86.fma.vfmaddsub.ps.256",
+ "llvm.x86.fma.vfmsub.pd",
+ "llvm.x86.fma.vfmsub.pd.256",
+ "llvm.x86.fma.vfmsub.ps",
+ "llvm.x86.fma.vfmsub.ps.256",
+ "llvm.x86.fma.vfmsub.sd",
+ "llvm.x86.fma.vfmsub.ss",
+ "llvm.x86.fma.vfmsubadd.pd",
+ "llvm.x86.fma.vfmsubadd.pd.256",
+ "llvm.x86.fma.vfmsubadd.ps",
+ "llvm.x86.fma.vfmsubadd.ps.256",
+ "llvm.x86.fma.vfnmadd.pd",
+ "llvm.x86.fma.vfnmadd.pd.256",
+ "llvm.x86.fma.vfnmadd.ps",
+ "llvm.x86.fma.vfnmadd.ps.256",
+ "llvm.x86.fma.vfnmadd.sd",
+ "llvm.x86.fma.vfnmadd.ss",
+ "llvm.x86.fma.vfnmsub.pd",
+ "llvm.x86.fma.vfnmsub.pd.256",
+ "llvm.x86.fma.vfnmsub.ps",
+ "llvm.x86.fma.vfnmsub.ps.256",
+ "llvm.x86.fma.vfnmsub.sd",
+ "llvm.x86.fma.vfnmsub.ss",
+ "llvm.x86.fxrstor",
+ "llvm.x86.fxrstor64",
+ "llvm.x86.fxsave",
+ "llvm.x86.fxsave64",
+ "llvm.x86.int",
+ "llvm.x86.mmx.emms",
+ "llvm.x86.mmx.femms",
+ "llvm.x86.mmx.maskmovq",
+ "llvm.x86.mmx.movnt.dq",
+ "llvm.x86.mmx.packssdw",
+ "llvm.x86.mmx.packsswb",
+ "llvm.x86.mmx.packuswb",
+ "llvm.x86.mmx.padd.b",
+ "llvm.x86.mmx.padd.d",
+ "llvm.x86.mmx.padd.q",
+ "llvm.x86.mmx.padd.w",
+ "llvm.x86.mmx.padds.b",
+ "llvm.x86.mmx.padds.w",
+ "llvm.x86.mmx.paddus.b",
+ "llvm.x86.mmx.paddus.w",
+ "llvm.x86.mmx.palignr.b",
+ "llvm.x86.mmx.pand",
+ "llvm.x86.mmx.pandn",
+ "llvm.x86.mmx.pavg.b",
+ "llvm.x86.mmx.pavg.w",
+ "llvm.x86.mmx.pcmpeq.b",
+ "llvm.x86.mmx.pcmpeq.d",
+ "llvm.x86.mmx.pcmpeq.w",
+ "llvm.x86.mmx.pcmpgt.b",
+ "llvm.x86.mmx.pcmpgt.d",
+ "llvm.x86.mmx.pcmpgt.w",
+ "llvm.x86.mmx.pextr.w",
+ "llvm.x86.mmx.pinsr.w",
+ "llvm.x86.mmx.pmadd.wd",
+ "llvm.x86.mmx.pmaxs.w",
+ "llvm.x86.mmx.pmaxu.b",
+ "llvm.x86.mmx.pmins.w",
+ "llvm.x86.mmx.pminu.b",
+ "llvm.x86.mmx.pmovmskb",
+ "llvm.x86.mmx.pmulh.w",
+ "llvm.x86.mmx.pmulhu.w",
+ "llvm.x86.mmx.pmull.w",
+ "llvm.x86.mmx.pmulu.dq",
+ "llvm.x86.mmx.por",
+ "llvm.x86.mmx.psad.bw",
+ "llvm.x86.mmx.psll.d",
+ "llvm.x86.mmx.psll.q",
+ "llvm.x86.mmx.psll.w",
+ "llvm.x86.mmx.pslli.d",
+ "llvm.x86.mmx.pslli.q",
+ "llvm.x86.mmx.pslli.w",
+ "llvm.x86.mmx.psra.d",
+ "llvm.x86.mmx.psra.w",
+ "llvm.x86.mmx.psrai.d",
+ "llvm.x86.mmx.psrai.w",
+ "llvm.x86.mmx.psrl.d",
+ "llvm.x86.mmx.psrl.q",
+ "llvm.x86.mmx.psrl.w",
+ "llvm.x86.mmx.psrli.d",
+ "llvm.x86.mmx.psrli.q",
+ "llvm.x86.mmx.psrli.w",
+ "llvm.x86.mmx.psub.b",
+ "llvm.x86.mmx.psub.d",
+ "llvm.x86.mmx.psub.q",
+ "llvm.x86.mmx.psub.w",
+ "llvm.x86.mmx.psubs.b",
+ "llvm.x86.mmx.psubs.w",
+ "llvm.x86.mmx.psubus.b",
+ "llvm.x86.mmx.psubus.w",
+ "llvm.x86.mmx.punpckhbw",
+ "llvm.x86.mmx.punpckhdq",
+ "llvm.x86.mmx.punpckhwd",
+ "llvm.x86.mmx.punpcklbw",
+ "llvm.x86.mmx.punpckldq",
+ "llvm.x86.mmx.punpcklwd",
+ "llvm.x86.mmx.pxor",
+ "llvm.x86.monitorx",
+ "llvm.x86.mwaitx",
+ "llvm.x86.pclmulqdq",
+ "llvm.x86.rdfsbase.32",
+ "llvm.x86.rdfsbase.64",
+ "llvm.x86.rdgsbase.32",
+ "llvm.x86.rdgsbase.64",
+ "llvm.x86.rdpkru",
+ "llvm.x86.rdpmc",
+ "llvm.x86.rdrand.16",
+ "llvm.x86.rdrand.32",
+ "llvm.x86.rdrand.64",
+ "llvm.x86.rdseed.16",
+ "llvm.x86.rdseed.32",
+ "llvm.x86.rdseed.64",
+ "llvm.x86.rdtsc",
+ "llvm.x86.rdtscp",
+ "llvm.x86.seh.ehguard",
+ "llvm.x86.seh.ehregnode",
+ "llvm.x86.seh.lsda",
+ "llvm.x86.seh.recoverfp",
+ "llvm.x86.sha1msg1",
+ "llvm.x86.sha1msg2",
+ "llvm.x86.sha1nexte",
+ "llvm.x86.sha1rnds4",
+ "llvm.x86.sha256msg1",
+ "llvm.x86.sha256msg2",
+ "llvm.x86.sha256rnds2",
+ "llvm.x86.sse.cmp.ps",
+ "llvm.x86.sse.cmp.ss",
+ "llvm.x86.sse.comieq.ss",
+ "llvm.x86.sse.comige.ss",
+ "llvm.x86.sse.comigt.ss",
+ "llvm.x86.sse.comile.ss",
+ "llvm.x86.sse.comilt.ss",
+ "llvm.x86.sse.comineq.ss",
+ "llvm.x86.sse.cvtpd2pi",
+ "llvm.x86.sse.cvtpi2pd",
+ "llvm.x86.sse.cvtpi2ps",
+ "llvm.x86.sse.cvtps2pi",
+ "llvm.x86.sse.cvtsi2ss",
+ "llvm.x86.sse.cvtsi642ss",
+ "llvm.x86.sse.cvtss2si",
+ "llvm.x86.sse.cvtss2si64",
+ "llvm.x86.sse.cvttpd2pi",
+ "llvm.x86.sse.cvttps2pi",
+ "llvm.x86.sse.cvttss2si",
+ "llvm.x86.sse.cvttss2si64",
+ "llvm.x86.sse.ldmxcsr",
+ "llvm.x86.sse.max.ps",
+ "llvm.x86.sse.max.ss",
+ "llvm.x86.sse.min.ps",
+ "llvm.x86.sse.min.ss",
+ "llvm.x86.sse.movmsk.ps",
+ "llvm.x86.sse.pshuf.w",
+ "llvm.x86.sse.rcp.ps",
+ "llvm.x86.sse.rcp.ss",
+ "llvm.x86.sse.rsqrt.ps",
+ "llvm.x86.sse.rsqrt.ss",
+ "llvm.x86.sse.sfence",
+ "llvm.x86.sse.sqrt.ps",
+ "llvm.x86.sse.sqrt.ss",
+ "llvm.x86.sse.stmxcsr",
+ "llvm.x86.sse.ucomieq.ss",
+ "llvm.x86.sse.ucomige.ss",
+ "llvm.x86.sse.ucomigt.ss",
+ "llvm.x86.sse.ucomile.ss",
+ "llvm.x86.sse.ucomilt.ss",
+ "llvm.x86.sse.ucomineq.ss",
+ "llvm.x86.sse2.clflush",
+ "llvm.x86.sse2.cmp.pd",
+ "llvm.x86.sse2.cmp.sd",
+ "llvm.x86.sse2.comieq.sd",
+ "llvm.x86.sse2.comige.sd",
+ "llvm.x86.sse2.comigt.sd",
+ "llvm.x86.sse2.comile.sd",
+ "llvm.x86.sse2.comilt.sd",
+ "llvm.x86.sse2.comineq.sd",
+ "llvm.x86.sse2.cvtdq2ps",
+ "llvm.x86.sse2.cvtpd2dq",
+ "llvm.x86.sse2.cvtpd2ps",
+ "llvm.x86.sse2.cvtps2dq",
+ "llvm.x86.sse2.cvtsd2si",
+ "llvm.x86.sse2.cvtsd2si64",
+ "llvm.x86.sse2.cvtsd2ss",
+ "llvm.x86.sse2.cvtsi2sd",
+ "llvm.x86.sse2.cvtsi642sd",
+ "llvm.x86.sse2.cvtss2sd",
+ "llvm.x86.sse2.cvttpd2dq",
+ "llvm.x86.sse2.cvttps2dq",
+ "llvm.x86.sse2.cvttsd2si",
+ "llvm.x86.sse2.cvttsd2si64",
+ "llvm.x86.sse2.lfence",
+ "llvm.x86.sse2.maskmov.dqu",
+ "llvm.x86.sse2.max.pd",
+ "llvm.x86.sse2.max.sd",
+ "llvm.x86.sse2.mfence",
+ "llvm.x86.sse2.min.pd",
+ "llvm.x86.sse2.min.sd",
+ "llvm.x86.sse2.movmsk.pd",
+ "llvm.x86.sse2.packssdw.128",
+ "llvm.x86.sse2.packsswb.128",
+ "llvm.x86.sse2.packuswb.128",
+ "llvm.x86.sse2.padds.b",
+ "llvm.x86.sse2.padds.w",
+ "llvm.x86.sse2.paddus.b",
+ "llvm.x86.sse2.paddus.w",
+ "llvm.x86.sse2.pause",
+ "llvm.x86.sse2.pavg.b",
+ "llvm.x86.sse2.pavg.w",
+ "llvm.x86.sse2.pmadd.wd",
+ "llvm.x86.sse2.pmovmskb.128",
+ "llvm.x86.sse2.pmulh.w",
+ "llvm.x86.sse2.pmulhu.w",
+ "llvm.x86.sse2.pmulu.dq",
+ "llvm.x86.sse2.psad.bw",
+ "llvm.x86.sse2.psll.d",
+ "llvm.x86.sse2.psll.q",
+ "llvm.x86.sse2.psll.w",
+ "llvm.x86.sse2.pslli.d",
+ "llvm.x86.sse2.pslli.q",
+ "llvm.x86.sse2.pslli.w",
+ "llvm.x86.sse2.psra.d",
+ "llvm.x86.sse2.psra.w",
+ "llvm.x86.sse2.psrai.d",
+ "llvm.x86.sse2.psrai.w",
+ "llvm.x86.sse2.psrl.d",
+ "llvm.x86.sse2.psrl.q",
+ "llvm.x86.sse2.psrl.w",
+ "llvm.x86.sse2.psrli.d",
+ "llvm.x86.sse2.psrli.q",
+ "llvm.x86.sse2.psrli.w",
+ "llvm.x86.sse2.psubs.b",
+ "llvm.x86.sse2.psubs.w",
+ "llvm.x86.sse2.psubus.b",
+ "llvm.x86.sse2.psubus.w",
+ "llvm.x86.sse2.sqrt.pd",
+ "llvm.x86.sse2.sqrt.sd",
+ "llvm.x86.sse2.ucomieq.sd",
+ "llvm.x86.sse2.ucomige.sd",
+ "llvm.x86.sse2.ucomigt.sd",
+ "llvm.x86.sse2.ucomile.sd",
+ "llvm.x86.sse2.ucomilt.sd",
+ "llvm.x86.sse2.ucomineq.sd",
+ "llvm.x86.sse3.addsub.pd",
+ "llvm.x86.sse3.addsub.ps",
+ "llvm.x86.sse3.hadd.pd",
+ "llvm.x86.sse3.hadd.ps",
+ "llvm.x86.sse3.hsub.pd",
+ "llvm.x86.sse3.hsub.ps",
+ "llvm.x86.sse3.ldu.dq",
+ "llvm.x86.sse3.monitor",
+ "llvm.x86.sse3.mwait",
+ "llvm.x86.sse41.blendvpd",
+ "llvm.x86.sse41.blendvps",
+ "llvm.x86.sse41.dppd",
+ "llvm.x86.sse41.dpps",
+ "llvm.x86.sse41.insertps",
+ "llvm.x86.sse41.movntdqa",
+ "llvm.x86.sse41.mpsadbw",
+ "llvm.x86.sse41.packusdw",
+ "llvm.x86.sse41.pblendvb",
+ "llvm.x86.sse41.phminposuw",
+ "llvm.x86.sse41.pmuldq",
+ "llvm.x86.sse41.ptestc",
+ "llvm.x86.sse41.ptestnzc",
+ "llvm.x86.sse41.ptestz",
+ "llvm.x86.sse41.round.pd",
+ "llvm.x86.sse41.round.ps",
+ "llvm.x86.sse41.round.sd",
+ "llvm.x86.sse41.round.ss",
+ "llvm.x86.sse42.crc32.32.16",
+ "llvm.x86.sse42.crc32.32.32",
+ "llvm.x86.sse42.crc32.32.8",
+ "llvm.x86.sse42.crc32.64.64",
+ "llvm.x86.sse42.pcmpestri128",
+ "llvm.x86.sse42.pcmpestria128",
+ "llvm.x86.sse42.pcmpestric128",
+ "llvm.x86.sse42.pcmpestrio128",
+ "llvm.x86.sse42.pcmpestris128",
+ "llvm.x86.sse42.pcmpestriz128",
+ "llvm.x86.sse42.pcmpestrm128",
+ "llvm.x86.sse42.pcmpistri128",
+ "llvm.x86.sse42.pcmpistria128",
+ "llvm.x86.sse42.pcmpistric128",
+ "llvm.x86.sse42.pcmpistrio128",
+ "llvm.x86.sse42.pcmpistris128",
+ "llvm.x86.sse42.pcmpistriz128",
+ "llvm.x86.sse42.pcmpistrm128",
+ "llvm.x86.sse4a.extrq",
+ "llvm.x86.sse4a.extrqi",
+ "llvm.x86.sse4a.insertq",
+ "llvm.x86.sse4a.insertqi",
+ "llvm.x86.ssse3.pabs.b",
+ "llvm.x86.ssse3.pabs.b.128",
+ "llvm.x86.ssse3.pabs.d",
+ "llvm.x86.ssse3.pabs.d.128",
+ "llvm.x86.ssse3.pabs.w",
+ "llvm.x86.ssse3.pabs.w.128",
+ "llvm.x86.ssse3.phadd.d",
+ "llvm.x86.ssse3.phadd.d.128",
+ "llvm.x86.ssse3.phadd.sw",
+ "llvm.x86.ssse3.phadd.sw.128",
+ "llvm.x86.ssse3.phadd.w",
+ "llvm.x86.ssse3.phadd.w.128",
+ "llvm.x86.ssse3.phsub.d",
+ "llvm.x86.ssse3.phsub.d.128",
+ "llvm.x86.ssse3.phsub.sw",
+ "llvm.x86.ssse3.phsub.sw.128",
+ "llvm.x86.ssse3.phsub.w",
+ "llvm.x86.ssse3.phsub.w.128",
+ "llvm.x86.ssse3.pmadd.ub.sw",
+ "llvm.x86.ssse3.pmadd.ub.sw.128",
+ "llvm.x86.ssse3.pmul.hr.sw",
+ "llvm.x86.ssse3.pmul.hr.sw.128",
+ "llvm.x86.ssse3.pshuf.b",
+ "llvm.x86.ssse3.pshuf.b.128",
+ "llvm.x86.ssse3.psign.b",
+ "llvm.x86.ssse3.psign.b.128",
+ "llvm.x86.ssse3.psign.d",
+ "llvm.x86.ssse3.psign.d.128",
+ "llvm.x86.ssse3.psign.w",
+ "llvm.x86.ssse3.psign.w.128",
+ "llvm.x86.subborrow.u32",
+ "llvm.x86.subborrow.u64",
+ "llvm.x86.tbm.bextri.u32",
+ "llvm.x86.tbm.bextri.u64",
+ "llvm.x86.vcvtph2ps.128",
+ "llvm.x86.vcvtph2ps.256",
+ "llvm.x86.vcvtps2ph.128",
+ "llvm.x86.vcvtps2ph.256",
+ "llvm.x86.wrfsbase.32",
+ "llvm.x86.wrfsbase.64",
+ "llvm.x86.wrgsbase.32",
+ "llvm.x86.wrgsbase.64",
+ "llvm.x86.wrpkru",
+ "llvm.x86.xabort",
+ "llvm.x86.xbegin",
+ "llvm.x86.xend",
+ "llvm.x86.xgetbv",
+ "llvm.x86.xop.vfrcz.pd",
+ "llvm.x86.xop.vfrcz.pd.256",
+ "llvm.x86.xop.vfrcz.ps",
+ "llvm.x86.xop.vfrcz.ps.256",
+ "llvm.x86.xop.vfrcz.sd",
+ "llvm.x86.xop.vfrcz.ss",
+ "llvm.x86.xop.vpcmov",
+ "llvm.x86.xop.vpcmov.256",
+ "llvm.x86.xop.vpcomb",
+ "llvm.x86.xop.vpcomd",
+ "llvm.x86.xop.vpcomq",
+ "llvm.x86.xop.vpcomub",
+ "llvm.x86.xop.vpcomud",
+ "llvm.x86.xop.vpcomuq",
+ "llvm.x86.xop.vpcomuw",
+ "llvm.x86.xop.vpcomw",
+ "llvm.x86.xop.vpermil2pd",
+ "llvm.x86.xop.vpermil2pd.256",
+ "llvm.x86.xop.vpermil2ps",
+ "llvm.x86.xop.vpermil2ps.256",
+ "llvm.x86.xop.vphaddbd",
+ "llvm.x86.xop.vphaddbq",
+ "llvm.x86.xop.vphaddbw",
+ "llvm.x86.xop.vphadddq",
+ "llvm.x86.xop.vphaddubd",
+ "llvm.x86.xop.vphaddubq",
+ "llvm.x86.xop.vphaddubw",
+ "llvm.x86.xop.vphaddudq",
+ "llvm.x86.xop.vphadduwd",
+ "llvm.x86.xop.vphadduwq",
+ "llvm.x86.xop.vphaddwd",
+ "llvm.x86.xop.vphaddwq",
+ "llvm.x86.xop.vphsubbw",
+ "llvm.x86.xop.vphsubdq",
+ "llvm.x86.xop.vphsubwd",
+ "llvm.x86.xop.vpmacsdd",
+ "llvm.x86.xop.vpmacsdqh",
+ "llvm.x86.xop.vpmacsdql",
+ "llvm.x86.xop.vpmacssdd",
+ "llvm.x86.xop.vpmacssdqh",
+ "llvm.x86.xop.vpmacssdql",
+ "llvm.x86.xop.vpmacsswd",
+ "llvm.x86.xop.vpmacssww",
+ "llvm.x86.xop.vpmacswd",
+ "llvm.x86.xop.vpmacsww",
+ "llvm.x86.xop.vpmadcsswd",
+ "llvm.x86.xop.vpmadcswd",
+ "llvm.x86.xop.vpperm",
+ "llvm.x86.xop.vprotb",
+ "llvm.x86.xop.vprotbi",
+ "llvm.x86.xop.vprotd",
+ "llvm.x86.xop.vprotdi",
+ "llvm.x86.xop.vprotq",
+ "llvm.x86.xop.vprotqi",
+ "llvm.x86.xop.vprotw",
+ "llvm.x86.xop.vprotwi",
+ "llvm.x86.xop.vpshab",
+ "llvm.x86.xop.vpshad",
+ "llvm.x86.xop.vpshaq",
+ "llvm.x86.xop.vpshaw",
+ "llvm.x86.xop.vpshlb",
+ "llvm.x86.xop.vpshld",
+ "llvm.x86.xop.vpshlq",
+ "llvm.x86.xop.vpshlw",
+ "llvm.x86.xrstor",
+ "llvm.x86.xrstor64",
+ "llvm.x86.xrstors",
+ "llvm.x86.xrstors64",
+ "llvm.x86.xsave",
+ "llvm.x86.xsave64",
+ "llvm.x86.xsavec",
+ "llvm.x86.xsavec64",
+ "llvm.x86.xsaveopt",
+ "llvm.x86.xsaveopt64",
+ "llvm.x86.xsaves",
+ "llvm.x86.xsaves64",
+ "llvm.x86.xsetbv",
+ "llvm.x86.xtest",
+ "llvm.xcore.bitrev",
+ "llvm.xcore.checkevent",
+ "llvm.xcore.chkct",
+ "llvm.xcore.clre",
+ "llvm.xcore.clrpt",
+ "llvm.xcore.clrsr",
+ "llvm.xcore.crc32",
+ "llvm.xcore.crc8",
+ "llvm.xcore.edu",
+ "llvm.xcore.eeu",
+ "llvm.xcore.endin",
+ "llvm.xcore.freer",
+ "llvm.xcore.geted",
+ "llvm.xcore.getet",
+ "llvm.xcore.getid",
+ "llvm.xcore.getps",
+ "llvm.xcore.getr",
+ "llvm.xcore.getst",
+ "llvm.xcore.getts",
+ "llvm.xcore.in",
+ "llvm.xcore.inct",
+ "llvm.xcore.initcp",
+ "llvm.xcore.initdp",
+ "llvm.xcore.initlr",
+ "llvm.xcore.initpc",
+ "llvm.xcore.initsp",
+ "llvm.xcore.inshr",
+ "llvm.xcore.int",
+ "llvm.xcore.mjoin",
+ "llvm.xcore.msync",
+ "llvm.xcore.out",
+ "llvm.xcore.outct",
+ "llvm.xcore.outshr",
+ "llvm.xcore.outt",
+ "llvm.xcore.peek",
+ "llvm.xcore.setc",
+ "llvm.xcore.setclk",
+ "llvm.xcore.setd",
+ "llvm.xcore.setev",
+ "llvm.xcore.setps",
+ "llvm.xcore.setpsc",
+ "llvm.xcore.setpt",
+ "llvm.xcore.setrdy",
+ "llvm.xcore.setsr",
+ "llvm.xcore.settw",
+ "llvm.xcore.setv",
+ "llvm.xcore.sext",
+ "llvm.xcore.ssync",
+ "llvm.xcore.syncr",
+ "llvm.xcore.testct",
+ "llvm.xcore.testwct",
+ "llvm.xcore.waitevent",
+ "llvm.xcore.zext",
+#endif
+
+// Intrinsic ID to overload bitset
+#ifdef GET_INTRINSIC_OVERLOAD_TABLE
+static const uint8_t OTable[] = {
+ 0 | (1<<3) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5),
+ 0,
+ 0 | (1<<2) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<7),
+ 0,
+ 0 | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<5) | (1<<6),
+ 0 | (1<<0) | (1<<1) | (1<<6),
+ 0 | (1<<3) | (1<<5),
+ 0 | (1<<0) | (1<<4) | (1<<5) | (1<<6),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<6) | (1<<7),
+ 0 | (1<<1) | (1<<2) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<3) | (1<<4) | (1<<5) | (1<<6),
+ 0 | (1<<5),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<7),
+ 0,
+ 0,
+ 0,
+ 0 | (1<<4) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6),
+ 0 | (1<<0) | (1<<1) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<2) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0,
+ 0 | (1<<3) | (1<<4) | (1<<5) | (1<<6),
+ 0 | (1<<2) | (1<<3),
+ 0 | (1<<3) | (1<<4) | (1<<5),
+ 0 | (1<<1) | (1<<3) | (1<<4) | (1<<5) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2),
+ 0 | (1<<0) | (1<<2) | (1<<5),
+ 0 | (1<<4),
+ 0 | (1<<0) | (1<<1),
+ 0,
+ 0 | (1<<2) | (1<<3) | (1<<4),
+ 0,
+ 0,
+ 0 | (1<<3),
+ 0 | (1<<1),
+ 0,
+ 0,
+ 0 | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<5) | (1<<6),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5),
+ 0,
+ 0,
+ 0 | (1<<0) | (1<<2) | (1<<6) | (1<<7),
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0 | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6),
+ 0,
+ 0 | (1<<7),
+ 0 | (1<<0),
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5),
+ 0,
+ 0,
+ 0,
+ 0 | (1<<2),
+ 0,
+ 0,
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0),
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0 | (1<<0),
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0 | (1<<6) | (1<<7),
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0 | (1<<3),
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0 | (1<<0) | (1<<1),
+ 0 | (1<<4),
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0 | (1<<1) | (1<<2),
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0 | (1<<2) | (1<<4),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6),
+ 0 | (1<<0) | (1<<1) | (1<<2) | (1<<4) | (1<<5),
+ 0 | (1<<0) | (1<<1) | (1<<2)
+};
+
+return (OTable[id/8] & (1 << (id%8))) != 0;
+#endif
+
+// Global intrinsic function declaration type table.
+#ifdef GET_INTRINSIC_GENERATOR_GLOBAL
+static const unsigned IIT_Table[] = {
+ 0x2E, 0x2E2E, (1U<<31) | 1789, 0x10, 0x1F1F, 0x1F1F, 0x2F2F,
+ 0x2F2F, 0x2E2E0, 0x32F, 0x2F3, 0x44AF2F, 0x449F2F, 0x449F2F, 0x44AF1F,
+ 0x449F1F, 0x449F1F, 0x44AF1F, 0x449F1F, 0x449F1F, 0x2F2F2F, (1U<<31) | 3646, (1U<<31) | 1009,
+ 0x2E0, 0x2E1, 0x12E0, 0x2E, (1U<<31) | 1009, (1U<<31) | 982, 0x2E2E1, 0x142E2E,
+ 0x2E0, (1U<<31) | 1011, 0x1F, 0x22E2E, (1U<<31) | 122, 0x2F2F, 0x11F1F, 0x1F1F,
+ 0x11F1F, (1U<<31) | 3677, (1U<<31) | 3671, 0x0, 0x0, 0x42E, (1U<<31) | 3650, (1U<<31) | 3649,
+ 0x2E40, 0x2E50, 0x40, 0x2E0, 0x2E0, 0x2E, 0x2E4, 0x0,
+ 0x2E4, 0x0, 0x2F2F, 0x2F2F, 0x1F1F1F, (1U<<31) | 3682, (1U<<31) | 2410, (1U<<31) | 3642,
+ (1U<<31) | 3706, (1U<<31) | 3686, (1U<<31) | 3698, (1U<<31) | 3690, (1U<<31) | 3715, 0x2F2F, 0x2F2F, 0x4,
+ 0x2F2F2F2F, 0x2F2F2F2F, 0x42E, 0x2EE2E2E, 0x2E2EE0, 0x2EE2E2E0, 0x1F, 0x2E2E2E0,
+ 0x4452E0, 0x54452E0, 0x44552E0, (1U<<31) | 2843, 0x2E2E, (1U<<31) | 2844, 0x2E50, 0x2E50,
+ 0x1F2E2E, 0x2E, (1U<<31) | 3683, 0x42E2E2E, 0x2F2F, 0x2F2F, 0x2F2F, 0x42E0,
+ (1U<<31) | 69, (1U<<31) | 1251, (1U<<31) | 1261, (1U<<31) | 1272, (1U<<31) | 78, (1U<<31) | 88, 0x2F2F2F, (1U<<31) | 98,
+ (1U<<31) | 98, 0x149F24F0, 0x2F2F2F, 0x2F2F, 0x1CF1F, 0x40, 0x2F2F2F, 0x42F2F,
+ 0x4442E0, (1U<<31) | 1799, (1U<<31) | 3653, 0x5, 0x42E, 0x2F2F, 0x2F2F, (1U<<31) | 108,
+ 0x2E4, 0x42E0, 0x42E4, 0x2F2F, (1U<<31) | 108, 0x2F2F, (1U<<31) | 108, 0x2E,
+ 0x2EE2E0, 0x2E0, 0x2E, 0x2E, 0x0, 0x2F2F, (1U<<31) | 3662, (1U<<31) | 3657,
+ (1U<<31) | 108, (1U<<31) | 108, (1U<<31) | 108, 0x2E2E0, 0x2E0, 0x2E0, 0x42E2E2E0, (1U<<31) | 117,
+ 0x0, 0x444, 0x444, 0x444, 0x444, 0x544, 0x444, 0x444,
+ 0x544, 0x2C2C2C, 0x2C2C2C, 0x2C2C, 0x2C2C, 0x4A44A4A, 0x44, 0x4A44A4A,
+ 0x4A44A4A, 0x4A4A4A4A, 0x4A4A4A, 0x4A4A4A4A, 0x4A4A4A4A, 0x4A4A4A, 0x4A4A4A4A, 0x40,
+ 0x40, 0x40, 0x40, (1U<<31) | 997, 0x4F5, (1U<<31) | 997, 0x4F5, 0x1F1F,
+ (1U<<31) | 1327, 0x3F3F3F, 0x3F3F, 0x3F3F3F, 0xAFAF1F, 0xAFAF1F, 0xBF2F, 0xAF1F,
+ 0xAF1F, 0xAF1F, 0xAF1F, 0xAF1F, 0xAF1F, 0xAF1F, 0xAF1F, 0xBF3F,
+ 0xAF1F, 0xAF1F, 0x3F3F3F, 0x2F2F2F, 0x3F3F3F, 0xBF2F, 0x3F3F3F, 0xBF2F,
+ 0x3F3F3F, 0x2F2F2F, 0x3F3F3F, 0xBF2F, 0x3F3F3F, 0xBF2F, 0x2F2F2F, 0x2F2F,
+ 0x2F2F2F, 0x2F2F, 0x2F2F, 0x2F2F, 0x2F2F2F, (1U<<31) | 3528, (1U<<31) | 3518, (1U<<31) | 3506,
+ (1U<<31) | 3528, (1U<<31) | 3607, (1U<<31) | 3528, (1U<<31) | 3518, (1U<<31) | 3590, (1U<<31) | 3518, (1U<<31) | 3506, (1U<<31) | 3569,
+ (1U<<31) | 3506, 0x3F3F3F, (1U<<31) | 1339, 0x552C, (1U<<31) | 1327, 0x3F3F, (1U<<31) | 1346, (1U<<31) | 1327,
+ 0x3F3F3F, 0xBF3F, 0xBF1F, 0xBF1F, 0x9F1F, 0x9F1F, 0x9F1F, 0x3F3F3F,
+ (1U<<31) | 1334, 0x3F3F3F, 0x3F3F3F, 0x3F3F3F, 0xBF1F, 0x3F3F3F, 0x3F3F3F, 0xBF1F,
+ (1U<<31) | 1339, 0x1F1F, 0x1F1F1F, 0x1F1F1F, (1U<<31) | 1339, 0x445, 0x1F1F, 0x1F1F1F,
+ 0x1F1F1F, (1U<<31) | 1346, (1U<<31) | 1346, 0x1F1F1F, 0x1F1F1F, (1U<<31) | 1346, (1U<<31) | 1346, 0x1F1F1F,
+ (1U<<31) | 126, (1U<<31) | 126, 0x3F3F3F, 0x1F1F1F, 0x1F1F1F, (1U<<31) | 1943, 0xCF3F3F0, (1U<<31) | 3484,
+ (1U<<31) | 3494, 0xCF3F3F0, (1U<<31) | 3536, (1U<<31) | 3484, (1U<<31) | 3545, (1U<<31) | 3494, (1U<<31) | 3556, (1U<<31) | 1327,
+ 0x1F1F1F, 0x3F2C3F, 0x3F2C2C3F, (1U<<31) | 1300, (1U<<31) | 1285, 0x3F2C3F3F, (1U<<31) | 1311, (1U<<31) | 1298,
+ (1U<<31) | 1283, 0x3F3F3F, 0xBF3F, 0xBF1F, 0xBF1F, 0x3F3F3F, 0x3F3F3F, 0x3F3F3F,
+ 0x3F3F3F, 0xBF1F, 0x3F3F3F, 0x3F3F3F, 0xBF1F, (1U<<31) | 1339, 0x1F1F1F, 0x1F1F1F,
+ (1U<<31) | 1346, 0x1F1F1F, (1U<<31) | 1346, 0x1F1F1F, (1U<<31) | 126, 0x3F3F, 0x3F3F3F, 0x1F1F1F,
+ 0x3F3F, 0x1F1F1F, (1U<<31) | 1943, 0x1F1F1F, 0x53F5BF3F, 0x4AF1F, 0x4AF1F, 0x7A3A,
+ 0x49F2F, 0x49F2F, 0x3A7A, 0x43F3F3F, 0x43F3F3F, 0x1F1F, 0x1F1F1F, 0x2F2F2F,
+ 0x87, 0x2E554, 0x4F54, 0x2E554, 0x4F54, 0x1F1F1F, 0x1FCF1F, 0x1FCF1F,
+ 0x1444A44, 0x1444A44, 0x1444A444, 0x1444A44, 0x1444A44, 0x1444A44, 0x1444A44, 0x1444A44,
+ 0x1444A44, 0x1444A44, 0x1444A44, 0x11444A2F, 0x11444A2F, (1U<<31) | 39, (1U<<31) | 39, 0x0,
+ 0x0, 0x0, 0x42F1, 0x2F2F, 0x7777, 0x7777, 0x7777, 0x7777,
+ 0x4474, 0x5, (1U<<31) | 145, 0x2F2F2F2F, (1U<<31) | 59, (1U<<31) | 49, 0x444, 0x444,
+ 0x444, 0x42F2F5, 0x777, 0x2F2F, 0xAF1F, 0x2F2F, 0x4, 0x41F1F5,
+ (1U<<31) | 29, (1U<<31) | 29, (1U<<31) | 28, (1U<<31) | 29, (1U<<31) | 29, (1U<<31) | 29, (1U<<31) | 29, (1U<<31) | 29,
+ (1U<<31) | 29, (1U<<31) | 29, (1U<<31) | 29, (1U<<31) | 29, (1U<<31) | 29, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0,
+ (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0,
+ (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0,
+ (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 16, (1U<<31) | 16,
+ (1U<<31) | 16, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0,
+ (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0,
+ (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0,
+ (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0,
+ (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0, (1U<<31) | 0,
+ (1U<<31) | 0, (1U<<31) | 15, (1U<<31) | 15, (1U<<31) | 145, 0x44447, 0x44477, 0x444777, (1U<<31) | 145,
+ 0x42F2F, 0x4444, 0x2F2F, 0x444, 0x444, 0x14441F1F, 0x5455, 0x4A454A,
+ 0x4444, 0x1, 0x5455, (1U<<31) | 145, 0x2F2F, 0x77, 0x44, 0x444,
+ 0x2F2F, 0x2F2F, 0x77, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x40, 0x44, 0x40, 0x5, 0x5, 0x40, 0x40, 0x4444,
+ 0x4444, 0x4444, 0x1F1F, 0x2F2F, 0x42F2F, 0x0, 0x4, 0x4,
+ 0x4, 0x4, 0x4, 0x4, 0x4444440, 0x4444440, 0x0, 0x444,
+ 0x444, 0x444, 0x444, 0x444, 0x444, 0x40, 0x40, 0x40,
+ 0x4, 0x40, 0x40, 0x4F4, (1U<<31) | 991, 0x2E440, 0x2E440, 0x2E440,
+ 0x2E440, 0x4F4, (1U<<31) | 991, 0x4444440, 0x4444440, 0x444440, 0x444440, 0x444444,
+ 0x444444, (1U<<31) | 2037, (1U<<31) | 2037, 0x2C2C2C, 0x2C2C2C, 0x2C2C, 0x2C2C, 0x4A44A4A,
+ 0x44, 0x4A44A4A, 0x4A44A4A, 0x4A4A4A4A, 0x4A4A4A, 0x4A4A4A4A, 0x4A4A4A4A, 0x4A4A4A,
+ 0x4A4A4A4A, 0x3F3F3F, 0x3F3F3F, 0x3F3F, 0xBFBF3F, 0xBFBF3F, 0x3F3F3F3F, 0x3F3F,
+ 0xBF3F, 0xBF3F, 0x4AF1F, 0x4AF1F, 0x7A3A, 0x49F2F, 0x49F2F, 0x3A7A,
+ 0xBF3F, 0xBF3F, 0xBF3F, 0xBF3F, 0xBF3F, 0xBF3F, 0x3F3F3F, 0x3F3F3F,
+ 0x3F3F3F, 0x3F3F3F, 0x4CF3F, (1U<<31) | 2791, (1U<<31) | 2013, (1U<<31) | 2780, (1U<<31) | 1995, (1U<<31) | 2767,
+ (1U<<31) | 1973, 0x3F3F3F, 0x3F3F3F, 0x3F3F3F, 0x3F3F3F, 0x3F3F3F, 0x3F3F3F, (1U<<31) | 1339,
+ (1U<<31) | 1339, (1U<<31) | 1339, 0x3F3F3F, 0xBF3F3F, 0xBF3F3F, 0x3F3F3F, 0xBF3F, 0xBF3F,
+ 0x3F3F3F, 0x3F3F3F, 0x3F3F3F, 0x3F3F3F, 0x3F3F, 0x3F3F3F, 0x3F3F3F, 0x3F3F3F,
+ (1U<<31) | 1339, (1U<<31) | 1322, (1U<<31) | 1322, (1U<<31) | 1322, 0x3F3F, 0x3F3F3F, (1U<<31) | 1327, (1U<<31) | 1327,
+ (1U<<31) | 1327, 0x3F3F3F, 0x3F3F3F, (1U<<31) | 1327, (1U<<31) | 1327, (1U<<31) | 1327, 0x3F3F3F, 0x3F3F3F,
+ 0x3F3F3F, 0x3F3F3F, 0x3F3F3F, (1U<<31) | 1327, 0x3F3F, 0x3F3F3F, 0x3F3F3F, 0x3F3F3F,
+ 0x3F3F, 0x3F3F, 0x3F3F, 0x3F3F, 0x3F3F, 0x3F3F, (1U<<31) | 1327, 0x3F3F3F,
+ 0x3F3F3F, 0x3F3F, 0x3F3F3F, (1U<<31) | 1327, 0x3F3F3F3F, 0x3F3F3F, 0x3F3F3F, 0x4BF4F0,
+ 0x4BFBF4F0, (1U<<31) | 2279, (1U<<31) | 2716, (1U<<31) | 2289, (1U<<31) | 2727, (1U<<31) | 2301, 0x2B2B2B, 0x2B2B2B2B,
+ (1U<<31) | 955, (1U<<31) | 953, 0x2B2B2B2B, (1U<<31) | 955, (1U<<31) | 953, (1U<<31) | 951, 0x444, 0x444,
+ 0x44, 0x40, 0x444, 0x444, 0x2E440, 0x2E440, 0x2E440, 0x2E440,
+ 0x4F44, 0x2E444, 0x4F44, 0x2E444, 0x40, 0x444, 0x2F7, 0x2F7,
+ 0x52E5, 0x52E5, 0x52E5, 0x555, 0x44, 0x55, 0x44, 0x444,
+ 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444,
+ 0x444, 0x444, 0x444, 0x444, 0x444, 0x555, 0x555, 0x444,
+ 0x545, 0x444, 0x444, 0x555, 0x44, 0x44, 0x444, 0x444,
+ 0x444, 0x444, 0x445, 0x445, 0x444, 0x555, 0x444, 0x555,
+ 0x444, 0x555, 0x444, 0x555, 0x44, 0x55, 0x44, 0x44,
+ 0x55, 0x444, 0x444, 0x555, 0x54, 0x54, 0x44, 0x44,
+ 0x44, 0x44, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444,
+ 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x555,
+ 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444,
+ 0x444, 0x444, 0x444, 0x44, 0x44, 0x44, 0x45, 0x44,
+ 0x444, 0x444, 0x55, 0x45, 0x44, 0x55, 0x55, 0x55,
+ 0x55, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555,
+ 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555,
+ 0x555, 0x555, 0x555, 0x555, 0x555, 0x554, 0x554, 0x554,
+ 0x554, 0x554, 0x554, 0x554, 0x554, 0x55, 0x555, 0x555,
+ 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555,
+ 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555,
+ 0x555, 0x5555, 0x555, 0x5555, 0x555, 0x555, 0x555, 0x555,
+ 0x555, 0x555, 0x555, 0x555, 0x444, 0x555, 0x44, 0x44,
+ 0x444, 0x555, 0x445, 0x445, 0x544, 0x444, 0x444, 0x444,
+ 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444,
+ 0x444, 0x445, 0x445, 0x444, 0x444, 0x444, 0x444, 0x555,
+ 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444,
+ 0x454, 0x554, 0x454, 0x554, 0x454, 0x454, 0x454, 0x454,
+ 0x454, 0x454, 0x454, 0x454, 0x4555, 0x4555, 0x4555, 0x4555,
+ 0x4555, 0x4555, 0x4555, 0x4555, 0x554, 0x44, 0x444, 0x444,
+ 0x44, 0x444, 0x444, 0x444, 0x444, 0x444, 0x554, 0x444,
+ 0x444, 0x444, 0x444, 0x554, 0x444, 0x444, 0x554, 0x444,
+ 0x444, 0x45, 0x4444, 0x4444, 0x4444, 0x4444, 0x44, 0x444,
+ 0x444, 0x44, 0x44, 0x44, 0x444, 0x5545, 0x444, 0x4444,
+ 0x4444, 0x4444, 0x4444, 0x444, 0x444, 0x444, 0x444, 0x444,
+ 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x4444, 0x4444,
+ 0x4444, 0x4444, 0x58, 0x57, 0x85, 0x85, 0x87, 0x85,
+ 0x85, 0x84, 0x84, 0x84, 0x84, 0x75, 0x75, 0x78,
+ 0x75, 0x75, 0x74, 0x74, 0x74, 0x74, 0x58, 0x57,
+ 0x48, 0x47, 0x48, 0x47, 0x484, 0x884, 0x884, 0x884,
+ 0x884, 0x48, 0x48, 0x777, 0x474, 0x774, 0x774, 0x774,
+ 0x774, 0x777, 0x777, 0x77, 0x7777, 0x7777, 0x47777, 0x7777,
+ 0x7777, 0x47, 0x47, 0x777, 0x777, 0x777, 0x777, 0x4E4,
+ 0x5E5, 0x4444, 0x4444, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455,
+ 0x4455, 0x445, 0x445, 0x444, 0x444, 0x444, 0x444, 0x445,
+ 0x445, 0x445, 0x445, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455,
+ 0x4455, 0x444, 0x445, 0x4455, 0x4455, 0x445, 0x444, 0x444,
+ 0x444, 0x444, 0x4444, 0x4444, 0x4444, 0x5555, 0x5555, 0x5555,
+ 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x5555,
+ 0x5555, 0x5555, 0x5555, 0x5555, 0x5555, 0x555, 0x555, 0x555,
+ 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555, 0x555,
+ 0x555, 0x555, 0x555, 0x555, 0x555, 0x4444, 0x4444, 0x4444,
+ 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444,
+ 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x444, 0x444, 0x444,
+ 0x444, 0x444, 0x444, 0x444, 0x444, 0x4444, 0x4444, 0x4444,
+ 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444,
+ 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x444, 0x444, 0x444,
+ 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444,
+ 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444,
+ 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444, 0x444,
+ 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455,
+ 0x445, 0x445, 0x445, 0x445, 0x445, 0x445, 0x445, 0x445,
+ 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455, 0x4455,
+ 0x445, 0x445, 0x445, 0x445, 0x445, 0x445, 0x445, 0x445,
+ 0x444, 0x444, 0x444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444,
+ 0x4444, 0x4444, 0x4444, 0x444, 0x444, 0x444, 0x444, 0x444,
+ 0x444, 0x444, 0x444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444,
+ 0x4444, 0x4444, 0x4444, 0x444, 0x4455, 0x4455, 0x4455, 0x4455,
+ 0x4455, 0x4455, 0x4455, 0x4455, 0x445, 0x445, 0x445, 0x445,
+ 0x445, 0x445, 0x445, 0x445, 0x4455, 0x4455, 0x4455, 0x4455,
+ 0x4455, 0x4455, 0x4455, 0x4455, 0x444, 0x4444, 0x4444, 0x4444,
+ 0x555, 0x555, 0x5555, 0x5555, 0x555, 0x555, 0x555, 0x555,
+ 0x5555, 0x5555, 0x554, 0x554, 0x555, 0x555, 0x4455, 0x5555,
+ 0x5555, 0x5555, 0x4455, 0x4455, 0x4455, 0x4455, 0x555, 0x555,
+ 0x445, 0x444, 0x445, 0x444, 0x445, 0x445, 0x554, 0x554,
+ 0x5555, 0x5555, 0x5555, 0x5555, 0x555, 0x555, 0x555, 0x555,
+ 0x4555, 0x455, 0x454, 0x5555, 0x555, 0x4444, 0x4444, 0x4444,
+ 0x4444, 0x4444, 0x454, 0x454, 0x454, 0x454, 0x4444, 0x4444,
+ 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444,
+ 0x4444, 0x445, 0x4455, 0x445, 0x4455, 0x5555, 0x5555, 0x555,
+ 0x555, 0x5555, 0x5555, 0x555, 0x555, 0x4444, 0x4444, 0x4444,
+ 0x5555, 0x5555, 0x555, 0x4455, 0x4455, 0x445, 0x445, 0x5555,
+ 0x5555, 0x555, 0x555, 0x555, 0x555, 0x4444, 0x455, 0x4555,
+ 0x4555, 0x4555, 0x4555, 0x4555, 0x444, 0x4444, 0x4444, 0x4444,
+ 0x4444, 0x444, 0x4444, 0x455, 0x455, 0x455, 0x4555, 0x4555,
+ 0x4555, 0x4555, 0x4555, 0x444, 0x4444, 0x4444, 0x4444, 0x4444,
+ 0x444, 0x455, 0x455, 0x455, 0x4555, 0x4555, 0x4555, 0x4555,
+ 0x455, 0x455, 0x444, 0x4444, 0x4444, 0x4444, 0x4444, 0x444,
+ 0x444, 0x454, 0x455, 0x455, 0x455, 0x4555, 0x4555, 0x4555,
+ 0x4555, 0x4555, 0x444, 0x4444, 0x4444, 0x4444, 0x4444, 0x444,
+ 0x454, 0x455, 0x455, 0x44, 0x55, 0x4555, 0x44, 0x54,
+ 0x44, 0x54, 0x44, 0x44, 0x54, 0x444, 0x444, 0x44,
+ 0x54, 0x44, 0x54, 0x55, 0x4444, 0x544, 0x4455, 0x555,
+ 0x44444, 0x5444, 0x44555, 0x5555, 0x55, 0x555, 0x455, 0x4555,
+ 0x4555, 0x4555, 0x4555, 0x4555, 0x444, 0x4444, 0x4444, 0x4444,
+ 0x4444, 0x455, 0x455, 0x455, 0x4555, 0x4555, 0x4555, 0x4555,
+ 0x4555, 0x444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x455,
+ 0x455, 0x455, 0x4555, 0x4555, 0x4555, 0x4555, 0x4555, 0x444,
+ 0x4444, 0x4444, 0x4444, 0x4444, 0x455, 0x455, 0x445, 0x554,
+ 0x444, 0x444, 0x555, 0x555, 0x555, 0x555, 0x44E4, 0x44,
+ 0x44, 0x44444, 0x44444, 0x44444, 0x44444, 0x444, 0x444, 0x444,
+ 0x444, 0x4555, 0x4555, 0x455, 0x455, 0x4555, 0x54, 0x54,
+ 0x54, 0x55, 0x54, 0x55, 0x54, 0x55, 0x54, 0x55,
+ 0x44, 0x45, 0x4555, 0x4555, 0x45, 0x45, 0x54, 0x555,
+ 0x54, 0x555, 0x45, 0x45, 0x4444, 0x4444, 0x4444, 0x4444,
+ 0x4444, 0x444, 0x454, 0x54, 0x4444, 0x544, 0x4455, 0x555,
+ 0x444, 0x444, 0x444, 0x4444, 0x4444, 0x4444, 0x4444, 0x4444,
+ 0x444, 0x55E4, 0x4444, 0x4444, 0x4444, 0x4455, 0x44555, 0x555,
+ 0x555, 0x555, 0x555, 0x555, 0x555, 0x454, 0x454, 0x54,
+ 0x455, 0x455, 0x4555, 0x4555, 0x4555, 0x4555, 0x4555, 0x444,
+ 0x4444, 0x4444, 0x4444, 0x4444, 0x4444, 0x45, 0x555, 0x555,
+ 0x44, 0x44C4, 0x44D4, 0x4D4C, (1U<<31) | 2855, 0x4D4C, (1U<<31) | 2855, 0x44C,
+ 0x44D, (1U<<31) | 131, (1U<<31) | 138, (1U<<31) | 131, (1U<<31) | 138, (1U<<31) | 133, (1U<<31) | 140, (1U<<31) | 131,
+ (1U<<31) | 138, (1U<<31) | 131, (1U<<31) | 138, (1U<<31) | 1356, (1U<<31) | 1364, (1U<<31) | 131, (1U<<31) | 138, 0x4C4C4C,
+ 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C,
+ 0x4D4D, 0x4C4C, 0x4D4D, 0x4C4C, 0x4D4D, 0x4C4C, 0x4D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, (1U<<31) | 2749, (1U<<31) | 2809, (1U<<31) | 2749, (1U<<31) | 2809, 0x4C4C4C,
+ 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, (1U<<31) | 2749, (1U<<31) | 2809, (1U<<31) | 2749, (1U<<31) | 2809, 0x4C4C4C,
+ 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, 0x4C4C4D, (1U<<31) | 2829, 0x4C4C4D, (1U<<31) | 2829, 0x4C4C4C,
+ 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, 0x4C4C4C, 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, 0x4C4C4D,
+ (1U<<31) | 2829, 0x4C4C4C, 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, (1U<<31) | 2749, (1U<<31) | 2809, (1U<<31) | 2749,
+ (1U<<31) | 2809, 0x4C4C4C, 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, 0x44C4C4C, 0x44D4D4D, 0x44C4C4C,
+ 0x44D4D4D, 0x4C4C4C, 0x4D4D4D, (1U<<31) | 1354, (1U<<31) | 1362, (1U<<31) | 1352, (1U<<31) | 1360, (1U<<31) | 2317,
+ (1U<<31) | 2355, (1U<<31) | 2315, (1U<<31) | 2353, 0x44C4C, 0x44D4D, 0x4C4C4C, 0x4D4D4D, 0x44C4C,
+ 0x44D4D, 0x44C4C4C, 0x44D4D4D, 0x4C4C4C, 0x4D4D4D, 0x44C4C, 0x44D4D, 0x44C4C4C,
+ 0x44D4D4D, 0x44C4C4C, 0x44D4D4D, 0x44C4C4C, 0x44D4D4D, 0x4C4C4C, 0x4D4D4D, 0x44C4C,
+ 0x44D4D, 0x44C4C4C, 0x44D4D4D, 0x44C4C4C, 0x44D4D4D, 0x44C4C4C, 0x44D4D4D, 0x44C4C4C,
+ 0x44D4D4D, 0x44C4C4C, 0x44D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C, 0x4D4D, 0x4D4D,
+ (1U<<31) | 2862, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x4C4C, 0x4D4D, 0x4C4C, 0x4D4D, 0x4C4C4D, (1U<<31) | 2829, 0x4C,
+ 0x4D, 0x4C4C, 0x4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C, 0x4D4D, 0x44C4C4D,
+ (1U<<31) | 2373, 0x4C4C4C, 0x4D4D4D, 0x44C4C, 0x44D4D, 0x44C4C4C, 0x44D4D4D, 0x44D4D,
+ (1U<<31) | 2399, 0x44D4D4D, (1U<<31) | 2397, 0x44C4C, 0x44D4D, 0x44C4C4C, 0x44D4D4D, 0x44D4D,
+ (1U<<31) | 2399, 0x44D4D4D, (1U<<31) | 2397, 0x44D4C, (1U<<31) | 2391, 0x44D4C4C, (1U<<31) | 2389, 0x44C4C,
+ 0x44D4D, 0x44C4C4C, 0x44D4D4D, 0x44D4C, (1U<<31) | 2391, 0x44D4C4C, (1U<<31) | 2389, 0x44C4C,
+ 0x44D4D, 0x44C4C4C, 0x44D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C4C, 0x4D4D4D4D, 0x44D4D,
+ (1U<<31) | 2399, 0x44D4D4D, (1U<<31) | 2397, (1U<<31) | 2742, (1U<<31) | 2802, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2740,
+ (1U<<31) | 2800, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2742, (1U<<31) | 2802, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2740,
+ (1U<<31) | 2800, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2742, (1U<<31) | 2802, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2740,
+ (1U<<31) | 2800, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2742, (1U<<31) | 2802, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2740,
+ (1U<<31) | 2800, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2742, (1U<<31) | 2802, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2740,
+ (1U<<31) | 2800, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2742, (1U<<31) | 2802, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2740,
+ (1U<<31) | 2800, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2742, (1U<<31) | 2802, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2740,
+ (1U<<31) | 2800, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2742, (1U<<31) | 2802, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2740,
+ (1U<<31) | 2800, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2742, (1U<<31) | 2802, (1U<<31) | 2740, (1U<<31) | 2800, (1U<<31) | 2740,
+ (1U<<31) | 2800, (1U<<31) | 2740, (1U<<31) | 2800, 0x44C4C, 0x44D4D, 0x44C4C4C, 0x44D4D4D, 0x44C4C4C,
+ 0x44D4D4D, 0x44C4C, 0x44D4D, 0x4C4C4C, 0x4D4D4D, 0x44C4C, 0x44D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x454C4C, 0x454D4D, 0x454C4C4C, 0x454D4D4D, 0x454D4D, (1U<<31) | 2450, 0x454D4D4D,
+ (1U<<31) | 2448, 0x44C4C4C, 0x44D4D4D, (1U<<31) | 2333, (1U<<31) | 2361, 0x44C4C4D, (1U<<31) | 2373, (1U<<31) | 2343,
+ (1U<<31) | 2371, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x44D4D, (1U<<31) | 2399, 0x44D4D4D, (1U<<31) | 2397, 0x4D4D4D, (1U<<31) | 2860, 0x4D4D4D,
+ (1U<<31) | 2860, 0x44D4D, (1U<<31) | 2399, 0x44D4D4D, (1U<<31) | 2397, 0x44C4D, (1U<<31) | 2383, 0x44C4D4D,
+ (1U<<31) | 2381, 0x4C4C4D, (1U<<31) | 2829, 0x4C4C4D4D, (1U<<31) | 2827, 0x4C4C4D, (1U<<31) | 2829, 0x4C4C4D4D,
+ (1U<<31) | 2827, 0x4C4C4C, 0x4D4D4D, 0x44C4D, (1U<<31) | 2383, 0x44C4D4D, (1U<<31) | 2381, 0x44C4C,
+ 0x44D4D, 0x44C4C, 0x44D4D, 0x4C4C4D, (1U<<31) | 2829, 0x4C4C4D4D, (1U<<31) | 2827, 0x4C4C4D,
+ (1U<<31) | 2829, 0x4C4C4D4D, (1U<<31) | 2827, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C4C,
+ 0x4D4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C4C, 0x4D4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C4C,
+ 0x4D4D4D4D, 0x44C4C, 0x44D4D, 0x44C4C4C, 0x44D4D4D, 0x4C4C4C, 0x4D4D4D, 0x44C4C,
+ 0x44D4D, 0x44C4C4C, 0x44D4D4D, 0x44C4C, 0x44D4D, 0x44C4C4C, 0x44D4D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C4C, 0x4D4D4D4D, 0x4C4C4C4C, 0x4D4D4D4D, 0x44C4D,
+ (1U<<31) | 2383, 0x44C4D4D, (1U<<31) | 2381, 0x4C4C4D, (1U<<31) | 2829, 0x4C4C4D4D, (1U<<31) | 2827, 0x44C4D,
+ (1U<<31) | 2383, 0x44C4D4D, (1U<<31) | 2381, 0x4C4C4D, (1U<<31) | 2829, 0x4C4C4D4D, (1U<<31) | 2827, (1U<<31) | 2749,
+ (1U<<31) | 2809, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C,
+ 0x4D4D, 0x4C4C, 0x4D4D, 0x4C4C, 0x4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C,
+ 0x4D4D, 0x4C4C4C, 0x4D4D4D, 0x44C4C, 0x44D4D, 0x44C4C4C, 0x44D4D4D, 0x444D4D,
+ (1U<<31) | 2122, 0x444D4D4D, (1U<<31) | 2120, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C4C, 0x4D4D4D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x4C4C4C4C, 0x4D4D4D4D, 0x44C4C, 0x44D4D, 0x44C4C4C, 0x44D4D4D, 0x444D4D,
+ (1U<<31) | 2122, 0x444D4D4D, (1U<<31) | 2120, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C4C, 0x4D4D4D4D, 0x44C4C,
+ 0x44D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x444D4D, (1U<<31) | 2122, 0x444D4D4D, (1U<<31) | 2120, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x4C4D, (1U<<31) | 2838, 0x4C4D, (1U<<31) | 2838, 0x4C4C4C, 0x4D4D4D, 0x4C4C,
+ 0x4D4D, 0x4C4C4C, 0x4D4D4D, 0x4C4C, 0x4D4D, 0x4C4C4C, 0x4D4D4D, 0x44C4C4D,
+ (1U<<31) | 2373, 0x4C4C4D, (1U<<31) | 2829, 0x4C4C4D, (1U<<31) | 2829, 0x4C4C4C, 0x4D4D4D, 0x4C4C4C,
+ 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, (1U<<31) | 2749, (1U<<31) | 2809, (1U<<31) | 2749, (1U<<31) | 2809, 0x4C4C4C,
+ 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, (1U<<31) | 2749, (1U<<31) | 2809, (1U<<31) | 2749, (1U<<31) | 2809, 0x4C4C4C,
+ 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, 0x4C4C4D, (1U<<31) | 2829, 0x4C4C4D, (1U<<31) | 2829, 0x4C4C4C,
+ 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, 0x4C4C4C, 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, 0x4C4C4D,
+ (1U<<31) | 2829, 0x4C4C4C, 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, (1U<<31) | 2749, (1U<<31) | 2809, (1U<<31) | 2749,
+ (1U<<31) | 2809, 0x4C4C4C, 0x4D4D4D, 0x4D4D4D, (1U<<31) | 2860, (1U<<31) | 2758, (1U<<31) | 2818, 0x44D4D,
+ (1U<<31) | 2399, 0x44D4D4D, (1U<<31) | 2397, 0x44D4D, (1U<<31) | 2399, 0x44D4D4D, (1U<<31) | 2397, 0x44D4D,
+ (1U<<31) | 2399, 0x44D4D4D, (1U<<31) | 2397, 0x4C4D, (1U<<31) | 2838, 0x4C4D, (1U<<31) | 2838, 0x4C4D4D,
+ (1U<<31) | 2836, 0x4C4D4D, (1U<<31) | 2836, 0x4C4D, (1U<<31) | 2838, 0x4C4D, (1U<<31) | 2838, 0x4C4C4C,
+ 0x4D4D4D, 0x4C4D, (1U<<31) | 2838, 0x4C4D, (1U<<31) | 2838, 0x42E2E2E, 0x42E2E2E, 0x42E2E2E,
+ 0x42E2E2E, 0x42E2E2E, 0x42E2E2E, 0x442E2E, 0x452E2E, 0x442E2E, 0x442E2E, 0x442E2E,
+ 0x442E2E2E, 0x442E2E2E, 0x442E2E2E, 0x442E2E2E, 0x442E2E2E, 0x442E2E2E, 0x4442E2E, 0x4452E2E,
+ 0x4442E2E, 0x4442E2E, 0x4442E2E, 0x4B4B4B, 0x2E0, 0x3939, 0x2A2A, 0x44,
+ 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x393939, 0x393939, 0x444, 0x393939,
+ 0x393939, 0x444, 0x444, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C,
+ 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x444,
+ 0x393939, 0x2A2A2A, 0x393939, 0x2A2A2A, 0x2A2A2A, 0x2A2A2A, 0x2C2C2C, 0x595959,
+ 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x444, 0x2C2C2C,
+ 0x42C2C, 0x4444, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959,
+ 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959,
+ 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959,
+ 0x3B3B3B, 0x4A4A4A, 0x4444, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C,
+ 0x45959, 0x43B3B, 0x44A4A, 0x2C2C2C2C, 0x59595959, 0x3B3B3B3B, 0x4A4A4A4A, 0x42C2C2C,
+ 0x4595959, 0x43B3B3B, 0x44A4A4A, 0x2C2C2C2C, 0x59595959, 0x3B3B3B3B, 0x4A4A4A4A, 0x42C2C2C,
+ 0x4595959, 0x43B3B3B, 0x44A4A4A, 0x44, 0x2C2C2C2C, 0x42C2C2C, 0x2C2C2C2C, 0x42C2C2C,
+ 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A,
+ 0x2C4, 0x594, 0x3B4, 0x2C4, 0x4A4, 0x4, 0x2C2C2C2C, 0x42C2C2C,
+ 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A,
+ 0x2C4, 0x594, 0x3B4, 0x2C4, 0x4A4, 0x2C2C2C, 0x595959, 0x3B3B3B,
+ 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x44, 0x2C2C2C, 0x595959,
+ 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959,
+ 0x43B3B, 0x44A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x2C2C2C, 0x595959,
+ 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959,
+ 0x43B3B, 0x44A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x39390, 0x39390,
+ 0x39390, 0x2A2A4, 0x2A2A4, 0x2A2A4, 0x2A2A4, 0x2A2A4, 0x2A2A4, 0x2A2A0,
+ 0x2A2A0, 0x2A2A0, 0x42C4, 0x4595, 0x43B4, 0x44A4, 0x42C4, 0x4595,
+ 0x43B4, 0x44A4, 0x440, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C,
+ 0x595959, 0x3B3B3B, 0x4A4A4A, 0x4555, 0x4A4A59, 0x2C2C3B, 0x3B3B4A, 0x4A4A59,
+ 0x2C2C3B, 0x3B3B4A, 0x393955, 0x4A4A5959, 0x2C2C3B3B, 0x3B3B4A4A, 0x4A4A5959, 0x2C2C3B3B,
+ 0x3B3B4A4A, 0x393955, 0x4455, 0x393955, 0x393955, 0x2A2A55, 0x2A2A55, 0x393955,
+ 0x393955, 0x393955, 0x4455, 0x393955, 0x393955, 0x2A2A55, 0x2A2A55, 0x4A4A5959,
+ 0x2C2C3B3B, 0x3B3B4A4A, 0x4A4A5959, 0x2C2C3B3B, 0x3B3B4A4A, 0x393955, 0x454, 0x454,
+ 0x454, 0x454, 0x454, 0x454, 0x898989, 0x7A7A7A, 0x898959, 0x7A7A4A,
+ 0x898959, 0x7A7A4A, 0x8959, 0x7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A,
+ 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A,
+ 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898989, 0x7A7A7A,
+ 0x7A7A6B, 0x89897A, 0x598989, 0x4A7A7A, 0x7A89, 0x6B7A, 0x7A89, 0x6B7A,
+ 0x5989, 0x4A7A, 0x5989, 0x4A7A, 0x4A89, 0x3B7A, 0x4A89, 0x3B7A,
+ 0x42C, 0x559, 0x43B, 0x44A, 0x8989, 0x7A7A, (1U<<31) | 3462, 0x7A7A7A7A,
+ 0x898989, 0x7A7A7A, 0x898989, 0x7A7A7A, 0x898989, 0x7A7A7A, 0x898989, 0x7A7A7A,
+ (1U<<31) | 3462, 0x7A7A7A7A, 0x898989, 0x7A7A7A, 0x8989, 0x7A7A, 0x8989, 0x7A7A,
+ 0x8989, 0x7A7A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A,
+ 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x8989, 0x7A7A,
+ 0x898989, 0x7A7A7A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A,
+ 0x898959, 0x7A7A4A, 0x898959, 0x7A7A4A, 0x8959, 0x7A4A, 0x8959, 0x7A4A,
+ 0x7A7A3B, 0x89894A, 0x8959, 0x7A4A, 0x8959, 0x7A4A, 0x4A4A59, 0x2C2C3B,
+ 0x3B3B4A, 0x4A4A59, 0x2C2C3B, 0x3B3B4A, 0x4A4A59, 0x2C2C3B, 0x3B3B4A, 0x4A4A59,
+ 0x2C2C3B, 0x3B3B4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959,
+ 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959,
+ 0x3B3B3B, 0x4A4A4A, 0x442C2C, 0x545959, 0x443B3B, 0x444A4A, 0x444, 0x2C42C2C,
+ 0x5945959, 0x3B43B3B, 0x4A44A4A, 0x42E4, 0x42E2C, 0x42E59, 0x42E3B, 0x42E4A,
+ 0x42C, 0x459, 0x43B, 0x44A, 0x42E4, 0x4444, 0x42E4, 0x4455,
+ 0x3B3B3B3B, 0x4A4A4A4A, 0x3B3B3B3B, 0x4A4A4A4A, 0x4455, 0x2C2C2C2C, 0x59595959, 0x3B3B3B3B,
+ 0x4A4A4A4A, 0x393955, 0x393955, 0x393955, 0x393955, 0x2C2C2C, 0x595959, 0x3B3B3B,
+ 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B,
+ 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x42C2C, 0x45959, 0x43B3B,
+ 0x44A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B,
+ 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B,
+ 0x44A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x2C2C2C, 0x595959, 0x3B3B3B,
+ 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x444, 0x2C2C, 0x4455,
+ 0x3B3B3B3B, 0x4A4A4A4A, 0x3B3B3B3B, 0x4A4A4A4A, 0x4455, 0x2C2C2C2C, 0x59595959, 0x3B3B3B3B,
+ 0x4A4A4A4A, 0x455, 0x393939, 0x3B3B3B, 0x4A4A4A, 0x393939, 0x39394, 0x39394,
+ 0x392A39, 0x392A39, 0x393939, 0x444, 0x393939, 0x444, 0x3B3B3B, 0x4A4A4A,
+ 0x393955, 0x393955, 0x445, 0x445, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A,
+ 0x2C2C, 0x5959, 0x3B3B, 0x4A4A, 0x2C2C, 0x5959, 0x3B3B, 0x4A4A,
+ 0x2C2C2C, 0x42C2C, 0x2C2C2C, 0x42C2C, 0x393939, 0x2C2C2C, 0x595959, 0x3B3B3B,
+ 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C, 0x5959, 0x3B3B,
+ 0x4A4A, 0x393939, 0x2A2A2A, 0x394, 0x394, 0x2A39, 0x2A39, 0x2A39,
+ 0x2A39, 0x2A39, 0x2A39, 0x2A39, 0x2A39, 0x39392A, 0x44439, 0x44439,
+ 0x4439, 0x39392A, 0x4439, 0x39392A, 0x4444, 0x2A4, 0x44, 0x439,
+ 0x42A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x42C2C, 0x45959, 0x43B3B,
+ 0x44A4A, 0x42C2C, 0x43B3B, 0x44A4A, 0x455, 0x43939, 0x42A2A, 0x43939,
+ 0x444, 0x43939, 0x42A2A, 0x43939, 0x42A2A, 0x444, 0x43939, 0x42A2A,
+ 0x42C2C2C, 0x4595959, 0x43B3B3B, 0x44A4A4A, 0x42C2C2C, 0x4595959, 0x43B3B3B, 0x44A4A4A,
+ 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A,
+ 0x42C2C, 0x45959, 0x43B3B, 0x44A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A,
+ 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A,
+ 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A,
+ 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A,
+ 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B, 0x44A4A,
+ 0x42E2C0, 0x42E590, 0x42E3B0, 0x42E4A0, 0x393939, 0x393939, 0x444, 0x393939,
+ 0x393939, 0x444, 0x444, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C,
+ 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C,
+ 0x595959, 0x3B3B3B, 0x4A4A4A, 0x393939, 0x2A2A2A, 0x393939, 0x2A2A2A, 0x2A2A2A,
+ 0x2A2A2A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x42C2C, 0x45959, 0x43B3B,
+ 0x44A4A, 0x2C2C2C2C, 0x59595959, 0x3B3B3B3B, 0x4A4A4A4A, 0x440, 0x2C2C2C, 0x42C2C,
+ 0x44, 0x55, 0x888, 0x777, 0x777, 0x888, 0x777, 0x777,
+ 0x888, 0x777, 0x777, 0x888, 0x777, 0x777, 0x2FCF2F, 0x2FCF2F,
+ 0x1FCF1F, 0x1FCF1F, 0x1FCF1F, 0x1FCF1F, 0x1F1FCF1F, 0x1F1FCF1F, 0x1FCF1F, 0x1FCF1F,
+ 0x1FCF1F, 0x1FCF1F, 0x1FCF1F, 0x1FCF1F, 0x74F7, 0x44F4, 0x44F4, 0x1FCF1F,
+ 0x1FCF1F, 0x1FCF1F, 0x1FCF1F, 0x1FCF1F, 0x1FCF1F, 0x1FCF1F, 0x1FCF1F, 0x40,
+ 0x0, 0x44, 0x44, 0x44, 0x85, 0x74, 0x47, 0x58,
+ 0x44, 0x55, 0x88, 0x77, 0x77, 0x44, 0x54, 0x4F0,
+ 0x4F0, 0x77, 0x77, 0x87, 0x87, 0x87, 0x87, 0x87,
+ 0x87, 0x87, 0x87, 0x84, 0x84, 0x84, 0x84, 0x84,
+ 0x84, 0x85, 0x85, 0x85, 0x85, 0x84, 0x84, 0x84,
+ 0x84, 0x85, 0x85, 0x85, 0x85, 0x777, 0x777, 0x888,
+ 0x777, 0x777, 0x888, 0x777, 0x777, 0x888, 0x777, 0x777,
+ 0x888, 0x777, 0x777, 0x88, 0x77, 0x77, 0x73, 0x73,
+ 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74,
+ 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75,
+ 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74,
+ 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75,
+ 0x88, 0x77, 0x77, 0x88, 0x77, 0x77, 0x8888, 0x7777,
+ 0x7777, 0x8888, 0x7777, 0x7777, 0x8888, 0x7777, 0x7777, 0x8888,
+ 0x7777, 0x7777, 0x888, 0x777, 0x777, 0x888, 0x777, 0x777,
+ 0x37, 0x48, 0x48, 0x48, 0x48, 0x47, 0x47, 0x47,
+ 0x47, 0x2E1, 0x2E1, 0x2E1, 0x2E1, 0x51, 0x51, 0x51,
+ 0x4CF2F, 0x4CF1F, 0x4CF4F, 0x4CF2F, 0x4CF1F, 0x4CF4F, 0x88, 0x77,
+ 0x77, 0x58, 0x58, 0x58, 0x58, 0x57, 0x57, 0x57,
+ 0x57, 0x448, 0x444, 0x555, 0x444, 0x555, 0x0, 0x0,
+ 0x0, 0x444, 0x555, 0x444, 0x555, 0x88, 0x77, 0x33,
+ 0x44, 0x55, 0xCF4F, 0x888, 0x777, 0x777, 0x888, 0x777,
+ 0x777, 0x888, 0x777, 0x777, 0x888, 0x777, 0x777, 0x444,
+ 0x444, 0x444, 0x555, 0x444, 0x555, 0x44, 0x54, 0x4444,
+ 0xCF4F, 0xCF4F, 0xCF4F, 0xCF4F, 0xCF4F, 0xCF4F, 0xCF4F, 0xCF4F,
+ 0xCF4F, 0x88, 0x88, 0x77, 0x77, 0x88, 0x77, 0x77,
+ 0x88, 0x77, 0x77, 0x88, 0x77, 0x77, 0x4, 0x5,
+ 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
+ 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
+ 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
+ 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
+ 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
+ 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
+ 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
+ 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
+ 0x4F4, 0x444, 0x455, 0x455, 0x88, 0x77, 0x77, 0x88,
+ 0x77, 0x77, 0x4444, 0x4444, 0x88, 0x77, 0x77, 0x4477,
+ 0x4444, 0x4477, 0x4444, 0x4477, 0x4444, 0x4477, 0x4444, 0x77,
+ 0x77, 0x77, 0x77, 0x77, 0x88, 0x77, 0x77, 0x88,
+ 0x77, 0x77, 0x88, 0x77, 0x77, 0x88, 0x77, 0x77,
+ 0x4453, 0x4453, 0x4453, 0x4454, 0x4454, 0x4454, 0x4455, 0x4455,
+ 0x4455, 0x4453, 0x4453, 0x4453, (1U<<31) | 2138, (1U<<31) | 2138, (1U<<31) | 2138, (1U<<31) | 2154,
+ (1U<<31) | 2154, (1U<<31) | 2154, (1U<<31) | 2171, (1U<<31) | 2171, (1U<<31) | 2171, (1U<<31) | 2138, (1U<<31) | 2138, (1U<<31) | 2138,
+ (1U<<31) | 2129, (1U<<31) | 2129, (1U<<31) | 2129, (1U<<31) | 2145, (1U<<31) | 2145, (1U<<31) | 2145, (1U<<31) | 2129, (1U<<31) | 2129,
+ (1U<<31) | 2129, 0x453, 0x453, 0x453, 0x454, 0x454, 0x454, 0x455,
+ 0x455, 0x455, 0x453, 0x453, 0x453, (1U<<31) | 2428, (1U<<31) | 2428, (1U<<31) | 2428,
+ (1U<<31) | 2442, (1U<<31) | 2442, (1U<<31) | 2442, (1U<<31) | 2466, (1U<<31) | 2466, (1U<<31) | 2466, (1U<<31) | 2428, (1U<<31) | 2428,
+ (1U<<31) | 2428, (1U<<31) | 2420, (1U<<31) | 2420, (1U<<31) | 2420, (1U<<31) | 2434, (1U<<31) | 2434, (1U<<31) | 2434, (1U<<31) | 2420,
+ (1U<<31) | 2420, (1U<<31) | 2420, 0x44453, 0x44453, 0x44453, 0x44454, 0x44454, 0x44454,
+ 0x44455, 0x44455, 0x44455, 0x44453, 0x44453, 0x44453, (1U<<31) | 2054, (1U<<31) | 2054,
+ (1U<<31) | 2054, (1U<<31) | 2072, (1U<<31) | 2072, (1U<<31) | 2072, (1U<<31) | 2091, (1U<<31) | 2091, (1U<<31) | 2091, (1U<<31) | 2054,
+ (1U<<31) | 2054, (1U<<31) | 2054, (1U<<31) | 2044, (1U<<31) | 2044, (1U<<31) | 2044, (1U<<31) | 2062, (1U<<31) | 2062, (1U<<31) | 2062,
+ (1U<<31) | 2044, (1U<<31) | 2044, (1U<<31) | 2044, 0x4453, 0x4453, 0x4453, 0x4454, 0x4454,
+ 0x4454, 0x4455, 0x4455, 0x4455, 0x4453, 0x4453, 0x4453, (1U<<31) | 2138,
+ (1U<<31) | 2138, (1U<<31) | 2138, (1U<<31) | 2154, (1U<<31) | 2154, (1U<<31) | 2154, (1U<<31) | 2171, (1U<<31) | 2171, (1U<<31) | 2171,
+ (1U<<31) | 2138, (1U<<31) | 2138, (1U<<31) | 2138, (1U<<31) | 2129, (1U<<31) | 2129, (1U<<31) | 2129, (1U<<31) | 2145, (1U<<31) | 2145,
+ (1U<<31) | 2145, (1U<<31) | 2129, (1U<<31) | 2129, (1U<<31) | 2129, 0x44453, 0x44453, 0x44453, 0x44454,
+ 0x44454, 0x44454, 0x44455, 0x44455, 0x44455, 0x44453, 0x44453, 0x44453,
+ (1U<<31) | 2054, (1U<<31) | 2054, (1U<<31) | 2054, (1U<<31) | 2072, (1U<<31) | 2072, (1U<<31) | 2072, (1U<<31) | 2091, (1U<<31) | 2091,
+ (1U<<31) | 2091, (1U<<31) | 2054, (1U<<31) | 2054, (1U<<31) | 2054, (1U<<31) | 2044, (1U<<31) | 2044, (1U<<31) | 2044, (1U<<31) | 2062,
+ (1U<<31) | 2062, (1U<<31) | 2062, (1U<<31) | 2044, (1U<<31) | 2044, (1U<<31) | 2044, 0x54, 0x54, 0x54,
+ 0x54, 0x54, 0x54, 0x34450, 0x34450, 0x34450, 0x44450, 0x44450,
+ 0x44450, 0x54450, 0x54450, 0x54450, 0x34450, 0x34450, 0x34450, 0x334450,
+ 0x334450, 0x334450, 0x444450, 0x444450, 0x444450, 0x554450, 0x554450, 0x554450,
+ 0x334450, 0x334450, 0x334450, 0x33334450, 0x33334450, 0x33334450, 0x44444450, 0x44444450,
+ 0x44444450, 0x33334450, 0x33334450, 0x33334450, 0x3450, 0x3450, 0x3450, 0x4450,
+ 0x4450, 0x4450, 0x5450, 0x5450, 0x5450, 0x3450, 0x3450, 0x3450,
+ 0x33450, 0x33450, 0x33450, 0x44450, 0x44450, 0x44450, 0x55450, 0x55450,
+ 0x55450, 0x33450, 0x33450, 0x33450, 0x3333450, 0x3333450, 0x3333450, 0x4444450,
+ 0x4444450, 0x4444450, 0x3333450, 0x3333450, 0x3333450, 0x344450, 0x344450, 0x344450,
+ 0x444450, 0x444450, 0x444450, 0x544450, 0x544450, 0x544450, 0x344450, 0x344450,
+ 0x344450, 0x3344450, 0x3344450, 0x3344450, 0x4444450, 0x4444450, 0x4444450, 0x5544450,
+ 0x5544450, 0x5544450, 0x3344450, 0x3344450, 0x3344450, (1U<<31) | 1058, (1U<<31) | 1058, (1U<<31) | 1058,
+ (1U<<31) | 2027, (1U<<31) | 2027, (1U<<31) | 2027, (1U<<31) | 1058, (1U<<31) | 1058, (1U<<31) | 1058, 0x34450, 0x34450,
+ 0x34450, 0x44450, 0x44450, 0x44450, 0x54450, 0x54450, 0x54450, 0x34450,
+ 0x34450, 0x34450, 0x334450, 0x334450, 0x334450, 0x444450, 0x444450, 0x444450,
+ 0x554450, 0x554450, 0x554450, 0x334450, 0x334450, 0x334450, 0x33334450, 0x33334450,
+ 0x33334450, 0x44444450, 0x44444450, 0x44444450, 0x33334450, 0x33334450, 0x33334450, 0x344450,
+ 0x344450, 0x344450, 0x444450, 0x444450, 0x444450, 0x544450, 0x544450, 0x544450,
+ 0x344450, 0x344450, 0x344450, 0x3344450, 0x3344450, 0x3344450, 0x4444450, 0x4444450,
+ 0x4444450, 0x5544450, 0x5544450, 0x5544450, 0x3344450, 0x3344450, 0x3344450, (1U<<31) | 1058,
+ (1U<<31) | 1058, (1U<<31) | 1058, (1U<<31) | 2027, (1U<<31) | 2027, (1U<<31) | 2027, (1U<<31) | 1058, (1U<<31) | 1058, (1U<<31) | 1058,
+ 0x34450, 0x44450, 0x34450, 0x334450, 0x444450, 0x334450, 0x33334450, 0x44444450,
+ 0x33334450, 0x3450, 0x4450, 0x3450, 0x33450, 0x44450, 0x33450, 0x3333450,
+ 0x4444450, 0x3333450, 0x344450, 0x444450, 0x344450, 0x3344450, 0x4444450, 0x3344450,
+ (1U<<31) | 1058, (1U<<31) | 2027, (1U<<31) | 1058, 0x34450, 0x44450, 0x34450, 0x334450, 0x444450,
+ 0x334450, 0x33334450, 0x44444450, 0x33334450, 0x344450, 0x444450, 0x344450, 0x3344450,
+ 0x4444450, 0x3344450, (1U<<31) | 1058, (1U<<31) | 2027, (1U<<31) | 1058, 0x55, (1U<<31) | 3110, (1U<<31) | 3098,
+ (1U<<31) | 3098, (1U<<31) | 3028, (1U<<31) | 3017, (1U<<31) | 3017, (1U<<31) | 2954, (1U<<31) | 2178, (1U<<31) | 2944, (1U<<31) | 2161,
+ (1U<<31) | 2944, (1U<<31) | 2161, (1U<<31) | 3154, (1U<<31) | 3143, (1U<<31) | 3143, (1U<<31) | 3068, (1U<<31) | 3058, (1U<<31) | 3058,
+ (1U<<31) | 2990, (1U<<31) | 2472, (1U<<31) | 2981, (1U<<31) | 2457, (1U<<31) | 2981, (1U<<31) | 2457, (1U<<31) | 3300, (1U<<31) | 3285,
+ (1U<<31) | 3285, (1U<<31) | 3110, (1U<<31) | 3098, (1U<<31) | 3098, (1U<<31) | 3028, (1U<<31) | 2099, (1U<<31) | 3017, (1U<<31) | 2080,
+ (1U<<31) | 3017, (1U<<31) | 2080, (1U<<31) | 3356, (1U<<31) | 3342, (1U<<31) | 3342, (1U<<31) | 3154, (1U<<31) | 3143, (1U<<31) | 3143,
+ (1U<<31) | 3068, (1U<<31) | 2178, (1U<<31) | 3058, (1U<<31) | 2161, (1U<<31) | 3058, (1U<<31) | 2161, (1U<<31) | 3416, (1U<<31) | 3399,
+ (1U<<31) | 3399, (1U<<31) | 3248, (1U<<31) | 3236, (1U<<31) | 3236, (1U<<31) | 3154, (1U<<31) | 2099, (1U<<31) | 3143, (1U<<31) | 2080,
+ (1U<<31) | 3143, (1U<<31) | 2080, (1U<<31) | 3200, (1U<<31) | 3187, (1U<<31) | 3187, (1U<<31) | 3110, (1U<<31) | 3098, (1U<<31) | 3098,
+ (1U<<31) | 3248, (1U<<31) | 3236, (1U<<31) | 3236, (1U<<31) | 3154, (1U<<31) | 3143, (1U<<31) | 3143, (1U<<31) | 3122, (1U<<31) | 3087,
+ (1U<<31) | 3087, (1U<<31) | 3039, (1U<<31) | 3007, (1U<<31) | 3007, (1U<<31) | 2964, (1U<<31) | 2188, (1U<<31) | 2935, (1U<<31) | 2145,
+ (1U<<31) | 2935, (1U<<31) | 2145, (1U<<31) | 3165, (1U<<31) | 3133, (1U<<31) | 3133, (1U<<31) | 3078, (1U<<31) | 3049, (1U<<31) | 3049,
+ (1U<<31) | 2999, (1U<<31) | 2481, (1U<<31) | 2973, (1U<<31) | 2434, (1U<<31) | 2973, (1U<<31) | 2434, (1U<<31) | 3315, (1U<<31) | 3271,
+ (1U<<31) | 3271, (1U<<31) | 3122, (1U<<31) | 3087, (1U<<31) | 3087, (1U<<31) | 3039, (1U<<31) | 2110, (1U<<31) | 3007, (1U<<31) | 2062,
+ (1U<<31) | 3007, (1U<<31) | 2062, (1U<<31) | 3370, (1U<<31) | 3329, (1U<<31) | 3329, (1U<<31) | 3165, (1U<<31) | 3133, (1U<<31) | 3133,
+ (1U<<31) | 3078, (1U<<31) | 2188, (1U<<31) | 3049, (1U<<31) | 2145, (1U<<31) | 3049, (1U<<31) | 2145, (1U<<31) | 3433, (1U<<31) | 3383,
+ (1U<<31) | 3383, (1U<<31) | 3260, (1U<<31) | 3225, (1U<<31) | 3225, (1U<<31) | 3165, (1U<<31) | 2110, (1U<<31) | 3133, (1U<<31) | 2062,
+ (1U<<31) | 3133, (1U<<31) | 2062, (1U<<31) | 3213, (1U<<31) | 3175, (1U<<31) | 3175, (1U<<31) | 3122, (1U<<31) | 3087, (1U<<31) | 3087,
+ (1U<<31) | 3260, (1U<<31) | 3225, (1U<<31) | 3225, (1U<<31) | 3165, (1U<<31) | 3133, (1U<<31) | 3133, (1U<<31) | 2850, 0x4F5,
+ (1U<<31) | 3068, (1U<<31) | 3058, (1U<<31) | 3058, (1U<<31) | 3068, (1U<<31) | 3058, (1U<<31) | 3058, (1U<<31) | 3068, (1U<<31) | 3058,
+ (1U<<31) | 3058, (1U<<31) | 3068, (1U<<31) | 3058, (1U<<31) | 3058, (1U<<31) | 3078, (1U<<31) | 3049, (1U<<31) | 3049, (1U<<31) | 3078,
+ (1U<<31) | 3049, (1U<<31) | 3049, (1U<<31) | 3078, (1U<<31) | 3049, (1U<<31) | 3049, (1U<<31) | 3078, (1U<<31) | 3049, (1U<<31) | 3049,
+ 0x88, 0x77, 0x77, 0x54, 0x54, 0x54, 0x54, 0x54,
+ 0x54, 0x54, 0x54, 0x48, 0x48, 0x48, 0x48, 0x47,
+ 0x47, 0x47, 0x47, 0x58, 0x58, 0x58, 0x58, 0x57,
+ 0x57, 0x57, 0x57, 0x595959, 0x595959, 0x595959, 0x595959, 0x2C2C2C2C,
+ 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x5959, 0x445959, 0x444A4A, 0x40,
+ 0x0, 0x442E0, 0x442E0, 0x442E0, 0x442E0, 0x2E2C, 0x2E3B, 0x2E4A,
+ 0x2E2C, 0x2E2C, 0x2E4A, 0x2E4A, 0x3B, 0x4A0, 0x2E2C0, 0x2E3B0,
+ 0x2E4A0, 0x2E4A0, 0x2E4A0, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, (1U<<31) | 3722, 0x4A4A4A,
+ (1U<<31) | 3720, (1U<<31) | 3720, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A,
+ 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x2C2C59, 0x44A7A,
+ 0x44A7A, 0x2C4, 0x7A7A4A, 0x7A7A44, 0x7A7A4A, 0x7A7A44, 0x2C2C2C, 0x2C2C44,
+ 0x595959, 0x595944, 0x3B3B3B, 0x3B3B44, 0x4A4A4A, 0x4A4A44, 0x7A7A4A, 0x7A7A44,
+ 0x7A7A4A, 0x7A7A44, 0x2C2C2C, 0x2C2C44, 0x595959, 0x595944, 0x3B3B3B, 0x3B3B44,
+ 0x4A4A4A, 0x4A4A44, 0x2C2C2C, 0x2C2C44, 0x595959, 0x595944, 0x3B3B3B, 0x3B3B44,
+ 0x4A4A4A, 0x4A4A44, 0x2C2C2C, 0x2C2C44, 0x3B3B3B, 0x3B3B44, 0x4A4A4A, 0x4A4A44,
+ 0x2C2C2C, 0x2C2C44, 0x3B3B3B, 0x3B3B44, 0x4A4A4A, 0x4A4A44, 0x47A4A, 0x47A4A,
+ 0x2C4, 0x7A7A, 0x2C2C, 0x7A7A, 0x7A7A7A7A, 0x7A7A7A, 0x2C2C2C, 0x595959,
+ 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x3B3B3B3B, 0x3B3B3B3B,
+ 0x7A7A7A, 0x2C2C2C, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x595959, 0x3B3B3B,
+ 0x4A4A4A, 0x3B3B3B3B, 0x4A2C2C4A, 0x4A3B3B4A, 0x4A3B3B4A, 0x4A2C2C4A, 0x4A3B3B4A, 0x4A3B3B4A,
+ 0x2C2C3B, 0x3B3B4A, 0x4A4A59, 0x2C2C3B, 0x3B3B4A, 0x4A4A59, 0x2C2C3B, 0x3B3B4A,
+ 0x4A4A59, 0x2C2C3B, 0x3B3B4A, 0x4A4A59, 0x7A7A7A7A, 0x2C4A4A4A, 0x4A4A3B, 0x59594A,
+ 0x59594A, 0x3B3B2C, 0x3B3B2C, 0x4A4A3B, 0x4A4A3B, 0x59594A, 0x3B3B2C, 0x4A4A3B,
+ 0x5959, (1U<<31) | 3724, 0x4A4A, 0x7A7A, 0x7A7A, 0x7A7A, 0x7A7A, 0x7A7A,
+ 0x2C2C2C, 0x595959, 0x59595959, 0x595959, 0x3B3B3B, 0x4A4A4A, 0x4A4A4A4A, 0x4A4A4A,
+ 0x7A7A, 0x4A4A4A4A, 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x4A4A4A,
+ 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x2C2C2C,
+ 0x4A4A4A, (1U<<31) | 3722, 0x4A4A4A, (1U<<31) | 3720, (1U<<31) | 3720, 0x2C2C2C, 0x3B3B3B, 0x4A4A4A,
+ 0x2C2C2C, 0x3B3B3B, 0x4A4A4A, 0x4A4A4A, 0x4A2C4A, 0x4A3B4A, 0x4A2C4A, 0x4A4A4A,
+ 0x3B4A, 0x2C3B, 0x3B4A, 0x4A59, 0x3B4A, 0x2C3B, 0x3B4A, 0x4A59,
+ 0x555, 0x2E0, 0x2E0, 0x2E0, 0x2E0, 0x2E0, 0x2E0, 0x2E0,
+ 0x2E0, 0x555, 0x555, 0x444, 0x444, 0x5, 0x5, 0x5,
+ 0x5, 0x1, 0x0, 0x1F0, 0x8A8A, 0x8A8A8A, 0x8A8A8A, 0x8A8A,
+ 0x8A8A, 0x8A8A, 0x8A8A, 0x8A8A8A, 0x8A8A8A, 0x8A8A8A, 0x8A8A8A, 0x8A8A,
+ 0x8A8A, 0x8A8A, 0x8A8A, 0x8A8A, 0x8A8A, 0x8A8A, 0x8A8A, 0x48A8A8A,
+ (1U<<31) | 3475, (1U<<31) | 3475, (1U<<31) | 3475, (1U<<31) | 3475, 0x8A8A8A, 0x8A8A8A, 0x8A8A, 0x8A8A,
+ (1U<<31) | 3475, (1U<<31) | 3475, (1U<<31) | 3475, (1U<<31) | 3475, (1U<<31) | 3475, 0x8A8A, 0x8A8A, 0x8A8A,
+ 0x8A8A, 0x8A8A, 0x8A8A, 0x8A8A, 0x8A8A, 0x8A8A, (1U<<31) | 3475, 0x8A8A8A,
+ 0x8A8A8A, 0x8A8A8A, (1U<<31) | 3475, (1U<<31) | 3475, 0x8A8A8A, 0x8A8A8A, (1U<<31) | 3475, (1U<<31) | 3475,
+ (1U<<31) | 3475, (1U<<31) | 3475, (1U<<31) | 3475, (1U<<31) | 3475, 0x48A, 0x2E8A, 0x2E8A, 0x2E8A,
+ 0x2E8A, 0x2E8A, 0x2E8A, 0x2E8A, 0x2E8A, 0x2E8A, 0x2E8A, 0x2E8A,
+ 0x2E8A, 0x2E8A, 0x2E8A, 0x2E8A, 0x2E8A, 0x2E8A0, 0x2E8A0, 0x2E8A0,
+ 0x2E8A0, 0x2E8A0, 0x2E8A0, 0x2E8A0, 0x2E8A0, 0x2E8A0, 0x2E8A0, 0x50,
+ 0x50, 0x50, 0x50, 0x0, 0x44, 0x4444, 0x4444, 0x4444,
+ 0x4444, 0x44, 0x4, 0x44, 0x4, 0x4, 0x44, 0x4,
+ 0x44, 0x4, 0x5, 0x2E89, 0x2E89, 0x52E4A, 0x52E4A, 0x2E4A,
+ 0x2E4A, 0x2E890, 0x2E890, 0x52E4A0, 0x52E4A0, 0x2E4A0, 0x2E4A0, 0x888,
+ 0x888, 0x898959, 0x898944, 0x7A7A4A, 0x7A7A44, 0x898959, 0x898944, 0x7A7A4A,
+ 0x7A7A44, 0x898959, 0x898944, 0x7A7A4A, 0x7A7A44, 0x897A, 0x894A, 0x894A,
+ 0x3B7A, 0x7A89, 0x7A7A, 0x597A, 0x4A89, 0x597A, 0x4A89, 0x898989,
+ 0x7A7A7A, 0x595989, 0x4A4A7A, 0x898989, 0x7A7A7A, 0x898989, 0x7A7A7A, 0x8989,
+ 0x8989, 0x7A7A, 0x7A7A, 0x8989, 0x7A7A, 0x48959, 0x47A4A, 0x8959,
+ 0x7A4A, 0x8959, 0x7A4A, 0x45959, 0x4594A4A, 0x4A4A4A, 0x0, (1U<<31) | 753,
+ 0x44A4A0, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
+ 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4,
+ 0x2F2F, 0x2F2F, 0x4, 0x4, 0x42E4, 0x5E50, 0x40, 0x40,
+ 0x50, 0x42E4, 0x42E4, 0x42E0, 0x52F4, 0x4, 0x2C2C2C, 0x2C2C2C2C,
+ 0x4A4A4A, 0x595959, 0x3B3B3B, 0x2C2C2C, 0x2C2C2C2C, 0x2C2C2C, 0x2C2C2C, 0x4A4A4A,
+ 0x595959, 0x3B3B3B, 0x2C2C2C, 0x4A4A4A, 0x595959, 0x3B3B3B, (1U<<31) | 966, (1U<<31) | 2707,
+ (1U<<31) | 2926, (1U<<31) | 1235, (1U<<31) | 966, (1U<<31) | 2707, (1U<<31) | 2926, (1U<<31) | 1235, (1U<<31) | 966, (1U<<31) | 2707,
+ (1U<<31) | 2926, (1U<<31) | 1235, 0x4A4A4A, (1U<<31) | 1737, (1U<<31) | 2229, (1U<<31) | 2509, (1U<<31) | 1866, 0x42C2C,
+ 0x44A4A, 0x45959, 0x43B3B, 0x2C2C2C, 0x4A4A4A, 0x595959, 0x3B3B3B, 0x42C2C2C,
+ (1U<<31) | 1759, 0x44A4A4A, (1U<<31) | 2207, 0x43B3B3B, (1U<<31) | 1888, 0x42C2C2C, (1U<<31) | 1759, 0x44A4A4A,
+ (1U<<31) | 2207, 0x43B3B3B, (1U<<31) | 1888, (1U<<31) | 3453, (1U<<31) | 3453, (1U<<31) | 3453, 0x2C2C2C, (1U<<31) | 966,
+ 0x4A4A4A, (1U<<31) | 2707, 0x3B3B3B, (1U<<31) | 1235, 0x2C2C2C, (1U<<31) | 966, 0x4A4A4A, (1U<<31) | 2707,
+ 0x3B3B3B, (1U<<31) | 1235, 0x2C2C2C, (1U<<31) | 966, 0x4A4A4A, (1U<<31) | 2707, 0x3B3B3B, (1U<<31) | 1235,
+ 0x2C2C2C, (1U<<31) | 966, 0x4A4A4A, (1U<<31) | 2707, 0x3B3B3B, (1U<<31) | 1235, 0x448989, (1U<<31) | 2623,
+ 0x3B2C2C3B, 0x594A4A59, 0x2C59592C, 0x4A3B3B4A, 0x2C2C3B, 0x4A4A59, 0x59592C, 0x3B3B4A,
+ 0x2C2C, (1U<<31) | 975, 0x4A4A, (1U<<31) | 2691, 0x3B3B, (1U<<31) | 1244, 0x42E2C, 0x2E42C,
+ 0x3B2C2C3B, 0x594A4A59, 0x4A3B3B4A, 0x2C2C2C2C, 0x4A4A4A4A, 0x3B3B3B3B, 0x3B2C2C3B, 0x594A4A59,
+ 0x4A3B3B4A, 0x2C2C2C2C, 0x4A4A4A4A, 0x3B3B3B3B, 0x3B2C2C3B, 0x594A4A59, 0x4A3B3B4A, 0x3B2C2C3B,
+ 0x594A4A59, 0x4A3B3B4A, 0x2C2C3B, 0x4A4A59, 0x3B3B4A, 0x2C2C2C, 0x4A4A4A, 0x3B3B3B,
+ 0x2C2C3B, 0x4A4A59, 0x3B3B4A, 0x2C2C2C, 0x4A4A4A, 0x3B3B3B, 0x2C2C3B, 0x4A4A59,
+ 0x3B3B4A, 0x2C2C3B, 0x4A4A59, 0x3B3B4A, 0x4595959, 0x2C2C2C2C, 0x4A4A3B, (1U<<31) | 2698,
+ 0x59594A, (1U<<31) | 2917, 0x3B3B2C, (1U<<31) | 1226, 0x4A4A3B, (1U<<31) | 2698, 0x59594A, (1U<<31) | 2917,
+ 0x3B3B2C, (1U<<31) | 1226, 0x2C2C2C2C, 0x2C2C2C2C, 0x2C2C2C, 0x4A4A4A, 0x595959, 0x3B3B3B,
+ 0x2C2C2C, 0x2C2C2C, 0x2C2C2C, 0x42C2C2C, 0x2C2C2C, 0x2C2C2C, 0x2C2C2C, 0x2C2C2C,
+ 0x2C2C2C, 0x2E42C0, (1U<<31) | 1737, (1U<<31) | 1747, (1U<<31) | 2229, (1U<<31) | 2217, (1U<<31) | 1866, (1U<<31) | 1876,
+ (1U<<31) | 1737, (1U<<31) | 1747, (1U<<31) | 2229, (1U<<31) | 2217, (1U<<31) | 1866, (1U<<31) | 1876, 0x2C2C4A, 0x4A4A59,
+ 0x3B3B59, 0x3B3B4A, 0x4A4A2C, 0x59592C, 0x2C2C4, 0x2C3B, 0x4A59, 0x3B4A,
+ 0x2C3B, 0x4A59, 0x2C3B, 0x4A59, 0x3B4A, 0x3B4A, 0x2C3B, 0x4A59,
+ 0x3B4A, 0x1F, 0x1F0, (1U<<31) | 3638, (1U<<31) | 3635, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638,
+ (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3635, (1U<<31) | 3638, (1U<<31) | 3638,
+ (1U<<31) | 3638, (1U<<31) | 3635, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3635, (1U<<31) | 3638, (1U<<31) | 3635, (1U<<31) | 3638,
+ (1U<<31) | 3638, (1U<<31) | 3635, (1U<<31) | 3635, 0x2E4422, 0x2E5522, 0x2E4422, 0x2E5522, 0x595959,
+ 0x595959, 0x595959, 0x595959, 0x5959, 0x25959, 0x8A8A8A, 0x7B7B7B, (1U<<31) | 3475,
+ 0x7B7B7B7B, 0x28A8A8A, 0x27B7B7B, 0x8A7A, 0x8A4A, 0x7B4B, 0x4B7B, 0x8A4A,
+ 0x7B4B, 0x27B7B7B, 0x8A8A8A, 0x7B7B7B, 0x8A8A8A, 0x7B7B7B, 0x2E2D, 0x592E89,
+ 0x5A2E8A, 0x4A2E7A, 0x4B2E7B, 0x89592E0, 0x8A5A2E0, 0x7A4A2E0, 0x7B4B2E0, 0x8A8A8A,
+ 0x7B7B7B, 0x8A8A8A, 0x7B7B7B, 0x8A4, 0x7B4, 0x5A5A4, 0x5A5A4, 0x5A5A4,
+ 0x7B7B, 0x48A8A, 0x47B7B, 0x7B7B, 0x8A8A, 0x7B7B, 0x28A8A8A, 0x27B7B7B,
+ 0x24B4B4B, 0x598989, 0x5A8A8A, 0x4A7A7A, 0x4B7B7B, 0x89894, 0x8A8A4, 0x7A7A4,
+ 0x7B7B4, 0x89894, 0x8A8A4, 0x7A7A4, 0x7B7B4, 0x89894, 0x8A8A4, 0x7A7A4,
+ 0x7B7B4, 0x0, 0x0, (1U<<31) | 309, (1U<<31) | 397, (1U<<31) | 768, (1U<<31) | 844, (1U<<31) | 623,
+ (1U<<31) | 711, (1U<<31) | 429, (1U<<31) | 505, (1U<<31) | 331, (1U<<31) | 343, (1U<<31) | 780, (1U<<31) | 856, (1U<<31) | 645,
+ (1U<<31) | 657, (1U<<31) | 451, (1U<<31) | 527, 0x4A2E4A, 0x4B2E4B, 0x592E59, 0x5A2E5A, 0x4A4A2E0,
+ 0x4B4B2E0, 0x59592E0, 0x5A5A2E0, 0x2E5A, 0x22D2D3C, 0x2D2D, 0x4B4B, 0x3C3C,
+ 0x4B4B3C, 0x3C3C2D, 0x4B4B3C, 0x3C3C2D, 0x2D2D2D, 0x3C3C3C, 0x2D2D2D, 0x3C3C3C,
+ 0x2D2D2D, 0x3C3C3C, 0x2D2D2D2D, 0x4B4B4B, 0x4B7B7B, 0x4B4B4B, 0x3C3C3C, 0x3C3C3C,
+ 0x4B4B4B, 0x3C3C3C, 0x3C3C3C, 0x2D2D3C, 0x3C3C4B, 0x2D4, 0x4B4B5A, 0x3C3C3C,
+ 0x3C3C3C, 0x3C3C3C, 0x4B4B5A, 0x2D2D5A, 0x2D2D2D, 0x2D2D2D, 0x4B4B4B, 0x3C3C3C,
+ 0x4A4B4B, 0x595A5A, 0x3B3C3C, 0x44B4B, 0x45A5A, 0x43C3C, 0x4A4A4A, 0x4B4B4B,
+ 0x595959, 0x5A5A5A, 0x4A4B4B, 0x3B3C3C, 0x44B4B, 0x43C3C, 0x4A4A4A, 0x4B4B4B,
+ 0x4A4B4B, 0x595A5A, 0x3B3C3C, 0x44B4B, 0x45A5A, 0x43C3C, 0x4A4A4A, 0x4B4B4B,
+ 0x595959, 0x5A5A5A, 0x2D2D2D, 0x3C3C3C, 0x2D2D2D, 0x3C3C3C, 0x25A5A5A, 0x259,
+ 0x25A, 0x25B, 0x34A, 0x34B, 0x34C, 0x2C3, 0x2D4, (1U<<31) | 1029,
+ 0x4A2, 0x4B2, 0x4C3, 0x32C, 0x42D, (1U<<31) | 2878, 0x24A, 0x24B,
+ 0x34C, 0x259, 0x25A, 0x25B, 0x23B, 0x33C, 0x43D, 0x592,
+ 0x5A2, 0x5B2, 0x458989, 0x447A7A, 0x457A7A, 0x4894, 0x4895, 0x4894,
+ 0x4895, 0x47A4, 0x47A5, 0x47A4, 0x47A5, 0x48989, 0x447A7A, 0x458989,
+ 0x457A7A, 0x3B2, 0x3C3, 0x3D4, 0x428B8B8B, 0x437C7C7C, (1U<<31) | 1503, (1U<<31) | 1821,
+ (1U<<31) | 1481, (1U<<31) | 1832, (1U<<31) | 1635, (1U<<31) | 1602, (1U<<31) | 1613, (1U<<31) | 1624, (1U<<31) | 1547, (1U<<31) | 1525,
+ (1U<<31) | 1591, (1U<<31) | 1569, (1U<<31) | 1536, (1U<<31) | 1514, (1U<<31) | 1580, (1U<<31) | 1558, (1U<<31) | 1448, (1U<<31) | 1415,
+ (1U<<31) | 1459, (1U<<31) | 1426, (1U<<31) | 1437, (1U<<31) | 1404, (1U<<31) | 1492, (1U<<31) | 1470, 0x442E4B20, 0x442E4C30,
+ 0x442E5B20, 0x442E5B20, 0x333, 0x333, 0x33, 0x333, 0x334, 0x334,
+ 0x333, 0x555, 0x444, 0x333, 0x333, (1U<<31) | 1726, (1U<<31) | 1855, (1U<<31) | 1703,
+ (1U<<31) | 1658, 0x27B7A7B, 0x37C7A7C, 0x27B7A7B, 0x37C7A7C, 0x37C7B7C, 0x28A898A, 0x28B898B,
+ 0x28B8A8B, 0x24A4A4A, 0x24B4A4B, 0x34C4A4C, 0x24B4A4B, 0x34C4A4C, 0x34C4B4C, 0x25A595A,
+ 0x25B595B, 0x25B5A5B, 0x342C2C3, 0x442D2D4, (1U<<31) | 2909, 0x244A4A2, 0x244B4B2, 0x344C4C3,
+ 0x2489892, 0x248A8A2, 0x4248B8B2, 0x247A7A2, 0x247B7B2, 0x4347C7C3, 0x2459592, 0x245A5A2,
+ 0x245B5B2, 0x42489892, 0x4247A7A2, 0x243B3B2, 0x343C3C3, 0x443D3D4, 0x24A4A4A, 0x24B4B4B,
+ 0x34C4C4C, 0x2898989, 0x28A8A8A, 0x28B8B8B, 0x27A7A7A, 0x27B7B7B, 0x37C7C7C, 0x2595959,
+ 0x25A5A5A, 0x25B5B5B, 0x24A2E0, 0x24B2E0, 0x34C2E0, 0x2892E0, 0x28A2E0, 0x28B2E0,
+ 0x27A2E0, 0x27B2E0, 0x37C2E0, 0x2592E0, 0x25A2E0, 0x25B2E0, 0x24A4A4A, 0x24B4B4B,
+ 0x34C4C4C, 0x2595959, 0x25A5A5A, 0x25B5B5B, 0x27A4A7A, 0x27B4B7B, 0x437C4C7C, 0x24A894A,
+ 0x24A8A4A, 0x424B8B4B, 0x27A897A, 0x27A8A7A, 0x427B8B7B, 0x2598959, 0x25A8A5A, 0x425B8B5B,
+ 0x24A894A, 0x24A8A4A, 0x424B8B4B, 0x2598959, 0x25A8A5A, 0x425B8B5B, 0x24A7A4A, 0x24B7B4B,
+ 0x434C7C4C, 0x2897A89, 0x28A7A8A, 0x428B7B8B, 0x2597A59, 0x25A7A5A, 0x425B7B5B, 0x24A7A4A,
+ 0x24B7B4B, 0x434C7C4C, 0x2597A59, 0x25A7A5A, 0x425B7B5B, 0x2895989, 0x28A5A8A, 0x428B5B8B,
+ 0x27A597A, 0x27A5A7A, 0x427B5B7B, (1U<<31) | 1669, (1U<<31) | 1692, 0x24A894A, 0x24A8A4A, 0x424B8B4B,
+ 0x2598959, 0x25A8A5A, 0x425B8B5B, 0x24A894A, 0x24A8A4A, 0x424B8B4B, 0x2598959, 0x25A8A5A,
+ 0x425B8B5B, 0x24A7A4A, 0x24B7B4B, 0x434C7C4C, 0x2597A59, 0x25A7A5A, 0x425B7B5B, 0x24A7A4A,
+ 0x24B7B4B, 0x434C7C4C, 0x2597A59, 0x25A7A5A, 0x425B7B5B, 0x27A4A7A, 0x27B4B7B, 0x437C4C7C,
+ 0x2895989, 0x28A5A8A, 0x428B5B8B, 0x27A597A, 0x27A5A7A, 0x427B5B7B, (1U<<31) | 169, (1U<<31) | 1088,
+ (1U<<31) | 1918, (1U<<31) | 1726, (1U<<31) | 1855, (1U<<31) | 1703, (1U<<31) | 1658, 0x24A4A4A, 0x24B4B4B, 0x34C4C4C,
+ 0x24A2E4A, 0x24B2E4B, 0x34C2E4C, 0x2892E89, 0x28A2E8A, 0x28B2E8B, 0x27A2E7A, 0x27B2E7B,
+ 0x37C2E7C, 0x2592E59, 0x25A2E5A, 0x25B2E5B, 0x2898989, 0x28A8A8A, 0x28B8B8B, 0x27A7A7A,
+ 0x27B7B7B, 0x37C7C7C, 0x2595959, 0x25A5A5A, 0x25B5B5B, (1U<<31) | 255, (1U<<31) | 277, (1U<<31) | 1392,
+ (1U<<31) | 211, (1U<<31) | 233, (1U<<31) | 1809, (1U<<31) | 1380, (1U<<31) | 1368, 0x24892, 0x248A2, 0x248B2,
+ 0x247A2, 0x247B2, 0x347C3, 0x24892, 0x247A2, 0x2898989, 0x28A8A8A, 0x428B8B8B,
+ 0x27A7A7A, 0x27B7B7B, 0x437C7C7C, (1U<<31) | 1703, (1U<<31) | 1658, 0x28948989, 0x28A48A8A, (1U<<31) | 1716,
+ 0x27A47A7A, 0x27B47B7B, (1U<<31) | 1845, (1U<<31) | 1680, (1U<<31) | 1646, (1U<<31) | 689, (1U<<31) | 1173, (1U<<31) | 1184,
+ (1U<<31) | 822, (1U<<31) | 898, (1U<<31) | 909, (1U<<31) | 375, (1U<<31) | 1130, (1U<<31) | 1141, (1U<<31) | 483, (1U<<31) | 559,
+ (1U<<31) | 570, 0x24A4A4A, 0x24B4B4B, 0x34C4C4C, 0x2595959, 0x25A5A5A, 0x25B5B5B, (1U<<31) | 812,
+ (1U<<31) | 888, (1U<<31) | 1726, (1U<<31) | 679, (1U<<31) | 743, (1U<<31) | 1855, (1U<<31) | 1703, (1U<<31) | 1658, (1U<<31) | 812,
+ (1U<<31) | 888, (1U<<31) | 1726, (1U<<31) | 679, (1U<<31) | 743, (1U<<31) | 1855, (1U<<31) | 1703, (1U<<31) | 1658, (1U<<31) | 1726,
+ (1U<<31) | 1855, (1U<<31) | 1703, (1U<<31) | 1658, 0x32C2C2C, 0x42D2D2D, (1U<<31) | 2884, 0x24A4A4A, 0x24B4B4B,
+ 0x34C4C4C, 0x2595959, 0x25A5A5A, 0x25B5B5B, 0x23B3B3B, 0x33C3C3C, 0x43D3D3D, (1U<<31) | 180,
+ (1U<<31) | 1099, (1U<<31) | 1929, (1U<<31) | 1048, (1U<<31) | 1779, (1U<<31) | 2899, (1U<<31) | 180, (1U<<31) | 1099, (1U<<31) | 1929,
+ (1U<<31) | 1048, (1U<<31) | 1779, (1U<<31) | 2899, (1U<<31) | 1038, (1U<<31) | 1769, (1U<<31) | 2882, (1U<<31) | 159, (1U<<31) | 1078,
+ (1U<<31) | 1908, (1U<<31) | 1038, (1U<<31) | 1769, (1U<<31) | 2882, (1U<<31) | 159, (1U<<31) | 1078, (1U<<31) | 1908, (1U<<31) | 1038,
+ (1U<<31) | 1769, (1U<<31) | 2882, (1U<<31) | 159, (1U<<31) | 1078, (1U<<31) | 1908, 0x32C22C, 0x42D22D, (1U<<31) | 2875,
+ 0x24A44A, 0x24B44B, 0x34C44C, 0x259559, 0x25A55A, 0x25B55B, 0x25B55B, 0x23B33B,
+ 0x33C33C, 0x43D33D, (1U<<31) | 868, (1U<<31) | 931, (1U<<31) | 539, (1U<<31) | 602, (1U<<31) | 159, (1U<<31) | 1078,
+ (1U<<31) | 1908, (1U<<31) | 1038, (1U<<31) | 1769, (1U<<31) | 2882, (1U<<31) | 723, (1U<<31) | 1206, (1U<<31) | 409, (1U<<31) | 1163,
+ (1U<<31) | 149, (1U<<31) | 1068, (1U<<31) | 1898, (1U<<31) | 299, (1U<<31) | 365, (1U<<31) | 1120, 0x22C4A2C, 0x22C4B2C,
+ 0x32C4C2C, 0x24A2E0, 0x24B2E0, 0x34C2E0, 0x23B4A3B, 0x23B4B3B, 0x33C4C3C, 0x24A2E0,
+ 0x24B2E0, 0x34C2E0, 0x22C592C, 0x22C5A2C, 0x22C5B2C, 0x2592E0, 0x25A2E0, 0x25B2E0,
+ 0x24A594A, 0x24A5A4A, 0x24B5B4B, 0x2592E0, 0x25A2E0, 0x25B2E0, 0x23B593B, 0x23B5A3B,
+ 0x23B5B3B, 0x2592E0, 0x25A2E0, 0x25B2E0, 0x22C3B2C, 0x32C3C2C, 0x42D3D2D, 0x23B2E0,
+ 0x33C2E0, 0x43D2E0, 0x22C4A2C, 0x22C4B2C, 0x32C4C2C, 0x24A2E0, 0x24B2E0, 0x34C2E0,
+ 0x23B4A3B, 0x23B4B3B, 0x33C4C3C, 0x24A2E0, 0x24B2E0, 0x34C2E0, 0x22C592C, 0x22C5A2C,
+ 0x22C5B2C, 0x2592E0, 0x25A2E0, 0x25B2E0, 0x24A594A, 0x24A5A4A, 0x24B5B4B, 0x2592E0,
+ 0x25A2E0, 0x25B2E0, 0x23B593B, 0x23B5A3B, 0x23B5B3B, 0x2592E0, 0x25A2E0, 0x25B2E0,
+ 0x22C3B2C, 0x32C3C2C, 0x42D3D2D, 0x23B2E0, 0x33C2E0, 0x43D2E0, 0x22C4A2C, 0x22C4B2C,
+ 0x32C4C2C, 0x24A2E0, 0x24B2E0, 0x34C2E0, 0x23B4A3B, 0x23B4B3B, 0x33C4C3C, 0x24A2E0,
+ 0x24B2E0, 0x34C2E0, 0x22C592C, 0x22C5A2C, 0x22C5B2C, 0x2592E0, 0x25A2E0, 0x25B2E0,
+ 0x24A594A, 0x24A5A4A, 0x24B5B4B, 0x2592E0, 0x25A2E0, 0x25B2E0, 0x23B593B, 0x23B5A3B,
+ 0x23B5B3B, 0x2592E0, 0x25A2E0, 0x25B2E0, 0x22C3B2C, 0x32C3C2C, 0x42D3D2D, 0x23B2E0,
+ 0x33C2E0, 0x43D2E0, (1U<<31) | 441, (1U<<31) | 517, (1U<<31) | 592, (1U<<31) | 159, (1U<<31) | 1078, (1U<<31) | 1908,
+ (1U<<31) | 159, (1U<<31) | 1078, (1U<<31) | 1908, (1U<<31) | 159, (1U<<31) | 1078, (1U<<31) | 1908, (1U<<31) | 1038, (1U<<31) | 1769,
+ (1U<<31) | 2882, (1U<<31) | 441, (1U<<31) | 517, (1U<<31) | 592, 0x24A44A4A, 0x24B44B4B, 0x34C44C4C, 0x25945959,
+ 0x25A45A5A, 0x25B45B5B, (1U<<31) | 321, (1U<<31) | 409, (1U<<31) | 1163, (1U<<31) | 463, (1U<<31) | 539, (1U<<31) | 602,
+ 0x24A44A4A, 0x24B44B4B, 0x34C44C4C, 0x25945959, 0x25A45A5A, 0x25B45B5B, (1U<<31) | 321, (1U<<31) | 409,
+ (1U<<31) | 1163, (1U<<31) | 463, (1U<<31) | 539, (1U<<31) | 602, (1U<<31) | 1038, (1U<<31) | 1769, (1U<<31) | 2882, (1U<<31) | 159,
+ (1U<<31) | 1078, (1U<<31) | 1908, (1U<<31) | 1038, (1U<<31) | 1769, (1U<<31) | 2882, (1U<<31) | 159, (1U<<31) | 1078, (1U<<31) | 1908,
+ (1U<<31) | 200, (1U<<31) | 222, (1U<<31) | 1109, (1U<<31) | 244, (1U<<31) | 266, (1U<<31) | 288, (1U<<31) | 757, (1U<<31) | 833,
+ (1U<<31) | 1714, (1U<<31) | 612, (1U<<31) | 700, (1U<<31) | 1843, (1U<<31) | 1961, (1U<<31) | 1949, 0x28948989, 0x28A48A8A,
+ (1U<<31) | 1716, 0x27A47A7A, 0x27B47B7B, (1U<<31) | 1845, (1U<<31) | 1961, (1U<<31) | 1949, 0x28948989, 0x28A48A8A,
+ (1U<<31) | 1716, 0x27A47A7A, 0x27B47B7B, (1U<<31) | 1845, (1U<<31) | 1961, (1U<<31) | 1949, (1U<<31) | 812, (1U<<31) | 888,
+ (1U<<31) | 1726, (1U<<31) | 679, (1U<<31) | 743, (1U<<31) | 1855, (1U<<31) | 1703, (1U<<31) | 1658, (1U<<31) | 1195, (1U<<31) | 700,
+ (1U<<31) | 920, (1U<<31) | 833, (1U<<31) | 1152, (1U<<31) | 386, (1U<<31) | 581, (1U<<31) | 494, 0x2898989, 0x28A8A8A,
+ 0x428B8B8B, 0x27A7A7A, 0x27B7B7B, 0x437C7C7C, (1U<<31) | 1703, (1U<<31) | 1658, 0x27A2E0, (1U<<31) | 1726,
+ (1U<<31) | 1855, (1U<<31) | 1703, (1U<<31) | 1658, 0x342C2C3, 0x442D2D4, (1U<<31) | 2909, 0x244A4A2, 0x244B4B2,
+ 0x344C4C3, 0x2459592, 0x245A5A2, 0x245B5B2, 0x243B3B2, 0x343C3C3, 0x443D3D4, 0x27A3B7A,
+ 0x27B3B7B, 0x437C3C7C, 0x23B47A3B, 0x23B47B3B, 0x33C47C3C, 0x27A47B7A, 0x27A47C7A, 0x27B47C7B,
+ 0x28948A89, 0x28948B89, 0x28A48B8A, 0x24A44B4A, 0x24A44C4A, 0x24B44C4B, 0x25945A59, 0x25945B59,
+ 0x25A45B5A, (1U<<31) | 812, (1U<<31) | 888, (1U<<31) | 1726, (1U<<31) | 679, (1U<<31) | 743, (1U<<31) | 1855, (1U<<31) | 1703,
+ (1U<<31) | 1658, (1U<<31) | 812, (1U<<31) | 888, (1U<<31) | 1726, (1U<<31) | 679, (1U<<31) | 743, (1U<<31) | 1855, (1U<<31) | 812,
+ (1U<<31) | 888, (1U<<31) | 1726, (1U<<31) | 679, (1U<<31) | 743, (1U<<31) | 1855, (1U<<31) | 812, (1U<<31) | 888, (1U<<31) | 1726,
+ (1U<<31) | 679, (1U<<31) | 743, (1U<<31) | 1855, (1U<<31) | 321, (1U<<31) | 409, (1U<<31) | 1163, (1U<<31) | 159, (1U<<31) | 1078,
+ (1U<<31) | 1908, (1U<<31) | 792, (1U<<31) | 868, (1U<<31) | 931, (1U<<31) | 635, (1U<<31) | 723, (1U<<31) | 1206, (1U<<31) | 463,
+ (1U<<31) | 539, (1U<<31) | 602, (1U<<31) | 1038, (1U<<31) | 1769, (1U<<31) | 2882, (1U<<31) | 321, (1U<<31) | 409, (1U<<31) | 1163,
+ (1U<<31) | 159, (1U<<31) | 1078, (1U<<31) | 1908, (1U<<31) | 802, (1U<<31) | 878, (1U<<31) | 941, (1U<<31) | 669, (1U<<31) | 733,
+ (1U<<31) | 1216, (1U<<31) | 463, (1U<<31) | 539, (1U<<31) | 602, (1U<<31) | 1038, (1U<<31) | 1769, (1U<<31) | 2882, (1U<<31) | 463,
+ (1U<<31) | 539, (1U<<31) | 602, (1U<<31) | 463, (1U<<31) | 539, (1U<<31) | 602, (1U<<31) | 812, (1U<<31) | 888, (1U<<31) | 1726,
+ (1U<<31) | 679, (1U<<31) | 743, (1U<<31) | 1855, (1U<<31) | 1703, (1U<<31) | 1658, (1U<<31) | 812, (1U<<31) | 888, (1U<<31) | 1726,
+ (1U<<31) | 679, (1U<<31) | 743, (1U<<31) | 1855, (1U<<31) | 812, (1U<<31) | 888, (1U<<31) | 1726, (1U<<31) | 679, (1U<<31) | 743,
+ (1U<<31) | 1855, (1U<<31) | 1703, (1U<<31) | 1658, (1U<<31) | 812, (1U<<31) | 888, (1U<<31) | 1726, (1U<<31) | 679, (1U<<31) | 743,
+ (1U<<31) | 1855, (1U<<31) | 812, (1U<<31) | 888, (1U<<31) | 1726, (1U<<31) | 679, (1U<<31) | 743, (1U<<31) | 1855, (1U<<31) | 1703,
+ (1U<<31) | 1658, (1U<<31) | 255, (1U<<31) | 277, (1U<<31) | 1392, (1U<<31) | 211, (1U<<31) | 233, (1U<<31) | 1809, (1U<<31) | 1380,
+ (1U<<31) | 1368, (1U<<31) | 200, (1U<<31) | 222, (1U<<31) | 1109, (1U<<31) | 244, (1U<<31) | 266, (1U<<31) | 288, (1U<<31) | 812,
+ (1U<<31) | 888, (1U<<31) | 1726, (1U<<31) | 679, (1U<<31) | 743, (1U<<31) | 1855, (1U<<31) | 1703, (1U<<31) | 1658, (1U<<31) | 812,
+ (1U<<31) | 888, (1U<<31) | 1726, (1U<<31) | 679, (1U<<31) | 743, (1U<<31) | 1855, (1U<<31) | 321, (1U<<31) | 409, (1U<<31) | 1163,
+ (1U<<31) | 159, (1U<<31) | 1078, (1U<<31) | 1908, (1U<<31) | 802, (1U<<31) | 878, (1U<<31) | 941, (1U<<31) | 669, (1U<<31) | 733,
+ (1U<<31) | 1216, (1U<<31) | 463, (1U<<31) | 539, (1U<<31) | 602, (1U<<31) | 1038, (1U<<31) | 1769, (1U<<31) | 2882, (1U<<31) | 463,
+ (1U<<31) | 539, (1U<<31) | 602, (1U<<31) | 463, (1U<<31) | 539, (1U<<31) | 602, 0x2E5B, (1U<<31) | 1022, (1U<<31) | 1015,
+ 0x4A4C4C, 0x595B5B, 0x3B3D3D, 0x44C4C, 0x45B5B, 0x43D3D, 0x4C4C4C, 0x5B5B5B,
+ 0x3B3B3B, 0x3C3C3C, 0x3D3D3D, 0x4A4C4C, 0x595959, 0x595A5A, 0x595B5B, 0x3B3D3D,
+ 0x44C4C, 0x45959, 0x45A5A, 0x45B5B, 0x43D3D, 0x4C4C4C, 0x595959, 0x5A5A5A,
+ 0x5B5B5B, 0x3B3B3B, 0x3C3C3C, 0x3D3D3D, 0x4A4C4C, 0x595B5B, 0x3B3D3D, 0x44C4C,
+ 0x45B5B, 0x43D3D, 0x4C4C4C, 0x5B5B5B, 0x3B3B3B, 0x3C3C3C, 0x3D3D3D, 0x32C2C3,
+ 0x42D2D4, (1U<<31) | 2892, 0x24A4A2, 0x24B4B2, 0x34C4C3, 0x259592, 0x25A5A2, 0x25B5B2,
+ 0x23B3B2, 0x33C3C3, 0x43D3D4, 0x32C2C3, 0x42D2D4, (1U<<31) | 2892, 0x24A4A2, 0x24B4B2,
+ 0x34C4C3, 0x259592, 0x25A5A2, 0x25B5B2, 0x23B3B2, 0x33C3C3, 0x43D3D4, 0x2898989,
+ 0x28A8A8A, 0x28B8B8B, 0x27A7A7A, 0x27B7B7B, 0x37C7C7C, (1U<<31) | 812, (1U<<31) | 679, 0x428B8B8B,
+ 0x437C7C7C, (1U<<31) | 1703, (1U<<31) | 1658, 0x2898989, 0x28A8A8A, 0x28B8B8B, 0x27A7A7A, 0x27B7B7B,
+ 0x37C7C7C, (1U<<31) | 812, (1U<<31) | 679, 0x428B8B8B, 0x437C7C7C, (1U<<31) | 1703, (1U<<31) | 1658, (1U<<31) | 2671,
+ (1U<<31) | 2323, (1U<<31) | 2539, (1U<<31) | 2613, (1U<<31) | 2681, (1U<<31) | 2269, (1U<<31) | 2549, (1U<<31) | 2603, (1U<<31) | 2641,
+ (1U<<31) | 2499, (1U<<31) | 2661, (1U<<31) | 2529, (1U<<31) | 2573, (1U<<31) | 2239, (1U<<31) | 2583, (1U<<31) | 2249, 0x442E4B20,
+ 0x442E4C30, 0x442E5B20, 0x442E5B20, (1U<<31) | 2631, (1U<<31) | 2489, (1U<<31) | 2651, (1U<<31) | 2519, (1U<<31) | 2563,
+ (1U<<31) | 2197, (1U<<31) | 2593, (1U<<31) | 2259, 0x2E8B, 0x2E7C, 0x4489894, 0x447A7A4, 0x4894,
+ 0x4895, 0x4894, 0x4895, 0x47A4, 0x47A5, 0x47A4, 0x47A5, 0x5B8B8B,
+ 0x4C7C7C, 0x444, 0x555, 0x444, 0x555, 0x444, 0x555, 0x444,
+ 0x555, 0x2E0, 0x4, 0x5, 0x40, 0x50, (1U<<31) | 3462, (1U<<31) | 3475,
+ 0x7A7A7A7A, 0x7B7B7B7B, (1U<<31) | 3462, 0x7A7A7A7A, (1U<<31) | 3462, (1U<<31) | 3475, 0x7A7A7A7A, 0x7B7B7B7B,
+ (1U<<31) | 3462, (1U<<31) | 3475, 0x7A7A7A7A, 0x7B7B7B7B, (1U<<31) | 3462, 0x7A7A7A7A, (1U<<31) | 3462, (1U<<31) | 3475,
+ 0x7A7A7A7A, 0x7B7B7B7B, (1U<<31) | 3462, (1U<<31) | 3475, 0x7A7A7A7A, 0x7B7B7B7B, (1U<<31) | 3462, 0x7A7A7A7A,
+ (1U<<31) | 3462, (1U<<31) | 3475, 0x7A7A7A7A, 0x7B7B7B7B, (1U<<31) | 3462, 0x7A7A7A7A, 0x2E0, 0x2E0,
+ 0x2E0, 0x2E0, 0x20, 0x0, 0x0, (1U<<31) | 1003, (1U<<31) | 3633, (1U<<31) | 3638,
+ (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638,
+ (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 1033, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638,
+ (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 2867, (1U<<31) | 2405, (1U<<31) | 3638,
+ (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3620, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638,
+ (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 2871, (1U<<31) | 2871,
+ (1U<<31) | 2871, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 2871, (1U<<31) | 2871, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638,
+ (1U<<31) | 2871, (1U<<31) | 2871, (1U<<31) | 2871, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638,
+ (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638, (1U<<31) | 3638,
+ (1U<<31) | 3638, (1U<<31) | 3638, 0x442E0, 0x4440, 0x2595959, 0x4, 0x5, 0x4,
+ 0x5, 0x4, 0x45, (1U<<31) | 1939, (1U<<31) | 2416, (1U<<31) | 2559, (1U<<31) | 1939, (1U<<31) | 2416,
+ (1U<<31) | 2559, 0x5, 0x2E5, 0x2E0, 0x2E0, 0x2E2E, 0x2E2E2E, 0x4A4A4A,
+ 0x4A4A4A, 0x4A4A4A, 0x24A4A4A, 0x4A4A4A, 0x4A4A4A, 0x4A4A4A4A, 0x27A7A7A, 0x27A7A7A,
+ 0x7A7A4, 0x7A7A4, 0x7A7A4, 0x7A7A4, 0x7A7A4, 0x7A7A4, (1U<<31) | 3471, (1U<<31) | 3629,
+ (1U<<31) | 3623, (1U<<31) | 3449, 0x47A7A, 0x57A7A, 0x7A4, 0x7A5, (1U<<31) | 3471, (1U<<31) | 3449,
+ 0x7A4, 0x7A5, 0x2E0, 0x7A7A7A, 0x7A7A7A, 0x7A7A7A, 0x7A7A7A, 0x7A4,
+ (1U<<31) | 1034, 0x7A7A, 0x7A7A, 0x7A7A, 0x7A7A, 0x0, 0x7A7A, 0x7A7A,
+ 0x2E0, 0x7A7A4, 0x7A7A4, 0x7A7A4, 0x7A7A4, 0x7A7A4, 0x7A7A4, 0x2E0,
+ 0x2898989, 0x2898989, 0x89894, 0x89894, 0x89894, 0x89894, 0x89894, 0x89894,
+ 0x4A7A, 0x894A, 0x897A, 0x7A4A, 0x894, 0x895, 0x897A7A, 0x48989,
+ 0x58989, 0x7A8989, 0x894A, 0x7A4A, 0x894, 0x895, 0x0, 0x2E2C2C0,
+ 0x898989, 0x898989, 0x0, 0x898989, 0x898989, 0x894, 0x4A4A3B, 0x3B3B2C,
+ 0x3B3B2C, 0x2C2C2C, 0x3B3B3B, 0x2C2C2C, 0x3B3B3B, 0x0, 0x2C2C2C, 0x3B3B3B,
+ 0x3B3B4A, 0x2C4, 0x3B3B3B, 0x3B3B3B, 0x4A4A59, 0x2C2C59, 0x4A4A4A, 0x595959,
+ 0x3B3B3B, 0x44A4A, 0x45959, 0x43B3B, 0x4A4A4A, 0x3B3B3B, 0x44A4A, 0x43B3B,
+ 0x4A4A4A, 0x595959, 0x3B3B3B, 0x44A4A, 0x45959, 0x43B3B, 0x2C2C2C, 0x3B3B3B,
+ 0x2C2C2C, 0x3B3B3B, 0x8989, 0x8989, 0x89894, 0x89894, 0x89894, 0x89894,
+ 0x89894, 0x89894, 0x898989, 0x7A7A7A, 0x898989, 0x7A7A7A, 0x898989, 0x7A7A7A,
+ 0x2E2C, 0x442E0, 0x440, (1U<<31) | 3462, 0x7A7A7A7A, 0x2898989, 0x27A7A7A, 0x27A7A7A,
+ 0x2E59, 0x22C2C3B, 0x4A4A3B, 0x2C2C2C2C, 0x3B3B, 0x4A4A59, 0x59594, 0x59594,
+ 0x59594, 0x48989, 0x47A7A, 0x4898989, 0x47A7A7A, 0x344, 0x444, 0x244,
+ 0x555, 0x242C42C4, 0x242C42C4, 0x242C42C4, 0x242C42C4, 0x242C42C4, 0x242C42C4, (1U<<31) | 190,
+ 0x22C2C4, 0x22C2C4, 0x22C2C4, 0x22C2C4, 0x22C2C4, 0x22C2C4, 0x22C2C2C, 0x2C5959,
+ 0x225959, 0x595959, 0x22595959, (1U<<31) | 3635, 0x2C2C, (1U<<31) | 3635, 0x4A4A, (1U<<31) | 3635,
+ 0x3B3B, (1U<<31) | 3638, 0x4A4A4A, (1U<<31) | 3638, 0x3B3B3B, (1U<<31) | 3638, 0x3B3B3B, (1U<<31) | 3638,
+ 0x4A4A4A, (1U<<31) | 3638, 0x3B3B3B, (1U<<31) | 3638, 0x3B3B3B, (1U<<31) | 3638, 0x2C2C3B, (1U<<31) | 3638,
+ 0x3B3B3B, (1U<<31) | 3638, 0x2C2C2C, (1U<<31) | 3638, 0x2C2C2C, (1U<<31) | 3638, 0x4A4A4A, (1U<<31) | 3638,
+ 0x3B3B3B, 0x2E4422, 0x2E5522, 0x444, 0x555, 0x3B7A, 0x3B7B, 0x47A3B,
+ 0x47B3B, 0x40, 0x50, 0x40, 0x50, 0x40, 0x20, 0x4,
+ 0x0, 0x45, 0x8989, 0x8A8A, 0x7A7A, 0x7B7B, 0x8989, 0x7A7A,
+ 0x59595959, 0x5A5A5A5A, 0x22C2C2C, 0x24A4A4A, 0x2595959, 0x22C2C2C, 0x24A4A4A, 0x2595959,
+ 0x23B3B3B, 0x23B3B3B, (1U<<31) | 473, (1U<<31) | 549, (1U<<31) | 355, (1U<<31) | 419, 0x2C4A, 0x2C59,
+ 0x2C3B, 0x4A59, 0x2C4A, 0x2C59, 0x2C3B, 0x4A59, 0x3B4A, 0x3B59,
+ 0x3B4A, 0x3B59, 0x2C3B, 0x4A59, 0x3B4A, 0x4A4A4A4A, 0x594A4A59, 0x594A4A59,
+ 0x4A4A4A4A, 0x594A4A59, 0x594A4A59, 0x4A3B3B4A, 0x3B3B3B3B, 0x4A3B3B4A, 0x3B3B3B3B, 0x4A3B3B4A,
+ 0x4A3B3B4A, 0x2C2C2C2C, 0x2C2C2C, 0x22C2C, 0x4A4A4A, 0x24A4A, 0x595959, 0x25959,
+ 0x3B3B3B, 0x23B3B, 0x2C2C2C, 0x4A4A4A, 0x595959, 0x3B3B3B, 0x2C2C2C, 0x4A4A4A,
+ 0x595959, 0x3B3B3B, 0x442E0, 0x442E0, 0x442E0, 0x442E0, 0x442E0, 0x442E0,
+ 0x442E0, 0x442E0, 0x442E0, 0x442E0, 0x442E0, 0x442E0, 0x4440, 0x4,
+ 0x44, 0x2E2E, 0x44F0, 0x0, 0x4F0, 0x40, 0x4444, (1U<<31) | 2037,
+ 0x4F0, 0x4F0, 0x4F4, 0x4F0, 0x4, 0x4, 0x4, 0x44,
+ 0x44F, 0xCF4F, 0x4F4, 0x4F4, 0x4F4, 0x2E4F0, 0x2E4F0, 0x2E4F0,
+ 0x2E4F0, 0x2E4F0, 0x44F4, 0x4F4, 0x4F0, 0x4F0, 0x44F0, 0x44F0,
+ 0x44F4, 0x44F0, 0x4F4, 0x44F0, 0xCF4F0, 0x44F0, 0x2E4F0, 0x440,
+ 0x44F0, 0x44F0, 0xCF4F0, 0x40, 0x44F0, 0x2E4F0, 0x444, 0x0,
+ 0x4F0, 0x4F4, 0x4F4, 0x2E, 0x444, 0
+};
+
+static const unsigned char IIT_LongEncodingTable[] = {
+ /* 0 */ 15, 2, 15, 10, 15, 17, 10, 4, 4, 1, 1, 1, 1, 1, 0,
+ /* 15 */ 0, 15, 2, 15, 9, 15, 17, 4, 1, 1, 1, 1, 0,
+ /* 28 */ 4, 4, 4, 15, 1, 11, 4, 1, 1, 1, 0,
+ /* 39 */ 0, 15, 2, 10, 4, 4, 4, 1, 1, 0,
+ /* 49 */ 21, 15, 2, 1, 15, 2, 15, 2, 1, 0,
+ /* 59 */ 15, 2, 15, 2, 15, 2, 15, 2, 1, 0,
+ /* 69 */ 0, 15, 3, 33, 3, 31, 3, 1, 0,
+ /* 78 */ 0, 15, 3, 34, 3, 4, 31, 3, 1, 0,
+ /* 88 */ 0, 15, 3, 15, 12, 4, 31, 3, 1, 0,
+ /* 98 */ 0, 15, 4, 15, 12, 15, 17, 4, 1, 0,
+ /* 108 */ 21, 15, 1, 1, 15, 1, 15, 1, 0,
+ /* 117 */ 0, 19, 15, 1, 0,
+ /* 122 */ 2, 18, 1, 0,
+ /* 126 */ 15, 1, 25, 1, 0,
+ /* 131 */ 36, 1, 36, 1, 36, 1, 0,
+ /* 138 */ 37, 1, 37, 1, 37, 1, 0,
+ /* 145 */ 27, 2, 2, 0,
+ /* 149 */ 11, 3, 12, 2, 12, 2, 11, 3, 2, 0,
+ /* 159 */ 11, 3, 11, 3, 11, 3, 11, 3, 2, 0,
+ /* 169 */ 11, 3, 12, 2, 12, 2, 4, 11, 3, 2, 0,
+ /* 180 */ 11, 3, 10, 4, 10, 4, 11, 3, 2, 0,
+ /* 190 */ 12, 2, 12, 2, 4, 12, 2, 4, 2, 0,
+ /* 200 */ 10, 4, 10, 4, 10, 4, 10, 4, 4, 2, 0,
+ /* 211 */ 10, 7, 10, 7, 10, 7, 10, 4, 4, 2, 0,
+ /* 222 */ 11, 4, 11, 4, 11, 4, 11, 4, 4, 2, 0,
+ /* 233 */ 11, 7, 11, 7, 11, 7, 11, 4, 4, 2, 0,
+ /* 244 */ 9, 5, 9, 5, 9, 5, 9, 5, 4, 2, 0,
+ /* 255 */ 9, 8, 9, 8, 9, 8, 9, 5, 4, 2, 0,
+ /* 266 */ 10, 5, 10, 5, 10, 5, 10, 5, 4, 2, 0,
+ /* 277 */ 10, 8, 10, 8, 10, 8, 10, 5, 4, 2, 0,
+ /* 288 */ 11, 5, 11, 5, 11, 5, 11, 5, 4, 2, 0,
+ /* 299 */ 10, 4, 11, 3, 11, 3, 10, 4, 2, 0,
+ /* 309 */ 10, 4, 10, 4, 14, 2, 10, 4, 10, 4, 2, 0,
+ /* 321 */ 10, 4, 10, 4, 10, 4, 10, 4, 2, 0,
+ /* 331 */ 10, 4, 10, 4, 14, 2, 9, 5, 10, 4, 2, 0,
+ /* 343 */ 10, 4, 10, 4, 14, 2, 10, 5, 10, 4, 2, 0,
+ /* 355 */ 10, 7, 10, 7, 10, 7, 10, 4, 2, 0,
+ /* 365 */ 11, 4, 12, 3, 12, 3, 11, 4, 2, 0,
+ /* 375 */ 11, 4, 11, 4, 10, 4, 4, 11, 4, 2, 0,
+ /* 386 */ 11, 4, 11, 4, 11, 4, 4, 11, 4, 2, 0,
+ /* 397 */ 11, 4, 11, 4, 14, 2, 11, 4, 11, 4, 2, 0,
+ /* 409 */ 11, 4, 11, 4, 11, 4, 11, 4, 2, 0,
+ /* 419 */ 11, 7, 11, 7, 11, 7, 11, 4, 2, 0,
+ /* 429 */ 9, 5, 9, 5, 14, 2, 10, 4, 9, 5, 2, 0,
+ /* 441 */ 9, 5, 10, 4, 10, 4, 9, 5, 2, 0,
+ /* 451 */ 9, 5, 9, 5, 14, 2, 9, 5, 9, 5, 2, 0,
+ /* 463 */ 9, 5, 9, 5, 9, 5, 9, 5, 2, 0,
+ /* 473 */ 9, 8, 9, 8, 9, 8, 9, 5, 2, 0,
+ /* 483 */ 10, 5, 10, 5, 9, 5, 4, 10, 5, 2, 0,
+ /* 494 */ 10, 5, 10, 5, 10, 5, 4, 10, 5, 2, 0,
+ /* 505 */ 10, 5, 10, 5, 14, 2, 10, 4, 10, 5, 2, 0,
+ /* 517 */ 10, 5, 11, 4, 11, 4, 10, 5, 2, 0,
+ /* 527 */ 10, 5, 10, 5, 14, 2, 10, 5, 10, 5, 2, 0,
+ /* 539 */ 10, 5, 10, 5, 10, 5, 10, 5, 2, 0,
+ /* 549 */ 10, 8, 10, 8, 10, 8, 10, 5, 2, 0,
+ /* 559 */ 11, 5, 11, 5, 9, 5, 4, 11, 5, 2, 0,
+ /* 570 */ 11, 5, 11, 5, 10, 5, 4, 11, 5, 2, 0,
+ /* 581 */ 11, 5, 11, 5, 11, 5, 4, 11, 5, 2, 0,
+ /* 592 */ 11, 5, 12, 4, 12, 4, 11, 5, 2, 0,
+ /* 602 */ 11, 5, 11, 5, 11, 5, 11, 5, 2, 0,
+ /* 612 */ 10, 7, 10, 7, 10, 7, 4, 10, 7, 2, 0,
+ /* 623 */ 10, 7, 10, 7, 14, 2, 10, 4, 10, 7, 2, 0,
+ /* 635 */ 10, 7, 10, 7, 10, 4, 10, 7, 2, 0,
+ /* 645 */ 10, 7, 10, 7, 14, 2, 9, 5, 10, 7, 2, 0,
+ /* 657 */ 10, 7, 10, 7, 14, 2, 10, 5, 10, 7, 2, 0,
+ /* 669 */ 10, 7, 10, 4, 10, 7, 10, 7, 2, 0,
+ /* 679 */ 10, 7, 10, 7, 10, 7, 10, 7, 2, 0,
+ /* 689 */ 11, 7, 11, 7, 10, 7, 4, 11, 7, 2, 0,
+ /* 700 */ 11, 7, 11, 7, 11, 7, 4, 11, 7, 2, 0,
+ /* 711 */ 11, 7, 11, 7, 14, 2, 11, 4, 11, 7, 2, 0,
+ /* 723 */ 11, 7, 11, 7, 11, 4, 11, 7, 2, 0,
+ /* 733 */ 11, 7, 11, 4, 11, 7, 11, 7, 2, 0,
+ /* 743 */ 11, 7, 11, 7, 11, 7, 11, 7, 2, 0,
+ /* 753 */ 27, 7, 2, 0,
+ /* 757 */ 9, 8, 9, 8, 9, 8, 4, 9, 8, 2, 0,
+ /* 768 */ 9, 8, 9, 8, 14, 2, 10, 4, 9, 8, 2, 0,
+ /* 780 */ 9, 8, 9, 8, 14, 2, 9, 5, 9, 8, 2, 0,
+ /* 792 */ 9, 8, 9, 8, 9, 5, 9, 8, 2, 0,
+ /* 802 */ 9, 8, 9, 5, 9, 8, 9, 8, 2, 0,
+ /* 812 */ 9, 8, 9, 8, 9, 8, 9, 8, 2, 0,
+ /* 822 */ 10, 8, 10, 8, 9, 8, 4, 10, 8, 2, 0,
+ /* 833 */ 10, 8, 10, 8, 10, 8, 4, 10, 8, 2, 0,
+ /* 844 */ 10, 8, 10, 8, 14, 2, 10, 4, 10, 8, 2, 0,
+ /* 856 */ 10, 8, 10, 8, 14, 2, 10, 5, 10, 8, 2, 0,
+ /* 868 */ 10, 8, 10, 8, 10, 5, 10, 8, 2, 0,
+ /* 878 */ 10, 8, 10, 5, 10, 8, 10, 8, 2, 0,
+ /* 888 */ 10, 8, 10, 8, 10, 8, 10, 8, 2, 0,
+ /* 898 */ 11, 8, 11, 8, 9, 8, 4, 11, 8, 2, 0,
+ /* 909 */ 11, 8, 11, 8, 10, 8, 4, 11, 8, 2, 0,
+ /* 920 */ 11, 8, 11, 8, 11, 8, 4, 11, 8, 2, 0,
+ /* 931 */ 11, 8, 11, 8, 11, 5, 11, 8, 2, 0,
+ /* 941 */ 11, 8, 11, 5, 11, 8, 11, 8, 2, 0,
+ /* 951 */ 11, 2, 11, 2, 11, 2, 11, 2, 11, 2, 11, 2, 11, 2, 0,
+ /* 966 */ 21, 12, 2, 4, 12, 2, 12, 2, 0,
+ /* 975 */ 21, 12, 2, 4, 12, 2, 0,
+ /* 982 */ 18, 4, 14, 2, 14, 2, 14, 2, 0,
+ /* 991 */ 21, 4, 4, 14, 2, 0,
+ /* 997 */ 21, 5, 5, 14, 2, 0,
+ /* 1003 */ 0, 17, 17, 14, 2, 0,
+ /* 1009 */ 14, 2, 18, 14, 2, 0,
+ /* 1015 */ 16, 2, 16, 2, 16, 2, 0,
+ /* 1022 */ 11, 5, 16, 2, 16, 2, 0,
+ /* 1029 */ 5, 16, 2, 0,
+ /* 1033 */ 17, 17, 17, 2, 0,
+ /* 1038 */ 12, 2, 12, 2, 12, 2, 12, 2, 3, 0,
+ /* 1048 */ 12, 2, 11, 3, 11, 3, 12, 2, 3, 0,
+ /* 1058 */ 0, 5, 4, 4, 4, 3, 3, 3, 3, 0,
+ /* 1068 */ 12, 3, 13, 2, 13, 2, 12, 3, 3, 0,
+ /* 1078 */ 12, 3, 12, 3, 12, 3, 12, 3, 3, 0,
+ /* 1088 */ 12, 3, 13, 2, 13, 2, 4, 12, 3, 3, 0,
+ /* 1099 */ 12, 3, 11, 4, 11, 4, 12, 3, 3, 0,
+ /* 1109 */ 12, 4, 12, 4, 12, 4, 12, 4, 4, 3, 0,
+ /* 1120 */ 12, 4, 13, 3, 13, 3, 12, 4, 3, 0,
+ /* 1130 */ 12, 4, 12, 4, 10, 4, 4, 12, 4, 3, 0,
+ /* 1141 */ 12, 4, 12, 4, 11, 4, 4, 12, 4, 3, 0,
+ /* 1152 */ 12, 4, 12, 4, 12, 4, 4, 12, 4, 3, 0,
+ /* 1163 */ 12, 4, 12, 4, 12, 4, 12, 4, 3, 0,
+ /* 1173 */ 12, 7, 12, 7, 10, 7, 4, 12, 7, 3, 0,
+ /* 1184 */ 12, 7, 12, 7, 11, 7, 4, 12, 7, 3, 0,
+ /* 1195 */ 12, 7, 12, 7, 12, 7, 4, 12, 7, 3, 0,
+ /* 1206 */ 12, 7, 12, 7, 12, 4, 12, 7, 3, 0,
+ /* 1216 */ 12, 7, 12, 4, 12, 7, 12, 7, 3, 0,
+ /* 1226 */ 21, 12, 2, 4, 11, 3, 11, 3, 0,
+ /* 1235 */ 21, 11, 3, 4, 11, 3, 11, 3, 0,
+ /* 1244 */ 21, 11, 3, 4, 11, 3, 0,
+ /* 1251 */ 15, 3, 33, 3, 31, 3, 1, 15, 3, 0,
+ /* 1261 */ 15, 3, 34, 3, 4, 31, 3, 1, 15, 3, 0,
+ /* 1272 */ 15, 3, 15, 12, 4, 31, 3, 1, 15, 3, 0,
+ /* 1283 */ 15, 3, 15, 3, 12, 2, 12, 2, 12, 2, 12, 2, 15, 3, 0,
+ /* 1298 */ 15, 3, 15, 3, 12, 2, 12, 2, 12, 2, 15, 3, 0,
+ /* 1311 */ 15, 3, 15, 3, 12, 2, 12, 2, 15, 3, 0,
+ /* 1322 */ 15, 3, 25, 3, 0,
+ /* 1327 */ 15, 3, 25, 3, 25, 3, 0,
+ /* 1334 */ 15, 3, 26, 3, 0,
+ /* 1339 */ 15, 3, 26, 3, 26, 3, 0,
+ /* 1346 */ 15, 1, 25, 1, 4, 0,
+ /* 1352 */ 12, 4, 12, 4, 36, 1, 4, 0,
+ /* 1360 */ 13, 4, 13, 4, 37, 1, 4, 0,
+ /* 1368 */ 10, 7, 10, 7, 10, 7, 10, 4, 4, 2, 4, 0,
+ /* 1380 */ 9, 8, 9, 8, 9, 8, 9, 5, 4, 2, 4, 0,
+ /* 1392 */ 11, 8, 11, 8, 11, 8, 11, 5, 4, 2, 4, 0,
+ /* 1404 */ 10, 4, 10, 4, 14, 2, 10, 4, 2, 4, 0,
+ /* 1415 */ 9, 5, 9, 5, 14, 2, 10, 4, 2, 4, 0,
+ /* 1426 */ 10, 5, 10, 5, 14, 2, 10, 4, 2, 4, 0,
+ /* 1437 */ 10, 7, 10, 7, 14, 2, 10, 4, 2, 4, 0,
+ /* 1448 */ 9, 8, 9, 8, 14, 2, 10, 4, 2, 4, 0,
+ /* 1459 */ 10, 8, 10, 8, 14, 2, 10, 4, 2, 4, 0,
+ /* 1470 */ 11, 4, 11, 4, 14, 2, 11, 4, 2, 4, 0,
+ /* 1481 */ 11, 5, 11, 5, 14, 2, 11, 4, 2, 4, 0,
+ /* 1492 */ 11, 7, 11, 7, 14, 2, 11, 4, 2, 4, 0,
+ /* 1503 */ 11, 8, 11, 8, 14, 2, 11, 4, 2, 4, 0,
+ /* 1514 */ 10, 4, 10, 4, 14, 2, 9, 5, 2, 4, 0,
+ /* 1525 */ 9, 5, 9, 5, 14, 2, 9, 5, 2, 4, 0,
+ /* 1536 */ 10, 7, 10, 7, 14, 2, 9, 5, 2, 4, 0,
+ /* 1547 */ 9, 8, 9, 8, 14, 2, 9, 5, 2, 4, 0,
+ /* 1558 */ 10, 4, 10, 4, 14, 2, 10, 5, 2, 4, 0,
+ /* 1569 */ 10, 5, 10, 5, 14, 2, 10, 5, 2, 4, 0,
+ /* 1580 */ 10, 7, 10, 7, 14, 2, 10, 5, 2, 4, 0,
+ /* 1591 */ 10, 8, 10, 8, 14, 2, 10, 5, 2, 4, 0,
+ /* 1602 */ 11, 4, 11, 4, 14, 2, 11, 5, 2, 4, 0,
+ /* 1613 */ 11, 5, 11, 5, 14, 2, 11, 5, 2, 4, 0,
+ /* 1624 */ 11, 7, 11, 7, 14, 2, 11, 5, 2, 4, 0,
+ /* 1635 */ 11, 8, 11, 8, 14, 2, 11, 5, 2, 4, 0,
+ /* 1646 */ 10, 7, 10, 7, 10, 7, 4, 10, 7, 2, 4, 0,
+ /* 1658 */ 10, 7, 10, 7, 10, 7, 10, 7, 2, 4, 0,
+ /* 1669 */ 10, 7, 10, 7, 9, 8, 10, 7, 2, 4, 0,
+ /* 1680 */ 9, 8, 9, 8, 9, 8, 4, 9, 8, 2, 4, 0,
+ /* 1692 */ 9, 8, 9, 8, 10, 7, 9, 8, 2, 4, 0,
+ /* 1703 */ 9, 8, 9, 8, 9, 8, 9, 8, 2, 4, 0,
+ /* 1714 */ 11, 8, 11, 8, 11, 8, 4, 11, 8, 2, 4, 0,
+ /* 1726 */ 11, 8, 11, 8, 11, 8, 11, 8, 2, 4, 0,
+ /* 1737 */ 12, 2, 12, 2, 12, 2, 12, 2, 4, 0,
+ /* 1747 */ 21, 12, 2, 4, 12, 2, 12, 2, 12, 2, 4, 0,
+ /* 1759 */ 21, 12, 2, 4, 12, 2, 12, 2, 4, 0,
+ /* 1769 */ 13, 2, 13, 2, 13, 2, 13, 2, 4, 0,
+ /* 1779 */ 13, 2, 12, 3, 12, 3, 13, 2, 4, 0,
+ /* 1789 */ 15, 1, 15, 1, 14, 2, 14, 2, 4, 0,
+ /* 1799 */ 15, 4, 15, 4, 14, 2, 14, 2, 4, 0,
+ /* 1809 */ 12, 7, 12, 7, 12, 7, 12, 4, 4, 3, 4, 0,
+ /* 1821 */ 12, 4, 12, 4, 14, 2, 12, 4, 3, 4, 0,
+ /* 1832 */ 12, 7, 12, 7, 14, 2, 12, 4, 3, 4, 0,
+ /* 1843 */ 12, 7, 12, 7, 12, 7, 4, 12, 7, 3, 4, 0,
+ /* 1855 */ 12, 7, 12, 7, 12, 7, 12, 7, 3, 4, 0,
+ /* 1866 */ 11, 3, 11, 3, 11, 3, 11, 3, 4, 0,
+ /* 1876 */ 21, 11, 3, 4, 11, 3, 11, 3, 11, 3, 4, 0,
+ /* 1888 */ 21, 11, 3, 4, 11, 3, 11, 3, 4, 0,
+ /* 1898 */ 13, 3, 16, 2, 16, 2, 13, 3, 4, 0,
+ /* 1908 */ 13, 3, 13, 3, 13, 3, 13, 3, 4, 0,
+ /* 1918 */ 13, 3, 16, 2, 16, 2, 4, 13, 3, 4, 0,
+ /* 1929 */ 13, 3, 12, 4, 12, 4, 13, 3, 4, 0,
+ /* 1939 */ 21, 3, 4, 0,
+ /* 1943 */ 15, 3, 26, 3, 4, 0,
+ /* 1949 */ 10, 7, 10, 7, 10, 7, 10, 7, 2, 4, 4, 0,
+ /* 1961 */ 9, 8, 9, 8, 9, 8, 9, 8, 2, 4, 4, 0,
+ /* 1973 */ 23, 15, 3, 15, 3, 15, 3, 15, 3, 15, 12, 15, 3, 15, 3, 15, 3, 15, 3, 4, 4, 0,
+ /* 1995 */ 22, 15, 3, 15, 3, 15, 3, 15, 12, 15, 3, 15, 3, 15, 3, 4, 4, 0,
+ /* 2013 */ 21, 15, 3, 15, 3, 15, 12, 15, 3, 15, 3, 4, 4, 0,
+ /* 2027 */ 0, 5, 4, 4, 4, 4, 4, 4, 4, 0,
+ /* 2037 */ 21, 4, 4, 4, 4, 4, 0,
+ /* 2044 */ 23, 3, 3, 3, 3, 5, 4, 4, 4, 0,
+ /* 2054 */ 21, 3, 3, 5, 4, 4, 4, 0,
+ /* 2062 */ 23, 4, 4, 4, 4, 5, 4, 4, 4, 0,
+ /* 2072 */ 21, 4, 4, 5, 4, 4, 4, 0,
+ /* 2080 */ 23, 4, 4, 4, 4, 5, 5, 4, 4, 4, 0,
+ /* 2091 */ 21, 5, 5, 5, 4, 4, 4, 0,
+ /* 2099 */ 23, 7, 7, 7, 7, 5, 5, 4, 4, 4, 0,
+ /* 2110 */ 23, 7, 7, 7, 7, 5, 4, 4, 4, 0,
+ /* 2120 */ 16, 4, 16, 4, 16, 4, 4, 4, 0,
+ /* 2129 */ 23, 3, 3, 3, 3, 5, 4, 4, 0,
+ /* 2138 */ 21, 3, 3, 5, 4, 4, 0,
+ /* 2145 */ 23, 4, 4, 4, 4, 5, 4, 4, 0,
+ /* 2154 */ 21, 4, 4, 5, 4, 4, 0,
+ /* 2161 */ 23, 4, 4, 4, 4, 5, 5, 4, 4, 0,
+ /* 2171 */ 21, 5, 5, 5, 4, 4, 0,
+ /* 2178 */ 23, 7, 7, 7, 7, 5, 5, 4, 4, 0,
+ /* 2188 */ 23, 7, 7, 7, 7, 5, 4, 4, 0,
+ /* 2197 */ 0, 14, 2, 2, 10, 4, 10, 4, 4, 0,
+ /* 2207 */ 21, 10, 4, 4, 10, 4, 10, 4, 4, 0,
+ /* 2217 */ 21, 10, 4, 4, 10, 4, 10, 4, 10, 4, 4, 0,
+ /* 2229 */ 10, 4, 10, 4, 10, 4, 10, 4, 4, 0,
+ /* 2239 */ 0, 14, 2, 2, 9, 5, 10, 4, 4, 0,
+ /* 2249 */ 0, 14, 2, 2, 10, 5, 10, 4, 4, 0,
+ /* 2259 */ 0, 14, 2, 2, 11, 4, 11, 4, 4, 0,
+ /* 2269 */ 0, 14, 2, 2, 11, 5, 11, 4, 4, 0,
+ /* 2279 */ 0, 15, 4, 15, 11, 15, 11, 4, 4, 0,
+ /* 2289 */ 0, 15, 4, 15, 11, 15, 11, 15, 11, 4, 4, 0,
+ /* 2301 */ 0, 15, 4, 15, 11, 15, 11, 15, 11, 15, 11, 4, 4, 0,
+ /* 2315 */ 36, 1, 36, 1, 12, 4, 4, 0,
+ /* 2323 */ 0, 14, 2, 3, 12, 4, 12, 4, 4, 0,
+ /* 2333 */ 12, 4, 12, 4, 12, 4, 12, 4, 4, 0,
+ /* 2343 */ 13, 4, 13, 4, 12, 4, 12, 4, 4, 0,
+ /* 2353 */ 37, 1, 37, 1, 13, 4, 4, 0,
+ /* 2361 */ 13, 4, 13, 4, 13, 4, 13, 4, 4, 0,
+ /* 2371 */ 16, 4, 16, 4, 13, 4, 13, 4, 4, 0,
+ /* 2381 */ 16, 4, 16, 4, 13, 4, 4, 0,
+ /* 2389 */ 13, 4, 13, 4, 16, 4, 4, 0,
+ /* 2397 */ 16, 4, 16, 4, 16, 4, 4, 0,
+ /* 2405 */ 17, 17, 4, 4, 0,
+ /* 2410 */ 15, 0, 18, 4, 4, 0,
+ /* 2416 */ 21, 4, 4, 0,
+ /* 2420 */ 23, 3, 3, 3, 3, 5, 4, 0,
+ /* 2428 */ 21, 3, 3, 5, 4, 0,
+ /* 2434 */ 23, 4, 4, 4, 4, 5, 4, 0,
+ /* 2442 */ 21, 4, 4, 5, 4, 0,
+ /* 2448 */ 16, 4, 16, 4, 16, 4, 5, 4, 0,
+ /* 2457 */ 23, 4, 4, 4, 4, 5, 5, 4, 0,
+ /* 2466 */ 21, 5, 5, 5, 4, 0,
+ /* 2472 */ 23, 7, 7, 7, 7, 5, 5, 4, 0,
+ /* 2481 */ 23, 7, 7, 7, 7, 5, 4, 0,
+ /* 2489 */ 0, 14, 2, 2, 10, 4, 9, 5, 4, 0,
+ /* 2499 */ 0, 14, 2, 2, 9, 5, 9, 5, 4, 0,
+ /* 2509 */ 9, 5, 9, 5, 9, 5, 9, 5, 4, 0,
+ /* 2519 */ 0, 14, 2, 2, 10, 4, 10, 5, 4, 0,
+ /* 2529 */ 0, 14, 2, 2, 10, 5, 10, 5, 4, 0,
+ /* 2539 */ 0, 14, 2, 2, 11, 4, 11, 5, 4, 0,
+ /* 2549 */ 0, 14, 2, 2, 11, 5, 11, 5, 4, 0,
+ /* 2559 */ 21, 5, 4, 0,
+ /* 2563 */ 0, 14, 2, 2, 10, 4, 10, 7, 4, 0,
+ /* 2573 */ 0, 14, 2, 2, 9, 5, 10, 7, 4, 0,
+ /* 2583 */ 0, 14, 2, 2, 10, 5, 10, 7, 4, 0,
+ /* 2593 */ 0, 14, 2, 2, 11, 4, 11, 7, 4, 0,
+ /* 2603 */ 0, 14, 2, 2, 11, 5, 11, 7, 4, 0,
+ /* 2613 */ 0, 14, 2, 3, 12, 4, 12, 7, 4, 0,
+ /* 2623 */ 21, 9, 5, 4, 9, 8, 4, 0,
+ /* 2631 */ 0, 14, 2, 2, 10, 4, 9, 8, 4, 0,
+ /* 2641 */ 0, 14, 2, 2, 9, 5, 9, 8, 4, 0,
+ /* 2651 */ 0, 14, 2, 2, 10, 4, 10, 8, 4, 0,
+ /* 2661 */ 0, 14, 2, 2, 10, 5, 10, 8, 4, 0,
+ /* 2671 */ 0, 14, 2, 2, 11, 4, 11, 8, 4, 0,
+ /* 2681 */ 0, 14, 2, 2, 11, 5, 11, 8, 4, 0,
+ /* 2691 */ 21, 10, 4, 4, 10, 4, 0,
+ /* 2698 */ 21, 11, 3, 4, 10, 4, 10, 4, 0,
+ /* 2707 */ 21, 10, 4, 4, 10, 4, 10, 4, 0,
+ /* 2716 */ 0, 15, 4, 15, 11, 15, 11, 15, 11, 4, 0,
+ /* 2727 */ 0, 15, 4, 15, 11, 15, 11, 15, 11, 15, 11, 4, 0,
+ /* 2740 */ 36, 1, 36, 1, 12, 4, 12, 4, 0,
+ /* 2749 */ 12, 4, 36, 1, 12, 4, 12, 4, 0,
+ /* 2758 */ 13, 4, 36, 1, 12, 4, 12, 4, 0,
+ /* 2767 */ 23, 15, 3, 15, 3, 15, 3, 15, 3, 15, 12, 4, 0,
+ /* 2780 */ 22, 15, 3, 15, 3, 15, 3, 15, 12, 4, 0,
+ /* 2791 */ 21, 15, 3, 15, 3, 15, 12, 4, 0,
+ /* 2800 */ 37, 1, 37, 1, 13, 4, 13, 4, 0,
+ /* 2809 */ 13, 4, 37, 1, 13, 4, 13, 4, 0,
+ /* 2818 */ 16, 4, 37, 1, 13, 4, 13, 4, 0,
+ /* 2827 */ 16, 4, 16, 4, 13, 4, 13, 4, 0,
+ /* 2836 */ 16, 4, 16, 4, 13, 4, 0,
+ /* 2843 */ 0, 14, 20, 5, 15, 4, 0,
+ /* 2850 */ 5, 19, 15, 4, 0,
+ /* 2855 */ 13, 4, 16, 4, 0,
+ /* 2860 */ 16, 4, 16, 4, 16, 4, 0,
+ /* 2867 */ 4, 17, 4, 0,
+ /* 2871 */ 17, 17, 4, 0,
+ /* 2875 */ 16, 2, 2, 16, 2, 5, 0,
+ /* 2882 */ 16, 2, 16, 2, 16, 2, 16, 2, 5, 0,
+ /* 2892 */ 5, 16, 2, 16, 2, 5, 0,
+ /* 2899 */ 16, 2, 13, 3, 13, 3, 16, 2, 5, 0,
+ /* 2909 */ 5, 16, 2, 16, 2, 4, 5, 0,
+ /* 2917 */ 21, 10, 4, 4, 9, 5, 9, 5, 0,
+ /* 2926 */ 21, 9, 5, 4, 9, 5, 9, 5, 0,
+ /* 2935 */ 23, 4, 4, 4, 4, 5, 4, 7, 0,
+ /* 2944 */ 23, 4, 4, 4, 4, 5, 5, 4, 7, 0,
+ /* 2954 */ 23, 7, 7, 7, 7, 5, 5, 4, 7, 0,
+ /* 2964 */ 23, 7, 7, 7, 7, 5, 4, 7, 0,
+ /* 2973 */ 23, 4, 4, 4, 4, 5, 7, 0,
+ /* 2981 */ 23, 4, 4, 4, 4, 5, 5, 7, 0,
+ /* 2990 */ 23, 7, 7, 7, 7, 5, 5, 7, 0,
+ /* 2999 */ 23, 7, 7, 7, 7, 5, 7, 0,
+ /* 3007 */ 23, 4, 4, 4, 4, 5, 4, 7, 7, 0,
+ /* 3017 */ 23, 4, 4, 4, 4, 5, 5, 4, 7, 7, 0,
+ /* 3028 */ 23, 7, 7, 7, 7, 5, 5, 4, 7, 7, 0,
+ /* 3039 */ 23, 7, 7, 7, 7, 5, 4, 7, 7, 0,
+ /* 3049 */ 23, 4, 4, 4, 4, 5, 7, 7, 0,
+ /* 3058 */ 23, 4, 4, 4, 4, 5, 5, 7, 7, 0,
+ /* 3068 */ 23, 7, 7, 7, 7, 5, 5, 7, 7, 0,
+ /* 3078 */ 23, 7, 7, 7, 7, 5, 7, 7, 0,
+ /* 3087 */ 23, 4, 4, 4, 4, 5, 4, 7, 7, 7, 0,
+ /* 3098 */ 23, 4, 4, 4, 4, 5, 5, 4, 7, 7, 7, 0,
+ /* 3110 */ 23, 7, 7, 7, 7, 5, 5, 4, 7, 7, 7, 0,
+ /* 3122 */ 23, 7, 7, 7, 7, 5, 4, 7, 7, 7, 0,
+ /* 3133 */ 23, 4, 4, 4, 4, 5, 7, 7, 7, 0,
+ /* 3143 */ 23, 4, 4, 4, 4, 5, 5, 7, 7, 7, 0,
+ /* 3154 */ 23, 7, 7, 7, 7, 5, 5, 7, 7, 7, 0,
+ /* 3165 */ 23, 7, 7, 7, 7, 5, 7, 7, 7, 0,
+ /* 3175 */ 23, 4, 4, 4, 4, 5, 4, 7, 7, 7, 7, 0,
+ /* 3187 */ 23, 4, 4, 4, 4, 5, 5, 4, 7, 7, 7, 7, 0,
+ /* 3200 */ 23, 7, 7, 7, 7, 5, 5, 4, 7, 7, 7, 7, 0,
+ /* 3213 */ 23, 7, 7, 7, 7, 5, 4, 7, 7, 7, 7, 0,
+ /* 3225 */ 23, 4, 4, 4, 4, 5, 7, 7, 7, 7, 0,
+ /* 3236 */ 23, 4, 4, 4, 4, 5, 5, 7, 7, 7, 7, 0,
+ /* 3248 */ 23, 7, 7, 7, 7, 5, 5, 7, 7, 7, 7, 0,
+ /* 3260 */ 23, 7, 7, 7, 7, 5, 7, 7, 7, 7, 0,
+ /* 3271 */ 23, 4, 4, 4, 4, 5, 4, 7, 7, 7, 7, 7, 7, 0,
+ /* 3285 */ 23, 4, 4, 4, 4, 5, 5, 4, 7, 7, 7, 7, 7, 7, 0,
+ /* 3300 */ 23, 7, 7, 7, 7, 5, 5, 4, 7, 7, 7, 7, 7, 7, 0,
+ /* 3315 */ 23, 7, 7, 7, 7, 5, 4, 7, 7, 7, 7, 7, 7, 0,
+ /* 3329 */ 23, 4, 4, 4, 4, 5, 7, 7, 7, 7, 7, 7, 0,
+ /* 3342 */ 23, 4, 4, 4, 4, 5, 5, 7, 7, 7, 7, 7, 7, 0,
+ /* 3356 */ 23, 7, 7, 7, 7, 5, 5, 7, 7, 7, 7, 7, 7, 0,
+ /* 3370 */ 23, 7, 7, 7, 7, 5, 7, 7, 7, 7, 7, 7, 0,
+ /* 3383 */ 23, 4, 4, 4, 4, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0,
+ /* 3399 */ 23, 4, 4, 4, 4, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0,
+ /* 3416 */ 23, 7, 7, 7, 7, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0,
+ /* 3433 */ 23, 7, 7, 7, 7, 5, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0,
+ /* 3449 */ 17, 10, 7, 0,
+ /* 3453 */ 21, 9, 5, 4, 9, 8, 9, 8, 0,
+ /* 3462 */ 9, 8, 9, 8, 9, 8, 9, 8, 0,
+ /* 3471 */ 17, 9, 8, 0,
+ /* 3475 */ 10, 8, 10, 8, 10, 8, 10, 8, 0,
+ /* 3484 */ 0, 15, 3, 15, 3, 15, 3, 15, 12, 0,
+ /* 3494 */ 0, 15, 3, 15, 3, 15, 3, 15, 3, 15, 12, 0,
+ /* 3506 */ 23, 15, 3, 15, 3, 15, 3, 15, 3, 15, 12, 0,
+ /* 3518 */ 22, 15, 3, 15, 3, 15, 3, 15, 12, 0,
+ /* 3528 */ 21, 15, 3, 15, 3, 15, 12, 0,
+ /* 3536 */ 0, 15, 3, 15, 3, 5, 15, 12, 0,
+ /* 3545 */ 0, 15, 3, 15, 3, 15, 3, 5, 15, 12, 0,
+ /* 3556 */ 0, 15, 3, 15, 3, 15, 3, 15, 3, 5, 15, 12, 0,
+ /* 3569 */ 23, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 5, 15, 12, 0,
+ /* 3590 */ 22, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 5, 15, 12, 0,
+ /* 3607 */ 21, 15, 3, 15, 3, 15, 3, 15, 3, 5, 15, 12, 0,
+ /* 3620 */ 4, 17, 0,
+ /* 3623 */ 10, 7, 10, 7, 17, 0,
+ /* 3629 */ 9, 8, 17, 0,
+ /* 3633 */ 0, 14, 17, 17, 0,
+ /* 3638 */ 17, 17, 17, 0,
+ /* 3642 */ 15, 0, 18, 0,
+ /* 3646 */ 1, 18, 0,
+ /* 3649 */ 15, 4, 18, 0,
+ /* 3653 */ 15, 1, 19, 0,
+ /* 3657 */ 1, 14, 2, 19, 0,
+ /* 3662 */ 21, 14, 2, 1, 14, 2, 4, 19, 0,
+ /* 3671 */ 0, 19, 5, 19, 19, 0,
+ /* 3677 */ 0, 19, 19, 19, 0,
+ /* 3682 */ 15, 0, 29, 0,
+ /* 3686 */ 0, 1, 29, 0,
+ /* 3690 */ 0, 5, 4, 14, 2, 4, 29, 0,
+ /* 3698 */ 5, 5, 4, 14, 2, 4, 29, 0,
+ /* 3706 */ 18, 5, 4, 15, 4, 4, 4, 29, 0,
+ /* 3715 */ 0, 5, 4, 29, 0,
+ /* 3720 */ 28, 35, 28, 35, 28, 35, 28, 35, 0,
+ 255
+};
+
+#endif
+
+// Add parameter attributes that are not common to all intrinsics.
+#ifdef GET_INTRINSIC_ATTRIBUTES
+AttributeSet Intrinsic::getAttributes(LLVMContext &C, ID id) {
+ static const uint8_t IntrinsicsToAttributesMap[] = {
+ 1, // llvm.addressofreturnaddress
+ 2, // llvm.adjust.trampoline
+ 3, // llvm.annotation
+ 3, // llvm.assume
+ 1, // llvm.bitreverse
+ 1, // llvm.bswap
+ 1, // llvm.canonicalize
+ 1, // llvm.ceil
+ 3, // llvm.clear_cache
+ 1, // llvm.convert.from.fp16
+ 1, // llvm.convert.to.fp16
+ 3, // llvm.convertff
+ 3, // llvm.convertfsi
+ 3, // llvm.convertfui
+ 3, // llvm.convertsif
+ 3, // llvm.convertss
+ 3, // llvm.convertsu
+ 3, // llvm.convertuif
+ 3, // llvm.convertus
+ 3, // llvm.convertuu
+ 1, // llvm.copysign
+ 3, // llvm.coro.alloc
+ 4, // llvm.coro.begin
+ 5, // llvm.coro.destroy
+ 6, // llvm.coro.done
+ 3, // llvm.coro.end
+ 1, // llvm.coro.frame
+ 7, // llvm.coro.free
+ 8, // llvm.coro.id
+ 9, // llvm.coro.param
+ 10, // llvm.coro.promise
+ 5, // llvm.coro.resume
+ 3, // llvm.coro.save
+ 1, // llvm.coro.size
+ 11, // llvm.coro.subfn.addr
+ 3, // llvm.coro.suspend
+ 1, // llvm.cos
+ 1, // llvm.ctlz
+ 1, // llvm.ctpop
+ 1, // llvm.cttz
+ 1, // llvm.dbg.declare
+ 1, // llvm.dbg.value
+ 3, // llvm.debugtrap
+ 1, // llvm.donothing
+ 3, // llvm.eh.dwarf.cfa
+ 1, // llvm.eh.exceptioncode
+ 1, // llvm.eh.exceptionpointer
+ 3, // llvm.eh.return.i32
+ 3, // llvm.eh.return.i64
+ 1, // llvm.eh.sjlj.callsite
+ 3, // llvm.eh.sjlj.functioncontext
+ 12, // llvm.eh.sjlj.longjmp
+ 1, // llvm.eh.sjlj.lsda
+ 3, // llvm.eh.sjlj.setjmp
+ 3, // llvm.eh.sjlj.setup.dispatch
+ 1, // llvm.eh.typeid.for
+ 3, // llvm.eh.unwind.init
+ 1, // llvm.exp
+ 1, // llvm.exp2
+ 1, // llvm.expect
+ 5, // llvm.experimental.deoptimize
+ 13, // llvm.experimental.gc.relocate
+ 13, // llvm.experimental.gc.result
+ 5, // llvm.experimental.gc.statepoint
+ 5, // llvm.experimental.guard
+ 5, // llvm.experimental.patchpoint.i64
+ 5, // llvm.experimental.patchpoint.void
+ 5, // llvm.experimental.stackmap
+ 1, // llvm.fabs
+ 1, // llvm.floor
+ 3, // llvm.flt.rounds
+ 1, // llvm.fma
+ 1, // llvm.fmuladd
+ 1, // llvm.frameaddress
+ 2, // llvm.gcread
+ 3, // llvm.gcroot
+ 14, // llvm.gcwrite
+ 3, // llvm.get.dynamic.area.offset
+ 15, // llvm.init.trampoline
+ 3, // llvm.instrprof.increment
+ 3, // llvm.instrprof.increment.step
+ 3, // llvm.instrprof.value.profile
+ 16, // llvm.invariant.end
+ 1, // llvm.invariant.group.barrier
+ 17, // llvm.invariant.start
+ 17, // llvm.lifetime.end
+ 17, // llvm.lifetime.start
+ 2, // llvm.load.relative
+ 1, // llvm.localaddress
+ 3, // llvm.localescape
+ 1, // llvm.localrecover
+ 1, // llvm.log
+ 1, // llvm.log10
+ 1, // llvm.log2
+ 12, // llvm.longjmp
+ 18, // llvm.masked.compressstore
+ 13, // llvm.masked.expandload
+ 13, // llvm.masked.gather
+ 2, // llvm.masked.load
+ 3, // llvm.masked.scatter
+ 18, // llvm.masked.store
+ 1, // llvm.maxnum
+ 19, // llvm.memcpy
+ 20, // llvm.memmove
+ 21, // llvm.memset
+ 1, // llvm.minnum
+ 1, // llvm.nearbyint
+ 1, // llvm.objectsize
+ 3, // llvm.pcmarker
+ 1, // llvm.pow
+ 1, // llvm.powi
+ 15, // llvm.prefetch
+ 3, // llvm.ptr.annotation
+ 13, // llvm.read_register
+ 3, // llvm.readcyclecounter
+ 1, // llvm.returnaddress
+ 1, // llvm.rint
+ 1, // llvm.round
+ 1, // llvm.sadd.with.overflow
+ 3, // llvm.setjmp
+ 12, // llvm.siglongjmp
+ 3, // llvm.sigsetjmp
+ 1, // llvm.sin
+ 1, // llvm.smul.with.overflow
+ 1, // llvm.sqrt
+ 1, // llvm.ssub.with.overflow
+ 3, // llvm.stackguard
+ 3, // llvm.stackprotector
+ 3, // llvm.stackrestore
+ 3, // llvm.stacksave
+ 1, // llvm.thread.pointer
+ 12, // llvm.trap
+ 1, // llvm.trunc
+ 1, // llvm.type.checked.load
+ 1, // llvm.type.test
+ 1, // llvm.uadd.with.overflow
+ 1, // llvm.umul.with.overflow
+ 1, // llvm.usub.with.overflow
+ 3, // llvm.va_copy
+ 3, // llvm.va_end
+ 3, // llvm.va_start
+ 3, // llvm.var.annotation
+ 3, // llvm.write_register
+ 3, // llvm.aarch64.clrex
+ 1, // llvm.aarch64.crc32b
+ 1, // llvm.aarch64.crc32cb
+ 1, // llvm.aarch64.crc32ch
+ 1, // llvm.aarch64.crc32cw
+ 1, // llvm.aarch64.crc32cx
+ 1, // llvm.aarch64.crc32h
+ 1, // llvm.aarch64.crc32w
+ 1, // llvm.aarch64.crc32x
+ 1, // llvm.aarch64.crypto.aesd
+ 1, // llvm.aarch64.crypto.aese
+ 1, // llvm.aarch64.crypto.aesimc
+ 1, // llvm.aarch64.crypto.aesmc
+ 1, // llvm.aarch64.crypto.sha1c
+ 1, // llvm.aarch64.crypto.sha1h
+ 1, // llvm.aarch64.crypto.sha1m
+ 1, // llvm.aarch64.crypto.sha1p
+ 1, // llvm.aarch64.crypto.sha1su0
+ 1, // llvm.aarch64.crypto.sha1su1
+ 1, // llvm.aarch64.crypto.sha256h
+ 1, // llvm.aarch64.crypto.sha256h2
+ 1, // llvm.aarch64.crypto.sha256su0
+ 1, // llvm.aarch64.crypto.sha256su1
+ 3, // llvm.aarch64.dmb
+ 3, // llvm.aarch64.dsb
+ 3, // llvm.aarch64.hint
+ 3, // llvm.aarch64.isb
+ 3, // llvm.aarch64.ldaxp
+ 3, // llvm.aarch64.ldaxr
+ 3, // llvm.aarch64.ldxp
+ 3, // llvm.aarch64.ldxr
+ 1, // llvm.aarch64.neon.abs
+ 1, // llvm.aarch64.neon.addhn
+ 1, // llvm.aarch64.neon.addp
+ 1, // llvm.aarch64.neon.cls
+ 1, // llvm.aarch64.neon.fabd
+ 1, // llvm.aarch64.neon.facge
+ 1, // llvm.aarch64.neon.facgt
+ 1, // llvm.aarch64.neon.faddv
+ 1, // llvm.aarch64.neon.fcvtas
+ 1, // llvm.aarch64.neon.fcvtau
+ 1, // llvm.aarch64.neon.fcvtms
+ 1, // llvm.aarch64.neon.fcvtmu
+ 1, // llvm.aarch64.neon.fcvtns
+ 1, // llvm.aarch64.neon.fcvtnu
+ 1, // llvm.aarch64.neon.fcvtps
+ 1, // llvm.aarch64.neon.fcvtpu
+ 1, // llvm.aarch64.neon.fcvtxn
+ 1, // llvm.aarch64.neon.fcvtzs
+ 1, // llvm.aarch64.neon.fcvtzu
+ 1, // llvm.aarch64.neon.fmax
+ 1, // llvm.aarch64.neon.fmaxnm
+ 1, // llvm.aarch64.neon.fmaxnmp
+ 1, // llvm.aarch64.neon.fmaxnmv
+ 1, // llvm.aarch64.neon.fmaxp
+ 1, // llvm.aarch64.neon.fmaxv
+ 1, // llvm.aarch64.neon.fmin
+ 1, // llvm.aarch64.neon.fminnm
+ 1, // llvm.aarch64.neon.fminnmp
+ 1, // llvm.aarch64.neon.fminnmv
+ 1, // llvm.aarch64.neon.fminp
+ 1, // llvm.aarch64.neon.fminv
+ 1, // llvm.aarch64.neon.fmulx
+ 1, // llvm.aarch64.neon.frecpe
+ 1, // llvm.aarch64.neon.frecps
+ 1, // llvm.aarch64.neon.frecpx
+ 1, // llvm.aarch64.neon.frintn
+ 1, // llvm.aarch64.neon.frsqrte
+ 1, // llvm.aarch64.neon.frsqrts
+ 2, // llvm.aarch64.neon.ld1x2
+ 2, // llvm.aarch64.neon.ld1x3
+ 2, // llvm.aarch64.neon.ld1x4
+ 2, // llvm.aarch64.neon.ld2
+ 2, // llvm.aarch64.neon.ld2lane
+ 2, // llvm.aarch64.neon.ld2r
+ 2, // llvm.aarch64.neon.ld3
+ 2, // llvm.aarch64.neon.ld3lane
+ 2, // llvm.aarch64.neon.ld3r
+ 2, // llvm.aarch64.neon.ld4
+ 2, // llvm.aarch64.neon.ld4lane
+ 2, // llvm.aarch64.neon.ld4r
+ 1, // llvm.aarch64.neon.pmul
+ 1, // llvm.aarch64.neon.pmull
+ 1, // llvm.aarch64.neon.pmull64
+ 1, // llvm.aarch64.neon.raddhn
+ 1, // llvm.aarch64.neon.rbit
+ 1, // llvm.aarch64.neon.rshrn
+ 1, // llvm.aarch64.neon.rsubhn
+ 1, // llvm.aarch64.neon.sabd
+ 1, // llvm.aarch64.neon.saddlp
+ 1, // llvm.aarch64.neon.saddlv
+ 1, // llvm.aarch64.neon.saddv
+ 1, // llvm.aarch64.neon.scalar.sqxtn
+ 1, // llvm.aarch64.neon.scalar.sqxtun
+ 1, // llvm.aarch64.neon.scalar.uqxtn
+ 1, // llvm.aarch64.neon.shadd
+ 1, // llvm.aarch64.neon.shll
+ 1, // llvm.aarch64.neon.shsub
+ 1, // llvm.aarch64.neon.smax
+ 1, // llvm.aarch64.neon.smaxp
+ 1, // llvm.aarch64.neon.smaxv
+ 1, // llvm.aarch64.neon.smin
+ 1, // llvm.aarch64.neon.sminp
+ 1, // llvm.aarch64.neon.sminv
+ 1, // llvm.aarch64.neon.smull
+ 1, // llvm.aarch64.neon.sqabs
+ 1, // llvm.aarch64.neon.sqadd
+ 1, // llvm.aarch64.neon.sqdmulh
+ 1, // llvm.aarch64.neon.sqdmull
+ 1, // llvm.aarch64.neon.sqdmulls.scalar
+ 1, // llvm.aarch64.neon.sqneg
+ 1, // llvm.aarch64.neon.sqrdmulh
+ 1, // llvm.aarch64.neon.sqrshl
+ 1, // llvm.aarch64.neon.sqrshrn
+ 1, // llvm.aarch64.neon.sqrshrun
+ 1, // llvm.aarch64.neon.sqshl
+ 1, // llvm.aarch64.neon.sqshlu
+ 1, // llvm.aarch64.neon.sqshrn
+ 1, // llvm.aarch64.neon.sqshrun
+ 1, // llvm.aarch64.neon.sqsub
+ 1, // llvm.aarch64.neon.sqxtn
+ 1, // llvm.aarch64.neon.sqxtun
+ 1, // llvm.aarch64.neon.srhadd
+ 1, // llvm.aarch64.neon.srshl
+ 1, // llvm.aarch64.neon.sshl
+ 1, // llvm.aarch64.neon.sshll
+ 16, // llvm.aarch64.neon.st1x2
+ 22, // llvm.aarch64.neon.st1x3
+ 23, // llvm.aarch64.neon.st1x4
+ 16, // llvm.aarch64.neon.st2
+ 22, // llvm.aarch64.neon.st2lane
+ 22, // llvm.aarch64.neon.st3
+ 23, // llvm.aarch64.neon.st3lane
+ 23, // llvm.aarch64.neon.st4
+ 24, // llvm.aarch64.neon.st4lane
+ 1, // llvm.aarch64.neon.subhn
+ 1, // llvm.aarch64.neon.suqadd
+ 1, // llvm.aarch64.neon.tbl1
+ 1, // llvm.aarch64.neon.tbl2
+ 1, // llvm.aarch64.neon.tbl3
+ 1, // llvm.aarch64.neon.tbl4
+ 1, // llvm.aarch64.neon.tbx1
+ 1, // llvm.aarch64.neon.tbx2
+ 1, // llvm.aarch64.neon.tbx3
+ 1, // llvm.aarch64.neon.tbx4
+ 1, // llvm.aarch64.neon.uabd
+ 1, // llvm.aarch64.neon.uaddlp
+ 1, // llvm.aarch64.neon.uaddlv
+ 1, // llvm.aarch64.neon.uaddv
+ 1, // llvm.aarch64.neon.uhadd
+ 1, // llvm.aarch64.neon.uhsub
+ 1, // llvm.aarch64.neon.umax
+ 1, // llvm.aarch64.neon.umaxp
+ 1, // llvm.aarch64.neon.umaxv
+ 1, // llvm.aarch64.neon.umin
+ 1, // llvm.aarch64.neon.uminp
+ 1, // llvm.aarch64.neon.uminv
+ 1, // llvm.aarch64.neon.umull
+ 1, // llvm.aarch64.neon.uqadd
+ 1, // llvm.aarch64.neon.uqrshl
+ 1, // llvm.aarch64.neon.uqrshrn
+ 1, // llvm.aarch64.neon.uqshl
+ 1, // llvm.aarch64.neon.uqshrn
+ 1, // llvm.aarch64.neon.uqsub
+ 1, // llvm.aarch64.neon.uqxtn
+ 1, // llvm.aarch64.neon.urecpe
+ 1, // llvm.aarch64.neon.urhadd
+ 1, // llvm.aarch64.neon.urshl
+ 1, // llvm.aarch64.neon.ursqrte
+ 1, // llvm.aarch64.neon.ushl
+ 1, // llvm.aarch64.neon.ushll
+ 1, // llvm.aarch64.neon.usqadd
+ 1, // llvm.aarch64.neon.vcopy.lane
+ 1, // llvm.aarch64.neon.vcvtfp2fxs
+ 1, // llvm.aarch64.neon.vcvtfp2fxu
+ 1, // llvm.aarch64.neon.vcvtfp2hf
+ 1, // llvm.aarch64.neon.vcvtfxs2fp
+ 1, // llvm.aarch64.neon.vcvtfxu2fp
+ 1, // llvm.aarch64.neon.vcvthf2fp
+ 1, // llvm.aarch64.neon.vsli
+ 1, // llvm.aarch64.neon.vsri
+ 1, // llvm.aarch64.rbit
+ 1, // llvm.aarch64.sdiv
+ 1, // llvm.aarch64.sisd.fabd
+ 1, // llvm.aarch64.sisd.fcvtxn
+ 3, // llvm.aarch64.stlxp
+ 3, // llvm.aarch64.stlxr
+ 3, // llvm.aarch64.stxp
+ 3, // llvm.aarch64.stxr
+ 1, // llvm.aarch64.udiv
+ 15, // llvm.amdgcn.atomic.dec
+ 15, // llvm.amdgcn.atomic.inc
+ 3, // llvm.amdgcn.buffer.atomic.add
+ 3, // llvm.amdgcn.buffer.atomic.and
+ 3, // llvm.amdgcn.buffer.atomic.cmpswap
+ 3, // llvm.amdgcn.buffer.atomic.or
+ 3, // llvm.amdgcn.buffer.atomic.smax
+ 3, // llvm.amdgcn.buffer.atomic.smin
+ 3, // llvm.amdgcn.buffer.atomic.sub
+ 3, // llvm.amdgcn.buffer.atomic.swap
+ 3, // llvm.amdgcn.buffer.atomic.umax
+ 3, // llvm.amdgcn.buffer.atomic.umin
+ 3, // llvm.amdgcn.buffer.atomic.xor
+ 13, // llvm.amdgcn.buffer.load
+ 13, // llvm.amdgcn.buffer.load.format
+ 25, // llvm.amdgcn.buffer.store
+ 25, // llvm.amdgcn.buffer.store.format
+ 3, // llvm.amdgcn.buffer.wbinvl1
+ 3, // llvm.amdgcn.buffer.wbinvl1.sc
+ 3, // llvm.amdgcn.buffer.wbinvl1.vol
+ 1, // llvm.amdgcn.class
+ 1, // llvm.amdgcn.cos
+ 1, // llvm.amdgcn.cubeid
+ 1, // llvm.amdgcn.cubema
+ 1, // llvm.amdgcn.cubesc
+ 1, // llvm.amdgcn.cubetc
+ 1, // llvm.amdgcn.cvt.pk.u8.f32
+ 1, // llvm.amdgcn.dispatch.id
+ 1, // llvm.amdgcn.dispatch.ptr
+ 1, // llvm.amdgcn.div.fixup
+ 1, // llvm.amdgcn.div.fmas
+ 1, // llvm.amdgcn.div.scale
+ 26, // llvm.amdgcn.ds.bpermute
+ 26, // llvm.amdgcn.ds.permute
+ 26, // llvm.amdgcn.ds.swizzle
+ 26, // llvm.amdgcn.fcmp
+ 1, // llvm.amdgcn.fmul.legacy
+ 1, // llvm.amdgcn.fract
+ 1, // llvm.amdgcn.frexp.exp
+ 1, // llvm.amdgcn.frexp.mant
+ 1, // llvm.amdgcn.groupstaticsize
+ 26, // llvm.amdgcn.icmp
+ 3, // llvm.amdgcn.image.atomic.add
+ 3, // llvm.amdgcn.image.atomic.and
+ 3, // llvm.amdgcn.image.atomic.cmpswap
+ 3, // llvm.amdgcn.image.atomic.dec
+ 3, // llvm.amdgcn.image.atomic.inc
+ 3, // llvm.amdgcn.image.atomic.or
+ 3, // llvm.amdgcn.image.atomic.smax
+ 3, // llvm.amdgcn.image.atomic.smin
+ 3, // llvm.amdgcn.image.atomic.sub
+ 3, // llvm.amdgcn.image.atomic.swap
+ 3, // llvm.amdgcn.image.atomic.umax
+ 3, // llvm.amdgcn.image.atomic.umin
+ 3, // llvm.amdgcn.image.atomic.xor
+ 13, // llvm.amdgcn.image.gather4
+ 13, // llvm.amdgcn.image.gather4.b
+ 13, // llvm.amdgcn.image.gather4.b.cl
+ 13, // llvm.amdgcn.image.gather4.b.cl.o
+ 13, // llvm.amdgcn.image.gather4.b.o
+ 13, // llvm.amdgcn.image.gather4.c
+ 13, // llvm.amdgcn.image.gather4.c.b
+ 13, // llvm.amdgcn.image.gather4.c.b.cl
+ 13, // llvm.amdgcn.image.gather4.c.b.cl.o
+ 13, // llvm.amdgcn.image.gather4.c.b.o
+ 13, // llvm.amdgcn.image.gather4.c.cl
+ 13, // llvm.amdgcn.image.gather4.c.cl.o
+ 13, // llvm.amdgcn.image.gather4.c.l
+ 13, // llvm.amdgcn.image.gather4.c.l.o
+ 13, // llvm.amdgcn.image.gather4.c.lz
+ 13, // llvm.amdgcn.image.gather4.c.lz.o
+ 13, // llvm.amdgcn.image.gather4.c.o
+ 13, // llvm.amdgcn.image.gather4.cl
+ 13, // llvm.amdgcn.image.gather4.cl.o
+ 13, // llvm.amdgcn.image.gather4.l
+ 13, // llvm.amdgcn.image.gather4.l.o
+ 13, // llvm.amdgcn.image.gather4.lz
+ 13, // llvm.amdgcn.image.gather4.lz.o
+ 13, // llvm.amdgcn.image.gather4.o
+ 13, // llvm.amdgcn.image.getlod
+ 13, // llvm.amdgcn.image.getresinfo
+ 13, // llvm.amdgcn.image.load
+ 13, // llvm.amdgcn.image.load.mip
+ 13, // llvm.amdgcn.image.sample
+ 13, // llvm.amdgcn.image.sample.b
+ 13, // llvm.amdgcn.image.sample.b.cl
+ 13, // llvm.amdgcn.image.sample.b.cl.o
+ 13, // llvm.amdgcn.image.sample.b.o
+ 13, // llvm.amdgcn.image.sample.c
+ 13, // llvm.amdgcn.image.sample.c.b
+ 13, // llvm.amdgcn.image.sample.c.b.cl
+ 13, // llvm.amdgcn.image.sample.c.b.cl.o
+ 13, // llvm.amdgcn.image.sample.c.b.o
+ 13, // llvm.amdgcn.image.sample.c.cd
+ 13, // llvm.amdgcn.image.sample.c.cd.cl
+ 13, // llvm.amdgcn.image.sample.c.cd.cl.o
+ 13, // llvm.amdgcn.image.sample.c.cd.o
+ 13, // llvm.amdgcn.image.sample.c.cl
+ 13, // llvm.amdgcn.image.sample.c.cl.o
+ 13, // llvm.amdgcn.image.sample.c.d
+ 13, // llvm.amdgcn.image.sample.c.d.cl
+ 13, // llvm.amdgcn.image.sample.c.d.cl.o
+ 13, // llvm.amdgcn.image.sample.c.d.o
+ 13, // llvm.amdgcn.image.sample.c.l
+ 13, // llvm.amdgcn.image.sample.c.l.o
+ 13, // llvm.amdgcn.image.sample.c.lz
+ 13, // llvm.amdgcn.image.sample.c.lz.o
+ 13, // llvm.amdgcn.image.sample.c.o
+ 13, // llvm.amdgcn.image.sample.cd
+ 13, // llvm.amdgcn.image.sample.cd.cl
+ 13, // llvm.amdgcn.image.sample.cd.cl.o
+ 13, // llvm.amdgcn.image.sample.cd.o
+ 13, // llvm.amdgcn.image.sample.cl
+ 13, // llvm.amdgcn.image.sample.cl.o
+ 13, // llvm.amdgcn.image.sample.d
+ 13, // llvm.amdgcn.image.sample.d.cl
+ 13, // llvm.amdgcn.image.sample.d.cl.o
+ 13, // llvm.amdgcn.image.sample.d.o
+ 13, // llvm.amdgcn.image.sample.l
+ 13, // llvm.amdgcn.image.sample.l.o
+ 13, // llvm.amdgcn.image.sample.lz
+ 13, // llvm.amdgcn.image.sample.lz.o
+ 13, // llvm.amdgcn.image.sample.o
+ 3, // llvm.amdgcn.image.store
+ 3, // llvm.amdgcn.image.store.mip
+ 1, // llvm.amdgcn.implicitarg.ptr
+ 1, // llvm.amdgcn.interp.mov
+ 1, // llvm.amdgcn.interp.p1
+ 1, // llvm.amdgcn.interp.p2
+ 1, // llvm.amdgcn.kernarg.segment.ptr
+ 1, // llvm.amdgcn.ldexp
+ 1, // llvm.amdgcn.lerp
+ 1, // llvm.amdgcn.log.clamp
+ 1, // llvm.amdgcn.mbcnt.hi
+ 1, // llvm.amdgcn.mbcnt.lo
+ 26, // llvm.amdgcn.mov.dpp
+ 1, // llvm.amdgcn.mqsad.pk.u16.u8
+ 1, // llvm.amdgcn.mqsad.u32.u8
+ 1, // llvm.amdgcn.msad.u8
+ 1, // llvm.amdgcn.ps.live
+ 1, // llvm.amdgcn.qsad.pk.u16.u8
+ 1, // llvm.amdgcn.queue.ptr
+ 1, // llvm.amdgcn.rcp
+ 1, // llvm.amdgcn.rcp.legacy
+ 26, // llvm.amdgcn.readfirstlane
+ 26, // llvm.amdgcn.readlane
+ 1, // llvm.amdgcn.rsq
+ 1, // llvm.amdgcn.rsq.clamp
+ 1, // llvm.amdgcn.rsq.legacy
+ 27, // llvm.amdgcn.s.barrier
+ 3, // llvm.amdgcn.s.dcache.inv
+ 3, // llvm.amdgcn.s.dcache.inv.vol
+ 3, // llvm.amdgcn.s.dcache.wb
+ 3, // llvm.amdgcn.s.dcache.wb.vol
+ 3, // llvm.amdgcn.s.decperflevel
+ 13, // llvm.amdgcn.s.getreg
+ 3, // llvm.amdgcn.s.incperflevel
+ 3, // llvm.amdgcn.s.memrealtime
+ 3, // llvm.amdgcn.s.memtime
+ 3, // llvm.amdgcn.s.sleep
+ 3, // llvm.amdgcn.s.waitcnt
+ 1, // llvm.amdgcn.sad.hi.u8
+ 1, // llvm.amdgcn.sad.u16
+ 1, // llvm.amdgcn.sad.u8
+ 1, // llvm.amdgcn.sffbh
+ 1, // llvm.amdgcn.sin
+ 1, // llvm.amdgcn.trig.preop
+ 27, // llvm.amdgcn.wave.barrier
+ 1, // llvm.amdgcn.workgroup.id.x
+ 1, // llvm.amdgcn.workgroup.id.y
+ 1, // llvm.amdgcn.workgroup.id.z
+ 1, // llvm.amdgcn.workitem.id.x
+ 1, // llvm.amdgcn.workitem.id.y
+ 1, // llvm.amdgcn.workitem.id.z
+ 3, // llvm.arm.cdp
+ 3, // llvm.arm.cdp2
+ 3, // llvm.arm.clrex
+ 1, // llvm.arm.crc32b
+ 1, // llvm.arm.crc32cb
+ 1, // llvm.arm.crc32ch
+ 1, // llvm.arm.crc32cw
+ 1, // llvm.arm.crc32h
+ 1, // llvm.arm.crc32w
+ 3, // llvm.arm.dbg
+ 3, // llvm.arm.dmb
+ 3, // llvm.arm.dsb
+ 1, // llvm.arm.get.fpscr
+ 3, // llvm.arm.hint
+ 3, // llvm.arm.isb
+ 3, // llvm.arm.ldaex
+ 3, // llvm.arm.ldaexd
+ 3, // llvm.arm.ldc
+ 3, // llvm.arm.ldc2
+ 3, // llvm.arm.ldc2l
+ 3, // llvm.arm.ldcl
+ 3, // llvm.arm.ldrex
+ 3, // llvm.arm.ldrexd
+ 3, // llvm.arm.mcr
+ 3, // llvm.arm.mcr2
+ 3, // llvm.arm.mcrr
+ 3, // llvm.arm.mcrr2
+ 3, // llvm.arm.mrc
+ 3, // llvm.arm.mrc2
+ 3, // llvm.arm.mrrc
+ 3, // llvm.arm.mrrc2
+ 1, // llvm.arm.neon.aesd
+ 1, // llvm.arm.neon.aese
+ 1, // llvm.arm.neon.aesimc
+ 1, // llvm.arm.neon.aesmc
+ 1, // llvm.arm.neon.sha1c
+ 1, // llvm.arm.neon.sha1h
+ 1, // llvm.arm.neon.sha1m
+ 1, // llvm.arm.neon.sha1p
+ 1, // llvm.arm.neon.sha1su0
+ 1, // llvm.arm.neon.sha1su1
+ 1, // llvm.arm.neon.sha256h
+ 1, // llvm.arm.neon.sha256h2
+ 1, // llvm.arm.neon.sha256su0
+ 1, // llvm.arm.neon.sha256su1
+ 1, // llvm.arm.neon.vabds
+ 1, // llvm.arm.neon.vabdu
+ 1, // llvm.arm.neon.vabs
+ 1, // llvm.arm.neon.vacge
+ 1, // llvm.arm.neon.vacgt
+ 1, // llvm.arm.neon.vbsl
+ 1, // llvm.arm.neon.vcls
+ 1, // llvm.arm.neon.vcvtas
+ 1, // llvm.arm.neon.vcvtau
+ 1, // llvm.arm.neon.vcvtfp2fxs
+ 1, // llvm.arm.neon.vcvtfp2fxu
+ 1, // llvm.arm.neon.vcvtfp2hf
+ 1, // llvm.arm.neon.vcvtfxs2fp
+ 1, // llvm.arm.neon.vcvtfxu2fp
+ 1, // llvm.arm.neon.vcvthf2fp
+ 1, // llvm.arm.neon.vcvtms
+ 1, // llvm.arm.neon.vcvtmu
+ 1, // llvm.arm.neon.vcvtns
+ 1, // llvm.arm.neon.vcvtnu
+ 1, // llvm.arm.neon.vcvtps
+ 1, // llvm.arm.neon.vcvtpu
+ 1, // llvm.arm.neon.vhadds
+ 1, // llvm.arm.neon.vhaddu
+ 1, // llvm.arm.neon.vhsubs
+ 1, // llvm.arm.neon.vhsubu
+ 2, // llvm.arm.neon.vld1
+ 2, // llvm.arm.neon.vld2
+ 2, // llvm.arm.neon.vld2lane
+ 2, // llvm.arm.neon.vld3
+ 2, // llvm.arm.neon.vld3lane
+ 2, // llvm.arm.neon.vld4
+ 2, // llvm.arm.neon.vld4lane
+ 1, // llvm.arm.neon.vmaxnm
+ 1, // llvm.arm.neon.vmaxs
+ 1, // llvm.arm.neon.vmaxu
+ 1, // llvm.arm.neon.vminnm
+ 1, // llvm.arm.neon.vmins
+ 1, // llvm.arm.neon.vminu
+ 1, // llvm.arm.neon.vmullp
+ 1, // llvm.arm.neon.vmulls
+ 1, // llvm.arm.neon.vmullu
+ 1, // llvm.arm.neon.vmulp
+ 1, // llvm.arm.neon.vpadals
+ 1, // llvm.arm.neon.vpadalu
+ 1, // llvm.arm.neon.vpadd
+ 1, // llvm.arm.neon.vpaddls
+ 1, // llvm.arm.neon.vpaddlu
+ 1, // llvm.arm.neon.vpmaxs
+ 1, // llvm.arm.neon.vpmaxu
+ 1, // llvm.arm.neon.vpmins
+ 1, // llvm.arm.neon.vpminu
+ 1, // llvm.arm.neon.vqabs
+ 1, // llvm.arm.neon.vqadds
+ 1, // llvm.arm.neon.vqaddu
+ 1, // llvm.arm.neon.vqdmulh
+ 1, // llvm.arm.neon.vqdmull
+ 1, // llvm.arm.neon.vqmovns
+ 1, // llvm.arm.neon.vqmovnsu
+ 1, // llvm.arm.neon.vqmovnu
+ 1, // llvm.arm.neon.vqneg
+ 1, // llvm.arm.neon.vqrdmulh
+ 1, // llvm.arm.neon.vqrshiftns
+ 1, // llvm.arm.neon.vqrshiftnsu
+ 1, // llvm.arm.neon.vqrshiftnu
+ 1, // llvm.arm.neon.vqrshifts
+ 1, // llvm.arm.neon.vqrshiftu
+ 1, // llvm.arm.neon.vqshiftns
+ 1, // llvm.arm.neon.vqshiftnsu
+ 1, // llvm.arm.neon.vqshiftnu
+ 1, // llvm.arm.neon.vqshifts
+ 1, // llvm.arm.neon.vqshiftsu
+ 1, // llvm.arm.neon.vqshiftu
+ 1, // llvm.arm.neon.vqsubs
+ 1, // llvm.arm.neon.vqsubu
+ 1, // llvm.arm.neon.vraddhn
+ 1, // llvm.arm.neon.vrecpe
+ 1, // llvm.arm.neon.vrecps
+ 1, // llvm.arm.neon.vrhadds
+ 1, // llvm.arm.neon.vrhaddu
+ 1, // llvm.arm.neon.vrinta
+ 1, // llvm.arm.neon.vrintm
+ 1, // llvm.arm.neon.vrintn
+ 1, // llvm.arm.neon.vrintp
+ 1, // llvm.arm.neon.vrintx
+ 1, // llvm.arm.neon.vrintz
+ 1, // llvm.arm.neon.vrshiftn
+ 1, // llvm.arm.neon.vrshifts
+ 1, // llvm.arm.neon.vrshiftu
+ 1, // llvm.arm.neon.vrsqrte
+ 1, // llvm.arm.neon.vrsqrts
+ 1, // llvm.arm.neon.vrsubhn
+ 1, // llvm.arm.neon.vshiftins
+ 1, // llvm.arm.neon.vshifts
+ 1, // llvm.arm.neon.vshiftu
+ 18, // llvm.arm.neon.vst1
+ 18, // llvm.arm.neon.vst2
+ 18, // llvm.arm.neon.vst2lane
+ 18, // llvm.arm.neon.vst3
+ 18, // llvm.arm.neon.vst3lane
+ 18, // llvm.arm.neon.vst4
+ 18, // llvm.arm.neon.vst4lane
+ 1, // llvm.arm.neon.vtbl1
+ 1, // llvm.arm.neon.vtbl2
+ 1, // llvm.arm.neon.vtbl3
+ 1, // llvm.arm.neon.vtbl4
+ 1, // llvm.arm.neon.vtbx1
+ 1, // llvm.arm.neon.vtbx2
+ 1, // llvm.arm.neon.vtbx3
+ 1, // llvm.arm.neon.vtbx4
+ 1, // llvm.arm.qadd
+ 1, // llvm.arm.qsub
+ 1, // llvm.arm.rbit
+ 3, // llvm.arm.set.fpscr
+ 3, // llvm.arm.space
+ 1, // llvm.arm.ssat
+ 3, // llvm.arm.stc
+ 3, // llvm.arm.stc2
+ 3, // llvm.arm.stc2l
+ 3, // llvm.arm.stcl
+ 3, // llvm.arm.stlex
+ 3, // llvm.arm.stlexd
+ 3, // llvm.arm.strex
+ 3, // llvm.arm.strexd
+ 3, // llvm.arm.undefined
+ 1, // llvm.arm.usat
+ 1, // llvm.arm.vcvtr
+ 1, // llvm.arm.vcvtru
+ 13, // llvm.bpf.load.byte
+ 13, // llvm.bpf.load.half
+ 13, // llvm.bpf.load.word
+ 3, // llvm.bpf.pseudo
+ 1, // llvm.hexagon.A2.abs
+ 1, // llvm.hexagon.A2.absp
+ 1, // llvm.hexagon.A2.abssat
+ 1, // llvm.hexagon.A2.add
+ 1, // llvm.hexagon.A2.addh.h16.hh
+ 1, // llvm.hexagon.A2.addh.h16.hl
+ 1, // llvm.hexagon.A2.addh.h16.lh
+ 1, // llvm.hexagon.A2.addh.h16.ll
+ 1, // llvm.hexagon.A2.addh.h16.sat.hh
+ 1, // llvm.hexagon.A2.addh.h16.sat.hl
+ 1, // llvm.hexagon.A2.addh.h16.sat.lh
+ 1, // llvm.hexagon.A2.addh.h16.sat.ll
+ 1, // llvm.hexagon.A2.addh.l16.hl
+ 1, // llvm.hexagon.A2.addh.l16.ll
+ 1, // llvm.hexagon.A2.addh.l16.sat.hl
+ 1, // llvm.hexagon.A2.addh.l16.sat.ll
+ 1, // llvm.hexagon.A2.addi
+ 1, // llvm.hexagon.A2.addp
+ 1, // llvm.hexagon.A2.addpsat
+ 1, // llvm.hexagon.A2.addsat
+ 1, // llvm.hexagon.A2.addsp
+ 1, // llvm.hexagon.A2.and
+ 1, // llvm.hexagon.A2.andir
+ 1, // llvm.hexagon.A2.andp
+ 1, // llvm.hexagon.A2.aslh
+ 1, // llvm.hexagon.A2.asrh
+ 1, // llvm.hexagon.A2.combine.hh
+ 1, // llvm.hexagon.A2.combine.hl
+ 1, // llvm.hexagon.A2.combine.lh
+ 1, // llvm.hexagon.A2.combine.ll
+ 1, // llvm.hexagon.A2.combineii
+ 1, // llvm.hexagon.A2.combinew
+ 1, // llvm.hexagon.A2.max
+ 1, // llvm.hexagon.A2.maxp
+ 1, // llvm.hexagon.A2.maxu
+ 1, // llvm.hexagon.A2.maxup
+ 1, // llvm.hexagon.A2.min
+ 1, // llvm.hexagon.A2.minp
+ 1, // llvm.hexagon.A2.minu
+ 1, // llvm.hexagon.A2.minup
+ 1, // llvm.hexagon.A2.neg
+ 1, // llvm.hexagon.A2.negp
+ 1, // llvm.hexagon.A2.negsat
+ 1, // llvm.hexagon.A2.not
+ 1, // llvm.hexagon.A2.notp
+ 1, // llvm.hexagon.A2.or
+ 1, // llvm.hexagon.A2.orir
+ 1, // llvm.hexagon.A2.orp
+ 1, // llvm.hexagon.A2.roundsat
+ 1, // llvm.hexagon.A2.sat
+ 1, // llvm.hexagon.A2.satb
+ 1, // llvm.hexagon.A2.sath
+ 1, // llvm.hexagon.A2.satub
+ 1, // llvm.hexagon.A2.satuh
+ 1, // llvm.hexagon.A2.sub
+ 1, // llvm.hexagon.A2.subh.h16.hh
+ 1, // llvm.hexagon.A2.subh.h16.hl
+ 1, // llvm.hexagon.A2.subh.h16.lh
+ 1, // llvm.hexagon.A2.subh.h16.ll
+ 1, // llvm.hexagon.A2.subh.h16.sat.hh
+ 1, // llvm.hexagon.A2.subh.h16.sat.hl
+ 1, // llvm.hexagon.A2.subh.h16.sat.lh
+ 1, // llvm.hexagon.A2.subh.h16.sat.ll
+ 1, // llvm.hexagon.A2.subh.l16.hl
+ 1, // llvm.hexagon.A2.subh.l16.ll
+ 1, // llvm.hexagon.A2.subh.l16.sat.hl
+ 1, // llvm.hexagon.A2.subh.l16.sat.ll
+ 1, // llvm.hexagon.A2.subp
+ 1, // llvm.hexagon.A2.subri
+ 1, // llvm.hexagon.A2.subsat
+ 1, // llvm.hexagon.A2.svaddh
+ 1, // llvm.hexagon.A2.svaddhs
+ 1, // llvm.hexagon.A2.svadduhs
+ 1, // llvm.hexagon.A2.svavgh
+ 1, // llvm.hexagon.A2.svavghs
+ 1, // llvm.hexagon.A2.svnavgh
+ 1, // llvm.hexagon.A2.svsubh
+ 1, // llvm.hexagon.A2.svsubhs
+ 1, // llvm.hexagon.A2.svsubuhs
+ 1, // llvm.hexagon.A2.swiz
+ 1, // llvm.hexagon.A2.sxtb
+ 1, // llvm.hexagon.A2.sxth
+ 1, // llvm.hexagon.A2.sxtw
+ 1, // llvm.hexagon.A2.tfr
+ 1, // llvm.hexagon.A2.tfrih
+ 1, // llvm.hexagon.A2.tfril
+ 1, // llvm.hexagon.A2.tfrp
+ 1, // llvm.hexagon.A2.tfrpi
+ 1, // llvm.hexagon.A2.tfrsi
+ 1, // llvm.hexagon.A2.vabsh
+ 1, // llvm.hexagon.A2.vabshsat
+ 1, // llvm.hexagon.A2.vabsw
+ 1, // llvm.hexagon.A2.vabswsat
+ 1, // llvm.hexagon.A2.vaddb.map
+ 1, // llvm.hexagon.A2.vaddh
+ 1, // llvm.hexagon.A2.vaddhs
+ 1, // llvm.hexagon.A2.vaddub
+ 1, // llvm.hexagon.A2.vaddubs
+ 1, // llvm.hexagon.A2.vadduhs
+ 1, // llvm.hexagon.A2.vaddw
+ 1, // llvm.hexagon.A2.vaddws
+ 1, // llvm.hexagon.A2.vavgh
+ 1, // llvm.hexagon.A2.vavghcr
+ 1, // llvm.hexagon.A2.vavghr
+ 1, // llvm.hexagon.A2.vavgub
+ 1, // llvm.hexagon.A2.vavgubr
+ 1, // llvm.hexagon.A2.vavguh
+ 1, // llvm.hexagon.A2.vavguhr
+ 1, // llvm.hexagon.A2.vavguw
+ 1, // llvm.hexagon.A2.vavguwr
+ 1, // llvm.hexagon.A2.vavgw
+ 1, // llvm.hexagon.A2.vavgwcr
+ 1, // llvm.hexagon.A2.vavgwr
+ 1, // llvm.hexagon.A2.vcmpbeq
+ 1, // llvm.hexagon.A2.vcmpbgtu
+ 1, // llvm.hexagon.A2.vcmpheq
+ 1, // llvm.hexagon.A2.vcmphgt
+ 1, // llvm.hexagon.A2.vcmphgtu
+ 1, // llvm.hexagon.A2.vcmpweq
+ 1, // llvm.hexagon.A2.vcmpwgt
+ 1, // llvm.hexagon.A2.vcmpwgtu
+ 1, // llvm.hexagon.A2.vconj
+ 1, // llvm.hexagon.A2.vmaxb
+ 1, // llvm.hexagon.A2.vmaxh
+ 1, // llvm.hexagon.A2.vmaxub
+ 1, // llvm.hexagon.A2.vmaxuh
+ 1, // llvm.hexagon.A2.vmaxuw
+ 1, // llvm.hexagon.A2.vmaxw
+ 1, // llvm.hexagon.A2.vminb
+ 1, // llvm.hexagon.A2.vminh
+ 1, // llvm.hexagon.A2.vminub
+ 1, // llvm.hexagon.A2.vminuh
+ 1, // llvm.hexagon.A2.vminuw
+ 1, // llvm.hexagon.A2.vminw
+ 1, // llvm.hexagon.A2.vnavgh
+ 1, // llvm.hexagon.A2.vnavghcr
+ 1, // llvm.hexagon.A2.vnavghr
+ 1, // llvm.hexagon.A2.vnavgw
+ 1, // llvm.hexagon.A2.vnavgwcr
+ 1, // llvm.hexagon.A2.vnavgwr
+ 1, // llvm.hexagon.A2.vraddub
+ 1, // llvm.hexagon.A2.vraddub.acc
+ 1, // llvm.hexagon.A2.vrsadub
+ 1, // llvm.hexagon.A2.vrsadub.acc
+ 1, // llvm.hexagon.A2.vsubb.map
+ 1, // llvm.hexagon.A2.vsubh
+ 1, // llvm.hexagon.A2.vsubhs
+ 1, // llvm.hexagon.A2.vsubub
+ 1, // llvm.hexagon.A2.vsububs
+ 1, // llvm.hexagon.A2.vsubuhs
+ 1, // llvm.hexagon.A2.vsubw
+ 1, // llvm.hexagon.A2.vsubws
+ 1, // llvm.hexagon.A2.xor
+ 1, // llvm.hexagon.A2.xorp
+ 1, // llvm.hexagon.A2.zxtb
+ 1, // llvm.hexagon.A2.zxth
+ 1, // llvm.hexagon.A4.andn
+ 1, // llvm.hexagon.A4.andnp
+ 1, // llvm.hexagon.A4.bitsplit
+ 1, // llvm.hexagon.A4.bitspliti
+ 1, // llvm.hexagon.A4.boundscheck
+ 1, // llvm.hexagon.A4.cmpbeq
+ 1, // llvm.hexagon.A4.cmpbeqi
+ 1, // llvm.hexagon.A4.cmpbgt
+ 1, // llvm.hexagon.A4.cmpbgti
+ 1, // llvm.hexagon.A4.cmpbgtu
+ 1, // llvm.hexagon.A4.cmpbgtui
+ 1, // llvm.hexagon.A4.cmpheq
+ 1, // llvm.hexagon.A4.cmpheqi
+ 1, // llvm.hexagon.A4.cmphgt
+ 1, // llvm.hexagon.A4.cmphgti
+ 1, // llvm.hexagon.A4.cmphgtu
+ 1, // llvm.hexagon.A4.cmphgtui
+ 1, // llvm.hexagon.A4.combineir
+ 1, // llvm.hexagon.A4.combineri
+ 1, // llvm.hexagon.A4.cround.ri
+ 1, // llvm.hexagon.A4.cround.rr
+ 1, // llvm.hexagon.A4.modwrapu
+ 1, // llvm.hexagon.A4.orn
+ 1, // llvm.hexagon.A4.ornp
+ 1, // llvm.hexagon.A4.rcmpeq
+ 1, // llvm.hexagon.A4.rcmpeqi
+ 1, // llvm.hexagon.A4.rcmpneq
+ 1, // llvm.hexagon.A4.rcmpneqi
+ 1, // llvm.hexagon.A4.round.ri
+ 1, // llvm.hexagon.A4.round.ri.sat
+ 1, // llvm.hexagon.A4.round.rr
+ 1, // llvm.hexagon.A4.round.rr.sat
+ 1, // llvm.hexagon.A4.tlbmatch
+ 1, // llvm.hexagon.A4.vcmpbeq.any
+ 1, // llvm.hexagon.A4.vcmpbeqi
+ 1, // llvm.hexagon.A4.vcmpbgt
+ 1, // llvm.hexagon.A4.vcmpbgti
+ 1, // llvm.hexagon.A4.vcmpbgtui
+ 1, // llvm.hexagon.A4.vcmpheqi
+ 1, // llvm.hexagon.A4.vcmphgti
+ 1, // llvm.hexagon.A4.vcmphgtui
+ 1, // llvm.hexagon.A4.vcmpweqi
+ 1, // llvm.hexagon.A4.vcmpwgti
+ 1, // llvm.hexagon.A4.vcmpwgtui
+ 1, // llvm.hexagon.A4.vrmaxh
+ 1, // llvm.hexagon.A4.vrmaxuh
+ 1, // llvm.hexagon.A4.vrmaxuw
+ 1, // llvm.hexagon.A4.vrmaxw
+ 1, // llvm.hexagon.A4.vrminh
+ 1, // llvm.hexagon.A4.vrminuh
+ 1, // llvm.hexagon.A4.vrminuw
+ 1, // llvm.hexagon.A4.vrminw
+ 1, // llvm.hexagon.A5.vaddhubs
+ 1, // llvm.hexagon.C2.all8
+ 1, // llvm.hexagon.C2.and
+ 1, // llvm.hexagon.C2.andn
+ 1, // llvm.hexagon.C2.any8
+ 1, // llvm.hexagon.C2.bitsclr
+ 1, // llvm.hexagon.C2.bitsclri
+ 1, // llvm.hexagon.C2.bitsset
+ 1, // llvm.hexagon.C2.cmpeq
+ 1, // llvm.hexagon.C2.cmpeqi
+ 1, // llvm.hexagon.C2.cmpeqp
+ 1, // llvm.hexagon.C2.cmpgei
+ 1, // llvm.hexagon.C2.cmpgeui
+ 1, // llvm.hexagon.C2.cmpgt
+ 1, // llvm.hexagon.C2.cmpgti
+ 1, // llvm.hexagon.C2.cmpgtp
+ 1, // llvm.hexagon.C2.cmpgtu
+ 1, // llvm.hexagon.C2.cmpgtui
+ 1, // llvm.hexagon.C2.cmpgtup
+ 1, // llvm.hexagon.C2.cmplt
+ 1, // llvm.hexagon.C2.cmpltu
+ 1, // llvm.hexagon.C2.mask
+ 1, // llvm.hexagon.C2.mux
+ 1, // llvm.hexagon.C2.muxii
+ 1, // llvm.hexagon.C2.muxir
+ 1, // llvm.hexagon.C2.muxri
+ 1, // llvm.hexagon.C2.not
+ 1, // llvm.hexagon.C2.or
+ 1, // llvm.hexagon.C2.orn
+ 1, // llvm.hexagon.C2.pxfer.map
+ 1, // llvm.hexagon.C2.tfrpr
+ 1, // llvm.hexagon.C2.tfrrp
+ 1, // llvm.hexagon.C2.vitpack
+ 1, // llvm.hexagon.C2.vmux
+ 1, // llvm.hexagon.C2.xor
+ 1, // llvm.hexagon.C4.and.and
+ 1, // llvm.hexagon.C4.and.andn
+ 1, // llvm.hexagon.C4.and.or
+ 1, // llvm.hexagon.C4.and.orn
+ 1, // llvm.hexagon.C4.cmplte
+ 1, // llvm.hexagon.C4.cmpltei
+ 1, // llvm.hexagon.C4.cmplteu
+ 1, // llvm.hexagon.C4.cmplteui
+ 1, // llvm.hexagon.C4.cmpneq
+ 1, // llvm.hexagon.C4.cmpneqi
+ 1, // llvm.hexagon.C4.fastcorner9
+ 1, // llvm.hexagon.C4.fastcorner9.not
+ 1, // llvm.hexagon.C4.nbitsclr
+ 1, // llvm.hexagon.C4.nbitsclri
+ 1, // llvm.hexagon.C4.nbitsset
+ 1, // llvm.hexagon.C4.or.and
+ 1, // llvm.hexagon.C4.or.andn
+ 1, // llvm.hexagon.C4.or.or
+ 1, // llvm.hexagon.C4.or.orn
+ 1, // llvm.hexagon.F2.conv.d2df
+ 1, // llvm.hexagon.F2.conv.d2sf
+ 1, // llvm.hexagon.F2.conv.df2d
+ 1, // llvm.hexagon.F2.conv.df2d.chop
+ 1, // llvm.hexagon.F2.conv.df2sf
+ 1, // llvm.hexagon.F2.conv.df2ud
+ 1, // llvm.hexagon.F2.conv.df2ud.chop
+ 1, // llvm.hexagon.F2.conv.df2uw
+ 1, // llvm.hexagon.F2.conv.df2uw.chop
+ 1, // llvm.hexagon.F2.conv.df2w
+ 1, // llvm.hexagon.F2.conv.df2w.chop
+ 1, // llvm.hexagon.F2.conv.sf2d
+ 1, // llvm.hexagon.F2.conv.sf2d.chop
+ 1, // llvm.hexagon.F2.conv.sf2df
+ 1, // llvm.hexagon.F2.conv.sf2ud
+ 1, // llvm.hexagon.F2.conv.sf2ud.chop
+ 1, // llvm.hexagon.F2.conv.sf2uw
+ 1, // llvm.hexagon.F2.conv.sf2uw.chop
+ 1, // llvm.hexagon.F2.conv.sf2w
+ 1, // llvm.hexagon.F2.conv.sf2w.chop
+ 1, // llvm.hexagon.F2.conv.ud2df
+ 1, // llvm.hexagon.F2.conv.ud2sf
+ 28, // llvm.hexagon.F2.conv.uw2df
+ 28, // llvm.hexagon.F2.conv.uw2sf
+ 28, // llvm.hexagon.F2.conv.w2df
+ 28, // llvm.hexagon.F2.conv.w2sf
+ 28, // llvm.hexagon.F2.dfclass
+ 28, // llvm.hexagon.F2.dfcmpeq
+ 28, // llvm.hexagon.F2.dfcmpge
+ 28, // llvm.hexagon.F2.dfcmpgt
+ 28, // llvm.hexagon.F2.dfcmpuo
+ 28, // llvm.hexagon.F2.dfimm.n
+ 28, // llvm.hexagon.F2.dfimm.p
+ 28, // llvm.hexagon.F2.sfadd
+ 28, // llvm.hexagon.F2.sfclass
+ 28, // llvm.hexagon.F2.sfcmpeq
+ 28, // llvm.hexagon.F2.sfcmpge
+ 28, // llvm.hexagon.F2.sfcmpgt
+ 28, // llvm.hexagon.F2.sfcmpuo
+ 28, // llvm.hexagon.F2.sffixupd
+ 28, // llvm.hexagon.F2.sffixupn
+ 1, // llvm.hexagon.F2.sffixupr
+ 28, // llvm.hexagon.F2.sffma
+ 28, // llvm.hexagon.F2.sffma.lib
+ 28, // llvm.hexagon.F2.sffma.sc
+ 28, // llvm.hexagon.F2.sffms
+ 28, // llvm.hexagon.F2.sffms.lib
+ 28, // llvm.hexagon.F2.sfimm.n
+ 28, // llvm.hexagon.F2.sfimm.p
+ 28, // llvm.hexagon.F2.sfmax
+ 28, // llvm.hexagon.F2.sfmin
+ 28, // llvm.hexagon.F2.sfmpy
+ 28, // llvm.hexagon.F2.sfsub
+ 15, // llvm.hexagon.L2.loadw.locked
+ 15, // llvm.hexagon.L4.loadd.locked
+ 1, // llvm.hexagon.M2.acci
+ 1, // llvm.hexagon.M2.accii
+ 1, // llvm.hexagon.M2.cmaci.s0
+ 1, // llvm.hexagon.M2.cmacr.s0
+ 1, // llvm.hexagon.M2.cmacs.s0
+ 1, // llvm.hexagon.M2.cmacs.s1
+ 1, // llvm.hexagon.M2.cmacsc.s0
+ 1, // llvm.hexagon.M2.cmacsc.s1
+ 1, // llvm.hexagon.M2.cmpyi.s0
+ 1, // llvm.hexagon.M2.cmpyr.s0
+ 1, // llvm.hexagon.M2.cmpyrs.s0
+ 1, // llvm.hexagon.M2.cmpyrs.s1
+ 1, // llvm.hexagon.M2.cmpyrsc.s0
+ 1, // llvm.hexagon.M2.cmpyrsc.s1
+ 1, // llvm.hexagon.M2.cmpys.s0
+ 1, // llvm.hexagon.M2.cmpys.s1
+ 1, // llvm.hexagon.M2.cmpysc.s0
+ 1, // llvm.hexagon.M2.cmpysc.s1
+ 1, // llvm.hexagon.M2.cnacs.s0
+ 1, // llvm.hexagon.M2.cnacs.s1
+ 1, // llvm.hexagon.M2.cnacsc.s0
+ 1, // llvm.hexagon.M2.cnacsc.s1
+ 1, // llvm.hexagon.M2.dpmpyss.acc.s0
+ 1, // llvm.hexagon.M2.dpmpyss.nac.s0
+ 1, // llvm.hexagon.M2.dpmpyss.rnd.s0
+ 1, // llvm.hexagon.M2.dpmpyss.s0
+ 1, // llvm.hexagon.M2.dpmpyuu.acc.s0
+ 1, // llvm.hexagon.M2.dpmpyuu.nac.s0
+ 1, // llvm.hexagon.M2.dpmpyuu.s0
+ 1, // llvm.hexagon.M2.hmmpyh.rs1
+ 1, // llvm.hexagon.M2.hmmpyh.s1
+ 1, // llvm.hexagon.M2.hmmpyl.rs1
+ 1, // llvm.hexagon.M2.hmmpyl.s1
+ 1, // llvm.hexagon.M2.maci
+ 1, // llvm.hexagon.M2.macsin
+ 1, // llvm.hexagon.M2.macsip
+ 1, // llvm.hexagon.M2.mmachs.rs0
+ 1, // llvm.hexagon.M2.mmachs.rs1
+ 1, // llvm.hexagon.M2.mmachs.s0
+ 1, // llvm.hexagon.M2.mmachs.s1
+ 1, // llvm.hexagon.M2.mmacls.rs0
+ 1, // llvm.hexagon.M2.mmacls.rs1
+ 1, // llvm.hexagon.M2.mmacls.s0
+ 1, // llvm.hexagon.M2.mmacls.s1
+ 1, // llvm.hexagon.M2.mmacuhs.rs0
+ 1, // llvm.hexagon.M2.mmacuhs.rs1
+ 1, // llvm.hexagon.M2.mmacuhs.s0
+ 1, // llvm.hexagon.M2.mmacuhs.s1
+ 1, // llvm.hexagon.M2.mmaculs.rs0
+ 1, // llvm.hexagon.M2.mmaculs.rs1
+ 1, // llvm.hexagon.M2.mmaculs.s0
+ 1, // llvm.hexagon.M2.mmaculs.s1
+ 1, // llvm.hexagon.M2.mmpyh.rs0
+ 1, // llvm.hexagon.M2.mmpyh.rs1
+ 1, // llvm.hexagon.M2.mmpyh.s0
+ 1, // llvm.hexagon.M2.mmpyh.s1
+ 1, // llvm.hexagon.M2.mmpyl.rs0
+ 1, // llvm.hexagon.M2.mmpyl.rs1
+ 1, // llvm.hexagon.M2.mmpyl.s0
+ 1, // llvm.hexagon.M2.mmpyl.s1
+ 1, // llvm.hexagon.M2.mmpyuh.rs0
+ 1, // llvm.hexagon.M2.mmpyuh.rs1
+ 1, // llvm.hexagon.M2.mmpyuh.s0
+ 1, // llvm.hexagon.M2.mmpyuh.s1
+ 1, // llvm.hexagon.M2.mmpyul.rs0
+ 1, // llvm.hexagon.M2.mmpyul.rs1
+ 1, // llvm.hexagon.M2.mmpyul.s0
+ 1, // llvm.hexagon.M2.mmpyul.s1
+ 1, // llvm.hexagon.M2.mpy.acc.hh.s0
+ 1, // llvm.hexagon.M2.mpy.acc.hh.s1
+ 1, // llvm.hexagon.M2.mpy.acc.hl.s0
+ 1, // llvm.hexagon.M2.mpy.acc.hl.s1
+ 1, // llvm.hexagon.M2.mpy.acc.lh.s0
+ 1, // llvm.hexagon.M2.mpy.acc.lh.s1
+ 1, // llvm.hexagon.M2.mpy.acc.ll.s0
+ 1, // llvm.hexagon.M2.mpy.acc.ll.s1
+ 1, // llvm.hexagon.M2.mpy.acc.sat.hh.s0
+ 1, // llvm.hexagon.M2.mpy.acc.sat.hh.s1
+ 1, // llvm.hexagon.M2.mpy.acc.sat.hl.s0
+ 1, // llvm.hexagon.M2.mpy.acc.sat.hl.s1
+ 1, // llvm.hexagon.M2.mpy.acc.sat.lh.s0
+ 1, // llvm.hexagon.M2.mpy.acc.sat.lh.s1
+ 1, // llvm.hexagon.M2.mpy.acc.sat.ll.s0
+ 1, // llvm.hexagon.M2.mpy.acc.sat.ll.s1
+ 1, // llvm.hexagon.M2.mpy.hh.s0
+ 1, // llvm.hexagon.M2.mpy.hh.s1
+ 1, // llvm.hexagon.M2.mpy.hl.s0
+ 1, // llvm.hexagon.M2.mpy.hl.s1
+ 1, // llvm.hexagon.M2.mpy.lh.s0
+ 1, // llvm.hexagon.M2.mpy.lh.s1
+ 1, // llvm.hexagon.M2.mpy.ll.s0
+ 1, // llvm.hexagon.M2.mpy.ll.s1
+ 1, // llvm.hexagon.M2.mpy.nac.hh.s0
+ 1, // llvm.hexagon.M2.mpy.nac.hh.s1
+ 1, // llvm.hexagon.M2.mpy.nac.hl.s0
+ 1, // llvm.hexagon.M2.mpy.nac.hl.s1
+ 1, // llvm.hexagon.M2.mpy.nac.lh.s0
+ 1, // llvm.hexagon.M2.mpy.nac.lh.s1
+ 1, // llvm.hexagon.M2.mpy.nac.ll.s0
+ 1, // llvm.hexagon.M2.mpy.nac.ll.s1
+ 1, // llvm.hexagon.M2.mpy.nac.sat.hh.s0
+ 1, // llvm.hexagon.M2.mpy.nac.sat.hh.s1
+ 1, // llvm.hexagon.M2.mpy.nac.sat.hl.s0
+ 1, // llvm.hexagon.M2.mpy.nac.sat.hl.s1
+ 1, // llvm.hexagon.M2.mpy.nac.sat.lh.s0
+ 1, // llvm.hexagon.M2.mpy.nac.sat.lh.s1
+ 1, // llvm.hexagon.M2.mpy.nac.sat.ll.s0
+ 1, // llvm.hexagon.M2.mpy.nac.sat.ll.s1
+ 1, // llvm.hexagon.M2.mpy.rnd.hh.s0
+ 1, // llvm.hexagon.M2.mpy.rnd.hh.s1
+ 1, // llvm.hexagon.M2.mpy.rnd.hl.s0
+ 1, // llvm.hexagon.M2.mpy.rnd.hl.s1
+ 1, // llvm.hexagon.M2.mpy.rnd.lh.s0
+ 1, // llvm.hexagon.M2.mpy.rnd.lh.s1
+ 1, // llvm.hexagon.M2.mpy.rnd.ll.s0
+ 1, // llvm.hexagon.M2.mpy.rnd.ll.s1
+ 1, // llvm.hexagon.M2.mpy.sat.hh.s0
+ 1, // llvm.hexagon.M2.mpy.sat.hh.s1
+ 1, // llvm.hexagon.M2.mpy.sat.hl.s0
+ 1, // llvm.hexagon.M2.mpy.sat.hl.s1
+ 1, // llvm.hexagon.M2.mpy.sat.lh.s0
+ 1, // llvm.hexagon.M2.mpy.sat.lh.s1
+ 1, // llvm.hexagon.M2.mpy.sat.ll.s0
+ 1, // llvm.hexagon.M2.mpy.sat.ll.s1
+ 1, // llvm.hexagon.M2.mpy.sat.rnd.hh.s0
+ 1, // llvm.hexagon.M2.mpy.sat.rnd.hh.s1
+ 1, // llvm.hexagon.M2.mpy.sat.rnd.hl.s0
+ 1, // llvm.hexagon.M2.mpy.sat.rnd.hl.s1
+ 1, // llvm.hexagon.M2.mpy.sat.rnd.lh.s0
+ 1, // llvm.hexagon.M2.mpy.sat.rnd.lh.s1
+ 1, // llvm.hexagon.M2.mpy.sat.rnd.ll.s0
+ 1, // llvm.hexagon.M2.mpy.sat.rnd.ll.s1
+ 1, // llvm.hexagon.M2.mpy.up
+ 1, // llvm.hexagon.M2.mpy.up.s1
+ 1, // llvm.hexagon.M2.mpy.up.s1.sat
+ 1, // llvm.hexagon.M2.mpyd.acc.hh.s0
+ 1, // llvm.hexagon.M2.mpyd.acc.hh.s1
+ 1, // llvm.hexagon.M2.mpyd.acc.hl.s0
+ 1, // llvm.hexagon.M2.mpyd.acc.hl.s1
+ 1, // llvm.hexagon.M2.mpyd.acc.lh.s0
+ 1, // llvm.hexagon.M2.mpyd.acc.lh.s1
+ 1, // llvm.hexagon.M2.mpyd.acc.ll.s0
+ 1, // llvm.hexagon.M2.mpyd.acc.ll.s1
+ 1, // llvm.hexagon.M2.mpyd.hh.s0
+ 1, // llvm.hexagon.M2.mpyd.hh.s1
+ 1, // llvm.hexagon.M2.mpyd.hl.s0
+ 1, // llvm.hexagon.M2.mpyd.hl.s1
+ 1, // llvm.hexagon.M2.mpyd.lh.s0
+ 1, // llvm.hexagon.M2.mpyd.lh.s1
+ 1, // llvm.hexagon.M2.mpyd.ll.s0
+ 1, // llvm.hexagon.M2.mpyd.ll.s1
+ 1, // llvm.hexagon.M2.mpyd.nac.hh.s0
+ 1, // llvm.hexagon.M2.mpyd.nac.hh.s1
+ 1, // llvm.hexagon.M2.mpyd.nac.hl.s0
+ 1, // llvm.hexagon.M2.mpyd.nac.hl.s1
+ 1, // llvm.hexagon.M2.mpyd.nac.lh.s0
+ 1, // llvm.hexagon.M2.mpyd.nac.lh.s1
+ 1, // llvm.hexagon.M2.mpyd.nac.ll.s0
+ 1, // llvm.hexagon.M2.mpyd.nac.ll.s1
+ 1, // llvm.hexagon.M2.mpyd.rnd.hh.s0
+ 1, // llvm.hexagon.M2.mpyd.rnd.hh.s1
+ 1, // llvm.hexagon.M2.mpyd.rnd.hl.s0
+ 1, // llvm.hexagon.M2.mpyd.rnd.hl.s1
+ 1, // llvm.hexagon.M2.mpyd.rnd.lh.s0
+ 1, // llvm.hexagon.M2.mpyd.rnd.lh.s1
+ 1, // llvm.hexagon.M2.mpyd.rnd.ll.s0
+ 1, // llvm.hexagon.M2.mpyd.rnd.ll.s1
+ 1, // llvm.hexagon.M2.mpyi
+ 1, // llvm.hexagon.M2.mpysmi
+ 1, // llvm.hexagon.M2.mpysu.up
+ 1, // llvm.hexagon.M2.mpyu.acc.hh.s0
+ 1, // llvm.hexagon.M2.mpyu.acc.hh.s1
+ 1, // llvm.hexagon.M2.mpyu.acc.hl.s0
+ 1, // llvm.hexagon.M2.mpyu.acc.hl.s1
+ 1, // llvm.hexagon.M2.mpyu.acc.lh.s0
+ 1, // llvm.hexagon.M2.mpyu.acc.lh.s1
+ 1, // llvm.hexagon.M2.mpyu.acc.ll.s0
+ 1, // llvm.hexagon.M2.mpyu.acc.ll.s1
+ 1, // llvm.hexagon.M2.mpyu.hh.s0
+ 1, // llvm.hexagon.M2.mpyu.hh.s1
+ 1, // llvm.hexagon.M2.mpyu.hl.s0
+ 1, // llvm.hexagon.M2.mpyu.hl.s1
+ 1, // llvm.hexagon.M2.mpyu.lh.s0
+ 1, // llvm.hexagon.M2.mpyu.lh.s1
+ 1, // llvm.hexagon.M2.mpyu.ll.s0
+ 1, // llvm.hexagon.M2.mpyu.ll.s1
+ 1, // llvm.hexagon.M2.mpyu.nac.hh.s0
+ 1, // llvm.hexagon.M2.mpyu.nac.hh.s1
+ 1, // llvm.hexagon.M2.mpyu.nac.hl.s0
+ 1, // llvm.hexagon.M2.mpyu.nac.hl.s1
+ 1, // llvm.hexagon.M2.mpyu.nac.lh.s0
+ 1, // llvm.hexagon.M2.mpyu.nac.lh.s1
+ 1, // llvm.hexagon.M2.mpyu.nac.ll.s0
+ 1, // llvm.hexagon.M2.mpyu.nac.ll.s1
+ 1, // llvm.hexagon.M2.mpyu.up
+ 1, // llvm.hexagon.M2.mpyud.acc.hh.s0
+ 1, // llvm.hexagon.M2.mpyud.acc.hh.s1
+ 1, // llvm.hexagon.M2.mpyud.acc.hl.s0
+ 1, // llvm.hexagon.M2.mpyud.acc.hl.s1
+ 1, // llvm.hexagon.M2.mpyud.acc.lh.s0
+ 1, // llvm.hexagon.M2.mpyud.acc.lh.s1
+ 1, // llvm.hexagon.M2.mpyud.acc.ll.s0
+ 1, // llvm.hexagon.M2.mpyud.acc.ll.s1
+ 1, // llvm.hexagon.M2.mpyud.hh.s0
+ 1, // llvm.hexagon.M2.mpyud.hh.s1
+ 1, // llvm.hexagon.M2.mpyud.hl.s0
+ 1, // llvm.hexagon.M2.mpyud.hl.s1
+ 1, // llvm.hexagon.M2.mpyud.lh.s0
+ 1, // llvm.hexagon.M2.mpyud.lh.s1
+ 1, // llvm.hexagon.M2.mpyud.ll.s0
+ 1, // llvm.hexagon.M2.mpyud.ll.s1
+ 1, // llvm.hexagon.M2.mpyud.nac.hh.s0
+ 1, // llvm.hexagon.M2.mpyud.nac.hh.s1
+ 1, // llvm.hexagon.M2.mpyud.nac.hl.s0
+ 1, // llvm.hexagon.M2.mpyud.nac.hl.s1
+ 1, // llvm.hexagon.M2.mpyud.nac.lh.s0
+ 1, // llvm.hexagon.M2.mpyud.nac.lh.s1
+ 1, // llvm.hexagon.M2.mpyud.nac.ll.s0
+ 1, // llvm.hexagon.M2.mpyud.nac.ll.s1
+ 1, // llvm.hexagon.M2.mpyui
+ 1, // llvm.hexagon.M2.nacci
+ 1, // llvm.hexagon.M2.naccii
+ 1, // llvm.hexagon.M2.subacc
+ 1, // llvm.hexagon.M2.vabsdiffh
+ 1, // llvm.hexagon.M2.vabsdiffw
+ 1, // llvm.hexagon.M2.vcmac.s0.sat.i
+ 1, // llvm.hexagon.M2.vcmac.s0.sat.r
+ 1, // llvm.hexagon.M2.vcmpy.s0.sat.i
+ 1, // llvm.hexagon.M2.vcmpy.s0.sat.r
+ 1, // llvm.hexagon.M2.vcmpy.s1.sat.i
+ 1, // llvm.hexagon.M2.vcmpy.s1.sat.r
+ 1, // llvm.hexagon.M2.vdmacs.s0
+ 1, // llvm.hexagon.M2.vdmacs.s1
+ 1, // llvm.hexagon.M2.vdmpyrs.s0
+ 1, // llvm.hexagon.M2.vdmpyrs.s1
+ 1, // llvm.hexagon.M2.vdmpys.s0
+ 1, // llvm.hexagon.M2.vdmpys.s1
+ 1, // llvm.hexagon.M2.vmac2
+ 1, // llvm.hexagon.M2.vmac2es
+ 1, // llvm.hexagon.M2.vmac2es.s0
+ 1, // llvm.hexagon.M2.vmac2es.s1
+ 1, // llvm.hexagon.M2.vmac2s.s0
+ 1, // llvm.hexagon.M2.vmac2s.s1
+ 1, // llvm.hexagon.M2.vmac2su.s0
+ 1, // llvm.hexagon.M2.vmac2su.s1
+ 1, // llvm.hexagon.M2.vmpy2es.s0
+ 1, // llvm.hexagon.M2.vmpy2es.s1
+ 1, // llvm.hexagon.M2.vmpy2s.s0
+ 1, // llvm.hexagon.M2.vmpy2s.s0pack
+ 1, // llvm.hexagon.M2.vmpy2s.s1
+ 1, // llvm.hexagon.M2.vmpy2s.s1pack
+ 1, // llvm.hexagon.M2.vmpy2su.s0
+ 1, // llvm.hexagon.M2.vmpy2su.s1
+ 1, // llvm.hexagon.M2.vraddh
+ 1, // llvm.hexagon.M2.vradduh
+ 1, // llvm.hexagon.M2.vrcmaci.s0
+ 1, // llvm.hexagon.M2.vrcmaci.s0c
+ 1, // llvm.hexagon.M2.vrcmacr.s0
+ 1, // llvm.hexagon.M2.vrcmacr.s0c
+ 1, // llvm.hexagon.M2.vrcmpyi.s0
+ 1, // llvm.hexagon.M2.vrcmpyi.s0c
+ 1, // llvm.hexagon.M2.vrcmpyr.s0
+ 1, // llvm.hexagon.M2.vrcmpyr.s0c
+ 1, // llvm.hexagon.M2.vrcmpys.acc.s1
+ 1, // llvm.hexagon.M2.vrcmpys.s1
+ 1, // llvm.hexagon.M2.vrcmpys.s1rp
+ 1, // llvm.hexagon.M2.vrmac.s0
+ 1, // llvm.hexagon.M2.vrmpy.s0
+ 1, // llvm.hexagon.M2.xor.xacc
+ 1, // llvm.hexagon.M4.and.and
+ 1, // llvm.hexagon.M4.and.andn
+ 1, // llvm.hexagon.M4.and.or
+ 1, // llvm.hexagon.M4.and.xor
+ 1, // llvm.hexagon.M4.cmpyi.wh
+ 1, // llvm.hexagon.M4.cmpyi.whc
+ 1, // llvm.hexagon.M4.cmpyr.wh
+ 1, // llvm.hexagon.M4.cmpyr.whc
+ 1, // llvm.hexagon.M4.mac.up.s1.sat
+ 1, // llvm.hexagon.M4.mpyri.addi
+ 1, // llvm.hexagon.M4.mpyri.addr
+ 1, // llvm.hexagon.M4.mpyri.addr.u2
+ 1, // llvm.hexagon.M4.mpyrr.addi
+ 1, // llvm.hexagon.M4.mpyrr.addr
+ 1, // llvm.hexagon.M4.nac.up.s1.sat
+ 1, // llvm.hexagon.M4.or.and
+ 1, // llvm.hexagon.M4.or.andn
+ 1, // llvm.hexagon.M4.or.or
+ 1, // llvm.hexagon.M4.or.xor
+ 1, // llvm.hexagon.M4.pmpyw
+ 1, // llvm.hexagon.M4.pmpyw.acc
+ 1, // llvm.hexagon.M4.vpmpyh
+ 1, // llvm.hexagon.M4.vpmpyh.acc
+ 1, // llvm.hexagon.M4.vrmpyeh.acc.s0
+ 1, // llvm.hexagon.M4.vrmpyeh.acc.s1
+ 1, // llvm.hexagon.M4.vrmpyeh.s0
+ 1, // llvm.hexagon.M4.vrmpyeh.s1
+ 1, // llvm.hexagon.M4.vrmpyoh.acc.s0
+ 1, // llvm.hexagon.M4.vrmpyoh.acc.s1
+ 1, // llvm.hexagon.M4.vrmpyoh.s0
+ 1, // llvm.hexagon.M4.vrmpyoh.s1
+ 1, // llvm.hexagon.M4.xor.and
+ 1, // llvm.hexagon.M4.xor.andn
+ 1, // llvm.hexagon.M4.xor.or
+ 1, // llvm.hexagon.M4.xor.xacc
+ 1, // llvm.hexagon.M5.vdmacbsu
+ 1, // llvm.hexagon.M5.vdmpybsu
+ 1, // llvm.hexagon.M5.vmacbsu
+ 1, // llvm.hexagon.M5.vmacbuu
+ 1, // llvm.hexagon.M5.vmpybsu
+ 1, // llvm.hexagon.M5.vmpybuu
+ 1, // llvm.hexagon.M5.vrmacbsu
+ 1, // llvm.hexagon.M5.vrmacbuu
+ 1, // llvm.hexagon.M5.vrmpybsu
+ 1, // llvm.hexagon.M5.vrmpybuu
+ 1, // llvm.hexagon.M6.vabsdiffb
+ 1, // llvm.hexagon.M6.vabsdiffub
+ 1, // llvm.hexagon.S2.addasl.rrri
+ 1, // llvm.hexagon.S2.asl.i.p
+ 1, // llvm.hexagon.S2.asl.i.p.acc
+ 1, // llvm.hexagon.S2.asl.i.p.and
+ 1, // llvm.hexagon.S2.asl.i.p.nac
+ 1, // llvm.hexagon.S2.asl.i.p.or
+ 1, // llvm.hexagon.S2.asl.i.p.xacc
+ 1, // llvm.hexagon.S2.asl.i.r
+ 1, // llvm.hexagon.S2.asl.i.r.acc
+ 1, // llvm.hexagon.S2.asl.i.r.and
+ 1, // llvm.hexagon.S2.asl.i.r.nac
+ 1, // llvm.hexagon.S2.asl.i.r.or
+ 1, // llvm.hexagon.S2.asl.i.r.sat
+ 1, // llvm.hexagon.S2.asl.i.r.xacc
+ 1, // llvm.hexagon.S2.asl.i.vh
+ 1, // llvm.hexagon.S2.asl.i.vw
+ 1, // llvm.hexagon.S2.asl.r.p
+ 1, // llvm.hexagon.S2.asl.r.p.acc
+ 1, // llvm.hexagon.S2.asl.r.p.and
+ 1, // llvm.hexagon.S2.asl.r.p.nac
+ 1, // llvm.hexagon.S2.asl.r.p.or
+ 1, // llvm.hexagon.S2.asl.r.p.xor
+ 1, // llvm.hexagon.S2.asl.r.r
+ 1, // llvm.hexagon.S2.asl.r.r.acc
+ 1, // llvm.hexagon.S2.asl.r.r.and
+ 1, // llvm.hexagon.S2.asl.r.r.nac
+ 1, // llvm.hexagon.S2.asl.r.r.or
+ 1, // llvm.hexagon.S2.asl.r.r.sat
+ 1, // llvm.hexagon.S2.asl.r.vh
+ 1, // llvm.hexagon.S2.asl.r.vw
+ 1, // llvm.hexagon.S2.asr.i.p
+ 1, // llvm.hexagon.S2.asr.i.p.acc
+ 1, // llvm.hexagon.S2.asr.i.p.and
+ 1, // llvm.hexagon.S2.asr.i.p.nac
+ 1, // llvm.hexagon.S2.asr.i.p.or
+ 1, // llvm.hexagon.S2.asr.i.p.rnd
+ 1, // llvm.hexagon.S2.asr.i.p.rnd.goodsyntax
+ 1, // llvm.hexagon.S2.asr.i.r
+ 1, // llvm.hexagon.S2.asr.i.r.acc
+ 1, // llvm.hexagon.S2.asr.i.r.and
+ 1, // llvm.hexagon.S2.asr.i.r.nac
+ 1, // llvm.hexagon.S2.asr.i.r.or
+ 1, // llvm.hexagon.S2.asr.i.r.rnd
+ 1, // llvm.hexagon.S2.asr.i.r.rnd.goodsyntax
+ 1, // llvm.hexagon.S2.asr.i.svw.trun
+ 1, // llvm.hexagon.S2.asr.i.vh
+ 1, // llvm.hexagon.S2.asr.i.vw
+ 1, // llvm.hexagon.S2.asr.r.p
+ 1, // llvm.hexagon.S2.asr.r.p.acc
+ 1, // llvm.hexagon.S2.asr.r.p.and
+ 1, // llvm.hexagon.S2.asr.r.p.nac
+ 1, // llvm.hexagon.S2.asr.r.p.or
+ 1, // llvm.hexagon.S2.asr.r.p.xor
+ 1, // llvm.hexagon.S2.asr.r.r
+ 1, // llvm.hexagon.S2.asr.r.r.acc
+ 1, // llvm.hexagon.S2.asr.r.r.and
+ 1, // llvm.hexagon.S2.asr.r.r.nac
+ 1, // llvm.hexagon.S2.asr.r.r.or
+ 1, // llvm.hexagon.S2.asr.r.r.sat
+ 1, // llvm.hexagon.S2.asr.r.svw.trun
+ 1, // llvm.hexagon.S2.asr.r.vh
+ 1, // llvm.hexagon.S2.asr.r.vw
+ 1, // llvm.hexagon.S2.brev
+ 1, // llvm.hexagon.S2.brevp
+ 1, // llvm.hexagon.S2.cabacencbin
+ 1, // llvm.hexagon.S2.cl0
+ 1, // llvm.hexagon.S2.cl0p
+ 1, // llvm.hexagon.S2.cl1
+ 1, // llvm.hexagon.S2.cl1p
+ 1, // llvm.hexagon.S2.clb
+ 1, // llvm.hexagon.S2.clbnorm
+ 1, // llvm.hexagon.S2.clbp
+ 1, // llvm.hexagon.S2.clrbit.i
+ 1, // llvm.hexagon.S2.clrbit.r
+ 1, // llvm.hexagon.S2.ct0
+ 1, // llvm.hexagon.S2.ct0p
+ 1, // llvm.hexagon.S2.ct1
+ 1, // llvm.hexagon.S2.ct1p
+ 1, // llvm.hexagon.S2.deinterleave
+ 1, // llvm.hexagon.S2.extractu
+ 1, // llvm.hexagon.S2.extractu.rp
+ 1, // llvm.hexagon.S2.extractup
+ 1, // llvm.hexagon.S2.extractup.rp
+ 1, // llvm.hexagon.S2.insert
+ 1, // llvm.hexagon.S2.insert.rp
+ 1, // llvm.hexagon.S2.insertp
+ 1, // llvm.hexagon.S2.insertp.rp
+ 1, // llvm.hexagon.S2.interleave
+ 1, // llvm.hexagon.S2.lfsp
+ 1, // llvm.hexagon.S2.lsl.r.p
+ 1, // llvm.hexagon.S2.lsl.r.p.acc
+ 1, // llvm.hexagon.S2.lsl.r.p.and
+ 1, // llvm.hexagon.S2.lsl.r.p.nac
+ 1, // llvm.hexagon.S2.lsl.r.p.or
+ 1, // llvm.hexagon.S2.lsl.r.p.xor
+ 1, // llvm.hexagon.S2.lsl.r.r
+ 1, // llvm.hexagon.S2.lsl.r.r.acc
+ 1, // llvm.hexagon.S2.lsl.r.r.and
+ 1, // llvm.hexagon.S2.lsl.r.r.nac
+ 1, // llvm.hexagon.S2.lsl.r.r.or
+ 1, // llvm.hexagon.S2.lsl.r.vh
+ 1, // llvm.hexagon.S2.lsl.r.vw
+ 1, // llvm.hexagon.S2.lsr.i.p
+ 1, // llvm.hexagon.S2.lsr.i.p.acc
+ 1, // llvm.hexagon.S2.lsr.i.p.and
+ 1, // llvm.hexagon.S2.lsr.i.p.nac
+ 1, // llvm.hexagon.S2.lsr.i.p.or
+ 1, // llvm.hexagon.S2.lsr.i.p.xacc
+ 1, // llvm.hexagon.S2.lsr.i.r
+ 1, // llvm.hexagon.S2.lsr.i.r.acc
+ 1, // llvm.hexagon.S2.lsr.i.r.and
+ 1, // llvm.hexagon.S2.lsr.i.r.nac
+ 1, // llvm.hexagon.S2.lsr.i.r.or
+ 1, // llvm.hexagon.S2.lsr.i.r.xacc
+ 1, // llvm.hexagon.S2.lsr.i.vh
+ 1, // llvm.hexagon.S2.lsr.i.vw
+ 1, // llvm.hexagon.S2.lsr.r.p
+ 1, // llvm.hexagon.S2.lsr.r.p.acc
+ 1, // llvm.hexagon.S2.lsr.r.p.and
+ 1, // llvm.hexagon.S2.lsr.r.p.nac
+ 1, // llvm.hexagon.S2.lsr.r.p.or
+ 1, // llvm.hexagon.S2.lsr.r.p.xor
+ 1, // llvm.hexagon.S2.lsr.r.r
+ 1, // llvm.hexagon.S2.lsr.r.r.acc
+ 1, // llvm.hexagon.S2.lsr.r.r.and
+ 1, // llvm.hexagon.S2.lsr.r.r.nac
+ 1, // llvm.hexagon.S2.lsr.r.r.or
+ 1, // llvm.hexagon.S2.lsr.r.vh
+ 1, // llvm.hexagon.S2.lsr.r.vw
+ 1, // llvm.hexagon.S2.packhl
+ 1, // llvm.hexagon.S2.parityp
+ 1, // llvm.hexagon.S2.setbit.i
+ 1, // llvm.hexagon.S2.setbit.r
+ 1, // llvm.hexagon.S2.shuffeb
+ 1, // llvm.hexagon.S2.shuffeh
+ 1, // llvm.hexagon.S2.shuffob
+ 1, // llvm.hexagon.S2.shuffoh
+ 15, // llvm.hexagon.S2.storew.locked
+ 1, // llvm.hexagon.S2.svsathb
+ 1, // llvm.hexagon.S2.svsathub
+ 1, // llvm.hexagon.S2.tableidxb.goodsyntax
+ 1, // llvm.hexagon.S2.tableidxd.goodsyntax
+ 1, // llvm.hexagon.S2.tableidxh.goodsyntax
+ 1, // llvm.hexagon.S2.tableidxw.goodsyntax
+ 1, // llvm.hexagon.S2.togglebit.i
+ 1, // llvm.hexagon.S2.togglebit.r
+ 1, // llvm.hexagon.S2.tstbit.i
+ 1, // llvm.hexagon.S2.tstbit.r
+ 1, // llvm.hexagon.S2.valignib
+ 1, // llvm.hexagon.S2.valignrb
+ 1, // llvm.hexagon.S2.vcnegh
+ 1, // llvm.hexagon.S2.vcrotate
+ 1, // llvm.hexagon.S2.vrcnegh
+ 1, // llvm.hexagon.S2.vrndpackwh
+ 1, // llvm.hexagon.S2.vrndpackwhs
+ 1, // llvm.hexagon.S2.vsathb
+ 1, // llvm.hexagon.S2.vsathb.nopack
+ 1, // llvm.hexagon.S2.vsathub
+ 1, // llvm.hexagon.S2.vsathub.nopack
+ 1, // llvm.hexagon.S2.vsatwh
+ 1, // llvm.hexagon.S2.vsatwh.nopack
+ 1, // llvm.hexagon.S2.vsatwuh
+ 1, // llvm.hexagon.S2.vsatwuh.nopack
+ 1, // llvm.hexagon.S2.vsplatrb
+ 1, // llvm.hexagon.S2.vsplatrh
+ 1, // llvm.hexagon.S2.vspliceib
+ 1, // llvm.hexagon.S2.vsplicerb
+ 1, // llvm.hexagon.S2.vsxtbh
+ 1, // llvm.hexagon.S2.vsxthw
+ 1, // llvm.hexagon.S2.vtrunehb
+ 1, // llvm.hexagon.S2.vtrunewh
+ 1, // llvm.hexagon.S2.vtrunohb
+ 1, // llvm.hexagon.S2.vtrunowh
+ 1, // llvm.hexagon.S2.vzxtbh
+ 1, // llvm.hexagon.S2.vzxthw
+ 1, // llvm.hexagon.S4.addaddi
+ 1, // llvm.hexagon.S4.addi.asl.ri
+ 1, // llvm.hexagon.S4.addi.lsr.ri
+ 1, // llvm.hexagon.S4.andi.asl.ri
+ 1, // llvm.hexagon.S4.andi.lsr.ri
+ 1, // llvm.hexagon.S4.clbaddi
+ 1, // llvm.hexagon.S4.clbpaddi
+ 1, // llvm.hexagon.S4.clbpnorm
+ 1, // llvm.hexagon.S4.extract
+ 1, // llvm.hexagon.S4.extract.rp
+ 1, // llvm.hexagon.S4.extractp
+ 1, // llvm.hexagon.S4.extractp.rp
+ 1, // llvm.hexagon.S4.lsli
+ 1, // llvm.hexagon.S4.ntstbit.i
+ 1, // llvm.hexagon.S4.ntstbit.r
+ 1, // llvm.hexagon.S4.or.andi
+ 1, // llvm.hexagon.S4.or.andix
+ 1, // llvm.hexagon.S4.or.ori
+ 1, // llvm.hexagon.S4.ori.asl.ri
+ 1, // llvm.hexagon.S4.ori.lsr.ri
+ 1, // llvm.hexagon.S4.parity
+ 15, // llvm.hexagon.S4.stored.locked
+ 1, // llvm.hexagon.S4.subaddi
+ 1, // llvm.hexagon.S4.subi.asl.ri
+ 1, // llvm.hexagon.S4.subi.lsr.ri
+ 1, // llvm.hexagon.S4.vrcrotate
+ 1, // llvm.hexagon.S4.vrcrotate.acc
+ 1, // llvm.hexagon.S4.vxaddsubh
+ 1, // llvm.hexagon.S4.vxaddsubhr
+ 1, // llvm.hexagon.S4.vxaddsubw
+ 1, // llvm.hexagon.S4.vxsubaddh
+ 1, // llvm.hexagon.S4.vxsubaddhr
+ 1, // llvm.hexagon.S4.vxsubaddw
+ 1, // llvm.hexagon.S5.asrhub.rnd.sat.goodsyntax
+ 1, // llvm.hexagon.S5.asrhub.sat
+ 1, // llvm.hexagon.S5.popcountp
+ 1, // llvm.hexagon.S5.vasrhrnd.goodsyntax
+ 1, // llvm.hexagon.S6.rol.i.p
+ 1, // llvm.hexagon.S6.rol.i.p.acc
+ 1, // llvm.hexagon.S6.rol.i.p.and
+ 1, // llvm.hexagon.S6.rol.i.p.nac
+ 1, // llvm.hexagon.S6.rol.i.p.or
+ 1, // llvm.hexagon.S6.rol.i.p.xacc
+ 1, // llvm.hexagon.S6.rol.i.r
+ 1, // llvm.hexagon.S6.rol.i.r.acc
+ 1, // llvm.hexagon.S6.rol.i.r.and
+ 1, // llvm.hexagon.S6.rol.i.r.nac
+ 1, // llvm.hexagon.S6.rol.i.r.or
+ 1, // llvm.hexagon.S6.rol.i.r.xacc
+ 1, // llvm.hexagon.S6.vsplatrbp
+ 1, // llvm.hexagon.S6.vtrunehb.ppp
+ 1, // llvm.hexagon.S6.vtrunohb.ppp
+ 1, // llvm.hexagon.SI.to.SXTHI.asrh
+ 1, // llvm.hexagon.V6.extractw
+ 1, // llvm.hexagon.V6.extractw.128B
+ 1, // llvm.hexagon.V6.hi
+ 1, // llvm.hexagon.V6.hi.128B
+ 1, // llvm.hexagon.V6.lo
+ 1, // llvm.hexagon.V6.lo.128B
+ 1, // llvm.hexagon.V6.lvsplatw
+ 1, // llvm.hexagon.V6.lvsplatw.128B
+ 1, // llvm.hexagon.V6.pred.and
+ 1, // llvm.hexagon.V6.pred.and.128B
+ 1, // llvm.hexagon.V6.pred.and.n
+ 1, // llvm.hexagon.V6.pred.and.n.128B
+ 1, // llvm.hexagon.V6.pred.not
+ 1, // llvm.hexagon.V6.pred.not.128B
+ 1, // llvm.hexagon.V6.pred.or
+ 1, // llvm.hexagon.V6.pred.or.128B
+ 1, // llvm.hexagon.V6.pred.or.n
+ 1, // llvm.hexagon.V6.pred.or.n.128B
+ 1, // llvm.hexagon.V6.pred.scalar2
+ 1, // llvm.hexagon.V6.pred.scalar2.128B
+ 1, // llvm.hexagon.V6.pred.xor
+ 1, // llvm.hexagon.V6.pred.xor.128B
+ 1, // llvm.hexagon.V6.vabsdiffh
+ 1, // llvm.hexagon.V6.vabsdiffh.128B
+ 1, // llvm.hexagon.V6.vabsdiffub
+ 1, // llvm.hexagon.V6.vabsdiffub.128B
+ 1, // llvm.hexagon.V6.vabsdiffuh
+ 1, // llvm.hexagon.V6.vabsdiffuh.128B
+ 1, // llvm.hexagon.V6.vabsdiffw
+ 1, // llvm.hexagon.V6.vabsdiffw.128B
+ 1, // llvm.hexagon.V6.vabsh
+ 1, // llvm.hexagon.V6.vabsh.128B
+ 1, // llvm.hexagon.V6.vabsh.sat
+ 1, // llvm.hexagon.V6.vabsh.sat.128B
+ 1, // llvm.hexagon.V6.vabsw
+ 1, // llvm.hexagon.V6.vabsw.128B
+ 1, // llvm.hexagon.V6.vabsw.sat
+ 1, // llvm.hexagon.V6.vabsw.sat.128B
+ 1, // llvm.hexagon.V6.vaddb
+ 1, // llvm.hexagon.V6.vaddb.128B
+ 1, // llvm.hexagon.V6.vaddb.dv
+ 1, // llvm.hexagon.V6.vaddb.dv.128B
+ 1, // llvm.hexagon.V6.vaddbnq
+ 1, // llvm.hexagon.V6.vaddbnq.128B
+ 1, // llvm.hexagon.V6.vaddbq
+ 1, // llvm.hexagon.V6.vaddbq.128B
+ 1, // llvm.hexagon.V6.vaddh
+ 1, // llvm.hexagon.V6.vaddh.128B
+ 1, // llvm.hexagon.V6.vaddh.dv
+ 1, // llvm.hexagon.V6.vaddh.dv.128B
+ 1, // llvm.hexagon.V6.vaddhnq
+ 1, // llvm.hexagon.V6.vaddhnq.128B
+ 1, // llvm.hexagon.V6.vaddhq
+ 1, // llvm.hexagon.V6.vaddhq.128B
+ 1, // llvm.hexagon.V6.vaddhsat
+ 1, // llvm.hexagon.V6.vaddhsat.128B
+ 1, // llvm.hexagon.V6.vaddhsat.dv
+ 1, // llvm.hexagon.V6.vaddhsat.dv.128B
+ 1, // llvm.hexagon.V6.vaddhw
+ 1, // llvm.hexagon.V6.vaddhw.128B
+ 1, // llvm.hexagon.V6.vaddubh
+ 1, // llvm.hexagon.V6.vaddubh.128B
+ 1, // llvm.hexagon.V6.vaddubsat
+ 1, // llvm.hexagon.V6.vaddubsat.128B
+ 1, // llvm.hexagon.V6.vaddubsat.dv
+ 1, // llvm.hexagon.V6.vaddubsat.dv.128B
+ 1, // llvm.hexagon.V6.vadduhsat
+ 1, // llvm.hexagon.V6.vadduhsat.128B
+ 1, // llvm.hexagon.V6.vadduhsat.dv
+ 1, // llvm.hexagon.V6.vadduhsat.dv.128B
+ 1, // llvm.hexagon.V6.vadduhw
+ 1, // llvm.hexagon.V6.vadduhw.128B
+ 1, // llvm.hexagon.V6.vaddw
+ 1, // llvm.hexagon.V6.vaddw.128B
+ 1, // llvm.hexagon.V6.vaddw.dv
+ 1, // llvm.hexagon.V6.vaddw.dv.128B
+ 1, // llvm.hexagon.V6.vaddwnq
+ 1, // llvm.hexagon.V6.vaddwnq.128B
+ 1, // llvm.hexagon.V6.vaddwq
+ 1, // llvm.hexagon.V6.vaddwq.128B
+ 1, // llvm.hexagon.V6.vaddwsat
+ 1, // llvm.hexagon.V6.vaddwsat.128B
+ 1, // llvm.hexagon.V6.vaddwsat.dv
+ 1, // llvm.hexagon.V6.vaddwsat.dv.128B
+ 1, // llvm.hexagon.V6.valignb
+ 1, // llvm.hexagon.V6.valignb.128B
+ 1, // llvm.hexagon.V6.valignbi
+ 1, // llvm.hexagon.V6.valignbi.128B
+ 1, // llvm.hexagon.V6.vand
+ 1, // llvm.hexagon.V6.vand.128B
+ 1, // llvm.hexagon.V6.vandqrt
+ 1, // llvm.hexagon.V6.vandqrt.128B
+ 1, // llvm.hexagon.V6.vandqrt.acc
+ 1, // llvm.hexagon.V6.vandqrt.acc.128B
+ 1, // llvm.hexagon.V6.vandvrt
+ 1, // llvm.hexagon.V6.vandvrt.128B
+ 1, // llvm.hexagon.V6.vandvrt.acc
+ 1, // llvm.hexagon.V6.vandvrt.acc.128B
+ 1, // llvm.hexagon.V6.vaslh
+ 1, // llvm.hexagon.V6.vaslh.128B
+ 1, // llvm.hexagon.V6.vaslhv
+ 1, // llvm.hexagon.V6.vaslhv.128B
+ 1, // llvm.hexagon.V6.vaslw
+ 1, // llvm.hexagon.V6.vaslw.128B
+ 1, // llvm.hexagon.V6.vaslw.acc
+ 1, // llvm.hexagon.V6.vaslw.acc.128B
+ 1, // llvm.hexagon.V6.vaslwv
+ 1, // llvm.hexagon.V6.vaslwv.128B
+ 1, // llvm.hexagon.V6.vasrh
+ 1, // llvm.hexagon.V6.vasrh.128B
+ 1, // llvm.hexagon.V6.vasrhbrndsat
+ 1, // llvm.hexagon.V6.vasrhbrndsat.128B
+ 1, // llvm.hexagon.V6.vasrhubrndsat
+ 1, // llvm.hexagon.V6.vasrhubrndsat.128B
+ 1, // llvm.hexagon.V6.vasrhubsat
+ 1, // llvm.hexagon.V6.vasrhubsat.128B
+ 1, // llvm.hexagon.V6.vasrhv
+ 1, // llvm.hexagon.V6.vasrhv.128B
+ 1, // llvm.hexagon.V6.vasrw
+ 1, // llvm.hexagon.V6.vasrw.128B
+ 1, // llvm.hexagon.V6.vasrw.acc
+ 1, // llvm.hexagon.V6.vasrw.acc.128B
+ 1, // llvm.hexagon.V6.vasrwh
+ 1, // llvm.hexagon.V6.vasrwh.128B
+ 1, // llvm.hexagon.V6.vasrwhrndsat
+ 1, // llvm.hexagon.V6.vasrwhrndsat.128B
+ 1, // llvm.hexagon.V6.vasrwhsat
+ 1, // llvm.hexagon.V6.vasrwhsat.128B
+ 1, // llvm.hexagon.V6.vasrwuhsat
+ 1, // llvm.hexagon.V6.vasrwuhsat.128B
+ 1, // llvm.hexagon.V6.vasrwv
+ 1, // llvm.hexagon.V6.vasrwv.128B
+ 1, // llvm.hexagon.V6.vassign
+ 1, // llvm.hexagon.V6.vassign.128B
+ 1, // llvm.hexagon.V6.vassignp
+ 1, // llvm.hexagon.V6.vassignp.128B
+ 1, // llvm.hexagon.V6.vavgh
+ 1, // llvm.hexagon.V6.vavgh.128B
+ 1, // llvm.hexagon.V6.vavghrnd
+ 1, // llvm.hexagon.V6.vavghrnd.128B
+ 1, // llvm.hexagon.V6.vavgub
+ 1, // llvm.hexagon.V6.vavgub.128B
+ 1, // llvm.hexagon.V6.vavgubrnd
+ 1, // llvm.hexagon.V6.vavgubrnd.128B
+ 1, // llvm.hexagon.V6.vavguh
+ 1, // llvm.hexagon.V6.vavguh.128B
+ 1, // llvm.hexagon.V6.vavguhrnd
+ 1, // llvm.hexagon.V6.vavguhrnd.128B
+ 1, // llvm.hexagon.V6.vavgw
+ 1, // llvm.hexagon.V6.vavgw.128B
+ 1, // llvm.hexagon.V6.vavgwrnd
+ 1, // llvm.hexagon.V6.vavgwrnd.128B
+ 1, // llvm.hexagon.V6.vcl0h
+ 1, // llvm.hexagon.V6.vcl0h.128B
+ 1, // llvm.hexagon.V6.vcl0w
+ 1, // llvm.hexagon.V6.vcl0w.128B
+ 1, // llvm.hexagon.V6.vcombine
+ 1, // llvm.hexagon.V6.vcombine.128B
+ 1, // llvm.hexagon.V6.vd0
+ 1, // llvm.hexagon.V6.vd0.128B
+ 1, // llvm.hexagon.V6.vdealb
+ 1, // llvm.hexagon.V6.vdealb.128B
+ 1, // llvm.hexagon.V6.vdealb4w
+ 1, // llvm.hexagon.V6.vdealb4w.128B
+ 1, // llvm.hexagon.V6.vdealh
+ 1, // llvm.hexagon.V6.vdealh.128B
+ 1, // llvm.hexagon.V6.vdealvdd
+ 1, // llvm.hexagon.V6.vdealvdd.128B
+ 1, // llvm.hexagon.V6.vdelta
+ 1, // llvm.hexagon.V6.vdelta.128B
+ 1, // llvm.hexagon.V6.vdmpybus
+ 1, // llvm.hexagon.V6.vdmpybus.128B
+ 1, // llvm.hexagon.V6.vdmpybus.acc
+ 1, // llvm.hexagon.V6.vdmpybus.acc.128B
+ 1, // llvm.hexagon.V6.vdmpybus.dv
+ 1, // llvm.hexagon.V6.vdmpybus.dv.128B
+ 1, // llvm.hexagon.V6.vdmpybus.dv.acc
+ 1, // llvm.hexagon.V6.vdmpybus.dv.acc.128B
+ 1, // llvm.hexagon.V6.vdmpyhb
+ 1, // llvm.hexagon.V6.vdmpyhb.128B
+ 1, // llvm.hexagon.V6.vdmpyhb.acc
+ 1, // llvm.hexagon.V6.vdmpyhb.acc.128B
+ 1, // llvm.hexagon.V6.vdmpyhb.dv
+ 1, // llvm.hexagon.V6.vdmpyhb.dv.128B
+ 1, // llvm.hexagon.V6.vdmpyhb.dv.acc
+ 1, // llvm.hexagon.V6.vdmpyhb.dv.acc.128B
+ 1, // llvm.hexagon.V6.vdmpyhisat
+ 1, // llvm.hexagon.V6.vdmpyhisat.128B
+ 1, // llvm.hexagon.V6.vdmpyhisat.acc
+ 1, // llvm.hexagon.V6.vdmpyhisat.acc.128B
+ 1, // llvm.hexagon.V6.vdmpyhsat
+ 1, // llvm.hexagon.V6.vdmpyhsat.128B
+ 1, // llvm.hexagon.V6.vdmpyhsat.acc
+ 1, // llvm.hexagon.V6.vdmpyhsat.acc.128B
+ 1, // llvm.hexagon.V6.vdmpyhsuisat
+ 1, // llvm.hexagon.V6.vdmpyhsuisat.128B
+ 1, // llvm.hexagon.V6.vdmpyhsuisat.acc
+ 1, // llvm.hexagon.V6.vdmpyhsuisat.acc.128B
+ 1, // llvm.hexagon.V6.vdmpyhsusat
+ 1, // llvm.hexagon.V6.vdmpyhsusat.128B
+ 1, // llvm.hexagon.V6.vdmpyhsusat.acc
+ 1, // llvm.hexagon.V6.vdmpyhsusat.acc.128B
+ 1, // llvm.hexagon.V6.vdmpyhvsat
+ 1, // llvm.hexagon.V6.vdmpyhvsat.128B
+ 1, // llvm.hexagon.V6.vdmpyhvsat.acc
+ 1, // llvm.hexagon.V6.vdmpyhvsat.acc.128B
+ 1, // llvm.hexagon.V6.vdsaduh
+ 1, // llvm.hexagon.V6.vdsaduh.128B
+ 1, // llvm.hexagon.V6.vdsaduh.acc
+ 1, // llvm.hexagon.V6.vdsaduh.acc.128B
+ 1, // llvm.hexagon.V6.veqb
+ 1, // llvm.hexagon.V6.veqb.128B
+ 1, // llvm.hexagon.V6.veqb.and
+ 1, // llvm.hexagon.V6.veqb.and.128B
+ 1, // llvm.hexagon.V6.veqb.or
+ 1, // llvm.hexagon.V6.veqb.or.128B
+ 1, // llvm.hexagon.V6.veqb.xor
+ 1, // llvm.hexagon.V6.veqb.xor.128B
+ 1, // llvm.hexagon.V6.veqh
+ 1, // llvm.hexagon.V6.veqh.128B
+ 1, // llvm.hexagon.V6.veqh.and
+ 1, // llvm.hexagon.V6.veqh.and.128B
+ 1, // llvm.hexagon.V6.veqh.or
+ 1, // llvm.hexagon.V6.veqh.or.128B
+ 1, // llvm.hexagon.V6.veqh.xor
+ 1, // llvm.hexagon.V6.veqh.xor.128B
+ 1, // llvm.hexagon.V6.veqw
+ 1, // llvm.hexagon.V6.veqw.128B
+ 1, // llvm.hexagon.V6.veqw.and
+ 1, // llvm.hexagon.V6.veqw.and.128B
+ 1, // llvm.hexagon.V6.veqw.or
+ 1, // llvm.hexagon.V6.veqw.or.128B
+ 1, // llvm.hexagon.V6.veqw.xor
+ 1, // llvm.hexagon.V6.veqw.xor.128B
+ 1, // llvm.hexagon.V6.vgtb
+ 1, // llvm.hexagon.V6.vgtb.128B
+ 1, // llvm.hexagon.V6.vgtb.and
+ 1, // llvm.hexagon.V6.vgtb.and.128B
+ 1, // llvm.hexagon.V6.vgtb.or
+ 1, // llvm.hexagon.V6.vgtb.or.128B
+ 1, // llvm.hexagon.V6.vgtb.xor
+ 1, // llvm.hexagon.V6.vgtb.xor.128B
+ 1, // llvm.hexagon.V6.vgth
+ 1, // llvm.hexagon.V6.vgth.128B
+ 1, // llvm.hexagon.V6.vgth.and
+ 1, // llvm.hexagon.V6.vgth.and.128B
+ 1, // llvm.hexagon.V6.vgth.or
+ 1, // llvm.hexagon.V6.vgth.or.128B
+ 1, // llvm.hexagon.V6.vgth.xor
+ 1, // llvm.hexagon.V6.vgth.xor.128B
+ 1, // llvm.hexagon.V6.vgtub
+ 1, // llvm.hexagon.V6.vgtub.128B
+ 1, // llvm.hexagon.V6.vgtub.and
+ 1, // llvm.hexagon.V6.vgtub.and.128B
+ 1, // llvm.hexagon.V6.vgtub.or
+ 1, // llvm.hexagon.V6.vgtub.or.128B
+ 1, // llvm.hexagon.V6.vgtub.xor
+ 1, // llvm.hexagon.V6.vgtub.xor.128B
+ 1, // llvm.hexagon.V6.vgtuh
+ 1, // llvm.hexagon.V6.vgtuh.128B
+ 1, // llvm.hexagon.V6.vgtuh.and
+ 1, // llvm.hexagon.V6.vgtuh.and.128B
+ 1, // llvm.hexagon.V6.vgtuh.or
+ 1, // llvm.hexagon.V6.vgtuh.or.128B
+ 1, // llvm.hexagon.V6.vgtuh.xor
+ 1, // llvm.hexagon.V6.vgtuh.xor.128B
+ 1, // llvm.hexagon.V6.vgtuw
+ 1, // llvm.hexagon.V6.vgtuw.128B
+ 1, // llvm.hexagon.V6.vgtuw.and
+ 1, // llvm.hexagon.V6.vgtuw.and.128B
+ 1, // llvm.hexagon.V6.vgtuw.or
+ 1, // llvm.hexagon.V6.vgtuw.or.128B
+ 1, // llvm.hexagon.V6.vgtuw.xor
+ 1, // llvm.hexagon.V6.vgtuw.xor.128B
+ 1, // llvm.hexagon.V6.vgtw
+ 1, // llvm.hexagon.V6.vgtw.128B
+ 1, // llvm.hexagon.V6.vgtw.and
+ 1, // llvm.hexagon.V6.vgtw.and.128B
+ 1, // llvm.hexagon.V6.vgtw.or
+ 1, // llvm.hexagon.V6.vgtw.or.128B
+ 1, // llvm.hexagon.V6.vgtw.xor
+ 1, // llvm.hexagon.V6.vgtw.xor.128B
+ 1, // llvm.hexagon.V6.vinsertwr
+ 1, // llvm.hexagon.V6.vinsertwr.128B
+ 1, // llvm.hexagon.V6.vlalignb
+ 1, // llvm.hexagon.V6.vlalignb.128B
+ 1, // llvm.hexagon.V6.vlalignbi
+ 1, // llvm.hexagon.V6.vlalignbi.128B
+ 1, // llvm.hexagon.V6.vlsrh
+ 1, // llvm.hexagon.V6.vlsrh.128B
+ 1, // llvm.hexagon.V6.vlsrhv
+ 1, // llvm.hexagon.V6.vlsrhv.128B
+ 1, // llvm.hexagon.V6.vlsrw
+ 1, // llvm.hexagon.V6.vlsrw.128B
+ 1, // llvm.hexagon.V6.vlsrwv
+ 1, // llvm.hexagon.V6.vlsrwv.128B
+ 1, // llvm.hexagon.V6.vlutb
+ 1, // llvm.hexagon.V6.vlutb.128B
+ 1, // llvm.hexagon.V6.vlutb.acc
+ 1, // llvm.hexagon.V6.vlutb.acc.128B
+ 1, // llvm.hexagon.V6.vlutb.dv
+ 1, // llvm.hexagon.V6.vlutb.dv.128B
+ 1, // llvm.hexagon.V6.vlutb.dv.acc
+ 1, // llvm.hexagon.V6.vlutb.dv.acc.128B
+ 1, // llvm.hexagon.V6.vlutvvb
+ 1, // llvm.hexagon.V6.vlutvvb.128B
+ 1, // llvm.hexagon.V6.vlutvvb.oracc
+ 1, // llvm.hexagon.V6.vlutvvb.oracc.128B
+ 1, // llvm.hexagon.V6.vlutvwh
+ 1, // llvm.hexagon.V6.vlutvwh.128B
+ 1, // llvm.hexagon.V6.vlutvwh.oracc
+ 1, // llvm.hexagon.V6.vlutvwh.oracc.128B
+ 1, // llvm.hexagon.V6.vmaxh
+ 1, // llvm.hexagon.V6.vmaxh.128B
+ 1, // llvm.hexagon.V6.vmaxub
+ 1, // llvm.hexagon.V6.vmaxub.128B
+ 1, // llvm.hexagon.V6.vmaxuh
+ 1, // llvm.hexagon.V6.vmaxuh.128B
+ 1, // llvm.hexagon.V6.vmaxw
+ 1, // llvm.hexagon.V6.vmaxw.128B
+ 1, // llvm.hexagon.V6.vminh
+ 1, // llvm.hexagon.V6.vminh.128B
+ 1, // llvm.hexagon.V6.vminub
+ 1, // llvm.hexagon.V6.vminub.128B
+ 1, // llvm.hexagon.V6.vminuh
+ 1, // llvm.hexagon.V6.vminuh.128B
+ 1, // llvm.hexagon.V6.vminw
+ 1, // llvm.hexagon.V6.vminw.128B
+ 1, // llvm.hexagon.V6.vmpabus
+ 1, // llvm.hexagon.V6.vmpabus.128B
+ 1, // llvm.hexagon.V6.vmpabus.acc
+ 1, // llvm.hexagon.V6.vmpabus.acc.128B
+ 1, // llvm.hexagon.V6.vmpabusv
+ 1, // llvm.hexagon.V6.vmpabusv.128B
+ 1, // llvm.hexagon.V6.vmpabuuv
+ 1, // llvm.hexagon.V6.vmpabuuv.128B
+ 1, // llvm.hexagon.V6.vmpahb
+ 1, // llvm.hexagon.V6.vmpahb.128B
+ 1, // llvm.hexagon.V6.vmpahb.acc
+ 1, // llvm.hexagon.V6.vmpahb.acc.128B
+ 1, // llvm.hexagon.V6.vmpybus
+ 1, // llvm.hexagon.V6.vmpybus.128B
+ 1, // llvm.hexagon.V6.vmpybus.acc
+ 1, // llvm.hexagon.V6.vmpybus.acc.128B
+ 1, // llvm.hexagon.V6.vmpybusv
+ 1, // llvm.hexagon.V6.vmpybusv.128B
+ 1, // llvm.hexagon.V6.vmpybusv.acc
+ 1, // llvm.hexagon.V6.vmpybusv.acc.128B
+ 1, // llvm.hexagon.V6.vmpybv
+ 1, // llvm.hexagon.V6.vmpybv.128B
+ 1, // llvm.hexagon.V6.vmpybv.acc
+ 1, // llvm.hexagon.V6.vmpybv.acc.128B
+ 1, // llvm.hexagon.V6.vmpyewuh
+ 1, // llvm.hexagon.V6.vmpyewuh.128B
+ 1, // llvm.hexagon.V6.vmpyh
+ 1, // llvm.hexagon.V6.vmpyh.128B
+ 1, // llvm.hexagon.V6.vmpyhsat.acc
+ 1, // llvm.hexagon.V6.vmpyhsat.acc.128B
+ 1, // llvm.hexagon.V6.vmpyhsrs
+ 1, // llvm.hexagon.V6.vmpyhsrs.128B
+ 1, // llvm.hexagon.V6.vmpyhss
+ 1, // llvm.hexagon.V6.vmpyhss.128B
+ 1, // llvm.hexagon.V6.vmpyhus
+ 1, // llvm.hexagon.V6.vmpyhus.128B
+ 1, // llvm.hexagon.V6.vmpyhus.acc
+ 1, // llvm.hexagon.V6.vmpyhus.acc.128B
+ 1, // llvm.hexagon.V6.vmpyhv
+ 1, // llvm.hexagon.V6.vmpyhv.128B
+ 1, // llvm.hexagon.V6.vmpyhv.acc
+ 1, // llvm.hexagon.V6.vmpyhv.acc.128B
+ 1, // llvm.hexagon.V6.vmpyhvsrs
+ 1, // llvm.hexagon.V6.vmpyhvsrs.128B
+ 1, // llvm.hexagon.V6.vmpyieoh
+ 1, // llvm.hexagon.V6.vmpyieoh.128B
+ 1, // llvm.hexagon.V6.vmpyiewh.acc
+ 1, // llvm.hexagon.V6.vmpyiewh.acc.128B
+ 1, // llvm.hexagon.V6.vmpyiewuh
+ 1, // llvm.hexagon.V6.vmpyiewuh.128B
+ 1, // llvm.hexagon.V6.vmpyiewuh.acc
+ 1, // llvm.hexagon.V6.vmpyiewuh.acc.128B
+ 1, // llvm.hexagon.V6.vmpyih
+ 1, // llvm.hexagon.V6.vmpyih.128B
+ 1, // llvm.hexagon.V6.vmpyih.acc
+ 1, // llvm.hexagon.V6.vmpyih.acc.128B
+ 1, // llvm.hexagon.V6.vmpyihb
+ 1, // llvm.hexagon.V6.vmpyihb.128B
+ 1, // llvm.hexagon.V6.vmpyihb.acc
+ 1, // llvm.hexagon.V6.vmpyihb.acc.128B
+ 1, // llvm.hexagon.V6.vmpyiowh
+ 1, // llvm.hexagon.V6.vmpyiowh.128B
+ 1, // llvm.hexagon.V6.vmpyiwb
+ 1, // llvm.hexagon.V6.vmpyiwb.128B
+ 1, // llvm.hexagon.V6.vmpyiwb.acc
+ 1, // llvm.hexagon.V6.vmpyiwb.acc.128B
+ 1, // llvm.hexagon.V6.vmpyiwh
+ 1, // llvm.hexagon.V6.vmpyiwh.128B
+ 1, // llvm.hexagon.V6.vmpyiwh.acc
+ 1, // llvm.hexagon.V6.vmpyiwh.acc.128B
+ 1, // llvm.hexagon.V6.vmpyowh
+ 1, // llvm.hexagon.V6.vmpyowh.128B
+ 1, // llvm.hexagon.V6.vmpyowh.rnd
+ 1, // llvm.hexagon.V6.vmpyowh.rnd.128B
+ 1, // llvm.hexagon.V6.vmpyowh.rnd.sacc
+ 1, // llvm.hexagon.V6.vmpyowh.rnd.sacc.128B
+ 1, // llvm.hexagon.V6.vmpyowh.sacc
+ 1, // llvm.hexagon.V6.vmpyowh.sacc.128B
+ 1, // llvm.hexagon.V6.vmpyub
+ 1, // llvm.hexagon.V6.vmpyub.128B
+ 1, // llvm.hexagon.V6.vmpyub.acc
+ 1, // llvm.hexagon.V6.vmpyub.acc.128B
+ 1, // llvm.hexagon.V6.vmpyubv
+ 1, // llvm.hexagon.V6.vmpyubv.128B
+ 1, // llvm.hexagon.V6.vmpyubv.acc
+ 1, // llvm.hexagon.V6.vmpyubv.acc.128B
+ 1, // llvm.hexagon.V6.vmpyuh
+ 1, // llvm.hexagon.V6.vmpyuh.128B
+ 1, // llvm.hexagon.V6.vmpyuh.acc
+ 1, // llvm.hexagon.V6.vmpyuh.acc.128B
+ 1, // llvm.hexagon.V6.vmpyuhv
+ 1, // llvm.hexagon.V6.vmpyuhv.128B
+ 1, // llvm.hexagon.V6.vmpyuhv.acc
+ 1, // llvm.hexagon.V6.vmpyuhv.acc.128B
+ 1, // llvm.hexagon.V6.vmux
+ 1, // llvm.hexagon.V6.vmux.128B
+ 1, // llvm.hexagon.V6.vnavgh
+ 1, // llvm.hexagon.V6.vnavgh.128B
+ 1, // llvm.hexagon.V6.vnavgub
+ 1, // llvm.hexagon.V6.vnavgub.128B
+ 1, // llvm.hexagon.V6.vnavgw
+ 1, // llvm.hexagon.V6.vnavgw.128B
+ 1, // llvm.hexagon.V6.vnormamth
+ 1, // llvm.hexagon.V6.vnormamth.128B
+ 1, // llvm.hexagon.V6.vnormamtw
+ 1, // llvm.hexagon.V6.vnormamtw.128B
+ 1, // llvm.hexagon.V6.vnot
+ 1, // llvm.hexagon.V6.vnot.128B
+ 1, // llvm.hexagon.V6.vor
+ 1, // llvm.hexagon.V6.vor.128B
+ 1, // llvm.hexagon.V6.vpackeb
+ 1, // llvm.hexagon.V6.vpackeb.128B
+ 1, // llvm.hexagon.V6.vpackeh
+ 1, // llvm.hexagon.V6.vpackeh.128B
+ 1, // llvm.hexagon.V6.vpackhb.sat
+ 1, // llvm.hexagon.V6.vpackhb.sat.128B
+ 1, // llvm.hexagon.V6.vpackhub.sat
+ 1, // llvm.hexagon.V6.vpackhub.sat.128B
+ 1, // llvm.hexagon.V6.vpackob
+ 1, // llvm.hexagon.V6.vpackob.128B
+ 1, // llvm.hexagon.V6.vpackoh
+ 1, // llvm.hexagon.V6.vpackoh.128B
+ 1, // llvm.hexagon.V6.vpackwh.sat
+ 1, // llvm.hexagon.V6.vpackwh.sat.128B
+ 1, // llvm.hexagon.V6.vpackwuh.sat
+ 1, // llvm.hexagon.V6.vpackwuh.sat.128B
+ 1, // llvm.hexagon.V6.vpopcounth
+ 1, // llvm.hexagon.V6.vpopcounth.128B
+ 1, // llvm.hexagon.V6.vrdelta
+ 1, // llvm.hexagon.V6.vrdelta.128B
+ 1, // llvm.hexagon.V6.vrmpybus
+ 1, // llvm.hexagon.V6.vrmpybus.128B
+ 1, // llvm.hexagon.V6.vrmpybus.acc
+ 1, // llvm.hexagon.V6.vrmpybus.acc.128B
+ 1, // llvm.hexagon.V6.vrmpybusi
+ 1, // llvm.hexagon.V6.vrmpybusi.128B
+ 1, // llvm.hexagon.V6.vrmpybusi.acc
+ 1, // llvm.hexagon.V6.vrmpybusi.acc.128B
+ 1, // llvm.hexagon.V6.vrmpybusv
+ 1, // llvm.hexagon.V6.vrmpybusv.128B
+ 1, // llvm.hexagon.V6.vrmpybusv.acc
+ 1, // llvm.hexagon.V6.vrmpybusv.acc.128B
+ 1, // llvm.hexagon.V6.vrmpybv
+ 1, // llvm.hexagon.V6.vrmpybv.128B
+ 1, // llvm.hexagon.V6.vrmpybv.acc
+ 1, // llvm.hexagon.V6.vrmpybv.acc.128B
+ 1, // llvm.hexagon.V6.vrmpyub
+ 1, // llvm.hexagon.V6.vrmpyub.128B
+ 1, // llvm.hexagon.V6.vrmpyub.acc
+ 1, // llvm.hexagon.V6.vrmpyub.acc.128B
+ 1, // llvm.hexagon.V6.vrmpyubi
+ 1, // llvm.hexagon.V6.vrmpyubi.128B
+ 1, // llvm.hexagon.V6.vrmpyubi.acc
+ 1, // llvm.hexagon.V6.vrmpyubi.acc.128B
+ 1, // llvm.hexagon.V6.vrmpyubv
+ 1, // llvm.hexagon.V6.vrmpyubv.128B
+ 1, // llvm.hexagon.V6.vrmpyubv.acc
+ 1, // llvm.hexagon.V6.vrmpyubv.acc.128B
+ 1, // llvm.hexagon.V6.vror
+ 1, // llvm.hexagon.V6.vror.128B
+ 1, // llvm.hexagon.V6.vroundhb
+ 1, // llvm.hexagon.V6.vroundhb.128B
+ 1, // llvm.hexagon.V6.vroundhub
+ 1, // llvm.hexagon.V6.vroundhub.128B
+ 1, // llvm.hexagon.V6.vroundwh
+ 1, // llvm.hexagon.V6.vroundwh.128B
+ 1, // llvm.hexagon.V6.vroundwuh
+ 1, // llvm.hexagon.V6.vroundwuh.128B
+ 1, // llvm.hexagon.V6.vrsadubi
+ 1, // llvm.hexagon.V6.vrsadubi.128B
+ 1, // llvm.hexagon.V6.vrsadubi.acc
+ 1, // llvm.hexagon.V6.vrsadubi.acc.128B
+ 1, // llvm.hexagon.V6.vsathub
+ 1, // llvm.hexagon.V6.vsathub.128B
+ 1, // llvm.hexagon.V6.vsatwh
+ 1, // llvm.hexagon.V6.vsatwh.128B
+ 1, // llvm.hexagon.V6.vsb
+ 1, // llvm.hexagon.V6.vsb.128B
+ 1, // llvm.hexagon.V6.vsh
+ 1, // llvm.hexagon.V6.vsh.128B
+ 1, // llvm.hexagon.V6.vshufeh
+ 1, // llvm.hexagon.V6.vshufeh.128B
+ 1, // llvm.hexagon.V6.vshuffb
+ 1, // llvm.hexagon.V6.vshuffb.128B
+ 1, // llvm.hexagon.V6.vshuffeb
+ 1, // llvm.hexagon.V6.vshuffeb.128B
+ 1, // llvm.hexagon.V6.vshuffh
+ 1, // llvm.hexagon.V6.vshuffh.128B
+ 1, // llvm.hexagon.V6.vshuffob
+ 1, // llvm.hexagon.V6.vshuffob.128B
+ 1, // llvm.hexagon.V6.vshuffvdd
+ 1, // llvm.hexagon.V6.vshuffvdd.128B
+ 1, // llvm.hexagon.V6.vshufoeb
+ 1, // llvm.hexagon.V6.vshufoeb.128B
+ 1, // llvm.hexagon.V6.vshufoeh
+ 1, // llvm.hexagon.V6.vshufoeh.128B
+ 1, // llvm.hexagon.V6.vshufoh
+ 1, // llvm.hexagon.V6.vshufoh.128B
+ 1, // llvm.hexagon.V6.vsubb
+ 1, // llvm.hexagon.V6.vsubb.128B
+ 1, // llvm.hexagon.V6.vsubb.dv
+ 1, // llvm.hexagon.V6.vsubb.dv.128B
+ 1, // llvm.hexagon.V6.vsubbnq
+ 1, // llvm.hexagon.V6.vsubbnq.128B
+ 1, // llvm.hexagon.V6.vsubbq
+ 1, // llvm.hexagon.V6.vsubbq.128B
+ 1, // llvm.hexagon.V6.vsubh
+ 1, // llvm.hexagon.V6.vsubh.128B
+ 1, // llvm.hexagon.V6.vsubh.dv
+ 1, // llvm.hexagon.V6.vsubh.dv.128B
+ 1, // llvm.hexagon.V6.vsubhnq
+ 1, // llvm.hexagon.V6.vsubhnq.128B
+ 1, // llvm.hexagon.V6.vsubhq
+ 1, // llvm.hexagon.V6.vsubhq.128B
+ 1, // llvm.hexagon.V6.vsubhsat
+ 1, // llvm.hexagon.V6.vsubhsat.128B
+ 1, // llvm.hexagon.V6.vsubhsat.dv
+ 1, // llvm.hexagon.V6.vsubhsat.dv.128B
+ 1, // llvm.hexagon.V6.vsubhw
+ 1, // llvm.hexagon.V6.vsubhw.128B
+ 1, // llvm.hexagon.V6.vsububh
+ 1, // llvm.hexagon.V6.vsububh.128B
+ 1, // llvm.hexagon.V6.vsububsat
+ 1, // llvm.hexagon.V6.vsububsat.128B
+ 1, // llvm.hexagon.V6.vsububsat.dv
+ 1, // llvm.hexagon.V6.vsububsat.dv.128B
+ 1, // llvm.hexagon.V6.vsubuhsat
+ 1, // llvm.hexagon.V6.vsubuhsat.128B
+ 1, // llvm.hexagon.V6.vsubuhsat.dv
+ 1, // llvm.hexagon.V6.vsubuhsat.dv.128B
+ 1, // llvm.hexagon.V6.vsubuhw
+ 1, // llvm.hexagon.V6.vsubuhw.128B
+ 1, // llvm.hexagon.V6.vsubw
+ 1, // llvm.hexagon.V6.vsubw.128B
+ 1, // llvm.hexagon.V6.vsubw.dv
+ 1, // llvm.hexagon.V6.vsubw.dv.128B
+ 1, // llvm.hexagon.V6.vsubwnq
+ 1, // llvm.hexagon.V6.vsubwnq.128B
+ 1, // llvm.hexagon.V6.vsubwq
+ 1, // llvm.hexagon.V6.vsubwq.128B
+ 1, // llvm.hexagon.V6.vsubwsat
+ 1, // llvm.hexagon.V6.vsubwsat.128B
+ 1, // llvm.hexagon.V6.vsubwsat.dv
+ 1, // llvm.hexagon.V6.vsubwsat.dv.128B
+ 1, // llvm.hexagon.V6.vswap
+ 1, // llvm.hexagon.V6.vswap.128B
+ 1, // llvm.hexagon.V6.vtmpyb
+ 1, // llvm.hexagon.V6.vtmpyb.128B
+ 1, // llvm.hexagon.V6.vtmpyb.acc
+ 1, // llvm.hexagon.V6.vtmpyb.acc.128B
+ 1, // llvm.hexagon.V6.vtmpybus
+ 1, // llvm.hexagon.V6.vtmpybus.128B
+ 1, // llvm.hexagon.V6.vtmpybus.acc
+ 1, // llvm.hexagon.V6.vtmpybus.acc.128B
+ 1, // llvm.hexagon.V6.vtmpyhb
+ 1, // llvm.hexagon.V6.vtmpyhb.128B
+ 1, // llvm.hexagon.V6.vtmpyhb.acc
+ 1, // llvm.hexagon.V6.vtmpyhb.acc.128B
+ 1, // llvm.hexagon.V6.vunpackb
+ 1, // llvm.hexagon.V6.vunpackb.128B
+ 1, // llvm.hexagon.V6.vunpackh
+ 1, // llvm.hexagon.V6.vunpackh.128B
+ 1, // llvm.hexagon.V6.vunpackob
+ 1, // llvm.hexagon.V6.vunpackob.128B
+ 1, // llvm.hexagon.V6.vunpackoh
+ 1, // llvm.hexagon.V6.vunpackoh.128B
+ 1, // llvm.hexagon.V6.vunpackub
+ 1, // llvm.hexagon.V6.vunpackub.128B
+ 1, // llvm.hexagon.V6.vunpackuh
+ 1, // llvm.hexagon.V6.vunpackuh.128B
+ 1, // llvm.hexagon.V6.vxor
+ 1, // llvm.hexagon.V6.vxor.128B
+ 1, // llvm.hexagon.V6.vzb
+ 1, // llvm.hexagon.V6.vzb.128B
+ 1, // llvm.hexagon.V6.vzh
+ 1, // llvm.hexagon.V6.vzh.128B
+ 18, // llvm.hexagon.brev.ldb
+ 18, // llvm.hexagon.brev.ldd
+ 18, // llvm.hexagon.brev.ldh
+ 18, // llvm.hexagon.brev.ldub
+ 18, // llvm.hexagon.brev.lduh
+ 18, // llvm.hexagon.brev.ldw
+ 18, // llvm.hexagon.brev.stb
+ 18, // llvm.hexagon.brev.std
+ 18, // llvm.hexagon.brev.sth
+ 18, // llvm.hexagon.brev.sthhi
+ 18, // llvm.hexagon.brev.stw
+ 18, // llvm.hexagon.circ.ldb
+ 18, // llvm.hexagon.circ.ldd
+ 18, // llvm.hexagon.circ.ldh
+ 18, // llvm.hexagon.circ.ldub
+ 18, // llvm.hexagon.circ.lduh
+ 18, // llvm.hexagon.circ.ldw
+ 18, // llvm.hexagon.circ.stb
+ 18, // llvm.hexagon.circ.std
+ 18, // llvm.hexagon.circ.sth
+ 18, // llvm.hexagon.circ.sthhi
+ 18, // llvm.hexagon.circ.stw
+ 18, // llvm.hexagon.mm256i.vaddw
+ 3, // llvm.hexagon.prefetch
+ 3, // llvm.mips.absq.s.ph
+ 3, // llvm.mips.absq.s.qb
+ 3, // llvm.mips.absq.s.w
+ 1, // llvm.mips.add.a.b
+ 1, // llvm.mips.add.a.d
+ 1, // llvm.mips.add.a.h
+ 1, // llvm.mips.add.a.w
+ 1, // llvm.mips.addq.ph
+ 1, // llvm.mips.addq.s.ph
+ 3, // llvm.mips.addq.s.w
+ 1, // llvm.mips.addqh.ph
+ 1, // llvm.mips.addqh.r.ph
+ 1, // llvm.mips.addqh.r.w
+ 1, // llvm.mips.addqh.w
+ 1, // llvm.mips.adds.a.b
+ 1, // llvm.mips.adds.a.d
+ 1, // llvm.mips.adds.a.h
+ 1, // llvm.mips.adds.a.w
+ 1, // llvm.mips.adds.s.b
+ 1, // llvm.mips.adds.s.d
+ 1, // llvm.mips.adds.s.h
+ 1, // llvm.mips.adds.s.w
+ 1, // llvm.mips.adds.u.b
+ 1, // llvm.mips.adds.u.d
+ 1, // llvm.mips.adds.u.h
+ 1, // llvm.mips.adds.u.w
+ 3, // llvm.mips.addsc
+ 3, // llvm.mips.addu.ph
+ 1, // llvm.mips.addu.qb
+ 3, // llvm.mips.addu.s.ph
+ 1, // llvm.mips.addu.s.qb
+ 1, // llvm.mips.adduh.qb
+ 1, // llvm.mips.adduh.r.qb
+ 1, // llvm.mips.addv.b
+ 1, // llvm.mips.addv.d
+ 1, // llvm.mips.addv.h
+ 1, // llvm.mips.addv.w
+ 1, // llvm.mips.addvi.b
+ 1, // llvm.mips.addvi.d
+ 1, // llvm.mips.addvi.h
+ 1, // llvm.mips.addvi.w
+ 3, // llvm.mips.addwc
+ 1, // llvm.mips.and.v
+ 1, // llvm.mips.andi.b
+ 1, // llvm.mips.append
+ 1, // llvm.mips.asub.s.b
+ 1, // llvm.mips.asub.s.d
+ 1, // llvm.mips.asub.s.h
+ 1, // llvm.mips.asub.s.w
+ 1, // llvm.mips.asub.u.b
+ 1, // llvm.mips.asub.u.d
+ 1, // llvm.mips.asub.u.h
+ 1, // llvm.mips.asub.u.w
+ 1, // llvm.mips.ave.s.b
+ 1, // llvm.mips.ave.s.d
+ 1, // llvm.mips.ave.s.h
+ 1, // llvm.mips.ave.s.w
+ 1, // llvm.mips.ave.u.b
+ 1, // llvm.mips.ave.u.d
+ 1, // llvm.mips.ave.u.h
+ 1, // llvm.mips.ave.u.w
+ 1, // llvm.mips.aver.s.b
+ 1, // llvm.mips.aver.s.d
+ 1, // llvm.mips.aver.s.h
+ 1, // llvm.mips.aver.s.w
+ 1, // llvm.mips.aver.u.b
+ 1, // llvm.mips.aver.u.d
+ 1, // llvm.mips.aver.u.h
+ 1, // llvm.mips.aver.u.w
+ 1, // llvm.mips.balign
+ 1, // llvm.mips.bclr.b
+ 1, // llvm.mips.bclr.d
+ 1, // llvm.mips.bclr.h
+ 1, // llvm.mips.bclr.w
+ 1, // llvm.mips.bclri.b
+ 1, // llvm.mips.bclri.d
+ 1, // llvm.mips.bclri.h
+ 1, // llvm.mips.bclri.w
+ 1, // llvm.mips.binsl.b
+ 1, // llvm.mips.binsl.d
+ 1, // llvm.mips.binsl.h
+ 1, // llvm.mips.binsl.w
+ 1, // llvm.mips.binsli.b
+ 1, // llvm.mips.binsli.d
+ 1, // llvm.mips.binsli.h
+ 1, // llvm.mips.binsli.w
+ 1, // llvm.mips.binsr.b
+ 1, // llvm.mips.binsr.d
+ 1, // llvm.mips.binsr.h
+ 1, // llvm.mips.binsr.w
+ 1, // llvm.mips.binsri.b
+ 1, // llvm.mips.binsri.d
+ 1, // llvm.mips.binsri.h
+ 1, // llvm.mips.binsri.w
+ 1, // llvm.mips.bitrev
+ 1, // llvm.mips.bmnz.v
+ 1, // llvm.mips.bmnzi.b
+ 1, // llvm.mips.bmz.v
+ 1, // llvm.mips.bmzi.b
+ 1, // llvm.mips.bneg.b
+ 1, // llvm.mips.bneg.d
+ 1, // llvm.mips.bneg.h
+ 1, // llvm.mips.bneg.w
+ 1, // llvm.mips.bnegi.b
+ 1, // llvm.mips.bnegi.d
+ 1, // llvm.mips.bnegi.h
+ 1, // llvm.mips.bnegi.w
+ 1, // llvm.mips.bnz.b
+ 1, // llvm.mips.bnz.d
+ 1, // llvm.mips.bnz.h
+ 1, // llvm.mips.bnz.v
+ 1, // llvm.mips.bnz.w
+ 13, // llvm.mips.bposge32
+ 1, // llvm.mips.bsel.v
+ 1, // llvm.mips.bseli.b
+ 1, // llvm.mips.bset.b
+ 1, // llvm.mips.bset.d
+ 1, // llvm.mips.bset.h
+ 1, // llvm.mips.bset.w
+ 1, // llvm.mips.bseti.b
+ 1, // llvm.mips.bseti.d
+ 1, // llvm.mips.bseti.h
+ 1, // llvm.mips.bseti.w
+ 1, // llvm.mips.bz.b
+ 1, // llvm.mips.bz.d
+ 1, // llvm.mips.bz.h
+ 1, // llvm.mips.bz.v
+ 1, // llvm.mips.bz.w
+ 1, // llvm.mips.ceq.b
+ 1, // llvm.mips.ceq.d
+ 1, // llvm.mips.ceq.h
+ 1, // llvm.mips.ceq.w
+ 1, // llvm.mips.ceqi.b
+ 1, // llvm.mips.ceqi.d
+ 1, // llvm.mips.ceqi.h
+ 1, // llvm.mips.ceqi.w
+ 3, // llvm.mips.cfcmsa
+ 1, // llvm.mips.cle.s.b
+ 1, // llvm.mips.cle.s.d
+ 1, // llvm.mips.cle.s.h
+ 1, // llvm.mips.cle.s.w
+ 1, // llvm.mips.cle.u.b
+ 1, // llvm.mips.cle.u.d
+ 1, // llvm.mips.cle.u.h
+ 1, // llvm.mips.cle.u.w
+ 1, // llvm.mips.clei.s.b
+ 1, // llvm.mips.clei.s.d
+ 1, // llvm.mips.clei.s.h
+ 1, // llvm.mips.clei.s.w
+ 1, // llvm.mips.clei.u.b
+ 1, // llvm.mips.clei.u.d
+ 1, // llvm.mips.clei.u.h
+ 1, // llvm.mips.clei.u.w
+ 1, // llvm.mips.clt.s.b
+ 1, // llvm.mips.clt.s.d
+ 1, // llvm.mips.clt.s.h
+ 1, // llvm.mips.clt.s.w
+ 1, // llvm.mips.clt.u.b
+ 1, // llvm.mips.clt.u.d
+ 1, // llvm.mips.clt.u.h
+ 1, // llvm.mips.clt.u.w
+ 1, // llvm.mips.clti.s.b
+ 1, // llvm.mips.clti.s.d
+ 1, // llvm.mips.clti.s.h
+ 1, // llvm.mips.clti.s.w
+ 1, // llvm.mips.clti.u.b
+ 1, // llvm.mips.clti.u.d
+ 1, // llvm.mips.clti.u.h
+ 1, // llvm.mips.clti.u.w
+ 3, // llvm.mips.cmp.eq.ph
+ 3, // llvm.mips.cmp.le.ph
+ 3, // llvm.mips.cmp.lt.ph
+ 3, // llvm.mips.cmpgdu.eq.qb
+ 3, // llvm.mips.cmpgdu.le.qb
+ 3, // llvm.mips.cmpgdu.lt.qb
+ 3, // llvm.mips.cmpgu.eq.qb
+ 3, // llvm.mips.cmpgu.le.qb
+ 3, // llvm.mips.cmpgu.lt.qb
+ 3, // llvm.mips.cmpu.eq.qb
+ 3, // llvm.mips.cmpu.le.qb
+ 3, // llvm.mips.cmpu.lt.qb
+ 1, // llvm.mips.copy.s.b
+ 1, // llvm.mips.copy.s.d
+ 1, // llvm.mips.copy.s.h
+ 1, // llvm.mips.copy.s.w
+ 1, // llvm.mips.copy.u.b
+ 1, // llvm.mips.copy.u.d
+ 1, // llvm.mips.copy.u.h
+ 1, // llvm.mips.copy.u.w
+ 3, // llvm.mips.ctcmsa
+ 1, // llvm.mips.div.s.b
+ 1, // llvm.mips.div.s.d
+ 1, // llvm.mips.div.s.h
+ 1, // llvm.mips.div.s.w
+ 1, // llvm.mips.div.u.b
+ 1, // llvm.mips.div.u.d
+ 1, // llvm.mips.div.u.h
+ 1, // llvm.mips.div.u.w
+ 1, // llvm.mips.dlsa
+ 1, // llvm.mips.dotp.s.d
+ 1, // llvm.mips.dotp.s.h
+ 1, // llvm.mips.dotp.s.w
+ 1, // llvm.mips.dotp.u.d
+ 1, // llvm.mips.dotp.u.h
+ 1, // llvm.mips.dotp.u.w
+ 1, // llvm.mips.dpa.w.ph
+ 1, // llvm.mips.dpadd.s.d
+ 1, // llvm.mips.dpadd.s.h
+ 1, // llvm.mips.dpadd.s.w
+ 1, // llvm.mips.dpadd.u.d
+ 1, // llvm.mips.dpadd.u.h
+ 1, // llvm.mips.dpadd.u.w
+ 3, // llvm.mips.dpaq.s.w.ph
+ 3, // llvm.mips.dpaq.sa.l.w
+ 3, // llvm.mips.dpaqx.s.w.ph
+ 3, // llvm.mips.dpaqx.sa.w.ph
+ 1, // llvm.mips.dpau.h.qbl
+ 1, // llvm.mips.dpau.h.qbr
+ 1, // llvm.mips.dpax.w.ph
+ 1, // llvm.mips.dps.w.ph
+ 3, // llvm.mips.dpsq.s.w.ph
+ 3, // llvm.mips.dpsq.sa.l.w
+ 3, // llvm.mips.dpsqx.s.w.ph
+ 3, // llvm.mips.dpsqx.sa.w.ph
+ 1, // llvm.mips.dpsu.h.qbl
+ 1, // llvm.mips.dpsu.h.qbr
+ 1, // llvm.mips.dpsub.s.d
+ 1, // llvm.mips.dpsub.s.h
+ 1, // llvm.mips.dpsub.s.w
+ 1, // llvm.mips.dpsub.u.d
+ 1, // llvm.mips.dpsub.u.h
+ 1, // llvm.mips.dpsub.u.w
+ 1, // llvm.mips.dpsx.w.ph
+ 3, // llvm.mips.extp
+ 3, // llvm.mips.extpdp
+ 3, // llvm.mips.extr.r.w
+ 3, // llvm.mips.extr.rs.w
+ 3, // llvm.mips.extr.s.h
+ 3, // llvm.mips.extr.w
+ 1, // llvm.mips.fadd.d
+ 1, // llvm.mips.fadd.w
+ 1, // llvm.mips.fcaf.d
+ 1, // llvm.mips.fcaf.w
+ 1, // llvm.mips.fceq.d
+ 1, // llvm.mips.fceq.w
+ 1, // llvm.mips.fclass.d
+ 1, // llvm.mips.fclass.w
+ 1, // llvm.mips.fcle.d
+ 1, // llvm.mips.fcle.w
+ 1, // llvm.mips.fclt.d
+ 1, // llvm.mips.fclt.w
+ 1, // llvm.mips.fcne.d
+ 1, // llvm.mips.fcne.w
+ 1, // llvm.mips.fcor.d
+ 1, // llvm.mips.fcor.w
+ 1, // llvm.mips.fcueq.d
+ 1, // llvm.mips.fcueq.w
+ 1, // llvm.mips.fcule.d
+ 1, // llvm.mips.fcule.w
+ 1, // llvm.mips.fcult.d
+ 1, // llvm.mips.fcult.w
+ 1, // llvm.mips.fcun.d
+ 1, // llvm.mips.fcun.w
+ 1, // llvm.mips.fcune.d
+ 1, // llvm.mips.fcune.w
+ 1, // llvm.mips.fdiv.d
+ 1, // llvm.mips.fdiv.w
+ 1, // llvm.mips.fexdo.h
+ 1, // llvm.mips.fexdo.w
+ 1, // llvm.mips.fexp2.d
+ 1, // llvm.mips.fexp2.w
+ 1, // llvm.mips.fexupl.d
+ 1, // llvm.mips.fexupl.w
+ 1, // llvm.mips.fexupr.d
+ 1, // llvm.mips.fexupr.w
+ 1, // llvm.mips.ffint.s.d
+ 1, // llvm.mips.ffint.s.w
+ 1, // llvm.mips.ffint.u.d
+ 1, // llvm.mips.ffint.u.w
+ 1, // llvm.mips.ffql.d
+ 1, // llvm.mips.ffql.w
+ 1, // llvm.mips.ffqr.d
+ 1, // llvm.mips.ffqr.w
+ 1, // llvm.mips.fill.b
+ 1, // llvm.mips.fill.d
+ 1, // llvm.mips.fill.h
+ 1, // llvm.mips.fill.w
+ 1, // llvm.mips.flog2.d
+ 1, // llvm.mips.flog2.w
+ 1, // llvm.mips.fmadd.d
+ 1, // llvm.mips.fmadd.w
+ 1, // llvm.mips.fmax.a.d
+ 1, // llvm.mips.fmax.a.w
+ 1, // llvm.mips.fmax.d
+ 1, // llvm.mips.fmax.w
+ 1, // llvm.mips.fmin.a.d
+ 1, // llvm.mips.fmin.a.w
+ 1, // llvm.mips.fmin.d
+ 1, // llvm.mips.fmin.w
+ 1, // llvm.mips.fmsub.d
+ 1, // llvm.mips.fmsub.w
+ 1, // llvm.mips.fmul.d
+ 1, // llvm.mips.fmul.w
+ 1, // llvm.mips.frcp.d
+ 1, // llvm.mips.frcp.w
+ 1, // llvm.mips.frint.d
+ 1, // llvm.mips.frint.w
+ 1, // llvm.mips.frsqrt.d
+ 1, // llvm.mips.frsqrt.w
+ 1, // llvm.mips.fsaf.d
+ 1, // llvm.mips.fsaf.w
+ 1, // llvm.mips.fseq.d
+ 1, // llvm.mips.fseq.w
+ 1, // llvm.mips.fsle.d
+ 1, // llvm.mips.fsle.w
+ 1, // llvm.mips.fslt.d
+ 1, // llvm.mips.fslt.w
+ 1, // llvm.mips.fsne.d
+ 1, // llvm.mips.fsne.w
+ 1, // llvm.mips.fsor.d
+ 1, // llvm.mips.fsor.w
+ 1, // llvm.mips.fsqrt.d
+ 1, // llvm.mips.fsqrt.w
+ 1, // llvm.mips.fsub.d
+ 1, // llvm.mips.fsub.w
+ 1, // llvm.mips.fsueq.d
+ 1, // llvm.mips.fsueq.w
+ 1, // llvm.mips.fsule.d
+ 1, // llvm.mips.fsule.w
+ 1, // llvm.mips.fsult.d
+ 1, // llvm.mips.fsult.w
+ 1, // llvm.mips.fsun.d
+ 1, // llvm.mips.fsun.w
+ 1, // llvm.mips.fsune.d
+ 1, // llvm.mips.fsune.w
+ 1, // llvm.mips.ftint.s.d
+ 1, // llvm.mips.ftint.s.w
+ 1, // llvm.mips.ftint.u.d
+ 1, // llvm.mips.ftint.u.w
+ 1, // llvm.mips.ftq.h
+ 1, // llvm.mips.ftq.w
+ 1, // llvm.mips.ftrunc.s.d
+ 1, // llvm.mips.ftrunc.s.w
+ 1, // llvm.mips.ftrunc.u.d
+ 1, // llvm.mips.ftrunc.u.w
+ 1, // llvm.mips.hadd.s.d
+ 1, // llvm.mips.hadd.s.h
+ 1, // llvm.mips.hadd.s.w
+ 1, // llvm.mips.hadd.u.d
+ 1, // llvm.mips.hadd.u.h
+ 1, // llvm.mips.hadd.u.w
+ 1, // llvm.mips.hsub.s.d
+ 1, // llvm.mips.hsub.s.h
+ 1, // llvm.mips.hsub.s.w
+ 1, // llvm.mips.hsub.u.d
+ 1, // llvm.mips.hsub.u.h
+ 1, // llvm.mips.hsub.u.w
+ 1, // llvm.mips.ilvev.b
+ 1, // llvm.mips.ilvev.d
+ 1, // llvm.mips.ilvev.h
+ 1, // llvm.mips.ilvev.w
+ 1, // llvm.mips.ilvl.b
+ 1, // llvm.mips.ilvl.d
+ 1, // llvm.mips.ilvl.h
+ 1, // llvm.mips.ilvl.w
+ 1, // llvm.mips.ilvod.b
+ 1, // llvm.mips.ilvod.d
+ 1, // llvm.mips.ilvod.h
+ 1, // llvm.mips.ilvod.w
+ 1, // llvm.mips.ilvr.b
+ 1, // llvm.mips.ilvr.d
+ 1, // llvm.mips.ilvr.h
+ 1, // llvm.mips.ilvr.w
+ 1, // llvm.mips.insert.b
+ 1, // llvm.mips.insert.d
+ 1, // llvm.mips.insert.h
+ 1, // llvm.mips.insert.w
+ 13, // llvm.mips.insv
+ 1, // llvm.mips.insve.b
+ 1, // llvm.mips.insve.d
+ 1, // llvm.mips.insve.h
+ 1, // llvm.mips.insve.w
+ 2, // llvm.mips.lbux
+ 2, // llvm.mips.ld.b
+ 2, // llvm.mips.ld.d
+ 2, // llvm.mips.ld.h
+ 2, // llvm.mips.ld.w
+ 1, // llvm.mips.ldi.b
+ 1, // llvm.mips.ldi.d
+ 1, // llvm.mips.ldi.h
+ 1, // llvm.mips.ldi.w
+ 2, // llvm.mips.lhx
+ 1, // llvm.mips.lsa
+ 2, // llvm.mips.lwx
+ 1, // llvm.mips.madd
+ 1, // llvm.mips.madd.q.h
+ 1, // llvm.mips.madd.q.w
+ 1, // llvm.mips.maddr.q.h
+ 1, // llvm.mips.maddr.q.w
+ 1, // llvm.mips.maddu
+ 1, // llvm.mips.maddv.b
+ 1, // llvm.mips.maddv.d
+ 1, // llvm.mips.maddv.h
+ 1, // llvm.mips.maddv.w
+ 3, // llvm.mips.maq.s.w.phl
+ 3, // llvm.mips.maq.s.w.phr
+ 3, // llvm.mips.maq.sa.w.phl
+ 3, // llvm.mips.maq.sa.w.phr
+ 1, // llvm.mips.max.a.b
+ 1, // llvm.mips.max.a.d
+ 1, // llvm.mips.max.a.h
+ 1, // llvm.mips.max.a.w
+ 1, // llvm.mips.max.s.b
+ 1, // llvm.mips.max.s.d
+ 1, // llvm.mips.max.s.h
+ 1, // llvm.mips.max.s.w
+ 1, // llvm.mips.max.u.b
+ 1, // llvm.mips.max.u.d
+ 1, // llvm.mips.max.u.h
+ 1, // llvm.mips.max.u.w
+ 1, // llvm.mips.maxi.s.b
+ 1, // llvm.mips.maxi.s.d
+ 1, // llvm.mips.maxi.s.h
+ 1, // llvm.mips.maxi.s.w
+ 1, // llvm.mips.maxi.u.b
+ 1, // llvm.mips.maxi.u.d
+ 1, // llvm.mips.maxi.u.h
+ 1, // llvm.mips.maxi.u.w
+ 1, // llvm.mips.min.a.b
+ 1, // llvm.mips.min.a.d
+ 1, // llvm.mips.min.a.h
+ 1, // llvm.mips.min.a.w
+ 1, // llvm.mips.min.s.b
+ 1, // llvm.mips.min.s.d
+ 1, // llvm.mips.min.s.h
+ 1, // llvm.mips.min.s.w
+ 1, // llvm.mips.min.u.b
+ 1, // llvm.mips.min.u.d
+ 1, // llvm.mips.min.u.h
+ 1, // llvm.mips.min.u.w
+ 1, // llvm.mips.mini.s.b
+ 1, // llvm.mips.mini.s.d
+ 1, // llvm.mips.mini.s.h
+ 1, // llvm.mips.mini.s.w
+ 1, // llvm.mips.mini.u.b
+ 1, // llvm.mips.mini.u.d
+ 1, // llvm.mips.mini.u.h
+ 1, // llvm.mips.mini.u.w
+ 1, // llvm.mips.mod.s.b
+ 1, // llvm.mips.mod.s.d
+ 1, // llvm.mips.mod.s.h
+ 1, // llvm.mips.mod.s.w
+ 1, // llvm.mips.mod.u.b
+ 1, // llvm.mips.mod.u.d
+ 1, // llvm.mips.mod.u.h
+ 1, // llvm.mips.mod.u.w
+ 1, // llvm.mips.modsub
+ 1, // llvm.mips.move.v
+ 1, // llvm.mips.msub
+ 1, // llvm.mips.msub.q.h
+ 1, // llvm.mips.msub.q.w
+ 1, // llvm.mips.msubr.q.h
+ 1, // llvm.mips.msubr.q.w
+ 1, // llvm.mips.msubu
+ 1, // llvm.mips.msubv.b
+ 1, // llvm.mips.msubv.d
+ 1, // llvm.mips.msubv.h
+ 1, // llvm.mips.msubv.w
+ 3, // llvm.mips.mthlip
+ 3, // llvm.mips.mul.ph
+ 1, // llvm.mips.mul.q.h
+ 1, // llvm.mips.mul.q.w
+ 3, // llvm.mips.mul.s.ph
+ 3, // llvm.mips.muleq.s.w.phl
+ 3, // llvm.mips.muleq.s.w.phr
+ 3, // llvm.mips.muleu.s.ph.qbl
+ 3, // llvm.mips.muleu.s.ph.qbr
+ 3, // llvm.mips.mulq.rs.ph
+ 3, // llvm.mips.mulq.rs.w
+ 3, // llvm.mips.mulq.s.ph
+ 3, // llvm.mips.mulq.s.w
+ 1, // llvm.mips.mulr.q.h
+ 1, // llvm.mips.mulr.q.w
+ 1, // llvm.mips.mulsa.w.ph
+ 3, // llvm.mips.mulsaq.s.w.ph
+ 1, // llvm.mips.mult
+ 1, // llvm.mips.multu
+ 1, // llvm.mips.mulv.b
+ 1, // llvm.mips.mulv.d
+ 1, // llvm.mips.mulv.h
+ 1, // llvm.mips.mulv.w
+ 1, // llvm.mips.nloc.b
+ 1, // llvm.mips.nloc.d
+ 1, // llvm.mips.nloc.h
+ 1, // llvm.mips.nloc.w
+ 1, // llvm.mips.nlzc.b
+ 1, // llvm.mips.nlzc.d
+ 1, // llvm.mips.nlzc.h
+ 1, // llvm.mips.nlzc.w
+ 1, // llvm.mips.nor.v
+ 1, // llvm.mips.nori.b
+ 1, // llvm.mips.or.v
+ 1, // llvm.mips.ori.b
+ 1, // llvm.mips.packrl.ph
+ 1, // llvm.mips.pckev.b
+ 1, // llvm.mips.pckev.d
+ 1, // llvm.mips.pckev.h
+ 1, // llvm.mips.pckev.w
+ 1, // llvm.mips.pckod.b
+ 1, // llvm.mips.pckod.d
+ 1, // llvm.mips.pckod.h
+ 1, // llvm.mips.pckod.w
+ 1, // llvm.mips.pcnt.b
+ 1, // llvm.mips.pcnt.d
+ 1, // llvm.mips.pcnt.h
+ 1, // llvm.mips.pcnt.w
+ 13, // llvm.mips.pick.ph
+ 13, // llvm.mips.pick.qb
+ 1, // llvm.mips.preceq.w.phl
+ 1, // llvm.mips.preceq.w.phr
+ 1, // llvm.mips.precequ.ph.qbl
+ 1, // llvm.mips.precequ.ph.qbla
+ 1, // llvm.mips.precequ.ph.qbr
+ 1, // llvm.mips.precequ.ph.qbra
+ 1, // llvm.mips.preceu.ph.qbl
+ 1, // llvm.mips.preceu.ph.qbla
+ 1, // llvm.mips.preceu.ph.qbr
+ 1, // llvm.mips.preceu.ph.qbra
+ 3, // llvm.mips.precr.qb.ph
+ 1, // llvm.mips.precr.sra.ph.w
+ 1, // llvm.mips.precr.sra.r.ph.w
+ 1, // llvm.mips.precrq.ph.w
+ 1, // llvm.mips.precrq.qb.ph
+ 3, // llvm.mips.precrq.rs.ph.w
+ 3, // llvm.mips.precrqu.s.qb.ph
+ 1, // llvm.mips.prepend
+ 1, // llvm.mips.raddu.w.qb
+ 13, // llvm.mips.rddsp
+ 1, // llvm.mips.repl.ph
+ 1, // llvm.mips.repl.qb
+ 1, // llvm.mips.sat.s.b
+ 1, // llvm.mips.sat.s.d
+ 1, // llvm.mips.sat.s.h
+ 1, // llvm.mips.sat.s.w
+ 1, // llvm.mips.sat.u.b
+ 1, // llvm.mips.sat.u.d
+ 1, // llvm.mips.sat.u.h
+ 1, // llvm.mips.sat.u.w
+ 1, // llvm.mips.shf.b
+ 1, // llvm.mips.shf.h
+ 1, // llvm.mips.shf.w
+ 1, // llvm.mips.shilo
+ 3, // llvm.mips.shll.ph
+ 3, // llvm.mips.shll.qb
+ 3, // llvm.mips.shll.s.ph
+ 3, // llvm.mips.shll.s.w
+ 1, // llvm.mips.shra.ph
+ 1, // llvm.mips.shra.qb
+ 1, // llvm.mips.shra.r.ph
+ 1, // llvm.mips.shra.r.qb
+ 1, // llvm.mips.shra.r.w
+ 1, // llvm.mips.shrl.ph
+ 1, // llvm.mips.shrl.qb
+ 1, // llvm.mips.sld.b
+ 1, // llvm.mips.sld.d
+ 1, // llvm.mips.sld.h
+ 1, // llvm.mips.sld.w
+ 1, // llvm.mips.sldi.b
+ 1, // llvm.mips.sldi.d
+ 1, // llvm.mips.sldi.h
+ 1, // llvm.mips.sldi.w
+ 1, // llvm.mips.sll.b
+ 1, // llvm.mips.sll.d
+ 1, // llvm.mips.sll.h
+ 1, // llvm.mips.sll.w
+ 1, // llvm.mips.slli.b
+ 1, // llvm.mips.slli.d
+ 1, // llvm.mips.slli.h
+ 1, // llvm.mips.slli.w
+ 1, // llvm.mips.splat.b
+ 1, // llvm.mips.splat.d
+ 1, // llvm.mips.splat.h
+ 1, // llvm.mips.splat.w
+ 1, // llvm.mips.splati.b
+ 1, // llvm.mips.splati.d
+ 1, // llvm.mips.splati.h
+ 1, // llvm.mips.splati.w
+ 1, // llvm.mips.sra.b
+ 1, // llvm.mips.sra.d
+ 1, // llvm.mips.sra.h
+ 1, // llvm.mips.sra.w
+ 1, // llvm.mips.srai.b
+ 1, // llvm.mips.srai.d
+ 1, // llvm.mips.srai.h
+ 1, // llvm.mips.srai.w
+ 1, // llvm.mips.srar.b
+ 1, // llvm.mips.srar.d
+ 1, // llvm.mips.srar.h
+ 1, // llvm.mips.srar.w
+ 1, // llvm.mips.srari.b
+ 1, // llvm.mips.srari.d
+ 1, // llvm.mips.srari.h
+ 1, // llvm.mips.srari.w
+ 1, // llvm.mips.srl.b
+ 1, // llvm.mips.srl.d
+ 1, // llvm.mips.srl.h
+ 1, // llvm.mips.srl.w
+ 1, // llvm.mips.srli.b
+ 1, // llvm.mips.srli.d
+ 1, // llvm.mips.srli.h
+ 1, // llvm.mips.srli.w
+ 1, // llvm.mips.srlr.b
+ 1, // llvm.mips.srlr.d
+ 1, // llvm.mips.srlr.h
+ 1, // llvm.mips.srlr.w
+ 1, // llvm.mips.srlri.b
+ 1, // llvm.mips.srlri.d
+ 1, // llvm.mips.srlri.h
+ 1, // llvm.mips.srlri.w
+ 18, // llvm.mips.st.b
+ 18, // llvm.mips.st.d
+ 18, // llvm.mips.st.h
+ 18, // llvm.mips.st.w
+ 1, // llvm.mips.subq.ph
+ 1, // llvm.mips.subq.s.ph
+ 3, // llvm.mips.subq.s.w
+ 1, // llvm.mips.subqh.ph
+ 1, // llvm.mips.subqh.r.ph
+ 1, // llvm.mips.subqh.r.w
+ 1, // llvm.mips.subqh.w
+ 1, // llvm.mips.subs.s.b
+ 1, // llvm.mips.subs.s.d
+ 1, // llvm.mips.subs.s.h
+ 1, // llvm.mips.subs.s.w
+ 1, // llvm.mips.subs.u.b
+ 1, // llvm.mips.subs.u.d
+ 1, // llvm.mips.subs.u.h
+ 1, // llvm.mips.subs.u.w
+ 1, // llvm.mips.subsus.u.b
+ 1, // llvm.mips.subsus.u.d
+ 1, // llvm.mips.subsus.u.h
+ 1, // llvm.mips.subsus.u.w
+ 1, // llvm.mips.subsuu.s.b
+ 1, // llvm.mips.subsuu.s.d
+ 1, // llvm.mips.subsuu.s.h
+ 1, // llvm.mips.subsuu.s.w
+ 3, // llvm.mips.subu.ph
+ 1, // llvm.mips.subu.qb
+ 3, // llvm.mips.subu.s.ph
+ 1, // llvm.mips.subu.s.qb
+ 1, // llvm.mips.subuh.qb
+ 1, // llvm.mips.subuh.r.qb
+ 1, // llvm.mips.subv.b
+ 1, // llvm.mips.subv.d
+ 1, // llvm.mips.subv.h
+ 1, // llvm.mips.subv.w
+ 1, // llvm.mips.subvi.b
+ 1, // llvm.mips.subvi.d
+ 1, // llvm.mips.subvi.h
+ 1, // llvm.mips.subvi.w
+ 1, // llvm.mips.vshf.b
+ 1, // llvm.mips.vshf.d
+ 1, // llvm.mips.vshf.h
+ 1, // llvm.mips.vshf.w
+ 3, // llvm.mips.wrdsp
+ 1, // llvm.mips.xor.v
+ 1, // llvm.mips.xori.b
+ 1, // llvm.nvvm.abs.i
+ 1, // llvm.nvvm.abs.ll
+ 1, // llvm.nvvm.add.rm.d
+ 1, // llvm.nvvm.add.rm.f
+ 1, // llvm.nvvm.add.rm.ftz.f
+ 1, // llvm.nvvm.add.rn.d
+ 1, // llvm.nvvm.add.rn.f
+ 1, // llvm.nvvm.add.rn.ftz.f
+ 1, // llvm.nvvm.add.rp.d
+ 1, // llvm.nvvm.add.rp.f
+ 1, // llvm.nvvm.add.rp.ftz.f
+ 1, // llvm.nvvm.add.rz.d
+ 1, // llvm.nvvm.add.rz.f
+ 1, // llvm.nvvm.add.rz.ftz.f
+ 15, // llvm.nvvm.atomic.add.gen.f.cta
+ 15, // llvm.nvvm.atomic.add.gen.f.sys
+ 15, // llvm.nvvm.atomic.add.gen.i.cta
+ 15, // llvm.nvvm.atomic.add.gen.i.sys
+ 15, // llvm.nvvm.atomic.and.gen.i.cta
+ 15, // llvm.nvvm.atomic.and.gen.i.sys
+ 15, // llvm.nvvm.atomic.cas.gen.i.cta
+ 15, // llvm.nvvm.atomic.cas.gen.i.sys
+ 15, // llvm.nvvm.atomic.dec.gen.i.cta
+ 15, // llvm.nvvm.atomic.dec.gen.i.sys
+ 15, // llvm.nvvm.atomic.exch.gen.i.cta
+ 15, // llvm.nvvm.atomic.exch.gen.i.sys
+ 15, // llvm.nvvm.atomic.inc.gen.i.cta
+ 15, // llvm.nvvm.atomic.inc.gen.i.sys
+ 15, // llvm.nvvm.atomic.load.add.f32
+ 15, // llvm.nvvm.atomic.load.dec.32
+ 15, // llvm.nvvm.atomic.load.inc.32
+ 15, // llvm.nvvm.atomic.max.gen.i.cta
+ 15, // llvm.nvvm.atomic.max.gen.i.sys
+ 15, // llvm.nvvm.atomic.min.gen.i.cta
+ 15, // llvm.nvvm.atomic.min.gen.i.sys
+ 15, // llvm.nvvm.atomic.or.gen.i.cta
+ 15, // llvm.nvvm.atomic.or.gen.i.sys
+ 15, // llvm.nvvm.atomic.xor.gen.i.cta
+ 15, // llvm.nvvm.atomic.xor.gen.i.sys
+ 27, // llvm.nvvm.bar.sync
+ 27, // llvm.nvvm.barrier0
+ 27, // llvm.nvvm.barrier0.and
+ 27, // llvm.nvvm.barrier0.or
+ 27, // llvm.nvvm.barrier0.popc
+ 1, // llvm.nvvm.bitcast.d2ll
+ 1, // llvm.nvvm.bitcast.f2i
+ 1, // llvm.nvvm.bitcast.i2f
+ 1, // llvm.nvvm.bitcast.ll2d
+ 1, // llvm.nvvm.brev32
+ 1, // llvm.nvvm.brev64
+ 1, // llvm.nvvm.ceil.d
+ 1, // llvm.nvvm.ceil.f
+ 1, // llvm.nvvm.ceil.ftz.f
+ 1, // llvm.nvvm.clz.i
+ 1, // llvm.nvvm.clz.ll
+ 3, // llvm.nvvm.compiler.error
+ 3, // llvm.nvvm.compiler.warn
+ 1, // llvm.nvvm.cos.approx.f
+ 1, // llvm.nvvm.cos.approx.ftz.f
+ 1, // llvm.nvvm.d2f.rm
+ 1, // llvm.nvvm.d2f.rm.ftz
+ 1, // llvm.nvvm.d2f.rn
+ 1, // llvm.nvvm.d2f.rn.ftz
+ 1, // llvm.nvvm.d2f.rp
+ 1, // llvm.nvvm.d2f.rp.ftz
+ 1, // llvm.nvvm.d2f.rz
+ 1, // llvm.nvvm.d2f.rz.ftz
+ 1, // llvm.nvvm.d2i.hi
+ 1, // llvm.nvvm.d2i.lo
+ 1, // llvm.nvvm.d2i.rm
+ 1, // llvm.nvvm.d2i.rn
+ 1, // llvm.nvvm.d2i.rp
+ 1, // llvm.nvvm.d2i.rz
+ 1, // llvm.nvvm.d2ll.rm
+ 1, // llvm.nvvm.d2ll.rn
+ 1, // llvm.nvvm.d2ll.rp
+ 1, // llvm.nvvm.d2ll.rz
+ 1, // llvm.nvvm.d2ui.rm
+ 1, // llvm.nvvm.d2ui.rn
+ 1, // llvm.nvvm.d2ui.rp
+ 1, // llvm.nvvm.d2ui.rz
+ 1, // llvm.nvvm.d2ull.rm
+ 1, // llvm.nvvm.d2ull.rn
+ 1, // llvm.nvvm.d2ull.rp
+ 1, // llvm.nvvm.d2ull.rz
+ 1, // llvm.nvvm.div.approx.f
+ 1, // llvm.nvvm.div.approx.ftz.f
+ 1, // llvm.nvvm.div.rm.d
+ 1, // llvm.nvvm.div.rm.f
+ 1, // llvm.nvvm.div.rm.ftz.f
+ 1, // llvm.nvvm.div.rn.d
+ 1, // llvm.nvvm.div.rn.f
+ 1, // llvm.nvvm.div.rn.ftz.f
+ 1, // llvm.nvvm.div.rp.d
+ 1, // llvm.nvvm.div.rp.f
+ 1, // llvm.nvvm.div.rp.ftz.f
+ 1, // llvm.nvvm.div.rz.d
+ 1, // llvm.nvvm.div.rz.f
+ 1, // llvm.nvvm.div.rz.ftz.f
+ 1, // llvm.nvvm.ex2.approx.d
+ 1, // llvm.nvvm.ex2.approx.f
+ 1, // llvm.nvvm.ex2.approx.ftz.f
+ 1, // llvm.nvvm.f2h.rn
+ 1, // llvm.nvvm.f2h.rn.ftz
+ 1, // llvm.nvvm.f2i.rm
+ 1, // llvm.nvvm.f2i.rm.ftz
+ 1, // llvm.nvvm.f2i.rn
+ 1, // llvm.nvvm.f2i.rn.ftz
+ 1, // llvm.nvvm.f2i.rp
+ 1, // llvm.nvvm.f2i.rp.ftz
+ 1, // llvm.nvvm.f2i.rz
+ 1, // llvm.nvvm.f2i.rz.ftz
+ 1, // llvm.nvvm.f2ll.rm
+ 1, // llvm.nvvm.f2ll.rm.ftz
+ 1, // llvm.nvvm.f2ll.rn
+ 1, // llvm.nvvm.f2ll.rn.ftz
+ 1, // llvm.nvvm.f2ll.rp
+ 1, // llvm.nvvm.f2ll.rp.ftz
+ 1, // llvm.nvvm.f2ll.rz
+ 1, // llvm.nvvm.f2ll.rz.ftz
+ 1, // llvm.nvvm.f2ui.rm
+ 1, // llvm.nvvm.f2ui.rm.ftz
+ 1, // llvm.nvvm.f2ui.rn
+ 1, // llvm.nvvm.f2ui.rn.ftz
+ 1, // llvm.nvvm.f2ui.rp
+ 1, // llvm.nvvm.f2ui.rp.ftz
+ 1, // llvm.nvvm.f2ui.rz
+ 1, // llvm.nvvm.f2ui.rz.ftz
+ 1, // llvm.nvvm.f2ull.rm
+ 1, // llvm.nvvm.f2ull.rm.ftz
+ 1, // llvm.nvvm.f2ull.rn
+ 1, // llvm.nvvm.f2ull.rn.ftz
+ 1, // llvm.nvvm.f2ull.rp
+ 1, // llvm.nvvm.f2ull.rp.ftz
+ 1, // llvm.nvvm.f2ull.rz
+ 1, // llvm.nvvm.f2ull.rz.ftz
+ 1, // llvm.nvvm.fabs.d
+ 1, // llvm.nvvm.fabs.f
+ 1, // llvm.nvvm.fabs.ftz.f
+ 1, // llvm.nvvm.floor.d
+ 1, // llvm.nvvm.floor.f
+ 1, // llvm.nvvm.floor.ftz.f
+ 1, // llvm.nvvm.fma.rm.d
+ 1, // llvm.nvvm.fma.rm.f
+ 1, // llvm.nvvm.fma.rm.ftz.f
+ 1, // llvm.nvvm.fma.rn.d
+ 1, // llvm.nvvm.fma.rn.f
+ 1, // llvm.nvvm.fma.rn.ftz.f
+ 1, // llvm.nvvm.fma.rp.d
+ 1, // llvm.nvvm.fma.rp.f
+ 1, // llvm.nvvm.fma.rp.ftz.f
+ 1, // llvm.nvvm.fma.rz.d
+ 1, // llvm.nvvm.fma.rz.f
+ 1, // llvm.nvvm.fma.rz.ftz.f
+ 1, // llvm.nvvm.fmax.d
+ 1, // llvm.nvvm.fmax.f
+ 1, // llvm.nvvm.fmax.ftz.f
+ 1, // llvm.nvvm.fmin.d
+ 1, // llvm.nvvm.fmin.f
+ 1, // llvm.nvvm.fmin.ftz.f
+ 1, // llvm.nvvm.h2f
+ 1, // llvm.nvvm.i2d.rm
+ 1, // llvm.nvvm.i2d.rn
+ 1, // llvm.nvvm.i2d.rp
+ 1, // llvm.nvvm.i2d.rz
+ 1, // llvm.nvvm.i2f.rm
+ 1, // llvm.nvvm.i2f.rn
+ 1, // llvm.nvvm.i2f.rp
+ 1, // llvm.nvvm.i2f.rz
+ 1, // llvm.nvvm.isspacep.const
+ 1, // llvm.nvvm.isspacep.global
+ 1, // llvm.nvvm.isspacep.local
+ 1, // llvm.nvvm.isspacep.shared
+ 1, // llvm.nvvm.istypep.sampler
+ 1, // llvm.nvvm.istypep.surface
+ 1, // llvm.nvvm.istypep.texture
+ 29, // llvm.nvvm.ldg.global.f
+ 29, // llvm.nvvm.ldg.global.i
+ 29, // llvm.nvvm.ldg.global.p
+ 29, // llvm.nvvm.ldu.global.f
+ 29, // llvm.nvvm.ldu.global.i
+ 29, // llvm.nvvm.ldu.global.p
+ 1, // llvm.nvvm.lg2.approx.d
+ 1, // llvm.nvvm.lg2.approx.f
+ 1, // llvm.nvvm.lg2.approx.ftz.f
+ 1, // llvm.nvvm.ll2d.rm
+ 1, // llvm.nvvm.ll2d.rn
+ 1, // llvm.nvvm.ll2d.rp
+ 1, // llvm.nvvm.ll2d.rz
+ 1, // llvm.nvvm.ll2f.rm
+ 1, // llvm.nvvm.ll2f.rn
+ 1, // llvm.nvvm.ll2f.rp
+ 1, // llvm.nvvm.ll2f.rz
+ 1, // llvm.nvvm.lohi.i2d
+ 1, // llvm.nvvm.max.i
+ 1, // llvm.nvvm.max.ll
+ 1, // llvm.nvvm.max.ui
+ 1, // llvm.nvvm.max.ull
+ 3, // llvm.nvvm.membar.cta
+ 3, // llvm.nvvm.membar.gl
+ 3, // llvm.nvvm.membar.sys
+ 1, // llvm.nvvm.min.i
+ 1, // llvm.nvvm.min.ll
+ 1, // llvm.nvvm.min.ui
+ 1, // llvm.nvvm.min.ull
+ 1, // llvm.nvvm.move.double
+ 1, // llvm.nvvm.move.float
+ 1, // llvm.nvvm.move.i16
+ 1, // llvm.nvvm.move.i32
+ 1, // llvm.nvvm.move.i64
+ 10, // llvm.nvvm.move.ptr
+ 1, // llvm.nvvm.mul.rm.d
+ 1, // llvm.nvvm.mul.rm.f
+ 1, // llvm.nvvm.mul.rm.ftz.f
+ 1, // llvm.nvvm.mul.rn.d
+ 1, // llvm.nvvm.mul.rn.f
+ 1, // llvm.nvvm.mul.rn.ftz.f
+ 1, // llvm.nvvm.mul.rp.d
+ 1, // llvm.nvvm.mul.rp.f
+ 1, // llvm.nvvm.mul.rp.ftz.f
+ 1, // llvm.nvvm.mul.rz.d
+ 1, // llvm.nvvm.mul.rz.f
+ 1, // llvm.nvvm.mul.rz.ftz.f
+ 1, // llvm.nvvm.mul24.i
+ 1, // llvm.nvvm.mul24.ui
+ 1, // llvm.nvvm.mulhi.i
+ 1, // llvm.nvvm.mulhi.ll
+ 1, // llvm.nvvm.mulhi.ui
+ 1, // llvm.nvvm.mulhi.ull
+ 1, // llvm.nvvm.popc.i
+ 1, // llvm.nvvm.popc.ll
+ 1, // llvm.nvvm.prmt
+ 1, // llvm.nvvm.ptr.constant.to.gen
+ 1, // llvm.nvvm.ptr.gen.to.constant
+ 1, // llvm.nvvm.ptr.gen.to.global
+ 1, // llvm.nvvm.ptr.gen.to.local
+ 1, // llvm.nvvm.ptr.gen.to.param
+ 1, // llvm.nvvm.ptr.gen.to.shared
+ 1, // llvm.nvvm.ptr.global.to.gen
+ 1, // llvm.nvvm.ptr.local.to.gen
+ 1, // llvm.nvvm.ptr.shared.to.gen
+ 1, // llvm.nvvm.rcp.approx.ftz.d
+ 1, // llvm.nvvm.rcp.rm.d
+ 1, // llvm.nvvm.rcp.rm.f
+ 1, // llvm.nvvm.rcp.rm.ftz.f
+ 1, // llvm.nvvm.rcp.rn.d
+ 1, // llvm.nvvm.rcp.rn.f
+ 1, // llvm.nvvm.rcp.rn.ftz.f
+ 1, // llvm.nvvm.rcp.rp.d
+ 1, // llvm.nvvm.rcp.rp.f
+ 1, // llvm.nvvm.rcp.rp.ftz.f
+ 1, // llvm.nvvm.rcp.rz.d
+ 1, // llvm.nvvm.rcp.rz.f
+ 1, // llvm.nvvm.rcp.rz.ftz.f
+ 1, // llvm.nvvm.read.ptx.sreg.clock
+ 1, // llvm.nvvm.read.ptx.sreg.clock64
+ 1, // llvm.nvvm.read.ptx.sreg.ctaid.w
+ 1, // llvm.nvvm.read.ptx.sreg.ctaid.x
+ 1, // llvm.nvvm.read.ptx.sreg.ctaid.y
+ 1, // llvm.nvvm.read.ptx.sreg.ctaid.z
+ 1, // llvm.nvvm.read.ptx.sreg.envreg0
+ 1, // llvm.nvvm.read.ptx.sreg.envreg1
+ 1, // llvm.nvvm.read.ptx.sreg.envreg10
+ 1, // llvm.nvvm.read.ptx.sreg.envreg11
+ 1, // llvm.nvvm.read.ptx.sreg.envreg12
+ 1, // llvm.nvvm.read.ptx.sreg.envreg13
+ 1, // llvm.nvvm.read.ptx.sreg.envreg14
+ 1, // llvm.nvvm.read.ptx.sreg.envreg15
+ 1, // llvm.nvvm.read.ptx.sreg.envreg16
+ 1, // llvm.nvvm.read.ptx.sreg.envreg17
+ 1, // llvm.nvvm.read.ptx.sreg.envreg18
+ 1, // llvm.nvvm.read.ptx.sreg.envreg19
+ 1, // llvm.nvvm.read.ptx.sreg.envreg2
+ 1, // llvm.nvvm.read.ptx.sreg.envreg20
+ 1, // llvm.nvvm.read.ptx.sreg.envreg21
+ 1, // llvm.nvvm.read.ptx.sreg.envreg22
+ 1, // llvm.nvvm.read.ptx.sreg.envreg23
+ 1, // llvm.nvvm.read.ptx.sreg.envreg24
+ 1, // llvm.nvvm.read.ptx.sreg.envreg25
+ 1, // llvm.nvvm.read.ptx.sreg.envreg26
+ 1, // llvm.nvvm.read.ptx.sreg.envreg27
+ 1, // llvm.nvvm.read.ptx.sreg.envreg28
+ 1, // llvm.nvvm.read.ptx.sreg.envreg29
+ 1, // llvm.nvvm.read.ptx.sreg.envreg3
+ 1, // llvm.nvvm.read.ptx.sreg.envreg30
+ 1, // llvm.nvvm.read.ptx.sreg.envreg31
+ 1, // llvm.nvvm.read.ptx.sreg.envreg4
+ 1, // llvm.nvvm.read.ptx.sreg.envreg5
+ 1, // llvm.nvvm.read.ptx.sreg.envreg6
+ 1, // llvm.nvvm.read.ptx.sreg.envreg7
+ 1, // llvm.nvvm.read.ptx.sreg.envreg8
+ 1, // llvm.nvvm.read.ptx.sreg.envreg9
+ 1, // llvm.nvvm.read.ptx.sreg.gridid
+ 1, // llvm.nvvm.read.ptx.sreg.laneid
+ 1, // llvm.nvvm.read.ptx.sreg.lanemask.eq
+ 1, // llvm.nvvm.read.ptx.sreg.lanemask.ge
+ 1, // llvm.nvvm.read.ptx.sreg.lanemask.gt
+ 1, // llvm.nvvm.read.ptx.sreg.lanemask.le
+ 1, // llvm.nvvm.read.ptx.sreg.lanemask.lt
+ 1, // llvm.nvvm.read.ptx.sreg.nctaid.w
+ 1, // llvm.nvvm.read.ptx.sreg.nctaid.x
+ 1, // llvm.nvvm.read.ptx.sreg.nctaid.y
+ 1, // llvm.nvvm.read.ptx.sreg.nctaid.z
+ 1, // llvm.nvvm.read.ptx.sreg.nsmid
+ 1, // llvm.nvvm.read.ptx.sreg.ntid.w
+ 1, // llvm.nvvm.read.ptx.sreg.ntid.x
+ 1, // llvm.nvvm.read.ptx.sreg.ntid.y
+ 1, // llvm.nvvm.read.ptx.sreg.ntid.z
+ 1, // llvm.nvvm.read.ptx.sreg.nwarpid
+ 1, // llvm.nvvm.read.ptx.sreg.pm0
+ 1, // llvm.nvvm.read.ptx.sreg.pm1
+ 1, // llvm.nvvm.read.ptx.sreg.pm2
+ 1, // llvm.nvvm.read.ptx.sreg.pm3
+ 1, // llvm.nvvm.read.ptx.sreg.smid
+ 1, // llvm.nvvm.read.ptx.sreg.tid.w
+ 1, // llvm.nvvm.read.ptx.sreg.tid.x
+ 1, // llvm.nvvm.read.ptx.sreg.tid.y
+ 1, // llvm.nvvm.read.ptx.sreg.tid.z
+ 1, // llvm.nvvm.read.ptx.sreg.warpid
+ 1, // llvm.nvvm.read.ptx.sreg.warpsize
+ 1, // llvm.nvvm.reflect
+ 1, // llvm.nvvm.rotate.b32
+ 1, // llvm.nvvm.rotate.b64
+ 1, // llvm.nvvm.rotate.right.b64
+ 1, // llvm.nvvm.round.d
+ 1, // llvm.nvvm.round.f
+ 1, // llvm.nvvm.round.ftz.f
+ 1, // llvm.nvvm.rsqrt.approx.d
+ 1, // llvm.nvvm.rsqrt.approx.f
+ 1, // llvm.nvvm.rsqrt.approx.ftz.f
+ 1, // llvm.nvvm.sad.i
+ 1, // llvm.nvvm.sad.ui
+ 1, // llvm.nvvm.saturate.d
+ 1, // llvm.nvvm.saturate.f
+ 1, // llvm.nvvm.saturate.ftz.f
+ 26, // llvm.nvvm.shfl.bfly.f32
+ 26, // llvm.nvvm.shfl.bfly.i32
+ 26, // llvm.nvvm.shfl.down.f32
+ 26, // llvm.nvvm.shfl.down.i32
+ 26, // llvm.nvvm.shfl.idx.f32
+ 26, // llvm.nvvm.shfl.idx.i32
+ 26, // llvm.nvvm.shfl.up.f32
+ 26, // llvm.nvvm.shfl.up.i32
+ 1, // llvm.nvvm.sin.approx.f
+ 1, // llvm.nvvm.sin.approx.ftz.f
+ 1, // llvm.nvvm.sqrt.approx.f
+ 1, // llvm.nvvm.sqrt.approx.ftz.f
+ 1, // llvm.nvvm.sqrt.f
+ 1, // llvm.nvvm.sqrt.rm.d
+ 1, // llvm.nvvm.sqrt.rm.f
+ 1, // llvm.nvvm.sqrt.rm.ftz.f
+ 1, // llvm.nvvm.sqrt.rn.d
+ 1, // llvm.nvvm.sqrt.rn.f
+ 1, // llvm.nvvm.sqrt.rn.ftz.f
+ 1, // llvm.nvvm.sqrt.rp.d
+ 1, // llvm.nvvm.sqrt.rp.f
+ 1, // llvm.nvvm.sqrt.rp.ftz.f
+ 1, // llvm.nvvm.sqrt.rz.d
+ 1, // llvm.nvvm.sqrt.rz.f
+ 1, // llvm.nvvm.sqrt.rz.ftz.f
+ 3, // llvm.nvvm.suld.1d.array.i16.clamp
+ 3, // llvm.nvvm.suld.1d.array.i16.trap
+ 3, // llvm.nvvm.suld.1d.array.i16.zero
+ 3, // llvm.nvvm.suld.1d.array.i32.clamp
+ 3, // llvm.nvvm.suld.1d.array.i32.trap
+ 3, // llvm.nvvm.suld.1d.array.i32.zero
+ 3, // llvm.nvvm.suld.1d.array.i64.clamp
+ 3, // llvm.nvvm.suld.1d.array.i64.trap
+ 3, // llvm.nvvm.suld.1d.array.i64.zero
+ 3, // llvm.nvvm.suld.1d.array.i8.clamp
+ 3, // llvm.nvvm.suld.1d.array.i8.trap
+ 3, // llvm.nvvm.suld.1d.array.i8.zero
+ 3, // llvm.nvvm.suld.1d.array.v2i16.clamp
+ 3, // llvm.nvvm.suld.1d.array.v2i16.trap
+ 3, // llvm.nvvm.suld.1d.array.v2i16.zero
+ 3, // llvm.nvvm.suld.1d.array.v2i32.clamp
+ 3, // llvm.nvvm.suld.1d.array.v2i32.trap
+ 3, // llvm.nvvm.suld.1d.array.v2i32.zero
+ 3, // llvm.nvvm.suld.1d.array.v2i64.clamp
+ 3, // llvm.nvvm.suld.1d.array.v2i64.trap
+ 3, // llvm.nvvm.suld.1d.array.v2i64.zero
+ 3, // llvm.nvvm.suld.1d.array.v2i8.clamp
+ 3, // llvm.nvvm.suld.1d.array.v2i8.trap
+ 3, // llvm.nvvm.suld.1d.array.v2i8.zero
+ 3, // llvm.nvvm.suld.1d.array.v4i16.clamp
+ 3, // llvm.nvvm.suld.1d.array.v4i16.trap
+ 3, // llvm.nvvm.suld.1d.array.v4i16.zero
+ 3, // llvm.nvvm.suld.1d.array.v4i32.clamp
+ 3, // llvm.nvvm.suld.1d.array.v4i32.trap
+ 3, // llvm.nvvm.suld.1d.array.v4i32.zero
+ 3, // llvm.nvvm.suld.1d.array.v4i8.clamp
+ 3, // llvm.nvvm.suld.1d.array.v4i8.trap
+ 3, // llvm.nvvm.suld.1d.array.v4i8.zero
+ 3, // llvm.nvvm.suld.1d.i16.clamp
+ 3, // llvm.nvvm.suld.1d.i16.trap
+ 3, // llvm.nvvm.suld.1d.i16.zero
+ 3, // llvm.nvvm.suld.1d.i32.clamp
+ 3, // llvm.nvvm.suld.1d.i32.trap
+ 3, // llvm.nvvm.suld.1d.i32.zero
+ 3, // llvm.nvvm.suld.1d.i64.clamp
+ 3, // llvm.nvvm.suld.1d.i64.trap
+ 3, // llvm.nvvm.suld.1d.i64.zero
+ 3, // llvm.nvvm.suld.1d.i8.clamp
+ 3, // llvm.nvvm.suld.1d.i8.trap
+ 3, // llvm.nvvm.suld.1d.i8.zero
+ 3, // llvm.nvvm.suld.1d.v2i16.clamp
+ 3, // llvm.nvvm.suld.1d.v2i16.trap
+ 3, // llvm.nvvm.suld.1d.v2i16.zero
+ 3, // llvm.nvvm.suld.1d.v2i32.clamp
+ 3, // llvm.nvvm.suld.1d.v2i32.trap
+ 3, // llvm.nvvm.suld.1d.v2i32.zero
+ 3, // llvm.nvvm.suld.1d.v2i64.clamp
+ 3, // llvm.nvvm.suld.1d.v2i64.trap
+ 3, // llvm.nvvm.suld.1d.v2i64.zero
+ 3, // llvm.nvvm.suld.1d.v2i8.clamp
+ 3, // llvm.nvvm.suld.1d.v2i8.trap
+ 3, // llvm.nvvm.suld.1d.v2i8.zero
+ 3, // llvm.nvvm.suld.1d.v4i16.clamp
+ 3, // llvm.nvvm.suld.1d.v4i16.trap
+ 3, // llvm.nvvm.suld.1d.v4i16.zero
+ 3, // llvm.nvvm.suld.1d.v4i32.clamp
+ 3, // llvm.nvvm.suld.1d.v4i32.trap
+ 3, // llvm.nvvm.suld.1d.v4i32.zero
+ 3, // llvm.nvvm.suld.1d.v4i8.clamp
+ 3, // llvm.nvvm.suld.1d.v4i8.trap
+ 3, // llvm.nvvm.suld.1d.v4i8.zero
+ 3, // llvm.nvvm.suld.2d.array.i16.clamp
+ 3, // llvm.nvvm.suld.2d.array.i16.trap
+ 3, // llvm.nvvm.suld.2d.array.i16.zero
+ 3, // llvm.nvvm.suld.2d.array.i32.clamp
+ 3, // llvm.nvvm.suld.2d.array.i32.trap
+ 3, // llvm.nvvm.suld.2d.array.i32.zero
+ 3, // llvm.nvvm.suld.2d.array.i64.clamp
+ 3, // llvm.nvvm.suld.2d.array.i64.trap
+ 3, // llvm.nvvm.suld.2d.array.i64.zero
+ 3, // llvm.nvvm.suld.2d.array.i8.clamp
+ 3, // llvm.nvvm.suld.2d.array.i8.trap
+ 3, // llvm.nvvm.suld.2d.array.i8.zero
+ 3, // llvm.nvvm.suld.2d.array.v2i16.clamp
+ 3, // llvm.nvvm.suld.2d.array.v2i16.trap
+ 3, // llvm.nvvm.suld.2d.array.v2i16.zero
+ 3, // llvm.nvvm.suld.2d.array.v2i32.clamp
+ 3, // llvm.nvvm.suld.2d.array.v2i32.trap
+ 3, // llvm.nvvm.suld.2d.array.v2i32.zero
+ 3, // llvm.nvvm.suld.2d.array.v2i64.clamp
+ 3, // llvm.nvvm.suld.2d.array.v2i64.trap
+ 3, // llvm.nvvm.suld.2d.array.v2i64.zero
+ 3, // llvm.nvvm.suld.2d.array.v2i8.clamp
+ 3, // llvm.nvvm.suld.2d.array.v2i8.trap
+ 3, // llvm.nvvm.suld.2d.array.v2i8.zero
+ 3, // llvm.nvvm.suld.2d.array.v4i16.clamp
+ 3, // llvm.nvvm.suld.2d.array.v4i16.trap
+ 3, // llvm.nvvm.suld.2d.array.v4i16.zero
+ 3, // llvm.nvvm.suld.2d.array.v4i32.clamp
+ 3, // llvm.nvvm.suld.2d.array.v4i32.trap
+ 3, // llvm.nvvm.suld.2d.array.v4i32.zero
+ 3, // llvm.nvvm.suld.2d.array.v4i8.clamp
+ 3, // llvm.nvvm.suld.2d.array.v4i8.trap
+ 3, // llvm.nvvm.suld.2d.array.v4i8.zero
+ 3, // llvm.nvvm.suld.2d.i16.clamp
+ 3, // llvm.nvvm.suld.2d.i16.trap
+ 3, // llvm.nvvm.suld.2d.i16.zero
+ 3, // llvm.nvvm.suld.2d.i32.clamp
+ 3, // llvm.nvvm.suld.2d.i32.trap
+ 3, // llvm.nvvm.suld.2d.i32.zero
+ 3, // llvm.nvvm.suld.2d.i64.clamp
+ 3, // llvm.nvvm.suld.2d.i64.trap
+ 3, // llvm.nvvm.suld.2d.i64.zero
+ 3, // llvm.nvvm.suld.2d.i8.clamp
+ 3, // llvm.nvvm.suld.2d.i8.trap
+ 3, // llvm.nvvm.suld.2d.i8.zero
+ 3, // llvm.nvvm.suld.2d.v2i16.clamp
+ 3, // llvm.nvvm.suld.2d.v2i16.trap
+ 3, // llvm.nvvm.suld.2d.v2i16.zero
+ 3, // llvm.nvvm.suld.2d.v2i32.clamp
+ 3, // llvm.nvvm.suld.2d.v2i32.trap
+ 3, // llvm.nvvm.suld.2d.v2i32.zero
+ 3, // llvm.nvvm.suld.2d.v2i64.clamp
+ 3, // llvm.nvvm.suld.2d.v2i64.trap
+ 3, // llvm.nvvm.suld.2d.v2i64.zero
+ 3, // llvm.nvvm.suld.2d.v2i8.clamp
+ 3, // llvm.nvvm.suld.2d.v2i8.trap
+ 3, // llvm.nvvm.suld.2d.v2i8.zero
+ 3, // llvm.nvvm.suld.2d.v4i16.clamp
+ 3, // llvm.nvvm.suld.2d.v4i16.trap
+ 3, // llvm.nvvm.suld.2d.v4i16.zero
+ 3, // llvm.nvvm.suld.2d.v4i32.clamp
+ 3, // llvm.nvvm.suld.2d.v4i32.trap
+ 3, // llvm.nvvm.suld.2d.v4i32.zero
+ 3, // llvm.nvvm.suld.2d.v4i8.clamp
+ 3, // llvm.nvvm.suld.2d.v4i8.trap
+ 3, // llvm.nvvm.suld.2d.v4i8.zero
+ 3, // llvm.nvvm.suld.3d.i16.clamp
+ 3, // llvm.nvvm.suld.3d.i16.trap
+ 3, // llvm.nvvm.suld.3d.i16.zero
+ 3, // llvm.nvvm.suld.3d.i32.clamp
+ 3, // llvm.nvvm.suld.3d.i32.trap
+ 3, // llvm.nvvm.suld.3d.i32.zero
+ 3, // llvm.nvvm.suld.3d.i64.clamp
+ 3, // llvm.nvvm.suld.3d.i64.trap
+ 3, // llvm.nvvm.suld.3d.i64.zero
+ 3, // llvm.nvvm.suld.3d.i8.clamp
+ 3, // llvm.nvvm.suld.3d.i8.trap
+ 3, // llvm.nvvm.suld.3d.i8.zero
+ 3, // llvm.nvvm.suld.3d.v2i16.clamp
+ 3, // llvm.nvvm.suld.3d.v2i16.trap
+ 3, // llvm.nvvm.suld.3d.v2i16.zero
+ 3, // llvm.nvvm.suld.3d.v2i32.clamp
+ 3, // llvm.nvvm.suld.3d.v2i32.trap
+ 3, // llvm.nvvm.suld.3d.v2i32.zero
+ 3, // llvm.nvvm.suld.3d.v2i64.clamp
+ 3, // llvm.nvvm.suld.3d.v2i64.trap
+ 3, // llvm.nvvm.suld.3d.v2i64.zero
+ 3, // llvm.nvvm.suld.3d.v2i8.clamp
+ 3, // llvm.nvvm.suld.3d.v2i8.trap
+ 3, // llvm.nvvm.suld.3d.v2i8.zero
+ 3, // llvm.nvvm.suld.3d.v4i16.clamp
+ 3, // llvm.nvvm.suld.3d.v4i16.trap
+ 3, // llvm.nvvm.suld.3d.v4i16.zero
+ 3, // llvm.nvvm.suld.3d.v4i32.clamp
+ 3, // llvm.nvvm.suld.3d.v4i32.trap
+ 3, // llvm.nvvm.suld.3d.v4i32.zero
+ 3, // llvm.nvvm.suld.3d.v4i8.clamp
+ 3, // llvm.nvvm.suld.3d.v4i8.trap
+ 3, // llvm.nvvm.suld.3d.v4i8.zero
+ 1, // llvm.nvvm.suq.array.size
+ 1, // llvm.nvvm.suq.channel.data.type
+ 1, // llvm.nvvm.suq.channel.order
+ 1, // llvm.nvvm.suq.depth
+ 1, // llvm.nvvm.suq.height
+ 1, // llvm.nvvm.suq.width
+ 3, // llvm.nvvm.sust.b.1d.array.i16.clamp
+ 3, // llvm.nvvm.sust.b.1d.array.i16.trap
+ 3, // llvm.nvvm.sust.b.1d.array.i16.zero
+ 3, // llvm.nvvm.sust.b.1d.array.i32.clamp
+ 3, // llvm.nvvm.sust.b.1d.array.i32.trap
+ 3, // llvm.nvvm.sust.b.1d.array.i32.zero
+ 3, // llvm.nvvm.sust.b.1d.array.i64.clamp
+ 3, // llvm.nvvm.sust.b.1d.array.i64.trap
+ 3, // llvm.nvvm.sust.b.1d.array.i64.zero
+ 3, // llvm.nvvm.sust.b.1d.array.i8.clamp
+ 3, // llvm.nvvm.sust.b.1d.array.i8.trap
+ 3, // llvm.nvvm.sust.b.1d.array.i8.zero
+ 3, // llvm.nvvm.sust.b.1d.array.v2i16.clamp
+ 3, // llvm.nvvm.sust.b.1d.array.v2i16.trap
+ 3, // llvm.nvvm.sust.b.1d.array.v2i16.zero
+ 3, // llvm.nvvm.sust.b.1d.array.v2i32.clamp
+ 3, // llvm.nvvm.sust.b.1d.array.v2i32.trap
+ 3, // llvm.nvvm.sust.b.1d.array.v2i32.zero
+ 3, // llvm.nvvm.sust.b.1d.array.v2i64.clamp
+ 3, // llvm.nvvm.sust.b.1d.array.v2i64.trap
+ 3, // llvm.nvvm.sust.b.1d.array.v2i64.zero
+ 3, // llvm.nvvm.sust.b.1d.array.v2i8.clamp
+ 3, // llvm.nvvm.sust.b.1d.array.v2i8.trap
+ 3, // llvm.nvvm.sust.b.1d.array.v2i8.zero
+ 3, // llvm.nvvm.sust.b.1d.array.v4i16.clamp
+ 3, // llvm.nvvm.sust.b.1d.array.v4i16.trap
+ 3, // llvm.nvvm.sust.b.1d.array.v4i16.zero
+ 3, // llvm.nvvm.sust.b.1d.array.v4i32.clamp
+ 3, // llvm.nvvm.sust.b.1d.array.v4i32.trap
+ 3, // llvm.nvvm.sust.b.1d.array.v4i32.zero
+ 3, // llvm.nvvm.sust.b.1d.array.v4i8.clamp
+ 3, // llvm.nvvm.sust.b.1d.array.v4i8.trap
+ 3, // llvm.nvvm.sust.b.1d.array.v4i8.zero
+ 3, // llvm.nvvm.sust.b.1d.i16.clamp
+ 3, // llvm.nvvm.sust.b.1d.i16.trap
+ 3, // llvm.nvvm.sust.b.1d.i16.zero
+ 3, // llvm.nvvm.sust.b.1d.i32.clamp
+ 3, // llvm.nvvm.sust.b.1d.i32.trap
+ 3, // llvm.nvvm.sust.b.1d.i32.zero
+ 3, // llvm.nvvm.sust.b.1d.i64.clamp
+ 3, // llvm.nvvm.sust.b.1d.i64.trap
+ 3, // llvm.nvvm.sust.b.1d.i64.zero
+ 3, // llvm.nvvm.sust.b.1d.i8.clamp
+ 3, // llvm.nvvm.sust.b.1d.i8.trap
+ 3, // llvm.nvvm.sust.b.1d.i8.zero
+ 3, // llvm.nvvm.sust.b.1d.v2i16.clamp
+ 3, // llvm.nvvm.sust.b.1d.v2i16.trap
+ 3, // llvm.nvvm.sust.b.1d.v2i16.zero
+ 3, // llvm.nvvm.sust.b.1d.v2i32.clamp
+ 3, // llvm.nvvm.sust.b.1d.v2i32.trap
+ 3, // llvm.nvvm.sust.b.1d.v2i32.zero
+ 3, // llvm.nvvm.sust.b.1d.v2i64.clamp
+ 3, // llvm.nvvm.sust.b.1d.v2i64.trap
+ 3, // llvm.nvvm.sust.b.1d.v2i64.zero
+ 3, // llvm.nvvm.sust.b.1d.v2i8.clamp
+ 3, // llvm.nvvm.sust.b.1d.v2i8.trap
+ 3, // llvm.nvvm.sust.b.1d.v2i8.zero
+ 3, // llvm.nvvm.sust.b.1d.v4i16.clamp
+ 3, // llvm.nvvm.sust.b.1d.v4i16.trap
+ 3, // llvm.nvvm.sust.b.1d.v4i16.zero
+ 3, // llvm.nvvm.sust.b.1d.v4i32.clamp
+ 3, // llvm.nvvm.sust.b.1d.v4i32.trap
+ 3, // llvm.nvvm.sust.b.1d.v4i32.zero
+ 3, // llvm.nvvm.sust.b.1d.v4i8.clamp
+ 3, // llvm.nvvm.sust.b.1d.v4i8.trap
+ 3, // llvm.nvvm.sust.b.1d.v4i8.zero
+ 3, // llvm.nvvm.sust.b.2d.array.i16.clamp
+ 3, // llvm.nvvm.sust.b.2d.array.i16.trap
+ 3, // llvm.nvvm.sust.b.2d.array.i16.zero
+ 3, // llvm.nvvm.sust.b.2d.array.i32.clamp
+ 3, // llvm.nvvm.sust.b.2d.array.i32.trap
+ 3, // llvm.nvvm.sust.b.2d.array.i32.zero
+ 3, // llvm.nvvm.sust.b.2d.array.i64.clamp
+ 3, // llvm.nvvm.sust.b.2d.array.i64.trap
+ 3, // llvm.nvvm.sust.b.2d.array.i64.zero
+ 3, // llvm.nvvm.sust.b.2d.array.i8.clamp
+ 3, // llvm.nvvm.sust.b.2d.array.i8.trap
+ 3, // llvm.nvvm.sust.b.2d.array.i8.zero
+ 3, // llvm.nvvm.sust.b.2d.array.v2i16.clamp
+ 3, // llvm.nvvm.sust.b.2d.array.v2i16.trap
+ 3, // llvm.nvvm.sust.b.2d.array.v2i16.zero
+ 3, // llvm.nvvm.sust.b.2d.array.v2i32.clamp
+ 3, // llvm.nvvm.sust.b.2d.array.v2i32.trap
+ 3, // llvm.nvvm.sust.b.2d.array.v2i32.zero
+ 3, // llvm.nvvm.sust.b.2d.array.v2i64.clamp
+ 3, // llvm.nvvm.sust.b.2d.array.v2i64.trap
+ 3, // llvm.nvvm.sust.b.2d.array.v2i64.zero
+ 3, // llvm.nvvm.sust.b.2d.array.v2i8.clamp
+ 3, // llvm.nvvm.sust.b.2d.array.v2i8.trap
+ 3, // llvm.nvvm.sust.b.2d.array.v2i8.zero
+ 3, // llvm.nvvm.sust.b.2d.array.v4i16.clamp
+ 3, // llvm.nvvm.sust.b.2d.array.v4i16.trap
+ 3, // llvm.nvvm.sust.b.2d.array.v4i16.zero
+ 3, // llvm.nvvm.sust.b.2d.array.v4i32.clamp
+ 3, // llvm.nvvm.sust.b.2d.array.v4i32.trap
+ 3, // llvm.nvvm.sust.b.2d.array.v4i32.zero
+ 3, // llvm.nvvm.sust.b.2d.array.v4i8.clamp
+ 3, // llvm.nvvm.sust.b.2d.array.v4i8.trap
+ 3, // llvm.nvvm.sust.b.2d.array.v4i8.zero
+ 3, // llvm.nvvm.sust.b.2d.i16.clamp
+ 3, // llvm.nvvm.sust.b.2d.i16.trap
+ 3, // llvm.nvvm.sust.b.2d.i16.zero
+ 3, // llvm.nvvm.sust.b.2d.i32.clamp
+ 3, // llvm.nvvm.sust.b.2d.i32.trap
+ 3, // llvm.nvvm.sust.b.2d.i32.zero
+ 3, // llvm.nvvm.sust.b.2d.i64.clamp
+ 3, // llvm.nvvm.sust.b.2d.i64.trap
+ 3, // llvm.nvvm.sust.b.2d.i64.zero
+ 3, // llvm.nvvm.sust.b.2d.i8.clamp
+ 3, // llvm.nvvm.sust.b.2d.i8.trap
+ 3, // llvm.nvvm.sust.b.2d.i8.zero
+ 3, // llvm.nvvm.sust.b.2d.v2i16.clamp
+ 3, // llvm.nvvm.sust.b.2d.v2i16.trap
+ 3, // llvm.nvvm.sust.b.2d.v2i16.zero
+ 3, // llvm.nvvm.sust.b.2d.v2i32.clamp
+ 3, // llvm.nvvm.sust.b.2d.v2i32.trap
+ 3, // llvm.nvvm.sust.b.2d.v2i32.zero
+ 3, // llvm.nvvm.sust.b.2d.v2i64.clamp
+ 3, // llvm.nvvm.sust.b.2d.v2i64.trap
+ 3, // llvm.nvvm.sust.b.2d.v2i64.zero
+ 3, // llvm.nvvm.sust.b.2d.v2i8.clamp
+ 3, // llvm.nvvm.sust.b.2d.v2i8.trap
+ 3, // llvm.nvvm.sust.b.2d.v2i8.zero
+ 3, // llvm.nvvm.sust.b.2d.v4i16.clamp
+ 3, // llvm.nvvm.sust.b.2d.v4i16.trap
+ 3, // llvm.nvvm.sust.b.2d.v4i16.zero
+ 3, // llvm.nvvm.sust.b.2d.v4i32.clamp
+ 3, // llvm.nvvm.sust.b.2d.v4i32.trap
+ 3, // llvm.nvvm.sust.b.2d.v4i32.zero
+ 3, // llvm.nvvm.sust.b.2d.v4i8.clamp
+ 3, // llvm.nvvm.sust.b.2d.v4i8.trap
+ 3, // llvm.nvvm.sust.b.2d.v4i8.zero
+ 3, // llvm.nvvm.sust.b.3d.i16.clamp
+ 3, // llvm.nvvm.sust.b.3d.i16.trap
+ 3, // llvm.nvvm.sust.b.3d.i16.zero
+ 3, // llvm.nvvm.sust.b.3d.i32.clamp
+ 3, // llvm.nvvm.sust.b.3d.i32.trap
+ 3, // llvm.nvvm.sust.b.3d.i32.zero
+ 3, // llvm.nvvm.sust.b.3d.i64.clamp
+ 3, // llvm.nvvm.sust.b.3d.i64.trap
+ 3, // llvm.nvvm.sust.b.3d.i64.zero
+ 3, // llvm.nvvm.sust.b.3d.i8.clamp
+ 3, // llvm.nvvm.sust.b.3d.i8.trap
+ 3, // llvm.nvvm.sust.b.3d.i8.zero
+ 3, // llvm.nvvm.sust.b.3d.v2i16.clamp
+ 3, // llvm.nvvm.sust.b.3d.v2i16.trap
+ 3, // llvm.nvvm.sust.b.3d.v2i16.zero
+ 3, // llvm.nvvm.sust.b.3d.v2i32.clamp
+ 3, // llvm.nvvm.sust.b.3d.v2i32.trap
+ 3, // llvm.nvvm.sust.b.3d.v2i32.zero
+ 3, // llvm.nvvm.sust.b.3d.v2i64.clamp
+ 3, // llvm.nvvm.sust.b.3d.v2i64.trap
+ 3, // llvm.nvvm.sust.b.3d.v2i64.zero
+ 3, // llvm.nvvm.sust.b.3d.v2i8.clamp
+ 3, // llvm.nvvm.sust.b.3d.v2i8.trap
+ 3, // llvm.nvvm.sust.b.3d.v2i8.zero
+ 3, // llvm.nvvm.sust.b.3d.v4i16.clamp
+ 3, // llvm.nvvm.sust.b.3d.v4i16.trap
+ 3, // llvm.nvvm.sust.b.3d.v4i16.zero
+ 3, // llvm.nvvm.sust.b.3d.v4i32.clamp
+ 3, // llvm.nvvm.sust.b.3d.v4i32.trap
+ 3, // llvm.nvvm.sust.b.3d.v4i32.zero
+ 3, // llvm.nvvm.sust.b.3d.v4i8.clamp
+ 3, // llvm.nvvm.sust.b.3d.v4i8.trap
+ 3, // llvm.nvvm.sust.b.3d.v4i8.zero
+ 3, // llvm.nvvm.sust.p.1d.array.i16.trap
+ 3, // llvm.nvvm.sust.p.1d.array.i32.trap
+ 3, // llvm.nvvm.sust.p.1d.array.i8.trap
+ 3, // llvm.nvvm.sust.p.1d.array.v2i16.trap
+ 3, // llvm.nvvm.sust.p.1d.array.v2i32.trap
+ 3, // llvm.nvvm.sust.p.1d.array.v2i8.trap
+ 3, // llvm.nvvm.sust.p.1d.array.v4i16.trap
+ 3, // llvm.nvvm.sust.p.1d.array.v4i32.trap
+ 3, // llvm.nvvm.sust.p.1d.array.v4i8.trap
+ 3, // llvm.nvvm.sust.p.1d.i16.trap
+ 3, // llvm.nvvm.sust.p.1d.i32.trap
+ 3, // llvm.nvvm.sust.p.1d.i8.trap
+ 3, // llvm.nvvm.sust.p.1d.v2i16.trap
+ 3, // llvm.nvvm.sust.p.1d.v2i32.trap
+ 3, // llvm.nvvm.sust.p.1d.v2i8.trap
+ 3, // llvm.nvvm.sust.p.1d.v4i16.trap
+ 3, // llvm.nvvm.sust.p.1d.v4i32.trap
+ 3, // llvm.nvvm.sust.p.1d.v4i8.trap
+ 3, // llvm.nvvm.sust.p.2d.array.i16.trap
+ 3, // llvm.nvvm.sust.p.2d.array.i32.trap
+ 3, // llvm.nvvm.sust.p.2d.array.i8.trap
+ 3, // llvm.nvvm.sust.p.2d.array.v2i16.trap
+ 3, // llvm.nvvm.sust.p.2d.array.v2i32.trap
+ 3, // llvm.nvvm.sust.p.2d.array.v2i8.trap
+ 3, // llvm.nvvm.sust.p.2d.array.v4i16.trap
+ 3, // llvm.nvvm.sust.p.2d.array.v4i32.trap
+ 3, // llvm.nvvm.sust.p.2d.array.v4i8.trap
+ 3, // llvm.nvvm.sust.p.2d.i16.trap
+ 3, // llvm.nvvm.sust.p.2d.i32.trap
+ 3, // llvm.nvvm.sust.p.2d.i8.trap
+ 3, // llvm.nvvm.sust.p.2d.v2i16.trap
+ 3, // llvm.nvvm.sust.p.2d.v2i32.trap
+ 3, // llvm.nvvm.sust.p.2d.v2i8.trap
+ 3, // llvm.nvvm.sust.p.2d.v4i16.trap
+ 3, // llvm.nvvm.sust.p.2d.v4i32.trap
+ 3, // llvm.nvvm.sust.p.2d.v4i8.trap
+ 3, // llvm.nvvm.sust.p.3d.i16.trap
+ 3, // llvm.nvvm.sust.p.3d.i32.trap
+ 3, // llvm.nvvm.sust.p.3d.i8.trap
+ 3, // llvm.nvvm.sust.p.3d.v2i16.trap
+ 3, // llvm.nvvm.sust.p.3d.v2i32.trap
+ 3, // llvm.nvvm.sust.p.3d.v2i8.trap
+ 3, // llvm.nvvm.sust.p.3d.v4i16.trap
+ 3, // llvm.nvvm.sust.p.3d.v4i32.trap
+ 3, // llvm.nvvm.sust.p.3d.v4i8.trap
+ 1, // llvm.nvvm.swap.lo.hi.b64
+ 3, // llvm.nvvm.tex.1d.array.grad.v4f32.f32
+ 3, // llvm.nvvm.tex.1d.array.grad.v4s32.f32
+ 3, // llvm.nvvm.tex.1d.array.grad.v4u32.f32
+ 3, // llvm.nvvm.tex.1d.array.level.v4f32.f32
+ 3, // llvm.nvvm.tex.1d.array.level.v4s32.f32
+ 3, // llvm.nvvm.tex.1d.array.level.v4u32.f32
+ 3, // llvm.nvvm.tex.1d.array.v4f32.f32
+ 3, // llvm.nvvm.tex.1d.array.v4f32.s32
+ 3, // llvm.nvvm.tex.1d.array.v4s32.f32
+ 3, // llvm.nvvm.tex.1d.array.v4s32.s32
+ 3, // llvm.nvvm.tex.1d.array.v4u32.f32
+ 3, // llvm.nvvm.tex.1d.array.v4u32.s32
+ 3, // llvm.nvvm.tex.1d.grad.v4f32.f32
+ 3, // llvm.nvvm.tex.1d.grad.v4s32.f32
+ 3, // llvm.nvvm.tex.1d.grad.v4u32.f32
+ 3, // llvm.nvvm.tex.1d.level.v4f32.f32
+ 3, // llvm.nvvm.tex.1d.level.v4s32.f32
+ 3, // llvm.nvvm.tex.1d.level.v4u32.f32
+ 3, // llvm.nvvm.tex.1d.v4f32.f32
+ 3, // llvm.nvvm.tex.1d.v4f32.s32
+ 3, // llvm.nvvm.tex.1d.v4s32.f32
+ 3, // llvm.nvvm.tex.1d.v4s32.s32
+ 3, // llvm.nvvm.tex.1d.v4u32.f32
+ 3, // llvm.nvvm.tex.1d.v4u32.s32
+ 3, // llvm.nvvm.tex.2d.array.grad.v4f32.f32
+ 3, // llvm.nvvm.tex.2d.array.grad.v4s32.f32
+ 3, // llvm.nvvm.tex.2d.array.grad.v4u32.f32
+ 3, // llvm.nvvm.tex.2d.array.level.v4f32.f32
+ 3, // llvm.nvvm.tex.2d.array.level.v4s32.f32
+ 3, // llvm.nvvm.tex.2d.array.level.v4u32.f32
+ 3, // llvm.nvvm.tex.2d.array.v4f32.f32
+ 3, // llvm.nvvm.tex.2d.array.v4f32.s32
+ 3, // llvm.nvvm.tex.2d.array.v4s32.f32
+ 3, // llvm.nvvm.tex.2d.array.v4s32.s32
+ 3, // llvm.nvvm.tex.2d.array.v4u32.f32
+ 3, // llvm.nvvm.tex.2d.array.v4u32.s32
+ 3, // llvm.nvvm.tex.2d.grad.v4f32.f32
+ 3, // llvm.nvvm.tex.2d.grad.v4s32.f32
+ 3, // llvm.nvvm.tex.2d.grad.v4u32.f32
+ 3, // llvm.nvvm.tex.2d.level.v4f32.f32
+ 3, // llvm.nvvm.tex.2d.level.v4s32.f32
+ 3, // llvm.nvvm.tex.2d.level.v4u32.f32
+ 3, // llvm.nvvm.tex.2d.v4f32.f32
+ 3, // llvm.nvvm.tex.2d.v4f32.s32
+ 3, // llvm.nvvm.tex.2d.v4s32.f32
+ 3, // llvm.nvvm.tex.2d.v4s32.s32
+ 3, // llvm.nvvm.tex.2d.v4u32.f32
+ 3, // llvm.nvvm.tex.2d.v4u32.s32
+ 3, // llvm.nvvm.tex.3d.grad.v4f32.f32
+ 3, // llvm.nvvm.tex.3d.grad.v4s32.f32
+ 3, // llvm.nvvm.tex.3d.grad.v4u32.f32
+ 3, // llvm.nvvm.tex.3d.level.v4f32.f32
+ 3, // llvm.nvvm.tex.3d.level.v4s32.f32
+ 3, // llvm.nvvm.tex.3d.level.v4u32.f32
+ 3, // llvm.nvvm.tex.3d.v4f32.f32
+ 3, // llvm.nvvm.tex.3d.v4f32.s32
+ 3, // llvm.nvvm.tex.3d.v4s32.f32
+ 3, // llvm.nvvm.tex.3d.v4s32.s32
+ 3, // llvm.nvvm.tex.3d.v4u32.f32
+ 3, // llvm.nvvm.tex.3d.v4u32.s32
+ 3, // llvm.nvvm.tex.cube.array.level.v4f32.f32
+ 3, // llvm.nvvm.tex.cube.array.level.v4s32.f32
+ 3, // llvm.nvvm.tex.cube.array.level.v4u32.f32
+ 3, // llvm.nvvm.tex.cube.array.v4f32.f32
+ 3, // llvm.nvvm.tex.cube.array.v4s32.f32
+ 3, // llvm.nvvm.tex.cube.array.v4u32.f32
+ 3, // llvm.nvvm.tex.cube.level.v4f32.f32
+ 3, // llvm.nvvm.tex.cube.level.v4s32.f32
+ 3, // llvm.nvvm.tex.cube.level.v4u32.f32
+ 3, // llvm.nvvm.tex.cube.v4f32.f32
+ 3, // llvm.nvvm.tex.cube.v4s32.f32
+ 3, // llvm.nvvm.tex.cube.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.1d.array.grad.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.1d.array.grad.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.1d.array.grad.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.1d.array.level.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.1d.array.level.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.1d.array.level.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.1d.array.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.1d.array.v4f32.s32
+ 3, // llvm.nvvm.tex.unified.1d.array.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.1d.array.v4s32.s32
+ 3, // llvm.nvvm.tex.unified.1d.array.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.1d.array.v4u32.s32
+ 3, // llvm.nvvm.tex.unified.1d.grad.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.1d.grad.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.1d.grad.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.1d.level.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.1d.level.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.1d.level.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.1d.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.1d.v4f32.s32
+ 3, // llvm.nvvm.tex.unified.1d.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.1d.v4s32.s32
+ 3, // llvm.nvvm.tex.unified.1d.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.1d.v4u32.s32
+ 3, // llvm.nvvm.tex.unified.2d.array.grad.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.2d.array.grad.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.2d.array.grad.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.2d.array.level.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.2d.array.level.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.2d.array.level.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.2d.array.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.2d.array.v4f32.s32
+ 3, // llvm.nvvm.tex.unified.2d.array.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.2d.array.v4s32.s32
+ 3, // llvm.nvvm.tex.unified.2d.array.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.2d.array.v4u32.s32
+ 3, // llvm.nvvm.tex.unified.2d.grad.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.2d.grad.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.2d.grad.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.2d.level.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.2d.level.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.2d.level.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.2d.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.2d.v4f32.s32
+ 3, // llvm.nvvm.tex.unified.2d.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.2d.v4s32.s32
+ 3, // llvm.nvvm.tex.unified.2d.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.2d.v4u32.s32
+ 3, // llvm.nvvm.tex.unified.3d.grad.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.3d.grad.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.3d.grad.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.3d.level.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.3d.level.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.3d.level.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.3d.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.3d.v4f32.s32
+ 3, // llvm.nvvm.tex.unified.3d.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.3d.v4s32.s32
+ 3, // llvm.nvvm.tex.unified.3d.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.3d.v4u32.s32
+ 3, // llvm.nvvm.tex.unified.cube.array.level.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.cube.array.level.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.cube.array.level.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.cube.array.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.cube.array.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.cube.array.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.cube.level.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.cube.level.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.cube.level.v4u32.f32
+ 3, // llvm.nvvm.tex.unified.cube.v4f32.f32
+ 3, // llvm.nvvm.tex.unified.cube.v4s32.f32
+ 3, // llvm.nvvm.tex.unified.cube.v4u32.f32
+ 1, // llvm.nvvm.texsurf.handle
+ 1, // llvm.nvvm.texsurf.handle.internal
+ 3, // llvm.nvvm.tld4.a.2d.v4f32.f32
+ 3, // llvm.nvvm.tld4.a.2d.v4s32.f32
+ 3, // llvm.nvvm.tld4.a.2d.v4u32.f32
+ 3, // llvm.nvvm.tld4.b.2d.v4f32.f32
+ 3, // llvm.nvvm.tld4.b.2d.v4s32.f32
+ 3, // llvm.nvvm.tld4.b.2d.v4u32.f32
+ 3, // llvm.nvvm.tld4.g.2d.v4f32.f32
+ 3, // llvm.nvvm.tld4.g.2d.v4s32.f32
+ 3, // llvm.nvvm.tld4.g.2d.v4u32.f32
+ 3, // llvm.nvvm.tld4.r.2d.v4f32.f32
+ 3, // llvm.nvvm.tld4.r.2d.v4s32.f32
+ 3, // llvm.nvvm.tld4.r.2d.v4u32.f32
+ 3, // llvm.nvvm.tld4.unified.a.2d.v4f32.f32
+ 3, // llvm.nvvm.tld4.unified.a.2d.v4s32.f32
+ 3, // llvm.nvvm.tld4.unified.a.2d.v4u32.f32
+ 3, // llvm.nvvm.tld4.unified.b.2d.v4f32.f32
+ 3, // llvm.nvvm.tld4.unified.b.2d.v4s32.f32
+ 3, // llvm.nvvm.tld4.unified.b.2d.v4u32.f32
+ 3, // llvm.nvvm.tld4.unified.g.2d.v4f32.f32
+ 3, // llvm.nvvm.tld4.unified.g.2d.v4s32.f32
+ 3, // llvm.nvvm.tld4.unified.g.2d.v4u32.f32
+ 3, // llvm.nvvm.tld4.unified.r.2d.v4f32.f32
+ 3, // llvm.nvvm.tld4.unified.r.2d.v4s32.f32
+ 3, // llvm.nvvm.tld4.unified.r.2d.v4u32.f32
+ 1, // llvm.nvvm.trunc.d
+ 1, // llvm.nvvm.trunc.f
+ 1, // llvm.nvvm.trunc.ftz.f
+ 1, // llvm.nvvm.txq.array.size
+ 1, // llvm.nvvm.txq.channel.data.type
+ 1, // llvm.nvvm.txq.channel.order
+ 1, // llvm.nvvm.txq.depth
+ 1, // llvm.nvvm.txq.height
+ 1, // llvm.nvvm.txq.num.mipmap.levels
+ 1, // llvm.nvvm.txq.num.samples
+ 1, // llvm.nvvm.txq.width
+ 1, // llvm.nvvm.ui2d.rm
+ 1, // llvm.nvvm.ui2d.rn
+ 1, // llvm.nvvm.ui2d.rp
+ 1, // llvm.nvvm.ui2d.rz
+ 1, // llvm.nvvm.ui2f.rm
+ 1, // llvm.nvvm.ui2f.rn
+ 1, // llvm.nvvm.ui2f.rp
+ 1, // llvm.nvvm.ui2f.rz
+ 1, // llvm.nvvm.ull2d.rm
+ 1, // llvm.nvvm.ull2d.rn
+ 1, // llvm.nvvm.ull2d.rp
+ 1, // llvm.nvvm.ull2d.rz
+ 1, // llvm.nvvm.ull2f.rm
+ 1, // llvm.nvvm.ull2f.rn
+ 1, // llvm.nvvm.ull2f.rp
+ 1, // llvm.nvvm.ull2f.rz
+ 1, // llvm.ppc.altivec.crypto.vcipher
+ 1, // llvm.ppc.altivec.crypto.vcipherlast
+ 1, // llvm.ppc.altivec.crypto.vncipher
+ 1, // llvm.ppc.altivec.crypto.vncipherlast
+ 1, // llvm.ppc.altivec.crypto.vpermxor
+ 1, // llvm.ppc.altivec.crypto.vpmsumb
+ 1, // llvm.ppc.altivec.crypto.vpmsumd
+ 1, // llvm.ppc.altivec.crypto.vpmsumh
+ 1, // llvm.ppc.altivec.crypto.vpmsumw
+ 1, // llvm.ppc.altivec.crypto.vsbox
+ 1, // llvm.ppc.altivec.crypto.vshasigmad
+ 1, // llvm.ppc.altivec.crypto.vshasigmaw
+ 3, // llvm.ppc.altivec.dss
+ 3, // llvm.ppc.altivec.dssall
+ 3, // llvm.ppc.altivec.dst
+ 3, // llvm.ppc.altivec.dstst
+ 3, // llvm.ppc.altivec.dststt
+ 3, // llvm.ppc.altivec.dstt
+ 2, // llvm.ppc.altivec.lvebx
+ 2, // llvm.ppc.altivec.lvehx
+ 2, // llvm.ppc.altivec.lvewx
+ 1, // llvm.ppc.altivec.lvsl
+ 1, // llvm.ppc.altivec.lvsr
+ 2, // llvm.ppc.altivec.lvx
+ 2, // llvm.ppc.altivec.lvxl
+ 13, // llvm.ppc.altivec.mfvscr
+ 3, // llvm.ppc.altivec.mtvscr
+ 18, // llvm.ppc.altivec.stvebx
+ 18, // llvm.ppc.altivec.stvehx
+ 18, // llvm.ppc.altivec.stvewx
+ 18, // llvm.ppc.altivec.stvx
+ 18, // llvm.ppc.altivec.stvxl
+ 1, // llvm.ppc.altivec.vabsdub
+ 1, // llvm.ppc.altivec.vabsduh
+ 1, // llvm.ppc.altivec.vabsduw
+ 1, // llvm.ppc.altivec.vaddcuq
+ 1, // llvm.ppc.altivec.vaddcuw
+ 1, // llvm.ppc.altivec.vaddecuq
+ 1, // llvm.ppc.altivec.vaddeuqm
+ 1, // llvm.ppc.altivec.vaddsbs
+ 1, // llvm.ppc.altivec.vaddshs
+ 1, // llvm.ppc.altivec.vaddsws
+ 1, // llvm.ppc.altivec.vaddubs
+ 1, // llvm.ppc.altivec.vadduhs
+ 1, // llvm.ppc.altivec.vadduws
+ 1, // llvm.ppc.altivec.vavgsb
+ 1, // llvm.ppc.altivec.vavgsh
+ 1, // llvm.ppc.altivec.vavgsw
+ 1, // llvm.ppc.altivec.vavgub
+ 1, // llvm.ppc.altivec.vavguh
+ 1, // llvm.ppc.altivec.vavguw
+ 1, // llvm.ppc.altivec.vbpermq
+ 1, // llvm.ppc.altivec.vcfsx
+ 1, // llvm.ppc.altivec.vcfux
+ 1, // llvm.ppc.altivec.vclzlsbb
+ 1, // llvm.ppc.altivec.vcmpbfp
+ 1, // llvm.ppc.altivec.vcmpbfp.p
+ 1, // llvm.ppc.altivec.vcmpeqfp
+ 1, // llvm.ppc.altivec.vcmpeqfp.p
+ 1, // llvm.ppc.altivec.vcmpequb
+ 1, // llvm.ppc.altivec.vcmpequb.p
+ 1, // llvm.ppc.altivec.vcmpequd
+ 1, // llvm.ppc.altivec.vcmpequd.p
+ 1, // llvm.ppc.altivec.vcmpequh
+ 1, // llvm.ppc.altivec.vcmpequh.p
+ 1, // llvm.ppc.altivec.vcmpequw
+ 1, // llvm.ppc.altivec.vcmpequw.p
+ 1, // llvm.ppc.altivec.vcmpgefp
+ 1, // llvm.ppc.altivec.vcmpgefp.p
+ 1, // llvm.ppc.altivec.vcmpgtfp
+ 1, // llvm.ppc.altivec.vcmpgtfp.p
+ 1, // llvm.ppc.altivec.vcmpgtsb
+ 1, // llvm.ppc.altivec.vcmpgtsb.p
+ 1, // llvm.ppc.altivec.vcmpgtsd
+ 1, // llvm.ppc.altivec.vcmpgtsd.p
+ 1, // llvm.ppc.altivec.vcmpgtsh
+ 1, // llvm.ppc.altivec.vcmpgtsh.p
+ 1, // llvm.ppc.altivec.vcmpgtsw
+ 1, // llvm.ppc.altivec.vcmpgtsw.p
+ 1, // llvm.ppc.altivec.vcmpgtub
+ 1, // llvm.ppc.altivec.vcmpgtub.p
+ 1, // llvm.ppc.altivec.vcmpgtud
+ 1, // llvm.ppc.altivec.vcmpgtud.p
+ 1, // llvm.ppc.altivec.vcmpgtuh
+ 1, // llvm.ppc.altivec.vcmpgtuh.p
+ 1, // llvm.ppc.altivec.vcmpgtuw
+ 1, // llvm.ppc.altivec.vcmpgtuw.p
+ 1, // llvm.ppc.altivec.vcmpneb
+ 1, // llvm.ppc.altivec.vcmpneb.p
+ 1, // llvm.ppc.altivec.vcmpneh
+ 1, // llvm.ppc.altivec.vcmpneh.p
+ 1, // llvm.ppc.altivec.vcmpnew
+ 1, // llvm.ppc.altivec.vcmpnew.p
+ 1, // llvm.ppc.altivec.vcmpnezb
+ 1, // llvm.ppc.altivec.vcmpnezb.p
+ 1, // llvm.ppc.altivec.vcmpnezh
+ 1, // llvm.ppc.altivec.vcmpnezh.p
+ 1, // llvm.ppc.altivec.vcmpnezw
+ 1, // llvm.ppc.altivec.vcmpnezw.p
+ 1, // llvm.ppc.altivec.vctsxs
+ 1, // llvm.ppc.altivec.vctuxs
+ 1, // llvm.ppc.altivec.vctzlsbb
+ 1, // llvm.ppc.altivec.vexptefp
+ 1, // llvm.ppc.altivec.vgbbd
+ 1, // llvm.ppc.altivec.vlogefp
+ 1, // llvm.ppc.altivec.vmaddfp
+ 1, // llvm.ppc.altivec.vmaxfp
+ 1, // llvm.ppc.altivec.vmaxsb
+ 1, // llvm.ppc.altivec.vmaxsd
+ 1, // llvm.ppc.altivec.vmaxsh
+ 1, // llvm.ppc.altivec.vmaxsw
+ 1, // llvm.ppc.altivec.vmaxub
+ 1, // llvm.ppc.altivec.vmaxud
+ 1, // llvm.ppc.altivec.vmaxuh
+ 1, // llvm.ppc.altivec.vmaxuw
+ 1, // llvm.ppc.altivec.vmhaddshs
+ 1, // llvm.ppc.altivec.vmhraddshs
+ 1, // llvm.ppc.altivec.vminfp
+ 1, // llvm.ppc.altivec.vminsb
+ 1, // llvm.ppc.altivec.vminsd
+ 1, // llvm.ppc.altivec.vminsh
+ 1, // llvm.ppc.altivec.vminsw
+ 1, // llvm.ppc.altivec.vminub
+ 1, // llvm.ppc.altivec.vminud
+ 1, // llvm.ppc.altivec.vminuh
+ 1, // llvm.ppc.altivec.vminuw
+ 1, // llvm.ppc.altivec.vmladduhm
+ 1, // llvm.ppc.altivec.vmsummbm
+ 1, // llvm.ppc.altivec.vmsumshm
+ 1, // llvm.ppc.altivec.vmsumshs
+ 1, // llvm.ppc.altivec.vmsumubm
+ 1, // llvm.ppc.altivec.vmsumuhm
+ 1, // llvm.ppc.altivec.vmsumuhs
+ 1, // llvm.ppc.altivec.vmulesb
+ 1, // llvm.ppc.altivec.vmulesh
+ 1, // llvm.ppc.altivec.vmulesw
+ 1, // llvm.ppc.altivec.vmuleub
+ 1, // llvm.ppc.altivec.vmuleuh
+ 1, // llvm.ppc.altivec.vmuleuw
+ 1, // llvm.ppc.altivec.vmulosb
+ 1, // llvm.ppc.altivec.vmulosh
+ 1, // llvm.ppc.altivec.vmulosw
+ 1, // llvm.ppc.altivec.vmuloub
+ 1, // llvm.ppc.altivec.vmulouh
+ 1, // llvm.ppc.altivec.vmulouw
+ 1, // llvm.ppc.altivec.vnmsubfp
+ 1, // llvm.ppc.altivec.vperm
+ 1, // llvm.ppc.altivec.vpkpx
+ 1, // llvm.ppc.altivec.vpksdss
+ 1, // llvm.ppc.altivec.vpksdus
+ 1, // llvm.ppc.altivec.vpkshss
+ 1, // llvm.ppc.altivec.vpkshus
+ 1, // llvm.ppc.altivec.vpkswss
+ 1, // llvm.ppc.altivec.vpkswus
+ 1, // llvm.ppc.altivec.vpkudus
+ 1, // llvm.ppc.altivec.vpkuhus
+ 1, // llvm.ppc.altivec.vpkuwus
+ 1, // llvm.ppc.altivec.vprtybd
+ 1, // llvm.ppc.altivec.vprtybq
+ 1, // llvm.ppc.altivec.vprtybw
+ 1, // llvm.ppc.altivec.vrefp
+ 1, // llvm.ppc.altivec.vrfim
+ 1, // llvm.ppc.altivec.vrfin
+ 1, // llvm.ppc.altivec.vrfip
+ 1, // llvm.ppc.altivec.vrfiz
+ 1, // llvm.ppc.altivec.vrlb
+ 1, // llvm.ppc.altivec.vrld
+ 1, // llvm.ppc.altivec.vrldmi
+ 1, // llvm.ppc.altivec.vrldnm
+ 1, // llvm.ppc.altivec.vrlh
+ 1, // llvm.ppc.altivec.vrlw
+ 1, // llvm.ppc.altivec.vrlwmi
+ 1, // llvm.ppc.altivec.vrlwnm
+ 1, // llvm.ppc.altivec.vrsqrtefp
+ 1, // llvm.ppc.altivec.vsel
+ 1, // llvm.ppc.altivec.vsl
+ 1, // llvm.ppc.altivec.vslb
+ 1, // llvm.ppc.altivec.vslh
+ 1, // llvm.ppc.altivec.vslo
+ 1, // llvm.ppc.altivec.vslv
+ 1, // llvm.ppc.altivec.vslw
+ 1, // llvm.ppc.altivec.vsr
+ 1, // llvm.ppc.altivec.vsrab
+ 1, // llvm.ppc.altivec.vsrah
+ 1, // llvm.ppc.altivec.vsraw
+ 1, // llvm.ppc.altivec.vsrb
+ 1, // llvm.ppc.altivec.vsrh
+ 1, // llvm.ppc.altivec.vsro
+ 1, // llvm.ppc.altivec.vsrv
+ 1, // llvm.ppc.altivec.vsrw
+ 1, // llvm.ppc.altivec.vsubcuq
+ 1, // llvm.ppc.altivec.vsubcuw
+ 1, // llvm.ppc.altivec.vsubecuq
+ 1, // llvm.ppc.altivec.vsubeuqm
+ 1, // llvm.ppc.altivec.vsubsbs
+ 1, // llvm.ppc.altivec.vsubshs
+ 1, // llvm.ppc.altivec.vsubsws
+ 1, // llvm.ppc.altivec.vsububs
+ 1, // llvm.ppc.altivec.vsubuhs
+ 1, // llvm.ppc.altivec.vsubuws
+ 1, // llvm.ppc.altivec.vsum2sws
+ 1, // llvm.ppc.altivec.vsum4sbs
+ 1, // llvm.ppc.altivec.vsum4shs
+ 1, // llvm.ppc.altivec.vsum4ubs
+ 1, // llvm.ppc.altivec.vsumsws
+ 1, // llvm.ppc.altivec.vupkhpx
+ 1, // llvm.ppc.altivec.vupkhsb
+ 1, // llvm.ppc.altivec.vupkhsh
+ 1, // llvm.ppc.altivec.vupkhsw
+ 1, // llvm.ppc.altivec.vupklpx
+ 1, // llvm.ppc.altivec.vupklsb
+ 1, // llvm.ppc.altivec.vupklsh
+ 1, // llvm.ppc.altivec.vupklsw
+ 1, // llvm.ppc.bpermd
+ 3, // llvm.ppc.dcba
+ 3, // llvm.ppc.dcbf
+ 3, // llvm.ppc.dcbi
+ 3, // llvm.ppc.dcbst
+ 15, // llvm.ppc.dcbt
+ 15, // llvm.ppc.dcbtst
+ 3, // llvm.ppc.dcbz
+ 3, // llvm.ppc.dcbzl
+ 1, // llvm.ppc.divde
+ 1, // llvm.ppc.divdeu
+ 1, // llvm.ppc.divwe
+ 1, // llvm.ppc.divweu
+ 3, // llvm.ppc.get.texasr
+ 3, // llvm.ppc.get.texasru
+ 3, // llvm.ppc.get.tfhar
+ 3, // llvm.ppc.get.tfiar
+ 3, // llvm.ppc.is.decremented.ctr.nonzero
+ 3, // llvm.ppc.lwsync
+ 3, // llvm.ppc.mtctr
+ 1, // llvm.ppc.qpx.qvfabs
+ 1, // llvm.ppc.qpx.qvfadd
+ 1, // llvm.ppc.qpx.qvfadds
+ 1, // llvm.ppc.qpx.qvfcfid
+ 1, // llvm.ppc.qpx.qvfcfids
+ 1, // llvm.ppc.qpx.qvfcfidu
+ 1, // llvm.ppc.qpx.qvfcfidus
+ 1, // llvm.ppc.qpx.qvfcmpeq
+ 1, // llvm.ppc.qpx.qvfcmpgt
+ 1, // llvm.ppc.qpx.qvfcmplt
+ 1, // llvm.ppc.qpx.qvfcpsgn
+ 1, // llvm.ppc.qpx.qvfctid
+ 1, // llvm.ppc.qpx.qvfctidu
+ 1, // llvm.ppc.qpx.qvfctiduz
+ 1, // llvm.ppc.qpx.qvfctidz
+ 1, // llvm.ppc.qpx.qvfctiw
+ 1, // llvm.ppc.qpx.qvfctiwu
+ 1, // llvm.ppc.qpx.qvfctiwuz
+ 1, // llvm.ppc.qpx.qvfctiwz
+ 1, // llvm.ppc.qpx.qvflogical
+ 1, // llvm.ppc.qpx.qvfmadd
+ 1, // llvm.ppc.qpx.qvfmadds
+ 1, // llvm.ppc.qpx.qvfmsub
+ 1, // llvm.ppc.qpx.qvfmsubs
+ 1, // llvm.ppc.qpx.qvfmul
+ 1, // llvm.ppc.qpx.qvfmuls
+ 1, // llvm.ppc.qpx.qvfnabs
+ 1, // llvm.ppc.qpx.qvfneg
+ 1, // llvm.ppc.qpx.qvfnmadd
+ 1, // llvm.ppc.qpx.qvfnmadds
+ 1, // llvm.ppc.qpx.qvfnmsub
+ 1, // llvm.ppc.qpx.qvfnmsubs
+ 1, // llvm.ppc.qpx.qvfperm
+ 1, // llvm.ppc.qpx.qvfre
+ 1, // llvm.ppc.qpx.qvfres
+ 1, // llvm.ppc.qpx.qvfrim
+ 1, // llvm.ppc.qpx.qvfrin
+ 1, // llvm.ppc.qpx.qvfrip
+ 1, // llvm.ppc.qpx.qvfriz
+ 1, // llvm.ppc.qpx.qvfrsp
+ 1, // llvm.ppc.qpx.qvfrsqrte
+ 1, // llvm.ppc.qpx.qvfrsqrtes
+ 1, // llvm.ppc.qpx.qvfsel
+ 1, // llvm.ppc.qpx.qvfsub
+ 1, // llvm.ppc.qpx.qvfsubs
+ 1, // llvm.ppc.qpx.qvftstnan
+ 1, // llvm.ppc.qpx.qvfxmadd
+ 1, // llvm.ppc.qpx.qvfxmadds
+ 1, // llvm.ppc.qpx.qvfxmul
+ 1, // llvm.ppc.qpx.qvfxmuls
+ 1, // llvm.ppc.qpx.qvfxxcpnmadd
+ 1, // llvm.ppc.qpx.qvfxxcpnmadds
+ 1, // llvm.ppc.qpx.qvfxxmadd
+ 1, // llvm.ppc.qpx.qvfxxmadds
+ 1, // llvm.ppc.qpx.qvfxxnpmadd
+ 1, // llvm.ppc.qpx.qvfxxnpmadds
+ 1, // llvm.ppc.qpx.qvgpci
+ 2, // llvm.ppc.qpx.qvlfcd
+ 2, // llvm.ppc.qpx.qvlfcda
+ 2, // llvm.ppc.qpx.qvlfcs
+ 2, // llvm.ppc.qpx.qvlfcsa
+ 2, // llvm.ppc.qpx.qvlfd
+ 2, // llvm.ppc.qpx.qvlfda
+ 2, // llvm.ppc.qpx.qvlfiwa
+ 2, // llvm.ppc.qpx.qvlfiwaa
+ 2, // llvm.ppc.qpx.qvlfiwz
+ 2, // llvm.ppc.qpx.qvlfiwza
+ 2, // llvm.ppc.qpx.qvlfs
+ 2, // llvm.ppc.qpx.qvlfsa
+ 1, // llvm.ppc.qpx.qvlpcld
+ 1, // llvm.ppc.qpx.qvlpcls
+ 1, // llvm.ppc.qpx.qvlpcrd
+ 1, // llvm.ppc.qpx.qvlpcrs
+ 18, // llvm.ppc.qpx.qvstfcd
+ 18, // llvm.ppc.qpx.qvstfcda
+ 18, // llvm.ppc.qpx.qvstfcs
+ 18, // llvm.ppc.qpx.qvstfcsa
+ 18, // llvm.ppc.qpx.qvstfd
+ 18, // llvm.ppc.qpx.qvstfda
+ 18, // llvm.ppc.qpx.qvstfiw
+ 18, // llvm.ppc.qpx.qvstfiwa
+ 18, // llvm.ppc.qpx.qvstfs
+ 18, // llvm.ppc.qpx.qvstfsa
+ 3, // llvm.ppc.set.texasr
+ 3, // llvm.ppc.set.texasru
+ 3, // llvm.ppc.set.tfhar
+ 3, // llvm.ppc.set.tfiar
+ 3, // llvm.ppc.sync
+ 3, // llvm.ppc.tabort
+ 3, // llvm.ppc.tabortdc
+ 3, // llvm.ppc.tabortdci
+ 3, // llvm.ppc.tabortwc
+ 3, // llvm.ppc.tabortwci
+ 3, // llvm.ppc.tbegin
+ 3, // llvm.ppc.tcheck
+ 3, // llvm.ppc.tend
+ 3, // llvm.ppc.tendall
+ 3, // llvm.ppc.trechkpt
+ 3, // llvm.ppc.treclaim
+ 3, // llvm.ppc.tresume
+ 3, // llvm.ppc.tsr
+ 3, // llvm.ppc.tsuspend
+ 3, // llvm.ppc.ttest
+ 2, // llvm.ppc.vsx.lxvd2x
+ 2, // llvm.ppc.vsx.lxvd2x.be
+ 2, // llvm.ppc.vsx.lxvl
+ 2, // llvm.ppc.vsx.lxvll
+ 2, // llvm.ppc.vsx.lxvw4x
+ 2, // llvm.ppc.vsx.lxvw4x.be
+ 18, // llvm.ppc.vsx.stxvd2x
+ 18, // llvm.ppc.vsx.stxvd2x.be
+ 18, // llvm.ppc.vsx.stxvl
+ 18, // llvm.ppc.vsx.stxvll
+ 18, // llvm.ppc.vsx.stxvw4x
+ 18, // llvm.ppc.vsx.stxvw4x.be
+ 1, // llvm.ppc.vsx.xsmaxdp
+ 1, // llvm.ppc.vsx.xsmindp
+ 1, // llvm.ppc.vsx.xvcmpeqdp
+ 1, // llvm.ppc.vsx.xvcmpeqdp.p
+ 1, // llvm.ppc.vsx.xvcmpeqsp
+ 1, // llvm.ppc.vsx.xvcmpeqsp.p
+ 1, // llvm.ppc.vsx.xvcmpgedp
+ 1, // llvm.ppc.vsx.xvcmpgedp.p
+ 1, // llvm.ppc.vsx.xvcmpgesp
+ 1, // llvm.ppc.vsx.xvcmpgesp.p
+ 1, // llvm.ppc.vsx.xvcmpgtdp
+ 1, // llvm.ppc.vsx.xvcmpgtdp.p
+ 1, // llvm.ppc.vsx.xvcmpgtsp
+ 1, // llvm.ppc.vsx.xvcmpgtsp.p
+ 1, // llvm.ppc.vsx.xvcvdpsp
+ 1, // llvm.ppc.vsx.xvcvdpsxws
+ 1, // llvm.ppc.vsx.xvcvdpuxws
+ 1, // llvm.ppc.vsx.xvcvhpsp
+ 1, // llvm.ppc.vsx.xvcvspdp
+ 1, // llvm.ppc.vsx.xvcvsphp
+ 1, // llvm.ppc.vsx.xvcvsxdsp
+ 1, // llvm.ppc.vsx.xvcvsxwdp
+ 1, // llvm.ppc.vsx.xvcvuxdsp
+ 1, // llvm.ppc.vsx.xvcvuxwdp
+ 1, // llvm.ppc.vsx.xvdivdp
+ 1, // llvm.ppc.vsx.xvdivsp
+ 1, // llvm.ppc.vsx.xviexpdp
+ 1, // llvm.ppc.vsx.xviexpsp
+ 1, // llvm.ppc.vsx.xvmaxdp
+ 1, // llvm.ppc.vsx.xvmaxsp
+ 1, // llvm.ppc.vsx.xvmindp
+ 1, // llvm.ppc.vsx.xvminsp
+ 1, // llvm.ppc.vsx.xvrdpip
+ 1, // llvm.ppc.vsx.xvredp
+ 1, // llvm.ppc.vsx.xvresp
+ 1, // llvm.ppc.vsx.xvrspip
+ 1, // llvm.ppc.vsx.xvrsqrtedp
+ 1, // llvm.ppc.vsx.xvrsqrtesp
+ 1, // llvm.ppc.vsx.xvtstdcdp
+ 1, // llvm.ppc.vsx.xvtstdcsp
+ 1, // llvm.ppc.vsx.xvxexpdp
+ 1, // llvm.ppc.vsx.xvxexpsp
+ 1, // llvm.ppc.vsx.xvxsigdp
+ 1, // llvm.ppc.vsx.xvxsigsp
+ 1, // llvm.ppc.vsx.xxextractuw
+ 1, // llvm.ppc.vsx.xxinsertw
+ 1, // llvm.ppc.vsx.xxleqv
+ 27, // llvm.r600.group.barrier
+ 1, // llvm.r600.implicitarg.ptr
+ 3, // llvm.r600.rat.store.typed
+ 1, // llvm.r600.read.global.size.x
+ 1, // llvm.r600.read.global.size.y
+ 1, // llvm.r600.read.global.size.z
+ 1, // llvm.r600.read.local.size.x
+ 1, // llvm.r600.read.local.size.y
+ 1, // llvm.r600.read.local.size.z
+ 1, // llvm.r600.read.ngroups.x
+ 1, // llvm.r600.read.ngroups.y
+ 1, // llvm.r600.read.ngroups.z
+ 1, // llvm.r600.read.tgid.x
+ 1, // llvm.r600.read.tgid.y
+ 1, // llvm.r600.read.tgid.z
+ 1, // llvm.r600.read.tidig.x
+ 1, // llvm.r600.read.tidig.y
+ 1, // llvm.r600.read.tidig.z
+ 1, // llvm.r600.recipsqrt.clamped
+ 1, // llvm.r600.recipsqrt.ieee
+ 3, // llvm.s390.efpc
+ 1, // llvm.s390.etnd
+ 1, // llvm.s390.lcbb
+ 18, // llvm.s390.ntstg
+ 3, // llvm.s390.ppa.txassist
+ 3, // llvm.s390.sfpc
+ 30, // llvm.s390.tabort
+ 31, // llvm.s390.tbegin
+ 31, // llvm.s390.tbegin.nofloat
+ 31, // llvm.s390.tbeginc
+ 1, // llvm.s390.tdc
+ 3, // llvm.s390.tend
+ 1, // llvm.s390.vaccb
+ 1, // llvm.s390.vacccq
+ 1, // llvm.s390.vaccf
+ 1, // llvm.s390.vaccg
+ 1, // llvm.s390.vacch
+ 1, // llvm.s390.vaccq
+ 1, // llvm.s390.vacq
+ 1, // llvm.s390.vaq
+ 1, // llvm.s390.vavgb
+ 1, // llvm.s390.vavgf
+ 1, // llvm.s390.vavgg
+ 1, // llvm.s390.vavgh
+ 1, // llvm.s390.vavglb
+ 1, // llvm.s390.vavglf
+ 1, // llvm.s390.vavglg
+ 1, // llvm.s390.vavglh
+ 1, // llvm.s390.vceqbs
+ 1, // llvm.s390.vceqfs
+ 1, // llvm.s390.vceqgs
+ 1, // llvm.s390.vceqhs
+ 1, // llvm.s390.vchbs
+ 1, // llvm.s390.vchfs
+ 1, // llvm.s390.vchgs
+ 1, // llvm.s390.vchhs
+ 1, // llvm.s390.vchlbs
+ 1, // llvm.s390.vchlfs
+ 1, // llvm.s390.vchlgs
+ 1, // llvm.s390.vchlhs
+ 1, // llvm.s390.vcksm
+ 1, // llvm.s390.verimb
+ 1, // llvm.s390.verimf
+ 1, // llvm.s390.verimg
+ 1, // llvm.s390.verimh
+ 1, // llvm.s390.verllb
+ 1, // llvm.s390.verllf
+ 1, // llvm.s390.verllg
+ 1, // llvm.s390.verllh
+ 1, // llvm.s390.verllvb
+ 1, // llvm.s390.verllvf
+ 1, // llvm.s390.verllvg
+ 1, // llvm.s390.verllvh
+ 1, // llvm.s390.vfaeb
+ 1, // llvm.s390.vfaebs
+ 1, // llvm.s390.vfaef
+ 1, // llvm.s390.vfaefs
+ 1, // llvm.s390.vfaeh
+ 1, // llvm.s390.vfaehs
+ 1, // llvm.s390.vfaezb
+ 1, // llvm.s390.vfaezbs
+ 1, // llvm.s390.vfaezf
+ 1, // llvm.s390.vfaezfs
+ 1, // llvm.s390.vfaezh
+ 1, // llvm.s390.vfaezhs
+ 1, // llvm.s390.vfcedbs
+ 1, // llvm.s390.vfchdbs
+ 1, // llvm.s390.vfchedbs
+ 1, // llvm.s390.vfeeb
+ 1, // llvm.s390.vfeebs
+ 1, // llvm.s390.vfeef
+ 1, // llvm.s390.vfeefs
+ 1, // llvm.s390.vfeeh
+ 1, // llvm.s390.vfeehs
+ 1, // llvm.s390.vfeezb
+ 1, // llvm.s390.vfeezbs
+ 1, // llvm.s390.vfeezf
+ 1, // llvm.s390.vfeezfs
+ 1, // llvm.s390.vfeezh
+ 1, // llvm.s390.vfeezhs
+ 1, // llvm.s390.vfeneb
+ 1, // llvm.s390.vfenebs
+ 1, // llvm.s390.vfenef
+ 1, // llvm.s390.vfenefs
+ 1, // llvm.s390.vfeneh
+ 1, // llvm.s390.vfenehs
+ 1, // llvm.s390.vfenezb
+ 1, // llvm.s390.vfenezbs
+ 1, // llvm.s390.vfenezf
+ 1, // llvm.s390.vfenezfs
+ 1, // llvm.s390.vfenezh
+ 1, // llvm.s390.vfenezhs
+ 1, // llvm.s390.vfidb
+ 1, // llvm.s390.vftcidb
+ 1, // llvm.s390.vgfmab
+ 1, // llvm.s390.vgfmaf
+ 1, // llvm.s390.vgfmag
+ 1, // llvm.s390.vgfmah
+ 1, // llvm.s390.vgfmb
+ 1, // llvm.s390.vgfmf
+ 1, // llvm.s390.vgfmg
+ 1, // llvm.s390.vgfmh
+ 1, // llvm.s390.vistrb
+ 1, // llvm.s390.vistrbs
+ 1, // llvm.s390.vistrf
+ 1, // llvm.s390.vistrfs
+ 1, // llvm.s390.vistrh
+ 1, // llvm.s390.vistrhs
+ 2, // llvm.s390.vlbb
+ 2, // llvm.s390.vll
+ 1, // llvm.s390.vmaeb
+ 1, // llvm.s390.vmaef
+ 1, // llvm.s390.vmaeh
+ 1, // llvm.s390.vmahb
+ 1, // llvm.s390.vmahf
+ 1, // llvm.s390.vmahh
+ 1, // llvm.s390.vmaleb
+ 1, // llvm.s390.vmalef
+ 1, // llvm.s390.vmaleh
+ 1, // llvm.s390.vmalhb
+ 1, // llvm.s390.vmalhf
+ 1, // llvm.s390.vmalhh
+ 1, // llvm.s390.vmalob
+ 1, // llvm.s390.vmalof
+ 1, // llvm.s390.vmaloh
+ 1, // llvm.s390.vmaob
+ 1, // llvm.s390.vmaof
+ 1, // llvm.s390.vmaoh
+ 1, // llvm.s390.vmeb
+ 1, // llvm.s390.vmef
+ 1, // llvm.s390.vmeh
+ 1, // llvm.s390.vmhb
+ 1, // llvm.s390.vmhf
+ 1, // llvm.s390.vmhh
+ 1, // llvm.s390.vmleb
+ 1, // llvm.s390.vmlef
+ 1, // llvm.s390.vmleh
+ 1, // llvm.s390.vmlhb
+ 1, // llvm.s390.vmlhf
+ 1, // llvm.s390.vmlhh
+ 1, // llvm.s390.vmlob
+ 1, // llvm.s390.vmlof
+ 1, // llvm.s390.vmloh
+ 1, // llvm.s390.vmob
+ 1, // llvm.s390.vmof
+ 1, // llvm.s390.vmoh
+ 1, // llvm.s390.vpdi
+ 1, // llvm.s390.vperm
+ 1, // llvm.s390.vpklsf
+ 1, // llvm.s390.vpklsfs
+ 1, // llvm.s390.vpklsg
+ 1, // llvm.s390.vpklsgs
+ 1, // llvm.s390.vpklsh
+ 1, // llvm.s390.vpklshs
+ 1, // llvm.s390.vpksf
+ 1, // llvm.s390.vpksfs
+ 1, // llvm.s390.vpksg
+ 1, // llvm.s390.vpksgs
+ 1, // llvm.s390.vpksh
+ 1, // llvm.s390.vpkshs
+ 1, // llvm.s390.vsbcbiq
+ 1, // llvm.s390.vsbiq
+ 1, // llvm.s390.vscbib
+ 1, // llvm.s390.vscbif
+ 1, // llvm.s390.vscbig
+ 1, // llvm.s390.vscbih
+ 1, // llvm.s390.vscbiq
+ 1, // llvm.s390.vsl
+ 1, // llvm.s390.vslb
+ 1, // llvm.s390.vsldb
+ 1, // llvm.s390.vsq
+ 1, // llvm.s390.vsra
+ 1, // llvm.s390.vsrab
+ 1, // llvm.s390.vsrl
+ 1, // llvm.s390.vsrlb
+ 18, // llvm.s390.vstl
+ 1, // llvm.s390.vstrcb
+ 1, // llvm.s390.vstrcbs
+ 1, // llvm.s390.vstrcf
+ 1, // llvm.s390.vstrcfs
+ 1, // llvm.s390.vstrch
+ 1, // llvm.s390.vstrchs
+ 1, // llvm.s390.vstrczb
+ 1, // llvm.s390.vstrczbs
+ 1, // llvm.s390.vstrczf
+ 1, // llvm.s390.vstrczfs
+ 1, // llvm.s390.vstrczh
+ 1, // llvm.s390.vstrczhs
+ 1, // llvm.s390.vsumb
+ 1, // llvm.s390.vsumgf
+ 1, // llvm.s390.vsumgh
+ 1, // llvm.s390.vsumh
+ 1, // llvm.s390.vsumqf
+ 1, // llvm.s390.vsumqg
+ 1, // llvm.s390.vtm
+ 1, // llvm.s390.vuphb
+ 1, // llvm.s390.vuphf
+ 1, // llvm.s390.vuphh
+ 1, // llvm.s390.vuplb
+ 1, // llvm.s390.vuplf
+ 1, // llvm.s390.vuplhb
+ 1, // llvm.s390.vuplhf
+ 1, // llvm.s390.vuplhh
+ 1, // llvm.s390.vuplhw
+ 1, // llvm.s390.vupllb
+ 1, // llvm.s390.vupllf
+ 1, // llvm.s390.vupllh
+ 13, // llvm.wasm.current.memory
+ 3, // llvm.wasm.grow.memory
+ 1, // llvm.x86.3dnow.pavgusb
+ 1, // llvm.x86.3dnow.pf2id
+ 1, // llvm.x86.3dnow.pfacc
+ 1, // llvm.x86.3dnow.pfadd
+ 1, // llvm.x86.3dnow.pfcmpeq
+ 1, // llvm.x86.3dnow.pfcmpge
+ 1, // llvm.x86.3dnow.pfcmpgt
+ 1, // llvm.x86.3dnow.pfmax
+ 1, // llvm.x86.3dnow.pfmin
+ 1, // llvm.x86.3dnow.pfmul
+ 1, // llvm.x86.3dnow.pfrcp
+ 1, // llvm.x86.3dnow.pfrcpit1
+ 1, // llvm.x86.3dnow.pfrcpit2
+ 1, // llvm.x86.3dnow.pfrsqit1
+ 1, // llvm.x86.3dnow.pfrsqrt
+ 1, // llvm.x86.3dnow.pfsub
+ 1, // llvm.x86.3dnow.pfsubr
+ 1, // llvm.x86.3dnow.pi2fd
+ 1, // llvm.x86.3dnow.pmulhrw
+ 1, // llvm.x86.3dnowa.pf2iw
+ 1, // llvm.x86.3dnowa.pfnacc
+ 1, // llvm.x86.3dnowa.pfpnacc
+ 1, // llvm.x86.3dnowa.pi2fw
+ 1, // llvm.x86.3dnowa.pswapd
+ 18, // llvm.x86.addcarry.u32
+ 18, // llvm.x86.addcarry.u64
+ 18, // llvm.x86.addcarryx.u32
+ 18, // llvm.x86.addcarryx.u64
+ 1, // llvm.x86.aesni.aesdec
+ 1, // llvm.x86.aesni.aesdeclast
+ 1, // llvm.x86.aesni.aesenc
+ 1, // llvm.x86.aesni.aesenclast
+ 1, // llvm.x86.aesni.aesimc
+ 1, // llvm.x86.aesni.aeskeygenassist
+ 1, // llvm.x86.avx.addsub.pd.256
+ 1, // llvm.x86.avx.addsub.ps.256
+ 1, // llvm.x86.avx.blendv.pd.256
+ 1, // llvm.x86.avx.blendv.ps.256
+ 1, // llvm.x86.avx.cmp.pd.256
+ 1, // llvm.x86.avx.cmp.ps.256
+ 1, // llvm.x86.avx.cvt.pd2.ps.256
+ 1, // llvm.x86.avx.cvt.pd2dq.256
+ 1, // llvm.x86.avx.cvt.ps2dq.256
+ 1, // llvm.x86.avx.cvtdq2.ps.256
+ 1, // llvm.x86.avx.cvtt.pd2dq.256
+ 1, // llvm.x86.avx.cvtt.ps2dq.256
+ 1, // llvm.x86.avx.dp.ps.256
+ 1, // llvm.x86.avx.hadd.pd.256
+ 1, // llvm.x86.avx.hadd.ps.256
+ 1, // llvm.x86.avx.hsub.pd.256
+ 1, // llvm.x86.avx.hsub.ps.256
+ 13, // llvm.x86.avx.ldu.dq.256
+ 2, // llvm.x86.avx.maskload.pd
+ 2, // llvm.x86.avx.maskload.pd.256
+ 2, // llvm.x86.avx.maskload.ps
+ 2, // llvm.x86.avx.maskload.ps.256
+ 18, // llvm.x86.avx.maskstore.pd
+ 18, // llvm.x86.avx.maskstore.pd.256
+ 18, // llvm.x86.avx.maskstore.ps
+ 18, // llvm.x86.avx.maskstore.ps.256
+ 1, // llvm.x86.avx.max.pd.256
+ 1, // llvm.x86.avx.max.ps.256
+ 1, // llvm.x86.avx.min.pd.256
+ 1, // llvm.x86.avx.min.ps.256
+ 1, // llvm.x86.avx.movmsk.pd.256
+ 1, // llvm.x86.avx.movmsk.ps.256
+ 1, // llvm.x86.avx.ptestc.256
+ 1, // llvm.x86.avx.ptestnzc.256
+ 1, // llvm.x86.avx.ptestz.256
+ 1, // llvm.x86.avx.rcp.ps.256
+ 1, // llvm.x86.avx.round.pd.256
+ 1, // llvm.x86.avx.round.ps.256
+ 1, // llvm.x86.avx.rsqrt.ps.256
+ 1, // llvm.x86.avx.sqrt.pd.256
+ 1, // llvm.x86.avx.sqrt.ps.256
+ 1, // llvm.x86.avx.vperm2f128.pd.256
+ 1, // llvm.x86.avx.vperm2f128.ps.256
+ 1, // llvm.x86.avx.vperm2f128.si.256
+ 1, // llvm.x86.avx.vpermilvar.pd
+ 1, // llvm.x86.avx.vpermilvar.pd.256
+ 1, // llvm.x86.avx.vpermilvar.ps
+ 1, // llvm.x86.avx.vpermilvar.ps.256
+ 1, // llvm.x86.avx.vtestc.pd
+ 1, // llvm.x86.avx.vtestc.pd.256
+ 1, // llvm.x86.avx.vtestc.ps
+ 1, // llvm.x86.avx.vtestc.ps.256
+ 1, // llvm.x86.avx.vtestnzc.pd
+ 1, // llvm.x86.avx.vtestnzc.pd.256
+ 1, // llvm.x86.avx.vtestnzc.ps
+ 1, // llvm.x86.avx.vtestnzc.ps.256
+ 1, // llvm.x86.avx.vtestz.pd
+ 1, // llvm.x86.avx.vtestz.pd.256
+ 1, // llvm.x86.avx.vtestz.ps
+ 1, // llvm.x86.avx.vtestz.ps.256
+ 3, // llvm.x86.avx.vzeroall
+ 3, // llvm.x86.avx.vzeroupper
+ 2, // llvm.x86.avx2.gather.d.d
+ 2, // llvm.x86.avx2.gather.d.d.256
+ 2, // llvm.x86.avx2.gather.d.pd
+ 2, // llvm.x86.avx2.gather.d.pd.256
+ 2, // llvm.x86.avx2.gather.d.ps
+ 2, // llvm.x86.avx2.gather.d.ps.256
+ 2, // llvm.x86.avx2.gather.d.q
+ 2, // llvm.x86.avx2.gather.d.q.256
+ 2, // llvm.x86.avx2.gather.q.d
+ 2, // llvm.x86.avx2.gather.q.d.256
+ 2, // llvm.x86.avx2.gather.q.pd
+ 2, // llvm.x86.avx2.gather.q.pd.256
+ 2, // llvm.x86.avx2.gather.q.ps
+ 2, // llvm.x86.avx2.gather.q.ps.256
+ 2, // llvm.x86.avx2.gather.q.q
+ 2, // llvm.x86.avx2.gather.q.q.256
+ 2, // llvm.x86.avx2.maskload.d
+ 2, // llvm.x86.avx2.maskload.d.256
+ 2, // llvm.x86.avx2.maskload.q
+ 2, // llvm.x86.avx2.maskload.q.256
+ 18, // llvm.x86.avx2.maskstore.d
+ 18, // llvm.x86.avx2.maskstore.d.256
+ 18, // llvm.x86.avx2.maskstore.q
+ 18, // llvm.x86.avx2.maskstore.q.256
+ 13, // llvm.x86.avx2.movntdqa
+ 1, // llvm.x86.avx2.mpsadbw
+ 1, // llvm.x86.avx2.pabs.b
+ 1, // llvm.x86.avx2.pabs.d
+ 1, // llvm.x86.avx2.pabs.w
+ 1, // llvm.x86.avx2.packssdw
+ 1, // llvm.x86.avx2.packsswb
+ 1, // llvm.x86.avx2.packusdw
+ 1, // llvm.x86.avx2.packuswb
+ 1, // llvm.x86.avx2.padds.b
+ 1, // llvm.x86.avx2.padds.w
+ 1, // llvm.x86.avx2.paddus.b
+ 1, // llvm.x86.avx2.paddus.w
+ 1, // llvm.x86.avx2.pavg.b
+ 1, // llvm.x86.avx2.pavg.w
+ 1, // llvm.x86.avx2.pblendvb
+ 1, // llvm.x86.avx2.permd
+ 1, // llvm.x86.avx2.permps
+ 1, // llvm.x86.avx2.phadd.d
+ 1, // llvm.x86.avx2.phadd.sw
+ 1, // llvm.x86.avx2.phadd.w
+ 1, // llvm.x86.avx2.phsub.d
+ 1, // llvm.x86.avx2.phsub.sw
+ 1, // llvm.x86.avx2.phsub.w
+ 1, // llvm.x86.avx2.pmadd.ub.sw
+ 1, // llvm.x86.avx2.pmadd.wd
+ 1, // llvm.x86.avx2.pmovmskb
+ 1, // llvm.x86.avx2.pmul.dq
+ 1, // llvm.x86.avx2.pmul.hr.sw
+ 1, // llvm.x86.avx2.pmulh.w
+ 1, // llvm.x86.avx2.pmulhu.w
+ 1, // llvm.x86.avx2.pmulu.dq
+ 1, // llvm.x86.avx2.psad.bw
+ 1, // llvm.x86.avx2.pshuf.b
+ 1, // llvm.x86.avx2.psign.b
+ 1, // llvm.x86.avx2.psign.d
+ 1, // llvm.x86.avx2.psign.w
+ 1, // llvm.x86.avx2.psll.d
+ 1, // llvm.x86.avx2.psll.q
+ 1, // llvm.x86.avx2.psll.w
+ 1, // llvm.x86.avx2.pslli.d
+ 1, // llvm.x86.avx2.pslli.q
+ 1, // llvm.x86.avx2.pslli.w
+ 1, // llvm.x86.avx2.psllv.d
+ 1, // llvm.x86.avx2.psllv.d.256
+ 1, // llvm.x86.avx2.psllv.q
+ 1, // llvm.x86.avx2.psllv.q.256
+ 1, // llvm.x86.avx2.psra.d
+ 1, // llvm.x86.avx2.psra.w
+ 1, // llvm.x86.avx2.psrai.d
+ 1, // llvm.x86.avx2.psrai.w
+ 1, // llvm.x86.avx2.psrav.d
+ 1, // llvm.x86.avx2.psrav.d.256
+ 1, // llvm.x86.avx2.psrl.d
+ 1, // llvm.x86.avx2.psrl.q
+ 1, // llvm.x86.avx2.psrl.w
+ 1, // llvm.x86.avx2.psrli.d
+ 1, // llvm.x86.avx2.psrli.q
+ 1, // llvm.x86.avx2.psrli.w
+ 1, // llvm.x86.avx2.psrlv.d
+ 1, // llvm.x86.avx2.psrlv.d.256
+ 1, // llvm.x86.avx2.psrlv.q
+ 1, // llvm.x86.avx2.psrlv.q.256
+ 1, // llvm.x86.avx2.psubs.b
+ 1, // llvm.x86.avx2.psubs.w
+ 1, // llvm.x86.avx2.psubus.b
+ 1, // llvm.x86.avx2.psubus.w
+ 1, // llvm.x86.avx2.vperm2i128
+ 1, // llvm.x86.avx512.broadcastmb.128
+ 1, // llvm.x86.avx512.broadcastmb.256
+ 1, // llvm.x86.avx512.broadcastmb.512
+ 1, // llvm.x86.avx512.broadcastmw.128
+ 1, // llvm.x86.avx512.broadcastmw.256
+ 1, // llvm.x86.avx512.broadcastmw.512
+ 1, // llvm.x86.avx512.cvtb2mask.128
+ 1, // llvm.x86.avx512.cvtb2mask.256
+ 1, // llvm.x86.avx512.cvtb2mask.512
+ 1, // llvm.x86.avx512.cvtd2mask.128
+ 1, // llvm.x86.avx512.cvtd2mask.256
+ 1, // llvm.x86.avx512.cvtd2mask.512
+ 1, // llvm.x86.avx512.cvtmask2b.128
+ 1, // llvm.x86.avx512.cvtmask2b.256
+ 1, // llvm.x86.avx512.cvtmask2b.512
+ 1, // llvm.x86.avx512.cvtmask2d.128
+ 1, // llvm.x86.avx512.cvtmask2d.256
+ 1, // llvm.x86.avx512.cvtmask2d.512
+ 1, // llvm.x86.avx512.cvtmask2q.128
+ 1, // llvm.x86.avx512.cvtmask2q.256
+ 1, // llvm.x86.avx512.cvtmask2q.512
+ 1, // llvm.x86.avx512.cvtmask2w.128
+ 1, // llvm.x86.avx512.cvtmask2w.256
+ 1, // llvm.x86.avx512.cvtmask2w.512
+ 1, // llvm.x86.avx512.cvtq2mask.128
+ 1, // llvm.x86.avx512.cvtq2mask.256
+ 1, // llvm.x86.avx512.cvtq2mask.512
+ 1, // llvm.x86.avx512.cvtsi2sd64
+ 1, // llvm.x86.avx512.cvtsi2ss32
+ 1, // llvm.x86.avx512.cvtsi2ss64
+ 1, // llvm.x86.avx512.cvttsd2si
+ 1, // llvm.x86.avx512.cvttsd2si64
+ 1, // llvm.x86.avx512.cvttsd2usi
+ 1, // llvm.x86.avx512.cvttsd2usi64
+ 1, // llvm.x86.avx512.cvttss2si
+ 1, // llvm.x86.avx512.cvttss2si64
+ 1, // llvm.x86.avx512.cvttss2usi
+ 1, // llvm.x86.avx512.cvttss2usi64
+ 1, // llvm.x86.avx512.cvtusi2sd
+ 1, // llvm.x86.avx512.cvtusi2ss
+ 1, // llvm.x86.avx512.cvtusi642sd
+ 1, // llvm.x86.avx512.cvtusi642ss
+ 1, // llvm.x86.avx512.cvtw2mask.128
+ 1, // llvm.x86.avx512.cvtw2mask.256
+ 1, // llvm.x86.avx512.cvtw2mask.512
+ 1, // llvm.x86.avx512.exp2.pd
+ 1, // llvm.x86.avx512.exp2.ps
+ 2, // llvm.x86.avx512.gather.dpd.512
+ 2, // llvm.x86.avx512.gather.dpi.512
+ 2, // llvm.x86.avx512.gather.dpq.512
+ 2, // llvm.x86.avx512.gather.dps.512
+ 2, // llvm.x86.avx512.gather.qpd.512
+ 2, // llvm.x86.avx512.gather.qpi.512
+ 2, // llvm.x86.avx512.gather.qpq.512
+ 2, // llvm.x86.avx512.gather.qps.512
+ 2, // llvm.x86.avx512.gather3div2.df
+ 2, // llvm.x86.avx512.gather3div2.di
+ 2, // llvm.x86.avx512.gather3div4.df
+ 2, // llvm.x86.avx512.gather3div4.di
+ 2, // llvm.x86.avx512.gather3div4.sf
+ 2, // llvm.x86.avx512.gather3div4.si
+ 2, // llvm.x86.avx512.gather3div8.sf
+ 2, // llvm.x86.avx512.gather3div8.si
+ 2, // llvm.x86.avx512.gather3siv2.df
+ 2, // llvm.x86.avx512.gather3siv2.di
+ 2, // llvm.x86.avx512.gather3siv4.df
+ 2, // llvm.x86.avx512.gather3siv4.di
+ 2, // llvm.x86.avx512.gather3siv4.sf
+ 2, // llvm.x86.avx512.gather3siv4.si
+ 2, // llvm.x86.avx512.gather3siv8.sf
+ 2, // llvm.x86.avx512.gather3siv8.si
+ 18, // llvm.x86.avx512.gatherpf.dpd.512
+ 18, // llvm.x86.avx512.gatherpf.dps.512
+ 18, // llvm.x86.avx512.gatherpf.qpd.512
+ 18, // llvm.x86.avx512.gatherpf.qps.512
+ 1, // llvm.x86.avx512.kand.w
+ 1, // llvm.x86.avx512.kandn.w
+ 1, // llvm.x86.avx512.knot.w
+ 1, // llvm.x86.avx512.kor.w
+ 1, // llvm.x86.avx512.kortestc.w
+ 1, // llvm.x86.avx512.kortestz.w
+ 1, // llvm.x86.avx512.kunpck.bw
+ 1, // llvm.x86.avx512.kunpck.dq
+ 1, // llvm.x86.avx512.kunpck.wd
+ 1, // llvm.x86.avx512.kxnor.w
+ 1, // llvm.x86.avx512.kxor.w
+ 1, // llvm.x86.avx512.mask.add.pd.512
+ 1, // llvm.x86.avx512.mask.add.ps.512
+ 1, // llvm.x86.avx512.mask.add.sd.round
+ 1, // llvm.x86.avx512.mask.add.ss.round
+ 1, // llvm.x86.avx512.mask.broadcastf32x2.256
+ 1, // llvm.x86.avx512.mask.broadcastf32x2.512
+ 1, // llvm.x86.avx512.mask.broadcastf32x4.256
+ 1, // llvm.x86.avx512.mask.broadcastf32x4.512
+ 1, // llvm.x86.avx512.mask.broadcastf32x8.512
+ 1, // llvm.x86.avx512.mask.broadcastf64x2.256
+ 1, // llvm.x86.avx512.mask.broadcastf64x2.512
+ 1, // llvm.x86.avx512.mask.broadcastf64x4.512
+ 1, // llvm.x86.avx512.mask.broadcasti32x2.128
+ 1, // llvm.x86.avx512.mask.broadcasti32x2.256
+ 1, // llvm.x86.avx512.mask.broadcasti32x2.512
+ 1, // llvm.x86.avx512.mask.broadcasti32x4.256
+ 1, // llvm.x86.avx512.mask.broadcasti32x4.512
+ 1, // llvm.x86.avx512.mask.broadcasti32x8.512
+ 1, // llvm.x86.avx512.mask.broadcasti64x2.256
+ 1, // llvm.x86.avx512.mask.broadcasti64x2.512
+ 1, // llvm.x86.avx512.mask.broadcasti64x4.512
+ 1, // llvm.x86.avx512.mask.cmp.b.128
+ 1, // llvm.x86.avx512.mask.cmp.b.256
+ 1, // llvm.x86.avx512.mask.cmp.b.512
+ 1, // llvm.x86.avx512.mask.cmp.d.128
+ 1, // llvm.x86.avx512.mask.cmp.d.256
+ 1, // llvm.x86.avx512.mask.cmp.d.512
+ 1, // llvm.x86.avx512.mask.cmp.pd.128
+ 1, // llvm.x86.avx512.mask.cmp.pd.256
+ 1, // llvm.x86.avx512.mask.cmp.pd.512
+ 1, // llvm.x86.avx512.mask.cmp.ps.128
+ 1, // llvm.x86.avx512.mask.cmp.ps.256
+ 1, // llvm.x86.avx512.mask.cmp.ps.512
+ 1, // llvm.x86.avx512.mask.cmp.q.128
+ 1, // llvm.x86.avx512.mask.cmp.q.256
+ 1, // llvm.x86.avx512.mask.cmp.q.512
+ 1, // llvm.x86.avx512.mask.cmp.sd
+ 1, // llvm.x86.avx512.mask.cmp.ss
+ 1, // llvm.x86.avx512.mask.cmp.w.128
+ 1, // llvm.x86.avx512.mask.cmp.w.256
+ 1, // llvm.x86.avx512.mask.cmp.w.512
+ 1, // llvm.x86.avx512.mask.compress.d.128
+ 1, // llvm.x86.avx512.mask.compress.d.256
+ 1, // llvm.x86.avx512.mask.compress.d.512
+ 1, // llvm.x86.avx512.mask.compress.pd.128
+ 1, // llvm.x86.avx512.mask.compress.pd.256
+ 1, // llvm.x86.avx512.mask.compress.pd.512
+ 1, // llvm.x86.avx512.mask.compress.ps.128
+ 1, // llvm.x86.avx512.mask.compress.ps.256
+ 1, // llvm.x86.avx512.mask.compress.ps.512
+ 1, // llvm.x86.avx512.mask.compress.q.128
+ 1, // llvm.x86.avx512.mask.compress.q.256
+ 1, // llvm.x86.avx512.mask.compress.q.512
+ 18, // llvm.x86.avx512.mask.compress.store.d.128
+ 18, // llvm.x86.avx512.mask.compress.store.d.256
+ 18, // llvm.x86.avx512.mask.compress.store.d.512
+ 18, // llvm.x86.avx512.mask.compress.store.pd.128
+ 18, // llvm.x86.avx512.mask.compress.store.pd.256
+ 18, // llvm.x86.avx512.mask.compress.store.pd.512
+ 18, // llvm.x86.avx512.mask.compress.store.ps.128
+ 18, // llvm.x86.avx512.mask.compress.store.ps.256
+ 18, // llvm.x86.avx512.mask.compress.store.ps.512
+ 18, // llvm.x86.avx512.mask.compress.store.q.128
+ 18, // llvm.x86.avx512.mask.compress.store.q.256
+ 18, // llvm.x86.avx512.mask.compress.store.q.512
+ 1, // llvm.x86.avx512.mask.conflict.d.128
+ 1, // llvm.x86.avx512.mask.conflict.d.256
+ 1, // llvm.x86.avx512.mask.conflict.d.512
+ 1, // llvm.x86.avx512.mask.conflict.q.128
+ 1, // llvm.x86.avx512.mask.conflict.q.256
+ 1, // llvm.x86.avx512.mask.conflict.q.512
+ 1, // llvm.x86.avx512.mask.cvtdq2ps.128
+ 1, // llvm.x86.avx512.mask.cvtdq2ps.256
+ 1, // llvm.x86.avx512.mask.cvtdq2ps.512
+ 1, // llvm.x86.avx512.mask.cvtpd2dq.128
+ 1, // llvm.x86.avx512.mask.cvtpd2dq.256
+ 1, // llvm.x86.avx512.mask.cvtpd2dq.512
+ 1, // llvm.x86.avx512.mask.cvtpd2ps
+ 1, // llvm.x86.avx512.mask.cvtpd2ps.256
+ 1, // llvm.x86.avx512.mask.cvtpd2ps.512
+ 1, // llvm.x86.avx512.mask.cvtpd2qq.128
+ 1, // llvm.x86.avx512.mask.cvtpd2qq.256
+ 1, // llvm.x86.avx512.mask.cvtpd2qq.512
+ 1, // llvm.x86.avx512.mask.cvtpd2udq.128
+ 1, // llvm.x86.avx512.mask.cvtpd2udq.256
+ 1, // llvm.x86.avx512.mask.cvtpd2udq.512
+ 1, // llvm.x86.avx512.mask.cvtpd2uqq.128
+ 1, // llvm.x86.avx512.mask.cvtpd2uqq.256
+ 1, // llvm.x86.avx512.mask.cvtpd2uqq.512
+ 1, // llvm.x86.avx512.mask.cvtps2dq.128
+ 1, // llvm.x86.avx512.mask.cvtps2dq.256
+ 1, // llvm.x86.avx512.mask.cvtps2dq.512
+ 1, // llvm.x86.avx512.mask.cvtps2pd.128
+ 1, // llvm.x86.avx512.mask.cvtps2pd.256
+ 1, // llvm.x86.avx512.mask.cvtps2pd.512
+ 1, // llvm.x86.avx512.mask.cvtps2qq.128
+ 1, // llvm.x86.avx512.mask.cvtps2qq.256
+ 1, // llvm.x86.avx512.mask.cvtps2qq.512
+ 1, // llvm.x86.avx512.mask.cvtps2udq.128
+ 1, // llvm.x86.avx512.mask.cvtps2udq.256
+ 1, // llvm.x86.avx512.mask.cvtps2udq.512
+ 1, // llvm.x86.avx512.mask.cvtps2uqq.128
+ 1, // llvm.x86.avx512.mask.cvtps2uqq.256
+ 1, // llvm.x86.avx512.mask.cvtps2uqq.512
+ 1, // llvm.x86.avx512.mask.cvtqq2pd.128
+ 1, // llvm.x86.avx512.mask.cvtqq2pd.256
+ 1, // llvm.x86.avx512.mask.cvtqq2pd.512
+ 1, // llvm.x86.avx512.mask.cvtqq2ps.128
+ 1, // llvm.x86.avx512.mask.cvtqq2ps.256
+ 1, // llvm.x86.avx512.mask.cvtqq2ps.512
+ 1, // llvm.x86.avx512.mask.cvtsd2ss.round
+ 1, // llvm.x86.avx512.mask.cvtss2sd.round
+ 1, // llvm.x86.avx512.mask.cvttpd2dq.128
+ 1, // llvm.x86.avx512.mask.cvttpd2dq.256
+ 1, // llvm.x86.avx512.mask.cvttpd2dq.512
+ 1, // llvm.x86.avx512.mask.cvttpd2qq.128
+ 1, // llvm.x86.avx512.mask.cvttpd2qq.256
+ 1, // llvm.x86.avx512.mask.cvttpd2qq.512
+ 1, // llvm.x86.avx512.mask.cvttpd2udq.128
+ 1, // llvm.x86.avx512.mask.cvttpd2udq.256
+ 1, // llvm.x86.avx512.mask.cvttpd2udq.512
+ 1, // llvm.x86.avx512.mask.cvttpd2uqq.128
+ 1, // llvm.x86.avx512.mask.cvttpd2uqq.256
+ 1, // llvm.x86.avx512.mask.cvttpd2uqq.512
+ 1, // llvm.x86.avx512.mask.cvttps2dq.128
+ 1, // llvm.x86.avx512.mask.cvttps2dq.256
+ 1, // llvm.x86.avx512.mask.cvttps2dq.512
+ 1, // llvm.x86.avx512.mask.cvttps2qq.128
+ 1, // llvm.x86.avx512.mask.cvttps2qq.256
+ 1, // llvm.x86.avx512.mask.cvttps2qq.512
+ 1, // llvm.x86.avx512.mask.cvttps2udq.128
+ 1, // llvm.x86.avx512.mask.cvttps2udq.256
+ 1, // llvm.x86.avx512.mask.cvttps2udq.512
+ 1, // llvm.x86.avx512.mask.cvttps2uqq.128
+ 1, // llvm.x86.avx512.mask.cvttps2uqq.256
+ 1, // llvm.x86.avx512.mask.cvttps2uqq.512
+ 1, // llvm.x86.avx512.mask.cvtudq2ps.128
+ 1, // llvm.x86.avx512.mask.cvtudq2ps.256
+ 1, // llvm.x86.avx512.mask.cvtudq2ps.512
+ 1, // llvm.x86.avx512.mask.cvtuqq2pd.128
+ 1, // llvm.x86.avx512.mask.cvtuqq2pd.256
+ 1, // llvm.x86.avx512.mask.cvtuqq2pd.512
+ 1, // llvm.x86.avx512.mask.cvtuqq2ps.128
+ 1, // llvm.x86.avx512.mask.cvtuqq2ps.256
+ 1, // llvm.x86.avx512.mask.cvtuqq2ps.512
+ 1, // llvm.x86.avx512.mask.dbpsadbw.128
+ 1, // llvm.x86.avx512.mask.dbpsadbw.256
+ 1, // llvm.x86.avx512.mask.dbpsadbw.512
+ 1, // llvm.x86.avx512.mask.div.pd.512
+ 1, // llvm.x86.avx512.mask.div.ps.512
+ 1, // llvm.x86.avx512.mask.div.sd.round
+ 1, // llvm.x86.avx512.mask.div.ss.round
+ 1, // llvm.x86.avx512.mask.expand.d.128
+ 1, // llvm.x86.avx512.mask.expand.d.256
+ 1, // llvm.x86.avx512.mask.expand.d.512
+ 2, // llvm.x86.avx512.mask.expand.load.d.128
+ 2, // llvm.x86.avx512.mask.expand.load.d.256
+ 2, // llvm.x86.avx512.mask.expand.load.d.512
+ 2, // llvm.x86.avx512.mask.expand.load.pd.128
+ 2, // llvm.x86.avx512.mask.expand.load.pd.256
+ 2, // llvm.x86.avx512.mask.expand.load.pd.512
+ 2, // llvm.x86.avx512.mask.expand.load.ps.128
+ 2, // llvm.x86.avx512.mask.expand.load.ps.256
+ 2, // llvm.x86.avx512.mask.expand.load.ps.512
+ 2, // llvm.x86.avx512.mask.expand.load.q.128
+ 2, // llvm.x86.avx512.mask.expand.load.q.256
+ 2, // llvm.x86.avx512.mask.expand.load.q.512
+ 1, // llvm.x86.avx512.mask.expand.pd.128
+ 1, // llvm.x86.avx512.mask.expand.pd.256
+ 1, // llvm.x86.avx512.mask.expand.pd.512
+ 1, // llvm.x86.avx512.mask.expand.ps.128
+ 1, // llvm.x86.avx512.mask.expand.ps.256
+ 1, // llvm.x86.avx512.mask.expand.ps.512
+ 1, // llvm.x86.avx512.mask.expand.q.128
+ 1, // llvm.x86.avx512.mask.expand.q.256
+ 1, // llvm.x86.avx512.mask.expand.q.512
+ 1, // llvm.x86.avx512.mask.fixupimm.pd.128
+ 1, // llvm.x86.avx512.mask.fixupimm.pd.256
+ 1, // llvm.x86.avx512.mask.fixupimm.pd.512
+ 1, // llvm.x86.avx512.mask.fixupimm.ps.128
+ 1, // llvm.x86.avx512.mask.fixupimm.ps.256
+ 1, // llvm.x86.avx512.mask.fixupimm.ps.512
+ 1, // llvm.x86.avx512.mask.fixupimm.sd
+ 1, // llvm.x86.avx512.mask.fixupimm.ss
+ 1, // llvm.x86.avx512.mask.fpclass.pd.128
+ 1, // llvm.x86.avx512.mask.fpclass.pd.256
+ 1, // llvm.x86.avx512.mask.fpclass.pd.512
+ 1, // llvm.x86.avx512.mask.fpclass.ps.128
+ 1, // llvm.x86.avx512.mask.fpclass.ps.256
+ 1, // llvm.x86.avx512.mask.fpclass.ps.512
+ 1, // llvm.x86.avx512.mask.fpclass.sd
+ 1, // llvm.x86.avx512.mask.fpclass.ss
+ 1, // llvm.x86.avx512.mask.getexp.pd.128
+ 1, // llvm.x86.avx512.mask.getexp.pd.256
+ 1, // llvm.x86.avx512.mask.getexp.pd.512
+ 1, // llvm.x86.avx512.mask.getexp.ps.128
+ 1, // llvm.x86.avx512.mask.getexp.ps.256
+ 1, // llvm.x86.avx512.mask.getexp.ps.512
+ 1, // llvm.x86.avx512.mask.getexp.sd
+ 1, // llvm.x86.avx512.mask.getexp.ss
+ 1, // llvm.x86.avx512.mask.getmant.pd.128
+ 1, // llvm.x86.avx512.mask.getmant.pd.256
+ 1, // llvm.x86.avx512.mask.getmant.pd.512
+ 1, // llvm.x86.avx512.mask.getmant.ps.128
+ 1, // llvm.x86.avx512.mask.getmant.ps.256
+ 1, // llvm.x86.avx512.mask.getmant.ps.512
+ 1, // llvm.x86.avx512.mask.getmant.sd
+ 1, // llvm.x86.avx512.mask.getmant.ss
+ 1, // llvm.x86.avx512.mask.insertf32x4.256
+ 1, // llvm.x86.avx512.mask.insertf32x4.512
+ 1, // llvm.x86.avx512.mask.insertf32x8.512
+ 1, // llvm.x86.avx512.mask.insertf64x2.256
+ 1, // llvm.x86.avx512.mask.insertf64x2.512
+ 1, // llvm.x86.avx512.mask.insertf64x4.512
+ 1, // llvm.x86.avx512.mask.inserti32x4.256
+ 1, // llvm.x86.avx512.mask.inserti32x4.512
+ 1, // llvm.x86.avx512.mask.inserti32x8.512
+ 1, // llvm.x86.avx512.mask.inserti64x2.256
+ 1, // llvm.x86.avx512.mask.inserti64x2.512
+ 1, // llvm.x86.avx512.mask.inserti64x4.512
+ 1, // llvm.x86.avx512.mask.lzcnt.d.128
+ 1, // llvm.x86.avx512.mask.lzcnt.d.256
+ 1, // llvm.x86.avx512.mask.lzcnt.d.512
+ 1, // llvm.x86.avx512.mask.lzcnt.q.128
+ 1, // llvm.x86.avx512.mask.lzcnt.q.256
+ 1, // llvm.x86.avx512.mask.lzcnt.q.512
+ 1, // llvm.x86.avx512.mask.max.pd.128
+ 1, // llvm.x86.avx512.mask.max.pd.256
+ 1, // llvm.x86.avx512.mask.max.pd.512
+ 1, // llvm.x86.avx512.mask.max.ps.128
+ 1, // llvm.x86.avx512.mask.max.ps.256
+ 1, // llvm.x86.avx512.mask.max.ps.512
+ 1, // llvm.x86.avx512.mask.max.sd.round
+ 1, // llvm.x86.avx512.mask.max.ss.round
+ 1, // llvm.x86.avx512.mask.min.pd.128
+ 1, // llvm.x86.avx512.mask.min.pd.256
+ 1, // llvm.x86.avx512.mask.min.pd.512
+ 1, // llvm.x86.avx512.mask.min.ps.128
+ 1, // llvm.x86.avx512.mask.min.ps.256
+ 1, // llvm.x86.avx512.mask.min.ps.512
+ 1, // llvm.x86.avx512.mask.min.sd.round
+ 1, // llvm.x86.avx512.mask.min.ss.round
+ 1, // llvm.x86.avx512.mask.mul.pd.512
+ 1, // llvm.x86.avx512.mask.mul.ps.512
+ 1, // llvm.x86.avx512.mask.mul.sd.round
+ 1, // llvm.x86.avx512.mask.mul.ss.round
+ 1, // llvm.x86.avx512.mask.pabs.b.128
+ 1, // llvm.x86.avx512.mask.pabs.b.256
+ 1, // llvm.x86.avx512.mask.pabs.b.512
+ 1, // llvm.x86.avx512.mask.pabs.d.128
+ 1, // llvm.x86.avx512.mask.pabs.d.256
+ 1, // llvm.x86.avx512.mask.pabs.d.512
+ 1, // llvm.x86.avx512.mask.pabs.q.128
+ 1, // llvm.x86.avx512.mask.pabs.q.256
+ 1, // llvm.x86.avx512.mask.pabs.q.512
+ 1, // llvm.x86.avx512.mask.pabs.w.128
+ 1, // llvm.x86.avx512.mask.pabs.w.256
+ 1, // llvm.x86.avx512.mask.pabs.w.512
+ 1, // llvm.x86.avx512.mask.packssdw.128
+ 1, // llvm.x86.avx512.mask.packssdw.256
+ 1, // llvm.x86.avx512.mask.packssdw.512
+ 1, // llvm.x86.avx512.mask.packsswb.128
+ 1, // llvm.x86.avx512.mask.packsswb.256
+ 1, // llvm.x86.avx512.mask.packsswb.512
+ 1, // llvm.x86.avx512.mask.packusdw.128
+ 1, // llvm.x86.avx512.mask.packusdw.256
+ 1, // llvm.x86.avx512.mask.packusdw.512
+ 1, // llvm.x86.avx512.mask.packuswb.128
+ 1, // llvm.x86.avx512.mask.packuswb.256
+ 1, // llvm.x86.avx512.mask.packuswb.512
+ 1, // llvm.x86.avx512.mask.padds.b.128
+ 1, // llvm.x86.avx512.mask.padds.b.256
+ 1, // llvm.x86.avx512.mask.padds.b.512
+ 1, // llvm.x86.avx512.mask.padds.w.128
+ 1, // llvm.x86.avx512.mask.padds.w.256
+ 1, // llvm.x86.avx512.mask.padds.w.512
+ 1, // llvm.x86.avx512.mask.paddus.b.128
+ 1, // llvm.x86.avx512.mask.paddus.b.256
+ 1, // llvm.x86.avx512.mask.paddus.b.512
+ 1, // llvm.x86.avx512.mask.paddus.w.128
+ 1, // llvm.x86.avx512.mask.paddus.w.256
+ 1, // llvm.x86.avx512.mask.paddus.w.512
+ 1, // llvm.x86.avx512.mask.pavg.b.128
+ 1, // llvm.x86.avx512.mask.pavg.b.256
+ 1, // llvm.x86.avx512.mask.pavg.b.512
+ 1, // llvm.x86.avx512.mask.pavg.w.128
+ 1, // llvm.x86.avx512.mask.pavg.w.256
+ 1, // llvm.x86.avx512.mask.pavg.w.512
+ 1, // llvm.x86.avx512.mask.pbroadcast.b.gpr.128
+ 1, // llvm.x86.avx512.mask.pbroadcast.b.gpr.256
+ 1, // llvm.x86.avx512.mask.pbroadcast.b.gpr.512
+ 1, // llvm.x86.avx512.mask.pbroadcast.d.gpr.128
+ 1, // llvm.x86.avx512.mask.pbroadcast.d.gpr.256
+ 1, // llvm.x86.avx512.mask.pbroadcast.d.gpr.512
+ 1, // llvm.x86.avx512.mask.pbroadcast.q.gpr.128
+ 1, // llvm.x86.avx512.mask.pbroadcast.q.gpr.256
+ 1, // llvm.x86.avx512.mask.pbroadcast.q.gpr.512
+ 1, // llvm.x86.avx512.mask.pbroadcast.q.mem.512
+ 1, // llvm.x86.avx512.mask.pbroadcast.w.gpr.128
+ 1, // llvm.x86.avx512.mask.pbroadcast.w.gpr.256
+ 1, // llvm.x86.avx512.mask.pbroadcast.w.gpr.512
+ 1, // llvm.x86.avx512.mask.permvar.df.256
+ 1, // llvm.x86.avx512.mask.permvar.df.512
+ 1, // llvm.x86.avx512.mask.permvar.di.256
+ 1, // llvm.x86.avx512.mask.permvar.di.512
+ 1, // llvm.x86.avx512.mask.permvar.hi.128
+ 1, // llvm.x86.avx512.mask.permvar.hi.256
+ 1, // llvm.x86.avx512.mask.permvar.hi.512
+ 1, // llvm.x86.avx512.mask.permvar.qi.128
+ 1, // llvm.x86.avx512.mask.permvar.qi.256
+ 1, // llvm.x86.avx512.mask.permvar.qi.512
+ 1, // llvm.x86.avx512.mask.permvar.sf.256
+ 1, // llvm.x86.avx512.mask.permvar.sf.512
+ 1, // llvm.x86.avx512.mask.permvar.si.256
+ 1, // llvm.x86.avx512.mask.permvar.si.512
+ 1, // llvm.x86.avx512.mask.pmaddubs.w.128
+ 1, // llvm.x86.avx512.mask.pmaddubs.w.256
+ 1, // llvm.x86.avx512.mask.pmaddubs.w.512
+ 1, // llvm.x86.avx512.mask.pmaddw.d.128
+ 1, // llvm.x86.avx512.mask.pmaddw.d.256
+ 1, // llvm.x86.avx512.mask.pmaddw.d.512
+ 1, // llvm.x86.avx512.mask.pmov.db.128
+ 1, // llvm.x86.avx512.mask.pmov.db.256
+ 1, // llvm.x86.avx512.mask.pmov.db.512
+ 18, // llvm.x86.avx512.mask.pmov.db.mem.128
+ 18, // llvm.x86.avx512.mask.pmov.db.mem.256
+ 18, // llvm.x86.avx512.mask.pmov.db.mem.512
+ 1, // llvm.x86.avx512.mask.pmov.dw.128
+ 1, // llvm.x86.avx512.mask.pmov.dw.256
+ 1, // llvm.x86.avx512.mask.pmov.dw.512
+ 18, // llvm.x86.avx512.mask.pmov.dw.mem.128
+ 18, // llvm.x86.avx512.mask.pmov.dw.mem.256
+ 18, // llvm.x86.avx512.mask.pmov.dw.mem.512
+ 1, // llvm.x86.avx512.mask.pmov.qb.128
+ 1, // llvm.x86.avx512.mask.pmov.qb.256
+ 1, // llvm.x86.avx512.mask.pmov.qb.512
+ 18, // llvm.x86.avx512.mask.pmov.qb.mem.128
+ 18, // llvm.x86.avx512.mask.pmov.qb.mem.256
+ 18, // llvm.x86.avx512.mask.pmov.qb.mem.512
+ 1, // llvm.x86.avx512.mask.pmov.qd.128
+ 1, // llvm.x86.avx512.mask.pmov.qd.256
+ 1, // llvm.x86.avx512.mask.pmov.qd.512
+ 18, // llvm.x86.avx512.mask.pmov.qd.mem.128
+ 18, // llvm.x86.avx512.mask.pmov.qd.mem.256
+ 18, // llvm.x86.avx512.mask.pmov.qd.mem.512
+ 1, // llvm.x86.avx512.mask.pmov.qw.128
+ 1, // llvm.x86.avx512.mask.pmov.qw.256
+ 1, // llvm.x86.avx512.mask.pmov.qw.512
+ 18, // llvm.x86.avx512.mask.pmov.qw.mem.128
+ 18, // llvm.x86.avx512.mask.pmov.qw.mem.256
+ 18, // llvm.x86.avx512.mask.pmov.qw.mem.512
+ 1, // llvm.x86.avx512.mask.pmov.wb.128
+ 1, // llvm.x86.avx512.mask.pmov.wb.256
+ 1, // llvm.x86.avx512.mask.pmov.wb.512
+ 18, // llvm.x86.avx512.mask.pmov.wb.mem.128
+ 18, // llvm.x86.avx512.mask.pmov.wb.mem.256
+ 18, // llvm.x86.avx512.mask.pmov.wb.mem.512
+ 1, // llvm.x86.avx512.mask.pmovs.db.128
+ 1, // llvm.x86.avx512.mask.pmovs.db.256
+ 1, // llvm.x86.avx512.mask.pmovs.db.512
+ 18, // llvm.x86.avx512.mask.pmovs.db.mem.128
+ 18, // llvm.x86.avx512.mask.pmovs.db.mem.256
+ 18, // llvm.x86.avx512.mask.pmovs.db.mem.512
+ 1, // llvm.x86.avx512.mask.pmovs.dw.128
+ 1, // llvm.x86.avx512.mask.pmovs.dw.256
+ 1, // llvm.x86.avx512.mask.pmovs.dw.512
+ 18, // llvm.x86.avx512.mask.pmovs.dw.mem.128
+ 18, // llvm.x86.avx512.mask.pmovs.dw.mem.256
+ 18, // llvm.x86.avx512.mask.pmovs.dw.mem.512
+ 1, // llvm.x86.avx512.mask.pmovs.qb.128
+ 1, // llvm.x86.avx512.mask.pmovs.qb.256
+ 1, // llvm.x86.avx512.mask.pmovs.qb.512
+ 18, // llvm.x86.avx512.mask.pmovs.qb.mem.128
+ 18, // llvm.x86.avx512.mask.pmovs.qb.mem.256
+ 18, // llvm.x86.avx512.mask.pmovs.qb.mem.512
+ 1, // llvm.x86.avx512.mask.pmovs.qd.128
+ 1, // llvm.x86.avx512.mask.pmovs.qd.256
+ 1, // llvm.x86.avx512.mask.pmovs.qd.512
+ 18, // llvm.x86.avx512.mask.pmovs.qd.mem.128
+ 18, // llvm.x86.avx512.mask.pmovs.qd.mem.256
+ 18, // llvm.x86.avx512.mask.pmovs.qd.mem.512
+ 1, // llvm.x86.avx512.mask.pmovs.qw.128
+ 1, // llvm.x86.avx512.mask.pmovs.qw.256
+ 1, // llvm.x86.avx512.mask.pmovs.qw.512
+ 18, // llvm.x86.avx512.mask.pmovs.qw.mem.128
+ 18, // llvm.x86.avx512.mask.pmovs.qw.mem.256
+ 18, // llvm.x86.avx512.mask.pmovs.qw.mem.512
+ 1, // llvm.x86.avx512.mask.pmovs.wb.128
+ 1, // llvm.x86.avx512.mask.pmovs.wb.256
+ 1, // llvm.x86.avx512.mask.pmovs.wb.512
+ 18, // llvm.x86.avx512.mask.pmovs.wb.mem.128
+ 18, // llvm.x86.avx512.mask.pmovs.wb.mem.256
+ 18, // llvm.x86.avx512.mask.pmovs.wb.mem.512
+ 1, // llvm.x86.avx512.mask.pmovus.db.128
+ 1, // llvm.x86.avx512.mask.pmovus.db.256
+ 1, // llvm.x86.avx512.mask.pmovus.db.512
+ 18, // llvm.x86.avx512.mask.pmovus.db.mem.128
+ 18, // llvm.x86.avx512.mask.pmovus.db.mem.256
+ 18, // llvm.x86.avx512.mask.pmovus.db.mem.512
+ 1, // llvm.x86.avx512.mask.pmovus.dw.128
+ 1, // llvm.x86.avx512.mask.pmovus.dw.256
+ 1, // llvm.x86.avx512.mask.pmovus.dw.512
+ 18, // llvm.x86.avx512.mask.pmovus.dw.mem.128
+ 18, // llvm.x86.avx512.mask.pmovus.dw.mem.256
+ 18, // llvm.x86.avx512.mask.pmovus.dw.mem.512
+ 1, // llvm.x86.avx512.mask.pmovus.qb.128
+ 1, // llvm.x86.avx512.mask.pmovus.qb.256
+ 1, // llvm.x86.avx512.mask.pmovus.qb.512
+ 18, // llvm.x86.avx512.mask.pmovus.qb.mem.128
+ 18, // llvm.x86.avx512.mask.pmovus.qb.mem.256
+ 18, // llvm.x86.avx512.mask.pmovus.qb.mem.512
+ 1, // llvm.x86.avx512.mask.pmovus.qd.128
+ 1, // llvm.x86.avx512.mask.pmovus.qd.256
+ 1, // llvm.x86.avx512.mask.pmovus.qd.512
+ 18, // llvm.x86.avx512.mask.pmovus.qd.mem.128
+ 18, // llvm.x86.avx512.mask.pmovus.qd.mem.256
+ 18, // llvm.x86.avx512.mask.pmovus.qd.mem.512
+ 1, // llvm.x86.avx512.mask.pmovus.qw.128
+ 1, // llvm.x86.avx512.mask.pmovus.qw.256
+ 1, // llvm.x86.avx512.mask.pmovus.qw.512
+ 18, // llvm.x86.avx512.mask.pmovus.qw.mem.128
+ 18, // llvm.x86.avx512.mask.pmovus.qw.mem.256
+ 18, // llvm.x86.avx512.mask.pmovus.qw.mem.512
+ 1, // llvm.x86.avx512.mask.pmovus.wb.128
+ 1, // llvm.x86.avx512.mask.pmovus.wb.256
+ 1, // llvm.x86.avx512.mask.pmovus.wb.512
+ 18, // llvm.x86.avx512.mask.pmovus.wb.mem.128
+ 18, // llvm.x86.avx512.mask.pmovus.wb.mem.256
+ 18, // llvm.x86.avx512.mask.pmovus.wb.mem.512
+ 1, // llvm.x86.avx512.mask.pmul.dq.128
+ 1, // llvm.x86.avx512.mask.pmul.dq.256
+ 1, // llvm.x86.avx512.mask.pmul.dq.512
+ 1, // llvm.x86.avx512.mask.pmul.hr.sw.128
+ 1, // llvm.x86.avx512.mask.pmul.hr.sw.256
+ 1, // llvm.x86.avx512.mask.pmul.hr.sw.512
+ 1, // llvm.x86.avx512.mask.pmulh.w.128
+ 1, // llvm.x86.avx512.mask.pmulh.w.256
+ 1, // llvm.x86.avx512.mask.pmulh.w.512
+ 1, // llvm.x86.avx512.mask.pmulhu.w.128
+ 1, // llvm.x86.avx512.mask.pmulhu.w.256
+ 1, // llvm.x86.avx512.mask.pmulhu.w.512
+ 1, // llvm.x86.avx512.mask.pmultishift.qb.128
+ 1, // llvm.x86.avx512.mask.pmultishift.qb.256
+ 1, // llvm.x86.avx512.mask.pmultishift.qb.512
+ 1, // llvm.x86.avx512.mask.pmulu.dq.128
+ 1, // llvm.x86.avx512.mask.pmulu.dq.256
+ 1, // llvm.x86.avx512.mask.pmulu.dq.512
+ 1, // llvm.x86.avx512.mask.prol.d.128
+ 1, // llvm.x86.avx512.mask.prol.d.256
+ 1, // llvm.x86.avx512.mask.prol.d.512
+ 1, // llvm.x86.avx512.mask.prol.q.128
+ 1, // llvm.x86.avx512.mask.prol.q.256
+ 1, // llvm.x86.avx512.mask.prol.q.512
+ 1, // llvm.x86.avx512.mask.prolv.d.128
+ 1, // llvm.x86.avx512.mask.prolv.d.256
+ 1, // llvm.x86.avx512.mask.prolv.d.512
+ 1, // llvm.x86.avx512.mask.prolv.q.128
+ 1, // llvm.x86.avx512.mask.prolv.q.256
+ 1, // llvm.x86.avx512.mask.prolv.q.512
+ 1, // llvm.x86.avx512.mask.pror.d.128
+ 1, // llvm.x86.avx512.mask.pror.d.256
+ 1, // llvm.x86.avx512.mask.pror.d.512
+ 1, // llvm.x86.avx512.mask.pror.q.128
+ 1, // llvm.x86.avx512.mask.pror.q.256
+ 1, // llvm.x86.avx512.mask.pror.q.512
+ 1, // llvm.x86.avx512.mask.prorv.d.128
+ 1, // llvm.x86.avx512.mask.prorv.d.256
+ 1, // llvm.x86.avx512.mask.prorv.d.512
+ 1, // llvm.x86.avx512.mask.prorv.q.128
+ 1, // llvm.x86.avx512.mask.prorv.q.256
+ 1, // llvm.x86.avx512.mask.prorv.q.512
+ 1, // llvm.x86.avx512.mask.psubs.b.128
+ 1, // llvm.x86.avx512.mask.psubs.b.256
+ 1, // llvm.x86.avx512.mask.psubs.b.512
+ 1, // llvm.x86.avx512.mask.psubs.w.128
+ 1, // llvm.x86.avx512.mask.psubs.w.256
+ 1, // llvm.x86.avx512.mask.psubs.w.512
+ 1, // llvm.x86.avx512.mask.psubus.b.128
+ 1, // llvm.x86.avx512.mask.psubus.b.256
+ 1, // llvm.x86.avx512.mask.psubus.b.512
+ 1, // llvm.x86.avx512.mask.psubus.w.128
+ 1, // llvm.x86.avx512.mask.psubus.w.256
+ 1, // llvm.x86.avx512.mask.psubus.w.512
+ 1, // llvm.x86.avx512.mask.pternlog.d.128
+ 1, // llvm.x86.avx512.mask.pternlog.d.256
+ 1, // llvm.x86.avx512.mask.pternlog.d.512
+ 1, // llvm.x86.avx512.mask.pternlog.q.128
+ 1, // llvm.x86.avx512.mask.pternlog.q.256
+ 1, // llvm.x86.avx512.mask.pternlog.q.512
+ 1, // llvm.x86.avx512.mask.range.pd.128
+ 1, // llvm.x86.avx512.mask.range.pd.256
+ 1, // llvm.x86.avx512.mask.range.pd.512
+ 1, // llvm.x86.avx512.mask.range.ps.128
+ 1, // llvm.x86.avx512.mask.range.ps.256
+ 1, // llvm.x86.avx512.mask.range.ps.512
+ 1, // llvm.x86.avx512.mask.range.sd
+ 1, // llvm.x86.avx512.mask.range.ss
+ 1, // llvm.x86.avx512.mask.reduce.pd.128
+ 1, // llvm.x86.avx512.mask.reduce.pd.256
+ 1, // llvm.x86.avx512.mask.reduce.pd.512
+ 1, // llvm.x86.avx512.mask.reduce.ps.128
+ 1, // llvm.x86.avx512.mask.reduce.ps.256
+ 1, // llvm.x86.avx512.mask.reduce.ps.512
+ 1, // llvm.x86.avx512.mask.reduce.sd
+ 1, // llvm.x86.avx512.mask.reduce.ss
+ 1, // llvm.x86.avx512.mask.rndscale.pd.128
+ 1, // llvm.x86.avx512.mask.rndscale.pd.256
+ 1, // llvm.x86.avx512.mask.rndscale.pd.512
+ 1, // llvm.x86.avx512.mask.rndscale.ps.128
+ 1, // llvm.x86.avx512.mask.rndscale.ps.256
+ 1, // llvm.x86.avx512.mask.rndscale.ps.512
+ 1, // llvm.x86.avx512.mask.rndscale.sd
+ 1, // llvm.x86.avx512.mask.rndscale.ss
+ 1, // llvm.x86.avx512.mask.scalef.pd.128
+ 1, // llvm.x86.avx512.mask.scalef.pd.256
+ 1, // llvm.x86.avx512.mask.scalef.pd.512
+ 1, // llvm.x86.avx512.mask.scalef.ps.128
+ 1, // llvm.x86.avx512.mask.scalef.ps.256
+ 1, // llvm.x86.avx512.mask.scalef.ps.512
+ 1, // llvm.x86.avx512.mask.scalef.sd
+ 1, // llvm.x86.avx512.mask.scalef.ss
+ 1, // llvm.x86.avx512.mask.shuf.f32x4
+ 1, // llvm.x86.avx512.mask.shuf.f32x4.256
+ 1, // llvm.x86.avx512.mask.shuf.f64x2
+ 1, // llvm.x86.avx512.mask.shuf.f64x2.256
+ 1, // llvm.x86.avx512.mask.shuf.i32x4
+ 1, // llvm.x86.avx512.mask.shuf.i32x4.256
+ 1, // llvm.x86.avx512.mask.shuf.i64x2
+ 1, // llvm.x86.avx512.mask.shuf.i64x2.256
+ 1, // llvm.x86.avx512.mask.sqrt.pd.128
+ 1, // llvm.x86.avx512.mask.sqrt.pd.256
+ 1, // llvm.x86.avx512.mask.sqrt.pd.512
+ 1, // llvm.x86.avx512.mask.sqrt.ps.128
+ 1, // llvm.x86.avx512.mask.sqrt.ps.256
+ 1, // llvm.x86.avx512.mask.sqrt.ps.512
+ 1, // llvm.x86.avx512.mask.sqrt.sd
+ 1, // llvm.x86.avx512.mask.sqrt.ss
+ 18, // llvm.x86.avx512.mask.store.ss
+ 1, // llvm.x86.avx512.mask.sub.pd.512
+ 1, // llvm.x86.avx512.mask.sub.ps.512
+ 1, // llvm.x86.avx512.mask.sub.sd.round
+ 1, // llvm.x86.avx512.mask.sub.ss.round
+ 1, // llvm.x86.avx512.mask.ucmp.b.128
+ 1, // llvm.x86.avx512.mask.ucmp.b.256
+ 1, // llvm.x86.avx512.mask.ucmp.b.512
+ 1, // llvm.x86.avx512.mask.ucmp.d.128
+ 1, // llvm.x86.avx512.mask.ucmp.d.256
+ 1, // llvm.x86.avx512.mask.ucmp.d.512
+ 1, // llvm.x86.avx512.mask.ucmp.q.128
+ 1, // llvm.x86.avx512.mask.ucmp.q.256
+ 1, // llvm.x86.avx512.mask.ucmp.q.512
+ 1, // llvm.x86.avx512.mask.ucmp.w.128
+ 1, // llvm.x86.avx512.mask.ucmp.w.256
+ 1, // llvm.x86.avx512.mask.ucmp.w.512
+ 1, // llvm.x86.avx512.mask.vcvtph2ps.128
+ 1, // llvm.x86.avx512.mask.vcvtph2ps.256
+ 1, // llvm.x86.avx512.mask.vcvtph2ps.512
+ 1, // llvm.x86.avx512.mask.vcvtps2ph.128
+ 1, // llvm.x86.avx512.mask.vcvtps2ph.256
+ 1, // llvm.x86.avx512.mask.vcvtps2ph.512
+ 1, // llvm.x86.avx512.mask.vextractf32x4.256
+ 1, // llvm.x86.avx512.mask.vextractf32x4.512
+ 1, // llvm.x86.avx512.mask.vextractf32x8.512
+ 1, // llvm.x86.avx512.mask.vextractf64x2.256
+ 1, // llvm.x86.avx512.mask.vextractf64x2.512
+ 1, // llvm.x86.avx512.mask.vextractf64x4.512
+ 1, // llvm.x86.avx512.mask.vextracti32x4.256
+ 1, // llvm.x86.avx512.mask.vextracti32x4.512
+ 1, // llvm.x86.avx512.mask.vextracti32x8.512
+ 1, // llvm.x86.avx512.mask.vextracti64x2.256
+ 1, // llvm.x86.avx512.mask.vextracti64x2.512
+ 1, // llvm.x86.avx512.mask.vextracti64x4.512
+ 1, // llvm.x86.avx512.mask.vfmadd.pd.128
+ 1, // llvm.x86.avx512.mask.vfmadd.pd.256
+ 1, // llvm.x86.avx512.mask.vfmadd.pd.512
+ 1, // llvm.x86.avx512.mask.vfmadd.ps.128
+ 1, // llvm.x86.avx512.mask.vfmadd.ps.256
+ 1, // llvm.x86.avx512.mask.vfmadd.ps.512
+ 1, // llvm.x86.avx512.mask.vfmadd.sd
+ 1, // llvm.x86.avx512.mask.vfmadd.ss
+ 1, // llvm.x86.avx512.mask.vfmaddsub.pd.128
+ 1, // llvm.x86.avx512.mask.vfmaddsub.pd.256
+ 1, // llvm.x86.avx512.mask.vfmaddsub.pd.512
+ 1, // llvm.x86.avx512.mask.vfmaddsub.ps.128
+ 1, // llvm.x86.avx512.mask.vfmaddsub.ps.256
+ 1, // llvm.x86.avx512.mask.vfmaddsub.ps.512
+ 1, // llvm.x86.avx512.mask.vfnmadd.pd.128
+ 1, // llvm.x86.avx512.mask.vfnmadd.pd.256
+ 1, // llvm.x86.avx512.mask.vfnmadd.pd.512
+ 1, // llvm.x86.avx512.mask.vfnmadd.ps.128
+ 1, // llvm.x86.avx512.mask.vfnmadd.ps.256
+ 1, // llvm.x86.avx512.mask.vfnmadd.ps.512
+ 1, // llvm.x86.avx512.mask.vfnmsub.pd.128
+ 1, // llvm.x86.avx512.mask.vfnmsub.pd.256
+ 1, // llvm.x86.avx512.mask.vfnmsub.pd.512
+ 1, // llvm.x86.avx512.mask.vfnmsub.ps.128
+ 1, // llvm.x86.avx512.mask.vfnmsub.ps.256
+ 1, // llvm.x86.avx512.mask.vfnmsub.ps.512
+ 1, // llvm.x86.avx512.mask.vpermi2var.d.128
+ 1, // llvm.x86.avx512.mask.vpermi2var.d.256
+ 1, // llvm.x86.avx512.mask.vpermi2var.d.512
+ 1, // llvm.x86.avx512.mask.vpermi2var.hi.128
+ 1, // llvm.x86.avx512.mask.vpermi2var.hi.256
+ 1, // llvm.x86.avx512.mask.vpermi2var.hi.512
+ 1, // llvm.x86.avx512.mask.vpermi2var.pd.128
+ 1, // llvm.x86.avx512.mask.vpermi2var.pd.256
+ 1, // llvm.x86.avx512.mask.vpermi2var.pd.512
+ 1, // llvm.x86.avx512.mask.vpermi2var.ps.128
+ 1, // llvm.x86.avx512.mask.vpermi2var.ps.256
+ 1, // llvm.x86.avx512.mask.vpermi2var.ps.512
+ 1, // llvm.x86.avx512.mask.vpermi2var.q.128
+ 1, // llvm.x86.avx512.mask.vpermi2var.q.256
+ 1, // llvm.x86.avx512.mask.vpermi2var.q.512
+ 1, // llvm.x86.avx512.mask.vpermi2var.qi.128
+ 1, // llvm.x86.avx512.mask.vpermi2var.qi.256
+ 1, // llvm.x86.avx512.mask.vpermi2var.qi.512
+ 1, // llvm.x86.avx512.mask.vpermt2var.d.128
+ 1, // llvm.x86.avx512.mask.vpermt2var.d.256
+ 1, // llvm.x86.avx512.mask.vpermt2var.d.512
+ 1, // llvm.x86.avx512.mask.vpermt2var.hi.128
+ 1, // llvm.x86.avx512.mask.vpermt2var.hi.256
+ 1, // llvm.x86.avx512.mask.vpermt2var.hi.512
+ 1, // llvm.x86.avx512.mask.vpermt2var.pd.128
+ 1, // llvm.x86.avx512.mask.vpermt2var.pd.256
+ 1, // llvm.x86.avx512.mask.vpermt2var.pd.512
+ 1, // llvm.x86.avx512.mask.vpermt2var.ps.128
+ 1, // llvm.x86.avx512.mask.vpermt2var.ps.256
+ 1, // llvm.x86.avx512.mask.vpermt2var.ps.512
+ 1, // llvm.x86.avx512.mask.vpermt2var.q.128
+ 1, // llvm.x86.avx512.mask.vpermt2var.q.256
+ 1, // llvm.x86.avx512.mask.vpermt2var.q.512
+ 1, // llvm.x86.avx512.mask.vpermt2var.qi.128
+ 1, // llvm.x86.avx512.mask.vpermt2var.qi.256
+ 1, // llvm.x86.avx512.mask.vpermt2var.qi.512
+ 1, // llvm.x86.avx512.mask.vpmadd52h.uq.128
+ 1, // llvm.x86.avx512.mask.vpmadd52h.uq.256
+ 1, // llvm.x86.avx512.mask.vpmadd52h.uq.512
+ 1, // llvm.x86.avx512.mask.vpmadd52l.uq.128
+ 1, // llvm.x86.avx512.mask.vpmadd52l.uq.256
+ 1, // llvm.x86.avx512.mask.vpmadd52l.uq.512
+ 1, // llvm.x86.avx512.mask3.vfmadd.pd.128
+ 1, // llvm.x86.avx512.mask3.vfmadd.pd.256
+ 1, // llvm.x86.avx512.mask3.vfmadd.pd.512
+ 1, // llvm.x86.avx512.mask3.vfmadd.ps.128
+ 1, // llvm.x86.avx512.mask3.vfmadd.ps.256
+ 1, // llvm.x86.avx512.mask3.vfmadd.ps.512
+ 1, // llvm.x86.avx512.mask3.vfmadd.sd
+ 1, // llvm.x86.avx512.mask3.vfmadd.ss
+ 1, // llvm.x86.avx512.mask3.vfmaddsub.pd.128
+ 1, // llvm.x86.avx512.mask3.vfmaddsub.pd.256
+ 1, // llvm.x86.avx512.mask3.vfmaddsub.pd.512
+ 1, // llvm.x86.avx512.mask3.vfmaddsub.ps.128
+ 1, // llvm.x86.avx512.mask3.vfmaddsub.ps.256
+ 1, // llvm.x86.avx512.mask3.vfmaddsub.ps.512
+ 1, // llvm.x86.avx512.mask3.vfmsub.pd.128
+ 1, // llvm.x86.avx512.mask3.vfmsub.pd.256
+ 1, // llvm.x86.avx512.mask3.vfmsub.pd.512
+ 1, // llvm.x86.avx512.mask3.vfmsub.ps.128
+ 1, // llvm.x86.avx512.mask3.vfmsub.ps.256
+ 1, // llvm.x86.avx512.mask3.vfmsub.ps.512
+ 1, // llvm.x86.avx512.mask3.vfmsub.sd
+ 1, // llvm.x86.avx512.mask3.vfmsub.ss
+ 1, // llvm.x86.avx512.mask3.vfmsubadd.pd.128
+ 1, // llvm.x86.avx512.mask3.vfmsubadd.pd.256
+ 1, // llvm.x86.avx512.mask3.vfmsubadd.pd.512
+ 1, // llvm.x86.avx512.mask3.vfmsubadd.ps.128
+ 1, // llvm.x86.avx512.mask3.vfmsubadd.ps.256
+ 1, // llvm.x86.avx512.mask3.vfmsubadd.ps.512
+ 1, // llvm.x86.avx512.mask3.vfnmsub.pd.128
+ 1, // llvm.x86.avx512.mask3.vfnmsub.pd.256
+ 1, // llvm.x86.avx512.mask3.vfnmsub.pd.512
+ 1, // llvm.x86.avx512.mask3.vfnmsub.ps.128
+ 1, // llvm.x86.avx512.mask3.vfnmsub.ps.256
+ 1, // llvm.x86.avx512.mask3.vfnmsub.ps.512
+ 1, // llvm.x86.avx512.mask3.vfnmsub.sd
+ 1, // llvm.x86.avx512.mask3.vfnmsub.ss
+ 1, // llvm.x86.avx512.maskz.fixupimm.pd.128
+ 1, // llvm.x86.avx512.maskz.fixupimm.pd.256
+ 1, // llvm.x86.avx512.maskz.fixupimm.pd.512
+ 1, // llvm.x86.avx512.maskz.fixupimm.ps.128
+ 1, // llvm.x86.avx512.maskz.fixupimm.ps.256
+ 1, // llvm.x86.avx512.maskz.fixupimm.ps.512
+ 1, // llvm.x86.avx512.maskz.fixupimm.sd
+ 1, // llvm.x86.avx512.maskz.fixupimm.ss
+ 1, // llvm.x86.avx512.maskz.pternlog.d.128
+ 1, // llvm.x86.avx512.maskz.pternlog.d.256
+ 1, // llvm.x86.avx512.maskz.pternlog.d.512
+ 1, // llvm.x86.avx512.maskz.pternlog.q.128
+ 1, // llvm.x86.avx512.maskz.pternlog.q.256
+ 1, // llvm.x86.avx512.maskz.pternlog.q.512
+ 1, // llvm.x86.avx512.maskz.vfmadd.pd.128
+ 1, // llvm.x86.avx512.maskz.vfmadd.pd.256
+ 1, // llvm.x86.avx512.maskz.vfmadd.pd.512
+ 1, // llvm.x86.avx512.maskz.vfmadd.ps.128
+ 1, // llvm.x86.avx512.maskz.vfmadd.ps.256
+ 1, // llvm.x86.avx512.maskz.vfmadd.ps.512
+ 1, // llvm.x86.avx512.maskz.vfmadd.sd
+ 1, // llvm.x86.avx512.maskz.vfmadd.ss
+ 1, // llvm.x86.avx512.maskz.vfmaddsub.pd.128
+ 1, // llvm.x86.avx512.maskz.vfmaddsub.pd.256
+ 1, // llvm.x86.avx512.maskz.vfmaddsub.pd.512
+ 1, // llvm.x86.avx512.maskz.vfmaddsub.ps.128
+ 1, // llvm.x86.avx512.maskz.vfmaddsub.ps.256
+ 1, // llvm.x86.avx512.maskz.vfmaddsub.ps.512
+ 1, // llvm.x86.avx512.maskz.vpermt2var.d.128
+ 1, // llvm.x86.avx512.maskz.vpermt2var.d.256
+ 1, // llvm.x86.avx512.maskz.vpermt2var.d.512
+ 1, // llvm.x86.avx512.maskz.vpermt2var.hi.128
+ 1, // llvm.x86.avx512.maskz.vpermt2var.hi.256
+ 1, // llvm.x86.avx512.maskz.vpermt2var.hi.512
+ 1, // llvm.x86.avx512.maskz.vpermt2var.pd.128
+ 1, // llvm.x86.avx512.maskz.vpermt2var.pd.256
+ 1, // llvm.x86.avx512.maskz.vpermt2var.pd.512
+ 1, // llvm.x86.avx512.maskz.vpermt2var.ps.128
+ 1, // llvm.x86.avx512.maskz.vpermt2var.ps.256
+ 1, // llvm.x86.avx512.maskz.vpermt2var.ps.512
+ 1, // llvm.x86.avx512.maskz.vpermt2var.q.128
+ 1, // llvm.x86.avx512.maskz.vpermt2var.q.256
+ 1, // llvm.x86.avx512.maskz.vpermt2var.q.512
+ 1, // llvm.x86.avx512.maskz.vpermt2var.qi.128
+ 1, // llvm.x86.avx512.maskz.vpermt2var.qi.256
+ 1, // llvm.x86.avx512.maskz.vpermt2var.qi.512
+ 1, // llvm.x86.avx512.maskz.vpmadd52h.uq.128
+ 1, // llvm.x86.avx512.maskz.vpmadd52h.uq.256
+ 1, // llvm.x86.avx512.maskz.vpmadd52h.uq.512
+ 1, // llvm.x86.avx512.maskz.vpmadd52l.uq.128
+ 1, // llvm.x86.avx512.maskz.vpmadd52l.uq.256
+ 1, // llvm.x86.avx512.maskz.vpmadd52l.uq.512
+ 13, // llvm.x86.avx512.movntdqa
+ 1, // llvm.x86.avx512.psad.bw.512
+ 1, // llvm.x86.avx512.pshuf.b.512
+ 1, // llvm.x86.avx512.psll.d.512
+ 1, // llvm.x86.avx512.psll.q.512
+ 1, // llvm.x86.avx512.psll.w.512
+ 1, // llvm.x86.avx512.pslli.d.512
+ 1, // llvm.x86.avx512.pslli.q.512
+ 1, // llvm.x86.avx512.pslli.w.512
+ 1, // llvm.x86.avx512.psllv.d.512
+ 1, // llvm.x86.avx512.psllv.q.512
+ 1, // llvm.x86.avx512.psllv.w.128
+ 1, // llvm.x86.avx512.psllv.w.256
+ 1, // llvm.x86.avx512.psllv.w.512
+ 1, // llvm.x86.avx512.psra.d.512
+ 1, // llvm.x86.avx512.psra.q.128
+ 1, // llvm.x86.avx512.psra.q.256
+ 1, // llvm.x86.avx512.psra.q.512
+ 1, // llvm.x86.avx512.psra.w.512
+ 1, // llvm.x86.avx512.psrai.d.512
+ 1, // llvm.x86.avx512.psrai.q.128
+ 1, // llvm.x86.avx512.psrai.q.256
+ 1, // llvm.x86.avx512.psrai.q.512
+ 1, // llvm.x86.avx512.psrai.w.512
+ 1, // llvm.x86.avx512.psrav.d.512
+ 1, // llvm.x86.avx512.psrav.q.128
+ 1, // llvm.x86.avx512.psrav.q.256
+ 1, // llvm.x86.avx512.psrav.q.512
+ 1, // llvm.x86.avx512.psrav.w.128
+ 1, // llvm.x86.avx512.psrav.w.256
+ 1, // llvm.x86.avx512.psrav.w.512
+ 1, // llvm.x86.avx512.psrl.d.512
+ 1, // llvm.x86.avx512.psrl.q.512
+ 1, // llvm.x86.avx512.psrl.w.512
+ 1, // llvm.x86.avx512.psrli.d.512
+ 1, // llvm.x86.avx512.psrli.q.512
+ 1, // llvm.x86.avx512.psrli.w.512
+ 1, // llvm.x86.avx512.psrlv.d.512
+ 1, // llvm.x86.avx512.psrlv.q.512
+ 1, // llvm.x86.avx512.psrlv.w.128
+ 1, // llvm.x86.avx512.psrlv.w.256
+ 1, // llvm.x86.avx512.psrlv.w.512
+ 1, // llvm.x86.avx512.ptestm.b.128
+ 1, // llvm.x86.avx512.ptestm.b.256
+ 1, // llvm.x86.avx512.ptestm.b.512
+ 1, // llvm.x86.avx512.ptestm.d.128
+ 1, // llvm.x86.avx512.ptestm.d.256
+ 1, // llvm.x86.avx512.ptestm.d.512
+ 1, // llvm.x86.avx512.ptestm.q.128
+ 1, // llvm.x86.avx512.ptestm.q.256
+ 1, // llvm.x86.avx512.ptestm.q.512
+ 1, // llvm.x86.avx512.ptestm.w.128
+ 1, // llvm.x86.avx512.ptestm.w.256
+ 1, // llvm.x86.avx512.ptestm.w.512
+ 1, // llvm.x86.avx512.ptestnm.b.128
+ 1, // llvm.x86.avx512.ptestnm.b.256
+ 1, // llvm.x86.avx512.ptestnm.b.512
+ 1, // llvm.x86.avx512.ptestnm.d.128
+ 1, // llvm.x86.avx512.ptestnm.d.256
+ 1, // llvm.x86.avx512.ptestnm.d.512
+ 1, // llvm.x86.avx512.ptestnm.q.128
+ 1, // llvm.x86.avx512.ptestnm.q.256
+ 1, // llvm.x86.avx512.ptestnm.q.512
+ 1, // llvm.x86.avx512.ptestnm.w.128
+ 1, // llvm.x86.avx512.ptestnm.w.256
+ 1, // llvm.x86.avx512.ptestnm.w.512
+ 1, // llvm.x86.avx512.rcp14.pd.128
+ 1, // llvm.x86.avx512.rcp14.pd.256
+ 1, // llvm.x86.avx512.rcp14.pd.512
+ 1, // llvm.x86.avx512.rcp14.ps.128
+ 1, // llvm.x86.avx512.rcp14.ps.256
+ 1, // llvm.x86.avx512.rcp14.ps.512
+ 1, // llvm.x86.avx512.rcp14.sd
+ 1, // llvm.x86.avx512.rcp14.ss
+ 1, // llvm.x86.avx512.rcp28.pd
+ 1, // llvm.x86.avx512.rcp28.ps
+ 1, // llvm.x86.avx512.rcp28.sd
+ 1, // llvm.x86.avx512.rcp28.ss
+ 1, // llvm.x86.avx512.rsqrt14.pd.128
+ 1, // llvm.x86.avx512.rsqrt14.pd.256
+ 1, // llvm.x86.avx512.rsqrt14.pd.512
+ 1, // llvm.x86.avx512.rsqrt14.ps.128
+ 1, // llvm.x86.avx512.rsqrt14.ps.256
+ 1, // llvm.x86.avx512.rsqrt14.ps.512
+ 1, // llvm.x86.avx512.rsqrt14.sd
+ 1, // llvm.x86.avx512.rsqrt14.ss
+ 1, // llvm.x86.avx512.rsqrt28.pd
+ 1, // llvm.x86.avx512.rsqrt28.ps
+ 1, // llvm.x86.avx512.rsqrt28.sd
+ 1, // llvm.x86.avx512.rsqrt28.ss
+ 18, // llvm.x86.avx512.scatter.dpd.512
+ 18, // llvm.x86.avx512.scatter.dpi.512
+ 18, // llvm.x86.avx512.scatter.dpq.512
+ 18, // llvm.x86.avx512.scatter.dps.512
+ 18, // llvm.x86.avx512.scatter.qpd.512
+ 18, // llvm.x86.avx512.scatter.qpi.512
+ 18, // llvm.x86.avx512.scatter.qpq.512
+ 18, // llvm.x86.avx512.scatter.qps.512
+ 18, // llvm.x86.avx512.scatterdiv2.df
+ 18, // llvm.x86.avx512.scatterdiv2.di
+ 18, // llvm.x86.avx512.scatterdiv4.df
+ 18, // llvm.x86.avx512.scatterdiv4.di
+ 18, // llvm.x86.avx512.scatterdiv4.sf
+ 18, // llvm.x86.avx512.scatterdiv4.si
+ 18, // llvm.x86.avx512.scatterdiv8.sf
+ 18, // llvm.x86.avx512.scatterdiv8.si
+ 18, // llvm.x86.avx512.scatterpf.dpd.512
+ 18, // llvm.x86.avx512.scatterpf.dps.512
+ 18, // llvm.x86.avx512.scatterpf.qpd.512
+ 18, // llvm.x86.avx512.scatterpf.qps.512
+ 18, // llvm.x86.avx512.scattersiv2.df
+ 18, // llvm.x86.avx512.scattersiv2.di
+ 18, // llvm.x86.avx512.scattersiv4.df
+ 18, // llvm.x86.avx512.scattersiv4.di
+ 18, // llvm.x86.avx512.scattersiv4.sf
+ 18, // llvm.x86.avx512.scattersiv4.si
+ 18, // llvm.x86.avx512.scattersiv8.sf
+ 18, // llvm.x86.avx512.scattersiv8.si
+ 2, // llvm.x86.avx512.vbroadcast.sd.512
+ 2, // llvm.x86.avx512.vbroadcast.ss.512
+ 1, // llvm.x86.avx512.vcomi.sd
+ 1, // llvm.x86.avx512.vcomi.ss
+ 1, // llvm.x86.avx512.vcvtsd2si32
+ 1, // llvm.x86.avx512.vcvtsd2si64
+ 1, // llvm.x86.avx512.vcvtsd2usi32
+ 1, // llvm.x86.avx512.vcvtsd2usi64
+ 1, // llvm.x86.avx512.vcvtss2si32
+ 1, // llvm.x86.avx512.vcvtss2si64
+ 1, // llvm.x86.avx512.vcvtss2usi32
+ 1, // llvm.x86.avx512.vcvtss2usi64
+ 1, // llvm.x86.avx512.vpermilvar.pd.512
+ 1, // llvm.x86.avx512.vpermilvar.ps.512
+ 1, // llvm.x86.bmi.bextr.32
+ 1, // llvm.x86.bmi.bextr.64
+ 1, // llvm.x86.bmi.bzhi.32
+ 1, // llvm.x86.bmi.bzhi.64
+ 1, // llvm.x86.bmi.pdep.32
+ 1, // llvm.x86.bmi.pdep.64
+ 1, // llvm.x86.bmi.pext.32
+ 1, // llvm.x86.bmi.pext.64
+ 3, // llvm.x86.clflushopt
+ 3, // llvm.x86.flags.read.u32
+ 3, // llvm.x86.flags.read.u64
+ 3, // llvm.x86.flags.write.u32
+ 3, // llvm.x86.flags.write.u64
+ 1, // llvm.x86.fma.vfmadd.pd
+ 1, // llvm.x86.fma.vfmadd.pd.256
+ 1, // llvm.x86.fma.vfmadd.ps
+ 1, // llvm.x86.fma.vfmadd.ps.256
+ 1, // llvm.x86.fma.vfmadd.sd
+ 1, // llvm.x86.fma.vfmadd.ss
+ 1, // llvm.x86.fma.vfmaddsub.pd
+ 1, // llvm.x86.fma.vfmaddsub.pd.256
+ 1, // llvm.x86.fma.vfmaddsub.ps
+ 1, // llvm.x86.fma.vfmaddsub.ps.256
+ 1, // llvm.x86.fma.vfmsub.pd
+ 1, // llvm.x86.fma.vfmsub.pd.256
+ 1, // llvm.x86.fma.vfmsub.ps
+ 1, // llvm.x86.fma.vfmsub.ps.256
+ 1, // llvm.x86.fma.vfmsub.sd
+ 1, // llvm.x86.fma.vfmsub.ss
+ 1, // llvm.x86.fma.vfmsubadd.pd
+ 1, // llvm.x86.fma.vfmsubadd.pd.256
+ 1, // llvm.x86.fma.vfmsubadd.ps
+ 1, // llvm.x86.fma.vfmsubadd.ps.256
+ 1, // llvm.x86.fma.vfnmadd.pd
+ 1, // llvm.x86.fma.vfnmadd.pd.256
+ 1, // llvm.x86.fma.vfnmadd.ps
+ 1, // llvm.x86.fma.vfnmadd.ps.256
+ 1, // llvm.x86.fma.vfnmadd.sd
+ 1, // llvm.x86.fma.vfnmadd.ss
+ 1, // llvm.x86.fma.vfnmsub.pd
+ 1, // llvm.x86.fma.vfnmsub.pd.256
+ 1, // llvm.x86.fma.vfnmsub.ps
+ 1, // llvm.x86.fma.vfnmsub.ps.256
+ 1, // llvm.x86.fma.vfnmsub.sd
+ 1, // llvm.x86.fma.vfnmsub.ss
+ 3, // llvm.x86.fxrstor
+ 3, // llvm.x86.fxrstor64
+ 3, // llvm.x86.fxsave
+ 3, // llvm.x86.fxsave64
+ 3, // llvm.x86.int
+ 3, // llvm.x86.mmx.emms
+ 3, // llvm.x86.mmx.femms
+ 3, // llvm.x86.mmx.maskmovq
+ 3, // llvm.x86.mmx.movnt.dq
+ 1, // llvm.x86.mmx.packssdw
+ 1, // llvm.x86.mmx.packsswb
+ 1, // llvm.x86.mmx.packuswb
+ 1, // llvm.x86.mmx.padd.b
+ 1, // llvm.x86.mmx.padd.d
+ 1, // llvm.x86.mmx.padd.q
+ 1, // llvm.x86.mmx.padd.w
+ 1, // llvm.x86.mmx.padds.b
+ 1, // llvm.x86.mmx.padds.w
+ 1, // llvm.x86.mmx.paddus.b
+ 1, // llvm.x86.mmx.paddus.w
+ 1, // llvm.x86.mmx.palignr.b
+ 1, // llvm.x86.mmx.pand
+ 1, // llvm.x86.mmx.pandn
+ 1, // llvm.x86.mmx.pavg.b
+ 1, // llvm.x86.mmx.pavg.w
+ 1, // llvm.x86.mmx.pcmpeq.b
+ 1, // llvm.x86.mmx.pcmpeq.d
+ 1, // llvm.x86.mmx.pcmpeq.w
+ 1, // llvm.x86.mmx.pcmpgt.b
+ 1, // llvm.x86.mmx.pcmpgt.d
+ 1, // llvm.x86.mmx.pcmpgt.w
+ 1, // llvm.x86.mmx.pextr.w
+ 1, // llvm.x86.mmx.pinsr.w
+ 1, // llvm.x86.mmx.pmadd.wd
+ 1, // llvm.x86.mmx.pmaxs.w
+ 1, // llvm.x86.mmx.pmaxu.b
+ 1, // llvm.x86.mmx.pmins.w
+ 1, // llvm.x86.mmx.pminu.b
+ 1, // llvm.x86.mmx.pmovmskb
+ 1, // llvm.x86.mmx.pmulh.w
+ 1, // llvm.x86.mmx.pmulhu.w
+ 1, // llvm.x86.mmx.pmull.w
+ 1, // llvm.x86.mmx.pmulu.dq
+ 1, // llvm.x86.mmx.por
+ 1, // llvm.x86.mmx.psad.bw
+ 1, // llvm.x86.mmx.psll.d
+ 1, // llvm.x86.mmx.psll.q
+ 1, // llvm.x86.mmx.psll.w
+ 1, // llvm.x86.mmx.pslli.d
+ 1, // llvm.x86.mmx.pslli.q
+ 1, // llvm.x86.mmx.pslli.w
+ 1, // llvm.x86.mmx.psra.d
+ 1, // llvm.x86.mmx.psra.w
+ 1, // llvm.x86.mmx.psrai.d
+ 1, // llvm.x86.mmx.psrai.w
+ 1, // llvm.x86.mmx.psrl.d
+ 1, // llvm.x86.mmx.psrl.q
+ 1, // llvm.x86.mmx.psrl.w
+ 1, // llvm.x86.mmx.psrli.d
+ 1, // llvm.x86.mmx.psrli.q
+ 1, // llvm.x86.mmx.psrli.w
+ 1, // llvm.x86.mmx.psub.b
+ 1, // llvm.x86.mmx.psub.d
+ 1, // llvm.x86.mmx.psub.q
+ 1, // llvm.x86.mmx.psub.w
+ 1, // llvm.x86.mmx.psubs.b
+ 1, // llvm.x86.mmx.psubs.w
+ 1, // llvm.x86.mmx.psubus.b
+ 1, // llvm.x86.mmx.psubus.w
+ 1, // llvm.x86.mmx.punpckhbw
+ 1, // llvm.x86.mmx.punpckhdq
+ 1, // llvm.x86.mmx.punpckhwd
+ 1, // llvm.x86.mmx.punpcklbw
+ 1, // llvm.x86.mmx.punpckldq
+ 1, // llvm.x86.mmx.punpcklwd
+ 1, // llvm.x86.mmx.pxor
+ 3, // llvm.x86.monitorx
+ 3, // llvm.x86.mwaitx
+ 1, // llvm.x86.pclmulqdq
+ 3, // llvm.x86.rdfsbase.32
+ 3, // llvm.x86.rdfsbase.64
+ 3, // llvm.x86.rdgsbase.32
+ 3, // llvm.x86.rdgsbase.64
+ 3, // llvm.x86.rdpkru
+ 3, // llvm.x86.rdpmc
+ 3, // llvm.x86.rdrand.16
+ 3, // llvm.x86.rdrand.32
+ 3, // llvm.x86.rdrand.64
+ 3, // llvm.x86.rdseed.16
+ 3, // llvm.x86.rdseed.32
+ 3, // llvm.x86.rdseed.64
+ 3, // llvm.x86.rdtsc
+ 18, // llvm.x86.rdtscp
+ 3, // llvm.x86.seh.ehguard
+ 3, // llvm.x86.seh.ehregnode
+ 1, // llvm.x86.seh.lsda
+ 1, // llvm.x86.seh.recoverfp
+ 1, // llvm.x86.sha1msg1
+ 1, // llvm.x86.sha1msg2
+ 1, // llvm.x86.sha1nexte
+ 1, // llvm.x86.sha1rnds4
+ 1, // llvm.x86.sha256msg1
+ 1, // llvm.x86.sha256msg2
+ 1, // llvm.x86.sha256rnds2
+ 1, // llvm.x86.sse.cmp.ps
+ 1, // llvm.x86.sse.cmp.ss
+ 1, // llvm.x86.sse.comieq.ss
+ 1, // llvm.x86.sse.comige.ss
+ 1, // llvm.x86.sse.comigt.ss
+ 1, // llvm.x86.sse.comile.ss
+ 1, // llvm.x86.sse.comilt.ss
+ 1, // llvm.x86.sse.comineq.ss
+ 1, // llvm.x86.sse.cvtpd2pi
+ 1, // llvm.x86.sse.cvtpi2pd
+ 1, // llvm.x86.sse.cvtpi2ps
+ 1, // llvm.x86.sse.cvtps2pi
+ 1, // llvm.x86.sse.cvtsi2ss
+ 1, // llvm.x86.sse.cvtsi642ss
+ 1, // llvm.x86.sse.cvtss2si
+ 1, // llvm.x86.sse.cvtss2si64
+ 1, // llvm.x86.sse.cvttpd2pi
+ 1, // llvm.x86.sse.cvttps2pi
+ 1, // llvm.x86.sse.cvttss2si
+ 1, // llvm.x86.sse.cvttss2si64
+ 3, // llvm.x86.sse.ldmxcsr
+ 1, // llvm.x86.sse.max.ps
+ 1, // llvm.x86.sse.max.ss
+ 1, // llvm.x86.sse.min.ps
+ 1, // llvm.x86.sse.min.ss
+ 1, // llvm.x86.sse.movmsk.ps
+ 1, // llvm.x86.sse.pshuf.w
+ 1, // llvm.x86.sse.rcp.ps
+ 1, // llvm.x86.sse.rcp.ss
+ 1, // llvm.x86.sse.rsqrt.ps
+ 1, // llvm.x86.sse.rsqrt.ss
+ 3, // llvm.x86.sse.sfence
+ 1, // llvm.x86.sse.sqrt.ps
+ 1, // llvm.x86.sse.sqrt.ss
+ 3, // llvm.x86.sse.stmxcsr
+ 1, // llvm.x86.sse.ucomieq.ss
+ 1, // llvm.x86.sse.ucomige.ss
+ 1, // llvm.x86.sse.ucomigt.ss
+ 1, // llvm.x86.sse.ucomile.ss
+ 1, // llvm.x86.sse.ucomilt.ss
+ 1, // llvm.x86.sse.ucomineq.ss
+ 3, // llvm.x86.sse2.clflush
+ 1, // llvm.x86.sse2.cmp.pd
+ 1, // llvm.x86.sse2.cmp.sd
+ 1, // llvm.x86.sse2.comieq.sd
+ 1, // llvm.x86.sse2.comige.sd
+ 1, // llvm.x86.sse2.comigt.sd
+ 1, // llvm.x86.sse2.comile.sd
+ 1, // llvm.x86.sse2.comilt.sd
+ 1, // llvm.x86.sse2.comineq.sd
+ 1, // llvm.x86.sse2.cvtdq2ps
+ 1, // llvm.x86.sse2.cvtpd2dq
+ 1, // llvm.x86.sse2.cvtpd2ps
+ 1, // llvm.x86.sse2.cvtps2dq
+ 1, // llvm.x86.sse2.cvtsd2si
+ 1, // llvm.x86.sse2.cvtsd2si64
+ 1, // llvm.x86.sse2.cvtsd2ss
+ 1, // llvm.x86.sse2.cvtsi2sd
+ 1, // llvm.x86.sse2.cvtsi642sd
+ 1, // llvm.x86.sse2.cvtss2sd
+ 1, // llvm.x86.sse2.cvttpd2dq
+ 1, // llvm.x86.sse2.cvttps2dq
+ 1, // llvm.x86.sse2.cvttsd2si
+ 1, // llvm.x86.sse2.cvttsd2si64
+ 3, // llvm.x86.sse2.lfence
+ 3, // llvm.x86.sse2.maskmov.dqu
+ 1, // llvm.x86.sse2.max.pd
+ 1, // llvm.x86.sse2.max.sd
+ 3, // llvm.x86.sse2.mfence
+ 1, // llvm.x86.sse2.min.pd
+ 1, // llvm.x86.sse2.min.sd
+ 1, // llvm.x86.sse2.movmsk.pd
+ 1, // llvm.x86.sse2.packssdw.128
+ 1, // llvm.x86.sse2.packsswb.128
+ 1, // llvm.x86.sse2.packuswb.128
+ 1, // llvm.x86.sse2.padds.b
+ 1, // llvm.x86.sse2.padds.w
+ 1, // llvm.x86.sse2.paddus.b
+ 1, // llvm.x86.sse2.paddus.w
+ 3, // llvm.x86.sse2.pause
+ 1, // llvm.x86.sse2.pavg.b
+ 1, // llvm.x86.sse2.pavg.w
+ 1, // llvm.x86.sse2.pmadd.wd
+ 1, // llvm.x86.sse2.pmovmskb.128
+ 1, // llvm.x86.sse2.pmulh.w
+ 1, // llvm.x86.sse2.pmulhu.w
+ 1, // llvm.x86.sse2.pmulu.dq
+ 1, // llvm.x86.sse2.psad.bw
+ 1, // llvm.x86.sse2.psll.d
+ 1, // llvm.x86.sse2.psll.q
+ 1, // llvm.x86.sse2.psll.w
+ 1, // llvm.x86.sse2.pslli.d
+ 1, // llvm.x86.sse2.pslli.q
+ 1, // llvm.x86.sse2.pslli.w
+ 1, // llvm.x86.sse2.psra.d
+ 1, // llvm.x86.sse2.psra.w
+ 1, // llvm.x86.sse2.psrai.d
+ 1, // llvm.x86.sse2.psrai.w
+ 1, // llvm.x86.sse2.psrl.d
+ 1, // llvm.x86.sse2.psrl.q
+ 1, // llvm.x86.sse2.psrl.w
+ 1, // llvm.x86.sse2.psrli.d
+ 1, // llvm.x86.sse2.psrli.q
+ 1, // llvm.x86.sse2.psrli.w
+ 1, // llvm.x86.sse2.psubs.b
+ 1, // llvm.x86.sse2.psubs.w
+ 1, // llvm.x86.sse2.psubus.b
+ 1, // llvm.x86.sse2.psubus.w
+ 1, // llvm.x86.sse2.sqrt.pd
+ 1, // llvm.x86.sse2.sqrt.sd
+ 1, // llvm.x86.sse2.ucomieq.sd
+ 1, // llvm.x86.sse2.ucomige.sd
+ 1, // llvm.x86.sse2.ucomigt.sd
+ 1, // llvm.x86.sse2.ucomile.sd
+ 1, // llvm.x86.sse2.ucomilt.sd
+ 1, // llvm.x86.sse2.ucomineq.sd
+ 1, // llvm.x86.sse3.addsub.pd
+ 1, // llvm.x86.sse3.addsub.ps
+ 1, // llvm.x86.sse3.hadd.pd
+ 1, // llvm.x86.sse3.hadd.ps
+ 1, // llvm.x86.sse3.hsub.pd
+ 1, // llvm.x86.sse3.hsub.ps
+ 13, // llvm.x86.sse3.ldu.dq
+ 3, // llvm.x86.sse3.monitor
+ 3, // llvm.x86.sse3.mwait
+ 1, // llvm.x86.sse41.blendvpd
+ 1, // llvm.x86.sse41.blendvps
+ 1, // llvm.x86.sse41.dppd
+ 1, // llvm.x86.sse41.dpps
+ 1, // llvm.x86.sse41.insertps
+ 13, // llvm.x86.sse41.movntdqa
+ 1, // llvm.x86.sse41.mpsadbw
+ 1, // llvm.x86.sse41.packusdw
+ 1, // llvm.x86.sse41.pblendvb
+ 1, // llvm.x86.sse41.phminposuw
+ 1, // llvm.x86.sse41.pmuldq
+ 1, // llvm.x86.sse41.ptestc
+ 1, // llvm.x86.sse41.ptestnzc
+ 1, // llvm.x86.sse41.ptestz
+ 1, // llvm.x86.sse41.round.pd
+ 1, // llvm.x86.sse41.round.ps
+ 1, // llvm.x86.sse41.round.sd
+ 1, // llvm.x86.sse41.round.ss
+ 1, // llvm.x86.sse42.crc32.32.16
+ 1, // llvm.x86.sse42.crc32.32.32
+ 1, // llvm.x86.sse42.crc32.32.8
+ 1, // llvm.x86.sse42.crc32.64.64
+ 1, // llvm.x86.sse42.pcmpestri128
+ 1, // llvm.x86.sse42.pcmpestria128
+ 1, // llvm.x86.sse42.pcmpestric128
+ 1, // llvm.x86.sse42.pcmpestrio128
+ 1, // llvm.x86.sse42.pcmpestris128
+ 1, // llvm.x86.sse42.pcmpestriz128
+ 1, // llvm.x86.sse42.pcmpestrm128
+ 1, // llvm.x86.sse42.pcmpistri128
+ 1, // llvm.x86.sse42.pcmpistria128
+ 1, // llvm.x86.sse42.pcmpistric128
+ 1, // llvm.x86.sse42.pcmpistrio128
+ 1, // llvm.x86.sse42.pcmpistris128
+ 1, // llvm.x86.sse42.pcmpistriz128
+ 1, // llvm.x86.sse42.pcmpistrm128
+ 1, // llvm.x86.sse4a.extrq
+ 1, // llvm.x86.sse4a.extrqi
+ 1, // llvm.x86.sse4a.insertq
+ 1, // llvm.x86.sse4a.insertqi
+ 1, // llvm.x86.ssse3.pabs.b
+ 1, // llvm.x86.ssse3.pabs.b.128
+ 1, // llvm.x86.ssse3.pabs.d
+ 1, // llvm.x86.ssse3.pabs.d.128
+ 1, // llvm.x86.ssse3.pabs.w
+ 1, // llvm.x86.ssse3.pabs.w.128
+ 1, // llvm.x86.ssse3.phadd.d
+ 1, // llvm.x86.ssse3.phadd.d.128
+ 1, // llvm.x86.ssse3.phadd.sw
+ 1, // llvm.x86.ssse3.phadd.sw.128
+ 1, // llvm.x86.ssse3.phadd.w
+ 1, // llvm.x86.ssse3.phadd.w.128
+ 1, // llvm.x86.ssse3.phsub.d
+ 1, // llvm.x86.ssse3.phsub.d.128
+ 1, // llvm.x86.ssse3.phsub.sw
+ 1, // llvm.x86.ssse3.phsub.sw.128
+ 1, // llvm.x86.ssse3.phsub.w
+ 1, // llvm.x86.ssse3.phsub.w.128
+ 1, // llvm.x86.ssse3.pmadd.ub.sw
+ 1, // llvm.x86.ssse3.pmadd.ub.sw.128
+ 1, // llvm.x86.ssse3.pmul.hr.sw
+ 1, // llvm.x86.ssse3.pmul.hr.sw.128
+ 1, // llvm.x86.ssse3.pshuf.b
+ 1, // llvm.x86.ssse3.pshuf.b.128
+ 1, // llvm.x86.ssse3.psign.b
+ 1, // llvm.x86.ssse3.psign.b.128
+ 1, // llvm.x86.ssse3.psign.d
+ 1, // llvm.x86.ssse3.psign.d.128
+ 1, // llvm.x86.ssse3.psign.w
+ 1, // llvm.x86.ssse3.psign.w.128
+ 18, // llvm.x86.subborrow.u32
+ 18, // llvm.x86.subborrow.u64
+ 1, // llvm.x86.tbm.bextri.u32
+ 1, // llvm.x86.tbm.bextri.u64
+ 1, // llvm.x86.vcvtph2ps.128
+ 1, // llvm.x86.vcvtph2ps.256
+ 1, // llvm.x86.vcvtps2ph.128
+ 1, // llvm.x86.vcvtps2ph.256
+ 3, // llvm.x86.wrfsbase.32
+ 3, // llvm.x86.wrfsbase.64
+ 3, // llvm.x86.wrgsbase.32
+ 3, // llvm.x86.wrgsbase.64
+ 3, // llvm.x86.wrpkru
+ 3, // llvm.x86.xabort
+ 3, // llvm.x86.xbegin
+ 3, // llvm.x86.xend
+ 3, // llvm.x86.xgetbv
+ 1, // llvm.x86.xop.vfrcz.pd
+ 1, // llvm.x86.xop.vfrcz.pd.256
+ 1, // llvm.x86.xop.vfrcz.ps
+ 1, // llvm.x86.xop.vfrcz.ps.256
+ 1, // llvm.x86.xop.vfrcz.sd
+ 1, // llvm.x86.xop.vfrcz.ss
+ 1, // llvm.x86.xop.vpcmov
+ 1, // llvm.x86.xop.vpcmov.256
+ 1, // llvm.x86.xop.vpcomb
+ 1, // llvm.x86.xop.vpcomd
+ 1, // llvm.x86.xop.vpcomq
+ 1, // llvm.x86.xop.vpcomub
+ 1, // llvm.x86.xop.vpcomud
+ 1, // llvm.x86.xop.vpcomuq
+ 1, // llvm.x86.xop.vpcomuw
+ 1, // llvm.x86.xop.vpcomw
+ 1, // llvm.x86.xop.vpermil2pd
+ 1, // llvm.x86.xop.vpermil2pd.256
+ 1, // llvm.x86.xop.vpermil2ps
+ 1, // llvm.x86.xop.vpermil2ps.256
+ 1, // llvm.x86.xop.vphaddbd
+ 1, // llvm.x86.xop.vphaddbq
+ 1, // llvm.x86.xop.vphaddbw
+ 1, // llvm.x86.xop.vphadddq
+ 1, // llvm.x86.xop.vphaddubd
+ 1, // llvm.x86.xop.vphaddubq
+ 1, // llvm.x86.xop.vphaddubw
+ 1, // llvm.x86.xop.vphaddudq
+ 1, // llvm.x86.xop.vphadduwd
+ 1, // llvm.x86.xop.vphadduwq
+ 1, // llvm.x86.xop.vphaddwd
+ 1, // llvm.x86.xop.vphaddwq
+ 1, // llvm.x86.xop.vphsubbw
+ 1, // llvm.x86.xop.vphsubdq
+ 1, // llvm.x86.xop.vphsubwd
+ 1, // llvm.x86.xop.vpmacsdd
+ 1, // llvm.x86.xop.vpmacsdqh
+ 1, // llvm.x86.xop.vpmacsdql
+ 1, // llvm.x86.xop.vpmacssdd
+ 1, // llvm.x86.xop.vpmacssdqh
+ 1, // llvm.x86.xop.vpmacssdql
+ 1, // llvm.x86.xop.vpmacsswd
+ 1, // llvm.x86.xop.vpmacssww
+ 1, // llvm.x86.xop.vpmacswd
+ 1, // llvm.x86.xop.vpmacsww
+ 1, // llvm.x86.xop.vpmadcsswd
+ 1, // llvm.x86.xop.vpmadcswd
+ 1, // llvm.x86.xop.vpperm
+ 1, // llvm.x86.xop.vprotb
+ 1, // llvm.x86.xop.vprotbi
+ 1, // llvm.x86.xop.vprotd
+ 1, // llvm.x86.xop.vprotdi
+ 1, // llvm.x86.xop.vprotq
+ 1, // llvm.x86.xop.vprotqi
+ 1, // llvm.x86.xop.vprotw
+ 1, // llvm.x86.xop.vprotwi
+ 1, // llvm.x86.xop.vpshab
+ 1, // llvm.x86.xop.vpshad
+ 1, // llvm.x86.xop.vpshaq
+ 1, // llvm.x86.xop.vpshaw
+ 1, // llvm.x86.xop.vpshlb
+ 1, // llvm.x86.xop.vpshld
+ 1, // llvm.x86.xop.vpshlq
+ 1, // llvm.x86.xop.vpshlw
+ 3, // llvm.x86.xrstor
+ 3, // llvm.x86.xrstor64
+ 3, // llvm.x86.xrstors
+ 3, // llvm.x86.xrstors64
+ 3, // llvm.x86.xsave
+ 3, // llvm.x86.xsave64
+ 3, // llvm.x86.xsavec
+ 3, // llvm.x86.xsavec64
+ 3, // llvm.x86.xsaveopt
+ 3, // llvm.x86.xsaveopt64
+ 3, // llvm.x86.xsaves
+ 3, // llvm.x86.xsaves64
+ 3, // llvm.x86.xsetbv
+ 3, // llvm.x86.xtest
+ 1, // llvm.xcore.bitrev
+ 3, // llvm.xcore.checkevent
+ 32, // llvm.xcore.chkct
+ 3, // llvm.xcore.clre
+ 32, // llvm.xcore.clrpt
+ 3, // llvm.xcore.clrsr
+ 1, // llvm.xcore.crc32
+ 1, // llvm.xcore.crc8
+ 32, // llvm.xcore.edu
+ 32, // llvm.xcore.eeu
+ 32, // llvm.xcore.endin
+ 32, // llvm.xcore.freer
+ 3, // llvm.xcore.geted
+ 3, // llvm.xcore.getet
+ 1, // llvm.xcore.getid
+ 3, // llvm.xcore.getps
+ 3, // llvm.xcore.getr
+ 32, // llvm.xcore.getst
+ 32, // llvm.xcore.getts
+ 32, // llvm.xcore.in
+ 32, // llvm.xcore.inct
+ 32, // llvm.xcore.initcp
+ 32, // llvm.xcore.initdp
+ 32, // llvm.xcore.initlr
+ 32, // llvm.xcore.initpc
+ 32, // llvm.xcore.initsp
+ 32, // llvm.xcore.inshr
+ 32, // llvm.xcore.int
+ 32, // llvm.xcore.mjoin
+ 32, // llvm.xcore.msync
+ 32, // llvm.xcore.out
+ 32, // llvm.xcore.outct
+ 32, // llvm.xcore.outshr
+ 32, // llvm.xcore.outt
+ 32, // llvm.xcore.peek
+ 32, // llvm.xcore.setc
+ 33, // llvm.xcore.setclk
+ 32, // llvm.xcore.setd
+ 32, // llvm.xcore.setev
+ 3, // llvm.xcore.setps
+ 32, // llvm.xcore.setpsc
+ 32, // llvm.xcore.setpt
+ 33, // llvm.xcore.setrdy
+ 3, // llvm.xcore.setsr
+ 32, // llvm.xcore.settw
+ 32, // llvm.xcore.setv
+ 1, // llvm.xcore.sext
+ 3, // llvm.xcore.ssync
+ 32, // llvm.xcore.syncr
+ 32, // llvm.xcore.testct
+ 32, // llvm.xcore.testwct
+ 13, // llvm.xcore.waitevent
+ 1, // llvm.xcore.zext
+ };
+
+ AttributeSet AS[5];
+ unsigned NumAttrs = 0;
+ if (id != 0) {
+ switch(IntrinsicsToAttributesMap[id - 1]) {
+ default: llvm_unreachable("Invalid attribute number");
+ case 3: {
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
+ AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 1;
+ break;
+ }
+ case 32: {
+ const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
+ AS[0] = AttributeSet::get(C, 1, AttrParam1);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 33: {
+ const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
+ AS[0] = AttributeSet::get(C, 1, AttrParam1);
+ const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture};
+ AS[1] = AttributeSet::get(C, 2, AttrParam2);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
+ AS[2] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 3;
+ break;
+ }
+ case 4: {
+ const Attribute::AttrKind AttrParam2[]= {Attribute::WriteOnly};
+ AS[0] = AttributeSet::get(C, 2, AttrParam2);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 18: {
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
+ AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 1;
+ break;
+ }
+ case 15: {
+ const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
+ AS[0] = AttributeSet::get(C, 1, AttrParam1);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 6: {
+ const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
+ AS[0] = AttributeSet::get(C, 1, AttrParam1);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 21: {
+ const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
+ AS[0] = AttributeSet::get(C, 1, AttrParam1);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 19: {
+ const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::WriteOnly};
+ AS[0] = AttributeSet::get(C, 1, AttrParam1);
+ const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
+ AS[1] = AttributeSet::get(C, 2, AttrParam2);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
+ AS[2] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 3;
+ break;
+ }
+ case 20: {
+ const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
+ AS[0] = AttributeSet::get(C, 1, AttrParam1);
+ const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
+ AS[1] = AttributeSet::get(C, 2, AttrParam2);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
+ AS[2] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 3;
+ break;
+ }
+ case 17: {
+ const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture};
+ AS[0] = AttributeSet::get(C, 2, AttrParam2);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 14: {
+ const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture};
+ AS[0] = AttributeSet::get(C, 2, AttrParam2);
+ const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture};
+ AS[1] = AttributeSet::get(C, 3, AttrParam3);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
+ AS[2] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 3;
+ break;
+ }
+ case 16: {
+ const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture};
+ AS[0] = AttributeSet::get(C, 3, AttrParam3);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 22: {
+ const Attribute::AttrKind AttrParam4[]= {Attribute::NoCapture};
+ AS[0] = AttributeSet::get(C, 4, AttrParam4);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 23: {
+ const Attribute::AttrKind AttrParam5[]= {Attribute::NoCapture};
+ AS[0] = AttributeSet::get(C, 5, AttrParam5);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 24: {
+ const Attribute::AttrKind AttrParam6[]= {Attribute::NoCapture};
+ AS[0] = AttributeSet::get(C, 6, AttrParam6);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ArgMemOnly};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 25: {
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::WriteOnly};
+ AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 1;
+ break;
+ }
+ case 13: {
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly};
+ AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 1;
+ break;
+ }
+ case 2: {
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
+ AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 1;
+ break;
+ }
+ case 29: {
+ const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
+ AS[0] = AttributeSet::get(C, 1, AttrParam1);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 11: {
+ const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture,Attribute::ReadOnly};
+ AS[0] = AttributeSet::get(C, 1, AttrParam1);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 7: {
+ const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture,Attribute::ReadOnly};
+ AS[0] = AttributeSet::get(C, 2, AttrParam2);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 8: {
+ const Attribute::AttrKind AttrParam2[]= {Attribute::ReadNone};
+ AS[0] = AttributeSet::get(C, 2, AttrParam2);
+ const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture,Attribute::ReadOnly};
+ AS[1] = AttributeSet::get(C, 3, AttrParam3);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadOnly,Attribute::ArgMemOnly};
+ AS[2] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 3;
+ break;
+ }
+ case 1: {
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
+ AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 1;
+ break;
+ }
+ case 10: {
+ const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
+ AS[0] = AttributeSet::get(C, 1, AttrParam1);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
+ AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 2;
+ break;
+ }
+ case 9: {
+ const Attribute::AttrKind AttrParam1[]= {Attribute::ReadNone};
+ AS[0] = AttributeSet::get(C, 1, AttrParam1);
+ const Attribute::AttrKind AttrParam2[]= {Attribute::ReadNone};
+ AS[1] = AttributeSet::get(C, 2, AttrParam2);
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::ReadNone};
+ AS[2] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 3;
+ break;
+ }
+ case 27: {
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent};
+ AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 1;
+ break;
+ }
+ case 26: {
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::Convergent,Attribute::ReadNone};
+ AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 1;
+ break;
+ }
+ case 12: {
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoReturn};
+ AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 1;
+ break;
+ }
+ case 31: {
+ const Attribute::AttrKind Atts[] = {Attribute::NoUnwind,Attribute::NoDuplicate};
+ AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 1;
+ break;
+ }
+ case 5: {
+ return AttributeSet();
+ }
+ case 28: {
+ const Attribute::AttrKind Atts[] = {Attribute::ReadNone};
+ AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 1;
+ break;
+ }
+ case 30: {
+ const Attribute::AttrKind Atts[] = {Attribute::NoReturn};
+ AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
+ NumAttrs = 1;
+ break;
+ }
+ }
+ }
+ return AttributeSet::get(C, makeArrayRef(AS, NumAttrs));
+}
+#endif // GET_INTRINSIC_ATTRIBUTES
+
+// Get the LLVM intrinsic that corresponds to a builtin.
+// This is used by the C front-end. The builtin name is passed
+// in as BuiltinName, and a target prefix (e.g. 'ppc') is passed
+// in as TargetPrefix. The result is assigned to 'IntrinsicID'.
+#ifdef GET_LLVM_INTRINSIC_FOR_GCC_BUILTIN
+Intrinsic::ID Intrinsic::getIntrinsicForGCCBuiltin(const char *TargetPrefixStr, StringRef BuiltinNameStr) {
+ static const char BuiltinNames[] = {
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'd', 'j', 'u', 's',
+ 't', '_', 't', 'r', 'a', 'm', 'p', 'o', 'l', 'i', 'n', 'e', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'd', 'e', 'b', 'u', 'g', 't', 'r',
+ 'a', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'u', 'n',
+ 'w', 'i', 'n', 'd', '_', 'i', 'n', 'i', 't', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'f', 'l', 't', '_', 'r', 'o', 'u', 'n', 'd', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'n', 'i', 't',
+ '_', 't', 'r', 'a', 'm', 'p', 'o', 'l', 'i', 'n', 'e', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'o', 'b', 'j', 'e', 'c', 't', '_', 's',
+ 'i', 'z', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ 't', 'a', 'c', 'k', '_', 'r', 'e', 's', 't', 'o', 'r', 'e', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', 't', 'a', 'c', 'k', '_', 's',
+ 'a', 'v', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 't',
+ 'h', 'r', 'e', 'a', 'd', '_', 'p', 'o', 'i', 'n', 't', 'e', 'r', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 't', 'r', 'a', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 'd', 'm',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'r', 'm',
+ '_', 'd', 's', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'r', 'm', '_', 'i', 's', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'b', 'u', 'f', 'f', 'e',
+ 'r', '_', 'w', 'b', 'i', 'n', 'v', 'l', '1', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'b', 'u', 'f',
+ 'f', 'e', 'r', '_', 'w', 'b', 'i', 'n', 'v', 'l', '1', '_', 's', 'c', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c',
+ 'n', '_', 'b', 'u', 'f', 'f', 'e', 'r', '_', 'w', 'b', 'i', 'n', 'v', 'l',
+ '1', '_', 'v', 'o', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'c', 'u', 'b', 'e', 'i', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c',
+ 'n', '_', 'c', 'u', 'b', 'e', 'm', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'c', 'u', 'b', 'e',
+ 's', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm',
+ 'd', 'g', 'c', 'n', '_', 'c', 'u', 'b', 'e', 't', 'c', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'c',
+ 'v', 't', '_', 'p', 'k', '_', 'u', '8', '_', 'f', '3', '2', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_',
+ 'd', 'i', 's', 'p', 'a', 't', 'c', 'h', '_', 'i', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'd',
+ 'i', 's', 'p', 'a', 't', 'c', 'h', '_', 'p', 't', 'r', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'd',
+ 's', '_', 's', 'w', 'i', 'z', 'z', 'l', 'e', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'f', 'm', 'u',
+ 'l', '_', 'l', 'e', 'g', 'a', 'c', 'y', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'g', 'r', 'o', 'u',
+ 'p', 's', 't', 'a', 't', 'i', 'c', 's', 'i', 'z', 'e', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'i',
+ 'm', 'p', 'l', 'i', 'c', 'i', 't', 'a', 'r', 'g', '_', 'p', 't', 'r', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c',
+ 'n', '_', 'i', 'n', 't', 'e', 'r', 'p', '_', 'm', 'o', 'v', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_',
+ 'i', 'n', 't', 'e', 'r', 'p', '_', 'p', '1', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'i', 'n', 't',
+ 'e', 'r', 'p', '_', 'p', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'k', 'e', 'r', 'n', 'a', 'r',
+ 'g', '_', 's', 'e', 'g', 'm', 'e', 'n', 't', '_', 'p', 't', 'r', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n',
+ '_', 'l', 'e', 'r', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'm', 'b', 'c', 'n', 't', '_', 'h',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd',
+ 'g', 'c', 'n', '_', 'm', 'b', 'c', 'n', 't', '_', 'l', 'o', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_',
+ 'm', 'q', 's', 'a', 'd', '_', 'p', 'k', '_', 'u', '1', '6', '_', 'u', '8',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g',
+ 'c', 'n', '_', 'm', 'q', 's', 'a', 'd', '_', 'u', '3', '2', '_', 'u', '8',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g',
+ 'c', 'n', '_', 'm', 's', 'a', 'd', '_', 'u', '8', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'q', 's',
+ 'a', 'd', '_', 'p', 'k', '_', 'u', '1', '6', '_', 'u', '8', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_',
+ 'q', 'u', 'e', 'u', 'e', '_', 'p', 't', 'r', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'r', 'c', 'p',
+ '_', 'l', 'e', 'g', 'a', 'c', 'y', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'r', 'e', 'a', 'd', 'f',
+ 'i', 'r', 's', 't', 'l', 'a', 'n', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 'r', 'e', 'a', 'd',
+ 'l', 'a', 'n', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'm', 'd', 'g', 'c', 'n', '_', 'r', 's', 'q', '_', 'l', 'e', 'g', 'a',
+ 'c', 'y', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm',
+ 'd', 'g', 'c', 'n', '_', 's', '_', 'b', 'a', 'r', 'r', 'i', 'e', 'r', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c',
+ 'n', '_', 's', '_', 'd', 'c', 'a', 'c', 'h', 'e', '_', 'i', 'n', 'v', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c',
+ 'n', '_', 's', '_', 'd', 'c', 'a', 'c', 'h', 'e', '_', 'i', 'n', 'v', '_',
+ 'v', 'o', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'm', 'd', 'g', 'c', 'n', '_', 's', '_', 'd', 'c', 'a', 'c', 'h', 'e', '_',
+ 'w', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm',
+ 'd', 'g', 'c', 'n', '_', 's', '_', 'd', 'c', 'a', 'c', 'h', 'e', '_', 'w',
+ 'b', '_', 'v', 'o', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 's', '_', 'd', 'e', 'c', 'p', 'e',
+ 'r', 'f', 'l', 'e', 'v', 'e', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 's', '_', 'g', 'e', 't',
+ 'r', 'e', 'g', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'm', 'd', 'g', 'c', 'n', '_', 's', '_', 'i', 'n', 'c', 'p', 'e', 'r', 'f',
+ 'l', 'e', 'v', 'e', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 's', '_', 'm', 'e', 'm', 'r', 'e',
+ 'a', 'l', 't', 'i', 'm', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 's', '_', 'm', 'e', 'm', 't',
+ 'i', 'm', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'm', 'd', 'g', 'c', 'n', '_', 's', '_', 's', 'l', 'e', 'e', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n',
+ '_', 's', 'a', 'd', '_', 'h', 'i', '_', 'u', '8', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 's', 'a',
+ 'd', '_', 'u', '1', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'm', 'd', 'g', 'c', 'n', '_', 's', 'a', 'd', '_', 'u', '8', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c',
+ 'n', '_', 'w', 'a', 'v', 'e', '_', 'b', 'a', 'r', 'r', 'i', 'e', 'r', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd', 'g', 'c',
+ 'n', '_', 'w', 'o', 'r', 'k', 'g', 'r', 'o', 'u', 'p', '_', 'i', 'd', '_',
+ 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'm', 'd',
+ 'g', 'c', 'n', '_', 'w', 'o', 'r', 'k', 'g', 'r', 'o', 'u', 'p', '_', 'i',
+ 'd', '_', 'y', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'm', 'd', 'g', 'c', 'n', '_', 'w', 'o', 'r', 'k', 'g', 'r', 'o', 'u', 'p',
+ '_', 'i', 'd', '_', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'r', 'm', '_', 'c', 'd', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 'c', 'd', 'p', '2', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 'g', 'e', 't',
+ '_', 'f', 'p', 's', 'c', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'r', 'm', '_', 'l', 'd', 'c', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 'l', 'd', 'c', '2', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 'l', 'd',
+ 'c', '2', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'r', 'm', '_', 'l', 'd', 'c', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'r', 'm', '_', 'm', 'c', 'r', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 'm', 'c', 'r', '2', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 'm',
+ 'r', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'r',
+ 'm', '_', 'm', 'r', 'c', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'r', 'm', '_', 'q', 'a', 'd', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 'q', 's', 'u', 'b', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 's',
+ 'e', 't', '_', 'f', 'p', 's', 'c', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 's', 's', 'a', 't', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 's', 't', 'c',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'r', 'm', '_',
+ 's', 't', 'c', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'r', 'm', '_', 's', 't', 'c', '2', 'l', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 's', 't', 'c', 'l', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'r', 'm', '_', 'u', 's',
+ 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'b', 'p',
+ 'f', '_', 'l', 'o', 'a', 'd', '_', 'b', 'y', 't', 'e', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'b', 'p', 'f', '_', 'l', 'o', 'a', 'd',
+ '_', 'h', 'a', 'l', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'b', 'p', 'f', '_', 'l', 'o', 'a', 'd', '_', 'w', 'o', 'r', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'b', 'p', 'f', '_', 'p',
+ 's', 'e', 'u', 'd', 'o', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'a', 'b', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 'a', 'b', 's', 'p', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 'a', 'b', 's', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2',
+ '_', 'a', 'd', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'a', 'd', 'd', 'h',
+ '_', 'h', '1', '6', '_', 'h', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'a',
+ 'd', 'd', 'h', '_', 'h', '1', '6', '_', 'h', 'l', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A',
+ '2', '_', 'a', 'd', 'd', 'h', '_', 'h', '1', '6', '_', 'l', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'A', '2', '_', 'a', 'd', 'd', 'h', '_', 'h', '1', '6', '_', 'l',
+ 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'a', 'd', 'd', 'h', '_', 'h', '1',
+ '6', '_', 's', 'a', 't', '_', 'h', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_',
+ 'a', 'd', 'd', 'h', '_', 'h', '1', '6', '_', 's', 'a', 't', '_', 'h', 'l',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 'a', 'd', 'd', 'h', '_', 'h', '1', '6',
+ '_', 's', 'a', 't', '_', 'l', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'a',
+ 'd', 'd', 'h', '_', 'h', '1', '6', '_', 's', 'a', 't', '_', 'l', 'l', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '2', '_', 'a', 'd', 'd', 'h', '_', 'l', '1', '6', '_',
+ 'h', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'a', 'd', 'd', 'h', '_', 'l',
+ '1', '6', '_', 'l', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'a', 'd', 'd',
+ 'h', '_', 'l', '1', '6', '_', 's', 'a', 't', '_', 'h', 'l', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '2', '_', 'a', 'd', 'd', 'h', '_', 'l', '1', '6', '_', 's', 'a',
+ 't', '_', 'l', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'a', 'd', 'd', 'i',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 'a', 'd', 'd', 'p', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 'a', 'd', 'd', 'p', 's', 'a', 't', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A',
+ '2', '_', 'a', 'd', 'd', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_',
+ 'a', 'd', 'd', 's', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'a', 'n', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 'a', 'n', 'd', 'i', 'r', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '2', '_', 'a', 'n', 'd', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_',
+ 'a', 's', 'l', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'a', 's', 'r', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 'c', 'o', 'm', 'b', 'i', 'n', 'e', '_',
+ 'h', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'c', 'o', 'm', 'b', 'i', 'n',
+ 'e', '_', 'h', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'c', 'o', 'm', 'b',
+ 'i', 'n', 'e', '_', 'l', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'c', 'o',
+ 'm', 'b', 'i', 'n', 'e', '_', 'l', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_',
+ 'c', 'o', 'm', 'b', 'i', 'n', 'e', 'i', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2',
+ '_', 'c', 'o', 'm', 'b', 'i', 'n', 'e', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2',
+ '_', 'm', 'a', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'm', 'a', 'x', 'p',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 'm', 'a', 'x', 'u', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 'm', 'a', 'x', 'u', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_',
+ 'm', 'i', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'm', 'i', 'n', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '2', '_', 'm', 'i', 'n', 'u', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A',
+ '2', '_', 'm', 'i', 'n', 'u', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'n',
+ 'e', 'g', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'n', 'e', 'g', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'A', '2', '_', 'n', 'e', 'g', 's', 'a', 't', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 'n', 'o', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'n', 'o',
+ 't', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'o', 'r', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 'o', 'r', 'i', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'o',
+ 'r', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'r', 'o', 'u', 'n', 'd', 's',
+ 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'a', 't', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '2', '_', 's', 'a', 't', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_',
+ 's', 'a', 't', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'a', 't', 'u',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'a', 't', 'u', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'A', '2', '_', 's', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_',
+ 's', 'u', 'b', 'h', '_', 'h', '1', '6', '_', 'h', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 's', 'u', 'b', 'h', '_', 'h', '1', '6', '_', 'h', 'l', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '2', '_', 's', 'u', 'b', 'h', '_', 'h', '1', '6', '_',
+ 'l', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'u', 'b', 'h', '_', 'h',
+ '1', '6', '_', 'l', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'u', 'b',
+ 'h', '_', 'h', '1', '6', '_', 's', 'a', 't', '_', 'h', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '2', '_', 's', 'u', 'b', 'h', '_', 'h', '1', '6', '_', 's', 'a',
+ 't', '_', 'h', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'u', 'b', 'h',
+ '_', 'h', '1', '6', '_', 's', 'a', 't', '_', 'l', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 's', 'u', 'b', 'h', '_', 'h', '1', '6', '_', 's', 'a', 't',
+ '_', 'l', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'u', 'b', 'h', '_',
+ 'l', '1', '6', '_', 'h', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'u',
+ 'b', 'h', '_', 'l', '1', '6', '_', 'l', 'l', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2',
+ '_', 's', 'u', 'b', 'h', '_', 'l', '1', '6', '_', 's', 'a', 't', '_', 'h',
+ 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'u', 'b', 'h', '_', 'l', '1',
+ '6', '_', 's', 'a', 't', '_', 'l', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_',
+ 's', 'u', 'b', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'u', 'b', 'r',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'u', 'b', 's', 'a', 't', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '2', '_', 's', 'v', 'a', 'd', 'd', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '2', '_', 's', 'v', 'a', 'd', 'd', 'h', 's', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 's', 'v', 'a', 'd', 'd', 'u', 'h', 's', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 's', 'v', 'a', 'v', 'g', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2',
+ '_', 's', 'v', 'a', 'v', 'g', 'h', 's', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_',
+ 's', 'v', 'n', 'a', 'v', 'g', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's',
+ 'v', 's', 'u', 'b', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'v', 's',
+ 'u', 'b', 'h', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'v', 's', 'u',
+ 'b', 'u', 'h', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'w', 'i', 'z',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 's', 'x', 't', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 's', 'x', 't', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 's',
+ 'x', 't', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 't', 'f', 'r', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'A', '2', '_', 't', 'f', 'r', 'i', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A',
+ '2', '_', 't', 'f', 'r', 'i', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 't',
+ 'f', 'r', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 't', 'f', 'r', 'p', 'i',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 't', 'f', 'r', 's', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '2', '_', 'v', 'a', 'b', 's', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2',
+ '_', 'v', 'a', 'b', 's', 'h', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2',
+ '_', 'v', 'a', 'b', 's', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'a',
+ 'b', 's', 'w', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'a',
+ 'd', 'd', 'b', '_', 'm', 'a', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v',
+ 'a', 'd', 'd', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'a', 'd', 'd',
+ 'h', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'a', 'd', 'd', 'u', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'a', 'd', 'd', 'u', 'b', 's', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '2', '_', 'v', 'a', 'd', 'd', 'u', 'h', 's', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'A', '2', '_', 'v', 'a', 'd', 'd', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A',
+ '2', '_', 'v', 'a', 'd', 'd', 'w', 's', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_',
+ 'v', 'a', 'v', 'g', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'a', 'v',
+ 'g', 'h', 'c', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'a', 'v', 'g',
+ 'h', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'a', 'v', 'g', 'u', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'a', 'v', 'g', 'u', 'b', 'r', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '2', '_', 'v', 'a', 'v', 'g', 'u', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '2', '_', 'v', 'a', 'v', 'g', 'u', 'h', 'r', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 'v', 'a', 'v', 'g', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2',
+ '_', 'v', 'a', 'v', 'g', 'u', 'w', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_',
+ 'v', 'a', 'v', 'g', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'a', 'v',
+ 'g', 'w', 'c', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'a', 'v', 'g',
+ 'w', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'c', 'm', 'p', 'b', 'e',
+ 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'c', 'm', 'p', 'b', 'g', 't',
+ 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'c', 'm', 'p', 'h', 'e', 'q',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'c', 'm', 'p', 'h', 'g', 't', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '2', '_', 'v', 'c', 'm', 'p', 'h', 'g', 't', 'u', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '2', '_', 'v', 'c', 'm', 'p', 'w', 'e', 'q', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'A', '2', '_', 'v', 'c', 'm', 'p', 'w', 'g', 't', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '2', '_', 'v', 'c', 'm', 'p', 'w', 'g', 't', 'u', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '2', '_', 'v', 'c', 'o', 'n', 'j', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2',
+ '_', 'v', 'm', 'a', 'x', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'm',
+ 'a', 'x', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'm', 'a', 'x', 'u',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'm', 'a', 'x', 'u', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '2', '_', 'v', 'm', 'a', 'x', 'u', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '2', '_', 'v', 'm', 'a', 'x', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2',
+ '_', 'v', 'm', 'i', 'n', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'm',
+ 'i', 'n', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'm', 'i', 'n', 'u',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'm', 'i', 'n', 'u', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '2', '_', 'v', 'm', 'i', 'n', 'u', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '2', '_', 'v', 'm', 'i', 'n', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2',
+ '_', 'v', 'n', 'a', 'v', 'g', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v',
+ 'n', 'a', 'v', 'g', 'h', 'c', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v',
+ 'n', 'a', 'v', 'g', 'h', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'n',
+ 'a', 'v', 'g', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'n', 'a', 'v',
+ 'g', 'w', 'c', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'n', 'a', 'v',
+ 'g', 'w', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'r', 'a', 'd', 'd',
+ 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'r', 'a', 'd', 'd', 'u',
+ 'b', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'r', 's',
+ 'a', 'd', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 'r', 's', 'a',
+ 'd', 'u', 'b', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v',
+ 's', 'u', 'b', 'b', '_', 'm', 'a', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_',
+ 'v', 's', 'u', 'b', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 's', 'u',
+ 'b', 'h', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 's', 'u', 'b', 'u',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 's', 'u', 'b', 'u', 'b', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 'v', 's', 'u', 'b', 'u', 'h', 's', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '2', '_', 'v', 's', 'u', 'b', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 'v', 's', 'u', 'b', 'w', 's', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2',
+ '_', 'x', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '2', '_', 'x', 'o', 'r', 'p',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '2', '_', 'z', 'x', 't', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '2', '_', 'z', 'x', 't', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'a',
+ 'n', 'd', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'a', 'n', 'd', 'n', 'p',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '4', '_', 'b', 'i', 't', 's', 'p', 'l', 'i', 't',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '4', '_', 'b', 'i', 't', 's', 'p', 'l', 'i', 't',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'b', 'o', 'u', 'n', 'd', 's', 'c',
+ 'h', 'e', 'c', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'c', 'm', 'p', 'b',
+ 'e', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'c', 'm', 'p', 'b', 'e', 'q',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'c', 'm', 'p', 'b', 'g', 't', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '4', '_', 'c', 'm', 'p', 'b', 'g', 't', 'i', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'A', '4', '_', 'c', 'm', 'p', 'b', 'g', 't', 'u', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '4', '_', 'c', 'm', 'p', 'b', 'g', 't', 'u', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '4', '_', 'c', 'm', 'p', 'h', 'e', 'q', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A',
+ '4', '_', 'c', 'm', 'p', 'h', 'e', 'q', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4',
+ '_', 'c', 'm', 'p', 'h', 'g', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'c',
+ 'm', 'p', 'h', 'g', 't', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'c', 'm',
+ 'p', 'h', 'g', 't', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'c', 'm', 'p',
+ 'h', 'g', 't', 'u', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'c', 'o', 'm',
+ 'b', 'i', 'n', 'e', 'i', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'c', 'o',
+ 'm', 'b', 'i', 'n', 'e', 'r', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'c',
+ 'r', 'o', 'u', 'n', 'd', '_', 'r', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_',
+ 'c', 'r', 'o', 'u', 'n', 'd', '_', 'r', 'r', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4',
+ '_', 'm', 'o', 'd', 'w', 'r', 'a', 'p', 'u', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4',
+ '_', 'o', 'r', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'o', 'r', 'n', 'p',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '4', '_', 'r', 'c', 'm', 'p', 'e', 'q', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'A', '4', '_', 'r', 'c', 'm', 'p', 'e', 'q', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '4', '_', 'r', 'c', 'm', 'p', 'n', 'e', 'q', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '4', '_', 'r', 'c', 'm', 'p', 'n', 'e', 'q', 'i', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '4', '_', 'r', 'o', 'u', 'n', 'd', '_', 'r', 'i', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'A', '4', '_', 'r', 'o', 'u', 'n', 'd', '_', 'r', 'i', '_', 's', 'a', 't',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '4', '_', 'r', 'o', 'u', 'n', 'd', '_', 'r', 'r',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '4', '_', 'r', 'o', 'u', 'n', 'd', '_', 'r', 'r',
+ '_', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 't', 'l', 'b', 'm',
+ 'a', 't', 'c', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v', 'c', 'm', 'p',
+ 'b', 'e', 'q', '_', 'a', 'n', 'y', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v',
+ 'c', 'm', 'p', 'b', 'e', 'q', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v',
+ 'c', 'm', 'p', 'b', 'g', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v', 'c',
+ 'm', 'p', 'b', 'g', 't', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v', 'c',
+ 'm', 'p', 'b', 'g', 't', 'u', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v',
+ 'c', 'm', 'p', 'h', 'e', 'q', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v',
+ 'c', 'm', 'p', 'h', 'g', 't', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v',
+ 'c', 'm', 'p', 'h', 'g', 't', 'u', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_',
+ 'v', 'c', 'm', 'p', 'w', 'e', 'q', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_',
+ 'v', 'c', 'm', 'p', 'w', 'g', 't', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_',
+ 'v', 'c', 'm', 'p', 'w', 'g', 't', 'u', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4',
+ '_', 'v', 'r', 'm', 'a', 'x', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v',
+ 'r', 'm', 'a', 'x', 'u', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v', 'r',
+ 'm', 'a', 'x', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v', 'r', 'm',
+ 'a', 'x', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v', 'r', 'm', 'i', 'n',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'A', '4', '_', 'v', 'r', 'm', 'i', 'n', 'u', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'A', '4', '_', 'v', 'r', 'm', 'i', 'n', 'u', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'A', '4', '_', 'v', 'r', 'm', 'i', 'n', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'A', '5', '_', 'v', 'a', 'd', 'd', 'h', 'u', 'b', 's', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'C', '2', '_', 'a', 'l', 'l', '8', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_',
+ 'a', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 'a', 'n', 'd', 'n', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'C', '2', '_', 'a', 'n', 'y', '8', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C',
+ '2', '_', 'b', 'i', 't', 's', 'c', 'l', 'r', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2',
+ '_', 'b', 'i', 't', 's', 'c', 'l', 'r', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2',
+ '_', 'b', 'i', 't', 's', 's', 'e', 't', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_',
+ 'c', 'm', 'p', 'e', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 'c', 'm', 'p',
+ 'e', 'q', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 'c', 'm', 'p', 'e', 'q',
+ 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 'c', 'm', 'p', 'g', 'e', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'C', '2', '_', 'c', 'm', 'p', 'g', 'e', 'u', 'i', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'C', '2', '_', 'c', 'm', 'p', 'g', 't', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C',
+ '2', '_', 'c', 'm', 'p', 'g', 't', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_',
+ 'c', 'm', 'p', 'g', 't', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 'c', 'm',
+ 'p', 'g', 't', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 'c', 'm', 'p', 'g',
+ 't', 'u', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 'c', 'm', 'p', 'g', 't',
+ 'u', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 'c', 'm', 'p', 'l', 't', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'C', '2', '_', 'c', 'm', 'p', 'l', 't', 'u', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'C', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_',
+ 'm', 'u', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 'm', 'u', 'x', 'i', 'i',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'C', '2', '_', 'm', 'u', 'x', 'i', 'r', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'C', '2', '_', 'm', 'u', 'x', 'r', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2',
+ '_', 'n', 'o', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 'o', 'r', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'C', '2', '_', 'o', 'r', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_',
+ 'p', 'x', 'f', 'e', 'r', '_', 'm', 'a', 'p', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2',
+ '_', 't', 'f', 'r', 'p', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 't', 'f',
+ 'r', 'r', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 'v', 'i', 't', 'p', 'a',
+ 'c', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'C', '2', '_', 'v', 'm', 'u', 'x', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'C', '2', '_', 'x', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_',
+ 'a', 'n', 'd', '_', 'a', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_', 'a',
+ 'n', 'd', '_', 'a', 'n', 'd', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_', 'a',
+ 'n', 'd', '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_', 'a', 'n', 'd',
+ '_', 'o', 'r', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_', 'c', 'm', 'p', 'l',
+ 't', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_', 'c', 'm', 'p', 'l', 't', 'e',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'C', '4', '_', 'c', 'm', 'p', 'l', 't', 'e', 'u',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'C', '4', '_', 'c', 'm', 'p', 'l', 't', 'e', 'u', 'i',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'C', '4', '_', 'c', 'm', 'p', 'n', 'e', 'q', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'C', '4', '_', 'c', 'm', 'p', 'n', 'e', 'q', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'C', '4', '_', 'f', 'a', 's', 't', 'c', 'o', 'r', 'n', 'e', 'r', '9',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'C', '4', '_', 'f', 'a', 's', 't', 'c', 'o', 'r', 'n',
+ 'e', 'r', '9', '_', 'n', 'o', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_', 'n',
+ 'b', 'i', 't', 's', 'c', 'l', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_', 'n',
+ 'b', 'i', 't', 's', 'c', 'l', 'r', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_',
+ 'n', 'b', 'i', 't', 's', 's', 'e', 't', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_',
+ 'o', 'r', '_', 'a', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_', 'o', 'r',
+ '_', 'a', 'n', 'd', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_', 'o', 'r', '_',
+ 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'C', '4', '_', 'o', 'r', '_', 'o', 'r', 'n',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 'd', '2', 'd',
+ 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 'd', '2',
+ 's', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 'd',
+ 'f', '2', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_',
+ 'd', 'f', '2', 'd', '_', 'c', 'h', 'o', 'p', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2',
+ '_', 'c', 'o', 'n', 'v', '_', 'd', 'f', '2', 's', 'f', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 'd', 'f', '2', 'u', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 'd', 'f', '2', 'u', 'd',
+ '_', 'c', 'h', 'o', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n',
+ 'v', '_', 'd', 'f', '2', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c',
+ 'o', 'n', 'v', '_', 'd', 'f', '2', 'u', 'w', '_', 'c', 'h', 'o', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 'd', 'f', '2', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 'd', 'f', '2',
+ 'w', '_', 'c', 'h', 'o', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o',
+ 'n', 'v', '_', 's', 'f', '2', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c',
+ 'o', 'n', 'v', '_', 's', 'f', '2', 'd', '_', 'c', 'h', 'o', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 's', 'f', '2', 'd', 'f',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 's', 'f', '2',
+ 'u', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 's',
+ 'f', '2', 'u', 'd', '_', 'c', 'h', 'o', 'p', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2',
+ '_', 'c', 'o', 'n', 'v', '_', 's', 'f', '2', 'u', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 's', 'f', '2', 'u', 'w', '_', 'c',
+ 'h', 'o', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_',
+ 's', 'f', '2', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v',
+ '_', 's', 'f', '2', 'w', '_', 'c', 'h', 'o', 'p', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F',
+ '2', '_', 'c', 'o', 'n', 'v', '_', 'u', 'd', '2', 'd', 'f', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 'u', 'd', '2', 's', 'f', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 'u', 'w', '2', 'd',
+ 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_', 'u', 'w',
+ '2', 's', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v', '_',
+ 'w', '2', 'd', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'c', 'o', 'n', 'v',
+ '_', 'w', '2', 's', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'd', 'f', 'c',
+ 'l', 'a', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'd', 'f', 'c', 'm',
+ 'p', 'e', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'd', 'f', 'c', 'm', 'p',
+ 'g', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'd', 'f', 'c', 'm', 'p', 'g',
+ 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 'd', 'f', 'c', 'm', 'p', 'u', 'o',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'F', '2', '_', 'd', 'f', 'i', 'm', 'm', '_', 'n', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'F', '2', '_', 'd', 'f', 'i', 'm', 'm', '_', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'F', '2', '_', 's', 'f', 'a', 'd', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F',
+ '2', '_', 's', 'f', 'c', 'l', 'a', 's', 's', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2',
+ '_', 's', 'f', 'c', 'm', 'p', 'e', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_',
+ 's', 'f', 'c', 'm', 'p', 'g', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 's',
+ 'f', 'c', 'm', 'p', 'g', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 's', 'f',
+ 'c', 'm', 'p', 'u', 'o', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 's', 'f', 'f',
+ 'i', 'x', 'u', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 's', 'f', 'f',
+ 'i', 'x', 'u', 'p', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 's', 'f', 'f',
+ 'i', 'x', 'u', 'p', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 's', 'f', 'f',
+ 'm', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 's', 'f', 'f', 'm', 'a', '_',
+ 'l', 'i', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 's', 'f', 'f', 'm', 'a',
+ '_', 's', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 's', 'f', 'f', 'm', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'F', '2', '_', 's', 'f', 'f', 'm', 's', '_', 'l', 'i',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 's', 'f', 'i', 'm', 'm', '_', 'n',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'F', '2', '_', 's', 'f', 'i', 'm', 'm', '_', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'F', '2', '_', 's', 'f', 'm', 'a', 'x', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'F', '2', '_', 's', 'f', 'm', 'i', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_',
+ 's', 'f', 'm', 'p', 'y', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'F', '2', '_', 's', 'f', 's',
+ 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'L', '2', '_', 'l', 'o', 'a', 'd', 'w', '_',
+ 'l', 'o', 'c', 'k', 'e', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'L', '4', '_', 'l', 'o',
+ 'a', 'd', 'd', '_', 'l', 'o', 'c', 'k', 'e', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'a', 'c', 'c', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'a', 'c',
+ 'c', 'i', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'c', 'm', 'a', 'c', 'i',
+ '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'c', 'm', 'a', 'c', 'r',
+ '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'c', 'm', 'a', 'c', 's',
+ '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'c', 'm', 'a', 'c', 's',
+ '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'c', 'm', 'a', 'c', 's',
+ 'c', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'c', 'm', 'a', 'c',
+ 's', 'c', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'c', 'm', 'p',
+ 'y', 'i', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'c', 'm', 'p',
+ 'y', 'r', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'c', 'm', 'p',
+ 'y', 'r', 's', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'c', 'm',
+ 'p', 'y', 'r', 's', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'c',
+ 'm', 'p', 'y', 'r', 's', 'c', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'c', 'm', 'p', 'y', 'r', 's', 'c', '_', 's', '1', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '2', '_', 'c', 'm', 'p', 'y', 's', '_', 's', '0', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '2', '_', 'c', 'm', 'p', 'y', 's', '_', 's', '1', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '2', '_', 'c', 'm', 'p', 'y', 's', 'c', '_', 's', '0', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'c', 'm', 'p', 'y', 's', 'c', '_', 's', '1', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'c', 'n', 'a', 'c', 's', '_', 's', '0', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'c', 'n', 'a', 'c', 's', '_', 's', '1', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'c', 'n', 'a', 'c', 's', 'c', '_', 's', '0', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'c', 'n', 'a', 'c', 's', 'c', '_', 's', '1',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'd', 'p', 'm', 'p', 'y', 's', 's', '_',
+ 'a', 'c', 'c', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'd', 'p',
+ 'm', 'p', 'y', 's', 's', '_', 'n', 'a', 'c', '_', 's', '0', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'd', 'p', 'm', 'p', 'y', 's', 's', '_', 'r', 'n', 'd',
+ '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'd', 'p', 'm', 'p', 'y',
+ 's', 's', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'd', 'p', 'm',
+ 'p', 'y', 'u', 'u', '_', 'a', 'c', 'c', '_', 's', '0', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '2', '_', 'd', 'p', 'm', 'p', 'y', 'u', 'u', '_', 'n', 'a', 'c', '_',
+ 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'd', 'p', 'm', 'p', 'y', 'u',
+ 'u', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'h', 'm', 'm', 'p',
+ 'y', 'h', '_', 'r', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'h', 'm',
+ 'm', 'p', 'y', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'h',
+ 'm', 'm', 'p', 'y', 'l', '_', 'r', 's', '1', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'h', 'm', 'm', 'p', 'y', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'a', 'c', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'a',
+ 'c', 's', 'i', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'a', 'c', 's',
+ 'i', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'a', 'c', 'h', 's',
+ '_', 'r', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'a', 'c',
+ 'h', 's', '_', 'r', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm',
+ 'a', 'c', 'h', 's', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'm', 'a', 'c', 'h', 's', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_',
+ 'm', 'm', 'a', 'c', 'l', 's', '_', 'r', 's', '0', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'm', 'a', 'c', 'l', 's', '_', 'r', 's', '1', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'm', 'a', 'c', 'l', 's', '_', 's', '0', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'm', 'm', 'a', 'c', 'l', 's', '_', 's', '1', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'a', 'c', 'u', 'h', 's', '_', 'r',
+ 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'a', 'c', 'u', 'h',
+ 's', '_', 'r', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'a',
+ 'c', 'u', 'h', 's', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'm', 'a', 'c', 'u', 'h', 's', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'm', 'm', 'a', 'c', 'u', 'l', 's', '_', 'r', 's', '0', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'm', 'a', 'c', 'u', 'l', 's', '_', 'r', 's', '1',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'a', 'c', 'u', 'l', 's', '_',
+ 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'a', 'c', 'u', 'l',
+ 's', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'p', 'y',
+ 'h', '_', 'r', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'p',
+ 'y', 'h', '_', 'r', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm',
+ 'p', 'y', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm',
+ 'p', 'y', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm',
+ 'p', 'y', 'l', '_', 'r', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'm', 'p', 'y', 'l', '_', 'r', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_',
+ 'm', 'm', 'p', 'y', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_',
+ 'm', 'm', 'p', 'y', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_',
+ 'm', 'm', 'p', 'y', 'u', 'h', '_', 'r', 's', '0', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'm', 'p', 'y', 'u', 'h', '_', 'r', 's', '1', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'm', 'p', 'y', 'u', 'h', '_', 's', '0', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'm', 'm', 'p', 'y', 'u', 'h', '_', 's', '1', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'p', 'y', 'u', 'l', '_', 'r', 's',
+ '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'p', 'y', 'u', 'l', '_',
+ 'r', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'p', 'y', 'u',
+ 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'm', 'p', 'y',
+ 'u', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y',
+ '_', 'a', 'c', 'c', '_', 'h', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', '_', 'a', 'c', 'c', '_', 'h', 'h', '_', 's', '1',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'a', 'c', 'c', '_',
+ 'h', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y',
+ '_', 'a', 'c', 'c', '_', 'h', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', '_', 'a', 'c', 'c', '_', 'l', 'h', '_', 's', '0',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'a', 'c', 'c', '_',
+ 'l', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y',
+ '_', 'a', 'c', 'c', '_', 'l', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', '_', 'a', 'c', 'c', '_', 'l', 'l', '_', 's', '1',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'a', 'c', 'c', '_',
+ 's', 'a', 't', '_', 'h', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'm', 'p', 'y', '_', 'a', 'c', 'c', '_', 's', 'a', 't', '_', 'h', 'h',
+ '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'a',
+ 'c', 'c', '_', 's', 'a', 't', '_', 'h', 'l', '_', 's', '0', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'a', 'c', 'c', '_', 's', 'a', 't',
+ '_', 'h', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p',
+ 'y', '_', 'a', 'c', 'c', '_', 's', 'a', 't', '_', 'l', 'h', '_', 's', '0',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'a', 'c', 'c', '_',
+ 's', 'a', 't', '_', 'l', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'm', 'p', 'y', '_', 'a', 'c', 'c', '_', 's', 'a', 't', '_', 'l', 'l',
+ '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'a',
+ 'c', 'c', '_', 's', 'a', 't', '_', 'l', 'l', '_', 's', '1', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'h', 'h', '_', 's', '0', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'h', 'h', '_', 's', '1', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'h', 'l', '_', 's', '0',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'h', 'l', '_', 's',
+ '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'l', 'h', '_',
+ 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'l', 'h',
+ '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'l',
+ 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_',
+ 'l', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y',
+ '_', 'n', 'a', 'c', '_', 'h', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', '_', 'n', 'a', 'c', '_', 'h', 'h', '_', 's', '1',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'n', 'a', 'c', '_',
+ 'h', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y',
+ '_', 'n', 'a', 'c', '_', 'h', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', '_', 'n', 'a', 'c', '_', 'l', 'h', '_', 's', '0',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'n', 'a', 'c', '_',
+ 'l', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y',
+ '_', 'n', 'a', 'c', '_', 'l', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', '_', 'n', 'a', 'c', '_', 'l', 'l', '_', 's', '1',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'n', 'a', 'c', '_',
+ 's', 'a', 't', '_', 'h', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'm', 'p', 'y', '_', 'n', 'a', 'c', '_', 's', 'a', 't', '_', 'h', 'h',
+ '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'n',
+ 'a', 'c', '_', 's', 'a', 't', '_', 'h', 'l', '_', 's', '0', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'n', 'a', 'c', '_', 's', 'a', 't',
+ '_', 'h', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p',
+ 'y', '_', 'n', 'a', 'c', '_', 's', 'a', 't', '_', 'l', 'h', '_', 's', '0',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'n', 'a', 'c', '_',
+ 's', 'a', 't', '_', 'l', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'm', 'p', 'y', '_', 'n', 'a', 'c', '_', 's', 'a', 't', '_', 'l', 'l',
+ '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'n',
+ 'a', 'c', '_', 's', 'a', 't', '_', 'l', 'l', '_', 's', '1', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'r', 'n', 'd', '_', 'h', 'h', '_',
+ 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'r', 'n',
+ 'd', '_', 'h', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', '_', 'r', 'n', 'd', '_', 'h', 'l', '_', 's', '0', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'r', 'n', 'd', '_', 'h', 'l', '_',
+ 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'r', 'n',
+ 'd', '_', 'l', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', '_', 'r', 'n', 'd', '_', 'l', 'h', '_', 's', '1', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'r', 'n', 'd', '_', 'l', 'l', '_',
+ 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'r', 'n',
+ 'd', '_', 'l', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', '_', 's', 'a', 't', '_', 'h', 'h', '_', 's', '0', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', '_', 's', 'a', 't', '_', 'h', 'h', '_',
+ 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 's', 'a',
+ 't', '_', 'h', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', '_', 's', 'a', 't', '_', 'h', 'l', '_', 's', '1', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', '_', 's', 'a', 't', '_', 'l', 'h', '_',
+ 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 's', 'a',
+ 't', '_', 'l', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', '_', 's', 'a', 't', '_', 'l', 'l', '_', 's', '0', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', '_', 's', 'a', 't', '_', 'l', 'l', '_',
+ 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 's', 'a',
+ 't', '_', 'r', 'n', 'd', '_', 'h', 'h', '_', 's', '0', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '2', '_', 'm', 'p', 'y', '_', 's', 'a', 't', '_', 'r', 'n', 'd', '_',
+ 'h', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y',
+ '_', 's', 'a', 't', '_', 'r', 'n', 'd', '_', 'h', 'l', '_', 's', '0', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 's', 'a', 't', '_', 'r',
+ 'n', 'd', '_', 'h', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_',
+ 'm', 'p', 'y', '_', 's', 'a', 't', '_', 'r', 'n', 'd', '_', 'l', 'h', '_',
+ 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 's', 'a',
+ 't', '_', 'r', 'n', 'd', '_', 'l', 'h', '_', 's', '1', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '2', '_', 'm', 'p', 'y', '_', 's', 'a', 't', '_', 'r', 'n', 'd', '_',
+ 'l', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y',
+ '_', 's', 'a', 't', '_', 'r', 'n', 'd', '_', 'l', 'l', '_', 's', '1', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'u', 'p', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'u', 'p', '_', 's', '1', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'm', 'p', 'y', '_', 'u', 'p', '_', 's', '1', '_',
+ 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_',
+ 'a', 'c', 'c', '_', 'h', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'm', 'p', 'y', 'd', '_', 'a', 'c', 'c', '_', 'h', 'h', '_', 's', '1',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_', 'a', 'c', 'c',
+ '_', 'h', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p',
+ 'y', 'd', '_', 'a', 'c', 'c', '_', 'h', 'l', '_', 's', '1', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_', 'a', 'c', 'c', '_', 'l', 'h',
+ '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_',
+ 'a', 'c', 'c', '_', 'l', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'm', 'p', 'y', 'd', '_', 'a', 'c', 'c', '_', 'l', 'l', '_', 's', '0',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_', 'a', 'c', 'c',
+ '_', 'l', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p',
+ 'y', 'd', '_', 'h', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_',
+ 'm', 'p', 'y', 'd', '_', 'h', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', 'd', '_', 'h', 'l', '_', 's', '0', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_', 'h', 'l', '_', 's', '1', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_', 'l', 'h', '_', 's',
+ '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_', 'l', 'h',
+ '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_',
+ 'l', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y',
+ 'd', '_', 'l', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', 'd', '_', 'n', 'a', 'c', '_', 'h', 'h', '_', 's', '0', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_', 'n', 'a', 'c', '_', 'h',
+ 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd',
+ '_', 'n', 'a', 'c', '_', 'h', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', 'd', '_', 'n', 'a', 'c', '_', 'h', 'l', '_', 's',
+ '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_', 'n', 'a',
+ 'c', '_', 'l', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', 'd', '_', 'n', 'a', 'c', '_', 'l', 'h', '_', 's', '1', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_', 'n', 'a', 'c', '_', 'l',
+ 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd',
+ '_', 'n', 'a', 'c', '_', 'l', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', 'd', '_', 'r', 'n', 'd', '_', 'h', 'h', '_', 's',
+ '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_', 'r', 'n',
+ 'd', '_', 'h', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', 'd', '_', 'r', 'n', 'd', '_', 'h', 'l', '_', 's', '0', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_', 'r', 'n', 'd', '_', 'h',
+ 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd',
+ '_', 'r', 'n', 'd', '_', 'l', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', 'd', '_', 'r', 'n', 'd', '_', 'l', 'h', '_', 's',
+ '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'd', '_', 'r', 'n',
+ 'd', '_', 'l', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', 'd', '_', 'r', 'n', 'd', '_', 'l', 'l', '_', 's', '1', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'm', 'p', 'y', 's', 'm', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', 's', 'u', '_', 'u', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', 'u', '_', 'a', 'c', 'c', '_', 'h', 'h', '_', 's', '0', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', '_', 'a', 'c', 'c', '_', 'h',
+ 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u',
+ '_', 'a', 'c', 'c', '_', 'h', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', 'u', '_', 'a', 'c', 'c', '_', 'h', 'l', '_', 's',
+ '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', '_', 'a', 'c',
+ 'c', '_', 'l', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', 'u', '_', 'a', 'c', 'c', '_', 'l', 'h', '_', 's', '1', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', '_', 'a', 'c', 'c', '_', 'l',
+ 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u',
+ '_', 'a', 'c', 'c', '_', 'l', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', 'u', '_', 'h', 'h', '_', 's', '0', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', 'u', '_', 'h', 'h', '_', 's', '1', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', '_', 'h', 'l', '_', 's',
+ '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', '_', 'h', 'l',
+ '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', '_',
+ 'l', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y',
+ 'u', '_', 'l', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', 'u', '_', 'l', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'm', 'p', 'y', 'u', '_', 'l', 'l', '_', 's', '1', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '2', '_', 'm', 'p', 'y', 'u', '_', 'n', 'a', 'c', '_', 'h', 'h', '_',
+ 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', '_', 'n',
+ 'a', 'c', '_', 'h', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_',
+ 'm', 'p', 'y', 'u', '_', 'n', 'a', 'c', '_', 'h', 'l', '_', 's', '0', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', '_', 'n', 'a', 'c', '_',
+ 'h', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y',
+ 'u', '_', 'n', 'a', 'c', '_', 'l', 'h', '_', 's', '0', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '2', '_', 'm', 'p', 'y', 'u', '_', 'n', 'a', 'c', '_', 'l', 'h', '_',
+ 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', '_', 'n',
+ 'a', 'c', '_', 'l', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_',
+ 'm', 'p', 'y', 'u', '_', 'n', 'a', 'c', '_', 'l', 'l', '_', 's', '1', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', '_', 'u', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd', '_', 'a', 'c', 'c', '_',
+ 'h', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y',
+ 'u', 'd', '_', 'a', 'c', 'c', '_', 'h', 'h', '_', 's', '1', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd', '_', 'a', 'c', 'c', '_', 'h',
+ 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u',
+ 'd', '_', 'a', 'c', 'c', '_', 'h', 'l', '_', 's', '1', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '2', '_', 'm', 'p', 'y', 'u', 'd', '_', 'a', 'c', 'c', '_', 'l', 'h',
+ '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd',
+ '_', 'a', 'c', 'c', '_', 'l', 'h', '_', 's', '1', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', 'u', 'd', '_', 'a', 'c', 'c', '_', 'l', 'l', '_',
+ 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd', '_',
+ 'a', 'c', 'c', '_', 'l', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'm', 'p', 'y', 'u', 'd', '_', 'h', 'h', '_', 's', '0', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd', '_', 'h', 'h', '_', 's', '1',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd', '_', 'h', 'l',
+ '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd',
+ '_', 'h', 'l', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p',
+ 'y', 'u', 'd', '_', 'l', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'm', 'p', 'y', 'u', 'd', '_', 'l', 'h', '_', 's', '1', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd', '_', 'l', 'l', '_', 's', '0',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd', '_', 'l', 'l',
+ '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd',
+ '_', 'n', 'a', 'c', '_', 'h', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'm', 'p', 'y', 'u', 'd', '_', 'n', 'a', 'c', '_', 'h', 'h', '_',
+ 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd', '_',
+ 'n', 'a', 'c', '_', 'h', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'm', 'p', 'y', 'u', 'd', '_', 'n', 'a', 'c', '_', 'h', 'l', '_', 's',
+ '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd', '_', 'n',
+ 'a', 'c', '_', 'l', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_',
+ 'm', 'p', 'y', 'u', 'd', '_', 'n', 'a', 'c', '_', 'l', 'h', '_', 's', '1',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'd', '_', 'n', 'a',
+ 'c', '_', 'l', 'l', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'm',
+ 'p', 'y', 'u', 'd', '_', 'n', 'a', 'c', '_', 'l', 'l', '_', 's', '1', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'm', 'p', 'y', 'u', 'i', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '2', '_', 'n', 'a', 'c', 'c', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_',
+ 'n', 'a', 'c', 'c', 'i', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 's', 'u',
+ 'b', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'a', 'b', 's',
+ 'd', 'i', 'f', 'f', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'a', 'b',
+ 's', 'd', 'i', 'f', 'f', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'c',
+ 'm', 'a', 'c', '_', 's', '0', '_', 's', 'a', 't', '_', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'v', 'c', 'm', 'a', 'c', '_', 's', '0', '_', 's', 'a',
+ 't', '_', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'c', 'm', 'p', 'y',
+ '_', 's', '0', '_', 's', 'a', 't', '_', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'v', 'c', 'm', 'p', 'y', '_', 's', '0', '_', 's', 'a', 't', '_', 'r',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'c', 'm', 'p', 'y', '_', 's', '1',
+ '_', 's', 'a', 't', '_', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'c',
+ 'm', 'p', 'y', '_', 's', '1', '_', 's', 'a', 't', '_', 'r', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'v', 'd', 'm', 'a', 'c', 's', '_', 's', '0', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'v', 'd', 'm', 'a', 'c', 's', '_', 's', '1', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'v', 'd', 'm', 'p', 'y', 'r', 's', '_', 's',
+ '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'd', 'm', 'p', 'y', 'r', 's',
+ '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'd', 'm', 'p', 'y',
+ 's', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'd', 'm', 'p',
+ 'y', 's', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'm', 'a',
+ 'c', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'm', 'a', 'c', '2', 'e',
+ 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'm', 'a', 'c', '2', 'e', 's',
+ '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'm', 'a', 'c', '2',
+ 'e', 's', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'm', 'a',
+ 'c', '2', 's', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'm',
+ 'a', 'c', '2', 's', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v',
+ 'm', 'a', 'c', '2', 's', 'u', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'v', 'm', 'a', 'c', '2', 's', 'u', '_', 's', '1', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '2', '_', 'v', 'm', 'p', 'y', '2', 'e', 's', '_', 's', '0', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'v', 'm', 'p', 'y', '2', 'e', 's', '_', 's', '1',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'm', 'p', 'y', '2', 's', '_', 's',
+ '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'm', 'p', 'y', '2', 's', '_',
+ 's', '0', 'p', 'a', 'c', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'm',
+ 'p', 'y', '2', 's', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v',
+ 'm', 'p', 'y', '2', 's', '_', 's', '1', 'p', 'a', 'c', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '2', '_', 'v', 'm', 'p', 'y', '2', 's', 'u', '_', 's', '0', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'v', 'm', 'p', 'y', '2', 's', 'u', '_', 's',
+ '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'r', 'a', 'd', 'd', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '2', '_', 'v', 'r', 'a', 'd', 'd', 'u', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'v', 'r', 'c', 'm', 'a', 'c', 'i', '_', 's', '0',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'r', 'c', 'm', 'a', 'c', 'i', '_',
+ 's', '0', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'r', 'c', 'm', 'a',
+ 'c', 'r', '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'r', 'c',
+ 'm', 'a', 'c', 'r', '_', 's', '0', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_',
+ 'v', 'r', 'c', 'm', 'p', 'y', 'i', '_', 's', '0', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '2', '_', 'v', 'r', 'c', 'm', 'p', 'y', 'i', '_', 's', '0', 'c', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '2', '_', 'v', 'r', 'c', 'm', 'p', 'y', 'r', '_', 's', '0',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'r', 'c', 'm', 'p', 'y', 'r', '_',
+ 's', '0', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'r', 'c', 'm', 'p',
+ 'y', 's', '_', 'a', 'c', 'c', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '2',
+ '_', 'v', 'r', 'c', 'm', 'p', 'y', 's', '_', 's', '1', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '2', '_', 'v', 'r', 'c', 'm', 'p', 'y', 's', '_', 's', '1', 'r', 'p',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'r', 'm', 'a', 'c', '_', 's', '0',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'v', 'r', 'm', 'p', 'y', '_', 's', '0',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '2', '_', 'x', 'o', 'r', '_', 'x', 'a', 'c', 'c',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '4', '_', 'a', 'n', 'd', '_', 'a', 'n', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '4', '_', 'a', 'n', 'd', '_', 'a', 'n', 'd', 'n', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '4', '_', 'a', 'n', 'd', '_', 'o', 'r', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '4', '_', 'a', 'n', 'd', '_', 'x', 'o', 'r', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '4', '_', 'c', 'm', 'p', 'y', 'i', '_', 'w', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '4', '_', 'c', 'm', 'p', 'y', 'i', '_', 'w', 'h', 'c', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '4', '_', 'c', 'm', 'p', 'y', 'r', '_', 'w', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '4', '_', 'c', 'm', 'p', 'y', 'r', '_', 'w', 'h', 'c', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '4', '_', 'm', 'a', 'c', '_', 'u', 'p', '_', 's', '1', '_',
+ 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '4', '_', 'm', 'p', 'y', 'r', 'i',
+ '_', 'a', 'd', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '4', '_', 'm', 'p', 'y',
+ 'r', 'i', '_', 'a', 'd', 'd', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '4', '_', 'm',
+ 'p', 'y', 'r', 'i', '_', 'a', 'd', 'd', 'r', '_', 'u', '2', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '4', '_', 'm', 'p', 'y', 'r', 'r', '_', 'a', 'd', 'd', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'M', '4', '_', 'm', 'p', 'y', 'r', 'r', '_', 'a', 'd', 'd',
+ 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'M', '4', '_', 'n', 'a', 'c', '_', 'u', 'p', '_',
+ 's', '1', '_', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '4', '_', 'o', 'r',
+ '_', 'a', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '4', '_', 'o', 'r', '_', 'a',
+ 'n', 'd', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '4', '_', 'o', 'r', '_', 'o', 'r',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'M', '4', '_', 'o', 'r', '_', 'x', 'o', 'r', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '4', '_', 'p', 'm', 'p', 'y', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '4', '_', 'p', 'm', 'p', 'y', 'w', '_', 'a', 'c', 'c', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '4', '_', 'v', 'p', 'm', 'p', 'y', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '4',
+ '_', 'v', 'p', 'm', 'p', 'y', 'h', '_', 'a', 'c', 'c', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '4', '_', 'v', 'r', 'm', 'p', 'y', 'e', 'h', '_', 'a', 'c', 'c', '_',
+ 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'M', '4', '_', 'v', 'r', 'm', 'p', 'y', 'e',
+ 'h', '_', 'a', 'c', 'c', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '4', '_',
+ 'v', 'r', 'm', 'p', 'y', 'e', 'h', '_', 's', '0', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '4', '_', 'v', 'r', 'm', 'p', 'y', 'e', 'h', '_', 's', '1', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '4', '_', 'v', 'r', 'm', 'p', 'y', 'o', 'h', '_', 'a', 'c', 'c',
+ '_', 's', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '4', '_', 'v', 'r', 'm', 'p', 'y',
+ 'o', 'h', '_', 'a', 'c', 'c', '_', 's', '1', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '4',
+ '_', 'v', 'r', 'm', 'p', 'y', 'o', 'h', '_', 's', '0', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'M', '4', '_', 'v', 'r', 'm', 'p', 'y', 'o', 'h', '_', 's', '1', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'M', '4', '_', 'x', 'o', 'r', '_', 'a', 'n', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '4', '_', 'x', 'o', 'r', '_', 'a', 'n', 'd', 'n', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'M', '4', '_', 'x', 'o', 'r', '_', 'o', 'r', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '4', '_', 'x', 'o', 'r', '_', 'x', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '5', '_', 'v', 'd', 'm', 'a', 'c', 'b', 's', 'u', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '5', '_', 'v', 'd', 'm', 'p', 'y', 'b', 's', 'u', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M',
+ '5', '_', 'v', 'm', 'a', 'c', 'b', 's', 'u', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '5',
+ '_', 'v', 'm', 'a', 'c', 'b', 'u', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '5', '_',
+ 'v', 'm', 'p', 'y', 'b', 's', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '5', '_', 'v',
+ 'm', 'p', 'y', 'b', 'u', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '5', '_', 'v', 'r',
+ 'm', 'a', 'c', 'b', 's', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '5', '_', 'v', 'r',
+ 'm', 'a', 'c', 'b', 'u', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '5', '_', 'v', 'r',
+ 'm', 'p', 'y', 'b', 's', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '5', '_', 'v', 'r',
+ 'm', 'p', 'y', 'b', 'u', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '6', '_', 'v', 'a',
+ 'b', 's', 'd', 'i', 'f', 'f', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'M', '6', '_', 'v',
+ 'a', 'b', 's', 'd', 'i', 'f', 'f', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'a', 'd', 'd', 'a', 's', 'l', '_', 'r', 'r', 'r', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '2', '_', 'a', 's', 'l', '_', 'i', '_', 'p', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'a', 's', 'l', '_', 'i', '_', 'p', '_', 'a', 'c', 'c', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_', 'i', '_', 'p', '_', 'a',
+ 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_', 'i', '_',
+ 'p', '_', 'n', 'a', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'l',
+ '_', 'i', '_', 'p', '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a',
+ 's', 'l', '_', 'i', '_', 'p', '_', 'x', 'a', 'c', 'c', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'a', 's', 'l', '_', 'i', '_', 'r', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '2', '_', 'a', 's', 'l', '_', 'i', '_', 'r', '_', 'a', 'c', 'c', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_', 'i', '_', 'r', '_', 'a', 'n',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_', 'i', '_', 'r',
+ '_', 'n', 'a', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_',
+ 'i', '_', 'r', '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's',
+ 'l', '_', 'i', '_', 'r', '_', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'a', 's', 'l', '_', 'i', '_', 'r', '_', 'x', 'a', 'c', 'c', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_', 'i', '_', 'v', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_', 'i', '_', 'v', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_', 'r', '_', 'p', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '2', '_', 'a', 's', 'l', '_', 'r', '_', 'p', '_', 'a', 'c', 'c',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_', 'r', '_', 'p', '_',
+ 'a', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_', 'r',
+ '_', 'p', '_', 'n', 'a', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's',
+ 'l', '_', 'r', '_', 'p', '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_',
+ 'a', 's', 'l', '_', 'r', '_', 'p', '_', 'x', 'o', 'r', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'a', 's', 'l', '_', 'r', '_', 'r', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '2', '_', 'a', 's', 'l', '_', 'r', '_', 'r', '_', 'a', 'c', 'c', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_', 'r', '_', 'r', '_', 'a', 'n',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_', 'r', '_', 'r',
+ '_', 'n', 'a', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'l', '_',
+ 'r', '_', 'r', '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's',
+ 'l', '_', 'r', '_', 'r', '_', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'a', 's', 'l', '_', 'r', '_', 'v', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'a', 's', 'l', '_', 'r', '_', 'v', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'a', 's', 'r', '_', 'i', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_',
+ 'a', 's', 'r', '_', 'i', '_', 'p', '_', 'a', 'c', 'c', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'a', 's', 'r', '_', 'i', '_', 'p', '_', 'a', 'n', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r', '_', 'i', '_', 'p', '_', 'n',
+ 'a', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r', '_', 'i', '_',
+ 'p', '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r', '_',
+ 'i', '_', 'p', '_', 'r', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a',
+ 's', 'r', '_', 'i', '_', 'p', '_', 'r', 'n', 'd', '_', 'g', 'o', 'o', 'd',
+ 's', 'y', 'n', 't', 'a', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's',
+ 'r', '_', 'i', '_', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r',
+ '_', 'i', '_', 'r', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_',
+ 'a', 's', 'r', '_', 'i', '_', 'r', '_', 'a', 'n', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'a', 's', 'r', '_', 'i', '_', 'r', '_', 'n', 'a', 'c', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r', '_', 'i', '_', 'r', '_', 'o',
+ 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r', '_', 'i', '_', 'r',
+ '_', 'r', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r', '_',
+ 'i', '_', 'r', '_', 'r', 'n', 'd', '_', 'g', 'o', 'o', 'd', 's', 'y', 'n',
+ 't', 'a', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r', '_', 'i',
+ '_', 's', 'v', 'w', '_', 't', 'r', 'u', 'n', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'a', 's', 'r', '_', 'i', '_', 'v', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'a', 's', 'r', '_', 'i', '_', 'v', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'a', 's', 'r', '_', 'r', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_',
+ 'a', 's', 'r', '_', 'r', '_', 'p', '_', 'a', 'c', 'c', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'a', 's', 'r', '_', 'r', '_', 'p', '_', 'a', 'n', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r', '_', 'r', '_', 'p', '_', 'n',
+ 'a', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r', '_', 'r', '_',
+ 'p', '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r', '_',
+ 'r', '_', 'p', '_', 'x', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a',
+ 's', 'r', '_', 'r', '_', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's',
+ 'r', '_', 'r', '_', 'r', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'a', 's', 'r', '_', 'r', '_', 'r', '_', 'a', 'n', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '2', '_', 'a', 's', 'r', '_', 'r', '_', 'r', '_', 'n', 'a', 'c',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r', '_', 'r', '_', 'r', '_',
+ 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r', '_', 'r', '_',
+ 'r', '_', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'a', 's', 'r',
+ '_', 'r', '_', 's', 'v', 'w', '_', 't', 'r', 'u', 'n', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'a', 's', 'r', '_', 'r', '_', 'v', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'a', 's', 'r', '_', 'r', '_', 'v', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'b', 'r', 'e', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'b',
+ 'r', 'e', 'v', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'c', 'a', 'b', 'a',
+ 'c', 'e', 'n', 'c', 'b', 'i', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'c',
+ 'l', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'c', 'l', '0', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 'c', 'l', '1', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_',
+ 'c', 'l', '1', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'c', 'l', 'b', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '2', '_', 'c', 'l', 'b', 'n', 'o', 'r', 'm', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 'c', 'l', 'b', 'p', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'c', 'l', 'r', 'b', 'i', 't', '_', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'c', 'l', 'r', 'b', 'i', 't', '_', 'r', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'c', 't', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'c', 't', '0', 'p',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'S', '2', '_', 'c', 't', '1', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '2', '_', 'c', 't', '1', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'd', 'e',
+ 'i', 'n', 't', 'e', 'r', 'l', 'e', 'a', 'v', 'e', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '2', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', 'u', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '2', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', 'u', '_', 'r', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', 'u', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '2', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', 'u', 'p',
+ '_', 'r', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'i', 'n', 's', 'e', 'r',
+ 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'i', 'n', 's', 'e', 'r', 't', '_',
+ 'r', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'i', 'n', 's', 'e', 'r', 't',
+ 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'i', 'n', 's', 'e', 'r', 't', 'p',
+ '_', 'r', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'i', 'n', 't', 'e', 'r',
+ 'l', 'e', 'a', 'v', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 'f', 's',
+ 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'l', '_', 'r', '_', 'p',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'l', '_', 'r', '_', 'p', '_',
+ 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'l', '_', 'r',
+ '_', 'p', '_', 'a', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's',
+ 'l', '_', 'r', '_', 'p', '_', 'n', 'a', 'c', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'l', 's', 'l', '_', 'r', '_', 'p', '_', 'o', 'r', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'l', 's', 'l', '_', 'r', '_', 'p', '_', 'x', 'o', 'r', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'l', '_', 'r', '_', 'r', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 'l', 's', 'l', '_', 'r', '_', 'r', '_', 'a', 'c',
+ 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'l', '_', 'r', '_', 'r',
+ '_', 'a', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'l', '_',
+ 'r', '_', 'r', '_', 'n', 'a', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l',
+ 's', 'l', '_', 'r', '_', 'r', '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'l', 's', 'l', '_', 'r', '_', 'v', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'l', 's', 'l', '_', 'r', '_', 'v', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'l', 's', 'r', '_', 'i', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_',
+ 'l', 's', 'r', '_', 'i', '_', 'p', '_', 'a', 'c', 'c', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'l', 's', 'r', '_', 'i', '_', 'p', '_', 'a', 'n', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'r', '_', 'i', '_', 'p', '_', 'n',
+ 'a', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'r', '_', 'i', '_',
+ 'p', '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'r', '_',
+ 'i', '_', 'p', '_', 'x', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_',
+ 'l', 's', 'r', '_', 'i', '_', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l',
+ 's', 'r', '_', 'i', '_', 'r', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '2', '_', 'l', 's', 'r', '_', 'i', '_', 'r', '_', 'a', 'n', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 'l', 's', 'r', '_', 'i', '_', 'r', '_', 'n', 'a',
+ 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'r', '_', 'i', '_', 'r',
+ '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'r', '_', 'i',
+ '_', 'r', '_', 'x', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l',
+ 's', 'r', '_', 'i', '_', 'v', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l',
+ 's', 'r', '_', 'i', '_', 'v', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l',
+ 's', 'r', '_', 'r', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's',
+ 'r', '_', 'r', '_', 'p', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'l', 's', 'r', '_', 'r', '_', 'p', '_', 'a', 'n', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '2', '_', 'l', 's', 'r', '_', 'r', '_', 'p', '_', 'n', 'a', 'c',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'r', '_', 'r', '_', 'p', '_',
+ 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'r', '_', 'r', '_',
+ 'p', '_', 'x', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'r',
+ '_', 'r', '_', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'r', '_',
+ 'r', '_', 'r', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'l',
+ 's', 'r', '_', 'r', '_', 'r', '_', 'a', 'n', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '2', '_', 'l', 's', 'r', '_', 'r', '_', 'r', '_', 'n', 'a', 'c', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 'l', 's', 'r', '_', 'r', '_', 'r', '_', 'o', 'r',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'r', '_', 'r', '_', 'v', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'S', '2', '_', 'l', 's', 'r', '_', 'r', '_', 'v', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'S', '2', '_', 'p', 'a', 'c', 'k', 'h', 'l', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 'p', 'a', 'r', 'i', 't', 'y', 'p', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '2', '_', 's', 'e', 't', 'b', 'i', 't', '_', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '2', '_', 's', 'e', 't', 'b', 'i', 't', '_', 'r', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '2', '_', 's', 'h', 'u', 'f', 'f', 'e', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 's', 'h', 'u', 'f', 'f', 'e', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '2', '_', 's', 'h', 'u', 'f', 'f', 'o', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 's', 'h', 'u', 'f', 'f', 'o', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_',
+ 's', 't', 'o', 'r', 'e', 'w', '_', 'l', 'o', 'c', 'k', 'e', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '2', '_', 's', 'v', 's', 'a', 't', 'h', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '2', '_', 's', 'v', 's', 'a', 't', 'h', 'u', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '2', '_', 't', 'a', 'b', 'l', 'e', 'i', 'd', 'x', 'b', '_', 'g',
+ 'o', 'o', 'd', 's', 'y', 'n', 't', 'a', 'x', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 't', 'a', 'b', 'l', 'e', 'i', 'd', 'x', 'd', '_', 'g', 'o', 'o', 'd',
+ 's', 'y', 'n', 't', 'a', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 't', 'a',
+ 'b', 'l', 'e', 'i', 'd', 'x', 'h', '_', 'g', 'o', 'o', 'd', 's', 'y', 'n',
+ 't', 'a', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 't', 'a', 'b', 'l', 'e',
+ 'i', 'd', 'x', 'w', '_', 'g', 'o', 'o', 'd', 's', 'y', 'n', 't', 'a', 'x',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'S', '2', '_', 't', 'o', 'g', 'g', 'l', 'e', 'b', 'i',
+ 't', '_', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 't', 'o', 'g', 'g', 'l',
+ 'e', 'b', 'i', 't', '_', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 't', 's',
+ 't', 'b', 'i', 't', '_', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 't', 's',
+ 't', 'b', 'i', 't', '_', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v', 'a',
+ 'l', 'i', 'g', 'n', 'i', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v', 'a',
+ 'l', 'i', 'g', 'n', 'r', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v', 'c',
+ 'n', 'e', 'g', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v', 'c', 'r', 'o',
+ 't', 'a', 't', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v', 'r', 'c', 'n',
+ 'e', 'g', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v', 'r', 'n', 'd', 'p',
+ 'a', 'c', 'k', 'w', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v', 'r', 'n',
+ 'd', 'p', 'a', 'c', 'k', 'w', 'h', 's', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_',
+ 'v', 's', 'a', 't', 'h', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v', 's',
+ 'a', 't', 'h', 'b', '_', 'n', 'o', 'p', 'a', 'c', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'v', 's', 'a', 't', 'h', 'u', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '2', '_', 'v', 's', 'a', 't', 'h', 'u', 'b', '_', 'n', 'o', 'p', 'a', 'c',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v', 's', 'a', 't', 'w', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '2', '_', 'v', 's', 'a', 't', 'w', 'h', '_', 'n', 'o',
+ 'p', 'a', 'c', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v', 's', 'a', 't',
+ 'w', 'u', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v', 's', 'a', 't', 'w',
+ 'u', 'h', '_', 'n', 'o', 'p', 'a', 'c', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'v', 's', 'p', 'l', 'a', 't', 'r', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'v', 's', 'p', 'l', 'a', 't', 'r', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'v', 's', 'p', 'l', 'i', 'c', 'e', 'i', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '2', '_', 'v', 's', 'p', 'l', 'i', 'c', 'e', 'r', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '2', '_', 'v', 's', 'x', 't', 'b', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2',
+ '_', 'v', 's', 'x', 't', 'h', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v',
+ 't', 'r', 'u', 'n', 'e', 'h', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v',
+ 't', 'r', 'u', 'n', 'e', 'w', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v',
+ 't', 'r', 'u', 'n', 'o', 'h', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v',
+ 't', 'r', 'u', 'n', 'o', 'w', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v',
+ 'z', 'x', 't', 'b', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '2', '_', 'v', 'z', 'x',
+ 't', 'h', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 'a', 'd', 'd', 'a', 'd',
+ 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 'a', 'd', 'd', 'i', '_', 'a',
+ 's', 'l', '_', 'r', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 'a', 'd', 'd',
+ 'i', '_', 'l', 's', 'r', '_', 'r', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '4', '_',
+ 'a', 'n', 'd', 'i', '_', 'a', 's', 'l', '_', 'r', 'i', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '4', '_', 'a', 'n', 'd', 'i', '_', 'l', 's', 'r', '_', 'r', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '4', '_', 'c', 'l', 'b', 'a', 'd', 'd', 'i', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '4', '_', 'c', 'l', 'b', 'p', 'a', 'd', 'd', 'i', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '4', '_', 'c', 'l', 'b', 'p', 'n', 'o', 'r', 'm', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '4', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '4', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', '_', 'r', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '4', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '4', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', 'p', '_',
+ 'r', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 'l', 's', 'l', 'i', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '4', '_', 'n', 't', 's', 't', 'b', 'i', 't', '_', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '4', '_', 'n', 't', 's', 't', 'b', 'i', 't', '_', 'r',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'S', '4', '_', 'o', 'r', '_', 'a', 'n', 'd', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '4', '_', 'o', 'r', '_', 'a', 'n', 'd', 'i', 'x', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '4', '_', 'o', 'r', '_', 'o', 'r', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '4', '_', 'o', 'r', 'i', '_', 'a', 's', 'l', '_', 'r', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '4', '_', 'o', 'r', 'i', '_', 'l', 's', 'r', '_', 'r',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 'p', 'a', 'r', 'i', 't', 'y', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '4', '_', 's', 't', 'o', 'r', 'e', 'd', '_', 'l', 'o',
+ 'c', 'k', 'e', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 's', 'u', 'b', 'a',
+ 'd', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 's', 'u', 'b', 'i', '_',
+ 'a', 's', 'l', '_', 'r', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 's', 'u',
+ 'b', 'i', '_', 'l', 's', 'r', '_', 'r', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '4',
+ '_', 'v', 'r', 'c', 'r', 'o', 't', 'a', 't', 'e', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '4', '_', 'v', 'r', 'c', 'r', 'o', 't', 'a', 't', 'e', '_', 'a', 'c', 'c',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'S', '4', '_', 'v', 'x', 'a', 'd', 'd', 's', 'u', 'b',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 'v', 'x', 'a', 'd', 'd', 's', 'u',
+ 'b', 'h', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 'v', 'x', 'a', 'd', 'd',
+ 's', 'u', 'b', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 'v', 'x', 's', 'u',
+ 'b', 'a', 'd', 'd', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 'v', 'x', 's',
+ 'u', 'b', 'a', 'd', 'd', 'h', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '4', '_', 'v',
+ 'x', 's', 'u', 'b', 'a', 'd', 'd', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '5', '_',
+ 'a', 's', 'r', 'h', 'u', 'b', '_', 'r', 'n', 'd', '_', 's', 'a', 't', '_',
+ 'g', 'o', 'o', 'd', 's', 'y', 'n', 't', 'a', 'x', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '5', '_', 'a', 's', 'r', 'h', 'u', 'b', '_', 's', 'a', 't', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '5', '_', 'p', 'o', 'p', 'c', 'o', 'u', 'n', 't', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '5', '_', 'v', 'a', 's', 'r', 'h', 'r', 'n', 'd', '_', 'g',
+ 'o', 'o', 'd', 's', 'y', 'n', 't', 'a', 'x', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '6',
+ '_', 'r', 'o', 'l', '_', 'i', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '6', '_',
+ 'r', 'o', 'l', '_', 'i', '_', 'p', '_', 'a', 'c', 'c', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'S', '6', '_', 'r', 'o', 'l', '_', 'i', '_', 'p', '_', 'a', 'n', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'S', '6', '_', 'r', 'o', 'l', '_', 'i', '_', 'p', '_', 'n',
+ 'a', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'S', '6', '_', 'r', 'o', 'l', '_', 'i', '_',
+ 'p', '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '6', '_', 'r', 'o', 'l', '_',
+ 'i', '_', 'p', '_', 'x', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '6', '_',
+ 'r', 'o', 'l', '_', 'i', '_', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '6', '_', 'r',
+ 'o', 'l', '_', 'i', '_', 'r', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S',
+ '6', '_', 'r', 'o', 'l', '_', 'i', '_', 'r', '_', 'a', 'n', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'S', '6', '_', 'r', 'o', 'l', '_', 'i', '_', 'r', '_', 'n', 'a',
+ 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'S', '6', '_', 'r', 'o', 'l', '_', 'i', '_', 'r',
+ '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '6', '_', 'r', 'o', 'l', '_', 'i',
+ '_', 'r', '_', 'x', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '6', '_', 'v',
+ 's', 'p', 'l', 'a', 't', 'r', 'b', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'S', '6', '_',
+ 'v', 't', 'r', 'u', 'n', 'e', 'h', 'b', '_', 'p', 'p', 'p', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'S', '6', '_', 'v', 't', 'r', 'u', 'n', 'o', 'h', 'b', '_', 'p', 'p',
+ 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'S', 'I', '_',
+ 't', 'o', '_', 'S', 'X', 'T', 'H', 'I', '_', 'a', 's', 'r', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', 'w', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'h', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'h', 'i', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'l', 'o', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'l', 'o', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'l', 'v', 's', 'p',
+ 'l', 'a', 't', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'l', 'v', 's', 'p',
+ 'l', 'a', 't', 'w', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'p', 'r', 'e', 'd', '_', 'a', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'p', 'r', 'e', 'd', '_', 'a', 'n', 'd', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'p', 'r', 'e', 'd', '_', 'a', 'n', 'd', '_',
+ 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'p', 'r', 'e', 'd', '_', 'a', 'n',
+ 'd', '_', 'n', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'p', 'r', 'e', 'd', '_', 'n', 'o', 't', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'p', 'r', 'e', 'd', '_', 'n', 'o', 't', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'p', 'r', 'e', 'd', '_', 'o', 'r', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'p', 'r', 'e', 'd', '_', 'o', 'r', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'p', 'r', 'e', 'd', '_', 'o', 'r',
+ '_', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'p', 'r', 'e', 'd', '_', 'o',
+ 'r', '_', 'n', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'p', 'r', 'e', 'd', '_', 's', 'c', 'a', 'l', 'a', 'r', '2', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'p', 'r', 'e', 'd', '_', 's', 'c', 'a', 'l', 'a', 'r',
+ '2', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'p', 'r',
+ 'e', 'd', '_', 'x', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'p', 'r',
+ 'e', 'd', '_', 'x', 'o', 'r', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'a', 'b', 's', 'd', 'i', 'f', 'f', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'a', 'b', 's', 'd', 'i', 'f', 'f', 'h', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'b', 's', 'd',
+ 'i', 'f', 'f', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'b',
+ 's', 'd', 'i', 'f', 'f', 'u', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'a', 'b', 's', 'd', 'i', 'f', 'f', 'u', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'b', 's', 'd', 'i', 'f', 'f', 'u',
+ 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a',
+ 'b', 's', 'd', 'i', 'f', 'f', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'a', 'b', 's', 'd', 'i', 'f', 'f', 'w', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'a', 'b', 's', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'a', 'b', 's', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'a', 'b', 's', 'h', '_', 's', 'a', 't', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'a', 'b', 's', 'h', '_', 's', 'a', 't', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'b', 's',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'b', 's', 'w', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'b', 's', 'w',
+ '_', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'b', 's',
+ 'w', '_', 's', 'a', 't', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'a', 'd', 'd', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'a', 'd', 'd', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'a', 'd', 'd', 'b', '_', 'd', 'v', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'a', 'd', 'd', 'b', '_', 'd', 'v', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'b', 'n', 'q', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'b', 'n', 'q', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'b', 'q',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'b', 'q', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'h', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'h', '_',
+ 'd', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'h', '_',
+ 'd', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'a', 'd', 'd', 'h', 'n', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a',
+ 'd', 'd', 'h', 'n', 'q', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'a', 'd', 'd', 'h', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'a', 'd', 'd', 'h', 'q', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'a', 'd', 'd', 'h', 's', 'a', 't', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'a', 'd', 'd', 'h', 's', 'a', 't', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'h', 's', 'a',
+ 't', '_', 'd', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd',
+ 'h', 's', 'a', 't', '_', 'd', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'h', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'a', 'd', 'd', 'h', 'w', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'u', 'b', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'u', 'b', 'h', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'u', 'b', 's',
+ 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'u', 'b',
+ 's', 'a', 't', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'a', 'd', 'd', 'u', 'b', 's', 'a', 't', '_', 'd', 'v', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'u', 'b', 's', 'a', 't', '_', 'd',
+ 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a',
+ 'd', 'd', 'u', 'h', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'a', 'd', 'd', 'u', 'h', 's', 'a', 't', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'u', 'h', 's', 'a', 't', '_',
+ 'd', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'u', 'h',
+ 's', 'a', 't', '_', 'd', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'a', 'd', 'd', 'u', 'h', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'a', 'd', 'd', 'u', 'h', 'w', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'a', 'd', 'd', 'w', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'w', '_', 'd', 'v', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'w', '_', 'd', 'v', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'w',
+ 'n', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'w', 'n',
+ 'q', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a',
+ 'd', 'd', 'w', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd',
+ 'w', 'q', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'a', 'd', 'd', 'w', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'a', 'd', 'd', 'w', 's', 'a', 't', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'w', 's', 'a', 't', '_', 'd', 'v',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'd', 'd', 'w', 's', 'a', 't',
+ '_', 'd', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'a', 'l', 'i', 'g', 'n', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'a', 'l', 'i', 'g', 'n', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'a', 'l', 'i', 'g', 'n', 'b', 'i', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'a', 'l', 'i', 'g', 'n', 'b', 'i', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'n', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'a', 'n', 'd', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'a', 'n', 'd', 'q', 'r', 't', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'a', 'n', 'd', 'q', 'r', 't', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'n', 'd', 'q', 'r', 't',
+ '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'n', 'd',
+ 'q', 'r', 't', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'a', 'n', 'd', 'v', 'r', 't', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'a', 'n', 'd', 'v', 'r', 't', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'n', 'd', 'v', 'r', 't', '_',
+ 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'n', 'd', 'v',
+ 'r', 't', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'a', 's', 'l', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'a', 's', 'l', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'a', 's', 'l', 'h', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'a', 's', 'l', 'h', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'a', 's', 'l', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'a', 's', 'l', 'w', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'a', 's', 'l', 'w', '_', 'a', 'c', 'c', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'a', 's', 'l', 'w', '_', 'a', 'c', 'c', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'l', 'w', 'v',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'l', 'w', 'v', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'h', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'h', 'b',
+ 'r', 'n', 'd', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a',
+ 's', 'r', 'h', 'b', 'r', 'n', 'd', 's', 'a', 't', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'h', 'u', 'b', 'r',
+ 'n', 'd', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's',
+ 'r', 'h', 'u', 'b', 'r', 'n', 'd', 's', 'a', 't', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'h', 'u', 'b', 's',
+ 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'h', 'u',
+ 'b', 's', 'a', 't', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'a', 's', 'r', 'h', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'a', 's', 'r', 'h', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'a', 's', 'r', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'a', 's', 'r', 'w', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'a', 's', 'r', 'w', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'a', 's', 'r', 'w', '_', 'a', 'c', 'c', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'w', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'w', 'h', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'w', 'h',
+ 'r', 'n', 'd', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a',
+ 's', 'r', 'w', 'h', 'r', 'n', 'd', 's', 'a', 't', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'w', 'h', 's', 'a',
+ 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'w', 'h', 's',
+ 'a', 't', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'a', 's', 'r', 'w', 'u', 'h', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'a', 's', 'r', 'w', 'u', 'h', 's', 'a', 't', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'w', 'v', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 'r', 'w', 'v', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 's', 'i', 'g',
+ 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's', 's', 'i', 'g', 'n',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's',
+ 's', 'i', 'g', 'n', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 's',
+ 's', 'i', 'g', 'n', 'p', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'a', 'v', 'g', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'a', 'v', 'g', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'a', 'v', 'g', 'h', 'r', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'a', 'v', 'g', 'h', 'r', 'n', 'd', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'v', 'g', 'u', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'a', 'v', 'g', 'u', 'b', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'v', 'g', 'u', 'b', 'r', 'n',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'v', 'g', 'u', 'b', 'r',
+ 'n', 'd', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'a', 'v', 'g', 'u', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'v',
+ 'g', 'u', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'a', 'v', 'g', 'u', 'h', 'r', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'a', 'v', 'g', 'u', 'h', 'r', 'n', 'd', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'v', 'g', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'a', 'v', 'g', 'w', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'v', 'g', 'w', 'r', 'n', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'a', 'v', 'g', 'w', 'r', 'n', 'd', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'c', 'l', '0',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'c', 'l', '0', 'h', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'c', 'l', '0', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'c', 'l', '0', 'w', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'c', 'o', 'm', 'b', 'i',
+ 'n', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'c', 'o', 'm', 'b', 'i',
+ 'n', 'e', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'd', '0', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', '0', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'e', 'a', 'l', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'e', 'a', 'l', 'b', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'e', 'a', 'l',
+ 'b', '4', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'e', 'a', 'l',
+ 'b', '4', 'w', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'd', 'e', 'a', 'l', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd',
+ 'e', 'a', 'l', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'd', 'e', 'a', 'l', 'v', 'd', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'd', 'e', 'a', 'l', 'v', 'd', 'd', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'e', 'l', 't', 'a', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'd', 'e', 'l', 't', 'a', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'b', 'u', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'b', 'u', 's',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm',
+ 'p', 'y', 'b', 'u', 's', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'd', 'm', 'p', 'y', 'b', 'u', 's', '_', 'a', 'c', 'c', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y',
+ 'b', 'u', 's', '_', 'd', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd',
+ 'm', 'p', 'y', 'b', 'u', 's', '_', 'd', 'v', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'b', 'u', 's', '_',
+ 'd', 'v', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd',
+ 'm', 'p', 'y', 'b', 'u', 's', '_', 'd', 'v', '_', 'a', 'c', 'c', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y',
+ 'h', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'h',
+ 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd',
+ 'm', 'p', 'y', 'h', 'b', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'd', 'm', 'p', 'y', 'h', 'b', '_', 'a', 'c', 'c', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'h',
+ 'b', '_', 'd', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p',
+ 'y', 'h', 'b', '_', 'd', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'h', 'b', '_', 'd', 'v', '_', 'a',
+ 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'h',
+ 'b', '_', 'd', 'v', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'h', 'i', 's', 'a', 't',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'h', 'i', 's',
+ 'a', 't', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'd', 'm', 'p', 'y', 'h', 'i', 's', 'a', 't', '_', 'a', 'c', 'c', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'h', 'i', 's', 'a', 't',
+ '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'd', 'm', 'p', 'y', 'h', 's', 'a', 't', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'd', 'm', 'p', 'y', 'h', 's', 'a', 't', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'h', 's',
+ 'a', 't', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd',
+ 'm', 'p', 'y', 'h', 's', 'a', 't', '_', 'a', 'c', 'c', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'h', 's',
+ 'u', 'i', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm',
+ 'p', 'y', 'h', 's', 'u', 'i', 's', 'a', 't', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'h', 's', 'u', 'i',
+ 's', 'a', 't', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'd', 'm', 'p', 'y', 'h', 's', 'u', 'i', 's', 'a', 't', '_', 'a', 'c', 'c',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm',
+ 'p', 'y', 'h', 's', 'u', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'd', 'm', 'p', 'y', 'h', 's', 'u', 's', 'a', 't', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'h', 's',
+ 'u', 's', 'a', 't', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'd', 'm', 'p', 'y', 'h', 's', 'u', 's', 'a', 't', '_', 'a', 'c', 'c',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm',
+ 'p', 'y', 'h', 'v', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'd', 'm', 'p', 'y', 'h', 'v', 's', 'a', 't', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm', 'p', 'y', 'h', 'v', 's', 'a',
+ 't', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 'm',
+ 'p', 'y', 'h', 'v', 's', 'a', 't', '_', 'a', 'c', 'c', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 's', 'a', 'd', 'u', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 's', 'a', 'd', 'u', 'h', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'd', 's', 'a',
+ 'd', 'u', 'h', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'd', 's', 'a', 'd', 'u', 'h', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e', 'q', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'e', 'q', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'e', 'q', 'b', '_', 'a', 'n', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'e', 'q', 'b', '_', 'a', 'n', 'd', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e', 'q', 'b', '_', 'o',
+ 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e', 'q', 'b', '_', 'o', 'r',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e', 'q',
+ 'b', '_', 'x', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e', 'q',
+ 'b', '_', 'x', 'o', 'r', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'e', 'q', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e',
+ 'q', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'e', 'q', 'h', '_', 'a', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'e', 'q', 'h', '_', 'a', 'n', 'd', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'e', 'q', 'h', '_', 'o', 'r', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'e', 'q', 'h', '_', 'o', 'r', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e', 'q', 'h', '_', 'x', 'o', 'r',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e', 'q', 'h', '_', 'x', 'o', 'r',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e', 'q',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e', 'q', 'w', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e', 'q', 'w', '_', 'a',
+ 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e', 'q', 'w', '_', 'a',
+ 'n', 'd', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'e', 'q', 'w', '_', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'e',
+ 'q', 'w', '_', 'o', 'r', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'e', 'q', 'w', '_', 'x', 'o', 'r', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'e', 'q', 'w', '_', 'x', 'o', 'r', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'g', 't', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'g', 't', 'b', '_', 'a', 'n', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'g', 't', 'b', '_', 'a', 'n', 'd', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'b', '_', 'o',
+ 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'b', '_', 'o', 'r',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't',
+ 'b', '_', 'x', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't',
+ 'b', '_', 'x', 'o', 'r', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'g', 't', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g',
+ 't', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'g', 't', 'h', '_', 'a', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'g', 't', 'h', '_', 'a', 'n', 'd', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'g', 't', 'h', '_', 'o', 'r', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'g', 't', 'h', '_', 'o', 'r', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'h', '_', 'x', 'o', 'r',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'h', '_', 'x', 'o', 'r',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't',
+ 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'u', 'b', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'u',
+ 'b', '_', 'a', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't',
+ 'u', 'b', '_', 'a', 'n', 'd', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'g', 't', 'u', 'b', '_', 'o', 'r', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'g', 't', 'u', 'b', '_', 'o', 'r', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'u', 'b', '_', 'x',
+ 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'u', 'b', '_',
+ 'x', 'o', 'r', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'g', 't', 'u', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't',
+ 'u', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'g', 't', 'u', 'h', '_', 'a', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'g', 't', 'u', 'h', '_', 'a', 'n', 'd', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'u', 'h', '_', 'o', 'r', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'u', 'h', '_', 'o', 'r', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'u',
+ 'h', '_', 'x', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't',
+ 'u', 'h', '_', 'x', 'o', 'r', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'g', 't', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'g', 't', 'u', 'w', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'g', 't', 'u', 'w', '_', 'a', 'n', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'g', 't', 'u', 'w', '_', 'a', 'n', 'd', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'u', 'w', '_',
+ 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'u', 'w', '_',
+ 'o', 'r', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'g', 't', 'u', 'w', '_', 'x', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'g', 't', 'u', 'w', '_', 'x', 'o', 'r', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'g', 't', 'w', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'g', 't', 'w', '_', 'a', 'n', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'g', 't', 'w', '_', 'a', 'n', 'd', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'w', '_', 'o', 'r',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'w', '_', 'o', 'r', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'w',
+ '_', 'x', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'g', 't', 'w',
+ '_', 'x', 'o', 'r', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'i', 'n', 's', 'e', 'r', 't', 'w', 'r', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'i', 'n', 's', 'e', 'r', 't', 'w', 'r', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'l', 'a', 'l', 'i', 'g', 'n',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'l', 'a', 'l', 'i', 'g', 'n',
+ 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'l',
+ 'a', 'l', 'i', 'g', 'n', 'b', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'l', 'a', 'l', 'i', 'g', 'n', 'b', 'i', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'l', 's', 'r', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'l', 's', 'r', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'l', 's', 'r', 'h', 'v', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'l', 's', 'r', 'h', 'v', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'l', 's', 'r', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'l', 's', 'r', 'w', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'l', 's', 'r', 'w', 'v', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'l', 's', 'r', 'w', 'v', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'l', 'u', 't', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'l', 'u', 't', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'l', 'u', 't', 'b', '_', 'a', 'c', 'c', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'l', 'u', 't', 'b', '_', 'a', 'c', 'c', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'l', 'u', 't',
+ 'b', '_', 'd', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'l', 'u', 't',
+ 'b', '_', 'd', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'l', 'u', 't', 'b', '_', 'd', 'v', '_', 'a', 'c', 'c', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'l', 'u', 't', 'b', '_', 'd', 'v', '_', 'a',
+ 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'l', 'u', 't', 'v', 'v', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'l',
+ 'u', 't', 'v', 'v', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'l', 'u', 't', 'v', 'v', 'b', '_', 'o', 'r', 'a', 'c', 'c',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'l', 'u', 't', 'v', 'v', 'b', '_',
+ 'o', 'r', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'l', 'u', 't', 'v', 'w', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'l', 'u', 't', 'v', 'w', 'h', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'l', 'u', 't', 'v', 'w', 'h', '_', 'o', 'r',
+ 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'l', 'u', 't', 'v',
+ 'w', 'h', '_', 'o', 'r', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'm', 'a', 'x', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'm', 'a', 'x', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'm', 'a', 'x', 'u', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'm', 'a', 'x', 'u', 'b', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'm', 'a', 'x', 'u', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'm', 'a', 'x', 'u', 'h', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'a', 'x', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'm', 'a', 'x', 'w', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'm', 'i', 'n', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'm', 'i', 'n', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'm', 'i', 'n', 'u', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'm', 'i', 'n', 'u', 'b', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'm', 'i', 'n', 'u', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'm', 'i', 'n', 'u', 'h', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'i', 'n', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'm', 'i', 'n', 'w', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'a', 'b', 'u', 's', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'm', 'p', 'a', 'b', 'u', 's', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'a', 'b', 'u', 's',
+ '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'a',
+ 'b', 'u', 's', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'm', 'p', 'a', 'b', 'u', 's', 'v', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'm', 'p', 'a', 'b', 'u', 's', 'v', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'a', 'b', 'u',
+ 'u', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'a', 'b', 'u',
+ 'u', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'm', 'p', 'a', 'h', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p',
+ 'a', 'h', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'm', 'p', 'a', 'h', 'b', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'm', 'p', 'a', 'h', 'b', '_', 'a', 'c', 'c', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'b', 'u',
+ 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'b', 'u', 's',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p',
+ 'y', 'b', 'u', 's', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'm', 'p', 'y', 'b', 'u', 's', '_', 'a', 'c', 'c', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'b', 'u', 's',
+ 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'b', 'u', 's',
+ 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm',
+ 'p', 'y', 'b', 'u', 's', 'v', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'm', 'p', 'y', 'b', 'u', 's', 'v', '_', 'a', 'c', 'c', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y',
+ 'b', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'b', 'v',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p',
+ 'y', 'b', 'v', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'm', 'p', 'y', 'b', 'v', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'e', 'w', 'u', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'e', 'w', 'u', 'h', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'h', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'h',
+ 's', 'a', 't', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'm', 'p', 'y', 'h', 's', 'a', 't', '_', 'a', 'c', 'c', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'h', 's', 'r',
+ 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'h', 's', 'r',
+ 's', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm',
+ 'p', 'y', 'h', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p',
+ 'y', 'h', 's', 's', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'm', 'p', 'y', 'h', 'u', 's', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'm', 'p', 'y', 'h', 'u', 's', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'h', 'u', 's', '_', 'a', 'c', 'c',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'h', 'u', 's', '_',
+ 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'm', 'p', 'y', 'h', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm',
+ 'p', 'y', 'h', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'm', 'p', 'y', 'h', 'v', '_', 'a', 'c', 'c', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'm', 'p', 'y', 'h', 'v', '_', 'a', 'c', 'c', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'h',
+ 'v', 's', 'r', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y',
+ 'h', 'v', 's', 'r', 's', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'm', 'p', 'y', 'i', 'e', 'o', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'm', 'p', 'y', 'i', 'e', 'o', 'h', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'i', 'e', 'w', 'h',
+ '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y',
+ 'i', 'e', 'w', 'h', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'i', 'e', 'w', 'u', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'i', 'e', 'w', 'u', 'h',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p',
+ 'y', 'i', 'e', 'w', 'u', 'h', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'm', 'p', 'y', 'i', 'e', 'w', 'u', 'h', '_', 'a', 'c', 'c',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p',
+ 'y', 'i', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'i',
+ 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm',
+ 'p', 'y', 'i', 'h', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'm', 'p', 'y', 'i', 'h', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'i', 'h', 'b', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'i', 'h', 'b', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'i',
+ 'h', 'b', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm',
+ 'p', 'y', 'i', 'h', 'b', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'i', 'o', 'w', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'i', 'o', 'w', 'h', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y',
+ 'i', 'w', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'i',
+ 'w', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'm', 'p', 'y', 'i', 'w', 'b', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'm', 'p', 'y', 'i', 'w', 'b', '_', 'a', 'c', 'c', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'i',
+ 'w', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'i', 'w',
+ 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm',
+ 'p', 'y', 'i', 'w', 'h', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'm', 'p', 'y', 'i', 'w', 'h', '_', 'a', 'c', 'c', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'o', 'w',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'o', 'w', 'h',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p',
+ 'y', 'o', 'w', 'h', '_', 'r', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'm', 'p', 'y', 'o', 'w', 'h', '_', 'r', 'n', 'd', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'o', 'w', 'h',
+ '_', 'r', 'n', 'd', '_', 's', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'm', 'p', 'y', 'o', 'w', 'h', '_', 'r', 'n', 'd', '_', 's', 'a',
+ 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'm', 'p', 'y', 'o', 'w', 'h', '_', 's', 'a', 'c', 'c', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'm', 'p', 'y', 'o', 'w', 'h', '_', 's', 'a', 'c', 'c',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p',
+ 'y', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'u',
+ 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm',
+ 'p', 'y', 'u', 'b', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'm', 'p', 'y', 'u', 'b', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'u', 'b', 'v', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'u', 'b', 'v', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'u',
+ 'b', 'v', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm',
+ 'p', 'y', 'u', 'b', 'v', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'u', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'u', 'h', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'u', 'h', '_', 'a',
+ 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'u', 'h',
+ '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'm', 'p', 'y', 'u', 'h', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'm', 'p', 'y', 'u', 'h', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'u', 'h', 'v', '_', 'a', 'c', 'c',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'p', 'y', 'u', 'h', 'v', '_',
+ 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'm', 'u', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'm', 'u', 'x',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'n', 'a',
+ 'v', 'g', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'n', 'a', 'v', 'g',
+ 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'n',
+ 'a', 'v', 'g', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'n', 'a',
+ 'v', 'g', 'u', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'n', 'a', 'v', 'g', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'n', 'a', 'v', 'g', 'w', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'n', 'o', 'r', 'm', 'a', 'm', 't', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'n', 'o', 'r', 'm', 'a', 'm', 't', 'h', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'n', 'o', 'r', 'm', 'a',
+ 'm', 't', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'n', 'o', 'r', 'm',
+ 'a', 'm', 't', 'w', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'n', 'o', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'n', 'o',
+ 't', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'o',
+ 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'o', 'r', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'p', 'a', 'c', 'k', 'e', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'p', 'a', 'c', 'k', 'e', 'b', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'p', 'a', 'c',
+ 'k', 'e', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'p', 'a', 'c', 'k',
+ 'e', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'p', 'a', 'c', 'k', 'h', 'b', '_', 's', 'a', 't', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'p', 'a', 'c', 'k', 'h', 'b', '_', 's', 'a', 't', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'p', 'a', 'c', 'k',
+ 'h', 'u', 'b', '_', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'p', 'a', 'c', 'k', 'h', 'u', 'b', '_', 's', 'a', 't', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'p', 'a', 'c', 'k', 'o', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'p', 'a', 'c', 'k', 'o', 'b', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'p', 'a', 'c',
+ 'k', 'o', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'p', 'a', 'c', 'k',
+ 'o', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'p', 'a', 'c', 'k', 'w', 'h', '_', 's', 'a', 't', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'p', 'a', 'c', 'k', 'w', 'h', '_', 's', 'a', 't', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'p', 'a', 'c', 'k',
+ 'w', 'u', 'h', '_', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'p', 'a', 'c', 'k', 'w', 'u', 'h', '_', 's', 'a', 't', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'p', 'o', 'p', 'c', 'o', 'u',
+ 'n', 't', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'p', 'o', 'p', 'c',
+ 'o', 'u', 'n', 't', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'r', 'd', 'e', 'l', 't', 'a', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'r', 'd', 'e', 'l', 't', 'a', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'b', 'u', 's', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'b', 'u', 's', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y',
+ 'b', 'u', 's', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'r', 'm', 'p', 'y', 'b', 'u', 's', '_', 'a', 'c', 'c', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'b', 'u',
+ 's', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'b',
+ 'u', 's', 'i', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'r', 'm', 'p', 'y', 'b', 'u', 's', 'i', '_', 'a', 'c', 'c', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'b', 'u', 's', 'i', '_',
+ 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 'r', 'm', 'p', 'y', 'b', 'u', 's', 'v', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 'r', 'm', 'p', 'y', 'b', 'u', 's', 'v', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'b', 'u', 's',
+ 'v', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm',
+ 'p', 'y', 'b', 'u', 's', 'v', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'b', 'v', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'b', 'v', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y',
+ 'b', 'v', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r',
+ 'm', 'p', 'y', 'b', 'v', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'u', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'u', 'b', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'u',
+ 'b', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm',
+ 'p', 'y', 'u', 'b', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'u', 'b', 'i', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'u', 'b', 'i', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y',
+ 'u', 'b', 'i', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'r', 'm', 'p', 'y', 'u', 'b', 'i', '_', 'a', 'c', 'c', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'u', 'b',
+ 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'm', 'p', 'y', 'u', 'b',
+ 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r',
+ 'm', 'p', 'y', 'u', 'b', 'v', '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'r', 'm', 'p', 'y', 'u', 'b', 'v', '_', 'a', 'c', 'c', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'o', 'r',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'o', 'r', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'o', 'u', 'n', 'd', 'h',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'o', 'u', 'n', 'd', 'h',
+ 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r',
+ 'o', 'u', 'n', 'd', 'h', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 'r', 'o', 'u', 'n', 'd', 'h', 'u', 'b', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'r', 'o', 'u', 'n', 'd', 'w', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'r', 'o', 'u', 'n', 'd', 'w', 'h', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'o', 'u', 'n',
+ 'd', 'w', 'u', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 'o', 'u',
+ 'n', 'd', 'w', 'u', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'r', 's', 'a', 'd', 'u', 'b', 'i', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'r', 's', 'a', 'd', 'u', 'b', 'i', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 's', 'a', 'd', 'u', 'b', 'i',
+ '_', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'r', 's', 'a',
+ 'd', 'u', 'b', 'i', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 's', 'a', 't', 'h', 'u', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 's', 'a', 't', 'h', 'u', 'b', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'a', 't', 'w', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'a', 't', 'w', 'h', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 's', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 's', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 's', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 's', 'h', 'u', 'f', 'e', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's',
+ 'h', 'u', 'f', 'e', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 's', 'h', 'u', 'f', 'f', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 's', 'h', 'u', 'f', 'f', 'b', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 's', 'h', 'u', 'f', 'f', 'e', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 's', 'h', 'u', 'f', 'f', 'e', 'b', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'h', 'u', 'f',
+ 'f', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'h', 'u', 'f', 'f',
+ 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's',
+ 'h', 'u', 'f', 'f', 'o', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's',
+ 'h', 'u', 'f', 'f', 'o', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 's', 'h', 'u', 'f', 'f', 'v', 'd', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 's', 'h', 'u', 'f', 'f', 'v', 'd', 'd', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'h', 'u', 'f',
+ 'o', 'e', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'h', 'u', 'f',
+ 'o', 'e', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 's', 'h', 'u', 'f', 'o', 'e', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 's', 'h', 'u', 'f', 'o', 'e', 'h', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 's', 'h', 'u', 'f', 'o', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 's', 'h', 'u', 'f', 'o', 'h', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'b', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'b', '_', 'd', 'v',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'b', '_', 'd', 'v',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u',
+ 'b', 'b', 'n', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b',
+ 'b', 'n', 'q', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 's', 'u', 'b', 'b', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's',
+ 'u', 'b', 'b', 'q', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 's', 'u', 'b', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's',
+ 'u', 'b', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 's', 'u', 'b', 'h', '_', 'd', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 's', 'u', 'b', 'h', '_', 'd', 'v', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'h', 'n', 'q', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'h', 'n', 'q', '_', '1', '2', '8',
+ 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'h', 'q', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'h', 'q', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'h', 's',
+ 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'h', 's',
+ 'a', 't', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 's', 'u', 'b', 'h', 's', 'a', 't', '_', 'd', 'v', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 's', 'u', 'b', 'h', 's', 'a', 't', '_', 'd', 'v', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'h',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'h', 'w', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b',
+ 'u', 'b', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'u',
+ 'b', 'h', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v',
+ 's', 'u', 'b', 'u', 'b', 's', 'a', 't', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 's', 'u', 'b', 'u', 'b', 's', 'a', 't', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'u', 'b', 's', 'a', 't',
+ '_', 'd', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'u',
+ 'b', 's', 'a', 't', '_', 'd', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'u', 'h', 's', 'a', 't', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'u', 'h', 's', 'a', 't', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b',
+ 'u', 'h', 's', 'a', 't', '_', 'd', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 's', 'u', 'b', 'u', 'h', 's', 'a', 't', '_', 'd', 'v', '_', '1', '2',
+ '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'u', 'h',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'u', 'h', 'w',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u',
+ 'b', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'w', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b',
+ 'w', '_', 'd', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b',
+ 'w', '_', 'd', 'v', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6',
+ '_', 'v', 's', 'u', 'b', 'w', 'n', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 's', 'u', 'b', 'w', 'n', 'q', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'w', 'q', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 's', 'u', 'b', 'w', 'q', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'w', 's', 'a', 't', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'w', 's', 'a', 't', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'u', 'b', 'w',
+ 's', 'a', 't', '_', 'd', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 's',
+ 'u', 'b', 'w', 's', 'a', 't', '_', 'd', 'v', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 's', 'w', 'a', 'p', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 's', 'w', 'a', 'p', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 't', 'm', 'p', 'y', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 't', 'm', 'p', 'y', 'b', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 't', 'm', 'p', 'y', 'b', '_', 'a', 'c',
+ 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X',
+ 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 't', 'm', 'p', 'y', 'b', '_',
+ 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 't', 'm', 'p', 'y', 'b', 'u', 's', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_',
+ 'v', 't', 'm', 'p', 'y', 'b', 'u', 's', '_', '1', '2', '8', 'B', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 't', 'm', 'p', 'y', 'b', 'u', 's', '_', 'a',
+ 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 't', 'm', 'p', 'y', 'b',
+ 'u', 's', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 't', 'm', 'p', 'y', 'h', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 't', 'm', 'p', 'y', 'h', 'b', '_', '1', '2', '8', 'B', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 't', 'm', 'p', 'y', 'h', 'b', '_', 'a',
+ 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E',
+ 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 't', 'm', 'p', 'y', 'h',
+ 'b', '_', 'a', 'c', 'c', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'u', 'n', 'p', 'a', 'c', 'k', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'u', 'n', 'p', 'a', 'c', 'k', 'b', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'u', 'n', 'p', 'a', 'c', 'k', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'u', 'n', 'p', 'a', 'c', 'k', 'h',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'u', 'n',
+ 'p', 'a', 'c', 'k', 'o', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'u',
+ 'n', 'p', 'a', 'c', 'k', 'o', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'u', 'n', 'p', 'a', 'c', 'k', 'o', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O',
+ 'N', '_', 'V', '6', '_', 'v', 'u', 'n', 'p', 'a', 'c', 'k', 'o', 'h', '_',
+ '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'u', 'n', 'p',
+ 'a', 'c', 'k', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'u', 'n',
+ 'p', 'a', 'c', 'k', 'u', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_',
+ 'V', '6', '_', 'v', 'u', 'n', 'p', 'a', 'c', 'k', 'u', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N',
+ '_', 'V', '6', '_', 'v', 'u', 'n', 'p', 'a', 'c', 'k', 'u', 'h', '_', '1',
+ '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H',
+ 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'x', 'o', 'r', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G',
+ 'O', 'N', '_', 'V', '6', '_', 'v', 'x', 'o', 'r', '_', '1', '2', '8', 'B',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A',
+ 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'z', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'z', 'b', '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V',
+ '6', '_', 'v', 'z', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'V', '6', '_', 'v', 'z', 'h',
+ '_', '1', '2', '8', 'B', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'b', 'r', 'e', 'v', '_', 'l', 'd', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'b', 'r', 'e', 'v', '_', 'l', 'd', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'b', 'r', 'e', 'v', '_', 'l',
+ 'd', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'b', 'r',
+ 'e', 'v', '_', 'l', 'd', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'b', 'r', 'e', 'v', '_', 'l', 'd', 'u', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'b', 'r', 'e', 'v', '_', 'l', 'd',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'b', 'r', 'e',
+ 'v', '_', 's', 't', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'b', 'r', 'e', 'v', '_', 's', 't', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'b', 'r', 'e', 'v', '_', 's', 't', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'b', 'r', 'e', 'v', '_', 's',
+ 't', 'h', 'h', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'b', 'r', 'e', 'v', '_', 's', 't', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'c', 'i', 'r', 'c', '_', 'l', 'd', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'c', 'i', 'r', 'c', '_', 'l', 'd',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'c', 'i', 'r',
+ 'c', '_', 'l', 'd', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'c', 'i', 'r', 'c', '_', 'l', 'd', 'u', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'c', 'i', 'r', 'c', '_', 'l', 'd', 'u', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'c', 'i', 'r', 'c',
+ '_', 'l', 'd', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'c', 'i', 'r', 'c', '_', 's', 't', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'c', 'i', 'r', 'c', '_', 's', 't', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'c', 'i', 'r', 'c', '_', 's', 't',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'c', 'i', 'r',
+ 'c', '_', 's', 't', 'h', 'h', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'c', 'i', 'r', 'c', '_', 's', 't', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', '_', 'm', 'm', '2', '5', '6', 'i', '_',
+ 'v', 'a', 'd', 'd', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'H', 'E', 'X', 'A', 'G', 'O', 'N', '_', 'p', 'r', 'e', 'f', 'e', 't',
+ 'c', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 'a', 'b', 's', 'q', '_', 's', '_', 'p', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'a', 'b',
+ 's', 'q', '_', 's', '_', 'q', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'a', 'b', 's', 'q', '_', 's', '_',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'a', 'd', 'd', '_', 'a', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'd', 'd', '_', 'a', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'a', 'd', 'd', '_', 'a', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'd', 'd', '_', 'a', '_', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_',
+ 'a', 'd', 'd', 'q', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'a', 'd', 'd', 'q', '_', 's', '_',
+ 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 'a', 'd', 'd', 'q', '_', 's', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'a', 'd', 'd',
+ 'q', 'h', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 'i', 'p', 's', '_', 'a', 'd', 'd', 'q', 'h', '_', 'r', '_', 'p',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 'a', 'd', 'd', 'q', 'h', '_', 'r', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'a', 'd', 'd',
+ 'q', 'h', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'a', 'd', 'd', 's', '_', 'a', '_', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'd', 'd',
+ 's', '_', 'a', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'a', 'd', 'd', 's', '_', 'a', '_', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'd',
+ 'd', 's', '_', 'a', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'a', 'd', 'd', 's', '_', 's', '_', 'b', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a',
+ 'd', 'd', 's', '_', 's', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'd', 'd', 's', '_', 's', '_', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'a', 'd', 'd', 's', '_', 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'd', 'd', 's', '_', 'u', '_',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'a', 'd', 'd', 's', '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'd', 'd', 's', '_', 'u',
+ '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'a', 'd', 'd', 's', '_', 'u', '_', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'a', 'd', 'd', 's',
+ 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 'a', 'd', 'd', 'u', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'a', 'd', 'd', 'u', '_',
+ 'q', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 'a', 'd', 'd', 'u', '_', 's', '_', 'p', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'a', 'd',
+ 'd', 'u', '_', 's', '_', 'q', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'a', 'd', 'd', 'u', 'h', '_', 'q',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 'a', 'd', 'd', 'u', 'h', '_', 'r', '_', 'q', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'd', 'd',
+ 'v', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'a', 'd', 'd', 'v', '_', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'd', 'd', 'v', '_', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'a', 'd', 'd', 'v', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'a', 'd', 'd', 'v', 'i', '_', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'd',
+ 'd', 'v', 'i', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'a', 'd', 'd', 'v', 'i', '_', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'd', 'd',
+ 'v', 'i', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 'i', 'p', 's', '_', 'a', 'd', 'd', 'w', 'c', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'n', 'd', '_', 'v',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'a', 'n', 'd', 'i', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 'i', 'p', 's', '_', 'a', 'p', 'p', 'e', 'n', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 's',
+ 'u', 'b', '_', 's', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'a', 's', 'u', 'b', '_', 's', '_', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a',
+ 's', 'u', 'b', '_', 's', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 's', 'u', 'b', '_', 's', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'a', 's', 'u', 'b', '_', 'u', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 's', 'u', 'b', '_', 'u', '_',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'a', 's', 'u', 'b', '_', 'u', '_', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 's', 'u', 'b', '_', 'u',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'a', 'v', 'e', '_', 's', '_', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'v', 'e', '_', 's', '_',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'a', 'v', 'e', '_', 's', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'v', 'e', '_', 's', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'a', 'v', 'e', '_', 'u', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'v', 'e', '_', 'u', '_', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a',
+ 'v', 'e', '_', 'u', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'a', 'v', 'e', '_', 'u', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'v',
+ 'e', 'r', '_', 's', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'a', 'v', 'e', 'r', '_', 's', '_', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a',
+ 'v', 'e', 'r', '_', 's', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'v', 'e', 'r', '_', 's', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'a', 'v', 'e', 'r', '_', 'u', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'v', 'e', 'r', '_', 'u', '_',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'a', 'v', 'e', 'r', '_', 'u', '_', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'a', 'v', 'e', 'r', '_', 'u',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 'b', 'a', 'l', 'i', 'g', 'n', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'c', 'l', 'r', '_', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'b', 'c', 'l', 'r', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'b', 'c', 'l', 'r', '_', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'c', 'l',
+ 'r', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'b', 'c', 'l', 'r', 'i', '_', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'c', 'l', 'r', 'i',
+ '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'b', 'c', 'l', 'r', 'i', '_', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'c', 'l', 'r', 'i', '_',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'b', 'i', 'n', 's', 'l', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'i', 'n', 's', 'l', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'b', 'i', 'n', 's', 'l', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'i', 'n', 's', 'l', '_', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b',
+ 'i', 'n', 's', 'l', 'i', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'i', 'n', 's', 'l', 'i', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'b', 'i', 'n', 's', 'l', 'i', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'i', 'n', 's', 'l', 'i', '_',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'b', 'i', 'n', 's', 'r', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'i', 'n', 's', 'r', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'b', 'i', 'n', 's', 'r', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'i', 'n', 's', 'r', '_', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b',
+ 'i', 'n', 's', 'r', 'i', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'i', 'n', 's', 'r', 'i', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'b', 'i', 'n', 's', 'r', 'i', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'i', 'n', 's', 'r', 'i', '_',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 'b', 'i', 't', 'r', 'e', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'm', 'n', 'z', '_', 'v', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b',
+ 'm', 'n', 'z', 'i', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'b', 'm', 'z', '_', 'v', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'm', 'z', 'i',
+ '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'b', 'n', 'e', 'g', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'n', 'e', 'g', '_', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b',
+ 'n', 'e', 'g', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'b', 'n', 'e', 'g', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'n', 'e', 'g',
+ 'i', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'b', 'n', 'e', 'g', 'i', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'n', 'e', 'g', 'i',
+ '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'b', 'n', 'e', 'g', 'i', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'n', 'z', '_', 'b', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b',
+ 'n', 'z', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'b', 'n', 'z', '_', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'n', 'z', '_', 'v', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b',
+ 'n', 'z', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 'i', 'p', 's', '_', 'b', 'p', 'o', 's', 'g', 'e', '3', '2', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 's',
+ 'e', 'l', '_', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'b', 's', 'e', 'l', 'i', '_', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 's', 'e', 't',
+ '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'b', 's', 'e', 't', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 's', 'e', 't', '_', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b',
+ 's', 'e', 't', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'b', 's', 'e', 't', 'i', '_', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 's', 'e',
+ 't', 'i', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'b', 's', 'e', 't', 'i', '_', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 's', 'e', 't',
+ 'i', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'b', 'z', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'z', '_', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'b', 'z', '_', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'b', 'z', '_', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'b', 'z', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'e', 'q', '_', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'e',
+ 'q', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'c', 'e', 'q', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'e', 'q', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'e',
+ 'q', 'i', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'c', 'e', 'q', 'i', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'e', 'q', 'i', '_',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'c', 'e', 'q', 'i', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'f', 'c', 'm', 's', 'a', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l',
+ 'e', '_', 's', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'c', 'l', 'e', '_', 's', '_', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 'e',
+ '_', 's', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'c', 'l', 'e', '_', 's', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 'e', '_',
+ 'u', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'c', 'l', 'e', '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 'e', '_', 'u',
+ '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'c', 'l', 'e', '_', 'u', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 'e', 'i', '_', 's',
+ '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'c', 'l', 'e', 'i', '_', 's', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 'e', 'i', '_',
+ 's', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'c', 'l', 'e', 'i', '_', 's', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 'e', 'i',
+ '_', 'u', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'c', 'l', 'e', 'i', '_', 'u', '_', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 'e',
+ 'i', '_', 'u', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'c', 'l', 'e', 'i', '_', 'u', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l',
+ 't', '_', 's', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'c', 'l', 't', '_', 's', '_', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 't',
+ '_', 's', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'c', 'l', 't', '_', 's', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 't', '_',
+ 'u', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'c', 'l', 't', '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 't', '_', 'u',
+ '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'c', 'l', 't', '_', 'u', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 't', 'i', '_', 's',
+ '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'c', 'l', 't', 'i', '_', 's', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 't', 'i', '_',
+ 's', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'c', 'l', 't', 'i', '_', 's', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 't', 'i',
+ '_', 'u', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'c', 'l', 't', 'i', '_', 'u', '_', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'l', 't',
+ 'i', '_', 'u', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'c', 'l', 't', 'i', '_', 'u', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'c',
+ 'm', 'p', '_', 'e', 'q', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'c', 'm', 'p', '_', 'l', 'e',
+ '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 'i', 'p', 's', '_', 'c', 'm', 'p', '_', 'l', 't', '_', 'p', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'c',
+ 'm', 'p', 'g', 'd', 'u', '_', 'e', 'q', '_', 'q', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'c', 'm', 'p',
+ 'g', 'd', 'u', '_', 'l', 'e', '_', 'q', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'c', 'm', 'p', 'g', 'd',
+ 'u', '_', 'l', 't', '_', 'q', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'c', 'm', 'p', 'g', 'u', '_', 'e',
+ 'q', '_', 'q', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 'i', 'p', 's', '_', 'c', 'm', 'p', 'g', 'u', '_', 'l', 'e', '_', 'q',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 'c', 'm', 'p', 'g', 'u', '_', 'l', 't', '_', 'q', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'c',
+ 'm', 'p', 'u', '_', 'e', 'q', '_', 'q', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'c', 'm', 'p', 'u', '_',
+ 'l', 'e', '_', 'q', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 'i', 'p', 's', '_', 'c', 'm', 'p', 'u', '_', 'l', 't', '_', 'q',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'c', 'o', 'p', 'y', '_', 's', '_', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'o', 'p', 'y', '_', 's',
+ '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'c', 'o', 'p', 'y', '_', 's', '_', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'o', 'p', 'y', '_',
+ 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'c', 'o', 'p', 'y', '_', 'u', '_', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'o', 'p', 'y',
+ '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'c', 'o', 'p', 'y', '_', 'u', '_', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'c', 'o', 'p',
+ 'y', '_', 'u', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'c', 't', 'c', 'm', 's', 'a', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'd', 'i', 'v', '_',
+ 's', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'd', 'i', 'v', '_', 's', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'd', 'i', 'v', '_', 's',
+ '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'd', 'i', 'v', '_', 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'd', 'i', 'v', '_', 'u', '_',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'd', 'i', 'v', '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'd', 'i', 'v', '_', 'u', '_', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'd', 'i', 'v', '_', 'u', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'd', 'l', 's', 'a', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'd', 'o', 't',
+ 'p', '_', 's', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'd', 'o', 't', 'p', '_', 's', '_', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'd', 'o',
+ 't', 'p', '_', 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'd', 'o', 't', 'p', '_', 'u', '_', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'd',
+ 'o', 't', 'p', '_', 'u', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'd', 'o', 't', 'p', '_', 'u', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's',
+ '_', 'd', 'p', 'a', '_', 'w', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'd', 'p', 'a', 'd', 'd', '_',
+ 's', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'd', 'p', 'a', 'd', 'd', '_', 's', '_', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'd', 'p', 'a',
+ 'd', 'd', '_', 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'd', 'p', 'a', 'd', 'd', '_', 'u', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'd', 'p', 'a', 'd', 'd', '_', 'u', '_', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'd', 'p', 'a', 'd', 'd', '_',
+ 'u', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 'i', 'p', 's', '_', 'd', 'p', 'a', 'q', '_', 's', '_', 'w', '_', 'p', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's',
+ '_', 'd', 'p', 'a', 'q', '_', 's', 'a', '_', 'l', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'd', 'p',
+ 'a', 'q', 'x', '_', 's', '_', 'w', '_', 'p', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'd', 'p', 'a', 'q',
+ 'x', '_', 's', 'a', '_', 'w', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'd', 'p', 'a', 'u', '_',
+ 'h', '_', 'q', 'b', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 'i', 'p', 's', '_', 'd', 'p', 'a', 'u', '_', 'h', '_', 'q', 'b',
+ 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 'd', 'p', 'a', 'x', '_', 'w', '_', 'p', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'd', 'p', 's',
+ '_', 'w', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 'i', 'p', 's', '_', 'd', 'p', 's', 'q', '_', 's', '_', 'w', '_',
+ 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 'd', 'p', 's', 'q', '_', 's', 'a', '_', 'l', '_', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_',
+ 'd', 'p', 's', 'q', 'x', '_', 's', '_', 'w', '_', 'p', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'd', 'p',
+ 's', 'q', 'x', '_', 's', 'a', '_', 'w', '_', 'p', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'd', 'p', 's',
+ 'u', '_', 'h', '_', 'q', 'b', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'd', 'p', 's', 'u', '_', 'h', '_',
+ 'q', 'b', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'd', 'p', 's', 'u', 'b', '_', 's', '_', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'd', 'p', 's',
+ 'u', 'b', '_', 's', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'd', 'p', 's', 'u', 'b', '_', 's', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'd', 'p', 's', 'u', 'b', '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'd', 'p', 's', 'u', 'b', '_',
+ 'u', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'd', 'p', 's', 'u', 'b', '_', 'u', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'd', 'p',
+ 's', 'x', '_', 'w', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'e', 'x', 't', 'p', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'e', 'x',
+ 't', 'p', 'd', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 'i', 'p', 's', '_', 'e', 'x', 't', 'r', '_', 'r', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'e',
+ 'x', 't', 'r', '_', 'r', 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'e', 'x', 't', 'r', '_', 's',
+ '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 'e', 'x', 't', 'r', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'a', 'd', 'd', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'f', 'a', 'd', 'd', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'f', 'c', 'a', 'f', '_', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c', 'a',
+ 'f', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'f', 'c', 'e', 'q', '_', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c', 'e', 'q', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'f', 'c', 'l', 'a', 's', 's', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c', 'l', 'a', 's', 's', '_',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'f', 'c', 'l', 'e', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c', 'l', 'e', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c',
+ 'l', 't', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'f', 'c', 'l', 't', '_', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c', 'n', 'e', '_',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'f', 'c', 'n', 'e', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c', 'o', 'r', '_', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c',
+ 'o', 'r', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'f', 'c', 'u', 'e', 'q', '_', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c', 'u', 'e',
+ 'q', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'f', 'c', 'u', 'l', 'e', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c', 'u', 'l', 'e',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'f', 'c', 'u', 'l', 't', '_', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c', 'u', 'l', 't', '_',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'f', 'c', 'u', 'n', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c', 'u', 'n', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'c',
+ 'u', 'n', 'e', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'f', 'c', 'u', 'n', 'e', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'd', 'i',
+ 'v', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'f', 'd', 'i', 'v', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'e', 'x', 'd', 'o', '_',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'f', 'e', 'x', 'd', 'o', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'e', 'x', 'p', '2', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'f', 'e', 'x', 'p', '2', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'e', 'x', 'u', 'p', 'l', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'f', 'e', 'x', 'u', 'p', 'l', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'e', 'x', 'u', 'p', 'r', '_',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'f', 'e', 'x', 'u', 'p', 'r', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'f', 'i', 'n', 't', '_',
+ 's', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'f', 'f', 'i', 'n', 't', '_', 's', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'f', 'i',
+ 'n', 't', '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'f', 'f', 'i', 'n', 't', '_', 'u', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'f', 'f', 'q', 'l', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'f', 'f', 'q', 'l', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'f', 'q',
+ 'r', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'f', 'f', 'q', 'r', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'i', 'l', 'l', '_', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'f', 'i', 'l', 'l', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'f', 'i', 'l', 'l', '_', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'i', 'l',
+ 'l', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'f', 'l', 'o', 'g', '2', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'l', 'o', 'g', '2',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'f', 'm', 'a', 'd', 'd', '_', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'm', 'a', 'd', 'd', '_',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'f', 'm', 'a', 'x', '_', 'a', '_', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'm', 'a', 'x', '_', 'a',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'f', 'm', 'a', 'x', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'm', 'a', 'x', '_', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f',
+ 'm', 'i', 'n', '_', 'a', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'm', 'i', 'n', '_', 'a', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'f', 'm', 'i', 'n', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'f', 'm', 'i', 'n', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'm', 's',
+ 'u', 'b', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'f', 'm', 's', 'u', 'b', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'm', 'u', 'l',
+ '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'f', 'm', 'u', 'l', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'r', 'c', 'p', '_', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f',
+ 'r', 'c', 'p', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'f', 'r', 'i', 'n', 't', '_', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'r', 'i',
+ 'n', 't', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'f', 'r', 's', 'q', 'r', 't', '_', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 'r', 's',
+ 'q', 'r', 't', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'f', 's', 'a', 'f', '_', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 's', 'a', 'f',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'f', 's', 'e', 'q', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 's', 'e', 'q', '_', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f',
+ 's', 'l', 'e', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'f', 's', 'l', 'e', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 's', 'l', 't',
+ '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'f', 's', 'l', 't', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 's', 'n', 'e', '_', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f',
+ 's', 'n', 'e', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'f', 's', 'o', 'r', '_', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 's', 'o', 'r',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'f', 's', 'q', 'r', 't', '_', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 's', 'q', 'r', 't', '_',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'f', 's', 'u', 'b', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 's', 'u', 'b', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 's',
+ 'u', 'e', 'q', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'f', 's', 'u', 'e', 'q', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 's', 'u',
+ 'l', 'e', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'f', 's', 'u', 'l', 'e', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 's', 'u', 'l',
+ 't', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'f', 's', 'u', 'l', 't', '_', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 's', 'u', 'n', '_',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'f', 's', 'u', 'n', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 's', 'u', 'n', 'e', '_', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f',
+ 's', 'u', 'n', 'e', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'f', 't', 'i', 'n', 't', '_', 's', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'f', 't', 'i', 'n', 't', '_', 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 't', 'i', 'n', 't', '_',
+ 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'f', 't', 'i', 'n', 't', '_', 'u', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 't', 'q',
+ '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'f', 't', 'q', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 't', 'r', 'u', 'n', 'c', '_', 's',
+ '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'f', 't', 'r', 'u', 'n', 'c', '_', 's', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 't', 'r',
+ 'u', 'n', 'c', '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'f', 't', 'r', 'u', 'n', 'c', '_', 'u',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'h', 'a', 'd', 'd', '_', 's', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'h', 'a', 'd', 'd', '_',
+ 's', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'h', 'a', 'd', 'd', '_', 's', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'h', 'a', 'd', 'd',
+ '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'h', 'a', 'd', 'd', '_', 'u', '_', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'h', 'a', 'd',
+ 'd', '_', 'u', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'h', 's', 'u', 'b', '_', 's', '_', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'h', 's',
+ 'u', 'b', '_', 's', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'h', 's', 'u', 'b', '_', 's', '_', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'h',
+ 's', 'u', 'b', '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'h', 's', 'u', 'b', '_', 'u', '_', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'h', 's', 'u', 'b', '_', 'u', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'i', 'l', 'v', 'e', 'v', '_', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'i', 'l', 'v', 'e', 'v', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'i', 'l', 'v', 'e', 'v', '_', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'i',
+ 'l', 'v', 'e', 'v', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'i', 'l', 'v', 'l', '_', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'i', 'l', 'v',
+ 'l', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'i', 'l', 'v', 'l', '_', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'i', 'l', 'v', 'l', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'i', 'l', 'v', 'o', 'd', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'i', 'l', 'v', 'o', 'd', '_', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'i',
+ 'l', 'v', 'o', 'd', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'i', 'l', 'v', 'o', 'd', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'i', 'l',
+ 'v', 'r', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'i', 'l', 'v', 'r', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'i', 'l', 'v', 'r', '_',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'i', 'l', 'v', 'r', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'i', 'n', 's', 'e', 'r', 't', '_', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'i', 'n', 's', 'e', 'r', 't', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'i', 'n', 's', 'e', 'r', 't', '_',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'i', 'n', 's', 'e', 'r', 't', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'i', 'n', 's', 'v', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'i',
+ 'n', 's', 'v', 'e', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'i', 'n', 's', 'v', 'e', '_', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'i', 'n',
+ 's', 'v', 'e', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'i', 'n', 's', 'v', 'e', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'l', 'b',
+ 'u', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'l', 'd', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'l', 'd', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'l', 'd', '_', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'l',
+ 'd', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'l', 'd', 'i', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'l', 'd', 'i', '_', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'l', 'd',
+ 'i', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'l', 'd', 'i', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'l', 'h', 'x', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'l', 's',
+ 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 'l', 'w', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 'i', 'p', 's', '_', 'm', 'a', 'd', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'd', 'd', '_',
+ 'q', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'm', 'a', 'd', 'd', '_', 'q', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'd', 'd',
+ 'r', '_', 'q', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'm', 'a', 'd', 'd', 'r', '_', 'q', '_', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_',
+ 'm', 'a', 'd', 'd', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'm', 'a', 'd', 'd', 'v', '_', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'd',
+ 'd', 'v', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'm', 'a', 'd', 'd', 'v', '_', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'd', 'd',
+ 'v', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 'i', 'p', 's', '_', 'm', 'a', 'q', '_', 's', '_', 'w', '_', 'p', 'h', 'l',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's',
+ '_', 'm', 'a', 'q', '_', 's', '_', 'w', '_', 'p', 'h', 'r', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'm', 'a',
+ 'q', '_', 's', 'a', '_', 'w', '_', 'p', 'h', 'l', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'm', 'a', 'q', '_',
+ 's', 'a', '_', 'w', '_', 'p', 'h', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'x', '_', 'a', '_', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'm', 'a', 'x', '_', 'a', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'x', '_', 'a', '_', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm',
+ 'a', 'x', '_', 'a', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'x', '_', 's', '_', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a',
+ 'x', '_', 's', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'm', 'a', 'x', '_', 's', '_', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'x',
+ '_', 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'm', 'a', 'x', '_', 'u', '_', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'x', '_',
+ 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'm', 'a', 'x', '_', 'u', '_', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'x', '_', 'u',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'm', 'a', 'x', 'i', '_', 's', '_', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'x', 'i', '_',
+ 's', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'm', 'a', 'x', 'i', '_', 's', '_', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'x', 'i',
+ '_', 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'm', 'a', 'x', 'i', '_', 'u', '_', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a', 'x',
+ 'i', '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'm', 'a', 'x', 'i', '_', 'u', '_', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'a',
+ 'x', 'i', '_', 'u', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'm', 'i', 'n', '_', 'a', '_', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'i',
+ 'n', '_', 'a', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'm', 'i', 'n', '_', 'a', '_', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'i', 'n',
+ '_', 'a', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'm', 'i', 'n', '_', 's', '_', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'i', 'n', '_',
+ 's', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'm', 'i', 'n', '_', 's', '_', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'i', 'n', '_', 's',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'm', 'i', 'n', '_', 'u', '_', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'i', 'n', '_', 'u', '_',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'm', 'i', 'n', '_', 'u', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'i', 'n', '_', 'u', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'm', 'i', 'n', 'i', '_', 's', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'i', 'n', 'i', '_', 's', '_',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'm', 'i', 'n', 'i', '_', 's', '_', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'i', 'n', 'i', '_', 's',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'm', 'i', 'n', 'i', '_', 'u', '_', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'i', 'n', 'i', '_',
+ 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'm', 'i', 'n', 'i', '_', 'u', '_', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'i', 'n', 'i',
+ '_', 'u', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'm', 'o', 'd', '_', 's', '_', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'o', 'd', '_',
+ 's', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'm', 'o', 'd', '_', 's', '_', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'o', 'd', '_', 's',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'm', 'o', 'd', '_', 'u', '_', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'o', 'd', '_', 'u', '_',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 'm', 'o', 'd', '_', 'u', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'o', 'd', '_', 'u', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's',
+ '_', 'm', 'o', 'd', 's', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'o', 'v', 'e', '_', 'v', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'm',
+ 's', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'm', 's', 'u', 'b', '_', 'q', '_', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 's', 'u', 'b',
+ '_', 'q', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'm', 's', 'u', 'b', 'r', '_', 'q', '_', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 's',
+ 'u', 'b', 'r', '_', 'q', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'm', 's', 'u', 'b', 'u', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 's',
+ 'u', 'b', 'v', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'm', 's', 'u', 'b', 'v', '_', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 's', 'u',
+ 'b', 'v', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'm', 's', 'u', 'b', 'v', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'm', 't', 'h',
+ 'l', 'i', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 'i', 'p', 's', '_', 'm', 'u', 'l', '_', 'p', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'u', 'l', '_', 'q',
+ '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'm', 'u', 'l', '_', 'q', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'm', 'u', 'l', '_', 's',
+ '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 'i', 'p', 's', '_', 'm', 'u', 'l', 'e', 'q', '_', 's', '_', 'w', '_', 'p',
+ 'h', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 'm', 'u', 'l', 'e', 'q', '_', 's', '_', 'w', '_', 'p', 'h',
+ 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 'm', 'u', 'l', 'e', 'u', '_', 's', '_', 'p', 'h', '_', 'q', 'b',
+ 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 'm', 'u', 'l', 'e', 'u', '_', 's', '_', 'p', 'h', '_', 'q', 'b',
+ 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 'm', 'u', 'l', 'q', '_', 'r', 's', '_', 'p', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'm', 'u',
+ 'l', 'q', '_', 'r', 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'm', 'u', 'l', 'q', '_', 's', '_',
+ 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 'm', 'u', 'l', 'q', '_', 's', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'u', 'l', 'r',
+ '_', 'q', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'm', 'u', 'l', 'r', '_', 'q', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'm', 'u',
+ 'l', 's', 'a', '_', 'w', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'm', 'u', 'l', 's', 'a', 'q',
+ '_', 's', '_', 'w', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'm', 'u', 'l', 't', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'm', 'u',
+ 'l', 't', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'm', 'u', 'l', 'v', '_', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'm', 'u', 'l', 'v', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'm', 'u', 'l', 'v', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'm', 'u', 'l', 'v', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'n', 'l', 'o',
+ 'c', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'n', 'l', 'o', 'c', '_', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'n', 'l', 'o', 'c', '_', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'n', 'l', 'o', 'c', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'n', 'l', 'z', 'c', '_', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'n', 'l', 'z',
+ 'c', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 'n', 'l', 'z', 'c', '_', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'n', 'l', 'z', 'c', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'n', 'o', 'r', '_', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'n', 'o', 'r', 'i', '_', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'o', 'r', '_', 'v',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'o', 'r', 'i', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 'i', 'p', 's', '_', 'p', 'a', 'c', 'k', 'r', 'l', '_', 'p', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 'p', 'c', 'k', 'e', 'v', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 'p', 'c', 'k', 'e', 'v', '_', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'p',
+ 'c', 'k', 'e', 'v', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 'p', 'c', 'k', 'e', 'v', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'p', 'c',
+ 'k', 'o', 'd', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'p', 'c', 'k', 'o', 'd', '_', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'p', 'c', 'k',
+ 'o', 'd', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'p', 'c', 'k', 'o', 'd', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'p', 'c', 'n', 't',
+ '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'p', 'c', 'n', 't', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'p', 'c', 'n', 't', '_', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'p',
+ 'c', 'n', 't', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 'i', 'p', 's', '_', 'p', 'i', 'c', 'k', '_', 'p', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'p',
+ 'i', 'c', 'k', '_', 'q', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 'i', 'p', 's', '_', 'p', 'r', 'e', 'c', 'e', 'q', '_', 'w',
+ '_', 'p', 'h', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 'i', 'p', 's', '_', 'p', 'r', 'e', 'c', 'e', 'q', '_', 'w', '_', 'p',
+ 'h', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 'p', 'r', 'e', 'c', 'e', 'q', 'u', '_', 'p', 'h', '_', 'q',
+ 'b', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 'p', 'r', 'e', 'c', 'e', 'q', 'u', '_', 'p', 'h', '_', 'q',
+ 'b', 'l', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 'i', 'p', 's', '_', 'p', 'r', 'e', 'c', 'e', 'q', 'u', '_', 'p', 'h', '_',
+ 'q', 'b', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 'i', 'p', 's', '_', 'p', 'r', 'e', 'c', 'e', 'q', 'u', '_', 'p', 'h', '_',
+ 'q', 'b', 'r', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 'i', 'p', 's', '_', 'p', 'r', 'e', 'c', 'e', 'u', '_', 'p', 'h', '_',
+ 'q', 'b', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 'i', 'p', 's', '_', 'p', 'r', 'e', 'c', 'e', 'u', '_', 'p', 'h', '_', 'q',
+ 'b', 'l', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 'i', 'p', 's', '_', 'p', 'r', 'e', 'c', 'e', 'u', '_', 'p', 'h', '_', 'q',
+ 'b', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 'p', 'r', 'e', 'c', 'e', 'u', '_', 'p', 'h', '_', 'q', 'b',
+ 'r', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 'p', 'r', 'e', 'c', 'r', '_', 'q', 'b', '_', 'p', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_',
+ 'p', 'r', 'e', 'c', 'r', '_', 's', 'r', 'a', '_', 'p', 'h', '_', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_',
+ 'p', 'r', 'e', 'c', 'r', '_', 's', 'r', 'a', '_', 'r', '_', 'p', 'h', '_',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 'p', 'r', 'e', 'c', 'r', 'q', '_', 'p', 'h', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'p',
+ 'r', 'e', 'c', 'r', 'q', '_', 'q', 'b', '_', 'p', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'p', 'r', 'e',
+ 'c', 'r', 'q', '_', 'r', 's', '_', 'p', 'h', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'p', 'r', 'e',
+ 'c', 'r', 'q', 'u', '_', 's', '_', 'q', 'b', '_', 'p', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'p', 'r',
+ 'e', 'p', 'e', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 'i', 'p', 's', '_', 'r', 'a', 'd', 'd', 'u', '_', 'w', '_', 'q',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 'r', 'd', 'd', 's', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'r', 'e', 'p', 'l', '_', 'p', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's',
+ '_', 'r', 'e', 'p', 'l', '_', 'q', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'a', 't', '_', 's', '_', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 's', 'a', 't', '_', 's', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'a', 't', '_', 's', '_', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's',
+ 'a', 't', '_', 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 's', 'a', 't', '_', 'u', '_', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'a',
+ 't', '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 's', 'a', 't', '_', 'u', '_', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'a', 't',
+ '_', 'u', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 's', 'h', 'f', '_', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'h', 'f', '_', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's',
+ 'h', 'f', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 'i', 'p', 's', '_', 's', 'h', 'i', 'l', 'o', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'h', 'l', 'l',
+ '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 'i', 'p', 's', '_', 's', 'h', 'l', 'l', '_', 'q', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'h', 'l',
+ 'l', '_', 's', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'h', 'l', 'l', '_', 's', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's',
+ '_', 's', 'h', 'r', 'a', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'h', 'r', 'a', '_', 'q',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p',
+ 's', '_', 's', 'h', 'r', 'a', '_', 'r', '_', 'p', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'h', 'r',
+ 'a', '_', 'r', '_', 'q', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'h', 'r', 'a', '_', 'r', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's',
+ '_', 's', 'h', 'r', 'l', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'h', 'r', 'l', '_', 'q',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 's', 'l', 'd', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 's', 'l', 'd', '_', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'l', 'd', '_',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 's', 'l', 'd', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 's', 'l', 'd', 'i', '_', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'l', 'd',
+ 'i', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 's', 'l', 'd', 'i', '_', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'l', 'd', 'i', '_', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 's', 'l', 'l', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 's', 'l', 'l', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'l', 'l', '_', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 's', 'l', 'l', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 's', 'l', 'l', 'i', '_', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'l', 'l', 'i',
+ '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 's', 'l', 'l', 'i', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'l', 'l', 'i', '_', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's',
+ 'p', 'l', 'a', 't', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 's', 'p', 'l', 'a', 't', '_', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'p',
+ 'l', 'a', 't', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 's', 'p', 'l', 'a', 't', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'p', 'l',
+ 'a', 't', 'i', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 's', 'p', 'l', 'a', 't', 'i', '_', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'p',
+ 'l', 'a', 't', 'i', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 's', 'p', 'l', 'a', 't', 'i', '_', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's',
+ 'r', 'a', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 's', 'r', 'a', '_', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r', 'a', '_', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's',
+ 'r', 'a', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 's', 'r', 'a', 'i', '_', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r', 'a', 'i', '_',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 's', 'r', 'a', 'i', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r', 'a', 'i', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r',
+ 'a', 'r', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 's', 'r', 'a', 'r', '_', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r', 'a', 'r', '_',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 's', 'r', 'a', 'r', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r', 'a', 'r', 'i', '_', 'b', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's',
+ 'r', 'a', 'r', 'i', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 's', 'r', 'a', 'r', 'i', '_', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r',
+ 'a', 'r', 'i', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 's', 'r', 'l', '_', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r', 'l', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 's', 'r', 'l', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 's', 'r', 'l', '_', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r', 'l', 'i', '_',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 's', 'r', 'l', 'i', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r', 'l', 'i', '_', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r',
+ 'l', 'i', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 's', 'r', 'l', 'r', '_', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r', 'l', 'r', '_',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 's', 'r', 'l', 'r', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r', 'l', 'r', '_', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r',
+ 'l', 'r', 'i', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 's', 'r', 'l', 'r', 'i', '_', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'r', 'l',
+ 'r', 'i', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 's', 'r', 'l', 'r', 'i', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 't', '_', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 's', 't', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 's', 't', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 't', '_', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'u',
+ 'b', 'q', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 'i', 'p', 's', '_', 's', 'u', 'b', 'q', '_', 's', '_', 'p', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's',
+ '_', 's', 'u', 'b', 'q', '_', 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'u', 'b', 'q', 'h',
+ '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 'i', 'p', 's', '_', 's', 'u', 'b', 'q', 'h', '_', 'r', '_', 'p', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_',
+ 's', 'u', 'b', 'q', 'h', '_', 'r', '_', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'u', 'b', 'q', 'h',
+ '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 's', 'u', 'b', 's', '_', 's', '_', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'u', 'b', 's', '_',
+ 's', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm',
+ 's', 'a', '_', 's', 'u', 'b', 's', '_', 's', '_', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'u', 'b', 's',
+ '_', 's', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 's', 'u', 'b', 's', '_', 'u', '_', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'u', 'b',
+ 's', '_', 'u', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 's', 'u', 'b', 's', '_', 'u', '_', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'u',
+ 'b', 's', '_', 'u', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 's', 'u', 'b', 's', 'u', 's', '_', 'u', '_',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 's', 'u', 'b', 's', 'u', 's', '_', 'u', '_', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'u', 'b', 's',
+ 'u', 's', '_', 'u', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 's', 'u', 'b', 's', 'u', 's', '_', 'u', '_',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 's', 'u', 'b', 's', 'u', 'u', '_', 's', '_', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'u', 'b', 's',
+ 'u', 'u', '_', 's', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'm', 's', 'a', '_', 's', 'u', 'b', 's', 'u', 'u', '_', 's', '_',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 's', 'u', 'b', 's', 'u', 'u', '_', 's', '_', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'u', 'b',
+ 'u', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 'i', 'p', 's', '_', 's', 'u', 'b', 'u', '_', 'q', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'u',
+ 'b', 'u', '_', 's', '_', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'u', 'b', 'u', '_', 's', '_',
+ 'q', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i',
+ 'p', 's', '_', 's', 'u', 'b', 'u', 'h', '_', 'q', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 's', 'u', 'b',
+ 'u', 'h', '_', 'r', '_', 'q', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'u', 'b', 'v', '_', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'u',
+ 'b', 'v', '_', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 's', 'u', 'b', 'v', '_', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'u', 'b', 'v', '_',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a',
+ '_', 's', 'u', 'b', 'v', 'i', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'u', 'b', 'v', 'i', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_',
+ 's', 'u', 'b', 'v', 'i', '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'm', 's', 'a', '_', 's', 'u', 'b', 'v', 'i', '_', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'v',
+ 's', 'h', 'f', '_', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'm', 's', 'a', '_', 'v', 's', 'h', 'f', '_', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'v', 's', 'h', 'f',
+ '_', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's',
+ 'a', '_', 'v', 's', 'h', 'f', '_', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'm', 'i', 'p', 's', '_', 'w', 'r', 'd', 's', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'm', 's', 'a', '_', 'x',
+ 'o', 'r', '_', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'm', 's', 'a', '_', 'x', 'o', 'r', 'i', '_', 'b', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'a', 'b', 's', '_', 'i', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'a', 'b', 's', '_', 'l', 'l', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'a', 'd', 'd', '_', 'r', 'm', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'a', 'd', 'd', '_', 'r', 'm', '_', 'f', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'a', 'd', 'd', '_', 'r', 'm', '_', 'f', 't', 'z', '_', 'f', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 'a', 'd', 'd', '_', 'r', 'n', '_', 'd',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'a', 'd', 'd', '_', 'r', 'n', '_',
+ 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'a', 'd', 'd', '_', 'r', 'n',
+ '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'a',
+ 'd', 'd', '_', 'r', 'p', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'a', 'd', 'd', '_', 'r', 'p', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'a', 'd', 'd', '_', 'r', 'p', '_', 'f', 't', 'z', '_', 'f', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'a', 'd', 'd', '_', 'r', 'z', '_', 'd', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 'a', 'd', 'd', '_', 'r', 'z', '_', 'f',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'a', 'd', 'd', '_', 'r', 'z', '_',
+ 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'b', 'a',
+ 'r', '_', 's', 'y', 'n', 'c', '\000', '_', '_', 's', 'y', 'n', 'c', 't', 'h',
+ 'r', 'e', 'a', 'd', 's', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'b', 'a',
+ 'r', '0', '_', 'a', 'n', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'b',
+ 'a', 'r', '0', '_', 'o', 'r', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'b',
+ 'a', 'r', '0', '_', 'p', 'o', 'p', 'c', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'b', 'i', 't', 'c', 'a', 's', 't', '_', 'd', '2', 'l', 'l', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'b', 'i', 't', 'c', 'a', 's', 't', '_', 'f',
+ '2', 'i', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'b', 'i', 't', 'c', 'a',
+ 's', 't', '_', 'i', '2', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'b',
+ 'i', 't', 'c', 'a', 's', 't', '_', 'l', 'l', '2', 'd', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'b', 'r', 'e', 'v', '3', '2', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'b', 'r', 'e', 'v', '6', '4', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'c', 'e', 'i', 'l', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'c', 'e', 'i', 'l', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'c', 'e', 'i', 'l', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'c', 'l', 'z', '_', 'i', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'c', 'l', 'z', '_', 'l', 'l', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'c', 'o', 's', '_', 'a', 'p', 'p', 'r', 'o', 'x', '_', 'f', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'c', 'o', 's', '_', 'a', 'p', 'p', 'r', 'o', 'x',
+ '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'd',
+ '2', 'f', '_', 'r', 'm', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'd', '2',
+ 'f', '_', 'r', 'm', '_', 'f', 't', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'd', '2', 'f', '_', 'r', 'n', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'd', '2', 'f', '_', 'r', 'n', '_', 'f', 't', 'z', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'd', '2', 'f', '_', 'r', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'd', '2', 'f', '_', 'r', 'p', '_', 'f', 't', 'z', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'd', '2', 'f', '_', 'r', 'z', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'd', '2', 'f', '_', 'r', 'z', '_', 'f', 't', 'z', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 'd', '2', 'i', '_', 'h', 'i', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'd', '2', 'i', '_', 'l', 'o', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'd', '2', 'i', '_', 'r', 'm', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'd', '2', 'i', '_', 'r', 'n', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'd', '2', 'i', '_', 'r', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'd', '2', 'i', '_', 'r', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'd', '2', 'l', 'l', '_', 'r', 'm', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'd', '2', 'l', 'l', '_', 'r', 'n', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'd', '2', 'l', 'l', '_', 'r', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'd', '2', 'l', 'l', '_', 'r', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'd', '2', 'u', 'i', '_', 'r', 'm', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'd', '2', 'u', 'i', '_', 'r', 'n', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'd', '2', 'u', 'i', '_', 'r', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'd', '2', 'u', 'i', '_', 'r', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'd', '2', 'u', 'l', 'l', '_', 'r', 'm', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'd', '2', 'u', 'l', 'l', '_', 'r', 'n', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'd', '2', 'u', 'l', 'l', '_', 'r', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'd', '2', 'u', 'l', 'l', '_', 'r', 'z', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'd', 'i', 'v', '_', 'a', 'p', 'p', 'r', 'o', 'x',
+ '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'd', 'i', 'v', '_', 'a',
+ 'p', 'p', 'r', 'o', 'x', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'd', 'i', 'v', '_', 'r', 'm', '_', 'd', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'd', 'i', 'v', '_', 'r', 'm', '_', 'f', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'd', 'i', 'v', '_', 'r', 'm', '_', 'f', 't',
+ 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'd', 'i', 'v', '_',
+ 'r', 'n', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'd', 'i', 'v',
+ '_', 'r', 'n', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'd', 'i',
+ 'v', '_', 'r', 'n', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'd', 'i', 'v', '_', 'r', 'p', '_', 'd', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'd', 'i', 'v', '_', 'r', 'p', '_', 'f', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'd', 'i', 'v', '_', 'r', 'p', '_', 'f', 't', 'z',
+ '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'd', 'i', 'v', '_', 'r',
+ 'z', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'd', 'i', 'v', '_',
+ 'r', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'd', 'i', 'v',
+ '_', 'r', 'z', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'e', 'x', '2', '_', 'a', 'p', 'p', 'r', 'o', 'x', '_', 'd', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 'e', 'x', '2', '_', 'a', 'p', 'p', 'r',
+ 'o', 'x', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'e', 'x', '2',
+ '_', 'a', 'p', 'p', 'r', 'o', 'x', '_', 'f', 't', 'z', '_', 'f', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'h', '_', 'r', 'n', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'f', '2', 'h', '_', 'r', 'n', '_', 'f', 't', 'z',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'i', '_', 'r', 'm', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'i', '_', 'r', 'm', '_', 'f',
+ 't', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'i', '_', 'r',
+ 'n', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'i', '_', 'r', 'n',
+ '_', 'f', 't', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'i',
+ '_', 'r', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'i', '_',
+ 'r', 'p', '_', 'f', 't', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f',
+ '2', 'i', '_', 'r', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2',
+ 'i', '_', 'r', 'z', '_', 'f', 't', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'f', '2', 'l', 'l', '_', 'r', 'm', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'f', '2', 'l', 'l', '_', 'r', 'm', '_', 'f', 't', 'z', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'f', '2', 'l', 'l', '_', 'r', 'n', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'f', '2', 'l', 'l', '_', 'r', 'n', '_', 'f', 't',
+ 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'l', 'l', '_', 'r',
+ 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'l', 'l', '_', 'r',
+ 'p', '_', 'f', 't', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2',
+ 'l', 'l', '_', 'r', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2',
+ 'l', 'l', '_', 'r', 'z', '_', 'f', 't', 'z', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'f', '2', 'u', 'i', '_', 'r', 'm', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'f', '2', 'u', 'i', '_', 'r', 'm', '_', 'f', 't', 'z', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'u', 'i', '_', 'r', 'n', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'u', 'i', '_', 'r', 'n', '_', 'f',
+ 't', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'u', 'i', '_',
+ 'r', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'u', 'i', '_',
+ 'r', 'p', '_', 'f', 't', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f',
+ '2', 'u', 'i', '_', 'r', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f',
+ '2', 'u', 'i', '_', 'r', 'z', '_', 'f', 't', 'z', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'f', '2', 'u', 'l', 'l', '_', 'r', 'm', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'f', '2', 'u', 'l', 'l', '_', 'r', 'm', '_', 'f', 't',
+ 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'u', 'l', 'l', '_',
+ 'r', 'n', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'u', 'l', 'l',
+ '_', 'r', 'n', '_', 'f', 't', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'f', '2', 'u', 'l', 'l', '_', 'r', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'f', '2', 'u', 'l', 'l', '_', 'r', 'p', '_', 'f', 't', 'z', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'u', 'l', 'l', '_', 'r', 'z', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 'f', '2', 'u', 'l', 'l', '_', 'r', 'z',
+ '_', 'f', 't', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'a', 'b',
+ 's', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'a', 'b', 's',
+ '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'a', 'b', 's', '_',
+ 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'l',
+ 'o', 'o', 'r', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'l',
+ 'o', 'o', 'r', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'l',
+ 'o', 'o', 'r', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'f', 'm', 'a', '_', 'r', 'm', '_', 'd', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'f', 'm', 'a', '_', 'r', 'm', '_', 'f', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'f', 'm', 'a', '_', 'r', 'm', '_', 'f', 't', 'z', '_',
+ 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'm', 'a', '_', 'r', 'n',
+ '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'm', 'a', '_', 'r',
+ 'n', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'm', 'a', '_',
+ 'r', 'n', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'f', 'm', 'a', '_', 'r', 'p', '_', 'd', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'f', 'm', 'a', '_', 'r', 'p', '_', 'f', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'f', 'm', 'a', '_', 'r', 'p', '_', 'f', 't', 'z', '_', 'f',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'm', 'a', '_', 'r', 'z', '_',
+ 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'm', 'a', '_', 'r', 'z',
+ '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'm', 'a', '_', 'r',
+ 'z', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'f', 'm', 'a', 'x', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f',
+ 'm', 'a', 'x', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f', 'm',
+ 'a', 'x', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'f', 'm', 'i', 'n', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'f', 'm', 'i', 'n', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'f',
+ 'm', 'i', 'n', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'h', '2', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'i', '2',
+ 'd', '_', 'r', 'm', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'i', '2', 'd',
+ '_', 'r', 'n', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'i', '2', 'd', '_',
+ 'r', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'i', '2', 'd', '_', 'r',
+ 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'i', '2', 'f', '_', 'r', 'm',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'i', '2', 'f', '_', 'r', 'n', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 'i', '2', 'f', '_', 'r', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'i', '2', 'f', '_', 'r', 'z', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'i', 's', 's', 'p', 'a', 'c', 'e', 'p', '_', 'c',
+ 'o', 'n', 's', 't', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'i', 's', 's',
+ 'p', 'a', 'c', 'e', 'p', '_', 'g', 'l', 'o', 'b', 'a', 'l', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'i', 's', 's', 'p', 'a', 'c', 'e', 'p', '_', 'l',
+ 'o', 'c', 'a', 'l', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'i', 's', 's',
+ 'p', 'a', 'c', 'e', 'p', '_', 's', 'h', 'a', 'r', 'e', 'd', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'i', 's', 't', 'y', 'p', 'e', 'p', '_', 's', 'a',
+ 'm', 'p', 'l', 'e', 'r', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'i', 's',
+ 't', 'y', 'p', 'e', 'p', '_', 's', 'u', 'r', 'f', 'a', 'c', 'e', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'i', 's', 't', 'y', 'p', 'e', 'p', '_', 't',
+ 'e', 'x', 't', 'u', 'r', 'e', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'l',
+ 'g', '2', '_', 'a', 'p', 'p', 'r', 'o', 'x', '_', 'd', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'l', 'g', '2', '_', 'a', 'p', 'p', 'r', 'o', 'x', '_',
+ 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'l', 'g', '2', '_', 'a', 'p',
+ 'p', 'r', 'o', 'x', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'l', 'l', '2', 'd', '_', 'r', 'm', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'l', 'l', '2', 'd', '_', 'r', 'n', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'l', 'l', '2', 'd', '_', 'r', 'p', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'l', 'l', '2', 'd', '_', 'r', 'z', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'l', 'l', '2', 'f', '_', 'r', 'm', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'l', 'l', '2', 'f', '_', 'r', 'n', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'l', 'l', '2', 'f', '_', 'r', 'p', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'l', 'l', '2', 'f', '_', 'r', 'z', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'l', 'o', 'h', 'i', '_', 'i', '2', 'd', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'm', 'a', 'x', '_', 'i', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'm', 'a', 'x', '_', 'l', 'l', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'm', 'a', 'x', '_', 'u', 'i', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'm', 'a', 'x', '_', 'u', 'l', 'l', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'm', 'e', 'm', 'b', 'a', 'r', '_', 'c', 't', 'a', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'm', 'e', 'm', 'b', 'a', 'r', '_', 'g', 'l', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'm', 'e', 'm', 'b', 'a', 'r', '_', 's', 'y', 's',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'm', 'i', 'n', '_', 'i', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'm', 'i', 'n', '_', 'l', 'l', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'm', 'i', 'n', '_', 'u', 'i', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'm', 'i', 'n', '_', 'u', 'l', 'l', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'm', 'u', 'l', '_', 'r', 'm', '_', 'd', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'm', 'u', 'l', '_', 'r', 'm', '_', 'f', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'm', 'u', 'l', '_', 'r', 'm', '_', 'f', 't',
+ 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'm', 'u', 'l', '_',
+ 'r', 'n', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'm', 'u', 'l',
+ '_', 'r', 'n', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'm', 'u',
+ 'l', '_', 'r', 'n', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'm', 'u', 'l', '_', 'r', 'p', '_', 'd', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'm', 'u', 'l', '_', 'r', 'p', '_', 'f', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'm', 'u', 'l', '_', 'r', 'p', '_', 'f', 't', 'z',
+ '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'm', 'u', 'l', '_', 'r',
+ 'z', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'm', 'u', 'l', '_',
+ 'r', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'm', 'u', 'l',
+ '_', 'r', 'z', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'm', 'u', 'l', '2', '4', '_', 'i', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'm', 'u', 'l', '2', '4', '_', 'u', 'i', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'm', 'u', 'l', 'h', 'i', '_', 'i', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'm', 'u', 'l', 'h', 'i', '_', 'l', 'l', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'm', 'u', 'l', 'h', 'i', '_', 'u', 'i', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'm', 'u', 'l', 'h', 'i', '_', 'u', 'l', 'l', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 'p', 'o', 'p', 'c', '_', 'i', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'p', 'o', 'p', 'c', '_', 'l', 'l', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'p', 'r', 'm', 't', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'r', 'c', 'p', '_', 'a', 'p', 'p', 'r', 'o', 'x', '_', 'f',
+ 't', 'z', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'c', 'p',
+ '_', 'r', 'm', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'c',
+ 'p', '_', 'r', 'm', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r',
+ 'c', 'p', '_', 'r', 'm', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'r', 'c', 'p', '_', 'r', 'n', '_', 'd', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'r', 'c', 'p', '_', 'r', 'n', '_', 'f', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'r', 'c', 'p', '_', 'r', 'n', '_', 'f', 't',
+ 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'c', 'p', '_',
+ 'r', 'p', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'c', 'p',
+ '_', 'r', 'p', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'c',
+ 'p', '_', 'r', 'p', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'r', 'c', 'p', '_', 'r', 'z', '_', 'd', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'r', 'c', 'p', '_', 'r', 'z', '_', 'f', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'r', 'c', 'p', '_', 'r', 'z', '_', 'f', 't', 'z',
+ '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_',
+ 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'c', 'l', 'o', 'c', 'k', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x',
+ '_', 's', 'r', 'e', 'g', '_', 'c', 'l', 'o', 'c', 'k', '6', '4', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_',
+ 's', 'r', 'e', 'g', '_', 'c', 't', 'a', 'i', 'd', '_', 'w', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's',
+ 'r', 'e', 'g', '_', 'c', 't', 'a', 'i', 'd', '_', 'x', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r',
+ 'e', 'g', '_', 'c', 't', 'a', 'i', 'd', '_', 'y', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e',
+ 'g', '_', 'c', 't', 'a', 'i', 'd', '_', 'z', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g',
+ '_', 'e', 'n', 'v', 'r', 'e', 'g', '0', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_',
+ 'e', 'n', 'v', 'r', 'e', 'g', '1', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e',
+ 'n', 'v', 'r', 'e', 'g', '1', '0', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e',
+ 'n', 'v', 'r', 'e', 'g', '1', '1', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e',
+ 'n', 'v', 'r', 'e', 'g', '1', '2', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e',
+ 'n', 'v', 'r', 'e', 'g', '1', '3', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e',
+ 'n', 'v', 'r', 'e', 'g', '1', '4', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e',
+ 'n', 'v', 'r', 'e', 'g', '1', '5', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e',
+ 'n', 'v', 'r', 'e', 'g', '1', '6', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e',
+ 'n', 'v', 'r', 'e', 'g', '1', '7', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e',
+ 'n', 'v', 'r', 'e', 'g', '1', '8', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e',
+ 'n', 'v', 'r', 'e', 'g', '1', '9', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e',
+ 'n', 'v', 'r', 'e', 'g', '2', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r',
+ 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n',
+ 'v', 'r', 'e', 'g', '2', '0', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r',
+ 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n',
+ 'v', 'r', 'e', 'g', '2', '1', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r',
+ 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n',
+ 'v', 'r', 'e', 'g', '2', '2', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r',
+ 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n',
+ 'v', 'r', 'e', 'g', '2', '3', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r',
+ 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n',
+ 'v', 'r', 'e', 'g', '2', '4', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r',
+ 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n',
+ 'v', 'r', 'e', 'g', '2', '5', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r',
+ 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n',
+ 'v', 'r', 'e', 'g', '2', '6', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r',
+ 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n',
+ 'v', 'r', 'e', 'g', '2', '7', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r',
+ 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n',
+ 'v', 'r', 'e', 'g', '2', '8', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r',
+ 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n',
+ 'v', 'r', 'e', 'g', '2', '9', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r',
+ 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n',
+ 'v', 'r', 'e', 'g', '3', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e',
+ 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n', 'v',
+ 'r', 'e', 'g', '3', '0', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e',
+ 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n', 'v',
+ 'r', 'e', 'g', '3', '1', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e',
+ 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n', 'v',
+ 'r', 'e', 'g', '4', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a',
+ 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n', 'v', 'r',
+ 'e', 'g', '5', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd',
+ '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n', 'v', 'r', 'e',
+ 'g', '6', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_',
+ 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n', 'v', 'r', 'e', 'g',
+ '7', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p',
+ 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n', 'v', 'r', 'e', 'g', '8',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't',
+ 'x', '_', 's', 'r', 'e', 'g', '_', 'e', 'n', 'v', 'r', 'e', 'g', '9', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x',
+ '_', 's', 'r', 'e', 'g', '_', 'g', 'r', 'i', 'd', 'i', 'd', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's',
+ 'r', 'e', 'g', '_', 'l', 'a', 'n', 'e', 'i', 'd', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e',
+ 'g', '_', 'l', 'a', 'n', 'e', 'm', 'a', 's', 'k', '_', 'e', 'q', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_',
+ 's', 'r', 'e', 'g', '_', 'l', 'a', 'n', 'e', 'm', 'a', 's', 'k', '_', 'g',
+ 'e', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p',
+ 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'l', 'a', 'n', 'e', 'm', 'a', 's',
+ 'k', '_', 'g', 't', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a',
+ 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'l', 'a', 'n', 'e',
+ 'm', 'a', 's', 'k', '_', 'l', 'e', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'l',
+ 'a', 'n', 'e', 'm', 'a', 's', 'k', '_', 'l', 't', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e',
+ 'g', '_', 'n', 'c', 't', 'a', 'i', 'd', '_', 'w', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e',
+ 'g', '_', 'n', 'c', 't', 'a', 'i', 'd', '_', 'x', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e',
+ 'g', '_', 'n', 'c', 't', 'a', 'i', 'd', '_', 'y', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e',
+ 'g', '_', 'n', 'c', 't', 'a', 'i', 'd', '_', 'z', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e',
+ 'g', '_', 'n', 's', 'm', 'i', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'n',
+ 't', 'i', 'd', '_', 'w', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e',
+ 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'n', 't', 'i',
+ 'd', '_', 'x', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd',
+ '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'n', 't', 'i', 'd', '_',
+ 'y', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p',
+ 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'n', 't', 'i', 'd', '_', 'z', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x',
+ '_', 's', 'r', 'e', 'g', '_', 'n', 'w', 'a', 'r', 'p', 'i', 'd', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_',
+ 's', 'r', 'e', 'g', '_', 'p', 'm', '0', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_',
+ 'p', 'm', '1', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd',
+ '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'p', 'm', '2', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_',
+ 's', 'r', 'e', 'g', '_', 'p', 'm', '3', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_',
+ 's', 'm', 'i', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a',
+ 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 't', 'i', 'd', '_',
+ 'w', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p',
+ 't', 'x', '_', 's', 'r', 'e', 'g', '_', 't', 'i', 'd', '_', 'x', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_',
+ 's', 'r', 'e', 'g', '_', 't', 'i', 'd', '_', 'y', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e',
+ 'g', '_', 't', 'i', 'd', '_', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 'r', 'e', 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'w',
+ 'a', 'r', 'p', 'i', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'e',
+ 'a', 'd', '_', 'p', 't', 'x', '_', 's', 'r', 'e', 'g', '_', 'w', 'a', 'r',
+ 'p', 's', 'i', 'z', 'e', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'o',
+ 't', 'a', 't', 'e', '_', 'b', '3', '2', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'r', 'o', 't', 'a', 't', 'e', '_', 'b', '6', '4', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 'r', 'o', 't', 'a', 't', 'e', '_', 'r', 'i', 'g', 'h',
+ 't', '_', 'b', '6', '4', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'o',
+ 'u', 'n', 'd', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'o',
+ 'u', 'n', 'd', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 'o',
+ 'u', 'n', 'd', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 'r', 's', 'q', 'r', 't', '_', 'a', 'p', 'p', 'r', 'o', 'x', '_',
+ 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'r', 's', 'q', 'r', 't', '_',
+ 'a', 'p', 'p', 'r', 'o', 'x', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 'r', 's', 'q', 'r', 't', '_', 'a', 'p', 'p', 'r', 'o', 'x', '_', 'f',
+ 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'a', 'd',
+ '_', 'i', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'a', 'd', '_', 'u',
+ 'i', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'a', 't', 'u', 'r', 'a',
+ 't', 'e', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'a', 't',
+ 'u', 'r', 'a', 't', 'e', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'a', 't', 'u', 'r', 'a', 't', 'e', '_', 'f', 't', 'z', '_', 'f', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'h', 'f', 'l', '_', 'b', 'f', 'l',
+ 'y', '_', 'f', '3', '2', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'h',
+ 'f', 'l', '_', 'b', 'f', 'l', 'y', '_', 'i', '3', '2', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'h', 'f', 'l', '_', 'd', 'o', 'w', 'n', '_', 'f',
+ '3', '2', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'h', 'f', 'l', '_',
+ 'd', 'o', 'w', 'n', '_', 'i', '3', '2', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'h', 'f', 'l', '_', 'i', 'd', 'x', '_', 'f', '3', '2', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'h', 'f', 'l', '_', 'i', 'd', 'x', '_',
+ 'i', '3', '2', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'h', 'f', 'l',
+ '_', 'u', 'p', '_', 'f', '3', '2', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'h', 'f', 'l', '_', 'u', 'p', '_', 'i', '3', '2', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'i', 'n', '_', 'a', 'p', 'p', 'r', 'o', 'x', '_',
+ 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'i', 'n', '_', 'a', 'p',
+ 'p', 'r', 'o', 'x', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'q', 'r', 't', '_', 'a', 'p', 'p', 'r', 'o', 'x', '_',
+ 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'q', 'r', 't', '_', 'a',
+ 'p', 'p', 'r', 'o', 'x', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'q', 'r', 't', '_', 'f', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'q', 'r', 't', '_', 'r', 'm', '_', 'd', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'q', 'r', 't', '_', 'r', 'm', '_', 'f', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'q', 'r', 't', '_', 'r', 'm', '_',
+ 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'q',
+ 'r', 't', '_', 'r', 'n', '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'q', 'r', 't', '_', 'r', 'n', '_', 'f', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'q', 'r', 't', '_', 'r', 'n', '_', 'f', 't', 'z', '_', 'f',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'q', 'r', 't', '_', 'r', 'p',
+ '_', 'd', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'q', 'r', 't', '_',
+ 'r', 'p', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'q', 'r',
+ 't', '_', 'r', 'p', '_', 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'q', 'r', 't', '_', 'r', 'z', '_', 'd', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'q', 'r', 't', '_', 'r', 'z', '_', 'f', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'q', 'r', 't', '_', 'r', 'z', '_',
+ 'f', 't', 'z', '_', 'f', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 'q', '_', 'a', 'r', 'r', 'a', 'y', '_', 's', 'i', 'z', 'e', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 'q', '_', 'c', 'h', 'a', 'n', 'n', 'e',
+ 'l', '_', 'd', 'a', 't', 'a', '_', 't', 'y', 'p', 'e', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 'q', '_', 'c', 'h', 'a', 'n', 'n', 'e', 'l',
+ '_', 'o', 'r', 'd', 'e', 'r', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's',
+ 'u', 'q', '_', 'd', 'e', 'p', 't', 'h', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 'q', '_', 'h', 'e', 'i', 'g', 'h', 't', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 'q', '_', 'w', 'i', 'd', 't', 'h', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd',
+ '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '1', '6', '_', 'c', 'l', 'a', 'm',
+ 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b',
+ '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '1', '6', '_', 't',
+ 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '1', '6',
+ '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i',
+ '3', '2', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a',
+ 'y', '_', 'i', '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r',
+ 'r', 'a', 'y', '_', 'i', '3', '2', '_', 'z', 'e', 'r', 'o', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_',
+ 'a', 'r', 'r', 'a', 'y', '_', 'i', '6', '4', '_', 'c', 'l', 'a', 'm', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '6', '4', '_', 't', 'r',
+ 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '6', '4', '_',
+ 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '8',
+ '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's',
+ 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_',
+ 'i', '8', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y',
+ '_', 'i', '8', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a',
+ 'y', '_', 'v', '2', 'i', '1', '6', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd',
+ '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '1', '6', '_', 't', 'r',
+ 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '1',
+ '6', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's',
+ 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_',
+ 'v', '2', 'i', '3', '2', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a',
+ 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '3', '2', '_', 't', 'r', 'a', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '3', '2', '_',
+ 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2',
+ 'i', '6', '4', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r',
+ 'a', 'y', '_', 'v', '2', 'i', '6', '4', '_', 't', 'r', 'a', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd',
+ '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '6', '4', '_', 'z', 'e',
+ 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '8',
+ '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's',
+ 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_',
+ 'v', '2', 'i', '8', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r',
+ 'a', 'y', '_', 'v', '2', 'i', '8', '_', 'z', 'e', 'r', 'o', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_',
+ 'a', 'r', 'r', 'a', 'y', '_', 'v', '4', 'i', '1', '6', '_', 'c', 'l', 'a',
+ 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4', 'i', '1',
+ '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's',
+ 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_',
+ 'v', '4', 'i', '1', '6', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r',
+ 'r', 'a', 'y', '_', 'v', '4', 'i', '3', '2', '_', 'c', 'l', 'a', 'm', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4', 'i', '3', '2', '_',
+ 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4',
+ 'i', '3', '2', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'a', 'r', 'r', 'a',
+ 'y', '_', 'v', '4', 'i', '8', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_',
+ 'a', 'r', 'r', 'a', 'y', '_', 'v', '4', 'i', '8', '_', 't', 'r', 'a', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4', 'i', '8', '_', 'z',
+ 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'b', '_', '1', 'd', '_', 'i', '1', '6', '_', 'c', 'l', 'a', 'm', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '1', 'd', '_', 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'i',
+ '1', '6', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'i', '3', '2', '_', 'c',
+ 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'b', '_', '1', 'd', '_', 'i', '3', '2', '_', 't', 'r', 'a', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '1', 'd', '_', 'i', '3', '2', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'i',
+ '6', '4', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'i', '6', '4', '_',
+ 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'b', '_', '1', 'd', '_', 'i', '6', '4', '_', 'z', 'e', 'r', 'o',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '1', 'd', '_', 'i', '8', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'i',
+ '8', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's',
+ 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'i', '8', '_', 'z', 'e', 'r',
+ 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b',
+ '_', '1', 'd', '_', 'v', '2', 'i', '1', '6', '_', 'c', 'l', 'a', 'm', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '1', 'd', '_', 'v', '2', 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd',
+ '_', 'v', '2', 'i', '1', '6', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'v',
+ '2', 'i', '3', '2', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'v', '2',
+ 'i', '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'v', '2', 'i', '3',
+ '2', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's',
+ 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'v', '2', 'i', '6', '4', '_',
+ 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '1', 'd', '_', 'v', '2', 'i', '6', '4', '_', 't',
+ 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'b', '_', '1', 'd', '_', 'v', '2', 'i', '6', '4', '_', 'z', 'e', 'r',
+ 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b',
+ '_', '1', 'd', '_', 'v', '2', 'i', '8', '_', 'c', 'l', 'a', 'm', 'p', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1',
+ 'd', '_', 'v', '2', 'i', '8', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'v',
+ '2', 'i', '8', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'v', '4', 'i', '1',
+ '6', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'v', '4', 'i', '1', '6',
+ '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '1', 'd', '_', 'v', '4', 'i', '1', '6', '_', 'z',
+ 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'b', '_', '1', 'd', '_', 'v', '4', 'i', '3', '2', '_', 'c', 'l', 'a',
+ 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'b', '_', '1', 'd', '_', 'v', '4', 'i', '3', '2', '_', 't', 'r', 'a', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '1', 'd', '_', 'v', '4', 'i', '3', '2', '_', 'z', 'e', 'r', 'o', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd',
+ '_', 'v', '4', 'i', '8', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'v',
+ '4', 'i', '8', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'b', '_', '1', 'd', '_', 'v', '4', 'i', '8',
+ '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i',
+ '1', '6', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a',
+ 'y', '_', 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r',
+ 'r', 'a', 'y', '_', 'i', '1', '6', '_', 'z', 'e', 'r', 'o', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_',
+ 'a', 'r', 'r', 'a', 'y', '_', 'i', '3', '2', '_', 'c', 'l', 'a', 'm', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '3', '2', '_', 't', 'r',
+ 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '3', '2', '_',
+ 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '6',
+ '4', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y',
+ '_', 'i', '6', '4', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r',
+ 'a', 'y', '_', 'i', '6', '4', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a',
+ 'r', 'r', 'a', 'y', '_', 'i', '8', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd',
+ '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '8', '_', 't', 'r', 'a', 'p', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2',
+ 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '8', '_', 'z', 'e', 'r', 'o',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '1', '6', '_',
+ 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v',
+ '2', 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r',
+ 'a', 'y', '_', 'v', '2', 'i', '1', '6', '_', 'z', 'e', 'r', 'o', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd',
+ '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '3', '2', '_', 'c', 'l',
+ 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i',
+ '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y',
+ '_', 'v', '2', 'i', '3', '2', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a',
+ 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '6', '4', '_', 'c', 'l', 'a', 'm',
+ 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b',
+ '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '6', '4',
+ '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v',
+ '2', 'i', '6', '4', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r',
+ 'a', 'y', '_', 'v', '2', 'i', '8', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd',
+ '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '8', '_', 't', 'r', 'a',
+ 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b',
+ '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '8', '_',
+ 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4',
+ 'i', '1', '6', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r',
+ 'a', 'y', '_', 'v', '4', 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd',
+ '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4', 'i', '1', '6', '_', 'z', 'e',
+ 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4', 'i', '3',
+ '2', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y',
+ '_', 'v', '4', 'i', '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a',
+ 'r', 'r', 'a', 'y', '_', 'v', '4', 'i', '3', '2', '_', 'z', 'e', 'r', 'o',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4', 'i', '8', '_', 'c',
+ 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4',
+ 'i', '8', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y',
+ '_', 'v', '4', 'i', '8', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'i', '1',
+ '6', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'i', '1', '6', '_', 't',
+ 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'b', '_', '2', 'd', '_', 'i', '1', '6', '_', 'z', 'e', 'r', 'o', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2',
+ 'd', '_', 'i', '3', '2', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'i',
+ '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'i', '3', '2', '_', 'z',
+ 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'b', '_', '2', 'd', '_', 'i', '6', '4', '_', 'c', 'l', 'a', 'm', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '2', 'd', '_', 'i', '6', '4', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'i',
+ '6', '4', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'i', '8', '_', 'c', 'l',
+ 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'b', '_', '2', 'd', '_', 'i', '8', '_', 't', 'r', 'a', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd',
+ '_', 'i', '8', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'v', '2', 'i', '1',
+ '6', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'v', '2', 'i', '1', '6',
+ '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '2', 'd', '_', 'v', '2', 'i', '1', '6', '_', 'z',
+ 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'b', '_', '2', 'd', '_', 'v', '2', 'i', '3', '2', '_', 'c', 'l', 'a',
+ 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'b', '_', '2', 'd', '_', 'v', '2', 'i', '3', '2', '_', 't', 'r', 'a', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '2', 'd', '_', 'v', '2', 'i', '3', '2', '_', 'z', 'e', 'r', 'o', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd',
+ '_', 'v', '2', 'i', '6', '4', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_',
+ 'v', '2', 'i', '6', '4', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'v', '2',
+ 'i', '6', '4', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'v', '2', 'i', '8',
+ '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's',
+ 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'v', '2', 'i', '8', '_', 't',
+ 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'b', '_', '2', 'd', '_', 'v', '2', 'i', '8', '_', 'z', 'e', 'r', 'o',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '2', 'd', '_', 'v', '4', 'i', '1', '6', '_', 'c', 'l', 'a', 'm', 'p', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2',
+ 'd', '_', 'v', '4', 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_',
+ 'v', '4', 'i', '1', '6', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'v', '4',
+ 'i', '3', '2', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'v', '4', 'i',
+ '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '2', 'd', '_', 'v', '4', 'i', '3', '2',
+ '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '2', 'd', '_', 'v', '4', 'i', '8', '_', 'c', 'l',
+ 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'b', '_', '2', 'd', '_', 'v', '4', 'i', '8', '_', 't', 'r', 'a', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '2', 'd', '_', 'v', '4', 'i', '8', '_', 'z', 'e', 'r', 'o', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_',
+ 'i', '1', '6', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_', 'i', '1', '6',
+ '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '3', 'd', '_', 'i', '1', '6', '_', 'z', 'e', 'r',
+ 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b',
+ '_', '3', 'd', '_', 'i', '3', '2', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd',
+ '_', 'i', '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_', 'i', '3', '2',
+ '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '3', 'd', '_', 'i', '6', '4', '_', 'c', 'l', 'a',
+ 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'b', '_', '3', 'd', '_', 'i', '6', '4', '_', 't', 'r', 'a', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd',
+ '_', 'i', '6', '4', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_', 'i', '8', '_',
+ 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '3', 'd', '_', 'i', '8', '_', 't', 'r', 'a', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '3', 'd', '_', 'i', '8', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_', 'v', '2',
+ 'i', '1', '6', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_', 'v', '2', 'i',
+ '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_', 'v', '2', 'i', '1', '6',
+ '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '3', 'd', '_', 'v', '2', 'i', '3', '2', '_', 'c',
+ 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'b', '_', '3', 'd', '_', 'v', '2', 'i', '3', '2', '_', 't', 'r',
+ 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'b', '_', '3', 'd', '_', 'v', '2', 'i', '3', '2', '_', 'z', 'e', 'r', 'o',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_',
+ '3', 'd', '_', 'v', '2', 'i', '6', '4', '_', 'c', 'l', 'a', 'm', 'p', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3',
+ 'd', '_', 'v', '2', 'i', '6', '4', '_', 't', 'r', 'a', 'p', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_',
+ 'v', '2', 'i', '6', '4', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_', 'v', '2',
+ 'i', '8', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_', 'v', '2', 'i', '8',
+ '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '3', 'd', '_', 'v', '2', 'i', '8', '_', 'z', 'e',
+ 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'b', '_', '3', 'd', '_', 'v', '4', 'i', '1', '6', '_', 'c', 'l', 'a', 'm',
+ 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b',
+ '_', '3', 'd', '_', 'v', '4', 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3',
+ 'd', '_', 'v', '4', 'i', '1', '6', '_', 'z', 'e', 'r', 'o', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_',
+ 'v', '4', 'i', '3', '2', '_', 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_', 'v',
+ '4', 'i', '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_', 'v', '4', 'i',
+ '3', '2', '_', 'z', 'e', 'r', 'o', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'b', '_', '3', 'd', '_', 'v', '4', 'i', '8', '_',
+ 'c', 'l', 'a', 'm', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'b', '_', '3', 'd', '_', 'v', '4', 'i', '8', '_', 't', 'r',
+ 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'b', '_', '3', 'd', '_', 'v', '4', 'i', '8', '_', 'z', 'e', 'r', 'o', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '1',
+ 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '1', '6', '_', 't', 'r', 'a',
+ 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p',
+ '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '3', '2', '_', 't',
+ 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'p', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '8', '_',
+ 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'p', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2',
+ 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'p', '_', '1', 'd', '_', 'a', 'r', 'r', 'a',
+ 'y', '_', 'v', '2', 'i', '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '1', 'd', '_',
+ 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '8', '_', 't', 'r', 'a', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_',
+ '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4', 'i', '1', '6', '_',
+ 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'p', '_', '1', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4',
+ 'i', '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'p', '_', '1', 'd', '_', 'a', 'r', 'r', 'a',
+ 'y', '_', 'v', '4', 'i', '8', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '1', 'd', '_', 'i',
+ '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'p', '_', '1', 'd', '_', 'i', '3', '2', '_', 't',
+ 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'p', '_', '1', 'd', '_', 'i', '8', '_', 't', 'r', 'a', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '1', 'd',
+ '_', 'v', '2', 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '1', 'd', '_', 'v',
+ '2', 'i', '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '1', 'd', '_', 'v', '2', 'i',
+ '8', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's',
+ 'u', 's', 't', '_', 'p', '_', '1', 'd', '_', 'v', '4', 'i', '1', '6', '_',
+ 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'p', '_', '1', 'd', '_', 'v', '4', 'i', '3', '2', '_', 't', 'r',
+ 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'p', '_', '1', 'd', '_', 'v', '4', 'i', '8', '_', 't', 'r', 'a', 'p', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '2',
+ 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '1', '6', '_', 't', 'r', 'a',
+ 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p',
+ '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '3', '2', '_', 't',
+ 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'p', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'i', '8', '_',
+ 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'p', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '2',
+ 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'p', '_', '2', 'd', '_', 'a', 'r', 'r', 'a',
+ 'y', '_', 'v', '2', 'i', '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '2', 'd', '_',
+ 'a', 'r', 'r', 'a', 'y', '_', 'v', '2', 'i', '8', '_', 't', 'r', 'a', 'p',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_',
+ '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4', 'i', '1', '6', '_',
+ 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'p', '_', '2', 'd', '_', 'a', 'r', 'r', 'a', 'y', '_', 'v', '4',
+ 'i', '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm',
+ '_', 's', 'u', 's', 't', '_', 'p', '_', '2', 'd', '_', 'a', 'r', 'r', 'a',
+ 'y', '_', 'v', '4', 'i', '8', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '2', 'd', '_', 'i',
+ '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'p', '_', '2', 'd', '_', 'i', '3', '2', '_', 't',
+ 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't',
+ '_', 'p', '_', '2', 'd', '_', 'i', '8', '_', 't', 'r', 'a', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '2', 'd',
+ '_', 'v', '2', 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '2', 'd', '_', 'v',
+ '2', 'i', '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '2', 'd', '_', 'v', '2', 'i',
+ '8', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's',
+ 'u', 's', 't', '_', 'p', '_', '2', 'd', '_', 'v', '4', 'i', '1', '6', '_',
+ 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's',
+ 't', '_', 'p', '_', '2', 'd', '_', 'v', '4', 'i', '3', '2', '_', 't', 'r',
+ 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_',
+ 'p', '_', '2', 'd', '_', 'v', '4', 'i', '8', '_', 't', 'r', 'a', 'p', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '3',
+ 'd', '_', 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v',
+ 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '3', 'd', '_', 'i', '3',
+ '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's',
+ 'u', 's', 't', '_', 'p', '_', '3', 'd', '_', 'i', '8', '_', 't', 'r', 'a',
+ 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p',
+ '_', '3', 'd', '_', 'v', '2', 'i', '1', '6', '_', 't', 'r', 'a', 'p', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '3',
+ 'd', '_', 'v', '2', 'i', '3', '2', '_', 't', 'r', 'a', 'p', '\000', '_', '_',
+ 'n', 'v', 'v', 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '3', 'd', '_',
+ 'v', '2', 'i', '8', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 's', 'u', 's', 't', '_', 'p', '_', '3', 'd', '_', 'v', '4', 'i',
+ '1', '6', '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_',
+ 's', 'u', 's', 't', '_', 'p', '_', '3', 'd', '_', 'v', '4', 'i', '3', '2',
+ '_', 't', 'r', 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'u',
+ 's', 't', '_', 'p', '_', '3', 'd', '_', 'v', '4', 'i', '8', '_', 't', 'r',
+ 'a', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 's', 'w', 'a', 'p', '_',
+ 'l', 'o', '_', 'h', 'i', '_', 'b', '6', '4', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 't', 'r', 'u', 'n', 'c', '_', 'd', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 't', 'r', 'u', 'n', 'c', '_', 'f', '\000', '_', '_', 'n', 'v', 'v',
+ 'm', '_', 't', 'r', 'u', 'n', 'c', '_', 'f', 't', 'z', '_', 'f', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 't', 'x', 'q', '_', 'a', 'r', 'r', 'a', 'y',
+ '_', 's', 'i', 'z', 'e', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 't', 'x',
+ 'q', '_', 'c', 'h', 'a', 'n', 'n', 'e', 'l', '_', 'd', 'a', 't', 'a', '_',
+ 't', 'y', 'p', 'e', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 't', 'x', 'q',
+ '_', 'c', 'h', 'a', 'n', 'n', 'e', 'l', '_', 'o', 'r', 'd', 'e', 'r', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 't', 'x', 'q', '_', 'd', 'e', 'p', 't',
+ 'h', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 't', 'x', 'q', '_', 'h', 'e',
+ 'i', 'g', 'h', 't', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 't', 'x', 'q',
+ '_', 'n', 'u', 'm', '_', 'm', 'i', 'p', 'm', 'a', 'p', '_', 'l', 'e', 'v',
+ 'e', 'l', 's', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 't', 'x', 'q', '_',
+ 'n', 'u', 'm', '_', 's', 'a', 'm', 'p', 'l', 'e', 's', '\000', '_', '_', 'n',
+ 'v', 'v', 'm', '_', 't', 'x', 'q', '_', 'w', 'i', 'd', 't', 'h', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'u', 'i', '2', 'd', '_', 'r', 'm', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'u', 'i', '2', 'd', '_', 'r', 'n', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'u', 'i', '2', 'd', '_', 'r', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'u', 'i', '2', 'd', '_', 'r', 'z', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'u', 'i', '2', 'f', '_', 'r', 'm', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'u', 'i', '2', 'f', '_', 'r', 'n', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'u', 'i', '2', 'f', '_', 'r', 'p', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'u', 'i', '2', 'f', '_', 'r', 'z', '\000', '_',
+ '_', 'n', 'v', 'v', 'm', '_', 'u', 'l', 'l', '2', 'd', '_', 'r', 'm', '\000',
+ '_', '_', 'n', 'v', 'v', 'm', '_', 'u', 'l', 'l', '2', 'd', '_', 'r', 'n',
+ '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'u', 'l', 'l', '2', 'd', '_', 'r',
+ 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'u', 'l', 'l', '2', 'd', '_',
+ 'r', 'z', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'u', 'l', 'l', '2', 'f',
+ '_', 'r', 'm', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'u', 'l', 'l', '2',
+ 'f', '_', 'r', 'n', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'u', 'l', 'l',
+ '2', 'f', '_', 'r', 'p', '\000', '_', '_', 'n', 'v', 'v', 'm', '_', 'u', 'l',
+ 'l', '2', 'f', '_', 'r', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'c', 'r', 'y', 'p', 't',
+ 'o', '_', 'v', 'c', 'i', 'p', 'h', 'e', 'r', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'c', 'r',
+ 'y', 'p', 't', 'o', '_', 'v', 'c', 'i', 'p', 'h', 'e', 'r', 'l', 'a', 's',
+ 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't',
+ 'i', 'v', 'e', 'c', '_', 'c', 'r', 'y', 'p', 't', 'o', '_', 'v', 'n', 'c',
+ 'i', 'p', 'h', 'e', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'c', 'r', 'y', 'p', 't', 'o',
+ '_', 'v', 'n', 'c', 'i', 'p', 'h', 'e', 'r', 'l', 'a', 's', 't', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'c', 'r', 'y', 'p', 't', 'o', '_', 'v', 'p', 'e', 'r', 'm', 'x',
+ 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l',
+ 't', 'i', 'v', 'e', 'c', '_', 'c', 'r', 'y', 'p', 't', 'o', '_', 'v', 'p',
+ 'm', 's', 'u', 'm', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'c', 'r', 'y', 'p', 't', 'o',
+ '_', 'v', 'p', 'm', 's', 'u', 'm', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'c', 'r', 'y',
+ 'p', 't', 'o', '_', 'v', 'p', 'm', 's', 'u', 'm', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_',
+ 'c', 'r', 'y', 'p', 't', 'o', '_', 'v', 'p', 'm', 's', 'u', 'm', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'c', 'r', 'y', 'p', 't', 'o', '_', 'v', 's', 'b', 'o', 'x',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'c', 'r', 'y', 'p', 't', 'o', '_', 'v', 's', 'h', 'a',
+ 's', 'i', 'g', 'm', 'a', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'c', 'r', 'y', 'p', 't',
+ 'o', '_', 'v', 's', 'h', 'a', 's', 'i', 'g', 'm', 'a', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'd', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'd', 's', 's', 'a', 'l', 'l', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'd', 's', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'd', 's', 't', 's', 't',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'd', 's', 't', 's', 't', 't', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'd',
+ 's', 't', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'm', 'f', 'v', 's', 'c', 'r', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'm', 't', 'v', 's', 'c', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'a', 'b',
+ 's', 'd', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'a', 'b', 's', 'd', 'u', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'a', 'b', 's', 'd', 'u', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_',
+ 'v', 'a', 'd', 'd', 'c', 'u', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'a', 'd', 'd',
+ 'c', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'a', 'd', 'd', 'e', 'c', 'u', 'q',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'a', 'd', 'd', 'e', 'u', 'q', 'm', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'v', 'a', 'd', 'd', 's', 'b', 's', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'a', 'd',
+ 'd', 's', 'h', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'a', 'd', 'd', 's', 'w', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'a', 'd', 'd', 'u', 'b', 's', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_',
+ 'v', 'a', 'd', 'd', 'u', 'h', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'a', 'd', 'd',
+ 'u', 'w', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'a', 'v', 'g', 's', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'a', 'v', 'g', 's', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'a', 'v',
+ 'g', 's', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'a', 'v', 'g', 'u', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'a', 'v', 'g', 'u', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'a', 'v',
+ 'g', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'b', 'p', 'e', 'r', 'm', 'q', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'v', 'c', 'f', 's', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'f',
+ 'u', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l',
+ 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'l', 'z', 'l', 's', 'b', 'b', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'v', 'c', 'm', 'p', 'b', 'f', 'p', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 'c', 'm', 'p', 'b', 'f', 'p', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm',
+ 'p', 'e', 'q', 'f', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'e', 'q',
+ 'f', 'p', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'e', 'q', 'u',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't',
+ 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'e', 'q', 'u', 'b', '_', 'p',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'e', 'q', 'u', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'v', 'c', 'm', 'p', 'e', 'q', 'u', 'd', '_', 'p', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_',
+ 'v', 'c', 'm', 'p', 'e', 'q', 'u', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm',
+ 'p', 'e', 'q', 'u', 'h', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p',
+ 'e', 'q', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'e', 'q', 'u',
+ 'w', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'g', 'e', 'f', 'p',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'g', 'e', 'f', 'p', '_', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'v', 'c', 'm', 'p', 'g', 't', 'f', 'p', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_',
+ 'v', 'c', 'm', 'p', 'g', 't', 'f', 'p', '_', 'p', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 'c', 'm', 'p', 'g', 't', 's', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p',
+ 'g', 't', 's', 'b', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'g',
+ 't', 's', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'g', 't', 's', 'd',
+ '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l',
+ 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'g', 't', 's', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'v', 'c', 'm', 'p', 'g', 't', 's', 'h', '_', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'c', 'm', 'p', 'g', 't', 's', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 'c', 'm', 'p', 'g', 't', 's', 'w', '_', 'p', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c',
+ 'm', 'p', 'g', 't', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'g',
+ 't', 'u', 'b', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'g', 't',
+ 'u', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l',
+ 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'g', 't', 'u', 'd', '_',
+ 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't',
+ 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'g', 't', 'u', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'c', 'm', 'p', 'g', 't', 'u', 'h', '_', 'p', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'v', 'c', 'm', 'p', 'g', 't', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c',
+ 'm', 'p', 'g', 't', 'u', 'w', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm',
+ 'p', 'n', 'e', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'n', 'e', 'b',
+ '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l',
+ 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'n', 'e', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'c', 'm', 'p', 'n', 'e', 'h', '_', 'p', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_',
+ 'v', 'c', 'm', 'p', 'n', 'e', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p',
+ 'n', 'e', 'w', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'n', 'e',
+ 'z', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l',
+ 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'n', 'e', 'z', 'b', '_',
+ 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't',
+ 'i', 'v', 'e', 'c', '_', 'v', 'c', 'm', 'p', 'n', 'e', 'z', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'c', 'm', 'p', 'n', 'e', 'z', 'h', '_', 'p', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'v', 'c', 'm', 'p', 'n', 'e', 'z', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c',
+ 'm', 'p', 'n', 'e', 'z', 'w', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 't',
+ 's', 'x', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'c', 't', 'u', 'x', 's', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'c', 't', 'z', 'l', 's', 'b', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 'e', 'x', 'p', 't', 'e', 'f', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'g', 'b', 'b',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't',
+ 'i', 'v', 'e', 'c', '_', 'v', 'l', 'o', 'g', 'e', 'f', 'p', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'v', 'm', 'a', 'd', 'd', 'f', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'a',
+ 'x', 'f', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'a', 'x', 's', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'm', 'a', 'x', 's', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'a',
+ 'x', 's', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'a', 'x', 's', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'm', 'a', 'x', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'a',
+ 'x', 'u', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'a', 'x', 'u', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'm', 'a', 'x', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'h',
+ 'a', 'd', 'd', 's', 'h', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'h', 'r', 'a',
+ 'd', 'd', 's', 'h', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'i', 'n', 'f', 'p',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'm', 'i', 'n', 's', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 'm', 'i', 'n', 's', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'i', 'n', 's', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'm', 'i', 'n', 's', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 'm', 'i', 'n', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'i', 'n', 'u', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'm', 'i', 'n', 'u', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 'm', 'i', 'n', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'l', 'a', 'd', 'd',
+ 'u', 'h', 'm', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 's', 'u', 'm', 'm', 'b', 'm',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'm', 's', 'u', 'm', 's', 'h', 'm', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'v', 'm', 's', 'u', 'm', 's', 'h', 's', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm',
+ 's', 'u', 'm', 'u', 'b', 'm', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 's', 'u', 'm',
+ 'u', 'h', 'm', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 's', 'u', 'm', 'u', 'h', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'm', 'u', 'l', 'e', 's', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_',
+ 'v', 'm', 'u', 'l', 'e', 's', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'u', 'l',
+ 'e', 's', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'u', 'l', 'e', 'u', 'b', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'v', 'm', 'u', 'l', 'e', 'u', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 'm', 'u', 'l', 'e', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'u', 'l', 'o',
+ 's', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l',
+ 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'u', 'l', 'o', 's', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'm', 'u', 'l', 'o', 's', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm',
+ 'u', 'l', 'o', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'm', 'u', 'l', 'o', 'u',
+ 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't',
+ 'i', 'v', 'e', 'c', '_', 'v', 'm', 'u', 'l', 'o', 'u', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'v', 'n', 'm', 's', 'u', 'b', 'f', 'p', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'p',
+ 'e', 'r', 'm', '_', '4', 's', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'p', 'k', 'p',
+ 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't',
+ 'i', 'v', 'e', 'c', '_', 'v', 'p', 'k', 's', 'd', 's', 's', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'v', 'p', 'k', 's', 'd', 'u', 's', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'p', 'k',
+ 's', 'h', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'p', 'k', 's', 'h', 'u', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'p', 'k', 's', 'w', 's', 's', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_',
+ 'v', 'p', 'k', 's', 'w', 'u', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'p', 'k', 'u',
+ 'd', 'u', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'p', 'k', 'u', 'h', 'u', 's', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'v', 'p', 'k', 'u', 'w', 'u', 's', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 'p', 'r', 't', 'y', 'b', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'p', 'r', 't', 'y',
+ 'b', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l',
+ 't', 'i', 'v', 'e', 'c', '_', 'v', 'p', 'r', 't', 'y', 'b', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'r', 'e', 'f', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'r', 'f', 'i',
+ 'm', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't',
+ 'i', 'v', 'e', 'c', '_', 'v', 'r', 'f', 'i', 'n', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 'r', 'f', 'i', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'r', 'f', 'i', 'z', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 'r', 'l', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'r', 'l', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'v', 'r', 'l', 'd', 'm', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'r',
+ 'l', 'd', 'n', 'm', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'r', 'l', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'v', 'r', 'l', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'r', 'l', 'w', 'm', 'i',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'r', 'l', 'w', 'n', 'm', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 'r', 's', 'q', 'r', 't', 'e', 'f', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'e',
+ 'l', '_', '4', 's', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'l', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'v', 's', 'l', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'l', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 's', 'l', 'o', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'l', 'v', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'v', 's', 'l', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'r', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'v', 's', 'r', 'a', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'r',
+ 'a', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l',
+ 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'r', 'a', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_',
+ 'v', 's', 'r', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'r', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'v', 's', 'r', 'o', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'r', 'v', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 's', 'r', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'u', 'b', 'c',
+ 'u', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l',
+ 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'u', 'b', 'c', 'u', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 's', 'u', 'b', 'e', 'c', 'u', 'q', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 's', 'u', 'b', 'e', 'u', 'q', 'm', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'u', 'b',
+ 's', 'b', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'u', 'b', 's', 'h', 's', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'v', 's', 'u', 'b', 's', 'w', 's', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 's', 'u', 'b', 'u', 'b', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'u', 'b', 'u',
+ 'h', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l',
+ 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'u', 'b', 'u', 'w', 's', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e',
+ 'c', '_', 'v', 's', 'u', 'm', '2', 's', 'w', 's', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v',
+ 's', 'u', 'm', '4', 's', 'b', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'u', 'm',
+ '4', 's', 'h', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 's', 'u', 'm', '4', 'u', 'b',
+ 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't',
+ 'i', 'v', 'e', 'c', '_', 'v', 's', 'u', 'm', 's', 'w', 's', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c',
+ '_', 'v', 'u', 'p', 'k', 'h', 'p', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'u', 'p',
+ 'k', 'h', 's', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'u', 'p', 'k', 'h', 's', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i',
+ 'v', 'e', 'c', '_', 'v', 'u', 'p', 'k', 'h', 's', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_',
+ 'v', 'u', 'p', 'k', 'l', 'p', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'a', 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'u', 'p', 'k',
+ 'l', 's', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a',
+ 'l', 't', 'i', 'v', 'e', 'c', '_', 'v', 'u', 'p', 'k', 'l', 's', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'a', 'l', 't', 'i', 'v',
+ 'e', 'c', '_', 'v', 'u', 'p', 'k', 'l', 's', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'b', 'p', 'e', 'r', 'm', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'd', 'i', 'v', 'd', 'e', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'd', 'i', 'v', 'd', 'e', 'u',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'd', 'i', 'v', 'w',
+ 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'd', 'i', 'v',
+ 'w', 'e', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'g',
+ 'e', 't', '_', 't', 'e', 'x', 'a', 's', 'r', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'g', 'e', 't', '_', 't', 'e', 'x', 'a', 's', 'r',
+ 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'g', 'e', 't',
+ '_', 't', 'f', 'h', 'a', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'g', 'e', 't', '_', 't', 'f', 'i', 'a', 'r', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'a',
+ 'b', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p',
+ 'x', '_', 'q', 'v', 'f', 'a', 'd', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'a', 'd', 'd', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_',
+ 'q', 'v', 'f', 'c', 'f', 'i', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'c', 'f', 'i', 'd', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_',
+ 'q', 'v', 'f', 'c', 'f', 'i', 'd', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'c', 'f', 'i', 'd',
+ 'u', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p',
+ 'x', '_', 'q', 'v', 'f', 'c', 'm', 'p', 'e', 'q', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'c', 'm',
+ 'p', 'g', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q',
+ 'p', 'x', '_', 'q', 'v', 'f', 'c', 'm', 'p', 'l', 't', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'c',
+ 'p', 's', 'g', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'q', 'p', 'x', '_', 'q', 'v', 'f', 'c', 't', 'i', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'c',
+ 't', 'i', 'd', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'q', 'p', 'x', '_', 'q', 'v', 'f', 'c', 't', 'i', 'd', 'u', 'z', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v',
+ 'f', 'c', 't', 'i', 'd', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'c', 't', 'i', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v',
+ 'f', 'c', 't', 'i', 'w', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'c', 't', 'i', 'w', 'u', 'z',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_',
+ 'q', 'v', 'f', 'c', 't', 'i', 'w', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'l', 'o', 'g', 'i',
+ 'c', 'a', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q',
+ 'p', 'x', '_', 'q', 'v', 'f', 'm', 'a', 'd', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'm', 'a',
+ 'd', 'd', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q',
+ 'p', 'x', '_', 'q', 'v', 'f', 'm', 's', 'u', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'm', 's',
+ 'u', 'b', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q',
+ 'p', 'x', '_', 'q', 'v', 'f', 'm', 'u', 'l', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'm', 'u', 'l',
+ 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x',
+ '_', 'q', 'v', 'f', 'n', 'a', 'b', 's', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'n', 'e', 'g', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q',
+ 'v', 'f', 'n', 'm', 'a', 'd', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'n', 'm', 'a', 'd', 'd',
+ 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x',
+ '_', 'q', 'v', 'f', 'n', 'm', 's', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'n', 'm', 's',
+ 'u', 'b', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q',
+ 'p', 'x', '_', 'q', 'v', 'f', 'p', 'e', 'r', 'm', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'r', 'e',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_',
+ 'q', 'v', 'f', 'r', 'e', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'r', 'i', 'm', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f',
+ 'r', 'i', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q',
+ 'p', 'x', '_', 'q', 'v', 'f', 'r', 'i', 'p', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'r', 'i', 'z',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_',
+ 'q', 'v', 'f', 'r', 's', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'r', 's', 'q', 'r', 't', 'e',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_',
+ 'q', 'v', 'f', 'r', 's', 'q', 'r', 't', 'e', 's', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 's', 'e',
+ 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x',
+ '_', 'q', 'v', 'f', 's', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 's', 'u', 'b', 's', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q',
+ 'v', 'f', 't', 's', 't', 'n', 'a', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'x', 'm', 'a', 'd',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x',
+ '_', 'q', 'v', 'f', 'x', 'm', 'a', 'd', 'd', 's', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'x', 'm',
+ 'u', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p',
+ 'x', '_', 'q', 'v', 'f', 'x', 'm', 'u', 'l', 's', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'x', 'x',
+ 'c', 'p', 'n', 'm', 'a', 'd', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'x', 'x', 'c', 'p', 'n',
+ 'm', 'a', 'd', 'd', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'x', 'x', 'm', 'a', 'd', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q',
+ 'v', 'f', 'x', 'x', 'm', 'a', 'd', 'd', 's', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'x', 'x', 'n',
+ 'p', 'm', 'a', 'd', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'q', 'p', 'x', '_', 'q', 'v', 'f', 'x', 'x', 'n', 'p', 'm', 'a', 'd',
+ 'd', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p',
+ 'x', '_', 'q', 'v', 'g', 'p', 'c', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'l', 'f', 'c', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q',
+ 'v', 'l', 'f', 'c', 'd', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'l', 'f', 'c', 's', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'l',
+ 'f', 'c', 's', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'q', 'p', 'x', '_', 'q', 'v', 'l', 'f', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'l', 'f', 'd', 'a',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_',
+ 'q', 'v', 'l', 'f', 'i', 'w', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'l', 'f', 'i', 'w', 'a', 'a',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_',
+ 'q', 'v', 'l', 'f', 'i', 'w', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'l', 'f', 'i', 'w', 'z', 'a',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_',
+ 'q', 'v', 'l', 'f', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'q', 'p', 'x', '_', 'q', 'v', 'l', 'f', 's', 'a', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'l', 'p',
+ 'c', 'l', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q',
+ 'p', 'x', '_', 'q', 'v', 'l', 'p', 'c', 'l', 's', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 'l', 'p', 'c',
+ 'r', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p',
+ 'x', '_', 'q', 'v', 'l', 'p', 'c', 'r', 's', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 's', 't', 'f', 'c',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x',
+ '_', 'q', 'v', 's', 't', 'f', 'c', 'd', 'a', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 's', 't', 'f', 'c',
+ 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x',
+ '_', 'q', 'v', 's', 't', 'f', 'c', 's', 'a', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 's', 't', 'f', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_',
+ 'q', 'v', 's', 't', 'f', 'd', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 's', 't', 'f', 'i', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q',
+ 'v', 's', 't', 'f', 'i', 'w', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v', 's', 't', 'f', 's', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'q', 'p', 'x', '_', 'q', 'v',
+ 's', 't', 'f', 's', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 's', 'e', 't', '_', 't', 'e', 'x', 'a', 's', 'r', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 's', 'e', 't', '_', 't', 'e', 'x', 'a',
+ 's', 'r', 'u', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ 'e', 't', '_', 't', 'f', 'h', 'a', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 's', 'e', 't', '_', 't', 'f', 'i', 'a', 'r', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 't', 'a', 'b', 'o', 'r', 't',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 't', 'a', 'b', 'o',
+ 'r', 't', 'd', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 't', 'a', 'b', 'o', 'r', 't', 'd', 'c', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 't', 'a', 'b', 'o', 'r', 't', 'w', 'c', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 't', 'a', 'b', 'o', 'r', 't',
+ 'w', 'c', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 't',
+ 'b', 'e', 'g', 'i', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 't', 'c', 'h', 'e', 'c', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 't', 'e', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 't', 'e', 'n', 'd', 'a', 'l', 'l', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 't', 'r', 'e', 'c', 'h', 'k', 'p', 't', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 't', 'r', 'e', 'c', 'l',
+ 'a', 'i', 'm', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 't',
+ 'r', 'e', 's', 'u', 'm', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 't', 's', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 't', 's', 'u', 's', 'p', 'e', 'n', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 't', 't', 'e', 's', 't', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 's', 'm', 'a', 'x',
+ 'd', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's',
+ 'x', '_', 'x', 's', 'm', 'i', 'n', 'd', 'p', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'c', 'm', 'p', 'e',
+ 'q', 'd', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v',
+ 's', 'x', '_', 'x', 'v', 'c', 'm', 'p', 'e', 'q', 'd', 'p', '_', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x',
+ 'v', 'c', 'm', 'p', 'e', 'q', 's', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'c', 'm', 'p', 'e', 'q',
+ 's', 'p', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'v', 's', 'x', '_', 'x', 'v', 'c', 'm', 'p', 'g', 'e', 'd', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v',
+ 'c', 'm', 'p', 'g', 'e', 'd', 'p', '_', 'p', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'c', 'm', 'p', 'g',
+ 'e', 's', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v',
+ 's', 'x', '_', 'x', 'v', 'c', 'm', 'p', 'g', 'e', 's', 'p', '_', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x',
+ 'v', 'c', 'm', 'p', 'g', 't', 'd', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'c', 'm', 'p', 'g', 't',
+ 'd', 'p', '_', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'v', 's', 'x', '_', 'x', 'v', 'c', 'm', 'p', 'g', 't', 's', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v',
+ 'c', 'm', 'p', 'g', 't', 's', 'p', '_', 'p', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'c', 'v', 'd', 'p',
+ 's', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's',
+ 'x', '_', 'x', 'v', 'c', 'v', 'd', 'p', 's', 'x', 'w', 's', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'c',
+ 'v', 'd', 'p', 'u', 'x', 'w', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'c', 'v', 'h', 'p', 's', 'p',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_',
+ 'x', 'v', 'c', 'v', 's', 'p', 'd', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'c', 'v', 's', 'p', 'h',
+ 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x',
+ '_', 'x', 'v', 'c', 'v', 's', 'x', 'd', 's', 'p', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'c', 'v', 's',
+ 'x', 'w', 'd', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'v', 's', 'x', '_', 'x', 'v', 'c', 'v', 'u', 'x', 'd', 's', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v',
+ 'c', 'v', 'u', 'x', 'w', 'd', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'd', 'i', 'v', 'd', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x',
+ 'v', 'd', 'i', 'v', 's', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'i', 'e', 'x', 'p', 'd', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x',
+ 'v', 'i', 'e', 'x', 'p', 's', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'm', 'a', 'x', 'd', 'p', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x',
+ 'v', 'm', 'a', 'x', 's', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'm', 'i', 'n', 'd', 'p', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v',
+ 'm', 'i', 'n', 's', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'v', 's', 'x', '_', 'x', 'v', 'r', 'e', 'd', 'p', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'r', 'e',
+ 's', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's',
+ 'x', '_', 'x', 'v', 'r', 's', 'q', 'r', 't', 'e', 'd', 'p', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'r',
+ 's', 'q', 'r', 't', 'e', 's', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 't', 's', 't', 'd', 'c', 'd',
+ 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x',
+ '_', 'x', 'v', 't', 's', 't', 'd', 'c', 's', 'p', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'x', 'e', 'x',
+ 'p', 'd', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v',
+ 's', 'x', '_', 'x', 'v', 'x', 'e', 'x', 'p', 's', 'p', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'v', 'x', 's',
+ 'i', 'g', 'd', 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'v', 's', 'x', '_', 'x', 'v', 'x', 's', 'i', 'g', 's', 'p', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'x', 'e',
+ 'x', 't', 'r', 'a', 'c', 't', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'v', 's', 'x', '_', 'x', 'x', 'i', 'n', 's', 'e', 'r',
+ 't', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'v', 's',
+ 'x', '_', 'x', 'x', 'l', 'e', 'q', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'r', '6', '0', '0', '_', 'g', 'r', 'o', 'u', 'p', '_',
+ 'b', 'a', 'r', 'r', 'i', 'e', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'r', '6', '0', '0', '_', 'i', 'm', 'p', 'l', 'i', 'c', 'i',
+ 't', 'a', 'r', 'g', '_', 'p', 't', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'r', '6', '0', '0', '_', 'r', 'a', 't', '_', 's', 't',
+ 'o', 'r', 'e', '_', 't', 'y', 'p', 'e', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'r', '6', '0', '0', '_', 'r', 'e', 'a', 'd', '_',
+ 'g', 'l', 'o', 'b', 'a', 'l', '_', 's', 'i', 'z', 'e', '_', 'x', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'r', '6', '0', '0', '_', 'r',
+ 'e', 'a', 'd', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_', 's', 'i', 'z', 'e',
+ '_', 'y', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'r', '6',
+ '0', '0', '_', 'r', 'e', 'a', 'd', '_', 'g', 'l', 'o', 'b', 'a', 'l', '_',
+ 's', 'i', 'z', 'e', '_', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'r', '6', '0', '0', '_', 'r', 'e', 'a', 'd', '_', 'n', 'g', 'r',
+ 'o', 'u', 'p', 's', '_', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'r', '6', '0', '0', '_', 'r', 'e', 'a', 'd', '_', 'n', 'g', 'r',
+ 'o', 'u', 'p', 's', '_', 'y', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'r', '6', '0', '0', '_', 'r', 'e', 'a', 'd', '_', 'n', 'g', 'r',
+ 'o', 'u', 'p', 's', '_', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'r', '6', '0', '0', '_', 'r', 'e', 'a', 'd', '_', 't', 'g', 'i',
+ 'd', '_', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'r',
+ '6', '0', '0', '_', 'r', 'e', 'a', 'd', '_', 't', 'g', 'i', 'd', '_', 'y',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'r', '6', '0', '0',
+ '_', 'r', 'e', 'a', 'd', '_', 't', 'g', 'i', 'd', '_', 'z', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'e', 'f',
+ 'p', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 't', 'x',
+ '_', 'n', 'e', 's', 't', 'i', 'n', 'g', '_', 'd', 'e', 'p', 't', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_',
+ 'l', 'c', 'b', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 't', 'x', '_', 'a', 's', 's', 'i', 's', 't', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 's', 'f', 'p', 'c', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_',
+ 'v', 'a', 'c', 'c', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 's', '3', '9', '0', '_', 'v', 'a', 'c', 'c', 'c', 'q', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'a',
+ 'c', 'c', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'a', 'c', 'c', 'g', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'a', 'c', 'c', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 'a', 'c', 'c', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'a', 'c', 'q', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'a', 'q',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 'a', 'v', 'g', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'a', 'v', 'g', 'f', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'a',
+ 'v', 'g', 'g', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'a', 'v', 'g', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'a', 'v', 'g', 'l',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9',
+ '0', '_', 'v', 'a', 'v', 'g', 'l', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'a', 'v', 'g', 'l', 'g',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 'a', 'v', 'g', 'l', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'c', 'k', 's', 'm', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v',
+ 'e', 'r', 'i', 'm', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 's', '3', '9', '0', '_', 'v', 'e', 'r', 'i', 'm', 'f', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'e',
+ 'r', 'i', 'm', 'g', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 's', '3', '9', '0', '_', 'v', 'e', 'r', 'i', 'm', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'e', 'r',
+ 'l', 'l', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'e', 'r', 'l', 'l', 'f', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'e', 'r', 'l',
+ 'l', 'g', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3',
+ '9', '0', '_', 'v', 'e', 'r', 'l', 'l', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'e', 'r', 'l', 'l',
+ 'v', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3',
+ '9', '0', '_', 'v', 'e', 'r', 'l', 'l', 'v', 'f', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'e', 'r', 'l',
+ 'l', 'v', 'g', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'e', 'r', 'l', 'l', 'v', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'f', 'a',
+ 'e', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3',
+ '9', '0', '_', 'v', 'f', 'a', 'e', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'f', 'a', 'e', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_',
+ 'v', 'f', 'a', 'e', 'z', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'f', 'a', 'e', 'z', 'f', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v',
+ 'f', 'a', 'e', 'z', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 's', '3', '9', '0', '_', 'v', 'f', 'e', 'e', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'f', 'e',
+ 'e', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3',
+ '9', '0', '_', 'v', 'f', 'e', 'e', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'f', 'e', 'e', 'z', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 'f', 'e', 'e', 'z', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'f', 'e', 'e', 'z', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_',
+ 'v', 'f', 'e', 'n', 'e', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'f', 'e', 'n', 'e', 'f', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v',
+ 'f', 'e', 'n', 'e', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 's', '3', '9', '0', '_', 'v', 'f', 'e', 'n', 'e', 'z', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v',
+ 'f', 'e', 'n', 'e', 'z', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'f', 'e', 'n', 'e', 'z', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_',
+ 'v', 'g', 'f', 'm', 'a', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'g', 'f', 'm', 'a', 'f', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v',
+ 'g', 'f', 'm', 'a', 'g', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 's', '3', '9', '0', '_', 'v', 'g', 'f', 'm', 'a', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'g',
+ 'f', 'm', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'g', 'f', 'm', 'f', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'g', 'f', 'm', 'g',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 'g', 'f', 'm', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'i', 's', 't', 'r', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v',
+ 'i', 's', 't', 'r', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 's', '3', '9', '0', '_', 'v', 'i', 's', 't', 'r', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'l',
+ 'b', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3',
+ '9', '0', '_', 'v', 'l', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'a', 'e', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm',
+ 'a', 'e', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'm', 'a', 'e', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'a', 'h', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 'm', 'a', 'h', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'a', 'h', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm',
+ 'a', 'l', 'e', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 's', '3', '9', '0', '_', 'v', 'm', 'a', 'l', 'e', 'f', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'a',
+ 'l', 'e', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'm', 'a', 'l', 'h', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'a', 'l',
+ 'h', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3',
+ '9', '0', '_', 'v', 'm', 'a', 'l', 'h', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'a', 'l', 'o',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9',
+ '0', '_', 'v', 'm', 'a', 'l', 'o', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'a', 'l', 'o', 'h',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 'm', 'a', 'o', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'a', 'o', 'f', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm',
+ 'a', 'o', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'm', 'e', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'e', 'f', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v',
+ 'm', 'e', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'm', 'h', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'h', 'f', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v',
+ 'm', 'h', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'm', 'l', 'e', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'l', 'e', 'f',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 'm', 'l', 'e', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'l', 'h', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm',
+ 'l', 'h', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'm', 'l', 'h', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'l', 'o', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 'm', 'l', 'o', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'l', 'o', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm',
+ 'o', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3',
+ '9', '0', '_', 'v', 'm', 'o', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'm', 'o', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'p',
+ 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3',
+ '9', '0', '_', 'v', 'p', 'e', 'r', 'm', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'p', 'k', 'l', 's', 'f',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 'p', 'k', 'l', 's', 'g', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'p', 'k', 'l', 's', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_',
+ 'v', 'p', 'k', 's', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 's', '3', '9', '0', '_', 'v', 'p', 'k', 's', 'g', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'p', 'k',
+ 's', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3',
+ '9', '0', '_', 'v', 's', 'b', 'c', 'b', 'i', 'q', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 'b', 'i',
+ 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9',
+ '0', '_', 'v', 's', 'c', 'b', 'i', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 'c', 'b', 'i', 'f',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 's', 'c', 'b', 'i', 'g', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 'c', 'b', 'i', 'h', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_',
+ 'v', 's', 'c', 'b', 'i', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 'l', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 'l', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 's', 'l', 'd', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 'q', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 'r', 'a',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 's', 'r', 'a', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 'r', 'l', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 'r',
+ 'l', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3',
+ '9', '0', '_', 'v', 's', 't', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 't', 'r', 'c', 'b', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_',
+ 'v', 's', 't', 'r', 'c', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 't', 'r', 'c', 'h', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v',
+ 's', 't', 'r', 'c', 'z', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 't', 'r', 'c', 'z', 'f', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_',
+ 'v', 's', 't', 'r', 'c', 'z', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 'u', 'm', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v',
+ 's', 'u', 'm', 'g', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 's', '3', '9', '0', '_', 'v', 's', 'u', 'm', 'g', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 's',
+ 'u', 'm', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 's', 'u', 'm', 'q', 'f', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 's', 'u', 'm',
+ 'q', 'g', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3',
+ '9', '0', '_', 'v', 't', 'm', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'u', 'p', 'h', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'u',
+ 'p', 'h', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'u', 'p', 'h', 'h', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'u', 'p', 'l', 'b',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0',
+ '_', 'v', 'u', 'p', 'l', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 's', '3', '9', '0', '_', 'v', 'u', 'p', 'l', 'h', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v',
+ 'u', 'p', 'l', 'h', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 's', '3', '9', '0', '_', 'v', 'u', 'p', 'l', 'h', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'u',
+ 'p', 'l', 'h', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 's', '3', '9', '0', '_', 'v', 'u', 'p', 'l', 'l', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 's', '3', '9', '0', '_', 'v', 'u', 'p',
+ 'l', 'l', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 's',
+ '3', '9', '0', '_', 'v', 'u', 'p', 'l', 'l', 'h', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'v', 'g',
+ 'u', 's', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'f', '2', 'i', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'f', 'a', 'c', 'c',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'f', 'a', 'd', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'f', 'c', 'm', 'p', 'e', 'q', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'f', 'c', 'm', 'p', 'g', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'f', 'c', 'm', 'p', 'g', 't',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'f', 'm', 'a', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'f', 'm', 'i', 'n', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'f',
+ 'm', 'u', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'f', 'r', 'c', 'p', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'f', 'r', 'c', 'p',
+ 'i', 't', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'f', 'r', 'c', 'p', 'i', 't', '2', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'f',
+ 'r', 's', 'q', 'i', 't', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'f', 'r', 's', 'q', 'r', 't', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'f', 's', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'f', 's', 'u', 'b', 'r', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'i',
+ '2', 'f', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'r', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'f', '2',
+ 'i', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'f', 'n', 'a', 'c', 'c', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'f', 'p', 'n', 'a',
+ 'c', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'i', '2', 'f', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'a', 'd', 'd', 'c', 'a', 'r',
+ 'r', 'y', '_', 'u', '3', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'a', 'd', 'd', 'c', 'a', 'r', 'r', 'y',
+ '_', 'u', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'a', 'd', 'd', 'c', 'a', 'r', 'r', 'y', 'x', '_',
+ 'u', '3', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'a', 'd', 'd', 'c', 'a', 'r', 'r', 'y', 'x', '_', 'u',
+ '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'a', 'e', 's', 'd', 'e', 'c', '1', '2', '8', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'a', 'e',
+ 's', 'd', 'e', 'c', 'l', 'a', 's', 't', '1', '2', '8', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'a', 'e', 's',
+ 'e', 'n', 'c', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'a', 'e', 's', 'e', 'n', 'c', 'l', 'a',
+ 's', 't', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'a', 'e', 's', 'i', 'm', 'c', '1', '2', '8',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'a', 'e', 's', 'k', 'e', 'y', 'g', 'e', 'n', 'a', 's', 's', 'i', 's',
+ 't', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'a', 'd', 'd', 's', 'u', 'b', 'p', 'd', '2', '5',
+ '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'a', 'd', 'd', 's', 'u', 'b', 'p', 's', '2', '5', '6', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b',
+ 'l', 'e', 'n', 'd', 'v', 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'l', 'e', 'n',
+ 'd', 'v', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 'd', '2', 'p',
+ 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 'd', '2', 'd', 'q', '2', '5',
+ '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'c', 'v', 't', 'p', 's', '2', 'd', 'q', '2', '5', '6', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'v', 't', 'd', 'q', '2', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't',
+ 'p', 'd', '2', 'd', 'q', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 's',
+ '2', 'd', 'q', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'd', 'p', 'p', 's', '2', '5', '6', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'h', 'a', 'd', 'd', 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'h', 'a', 'd', 'd', 'p',
+ 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'h', 's', 'u', 'b', 'p', 'd', '2', '5', '6', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'h', 's', 'u', 'b', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'l', 'd', 'd', 'q', 'u',
+ '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'm', 'a', 's', 'k', 'l', 'o', 'a', 'd', 'p', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'm', 'a', 's', 'k', 'l', 'o', 'a', 'd', 'p', 'd', '2', '5', '6', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm',
+ 'a', 's', 'k', 'l', 'o', 'a', 'd', 'p', 's', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a', 's', 'k', 'l',
+ 'o', 'a', 'd', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a', 's', 'k', 's', 't',
+ 'o', 'r', 'e', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'm', 'a', 's', 'k', 's', 't', 'o', 'r', 'e',
+ 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'm', 'a', 's', 'k', 's', 't', 'o', 'r', 'e',
+ 'p', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'm', 'a', 's', 'k', 's', 't', 'o', 'r', 'e', 'p', 's', '2',
+ '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'm', 'a', 'x', 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a', 'x',
+ 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'm', 'i', 'n', 'p', 'd', '2', '5', '6', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'm', 'i', 'n', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'o', 'v', 'm', 's', 'k',
+ 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'm', 'o', 'v', 'm', 's', 'k', 'p', 's', '2',
+ '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 't', 'e', 's', 't', 'c', '2', '5', '6', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't',
+ 'e', 's', 't', 'n', 'z', 'c', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's', 't',
+ 'z', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'r', 'c', 'p', 'p', 's', '2', '5', '6', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r',
+ 'o', 'u', 'n', 'd', 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'o', 'u', 'n', 'd',
+ 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'r', 's', 'q', 'r', 't', 'p', 's', '2', '5',
+ '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 's', 'q', 'r', 't', 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'q', 'r',
+ 't', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', '2', 'f', '1',
+ '2', '8', '_', 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', '2',
+ 'f', '1', '2', '8', '_', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r',
+ 'm', '2', 'f', '1', '2', '8', '_', 's', 'i', '2', '5', '6', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p',
+ 'e', 'r', 'm', 'i', 'l', 'v', 'a', 'r', 'p', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r',
+ 'm', 'i', 'l', 'v', 'a', 'r', 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e',
+ 'r', 'm', 'i', 'l', 'v', 'a', 'r', 'p', 's', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm',
+ 'i', 'l', 'v', 'a', 'r', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 't', 'e', 's',
+ 't', 'c', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 't', 'e', 's', 't', 'c', 'p', 'd', '2', '5',
+ '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 't', 'e', 's', 't', 'c', 'p', 's', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 't', 'e', 's',
+ 't', 'c', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 't', 'e', 's', 't', 'n', 'z',
+ 'c', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 't', 'e', 's', 't', 'n', 'z', 'c', 'p', 'd', '2',
+ '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 't', 'e', 's', 't', 'n', 'z', 'c', 'p', 's', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 't', 'e', 's', 't', 'n', 'z', 'c', 'p', 's', '2', '5', '6', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 't',
+ 'e', 's', 't', 'z', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 't', 'e', 's', 't', 'z', 'p', 'd',
+ '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 't', 'e', 's', 't', 'z', 'p', 's', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 't',
+ 'e', 's', 't', 'z', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'z', 'e', 'r', 'o',
+ 'a', 'l', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'z', 'e', 'r', 'o', 'u', 'p', 'p', 'e', 'r', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'g', 'a', 't', 'h', 'e', 'r', 'd', '_', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e',
+ 'r', 'd', '_', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', 'd',
+ '_', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', 'd', '_', 'p', 'd', '2',
+ '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', 'd', '_', 'p', 's', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g',
+ 'a', 't', 'h', 'e', 'r', 'd', '_', 'p', 's', '2', '5', '6', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a',
+ 't', 'h', 'e', 'r', 'd', '_', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', 'd',
+ '_', 'q', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', 'q', '_', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'g', 'a', 't', 'h', 'e', 'r', 'q', '_', 'd', '2', '5', '6', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g',
+ 'a', 't', 'h', 'e', 'r', 'q', '_', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e',
+ 'r', 'q', '_', 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r',
+ 'q', '_', 'p', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', 'q', '_', 'p', 's',
+ '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', 'q', '_', 'q', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g',
+ 'a', 't', 'h', 'e', 'r', 'q', '_', 'q', '2', '5', '6', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a', 's',
+ 'k', 'l', 'o', 'a', 'd', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a', 's', 'k', 'l', 'o', 'a', 'd',
+ 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'm', 'a', 's', 'k', 'l', 'o', 'a', 'd', 'q', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'm', 'a', 's', 'k', 'l', 'o', 'a', 'd', 'q', '2', '5', '6', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a',
+ 's', 'k', 's', 't', 'o', 'r', 'e', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a', 's', 'k', 's', 't',
+ 'o', 'r', 'e', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a', 's', 'k', 's', 't', 'o',
+ 'r', 'e', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'm', 'a', 's', 'k', 's', 't', 'o', 'r', 'e', 'q', '2',
+ '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'm', 'o', 'v', 'n', 't', 'd', 'q', 'a', '2', '5', '6', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'm', 'p', 's', 'a', 'd', 'b', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b', 's',
+ 'b', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'a', 'b', 's', 'd', '2', '5', '6', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'a', 'b', 's', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'c', 'k', 's', 's', 'd',
+ 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'a', 'c', 'k', 's', 's', 'w', 'b', '2', '5',
+ '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'a', 'c', 'k', 'u', 's', 'd', 'w', '2', '5', '6', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'a', 'c', 'k', 'u', 's', 'w', 'b', '2', '5', '6', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd',
+ 's', 'b', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd', 's', 'w', '2', '5', '6',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'a', 'd', 'd', 'u', 's', 'b', '2', '5', '6', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd',
+ 'd', 'u', 's', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'v', 'g', 'b', '2', '5',
+ '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'a', 'v', 'g', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'b', 'l', 'e',
+ 'n', 'd', 'v', 'b', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'e', 'r', 'm', 'v', 'a', 'r',
+ 's', 'i', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'e', 'r', 'm', 'v', 'a', 'r', 's', 'f',
+ '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'h', 'a', 'd', 'd', 'd', '2', '5', '6', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'h', 'a', 'd', 'd', 's', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'h', 'a', 'd', 'd',
+ 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'h', 's', 'u', 'b', 'd', '2', '5', '6', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'h', 's', 'u', 'b', 's', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'h', 's', 'u',
+ 'b', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'a', 'd', 'd', 'u', 'b', 's', 'w',
+ '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'm', 'a', 'd', 'd', 'w', 'd', '2', '5', '6', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'm', 'o', 'v', 'm', 's', 'k', 'b', '2', '5', '6', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u',
+ 'l', 'd', 'q', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'r', 's', 'w',
+ '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'w', '2', '5', '6', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'u', 'l', 'h', 'u', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'u',
+ 'd', 'q', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 's', 'a', 'd', 'b', 'w', '2', '5', '6',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 's', 'h', 'u', 'f', 'b', '2', '5', '6', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'i', 'g',
+ 'n', 'b', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 's', 'i', 'g', 'n', 'd', '2', '5', '6',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 's', 'i', 'g', 'n', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l',
+ 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'q', '2', '5', '6', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 's', 'l', 'l', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'd', 'i', '2',
+ '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 's', 'l', 'l', 'q', 'i', '2', '5', '6', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's',
+ 'l', 'l', 'w', 'i', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'v', '4', 's',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 's', 'l', 'l', 'v', '8', 's', 'i', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l',
+ 'v', '2', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'v', '4', 'd', 'i', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 's', 'r', 'a', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'w', '2', '5',
+ '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 's', 'r', 'a', 'd', 'i', '2', '5', '6', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r',
+ 'a', 'w', 'i', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'v', '4', 's', 'i',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 's', 'r', 'a', 'v', '8', 's', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'd',
+ '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'q', '2', '5', '6', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's',
+ 'r', 'l', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'd', 'i', '2', '5',
+ '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 's', 'r', 'l', 'q', 'i', '2', '5', '6', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r',
+ 'l', 'w', 'i', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'v', '4', 's', 'i',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 's', 'r', 'l', 'v', '8', 's', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'v',
+ '2', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'v', '4', 'd', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's',
+ 'u', 'b', 's', 'b', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b', 's', 'w', '2',
+ '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 's', 'u', 'b', 'u', 's', 'b', '2', '5', '6', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 's', 'u', 'b', 'u', 's', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'e', 'r', 'm', 't',
+ 'i', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'm',
+ 'b', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'm',
+ 'b', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'm',
+ 'b', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'm',
+ 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'm',
+ 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'm',
+ 'w', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'b', '2', 'm', 'a', 's', 'k', '1',
+ '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'c', 'v', 't', 'b', '2', 'm', 'a', 's', 'k', '2', '5', '6',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'v', 't', 'b', '2', 'm', 'a', 's', 'k', '5', '1', '2', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'v', 't', 'd', '2', 'm', 'a', 's', 'k', '1', '2', '8', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't',
+ 'd', '2', 'm', 'a', 's', 'k', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'd', '2',
+ 'm', 'a', 's', 'k', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'm', 'a', 's', 'k',
+ '2', 'b', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'm', 'a', 's', 'k', '2', 'b',
+ '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'c', 'v', 't', 'm', 'a', 's', 'k', '2', 'b', '5', '1',
+ '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'c', 'v', 't', 'm', 'a', 's', 'k', '2', 'd', '1', '2', '8', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'c', 'v', 't', 'm', 'a', 's', 'k', '2', 'd', '2', '5', '6', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v',
+ 't', 'm', 'a', 's', 'k', '2', 'd', '5', '1', '2', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'm',
+ 'a', 's', 'k', '2', 'q', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'm', 'a', 's',
+ 'k', '2', 'q', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'm', 'a', 's', 'k', '2',
+ 'q', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'm', 'a', 's', 'k', '2', 'w', '1',
+ '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'c', 'v', 't', 'm', 'a', 's', 'k', '2', 'w', '2', '5', '6',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'v', 't', 'm', 'a', 's', 'k', '2', 'w', '5', '1', '2', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'v', 't', 'q', '2', 'm', 'a', 's', 'k', '1', '2', '8', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't',
+ 'q', '2', 'm', 'a', 's', 'k', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'q', '2',
+ 'm', 'a', 's', 'k', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 's', 'i', '2', 's',
+ 'd', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'c', 'v', 't', 's', 'i', '2', 's', 's', '3', '2', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'c', 'v', 't', 's', 'i', '2', 's', 's', '6', '4', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v', 't',
+ 't', 's', 'd', '2', 's', 'i', '3', '2', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v', 't', 't', 's',
+ 'd', '2', 's', 'i', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v', 't', 't', 's', 'd', '2',
+ 'u', 's', 'i', '3', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v', 't', 't', 's', 'd', '2', 'u',
+ 's', 'i', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'c', 'v', 't', 't', 's', 's', '2', 's', 'i',
+ '3', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'c', 'v', 't', 't', 's', 's', '2', 's', 'i', '6', '4',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'c', 'v', 't', 't', 's', 's', '2', 'u', 's', 'i', '3', '2', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'c', 'v', 't', 't', 's', 's', '2', 'u', 's', 'i', '6', '4', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'v', 't', 'u', 's', 'i', '2', 's', 'd', '3', '2', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'u',
+ 's', 'i', '2', 's', 's', '3', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'u', 's', 'i', '2',
+ 's', 'd', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'u', 's', 'i', '2', 's', 's', '6',
+ '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'c', 'v', 't', 'w', '2', 'm', 'a', 's', 'k', '1', '2', '8', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'c', 'v', 't', 'w', '2', 'm', 'a', 's', 'k', '2', '5', '6', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v',
+ 't', 'w', '2', 'm', 'a', 's', 'k', '5', '1', '2', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', '2',
+ 'p', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', '2', 'p', 's', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', 's', 'i', 'v', '8',
+ 'd', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', 's', 'i', 'v', '1', '6', 's',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'g', 'a', 't', 'h', 'e', 'r', 's', 'i', 'v', '8', 'd', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'g', 'a', 't', 'h', 'e', 'r', 's', 'i', 'v', '1', '6', 's', 'f', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g',
+ 'a', 't', 'h', 'e', 'r', 'd', 'i', 'v', '8', 'd', 'f', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't',
+ 'h', 'e', 'r', 'd', 'i', 'v', '1', '6', 's', 'i', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h',
+ 'e', 'r', 'd', 'i', 'v', '8', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r',
+ 'd', 'i', 'v', '1', '6', 's', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', '3',
+ 'd', 'i', 'v', '2', 'd', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', '3', 'd',
+ 'i', 'v', '2', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', '3', 'd', 'i',
+ 'v', '4', 'd', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', '3', 'd', 'i', 'v',
+ '4', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', '3', 'd', 'i', 'v', '4',
+ 's', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', '3', 'd', 'i', 'v', '4', 's',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'g', 'a', 't', 'h', 'e', 'r', '3', 'd', 'i', 'v', '8', 's', 'f',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'g', 'a', 't', 'h', 'e', 'r', '3', 'd', 'i', 'v', '8', 's', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'g', 'a', 't', 'h', 'e', 'r', '3', 's', 'i', 'v', '2', 'd', 'f', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g',
+ 'a', 't', 'h', 'e', 'r', '3', 's', 'i', 'v', '2', 'd', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a',
+ 't', 'h', 'e', 'r', '3', 's', 'i', 'v', '4', 'd', 'f', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't',
+ 'h', 'e', 'r', '3', 's', 'i', 'v', '4', 'd', 'i', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h',
+ 'e', 'r', '3', 's', 'i', 'v', '4', 's', 'f', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e',
+ 'r', '3', 's', 'i', 'v', '4', 's', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r',
+ '3', 's', 'i', 'v', '8', 's', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', '3',
+ 's', 'i', 'v', '8', 's', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', 'p', 'f',
+ 'd', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'g', 'a', 't', 'h', 'e', 'r', 'p', 'f', 'd', 'p', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'g', 'a', 't', 'h', 'e', 'r', 'p', 'f', 'q', 'p', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'a',
+ 't', 'h', 'e', 'r', 'p', 'f', 'q', 'p', 's', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'k', 'a', 'n', 'd', 'h',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'k', 'a', 'n', 'd', 'n', 'h', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'k', 'n', 'o', 't', 'h',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'k', 'o', 'r', 'h', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'k', 'o', 'r', 't', 'e', 's', 't',
+ 'c', 'h', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'k', 'o', 'r', 't', 'e', 's', 't', 'z', 'h', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'k', 'u', 'n', 'p', 'c', 'k', 'h', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'k', 'u', 'n', 'p', 'c', 'k',
+ 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'k', 'u', 'n', 'p', 'c', 'k', 's', 'i', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'k', 'x', 'n',
+ 'o', 'r', 'h', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'k', 'x', 'o', 'r', 'h', 'i', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'a', 'd', 'd',
+ 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'a', 'd', 'd', 'p',
+ 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'a', 'd', 'd', 's', 'd',
+ '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'a', 'd', 'd',
+ 's', 's', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b',
+ 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'f', '3', '2', 'x', '2', '_', '2',
+ '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a',
+ 's', 't', 'f', '3', '2', 'x', '2', '_', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'f', '3', '2', 'x',
+ '4', '_', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a',
+ 'd', 'c', 'a', 's', 't', 'f', '3', '2', 'x', '4', '_', '5', '1', '2', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'f', '3', '2', 'x', '8', '_',
+ '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c',
+ 'a', 's', 't', 'f', '6', '4', 'x', '2', '_', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'f', '6', '4',
+ 'x', '2', '_', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'r', 'o',
+ 'a', 'd', 'c', 'a', 's', 't', 'f', '6', '4', 'x', '4', '_', '5', '1', '2',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'i', '3', '2', 'x', '2',
+ '_', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd',
+ 'c', 'a', 's', 't', 'i', '3', '2', 'x', '2', '_', '2', '5', '6', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'i', '3',
+ '2', 'x', '2', '_', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'r',
+ 'o', 'a', 'd', 'c', 'a', 's', 't', 'i', '3', '2', 'x', '4', '_', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's',
+ 't', 'i', '3', '2', 'x', '4', '_', '5', '1', '2', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a',
+ 'd', 'c', 'a', 's', 't', 'i', '3', '2', 'x', '8', '_', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'i',
+ '6', '4', 'x', '2', '_', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b',
+ 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'i', '6', '4', 'x', '2', '_', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'r', 'o', 'a', 'd', 'c', 'a',
+ 's', 't', 'i', '6', '4', 'x', '4', '_', '5', '1', '2', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'm', 'p',
+ 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'm', 'p', 'p',
+ 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'm', 'p', 'p', 'd',
+ '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'm', 'p', 'p', 's', '1',
+ '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'm', 'p', 'p', 's', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'm', 'p', 'p', 's', '5', '1', '2',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'c', 'm', 'p', 's', 'd', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'c', 'm', 'p', 's', 's', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o',
+ 'm', 'p', 'r', 'e', 's', 's', 's', 'i', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's', 's', 'i', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's', 's',
+ 'i', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'p', 'r',
+ 'e', 's', 's', 'd', 'f', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'o', 'm', 'p', 'r', 'e', 's', 's', 'd', 'f', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's', 'd', 'f', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's',
+ 's', 'f', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'p',
+ 'r', 'e', 's', 's', 's', 'f', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'c', 'o', 'm', 'p', 'r', 'e', 's', 's', 's', 'f', '5', '1', '2', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's', 'd', 'i', '1',
+ '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'p', 'r', 'e', 's',
+ 's', 'd', 'i', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm',
+ 'p', 'r', 'e', 's', 's', 'd', 'i', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's', 's', 't', 'o', 'r', 'e', 's',
+ 'i', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'p', 'r',
+ 'e', 's', 's', 's', 't', 'o', 'r', 'e', 's', 'i', '2', '5', '6', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's', 's', 't', 'o',
+ 'r', 'e', 's', 'i', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o',
+ 'm', 'p', 'r', 'e', 's', 's', 's', 't', 'o', 'r', 'e', 'd', 'f', '1', '2',
+ '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's',
+ 's', 't', 'o', 'r', 'e', 'd', 'f', '2', '5', '6', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's', 's', 't', 'o', 'r', 'e', 'd',
+ 'f', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'p', 'r',
+ 'e', 's', 's', 's', 't', 'o', 'r', 'e', 's', 'f', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's', 's', 't', 'o',
+ 'r', 'e', 's', 'f', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o',
+ 'm', 'p', 'r', 'e', 's', 's', 's', 't', 'o', 'r', 'e', 's', 'f', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's',
+ 's', 't', 'o', 'r', 'e', 'd', 'i', '1', '2', '8', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'o', 'm', 'p', 'r', 'e', 's', 's', 's', 't', 'o', 'r', 'e', 'd',
+ 'i', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'p', 'r',
+ 'e', 's', 's', 's', 't', 'o', 'r', 'e', 'd', 'i', '5', '1', '2', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'p', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', 's',
+ 'i', '_', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'c', 'o',
+ 'n', 'f', 'l', 'i', 'c', 't', 's', 'i', '_', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'p', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', 's', 'i',
+ '_', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'c', 'o', 'n',
+ 'f', 'l', 'i', 'c', 't', 'd', 'i', '_', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'p', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'd', 'i', '_',
+ '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'c', 'o', 'n', 'f',
+ 'l', 'i', 'c', 't', 'd', 'i', '_', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'v', 't', 'd', 'q', '2', 'p', 's', '1', '2', '8', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'c', 'v', 't', 'd', 'q', '2', 'p', 's', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'd', 'q', '2', 'p', 's', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 'd', '2', 'd', 'q',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 'd', '2',
+ 'd', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p',
+ 'd', '2', 'd', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v',
+ 't', 'p', 'd', '2', 'p', 's', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't',
+ 'p', 'd', '2', 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'v', 't', 'p', 'd', '2', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'v', 't', 'p', 'd', '2', 'q', 'q', '1', '2', '8', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'c', 'v', 't', 'p', 'd', '2', 'q', 'q', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 'd', '2', 'q', 'q', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 'd', '2', 'u', 'd',
+ 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 'd',
+ '2', 'u', 'd', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v',
+ 't', 'p', 'd', '2', 'u', 'd', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'v', 't', 'p', 'd', '2', 'u', 'q', 'q', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'c', 'v', 't', 'p', 'd', '2', 'u', 'q', 'q', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 'd', '2', 'u', 'q',
+ 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 's',
+ '2', 'd', 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't',
+ 'p', 's', '2', 'd', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'v', 't', 'p', 's', '2', 'd', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'v', 't', 'p', 's', '2', 'p', 'd', '1', '2', '8', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'c', 'v', 't', 'p', 's', '2', 'p', 'd', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 's', '2', 'p', 'd', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 's', '2', 'q', 'q',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 's', '2',
+ 'q', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p',
+ 's', '2', 'q', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v',
+ 't', 'p', 's', '2', 'u', 'd', 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'v', 't', 'p', 's', '2', 'u', 'd', 'q', '2', '5', '6', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'c', 'v', 't', 'p', 's', '2', 'u', 'd', 'q', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 's', '2', 'u', 'q',
+ 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 's',
+ '2', 'u', 'q', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v',
+ 't', 'p', 's', '2', 'u', 'q', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'v', 't', 'q', 'q', '2', 'p', 'd', '1', '2', '8', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'c', 'v', 't', 'q', 'q', '2', 'p', 'd', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'q', 'q', '2', 'p', 'd', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'q', 'q', '2', 'p', 's',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'q', 'q', '2',
+ 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'q',
+ 'q', '2', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v',
+ 't', 's', 'd', '2', 's', 's', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'c', 'v', 't', 's', 's', '2', 's', 'd', '_', 'r', 'o', 'u',
+ 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 'd', '2',
+ 'd', 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't',
+ 'p', 'd', '2', 'd', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'v', 't', 't', 'p', 'd', '2', 'd', 'q', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'c', 'v', 't', 't', 'p', 'd', '2', 'q', 'q', '1', '2', '8', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 'd', '2', 'q', 'q', '2',
+ '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 'd', '2',
+ 'q', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't',
+ 'p', 'd', '2', 'u', 'd', 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'c', 'v', 't', 't', 'p', 'd', '2', 'u', 'd', 'q', '2', '5', '6', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 'd', '2', 'u', 'd', 'q', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 'd', '2',
+ 'u', 'q', 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't',
+ 't', 'p', 'd', '2', 'u', 'q', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'v', 't', 't', 'p', 'd', '2', 'u', 'q', 'q', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 's', '2', 'd', 'q', '1',
+ '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 's', '2',
+ 'd', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't',
+ 'p', 's', '2', 'd', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'v', 't', 't', 'p', 's', '2', 'q', 'q', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'c', 'v', 't', 't', 'p', 's', '2', 'q', 'q', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 's', '2', 'q', 'q', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 's', '2',
+ 'u', 'd', 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't',
+ 't', 'p', 's', '2', 'u', 'd', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'v', 't', 't', 'p', 's', '2', 'u', 'd', 'q', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 's', '2', 'u', 'q', 'q',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 's',
+ '2', 'u', 'q', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v',
+ 't', 't', 'p', 's', '2', 'u', 'q', 'q', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'c', 'v', 't', 'u', 'd', 'q', '2', 'p', 's', '1', '2', '8', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'u', 'd', 'q', '2', 'p', 's', '2',
+ '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'u', 'd', 'q', '2',
+ 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'u',
+ 'q', 'q', '2', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'v', 't', 'u', 'q', 'q', '2', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'c', 'v', 't', 'u', 'q', 'q', '2', 'p', 'd', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'u', 'q', 'q', '2', 'p', 's', '1',
+ '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'u', 'q', 'q', '2',
+ 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'u',
+ 'q', 'q', '2', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'd',
+ 'b', 'p', 's', 'a', 'd', 'b', 'w', '1', '2', '8', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'd', 'b', 'p', 's', 'a', 'd', 'b', 'w', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'd', 'b', 'p', 's', 'a', 'd', 'b', 'w', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'd', 'i', 'v', 'p', 'd', '5', '1', '2', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'd', 'i', 'v', 'p', 's', '5', '1', '2', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'd', 'i', 'v', 's', 'd', '_', 'r', 'o', 'u', 'n', 'd', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'd', 'i', 'v', 's', 's', '_', 'r', 'o', 'u', 'n',
+ 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n', 'd', 's', 'i',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n', 'd',
+ 's', 'i', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', 'a',
+ 'n', 'd', 's', 'i', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x',
+ 'p', 'a', 'n', 'd', 'l', 'o', 'a', 'd', 's', 'i', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n', 'd', 'l', 'o', 'a', 'd', 's',
+ 'i', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n',
+ 'd', 'l', 'o', 'a', 'd', 's', 'i', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'e', 'x', 'p', 'a', 'n', 'd', 'l', 'o', 'a', 'd', 'd', 'f', '1', '2',
+ '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n', 'd', 'l', 'o',
+ 'a', 'd', 'd', 'f', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x',
+ 'p', 'a', 'n', 'd', 'l', 'o', 'a', 'd', 'd', 'f', '5', '1', '2', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n', 'd', 'l', 'o', 'a', 'd', 's',
+ 'f', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n',
+ 'd', 'l', 'o', 'a', 'd', 's', 'f', '2', '5', '6', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'e', 'x', 'p', 'a', 'n', 'd', 'l', 'o', 'a', 'd', 's', 'f', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n', 'd', 'l', 'o',
+ 'a', 'd', 'd', 'i', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x',
+ 'p', 'a', 'n', 'd', 'l', 'o', 'a', 'd', 'd', 'i', '2', '5', '6', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n', 'd', 'l', 'o', 'a', 'd', 'd',
+ 'i', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n',
+ 'd', 'd', 'f', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p',
+ 'a', 'n', 'd', 'd', 'f', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e',
+ 'x', 'p', 'a', 'n', 'd', 'd', 'f', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'e', 'x', 'p', 'a', 'n', 'd', 's', 'f', '1', '2', '8', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'e', 'x', 'p', 'a', 'n', 'd', 's', 'f', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n', 'd', 's', 'f', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n', 'd', 'd', 'i',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', 'a', 'n', 'd',
+ 'd', 'i', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 'p', 'a',
+ 'n', 'd', 'd', 'i', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'i',
+ 'x', 'u', 'p', 'i', 'm', 'm', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'f', 'i', 'x', 'u', 'p', 'i', 'm', 'm', 'p', 'd', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'f', 'i', 'x', 'u', 'p', 'i', 'm', 'm', 'p',
+ 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'i', 'x', 'u', 'p',
+ 'i', 'm', 'm', 'p', 's', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'f',
+ 'i', 'x', 'u', 'p', 'i', 'm', 'm', 'p', 's', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'f', 'i', 'x', 'u', 'p', 'i', 'm', 'm', 'p', 's', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'i', 'x', 'u', 'p', 'i', 'm', 'm',
+ 's', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'i', 'x', 'u', 'p', 'i', 'm',
+ 'm', 's', 's', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'p', 'c', 'l', 'a', 's',
+ 's', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'p', 'c',
+ 'l', 'a', 's', 's', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'f', 'p', 'c', 'l', 'a', 's', 's', 'p', 'd', '5', '1', '2', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'f', 'p', 'c', 'l', 'a', 's', 's', 'p', 's', '1', '2', '8',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'f', 'p', 'c', 'l', 'a', 's', 's', 'p', 's',
+ '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'p', 'c', 'l', 'a', 's',
+ 's', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'p', 'c',
+ 'l', 'a', 's', 's', 's', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'p', 'c',
+ 'l', 'a', 's', 's', 's', 's', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'e', 't',
+ 'e', 'x', 'p', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g',
+ 'e', 't', 'e', 'x', 'p', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'g', 'e', 't', 'e', 'x', 'p', 'p', 'd', '5', '1', '2', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'g', 'e', 't', 'e', 'x', 'p', 'p', 's', '1', '2', '8', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'g', 'e', 't', 'e', 'x', 'p', 'p', 's', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'e', 't', 'e', 'x', 'p', 'p', 's',
+ '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'e', 't', 'e', 'x', 'p',
+ 's', 'd', '1', '2', '8', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'g', 'e', 't', 'e', 'x', 'p', 's', 's', '1', '2', '8', '_', 'r',
+ 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'e', 't', 'm', 'a',
+ 'n', 't', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'e',
+ 't', 'm', 'a', 'n', 't', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'g', 'e', 't', 'm', 'a', 'n', 't', 'p', 'd', '5', '1', '2', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'g', 'e', 't', 'm', 'a', 'n', 't', 'p', 's', '1', '2',
+ '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'e', 't', 'm', 'a', 'n', 't', 'p',
+ 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'e', 't', 'm', 'a',
+ 'n', 't', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'g', 'e',
+ 't', 'm', 'a', 'n', 't', 's', 'd', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'g', 'e', 't', 'm', 'a', 'n', 't', 's', 's', '_', 'r',
+ 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'i', 'n', 's', 'e', 'r',
+ 't', 'f', '3', '2', 'x', '4', '_', '2', '5', '6', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'i', 'n', 's', 'e', 'r', 't', 'f', '3', '2', 'x', '4', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'i', 'n', 's', 'e', 'r', 't', 'f', '3', '2', 'x', '8', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'i', 'n', 's', 'e', 'r', 't', 'f', '6', '4', 'x',
+ '2', '_', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'i', 'n', 's', 'e',
+ 'r', 't', 'f', '6', '4', 'x', '2', '_', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'i', 'n', 's', 'e', 'r', 't', 'f', '6', '4', 'x', '4', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'i', 'n', 's', 'e', 'r', 't', 'i', '3', '2', 'x', '4',
+ '_', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'i', 'n', 's', 'e', 'r',
+ 't', 'i', '3', '2', 'x', '4', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'i', 'n', 's',
+ 'e', 'r', 't', 'i', '3', '2', 'x', '8', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'i',
+ 'n', 's', 'e', 'r', 't', 'i', '6', '4', 'x', '2', '_', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'i', 'n', 's', 'e', 'r', 't', 'i', '6', '4', 'x',
+ '2', '_', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'i', 'n', 's', 'e',
+ 'r', 't', 'i', '6', '4', 'x', '4', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a',
+ 'x', 'p', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a', 'x', 'p', 'd', '2',
+ '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a', 'x', 'p', 'd', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a', 'x', 'p', 's', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'm', 'a', 'x', 'p', 's', '2', '5', '6', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'm', 'a', 'x', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'm', 'a', 'x', 's', 'd', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'm', 'a', 'x', 's', 's', '_', 'r', 'o', 'u', 'n', 'd', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'm', 'i', 'n', 'p', 'd', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'm', 'i', 'n', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'm', 'i', 'n', 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm',
+ 'i', 'n', 'p', 's', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'i', 'n', 'p', 's',
+ '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'i', 'n', 'p', 's', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'i', 'n', 's', 'd', '_', 'r',
+ 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'i', 'n', 's', 's',
+ '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'u', 'l',
+ 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'u', 'l', 'p',
+ 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'u', 'l', 's', 'd',
+ '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'u', 'l',
+ 's', 's', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'a', 'b', 's', 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a',
+ 'b', 's', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b',
+ 's', 'b', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b', 's',
+ 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b', 's', 'd',
+ '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b', 's', 'd', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b', 's', 'q', '1', '2',
+ '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b', 's', 'q', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b', 's', 'q', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'a', 'b', 's', 'w', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'a', 'b', 's', 'w', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'a', 'b', 's', 'w', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'a', 'c', 'k', 's', 's', 'd', 'w', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'a', 'c', 'k', 's', 's', 'd', 'w', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'c', 'k', 's', 's', 'd', 'w', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'c', 'k', 's', 's', 'w',
+ 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'c', 'k', 's',
+ 's', 'w', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'c',
+ 'k', 's', 's', 'w', 'b', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'a', 'c', 'k', 'u', 's', 'd', 'w', '1', '2', '8', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'a', 'c', 'k', 'u', 's', 'd', 'w', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'a', 'c', 'k', 'u', 's', 'd', 'w', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'a', 'c', 'k', 'u', 's', 'w', 'b', '1', '2',
+ '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'c', 'k', 'u', 's', 'w', 'b',
+ '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'c', 'k', 'u', 's',
+ 'w', 'b', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd',
+ 's', 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd',
+ 's', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd',
+ 's', 'b', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd',
+ 's', 'w', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd',
+ 's', 'w', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd',
+ 's', 'w', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd',
+ 'u', 's', 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd',
+ 'd', 'u', 's', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a',
+ 'd', 'd', 'u', 's', 'b', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'a', 'd', 'd', 'u', 's', 'w', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'a', 'd', 'd', 'u', 's', 'w', '2', '5', '6', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'a', 'd', 'd', 'u', 's', 'w', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'a', 'v', 'g', 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'a', 'v', 'g', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'a', 'v', 'g', 'b', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'a', 'v', 'g', 'w', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a',
+ 'v', 'g', 'w', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'v',
+ 'g', 'w', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'b', 'r', 'o',
+ 'a', 'd', 'c', 'a', 's', 't', 'b', '1', '2', '8', '_', 'g', 'p', 'r', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't',
+ 'b', '2', '5', '6', '_', 'g', 'p', 'r', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'b', '5', '1', '2', '_', 'g',
+ 'p', 'r', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'b', 'r', 'o', 'a', 'd', 'c',
+ 'a', 's', 't', 'd', '1', '2', '8', '_', 'g', 'p', 'r', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'd', '2', '5',
+ '6', '_', 'g', 'p', 'r', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'b', 'r', 'o',
+ 'a', 'd', 'c', 'a', 's', 't', 'd', '5', '1', '2', '_', 'g', 'p', 'r', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't',
+ 'q', '1', '2', '8', '_', 'g', 'p', 'r', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'q', '2', '5', '6', '_', 'g',
+ 'p', 'r', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'b', 'r', 'o', 'a', 'd', 'c',
+ 'a', 's', 't', 'q', '5', '1', '2', '_', 'g', 'p', 'r', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'q', '5', '1',
+ '2', '_', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'b', 'r', 'o',
+ 'a', 'd', 'c', 'a', 's', 't', 'w', '1', '2', '8', '_', 'g', 'p', 'r', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't',
+ 'w', '2', '5', '6', '_', 'g', 'p', 'r', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 'w', '5', '1', '2', '_', 'g',
+ 'p', 'r', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'e', 'r', 'm', 'v', 'a', 'r',
+ 'd', 'f', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'e', 'r', 'm',
+ 'v', 'a', 'r', 'd', 'f', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'e', 'r', 'm', 'v', 'a', 'r', 'd', 'i', '2', '5', '6', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'e', 'r', 'm', 'v', 'a', 'r', 'd', 'i', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'e', 'r', 'm', 'v', 'a', 'r', 'h', 'i', '1',
+ '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'e', 'r', 'm', 'v', 'a', 'r',
+ 'h', 'i', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'e', 'r', 'm',
+ 'v', 'a', 'r', 'h', 'i', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'e', 'r', 'm', 'v', 'a', 'r', 'q', 'i', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'e', 'r', 'm', 'v', 'a', 'r', 'q', 'i', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'e', 'r', 'm', 'v', 'a', 'r', 'q', 'i', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'e', 'r', 'm', 'v', 'a', 'r',
+ 's', 'f', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'e', 'r', 'm',
+ 'v', 'a', 'r', 's', 'f', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'e', 'r', 'm', 'v', 'a', 'r', 's', 'i', '2', '5', '6', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'e', 'r', 'm', 'v', 'a', 'r', 's', 'i', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'a', 'd', 'd', 'u', 'b', 's', 'w', '1',
+ '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'a', 'd', 'd', 'u', 'b',
+ 's', 'w', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'a', 'd',
+ 'd', 'u', 'b', 's', 'w', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'a', 'd', 'd', 'w', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'm', 'a', 'd', 'd', 'w', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'm', 'a', 'd', 'd', 'w', 'd', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'd', 'b', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'd', 'b', '2', '5', '6', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'd', 'b', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'd', 'b', '1', '2', '8', 'm', 'e', 'm', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'd', 'b', '2', '5', '6', 'm',
+ 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'd', 'b', '5',
+ '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 'd', 'w', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 'd', 'w', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 'd', 'w', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 'd', 'w', '1', '2', '8', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 'd', 'w', '2', '5', '6', 'm', 'e', 'm', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'd', 'w', '5', '1', '2', 'm', 'e', 'm', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'q', 'b', '1', '2', '8', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'q', 'b', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'q', 'b', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'q', 'b', '1', '2', '8', 'm',
+ 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'q', 'b', '2',
+ '5', '6', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 'q', 'b', '5', '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 'q', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 'q', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 'q', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 'q', 'd', '1', '2', '8', 'm', 'e', 'm', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'q', 'd', '2', '5', '6', 'm', 'e', 'm', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'q', 'd', '5', '1', '2', 'm',
+ 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'q', 'w', '1',
+ '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'q', 'w', '2',
+ '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'q', 'w', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'q', 'w', '1',
+ '2', '8', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 'q', 'w', '2', '5', '6', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 'q', 'w', '5', '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'w', 'b', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'w', 'b', '2', '5', '6', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'w', 'b', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'w', 'b', '1', '2', '8', 'm', 'e', 'm', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'w', 'b', '2', '5', '6', 'm',
+ 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'w', 'b', '5',
+ '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 's', 'd', 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o',
+ 'v', 's', 'd', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm',
+ 'o', 'v', 's', 'd', 'b', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 's', 'd', 'b', '1', '2', '8', 'm', 'e', 'm', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'm', 'o', 'v', 's', 'd', 'b', '2', '5', '6', 'm', 'e',
+ 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 's', 'd', 'b', '5',
+ '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 's', 'd', 'w', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o',
+ 'v', 's', 'd', 'w', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm',
+ 'o', 'v', 's', 'd', 'w', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 's', 'd', 'w', '1', '2', '8', 'm', 'e', 'm', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'm', 'o', 'v', 's', 'd', 'w', '2', '5', '6', 'm', 'e',
+ 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 's', 'd', 'w', '5',
+ '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 's', 'q', 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o',
+ 'v', 's', 'q', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm',
+ 'o', 'v', 's', 'q', 'b', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 's', 'q', 'b', '1', '2', '8', 'm', 'e', 'm', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'm', 'o', 'v', 's', 'q', 'b', '2', '5', '6', 'm', 'e',
+ 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 's', 'q', 'b', '5',
+ '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 's', 'q', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o',
+ 'v', 's', 'q', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm',
+ 'o', 'v', 's', 'q', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 's', 'q', 'd', '1', '2', '8', 'm', 'e', 'm', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'm', 'o', 'v', 's', 'q', 'd', '2', '5', '6', 'm', 'e',
+ 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 's', 'q', 'd', '5',
+ '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 's', 'q', 'w', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o',
+ 'v', 's', 'q', 'w', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm',
+ 'o', 'v', 's', 'q', 'w', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 's', 'q', 'w', '1', '2', '8', 'm', 'e', 'm', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'm', 'o', 'v', 's', 'q', 'w', '2', '5', '6', 'm', 'e',
+ 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 's', 'q', 'w', '5',
+ '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 's', 'w', 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o',
+ 'v', 's', 'w', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm',
+ 'o', 'v', 's', 'w', 'b', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 's', 'w', 'b', '1', '2', '8', 'm', 'e', 'm', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'm', 'o', 'v', 's', 'w', 'b', '2', '5', '6', 'm', 'e',
+ 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 's', 'w', 'b', '5',
+ '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 'u', 's', 'd', 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm',
+ 'o', 'v', 'u', 's', 'd', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'm', 'o', 'v', 'u', 's', 'd', 'b', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'd', 'b', '1', '2', '8', 'm', 'e',
+ 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'd', 'b',
+ '2', '5', '6', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o',
+ 'v', 'u', 's', 'd', 'b', '5', '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'd', 'w', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'd', 'w', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'd', 'w', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'd',
+ 'w', '1', '2', '8', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm',
+ 'o', 'v', 'u', 's', 'd', 'w', '2', '5', '6', 'm', 'e', 'm', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'd', 'w', '5', '1', '2', 'm',
+ 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'q',
+ 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u',
+ 's', 'q', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o',
+ 'v', 'u', 's', 'q', 'b', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 'u', 's', 'q', 'b', '1', '2', '8', 'm', 'e', 'm', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'q', 'b', '2', '5', '6',
+ 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's',
+ 'q', 'b', '5', '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'o', 'v', 'u', 's', 'q', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'm', 'o', 'v', 'u', 's', 'q', 'd', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'q', 'd', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'q', 'd', '1', '2',
+ '8', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u',
+ 's', 'q', 'd', '2', '5', '6', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'm', 'o', 'v', 'u', 's', 'q', 'd', '5', '1', '2', 'm', 'e', 'm', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'q', 'w', '1', '2',
+ '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'q', 'w',
+ '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's',
+ 'q', 'w', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 'u', 's', 'q', 'w', '1', '2', '8', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'm', 'o', 'v', 'u', 's', 'q', 'w', '2', '5', '6', 'm', 'e', 'm',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'q', 'w', '5',
+ '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v',
+ 'u', 's', 'w', 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm',
+ 'o', 'v', 'u', 's', 'w', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'm', 'o', 'v', 'u', 's', 'w', 'b', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'w', 'b', '1', '2', '8', 'm', 'e',
+ 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'u', 's', 'w', 'b',
+ '2', '5', '6', 'm', 'e', 'm', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'o',
+ 'v', 'u', 's', 'w', 'b', '5', '1', '2', 'm', 'e', 'm', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'u', 'l', 'd', 'q', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'u', 'l', 'd', 'q', '2', '5', '6', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'u', 'l', 'd', 'q', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'u', 'l', 'h', 'r', 's', 'w', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'r', 's', 'w', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'r', 's', 'w', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'w', '1',
+ '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'w', '2',
+ '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'w', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'u', 'w',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'u',
+ 'w', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h',
+ 'u', 'w', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm', 'u',
+ 'l', 't', 'i', 's', 'h', 'i', 'f', 't', 'q', 'b', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'p', 'm', 'u', 'l', 't', 'i', 's', 'h', 'i', 'f',
+ 't', 'q', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm',
+ 'u', 'l', 't', 'i', 's', 'h', 'i', 'f', 't', 'q', 'b', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'u', 'd', 'q', '1', '2', '8',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'u', 'd', 'q', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'u', 'd', 'q', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'r', 'o', 'l', 'd', '1', '2',
+ '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'r', 'o', 'l', 'd', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'r', 'o', 'l', 'd', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'r', 'o', 'l', 'q', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'r', 'o', 'l', 'q', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'r', 'o', 'l', 'q', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'r', 'o', 'l', 'v', 'd', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'r', 'o', 'l', 'v', 'd', '2', '5', '6', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'r', 'o', 'l', 'v', 'd', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'r', 'o', 'l', 'v', 'q', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'r', 'o', 'l', 'v', 'q', '2', '5', '6', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'r', 'o', 'l', 'v', 'q', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'r', 'o', 'r', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'r', 'o', 'r', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'r', 'o', 'r', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'r', 'o', 'r', 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'r',
+ 'o', 'r', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'r', 'o',
+ 'r', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'r', 'o', 'r',
+ 'v', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'r', 'o', 'r',
+ 'v', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'r', 'o', 'r',
+ 'v', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'r', 'o', 'r',
+ 'v', 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'r', 'o', 'r',
+ 'v', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'r', 'o', 'r',
+ 'v', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b',
+ 's', 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b',
+ 's', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b',
+ 's', 'b', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b',
+ 's', 'w', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b',
+ 's', 'w', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b',
+ 's', 'w', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b',
+ 'u', 's', 'b', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u',
+ 'b', 'u', 's', 'b', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's',
+ 'u', 'b', 'u', 's', 'b', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 's', 'u', 'b', 'u', 's', 'w', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 's', 'u', 'b', 'u', 's', 'w', '2', '5', '6', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 's', 'u', 'b', 'u', 's', 'w', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 't', 'e', 'r', 'n', 'l', 'o', 'g', 'd', '1', '2', '8', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 't', 'e', 'r', 'n', 'l', 'o', 'g', 'd', '2',
+ '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 'r', 'n', 'l', 'o',
+ 'g', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 'r',
+ 'n', 'l', 'o', 'g', 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 't', 'e', 'r', 'n', 'l', 'o', 'g', 'q', '2', '5', '6', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 't', 'e', 'r', 'n', 'l', 'o', 'g', 'q', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'r', 'a', 'n', 'g', 'e', 'p', 'd', '1', '2', '8',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'r', 'a', 'n', 'g', 'e', 'p', 'd', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'a', 'n', 'g', 'e', 'p', 'd', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'a', 'n', 'g', 'e', 'p', 's',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'a', 'n', 'g', 'e', 'p',
+ 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'a', 'n', 'g', 'e',
+ 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'a', 'n', 'g',
+ 'e', 's', 'd', '1', '2', '8', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'r', 'a', 'n', 'g', 'e', 's', 's', '1', '2', '8', '_', 'r',
+ 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'e', 'd', 'u', 'c',
+ 'e', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'e', 'd',
+ 'u', 'c', 'e', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r',
+ 'e', 'd', 'u', 'c', 'e', 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'r', 'e', 'd', 'u', 'c', 'e', 'p', 's', '1', '2', '8', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'r', 'e', 'd', 'u', 'c', 'e', 'p', 's', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'r', 'e', 'd', 'u', 'c', 'e', 'p', 's', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'e', 'd', 'u', 'c', 'e', 's', 'd',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'r', 'e', 'd', 'u', 'c', 'e', 's', 's', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'r', 'n', 'd', 's', 'c', 'a', 'l', 'e', 'p', 'd',
+ '_', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'n', 'd', 's', 'c',
+ 'a', 'l', 'e', 'p', 'd', '_', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'r', 'n', 'd', 's', 'c', 'a', 'l', 'e', 'p', 'd', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'r', 'n', 'd', 's', 'c', 'a', 'l', 'e', 'p', 's', '_', '1', '2', '8',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'r', 'n', 'd', 's', 'c', 'a', 'l', 'e', 'p',
+ 's', '_', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'n', 'd', 's',
+ 'c', 'a', 'l', 'e', 'p', 's', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'n', 'd',
+ 's', 'c', 'a', 'l', 'e', 's', 'd', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'r', 'n', 'd', 's', 'c', 'a', 'l', 'e', 's', 's', '_',
+ 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 'l',
+ 'e', 'f', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c',
+ 'a', 'l', 'e', 'f', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 's', 'c', 'a', 'l', 'e', 'f', 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 's', 'c', 'a', 'l', 'e', 'f', 'p', 's', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 's', 'c', 'a', 'l', 'e', 'f', 'p', 's', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 'l', 'e', 'f', 'p', 's', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 'l', 'e', 'f', 's',
+ 'd', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c',
+ 'a', 'l', 'e', 'f', 's', 's', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 's', 'h', 'u', 'f', '_', 'f', '3', '2', 'x', '4', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 's', 'h', 'u', 'f', '_', 'f', '3', '2', 'x', '4', '_',
+ '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'h', 'u', 'f', '_', 'f',
+ '6', '4', 'x', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'h', 'u', 'f', '_',
+ 'f', '6', '4', 'x', '2', '_', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 's', 'h', 'u', 'f', '_', 'i', '3', '2', 'x', '4', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 's', 'h', 'u', 'f', '_', 'i', '3', '2', 'x', '4', '_', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 's', 'h', 'u', 'f', '_', 'i', '6', '4', 'x',
+ '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 's', 'h', 'u', 'f', '_', 'i', '6', '4',
+ 'x', '2', '_', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'q', 'r',
+ 't', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'q', 'r',
+ 't', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'q', 'r',
+ 't', 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'q', 'r',
+ 't', 'p', 's', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'q', 'r',
+ 't', 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'q', 'r',
+ 't', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'q', 'r',
+ 't', 's', 'd', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 's', 'q', 'r', 't', 's', 's', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 's', 't', 'o', 'r', 'e', 's', 's', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 's', 'u', 'b', 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 's', 'u', 'b', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's',
+ 'u', 'b', 's', 'd', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 's', 'u', 'b', 's', 's', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'c', 'v', 't', 'p', 'h', '2', 'p', 's', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'c', 'v', 't', 'p', 'h', '2', 'p', 's', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v', 't', 'p', 'h', '2', 'p', 's',
+ '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v', 't', 'p', 's',
+ '2', 'p', 'h', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v', 't', 'p', 's',
+ '2', 'p', 'h', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v',
+ 't', 'p', 's', '2', 'p', 'h', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'e', 'x', 't', 'r', 'a', 'c', 't', 'f', '3', '2', 'x', '4', '_', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', 'f',
+ '3', '2', 'x', '4', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 't', 'r', 'a',
+ 'c', 't', 'f', '3', '2', 'x', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x',
+ 't', 'r', 'a', 'c', 't', 'f', '6', '4', 'x', '2', '_', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', 'f', '6', '4',
+ 'x', '2', '_', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 't',
+ 'r', 'a', 'c', 't', 'f', '6', '4', 'x', '4', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'e', 'x', 't', 'r', 'a', 'c', 't', 'i', '3', '2', 'x', '4', '_', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', 'i',
+ '3', '2', 'x', '4', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 't', 'r', 'a',
+ 'c', 't', 'i', '3', '2', 'x', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x',
+ 't', 'r', 'a', 'c', 't', 'i', '6', '4', 'x', '2', '_', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'e', 'x', 't', 'r', 'a', 'c', 't', 'i', '6', '4',
+ 'x', '2', '_', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 't',
+ 'r', 'a', 'c', 't', 'i', '6', '4', 'x', '4', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'f', 'm', 'a', 'd', 'd', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 'p', 'd', '2', '5', '6', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 'p', 'd', '5', '1', '2',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 'p', 's', '1',
+ '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 'p',
+ 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd',
+ 'd', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm',
+ 'a', 'd', 'd', 's', 'd', '3', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm',
+ 'a', 'd', 'd', 's', 's', '3', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm',
+ 'a', 'd', 'd', 's', 'u', 'b', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p', 'd', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u',
+ 'b', 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm',
+ 'a', 'd', 'd', 's', 'u', 'b', 'p', 's', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p', 's', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u',
+ 'b', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n',
+ 'm', 'a', 'd', 'd', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'f', 'n', 'm', 'a', 'd', 'd', 'p', 'd', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'f', 'n', 'm', 'a', 'd', 'd', 'p', 'd', '5', '1', '2',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 'a', 'd', 'd', 'p', 's',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 'a', 'd',
+ 'd', 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n',
+ 'm', 'a', 'd', 'd', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'f', 'n', 'm', 's', 'u', 'b', 'p', 'd', '1', '2', '8', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'f', 'n', 'm', 's', 'u', 'b', 'p', 'd', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 's', 'u', 'b', 'p', 'd',
+ '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 's', 'u',
+ 'b', 'p', 's', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n',
+ 'm', 's', 'u', 'b', 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'f', 'n', 'm', 's', 'u', 'b', 'p', 's', '5', '1', '2', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i', '2', 'v', 'a', 'r', 'd', '1',
+ '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i', '2',
+ 'v', 'a', 'r', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p',
+ 'e', 'r', 'm', 'i', '2', 'v', 'a', 'r', 'd', '5', '1', '2', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i', '2', 'v', 'a', 'r', 'h', 'i',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i',
+ '2', 'v', 'a', 'r', 'h', 'i', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'p', 'e', 'r', 'm', 'i', '2', 'v', 'a', 'r', 'h', 'i', '5', '1', '2',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i', '2', 'v', 'a',
+ 'r', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e',
+ 'r', 'm', 'i', '2', 'v', 'a', 'r', 'p', 'd', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i', '2', 'v', 'a', 'r', 'p', 'd',
+ '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i',
+ '2', 'v', 'a', 'r', 'p', 's', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'p', 'e', 'r', 'm', 'i', '2', 'v', 'a', 'r', 'p', 's', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i', '2', 'v', 'a',
+ 'r', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e',
+ 'r', 'm', 'i', '2', 'v', 'a', 'r', 'q', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'p', 'e', 'r', 'm', 'i', '2', 'v', 'a', 'r', 'q', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i', '2', 'v',
+ 'a', 'r', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e',
+ 'r', 'm', 'i', '2', 'v', 'a', 'r', 'q', 'i', '1', '2', '8', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i', '2', 'v', 'a', 'r', 'q', 'i',
+ '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i',
+ '2', 'v', 'a', 'r', 'q', 'i', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'd', '1', '2', '8', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r',
+ 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm',
+ 't', '2', 'v', 'a', 'r', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'h', 'i', '1', '2', '8',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a',
+ 'r', 'h', 'i', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e',
+ 'r', 'm', 't', '2', 'v', 'a', 'r', 'h', 'i', '5', '1', '2', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'p', 'd',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't',
+ '2', 'v', 'a', 'r', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'p', 'd', '5', '1', '2',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a',
+ 'r', 'p', 's', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e',
+ 'r', 'm', 't', '2', 'v', 'a', 'r', 'p', 's', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'p', 's',
+ '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't',
+ '2', 'v', 'a', 'r', 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'q', '2', '5', '6', '_', 'm',
+ 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'q',
+ '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't',
+ '2', 'v', 'a', 'r', 'q', 'i', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'q', 'i', '2', '5', '6',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a',
+ 'r', 'q', 'i', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm',
+ 'a', 'd', 'd', '5', '2', 'h', 'u', 'q', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'p', 'm', 'a', 'd', 'd', '5', '2', 'h', 'u', 'q', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm', 'a', 'd', 'd', '5', '2',
+ 'h', 'u', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm',
+ 'a', 'd', 'd', '5', '2', 'l', 'u', 'q', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'p', 'm', 'a', 'd', 'd', '5', '2', 'l', 'u', 'q', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm', 'a', 'd', 'd', '5', '2',
+ 'l', 'u', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm',
+ 'a', 'd', 'd', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '3', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'f', 'm', 'a', 'd', 'd', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's',
+ 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 'p', 'd', '5', '1', '2', '_',
+ 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 'p', 's', '1',
+ '2', '8', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd',
+ 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm',
+ 'a', 'd', 'd', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '3', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'f', 'm', 'a', 'd', 'd', 's', 'd', '3', '_', 'm', 'a', 's', 'k', '3',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 's', '3', '_', 'm', 'a', 's', 'k',
+ '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p', 'd', '1', '2',
+ '8', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's',
+ 'u', 'b', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '3', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p', 'd', '5', '1', '2', '_', 'm',
+ 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p',
+ 's', '1', '2', '8', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a',
+ 'd', 'd', 's', 'u', 'b', 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k',
+ '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p', 's', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 's', 'u', 'b', 'p',
+ 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 's',
+ 'u', 'b', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '3', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'f', 'm', 's', 'u', 'b', 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'f', 'm', 's', 'u', 'b', 'p', 's', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 's', 'u', 'b', 'p', 's', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 's', 'u', 'b', 'p',
+ 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 's',
+ 'u', 'b', 's', 'd', '3', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm',
+ 's', 'u', 'b', 's', 's', '3', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f',
+ 'm', 's', 'u', 'b', 'a', 'd', 'd', 'p', 'd', '1', '2', '8', '_', 'm', 'a',
+ 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'f', 'm', 's', 'u', 'b', 'a', 'd', 'd', 'p', 'd',
+ '2', '5', '6', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 's', 'u',
+ 'b', 'a', 'd', 'd', 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '3',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'f', 'm', 's', 'u', 'b', 'a', 'd', 'd', 'p', 's', '1', '2', '8',
+ '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 's', 'u', 'b', 'a', 'd',
+ 'd', 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f',
+ 'm', 's', 'u', 'b', 'a', 'd', 'd', 'p', 's', '5', '1', '2', '_', 'm', 'a',
+ 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 's', 'u', 'b', 'p', 'd', '1', '2',
+ '8', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 's', 'u', 'b',
+ 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n',
+ 'm', 's', 'u', 'b', 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '3',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'f', 'n', 'm', 's', 'u', 'b', 'p', 's', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 's', 'u', 'b', 'p', 's', '2',
+ '5', '6', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 's', 'u',
+ 'b', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '3', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f',
+ 'n', 'm', 's', 'u', 'b', 's', 'd', '3', '_', 'm', 'a', 's', 'k', '3', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'f', 'n', 'm', 's', 'u', 'b', 's', 's', '3', '_', 'm', 'a', 's', 'k',
+ '3', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'f', 'i', 'x', 'u', 'p', 'i', 'm', 'm', 'p', 'd', '1', '2', '8',
+ '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'i', 'x', 'u', 'p', 'i', 'm', 'm',
+ 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'i', 'x',
+ 'u', 'p', 'i', 'm', 'm', 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'f', 'i', 'x', 'u', 'p', 'i', 'm', 'm', 'p', 's', '1', '2', '8',
+ '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'i', 'x', 'u', 'p', 'i', 'm', 'm',
+ 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'i', 'x',
+ 'u', 'p', 'i', 'm', 'm', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'f', 'i', 'x', 'u', 'p', 'i', 'm', 'm', 's', 'd', '_', 'm', 'a',
+ 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'f', 'i', 'x', 'u', 'p', 'i', 'm', 'm', 's', 's', '_',
+ 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 'r', 'n', 'l', 'o', 'g', 'd',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 'r', 'n',
+ 'l', 'o', 'g', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', 'z', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 't', 'e', 'r', 'n', 'l', 'o', 'g', 'd', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 't', 'e', 'r', 'n', 'l', 'o', 'g', 'q', '1', '2', '8',
+ '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 'r', 'n', 'l', 'o', 'g',
+ 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 'r',
+ 'n', 'l', 'o', 'g', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k', 'z', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'f', 'm', 'a', 'd', 'd', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 'p', 'd', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 'p', 'd', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd',
+ 'p', 's', '1', '2', '8', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm',
+ 'a', 'd', 'd', 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', 'z', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'f', 'm', 'a', 'd', 'd', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'd', '3', '_', 'm', 'a',
+ 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 's', '3', '_', 'm',
+ 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p',
+ 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a',
+ 'd', 'd', 's', 'u', 'b', 'p', 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k',
+ 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p', 'd', '5', '1',
+ '2', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's',
+ 'u', 'b', 'p', 's', '1', '2', '8', '_', 'm', 'a', 's', 'k', 'z', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p', 's', '2', '5', '6', '_', 'm',
+ 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p',
+ 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r',
+ 'm', 't', '2', 'v', 'a', 'r', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k',
+ 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'd', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2',
+ 'v', 'a', 'r', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', 'z', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'h', 'i', '1', '2', '8', '_',
+ 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a',
+ 'r', 'h', 'i', '2', '5', '6', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p',
+ 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'h', 'i', '5', '1', '2', '_', 'm',
+ 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r',
+ 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e',
+ 'r', 'm', 't', '2', 'v', 'a', 'r', 'p', 'd', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'p',
+ 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r',
+ 'm', 't', '2', 'v', 'a', 'r', 'p', 's', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'p', 's',
+ '2', '5', '6', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm',
+ 't', '2', 'v', 'a', 'r', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'q', '1', '2',
+ '8', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2',
+ 'v', 'a', 'r', 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', 'z', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'q', '5', '1', '2', '_', 'm',
+ 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r',
+ 'q', 'i', '1', '2', '8', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e',
+ 'r', 'm', 't', '2', 'v', 'a', 'r', 'q', 'i', '2', '5', '6', '_', 'm', 'a',
+ 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 't', '2', 'v', 'a', 'r', 'q',
+ 'i', '5', '1', '2', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm', 'a',
+ 'd', 'd', '5', '2', 'h', 'u', 'q', '1', '2', '8', '_', 'm', 'a', 's', 'k',
+ 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'p', 'm', 'a', 'd', 'd', '5', '2', 'h', 'u', 'q', '2', '5',
+ '6', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm', 'a', 'd', 'd', '5',
+ '2', 'h', 'u', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k', 'z', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'p', 'm', 'a', 'd', 'd', '5', '2', 'l', 'u', 'q', '1', '2', '8', '_', 'm',
+ 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'p', 'm', 'a', 'd', 'd', '5', '2', 'l', 'u',
+ 'q', '2', '5', '6', '_', 'm', 'a', 's', 'k', 'z', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm', 'a',
+ 'd', 'd', '5', '2', 'l', 'u', 'q', '5', '1', '2', '_', 'm', 'a', 's', 'k',
+ 'z', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'm', 'o', 'v', 'n', 't', 'd', 'q', 'a', '5', '1', '2', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 's', 'a', 'd', 'b', 'w', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'h', 'u', 'f', 'b',
+ '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'd', '5', '1', '2', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's',
+ 'l', 'l', 'q', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'w', '5', '1', '2',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 's', 'l', 'l', 'd', 'i', '5', '1', '2', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l',
+ 'q', 'i', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'w', 'i', '5', '1', '2',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 's', 'l', 'l', 'v', '1', '6', 's', 'i', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l',
+ 'v', '8', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'v', '8', 'h', 'i', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 's', 'l', 'l', 'v', '1', '6', 'h', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'v', '3',
+ '2', 'h', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'd', '5', '1', '2', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's',
+ 'r', 'a', 'q', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'q', '2', '5', '6',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 's', 'r', 'a', 'q', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'w',
+ '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'd', 'i', '5', '1', '2', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 's', 'r', 'a', 'q', 'i', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'q', 'i',
+ '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'q', 'i', '5', '1', '2', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 's', 'r', 'a', 'w', 'i', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'v', '1',
+ '6', 's', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'v', 'q', '1', '2', '8', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 's', 'r', 'a', 'v', 'q', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'v', '8',
+ 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 's', 'r', 'a', 'v', '8', 'h', 'i', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r',
+ 'a', 'v', '1', '6', 'h', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'v', '3', '2', 'h',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 's', 'r', 'l', 'd', '5', '1', '2', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l',
+ 'q', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'w', '5', '1', '2', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 's', 'r', 'l', 'd', 'i', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'q', 'i',
+ '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'w', 'i', '5', '1', '2', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 's', 'r', 'l', 'v', '1', '6', 's', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'v', '8',
+ 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 's', 'r', 'l', 'v', '8', 'h', 'i', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r',
+ 'l', 'v', '1', '6', 'h', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'v', '3', '2', 'h',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 't', 'e', 's', 't', 'm', 'b', '1', '2', '8', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't',
+ 'e', 's', 't', 'm', 'b', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's', 't', 'm',
+ 'b', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's', 't', 'm', 'd', '1', '2', '8',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 't', 'e', 's', 't', 'm', 'd', '2', '5', '6', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e',
+ 's', 't', 'm', 'd', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's', 't', 'm', 'q',
+ '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 't', 'e', 's', 't', 'm', 'q', '2', '5', '6', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 't', 'e', 's', 't', 'm', 'q', '5', '1', '2', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's',
+ 't', 'm', 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's', 't', 'm', 'w', '2',
+ '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 't', 'e', 's', 't', 'm', 'w', '5', '1', '2', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 't', 'e', 's', 't', 'n', 'm', 'b', '1', '2', '8', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's',
+ 't', 'n', 'm', 'b', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's', 't', 'n', 'm',
+ 'b', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's', 't', 'n', 'm', 'd', '1', '2',
+ '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 't', 'e', 's', 't', 'n', 'm', 'd', '2', '5', '6', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 't', 'e', 's', 't', 'n', 'm', 'd', '5', '1', '2', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's',
+ 't', 'n', 'm', 'q', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's', 't', 'n', 'm',
+ 'q', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's', 't', 'n', 'm', 'q', '5', '1',
+ '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 't', 'e', 's', 't', 'n', 'm', 'w', '1', '2', '8', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 't', 'e', 's', 't', 'n', 'm', 'w', '2', '5', '6', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's',
+ 't', 'n', 'm', 'w', '5', '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'c', 'p', '1', '4', 'p', 'd',
+ '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'c', 'p', '1', '4', 'p',
+ 'd', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'c', 'p', '1', '4',
+ 'p', 'd', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'c', 'p', '1',
+ '4', 'p', 's', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'c', 'p',
+ '1', '4', 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'c',
+ 'p', '1', '4', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r',
+ 'c', 'p', '1', '4', 's', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'c', 'p',
+ '1', '4', 's', 's', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'c', 'p', '2', '8',
+ 'p', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'c', 'p', '2', '8', 'p', 's',
+ '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'r', 'c', 'p', '2', '8', 's', 'd', '_', 'r',
+ 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'c', 'p', '2', '8',
+ 's', 's', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r',
+ 's', 'q', 'r', 't', '1', '4', 'p', 'd', '1', '2', '8', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'r', 's', 'q', 'r', 't', '1', '4', 'p', 'd', '2', '5', '6', '_',
+ 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'r', 's', 'q', 'r', 't', '1', '4', 'p', 'd', '5',
+ '1', '2', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 's', 'q', 'r', 't', '1', '4',
+ 'p', 's', '1', '2', '8', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 's', 'q', 'r',
+ 't', '1', '4', 'p', 's', '2', '5', '6', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r',
+ 's', 'q', 'r', 't', '1', '4', 'p', 's', '5', '1', '2', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'r', 's', 'q', 'r', 't', '1', '4', 's', 'd', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'r', 's', 'q', 'r', 't', '1', '4', 's', 's', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'r', 's', 'q', 'r', 't', '2', '8', 'p', 'd', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'r', 's', 'q', 'r', 't', '2', '8', 'p', 's', '_', 'm', 'a', 's',
+ 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'r', 's', 'q', 'r', 't', '2', '8', 's', 'd', '_', 'r', 'o', 'u',
+ 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 's', 'q', 'r', 't', '2', '8',
+ 's', 's', '_', 'r', 'o', 'u', 'n', 'd', '_', 'm', 'a', 's', 'k', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's',
+ 'c', 'a', 't', 't', 'e', 'r', 's', 'i', 'v', '8', 'd', 'f', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c',
+ 'a', 't', 't', 'e', 'r', 's', 'i', 'v', '1', '6', 's', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c',
+ 'a', 't', 't', 'e', 'r', 's', 'i', 'v', '8', 'd', 'i', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a',
+ 't', 't', 'e', 'r', 's', 'i', 'v', '1', '6', 's', 'f', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a',
+ 't', 't', 'e', 'r', 'd', 'i', 'v', '8', 'd', 'f', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't',
+ 't', 'e', 'r', 'd', 'i', 'v', '1', '6', 's', 'i', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't',
+ 't', 'e', 'r', 'd', 'i', 'v', '8', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't', 't',
+ 'e', 'r', 'd', 'i', 'v', '1', '6', 's', 'f', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't', 't',
+ 'e', 'r', 'd', 'i', 'v', '2', 'd', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't', 't', 'e',
+ 'r', 'd', 'i', 'v', '2', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r',
+ 'd', 'i', 'v', '4', 'd', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r', 'd',
+ 'i', 'v', '4', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r', 'd', 'i',
+ 'v', '4', 's', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r', 'd', 'i', 'v',
+ '4', 's', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r', 'd', 'i', 'v', '8',
+ 's', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r', 'd', 'i', 'v', '8', 's',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r', 'p', 'f', 'd', 'p', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 's', 'c', 'a', 't', 't', 'e', 'r', 'p', 'f', 'd', 'p', 's', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c',
+ 'a', 't', 't', 'e', 'r', 'p', 'f', 'q', 'p', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't',
+ 't', 'e', 'r', 'p', 'f', 'q', 'p', 's', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't', 't', 'e',
+ 'r', 's', 'i', 'v', '2', 'd', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r',
+ 's', 'i', 'v', '2', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r', 's',
+ 'i', 'v', '4', 'd', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r', 's', 'i',
+ 'v', '4', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r', 's', 'i', 'v',
+ '4', 's', 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r', 's', 'i', 'v', '4',
+ 's', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r', 's', 'i', 'v', '8', 's',
+ 'f', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 's', 'c', 'a', 't', 't', 'e', 'r', 's', 'i', 'v', '8', 's', 'i',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 's', 'd', '5', '1',
+ '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'b', 'r', 'o', 'a', 'd', 'c', 'a', 's', 't', 's', 's', '5',
+ '1', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'c', 'o', 'm', 'i', 's', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'o', 'm',
+ 'i', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'c', 'v', 't', 's', 'd', '2', 's', 'i', '3', '2',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'c', 'v', 't', 's', 'd', '2', 's', 'i', '6', '4', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'c',
+ 'v', 't', 's', 'd', '2', 'u', 's', 'i', '3', '2', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v', 't',
+ 's', 'd', '2', 'u', 's', 'i', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v', 't', 's', 's',
+ '2', 's', 'i', '3', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v', 't', 's', 's', '2', 's', 'i',
+ '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'c', 'v', 't', 's', 's', '2', 'u', 's', 'i', '3', '2',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'c', 'v', 't', 's', 's', '2', 'u', 's', 'i', '6', '4', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'p', 'e', 'r', 'm', 'i', 'l', 'v', 'a', 'r', 'p', 'd', '5', '1', '2', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'p', 'e', 'r', 'm', 'i', 'l', 'v', 'a', 'r', 'p', 's', '5', '1', '2',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'b', 'e', 'x', 't', 'r', '_', 'u', '3', '2', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'e', 'x', 't',
+ 'r', '_', 'u', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'b', 'z', 'h', 'i', '_', 's', 'i', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b',
+ 'z', 'h', 'i', '_', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'd', 'e', 'p', '_', 's', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'd', 'e', 'p', '_', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'e', 'x', 't', '_', 's', 'i',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'e', 'x', 't', '_', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'l', 'f', 'l', 'u', 's',
+ 'h', 'o', 'p', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'r', 'e', 'a', 'd', 'e', 'f', 'l', 'a', 'g', 's',
+ '_', 'u', '3', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'r', 'e', 'a', 'd', 'e', 'f', 'l', 'a', 'g', 's',
+ '_', 'u', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'w', 'r', 'i', 't', 'e', 'e', 'f', 'l', 'a', 'g',
+ 's', '_', 'u', '3', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'w', 'r', 'i', 't', 'e', 'e', 'f', 'l', 'a',
+ 'g', 's', '_', 'u', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 'p', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'f', 'm', 'a', 'd', 'd', 'p', 'd', '2', '5', '6', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f',
+ 'm', 'a', 'd', 'd', 'p', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 'p', 's',
+ '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f',
+ 'm', 'a', 'd', 'd', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u',
+ 'b', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p', 'd',
+ '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'f', 'm', 'a', 'd', 'd', 's', 'u', 'b', 'p', 's', '2', '5', '6',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'f', 'm', 's', 'u', 'b', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 's', 'u',
+ 'b', 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 's', 'u', 'b', 'p', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'f', 'm', 's', 'u', 'b', 'p', 's', '2', '5', '6', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f',
+ 'm', 's', 'u', 'b', 's', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 's', 'u', 'b', 's', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'f', 'm', 's', 'u', 'b', 'a', 'd', 'd', 'p', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f',
+ 'm', 's', 'u', 'b', 'a', 'd', 'd', 'p', 'd', '2', '5', '6', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f',
+ 'm', 's', 'u', 'b', 'a', 'd', 'd', 'p', 's', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'm', 's', 'u',
+ 'b', 'a', 'd', 'd', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 'a',
+ 'd', 'd', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 'a', 'd', 'd', 'p', 'd', '2',
+ '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'f', 'n', 'm', 'a', 'd', 'd', 'p', 's', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f',
+ 'n', 'm', 'a', 'd', 'd', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm',
+ 'a', 'd', 'd', 's', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 'a', 'd', 'd', 's', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'f', 'n', 'm', 's', 'u', 'b', 'p', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm',
+ 's', 'u', 'b', 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 's', 'u',
+ 'b', 'p', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'f', 'n', 'm', 's', 'u', 'b', 'p', 's', '2', '5',
+ '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'f', 'n', 'm', 's', 'u', 'b', 's', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'n',
+ 'm', 's', 'u', 'b', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'x', 'r', 's', 't', 'o', 'r', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'f', 'x', 'r', 's', 't', 'o', 'r', '6', '4', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'f', 'x', 's', 'a', 'v',
+ 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'f', 'x', 's', 'a', 'v', 'e', '6', '4', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'm', 'm', 's',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'f', 'e', 'm', 'm', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a', 's', 'k', 'm', 'o', 'v', 'q',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'm', 'o', 'v', 'n', 't', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'c', 'k', 's', 's', 'd',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'a', 'c', 'k', 's', 's', 'w', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'c', 'k',
+ 'u', 's', 'w', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'a', 'd', 'd', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'a', 'd', 'd', 's', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd', 's', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a',
+ 'd', 'd', 'u', 's', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd', 'u', 's', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'a', 'l', 'i', 'g', 'n', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'n', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'n',
+ 'd', 'n', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'a', 'v', 'g', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'v', 'g', 'w', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'c', 'm', 'p', 'e', 'q', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'c', 'm', 'p', 'e', 'q', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'c', 'm', 'p', 'e', 'q', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'c', 'm', 'p', 'g', 't',
+ 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'c', 'm', 'p', 'g', 't', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'c', 'm', 'p', 'g',
+ 't', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'e', 'c', '_', 'e', 'x', 't', '_', 'v', '4', 'h', 'i',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'e', 'c', '_', 's', 'e', 't', '_', 'v', '4', 'h', 'i', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'a', 'd', 'd', 'w', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'a', 'x', 's', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'a', 'x', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'i', 'n', 's', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm',
+ 'i', 'n', 'u', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'o', 'v', 'm', 's', 'k', 'b', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'u', 'l', 'h', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'u', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'm', 'u', 'l', 'l', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'u', 'd', 'q', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 's', 'a', 'd', 'b', 'w', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 's', 'l', 'l', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's',
+ 'l', 'l', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'q', 'i', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l',
+ 'l', 'w', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 's', 'r', 'a', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'w', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 's', 'r', 'l', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'q', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r',
+ 'l', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 's', 'r', 'l', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'q',
+ 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 's', 'r', 'l', 'w', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b', 'b', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 's', 'u', 'b', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b', 'q', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u',
+ 'b', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 's', 'u', 'b', 's', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b', 's',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 's', 'u', 'b', 'u', 's', 'b', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b', 'u',
+ 's', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'u', 'n', 'p', 'c', 'k', 'h', 'b', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'u',
+ 'n', 'p', 'c', 'k', 'h', 'd', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'u', 'n', 'p', 'c', 'k', 'h',
+ 'w', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'u', 'n', 'p', 'c', 'k', 'l', 'b', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'u',
+ 'n', 'p', 'c', 'k', 'l', 'd', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'u', 'n', 'p', 'c', 'k', 'l',
+ 'w', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'x', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'o', 'n', 'i', 't', 'o', 'r',
+ 'x', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'm', 'w', 'a', 'i', 't', 'x', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'c', 'l', 'm', 'u', 'l',
+ 'q', 'd', 'q', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'd', 'f', 's', 'b', 'a', 's', 'e',
+ '3', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'r', 'd', 'f', 's', 'b', 'a', 's', 'e', '6', '4', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r',
+ 'd', 'g', 's', 'b', 'a', 's', 'e', '3', '2', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'd', 'g', 's', 'b',
+ 'a', 's', 'e', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'r', 'd', 'p', 'k', 'r', 'u', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'd',
+ 'p', 'm', 'c', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'r', 'd', 't', 's', 'c', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'd', 't', 's', 'c',
+ 'p', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 's', 'h', 'a', '1', 'm', 's', 'g', '1', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'h', 'a', '1',
+ 'm', 's', 'g', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 's', 'h', 'a', '1', 'n', 'e', 'x', 't', 'e', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 's', 'h', 'a', '1', 'r', 'n', 'd', 's', '4', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'h', 'a', '2', '5',
+ '6', 'm', 's', 'g', '1', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 's', 'h', 'a', '2', '5', '6', 'm', 's', 'g',
+ '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 's', 'h', 'a', '2', '5', '6', 'r', 'n', 'd', 's', '2', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'm', 'p', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'i', 'e', 'q', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm',
+ 'i', 'g', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'c', 'o', 'm', 'i', 'g', 't', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'i',
+ 'l', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'c', 'o', 'm', 'i', 'l', 't', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'i', 'n',
+ 'e', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'c', 'v', 't', 'p', 'd', '2', 'p', 'i', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't',
+ 'p', 'i', '2', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 'i', '2', 'p', 's', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'c', 'v', 't', 'p', 's', '2', 'p', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 's', 's', '2',
+ 's', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'c', 'v', 't', 's', 's', '2', 's', 'i', '6', '4', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'v', 't', 't', 'p', 'd', '2', 'p', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 's',
+ '2', 'p', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'c', 'v', 't', 't', 's', 's', '2', 's', 'i', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'v', 't', 't', 's', 's', '2', 's', 'i', '6', '4', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a', 'x', 'p',
+ 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'm', 'a', 'x', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'i', 'n', 'p', 's', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm',
+ 'i', 'n', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'm', 'o', 'v', 'm', 's', 'k', 'p', 's', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 's', 'h', 'u', 'f', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'r', 'c', 'p', 'p', 's', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'c', 'p',
+ 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'r', 's', 'q', 'r', 't', 'p', 's', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 's', 'q', 'r',
+ 't', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 's', 'f', 'e', 'n', 'c', 'e', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'q', 'r', 't',
+ 'p', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 's', 'q', 'r', 't', 's', 's', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'u', 'c', 'o', 'm', 'i',
+ 'e', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'u', 'c', 'o', 'm', 'i', 'g', 'e', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'u', 'c', 'o', 'm',
+ 'i', 'g', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'u', 'c', 'o', 'm', 'i', 'l', 'e', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'u', 'c', 'o',
+ 'm', 'i', 'l', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'u', 'c', 'o', 'm', 'i', 'n', 'e', 'q', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'l', 'f', 'l', 'u', 's', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'm', 'p', 's', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o',
+ 'm', 'i', 's', 'd', 'e', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'i', 's', 'd', 'g', 'e',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'o', 'm', 'i', 's', 'd', 'g', 't', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o', 'm', 'i', 's',
+ 'd', 'l', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'c', 'o', 'm', 'i', 's', 'd', 'l', 't', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'o',
+ 'm', 'i', 's', 'd', 'n', 'e', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'd', 'q', '2', 'p',
+ 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'c', 'v', 't', 'p', 'd', '2', 'd', 'q', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p',
+ 'd', '2', 'p', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'c', 'v', 't', 'p', 's', '2', 'd', 'q', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c',
+ 'v', 't', 's', 'd', '2', 's', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 's', 'd', '2', 's',
+ 'i', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'c', 'v', 't', 's', 'd', '2', 's', 's', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v',
+ 't', 't', 'p', 'd', '2', 'd', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v', 't', 't', 'p', 's', '2',
+ 'd', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'c', 'v', 't', 't', 's', 'd', '2', 's', 'i', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'v',
+ 't', 't', 's', 'd', '2', 's', 'i', '6', '4', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'l', 'f', 'e', 'n', 'c',
+ 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'm', 'a', 's', 'k', 'm', 'o', 'v', 'd', 'q', 'u', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'a',
+ 'x', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'm', 'a', 'x', 's', 'd', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'f', 'e', 'n', 'c',
+ 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'm', 'i', 'n', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'i', 'n', 's', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm',
+ 'o', 'v', 'm', 's', 'k', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'c', 'k', 's', 's', 'd',
+ 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'a', 'c', 'k', 's', 's', 'w', 'b', '1', '2',
+ '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'a', 'c', 'k', 'u', 's', 'w', 'b', '1', '2', '8', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'a', 'd', 'd', 's', 'b', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'd', 'd', 's', 'w',
+ '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'a', 'd', 'd', 'u', 's', 'b', '1', '2', '8', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'a', 'd', 'd', 'u', 's', 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'u', 's',
+ 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'a', 'v', 'g', 'b', '1', '2', '8', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'v', 'g',
+ 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'm', 'a', 'd', 'd', 'w', 'd', '1', '2', '8',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'm', 'o', 'v', 'm', 's', 'k', 'b', '1', '2', '8', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm',
+ 'u', 'l', 'h', 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'u', 'w',
+ '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'u', 'd', 'q', '1', '2', '8', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 's', 'a', 'd', 'b', 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'd',
+ '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'q', '1', '2', '8', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's',
+ 'l', 'l', 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l', 'l', 'd', 'i', '1', '2',
+ '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 's', 'l', 'l', 'q', 'i', '1', '2', '8', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'l',
+ 'l', 'w', 'i', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'd', '1', '2', '8',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 's', 'r', 'a', 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'd',
+ 'i', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'a', 'w', 'i', '1', '2', '8', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 's', 'r', 'l', 'd', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'q', '1',
+ '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 's', 'r', 'l', 'w', '1', '2', '8', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r',
+ 'l', 'd', 'i', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'r', 'l', 'q', 'i', '1', '2',
+ '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 's', 'r', 'l', 'w', 'i', '1', '2', '8', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u',
+ 'b', 's', 'b', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'u', 'b', 's', 'w', '1', '2',
+ '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 's', 'u', 'b', 'u', 's', 'b', '1', '2', '8', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's',
+ 'u', 'b', 'u', 's', 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'q', 'r', 't', 'p', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 's', 'q', 'r', 't', 's', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'u', 'c', 'o', 'm', 'i', 's', 'd',
+ 'e', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'u', 'c', 'o', 'm', 'i', 's', 'd', 'g', 'e', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'u', 'c',
+ 'o', 'm', 'i', 's', 'd', 'g', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'u', 'c', 'o', 'm', 'i', 's', 'd',
+ 'l', 'e', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'u', 'c', 'o', 'm', 'i', 's', 'd', 'l', 't', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'u', 'c',
+ 'o', 'm', 'i', 's', 'd', 'n', 'e', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'a', 'd', 'd', 's', 'u', 'b',
+ 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'a', 'd', 'd', 's', 'u', 'b', 'p', 's', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'h', 'a', 'd',
+ 'd', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'h', 'a', 'd', 'd', 'p', 's', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'h', 's', 'u', 'b',
+ 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'h', 's', 'u', 'b', 'p', 's', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'l', 'd', 'd', 'q', 'u',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'm', 'o', 'n', 'i', 't', 'o', 'r', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'w', 'a', 'i', 't', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'b', 'l', 'e', 'n', 'd', 'v', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'l', 'e', 'n', 'd', 'v',
+ 'p', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'd', 'p', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'd', 'p', 'p', 's', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'i', 'n',
+ 's', 'e', 'r', 't', 'p', 's', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'm', 'o', 'v', 'n', 't',
+ 'd', 'q', 'a', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'm', 'p', 's', 'a', 'd', 'b', 'w', '1', '2', '8', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'a', 'c', 'k', 'u', 's', 'd', 'w', '1', '2', '8', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'b', 'l',
+ 'e', 'n', 'd', 'v', 'b', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'h', 'm', 'i', 'n', 'p',
+ 'o', 's', 'u', 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'd', 'q', '1',
+ '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 't', 'e', 's', 't', 'c', '1', '2', '8', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't',
+ 'e', 's', 't', 'n', 'z', 'c', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 't', 'e', 's', 't',
+ 'z', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'r', 'o', 'u', 'n', 'd', 'p', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r', 'o',
+ 'u', 'n', 'd', 'p', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'r', 'o', 'u', 'n', 'd', 's', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'r',
+ 'o', 'u', 'n', 'd', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'r', 'c', '3', '2', 'h', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'c', 'r', 'c', '3', '2', 's', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'c', 'r', 'c', '3', '2', 'q', 'i',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'c', 'r', 'c', '3', '2', 'd', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'c', 'm', 'p', 'e', 's',
+ 't', 'r', 'i', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'c', 'm', 'p', 'e', 's', 't', 'r',
+ 'i', 'a', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'c', 'm', 'p', 'e', 's', 't', 'r', 'i',
+ 'c', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'c', 'm', 'p', 'e', 's', 't', 'r', 'i', 'o',
+ '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'c', 'm', 'p', 'e', 's', 't', 'r', 'i', 's', '1',
+ '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'p', 'c', 'm', 'p', 'e', 's', 't', 'r', 'i', 'z', '1', '2',
+ '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'c', 'm', 'p', 'e', 's', 't', 'r', 'm', '1', '2', '8', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'c', 'm', 'p', 'i', 's', 't', 'r', 'i', '1', '2', '8', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'c',
+ 'm', 'p', 'i', 's', 't', 'r', 'i', 'a', '1', '2', '8', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'c', 'm',
+ 'p', 'i', 's', 't', 'r', 'i', 'c', '1', '2', '8', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'c', 'm', 'p',
+ 'i', 's', 't', 'r', 'i', 'o', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'c', 'm', 'p', 'i',
+ 's', 't', 'r', 'i', 's', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'c', 'm', 'p', 'i', 's',
+ 't', 'r', 'i', 'z', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'c', 'm', 'p', 'i', 's', 't',
+ 'r', 'm', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'e', 'x', 't', 'r', 'q', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'e', 'x', 't',
+ 'r', 'q', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'i', 'n', 's', 'e', 'r', 't', 'q', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'i', 'n', 's',
+ 'e', 'r', 't', 'q', 'i', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b', 's', 'b', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b',
+ 's', 'b', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b', 's', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b',
+ 's', 'd', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b', 's', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'a', 'b',
+ 's', 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'h', 'a', 'd', 'd', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'h',
+ 'a', 'd', 'd', 'd', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'h', 'a', 'd', 'd', 's', 'w',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'h', 'a', 'd', 'd', 's', 'w', '1', '2', '8', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'h', 'a',
+ 'd', 'd', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 'h', 'a', 'd', 'd', 'w', '1', '2', '8', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p',
+ 'h', 's', 'u', 'b', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 'h', 's', 'u', 'b', 'd', '1', '2', '8',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'p', 'h', 's', 'u', 'b', 's', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'h', 's', 'u', 'b', 's',
+ 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'p', 'h', 's', 'u', 'b', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'h', 's',
+ 'u', 'b', 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'a', 'd', 'd', 'u', 'b', 's',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 'm', 'a', 'd', 'd', 'u', 'b', 's', 'w', '1', '2', '8', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 'm', 'u', 'l', 'h', 'r', 's', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 'm', 'u', 'l', 'h', 'r',
+ 's', 'w', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'p', 's', 'h', 'u', 'f', 'b', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's',
+ 'h', 'u', 'f', 'b', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'i', 'g', 'n', 'b', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'p', 's', 'i', 'g', 'n', 'b', '1', '2', '8', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'i', 'g', 'n',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'p', 's', 'i', 'g', 'n', 'd', '1', '2', '8', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'p', 's', 'i',
+ 'g', 'n', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'p', 's', 'i', 'g', 'n', 'w', '1', '2', '8', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's',
+ 'u', 'b', 'b', 'o', 'r', 'r', 'o', 'w', '_', 'u', '3', '2', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 's', 'u',
+ 'b', 'b', 'o', 'r', 'r', 'o', 'w', '_', 'u', '6', '4', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'e', 'x',
+ 't', 'r', 'i', '_', 'u', '3', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'b', 'e', 'x', 't', 'r', 'i', '_',
+ 'u', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'c', 'v', 't', 'p', 'h', '2', 'p', 's', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'c', 'v', 't', 'p', 'h', '2', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v',
+ 't', 'p', 's', '2', 'p', 'h', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'c', 'v', 't', 'p', 's', '2', 'p',
+ 'h', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'w', 'r', 'f', 's', 'b', 'a', 's', 'e', '3', '2',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'w', 'r', 'f', 's', 'b', 'a', 's', 'e', '6', '4', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'w', 'r', 'g',
+ 's', 'b', 'a', 's', 'e', '3', '2', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'w', 'r', 'g', 's', 'b', 'a', 's',
+ 'e', '6', '4', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'w', 'r', 'p', 'k', 'r', 'u', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'x', 'a', 'b', 'o',
+ 'r', 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'x', 'b', 'e', 'g', 'i', 'n', '\000', '_', '_', 'b', 'u', 'i',
+ 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'x', 'e', 'n', 'd', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'f', 'r', 'c', 'z', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'r', 'c', 'z', 'p', 'd',
+ '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'f', 'r', 'c', 'z', 'p', 's', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'r',
+ 'c', 'z', 'p', 's', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'f', 'r', 'c', 'z', 's', 'd',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'f', 'r', 'c', 'z', 's', 's', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'c', 'm', 'o', 'v',
+ '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2',
+ '_', 'v', 'p', 'c', 'm', 'o', 'v', '_', '2', '5', '6', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'c',
+ 'o', 'm', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'p', 'c', 'o', 'm', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'c', 'o',
+ 'm', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'p', 'c', 'o', 'm', 'u', 'b', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'c', 'o',
+ 'm', 'u', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'p', 'c', 'o', 'm', 'u', 'q', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'c',
+ 'o', 'm', 'u', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'p', 'c', 'o', 'm', 'w', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e',
+ 'r', 'm', 'i', 'l', '2', 'p', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i', 'l',
+ '2', 'p', 'd', '2', '5', '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i', 'l', '2',
+ 'p', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'p', 'e', 'r', 'm', 'i', 'l', '2', 'p', 's', '2', '5',
+ '6', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'p', 'h', 'a', 'd', 'd', 'b', 'd', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'h', 'a',
+ 'd', 'd', 'b', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'p', 'h', 'a', 'd', 'd', 'b', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'p', 'h', 'a', 'd', 'd', 'd', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'h', 'a', 'd', 'd', 'u',
+ 'b', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'p', 'h', 'a', 'd', 'd', 'u', 'b', 'q', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p',
+ 'h', 'a', 'd', 'd', 'u', 'b', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'h', 'a', 'd', 'd', 'u',
+ 'd', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a',
+ '3', '2', '_', 'v', 'p', 'h', 'a', 'd', 'd', 'u', 'w', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p',
+ 'h', 'a', 'd', 'd', 'u', 'w', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'h', 'a', 'd', 'd', 'w',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'p', 'h', 'a', 'd', 'd', 'w', 'q', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'h', 's',
+ 'u', 'b', 'b', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'p', 'h', 's', 'u', 'b', 'd', 'q', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'p', 'h', 's', 'u', 'b', 'w', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm', 'a', 'c', 's', 'd',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'p', 'm', 'a', 'c', 's', 'd', 'q', 'h', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm',
+ 'a', 'c', 's', 'd', 'q', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm', 'a', 'c', 's', 's', 'd',
+ 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'p', 'm', 'a', 'c', 's', 's', 'd', 'q', 'h', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p',
+ 'm', 'a', 'c', 's', 's', 'd', 'q', 'l', '\000', '_', '_', 'b', 'u', 'i', 'l',
+ 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm', 'a', 'c', 's',
+ 's', 'w', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'p', 'm', 'a', 'c', 's', 's', 'w', 'w', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'p', 'm', 'a', 'c', 's', 'w', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'm', 'a', 'c', 's', 'w',
+ 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3',
+ '2', '_', 'v', 'p', 'm', 'a', 'd', 'c', 's', 's', 'w', 'd', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p',
+ 'm', 'a', 'd', 'c', 's', 'w', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't',
+ 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'p', 'e', 'r', 'm', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'p', 'r', 'o', 't', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'r', 'o', 't', 'b', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'p', 'r', 'o', 't', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'r', 'o', 't', 'd', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'p', 'r', 'o', 't', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'r', 'o', 't', 'q', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'p', 'r', 'o', 't', 'w', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 'r', 'o', 't', 'w', 'i', '\000',
+ '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_',
+ 'v', 'p', 's', 'h', 'a', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i',
+ 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 's', 'h', 'a', 'd', '\000', '_',
+ '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v',
+ 'p', 's', 'h', 'a', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 'i', 'a', '3', '2', '_', 'v', 'p', 's', 'h', 'a', 'w', '\000', '_', '_',
+ 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p',
+ 's', 'h', 'l', 'b', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'i', 'a', '3', '2', '_', 'v', 'p', 's', 'h', 'l', 'd', '\000', '_', '_', 'b',
+ 'u', 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'v', 'p', 's',
+ 'h', 'l', 'q', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'i',
+ 'a', '3', '2', '_', 'v', 'p', 's', 'h', 'l', 'w', '\000', '_', '_', 'b', 'u',
+ 'i', 'l', 't', 'i', 'n', '_', 'i', 'a', '3', '2', '_', 'x', 't', 'e', 's',
+ 't', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'b', 'i', 't',
+ 'r', 'e', 'v', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_', 'g',
+ 'e', 't', 'i', 'd', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n', '_',
+ 'g', 'e', 't', 'p', 's', '\000', '_', '_', 'b', 'u', 'i', 'l', 't', 'i', 'n',
+ '_', 's', 'e', 't', 'p', 's', '\000',
+ };
+
+ struct BuiltinEntry {
+ Intrinsic::ID IntrinID;
+ unsigned StrTabOffset;
+ const char *getName() const {
+ return &BuiltinNames[StrTabOffset];
+ }
+ bool operator<(StringRef RHS) const {
+ return strncmp(getName(), RHS.data(), RHS.size()) < 0;
+ }
+ };
+ StringRef TargetPrefix(TargetPrefixStr);
+
+ /* Target Independent Builtins */ {
+ static const BuiltinEntry Names[] = {
+ {Intrinsic::adjust_trampoline, 0}, // __builtin_adjust_trampoline
+ {Intrinsic::debugtrap, 28}, // __builtin_debugtrap
+ {Intrinsic::flt_rounds, 70}, // __builtin_flt_rounds
+ {Intrinsic::init_trampoline, 91}, // __builtin_init_trampoline
+ {Intrinsic::objectsize, 117}, // __builtin_object_size
+ {Intrinsic::stackrestore, 139}, // __builtin_stack_restore
+ {Intrinsic::stacksave, 163}, // __builtin_stack_save
+ {Intrinsic::thread_pointer, 184}, // __builtin_thread_pointer
+ {Intrinsic::trap, 209}, // __builtin_trap
+ {Intrinsic::eh_unwind_init, 48}, // __builtin_unwind_init
+ };
+ auto I = std::lower_bound(std::begin(Names),
+ std::end(Names),
+ BuiltinNameStr);
+ if (I != std::end(Names) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ if (TargetPrefix == "aarch64") {
+ static const BuiltinEntry aarch64Names[] = {
+ {Intrinsic::aarch64_dmb, 224}, // __builtin_arm_dmb
+ {Intrinsic::aarch64_dsb, 242}, // __builtin_arm_dsb
+ {Intrinsic::aarch64_isb, 260}, // __builtin_arm_isb
+ };
+ auto I = std::lower_bound(std::begin(aarch64Names),
+ std::end(aarch64Names),
+ BuiltinNameStr);
+ if (I != std::end(aarch64Names) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ if (TargetPrefix == "amdgcn") {
+ static const BuiltinEntry amdgcnNames[] = {
+ {Intrinsic::amdgcn_buffer_wbinvl1, 278}, // __builtin_amdgcn_buffer_wbinvl1
+ {Intrinsic::amdgcn_buffer_wbinvl1_sc, 310}, // __builtin_amdgcn_buffer_wbinvl1_sc
+ {Intrinsic::amdgcn_buffer_wbinvl1_vol, 345}, // __builtin_amdgcn_buffer_wbinvl1_vol
+ {Intrinsic::amdgcn_cubeid, 381}, // __builtin_amdgcn_cubeid
+ {Intrinsic::amdgcn_cubema, 405}, // __builtin_amdgcn_cubema
+ {Intrinsic::amdgcn_cubesc, 429}, // __builtin_amdgcn_cubesc
+ {Intrinsic::amdgcn_cubetc, 453}, // __builtin_amdgcn_cubetc
+ {Intrinsic::amdgcn_cvt_pk_u8_f32, 477}, // __builtin_amdgcn_cvt_pk_u8_f32
+ {Intrinsic::amdgcn_dispatch_id, 508}, // __builtin_amdgcn_dispatch_id
+ {Intrinsic::amdgcn_dispatch_ptr, 537}, // __builtin_amdgcn_dispatch_ptr
+ {Intrinsic::amdgcn_ds_swizzle, 567}, // __builtin_amdgcn_ds_swizzle
+ {Intrinsic::amdgcn_fmul_legacy, 595}, // __builtin_amdgcn_fmul_legacy
+ {Intrinsic::amdgcn_groupstaticsize, 624}, // __builtin_amdgcn_groupstaticsize
+ {Intrinsic::amdgcn_implicitarg_ptr, 657}, // __builtin_amdgcn_implicitarg_ptr
+ {Intrinsic::amdgcn_interp_mov, 690}, // __builtin_amdgcn_interp_mov
+ {Intrinsic::amdgcn_interp_p1, 718}, // __builtin_amdgcn_interp_p1
+ {Intrinsic::amdgcn_interp_p2, 745}, // __builtin_amdgcn_interp_p2
+ {Intrinsic::amdgcn_kernarg_segment_ptr, 772}, // __builtin_amdgcn_kernarg_segment_ptr
+ {Intrinsic::amdgcn_lerp, 809}, // __builtin_amdgcn_lerp
+ {Intrinsic::amdgcn_mbcnt_hi, 831}, // __builtin_amdgcn_mbcnt_hi
+ {Intrinsic::amdgcn_mbcnt_lo, 857}, // __builtin_amdgcn_mbcnt_lo
+ {Intrinsic::amdgcn_mqsad_pk_u16_u8, 883}, // __builtin_amdgcn_mqsad_pk_u16_u8
+ {Intrinsic::amdgcn_mqsad_u32_u8, 916}, // __builtin_amdgcn_mqsad_u32_u8
+ {Intrinsic::amdgcn_msad_u8, 946}, // __builtin_amdgcn_msad_u8
+ {Intrinsic::amdgcn_qsad_pk_u16_u8, 971}, // __builtin_amdgcn_qsad_pk_u16_u8
+ {Intrinsic::amdgcn_queue_ptr, 1003}, // __builtin_amdgcn_queue_ptr
+ {Intrinsic::amdgcn_rcp_legacy, 1030}, // __builtin_amdgcn_rcp_legacy
+ {Intrinsic::amdgcn_readfirstlane, 1058}, // __builtin_amdgcn_readfirstlane
+ {Intrinsic::amdgcn_readlane, 1089}, // __builtin_amdgcn_readlane
+ {Intrinsic::amdgcn_rsq_legacy, 1115}, // __builtin_amdgcn_rsq_legacy
+ {Intrinsic::amdgcn_s_barrier, 1143}, // __builtin_amdgcn_s_barrier
+ {Intrinsic::amdgcn_s_dcache_inv, 1170}, // __builtin_amdgcn_s_dcache_inv
+ {Intrinsic::amdgcn_s_dcache_inv_vol, 1200}, // __builtin_amdgcn_s_dcache_inv_vol
+ {Intrinsic::amdgcn_s_dcache_wb, 1234}, // __builtin_amdgcn_s_dcache_wb
+ {Intrinsic::amdgcn_s_dcache_wb_vol, 1263}, // __builtin_amdgcn_s_dcache_wb_vol
+ {Intrinsic::amdgcn_s_decperflevel, 1296}, // __builtin_amdgcn_s_decperflevel
+ {Intrinsic::amdgcn_s_getreg, 1328}, // __builtin_amdgcn_s_getreg
+ {Intrinsic::amdgcn_s_incperflevel, 1354}, // __builtin_amdgcn_s_incperflevel
+ {Intrinsic::amdgcn_s_memrealtime, 1386}, // __builtin_amdgcn_s_memrealtime
+ {Intrinsic::amdgcn_s_memtime, 1417}, // __builtin_amdgcn_s_memtime
+ {Intrinsic::amdgcn_s_sleep, 1444}, // __builtin_amdgcn_s_sleep
+ {Intrinsic::amdgcn_sad_hi_u8, 1469}, // __builtin_amdgcn_sad_hi_u8
+ {Intrinsic::amdgcn_sad_u16, 1496}, // __builtin_amdgcn_sad_u16
+ {Intrinsic::amdgcn_sad_u8, 1521}, // __builtin_amdgcn_sad_u8
+ {Intrinsic::amdgcn_wave_barrier, 1545}, // __builtin_amdgcn_wave_barrier
+ {Intrinsic::amdgcn_workgroup_id_x, 1575}, // __builtin_amdgcn_workgroup_id_x
+ {Intrinsic::amdgcn_workgroup_id_y, 1607}, // __builtin_amdgcn_workgroup_id_y
+ {Intrinsic::amdgcn_workgroup_id_z, 1639}, // __builtin_amdgcn_workgroup_id_z
+ };
+ auto I = std::lower_bound(std::begin(amdgcnNames),
+ std::end(amdgcnNames),
+ BuiltinNameStr);
+ if (I != std::end(amdgcnNames) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ if (TargetPrefix == "arm") {
+ static const BuiltinEntry armNames[] = {
+ {Intrinsic::arm_cdp, 1671}, // __builtin_arm_cdp
+ {Intrinsic::arm_cdp2, 1689}, // __builtin_arm_cdp2
+ {Intrinsic::arm_dmb, 224}, // __builtin_arm_dmb
+ {Intrinsic::arm_dsb, 242}, // __builtin_arm_dsb
+ {Intrinsic::arm_get_fpscr, 1708}, // __builtin_arm_get_fpscr
+ {Intrinsic::arm_isb, 260}, // __builtin_arm_isb
+ {Intrinsic::arm_ldc, 1732}, // __builtin_arm_ldc
+ {Intrinsic::arm_ldc2, 1750}, // __builtin_arm_ldc2
+ {Intrinsic::arm_ldc2l, 1769}, // __builtin_arm_ldc2l
+ {Intrinsic::arm_ldcl, 1789}, // __builtin_arm_ldcl
+ {Intrinsic::arm_mcr, 1808}, // __builtin_arm_mcr
+ {Intrinsic::arm_mcr2, 1826}, // __builtin_arm_mcr2
+ {Intrinsic::arm_mrc, 1845}, // __builtin_arm_mrc
+ {Intrinsic::arm_mrc2, 1863}, // __builtin_arm_mrc2
+ {Intrinsic::arm_qadd, 1882}, // __builtin_arm_qadd
+ {Intrinsic::arm_qsub, 1901}, // __builtin_arm_qsub
+ {Intrinsic::arm_set_fpscr, 1920}, // __builtin_arm_set_fpscr
+ {Intrinsic::arm_ssat, 1944}, // __builtin_arm_ssat
+ {Intrinsic::arm_stc, 1963}, // __builtin_arm_stc
+ {Intrinsic::arm_stc2, 1981}, // __builtin_arm_stc2
+ {Intrinsic::arm_stc2l, 2000}, // __builtin_arm_stc2l
+ {Intrinsic::arm_stcl, 2020}, // __builtin_arm_stcl
+ {Intrinsic::arm_usat, 2039}, // __builtin_arm_usat
+ };
+ auto I = std::lower_bound(std::begin(armNames),
+ std::end(armNames),
+ BuiltinNameStr);
+ if (I != std::end(armNames) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ if (TargetPrefix == "bpf") {
+ static const BuiltinEntry bpfNames[] = {
+ {Intrinsic::bpf_load_byte, 2058}, // __builtin_bpf_load_byte
+ {Intrinsic::bpf_load_half, 2082}, // __builtin_bpf_load_half
+ {Intrinsic::bpf_load_word, 2106}, // __builtin_bpf_load_word
+ {Intrinsic::bpf_pseudo, 2130}, // __builtin_bpf_pseudo
+ };
+ auto I = std::lower_bound(std::begin(bpfNames),
+ std::end(bpfNames),
+ BuiltinNameStr);
+ if (I != std::end(bpfNames) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ if (TargetPrefix == "hexagon") {
+ static const BuiltinEntry hexagonNames[] = {
+ {Intrinsic::hexagon_A2_abs, 2151}, // __builtin_HEXAGON_A2_abs
+ {Intrinsic::hexagon_A2_absp, 2176}, // __builtin_HEXAGON_A2_absp
+ {Intrinsic::hexagon_A2_abssat, 2202}, // __builtin_HEXAGON_A2_abssat
+ {Intrinsic::hexagon_A2_add, 2230}, // __builtin_HEXAGON_A2_add
+ {Intrinsic::hexagon_A2_addh_h16_hh, 2255}, // __builtin_HEXAGON_A2_addh_h16_hh
+ {Intrinsic::hexagon_A2_addh_h16_hl, 2288}, // __builtin_HEXAGON_A2_addh_h16_hl
+ {Intrinsic::hexagon_A2_addh_h16_lh, 2321}, // __builtin_HEXAGON_A2_addh_h16_lh
+ {Intrinsic::hexagon_A2_addh_h16_ll, 2354}, // __builtin_HEXAGON_A2_addh_h16_ll
+ {Intrinsic::hexagon_A2_addh_h16_sat_hh, 2387}, // __builtin_HEXAGON_A2_addh_h16_sat_hh
+ {Intrinsic::hexagon_A2_addh_h16_sat_hl, 2424}, // __builtin_HEXAGON_A2_addh_h16_sat_hl
+ {Intrinsic::hexagon_A2_addh_h16_sat_lh, 2461}, // __builtin_HEXAGON_A2_addh_h16_sat_lh
+ {Intrinsic::hexagon_A2_addh_h16_sat_ll, 2498}, // __builtin_HEXAGON_A2_addh_h16_sat_ll
+ {Intrinsic::hexagon_A2_addh_l16_hl, 2535}, // __builtin_HEXAGON_A2_addh_l16_hl
+ {Intrinsic::hexagon_A2_addh_l16_ll, 2568}, // __builtin_HEXAGON_A2_addh_l16_ll
+ {Intrinsic::hexagon_A2_addh_l16_sat_hl, 2601}, // __builtin_HEXAGON_A2_addh_l16_sat_hl
+ {Intrinsic::hexagon_A2_addh_l16_sat_ll, 2638}, // __builtin_HEXAGON_A2_addh_l16_sat_ll
+ {Intrinsic::hexagon_A2_addi, 2675}, // __builtin_HEXAGON_A2_addi
+ {Intrinsic::hexagon_A2_addp, 2701}, // __builtin_HEXAGON_A2_addp
+ {Intrinsic::hexagon_A2_addpsat, 2727}, // __builtin_HEXAGON_A2_addpsat
+ {Intrinsic::hexagon_A2_addsat, 2756}, // __builtin_HEXAGON_A2_addsat
+ {Intrinsic::hexagon_A2_addsp, 2784}, // __builtin_HEXAGON_A2_addsp
+ {Intrinsic::hexagon_A2_and, 2811}, // __builtin_HEXAGON_A2_and
+ {Intrinsic::hexagon_A2_andir, 2836}, // __builtin_HEXAGON_A2_andir
+ {Intrinsic::hexagon_A2_andp, 2863}, // __builtin_HEXAGON_A2_andp
+ {Intrinsic::hexagon_A2_aslh, 2889}, // __builtin_HEXAGON_A2_aslh
+ {Intrinsic::hexagon_A2_asrh, 2915}, // __builtin_HEXAGON_A2_asrh
+ {Intrinsic::hexagon_A2_combine_hh, 2941}, // __builtin_HEXAGON_A2_combine_hh
+ {Intrinsic::hexagon_A2_combine_hl, 2973}, // __builtin_HEXAGON_A2_combine_hl
+ {Intrinsic::hexagon_A2_combine_lh, 3005}, // __builtin_HEXAGON_A2_combine_lh
+ {Intrinsic::hexagon_A2_combine_ll, 3037}, // __builtin_HEXAGON_A2_combine_ll
+ {Intrinsic::hexagon_A2_combineii, 3069}, // __builtin_HEXAGON_A2_combineii
+ {Intrinsic::hexagon_A2_combinew, 3100}, // __builtin_HEXAGON_A2_combinew
+ {Intrinsic::hexagon_A2_max, 3130}, // __builtin_HEXAGON_A2_max
+ {Intrinsic::hexagon_A2_maxp, 3155}, // __builtin_HEXAGON_A2_maxp
+ {Intrinsic::hexagon_A2_maxu, 3181}, // __builtin_HEXAGON_A2_maxu
+ {Intrinsic::hexagon_A2_maxup, 3207}, // __builtin_HEXAGON_A2_maxup
+ {Intrinsic::hexagon_A2_min, 3234}, // __builtin_HEXAGON_A2_min
+ {Intrinsic::hexagon_A2_minp, 3259}, // __builtin_HEXAGON_A2_minp
+ {Intrinsic::hexagon_A2_minu, 3285}, // __builtin_HEXAGON_A2_minu
+ {Intrinsic::hexagon_A2_minup, 3311}, // __builtin_HEXAGON_A2_minup
+ {Intrinsic::hexagon_A2_neg, 3338}, // __builtin_HEXAGON_A2_neg
+ {Intrinsic::hexagon_A2_negp, 3363}, // __builtin_HEXAGON_A2_negp
+ {Intrinsic::hexagon_A2_negsat, 3389}, // __builtin_HEXAGON_A2_negsat
+ {Intrinsic::hexagon_A2_not, 3417}, // __builtin_HEXAGON_A2_not
+ {Intrinsic::hexagon_A2_notp, 3442}, // __builtin_HEXAGON_A2_notp
+ {Intrinsic::hexagon_A2_or, 3468}, // __builtin_HEXAGON_A2_or
+ {Intrinsic::hexagon_A2_orir, 3492}, // __builtin_HEXAGON_A2_orir
+ {Intrinsic::hexagon_A2_orp, 3518}, // __builtin_HEXAGON_A2_orp
+ {Intrinsic::hexagon_A2_roundsat, 3543}, // __builtin_HEXAGON_A2_roundsat
+ {Intrinsic::hexagon_A2_sat, 3573}, // __builtin_HEXAGON_A2_sat
+ {Intrinsic::hexagon_A2_satb, 3598}, // __builtin_HEXAGON_A2_satb
+ {Intrinsic::hexagon_A2_sath, 3624}, // __builtin_HEXAGON_A2_sath
+ {Intrinsic::hexagon_A2_satub, 3650}, // __builtin_HEXAGON_A2_satub
+ {Intrinsic::hexagon_A2_satuh, 3677}, // __builtin_HEXAGON_A2_satuh
+ {Intrinsic::hexagon_A2_sub, 3704}, // __builtin_HEXAGON_A2_sub
+ {Intrinsic::hexagon_A2_subh_h16_hh, 3729}, // __builtin_HEXAGON_A2_subh_h16_hh
+ {Intrinsic::hexagon_A2_subh_h16_hl, 3762}, // __builtin_HEXAGON_A2_subh_h16_hl
+ {Intrinsic::hexagon_A2_subh_h16_lh, 3795}, // __builtin_HEXAGON_A2_subh_h16_lh
+ {Intrinsic::hexagon_A2_subh_h16_ll, 3828}, // __builtin_HEXAGON_A2_subh_h16_ll
+ {Intrinsic::hexagon_A2_subh_h16_sat_hh, 3861}, // __builtin_HEXAGON_A2_subh_h16_sat_hh
+ {Intrinsic::hexagon_A2_subh_h16_sat_hl, 3898}, // __builtin_HEXAGON_A2_subh_h16_sat_hl
+ {Intrinsic::hexagon_A2_subh_h16_sat_lh, 3935}, // __builtin_HEXAGON_A2_subh_h16_sat_lh
+ {Intrinsic::hexagon_A2_subh_h16_sat_ll, 3972}, // __builtin_HEXAGON_A2_subh_h16_sat_ll
+ {Intrinsic::hexagon_A2_subh_l16_hl, 4009}, // __builtin_HEXAGON_A2_subh_l16_hl
+ {Intrinsic::hexagon_A2_subh_l16_ll, 4042}, // __builtin_HEXAGON_A2_subh_l16_ll
+ {Intrinsic::hexagon_A2_subh_l16_sat_hl, 4075}, // __builtin_HEXAGON_A2_subh_l16_sat_hl
+ {Intrinsic::hexagon_A2_subh_l16_sat_ll, 4112}, // __builtin_HEXAGON_A2_subh_l16_sat_ll
+ {Intrinsic::hexagon_A2_subp, 4149}, // __builtin_HEXAGON_A2_subp
+ {Intrinsic::hexagon_A2_subri, 4175}, // __builtin_HEXAGON_A2_subri
+ {Intrinsic::hexagon_A2_subsat, 4202}, // __builtin_HEXAGON_A2_subsat
+ {Intrinsic::hexagon_A2_svaddh, 4230}, // __builtin_HEXAGON_A2_svaddh
+ {Intrinsic::hexagon_A2_svaddhs, 4258}, // __builtin_HEXAGON_A2_svaddhs
+ {Intrinsic::hexagon_A2_svadduhs, 4287}, // __builtin_HEXAGON_A2_svadduhs
+ {Intrinsic::hexagon_A2_svavgh, 4317}, // __builtin_HEXAGON_A2_svavgh
+ {Intrinsic::hexagon_A2_svavghs, 4345}, // __builtin_HEXAGON_A2_svavghs
+ {Intrinsic::hexagon_A2_svnavgh, 4374}, // __builtin_HEXAGON_A2_svnavgh
+ {Intrinsic::hexagon_A2_svsubh, 4403}, // __builtin_HEXAGON_A2_svsubh
+ {Intrinsic::hexagon_A2_svsubhs, 4431}, // __builtin_HEXAGON_A2_svsubhs
+ {Intrinsic::hexagon_A2_svsubuhs, 4460}, // __builtin_HEXAGON_A2_svsubuhs
+ {Intrinsic::hexagon_A2_swiz, 4490}, // __builtin_HEXAGON_A2_swiz
+ {Intrinsic::hexagon_A2_sxtb, 4516}, // __builtin_HEXAGON_A2_sxtb
+ {Intrinsic::hexagon_A2_sxth, 4542}, // __builtin_HEXAGON_A2_sxth
+ {Intrinsic::hexagon_A2_sxtw, 4568}, // __builtin_HEXAGON_A2_sxtw
+ {Intrinsic::hexagon_A2_tfr, 4594}, // __builtin_HEXAGON_A2_tfr
+ {Intrinsic::hexagon_A2_tfrih, 4619}, // __builtin_HEXAGON_A2_tfrih
+ {Intrinsic::hexagon_A2_tfril, 4646}, // __builtin_HEXAGON_A2_tfril
+ {Intrinsic::hexagon_A2_tfrp, 4673}, // __builtin_HEXAGON_A2_tfrp
+ {Intrinsic::hexagon_A2_tfrpi, 4699}, // __builtin_HEXAGON_A2_tfrpi
+ {Intrinsic::hexagon_A2_tfrsi, 4726}, // __builtin_HEXAGON_A2_tfrsi
+ {Intrinsic::hexagon_A2_vabsh, 4753}, // __builtin_HEXAGON_A2_vabsh
+ {Intrinsic::hexagon_A2_vabshsat, 4780}, // __builtin_HEXAGON_A2_vabshsat
+ {Intrinsic::hexagon_A2_vabsw, 4810}, // __builtin_HEXAGON_A2_vabsw
+ {Intrinsic::hexagon_A2_vabswsat, 4837}, // __builtin_HEXAGON_A2_vabswsat
+ {Intrinsic::hexagon_A2_vaddb_map, 4867}, // __builtin_HEXAGON_A2_vaddb_map
+ {Intrinsic::hexagon_A2_vaddh, 4898}, // __builtin_HEXAGON_A2_vaddh
+ {Intrinsic::hexagon_A2_vaddhs, 4925}, // __builtin_HEXAGON_A2_vaddhs
+ {Intrinsic::hexagon_A2_vaddub, 4953}, // __builtin_HEXAGON_A2_vaddub
+ {Intrinsic::hexagon_A2_vaddubs, 4981}, // __builtin_HEXAGON_A2_vaddubs
+ {Intrinsic::hexagon_A2_vadduhs, 5010}, // __builtin_HEXAGON_A2_vadduhs
+ {Intrinsic::hexagon_A2_vaddw, 5039}, // __builtin_HEXAGON_A2_vaddw
+ {Intrinsic::hexagon_A2_vaddws, 5066}, // __builtin_HEXAGON_A2_vaddws
+ {Intrinsic::hexagon_A2_vavgh, 5094}, // __builtin_HEXAGON_A2_vavgh
+ {Intrinsic::hexagon_A2_vavghcr, 5121}, // __builtin_HEXAGON_A2_vavghcr
+ {Intrinsic::hexagon_A2_vavghr, 5150}, // __builtin_HEXAGON_A2_vavghr
+ {Intrinsic::hexagon_A2_vavgub, 5178}, // __builtin_HEXAGON_A2_vavgub
+ {Intrinsic::hexagon_A2_vavgubr, 5206}, // __builtin_HEXAGON_A2_vavgubr
+ {Intrinsic::hexagon_A2_vavguh, 5235}, // __builtin_HEXAGON_A2_vavguh
+ {Intrinsic::hexagon_A2_vavguhr, 5263}, // __builtin_HEXAGON_A2_vavguhr
+ {Intrinsic::hexagon_A2_vavguw, 5292}, // __builtin_HEXAGON_A2_vavguw
+ {Intrinsic::hexagon_A2_vavguwr, 5320}, // __builtin_HEXAGON_A2_vavguwr
+ {Intrinsic::hexagon_A2_vavgw, 5349}, // __builtin_HEXAGON_A2_vavgw
+ {Intrinsic::hexagon_A2_vavgwcr, 5376}, // __builtin_HEXAGON_A2_vavgwcr
+ {Intrinsic::hexagon_A2_vavgwr, 5405}, // __builtin_HEXAGON_A2_vavgwr
+ {Intrinsic::hexagon_A2_vcmpbeq, 5433}, // __builtin_HEXAGON_A2_vcmpbeq
+ {Intrinsic::hexagon_A2_vcmpbgtu, 5462}, // __builtin_HEXAGON_A2_vcmpbgtu
+ {Intrinsic::hexagon_A2_vcmpheq, 5492}, // __builtin_HEXAGON_A2_vcmpheq
+ {Intrinsic::hexagon_A2_vcmphgt, 5521}, // __builtin_HEXAGON_A2_vcmphgt
+ {Intrinsic::hexagon_A2_vcmphgtu, 5550}, // __builtin_HEXAGON_A2_vcmphgtu
+ {Intrinsic::hexagon_A2_vcmpweq, 5580}, // __builtin_HEXAGON_A2_vcmpweq
+ {Intrinsic::hexagon_A2_vcmpwgt, 5609}, // __builtin_HEXAGON_A2_vcmpwgt
+ {Intrinsic::hexagon_A2_vcmpwgtu, 5638}, // __builtin_HEXAGON_A2_vcmpwgtu
+ {Intrinsic::hexagon_A2_vconj, 5668}, // __builtin_HEXAGON_A2_vconj
+ {Intrinsic::hexagon_A2_vmaxb, 5695}, // __builtin_HEXAGON_A2_vmaxb
+ {Intrinsic::hexagon_A2_vmaxh, 5722}, // __builtin_HEXAGON_A2_vmaxh
+ {Intrinsic::hexagon_A2_vmaxub, 5749}, // __builtin_HEXAGON_A2_vmaxub
+ {Intrinsic::hexagon_A2_vmaxuh, 5777}, // __builtin_HEXAGON_A2_vmaxuh
+ {Intrinsic::hexagon_A2_vmaxuw, 5805}, // __builtin_HEXAGON_A2_vmaxuw
+ {Intrinsic::hexagon_A2_vmaxw, 5833}, // __builtin_HEXAGON_A2_vmaxw
+ {Intrinsic::hexagon_A2_vminb, 5860}, // __builtin_HEXAGON_A2_vminb
+ {Intrinsic::hexagon_A2_vminh, 5887}, // __builtin_HEXAGON_A2_vminh
+ {Intrinsic::hexagon_A2_vminub, 5914}, // __builtin_HEXAGON_A2_vminub
+ {Intrinsic::hexagon_A2_vminuh, 5942}, // __builtin_HEXAGON_A2_vminuh
+ {Intrinsic::hexagon_A2_vminuw, 5970}, // __builtin_HEXAGON_A2_vminuw
+ {Intrinsic::hexagon_A2_vminw, 5998}, // __builtin_HEXAGON_A2_vminw
+ {Intrinsic::hexagon_A2_vnavgh, 6025}, // __builtin_HEXAGON_A2_vnavgh
+ {Intrinsic::hexagon_A2_vnavghcr, 6053}, // __builtin_HEXAGON_A2_vnavghcr
+ {Intrinsic::hexagon_A2_vnavghr, 6083}, // __builtin_HEXAGON_A2_vnavghr
+ {Intrinsic::hexagon_A2_vnavgw, 6112}, // __builtin_HEXAGON_A2_vnavgw
+ {Intrinsic::hexagon_A2_vnavgwcr, 6140}, // __builtin_HEXAGON_A2_vnavgwcr
+ {Intrinsic::hexagon_A2_vnavgwr, 6170}, // __builtin_HEXAGON_A2_vnavgwr
+ {Intrinsic::hexagon_A2_vraddub, 6199}, // __builtin_HEXAGON_A2_vraddub
+ {Intrinsic::hexagon_A2_vraddub_acc, 6228}, // __builtin_HEXAGON_A2_vraddub_acc
+ {Intrinsic::hexagon_A2_vrsadub, 6261}, // __builtin_HEXAGON_A2_vrsadub
+ {Intrinsic::hexagon_A2_vrsadub_acc, 6290}, // __builtin_HEXAGON_A2_vrsadub_acc
+ {Intrinsic::hexagon_A2_vsubb_map, 6323}, // __builtin_HEXAGON_A2_vsubb_map
+ {Intrinsic::hexagon_A2_vsubh, 6354}, // __builtin_HEXAGON_A2_vsubh
+ {Intrinsic::hexagon_A2_vsubhs, 6381}, // __builtin_HEXAGON_A2_vsubhs
+ {Intrinsic::hexagon_A2_vsubub, 6409}, // __builtin_HEXAGON_A2_vsubub
+ {Intrinsic::hexagon_A2_vsububs, 6437}, // __builtin_HEXAGON_A2_vsububs
+ {Intrinsic::hexagon_A2_vsubuhs, 6466}, // __builtin_HEXAGON_A2_vsubuhs
+ {Intrinsic::hexagon_A2_vsubw, 6495}, // __builtin_HEXAGON_A2_vsubw
+ {Intrinsic::hexagon_A2_vsubws, 6522}, // __builtin_HEXAGON_A2_vsubws
+ {Intrinsic::hexagon_A2_xor, 6550}, // __builtin_HEXAGON_A2_xor
+ {Intrinsic::hexagon_A2_xorp, 6575}, // __builtin_HEXAGON_A2_xorp
+ {Intrinsic::hexagon_A2_zxtb, 6601}, // __builtin_HEXAGON_A2_zxtb
+ {Intrinsic::hexagon_A2_zxth, 6627}, // __builtin_HEXAGON_A2_zxth
+ {Intrinsic::hexagon_A4_andn, 6653}, // __builtin_HEXAGON_A4_andn
+ {Intrinsic::hexagon_A4_andnp, 6679}, // __builtin_HEXAGON_A4_andnp
+ {Intrinsic::hexagon_A4_bitsplit, 6706}, // __builtin_HEXAGON_A4_bitsplit
+ {Intrinsic::hexagon_A4_bitspliti, 6736}, // __builtin_HEXAGON_A4_bitspliti
+ {Intrinsic::hexagon_A4_boundscheck, 6767}, // __builtin_HEXAGON_A4_boundscheck
+ {Intrinsic::hexagon_A4_cmpbeq, 6800}, // __builtin_HEXAGON_A4_cmpbeq
+ {Intrinsic::hexagon_A4_cmpbeqi, 6828}, // __builtin_HEXAGON_A4_cmpbeqi
+ {Intrinsic::hexagon_A4_cmpbgt, 6857}, // __builtin_HEXAGON_A4_cmpbgt
+ {Intrinsic::hexagon_A4_cmpbgti, 6885}, // __builtin_HEXAGON_A4_cmpbgti
+ {Intrinsic::hexagon_A4_cmpbgtu, 6914}, // __builtin_HEXAGON_A4_cmpbgtu
+ {Intrinsic::hexagon_A4_cmpbgtui, 6943}, // __builtin_HEXAGON_A4_cmpbgtui
+ {Intrinsic::hexagon_A4_cmpheq, 6973}, // __builtin_HEXAGON_A4_cmpheq
+ {Intrinsic::hexagon_A4_cmpheqi, 7001}, // __builtin_HEXAGON_A4_cmpheqi
+ {Intrinsic::hexagon_A4_cmphgt, 7030}, // __builtin_HEXAGON_A4_cmphgt
+ {Intrinsic::hexagon_A4_cmphgti, 7058}, // __builtin_HEXAGON_A4_cmphgti
+ {Intrinsic::hexagon_A4_cmphgtu, 7087}, // __builtin_HEXAGON_A4_cmphgtu
+ {Intrinsic::hexagon_A4_cmphgtui, 7116}, // __builtin_HEXAGON_A4_cmphgtui
+ {Intrinsic::hexagon_A4_combineir, 7146}, // __builtin_HEXAGON_A4_combineir
+ {Intrinsic::hexagon_A4_combineri, 7177}, // __builtin_HEXAGON_A4_combineri
+ {Intrinsic::hexagon_A4_cround_ri, 7208}, // __builtin_HEXAGON_A4_cround_ri
+ {Intrinsic::hexagon_A4_cround_rr, 7239}, // __builtin_HEXAGON_A4_cround_rr
+ {Intrinsic::hexagon_A4_modwrapu, 7270}, // __builtin_HEXAGON_A4_modwrapu
+ {Intrinsic::hexagon_A4_orn, 7300}, // __builtin_HEXAGON_A4_orn
+ {Intrinsic::hexagon_A4_ornp, 7325}, // __builtin_HEXAGON_A4_ornp
+ {Intrinsic::hexagon_A4_rcmpeq, 7351}, // __builtin_HEXAGON_A4_rcmpeq
+ {Intrinsic::hexagon_A4_rcmpeqi, 7379}, // __builtin_HEXAGON_A4_rcmpeqi
+ {Intrinsic::hexagon_A4_rcmpneq, 7408}, // __builtin_HEXAGON_A4_rcmpneq
+ {Intrinsic::hexagon_A4_rcmpneqi, 7437}, // __builtin_HEXAGON_A4_rcmpneqi
+ {Intrinsic::hexagon_A4_round_ri, 7467}, // __builtin_HEXAGON_A4_round_ri
+ {Intrinsic::hexagon_A4_round_ri_sat, 7497}, // __builtin_HEXAGON_A4_round_ri_sat
+ {Intrinsic::hexagon_A4_round_rr, 7531}, // __builtin_HEXAGON_A4_round_rr
+ {Intrinsic::hexagon_A4_round_rr_sat, 7561}, // __builtin_HEXAGON_A4_round_rr_sat
+ {Intrinsic::hexagon_A4_tlbmatch, 7595}, // __builtin_HEXAGON_A4_tlbmatch
+ {Intrinsic::hexagon_A4_vcmpbeq_any, 7625}, // __builtin_HEXAGON_A4_vcmpbeq_any
+ {Intrinsic::hexagon_A4_vcmpbeqi, 7658}, // __builtin_HEXAGON_A4_vcmpbeqi
+ {Intrinsic::hexagon_A4_vcmpbgt, 7688}, // __builtin_HEXAGON_A4_vcmpbgt
+ {Intrinsic::hexagon_A4_vcmpbgti, 7717}, // __builtin_HEXAGON_A4_vcmpbgti
+ {Intrinsic::hexagon_A4_vcmpbgtui, 7747}, // __builtin_HEXAGON_A4_vcmpbgtui
+ {Intrinsic::hexagon_A4_vcmpheqi, 7778}, // __builtin_HEXAGON_A4_vcmpheqi
+ {Intrinsic::hexagon_A4_vcmphgti, 7808}, // __builtin_HEXAGON_A4_vcmphgti
+ {Intrinsic::hexagon_A4_vcmphgtui, 7838}, // __builtin_HEXAGON_A4_vcmphgtui
+ {Intrinsic::hexagon_A4_vcmpweqi, 7869}, // __builtin_HEXAGON_A4_vcmpweqi
+ {Intrinsic::hexagon_A4_vcmpwgti, 7899}, // __builtin_HEXAGON_A4_vcmpwgti
+ {Intrinsic::hexagon_A4_vcmpwgtui, 7929}, // __builtin_HEXAGON_A4_vcmpwgtui
+ {Intrinsic::hexagon_A4_vrmaxh, 7960}, // __builtin_HEXAGON_A4_vrmaxh
+ {Intrinsic::hexagon_A4_vrmaxuh, 7988}, // __builtin_HEXAGON_A4_vrmaxuh
+ {Intrinsic::hexagon_A4_vrmaxuw, 8017}, // __builtin_HEXAGON_A4_vrmaxuw
+ {Intrinsic::hexagon_A4_vrmaxw, 8046}, // __builtin_HEXAGON_A4_vrmaxw
+ {Intrinsic::hexagon_A4_vrminh, 8074}, // __builtin_HEXAGON_A4_vrminh
+ {Intrinsic::hexagon_A4_vrminuh, 8102}, // __builtin_HEXAGON_A4_vrminuh
+ {Intrinsic::hexagon_A4_vrminuw, 8131}, // __builtin_HEXAGON_A4_vrminuw
+ {Intrinsic::hexagon_A4_vrminw, 8160}, // __builtin_HEXAGON_A4_vrminw
+ {Intrinsic::hexagon_A5_vaddhubs, 8188}, // __builtin_HEXAGON_A5_vaddhubs
+ {Intrinsic::hexagon_C2_all8, 8218}, // __builtin_HEXAGON_C2_all8
+ {Intrinsic::hexagon_C2_and, 8244}, // __builtin_HEXAGON_C2_and
+ {Intrinsic::hexagon_C2_andn, 8269}, // __builtin_HEXAGON_C2_andn
+ {Intrinsic::hexagon_C2_any8, 8295}, // __builtin_HEXAGON_C2_any8
+ {Intrinsic::hexagon_C2_bitsclr, 8321}, // __builtin_HEXAGON_C2_bitsclr
+ {Intrinsic::hexagon_C2_bitsclri, 8350}, // __builtin_HEXAGON_C2_bitsclri
+ {Intrinsic::hexagon_C2_bitsset, 8380}, // __builtin_HEXAGON_C2_bitsset
+ {Intrinsic::hexagon_C2_cmpeq, 8409}, // __builtin_HEXAGON_C2_cmpeq
+ {Intrinsic::hexagon_C2_cmpeqi, 8436}, // __builtin_HEXAGON_C2_cmpeqi
+ {Intrinsic::hexagon_C2_cmpeqp, 8464}, // __builtin_HEXAGON_C2_cmpeqp
+ {Intrinsic::hexagon_C2_cmpgei, 8492}, // __builtin_HEXAGON_C2_cmpgei
+ {Intrinsic::hexagon_C2_cmpgeui, 8520}, // __builtin_HEXAGON_C2_cmpgeui
+ {Intrinsic::hexagon_C2_cmpgt, 8549}, // __builtin_HEXAGON_C2_cmpgt
+ {Intrinsic::hexagon_C2_cmpgti, 8576}, // __builtin_HEXAGON_C2_cmpgti
+ {Intrinsic::hexagon_C2_cmpgtp, 8604}, // __builtin_HEXAGON_C2_cmpgtp
+ {Intrinsic::hexagon_C2_cmpgtu, 8632}, // __builtin_HEXAGON_C2_cmpgtu
+ {Intrinsic::hexagon_C2_cmpgtui, 8660}, // __builtin_HEXAGON_C2_cmpgtui
+ {Intrinsic::hexagon_C2_cmpgtup, 8689}, // __builtin_HEXAGON_C2_cmpgtup
+ {Intrinsic::hexagon_C2_cmplt, 8718}, // __builtin_HEXAGON_C2_cmplt
+ {Intrinsic::hexagon_C2_cmpltu, 8745}, // __builtin_HEXAGON_C2_cmpltu
+ {Intrinsic::hexagon_C2_mask, 8773}, // __builtin_HEXAGON_C2_mask
+ {Intrinsic::hexagon_C2_mux, 8799}, // __builtin_HEXAGON_C2_mux
+ {Intrinsic::hexagon_C2_muxii, 8824}, // __builtin_HEXAGON_C2_muxii
+ {Intrinsic::hexagon_C2_muxir, 8851}, // __builtin_HEXAGON_C2_muxir
+ {Intrinsic::hexagon_C2_muxri, 8878}, // __builtin_HEXAGON_C2_muxri
+ {Intrinsic::hexagon_C2_not, 8905}, // __builtin_HEXAGON_C2_not
+ {Intrinsic::hexagon_C2_or, 8930}, // __builtin_HEXAGON_C2_or
+ {Intrinsic::hexagon_C2_orn, 8954}, // __builtin_HEXAGON_C2_orn
+ {Intrinsic::hexagon_C2_pxfer_map, 8979}, // __builtin_HEXAGON_C2_pxfer_map
+ {Intrinsic::hexagon_C2_tfrpr, 9010}, // __builtin_HEXAGON_C2_tfrpr
+ {Intrinsic::hexagon_C2_tfrrp, 9037}, // __builtin_HEXAGON_C2_tfrrp
+ {Intrinsic::hexagon_C2_vitpack, 9064}, // __builtin_HEXAGON_C2_vitpack
+ {Intrinsic::hexagon_C2_vmux, 9093}, // __builtin_HEXAGON_C2_vmux
+ {Intrinsic::hexagon_C2_xor, 9119}, // __builtin_HEXAGON_C2_xor
+ {Intrinsic::hexagon_C4_and_and, 9144}, // __builtin_HEXAGON_C4_and_and
+ {Intrinsic::hexagon_C4_and_andn, 9173}, // __builtin_HEXAGON_C4_and_andn
+ {Intrinsic::hexagon_C4_and_or, 9203}, // __builtin_HEXAGON_C4_and_or
+ {Intrinsic::hexagon_C4_and_orn, 9231}, // __builtin_HEXAGON_C4_and_orn
+ {Intrinsic::hexagon_C4_cmplte, 9260}, // __builtin_HEXAGON_C4_cmplte
+ {Intrinsic::hexagon_C4_cmpltei, 9288}, // __builtin_HEXAGON_C4_cmpltei
+ {Intrinsic::hexagon_C4_cmplteu, 9317}, // __builtin_HEXAGON_C4_cmplteu
+ {Intrinsic::hexagon_C4_cmplteui, 9346}, // __builtin_HEXAGON_C4_cmplteui
+ {Intrinsic::hexagon_C4_cmpneq, 9376}, // __builtin_HEXAGON_C4_cmpneq
+ {Intrinsic::hexagon_C4_cmpneqi, 9404}, // __builtin_HEXAGON_C4_cmpneqi
+ {Intrinsic::hexagon_C4_fastcorner9, 9433}, // __builtin_HEXAGON_C4_fastcorner9
+ {Intrinsic::hexagon_C4_fastcorner9_not, 9466}, // __builtin_HEXAGON_C4_fastcorner9_not
+ {Intrinsic::hexagon_C4_nbitsclr, 9503}, // __builtin_HEXAGON_C4_nbitsclr
+ {Intrinsic::hexagon_C4_nbitsclri, 9533}, // __builtin_HEXAGON_C4_nbitsclri
+ {Intrinsic::hexagon_C4_nbitsset, 9564}, // __builtin_HEXAGON_C4_nbitsset
+ {Intrinsic::hexagon_C4_or_and, 9594}, // __builtin_HEXAGON_C4_or_and
+ {Intrinsic::hexagon_C4_or_andn, 9622}, // __builtin_HEXAGON_C4_or_andn
+ {Intrinsic::hexagon_C4_or_or, 9651}, // __builtin_HEXAGON_C4_or_or
+ {Intrinsic::hexagon_C4_or_orn, 9678}, // __builtin_HEXAGON_C4_or_orn
+ {Intrinsic::hexagon_F2_conv_d2df, 9706}, // __builtin_HEXAGON_F2_conv_d2df
+ {Intrinsic::hexagon_F2_conv_d2sf, 9737}, // __builtin_HEXAGON_F2_conv_d2sf
+ {Intrinsic::hexagon_F2_conv_df2d, 9768}, // __builtin_HEXAGON_F2_conv_df2d
+ {Intrinsic::hexagon_F2_conv_df2d_chop, 9799}, // __builtin_HEXAGON_F2_conv_df2d_chop
+ {Intrinsic::hexagon_F2_conv_df2sf, 9835}, // __builtin_HEXAGON_F2_conv_df2sf
+ {Intrinsic::hexagon_F2_conv_df2ud, 9867}, // __builtin_HEXAGON_F2_conv_df2ud
+ {Intrinsic::hexagon_F2_conv_df2ud_chop, 9899}, // __builtin_HEXAGON_F2_conv_df2ud_chop
+ {Intrinsic::hexagon_F2_conv_df2uw, 9936}, // __builtin_HEXAGON_F2_conv_df2uw
+ {Intrinsic::hexagon_F2_conv_df2uw_chop, 9968}, // __builtin_HEXAGON_F2_conv_df2uw_chop
+ {Intrinsic::hexagon_F2_conv_df2w, 10005}, // __builtin_HEXAGON_F2_conv_df2w
+ {Intrinsic::hexagon_F2_conv_df2w_chop, 10036}, // __builtin_HEXAGON_F2_conv_df2w_chop
+ {Intrinsic::hexagon_F2_conv_sf2d, 10072}, // __builtin_HEXAGON_F2_conv_sf2d
+ {Intrinsic::hexagon_F2_conv_sf2d_chop, 10103}, // __builtin_HEXAGON_F2_conv_sf2d_chop
+ {Intrinsic::hexagon_F2_conv_sf2df, 10139}, // __builtin_HEXAGON_F2_conv_sf2df
+ {Intrinsic::hexagon_F2_conv_sf2ud, 10171}, // __builtin_HEXAGON_F2_conv_sf2ud
+ {Intrinsic::hexagon_F2_conv_sf2ud_chop, 10203}, // __builtin_HEXAGON_F2_conv_sf2ud_chop
+ {Intrinsic::hexagon_F2_conv_sf2uw, 10240}, // __builtin_HEXAGON_F2_conv_sf2uw
+ {Intrinsic::hexagon_F2_conv_sf2uw_chop, 10272}, // __builtin_HEXAGON_F2_conv_sf2uw_chop
+ {Intrinsic::hexagon_F2_conv_sf2w, 10309}, // __builtin_HEXAGON_F2_conv_sf2w
+ {Intrinsic::hexagon_F2_conv_sf2w_chop, 10340}, // __builtin_HEXAGON_F2_conv_sf2w_chop
+ {Intrinsic::hexagon_F2_conv_ud2df, 10376}, // __builtin_HEXAGON_F2_conv_ud2df
+ {Intrinsic::hexagon_F2_conv_ud2sf, 10408}, // __builtin_HEXAGON_F2_conv_ud2sf
+ {Intrinsic::hexagon_F2_conv_uw2df, 10440}, // __builtin_HEXAGON_F2_conv_uw2df
+ {Intrinsic::hexagon_F2_conv_uw2sf, 10472}, // __builtin_HEXAGON_F2_conv_uw2sf
+ {Intrinsic::hexagon_F2_conv_w2df, 10504}, // __builtin_HEXAGON_F2_conv_w2df
+ {Intrinsic::hexagon_F2_conv_w2sf, 10535}, // __builtin_HEXAGON_F2_conv_w2sf
+ {Intrinsic::hexagon_F2_dfclass, 10566}, // __builtin_HEXAGON_F2_dfclass
+ {Intrinsic::hexagon_F2_dfcmpeq, 10595}, // __builtin_HEXAGON_F2_dfcmpeq
+ {Intrinsic::hexagon_F2_dfcmpge, 10624}, // __builtin_HEXAGON_F2_dfcmpge
+ {Intrinsic::hexagon_F2_dfcmpgt, 10653}, // __builtin_HEXAGON_F2_dfcmpgt
+ {Intrinsic::hexagon_F2_dfcmpuo, 10682}, // __builtin_HEXAGON_F2_dfcmpuo
+ {Intrinsic::hexagon_F2_dfimm_n, 10711}, // __builtin_HEXAGON_F2_dfimm_n
+ {Intrinsic::hexagon_F2_dfimm_p, 10740}, // __builtin_HEXAGON_F2_dfimm_p
+ {Intrinsic::hexagon_F2_sfadd, 10769}, // __builtin_HEXAGON_F2_sfadd
+ {Intrinsic::hexagon_F2_sfclass, 10796}, // __builtin_HEXAGON_F2_sfclass
+ {Intrinsic::hexagon_F2_sfcmpeq, 10825}, // __builtin_HEXAGON_F2_sfcmpeq
+ {Intrinsic::hexagon_F2_sfcmpge, 10854}, // __builtin_HEXAGON_F2_sfcmpge
+ {Intrinsic::hexagon_F2_sfcmpgt, 10883}, // __builtin_HEXAGON_F2_sfcmpgt
+ {Intrinsic::hexagon_F2_sfcmpuo, 10912}, // __builtin_HEXAGON_F2_sfcmpuo
+ {Intrinsic::hexagon_F2_sffixupd, 10941}, // __builtin_HEXAGON_F2_sffixupd
+ {Intrinsic::hexagon_F2_sffixupn, 10971}, // __builtin_HEXAGON_F2_sffixupn
+ {Intrinsic::hexagon_F2_sffixupr, 11001}, // __builtin_HEXAGON_F2_sffixupr
+ {Intrinsic::hexagon_F2_sffma, 11031}, // __builtin_HEXAGON_F2_sffma
+ {Intrinsic::hexagon_F2_sffma_lib, 11058}, // __builtin_HEXAGON_F2_sffma_lib
+ {Intrinsic::hexagon_F2_sffma_sc, 11089}, // __builtin_HEXAGON_F2_sffma_sc
+ {Intrinsic::hexagon_F2_sffms, 11119}, // __builtin_HEXAGON_F2_sffms
+ {Intrinsic::hexagon_F2_sffms_lib, 11146}, // __builtin_HEXAGON_F2_sffms_lib
+ {Intrinsic::hexagon_F2_sfimm_n, 11177}, // __builtin_HEXAGON_F2_sfimm_n
+ {Intrinsic::hexagon_F2_sfimm_p, 11206}, // __builtin_HEXAGON_F2_sfimm_p
+ {Intrinsic::hexagon_F2_sfmax, 11235}, // __builtin_HEXAGON_F2_sfmax
+ {Intrinsic::hexagon_F2_sfmin, 11262}, // __builtin_HEXAGON_F2_sfmin
+ {Intrinsic::hexagon_F2_sfmpy, 11289}, // __builtin_HEXAGON_F2_sfmpy
+ {Intrinsic::hexagon_F2_sfsub, 11316}, // __builtin_HEXAGON_F2_sfsub
+ {Intrinsic::hexagon_L2_loadw_locked, 11343}, // __builtin_HEXAGON_L2_loadw_locked
+ {Intrinsic::hexagon_L4_loadd_locked, 11377}, // __builtin_HEXAGON_L4_loadd_locked
+ {Intrinsic::hexagon_M2_acci, 11411}, // __builtin_HEXAGON_M2_acci
+ {Intrinsic::hexagon_M2_accii, 11437}, // __builtin_HEXAGON_M2_accii
+ {Intrinsic::hexagon_M2_cmaci_s0, 11464}, // __builtin_HEXAGON_M2_cmaci_s0
+ {Intrinsic::hexagon_M2_cmacr_s0, 11494}, // __builtin_HEXAGON_M2_cmacr_s0
+ {Intrinsic::hexagon_M2_cmacs_s0, 11524}, // __builtin_HEXAGON_M2_cmacs_s0
+ {Intrinsic::hexagon_M2_cmacs_s1, 11554}, // __builtin_HEXAGON_M2_cmacs_s1
+ {Intrinsic::hexagon_M2_cmacsc_s0, 11584}, // __builtin_HEXAGON_M2_cmacsc_s0
+ {Intrinsic::hexagon_M2_cmacsc_s1, 11615}, // __builtin_HEXAGON_M2_cmacsc_s1
+ {Intrinsic::hexagon_M2_cmpyi_s0, 11646}, // __builtin_HEXAGON_M2_cmpyi_s0
+ {Intrinsic::hexagon_M2_cmpyr_s0, 11676}, // __builtin_HEXAGON_M2_cmpyr_s0
+ {Intrinsic::hexagon_M2_cmpyrs_s0, 11706}, // __builtin_HEXAGON_M2_cmpyrs_s0
+ {Intrinsic::hexagon_M2_cmpyrs_s1, 11737}, // __builtin_HEXAGON_M2_cmpyrs_s1
+ {Intrinsic::hexagon_M2_cmpyrsc_s0, 11768}, // __builtin_HEXAGON_M2_cmpyrsc_s0
+ {Intrinsic::hexagon_M2_cmpyrsc_s1, 11800}, // __builtin_HEXAGON_M2_cmpyrsc_s1
+ {Intrinsic::hexagon_M2_cmpys_s0, 11832}, // __builtin_HEXAGON_M2_cmpys_s0
+ {Intrinsic::hexagon_M2_cmpys_s1, 11862}, // __builtin_HEXAGON_M2_cmpys_s1
+ {Intrinsic::hexagon_M2_cmpysc_s0, 11892}, // __builtin_HEXAGON_M2_cmpysc_s0
+ {Intrinsic::hexagon_M2_cmpysc_s1, 11923}, // __builtin_HEXAGON_M2_cmpysc_s1
+ {Intrinsic::hexagon_M2_cnacs_s0, 11954}, // __builtin_HEXAGON_M2_cnacs_s0
+ {Intrinsic::hexagon_M2_cnacs_s1, 11984}, // __builtin_HEXAGON_M2_cnacs_s1
+ {Intrinsic::hexagon_M2_cnacsc_s0, 12014}, // __builtin_HEXAGON_M2_cnacsc_s0
+ {Intrinsic::hexagon_M2_cnacsc_s1, 12045}, // __builtin_HEXAGON_M2_cnacsc_s1
+ {Intrinsic::hexagon_M2_dpmpyss_acc_s0, 12076}, // __builtin_HEXAGON_M2_dpmpyss_acc_s0
+ {Intrinsic::hexagon_M2_dpmpyss_nac_s0, 12112}, // __builtin_HEXAGON_M2_dpmpyss_nac_s0
+ {Intrinsic::hexagon_M2_dpmpyss_rnd_s0, 12148}, // __builtin_HEXAGON_M2_dpmpyss_rnd_s0
+ {Intrinsic::hexagon_M2_dpmpyss_s0, 12184}, // __builtin_HEXAGON_M2_dpmpyss_s0
+ {Intrinsic::hexagon_M2_dpmpyuu_acc_s0, 12216}, // __builtin_HEXAGON_M2_dpmpyuu_acc_s0
+ {Intrinsic::hexagon_M2_dpmpyuu_nac_s0, 12252}, // __builtin_HEXAGON_M2_dpmpyuu_nac_s0
+ {Intrinsic::hexagon_M2_dpmpyuu_s0, 12288}, // __builtin_HEXAGON_M2_dpmpyuu_s0
+ {Intrinsic::hexagon_M2_hmmpyh_rs1, 12320}, // __builtin_HEXAGON_M2_hmmpyh_rs1
+ {Intrinsic::hexagon_M2_hmmpyh_s1, 12352}, // __builtin_HEXAGON_M2_hmmpyh_s1
+ {Intrinsic::hexagon_M2_hmmpyl_rs1, 12383}, // __builtin_HEXAGON_M2_hmmpyl_rs1
+ {Intrinsic::hexagon_M2_hmmpyl_s1, 12415}, // __builtin_HEXAGON_M2_hmmpyl_s1
+ {Intrinsic::hexagon_M2_maci, 12446}, // __builtin_HEXAGON_M2_maci
+ {Intrinsic::hexagon_M2_macsin, 12472}, // __builtin_HEXAGON_M2_macsin
+ {Intrinsic::hexagon_M2_macsip, 12500}, // __builtin_HEXAGON_M2_macsip
+ {Intrinsic::hexagon_M2_mmachs_rs0, 12528}, // __builtin_HEXAGON_M2_mmachs_rs0
+ {Intrinsic::hexagon_M2_mmachs_rs1, 12560}, // __builtin_HEXAGON_M2_mmachs_rs1
+ {Intrinsic::hexagon_M2_mmachs_s0, 12592}, // __builtin_HEXAGON_M2_mmachs_s0
+ {Intrinsic::hexagon_M2_mmachs_s1, 12623}, // __builtin_HEXAGON_M2_mmachs_s1
+ {Intrinsic::hexagon_M2_mmacls_rs0, 12654}, // __builtin_HEXAGON_M2_mmacls_rs0
+ {Intrinsic::hexagon_M2_mmacls_rs1, 12686}, // __builtin_HEXAGON_M2_mmacls_rs1
+ {Intrinsic::hexagon_M2_mmacls_s0, 12718}, // __builtin_HEXAGON_M2_mmacls_s0
+ {Intrinsic::hexagon_M2_mmacls_s1, 12749}, // __builtin_HEXAGON_M2_mmacls_s1
+ {Intrinsic::hexagon_M2_mmacuhs_rs0, 12780}, // __builtin_HEXAGON_M2_mmacuhs_rs0
+ {Intrinsic::hexagon_M2_mmacuhs_rs1, 12813}, // __builtin_HEXAGON_M2_mmacuhs_rs1
+ {Intrinsic::hexagon_M2_mmacuhs_s0, 12846}, // __builtin_HEXAGON_M2_mmacuhs_s0
+ {Intrinsic::hexagon_M2_mmacuhs_s1, 12878}, // __builtin_HEXAGON_M2_mmacuhs_s1
+ {Intrinsic::hexagon_M2_mmaculs_rs0, 12910}, // __builtin_HEXAGON_M2_mmaculs_rs0
+ {Intrinsic::hexagon_M2_mmaculs_rs1, 12943}, // __builtin_HEXAGON_M2_mmaculs_rs1
+ {Intrinsic::hexagon_M2_mmaculs_s0, 12976}, // __builtin_HEXAGON_M2_mmaculs_s0
+ {Intrinsic::hexagon_M2_mmaculs_s1, 13008}, // __builtin_HEXAGON_M2_mmaculs_s1
+ {Intrinsic::hexagon_M2_mmpyh_rs0, 13040}, // __builtin_HEXAGON_M2_mmpyh_rs0
+ {Intrinsic::hexagon_M2_mmpyh_rs1, 13071}, // __builtin_HEXAGON_M2_mmpyh_rs1
+ {Intrinsic::hexagon_M2_mmpyh_s0, 13102}, // __builtin_HEXAGON_M2_mmpyh_s0
+ {Intrinsic::hexagon_M2_mmpyh_s1, 13132}, // __builtin_HEXAGON_M2_mmpyh_s1
+ {Intrinsic::hexagon_M2_mmpyl_rs0, 13162}, // __builtin_HEXAGON_M2_mmpyl_rs0
+ {Intrinsic::hexagon_M2_mmpyl_rs1, 13193}, // __builtin_HEXAGON_M2_mmpyl_rs1
+ {Intrinsic::hexagon_M2_mmpyl_s0, 13224}, // __builtin_HEXAGON_M2_mmpyl_s0
+ {Intrinsic::hexagon_M2_mmpyl_s1, 13254}, // __builtin_HEXAGON_M2_mmpyl_s1
+ {Intrinsic::hexagon_M2_mmpyuh_rs0, 13284}, // __builtin_HEXAGON_M2_mmpyuh_rs0
+ {Intrinsic::hexagon_M2_mmpyuh_rs1, 13316}, // __builtin_HEXAGON_M2_mmpyuh_rs1
+ {Intrinsic::hexagon_M2_mmpyuh_s0, 13348}, // __builtin_HEXAGON_M2_mmpyuh_s0
+ {Intrinsic::hexagon_M2_mmpyuh_s1, 13379}, // __builtin_HEXAGON_M2_mmpyuh_s1
+ {Intrinsic::hexagon_M2_mmpyul_rs0, 13410}, // __builtin_HEXAGON_M2_mmpyul_rs0
+ {Intrinsic::hexagon_M2_mmpyul_rs1, 13442}, // __builtin_HEXAGON_M2_mmpyul_rs1
+ {Intrinsic::hexagon_M2_mmpyul_s0, 13474}, // __builtin_HEXAGON_M2_mmpyul_s0
+ {Intrinsic::hexagon_M2_mmpyul_s1, 13505}, // __builtin_HEXAGON_M2_mmpyul_s1
+ {Intrinsic::hexagon_M2_mpy_acc_hh_s0, 13536}, // __builtin_HEXAGON_M2_mpy_acc_hh_s0
+ {Intrinsic::hexagon_M2_mpy_acc_hh_s1, 13571}, // __builtin_HEXAGON_M2_mpy_acc_hh_s1
+ {Intrinsic::hexagon_M2_mpy_acc_hl_s0, 13606}, // __builtin_HEXAGON_M2_mpy_acc_hl_s0
+ {Intrinsic::hexagon_M2_mpy_acc_hl_s1, 13641}, // __builtin_HEXAGON_M2_mpy_acc_hl_s1
+ {Intrinsic::hexagon_M2_mpy_acc_lh_s0, 13676}, // __builtin_HEXAGON_M2_mpy_acc_lh_s0
+ {Intrinsic::hexagon_M2_mpy_acc_lh_s1, 13711}, // __builtin_HEXAGON_M2_mpy_acc_lh_s1
+ {Intrinsic::hexagon_M2_mpy_acc_ll_s0, 13746}, // __builtin_HEXAGON_M2_mpy_acc_ll_s0
+ {Intrinsic::hexagon_M2_mpy_acc_ll_s1, 13781}, // __builtin_HEXAGON_M2_mpy_acc_ll_s1
+ {Intrinsic::hexagon_M2_mpy_acc_sat_hh_s0, 13816}, // __builtin_HEXAGON_M2_mpy_acc_sat_hh_s0
+ {Intrinsic::hexagon_M2_mpy_acc_sat_hh_s1, 13855}, // __builtin_HEXAGON_M2_mpy_acc_sat_hh_s1
+ {Intrinsic::hexagon_M2_mpy_acc_sat_hl_s0, 13894}, // __builtin_HEXAGON_M2_mpy_acc_sat_hl_s0
+ {Intrinsic::hexagon_M2_mpy_acc_sat_hl_s1, 13933}, // __builtin_HEXAGON_M2_mpy_acc_sat_hl_s1
+ {Intrinsic::hexagon_M2_mpy_acc_sat_lh_s0, 13972}, // __builtin_HEXAGON_M2_mpy_acc_sat_lh_s0
+ {Intrinsic::hexagon_M2_mpy_acc_sat_lh_s1, 14011}, // __builtin_HEXAGON_M2_mpy_acc_sat_lh_s1
+ {Intrinsic::hexagon_M2_mpy_acc_sat_ll_s0, 14050}, // __builtin_HEXAGON_M2_mpy_acc_sat_ll_s0
+ {Intrinsic::hexagon_M2_mpy_acc_sat_ll_s1, 14089}, // __builtin_HEXAGON_M2_mpy_acc_sat_ll_s1
+ {Intrinsic::hexagon_M2_mpy_hh_s0, 14128}, // __builtin_HEXAGON_M2_mpy_hh_s0
+ {Intrinsic::hexagon_M2_mpy_hh_s1, 14159}, // __builtin_HEXAGON_M2_mpy_hh_s1
+ {Intrinsic::hexagon_M2_mpy_hl_s0, 14190}, // __builtin_HEXAGON_M2_mpy_hl_s0
+ {Intrinsic::hexagon_M2_mpy_hl_s1, 14221}, // __builtin_HEXAGON_M2_mpy_hl_s1
+ {Intrinsic::hexagon_M2_mpy_lh_s0, 14252}, // __builtin_HEXAGON_M2_mpy_lh_s0
+ {Intrinsic::hexagon_M2_mpy_lh_s1, 14283}, // __builtin_HEXAGON_M2_mpy_lh_s1
+ {Intrinsic::hexagon_M2_mpy_ll_s0, 14314}, // __builtin_HEXAGON_M2_mpy_ll_s0
+ {Intrinsic::hexagon_M2_mpy_ll_s1, 14345}, // __builtin_HEXAGON_M2_mpy_ll_s1
+ {Intrinsic::hexagon_M2_mpy_nac_hh_s0, 14376}, // __builtin_HEXAGON_M2_mpy_nac_hh_s0
+ {Intrinsic::hexagon_M2_mpy_nac_hh_s1, 14411}, // __builtin_HEXAGON_M2_mpy_nac_hh_s1
+ {Intrinsic::hexagon_M2_mpy_nac_hl_s0, 14446}, // __builtin_HEXAGON_M2_mpy_nac_hl_s0
+ {Intrinsic::hexagon_M2_mpy_nac_hl_s1, 14481}, // __builtin_HEXAGON_M2_mpy_nac_hl_s1
+ {Intrinsic::hexagon_M2_mpy_nac_lh_s0, 14516}, // __builtin_HEXAGON_M2_mpy_nac_lh_s0
+ {Intrinsic::hexagon_M2_mpy_nac_lh_s1, 14551}, // __builtin_HEXAGON_M2_mpy_nac_lh_s1
+ {Intrinsic::hexagon_M2_mpy_nac_ll_s0, 14586}, // __builtin_HEXAGON_M2_mpy_nac_ll_s0
+ {Intrinsic::hexagon_M2_mpy_nac_ll_s1, 14621}, // __builtin_HEXAGON_M2_mpy_nac_ll_s1
+ {Intrinsic::hexagon_M2_mpy_nac_sat_hh_s0, 14656}, // __builtin_HEXAGON_M2_mpy_nac_sat_hh_s0
+ {Intrinsic::hexagon_M2_mpy_nac_sat_hh_s1, 14695}, // __builtin_HEXAGON_M2_mpy_nac_sat_hh_s1
+ {Intrinsic::hexagon_M2_mpy_nac_sat_hl_s0, 14734}, // __builtin_HEXAGON_M2_mpy_nac_sat_hl_s0
+ {Intrinsic::hexagon_M2_mpy_nac_sat_hl_s1, 14773}, // __builtin_HEXAGON_M2_mpy_nac_sat_hl_s1
+ {Intrinsic::hexagon_M2_mpy_nac_sat_lh_s0, 14812}, // __builtin_HEXAGON_M2_mpy_nac_sat_lh_s0
+ {Intrinsic::hexagon_M2_mpy_nac_sat_lh_s1, 14851}, // __builtin_HEXAGON_M2_mpy_nac_sat_lh_s1
+ {Intrinsic::hexagon_M2_mpy_nac_sat_ll_s0, 14890}, // __builtin_HEXAGON_M2_mpy_nac_sat_ll_s0
+ {Intrinsic::hexagon_M2_mpy_nac_sat_ll_s1, 14929}, // __builtin_HEXAGON_M2_mpy_nac_sat_ll_s1
+ {Intrinsic::hexagon_M2_mpy_rnd_hh_s0, 14968}, // __builtin_HEXAGON_M2_mpy_rnd_hh_s0
+ {Intrinsic::hexagon_M2_mpy_rnd_hh_s1, 15003}, // __builtin_HEXAGON_M2_mpy_rnd_hh_s1
+ {Intrinsic::hexagon_M2_mpy_rnd_hl_s0, 15038}, // __builtin_HEXAGON_M2_mpy_rnd_hl_s0
+ {Intrinsic::hexagon_M2_mpy_rnd_hl_s1, 15073}, // __builtin_HEXAGON_M2_mpy_rnd_hl_s1
+ {Intrinsic::hexagon_M2_mpy_rnd_lh_s0, 15108}, // __builtin_HEXAGON_M2_mpy_rnd_lh_s0
+ {Intrinsic::hexagon_M2_mpy_rnd_lh_s1, 15143}, // __builtin_HEXAGON_M2_mpy_rnd_lh_s1
+ {Intrinsic::hexagon_M2_mpy_rnd_ll_s0, 15178}, // __builtin_HEXAGON_M2_mpy_rnd_ll_s0
+ {Intrinsic::hexagon_M2_mpy_rnd_ll_s1, 15213}, // __builtin_HEXAGON_M2_mpy_rnd_ll_s1
+ {Intrinsic::hexagon_M2_mpy_sat_hh_s0, 15248}, // __builtin_HEXAGON_M2_mpy_sat_hh_s0
+ {Intrinsic::hexagon_M2_mpy_sat_hh_s1, 15283}, // __builtin_HEXAGON_M2_mpy_sat_hh_s1
+ {Intrinsic::hexagon_M2_mpy_sat_hl_s0, 15318}, // __builtin_HEXAGON_M2_mpy_sat_hl_s0
+ {Intrinsic::hexagon_M2_mpy_sat_hl_s1, 15353}, // __builtin_HEXAGON_M2_mpy_sat_hl_s1
+ {Intrinsic::hexagon_M2_mpy_sat_lh_s0, 15388}, // __builtin_HEXAGON_M2_mpy_sat_lh_s0
+ {Intrinsic::hexagon_M2_mpy_sat_lh_s1, 15423}, // __builtin_HEXAGON_M2_mpy_sat_lh_s1
+ {Intrinsic::hexagon_M2_mpy_sat_ll_s0, 15458}, // __builtin_HEXAGON_M2_mpy_sat_ll_s0
+ {Intrinsic::hexagon_M2_mpy_sat_ll_s1, 15493}, // __builtin_HEXAGON_M2_mpy_sat_ll_s1
+ {Intrinsic::hexagon_M2_mpy_sat_rnd_hh_s0, 15528}, // __builtin_HEXAGON_M2_mpy_sat_rnd_hh_s0
+ {Intrinsic::hexagon_M2_mpy_sat_rnd_hh_s1, 15567}, // __builtin_HEXAGON_M2_mpy_sat_rnd_hh_s1
+ {Intrinsic::hexagon_M2_mpy_sat_rnd_hl_s0, 15606}, // __builtin_HEXAGON_M2_mpy_sat_rnd_hl_s0
+ {Intrinsic::hexagon_M2_mpy_sat_rnd_hl_s1, 15645}, // __builtin_HEXAGON_M2_mpy_sat_rnd_hl_s1
+ {Intrinsic::hexagon_M2_mpy_sat_rnd_lh_s0, 15684}, // __builtin_HEXAGON_M2_mpy_sat_rnd_lh_s0
+ {Intrinsic::hexagon_M2_mpy_sat_rnd_lh_s1, 15723}, // __builtin_HEXAGON_M2_mpy_sat_rnd_lh_s1
+ {Intrinsic::hexagon_M2_mpy_sat_rnd_ll_s0, 15762}, // __builtin_HEXAGON_M2_mpy_sat_rnd_ll_s0
+ {Intrinsic::hexagon_M2_mpy_sat_rnd_ll_s1, 15801}, // __builtin_HEXAGON_M2_mpy_sat_rnd_ll_s1
+ {Intrinsic::hexagon_M2_mpy_up, 15840}, // __builtin_HEXAGON_M2_mpy_up
+ {Intrinsic::hexagon_M2_mpy_up_s1, 15868}, // __builtin_HEXAGON_M2_mpy_up_s1
+ {Intrinsic::hexagon_M2_mpy_up_s1_sat, 15899}, // __builtin_HEXAGON_M2_mpy_up_s1_sat
+ {Intrinsic::hexagon_M2_mpyd_acc_hh_s0, 15934}, // __builtin_HEXAGON_M2_mpyd_acc_hh_s0
+ {Intrinsic::hexagon_M2_mpyd_acc_hh_s1, 15970}, // __builtin_HEXAGON_M2_mpyd_acc_hh_s1
+ {Intrinsic::hexagon_M2_mpyd_acc_hl_s0, 16006}, // __builtin_HEXAGON_M2_mpyd_acc_hl_s0
+ {Intrinsic::hexagon_M2_mpyd_acc_hl_s1, 16042}, // __builtin_HEXAGON_M2_mpyd_acc_hl_s1
+ {Intrinsic::hexagon_M2_mpyd_acc_lh_s0, 16078}, // __builtin_HEXAGON_M2_mpyd_acc_lh_s0
+ {Intrinsic::hexagon_M2_mpyd_acc_lh_s1, 16114}, // __builtin_HEXAGON_M2_mpyd_acc_lh_s1
+ {Intrinsic::hexagon_M2_mpyd_acc_ll_s0, 16150}, // __builtin_HEXAGON_M2_mpyd_acc_ll_s0
+ {Intrinsic::hexagon_M2_mpyd_acc_ll_s1, 16186}, // __builtin_HEXAGON_M2_mpyd_acc_ll_s1
+ {Intrinsic::hexagon_M2_mpyd_hh_s0, 16222}, // __builtin_HEXAGON_M2_mpyd_hh_s0
+ {Intrinsic::hexagon_M2_mpyd_hh_s1, 16254}, // __builtin_HEXAGON_M2_mpyd_hh_s1
+ {Intrinsic::hexagon_M2_mpyd_hl_s0, 16286}, // __builtin_HEXAGON_M2_mpyd_hl_s0
+ {Intrinsic::hexagon_M2_mpyd_hl_s1, 16318}, // __builtin_HEXAGON_M2_mpyd_hl_s1
+ {Intrinsic::hexagon_M2_mpyd_lh_s0, 16350}, // __builtin_HEXAGON_M2_mpyd_lh_s0
+ {Intrinsic::hexagon_M2_mpyd_lh_s1, 16382}, // __builtin_HEXAGON_M2_mpyd_lh_s1
+ {Intrinsic::hexagon_M2_mpyd_ll_s0, 16414}, // __builtin_HEXAGON_M2_mpyd_ll_s0
+ {Intrinsic::hexagon_M2_mpyd_ll_s1, 16446}, // __builtin_HEXAGON_M2_mpyd_ll_s1
+ {Intrinsic::hexagon_M2_mpyd_nac_hh_s0, 16478}, // __builtin_HEXAGON_M2_mpyd_nac_hh_s0
+ {Intrinsic::hexagon_M2_mpyd_nac_hh_s1, 16514}, // __builtin_HEXAGON_M2_mpyd_nac_hh_s1
+ {Intrinsic::hexagon_M2_mpyd_nac_hl_s0, 16550}, // __builtin_HEXAGON_M2_mpyd_nac_hl_s0
+ {Intrinsic::hexagon_M2_mpyd_nac_hl_s1, 16586}, // __builtin_HEXAGON_M2_mpyd_nac_hl_s1
+ {Intrinsic::hexagon_M2_mpyd_nac_lh_s0, 16622}, // __builtin_HEXAGON_M2_mpyd_nac_lh_s0
+ {Intrinsic::hexagon_M2_mpyd_nac_lh_s1, 16658}, // __builtin_HEXAGON_M2_mpyd_nac_lh_s1
+ {Intrinsic::hexagon_M2_mpyd_nac_ll_s0, 16694}, // __builtin_HEXAGON_M2_mpyd_nac_ll_s0
+ {Intrinsic::hexagon_M2_mpyd_nac_ll_s1, 16730}, // __builtin_HEXAGON_M2_mpyd_nac_ll_s1
+ {Intrinsic::hexagon_M2_mpyd_rnd_hh_s0, 16766}, // __builtin_HEXAGON_M2_mpyd_rnd_hh_s0
+ {Intrinsic::hexagon_M2_mpyd_rnd_hh_s1, 16802}, // __builtin_HEXAGON_M2_mpyd_rnd_hh_s1
+ {Intrinsic::hexagon_M2_mpyd_rnd_hl_s0, 16838}, // __builtin_HEXAGON_M2_mpyd_rnd_hl_s0
+ {Intrinsic::hexagon_M2_mpyd_rnd_hl_s1, 16874}, // __builtin_HEXAGON_M2_mpyd_rnd_hl_s1
+ {Intrinsic::hexagon_M2_mpyd_rnd_lh_s0, 16910}, // __builtin_HEXAGON_M2_mpyd_rnd_lh_s0
+ {Intrinsic::hexagon_M2_mpyd_rnd_lh_s1, 16946}, // __builtin_HEXAGON_M2_mpyd_rnd_lh_s1
+ {Intrinsic::hexagon_M2_mpyd_rnd_ll_s0, 16982}, // __builtin_HEXAGON_M2_mpyd_rnd_ll_s0
+ {Intrinsic::hexagon_M2_mpyd_rnd_ll_s1, 17018}, // __builtin_HEXAGON_M2_mpyd_rnd_ll_s1
+ {Intrinsic::hexagon_M2_mpyi, 17054}, // __builtin_HEXAGON_M2_mpyi
+ {Intrinsic::hexagon_M2_mpysmi, 17080}, // __builtin_HEXAGON_M2_mpysmi
+ {Intrinsic::hexagon_M2_mpysu_up, 17108}, // __builtin_HEXAGON_M2_mpysu_up
+ {Intrinsic::hexagon_M2_mpyu_acc_hh_s0, 17138}, // __builtin_HEXAGON_M2_mpyu_acc_hh_s0
+ {Intrinsic::hexagon_M2_mpyu_acc_hh_s1, 17174}, // __builtin_HEXAGON_M2_mpyu_acc_hh_s1
+ {Intrinsic::hexagon_M2_mpyu_acc_hl_s0, 17210}, // __builtin_HEXAGON_M2_mpyu_acc_hl_s0
+ {Intrinsic::hexagon_M2_mpyu_acc_hl_s1, 17246}, // __builtin_HEXAGON_M2_mpyu_acc_hl_s1
+ {Intrinsic::hexagon_M2_mpyu_acc_lh_s0, 17282}, // __builtin_HEXAGON_M2_mpyu_acc_lh_s0
+ {Intrinsic::hexagon_M2_mpyu_acc_lh_s1, 17318}, // __builtin_HEXAGON_M2_mpyu_acc_lh_s1
+ {Intrinsic::hexagon_M2_mpyu_acc_ll_s0, 17354}, // __builtin_HEXAGON_M2_mpyu_acc_ll_s0
+ {Intrinsic::hexagon_M2_mpyu_acc_ll_s1, 17390}, // __builtin_HEXAGON_M2_mpyu_acc_ll_s1
+ {Intrinsic::hexagon_M2_mpyu_hh_s0, 17426}, // __builtin_HEXAGON_M2_mpyu_hh_s0
+ {Intrinsic::hexagon_M2_mpyu_hh_s1, 17458}, // __builtin_HEXAGON_M2_mpyu_hh_s1
+ {Intrinsic::hexagon_M2_mpyu_hl_s0, 17490}, // __builtin_HEXAGON_M2_mpyu_hl_s0
+ {Intrinsic::hexagon_M2_mpyu_hl_s1, 17522}, // __builtin_HEXAGON_M2_mpyu_hl_s1
+ {Intrinsic::hexagon_M2_mpyu_lh_s0, 17554}, // __builtin_HEXAGON_M2_mpyu_lh_s0
+ {Intrinsic::hexagon_M2_mpyu_lh_s1, 17586}, // __builtin_HEXAGON_M2_mpyu_lh_s1
+ {Intrinsic::hexagon_M2_mpyu_ll_s0, 17618}, // __builtin_HEXAGON_M2_mpyu_ll_s0
+ {Intrinsic::hexagon_M2_mpyu_ll_s1, 17650}, // __builtin_HEXAGON_M2_mpyu_ll_s1
+ {Intrinsic::hexagon_M2_mpyu_nac_hh_s0, 17682}, // __builtin_HEXAGON_M2_mpyu_nac_hh_s0
+ {Intrinsic::hexagon_M2_mpyu_nac_hh_s1, 17718}, // __builtin_HEXAGON_M2_mpyu_nac_hh_s1
+ {Intrinsic::hexagon_M2_mpyu_nac_hl_s0, 17754}, // __builtin_HEXAGON_M2_mpyu_nac_hl_s0
+ {Intrinsic::hexagon_M2_mpyu_nac_hl_s1, 17790}, // __builtin_HEXAGON_M2_mpyu_nac_hl_s1
+ {Intrinsic::hexagon_M2_mpyu_nac_lh_s0, 17826}, // __builtin_HEXAGON_M2_mpyu_nac_lh_s0
+ {Intrinsic::hexagon_M2_mpyu_nac_lh_s1, 17862}, // __builtin_HEXAGON_M2_mpyu_nac_lh_s1
+ {Intrinsic::hexagon_M2_mpyu_nac_ll_s0, 17898}, // __builtin_HEXAGON_M2_mpyu_nac_ll_s0
+ {Intrinsic::hexagon_M2_mpyu_nac_ll_s1, 17934}, // __builtin_HEXAGON_M2_mpyu_nac_ll_s1
+ {Intrinsic::hexagon_M2_mpyu_up, 17970}, // __builtin_HEXAGON_M2_mpyu_up
+ {Intrinsic::hexagon_M2_mpyud_acc_hh_s0, 17999}, // __builtin_HEXAGON_M2_mpyud_acc_hh_s0
+ {Intrinsic::hexagon_M2_mpyud_acc_hh_s1, 18036}, // __builtin_HEXAGON_M2_mpyud_acc_hh_s1
+ {Intrinsic::hexagon_M2_mpyud_acc_hl_s0, 18073}, // __builtin_HEXAGON_M2_mpyud_acc_hl_s0
+ {Intrinsic::hexagon_M2_mpyud_acc_hl_s1, 18110}, // __builtin_HEXAGON_M2_mpyud_acc_hl_s1
+ {Intrinsic::hexagon_M2_mpyud_acc_lh_s0, 18147}, // __builtin_HEXAGON_M2_mpyud_acc_lh_s0
+ {Intrinsic::hexagon_M2_mpyud_acc_lh_s1, 18184}, // __builtin_HEXAGON_M2_mpyud_acc_lh_s1
+ {Intrinsic::hexagon_M2_mpyud_acc_ll_s0, 18221}, // __builtin_HEXAGON_M2_mpyud_acc_ll_s0
+ {Intrinsic::hexagon_M2_mpyud_acc_ll_s1, 18258}, // __builtin_HEXAGON_M2_mpyud_acc_ll_s1
+ {Intrinsic::hexagon_M2_mpyud_hh_s0, 18295}, // __builtin_HEXAGON_M2_mpyud_hh_s0
+ {Intrinsic::hexagon_M2_mpyud_hh_s1, 18328}, // __builtin_HEXAGON_M2_mpyud_hh_s1
+ {Intrinsic::hexagon_M2_mpyud_hl_s0, 18361}, // __builtin_HEXAGON_M2_mpyud_hl_s0
+ {Intrinsic::hexagon_M2_mpyud_hl_s1, 18394}, // __builtin_HEXAGON_M2_mpyud_hl_s1
+ {Intrinsic::hexagon_M2_mpyud_lh_s0, 18427}, // __builtin_HEXAGON_M2_mpyud_lh_s0
+ {Intrinsic::hexagon_M2_mpyud_lh_s1, 18460}, // __builtin_HEXAGON_M2_mpyud_lh_s1
+ {Intrinsic::hexagon_M2_mpyud_ll_s0, 18493}, // __builtin_HEXAGON_M2_mpyud_ll_s0
+ {Intrinsic::hexagon_M2_mpyud_ll_s1, 18526}, // __builtin_HEXAGON_M2_mpyud_ll_s1
+ {Intrinsic::hexagon_M2_mpyud_nac_hh_s0, 18559}, // __builtin_HEXAGON_M2_mpyud_nac_hh_s0
+ {Intrinsic::hexagon_M2_mpyud_nac_hh_s1, 18596}, // __builtin_HEXAGON_M2_mpyud_nac_hh_s1
+ {Intrinsic::hexagon_M2_mpyud_nac_hl_s0, 18633}, // __builtin_HEXAGON_M2_mpyud_nac_hl_s0
+ {Intrinsic::hexagon_M2_mpyud_nac_hl_s1, 18670}, // __builtin_HEXAGON_M2_mpyud_nac_hl_s1
+ {Intrinsic::hexagon_M2_mpyud_nac_lh_s0, 18707}, // __builtin_HEXAGON_M2_mpyud_nac_lh_s0
+ {Intrinsic::hexagon_M2_mpyud_nac_lh_s1, 18744}, // __builtin_HEXAGON_M2_mpyud_nac_lh_s1
+ {Intrinsic::hexagon_M2_mpyud_nac_ll_s0, 18781}, // __builtin_HEXAGON_M2_mpyud_nac_ll_s0
+ {Intrinsic::hexagon_M2_mpyud_nac_ll_s1, 18818}, // __builtin_HEXAGON_M2_mpyud_nac_ll_s1
+ {Intrinsic::hexagon_M2_mpyui, 18855}, // __builtin_HEXAGON_M2_mpyui
+ {Intrinsic::hexagon_M2_nacci, 18882}, // __builtin_HEXAGON_M2_nacci
+ {Intrinsic::hexagon_M2_naccii, 18909}, // __builtin_HEXAGON_M2_naccii
+ {Intrinsic::hexagon_M2_subacc, 18937}, // __builtin_HEXAGON_M2_subacc
+ {Intrinsic::hexagon_M2_vabsdiffh, 18965}, // __builtin_HEXAGON_M2_vabsdiffh
+ {Intrinsic::hexagon_M2_vabsdiffw, 18996}, // __builtin_HEXAGON_M2_vabsdiffw
+ {Intrinsic::hexagon_M2_vcmac_s0_sat_i, 19027}, // __builtin_HEXAGON_M2_vcmac_s0_sat_i
+ {Intrinsic::hexagon_M2_vcmac_s0_sat_r, 19063}, // __builtin_HEXAGON_M2_vcmac_s0_sat_r
+ {Intrinsic::hexagon_M2_vcmpy_s0_sat_i, 19099}, // __builtin_HEXAGON_M2_vcmpy_s0_sat_i
+ {Intrinsic::hexagon_M2_vcmpy_s0_sat_r, 19135}, // __builtin_HEXAGON_M2_vcmpy_s0_sat_r
+ {Intrinsic::hexagon_M2_vcmpy_s1_sat_i, 19171}, // __builtin_HEXAGON_M2_vcmpy_s1_sat_i
+ {Intrinsic::hexagon_M2_vcmpy_s1_sat_r, 19207}, // __builtin_HEXAGON_M2_vcmpy_s1_sat_r
+ {Intrinsic::hexagon_M2_vdmacs_s0, 19243}, // __builtin_HEXAGON_M2_vdmacs_s0
+ {Intrinsic::hexagon_M2_vdmacs_s1, 19274}, // __builtin_HEXAGON_M2_vdmacs_s1
+ {Intrinsic::hexagon_M2_vdmpyrs_s0, 19305}, // __builtin_HEXAGON_M2_vdmpyrs_s0
+ {Intrinsic::hexagon_M2_vdmpyrs_s1, 19337}, // __builtin_HEXAGON_M2_vdmpyrs_s1
+ {Intrinsic::hexagon_M2_vdmpys_s0, 19369}, // __builtin_HEXAGON_M2_vdmpys_s0
+ {Intrinsic::hexagon_M2_vdmpys_s1, 19400}, // __builtin_HEXAGON_M2_vdmpys_s1
+ {Intrinsic::hexagon_M2_vmac2, 19431}, // __builtin_HEXAGON_M2_vmac2
+ {Intrinsic::hexagon_M2_vmac2es, 19458}, // __builtin_HEXAGON_M2_vmac2es
+ {Intrinsic::hexagon_M2_vmac2es_s0, 19487}, // __builtin_HEXAGON_M2_vmac2es_s0
+ {Intrinsic::hexagon_M2_vmac2es_s1, 19519}, // __builtin_HEXAGON_M2_vmac2es_s1
+ {Intrinsic::hexagon_M2_vmac2s_s0, 19551}, // __builtin_HEXAGON_M2_vmac2s_s0
+ {Intrinsic::hexagon_M2_vmac2s_s1, 19582}, // __builtin_HEXAGON_M2_vmac2s_s1
+ {Intrinsic::hexagon_M2_vmac2su_s0, 19613}, // __builtin_HEXAGON_M2_vmac2su_s0
+ {Intrinsic::hexagon_M2_vmac2su_s1, 19645}, // __builtin_HEXAGON_M2_vmac2su_s1
+ {Intrinsic::hexagon_M2_vmpy2es_s0, 19677}, // __builtin_HEXAGON_M2_vmpy2es_s0
+ {Intrinsic::hexagon_M2_vmpy2es_s1, 19709}, // __builtin_HEXAGON_M2_vmpy2es_s1
+ {Intrinsic::hexagon_M2_vmpy2s_s0, 19741}, // __builtin_HEXAGON_M2_vmpy2s_s0
+ {Intrinsic::hexagon_M2_vmpy2s_s0pack, 19772}, // __builtin_HEXAGON_M2_vmpy2s_s0pack
+ {Intrinsic::hexagon_M2_vmpy2s_s1, 19807}, // __builtin_HEXAGON_M2_vmpy2s_s1
+ {Intrinsic::hexagon_M2_vmpy2s_s1pack, 19838}, // __builtin_HEXAGON_M2_vmpy2s_s1pack
+ {Intrinsic::hexagon_M2_vmpy2su_s0, 19873}, // __builtin_HEXAGON_M2_vmpy2su_s0
+ {Intrinsic::hexagon_M2_vmpy2su_s1, 19905}, // __builtin_HEXAGON_M2_vmpy2su_s1
+ {Intrinsic::hexagon_M2_vraddh, 19937}, // __builtin_HEXAGON_M2_vraddh
+ {Intrinsic::hexagon_M2_vradduh, 19965}, // __builtin_HEXAGON_M2_vradduh
+ {Intrinsic::hexagon_M2_vrcmaci_s0, 19994}, // __builtin_HEXAGON_M2_vrcmaci_s0
+ {Intrinsic::hexagon_M2_vrcmaci_s0c, 20026}, // __builtin_HEXAGON_M2_vrcmaci_s0c
+ {Intrinsic::hexagon_M2_vrcmacr_s0, 20059}, // __builtin_HEXAGON_M2_vrcmacr_s0
+ {Intrinsic::hexagon_M2_vrcmacr_s0c, 20091}, // __builtin_HEXAGON_M2_vrcmacr_s0c
+ {Intrinsic::hexagon_M2_vrcmpyi_s0, 20124}, // __builtin_HEXAGON_M2_vrcmpyi_s0
+ {Intrinsic::hexagon_M2_vrcmpyi_s0c, 20156}, // __builtin_HEXAGON_M2_vrcmpyi_s0c
+ {Intrinsic::hexagon_M2_vrcmpyr_s0, 20189}, // __builtin_HEXAGON_M2_vrcmpyr_s0
+ {Intrinsic::hexagon_M2_vrcmpyr_s0c, 20221}, // __builtin_HEXAGON_M2_vrcmpyr_s0c
+ {Intrinsic::hexagon_M2_vrcmpys_acc_s1, 20254}, // __builtin_HEXAGON_M2_vrcmpys_acc_s1
+ {Intrinsic::hexagon_M2_vrcmpys_s1, 20290}, // __builtin_HEXAGON_M2_vrcmpys_s1
+ {Intrinsic::hexagon_M2_vrcmpys_s1rp, 20322}, // __builtin_HEXAGON_M2_vrcmpys_s1rp
+ {Intrinsic::hexagon_M2_vrmac_s0, 20356}, // __builtin_HEXAGON_M2_vrmac_s0
+ {Intrinsic::hexagon_M2_vrmpy_s0, 20386}, // __builtin_HEXAGON_M2_vrmpy_s0
+ {Intrinsic::hexagon_M2_xor_xacc, 20416}, // __builtin_HEXAGON_M2_xor_xacc
+ {Intrinsic::hexagon_M4_and_and, 20446}, // __builtin_HEXAGON_M4_and_and
+ {Intrinsic::hexagon_M4_and_andn, 20475}, // __builtin_HEXAGON_M4_and_andn
+ {Intrinsic::hexagon_M4_and_or, 20505}, // __builtin_HEXAGON_M4_and_or
+ {Intrinsic::hexagon_M4_and_xor, 20533}, // __builtin_HEXAGON_M4_and_xor
+ {Intrinsic::hexagon_M4_cmpyi_wh, 20562}, // __builtin_HEXAGON_M4_cmpyi_wh
+ {Intrinsic::hexagon_M4_cmpyi_whc, 20592}, // __builtin_HEXAGON_M4_cmpyi_whc
+ {Intrinsic::hexagon_M4_cmpyr_wh, 20623}, // __builtin_HEXAGON_M4_cmpyr_wh
+ {Intrinsic::hexagon_M4_cmpyr_whc, 20653}, // __builtin_HEXAGON_M4_cmpyr_whc
+ {Intrinsic::hexagon_M4_mac_up_s1_sat, 20684}, // __builtin_HEXAGON_M4_mac_up_s1_sat
+ {Intrinsic::hexagon_M4_mpyri_addi, 20719}, // __builtin_HEXAGON_M4_mpyri_addi
+ {Intrinsic::hexagon_M4_mpyri_addr, 20751}, // __builtin_HEXAGON_M4_mpyri_addr
+ {Intrinsic::hexagon_M4_mpyri_addr_u2, 20783}, // __builtin_HEXAGON_M4_mpyri_addr_u2
+ {Intrinsic::hexagon_M4_mpyrr_addi, 20818}, // __builtin_HEXAGON_M4_mpyrr_addi
+ {Intrinsic::hexagon_M4_mpyrr_addr, 20850}, // __builtin_HEXAGON_M4_mpyrr_addr
+ {Intrinsic::hexagon_M4_nac_up_s1_sat, 20882}, // __builtin_HEXAGON_M4_nac_up_s1_sat
+ {Intrinsic::hexagon_M4_or_and, 20917}, // __builtin_HEXAGON_M4_or_and
+ {Intrinsic::hexagon_M4_or_andn, 20945}, // __builtin_HEXAGON_M4_or_andn
+ {Intrinsic::hexagon_M4_or_or, 20974}, // __builtin_HEXAGON_M4_or_or
+ {Intrinsic::hexagon_M4_or_xor, 21001}, // __builtin_HEXAGON_M4_or_xor
+ {Intrinsic::hexagon_M4_pmpyw, 21029}, // __builtin_HEXAGON_M4_pmpyw
+ {Intrinsic::hexagon_M4_pmpyw_acc, 21056}, // __builtin_HEXAGON_M4_pmpyw_acc
+ {Intrinsic::hexagon_M4_vpmpyh, 21087}, // __builtin_HEXAGON_M4_vpmpyh
+ {Intrinsic::hexagon_M4_vpmpyh_acc, 21115}, // __builtin_HEXAGON_M4_vpmpyh_acc
+ {Intrinsic::hexagon_M4_vrmpyeh_acc_s0, 21147}, // __builtin_HEXAGON_M4_vrmpyeh_acc_s0
+ {Intrinsic::hexagon_M4_vrmpyeh_acc_s1, 21183}, // __builtin_HEXAGON_M4_vrmpyeh_acc_s1
+ {Intrinsic::hexagon_M4_vrmpyeh_s0, 21219}, // __builtin_HEXAGON_M4_vrmpyeh_s0
+ {Intrinsic::hexagon_M4_vrmpyeh_s1, 21251}, // __builtin_HEXAGON_M4_vrmpyeh_s1
+ {Intrinsic::hexagon_M4_vrmpyoh_acc_s0, 21283}, // __builtin_HEXAGON_M4_vrmpyoh_acc_s0
+ {Intrinsic::hexagon_M4_vrmpyoh_acc_s1, 21319}, // __builtin_HEXAGON_M4_vrmpyoh_acc_s1
+ {Intrinsic::hexagon_M4_vrmpyoh_s0, 21355}, // __builtin_HEXAGON_M4_vrmpyoh_s0
+ {Intrinsic::hexagon_M4_vrmpyoh_s1, 21387}, // __builtin_HEXAGON_M4_vrmpyoh_s1
+ {Intrinsic::hexagon_M4_xor_and, 21419}, // __builtin_HEXAGON_M4_xor_and
+ {Intrinsic::hexagon_M4_xor_andn, 21448}, // __builtin_HEXAGON_M4_xor_andn
+ {Intrinsic::hexagon_M4_xor_or, 21478}, // __builtin_HEXAGON_M4_xor_or
+ {Intrinsic::hexagon_M4_xor_xacc, 21506}, // __builtin_HEXAGON_M4_xor_xacc
+ {Intrinsic::hexagon_M5_vdmacbsu, 21536}, // __builtin_HEXAGON_M5_vdmacbsu
+ {Intrinsic::hexagon_M5_vdmpybsu, 21566}, // __builtin_HEXAGON_M5_vdmpybsu
+ {Intrinsic::hexagon_M5_vmacbsu, 21596}, // __builtin_HEXAGON_M5_vmacbsu
+ {Intrinsic::hexagon_M5_vmacbuu, 21625}, // __builtin_HEXAGON_M5_vmacbuu
+ {Intrinsic::hexagon_M5_vmpybsu, 21654}, // __builtin_HEXAGON_M5_vmpybsu
+ {Intrinsic::hexagon_M5_vmpybuu, 21683}, // __builtin_HEXAGON_M5_vmpybuu
+ {Intrinsic::hexagon_M5_vrmacbsu, 21712}, // __builtin_HEXAGON_M5_vrmacbsu
+ {Intrinsic::hexagon_M5_vrmacbuu, 21742}, // __builtin_HEXAGON_M5_vrmacbuu
+ {Intrinsic::hexagon_M5_vrmpybsu, 21772}, // __builtin_HEXAGON_M5_vrmpybsu
+ {Intrinsic::hexagon_M5_vrmpybuu, 21802}, // __builtin_HEXAGON_M5_vrmpybuu
+ {Intrinsic::hexagon_M6_vabsdiffb, 21832}, // __builtin_HEXAGON_M6_vabsdiffb
+ {Intrinsic::hexagon_M6_vabsdiffub, 21863}, // __builtin_HEXAGON_M6_vabsdiffub
+ {Intrinsic::hexagon_S2_addasl_rrri, 21895}, // __builtin_HEXAGON_S2_addasl_rrri
+ {Intrinsic::hexagon_S2_asl_i_p, 21928}, // __builtin_HEXAGON_S2_asl_i_p
+ {Intrinsic::hexagon_S2_asl_i_p_acc, 21957}, // __builtin_HEXAGON_S2_asl_i_p_acc
+ {Intrinsic::hexagon_S2_asl_i_p_and, 21990}, // __builtin_HEXAGON_S2_asl_i_p_and
+ {Intrinsic::hexagon_S2_asl_i_p_nac, 22023}, // __builtin_HEXAGON_S2_asl_i_p_nac
+ {Intrinsic::hexagon_S2_asl_i_p_or, 22056}, // __builtin_HEXAGON_S2_asl_i_p_or
+ {Intrinsic::hexagon_S2_asl_i_p_xacc, 22088}, // __builtin_HEXAGON_S2_asl_i_p_xacc
+ {Intrinsic::hexagon_S2_asl_i_r, 22122}, // __builtin_HEXAGON_S2_asl_i_r
+ {Intrinsic::hexagon_S2_asl_i_r_acc, 22151}, // __builtin_HEXAGON_S2_asl_i_r_acc
+ {Intrinsic::hexagon_S2_asl_i_r_and, 22184}, // __builtin_HEXAGON_S2_asl_i_r_and
+ {Intrinsic::hexagon_S2_asl_i_r_nac, 22217}, // __builtin_HEXAGON_S2_asl_i_r_nac
+ {Intrinsic::hexagon_S2_asl_i_r_or, 22250}, // __builtin_HEXAGON_S2_asl_i_r_or
+ {Intrinsic::hexagon_S2_asl_i_r_sat, 22282}, // __builtin_HEXAGON_S2_asl_i_r_sat
+ {Intrinsic::hexagon_S2_asl_i_r_xacc, 22315}, // __builtin_HEXAGON_S2_asl_i_r_xacc
+ {Intrinsic::hexagon_S2_asl_i_vh, 22349}, // __builtin_HEXAGON_S2_asl_i_vh
+ {Intrinsic::hexagon_S2_asl_i_vw, 22379}, // __builtin_HEXAGON_S2_asl_i_vw
+ {Intrinsic::hexagon_S2_asl_r_p, 22409}, // __builtin_HEXAGON_S2_asl_r_p
+ {Intrinsic::hexagon_S2_asl_r_p_acc, 22438}, // __builtin_HEXAGON_S2_asl_r_p_acc
+ {Intrinsic::hexagon_S2_asl_r_p_and, 22471}, // __builtin_HEXAGON_S2_asl_r_p_and
+ {Intrinsic::hexagon_S2_asl_r_p_nac, 22504}, // __builtin_HEXAGON_S2_asl_r_p_nac
+ {Intrinsic::hexagon_S2_asl_r_p_or, 22537}, // __builtin_HEXAGON_S2_asl_r_p_or
+ {Intrinsic::hexagon_S2_asl_r_p_xor, 22569}, // __builtin_HEXAGON_S2_asl_r_p_xor
+ {Intrinsic::hexagon_S2_asl_r_r, 22602}, // __builtin_HEXAGON_S2_asl_r_r
+ {Intrinsic::hexagon_S2_asl_r_r_acc, 22631}, // __builtin_HEXAGON_S2_asl_r_r_acc
+ {Intrinsic::hexagon_S2_asl_r_r_and, 22664}, // __builtin_HEXAGON_S2_asl_r_r_and
+ {Intrinsic::hexagon_S2_asl_r_r_nac, 22697}, // __builtin_HEXAGON_S2_asl_r_r_nac
+ {Intrinsic::hexagon_S2_asl_r_r_or, 22730}, // __builtin_HEXAGON_S2_asl_r_r_or
+ {Intrinsic::hexagon_S2_asl_r_r_sat, 22762}, // __builtin_HEXAGON_S2_asl_r_r_sat
+ {Intrinsic::hexagon_S2_asl_r_vh, 22795}, // __builtin_HEXAGON_S2_asl_r_vh
+ {Intrinsic::hexagon_S2_asl_r_vw, 22825}, // __builtin_HEXAGON_S2_asl_r_vw
+ {Intrinsic::hexagon_S2_asr_i_p, 22855}, // __builtin_HEXAGON_S2_asr_i_p
+ {Intrinsic::hexagon_S2_asr_i_p_acc, 22884}, // __builtin_HEXAGON_S2_asr_i_p_acc
+ {Intrinsic::hexagon_S2_asr_i_p_and, 22917}, // __builtin_HEXAGON_S2_asr_i_p_and
+ {Intrinsic::hexagon_S2_asr_i_p_nac, 22950}, // __builtin_HEXAGON_S2_asr_i_p_nac
+ {Intrinsic::hexagon_S2_asr_i_p_or, 22983}, // __builtin_HEXAGON_S2_asr_i_p_or
+ {Intrinsic::hexagon_S2_asr_i_p_rnd, 23015}, // __builtin_HEXAGON_S2_asr_i_p_rnd
+ {Intrinsic::hexagon_S2_asr_i_p_rnd_goodsyntax, 23048}, // __builtin_HEXAGON_S2_asr_i_p_rnd_goodsyntax
+ {Intrinsic::hexagon_S2_asr_i_r, 23092}, // __builtin_HEXAGON_S2_asr_i_r
+ {Intrinsic::hexagon_S2_asr_i_r_acc, 23121}, // __builtin_HEXAGON_S2_asr_i_r_acc
+ {Intrinsic::hexagon_S2_asr_i_r_and, 23154}, // __builtin_HEXAGON_S2_asr_i_r_and
+ {Intrinsic::hexagon_S2_asr_i_r_nac, 23187}, // __builtin_HEXAGON_S2_asr_i_r_nac
+ {Intrinsic::hexagon_S2_asr_i_r_or, 23220}, // __builtin_HEXAGON_S2_asr_i_r_or
+ {Intrinsic::hexagon_S2_asr_i_r_rnd, 23252}, // __builtin_HEXAGON_S2_asr_i_r_rnd
+ {Intrinsic::hexagon_S2_asr_i_r_rnd_goodsyntax, 23285}, // __builtin_HEXAGON_S2_asr_i_r_rnd_goodsyntax
+ {Intrinsic::hexagon_S2_asr_i_svw_trun, 23329}, // __builtin_HEXAGON_S2_asr_i_svw_trun
+ {Intrinsic::hexagon_S2_asr_i_vh, 23365}, // __builtin_HEXAGON_S2_asr_i_vh
+ {Intrinsic::hexagon_S2_asr_i_vw, 23395}, // __builtin_HEXAGON_S2_asr_i_vw
+ {Intrinsic::hexagon_S2_asr_r_p, 23425}, // __builtin_HEXAGON_S2_asr_r_p
+ {Intrinsic::hexagon_S2_asr_r_p_acc, 23454}, // __builtin_HEXAGON_S2_asr_r_p_acc
+ {Intrinsic::hexagon_S2_asr_r_p_and, 23487}, // __builtin_HEXAGON_S2_asr_r_p_and
+ {Intrinsic::hexagon_S2_asr_r_p_nac, 23520}, // __builtin_HEXAGON_S2_asr_r_p_nac
+ {Intrinsic::hexagon_S2_asr_r_p_or, 23553}, // __builtin_HEXAGON_S2_asr_r_p_or
+ {Intrinsic::hexagon_S2_asr_r_p_xor, 23585}, // __builtin_HEXAGON_S2_asr_r_p_xor
+ {Intrinsic::hexagon_S2_asr_r_r, 23618}, // __builtin_HEXAGON_S2_asr_r_r
+ {Intrinsic::hexagon_S2_asr_r_r_acc, 23647}, // __builtin_HEXAGON_S2_asr_r_r_acc
+ {Intrinsic::hexagon_S2_asr_r_r_and, 23680}, // __builtin_HEXAGON_S2_asr_r_r_and
+ {Intrinsic::hexagon_S2_asr_r_r_nac, 23713}, // __builtin_HEXAGON_S2_asr_r_r_nac
+ {Intrinsic::hexagon_S2_asr_r_r_or, 23746}, // __builtin_HEXAGON_S2_asr_r_r_or
+ {Intrinsic::hexagon_S2_asr_r_r_sat, 23778}, // __builtin_HEXAGON_S2_asr_r_r_sat
+ {Intrinsic::hexagon_S2_asr_r_svw_trun, 23811}, // __builtin_HEXAGON_S2_asr_r_svw_trun
+ {Intrinsic::hexagon_S2_asr_r_vh, 23847}, // __builtin_HEXAGON_S2_asr_r_vh
+ {Intrinsic::hexagon_S2_asr_r_vw, 23877}, // __builtin_HEXAGON_S2_asr_r_vw
+ {Intrinsic::hexagon_S2_brev, 23907}, // __builtin_HEXAGON_S2_brev
+ {Intrinsic::hexagon_S2_brevp, 23933}, // __builtin_HEXAGON_S2_brevp
+ {Intrinsic::hexagon_S2_cabacencbin, 23960}, // __builtin_HEXAGON_S2_cabacencbin
+ {Intrinsic::hexagon_S2_cl0, 23993}, // __builtin_HEXAGON_S2_cl0
+ {Intrinsic::hexagon_S2_cl0p, 24018}, // __builtin_HEXAGON_S2_cl0p
+ {Intrinsic::hexagon_S2_cl1, 24044}, // __builtin_HEXAGON_S2_cl1
+ {Intrinsic::hexagon_S2_cl1p, 24069}, // __builtin_HEXAGON_S2_cl1p
+ {Intrinsic::hexagon_S2_clb, 24095}, // __builtin_HEXAGON_S2_clb
+ {Intrinsic::hexagon_S2_clbnorm, 24120}, // __builtin_HEXAGON_S2_clbnorm
+ {Intrinsic::hexagon_S2_clbp, 24149}, // __builtin_HEXAGON_S2_clbp
+ {Intrinsic::hexagon_S2_clrbit_i, 24175}, // __builtin_HEXAGON_S2_clrbit_i
+ {Intrinsic::hexagon_S2_clrbit_r, 24205}, // __builtin_HEXAGON_S2_clrbit_r
+ {Intrinsic::hexagon_S2_ct0, 24235}, // __builtin_HEXAGON_S2_ct0
+ {Intrinsic::hexagon_S2_ct0p, 24260}, // __builtin_HEXAGON_S2_ct0p
+ {Intrinsic::hexagon_S2_ct1, 24286}, // __builtin_HEXAGON_S2_ct1
+ {Intrinsic::hexagon_S2_ct1p, 24311}, // __builtin_HEXAGON_S2_ct1p
+ {Intrinsic::hexagon_S2_deinterleave, 24337}, // __builtin_HEXAGON_S2_deinterleave
+ {Intrinsic::hexagon_S2_extractu, 24371}, // __builtin_HEXAGON_S2_extractu
+ {Intrinsic::hexagon_S2_extractu_rp, 24401}, // __builtin_HEXAGON_S2_extractu_rp
+ {Intrinsic::hexagon_S2_extractup, 24434}, // __builtin_HEXAGON_S2_extractup
+ {Intrinsic::hexagon_S2_extractup_rp, 24465}, // __builtin_HEXAGON_S2_extractup_rp
+ {Intrinsic::hexagon_S2_insert, 24499}, // __builtin_HEXAGON_S2_insert
+ {Intrinsic::hexagon_S2_insert_rp, 24527}, // __builtin_HEXAGON_S2_insert_rp
+ {Intrinsic::hexagon_S2_insertp, 24558}, // __builtin_HEXAGON_S2_insertp
+ {Intrinsic::hexagon_S2_insertp_rp, 24587}, // __builtin_HEXAGON_S2_insertp_rp
+ {Intrinsic::hexagon_S2_interleave, 24619}, // __builtin_HEXAGON_S2_interleave
+ {Intrinsic::hexagon_S2_lfsp, 24651}, // __builtin_HEXAGON_S2_lfsp
+ {Intrinsic::hexagon_S2_lsl_r_p, 24677}, // __builtin_HEXAGON_S2_lsl_r_p
+ {Intrinsic::hexagon_S2_lsl_r_p_acc, 24706}, // __builtin_HEXAGON_S2_lsl_r_p_acc
+ {Intrinsic::hexagon_S2_lsl_r_p_and, 24739}, // __builtin_HEXAGON_S2_lsl_r_p_and
+ {Intrinsic::hexagon_S2_lsl_r_p_nac, 24772}, // __builtin_HEXAGON_S2_lsl_r_p_nac
+ {Intrinsic::hexagon_S2_lsl_r_p_or, 24805}, // __builtin_HEXAGON_S2_lsl_r_p_or
+ {Intrinsic::hexagon_S2_lsl_r_p_xor, 24837}, // __builtin_HEXAGON_S2_lsl_r_p_xor
+ {Intrinsic::hexagon_S2_lsl_r_r, 24870}, // __builtin_HEXAGON_S2_lsl_r_r
+ {Intrinsic::hexagon_S2_lsl_r_r_acc, 24899}, // __builtin_HEXAGON_S2_lsl_r_r_acc
+ {Intrinsic::hexagon_S2_lsl_r_r_and, 24932}, // __builtin_HEXAGON_S2_lsl_r_r_and
+ {Intrinsic::hexagon_S2_lsl_r_r_nac, 24965}, // __builtin_HEXAGON_S2_lsl_r_r_nac
+ {Intrinsic::hexagon_S2_lsl_r_r_or, 24998}, // __builtin_HEXAGON_S2_lsl_r_r_or
+ {Intrinsic::hexagon_S2_lsl_r_vh, 25030}, // __builtin_HEXAGON_S2_lsl_r_vh
+ {Intrinsic::hexagon_S2_lsl_r_vw, 25060}, // __builtin_HEXAGON_S2_lsl_r_vw
+ {Intrinsic::hexagon_S2_lsr_i_p, 25090}, // __builtin_HEXAGON_S2_lsr_i_p
+ {Intrinsic::hexagon_S2_lsr_i_p_acc, 25119}, // __builtin_HEXAGON_S2_lsr_i_p_acc
+ {Intrinsic::hexagon_S2_lsr_i_p_and, 25152}, // __builtin_HEXAGON_S2_lsr_i_p_and
+ {Intrinsic::hexagon_S2_lsr_i_p_nac, 25185}, // __builtin_HEXAGON_S2_lsr_i_p_nac
+ {Intrinsic::hexagon_S2_lsr_i_p_or, 25218}, // __builtin_HEXAGON_S2_lsr_i_p_or
+ {Intrinsic::hexagon_S2_lsr_i_p_xacc, 25250}, // __builtin_HEXAGON_S2_lsr_i_p_xacc
+ {Intrinsic::hexagon_S2_lsr_i_r, 25284}, // __builtin_HEXAGON_S2_lsr_i_r
+ {Intrinsic::hexagon_S2_lsr_i_r_acc, 25313}, // __builtin_HEXAGON_S2_lsr_i_r_acc
+ {Intrinsic::hexagon_S2_lsr_i_r_and, 25346}, // __builtin_HEXAGON_S2_lsr_i_r_and
+ {Intrinsic::hexagon_S2_lsr_i_r_nac, 25379}, // __builtin_HEXAGON_S2_lsr_i_r_nac
+ {Intrinsic::hexagon_S2_lsr_i_r_or, 25412}, // __builtin_HEXAGON_S2_lsr_i_r_or
+ {Intrinsic::hexagon_S2_lsr_i_r_xacc, 25444}, // __builtin_HEXAGON_S2_lsr_i_r_xacc
+ {Intrinsic::hexagon_S2_lsr_i_vh, 25478}, // __builtin_HEXAGON_S2_lsr_i_vh
+ {Intrinsic::hexagon_S2_lsr_i_vw, 25508}, // __builtin_HEXAGON_S2_lsr_i_vw
+ {Intrinsic::hexagon_S2_lsr_r_p, 25538}, // __builtin_HEXAGON_S2_lsr_r_p
+ {Intrinsic::hexagon_S2_lsr_r_p_acc, 25567}, // __builtin_HEXAGON_S2_lsr_r_p_acc
+ {Intrinsic::hexagon_S2_lsr_r_p_and, 25600}, // __builtin_HEXAGON_S2_lsr_r_p_and
+ {Intrinsic::hexagon_S2_lsr_r_p_nac, 25633}, // __builtin_HEXAGON_S2_lsr_r_p_nac
+ {Intrinsic::hexagon_S2_lsr_r_p_or, 25666}, // __builtin_HEXAGON_S2_lsr_r_p_or
+ {Intrinsic::hexagon_S2_lsr_r_p_xor, 25698}, // __builtin_HEXAGON_S2_lsr_r_p_xor
+ {Intrinsic::hexagon_S2_lsr_r_r, 25731}, // __builtin_HEXAGON_S2_lsr_r_r
+ {Intrinsic::hexagon_S2_lsr_r_r_acc, 25760}, // __builtin_HEXAGON_S2_lsr_r_r_acc
+ {Intrinsic::hexagon_S2_lsr_r_r_and, 25793}, // __builtin_HEXAGON_S2_lsr_r_r_and
+ {Intrinsic::hexagon_S2_lsr_r_r_nac, 25826}, // __builtin_HEXAGON_S2_lsr_r_r_nac
+ {Intrinsic::hexagon_S2_lsr_r_r_or, 25859}, // __builtin_HEXAGON_S2_lsr_r_r_or
+ {Intrinsic::hexagon_S2_lsr_r_vh, 25891}, // __builtin_HEXAGON_S2_lsr_r_vh
+ {Intrinsic::hexagon_S2_lsr_r_vw, 25921}, // __builtin_HEXAGON_S2_lsr_r_vw
+ {Intrinsic::hexagon_S2_packhl, 25951}, // __builtin_HEXAGON_S2_packhl
+ {Intrinsic::hexagon_S2_parityp, 25979}, // __builtin_HEXAGON_S2_parityp
+ {Intrinsic::hexagon_S2_setbit_i, 26008}, // __builtin_HEXAGON_S2_setbit_i
+ {Intrinsic::hexagon_S2_setbit_r, 26038}, // __builtin_HEXAGON_S2_setbit_r
+ {Intrinsic::hexagon_S2_shuffeb, 26068}, // __builtin_HEXAGON_S2_shuffeb
+ {Intrinsic::hexagon_S2_shuffeh, 26097}, // __builtin_HEXAGON_S2_shuffeh
+ {Intrinsic::hexagon_S2_shuffob, 26126}, // __builtin_HEXAGON_S2_shuffob
+ {Intrinsic::hexagon_S2_shuffoh, 26155}, // __builtin_HEXAGON_S2_shuffoh
+ {Intrinsic::hexagon_S2_storew_locked, 26184}, // __builtin_HEXAGON_S2_storew_locked
+ {Intrinsic::hexagon_S2_svsathb, 26219}, // __builtin_HEXAGON_S2_svsathb
+ {Intrinsic::hexagon_S2_svsathub, 26248}, // __builtin_HEXAGON_S2_svsathub
+ {Intrinsic::hexagon_S2_tableidxb_goodsyntax, 26278}, // __builtin_HEXAGON_S2_tableidxb_goodsyntax
+ {Intrinsic::hexagon_S2_tableidxd_goodsyntax, 26320}, // __builtin_HEXAGON_S2_tableidxd_goodsyntax
+ {Intrinsic::hexagon_S2_tableidxh_goodsyntax, 26362}, // __builtin_HEXAGON_S2_tableidxh_goodsyntax
+ {Intrinsic::hexagon_S2_tableidxw_goodsyntax, 26404}, // __builtin_HEXAGON_S2_tableidxw_goodsyntax
+ {Intrinsic::hexagon_S2_togglebit_i, 26446}, // __builtin_HEXAGON_S2_togglebit_i
+ {Intrinsic::hexagon_S2_togglebit_r, 26479}, // __builtin_HEXAGON_S2_togglebit_r
+ {Intrinsic::hexagon_S2_tstbit_i, 26512}, // __builtin_HEXAGON_S2_tstbit_i
+ {Intrinsic::hexagon_S2_tstbit_r, 26542}, // __builtin_HEXAGON_S2_tstbit_r
+ {Intrinsic::hexagon_S2_valignib, 26572}, // __builtin_HEXAGON_S2_valignib
+ {Intrinsic::hexagon_S2_valignrb, 26602}, // __builtin_HEXAGON_S2_valignrb
+ {Intrinsic::hexagon_S2_vcnegh, 26632}, // __builtin_HEXAGON_S2_vcnegh
+ {Intrinsic::hexagon_S2_vcrotate, 26660}, // __builtin_HEXAGON_S2_vcrotate
+ {Intrinsic::hexagon_S2_vrcnegh, 26690}, // __builtin_HEXAGON_S2_vrcnegh
+ {Intrinsic::hexagon_S2_vrndpackwh, 26719}, // __builtin_HEXAGON_S2_vrndpackwh
+ {Intrinsic::hexagon_S2_vrndpackwhs, 26751}, // __builtin_HEXAGON_S2_vrndpackwhs
+ {Intrinsic::hexagon_S2_vsathb, 26784}, // __builtin_HEXAGON_S2_vsathb
+ {Intrinsic::hexagon_S2_vsathb_nopack, 26812}, // __builtin_HEXAGON_S2_vsathb_nopack
+ {Intrinsic::hexagon_S2_vsathub, 26847}, // __builtin_HEXAGON_S2_vsathub
+ {Intrinsic::hexagon_S2_vsathub_nopack, 26876}, // __builtin_HEXAGON_S2_vsathub_nopack
+ {Intrinsic::hexagon_S2_vsatwh, 26912}, // __builtin_HEXAGON_S2_vsatwh
+ {Intrinsic::hexagon_S2_vsatwh_nopack, 26940}, // __builtin_HEXAGON_S2_vsatwh_nopack
+ {Intrinsic::hexagon_S2_vsatwuh, 26975}, // __builtin_HEXAGON_S2_vsatwuh
+ {Intrinsic::hexagon_S2_vsatwuh_nopack, 27004}, // __builtin_HEXAGON_S2_vsatwuh_nopack
+ {Intrinsic::hexagon_S2_vsplatrb, 27040}, // __builtin_HEXAGON_S2_vsplatrb
+ {Intrinsic::hexagon_S2_vsplatrh, 27070}, // __builtin_HEXAGON_S2_vsplatrh
+ {Intrinsic::hexagon_S2_vspliceib, 27100}, // __builtin_HEXAGON_S2_vspliceib
+ {Intrinsic::hexagon_S2_vsplicerb, 27131}, // __builtin_HEXAGON_S2_vsplicerb
+ {Intrinsic::hexagon_S2_vsxtbh, 27162}, // __builtin_HEXAGON_S2_vsxtbh
+ {Intrinsic::hexagon_S2_vsxthw, 27190}, // __builtin_HEXAGON_S2_vsxthw
+ {Intrinsic::hexagon_S2_vtrunehb, 27218}, // __builtin_HEXAGON_S2_vtrunehb
+ {Intrinsic::hexagon_S2_vtrunewh, 27248}, // __builtin_HEXAGON_S2_vtrunewh
+ {Intrinsic::hexagon_S2_vtrunohb, 27278}, // __builtin_HEXAGON_S2_vtrunohb
+ {Intrinsic::hexagon_S2_vtrunowh, 27308}, // __builtin_HEXAGON_S2_vtrunowh
+ {Intrinsic::hexagon_S2_vzxtbh, 27338}, // __builtin_HEXAGON_S2_vzxtbh
+ {Intrinsic::hexagon_S2_vzxthw, 27366}, // __builtin_HEXAGON_S2_vzxthw
+ {Intrinsic::hexagon_S4_addaddi, 27394}, // __builtin_HEXAGON_S4_addaddi
+ {Intrinsic::hexagon_S4_addi_asl_ri, 27423}, // __builtin_HEXAGON_S4_addi_asl_ri
+ {Intrinsic::hexagon_S4_addi_lsr_ri, 27456}, // __builtin_HEXAGON_S4_addi_lsr_ri
+ {Intrinsic::hexagon_S4_andi_asl_ri, 27489}, // __builtin_HEXAGON_S4_andi_asl_ri
+ {Intrinsic::hexagon_S4_andi_lsr_ri, 27522}, // __builtin_HEXAGON_S4_andi_lsr_ri
+ {Intrinsic::hexagon_S4_clbaddi, 27555}, // __builtin_HEXAGON_S4_clbaddi
+ {Intrinsic::hexagon_S4_clbpaddi, 27584}, // __builtin_HEXAGON_S4_clbpaddi
+ {Intrinsic::hexagon_S4_clbpnorm, 27614}, // __builtin_HEXAGON_S4_clbpnorm
+ {Intrinsic::hexagon_S4_extract, 27644}, // __builtin_HEXAGON_S4_extract
+ {Intrinsic::hexagon_S4_extract_rp, 27673}, // __builtin_HEXAGON_S4_extract_rp
+ {Intrinsic::hexagon_S4_extractp, 27705}, // __builtin_HEXAGON_S4_extractp
+ {Intrinsic::hexagon_S4_extractp_rp, 27735}, // __builtin_HEXAGON_S4_extractp_rp
+ {Intrinsic::hexagon_S4_lsli, 27768}, // __builtin_HEXAGON_S4_lsli
+ {Intrinsic::hexagon_S4_ntstbit_i, 27794}, // __builtin_HEXAGON_S4_ntstbit_i
+ {Intrinsic::hexagon_S4_ntstbit_r, 27825}, // __builtin_HEXAGON_S4_ntstbit_r
+ {Intrinsic::hexagon_S4_or_andi, 27856}, // __builtin_HEXAGON_S4_or_andi
+ {Intrinsic::hexagon_S4_or_andix, 27885}, // __builtin_HEXAGON_S4_or_andix
+ {Intrinsic::hexagon_S4_or_ori, 27915}, // __builtin_HEXAGON_S4_or_ori
+ {Intrinsic::hexagon_S4_ori_asl_ri, 27943}, // __builtin_HEXAGON_S4_ori_asl_ri
+ {Intrinsic::hexagon_S4_ori_lsr_ri, 27975}, // __builtin_HEXAGON_S4_ori_lsr_ri
+ {Intrinsic::hexagon_S4_parity, 28007}, // __builtin_HEXAGON_S4_parity
+ {Intrinsic::hexagon_S4_stored_locked, 28035}, // __builtin_HEXAGON_S4_stored_locked
+ {Intrinsic::hexagon_S4_subaddi, 28070}, // __builtin_HEXAGON_S4_subaddi
+ {Intrinsic::hexagon_S4_subi_asl_ri, 28099}, // __builtin_HEXAGON_S4_subi_asl_ri
+ {Intrinsic::hexagon_S4_subi_lsr_ri, 28132}, // __builtin_HEXAGON_S4_subi_lsr_ri
+ {Intrinsic::hexagon_S4_vrcrotate, 28165}, // __builtin_HEXAGON_S4_vrcrotate
+ {Intrinsic::hexagon_S4_vrcrotate_acc, 28196}, // __builtin_HEXAGON_S4_vrcrotate_acc
+ {Intrinsic::hexagon_S4_vxaddsubh, 28231}, // __builtin_HEXAGON_S4_vxaddsubh
+ {Intrinsic::hexagon_S4_vxaddsubhr, 28262}, // __builtin_HEXAGON_S4_vxaddsubhr
+ {Intrinsic::hexagon_S4_vxaddsubw, 28294}, // __builtin_HEXAGON_S4_vxaddsubw
+ {Intrinsic::hexagon_S4_vxsubaddh, 28325}, // __builtin_HEXAGON_S4_vxsubaddh
+ {Intrinsic::hexagon_S4_vxsubaddhr, 28356}, // __builtin_HEXAGON_S4_vxsubaddhr
+ {Intrinsic::hexagon_S4_vxsubaddw, 28388}, // __builtin_HEXAGON_S4_vxsubaddw
+ {Intrinsic::hexagon_S5_asrhub_rnd_sat_goodsyntax, 28419}, // __builtin_HEXAGON_S5_asrhub_rnd_sat_goodsyntax
+ {Intrinsic::hexagon_S5_asrhub_sat, 28466}, // __builtin_HEXAGON_S5_asrhub_sat
+ {Intrinsic::hexagon_S5_popcountp, 28498}, // __builtin_HEXAGON_S5_popcountp
+ {Intrinsic::hexagon_S5_vasrhrnd_goodsyntax, 28529}, // __builtin_HEXAGON_S5_vasrhrnd_goodsyntax
+ {Intrinsic::hexagon_S6_rol_i_p, 28570}, // __builtin_HEXAGON_S6_rol_i_p
+ {Intrinsic::hexagon_S6_rol_i_p_acc, 28599}, // __builtin_HEXAGON_S6_rol_i_p_acc
+ {Intrinsic::hexagon_S6_rol_i_p_and, 28632}, // __builtin_HEXAGON_S6_rol_i_p_and
+ {Intrinsic::hexagon_S6_rol_i_p_nac, 28665}, // __builtin_HEXAGON_S6_rol_i_p_nac
+ {Intrinsic::hexagon_S6_rol_i_p_or, 28698}, // __builtin_HEXAGON_S6_rol_i_p_or
+ {Intrinsic::hexagon_S6_rol_i_p_xacc, 28730}, // __builtin_HEXAGON_S6_rol_i_p_xacc
+ {Intrinsic::hexagon_S6_rol_i_r, 28764}, // __builtin_HEXAGON_S6_rol_i_r
+ {Intrinsic::hexagon_S6_rol_i_r_acc, 28793}, // __builtin_HEXAGON_S6_rol_i_r_acc
+ {Intrinsic::hexagon_S6_rol_i_r_and, 28826}, // __builtin_HEXAGON_S6_rol_i_r_and
+ {Intrinsic::hexagon_S6_rol_i_r_nac, 28859}, // __builtin_HEXAGON_S6_rol_i_r_nac
+ {Intrinsic::hexagon_S6_rol_i_r_or, 28892}, // __builtin_HEXAGON_S6_rol_i_r_or
+ {Intrinsic::hexagon_S6_rol_i_r_xacc, 28924}, // __builtin_HEXAGON_S6_rol_i_r_xacc
+ {Intrinsic::hexagon_S6_vsplatrbp, 28958}, // __builtin_HEXAGON_S6_vsplatrbp
+ {Intrinsic::hexagon_S6_vtrunehb_ppp, 28989}, // __builtin_HEXAGON_S6_vtrunehb_ppp
+ {Intrinsic::hexagon_S6_vtrunohb_ppp, 29023}, // __builtin_HEXAGON_S6_vtrunohb_ppp
+ {Intrinsic::hexagon_V6_extractw, 29084}, // __builtin_HEXAGON_V6_extractw
+ {Intrinsic::hexagon_V6_extractw_128B, 29114}, // __builtin_HEXAGON_V6_extractw_128B
+ {Intrinsic::hexagon_V6_hi, 29149}, // __builtin_HEXAGON_V6_hi
+ {Intrinsic::hexagon_V6_hi_128B, 29173}, // __builtin_HEXAGON_V6_hi_128B
+ {Intrinsic::hexagon_V6_lo, 29202}, // __builtin_HEXAGON_V6_lo
+ {Intrinsic::hexagon_V6_lo_128B, 29226}, // __builtin_HEXAGON_V6_lo_128B
+ {Intrinsic::hexagon_V6_lvsplatw, 29255}, // __builtin_HEXAGON_V6_lvsplatw
+ {Intrinsic::hexagon_V6_lvsplatw_128B, 29285}, // __builtin_HEXAGON_V6_lvsplatw_128B
+ {Intrinsic::hexagon_V6_pred_and, 29320}, // __builtin_HEXAGON_V6_pred_and
+ {Intrinsic::hexagon_V6_pred_and_128B, 29350}, // __builtin_HEXAGON_V6_pred_and_128B
+ {Intrinsic::hexagon_V6_pred_and_n, 29385}, // __builtin_HEXAGON_V6_pred_and_n
+ {Intrinsic::hexagon_V6_pred_and_n_128B, 29417}, // __builtin_HEXAGON_V6_pred_and_n_128B
+ {Intrinsic::hexagon_V6_pred_not, 29454}, // __builtin_HEXAGON_V6_pred_not
+ {Intrinsic::hexagon_V6_pred_not_128B, 29484}, // __builtin_HEXAGON_V6_pred_not_128B
+ {Intrinsic::hexagon_V6_pred_or, 29519}, // __builtin_HEXAGON_V6_pred_or
+ {Intrinsic::hexagon_V6_pred_or_128B, 29548}, // __builtin_HEXAGON_V6_pred_or_128B
+ {Intrinsic::hexagon_V6_pred_or_n, 29582}, // __builtin_HEXAGON_V6_pred_or_n
+ {Intrinsic::hexagon_V6_pred_or_n_128B, 29613}, // __builtin_HEXAGON_V6_pred_or_n_128B
+ {Intrinsic::hexagon_V6_pred_scalar2, 29649}, // __builtin_HEXAGON_V6_pred_scalar2
+ {Intrinsic::hexagon_V6_pred_scalar2_128B, 29683}, // __builtin_HEXAGON_V6_pred_scalar2_128B
+ {Intrinsic::hexagon_V6_pred_xor, 29722}, // __builtin_HEXAGON_V6_pred_xor
+ {Intrinsic::hexagon_V6_pred_xor_128B, 29752}, // __builtin_HEXAGON_V6_pred_xor_128B
+ {Intrinsic::hexagon_V6_vabsdiffh, 29787}, // __builtin_HEXAGON_V6_vabsdiffh
+ {Intrinsic::hexagon_V6_vabsdiffh_128B, 29818}, // __builtin_HEXAGON_V6_vabsdiffh_128B
+ {Intrinsic::hexagon_V6_vabsdiffub, 29854}, // __builtin_HEXAGON_V6_vabsdiffub
+ {Intrinsic::hexagon_V6_vabsdiffub_128B, 29886}, // __builtin_HEXAGON_V6_vabsdiffub_128B
+ {Intrinsic::hexagon_V6_vabsdiffuh, 29923}, // __builtin_HEXAGON_V6_vabsdiffuh
+ {Intrinsic::hexagon_V6_vabsdiffuh_128B, 29955}, // __builtin_HEXAGON_V6_vabsdiffuh_128B
+ {Intrinsic::hexagon_V6_vabsdiffw, 29992}, // __builtin_HEXAGON_V6_vabsdiffw
+ {Intrinsic::hexagon_V6_vabsdiffw_128B, 30023}, // __builtin_HEXAGON_V6_vabsdiffw_128B
+ {Intrinsic::hexagon_V6_vabsh, 30059}, // __builtin_HEXAGON_V6_vabsh
+ {Intrinsic::hexagon_V6_vabsh_128B, 30086}, // __builtin_HEXAGON_V6_vabsh_128B
+ {Intrinsic::hexagon_V6_vabsh_sat, 30118}, // __builtin_HEXAGON_V6_vabsh_sat
+ {Intrinsic::hexagon_V6_vabsh_sat_128B, 30149}, // __builtin_HEXAGON_V6_vabsh_sat_128B
+ {Intrinsic::hexagon_V6_vabsw, 30185}, // __builtin_HEXAGON_V6_vabsw
+ {Intrinsic::hexagon_V6_vabsw_128B, 30212}, // __builtin_HEXAGON_V6_vabsw_128B
+ {Intrinsic::hexagon_V6_vabsw_sat, 30244}, // __builtin_HEXAGON_V6_vabsw_sat
+ {Intrinsic::hexagon_V6_vabsw_sat_128B, 30275}, // __builtin_HEXAGON_V6_vabsw_sat_128B
+ {Intrinsic::hexagon_V6_vaddb, 30311}, // __builtin_HEXAGON_V6_vaddb
+ {Intrinsic::hexagon_V6_vaddb_128B, 30338}, // __builtin_HEXAGON_V6_vaddb_128B
+ {Intrinsic::hexagon_V6_vaddb_dv, 30370}, // __builtin_HEXAGON_V6_vaddb_dv
+ {Intrinsic::hexagon_V6_vaddb_dv_128B, 30400}, // __builtin_HEXAGON_V6_vaddb_dv_128B
+ {Intrinsic::hexagon_V6_vaddbnq, 30435}, // __builtin_HEXAGON_V6_vaddbnq
+ {Intrinsic::hexagon_V6_vaddbnq_128B, 30464}, // __builtin_HEXAGON_V6_vaddbnq_128B
+ {Intrinsic::hexagon_V6_vaddbq, 30498}, // __builtin_HEXAGON_V6_vaddbq
+ {Intrinsic::hexagon_V6_vaddbq_128B, 30526}, // __builtin_HEXAGON_V6_vaddbq_128B
+ {Intrinsic::hexagon_V6_vaddh, 30559}, // __builtin_HEXAGON_V6_vaddh
+ {Intrinsic::hexagon_V6_vaddh_128B, 30586}, // __builtin_HEXAGON_V6_vaddh_128B
+ {Intrinsic::hexagon_V6_vaddh_dv, 30618}, // __builtin_HEXAGON_V6_vaddh_dv
+ {Intrinsic::hexagon_V6_vaddh_dv_128B, 30648}, // __builtin_HEXAGON_V6_vaddh_dv_128B
+ {Intrinsic::hexagon_V6_vaddhnq, 30683}, // __builtin_HEXAGON_V6_vaddhnq
+ {Intrinsic::hexagon_V6_vaddhnq_128B, 30712}, // __builtin_HEXAGON_V6_vaddhnq_128B
+ {Intrinsic::hexagon_V6_vaddhq, 30746}, // __builtin_HEXAGON_V6_vaddhq
+ {Intrinsic::hexagon_V6_vaddhq_128B, 30774}, // __builtin_HEXAGON_V6_vaddhq_128B
+ {Intrinsic::hexagon_V6_vaddhsat, 30807}, // __builtin_HEXAGON_V6_vaddhsat
+ {Intrinsic::hexagon_V6_vaddhsat_128B, 30837}, // __builtin_HEXAGON_V6_vaddhsat_128B
+ {Intrinsic::hexagon_V6_vaddhsat_dv, 30872}, // __builtin_HEXAGON_V6_vaddhsat_dv
+ {Intrinsic::hexagon_V6_vaddhsat_dv_128B, 30905}, // __builtin_HEXAGON_V6_vaddhsat_dv_128B
+ {Intrinsic::hexagon_V6_vaddhw, 30943}, // __builtin_HEXAGON_V6_vaddhw
+ {Intrinsic::hexagon_V6_vaddhw_128B, 30971}, // __builtin_HEXAGON_V6_vaddhw_128B
+ {Intrinsic::hexagon_V6_vaddubh, 31004}, // __builtin_HEXAGON_V6_vaddubh
+ {Intrinsic::hexagon_V6_vaddubh_128B, 31033}, // __builtin_HEXAGON_V6_vaddubh_128B
+ {Intrinsic::hexagon_V6_vaddubsat, 31067}, // __builtin_HEXAGON_V6_vaddubsat
+ {Intrinsic::hexagon_V6_vaddubsat_128B, 31098}, // __builtin_HEXAGON_V6_vaddubsat_128B
+ {Intrinsic::hexagon_V6_vaddubsat_dv, 31134}, // __builtin_HEXAGON_V6_vaddubsat_dv
+ {Intrinsic::hexagon_V6_vaddubsat_dv_128B, 31168}, // __builtin_HEXAGON_V6_vaddubsat_dv_128B
+ {Intrinsic::hexagon_V6_vadduhsat, 31207}, // __builtin_HEXAGON_V6_vadduhsat
+ {Intrinsic::hexagon_V6_vadduhsat_128B, 31238}, // __builtin_HEXAGON_V6_vadduhsat_128B
+ {Intrinsic::hexagon_V6_vadduhsat_dv, 31274}, // __builtin_HEXAGON_V6_vadduhsat_dv
+ {Intrinsic::hexagon_V6_vadduhsat_dv_128B, 31308}, // __builtin_HEXAGON_V6_vadduhsat_dv_128B
+ {Intrinsic::hexagon_V6_vadduhw, 31347}, // __builtin_HEXAGON_V6_vadduhw
+ {Intrinsic::hexagon_V6_vadduhw_128B, 31376}, // __builtin_HEXAGON_V6_vadduhw_128B
+ {Intrinsic::hexagon_V6_vaddw, 31410}, // __builtin_HEXAGON_V6_vaddw
+ {Intrinsic::hexagon_V6_vaddw_128B, 31437}, // __builtin_HEXAGON_V6_vaddw_128B
+ {Intrinsic::hexagon_V6_vaddw_dv, 31469}, // __builtin_HEXAGON_V6_vaddw_dv
+ {Intrinsic::hexagon_V6_vaddw_dv_128B, 31499}, // __builtin_HEXAGON_V6_vaddw_dv_128B
+ {Intrinsic::hexagon_V6_vaddwnq, 31534}, // __builtin_HEXAGON_V6_vaddwnq
+ {Intrinsic::hexagon_V6_vaddwnq_128B, 31563}, // __builtin_HEXAGON_V6_vaddwnq_128B
+ {Intrinsic::hexagon_V6_vaddwq, 31597}, // __builtin_HEXAGON_V6_vaddwq
+ {Intrinsic::hexagon_V6_vaddwq_128B, 31625}, // __builtin_HEXAGON_V6_vaddwq_128B
+ {Intrinsic::hexagon_V6_vaddwsat, 31658}, // __builtin_HEXAGON_V6_vaddwsat
+ {Intrinsic::hexagon_V6_vaddwsat_128B, 31688}, // __builtin_HEXAGON_V6_vaddwsat_128B
+ {Intrinsic::hexagon_V6_vaddwsat_dv, 31723}, // __builtin_HEXAGON_V6_vaddwsat_dv
+ {Intrinsic::hexagon_V6_vaddwsat_dv_128B, 31756}, // __builtin_HEXAGON_V6_vaddwsat_dv_128B
+ {Intrinsic::hexagon_V6_valignb, 31794}, // __builtin_HEXAGON_V6_valignb
+ {Intrinsic::hexagon_V6_valignb_128B, 31823}, // __builtin_HEXAGON_V6_valignb_128B
+ {Intrinsic::hexagon_V6_valignbi, 31857}, // __builtin_HEXAGON_V6_valignbi
+ {Intrinsic::hexagon_V6_valignbi_128B, 31887}, // __builtin_HEXAGON_V6_valignbi_128B
+ {Intrinsic::hexagon_V6_vand, 31922}, // __builtin_HEXAGON_V6_vand
+ {Intrinsic::hexagon_V6_vand_128B, 31948}, // __builtin_HEXAGON_V6_vand_128B
+ {Intrinsic::hexagon_V6_vandqrt, 31979}, // __builtin_HEXAGON_V6_vandqrt
+ {Intrinsic::hexagon_V6_vandqrt_128B, 32008}, // __builtin_HEXAGON_V6_vandqrt_128B
+ {Intrinsic::hexagon_V6_vandqrt_acc, 32042}, // __builtin_HEXAGON_V6_vandqrt_acc
+ {Intrinsic::hexagon_V6_vandqrt_acc_128B, 32075}, // __builtin_HEXAGON_V6_vandqrt_acc_128B
+ {Intrinsic::hexagon_V6_vandvrt, 32113}, // __builtin_HEXAGON_V6_vandvrt
+ {Intrinsic::hexagon_V6_vandvrt_128B, 32142}, // __builtin_HEXAGON_V6_vandvrt_128B
+ {Intrinsic::hexagon_V6_vandvrt_acc, 32176}, // __builtin_HEXAGON_V6_vandvrt_acc
+ {Intrinsic::hexagon_V6_vandvrt_acc_128B, 32209}, // __builtin_HEXAGON_V6_vandvrt_acc_128B
+ {Intrinsic::hexagon_V6_vaslh, 32247}, // __builtin_HEXAGON_V6_vaslh
+ {Intrinsic::hexagon_V6_vaslh_128B, 32274}, // __builtin_HEXAGON_V6_vaslh_128B
+ {Intrinsic::hexagon_V6_vaslhv, 32306}, // __builtin_HEXAGON_V6_vaslhv
+ {Intrinsic::hexagon_V6_vaslhv_128B, 32334}, // __builtin_HEXAGON_V6_vaslhv_128B
+ {Intrinsic::hexagon_V6_vaslw, 32367}, // __builtin_HEXAGON_V6_vaslw
+ {Intrinsic::hexagon_V6_vaslw_128B, 32394}, // __builtin_HEXAGON_V6_vaslw_128B
+ {Intrinsic::hexagon_V6_vaslw_acc, 32426}, // __builtin_HEXAGON_V6_vaslw_acc
+ {Intrinsic::hexagon_V6_vaslw_acc_128B, 32457}, // __builtin_HEXAGON_V6_vaslw_acc_128B
+ {Intrinsic::hexagon_V6_vaslwv, 32493}, // __builtin_HEXAGON_V6_vaslwv
+ {Intrinsic::hexagon_V6_vaslwv_128B, 32521}, // __builtin_HEXAGON_V6_vaslwv_128B
+ {Intrinsic::hexagon_V6_vasrh, 32554}, // __builtin_HEXAGON_V6_vasrh
+ {Intrinsic::hexagon_V6_vasrh_128B, 32581}, // __builtin_HEXAGON_V6_vasrh_128B
+ {Intrinsic::hexagon_V6_vasrhbrndsat, 32613}, // __builtin_HEXAGON_V6_vasrhbrndsat
+ {Intrinsic::hexagon_V6_vasrhbrndsat_128B, 32647}, // __builtin_HEXAGON_V6_vasrhbrndsat_128B
+ {Intrinsic::hexagon_V6_vasrhubrndsat, 32686}, // __builtin_HEXAGON_V6_vasrhubrndsat
+ {Intrinsic::hexagon_V6_vasrhubrndsat_128B, 32721}, // __builtin_HEXAGON_V6_vasrhubrndsat_128B
+ {Intrinsic::hexagon_V6_vasrhubsat, 32761}, // __builtin_HEXAGON_V6_vasrhubsat
+ {Intrinsic::hexagon_V6_vasrhubsat_128B, 32793}, // __builtin_HEXAGON_V6_vasrhubsat_128B
+ {Intrinsic::hexagon_V6_vasrhv, 32830}, // __builtin_HEXAGON_V6_vasrhv
+ {Intrinsic::hexagon_V6_vasrhv_128B, 32858}, // __builtin_HEXAGON_V6_vasrhv_128B
+ {Intrinsic::hexagon_V6_vasrw, 32891}, // __builtin_HEXAGON_V6_vasrw
+ {Intrinsic::hexagon_V6_vasrw_128B, 32918}, // __builtin_HEXAGON_V6_vasrw_128B
+ {Intrinsic::hexagon_V6_vasrw_acc, 32950}, // __builtin_HEXAGON_V6_vasrw_acc
+ {Intrinsic::hexagon_V6_vasrw_acc_128B, 32981}, // __builtin_HEXAGON_V6_vasrw_acc_128B
+ {Intrinsic::hexagon_V6_vasrwh, 33017}, // __builtin_HEXAGON_V6_vasrwh
+ {Intrinsic::hexagon_V6_vasrwh_128B, 33045}, // __builtin_HEXAGON_V6_vasrwh_128B
+ {Intrinsic::hexagon_V6_vasrwhrndsat, 33078}, // __builtin_HEXAGON_V6_vasrwhrndsat
+ {Intrinsic::hexagon_V6_vasrwhrndsat_128B, 33112}, // __builtin_HEXAGON_V6_vasrwhrndsat_128B
+ {Intrinsic::hexagon_V6_vasrwhsat, 33151}, // __builtin_HEXAGON_V6_vasrwhsat
+ {Intrinsic::hexagon_V6_vasrwhsat_128B, 33182}, // __builtin_HEXAGON_V6_vasrwhsat_128B
+ {Intrinsic::hexagon_V6_vasrwuhsat, 33218}, // __builtin_HEXAGON_V6_vasrwuhsat
+ {Intrinsic::hexagon_V6_vasrwuhsat_128B, 33250}, // __builtin_HEXAGON_V6_vasrwuhsat_128B
+ {Intrinsic::hexagon_V6_vasrwv, 33287}, // __builtin_HEXAGON_V6_vasrwv
+ {Intrinsic::hexagon_V6_vasrwv_128B, 33315}, // __builtin_HEXAGON_V6_vasrwv_128B
+ {Intrinsic::hexagon_V6_vassign, 33348}, // __builtin_HEXAGON_V6_vassign
+ {Intrinsic::hexagon_V6_vassign_128B, 33377}, // __builtin_HEXAGON_V6_vassign_128B
+ {Intrinsic::hexagon_V6_vassignp, 33411}, // __builtin_HEXAGON_V6_vassignp
+ {Intrinsic::hexagon_V6_vassignp_128B, 33441}, // __builtin_HEXAGON_V6_vassignp_128B
+ {Intrinsic::hexagon_V6_vavgh, 33476}, // __builtin_HEXAGON_V6_vavgh
+ {Intrinsic::hexagon_V6_vavgh_128B, 33503}, // __builtin_HEXAGON_V6_vavgh_128B
+ {Intrinsic::hexagon_V6_vavghrnd, 33535}, // __builtin_HEXAGON_V6_vavghrnd
+ {Intrinsic::hexagon_V6_vavghrnd_128B, 33565}, // __builtin_HEXAGON_V6_vavghrnd_128B
+ {Intrinsic::hexagon_V6_vavgub, 33600}, // __builtin_HEXAGON_V6_vavgub
+ {Intrinsic::hexagon_V6_vavgub_128B, 33628}, // __builtin_HEXAGON_V6_vavgub_128B
+ {Intrinsic::hexagon_V6_vavgubrnd, 33661}, // __builtin_HEXAGON_V6_vavgubrnd
+ {Intrinsic::hexagon_V6_vavgubrnd_128B, 33692}, // __builtin_HEXAGON_V6_vavgubrnd_128B
+ {Intrinsic::hexagon_V6_vavguh, 33728}, // __builtin_HEXAGON_V6_vavguh
+ {Intrinsic::hexagon_V6_vavguh_128B, 33756}, // __builtin_HEXAGON_V6_vavguh_128B
+ {Intrinsic::hexagon_V6_vavguhrnd, 33789}, // __builtin_HEXAGON_V6_vavguhrnd
+ {Intrinsic::hexagon_V6_vavguhrnd_128B, 33820}, // __builtin_HEXAGON_V6_vavguhrnd_128B
+ {Intrinsic::hexagon_V6_vavgw, 33856}, // __builtin_HEXAGON_V6_vavgw
+ {Intrinsic::hexagon_V6_vavgw_128B, 33883}, // __builtin_HEXAGON_V6_vavgw_128B
+ {Intrinsic::hexagon_V6_vavgwrnd, 33915}, // __builtin_HEXAGON_V6_vavgwrnd
+ {Intrinsic::hexagon_V6_vavgwrnd_128B, 33945}, // __builtin_HEXAGON_V6_vavgwrnd_128B
+ {Intrinsic::hexagon_V6_vcl0h, 33980}, // __builtin_HEXAGON_V6_vcl0h
+ {Intrinsic::hexagon_V6_vcl0h_128B, 34007}, // __builtin_HEXAGON_V6_vcl0h_128B
+ {Intrinsic::hexagon_V6_vcl0w, 34039}, // __builtin_HEXAGON_V6_vcl0w
+ {Intrinsic::hexagon_V6_vcl0w_128B, 34066}, // __builtin_HEXAGON_V6_vcl0w_128B
+ {Intrinsic::hexagon_V6_vcombine, 34098}, // __builtin_HEXAGON_V6_vcombine
+ {Intrinsic::hexagon_V6_vcombine_128B, 34128}, // __builtin_HEXAGON_V6_vcombine_128B
+ {Intrinsic::hexagon_V6_vd0, 34163}, // __builtin_HEXAGON_V6_vd0
+ {Intrinsic::hexagon_V6_vd0_128B, 34188}, // __builtin_HEXAGON_V6_vd0_128B
+ {Intrinsic::hexagon_V6_vdealb, 34218}, // __builtin_HEXAGON_V6_vdealb
+ {Intrinsic::hexagon_V6_vdealb4w, 34279}, // __builtin_HEXAGON_V6_vdealb4w
+ {Intrinsic::hexagon_V6_vdealb4w_128B, 34309}, // __builtin_HEXAGON_V6_vdealb4w_128B
+ {Intrinsic::hexagon_V6_vdealb_128B, 34246}, // __builtin_HEXAGON_V6_vdealb_128B
+ {Intrinsic::hexagon_V6_vdealh, 34344}, // __builtin_HEXAGON_V6_vdealh
+ {Intrinsic::hexagon_V6_vdealh_128B, 34372}, // __builtin_HEXAGON_V6_vdealh_128B
+ {Intrinsic::hexagon_V6_vdealvdd, 34405}, // __builtin_HEXAGON_V6_vdealvdd
+ {Intrinsic::hexagon_V6_vdealvdd_128B, 34435}, // __builtin_HEXAGON_V6_vdealvdd_128B
+ {Intrinsic::hexagon_V6_vdelta, 34470}, // __builtin_HEXAGON_V6_vdelta
+ {Intrinsic::hexagon_V6_vdelta_128B, 34498}, // __builtin_HEXAGON_V6_vdelta_128B
+ {Intrinsic::hexagon_V6_vdmpybus, 34531}, // __builtin_HEXAGON_V6_vdmpybus
+ {Intrinsic::hexagon_V6_vdmpybus_128B, 34561}, // __builtin_HEXAGON_V6_vdmpybus_128B
+ {Intrinsic::hexagon_V6_vdmpybus_acc, 34596}, // __builtin_HEXAGON_V6_vdmpybus_acc
+ {Intrinsic::hexagon_V6_vdmpybus_acc_128B, 34630}, // __builtin_HEXAGON_V6_vdmpybus_acc_128B
+ {Intrinsic::hexagon_V6_vdmpybus_dv, 34669}, // __builtin_HEXAGON_V6_vdmpybus_dv
+ {Intrinsic::hexagon_V6_vdmpybus_dv_128B, 34702}, // __builtin_HEXAGON_V6_vdmpybus_dv_128B
+ {Intrinsic::hexagon_V6_vdmpybus_dv_acc, 34740}, // __builtin_HEXAGON_V6_vdmpybus_dv_acc
+ {Intrinsic::hexagon_V6_vdmpybus_dv_acc_128B, 34777}, // __builtin_HEXAGON_V6_vdmpybus_dv_acc_128B
+ {Intrinsic::hexagon_V6_vdmpyhb, 34819}, // __builtin_HEXAGON_V6_vdmpyhb
+ {Intrinsic::hexagon_V6_vdmpyhb_128B, 34848}, // __builtin_HEXAGON_V6_vdmpyhb_128B
+ {Intrinsic::hexagon_V6_vdmpyhb_acc, 34882}, // __builtin_HEXAGON_V6_vdmpyhb_acc
+ {Intrinsic::hexagon_V6_vdmpyhb_acc_128B, 34915}, // __builtin_HEXAGON_V6_vdmpyhb_acc_128B
+ {Intrinsic::hexagon_V6_vdmpyhb_dv, 34953}, // __builtin_HEXAGON_V6_vdmpyhb_dv
+ {Intrinsic::hexagon_V6_vdmpyhb_dv_128B, 34985}, // __builtin_HEXAGON_V6_vdmpyhb_dv_128B
+ {Intrinsic::hexagon_V6_vdmpyhb_dv_acc, 35022}, // __builtin_HEXAGON_V6_vdmpyhb_dv_acc
+ {Intrinsic::hexagon_V6_vdmpyhb_dv_acc_128B, 35058}, // __builtin_HEXAGON_V6_vdmpyhb_dv_acc_128B
+ {Intrinsic::hexagon_V6_vdmpyhisat, 35099}, // __builtin_HEXAGON_V6_vdmpyhisat
+ {Intrinsic::hexagon_V6_vdmpyhisat_128B, 35131}, // __builtin_HEXAGON_V6_vdmpyhisat_128B
+ {Intrinsic::hexagon_V6_vdmpyhisat_acc, 35168}, // __builtin_HEXAGON_V6_vdmpyhisat_acc
+ {Intrinsic::hexagon_V6_vdmpyhisat_acc_128B, 35204}, // __builtin_HEXAGON_V6_vdmpyhisat_acc_128B
+ {Intrinsic::hexagon_V6_vdmpyhsat, 35245}, // __builtin_HEXAGON_V6_vdmpyhsat
+ {Intrinsic::hexagon_V6_vdmpyhsat_128B, 35276}, // __builtin_HEXAGON_V6_vdmpyhsat_128B
+ {Intrinsic::hexagon_V6_vdmpyhsat_acc, 35312}, // __builtin_HEXAGON_V6_vdmpyhsat_acc
+ {Intrinsic::hexagon_V6_vdmpyhsat_acc_128B, 35347}, // __builtin_HEXAGON_V6_vdmpyhsat_acc_128B
+ {Intrinsic::hexagon_V6_vdmpyhsuisat, 35387}, // __builtin_HEXAGON_V6_vdmpyhsuisat
+ {Intrinsic::hexagon_V6_vdmpyhsuisat_128B, 35421}, // __builtin_HEXAGON_V6_vdmpyhsuisat_128B
+ {Intrinsic::hexagon_V6_vdmpyhsuisat_acc, 35460}, // __builtin_HEXAGON_V6_vdmpyhsuisat_acc
+ {Intrinsic::hexagon_V6_vdmpyhsuisat_acc_128B, 35498}, // __builtin_HEXAGON_V6_vdmpyhsuisat_acc_128B
+ {Intrinsic::hexagon_V6_vdmpyhsusat, 35541}, // __builtin_HEXAGON_V6_vdmpyhsusat
+ {Intrinsic::hexagon_V6_vdmpyhsusat_128B, 35574}, // __builtin_HEXAGON_V6_vdmpyhsusat_128B
+ {Intrinsic::hexagon_V6_vdmpyhsusat_acc, 35612}, // __builtin_HEXAGON_V6_vdmpyhsusat_acc
+ {Intrinsic::hexagon_V6_vdmpyhsusat_acc_128B, 35649}, // __builtin_HEXAGON_V6_vdmpyhsusat_acc_128B
+ {Intrinsic::hexagon_V6_vdmpyhvsat, 35691}, // __builtin_HEXAGON_V6_vdmpyhvsat
+ {Intrinsic::hexagon_V6_vdmpyhvsat_128B, 35723}, // __builtin_HEXAGON_V6_vdmpyhvsat_128B
+ {Intrinsic::hexagon_V6_vdmpyhvsat_acc, 35760}, // __builtin_HEXAGON_V6_vdmpyhvsat_acc
+ {Intrinsic::hexagon_V6_vdmpyhvsat_acc_128B, 35796}, // __builtin_HEXAGON_V6_vdmpyhvsat_acc_128B
+ {Intrinsic::hexagon_V6_vdsaduh, 35837}, // __builtin_HEXAGON_V6_vdsaduh
+ {Intrinsic::hexagon_V6_vdsaduh_128B, 35866}, // __builtin_HEXAGON_V6_vdsaduh_128B
+ {Intrinsic::hexagon_V6_vdsaduh_acc, 35900}, // __builtin_HEXAGON_V6_vdsaduh_acc
+ {Intrinsic::hexagon_V6_vdsaduh_acc_128B, 35933}, // __builtin_HEXAGON_V6_vdsaduh_acc_128B
+ {Intrinsic::hexagon_V6_veqb, 35971}, // __builtin_HEXAGON_V6_veqb
+ {Intrinsic::hexagon_V6_veqb_128B, 35997}, // __builtin_HEXAGON_V6_veqb_128B
+ {Intrinsic::hexagon_V6_veqb_and, 36028}, // __builtin_HEXAGON_V6_veqb_and
+ {Intrinsic::hexagon_V6_veqb_and_128B, 36058}, // __builtin_HEXAGON_V6_veqb_and_128B
+ {Intrinsic::hexagon_V6_veqb_or, 36093}, // __builtin_HEXAGON_V6_veqb_or
+ {Intrinsic::hexagon_V6_veqb_or_128B, 36122}, // __builtin_HEXAGON_V6_veqb_or_128B
+ {Intrinsic::hexagon_V6_veqb_xor, 36156}, // __builtin_HEXAGON_V6_veqb_xor
+ {Intrinsic::hexagon_V6_veqb_xor_128B, 36186}, // __builtin_HEXAGON_V6_veqb_xor_128B
+ {Intrinsic::hexagon_V6_veqh, 36221}, // __builtin_HEXAGON_V6_veqh
+ {Intrinsic::hexagon_V6_veqh_128B, 36247}, // __builtin_HEXAGON_V6_veqh_128B
+ {Intrinsic::hexagon_V6_veqh_and, 36278}, // __builtin_HEXAGON_V6_veqh_and
+ {Intrinsic::hexagon_V6_veqh_and_128B, 36308}, // __builtin_HEXAGON_V6_veqh_and_128B
+ {Intrinsic::hexagon_V6_veqh_or, 36343}, // __builtin_HEXAGON_V6_veqh_or
+ {Intrinsic::hexagon_V6_veqh_or_128B, 36372}, // __builtin_HEXAGON_V6_veqh_or_128B
+ {Intrinsic::hexagon_V6_veqh_xor, 36406}, // __builtin_HEXAGON_V6_veqh_xor
+ {Intrinsic::hexagon_V6_veqh_xor_128B, 36436}, // __builtin_HEXAGON_V6_veqh_xor_128B
+ {Intrinsic::hexagon_V6_veqw, 36471}, // __builtin_HEXAGON_V6_veqw
+ {Intrinsic::hexagon_V6_veqw_128B, 36497}, // __builtin_HEXAGON_V6_veqw_128B
+ {Intrinsic::hexagon_V6_veqw_and, 36528}, // __builtin_HEXAGON_V6_veqw_and
+ {Intrinsic::hexagon_V6_veqw_and_128B, 36558}, // __builtin_HEXAGON_V6_veqw_and_128B
+ {Intrinsic::hexagon_V6_veqw_or, 36593}, // __builtin_HEXAGON_V6_veqw_or
+ {Intrinsic::hexagon_V6_veqw_or_128B, 36622}, // __builtin_HEXAGON_V6_veqw_or_128B
+ {Intrinsic::hexagon_V6_veqw_xor, 36656}, // __builtin_HEXAGON_V6_veqw_xor
+ {Intrinsic::hexagon_V6_veqw_xor_128B, 36686}, // __builtin_HEXAGON_V6_veqw_xor_128B
+ {Intrinsic::hexagon_V6_vgtb, 36721}, // __builtin_HEXAGON_V6_vgtb
+ {Intrinsic::hexagon_V6_vgtb_128B, 36747}, // __builtin_HEXAGON_V6_vgtb_128B
+ {Intrinsic::hexagon_V6_vgtb_and, 36778}, // __builtin_HEXAGON_V6_vgtb_and
+ {Intrinsic::hexagon_V6_vgtb_and_128B, 36808}, // __builtin_HEXAGON_V6_vgtb_and_128B
+ {Intrinsic::hexagon_V6_vgtb_or, 36843}, // __builtin_HEXAGON_V6_vgtb_or
+ {Intrinsic::hexagon_V6_vgtb_or_128B, 36872}, // __builtin_HEXAGON_V6_vgtb_or_128B
+ {Intrinsic::hexagon_V6_vgtb_xor, 36906}, // __builtin_HEXAGON_V6_vgtb_xor
+ {Intrinsic::hexagon_V6_vgtb_xor_128B, 36936}, // __builtin_HEXAGON_V6_vgtb_xor_128B
+ {Intrinsic::hexagon_V6_vgth, 36971}, // __builtin_HEXAGON_V6_vgth
+ {Intrinsic::hexagon_V6_vgth_128B, 36997}, // __builtin_HEXAGON_V6_vgth_128B
+ {Intrinsic::hexagon_V6_vgth_and, 37028}, // __builtin_HEXAGON_V6_vgth_and
+ {Intrinsic::hexagon_V6_vgth_and_128B, 37058}, // __builtin_HEXAGON_V6_vgth_and_128B
+ {Intrinsic::hexagon_V6_vgth_or, 37093}, // __builtin_HEXAGON_V6_vgth_or
+ {Intrinsic::hexagon_V6_vgth_or_128B, 37122}, // __builtin_HEXAGON_V6_vgth_or_128B
+ {Intrinsic::hexagon_V6_vgth_xor, 37156}, // __builtin_HEXAGON_V6_vgth_xor
+ {Intrinsic::hexagon_V6_vgth_xor_128B, 37186}, // __builtin_HEXAGON_V6_vgth_xor_128B
+ {Intrinsic::hexagon_V6_vgtub, 37221}, // __builtin_HEXAGON_V6_vgtub
+ {Intrinsic::hexagon_V6_vgtub_128B, 37248}, // __builtin_HEXAGON_V6_vgtub_128B
+ {Intrinsic::hexagon_V6_vgtub_and, 37280}, // __builtin_HEXAGON_V6_vgtub_and
+ {Intrinsic::hexagon_V6_vgtub_and_128B, 37311}, // __builtin_HEXAGON_V6_vgtub_and_128B
+ {Intrinsic::hexagon_V6_vgtub_or, 37347}, // __builtin_HEXAGON_V6_vgtub_or
+ {Intrinsic::hexagon_V6_vgtub_or_128B, 37377}, // __builtin_HEXAGON_V6_vgtub_or_128B
+ {Intrinsic::hexagon_V6_vgtub_xor, 37412}, // __builtin_HEXAGON_V6_vgtub_xor
+ {Intrinsic::hexagon_V6_vgtub_xor_128B, 37443}, // __builtin_HEXAGON_V6_vgtub_xor_128B
+ {Intrinsic::hexagon_V6_vgtuh, 37479}, // __builtin_HEXAGON_V6_vgtuh
+ {Intrinsic::hexagon_V6_vgtuh_128B, 37506}, // __builtin_HEXAGON_V6_vgtuh_128B
+ {Intrinsic::hexagon_V6_vgtuh_and, 37538}, // __builtin_HEXAGON_V6_vgtuh_and
+ {Intrinsic::hexagon_V6_vgtuh_and_128B, 37569}, // __builtin_HEXAGON_V6_vgtuh_and_128B
+ {Intrinsic::hexagon_V6_vgtuh_or, 37605}, // __builtin_HEXAGON_V6_vgtuh_or
+ {Intrinsic::hexagon_V6_vgtuh_or_128B, 37635}, // __builtin_HEXAGON_V6_vgtuh_or_128B
+ {Intrinsic::hexagon_V6_vgtuh_xor, 37670}, // __builtin_HEXAGON_V6_vgtuh_xor
+ {Intrinsic::hexagon_V6_vgtuh_xor_128B, 37701}, // __builtin_HEXAGON_V6_vgtuh_xor_128B
+ {Intrinsic::hexagon_V6_vgtuw, 37737}, // __builtin_HEXAGON_V6_vgtuw
+ {Intrinsic::hexagon_V6_vgtuw_128B, 37764}, // __builtin_HEXAGON_V6_vgtuw_128B
+ {Intrinsic::hexagon_V6_vgtuw_and, 37796}, // __builtin_HEXAGON_V6_vgtuw_and
+ {Intrinsic::hexagon_V6_vgtuw_and_128B, 37827}, // __builtin_HEXAGON_V6_vgtuw_and_128B
+ {Intrinsic::hexagon_V6_vgtuw_or, 37863}, // __builtin_HEXAGON_V6_vgtuw_or
+ {Intrinsic::hexagon_V6_vgtuw_or_128B, 37893}, // __builtin_HEXAGON_V6_vgtuw_or_128B
+ {Intrinsic::hexagon_V6_vgtuw_xor, 37928}, // __builtin_HEXAGON_V6_vgtuw_xor
+ {Intrinsic::hexagon_V6_vgtuw_xor_128B, 37959}, // __builtin_HEXAGON_V6_vgtuw_xor_128B
+ {Intrinsic::hexagon_V6_vgtw, 37995}, // __builtin_HEXAGON_V6_vgtw
+ {Intrinsic::hexagon_V6_vgtw_128B, 38021}, // __builtin_HEXAGON_V6_vgtw_128B
+ {Intrinsic::hexagon_V6_vgtw_and, 38052}, // __builtin_HEXAGON_V6_vgtw_and
+ {Intrinsic::hexagon_V6_vgtw_and_128B, 38082}, // __builtin_HEXAGON_V6_vgtw_and_128B
+ {Intrinsic::hexagon_V6_vgtw_or, 38117}, // __builtin_HEXAGON_V6_vgtw_or
+ {Intrinsic::hexagon_V6_vgtw_or_128B, 38146}, // __builtin_HEXAGON_V6_vgtw_or_128B
+ {Intrinsic::hexagon_V6_vgtw_xor, 38180}, // __builtin_HEXAGON_V6_vgtw_xor
+ {Intrinsic::hexagon_V6_vgtw_xor_128B, 38210}, // __builtin_HEXAGON_V6_vgtw_xor_128B
+ {Intrinsic::hexagon_V6_vinsertwr, 38245}, // __builtin_HEXAGON_V6_vinsertwr
+ {Intrinsic::hexagon_V6_vinsertwr_128B, 38276}, // __builtin_HEXAGON_V6_vinsertwr_128B
+ {Intrinsic::hexagon_V6_vlalignb, 38312}, // __builtin_HEXAGON_V6_vlalignb
+ {Intrinsic::hexagon_V6_vlalignb_128B, 38342}, // __builtin_HEXAGON_V6_vlalignb_128B
+ {Intrinsic::hexagon_V6_vlalignbi, 38377}, // __builtin_HEXAGON_V6_vlalignbi
+ {Intrinsic::hexagon_V6_vlalignbi_128B, 38408}, // __builtin_HEXAGON_V6_vlalignbi_128B
+ {Intrinsic::hexagon_V6_vlsrh, 38444}, // __builtin_HEXAGON_V6_vlsrh
+ {Intrinsic::hexagon_V6_vlsrh_128B, 38471}, // __builtin_HEXAGON_V6_vlsrh_128B
+ {Intrinsic::hexagon_V6_vlsrhv, 38503}, // __builtin_HEXAGON_V6_vlsrhv
+ {Intrinsic::hexagon_V6_vlsrhv_128B, 38531}, // __builtin_HEXAGON_V6_vlsrhv_128B
+ {Intrinsic::hexagon_V6_vlsrw, 38564}, // __builtin_HEXAGON_V6_vlsrw
+ {Intrinsic::hexagon_V6_vlsrw_128B, 38591}, // __builtin_HEXAGON_V6_vlsrw_128B
+ {Intrinsic::hexagon_V6_vlsrwv, 38623}, // __builtin_HEXAGON_V6_vlsrwv
+ {Intrinsic::hexagon_V6_vlsrwv_128B, 38651}, // __builtin_HEXAGON_V6_vlsrwv_128B
+ {Intrinsic::hexagon_V6_vlutb, 38684}, // __builtin_HEXAGON_V6_vlutb
+ {Intrinsic::hexagon_V6_vlutb_128B, 38711}, // __builtin_HEXAGON_V6_vlutb_128B
+ {Intrinsic::hexagon_V6_vlutb_acc, 38743}, // __builtin_HEXAGON_V6_vlutb_acc
+ {Intrinsic::hexagon_V6_vlutb_acc_128B, 38774}, // __builtin_HEXAGON_V6_vlutb_acc_128B
+ {Intrinsic::hexagon_V6_vlutb_dv, 38810}, // __builtin_HEXAGON_V6_vlutb_dv
+ {Intrinsic::hexagon_V6_vlutb_dv_128B, 38840}, // __builtin_HEXAGON_V6_vlutb_dv_128B
+ {Intrinsic::hexagon_V6_vlutb_dv_acc, 38875}, // __builtin_HEXAGON_V6_vlutb_dv_acc
+ {Intrinsic::hexagon_V6_vlutb_dv_acc_128B, 38909}, // __builtin_HEXAGON_V6_vlutb_dv_acc_128B
+ {Intrinsic::hexagon_V6_vlutvvb, 38948}, // __builtin_HEXAGON_V6_vlutvvb
+ {Intrinsic::hexagon_V6_vlutvvb_128B, 38977}, // __builtin_HEXAGON_V6_vlutvvb_128B
+ {Intrinsic::hexagon_V6_vlutvvb_oracc, 39011}, // __builtin_HEXAGON_V6_vlutvvb_oracc
+ {Intrinsic::hexagon_V6_vlutvvb_oracc_128B, 39046}, // __builtin_HEXAGON_V6_vlutvvb_oracc_128B
+ {Intrinsic::hexagon_V6_vlutvwh, 39086}, // __builtin_HEXAGON_V6_vlutvwh
+ {Intrinsic::hexagon_V6_vlutvwh_128B, 39115}, // __builtin_HEXAGON_V6_vlutvwh_128B
+ {Intrinsic::hexagon_V6_vlutvwh_oracc, 39149}, // __builtin_HEXAGON_V6_vlutvwh_oracc
+ {Intrinsic::hexagon_V6_vlutvwh_oracc_128B, 39184}, // __builtin_HEXAGON_V6_vlutvwh_oracc_128B
+ {Intrinsic::hexagon_V6_vmaxh, 39224}, // __builtin_HEXAGON_V6_vmaxh
+ {Intrinsic::hexagon_V6_vmaxh_128B, 39251}, // __builtin_HEXAGON_V6_vmaxh_128B
+ {Intrinsic::hexagon_V6_vmaxub, 39283}, // __builtin_HEXAGON_V6_vmaxub
+ {Intrinsic::hexagon_V6_vmaxub_128B, 39311}, // __builtin_HEXAGON_V6_vmaxub_128B
+ {Intrinsic::hexagon_V6_vmaxuh, 39344}, // __builtin_HEXAGON_V6_vmaxuh
+ {Intrinsic::hexagon_V6_vmaxuh_128B, 39372}, // __builtin_HEXAGON_V6_vmaxuh_128B
+ {Intrinsic::hexagon_V6_vmaxw, 39405}, // __builtin_HEXAGON_V6_vmaxw
+ {Intrinsic::hexagon_V6_vmaxw_128B, 39432}, // __builtin_HEXAGON_V6_vmaxw_128B
+ {Intrinsic::hexagon_V6_vminh, 39464}, // __builtin_HEXAGON_V6_vminh
+ {Intrinsic::hexagon_V6_vminh_128B, 39491}, // __builtin_HEXAGON_V6_vminh_128B
+ {Intrinsic::hexagon_V6_vminub, 39523}, // __builtin_HEXAGON_V6_vminub
+ {Intrinsic::hexagon_V6_vminub_128B, 39551}, // __builtin_HEXAGON_V6_vminub_128B
+ {Intrinsic::hexagon_V6_vminuh, 39584}, // __builtin_HEXAGON_V6_vminuh
+ {Intrinsic::hexagon_V6_vminuh_128B, 39612}, // __builtin_HEXAGON_V6_vminuh_128B
+ {Intrinsic::hexagon_V6_vminw, 39645}, // __builtin_HEXAGON_V6_vminw
+ {Intrinsic::hexagon_V6_vminw_128B, 39672}, // __builtin_HEXAGON_V6_vminw_128B
+ {Intrinsic::hexagon_V6_vmpabus, 39704}, // __builtin_HEXAGON_V6_vmpabus
+ {Intrinsic::hexagon_V6_vmpabus_128B, 39733}, // __builtin_HEXAGON_V6_vmpabus_128B
+ {Intrinsic::hexagon_V6_vmpabus_acc, 39767}, // __builtin_HEXAGON_V6_vmpabus_acc
+ {Intrinsic::hexagon_V6_vmpabus_acc_128B, 39800}, // __builtin_HEXAGON_V6_vmpabus_acc_128B
+ {Intrinsic::hexagon_V6_vmpabusv, 39838}, // __builtin_HEXAGON_V6_vmpabusv
+ {Intrinsic::hexagon_V6_vmpabusv_128B, 39868}, // __builtin_HEXAGON_V6_vmpabusv_128B
+ {Intrinsic::hexagon_V6_vmpabuuv, 39903}, // __builtin_HEXAGON_V6_vmpabuuv
+ {Intrinsic::hexagon_V6_vmpabuuv_128B, 39933}, // __builtin_HEXAGON_V6_vmpabuuv_128B
+ {Intrinsic::hexagon_V6_vmpahb, 39968}, // __builtin_HEXAGON_V6_vmpahb
+ {Intrinsic::hexagon_V6_vmpahb_128B, 39996}, // __builtin_HEXAGON_V6_vmpahb_128B
+ {Intrinsic::hexagon_V6_vmpahb_acc, 40029}, // __builtin_HEXAGON_V6_vmpahb_acc
+ {Intrinsic::hexagon_V6_vmpahb_acc_128B, 40061}, // __builtin_HEXAGON_V6_vmpahb_acc_128B
+ {Intrinsic::hexagon_V6_vmpybus, 40098}, // __builtin_HEXAGON_V6_vmpybus
+ {Intrinsic::hexagon_V6_vmpybus_128B, 40127}, // __builtin_HEXAGON_V6_vmpybus_128B
+ {Intrinsic::hexagon_V6_vmpybus_acc, 40161}, // __builtin_HEXAGON_V6_vmpybus_acc
+ {Intrinsic::hexagon_V6_vmpybus_acc_128B, 40194}, // __builtin_HEXAGON_V6_vmpybus_acc_128B
+ {Intrinsic::hexagon_V6_vmpybusv, 40232}, // __builtin_HEXAGON_V6_vmpybusv
+ {Intrinsic::hexagon_V6_vmpybusv_128B, 40262}, // __builtin_HEXAGON_V6_vmpybusv_128B
+ {Intrinsic::hexagon_V6_vmpybusv_acc, 40297}, // __builtin_HEXAGON_V6_vmpybusv_acc
+ {Intrinsic::hexagon_V6_vmpybusv_acc_128B, 40331}, // __builtin_HEXAGON_V6_vmpybusv_acc_128B
+ {Intrinsic::hexagon_V6_vmpybv, 40370}, // __builtin_HEXAGON_V6_vmpybv
+ {Intrinsic::hexagon_V6_vmpybv_128B, 40398}, // __builtin_HEXAGON_V6_vmpybv_128B
+ {Intrinsic::hexagon_V6_vmpybv_acc, 40431}, // __builtin_HEXAGON_V6_vmpybv_acc
+ {Intrinsic::hexagon_V6_vmpybv_acc_128B, 40463}, // __builtin_HEXAGON_V6_vmpybv_acc_128B
+ {Intrinsic::hexagon_V6_vmpyewuh, 40500}, // __builtin_HEXAGON_V6_vmpyewuh
+ {Intrinsic::hexagon_V6_vmpyewuh_128B, 40530}, // __builtin_HEXAGON_V6_vmpyewuh_128B
+ {Intrinsic::hexagon_V6_vmpyh, 40565}, // __builtin_HEXAGON_V6_vmpyh
+ {Intrinsic::hexagon_V6_vmpyh_128B, 40592}, // __builtin_HEXAGON_V6_vmpyh_128B
+ {Intrinsic::hexagon_V6_vmpyhsat_acc, 40624}, // __builtin_HEXAGON_V6_vmpyhsat_acc
+ {Intrinsic::hexagon_V6_vmpyhsat_acc_128B, 40658}, // __builtin_HEXAGON_V6_vmpyhsat_acc_128B
+ {Intrinsic::hexagon_V6_vmpyhsrs, 40697}, // __builtin_HEXAGON_V6_vmpyhsrs
+ {Intrinsic::hexagon_V6_vmpyhsrs_128B, 40727}, // __builtin_HEXAGON_V6_vmpyhsrs_128B
+ {Intrinsic::hexagon_V6_vmpyhss, 40762}, // __builtin_HEXAGON_V6_vmpyhss
+ {Intrinsic::hexagon_V6_vmpyhss_128B, 40791}, // __builtin_HEXAGON_V6_vmpyhss_128B
+ {Intrinsic::hexagon_V6_vmpyhus, 40825}, // __builtin_HEXAGON_V6_vmpyhus
+ {Intrinsic::hexagon_V6_vmpyhus_128B, 40854}, // __builtin_HEXAGON_V6_vmpyhus_128B
+ {Intrinsic::hexagon_V6_vmpyhus_acc, 40888}, // __builtin_HEXAGON_V6_vmpyhus_acc
+ {Intrinsic::hexagon_V6_vmpyhus_acc_128B, 40921}, // __builtin_HEXAGON_V6_vmpyhus_acc_128B
+ {Intrinsic::hexagon_V6_vmpyhv, 40959}, // __builtin_HEXAGON_V6_vmpyhv
+ {Intrinsic::hexagon_V6_vmpyhv_128B, 40987}, // __builtin_HEXAGON_V6_vmpyhv_128B
+ {Intrinsic::hexagon_V6_vmpyhv_acc, 41020}, // __builtin_HEXAGON_V6_vmpyhv_acc
+ {Intrinsic::hexagon_V6_vmpyhv_acc_128B, 41052}, // __builtin_HEXAGON_V6_vmpyhv_acc_128B
+ {Intrinsic::hexagon_V6_vmpyhvsrs, 41089}, // __builtin_HEXAGON_V6_vmpyhvsrs
+ {Intrinsic::hexagon_V6_vmpyhvsrs_128B, 41120}, // __builtin_HEXAGON_V6_vmpyhvsrs_128B
+ {Intrinsic::hexagon_V6_vmpyieoh, 41156}, // __builtin_HEXAGON_V6_vmpyieoh
+ {Intrinsic::hexagon_V6_vmpyieoh_128B, 41186}, // __builtin_HEXAGON_V6_vmpyieoh_128B
+ {Intrinsic::hexagon_V6_vmpyiewh_acc, 41221}, // __builtin_HEXAGON_V6_vmpyiewh_acc
+ {Intrinsic::hexagon_V6_vmpyiewh_acc_128B, 41255}, // __builtin_HEXAGON_V6_vmpyiewh_acc_128B
+ {Intrinsic::hexagon_V6_vmpyiewuh, 41294}, // __builtin_HEXAGON_V6_vmpyiewuh
+ {Intrinsic::hexagon_V6_vmpyiewuh_128B, 41325}, // __builtin_HEXAGON_V6_vmpyiewuh_128B
+ {Intrinsic::hexagon_V6_vmpyiewuh_acc, 41361}, // __builtin_HEXAGON_V6_vmpyiewuh_acc
+ {Intrinsic::hexagon_V6_vmpyiewuh_acc_128B, 41396}, // __builtin_HEXAGON_V6_vmpyiewuh_acc_128B
+ {Intrinsic::hexagon_V6_vmpyih, 41436}, // __builtin_HEXAGON_V6_vmpyih
+ {Intrinsic::hexagon_V6_vmpyih_128B, 41464}, // __builtin_HEXAGON_V6_vmpyih_128B
+ {Intrinsic::hexagon_V6_vmpyih_acc, 41497}, // __builtin_HEXAGON_V6_vmpyih_acc
+ {Intrinsic::hexagon_V6_vmpyih_acc_128B, 41529}, // __builtin_HEXAGON_V6_vmpyih_acc_128B
+ {Intrinsic::hexagon_V6_vmpyihb, 41566}, // __builtin_HEXAGON_V6_vmpyihb
+ {Intrinsic::hexagon_V6_vmpyihb_128B, 41595}, // __builtin_HEXAGON_V6_vmpyihb_128B
+ {Intrinsic::hexagon_V6_vmpyihb_acc, 41629}, // __builtin_HEXAGON_V6_vmpyihb_acc
+ {Intrinsic::hexagon_V6_vmpyihb_acc_128B, 41662}, // __builtin_HEXAGON_V6_vmpyihb_acc_128B
+ {Intrinsic::hexagon_V6_vmpyiowh, 41700}, // __builtin_HEXAGON_V6_vmpyiowh
+ {Intrinsic::hexagon_V6_vmpyiowh_128B, 41730}, // __builtin_HEXAGON_V6_vmpyiowh_128B
+ {Intrinsic::hexagon_V6_vmpyiwb, 41765}, // __builtin_HEXAGON_V6_vmpyiwb
+ {Intrinsic::hexagon_V6_vmpyiwb_128B, 41794}, // __builtin_HEXAGON_V6_vmpyiwb_128B
+ {Intrinsic::hexagon_V6_vmpyiwb_acc, 41828}, // __builtin_HEXAGON_V6_vmpyiwb_acc
+ {Intrinsic::hexagon_V6_vmpyiwb_acc_128B, 41861}, // __builtin_HEXAGON_V6_vmpyiwb_acc_128B
+ {Intrinsic::hexagon_V6_vmpyiwh, 41899}, // __builtin_HEXAGON_V6_vmpyiwh
+ {Intrinsic::hexagon_V6_vmpyiwh_128B, 41928}, // __builtin_HEXAGON_V6_vmpyiwh_128B
+ {Intrinsic::hexagon_V6_vmpyiwh_acc, 41962}, // __builtin_HEXAGON_V6_vmpyiwh_acc
+ {Intrinsic::hexagon_V6_vmpyiwh_acc_128B, 41995}, // __builtin_HEXAGON_V6_vmpyiwh_acc_128B
+ {Intrinsic::hexagon_V6_vmpyowh, 42033}, // __builtin_HEXAGON_V6_vmpyowh
+ {Intrinsic::hexagon_V6_vmpyowh_128B, 42062}, // __builtin_HEXAGON_V6_vmpyowh_128B
+ {Intrinsic::hexagon_V6_vmpyowh_rnd, 42096}, // __builtin_HEXAGON_V6_vmpyowh_rnd
+ {Intrinsic::hexagon_V6_vmpyowh_rnd_128B, 42129}, // __builtin_HEXAGON_V6_vmpyowh_rnd_128B
+ {Intrinsic::hexagon_V6_vmpyowh_rnd_sacc, 42167}, // __builtin_HEXAGON_V6_vmpyowh_rnd_sacc
+ {Intrinsic::hexagon_V6_vmpyowh_rnd_sacc_128B, 42205}, // __builtin_HEXAGON_V6_vmpyowh_rnd_sacc_128B
+ {Intrinsic::hexagon_V6_vmpyowh_sacc, 42248}, // __builtin_HEXAGON_V6_vmpyowh_sacc
+ {Intrinsic::hexagon_V6_vmpyowh_sacc_128B, 42282}, // __builtin_HEXAGON_V6_vmpyowh_sacc_128B
+ {Intrinsic::hexagon_V6_vmpyub, 42321}, // __builtin_HEXAGON_V6_vmpyub
+ {Intrinsic::hexagon_V6_vmpyub_128B, 42349}, // __builtin_HEXAGON_V6_vmpyub_128B
+ {Intrinsic::hexagon_V6_vmpyub_acc, 42382}, // __builtin_HEXAGON_V6_vmpyub_acc
+ {Intrinsic::hexagon_V6_vmpyub_acc_128B, 42414}, // __builtin_HEXAGON_V6_vmpyub_acc_128B
+ {Intrinsic::hexagon_V6_vmpyubv, 42451}, // __builtin_HEXAGON_V6_vmpyubv
+ {Intrinsic::hexagon_V6_vmpyubv_128B, 42480}, // __builtin_HEXAGON_V6_vmpyubv_128B
+ {Intrinsic::hexagon_V6_vmpyubv_acc, 42514}, // __builtin_HEXAGON_V6_vmpyubv_acc
+ {Intrinsic::hexagon_V6_vmpyubv_acc_128B, 42547}, // __builtin_HEXAGON_V6_vmpyubv_acc_128B
+ {Intrinsic::hexagon_V6_vmpyuh, 42585}, // __builtin_HEXAGON_V6_vmpyuh
+ {Intrinsic::hexagon_V6_vmpyuh_128B, 42613}, // __builtin_HEXAGON_V6_vmpyuh_128B
+ {Intrinsic::hexagon_V6_vmpyuh_acc, 42646}, // __builtin_HEXAGON_V6_vmpyuh_acc
+ {Intrinsic::hexagon_V6_vmpyuh_acc_128B, 42678}, // __builtin_HEXAGON_V6_vmpyuh_acc_128B
+ {Intrinsic::hexagon_V6_vmpyuhv, 42715}, // __builtin_HEXAGON_V6_vmpyuhv
+ {Intrinsic::hexagon_V6_vmpyuhv_128B, 42744}, // __builtin_HEXAGON_V6_vmpyuhv_128B
+ {Intrinsic::hexagon_V6_vmpyuhv_acc, 42778}, // __builtin_HEXAGON_V6_vmpyuhv_acc
+ {Intrinsic::hexagon_V6_vmpyuhv_acc_128B, 42811}, // __builtin_HEXAGON_V6_vmpyuhv_acc_128B
+ {Intrinsic::hexagon_V6_vmux, 42849}, // __builtin_HEXAGON_V6_vmux
+ {Intrinsic::hexagon_V6_vmux_128B, 42875}, // __builtin_HEXAGON_V6_vmux_128B
+ {Intrinsic::hexagon_V6_vnavgh, 42906}, // __builtin_HEXAGON_V6_vnavgh
+ {Intrinsic::hexagon_V6_vnavgh_128B, 42934}, // __builtin_HEXAGON_V6_vnavgh_128B
+ {Intrinsic::hexagon_V6_vnavgub, 42967}, // __builtin_HEXAGON_V6_vnavgub
+ {Intrinsic::hexagon_V6_vnavgub_128B, 42996}, // __builtin_HEXAGON_V6_vnavgub_128B
+ {Intrinsic::hexagon_V6_vnavgw, 43030}, // __builtin_HEXAGON_V6_vnavgw
+ {Intrinsic::hexagon_V6_vnavgw_128B, 43058}, // __builtin_HEXAGON_V6_vnavgw_128B
+ {Intrinsic::hexagon_V6_vnormamth, 43091}, // __builtin_HEXAGON_V6_vnormamth
+ {Intrinsic::hexagon_V6_vnormamth_128B, 43122}, // __builtin_HEXAGON_V6_vnormamth_128B
+ {Intrinsic::hexagon_V6_vnormamtw, 43158}, // __builtin_HEXAGON_V6_vnormamtw
+ {Intrinsic::hexagon_V6_vnormamtw_128B, 43189}, // __builtin_HEXAGON_V6_vnormamtw_128B
+ {Intrinsic::hexagon_V6_vnot, 43225}, // __builtin_HEXAGON_V6_vnot
+ {Intrinsic::hexagon_V6_vnot_128B, 43251}, // __builtin_HEXAGON_V6_vnot_128B
+ {Intrinsic::hexagon_V6_vor, 43282}, // __builtin_HEXAGON_V6_vor
+ {Intrinsic::hexagon_V6_vor_128B, 43307}, // __builtin_HEXAGON_V6_vor_128B
+ {Intrinsic::hexagon_V6_vpackeb, 43337}, // __builtin_HEXAGON_V6_vpackeb
+ {Intrinsic::hexagon_V6_vpackeb_128B, 43366}, // __builtin_HEXAGON_V6_vpackeb_128B
+ {Intrinsic::hexagon_V6_vpackeh, 43400}, // __builtin_HEXAGON_V6_vpackeh
+ {Intrinsic::hexagon_V6_vpackeh_128B, 43429}, // __builtin_HEXAGON_V6_vpackeh_128B
+ {Intrinsic::hexagon_V6_vpackhb_sat, 43463}, // __builtin_HEXAGON_V6_vpackhb_sat
+ {Intrinsic::hexagon_V6_vpackhb_sat_128B, 43496}, // __builtin_HEXAGON_V6_vpackhb_sat_128B
+ {Intrinsic::hexagon_V6_vpackhub_sat, 43534}, // __builtin_HEXAGON_V6_vpackhub_sat
+ {Intrinsic::hexagon_V6_vpackhub_sat_128B, 43568}, // __builtin_HEXAGON_V6_vpackhub_sat_128B
+ {Intrinsic::hexagon_V6_vpackob, 43607}, // __builtin_HEXAGON_V6_vpackob
+ {Intrinsic::hexagon_V6_vpackob_128B, 43636}, // __builtin_HEXAGON_V6_vpackob_128B
+ {Intrinsic::hexagon_V6_vpackoh, 43670}, // __builtin_HEXAGON_V6_vpackoh
+ {Intrinsic::hexagon_V6_vpackoh_128B, 43699}, // __builtin_HEXAGON_V6_vpackoh_128B
+ {Intrinsic::hexagon_V6_vpackwh_sat, 43733}, // __builtin_HEXAGON_V6_vpackwh_sat
+ {Intrinsic::hexagon_V6_vpackwh_sat_128B, 43766}, // __builtin_HEXAGON_V6_vpackwh_sat_128B
+ {Intrinsic::hexagon_V6_vpackwuh_sat, 43804}, // __builtin_HEXAGON_V6_vpackwuh_sat
+ {Intrinsic::hexagon_V6_vpackwuh_sat_128B, 43838}, // __builtin_HEXAGON_V6_vpackwuh_sat_128B
+ {Intrinsic::hexagon_V6_vpopcounth, 43877}, // __builtin_HEXAGON_V6_vpopcounth
+ {Intrinsic::hexagon_V6_vpopcounth_128B, 43909}, // __builtin_HEXAGON_V6_vpopcounth_128B
+ {Intrinsic::hexagon_V6_vrdelta, 43946}, // __builtin_HEXAGON_V6_vrdelta
+ {Intrinsic::hexagon_V6_vrdelta_128B, 43975}, // __builtin_HEXAGON_V6_vrdelta_128B
+ {Intrinsic::hexagon_V6_vrmpybus, 44009}, // __builtin_HEXAGON_V6_vrmpybus
+ {Intrinsic::hexagon_V6_vrmpybus_128B, 44039}, // __builtin_HEXAGON_V6_vrmpybus_128B
+ {Intrinsic::hexagon_V6_vrmpybus_acc, 44074}, // __builtin_HEXAGON_V6_vrmpybus_acc
+ {Intrinsic::hexagon_V6_vrmpybus_acc_128B, 44108}, // __builtin_HEXAGON_V6_vrmpybus_acc_128B
+ {Intrinsic::hexagon_V6_vrmpybusi, 44147}, // __builtin_HEXAGON_V6_vrmpybusi
+ {Intrinsic::hexagon_V6_vrmpybusi_128B, 44178}, // __builtin_HEXAGON_V6_vrmpybusi_128B
+ {Intrinsic::hexagon_V6_vrmpybusi_acc, 44214}, // __builtin_HEXAGON_V6_vrmpybusi_acc
+ {Intrinsic::hexagon_V6_vrmpybusi_acc_128B, 44249}, // __builtin_HEXAGON_V6_vrmpybusi_acc_128B
+ {Intrinsic::hexagon_V6_vrmpybusv, 44289}, // __builtin_HEXAGON_V6_vrmpybusv
+ {Intrinsic::hexagon_V6_vrmpybusv_128B, 44320}, // __builtin_HEXAGON_V6_vrmpybusv_128B
+ {Intrinsic::hexagon_V6_vrmpybusv_acc, 44356}, // __builtin_HEXAGON_V6_vrmpybusv_acc
+ {Intrinsic::hexagon_V6_vrmpybusv_acc_128B, 44391}, // __builtin_HEXAGON_V6_vrmpybusv_acc_128B
+ {Intrinsic::hexagon_V6_vrmpybv, 44431}, // __builtin_HEXAGON_V6_vrmpybv
+ {Intrinsic::hexagon_V6_vrmpybv_128B, 44460}, // __builtin_HEXAGON_V6_vrmpybv_128B
+ {Intrinsic::hexagon_V6_vrmpybv_acc, 44494}, // __builtin_HEXAGON_V6_vrmpybv_acc
+ {Intrinsic::hexagon_V6_vrmpybv_acc_128B, 44527}, // __builtin_HEXAGON_V6_vrmpybv_acc_128B
+ {Intrinsic::hexagon_V6_vrmpyub, 44565}, // __builtin_HEXAGON_V6_vrmpyub
+ {Intrinsic::hexagon_V6_vrmpyub_128B, 44594}, // __builtin_HEXAGON_V6_vrmpyub_128B
+ {Intrinsic::hexagon_V6_vrmpyub_acc, 44628}, // __builtin_HEXAGON_V6_vrmpyub_acc
+ {Intrinsic::hexagon_V6_vrmpyub_acc_128B, 44661}, // __builtin_HEXAGON_V6_vrmpyub_acc_128B
+ {Intrinsic::hexagon_V6_vrmpyubi, 44699}, // __builtin_HEXAGON_V6_vrmpyubi
+ {Intrinsic::hexagon_V6_vrmpyubi_128B, 44729}, // __builtin_HEXAGON_V6_vrmpyubi_128B
+ {Intrinsic::hexagon_V6_vrmpyubi_acc, 44764}, // __builtin_HEXAGON_V6_vrmpyubi_acc
+ {Intrinsic::hexagon_V6_vrmpyubi_acc_128B, 44798}, // __builtin_HEXAGON_V6_vrmpyubi_acc_128B
+ {Intrinsic::hexagon_V6_vrmpyubv, 44837}, // __builtin_HEXAGON_V6_vrmpyubv
+ {Intrinsic::hexagon_V6_vrmpyubv_128B, 44867}, // __builtin_HEXAGON_V6_vrmpyubv_128B
+ {Intrinsic::hexagon_V6_vrmpyubv_acc, 44902}, // __builtin_HEXAGON_V6_vrmpyubv_acc
+ {Intrinsic::hexagon_V6_vrmpyubv_acc_128B, 44936}, // __builtin_HEXAGON_V6_vrmpyubv_acc_128B
+ {Intrinsic::hexagon_V6_vror, 44975}, // __builtin_HEXAGON_V6_vror
+ {Intrinsic::hexagon_V6_vror_128B, 45001}, // __builtin_HEXAGON_V6_vror_128B
+ {Intrinsic::hexagon_V6_vroundhb, 45032}, // __builtin_HEXAGON_V6_vroundhb
+ {Intrinsic::hexagon_V6_vroundhb_128B, 45062}, // __builtin_HEXAGON_V6_vroundhb_128B
+ {Intrinsic::hexagon_V6_vroundhub, 45097}, // __builtin_HEXAGON_V6_vroundhub
+ {Intrinsic::hexagon_V6_vroundhub_128B, 45128}, // __builtin_HEXAGON_V6_vroundhub_128B
+ {Intrinsic::hexagon_V6_vroundwh, 45164}, // __builtin_HEXAGON_V6_vroundwh
+ {Intrinsic::hexagon_V6_vroundwh_128B, 45194}, // __builtin_HEXAGON_V6_vroundwh_128B
+ {Intrinsic::hexagon_V6_vroundwuh, 45229}, // __builtin_HEXAGON_V6_vroundwuh
+ {Intrinsic::hexagon_V6_vroundwuh_128B, 45260}, // __builtin_HEXAGON_V6_vroundwuh_128B
+ {Intrinsic::hexagon_V6_vrsadubi, 45296}, // __builtin_HEXAGON_V6_vrsadubi
+ {Intrinsic::hexagon_V6_vrsadubi_128B, 45326}, // __builtin_HEXAGON_V6_vrsadubi_128B
+ {Intrinsic::hexagon_V6_vrsadubi_acc, 45361}, // __builtin_HEXAGON_V6_vrsadubi_acc
+ {Intrinsic::hexagon_V6_vrsadubi_acc_128B, 45395}, // __builtin_HEXAGON_V6_vrsadubi_acc_128B
+ {Intrinsic::hexagon_V6_vsathub, 45434}, // __builtin_HEXAGON_V6_vsathub
+ {Intrinsic::hexagon_V6_vsathub_128B, 45463}, // __builtin_HEXAGON_V6_vsathub_128B
+ {Intrinsic::hexagon_V6_vsatwh, 45497}, // __builtin_HEXAGON_V6_vsatwh
+ {Intrinsic::hexagon_V6_vsatwh_128B, 45525}, // __builtin_HEXAGON_V6_vsatwh_128B
+ {Intrinsic::hexagon_V6_vsb, 45558}, // __builtin_HEXAGON_V6_vsb
+ {Intrinsic::hexagon_V6_vsb_128B, 45583}, // __builtin_HEXAGON_V6_vsb_128B
+ {Intrinsic::hexagon_V6_vsh, 45613}, // __builtin_HEXAGON_V6_vsh
+ {Intrinsic::hexagon_V6_vsh_128B, 45638}, // __builtin_HEXAGON_V6_vsh_128B
+ {Intrinsic::hexagon_V6_vshufeh, 45668}, // __builtin_HEXAGON_V6_vshufeh
+ {Intrinsic::hexagon_V6_vshufeh_128B, 45697}, // __builtin_HEXAGON_V6_vshufeh_128B
+ {Intrinsic::hexagon_V6_vshuffb, 45731}, // __builtin_HEXAGON_V6_vshuffb
+ {Intrinsic::hexagon_V6_vshuffb_128B, 45760}, // __builtin_HEXAGON_V6_vshuffb_128B
+ {Intrinsic::hexagon_V6_vshuffeb, 45794}, // __builtin_HEXAGON_V6_vshuffeb
+ {Intrinsic::hexagon_V6_vshuffeb_128B, 45824}, // __builtin_HEXAGON_V6_vshuffeb_128B
+ {Intrinsic::hexagon_V6_vshuffh, 45859}, // __builtin_HEXAGON_V6_vshuffh
+ {Intrinsic::hexagon_V6_vshuffh_128B, 45888}, // __builtin_HEXAGON_V6_vshuffh_128B
+ {Intrinsic::hexagon_V6_vshuffob, 45922}, // __builtin_HEXAGON_V6_vshuffob
+ {Intrinsic::hexagon_V6_vshuffob_128B, 45952}, // __builtin_HEXAGON_V6_vshuffob_128B
+ {Intrinsic::hexagon_V6_vshuffvdd, 45987}, // __builtin_HEXAGON_V6_vshuffvdd
+ {Intrinsic::hexagon_V6_vshuffvdd_128B, 46018}, // __builtin_HEXAGON_V6_vshuffvdd_128B
+ {Intrinsic::hexagon_V6_vshufoeb, 46054}, // __builtin_HEXAGON_V6_vshufoeb
+ {Intrinsic::hexagon_V6_vshufoeb_128B, 46084}, // __builtin_HEXAGON_V6_vshufoeb_128B
+ {Intrinsic::hexagon_V6_vshufoeh, 46119}, // __builtin_HEXAGON_V6_vshufoeh
+ {Intrinsic::hexagon_V6_vshufoeh_128B, 46149}, // __builtin_HEXAGON_V6_vshufoeh_128B
+ {Intrinsic::hexagon_V6_vshufoh, 46184}, // __builtin_HEXAGON_V6_vshufoh
+ {Intrinsic::hexagon_V6_vshufoh_128B, 46213}, // __builtin_HEXAGON_V6_vshufoh_128B
+ {Intrinsic::hexagon_V6_vsubb, 46247}, // __builtin_HEXAGON_V6_vsubb
+ {Intrinsic::hexagon_V6_vsubb_128B, 46274}, // __builtin_HEXAGON_V6_vsubb_128B
+ {Intrinsic::hexagon_V6_vsubb_dv, 46306}, // __builtin_HEXAGON_V6_vsubb_dv
+ {Intrinsic::hexagon_V6_vsubb_dv_128B, 46336}, // __builtin_HEXAGON_V6_vsubb_dv_128B
+ {Intrinsic::hexagon_V6_vsubbnq, 46371}, // __builtin_HEXAGON_V6_vsubbnq
+ {Intrinsic::hexagon_V6_vsubbnq_128B, 46400}, // __builtin_HEXAGON_V6_vsubbnq_128B
+ {Intrinsic::hexagon_V6_vsubbq, 46434}, // __builtin_HEXAGON_V6_vsubbq
+ {Intrinsic::hexagon_V6_vsubbq_128B, 46462}, // __builtin_HEXAGON_V6_vsubbq_128B
+ {Intrinsic::hexagon_V6_vsubh, 46495}, // __builtin_HEXAGON_V6_vsubh
+ {Intrinsic::hexagon_V6_vsubh_128B, 46522}, // __builtin_HEXAGON_V6_vsubh_128B
+ {Intrinsic::hexagon_V6_vsubh_dv, 46554}, // __builtin_HEXAGON_V6_vsubh_dv
+ {Intrinsic::hexagon_V6_vsubh_dv_128B, 46584}, // __builtin_HEXAGON_V6_vsubh_dv_128B
+ {Intrinsic::hexagon_V6_vsubhnq, 46619}, // __builtin_HEXAGON_V6_vsubhnq
+ {Intrinsic::hexagon_V6_vsubhnq_128B, 46648}, // __builtin_HEXAGON_V6_vsubhnq_128B
+ {Intrinsic::hexagon_V6_vsubhq, 46682}, // __builtin_HEXAGON_V6_vsubhq
+ {Intrinsic::hexagon_V6_vsubhq_128B, 46710}, // __builtin_HEXAGON_V6_vsubhq_128B
+ {Intrinsic::hexagon_V6_vsubhsat, 46743}, // __builtin_HEXAGON_V6_vsubhsat
+ {Intrinsic::hexagon_V6_vsubhsat_128B, 46773}, // __builtin_HEXAGON_V6_vsubhsat_128B
+ {Intrinsic::hexagon_V6_vsubhsat_dv, 46808}, // __builtin_HEXAGON_V6_vsubhsat_dv
+ {Intrinsic::hexagon_V6_vsubhsat_dv_128B, 46841}, // __builtin_HEXAGON_V6_vsubhsat_dv_128B
+ {Intrinsic::hexagon_V6_vsubhw, 46879}, // __builtin_HEXAGON_V6_vsubhw
+ {Intrinsic::hexagon_V6_vsubhw_128B, 46907}, // __builtin_HEXAGON_V6_vsubhw_128B
+ {Intrinsic::hexagon_V6_vsububh, 46940}, // __builtin_HEXAGON_V6_vsububh
+ {Intrinsic::hexagon_V6_vsububh_128B, 46969}, // __builtin_HEXAGON_V6_vsububh_128B
+ {Intrinsic::hexagon_V6_vsububsat, 47003}, // __builtin_HEXAGON_V6_vsububsat
+ {Intrinsic::hexagon_V6_vsububsat_128B, 47034}, // __builtin_HEXAGON_V6_vsububsat_128B
+ {Intrinsic::hexagon_V6_vsububsat_dv, 47070}, // __builtin_HEXAGON_V6_vsububsat_dv
+ {Intrinsic::hexagon_V6_vsububsat_dv_128B, 47104}, // __builtin_HEXAGON_V6_vsububsat_dv_128B
+ {Intrinsic::hexagon_V6_vsubuhsat, 47143}, // __builtin_HEXAGON_V6_vsubuhsat
+ {Intrinsic::hexagon_V6_vsubuhsat_128B, 47174}, // __builtin_HEXAGON_V6_vsubuhsat_128B
+ {Intrinsic::hexagon_V6_vsubuhsat_dv, 47210}, // __builtin_HEXAGON_V6_vsubuhsat_dv
+ {Intrinsic::hexagon_V6_vsubuhsat_dv_128B, 47244}, // __builtin_HEXAGON_V6_vsubuhsat_dv_128B
+ {Intrinsic::hexagon_V6_vsubuhw, 47283}, // __builtin_HEXAGON_V6_vsubuhw
+ {Intrinsic::hexagon_V6_vsubuhw_128B, 47312}, // __builtin_HEXAGON_V6_vsubuhw_128B
+ {Intrinsic::hexagon_V6_vsubw, 47346}, // __builtin_HEXAGON_V6_vsubw
+ {Intrinsic::hexagon_V6_vsubw_128B, 47373}, // __builtin_HEXAGON_V6_vsubw_128B
+ {Intrinsic::hexagon_V6_vsubw_dv, 47405}, // __builtin_HEXAGON_V6_vsubw_dv
+ {Intrinsic::hexagon_V6_vsubw_dv_128B, 47435}, // __builtin_HEXAGON_V6_vsubw_dv_128B
+ {Intrinsic::hexagon_V6_vsubwnq, 47470}, // __builtin_HEXAGON_V6_vsubwnq
+ {Intrinsic::hexagon_V6_vsubwnq_128B, 47499}, // __builtin_HEXAGON_V6_vsubwnq_128B
+ {Intrinsic::hexagon_V6_vsubwq, 47533}, // __builtin_HEXAGON_V6_vsubwq
+ {Intrinsic::hexagon_V6_vsubwq_128B, 47561}, // __builtin_HEXAGON_V6_vsubwq_128B
+ {Intrinsic::hexagon_V6_vsubwsat, 47594}, // __builtin_HEXAGON_V6_vsubwsat
+ {Intrinsic::hexagon_V6_vsubwsat_128B, 47624}, // __builtin_HEXAGON_V6_vsubwsat_128B
+ {Intrinsic::hexagon_V6_vsubwsat_dv, 47659}, // __builtin_HEXAGON_V6_vsubwsat_dv
+ {Intrinsic::hexagon_V6_vsubwsat_dv_128B, 47692}, // __builtin_HEXAGON_V6_vsubwsat_dv_128B
+ {Intrinsic::hexagon_V6_vswap, 47730}, // __builtin_HEXAGON_V6_vswap
+ {Intrinsic::hexagon_V6_vswap_128B, 47757}, // __builtin_HEXAGON_V6_vswap_128B
+ {Intrinsic::hexagon_V6_vtmpyb, 47789}, // __builtin_HEXAGON_V6_vtmpyb
+ {Intrinsic::hexagon_V6_vtmpyb_128B, 47817}, // __builtin_HEXAGON_V6_vtmpyb_128B
+ {Intrinsic::hexagon_V6_vtmpyb_acc, 47850}, // __builtin_HEXAGON_V6_vtmpyb_acc
+ {Intrinsic::hexagon_V6_vtmpyb_acc_128B, 47882}, // __builtin_HEXAGON_V6_vtmpyb_acc_128B
+ {Intrinsic::hexagon_V6_vtmpybus, 47919}, // __builtin_HEXAGON_V6_vtmpybus
+ {Intrinsic::hexagon_V6_vtmpybus_128B, 47949}, // __builtin_HEXAGON_V6_vtmpybus_128B
+ {Intrinsic::hexagon_V6_vtmpybus_acc, 47984}, // __builtin_HEXAGON_V6_vtmpybus_acc
+ {Intrinsic::hexagon_V6_vtmpybus_acc_128B, 48018}, // __builtin_HEXAGON_V6_vtmpybus_acc_128B
+ {Intrinsic::hexagon_V6_vtmpyhb, 48057}, // __builtin_HEXAGON_V6_vtmpyhb
+ {Intrinsic::hexagon_V6_vtmpyhb_128B, 48086}, // __builtin_HEXAGON_V6_vtmpyhb_128B
+ {Intrinsic::hexagon_V6_vtmpyhb_acc, 48120}, // __builtin_HEXAGON_V6_vtmpyhb_acc
+ {Intrinsic::hexagon_V6_vtmpyhb_acc_128B, 48153}, // __builtin_HEXAGON_V6_vtmpyhb_acc_128B
+ {Intrinsic::hexagon_V6_vunpackb, 48191}, // __builtin_HEXAGON_V6_vunpackb
+ {Intrinsic::hexagon_V6_vunpackb_128B, 48221}, // __builtin_HEXAGON_V6_vunpackb_128B
+ {Intrinsic::hexagon_V6_vunpackh, 48256}, // __builtin_HEXAGON_V6_vunpackh
+ {Intrinsic::hexagon_V6_vunpackh_128B, 48286}, // __builtin_HEXAGON_V6_vunpackh_128B
+ {Intrinsic::hexagon_V6_vunpackob, 48321}, // __builtin_HEXAGON_V6_vunpackob
+ {Intrinsic::hexagon_V6_vunpackob_128B, 48352}, // __builtin_HEXAGON_V6_vunpackob_128B
+ {Intrinsic::hexagon_V6_vunpackoh, 48388}, // __builtin_HEXAGON_V6_vunpackoh
+ {Intrinsic::hexagon_V6_vunpackoh_128B, 48419}, // __builtin_HEXAGON_V6_vunpackoh_128B
+ {Intrinsic::hexagon_V6_vunpackub, 48455}, // __builtin_HEXAGON_V6_vunpackub
+ {Intrinsic::hexagon_V6_vunpackub_128B, 48486}, // __builtin_HEXAGON_V6_vunpackub_128B
+ {Intrinsic::hexagon_V6_vunpackuh, 48522}, // __builtin_HEXAGON_V6_vunpackuh
+ {Intrinsic::hexagon_V6_vunpackuh_128B, 48553}, // __builtin_HEXAGON_V6_vunpackuh_128B
+ {Intrinsic::hexagon_V6_vxor, 48589}, // __builtin_HEXAGON_V6_vxor
+ {Intrinsic::hexagon_V6_vxor_128B, 48615}, // __builtin_HEXAGON_V6_vxor_128B
+ {Intrinsic::hexagon_V6_vzb, 48646}, // __builtin_HEXAGON_V6_vzb
+ {Intrinsic::hexagon_V6_vzb_128B, 48671}, // __builtin_HEXAGON_V6_vzb_128B
+ {Intrinsic::hexagon_V6_vzh, 48701}, // __builtin_HEXAGON_V6_vzh
+ {Intrinsic::hexagon_V6_vzh_128B, 48726}, // __builtin_HEXAGON_V6_vzh_128B
+ {Intrinsic::hexagon_prefetch, 49206}, // __builtin_HEXAGON_prefetch
+ {Intrinsic::hexagon_SI_to_SXTHI_asrh, 29057}, // __builtin_SI_to_SXTHI_asrh
+ {Intrinsic::hexagon_mm256i_vaddw, 49182}, // __builtin__mm256i_vaddw
+ {Intrinsic::hexagon_brev_ldb, 48756}, // __builtin_brev_ldb
+ {Intrinsic::hexagon_brev_ldd, 48775}, // __builtin_brev_ldd
+ {Intrinsic::hexagon_brev_ldh, 48794}, // __builtin_brev_ldh
+ {Intrinsic::hexagon_brev_ldub, 48813}, // __builtin_brev_ldub
+ {Intrinsic::hexagon_brev_lduh, 48833}, // __builtin_brev_lduh
+ {Intrinsic::hexagon_brev_ldw, 48853}, // __builtin_brev_ldw
+ {Intrinsic::hexagon_brev_stb, 48872}, // __builtin_brev_stb
+ {Intrinsic::hexagon_brev_std, 48891}, // __builtin_brev_std
+ {Intrinsic::hexagon_brev_sth, 48910}, // __builtin_brev_sth
+ {Intrinsic::hexagon_brev_sthhi, 48929}, // __builtin_brev_sthhi
+ {Intrinsic::hexagon_brev_stw, 48950}, // __builtin_brev_stw
+ {Intrinsic::hexagon_circ_ldb, 48969}, // __builtin_circ_ldb
+ {Intrinsic::hexagon_circ_ldd, 48988}, // __builtin_circ_ldd
+ {Intrinsic::hexagon_circ_ldh, 49007}, // __builtin_circ_ldh
+ {Intrinsic::hexagon_circ_ldub, 49026}, // __builtin_circ_ldub
+ {Intrinsic::hexagon_circ_lduh, 49046}, // __builtin_circ_lduh
+ {Intrinsic::hexagon_circ_ldw, 49066}, // __builtin_circ_ldw
+ {Intrinsic::hexagon_circ_stb, 49085}, // __builtin_circ_stb
+ {Intrinsic::hexagon_circ_std, 49104}, // __builtin_circ_std
+ {Intrinsic::hexagon_circ_sth, 49123}, // __builtin_circ_sth
+ {Intrinsic::hexagon_circ_sthhi, 49142}, // __builtin_circ_sthhi
+ {Intrinsic::hexagon_circ_stw, 49163}, // __builtin_circ_stw
+ };
+ auto I = std::lower_bound(std::begin(hexagonNames),
+ std::end(hexagonNames),
+ BuiltinNameStr);
+ if (I != std::end(hexagonNames) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ if (TargetPrefix == "mips") {
+ static const BuiltinEntry mipsNames[] = {
+ {Intrinsic::mips_absq_s_ph, 49233}, // __builtin_mips_absq_s_ph
+ {Intrinsic::mips_absq_s_qb, 49258}, // __builtin_mips_absq_s_qb
+ {Intrinsic::mips_absq_s_w, 49283}, // __builtin_mips_absq_s_w
+ {Intrinsic::mips_addq_ph, 49395}, // __builtin_mips_addq_ph
+ {Intrinsic::mips_addq_s_ph, 49418}, // __builtin_mips_addq_s_ph
+ {Intrinsic::mips_addq_s_w, 49443}, // __builtin_mips_addq_s_w
+ {Intrinsic::mips_addqh_ph, 49467}, // __builtin_mips_addqh_ph
+ {Intrinsic::mips_addqh_r_ph, 49491}, // __builtin_mips_addqh_r_ph
+ {Intrinsic::mips_addqh_r_w, 49517}, // __builtin_mips_addqh_r_w
+ {Intrinsic::mips_addqh_w, 49542}, // __builtin_mips_addqh_w
+ {Intrinsic::mips_addsc, 49841}, // __builtin_mips_addsc
+ {Intrinsic::mips_addu_ph, 49862}, // __builtin_mips_addu_ph
+ {Intrinsic::mips_addu_qb, 49885}, // __builtin_mips_addu_qb
+ {Intrinsic::mips_addu_s_ph, 49908}, // __builtin_mips_addu_s_ph
+ {Intrinsic::mips_addu_s_qb, 49933}, // __builtin_mips_addu_s_qb
+ {Intrinsic::mips_adduh_qb, 49958}, // __builtin_mips_adduh_qb
+ {Intrinsic::mips_adduh_r_qb, 49982}, // __builtin_mips_adduh_r_qb
+ {Intrinsic::mips_addwc, 50180}, // __builtin_mips_addwc
+ {Intrinsic::mips_append, 50242}, // __builtin_mips_append
+ {Intrinsic::mips_balign, 50808}, // __builtin_mips_balign
+ {Intrinsic::mips_bitrev, 51362}, // __builtin_mips_bitrev
+ {Intrinsic::mips_bposge32, 51740}, // __builtin_mips_bposge32
+ {Intrinsic::mips_cmp_eq_ph, 52979}, // __builtin_mips_cmp_eq_ph
+ {Intrinsic::mips_cmp_le_ph, 53004}, // __builtin_mips_cmp_le_ph
+ {Intrinsic::mips_cmp_lt_ph, 53029}, // __builtin_mips_cmp_lt_ph
+ {Intrinsic::mips_cmpgdu_eq_qb, 53054}, // __builtin_mips_cmpgdu_eq_qb
+ {Intrinsic::mips_cmpgdu_le_qb, 53082}, // __builtin_mips_cmpgdu_le_qb
+ {Intrinsic::mips_cmpgdu_lt_qb, 53110}, // __builtin_mips_cmpgdu_lt_qb
+ {Intrinsic::mips_cmpgu_eq_qb, 53138}, // __builtin_mips_cmpgu_eq_qb
+ {Intrinsic::mips_cmpgu_le_qb, 53165}, // __builtin_mips_cmpgu_le_qb
+ {Intrinsic::mips_cmpgu_lt_qb, 53192}, // __builtin_mips_cmpgu_lt_qb
+ {Intrinsic::mips_cmpu_eq_qb, 53219}, // __builtin_mips_cmpu_eq_qb
+ {Intrinsic::mips_cmpu_le_qb, 53245}, // __builtin_mips_cmpu_le_qb
+ {Intrinsic::mips_cmpu_lt_qb, 53271}, // __builtin_mips_cmpu_lt_qb
+ {Intrinsic::mips_dlsa, 53678}, // __builtin_mips_dlsa
+ {Intrinsic::mips_dpa_w_ph, 53836}, // __builtin_mips_dpa_w_ph
+ {Intrinsic::mips_dpaq_s_w_ph, 54004}, // __builtin_mips_dpaq_s_w_ph
+ {Intrinsic::mips_dpaq_sa_l_w, 54031}, // __builtin_mips_dpaq_sa_l_w
+ {Intrinsic::mips_dpaqx_s_w_ph, 54058}, // __builtin_mips_dpaqx_s_w_ph
+ {Intrinsic::mips_dpaqx_sa_w_ph, 54086}, // __builtin_mips_dpaqx_sa_w_ph
+ {Intrinsic::mips_dpau_h_qbl, 54115}, // __builtin_mips_dpau_h_qbl
+ {Intrinsic::mips_dpau_h_qbr, 54141}, // __builtin_mips_dpau_h_qbr
+ {Intrinsic::mips_dpax_w_ph, 54167}, // __builtin_mips_dpax_w_ph
+ {Intrinsic::mips_dps_w_ph, 54192}, // __builtin_mips_dps_w_ph
+ {Intrinsic::mips_dpsq_s_w_ph, 54216}, // __builtin_mips_dpsq_s_w_ph
+ {Intrinsic::mips_dpsq_sa_l_w, 54243}, // __builtin_mips_dpsq_sa_l_w
+ {Intrinsic::mips_dpsqx_s_w_ph, 54270}, // __builtin_mips_dpsqx_s_w_ph
+ {Intrinsic::mips_dpsqx_sa_w_ph, 54298}, // __builtin_mips_dpsqx_sa_w_ph
+ {Intrinsic::mips_dpsu_h_qbl, 54327}, // __builtin_mips_dpsu_h_qbl
+ {Intrinsic::mips_dpsu_h_qbr, 54353}, // __builtin_mips_dpsu_h_qbr
+ {Intrinsic::mips_dpsx_w_ph, 54523}, // __builtin_mips_dpsx_w_ph
+ {Intrinsic::mips_extp, 54548}, // __builtin_mips_extp
+ {Intrinsic::mips_extpdp, 54568}, // __builtin_mips_extpdp
+ {Intrinsic::mips_extr_r_w, 54590}, // __builtin_mips_extr_r_w
+ {Intrinsic::mips_extr_rs_w, 54614}, // __builtin_mips_extr_rs_w
+ {Intrinsic::mips_extr_s_h, 54639}, // __builtin_mips_extr_s_h
+ {Intrinsic::mips_extr_w, 54663}, // __builtin_mips_extr_w
+ {Intrinsic::mips_insv, 57715}, // __builtin_mips_insv
+ {Intrinsic::mips_lbux, 57823}, // __builtin_mips_lbux
+ {Intrinsic::mips_lhx, 57999}, // __builtin_mips_lhx
+ {Intrinsic::mips_lsa, 58018}, // __builtin_mips_lsa
+ {Intrinsic::mips_lwx, 58037}, // __builtin_mips_lwx
+ {Intrinsic::mips_madd, 58056}, // __builtin_mips_madd
+ {Intrinsic::mips_maddu, 58170}, // __builtin_mips_maddu
+ {Intrinsic::mips_maq_s_w_phl, 58279}, // __builtin_mips_maq_s_w_phl
+ {Intrinsic::mips_maq_s_w_phr, 58306}, // __builtin_mips_maq_s_w_phr
+ {Intrinsic::mips_maq_sa_w_phl, 58333}, // __builtin_mips_maq_sa_w_phl
+ {Intrinsic::mips_maq_sa_w_phr, 58361}, // __builtin_mips_maq_sa_w_phr
+ {Intrinsic::mips_modsub, 59461}, // __builtin_mips_modsub
+ {Intrinsic::mips_msub, 59504}, // __builtin_mips_msub
+ {Intrinsic::mips_msubu, 59618}, // __builtin_mips_msubu
+ {Intrinsic::mips_mthlip, 59727}, // __builtin_mips_mthlip
+ {Intrinsic::mips_mul_ph, 59749}, // __builtin_mips_mul_ph
+ {Intrinsic::mips_mul_s_ph, 59815}, // __builtin_mips_mul_s_ph
+ {Intrinsic::mips_muleq_s_w_phl, 59839}, // __builtin_mips_muleq_s_w_phl
+ {Intrinsic::mips_muleq_s_w_phr, 59868}, // __builtin_mips_muleq_s_w_phr
+ {Intrinsic::mips_muleu_s_ph_qbl, 59897}, // __builtin_mips_muleu_s_ph_qbl
+ {Intrinsic::mips_muleu_s_ph_qbr, 59927}, // __builtin_mips_muleu_s_ph_qbr
+ {Intrinsic::mips_mulq_rs_ph, 59957}, // __builtin_mips_mulq_rs_ph
+ {Intrinsic::mips_mulq_rs_w, 59983}, // __builtin_mips_mulq_rs_w
+ {Intrinsic::mips_mulq_s_ph, 60008}, // __builtin_mips_mulq_s_ph
+ {Intrinsic::mips_mulq_s_w, 60033}, // __builtin_mips_mulq_s_w
+ {Intrinsic::mips_mulsa_w_ph, 60103}, // __builtin_mips_mulsa_w_ph
+ {Intrinsic::mips_mulsaq_s_w_ph, 60129}, // __builtin_mips_mulsaq_s_w_ph
+ {Intrinsic::mips_mult, 60158}, // __builtin_mips_mult
+ {Intrinsic::mips_multu, 60178}, // __builtin_mips_multu
+ {Intrinsic::mips_packrl_ph, 60531}, // __builtin_mips_packrl_ph
+ {Intrinsic::mips_pick_ph, 60816}, // __builtin_mips_pick_ph
+ {Intrinsic::mips_pick_qb, 60839}, // __builtin_mips_pick_qb
+ {Intrinsic::mips_preceq_w_phl, 60862}, // __builtin_mips_preceq_w_phl
+ {Intrinsic::mips_preceq_w_phr, 60890}, // __builtin_mips_preceq_w_phr
+ {Intrinsic::mips_precequ_ph_qbl, 60918}, // __builtin_mips_precequ_ph_qbl
+ {Intrinsic::mips_precequ_ph_qbla, 60948}, // __builtin_mips_precequ_ph_qbla
+ {Intrinsic::mips_precequ_ph_qbr, 60979}, // __builtin_mips_precequ_ph_qbr
+ {Intrinsic::mips_precequ_ph_qbra, 61009}, // __builtin_mips_precequ_ph_qbra
+ {Intrinsic::mips_preceu_ph_qbl, 61040}, // __builtin_mips_preceu_ph_qbl
+ {Intrinsic::mips_preceu_ph_qbla, 61069}, // __builtin_mips_preceu_ph_qbla
+ {Intrinsic::mips_preceu_ph_qbr, 61099}, // __builtin_mips_preceu_ph_qbr
+ {Intrinsic::mips_preceu_ph_qbra, 61128}, // __builtin_mips_preceu_ph_qbra
+ {Intrinsic::mips_precr_qb_ph, 61158}, // __builtin_mips_precr_qb_ph
+ {Intrinsic::mips_precr_sra_ph_w, 61185}, // __builtin_mips_precr_sra_ph_w
+ {Intrinsic::mips_precr_sra_r_ph_w, 61215}, // __builtin_mips_precr_sra_r_ph_w
+ {Intrinsic::mips_precrq_ph_w, 61247}, // __builtin_mips_precrq_ph_w
+ {Intrinsic::mips_precrq_qb_ph, 61274}, // __builtin_mips_precrq_qb_ph
+ {Intrinsic::mips_precrq_rs_ph_w, 61302}, // __builtin_mips_precrq_rs_ph_w
+ {Intrinsic::mips_precrqu_s_qb_ph, 61332}, // __builtin_mips_precrqu_s_qb_ph
+ {Intrinsic::mips_prepend, 61363}, // __builtin_mips_prepend
+ {Intrinsic::mips_raddu_w_qb, 61386}, // __builtin_mips_raddu_w_qb
+ {Intrinsic::mips_rddsp, 61412}, // __builtin_mips_rddsp
+ {Intrinsic::mips_repl_ph, 61433}, // __builtin_mips_repl_ph
+ {Intrinsic::mips_repl_qb, 61456}, // __builtin_mips_repl_qb
+ {Intrinsic::mips_shilo, 61715}, // __builtin_mips_shilo
+ {Intrinsic::mips_shll_ph, 61736}, // __builtin_mips_shll_ph
+ {Intrinsic::mips_shll_qb, 61759}, // __builtin_mips_shll_qb
+ {Intrinsic::mips_shll_s_ph, 61782}, // __builtin_mips_shll_s_ph
+ {Intrinsic::mips_shll_s_w, 61807}, // __builtin_mips_shll_s_w
+ {Intrinsic::mips_shra_ph, 61831}, // __builtin_mips_shra_ph
+ {Intrinsic::mips_shra_qb, 61854}, // __builtin_mips_shra_qb
+ {Intrinsic::mips_shra_r_ph, 61877}, // __builtin_mips_shra_r_ph
+ {Intrinsic::mips_shra_r_qb, 61902}, // __builtin_mips_shra_r_qb
+ {Intrinsic::mips_shra_r_w, 61927}, // __builtin_mips_shra_r_w
+ {Intrinsic::mips_shrl_ph, 61951}, // __builtin_mips_shrl_ph
+ {Intrinsic::mips_shrl_qb, 61974}, // __builtin_mips_shrl_qb
+ {Intrinsic::mips_subq_ph, 63253}, // __builtin_mips_subq_ph
+ {Intrinsic::mips_subq_s_ph, 63276}, // __builtin_mips_subq_s_ph
+ {Intrinsic::mips_subq_s_w, 63301}, // __builtin_mips_subq_s_w
+ {Intrinsic::mips_subqh_ph, 63325}, // __builtin_mips_subqh_ph
+ {Intrinsic::mips_subqh_r_ph, 63349}, // __builtin_mips_subqh_r_ph
+ {Intrinsic::mips_subqh_r_w, 63375}, // __builtin_mips_subqh_r_w
+ {Intrinsic::mips_subqh_w, 63400}, // __builtin_mips_subqh_w
+ {Intrinsic::mips_subu_ph, 63807}, // __builtin_mips_subu_ph
+ {Intrinsic::mips_subu_qb, 63830}, // __builtin_mips_subu_qb
+ {Intrinsic::mips_subu_s_ph, 63853}, // __builtin_mips_subu_s_ph
+ {Intrinsic::mips_subu_s_qb, 63878}, // __builtin_mips_subu_s_qb
+ {Intrinsic::mips_subuh_qb, 63903}, // __builtin_mips_subuh_qb
+ {Intrinsic::mips_subuh_r_qb, 63927}, // __builtin_mips_subuh_r_qb
+ {Intrinsic::mips_wrdsp, 64209}, // __builtin_mips_wrdsp
+ {Intrinsic::mips_add_a_b, 49307}, // __builtin_msa_add_a_b
+ {Intrinsic::mips_add_a_d, 49329}, // __builtin_msa_add_a_d
+ {Intrinsic::mips_add_a_h, 49351}, // __builtin_msa_add_a_h
+ {Intrinsic::mips_add_a_w, 49373}, // __builtin_msa_add_a_w
+ {Intrinsic::mips_adds_a_b, 49565}, // __builtin_msa_adds_a_b
+ {Intrinsic::mips_adds_a_d, 49588}, // __builtin_msa_adds_a_d
+ {Intrinsic::mips_adds_a_h, 49611}, // __builtin_msa_adds_a_h
+ {Intrinsic::mips_adds_a_w, 49634}, // __builtin_msa_adds_a_w
+ {Intrinsic::mips_adds_s_b, 49657}, // __builtin_msa_adds_s_b
+ {Intrinsic::mips_adds_s_d, 49680}, // __builtin_msa_adds_s_d
+ {Intrinsic::mips_adds_s_h, 49703}, // __builtin_msa_adds_s_h
+ {Intrinsic::mips_adds_s_w, 49726}, // __builtin_msa_adds_s_w
+ {Intrinsic::mips_adds_u_b, 49749}, // __builtin_msa_adds_u_b
+ {Intrinsic::mips_adds_u_d, 49772}, // __builtin_msa_adds_u_d
+ {Intrinsic::mips_adds_u_h, 49795}, // __builtin_msa_adds_u_h
+ {Intrinsic::mips_adds_u_w, 49818}, // __builtin_msa_adds_u_w
+ {Intrinsic::mips_addv_b, 50008}, // __builtin_msa_addv_b
+ {Intrinsic::mips_addv_d, 50029}, // __builtin_msa_addv_d
+ {Intrinsic::mips_addv_h, 50050}, // __builtin_msa_addv_h
+ {Intrinsic::mips_addv_w, 50071}, // __builtin_msa_addv_w
+ {Intrinsic::mips_addvi_b, 50092}, // __builtin_msa_addvi_b
+ {Intrinsic::mips_addvi_d, 50114}, // __builtin_msa_addvi_d
+ {Intrinsic::mips_addvi_h, 50136}, // __builtin_msa_addvi_h
+ {Intrinsic::mips_addvi_w, 50158}, // __builtin_msa_addvi_w
+ {Intrinsic::mips_and_v, 50201}, // __builtin_msa_and_v
+ {Intrinsic::mips_andi_b, 50221}, // __builtin_msa_andi_b
+ {Intrinsic::mips_asub_s_b, 50264}, // __builtin_msa_asub_s_b
+ {Intrinsic::mips_asub_s_d, 50287}, // __builtin_msa_asub_s_d
+ {Intrinsic::mips_asub_s_h, 50310}, // __builtin_msa_asub_s_h
+ {Intrinsic::mips_asub_s_w, 50333}, // __builtin_msa_asub_s_w
+ {Intrinsic::mips_asub_u_b, 50356}, // __builtin_msa_asub_u_b
+ {Intrinsic::mips_asub_u_d, 50379}, // __builtin_msa_asub_u_d
+ {Intrinsic::mips_asub_u_h, 50402}, // __builtin_msa_asub_u_h
+ {Intrinsic::mips_asub_u_w, 50425}, // __builtin_msa_asub_u_w
+ {Intrinsic::mips_ave_s_b, 50448}, // __builtin_msa_ave_s_b
+ {Intrinsic::mips_ave_s_d, 50470}, // __builtin_msa_ave_s_d
+ {Intrinsic::mips_ave_s_h, 50492}, // __builtin_msa_ave_s_h
+ {Intrinsic::mips_ave_s_w, 50514}, // __builtin_msa_ave_s_w
+ {Intrinsic::mips_ave_u_b, 50536}, // __builtin_msa_ave_u_b
+ {Intrinsic::mips_ave_u_d, 50558}, // __builtin_msa_ave_u_d
+ {Intrinsic::mips_ave_u_h, 50580}, // __builtin_msa_ave_u_h
+ {Intrinsic::mips_ave_u_w, 50602}, // __builtin_msa_ave_u_w
+ {Intrinsic::mips_aver_s_b, 50624}, // __builtin_msa_aver_s_b
+ {Intrinsic::mips_aver_s_d, 50647}, // __builtin_msa_aver_s_d
+ {Intrinsic::mips_aver_s_h, 50670}, // __builtin_msa_aver_s_h
+ {Intrinsic::mips_aver_s_w, 50693}, // __builtin_msa_aver_s_w
+ {Intrinsic::mips_aver_u_b, 50716}, // __builtin_msa_aver_u_b
+ {Intrinsic::mips_aver_u_d, 50739}, // __builtin_msa_aver_u_d
+ {Intrinsic::mips_aver_u_h, 50762}, // __builtin_msa_aver_u_h
+ {Intrinsic::mips_aver_u_w, 50785}, // __builtin_msa_aver_u_w
+ {Intrinsic::mips_bclr_b, 50830}, // __builtin_msa_bclr_b
+ {Intrinsic::mips_bclr_d, 50851}, // __builtin_msa_bclr_d
+ {Intrinsic::mips_bclr_h, 50872}, // __builtin_msa_bclr_h
+ {Intrinsic::mips_bclr_w, 50893}, // __builtin_msa_bclr_w
+ {Intrinsic::mips_bclri_b, 50914}, // __builtin_msa_bclri_b
+ {Intrinsic::mips_bclri_d, 50936}, // __builtin_msa_bclri_d
+ {Intrinsic::mips_bclri_h, 50958}, // __builtin_msa_bclri_h
+ {Intrinsic::mips_bclri_w, 50980}, // __builtin_msa_bclri_w
+ {Intrinsic::mips_binsl_b, 51002}, // __builtin_msa_binsl_b
+ {Intrinsic::mips_binsl_d, 51024}, // __builtin_msa_binsl_d
+ {Intrinsic::mips_binsl_h, 51046}, // __builtin_msa_binsl_h
+ {Intrinsic::mips_binsl_w, 51068}, // __builtin_msa_binsl_w
+ {Intrinsic::mips_binsli_b, 51090}, // __builtin_msa_binsli_b
+ {Intrinsic::mips_binsli_d, 51113}, // __builtin_msa_binsli_d
+ {Intrinsic::mips_binsli_h, 51136}, // __builtin_msa_binsli_h
+ {Intrinsic::mips_binsli_w, 51159}, // __builtin_msa_binsli_w
+ {Intrinsic::mips_binsr_b, 51182}, // __builtin_msa_binsr_b
+ {Intrinsic::mips_binsr_d, 51204}, // __builtin_msa_binsr_d
+ {Intrinsic::mips_binsr_h, 51226}, // __builtin_msa_binsr_h
+ {Intrinsic::mips_binsr_w, 51248}, // __builtin_msa_binsr_w
+ {Intrinsic::mips_binsri_b, 51270}, // __builtin_msa_binsri_b
+ {Intrinsic::mips_binsri_d, 51293}, // __builtin_msa_binsri_d
+ {Intrinsic::mips_binsri_h, 51316}, // __builtin_msa_binsri_h
+ {Intrinsic::mips_binsri_w, 51339}, // __builtin_msa_binsri_w
+ {Intrinsic::mips_bmnz_v, 51384}, // __builtin_msa_bmnz_v
+ {Intrinsic::mips_bmnzi_b, 51405}, // __builtin_msa_bmnzi_b
+ {Intrinsic::mips_bmz_v, 51427}, // __builtin_msa_bmz_v
+ {Intrinsic::mips_bmzi_b, 51447}, // __builtin_msa_bmzi_b
+ {Intrinsic::mips_bneg_b, 51468}, // __builtin_msa_bneg_b
+ {Intrinsic::mips_bneg_d, 51489}, // __builtin_msa_bneg_d
+ {Intrinsic::mips_bneg_h, 51510}, // __builtin_msa_bneg_h
+ {Intrinsic::mips_bneg_w, 51531}, // __builtin_msa_bneg_w
+ {Intrinsic::mips_bnegi_b, 51552}, // __builtin_msa_bnegi_b
+ {Intrinsic::mips_bnegi_d, 51574}, // __builtin_msa_bnegi_d
+ {Intrinsic::mips_bnegi_h, 51596}, // __builtin_msa_bnegi_h
+ {Intrinsic::mips_bnegi_w, 51618}, // __builtin_msa_bnegi_w
+ {Intrinsic::mips_bnz_b, 51640}, // __builtin_msa_bnz_b
+ {Intrinsic::mips_bnz_d, 51660}, // __builtin_msa_bnz_d
+ {Intrinsic::mips_bnz_h, 51680}, // __builtin_msa_bnz_h
+ {Intrinsic::mips_bnz_v, 51700}, // __builtin_msa_bnz_v
+ {Intrinsic::mips_bnz_w, 51720}, // __builtin_msa_bnz_w
+ {Intrinsic::mips_bsel_v, 51764}, // __builtin_msa_bsel_v
+ {Intrinsic::mips_bseli_b, 51785}, // __builtin_msa_bseli_b
+ {Intrinsic::mips_bset_b, 51807}, // __builtin_msa_bset_b
+ {Intrinsic::mips_bset_d, 51828}, // __builtin_msa_bset_d
+ {Intrinsic::mips_bset_h, 51849}, // __builtin_msa_bset_h
+ {Intrinsic::mips_bset_w, 51870}, // __builtin_msa_bset_w
+ {Intrinsic::mips_bseti_b, 51891}, // __builtin_msa_bseti_b
+ {Intrinsic::mips_bseti_d, 51913}, // __builtin_msa_bseti_d
+ {Intrinsic::mips_bseti_h, 51935}, // __builtin_msa_bseti_h
+ {Intrinsic::mips_bseti_w, 51957}, // __builtin_msa_bseti_w
+ {Intrinsic::mips_bz_b, 51979}, // __builtin_msa_bz_b
+ {Intrinsic::mips_bz_d, 51998}, // __builtin_msa_bz_d
+ {Intrinsic::mips_bz_h, 52017}, // __builtin_msa_bz_h
+ {Intrinsic::mips_bz_v, 52036}, // __builtin_msa_bz_v
+ {Intrinsic::mips_bz_w, 52055}, // __builtin_msa_bz_w
+ {Intrinsic::mips_ceq_b, 52074}, // __builtin_msa_ceq_b
+ {Intrinsic::mips_ceq_d, 52094}, // __builtin_msa_ceq_d
+ {Intrinsic::mips_ceq_h, 52114}, // __builtin_msa_ceq_h
+ {Intrinsic::mips_ceq_w, 52134}, // __builtin_msa_ceq_w
+ {Intrinsic::mips_ceqi_b, 52154}, // __builtin_msa_ceqi_b
+ {Intrinsic::mips_ceqi_d, 52175}, // __builtin_msa_ceqi_d
+ {Intrinsic::mips_ceqi_h, 52196}, // __builtin_msa_ceqi_h
+ {Intrinsic::mips_ceqi_w, 52217}, // __builtin_msa_ceqi_w
+ {Intrinsic::mips_cfcmsa, 52238}, // __builtin_msa_cfcmsa
+ {Intrinsic::mips_cle_s_b, 52259}, // __builtin_msa_cle_s_b
+ {Intrinsic::mips_cle_s_d, 52281}, // __builtin_msa_cle_s_d
+ {Intrinsic::mips_cle_s_h, 52303}, // __builtin_msa_cle_s_h
+ {Intrinsic::mips_cle_s_w, 52325}, // __builtin_msa_cle_s_w
+ {Intrinsic::mips_cle_u_b, 52347}, // __builtin_msa_cle_u_b
+ {Intrinsic::mips_cle_u_d, 52369}, // __builtin_msa_cle_u_d
+ {Intrinsic::mips_cle_u_h, 52391}, // __builtin_msa_cle_u_h
+ {Intrinsic::mips_cle_u_w, 52413}, // __builtin_msa_cle_u_w
+ {Intrinsic::mips_clei_s_b, 52435}, // __builtin_msa_clei_s_b
+ {Intrinsic::mips_clei_s_d, 52458}, // __builtin_msa_clei_s_d
+ {Intrinsic::mips_clei_s_h, 52481}, // __builtin_msa_clei_s_h
+ {Intrinsic::mips_clei_s_w, 52504}, // __builtin_msa_clei_s_w
+ {Intrinsic::mips_clei_u_b, 52527}, // __builtin_msa_clei_u_b
+ {Intrinsic::mips_clei_u_d, 52550}, // __builtin_msa_clei_u_d
+ {Intrinsic::mips_clei_u_h, 52573}, // __builtin_msa_clei_u_h
+ {Intrinsic::mips_clei_u_w, 52596}, // __builtin_msa_clei_u_w
+ {Intrinsic::mips_clt_s_b, 52619}, // __builtin_msa_clt_s_b
+ {Intrinsic::mips_clt_s_d, 52641}, // __builtin_msa_clt_s_d
+ {Intrinsic::mips_clt_s_h, 52663}, // __builtin_msa_clt_s_h
+ {Intrinsic::mips_clt_s_w, 52685}, // __builtin_msa_clt_s_w
+ {Intrinsic::mips_clt_u_b, 52707}, // __builtin_msa_clt_u_b
+ {Intrinsic::mips_clt_u_d, 52729}, // __builtin_msa_clt_u_d
+ {Intrinsic::mips_clt_u_h, 52751}, // __builtin_msa_clt_u_h
+ {Intrinsic::mips_clt_u_w, 52773}, // __builtin_msa_clt_u_w
+ {Intrinsic::mips_clti_s_b, 52795}, // __builtin_msa_clti_s_b
+ {Intrinsic::mips_clti_s_d, 52818}, // __builtin_msa_clti_s_d
+ {Intrinsic::mips_clti_s_h, 52841}, // __builtin_msa_clti_s_h
+ {Intrinsic::mips_clti_s_w, 52864}, // __builtin_msa_clti_s_w
+ {Intrinsic::mips_clti_u_b, 52887}, // __builtin_msa_clti_u_b
+ {Intrinsic::mips_clti_u_d, 52910}, // __builtin_msa_clti_u_d
+ {Intrinsic::mips_clti_u_h, 52933}, // __builtin_msa_clti_u_h
+ {Intrinsic::mips_clti_u_w, 52956}, // __builtin_msa_clti_u_w
+ {Intrinsic::mips_copy_s_b, 53297}, // __builtin_msa_copy_s_b
+ {Intrinsic::mips_copy_s_d, 53320}, // __builtin_msa_copy_s_d
+ {Intrinsic::mips_copy_s_h, 53343}, // __builtin_msa_copy_s_h
+ {Intrinsic::mips_copy_s_w, 53366}, // __builtin_msa_copy_s_w
+ {Intrinsic::mips_copy_u_b, 53389}, // __builtin_msa_copy_u_b
+ {Intrinsic::mips_copy_u_d, 53412}, // __builtin_msa_copy_u_d
+ {Intrinsic::mips_copy_u_h, 53435}, // __builtin_msa_copy_u_h
+ {Intrinsic::mips_copy_u_w, 53458}, // __builtin_msa_copy_u_w
+ {Intrinsic::mips_ctcmsa, 53481}, // __builtin_msa_ctcmsa
+ {Intrinsic::mips_div_s_b, 53502}, // __builtin_msa_div_s_b
+ {Intrinsic::mips_div_s_d, 53524}, // __builtin_msa_div_s_d
+ {Intrinsic::mips_div_s_h, 53546}, // __builtin_msa_div_s_h
+ {Intrinsic::mips_div_s_w, 53568}, // __builtin_msa_div_s_w
+ {Intrinsic::mips_div_u_b, 53590}, // __builtin_msa_div_u_b
+ {Intrinsic::mips_div_u_d, 53612}, // __builtin_msa_div_u_d
+ {Intrinsic::mips_div_u_h, 53634}, // __builtin_msa_div_u_h
+ {Intrinsic::mips_div_u_w, 53656}, // __builtin_msa_div_u_w
+ {Intrinsic::mips_dotp_s_d, 53698}, // __builtin_msa_dotp_s_d
+ {Intrinsic::mips_dotp_s_h, 53721}, // __builtin_msa_dotp_s_h
+ {Intrinsic::mips_dotp_s_w, 53744}, // __builtin_msa_dotp_s_w
+ {Intrinsic::mips_dotp_u_d, 53767}, // __builtin_msa_dotp_u_d
+ {Intrinsic::mips_dotp_u_h, 53790}, // __builtin_msa_dotp_u_h
+ {Intrinsic::mips_dotp_u_w, 53813}, // __builtin_msa_dotp_u_w
+ {Intrinsic::mips_dpadd_s_d, 53860}, // __builtin_msa_dpadd_s_d
+ {Intrinsic::mips_dpadd_s_h, 53884}, // __builtin_msa_dpadd_s_h
+ {Intrinsic::mips_dpadd_s_w, 53908}, // __builtin_msa_dpadd_s_w
+ {Intrinsic::mips_dpadd_u_d, 53932}, // __builtin_msa_dpadd_u_d
+ {Intrinsic::mips_dpadd_u_h, 53956}, // __builtin_msa_dpadd_u_h
+ {Intrinsic::mips_dpadd_u_w, 53980}, // __builtin_msa_dpadd_u_w
+ {Intrinsic::mips_dpsub_s_d, 54379}, // __builtin_msa_dpsub_s_d
+ {Intrinsic::mips_dpsub_s_h, 54403}, // __builtin_msa_dpsub_s_h
+ {Intrinsic::mips_dpsub_s_w, 54427}, // __builtin_msa_dpsub_s_w
+ {Intrinsic::mips_dpsub_u_d, 54451}, // __builtin_msa_dpsub_u_d
+ {Intrinsic::mips_dpsub_u_h, 54475}, // __builtin_msa_dpsub_u_h
+ {Intrinsic::mips_dpsub_u_w, 54499}, // __builtin_msa_dpsub_u_w
+ {Intrinsic::mips_fadd_d, 54685}, // __builtin_msa_fadd_d
+ {Intrinsic::mips_fadd_w, 54706}, // __builtin_msa_fadd_w
+ {Intrinsic::mips_fcaf_d, 54727}, // __builtin_msa_fcaf_d
+ {Intrinsic::mips_fcaf_w, 54748}, // __builtin_msa_fcaf_w
+ {Intrinsic::mips_fceq_d, 54769}, // __builtin_msa_fceq_d
+ {Intrinsic::mips_fceq_w, 54790}, // __builtin_msa_fceq_w
+ {Intrinsic::mips_fclass_d, 54811}, // __builtin_msa_fclass_d
+ {Intrinsic::mips_fclass_w, 54834}, // __builtin_msa_fclass_w
+ {Intrinsic::mips_fcle_d, 54857}, // __builtin_msa_fcle_d
+ {Intrinsic::mips_fcle_w, 54878}, // __builtin_msa_fcle_w
+ {Intrinsic::mips_fclt_d, 54899}, // __builtin_msa_fclt_d
+ {Intrinsic::mips_fclt_w, 54920}, // __builtin_msa_fclt_w
+ {Intrinsic::mips_fcne_d, 54941}, // __builtin_msa_fcne_d
+ {Intrinsic::mips_fcne_w, 54962}, // __builtin_msa_fcne_w
+ {Intrinsic::mips_fcor_d, 54983}, // __builtin_msa_fcor_d
+ {Intrinsic::mips_fcor_w, 55004}, // __builtin_msa_fcor_w
+ {Intrinsic::mips_fcueq_d, 55025}, // __builtin_msa_fcueq_d
+ {Intrinsic::mips_fcueq_w, 55047}, // __builtin_msa_fcueq_w
+ {Intrinsic::mips_fcule_d, 55069}, // __builtin_msa_fcule_d
+ {Intrinsic::mips_fcule_w, 55091}, // __builtin_msa_fcule_w
+ {Intrinsic::mips_fcult_d, 55113}, // __builtin_msa_fcult_d
+ {Intrinsic::mips_fcult_w, 55135}, // __builtin_msa_fcult_w
+ {Intrinsic::mips_fcun_d, 55157}, // __builtin_msa_fcun_d
+ {Intrinsic::mips_fcun_w, 55178}, // __builtin_msa_fcun_w
+ {Intrinsic::mips_fcune_d, 55199}, // __builtin_msa_fcune_d
+ {Intrinsic::mips_fcune_w, 55221}, // __builtin_msa_fcune_w
+ {Intrinsic::mips_fdiv_d, 55243}, // __builtin_msa_fdiv_d
+ {Intrinsic::mips_fdiv_w, 55264}, // __builtin_msa_fdiv_w
+ {Intrinsic::mips_fexdo_h, 55285}, // __builtin_msa_fexdo_h
+ {Intrinsic::mips_fexdo_w, 55307}, // __builtin_msa_fexdo_w
+ {Intrinsic::mips_fexp2_d, 55329}, // __builtin_msa_fexp2_d
+ {Intrinsic::mips_fexp2_w, 55351}, // __builtin_msa_fexp2_w
+ {Intrinsic::mips_fexupl_d, 55373}, // __builtin_msa_fexupl_d
+ {Intrinsic::mips_fexupl_w, 55396}, // __builtin_msa_fexupl_w
+ {Intrinsic::mips_fexupr_d, 55419}, // __builtin_msa_fexupr_d
+ {Intrinsic::mips_fexupr_w, 55442}, // __builtin_msa_fexupr_w
+ {Intrinsic::mips_ffint_s_d, 55465}, // __builtin_msa_ffint_s_d
+ {Intrinsic::mips_ffint_s_w, 55489}, // __builtin_msa_ffint_s_w
+ {Intrinsic::mips_ffint_u_d, 55513}, // __builtin_msa_ffint_u_d
+ {Intrinsic::mips_ffint_u_w, 55537}, // __builtin_msa_ffint_u_w
+ {Intrinsic::mips_ffql_d, 55561}, // __builtin_msa_ffql_d
+ {Intrinsic::mips_ffql_w, 55582}, // __builtin_msa_ffql_w
+ {Intrinsic::mips_ffqr_d, 55603}, // __builtin_msa_ffqr_d
+ {Intrinsic::mips_ffqr_w, 55624}, // __builtin_msa_ffqr_w
+ {Intrinsic::mips_fill_b, 55645}, // __builtin_msa_fill_b
+ {Intrinsic::mips_fill_d, 55666}, // __builtin_msa_fill_d
+ {Intrinsic::mips_fill_h, 55687}, // __builtin_msa_fill_h
+ {Intrinsic::mips_fill_w, 55708}, // __builtin_msa_fill_w
+ {Intrinsic::mips_flog2_d, 55729}, // __builtin_msa_flog2_d
+ {Intrinsic::mips_flog2_w, 55751}, // __builtin_msa_flog2_w
+ {Intrinsic::mips_fmadd_d, 55773}, // __builtin_msa_fmadd_d
+ {Intrinsic::mips_fmadd_w, 55795}, // __builtin_msa_fmadd_w
+ {Intrinsic::mips_fmax_a_d, 55817}, // __builtin_msa_fmax_a_d
+ {Intrinsic::mips_fmax_a_w, 55840}, // __builtin_msa_fmax_a_w
+ {Intrinsic::mips_fmax_d, 55863}, // __builtin_msa_fmax_d
+ {Intrinsic::mips_fmax_w, 55884}, // __builtin_msa_fmax_w
+ {Intrinsic::mips_fmin_a_d, 55905}, // __builtin_msa_fmin_a_d
+ {Intrinsic::mips_fmin_a_w, 55928}, // __builtin_msa_fmin_a_w
+ {Intrinsic::mips_fmin_d, 55951}, // __builtin_msa_fmin_d
+ {Intrinsic::mips_fmin_w, 55972}, // __builtin_msa_fmin_w
+ {Intrinsic::mips_fmsub_d, 55993}, // __builtin_msa_fmsub_d
+ {Intrinsic::mips_fmsub_w, 56015}, // __builtin_msa_fmsub_w
+ {Intrinsic::mips_fmul_d, 56037}, // __builtin_msa_fmul_d
+ {Intrinsic::mips_fmul_w, 56058}, // __builtin_msa_fmul_w
+ {Intrinsic::mips_frcp_d, 56079}, // __builtin_msa_frcp_d
+ {Intrinsic::mips_frcp_w, 56100}, // __builtin_msa_frcp_w
+ {Intrinsic::mips_frint_d, 56121}, // __builtin_msa_frint_d
+ {Intrinsic::mips_frint_w, 56143}, // __builtin_msa_frint_w
+ {Intrinsic::mips_frsqrt_d, 56165}, // __builtin_msa_frsqrt_d
+ {Intrinsic::mips_frsqrt_w, 56188}, // __builtin_msa_frsqrt_w
+ {Intrinsic::mips_fsaf_d, 56211}, // __builtin_msa_fsaf_d
+ {Intrinsic::mips_fsaf_w, 56232}, // __builtin_msa_fsaf_w
+ {Intrinsic::mips_fseq_d, 56253}, // __builtin_msa_fseq_d
+ {Intrinsic::mips_fseq_w, 56274}, // __builtin_msa_fseq_w
+ {Intrinsic::mips_fsle_d, 56295}, // __builtin_msa_fsle_d
+ {Intrinsic::mips_fsle_w, 56316}, // __builtin_msa_fsle_w
+ {Intrinsic::mips_fslt_d, 56337}, // __builtin_msa_fslt_d
+ {Intrinsic::mips_fslt_w, 56358}, // __builtin_msa_fslt_w
+ {Intrinsic::mips_fsne_d, 56379}, // __builtin_msa_fsne_d
+ {Intrinsic::mips_fsne_w, 56400}, // __builtin_msa_fsne_w
+ {Intrinsic::mips_fsor_d, 56421}, // __builtin_msa_fsor_d
+ {Intrinsic::mips_fsor_w, 56442}, // __builtin_msa_fsor_w
+ {Intrinsic::mips_fsqrt_d, 56463}, // __builtin_msa_fsqrt_d
+ {Intrinsic::mips_fsqrt_w, 56485}, // __builtin_msa_fsqrt_w
+ {Intrinsic::mips_fsub_d, 56507}, // __builtin_msa_fsub_d
+ {Intrinsic::mips_fsub_w, 56528}, // __builtin_msa_fsub_w
+ {Intrinsic::mips_fsueq_d, 56549}, // __builtin_msa_fsueq_d
+ {Intrinsic::mips_fsueq_w, 56571}, // __builtin_msa_fsueq_w
+ {Intrinsic::mips_fsule_d, 56593}, // __builtin_msa_fsule_d
+ {Intrinsic::mips_fsule_w, 56615}, // __builtin_msa_fsule_w
+ {Intrinsic::mips_fsult_d, 56637}, // __builtin_msa_fsult_d
+ {Intrinsic::mips_fsult_w, 56659}, // __builtin_msa_fsult_w
+ {Intrinsic::mips_fsun_d, 56681}, // __builtin_msa_fsun_d
+ {Intrinsic::mips_fsun_w, 56702}, // __builtin_msa_fsun_w
+ {Intrinsic::mips_fsune_d, 56723}, // __builtin_msa_fsune_d
+ {Intrinsic::mips_fsune_w, 56745}, // __builtin_msa_fsune_w
+ {Intrinsic::mips_ftint_s_d, 56767}, // __builtin_msa_ftint_s_d
+ {Intrinsic::mips_ftint_s_w, 56791}, // __builtin_msa_ftint_s_w
+ {Intrinsic::mips_ftint_u_d, 56815}, // __builtin_msa_ftint_u_d
+ {Intrinsic::mips_ftint_u_w, 56839}, // __builtin_msa_ftint_u_w
+ {Intrinsic::mips_ftq_h, 56863}, // __builtin_msa_ftq_h
+ {Intrinsic::mips_ftq_w, 56883}, // __builtin_msa_ftq_w
+ {Intrinsic::mips_ftrunc_s_d, 56903}, // __builtin_msa_ftrunc_s_d
+ {Intrinsic::mips_ftrunc_s_w, 56928}, // __builtin_msa_ftrunc_s_w
+ {Intrinsic::mips_ftrunc_u_d, 56953}, // __builtin_msa_ftrunc_u_d
+ {Intrinsic::mips_ftrunc_u_w, 56978}, // __builtin_msa_ftrunc_u_w
+ {Intrinsic::mips_hadd_s_d, 57003}, // __builtin_msa_hadd_s_d
+ {Intrinsic::mips_hadd_s_h, 57026}, // __builtin_msa_hadd_s_h
+ {Intrinsic::mips_hadd_s_w, 57049}, // __builtin_msa_hadd_s_w
+ {Intrinsic::mips_hadd_u_d, 57072}, // __builtin_msa_hadd_u_d
+ {Intrinsic::mips_hadd_u_h, 57095}, // __builtin_msa_hadd_u_h
+ {Intrinsic::mips_hadd_u_w, 57118}, // __builtin_msa_hadd_u_w
+ {Intrinsic::mips_hsub_s_d, 57141}, // __builtin_msa_hsub_s_d
+ {Intrinsic::mips_hsub_s_h, 57164}, // __builtin_msa_hsub_s_h
+ {Intrinsic::mips_hsub_s_w, 57187}, // __builtin_msa_hsub_s_w
+ {Intrinsic::mips_hsub_u_d, 57210}, // __builtin_msa_hsub_u_d
+ {Intrinsic::mips_hsub_u_h, 57233}, // __builtin_msa_hsub_u_h
+ {Intrinsic::mips_hsub_u_w, 57256}, // __builtin_msa_hsub_u_w
+ {Intrinsic::mips_ilvev_b, 57279}, // __builtin_msa_ilvev_b
+ {Intrinsic::mips_ilvev_d, 57301}, // __builtin_msa_ilvev_d
+ {Intrinsic::mips_ilvev_h, 57323}, // __builtin_msa_ilvev_h
+ {Intrinsic::mips_ilvev_w, 57345}, // __builtin_msa_ilvev_w
+ {Intrinsic::mips_ilvl_b, 57367}, // __builtin_msa_ilvl_b
+ {Intrinsic::mips_ilvl_d, 57388}, // __builtin_msa_ilvl_d
+ {Intrinsic::mips_ilvl_h, 57409}, // __builtin_msa_ilvl_h
+ {Intrinsic::mips_ilvl_w, 57430}, // __builtin_msa_ilvl_w
+ {Intrinsic::mips_ilvod_b, 57451}, // __builtin_msa_ilvod_b
+ {Intrinsic::mips_ilvod_d, 57473}, // __builtin_msa_ilvod_d
+ {Intrinsic::mips_ilvod_h, 57495}, // __builtin_msa_ilvod_h
+ {Intrinsic::mips_ilvod_w, 57517}, // __builtin_msa_ilvod_w
+ {Intrinsic::mips_ilvr_b, 57539}, // __builtin_msa_ilvr_b
+ {Intrinsic::mips_ilvr_d, 57560}, // __builtin_msa_ilvr_d
+ {Intrinsic::mips_ilvr_h, 57581}, // __builtin_msa_ilvr_h
+ {Intrinsic::mips_ilvr_w, 57602}, // __builtin_msa_ilvr_w
+ {Intrinsic::mips_insert_b, 57623}, // __builtin_msa_insert_b
+ {Intrinsic::mips_insert_d, 57646}, // __builtin_msa_insert_d
+ {Intrinsic::mips_insert_h, 57669}, // __builtin_msa_insert_h
+ {Intrinsic::mips_insert_w, 57692}, // __builtin_msa_insert_w
+ {Intrinsic::mips_insve_b, 57735}, // __builtin_msa_insve_b
+ {Intrinsic::mips_insve_d, 57757}, // __builtin_msa_insve_d
+ {Intrinsic::mips_insve_h, 57779}, // __builtin_msa_insve_h
+ {Intrinsic::mips_insve_w, 57801}, // __builtin_msa_insve_w
+ {Intrinsic::mips_ld_b, 57843}, // __builtin_msa_ld_b
+ {Intrinsic::mips_ld_d, 57862}, // __builtin_msa_ld_d
+ {Intrinsic::mips_ld_h, 57881}, // __builtin_msa_ld_h
+ {Intrinsic::mips_ld_w, 57900}, // __builtin_msa_ld_w
+ {Intrinsic::mips_ldi_b, 57919}, // __builtin_msa_ldi_b
+ {Intrinsic::mips_ldi_d, 57939}, // __builtin_msa_ldi_d
+ {Intrinsic::mips_ldi_h, 57959}, // __builtin_msa_ldi_h
+ {Intrinsic::mips_ldi_w, 57979}, // __builtin_msa_ldi_w
+ {Intrinsic::mips_madd_q_h, 58076}, // __builtin_msa_madd_q_h
+ {Intrinsic::mips_madd_q_w, 58099}, // __builtin_msa_madd_q_w
+ {Intrinsic::mips_maddr_q_h, 58122}, // __builtin_msa_maddr_q_h
+ {Intrinsic::mips_maddr_q_w, 58146}, // __builtin_msa_maddr_q_w
+ {Intrinsic::mips_maddv_b, 58191}, // __builtin_msa_maddv_b
+ {Intrinsic::mips_maddv_d, 58213}, // __builtin_msa_maddv_d
+ {Intrinsic::mips_maddv_h, 58235}, // __builtin_msa_maddv_h
+ {Intrinsic::mips_maddv_w, 58257}, // __builtin_msa_maddv_w
+ {Intrinsic::mips_max_a_b, 58389}, // __builtin_msa_max_a_b
+ {Intrinsic::mips_max_a_d, 58411}, // __builtin_msa_max_a_d
+ {Intrinsic::mips_max_a_h, 58433}, // __builtin_msa_max_a_h
+ {Intrinsic::mips_max_a_w, 58455}, // __builtin_msa_max_a_w
+ {Intrinsic::mips_max_s_b, 58477}, // __builtin_msa_max_s_b
+ {Intrinsic::mips_max_s_d, 58499}, // __builtin_msa_max_s_d
+ {Intrinsic::mips_max_s_h, 58521}, // __builtin_msa_max_s_h
+ {Intrinsic::mips_max_s_w, 58543}, // __builtin_msa_max_s_w
+ {Intrinsic::mips_max_u_b, 58565}, // __builtin_msa_max_u_b
+ {Intrinsic::mips_max_u_d, 58587}, // __builtin_msa_max_u_d
+ {Intrinsic::mips_max_u_h, 58609}, // __builtin_msa_max_u_h
+ {Intrinsic::mips_max_u_w, 58631}, // __builtin_msa_max_u_w
+ {Intrinsic::mips_maxi_s_b, 58653}, // __builtin_msa_maxi_s_b
+ {Intrinsic::mips_maxi_s_d, 58676}, // __builtin_msa_maxi_s_d
+ {Intrinsic::mips_maxi_s_h, 58699}, // __builtin_msa_maxi_s_h
+ {Intrinsic::mips_maxi_s_w, 58722}, // __builtin_msa_maxi_s_w
+ {Intrinsic::mips_maxi_u_b, 58745}, // __builtin_msa_maxi_u_b
+ {Intrinsic::mips_maxi_u_d, 58768}, // __builtin_msa_maxi_u_d
+ {Intrinsic::mips_maxi_u_h, 58791}, // __builtin_msa_maxi_u_h
+ {Intrinsic::mips_maxi_u_w, 58814}, // __builtin_msa_maxi_u_w
+ {Intrinsic::mips_min_a_b, 58837}, // __builtin_msa_min_a_b
+ {Intrinsic::mips_min_a_d, 58859}, // __builtin_msa_min_a_d
+ {Intrinsic::mips_min_a_h, 58881}, // __builtin_msa_min_a_h
+ {Intrinsic::mips_min_a_w, 58903}, // __builtin_msa_min_a_w
+ {Intrinsic::mips_min_s_b, 58925}, // __builtin_msa_min_s_b
+ {Intrinsic::mips_min_s_d, 58947}, // __builtin_msa_min_s_d
+ {Intrinsic::mips_min_s_h, 58969}, // __builtin_msa_min_s_h
+ {Intrinsic::mips_min_s_w, 58991}, // __builtin_msa_min_s_w
+ {Intrinsic::mips_min_u_b, 59013}, // __builtin_msa_min_u_b
+ {Intrinsic::mips_min_u_d, 59035}, // __builtin_msa_min_u_d
+ {Intrinsic::mips_min_u_h, 59057}, // __builtin_msa_min_u_h
+ {Intrinsic::mips_min_u_w, 59079}, // __builtin_msa_min_u_w
+ {Intrinsic::mips_mini_s_b, 59101}, // __builtin_msa_mini_s_b
+ {Intrinsic::mips_mini_s_d, 59124}, // __builtin_msa_mini_s_d
+ {Intrinsic::mips_mini_s_h, 59147}, // __builtin_msa_mini_s_h
+ {Intrinsic::mips_mini_s_w, 59170}, // __builtin_msa_mini_s_w
+ {Intrinsic::mips_mini_u_b, 59193}, // __builtin_msa_mini_u_b
+ {Intrinsic::mips_mini_u_d, 59216}, // __builtin_msa_mini_u_d
+ {Intrinsic::mips_mini_u_h, 59239}, // __builtin_msa_mini_u_h
+ {Intrinsic::mips_mini_u_w, 59262}, // __builtin_msa_mini_u_w
+ {Intrinsic::mips_mod_s_b, 59285}, // __builtin_msa_mod_s_b
+ {Intrinsic::mips_mod_s_d, 59307}, // __builtin_msa_mod_s_d
+ {Intrinsic::mips_mod_s_h, 59329}, // __builtin_msa_mod_s_h
+ {Intrinsic::mips_mod_s_w, 59351}, // __builtin_msa_mod_s_w
+ {Intrinsic::mips_mod_u_b, 59373}, // __builtin_msa_mod_u_b
+ {Intrinsic::mips_mod_u_d, 59395}, // __builtin_msa_mod_u_d
+ {Intrinsic::mips_mod_u_h, 59417}, // __builtin_msa_mod_u_h
+ {Intrinsic::mips_mod_u_w, 59439}, // __builtin_msa_mod_u_w
+ {Intrinsic::mips_move_v, 59483}, // __builtin_msa_move_v
+ {Intrinsic::mips_msub_q_h, 59524}, // __builtin_msa_msub_q_h
+ {Intrinsic::mips_msub_q_w, 59547}, // __builtin_msa_msub_q_w
+ {Intrinsic::mips_msubr_q_h, 59570}, // __builtin_msa_msubr_q_h
+ {Intrinsic::mips_msubr_q_w, 59594}, // __builtin_msa_msubr_q_w
+ {Intrinsic::mips_msubv_b, 59639}, // __builtin_msa_msubv_b
+ {Intrinsic::mips_msubv_d, 59661}, // __builtin_msa_msubv_d
+ {Intrinsic::mips_msubv_h, 59683}, // __builtin_msa_msubv_h
+ {Intrinsic::mips_msubv_w, 59705}, // __builtin_msa_msubv_w
+ {Intrinsic::mips_mul_q_h, 59771}, // __builtin_msa_mul_q_h
+ {Intrinsic::mips_mul_q_w, 59793}, // __builtin_msa_mul_q_w
+ {Intrinsic::mips_mulr_q_h, 60057}, // __builtin_msa_mulr_q_h
+ {Intrinsic::mips_mulr_q_w, 60080}, // __builtin_msa_mulr_q_w
+ {Intrinsic::mips_mulv_b, 60199}, // __builtin_msa_mulv_b
+ {Intrinsic::mips_mulv_d, 60220}, // __builtin_msa_mulv_d
+ {Intrinsic::mips_mulv_h, 60241}, // __builtin_msa_mulv_h
+ {Intrinsic::mips_mulv_w, 60262}, // __builtin_msa_mulv_w
+ {Intrinsic::mips_nloc_b, 60283}, // __builtin_msa_nloc_b
+ {Intrinsic::mips_nloc_d, 60304}, // __builtin_msa_nloc_d
+ {Intrinsic::mips_nloc_h, 60325}, // __builtin_msa_nloc_h
+ {Intrinsic::mips_nloc_w, 60346}, // __builtin_msa_nloc_w
+ {Intrinsic::mips_nlzc_b, 60367}, // __builtin_msa_nlzc_b
+ {Intrinsic::mips_nlzc_d, 60388}, // __builtin_msa_nlzc_d
+ {Intrinsic::mips_nlzc_h, 60409}, // __builtin_msa_nlzc_h
+ {Intrinsic::mips_nlzc_w, 60430}, // __builtin_msa_nlzc_w
+ {Intrinsic::mips_nor_v, 60451}, // __builtin_msa_nor_v
+ {Intrinsic::mips_nori_b, 60471}, // __builtin_msa_nori_b
+ {Intrinsic::mips_or_v, 60492}, // __builtin_msa_or_v
+ {Intrinsic::mips_ori_b, 60511}, // __builtin_msa_ori_b
+ {Intrinsic::mips_pckev_b, 60556}, // __builtin_msa_pckev_b
+ {Intrinsic::mips_pckev_d, 60578}, // __builtin_msa_pckev_d
+ {Intrinsic::mips_pckev_h, 60600}, // __builtin_msa_pckev_h
+ {Intrinsic::mips_pckev_w, 60622}, // __builtin_msa_pckev_w
+ {Intrinsic::mips_pckod_b, 60644}, // __builtin_msa_pckod_b
+ {Intrinsic::mips_pckod_d, 60666}, // __builtin_msa_pckod_d
+ {Intrinsic::mips_pckod_h, 60688}, // __builtin_msa_pckod_h
+ {Intrinsic::mips_pckod_w, 60710}, // __builtin_msa_pckod_w
+ {Intrinsic::mips_pcnt_b, 60732}, // __builtin_msa_pcnt_b
+ {Intrinsic::mips_pcnt_d, 60753}, // __builtin_msa_pcnt_d
+ {Intrinsic::mips_pcnt_h, 60774}, // __builtin_msa_pcnt_h
+ {Intrinsic::mips_pcnt_w, 60795}, // __builtin_msa_pcnt_w
+ {Intrinsic::mips_sat_s_b, 61479}, // __builtin_msa_sat_s_b
+ {Intrinsic::mips_sat_s_d, 61501}, // __builtin_msa_sat_s_d
+ {Intrinsic::mips_sat_s_h, 61523}, // __builtin_msa_sat_s_h
+ {Intrinsic::mips_sat_s_w, 61545}, // __builtin_msa_sat_s_w
+ {Intrinsic::mips_sat_u_b, 61567}, // __builtin_msa_sat_u_b
+ {Intrinsic::mips_sat_u_d, 61589}, // __builtin_msa_sat_u_d
+ {Intrinsic::mips_sat_u_h, 61611}, // __builtin_msa_sat_u_h
+ {Intrinsic::mips_sat_u_w, 61633}, // __builtin_msa_sat_u_w
+ {Intrinsic::mips_shf_b, 61655}, // __builtin_msa_shf_b
+ {Intrinsic::mips_shf_h, 61675}, // __builtin_msa_shf_h
+ {Intrinsic::mips_shf_w, 61695}, // __builtin_msa_shf_w
+ {Intrinsic::mips_sld_b, 61997}, // __builtin_msa_sld_b
+ {Intrinsic::mips_sld_d, 62017}, // __builtin_msa_sld_d
+ {Intrinsic::mips_sld_h, 62037}, // __builtin_msa_sld_h
+ {Intrinsic::mips_sld_w, 62057}, // __builtin_msa_sld_w
+ {Intrinsic::mips_sldi_b, 62077}, // __builtin_msa_sldi_b
+ {Intrinsic::mips_sldi_d, 62098}, // __builtin_msa_sldi_d
+ {Intrinsic::mips_sldi_h, 62119}, // __builtin_msa_sldi_h
+ {Intrinsic::mips_sldi_w, 62140}, // __builtin_msa_sldi_w
+ {Intrinsic::mips_sll_b, 62161}, // __builtin_msa_sll_b
+ {Intrinsic::mips_sll_d, 62181}, // __builtin_msa_sll_d
+ {Intrinsic::mips_sll_h, 62201}, // __builtin_msa_sll_h
+ {Intrinsic::mips_sll_w, 62221}, // __builtin_msa_sll_w
+ {Intrinsic::mips_slli_b, 62241}, // __builtin_msa_slli_b
+ {Intrinsic::mips_slli_d, 62262}, // __builtin_msa_slli_d
+ {Intrinsic::mips_slli_h, 62283}, // __builtin_msa_slli_h
+ {Intrinsic::mips_slli_w, 62304}, // __builtin_msa_slli_w
+ {Intrinsic::mips_splat_b, 62325}, // __builtin_msa_splat_b
+ {Intrinsic::mips_splat_d, 62347}, // __builtin_msa_splat_d
+ {Intrinsic::mips_splat_h, 62369}, // __builtin_msa_splat_h
+ {Intrinsic::mips_splat_w, 62391}, // __builtin_msa_splat_w
+ {Intrinsic::mips_splati_b, 62413}, // __builtin_msa_splati_b
+ {Intrinsic::mips_splati_d, 62436}, // __builtin_msa_splati_d
+ {Intrinsic::mips_splati_h, 62459}, // __builtin_msa_splati_h
+ {Intrinsic::mips_splati_w, 62482}, // __builtin_msa_splati_w
+ {Intrinsic::mips_sra_b, 62505}, // __builtin_msa_sra_b
+ {Intrinsic::mips_sra_d, 62525}, // __builtin_msa_sra_d
+ {Intrinsic::mips_sra_h, 62545}, // __builtin_msa_sra_h
+ {Intrinsic::mips_sra_w, 62565}, // __builtin_msa_sra_w
+ {Intrinsic::mips_srai_b, 62585}, // __builtin_msa_srai_b
+ {Intrinsic::mips_srai_d, 62606}, // __builtin_msa_srai_d
+ {Intrinsic::mips_srai_h, 62627}, // __builtin_msa_srai_h
+ {Intrinsic::mips_srai_w, 62648}, // __builtin_msa_srai_w
+ {Intrinsic::mips_srar_b, 62669}, // __builtin_msa_srar_b
+ {Intrinsic::mips_srar_d, 62690}, // __builtin_msa_srar_d
+ {Intrinsic::mips_srar_h, 62711}, // __builtin_msa_srar_h
+ {Intrinsic::mips_srar_w, 62732}, // __builtin_msa_srar_w
+ {Intrinsic::mips_srari_b, 62753}, // __builtin_msa_srari_b
+ {Intrinsic::mips_srari_d, 62775}, // __builtin_msa_srari_d
+ {Intrinsic::mips_srari_h, 62797}, // __builtin_msa_srari_h
+ {Intrinsic::mips_srari_w, 62819}, // __builtin_msa_srari_w
+ {Intrinsic::mips_srl_b, 62841}, // __builtin_msa_srl_b
+ {Intrinsic::mips_srl_d, 62861}, // __builtin_msa_srl_d
+ {Intrinsic::mips_srl_h, 62881}, // __builtin_msa_srl_h
+ {Intrinsic::mips_srl_w, 62901}, // __builtin_msa_srl_w
+ {Intrinsic::mips_srli_b, 62921}, // __builtin_msa_srli_b
+ {Intrinsic::mips_srli_d, 62942}, // __builtin_msa_srli_d
+ {Intrinsic::mips_srli_h, 62963}, // __builtin_msa_srli_h
+ {Intrinsic::mips_srli_w, 62984}, // __builtin_msa_srli_w
+ {Intrinsic::mips_srlr_b, 63005}, // __builtin_msa_srlr_b
+ {Intrinsic::mips_srlr_d, 63026}, // __builtin_msa_srlr_d
+ {Intrinsic::mips_srlr_h, 63047}, // __builtin_msa_srlr_h
+ {Intrinsic::mips_srlr_w, 63068}, // __builtin_msa_srlr_w
+ {Intrinsic::mips_srlri_b, 63089}, // __builtin_msa_srlri_b
+ {Intrinsic::mips_srlri_d, 63111}, // __builtin_msa_srlri_d
+ {Intrinsic::mips_srlri_h, 63133}, // __builtin_msa_srlri_h
+ {Intrinsic::mips_srlri_w, 63155}, // __builtin_msa_srlri_w
+ {Intrinsic::mips_st_b, 63177}, // __builtin_msa_st_b
+ {Intrinsic::mips_st_d, 63196}, // __builtin_msa_st_d
+ {Intrinsic::mips_st_h, 63215}, // __builtin_msa_st_h
+ {Intrinsic::mips_st_w, 63234}, // __builtin_msa_st_w
+ {Intrinsic::mips_subs_s_b, 63423}, // __builtin_msa_subs_s_b
+ {Intrinsic::mips_subs_s_d, 63446}, // __builtin_msa_subs_s_d
+ {Intrinsic::mips_subs_s_h, 63469}, // __builtin_msa_subs_s_h
+ {Intrinsic::mips_subs_s_w, 63492}, // __builtin_msa_subs_s_w
+ {Intrinsic::mips_subs_u_b, 63515}, // __builtin_msa_subs_u_b
+ {Intrinsic::mips_subs_u_d, 63538}, // __builtin_msa_subs_u_d
+ {Intrinsic::mips_subs_u_h, 63561}, // __builtin_msa_subs_u_h
+ {Intrinsic::mips_subs_u_w, 63584}, // __builtin_msa_subs_u_w
+ {Intrinsic::mips_subsus_u_b, 63607}, // __builtin_msa_subsus_u_b
+ {Intrinsic::mips_subsus_u_d, 63632}, // __builtin_msa_subsus_u_d
+ {Intrinsic::mips_subsus_u_h, 63657}, // __builtin_msa_subsus_u_h
+ {Intrinsic::mips_subsus_u_w, 63682}, // __builtin_msa_subsus_u_w
+ {Intrinsic::mips_subsuu_s_b, 63707}, // __builtin_msa_subsuu_s_b
+ {Intrinsic::mips_subsuu_s_d, 63732}, // __builtin_msa_subsuu_s_d
+ {Intrinsic::mips_subsuu_s_h, 63757}, // __builtin_msa_subsuu_s_h
+ {Intrinsic::mips_subsuu_s_w, 63782}, // __builtin_msa_subsuu_s_w
+ {Intrinsic::mips_subv_b, 63953}, // __builtin_msa_subv_b
+ {Intrinsic::mips_subv_d, 63974}, // __builtin_msa_subv_d
+ {Intrinsic::mips_subv_h, 63995}, // __builtin_msa_subv_h
+ {Intrinsic::mips_subv_w, 64016}, // __builtin_msa_subv_w
+ {Intrinsic::mips_subvi_b, 64037}, // __builtin_msa_subvi_b
+ {Intrinsic::mips_subvi_d, 64059}, // __builtin_msa_subvi_d
+ {Intrinsic::mips_subvi_h, 64081}, // __builtin_msa_subvi_h
+ {Intrinsic::mips_subvi_w, 64103}, // __builtin_msa_subvi_w
+ {Intrinsic::mips_vshf_b, 64125}, // __builtin_msa_vshf_b
+ {Intrinsic::mips_vshf_d, 64146}, // __builtin_msa_vshf_d
+ {Intrinsic::mips_vshf_h, 64167}, // __builtin_msa_vshf_h
+ {Intrinsic::mips_vshf_w, 64188}, // __builtin_msa_vshf_w
+ {Intrinsic::mips_xor_v, 64230}, // __builtin_msa_xor_v
+ {Intrinsic::mips_xori_b, 64250}, // __builtin_msa_xori_b
+ };
+ auto I = std::lower_bound(std::begin(mipsNames),
+ std::end(mipsNames),
+ BuiltinNameStr);
+ if (I != std::end(mipsNames) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ if (TargetPrefix == "nvvm") {
+ static const BuiltinEntry nvvmNames[] = {
+ {Intrinsic::nvvm_abs_i, 64271}, // __nvvm_abs_i
+ {Intrinsic::nvvm_abs_ll, 64284}, // __nvvm_abs_ll
+ {Intrinsic::nvvm_add_rm_d, 64298}, // __nvvm_add_rm_d
+ {Intrinsic::nvvm_add_rm_f, 64314}, // __nvvm_add_rm_f
+ {Intrinsic::nvvm_add_rm_ftz_f, 64330}, // __nvvm_add_rm_ftz_f
+ {Intrinsic::nvvm_add_rn_d, 64350}, // __nvvm_add_rn_d
+ {Intrinsic::nvvm_add_rn_f, 64366}, // __nvvm_add_rn_f
+ {Intrinsic::nvvm_add_rn_ftz_f, 64382}, // __nvvm_add_rn_ftz_f
+ {Intrinsic::nvvm_add_rp_d, 64402}, // __nvvm_add_rp_d
+ {Intrinsic::nvvm_add_rp_f, 64418}, // __nvvm_add_rp_f
+ {Intrinsic::nvvm_add_rp_ftz_f, 64434}, // __nvvm_add_rp_ftz_f
+ {Intrinsic::nvvm_add_rz_d, 64454}, // __nvvm_add_rz_d
+ {Intrinsic::nvvm_add_rz_f, 64470}, // __nvvm_add_rz_f
+ {Intrinsic::nvvm_add_rz_ftz_f, 64486}, // __nvvm_add_rz_ftz_f
+ {Intrinsic::nvvm_barrier0_and, 64536}, // __nvvm_bar0_and
+ {Intrinsic::nvvm_barrier0_or, 64552}, // __nvvm_bar0_or
+ {Intrinsic::nvvm_barrier0_popc, 64567}, // __nvvm_bar0_popc
+ {Intrinsic::nvvm_bar_sync, 64506}, // __nvvm_bar_sync
+ {Intrinsic::nvvm_bitcast_d2ll, 64584}, // __nvvm_bitcast_d2ll
+ {Intrinsic::nvvm_bitcast_f2i, 64604}, // __nvvm_bitcast_f2i
+ {Intrinsic::nvvm_bitcast_i2f, 64623}, // __nvvm_bitcast_i2f
+ {Intrinsic::nvvm_bitcast_ll2d, 64642}, // __nvvm_bitcast_ll2d
+ {Intrinsic::nvvm_brev32, 64662}, // __nvvm_brev32
+ {Intrinsic::nvvm_brev64, 64676}, // __nvvm_brev64
+ {Intrinsic::nvvm_ceil_d, 64690}, // __nvvm_ceil_d
+ {Intrinsic::nvvm_ceil_f, 64704}, // __nvvm_ceil_f
+ {Intrinsic::nvvm_ceil_ftz_f, 64718}, // __nvvm_ceil_ftz_f
+ {Intrinsic::nvvm_clz_i, 64736}, // __nvvm_clz_i
+ {Intrinsic::nvvm_clz_ll, 64749}, // __nvvm_clz_ll
+ {Intrinsic::nvvm_cos_approx_f, 64763}, // __nvvm_cos_approx_f
+ {Intrinsic::nvvm_cos_approx_ftz_f, 64783}, // __nvvm_cos_approx_ftz_f
+ {Intrinsic::nvvm_d2f_rm, 64807}, // __nvvm_d2f_rm
+ {Intrinsic::nvvm_d2f_rm_ftz, 64821}, // __nvvm_d2f_rm_ftz
+ {Intrinsic::nvvm_d2f_rn, 64839}, // __nvvm_d2f_rn
+ {Intrinsic::nvvm_d2f_rn_ftz, 64853}, // __nvvm_d2f_rn_ftz
+ {Intrinsic::nvvm_d2f_rp, 64871}, // __nvvm_d2f_rp
+ {Intrinsic::nvvm_d2f_rp_ftz, 64885}, // __nvvm_d2f_rp_ftz
+ {Intrinsic::nvvm_d2f_rz, 64903}, // __nvvm_d2f_rz
+ {Intrinsic::nvvm_d2f_rz_ftz, 64917}, // __nvvm_d2f_rz_ftz
+ {Intrinsic::nvvm_d2i_hi, 64935}, // __nvvm_d2i_hi
+ {Intrinsic::nvvm_d2i_lo, 64949}, // __nvvm_d2i_lo
+ {Intrinsic::nvvm_d2i_rm, 64963}, // __nvvm_d2i_rm
+ {Intrinsic::nvvm_d2i_rn, 64977}, // __nvvm_d2i_rn
+ {Intrinsic::nvvm_d2i_rp, 64991}, // __nvvm_d2i_rp
+ {Intrinsic::nvvm_d2i_rz, 65005}, // __nvvm_d2i_rz
+ {Intrinsic::nvvm_d2ll_rm, 65019}, // __nvvm_d2ll_rm
+ {Intrinsic::nvvm_d2ll_rn, 65034}, // __nvvm_d2ll_rn
+ {Intrinsic::nvvm_d2ll_rp, 65049}, // __nvvm_d2ll_rp
+ {Intrinsic::nvvm_d2ll_rz, 65064}, // __nvvm_d2ll_rz
+ {Intrinsic::nvvm_d2ui_rm, 65079}, // __nvvm_d2ui_rm
+ {Intrinsic::nvvm_d2ui_rn, 65094}, // __nvvm_d2ui_rn
+ {Intrinsic::nvvm_d2ui_rp, 65109}, // __nvvm_d2ui_rp
+ {Intrinsic::nvvm_d2ui_rz, 65124}, // __nvvm_d2ui_rz
+ {Intrinsic::nvvm_d2ull_rm, 65139}, // __nvvm_d2ull_rm
+ {Intrinsic::nvvm_d2ull_rn, 65155}, // __nvvm_d2ull_rn
+ {Intrinsic::nvvm_d2ull_rp, 65171}, // __nvvm_d2ull_rp
+ {Intrinsic::nvvm_d2ull_rz, 65187}, // __nvvm_d2ull_rz
+ {Intrinsic::nvvm_div_approx_f, 65203}, // __nvvm_div_approx_f
+ {Intrinsic::nvvm_div_approx_ftz_f, 65223}, // __nvvm_div_approx_ftz_f
+ {Intrinsic::nvvm_div_rm_d, 65247}, // __nvvm_div_rm_d
+ {Intrinsic::nvvm_div_rm_f, 65263}, // __nvvm_div_rm_f
+ {Intrinsic::nvvm_div_rm_ftz_f, 65279}, // __nvvm_div_rm_ftz_f
+ {Intrinsic::nvvm_div_rn_d, 65299}, // __nvvm_div_rn_d
+ {Intrinsic::nvvm_div_rn_f, 65315}, // __nvvm_div_rn_f
+ {Intrinsic::nvvm_div_rn_ftz_f, 65331}, // __nvvm_div_rn_ftz_f
+ {Intrinsic::nvvm_div_rp_d, 65351}, // __nvvm_div_rp_d
+ {Intrinsic::nvvm_div_rp_f, 65367}, // __nvvm_div_rp_f
+ {Intrinsic::nvvm_div_rp_ftz_f, 65383}, // __nvvm_div_rp_ftz_f
+ {Intrinsic::nvvm_div_rz_d, 65403}, // __nvvm_div_rz_d
+ {Intrinsic::nvvm_div_rz_f, 65419}, // __nvvm_div_rz_f
+ {Intrinsic::nvvm_div_rz_ftz_f, 65435}, // __nvvm_div_rz_ftz_f
+ {Intrinsic::nvvm_ex2_approx_d, 65455}, // __nvvm_ex2_approx_d
+ {Intrinsic::nvvm_ex2_approx_f, 65475}, // __nvvm_ex2_approx_f
+ {Intrinsic::nvvm_ex2_approx_ftz_f, 65495}, // __nvvm_ex2_approx_ftz_f
+ {Intrinsic::nvvm_f2h_rn, 65519}, // __nvvm_f2h_rn
+ {Intrinsic::nvvm_f2h_rn_ftz, 65533}, // __nvvm_f2h_rn_ftz
+ {Intrinsic::nvvm_f2i_rm, 65551}, // __nvvm_f2i_rm
+ {Intrinsic::nvvm_f2i_rm_ftz, 65565}, // __nvvm_f2i_rm_ftz
+ {Intrinsic::nvvm_f2i_rn, 65583}, // __nvvm_f2i_rn
+ {Intrinsic::nvvm_f2i_rn_ftz, 65597}, // __nvvm_f2i_rn_ftz
+ {Intrinsic::nvvm_f2i_rp, 65615}, // __nvvm_f2i_rp
+ {Intrinsic::nvvm_f2i_rp_ftz, 65629}, // __nvvm_f2i_rp_ftz
+ {Intrinsic::nvvm_f2i_rz, 65647}, // __nvvm_f2i_rz
+ {Intrinsic::nvvm_f2i_rz_ftz, 65661}, // __nvvm_f2i_rz_ftz
+ {Intrinsic::nvvm_f2ll_rm, 65679}, // __nvvm_f2ll_rm
+ {Intrinsic::nvvm_f2ll_rm_ftz, 65694}, // __nvvm_f2ll_rm_ftz
+ {Intrinsic::nvvm_f2ll_rn, 65713}, // __nvvm_f2ll_rn
+ {Intrinsic::nvvm_f2ll_rn_ftz, 65728}, // __nvvm_f2ll_rn_ftz
+ {Intrinsic::nvvm_f2ll_rp, 65747}, // __nvvm_f2ll_rp
+ {Intrinsic::nvvm_f2ll_rp_ftz, 65762}, // __nvvm_f2ll_rp_ftz
+ {Intrinsic::nvvm_f2ll_rz, 65781}, // __nvvm_f2ll_rz
+ {Intrinsic::nvvm_f2ll_rz_ftz, 65796}, // __nvvm_f2ll_rz_ftz
+ {Intrinsic::nvvm_f2ui_rm, 65815}, // __nvvm_f2ui_rm
+ {Intrinsic::nvvm_f2ui_rm_ftz, 65830}, // __nvvm_f2ui_rm_ftz
+ {Intrinsic::nvvm_f2ui_rn, 65849}, // __nvvm_f2ui_rn
+ {Intrinsic::nvvm_f2ui_rn_ftz, 65864}, // __nvvm_f2ui_rn_ftz
+ {Intrinsic::nvvm_f2ui_rp, 65883}, // __nvvm_f2ui_rp
+ {Intrinsic::nvvm_f2ui_rp_ftz, 65898}, // __nvvm_f2ui_rp_ftz
+ {Intrinsic::nvvm_f2ui_rz, 65917}, // __nvvm_f2ui_rz
+ {Intrinsic::nvvm_f2ui_rz_ftz, 65932}, // __nvvm_f2ui_rz_ftz
+ {Intrinsic::nvvm_f2ull_rm, 65951}, // __nvvm_f2ull_rm
+ {Intrinsic::nvvm_f2ull_rm_ftz, 65967}, // __nvvm_f2ull_rm_ftz
+ {Intrinsic::nvvm_f2ull_rn, 65987}, // __nvvm_f2ull_rn
+ {Intrinsic::nvvm_f2ull_rn_ftz, 66003}, // __nvvm_f2ull_rn_ftz
+ {Intrinsic::nvvm_f2ull_rp, 66023}, // __nvvm_f2ull_rp
+ {Intrinsic::nvvm_f2ull_rp_ftz, 66039}, // __nvvm_f2ull_rp_ftz
+ {Intrinsic::nvvm_f2ull_rz, 66059}, // __nvvm_f2ull_rz
+ {Intrinsic::nvvm_f2ull_rz_ftz, 66075}, // __nvvm_f2ull_rz_ftz
+ {Intrinsic::nvvm_fabs_d, 66095}, // __nvvm_fabs_d
+ {Intrinsic::nvvm_fabs_f, 66109}, // __nvvm_fabs_f
+ {Intrinsic::nvvm_fabs_ftz_f, 66123}, // __nvvm_fabs_ftz_f
+ {Intrinsic::nvvm_floor_d, 66141}, // __nvvm_floor_d
+ {Intrinsic::nvvm_floor_f, 66156}, // __nvvm_floor_f
+ {Intrinsic::nvvm_floor_ftz_f, 66171}, // __nvvm_floor_ftz_f
+ {Intrinsic::nvvm_fma_rm_d, 66190}, // __nvvm_fma_rm_d
+ {Intrinsic::nvvm_fma_rm_f, 66206}, // __nvvm_fma_rm_f
+ {Intrinsic::nvvm_fma_rm_ftz_f, 66222}, // __nvvm_fma_rm_ftz_f
+ {Intrinsic::nvvm_fma_rn_d, 66242}, // __nvvm_fma_rn_d
+ {Intrinsic::nvvm_fma_rn_f, 66258}, // __nvvm_fma_rn_f
+ {Intrinsic::nvvm_fma_rn_ftz_f, 66274}, // __nvvm_fma_rn_ftz_f
+ {Intrinsic::nvvm_fma_rp_d, 66294}, // __nvvm_fma_rp_d
+ {Intrinsic::nvvm_fma_rp_f, 66310}, // __nvvm_fma_rp_f
+ {Intrinsic::nvvm_fma_rp_ftz_f, 66326}, // __nvvm_fma_rp_ftz_f
+ {Intrinsic::nvvm_fma_rz_d, 66346}, // __nvvm_fma_rz_d
+ {Intrinsic::nvvm_fma_rz_f, 66362}, // __nvvm_fma_rz_f
+ {Intrinsic::nvvm_fma_rz_ftz_f, 66378}, // __nvvm_fma_rz_ftz_f
+ {Intrinsic::nvvm_fmax_d, 66398}, // __nvvm_fmax_d
+ {Intrinsic::nvvm_fmax_f, 66412}, // __nvvm_fmax_f
+ {Intrinsic::nvvm_fmax_ftz_f, 66426}, // __nvvm_fmax_ftz_f
+ {Intrinsic::nvvm_fmin_d, 66444}, // __nvvm_fmin_d
+ {Intrinsic::nvvm_fmin_f, 66458}, // __nvvm_fmin_f
+ {Intrinsic::nvvm_fmin_ftz_f, 66472}, // __nvvm_fmin_ftz_f
+ {Intrinsic::nvvm_h2f, 66490}, // __nvvm_h2f
+ {Intrinsic::nvvm_i2d_rm, 66501}, // __nvvm_i2d_rm
+ {Intrinsic::nvvm_i2d_rn, 66515}, // __nvvm_i2d_rn
+ {Intrinsic::nvvm_i2d_rp, 66529}, // __nvvm_i2d_rp
+ {Intrinsic::nvvm_i2d_rz, 66543}, // __nvvm_i2d_rz
+ {Intrinsic::nvvm_i2f_rm, 66557}, // __nvvm_i2f_rm
+ {Intrinsic::nvvm_i2f_rn, 66571}, // __nvvm_i2f_rn
+ {Intrinsic::nvvm_i2f_rp, 66585}, // __nvvm_i2f_rp
+ {Intrinsic::nvvm_i2f_rz, 66599}, // __nvvm_i2f_rz
+ {Intrinsic::nvvm_isspacep_const, 66613}, // __nvvm_isspacep_const
+ {Intrinsic::nvvm_isspacep_global, 66635}, // __nvvm_isspacep_global
+ {Intrinsic::nvvm_isspacep_local, 66658}, // __nvvm_isspacep_local
+ {Intrinsic::nvvm_isspacep_shared, 66680}, // __nvvm_isspacep_shared
+ {Intrinsic::nvvm_istypep_sampler, 66703}, // __nvvm_istypep_sampler
+ {Intrinsic::nvvm_istypep_surface, 66726}, // __nvvm_istypep_surface
+ {Intrinsic::nvvm_istypep_texture, 66749}, // __nvvm_istypep_texture
+ {Intrinsic::nvvm_lg2_approx_d, 66772}, // __nvvm_lg2_approx_d
+ {Intrinsic::nvvm_lg2_approx_f, 66792}, // __nvvm_lg2_approx_f
+ {Intrinsic::nvvm_lg2_approx_ftz_f, 66812}, // __nvvm_lg2_approx_ftz_f
+ {Intrinsic::nvvm_ll2d_rm, 66836}, // __nvvm_ll2d_rm
+ {Intrinsic::nvvm_ll2d_rn, 66851}, // __nvvm_ll2d_rn
+ {Intrinsic::nvvm_ll2d_rp, 66866}, // __nvvm_ll2d_rp
+ {Intrinsic::nvvm_ll2d_rz, 66881}, // __nvvm_ll2d_rz
+ {Intrinsic::nvvm_ll2f_rm, 66896}, // __nvvm_ll2f_rm
+ {Intrinsic::nvvm_ll2f_rn, 66911}, // __nvvm_ll2f_rn
+ {Intrinsic::nvvm_ll2f_rp, 66926}, // __nvvm_ll2f_rp
+ {Intrinsic::nvvm_ll2f_rz, 66941}, // __nvvm_ll2f_rz
+ {Intrinsic::nvvm_lohi_i2d, 66956}, // __nvvm_lohi_i2d
+ {Intrinsic::nvvm_max_i, 66972}, // __nvvm_max_i
+ {Intrinsic::nvvm_max_ll, 66985}, // __nvvm_max_ll
+ {Intrinsic::nvvm_max_ui, 66999}, // __nvvm_max_ui
+ {Intrinsic::nvvm_max_ull, 67013}, // __nvvm_max_ull
+ {Intrinsic::nvvm_membar_cta, 67028}, // __nvvm_membar_cta
+ {Intrinsic::nvvm_membar_gl, 67046}, // __nvvm_membar_gl
+ {Intrinsic::nvvm_membar_sys, 67063}, // __nvvm_membar_sys
+ {Intrinsic::nvvm_min_i, 67081}, // __nvvm_min_i
+ {Intrinsic::nvvm_min_ll, 67094}, // __nvvm_min_ll
+ {Intrinsic::nvvm_min_ui, 67108}, // __nvvm_min_ui
+ {Intrinsic::nvvm_min_ull, 67122}, // __nvvm_min_ull
+ {Intrinsic::nvvm_mul24_i, 67345}, // __nvvm_mul24_i
+ {Intrinsic::nvvm_mul24_ui, 67360}, // __nvvm_mul24_ui
+ {Intrinsic::nvvm_mul_rm_d, 67137}, // __nvvm_mul_rm_d
+ {Intrinsic::nvvm_mul_rm_f, 67153}, // __nvvm_mul_rm_f
+ {Intrinsic::nvvm_mul_rm_ftz_f, 67169}, // __nvvm_mul_rm_ftz_f
+ {Intrinsic::nvvm_mul_rn_d, 67189}, // __nvvm_mul_rn_d
+ {Intrinsic::nvvm_mul_rn_f, 67205}, // __nvvm_mul_rn_f
+ {Intrinsic::nvvm_mul_rn_ftz_f, 67221}, // __nvvm_mul_rn_ftz_f
+ {Intrinsic::nvvm_mul_rp_d, 67241}, // __nvvm_mul_rp_d
+ {Intrinsic::nvvm_mul_rp_f, 67257}, // __nvvm_mul_rp_f
+ {Intrinsic::nvvm_mul_rp_ftz_f, 67273}, // __nvvm_mul_rp_ftz_f
+ {Intrinsic::nvvm_mul_rz_d, 67293}, // __nvvm_mul_rz_d
+ {Intrinsic::nvvm_mul_rz_f, 67309}, // __nvvm_mul_rz_f
+ {Intrinsic::nvvm_mul_rz_ftz_f, 67325}, // __nvvm_mul_rz_ftz_f
+ {Intrinsic::nvvm_mulhi_i, 67376}, // __nvvm_mulhi_i
+ {Intrinsic::nvvm_mulhi_ll, 67391}, // __nvvm_mulhi_ll
+ {Intrinsic::nvvm_mulhi_ui, 67407}, // __nvvm_mulhi_ui
+ {Intrinsic::nvvm_mulhi_ull, 67423}, // __nvvm_mulhi_ull
+ {Intrinsic::nvvm_popc_i, 67440}, // __nvvm_popc_i
+ {Intrinsic::nvvm_popc_ll, 67454}, // __nvvm_popc_ll
+ {Intrinsic::nvvm_prmt, 67469}, // __nvvm_prmt
+ {Intrinsic::nvvm_rcp_approx_ftz_d, 67481}, // __nvvm_rcp_approx_ftz_d
+ {Intrinsic::nvvm_rcp_rm_d, 67505}, // __nvvm_rcp_rm_d
+ {Intrinsic::nvvm_rcp_rm_f, 67521}, // __nvvm_rcp_rm_f
+ {Intrinsic::nvvm_rcp_rm_ftz_f, 67537}, // __nvvm_rcp_rm_ftz_f
+ {Intrinsic::nvvm_rcp_rn_d, 67557}, // __nvvm_rcp_rn_d
+ {Intrinsic::nvvm_rcp_rn_f, 67573}, // __nvvm_rcp_rn_f
+ {Intrinsic::nvvm_rcp_rn_ftz_f, 67589}, // __nvvm_rcp_rn_ftz_f
+ {Intrinsic::nvvm_rcp_rp_d, 67609}, // __nvvm_rcp_rp_d
+ {Intrinsic::nvvm_rcp_rp_f, 67625}, // __nvvm_rcp_rp_f
+ {Intrinsic::nvvm_rcp_rp_ftz_f, 67641}, // __nvvm_rcp_rp_ftz_f
+ {Intrinsic::nvvm_rcp_rz_d, 67661}, // __nvvm_rcp_rz_d
+ {Intrinsic::nvvm_rcp_rz_f, 67677}, // __nvvm_rcp_rz_f
+ {Intrinsic::nvvm_rcp_rz_ftz_f, 67693}, // __nvvm_rcp_rz_ftz_f
+ {Intrinsic::nvvm_read_ptx_sreg_clock, 67713}, // __nvvm_read_ptx_sreg_clock
+ {Intrinsic::nvvm_read_ptx_sreg_clock64, 67740}, // __nvvm_read_ptx_sreg_clock64
+ {Intrinsic::nvvm_read_ptx_sreg_ctaid_w, 67769}, // __nvvm_read_ptx_sreg_ctaid_w
+ {Intrinsic::nvvm_read_ptx_sreg_ctaid_x, 67798}, // __nvvm_read_ptx_sreg_ctaid_x
+ {Intrinsic::nvvm_read_ptx_sreg_ctaid_y, 67827}, // __nvvm_read_ptx_sreg_ctaid_y
+ {Intrinsic::nvvm_read_ptx_sreg_ctaid_z, 67856}, // __nvvm_read_ptx_sreg_ctaid_z
+ {Intrinsic::nvvm_read_ptx_sreg_envreg0, 67885}, // __nvvm_read_ptx_sreg_envreg0
+ {Intrinsic::nvvm_read_ptx_sreg_envreg1, 67914}, // __nvvm_read_ptx_sreg_envreg1
+ {Intrinsic::nvvm_read_ptx_sreg_envreg10, 67943}, // __nvvm_read_ptx_sreg_envreg10
+ {Intrinsic::nvvm_read_ptx_sreg_envreg11, 67973}, // __nvvm_read_ptx_sreg_envreg11
+ {Intrinsic::nvvm_read_ptx_sreg_envreg12, 68003}, // __nvvm_read_ptx_sreg_envreg12
+ {Intrinsic::nvvm_read_ptx_sreg_envreg13, 68033}, // __nvvm_read_ptx_sreg_envreg13
+ {Intrinsic::nvvm_read_ptx_sreg_envreg14, 68063}, // __nvvm_read_ptx_sreg_envreg14
+ {Intrinsic::nvvm_read_ptx_sreg_envreg15, 68093}, // __nvvm_read_ptx_sreg_envreg15
+ {Intrinsic::nvvm_read_ptx_sreg_envreg16, 68123}, // __nvvm_read_ptx_sreg_envreg16
+ {Intrinsic::nvvm_read_ptx_sreg_envreg17, 68153}, // __nvvm_read_ptx_sreg_envreg17
+ {Intrinsic::nvvm_read_ptx_sreg_envreg18, 68183}, // __nvvm_read_ptx_sreg_envreg18
+ {Intrinsic::nvvm_read_ptx_sreg_envreg19, 68213}, // __nvvm_read_ptx_sreg_envreg19
+ {Intrinsic::nvvm_read_ptx_sreg_envreg2, 68243}, // __nvvm_read_ptx_sreg_envreg2
+ {Intrinsic::nvvm_read_ptx_sreg_envreg20, 68272}, // __nvvm_read_ptx_sreg_envreg20
+ {Intrinsic::nvvm_read_ptx_sreg_envreg21, 68302}, // __nvvm_read_ptx_sreg_envreg21
+ {Intrinsic::nvvm_read_ptx_sreg_envreg22, 68332}, // __nvvm_read_ptx_sreg_envreg22
+ {Intrinsic::nvvm_read_ptx_sreg_envreg23, 68362}, // __nvvm_read_ptx_sreg_envreg23
+ {Intrinsic::nvvm_read_ptx_sreg_envreg24, 68392}, // __nvvm_read_ptx_sreg_envreg24
+ {Intrinsic::nvvm_read_ptx_sreg_envreg25, 68422}, // __nvvm_read_ptx_sreg_envreg25
+ {Intrinsic::nvvm_read_ptx_sreg_envreg26, 68452}, // __nvvm_read_ptx_sreg_envreg26
+ {Intrinsic::nvvm_read_ptx_sreg_envreg27, 68482}, // __nvvm_read_ptx_sreg_envreg27
+ {Intrinsic::nvvm_read_ptx_sreg_envreg28, 68512}, // __nvvm_read_ptx_sreg_envreg28
+ {Intrinsic::nvvm_read_ptx_sreg_envreg29, 68542}, // __nvvm_read_ptx_sreg_envreg29
+ {Intrinsic::nvvm_read_ptx_sreg_envreg3, 68572}, // __nvvm_read_ptx_sreg_envreg3
+ {Intrinsic::nvvm_read_ptx_sreg_envreg30, 68601}, // __nvvm_read_ptx_sreg_envreg30
+ {Intrinsic::nvvm_read_ptx_sreg_envreg31, 68631}, // __nvvm_read_ptx_sreg_envreg31
+ {Intrinsic::nvvm_read_ptx_sreg_envreg4, 68661}, // __nvvm_read_ptx_sreg_envreg4
+ {Intrinsic::nvvm_read_ptx_sreg_envreg5, 68690}, // __nvvm_read_ptx_sreg_envreg5
+ {Intrinsic::nvvm_read_ptx_sreg_envreg6, 68719}, // __nvvm_read_ptx_sreg_envreg6
+ {Intrinsic::nvvm_read_ptx_sreg_envreg7, 68748}, // __nvvm_read_ptx_sreg_envreg7
+ {Intrinsic::nvvm_read_ptx_sreg_envreg8, 68777}, // __nvvm_read_ptx_sreg_envreg8
+ {Intrinsic::nvvm_read_ptx_sreg_envreg9, 68806}, // __nvvm_read_ptx_sreg_envreg9
+ {Intrinsic::nvvm_read_ptx_sreg_gridid, 68835}, // __nvvm_read_ptx_sreg_gridid
+ {Intrinsic::nvvm_read_ptx_sreg_laneid, 68863}, // __nvvm_read_ptx_sreg_laneid
+ {Intrinsic::nvvm_read_ptx_sreg_lanemask_eq, 68891}, // __nvvm_read_ptx_sreg_lanemask_eq
+ {Intrinsic::nvvm_read_ptx_sreg_lanemask_ge, 68924}, // __nvvm_read_ptx_sreg_lanemask_ge
+ {Intrinsic::nvvm_read_ptx_sreg_lanemask_gt, 68957}, // __nvvm_read_ptx_sreg_lanemask_gt
+ {Intrinsic::nvvm_read_ptx_sreg_lanemask_le, 68990}, // __nvvm_read_ptx_sreg_lanemask_le
+ {Intrinsic::nvvm_read_ptx_sreg_lanemask_lt, 69023}, // __nvvm_read_ptx_sreg_lanemask_lt
+ {Intrinsic::nvvm_read_ptx_sreg_nctaid_w, 69056}, // __nvvm_read_ptx_sreg_nctaid_w
+ {Intrinsic::nvvm_read_ptx_sreg_nctaid_x, 69086}, // __nvvm_read_ptx_sreg_nctaid_x
+ {Intrinsic::nvvm_read_ptx_sreg_nctaid_y, 69116}, // __nvvm_read_ptx_sreg_nctaid_y
+ {Intrinsic::nvvm_read_ptx_sreg_nctaid_z, 69146}, // __nvvm_read_ptx_sreg_nctaid_z
+ {Intrinsic::nvvm_read_ptx_sreg_nsmid, 69176}, // __nvvm_read_ptx_sreg_nsmid
+ {Intrinsic::nvvm_read_ptx_sreg_ntid_w, 69203}, // __nvvm_read_ptx_sreg_ntid_w
+ {Intrinsic::nvvm_read_ptx_sreg_ntid_x, 69231}, // __nvvm_read_ptx_sreg_ntid_x
+ {Intrinsic::nvvm_read_ptx_sreg_ntid_y, 69259}, // __nvvm_read_ptx_sreg_ntid_y
+ {Intrinsic::nvvm_read_ptx_sreg_ntid_z, 69287}, // __nvvm_read_ptx_sreg_ntid_z
+ {Intrinsic::nvvm_read_ptx_sreg_nwarpid, 69315}, // __nvvm_read_ptx_sreg_nwarpid
+ {Intrinsic::nvvm_read_ptx_sreg_pm0, 69344}, // __nvvm_read_ptx_sreg_pm0
+ {Intrinsic::nvvm_read_ptx_sreg_pm1, 69369}, // __nvvm_read_ptx_sreg_pm1
+ {Intrinsic::nvvm_read_ptx_sreg_pm2, 69394}, // __nvvm_read_ptx_sreg_pm2
+ {Intrinsic::nvvm_read_ptx_sreg_pm3, 69419}, // __nvvm_read_ptx_sreg_pm3
+ {Intrinsic::nvvm_read_ptx_sreg_smid, 69444}, // __nvvm_read_ptx_sreg_smid
+ {Intrinsic::nvvm_read_ptx_sreg_tid_w, 69470}, // __nvvm_read_ptx_sreg_tid_w
+ {Intrinsic::nvvm_read_ptx_sreg_tid_x, 69497}, // __nvvm_read_ptx_sreg_tid_x
+ {Intrinsic::nvvm_read_ptx_sreg_tid_y, 69524}, // __nvvm_read_ptx_sreg_tid_y
+ {Intrinsic::nvvm_read_ptx_sreg_tid_z, 69551}, // __nvvm_read_ptx_sreg_tid_z
+ {Intrinsic::nvvm_read_ptx_sreg_warpid, 69578}, // __nvvm_read_ptx_sreg_warpid
+ {Intrinsic::nvvm_read_ptx_sreg_warpsize, 69606}, // __nvvm_read_ptx_sreg_warpsize
+ {Intrinsic::nvvm_rotate_b32, 69636}, // __nvvm_rotate_b32
+ {Intrinsic::nvvm_rotate_b64, 69654}, // __nvvm_rotate_b64
+ {Intrinsic::nvvm_rotate_right_b64, 69672}, // __nvvm_rotate_right_b64
+ {Intrinsic::nvvm_round_d, 69696}, // __nvvm_round_d
+ {Intrinsic::nvvm_round_f, 69711}, // __nvvm_round_f
+ {Intrinsic::nvvm_round_ftz_f, 69726}, // __nvvm_round_ftz_f
+ {Intrinsic::nvvm_rsqrt_approx_d, 69745}, // __nvvm_rsqrt_approx_d
+ {Intrinsic::nvvm_rsqrt_approx_f, 69767}, // __nvvm_rsqrt_approx_f
+ {Intrinsic::nvvm_rsqrt_approx_ftz_f, 69789}, // __nvvm_rsqrt_approx_ftz_f
+ {Intrinsic::nvvm_sad_i, 69815}, // __nvvm_sad_i
+ {Intrinsic::nvvm_sad_ui, 69828}, // __nvvm_sad_ui
+ {Intrinsic::nvvm_saturate_d, 69842}, // __nvvm_saturate_d
+ {Intrinsic::nvvm_saturate_f, 69860}, // __nvvm_saturate_f
+ {Intrinsic::nvvm_saturate_ftz_f, 69878}, // __nvvm_saturate_ftz_f
+ {Intrinsic::nvvm_shfl_bfly_f32, 69900}, // __nvvm_shfl_bfly_f32
+ {Intrinsic::nvvm_shfl_bfly_i32, 69921}, // __nvvm_shfl_bfly_i32
+ {Intrinsic::nvvm_shfl_down_f32, 69942}, // __nvvm_shfl_down_f32
+ {Intrinsic::nvvm_shfl_down_i32, 69963}, // __nvvm_shfl_down_i32
+ {Intrinsic::nvvm_shfl_idx_f32, 69984}, // __nvvm_shfl_idx_f32
+ {Intrinsic::nvvm_shfl_idx_i32, 70004}, // __nvvm_shfl_idx_i32
+ {Intrinsic::nvvm_shfl_up_f32, 70024}, // __nvvm_shfl_up_f32
+ {Intrinsic::nvvm_shfl_up_i32, 70043}, // __nvvm_shfl_up_i32
+ {Intrinsic::nvvm_sin_approx_f, 70062}, // __nvvm_sin_approx_f
+ {Intrinsic::nvvm_sin_approx_ftz_f, 70082}, // __nvvm_sin_approx_ftz_f
+ {Intrinsic::nvvm_sqrt_approx_f, 70106}, // __nvvm_sqrt_approx_f
+ {Intrinsic::nvvm_sqrt_approx_ftz_f, 70127}, // __nvvm_sqrt_approx_ftz_f
+ {Intrinsic::nvvm_sqrt_f, 70152}, // __nvvm_sqrt_f
+ {Intrinsic::nvvm_sqrt_rm_d, 70166}, // __nvvm_sqrt_rm_d
+ {Intrinsic::nvvm_sqrt_rm_f, 70183}, // __nvvm_sqrt_rm_f
+ {Intrinsic::nvvm_sqrt_rm_ftz_f, 70200}, // __nvvm_sqrt_rm_ftz_f
+ {Intrinsic::nvvm_sqrt_rn_d, 70221}, // __nvvm_sqrt_rn_d
+ {Intrinsic::nvvm_sqrt_rn_f, 70238}, // __nvvm_sqrt_rn_f
+ {Intrinsic::nvvm_sqrt_rn_ftz_f, 70255}, // __nvvm_sqrt_rn_ftz_f
+ {Intrinsic::nvvm_sqrt_rp_d, 70276}, // __nvvm_sqrt_rp_d
+ {Intrinsic::nvvm_sqrt_rp_f, 70293}, // __nvvm_sqrt_rp_f
+ {Intrinsic::nvvm_sqrt_rp_ftz_f, 70310}, // __nvvm_sqrt_rp_ftz_f
+ {Intrinsic::nvvm_sqrt_rz_d, 70331}, // __nvvm_sqrt_rz_d
+ {Intrinsic::nvvm_sqrt_rz_f, 70348}, // __nvvm_sqrt_rz_f
+ {Intrinsic::nvvm_sqrt_rz_ftz_f, 70365}, // __nvvm_sqrt_rz_ftz_f
+ {Intrinsic::nvvm_suq_array_size, 70386}, // __nvvm_suq_array_size
+ {Intrinsic::nvvm_suq_channel_data_type, 70408}, // __nvvm_suq_channel_data_type
+ {Intrinsic::nvvm_suq_channel_order, 70437}, // __nvvm_suq_channel_order
+ {Intrinsic::nvvm_suq_depth, 70462}, // __nvvm_suq_depth
+ {Intrinsic::nvvm_suq_height, 70479}, // __nvvm_suq_height
+ {Intrinsic::nvvm_suq_width, 70497}, // __nvvm_suq_width
+ {Intrinsic::nvvm_sust_b_1d_array_i16_clamp, 70514}, // __nvvm_sust_b_1d_array_i16_clamp
+ {Intrinsic::nvvm_sust_b_1d_array_i16_trap, 70547}, // __nvvm_sust_b_1d_array_i16_trap
+ {Intrinsic::nvvm_sust_b_1d_array_i16_zero, 70579}, // __nvvm_sust_b_1d_array_i16_zero
+ {Intrinsic::nvvm_sust_b_1d_array_i32_clamp, 70611}, // __nvvm_sust_b_1d_array_i32_clamp
+ {Intrinsic::nvvm_sust_b_1d_array_i32_trap, 70644}, // __nvvm_sust_b_1d_array_i32_trap
+ {Intrinsic::nvvm_sust_b_1d_array_i32_zero, 70676}, // __nvvm_sust_b_1d_array_i32_zero
+ {Intrinsic::nvvm_sust_b_1d_array_i64_clamp, 70708}, // __nvvm_sust_b_1d_array_i64_clamp
+ {Intrinsic::nvvm_sust_b_1d_array_i64_trap, 70741}, // __nvvm_sust_b_1d_array_i64_trap
+ {Intrinsic::nvvm_sust_b_1d_array_i64_zero, 70773}, // __nvvm_sust_b_1d_array_i64_zero
+ {Intrinsic::nvvm_sust_b_1d_array_i8_clamp, 70805}, // __nvvm_sust_b_1d_array_i8_clamp
+ {Intrinsic::nvvm_sust_b_1d_array_i8_trap, 70837}, // __nvvm_sust_b_1d_array_i8_trap
+ {Intrinsic::nvvm_sust_b_1d_array_i8_zero, 70868}, // __nvvm_sust_b_1d_array_i8_zero
+ {Intrinsic::nvvm_sust_b_1d_array_v2i16_clamp, 70899}, // __nvvm_sust_b_1d_array_v2i16_clamp
+ {Intrinsic::nvvm_sust_b_1d_array_v2i16_trap, 70934}, // __nvvm_sust_b_1d_array_v2i16_trap
+ {Intrinsic::nvvm_sust_b_1d_array_v2i16_zero, 70968}, // __nvvm_sust_b_1d_array_v2i16_zero
+ {Intrinsic::nvvm_sust_b_1d_array_v2i32_clamp, 71002}, // __nvvm_sust_b_1d_array_v2i32_clamp
+ {Intrinsic::nvvm_sust_b_1d_array_v2i32_trap, 71037}, // __nvvm_sust_b_1d_array_v2i32_trap
+ {Intrinsic::nvvm_sust_b_1d_array_v2i32_zero, 71071}, // __nvvm_sust_b_1d_array_v2i32_zero
+ {Intrinsic::nvvm_sust_b_1d_array_v2i64_clamp, 71105}, // __nvvm_sust_b_1d_array_v2i64_clamp
+ {Intrinsic::nvvm_sust_b_1d_array_v2i64_trap, 71140}, // __nvvm_sust_b_1d_array_v2i64_trap
+ {Intrinsic::nvvm_sust_b_1d_array_v2i64_zero, 71174}, // __nvvm_sust_b_1d_array_v2i64_zero
+ {Intrinsic::nvvm_sust_b_1d_array_v2i8_clamp, 71208}, // __nvvm_sust_b_1d_array_v2i8_clamp
+ {Intrinsic::nvvm_sust_b_1d_array_v2i8_trap, 71242}, // __nvvm_sust_b_1d_array_v2i8_trap
+ {Intrinsic::nvvm_sust_b_1d_array_v2i8_zero, 71275}, // __nvvm_sust_b_1d_array_v2i8_zero
+ {Intrinsic::nvvm_sust_b_1d_array_v4i16_clamp, 71308}, // __nvvm_sust_b_1d_array_v4i16_clamp
+ {Intrinsic::nvvm_sust_b_1d_array_v4i16_trap, 71343}, // __nvvm_sust_b_1d_array_v4i16_trap
+ {Intrinsic::nvvm_sust_b_1d_array_v4i16_zero, 71377}, // __nvvm_sust_b_1d_array_v4i16_zero
+ {Intrinsic::nvvm_sust_b_1d_array_v4i32_clamp, 71411}, // __nvvm_sust_b_1d_array_v4i32_clamp
+ {Intrinsic::nvvm_sust_b_1d_array_v4i32_trap, 71446}, // __nvvm_sust_b_1d_array_v4i32_trap
+ {Intrinsic::nvvm_sust_b_1d_array_v4i32_zero, 71480}, // __nvvm_sust_b_1d_array_v4i32_zero
+ {Intrinsic::nvvm_sust_b_1d_array_v4i8_clamp, 71514}, // __nvvm_sust_b_1d_array_v4i8_clamp
+ {Intrinsic::nvvm_sust_b_1d_array_v4i8_trap, 71548}, // __nvvm_sust_b_1d_array_v4i8_trap
+ {Intrinsic::nvvm_sust_b_1d_array_v4i8_zero, 71581}, // __nvvm_sust_b_1d_array_v4i8_zero
+ {Intrinsic::nvvm_sust_b_1d_i16_clamp, 71614}, // __nvvm_sust_b_1d_i16_clamp
+ {Intrinsic::nvvm_sust_b_1d_i16_trap, 71641}, // __nvvm_sust_b_1d_i16_trap
+ {Intrinsic::nvvm_sust_b_1d_i16_zero, 71667}, // __nvvm_sust_b_1d_i16_zero
+ {Intrinsic::nvvm_sust_b_1d_i32_clamp, 71693}, // __nvvm_sust_b_1d_i32_clamp
+ {Intrinsic::nvvm_sust_b_1d_i32_trap, 71720}, // __nvvm_sust_b_1d_i32_trap
+ {Intrinsic::nvvm_sust_b_1d_i32_zero, 71746}, // __nvvm_sust_b_1d_i32_zero
+ {Intrinsic::nvvm_sust_b_1d_i64_clamp, 71772}, // __nvvm_sust_b_1d_i64_clamp
+ {Intrinsic::nvvm_sust_b_1d_i64_trap, 71799}, // __nvvm_sust_b_1d_i64_trap
+ {Intrinsic::nvvm_sust_b_1d_i64_zero, 71825}, // __nvvm_sust_b_1d_i64_zero
+ {Intrinsic::nvvm_sust_b_1d_i8_clamp, 71851}, // __nvvm_sust_b_1d_i8_clamp
+ {Intrinsic::nvvm_sust_b_1d_i8_trap, 71877}, // __nvvm_sust_b_1d_i8_trap
+ {Intrinsic::nvvm_sust_b_1d_i8_zero, 71902}, // __nvvm_sust_b_1d_i8_zero
+ {Intrinsic::nvvm_sust_b_1d_v2i16_clamp, 71927}, // __nvvm_sust_b_1d_v2i16_clamp
+ {Intrinsic::nvvm_sust_b_1d_v2i16_trap, 71956}, // __nvvm_sust_b_1d_v2i16_trap
+ {Intrinsic::nvvm_sust_b_1d_v2i16_zero, 71984}, // __nvvm_sust_b_1d_v2i16_zero
+ {Intrinsic::nvvm_sust_b_1d_v2i32_clamp, 72012}, // __nvvm_sust_b_1d_v2i32_clamp
+ {Intrinsic::nvvm_sust_b_1d_v2i32_trap, 72041}, // __nvvm_sust_b_1d_v2i32_trap
+ {Intrinsic::nvvm_sust_b_1d_v2i32_zero, 72069}, // __nvvm_sust_b_1d_v2i32_zero
+ {Intrinsic::nvvm_sust_b_1d_v2i64_clamp, 72097}, // __nvvm_sust_b_1d_v2i64_clamp
+ {Intrinsic::nvvm_sust_b_1d_v2i64_trap, 72126}, // __nvvm_sust_b_1d_v2i64_trap
+ {Intrinsic::nvvm_sust_b_1d_v2i64_zero, 72154}, // __nvvm_sust_b_1d_v2i64_zero
+ {Intrinsic::nvvm_sust_b_1d_v2i8_clamp, 72182}, // __nvvm_sust_b_1d_v2i8_clamp
+ {Intrinsic::nvvm_sust_b_1d_v2i8_trap, 72210}, // __nvvm_sust_b_1d_v2i8_trap
+ {Intrinsic::nvvm_sust_b_1d_v2i8_zero, 72237}, // __nvvm_sust_b_1d_v2i8_zero
+ {Intrinsic::nvvm_sust_b_1d_v4i16_clamp, 72264}, // __nvvm_sust_b_1d_v4i16_clamp
+ {Intrinsic::nvvm_sust_b_1d_v4i16_trap, 72293}, // __nvvm_sust_b_1d_v4i16_trap
+ {Intrinsic::nvvm_sust_b_1d_v4i16_zero, 72321}, // __nvvm_sust_b_1d_v4i16_zero
+ {Intrinsic::nvvm_sust_b_1d_v4i32_clamp, 72349}, // __nvvm_sust_b_1d_v4i32_clamp
+ {Intrinsic::nvvm_sust_b_1d_v4i32_trap, 72378}, // __nvvm_sust_b_1d_v4i32_trap
+ {Intrinsic::nvvm_sust_b_1d_v4i32_zero, 72406}, // __nvvm_sust_b_1d_v4i32_zero
+ {Intrinsic::nvvm_sust_b_1d_v4i8_clamp, 72434}, // __nvvm_sust_b_1d_v4i8_clamp
+ {Intrinsic::nvvm_sust_b_1d_v4i8_trap, 72462}, // __nvvm_sust_b_1d_v4i8_trap
+ {Intrinsic::nvvm_sust_b_1d_v4i8_zero, 72489}, // __nvvm_sust_b_1d_v4i8_zero
+ {Intrinsic::nvvm_sust_b_2d_array_i16_clamp, 72516}, // __nvvm_sust_b_2d_array_i16_clamp
+ {Intrinsic::nvvm_sust_b_2d_array_i16_trap, 72549}, // __nvvm_sust_b_2d_array_i16_trap
+ {Intrinsic::nvvm_sust_b_2d_array_i16_zero, 72581}, // __nvvm_sust_b_2d_array_i16_zero
+ {Intrinsic::nvvm_sust_b_2d_array_i32_clamp, 72613}, // __nvvm_sust_b_2d_array_i32_clamp
+ {Intrinsic::nvvm_sust_b_2d_array_i32_trap, 72646}, // __nvvm_sust_b_2d_array_i32_trap
+ {Intrinsic::nvvm_sust_b_2d_array_i32_zero, 72678}, // __nvvm_sust_b_2d_array_i32_zero
+ {Intrinsic::nvvm_sust_b_2d_array_i64_clamp, 72710}, // __nvvm_sust_b_2d_array_i64_clamp
+ {Intrinsic::nvvm_sust_b_2d_array_i64_trap, 72743}, // __nvvm_sust_b_2d_array_i64_trap
+ {Intrinsic::nvvm_sust_b_2d_array_i64_zero, 72775}, // __nvvm_sust_b_2d_array_i64_zero
+ {Intrinsic::nvvm_sust_b_2d_array_i8_clamp, 72807}, // __nvvm_sust_b_2d_array_i8_clamp
+ {Intrinsic::nvvm_sust_b_2d_array_i8_trap, 72839}, // __nvvm_sust_b_2d_array_i8_trap
+ {Intrinsic::nvvm_sust_b_2d_array_i8_zero, 72870}, // __nvvm_sust_b_2d_array_i8_zero
+ {Intrinsic::nvvm_sust_b_2d_array_v2i16_clamp, 72901}, // __nvvm_sust_b_2d_array_v2i16_clamp
+ {Intrinsic::nvvm_sust_b_2d_array_v2i16_trap, 72936}, // __nvvm_sust_b_2d_array_v2i16_trap
+ {Intrinsic::nvvm_sust_b_2d_array_v2i16_zero, 72970}, // __nvvm_sust_b_2d_array_v2i16_zero
+ {Intrinsic::nvvm_sust_b_2d_array_v2i32_clamp, 73004}, // __nvvm_sust_b_2d_array_v2i32_clamp
+ {Intrinsic::nvvm_sust_b_2d_array_v2i32_trap, 73039}, // __nvvm_sust_b_2d_array_v2i32_trap
+ {Intrinsic::nvvm_sust_b_2d_array_v2i32_zero, 73073}, // __nvvm_sust_b_2d_array_v2i32_zero
+ {Intrinsic::nvvm_sust_b_2d_array_v2i64_clamp, 73107}, // __nvvm_sust_b_2d_array_v2i64_clamp
+ {Intrinsic::nvvm_sust_b_2d_array_v2i64_trap, 73142}, // __nvvm_sust_b_2d_array_v2i64_trap
+ {Intrinsic::nvvm_sust_b_2d_array_v2i64_zero, 73176}, // __nvvm_sust_b_2d_array_v2i64_zero
+ {Intrinsic::nvvm_sust_b_2d_array_v2i8_clamp, 73210}, // __nvvm_sust_b_2d_array_v2i8_clamp
+ {Intrinsic::nvvm_sust_b_2d_array_v2i8_trap, 73244}, // __nvvm_sust_b_2d_array_v2i8_trap
+ {Intrinsic::nvvm_sust_b_2d_array_v2i8_zero, 73277}, // __nvvm_sust_b_2d_array_v2i8_zero
+ {Intrinsic::nvvm_sust_b_2d_array_v4i16_clamp, 73310}, // __nvvm_sust_b_2d_array_v4i16_clamp
+ {Intrinsic::nvvm_sust_b_2d_array_v4i16_trap, 73345}, // __nvvm_sust_b_2d_array_v4i16_trap
+ {Intrinsic::nvvm_sust_b_2d_array_v4i16_zero, 73379}, // __nvvm_sust_b_2d_array_v4i16_zero
+ {Intrinsic::nvvm_sust_b_2d_array_v4i32_clamp, 73413}, // __nvvm_sust_b_2d_array_v4i32_clamp
+ {Intrinsic::nvvm_sust_b_2d_array_v4i32_trap, 73448}, // __nvvm_sust_b_2d_array_v4i32_trap
+ {Intrinsic::nvvm_sust_b_2d_array_v4i32_zero, 73482}, // __nvvm_sust_b_2d_array_v4i32_zero
+ {Intrinsic::nvvm_sust_b_2d_array_v4i8_clamp, 73516}, // __nvvm_sust_b_2d_array_v4i8_clamp
+ {Intrinsic::nvvm_sust_b_2d_array_v4i8_trap, 73550}, // __nvvm_sust_b_2d_array_v4i8_trap
+ {Intrinsic::nvvm_sust_b_2d_array_v4i8_zero, 73583}, // __nvvm_sust_b_2d_array_v4i8_zero
+ {Intrinsic::nvvm_sust_b_2d_i16_clamp, 73616}, // __nvvm_sust_b_2d_i16_clamp
+ {Intrinsic::nvvm_sust_b_2d_i16_trap, 73643}, // __nvvm_sust_b_2d_i16_trap
+ {Intrinsic::nvvm_sust_b_2d_i16_zero, 73669}, // __nvvm_sust_b_2d_i16_zero
+ {Intrinsic::nvvm_sust_b_2d_i32_clamp, 73695}, // __nvvm_sust_b_2d_i32_clamp
+ {Intrinsic::nvvm_sust_b_2d_i32_trap, 73722}, // __nvvm_sust_b_2d_i32_trap
+ {Intrinsic::nvvm_sust_b_2d_i32_zero, 73748}, // __nvvm_sust_b_2d_i32_zero
+ {Intrinsic::nvvm_sust_b_2d_i64_clamp, 73774}, // __nvvm_sust_b_2d_i64_clamp
+ {Intrinsic::nvvm_sust_b_2d_i64_trap, 73801}, // __nvvm_sust_b_2d_i64_trap
+ {Intrinsic::nvvm_sust_b_2d_i64_zero, 73827}, // __nvvm_sust_b_2d_i64_zero
+ {Intrinsic::nvvm_sust_b_2d_i8_clamp, 73853}, // __nvvm_sust_b_2d_i8_clamp
+ {Intrinsic::nvvm_sust_b_2d_i8_trap, 73879}, // __nvvm_sust_b_2d_i8_trap
+ {Intrinsic::nvvm_sust_b_2d_i8_zero, 73904}, // __nvvm_sust_b_2d_i8_zero
+ {Intrinsic::nvvm_sust_b_2d_v2i16_clamp, 73929}, // __nvvm_sust_b_2d_v2i16_clamp
+ {Intrinsic::nvvm_sust_b_2d_v2i16_trap, 73958}, // __nvvm_sust_b_2d_v2i16_trap
+ {Intrinsic::nvvm_sust_b_2d_v2i16_zero, 73986}, // __nvvm_sust_b_2d_v2i16_zero
+ {Intrinsic::nvvm_sust_b_2d_v2i32_clamp, 74014}, // __nvvm_sust_b_2d_v2i32_clamp
+ {Intrinsic::nvvm_sust_b_2d_v2i32_trap, 74043}, // __nvvm_sust_b_2d_v2i32_trap
+ {Intrinsic::nvvm_sust_b_2d_v2i32_zero, 74071}, // __nvvm_sust_b_2d_v2i32_zero
+ {Intrinsic::nvvm_sust_b_2d_v2i64_clamp, 74099}, // __nvvm_sust_b_2d_v2i64_clamp
+ {Intrinsic::nvvm_sust_b_2d_v2i64_trap, 74128}, // __nvvm_sust_b_2d_v2i64_trap
+ {Intrinsic::nvvm_sust_b_2d_v2i64_zero, 74156}, // __nvvm_sust_b_2d_v2i64_zero
+ {Intrinsic::nvvm_sust_b_2d_v2i8_clamp, 74184}, // __nvvm_sust_b_2d_v2i8_clamp
+ {Intrinsic::nvvm_sust_b_2d_v2i8_trap, 74212}, // __nvvm_sust_b_2d_v2i8_trap
+ {Intrinsic::nvvm_sust_b_2d_v2i8_zero, 74239}, // __nvvm_sust_b_2d_v2i8_zero
+ {Intrinsic::nvvm_sust_b_2d_v4i16_clamp, 74266}, // __nvvm_sust_b_2d_v4i16_clamp
+ {Intrinsic::nvvm_sust_b_2d_v4i16_trap, 74295}, // __nvvm_sust_b_2d_v4i16_trap
+ {Intrinsic::nvvm_sust_b_2d_v4i16_zero, 74323}, // __nvvm_sust_b_2d_v4i16_zero
+ {Intrinsic::nvvm_sust_b_2d_v4i32_clamp, 74351}, // __nvvm_sust_b_2d_v4i32_clamp
+ {Intrinsic::nvvm_sust_b_2d_v4i32_trap, 74380}, // __nvvm_sust_b_2d_v4i32_trap
+ {Intrinsic::nvvm_sust_b_2d_v4i32_zero, 74408}, // __nvvm_sust_b_2d_v4i32_zero
+ {Intrinsic::nvvm_sust_b_2d_v4i8_clamp, 74436}, // __nvvm_sust_b_2d_v4i8_clamp
+ {Intrinsic::nvvm_sust_b_2d_v4i8_trap, 74464}, // __nvvm_sust_b_2d_v4i8_trap
+ {Intrinsic::nvvm_sust_b_2d_v4i8_zero, 74491}, // __nvvm_sust_b_2d_v4i8_zero
+ {Intrinsic::nvvm_sust_b_3d_i16_clamp, 74518}, // __nvvm_sust_b_3d_i16_clamp
+ {Intrinsic::nvvm_sust_b_3d_i16_trap, 74545}, // __nvvm_sust_b_3d_i16_trap
+ {Intrinsic::nvvm_sust_b_3d_i16_zero, 74571}, // __nvvm_sust_b_3d_i16_zero
+ {Intrinsic::nvvm_sust_b_3d_i32_clamp, 74597}, // __nvvm_sust_b_3d_i32_clamp
+ {Intrinsic::nvvm_sust_b_3d_i32_trap, 74624}, // __nvvm_sust_b_3d_i32_trap
+ {Intrinsic::nvvm_sust_b_3d_i32_zero, 74650}, // __nvvm_sust_b_3d_i32_zero
+ {Intrinsic::nvvm_sust_b_3d_i64_clamp, 74676}, // __nvvm_sust_b_3d_i64_clamp
+ {Intrinsic::nvvm_sust_b_3d_i64_trap, 74703}, // __nvvm_sust_b_3d_i64_trap
+ {Intrinsic::nvvm_sust_b_3d_i64_zero, 74729}, // __nvvm_sust_b_3d_i64_zero
+ {Intrinsic::nvvm_sust_b_3d_i8_clamp, 74755}, // __nvvm_sust_b_3d_i8_clamp
+ {Intrinsic::nvvm_sust_b_3d_i8_trap, 74781}, // __nvvm_sust_b_3d_i8_trap
+ {Intrinsic::nvvm_sust_b_3d_i8_zero, 74806}, // __nvvm_sust_b_3d_i8_zero
+ {Intrinsic::nvvm_sust_b_3d_v2i16_clamp, 74831}, // __nvvm_sust_b_3d_v2i16_clamp
+ {Intrinsic::nvvm_sust_b_3d_v2i16_trap, 74860}, // __nvvm_sust_b_3d_v2i16_trap
+ {Intrinsic::nvvm_sust_b_3d_v2i16_zero, 74888}, // __nvvm_sust_b_3d_v2i16_zero
+ {Intrinsic::nvvm_sust_b_3d_v2i32_clamp, 74916}, // __nvvm_sust_b_3d_v2i32_clamp
+ {Intrinsic::nvvm_sust_b_3d_v2i32_trap, 74945}, // __nvvm_sust_b_3d_v2i32_trap
+ {Intrinsic::nvvm_sust_b_3d_v2i32_zero, 74973}, // __nvvm_sust_b_3d_v2i32_zero
+ {Intrinsic::nvvm_sust_b_3d_v2i64_clamp, 75001}, // __nvvm_sust_b_3d_v2i64_clamp
+ {Intrinsic::nvvm_sust_b_3d_v2i64_trap, 75030}, // __nvvm_sust_b_3d_v2i64_trap
+ {Intrinsic::nvvm_sust_b_3d_v2i64_zero, 75058}, // __nvvm_sust_b_3d_v2i64_zero
+ {Intrinsic::nvvm_sust_b_3d_v2i8_clamp, 75086}, // __nvvm_sust_b_3d_v2i8_clamp
+ {Intrinsic::nvvm_sust_b_3d_v2i8_trap, 75114}, // __nvvm_sust_b_3d_v2i8_trap
+ {Intrinsic::nvvm_sust_b_3d_v2i8_zero, 75141}, // __nvvm_sust_b_3d_v2i8_zero
+ {Intrinsic::nvvm_sust_b_3d_v4i16_clamp, 75168}, // __nvvm_sust_b_3d_v4i16_clamp
+ {Intrinsic::nvvm_sust_b_3d_v4i16_trap, 75197}, // __nvvm_sust_b_3d_v4i16_trap
+ {Intrinsic::nvvm_sust_b_3d_v4i16_zero, 75225}, // __nvvm_sust_b_3d_v4i16_zero
+ {Intrinsic::nvvm_sust_b_3d_v4i32_clamp, 75253}, // __nvvm_sust_b_3d_v4i32_clamp
+ {Intrinsic::nvvm_sust_b_3d_v4i32_trap, 75282}, // __nvvm_sust_b_3d_v4i32_trap
+ {Intrinsic::nvvm_sust_b_3d_v4i32_zero, 75310}, // __nvvm_sust_b_3d_v4i32_zero
+ {Intrinsic::nvvm_sust_b_3d_v4i8_clamp, 75338}, // __nvvm_sust_b_3d_v4i8_clamp
+ {Intrinsic::nvvm_sust_b_3d_v4i8_trap, 75366}, // __nvvm_sust_b_3d_v4i8_trap
+ {Intrinsic::nvvm_sust_b_3d_v4i8_zero, 75393}, // __nvvm_sust_b_3d_v4i8_zero
+ {Intrinsic::nvvm_sust_p_1d_array_i16_trap, 75420}, // __nvvm_sust_p_1d_array_i16_trap
+ {Intrinsic::nvvm_sust_p_1d_array_i32_trap, 75452}, // __nvvm_sust_p_1d_array_i32_trap
+ {Intrinsic::nvvm_sust_p_1d_array_i8_trap, 75484}, // __nvvm_sust_p_1d_array_i8_trap
+ {Intrinsic::nvvm_sust_p_1d_array_v2i16_trap, 75515}, // __nvvm_sust_p_1d_array_v2i16_trap
+ {Intrinsic::nvvm_sust_p_1d_array_v2i32_trap, 75549}, // __nvvm_sust_p_1d_array_v2i32_trap
+ {Intrinsic::nvvm_sust_p_1d_array_v2i8_trap, 75583}, // __nvvm_sust_p_1d_array_v2i8_trap
+ {Intrinsic::nvvm_sust_p_1d_array_v4i16_trap, 75616}, // __nvvm_sust_p_1d_array_v4i16_trap
+ {Intrinsic::nvvm_sust_p_1d_array_v4i32_trap, 75650}, // __nvvm_sust_p_1d_array_v4i32_trap
+ {Intrinsic::nvvm_sust_p_1d_array_v4i8_trap, 75684}, // __nvvm_sust_p_1d_array_v4i8_trap
+ {Intrinsic::nvvm_sust_p_1d_i16_trap, 75717}, // __nvvm_sust_p_1d_i16_trap
+ {Intrinsic::nvvm_sust_p_1d_i32_trap, 75743}, // __nvvm_sust_p_1d_i32_trap
+ {Intrinsic::nvvm_sust_p_1d_i8_trap, 75769}, // __nvvm_sust_p_1d_i8_trap
+ {Intrinsic::nvvm_sust_p_1d_v2i16_trap, 75794}, // __nvvm_sust_p_1d_v2i16_trap
+ {Intrinsic::nvvm_sust_p_1d_v2i32_trap, 75822}, // __nvvm_sust_p_1d_v2i32_trap
+ {Intrinsic::nvvm_sust_p_1d_v2i8_trap, 75850}, // __nvvm_sust_p_1d_v2i8_trap
+ {Intrinsic::nvvm_sust_p_1d_v4i16_trap, 75877}, // __nvvm_sust_p_1d_v4i16_trap
+ {Intrinsic::nvvm_sust_p_1d_v4i32_trap, 75905}, // __nvvm_sust_p_1d_v4i32_trap
+ {Intrinsic::nvvm_sust_p_1d_v4i8_trap, 75933}, // __nvvm_sust_p_1d_v4i8_trap
+ {Intrinsic::nvvm_sust_p_2d_array_i16_trap, 75960}, // __nvvm_sust_p_2d_array_i16_trap
+ {Intrinsic::nvvm_sust_p_2d_array_i32_trap, 75992}, // __nvvm_sust_p_2d_array_i32_trap
+ {Intrinsic::nvvm_sust_p_2d_array_i8_trap, 76024}, // __nvvm_sust_p_2d_array_i8_trap
+ {Intrinsic::nvvm_sust_p_2d_array_v2i16_trap, 76055}, // __nvvm_sust_p_2d_array_v2i16_trap
+ {Intrinsic::nvvm_sust_p_2d_array_v2i32_trap, 76089}, // __nvvm_sust_p_2d_array_v2i32_trap
+ {Intrinsic::nvvm_sust_p_2d_array_v2i8_trap, 76123}, // __nvvm_sust_p_2d_array_v2i8_trap
+ {Intrinsic::nvvm_sust_p_2d_array_v4i16_trap, 76156}, // __nvvm_sust_p_2d_array_v4i16_trap
+ {Intrinsic::nvvm_sust_p_2d_array_v4i32_trap, 76190}, // __nvvm_sust_p_2d_array_v4i32_trap
+ {Intrinsic::nvvm_sust_p_2d_array_v4i8_trap, 76224}, // __nvvm_sust_p_2d_array_v4i8_trap
+ {Intrinsic::nvvm_sust_p_2d_i16_trap, 76257}, // __nvvm_sust_p_2d_i16_trap
+ {Intrinsic::nvvm_sust_p_2d_i32_trap, 76283}, // __nvvm_sust_p_2d_i32_trap
+ {Intrinsic::nvvm_sust_p_2d_i8_trap, 76309}, // __nvvm_sust_p_2d_i8_trap
+ {Intrinsic::nvvm_sust_p_2d_v2i16_trap, 76334}, // __nvvm_sust_p_2d_v2i16_trap
+ {Intrinsic::nvvm_sust_p_2d_v2i32_trap, 76362}, // __nvvm_sust_p_2d_v2i32_trap
+ {Intrinsic::nvvm_sust_p_2d_v2i8_trap, 76390}, // __nvvm_sust_p_2d_v2i8_trap
+ {Intrinsic::nvvm_sust_p_2d_v4i16_trap, 76417}, // __nvvm_sust_p_2d_v4i16_trap
+ {Intrinsic::nvvm_sust_p_2d_v4i32_trap, 76445}, // __nvvm_sust_p_2d_v4i32_trap
+ {Intrinsic::nvvm_sust_p_2d_v4i8_trap, 76473}, // __nvvm_sust_p_2d_v4i8_trap
+ {Intrinsic::nvvm_sust_p_3d_i16_trap, 76500}, // __nvvm_sust_p_3d_i16_trap
+ {Intrinsic::nvvm_sust_p_3d_i32_trap, 76526}, // __nvvm_sust_p_3d_i32_trap
+ {Intrinsic::nvvm_sust_p_3d_i8_trap, 76552}, // __nvvm_sust_p_3d_i8_trap
+ {Intrinsic::nvvm_sust_p_3d_v2i16_trap, 76577}, // __nvvm_sust_p_3d_v2i16_trap
+ {Intrinsic::nvvm_sust_p_3d_v2i32_trap, 76605}, // __nvvm_sust_p_3d_v2i32_trap
+ {Intrinsic::nvvm_sust_p_3d_v2i8_trap, 76633}, // __nvvm_sust_p_3d_v2i8_trap
+ {Intrinsic::nvvm_sust_p_3d_v4i16_trap, 76660}, // __nvvm_sust_p_3d_v4i16_trap
+ {Intrinsic::nvvm_sust_p_3d_v4i32_trap, 76688}, // __nvvm_sust_p_3d_v4i32_trap
+ {Intrinsic::nvvm_sust_p_3d_v4i8_trap, 76716}, // __nvvm_sust_p_3d_v4i8_trap
+ {Intrinsic::nvvm_swap_lo_hi_b64, 76743}, // __nvvm_swap_lo_hi_b64
+ {Intrinsic::nvvm_trunc_d, 76765}, // __nvvm_trunc_d
+ {Intrinsic::nvvm_trunc_f, 76780}, // __nvvm_trunc_f
+ {Intrinsic::nvvm_trunc_ftz_f, 76795}, // __nvvm_trunc_ftz_f
+ {Intrinsic::nvvm_txq_array_size, 76814}, // __nvvm_txq_array_size
+ {Intrinsic::nvvm_txq_channel_data_type, 76836}, // __nvvm_txq_channel_data_type
+ {Intrinsic::nvvm_txq_channel_order, 76865}, // __nvvm_txq_channel_order
+ {Intrinsic::nvvm_txq_depth, 76890}, // __nvvm_txq_depth
+ {Intrinsic::nvvm_txq_height, 76907}, // __nvvm_txq_height
+ {Intrinsic::nvvm_txq_num_mipmap_levels, 76925}, // __nvvm_txq_num_mipmap_levels
+ {Intrinsic::nvvm_txq_num_samples, 76954}, // __nvvm_txq_num_samples
+ {Intrinsic::nvvm_txq_width, 76977}, // __nvvm_txq_width
+ {Intrinsic::nvvm_ui2d_rm, 76994}, // __nvvm_ui2d_rm
+ {Intrinsic::nvvm_ui2d_rn, 77009}, // __nvvm_ui2d_rn
+ {Intrinsic::nvvm_ui2d_rp, 77024}, // __nvvm_ui2d_rp
+ {Intrinsic::nvvm_ui2d_rz, 77039}, // __nvvm_ui2d_rz
+ {Intrinsic::nvvm_ui2f_rm, 77054}, // __nvvm_ui2f_rm
+ {Intrinsic::nvvm_ui2f_rn, 77069}, // __nvvm_ui2f_rn
+ {Intrinsic::nvvm_ui2f_rp, 77084}, // __nvvm_ui2f_rp
+ {Intrinsic::nvvm_ui2f_rz, 77099}, // __nvvm_ui2f_rz
+ {Intrinsic::nvvm_ull2d_rm, 77114}, // __nvvm_ull2d_rm
+ {Intrinsic::nvvm_ull2d_rn, 77130}, // __nvvm_ull2d_rn
+ {Intrinsic::nvvm_ull2d_rp, 77146}, // __nvvm_ull2d_rp
+ {Intrinsic::nvvm_ull2d_rz, 77162}, // __nvvm_ull2d_rz
+ {Intrinsic::nvvm_ull2f_rm, 77178}, // __nvvm_ull2f_rm
+ {Intrinsic::nvvm_ull2f_rn, 77194}, // __nvvm_ull2f_rn
+ {Intrinsic::nvvm_ull2f_rp, 77210}, // __nvvm_ull2f_rp
+ {Intrinsic::nvvm_ull2f_rz, 77226}, // __nvvm_ull2f_rz
+ {Intrinsic::nvvm_barrier0, 64522}, // __syncthreads
+ };
+ auto I = std::lower_bound(std::begin(nvvmNames),
+ std::end(nvvmNames),
+ BuiltinNameStr);
+ if (I != std::end(nvvmNames) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ if (TargetPrefix == "ppc") {
+ static const BuiltinEntry ppcNames[] = {
+ {Intrinsic::ppc_altivec_crypto_vcipher, 77242}, // __builtin_altivec_crypto_vcipher
+ {Intrinsic::ppc_altivec_crypto_vcipherlast, 77275}, // __builtin_altivec_crypto_vcipherlast
+ {Intrinsic::ppc_altivec_crypto_vncipher, 77312}, // __builtin_altivec_crypto_vncipher
+ {Intrinsic::ppc_altivec_crypto_vncipherlast, 77346}, // __builtin_altivec_crypto_vncipherlast
+ {Intrinsic::ppc_altivec_crypto_vpermxor, 77384}, // __builtin_altivec_crypto_vpermxor
+ {Intrinsic::ppc_altivec_crypto_vpmsumb, 77418}, // __builtin_altivec_crypto_vpmsumb
+ {Intrinsic::ppc_altivec_crypto_vpmsumd, 77451}, // __builtin_altivec_crypto_vpmsumd
+ {Intrinsic::ppc_altivec_crypto_vpmsumh, 77484}, // __builtin_altivec_crypto_vpmsumh
+ {Intrinsic::ppc_altivec_crypto_vpmsumw, 77517}, // __builtin_altivec_crypto_vpmsumw
+ {Intrinsic::ppc_altivec_crypto_vsbox, 77550}, // __builtin_altivec_crypto_vsbox
+ {Intrinsic::ppc_altivec_crypto_vshasigmad, 77581}, // __builtin_altivec_crypto_vshasigmad
+ {Intrinsic::ppc_altivec_crypto_vshasigmaw, 77617}, // __builtin_altivec_crypto_vshasigmaw
+ {Intrinsic::ppc_altivec_dss, 77653}, // __builtin_altivec_dss
+ {Intrinsic::ppc_altivec_dssall, 77675}, // __builtin_altivec_dssall
+ {Intrinsic::ppc_altivec_dst, 77700}, // __builtin_altivec_dst
+ {Intrinsic::ppc_altivec_dstst, 77722}, // __builtin_altivec_dstst
+ {Intrinsic::ppc_altivec_dststt, 77746}, // __builtin_altivec_dststt
+ {Intrinsic::ppc_altivec_dstt, 77771}, // __builtin_altivec_dstt
+ {Intrinsic::ppc_altivec_mfvscr, 77794}, // __builtin_altivec_mfvscr
+ {Intrinsic::ppc_altivec_mtvscr, 77819}, // __builtin_altivec_mtvscr
+ {Intrinsic::ppc_altivec_vabsdub, 77844}, // __builtin_altivec_vabsdub
+ {Intrinsic::ppc_altivec_vabsduh, 77870}, // __builtin_altivec_vabsduh
+ {Intrinsic::ppc_altivec_vabsduw, 77896}, // __builtin_altivec_vabsduw
+ {Intrinsic::ppc_altivec_vaddcuq, 77922}, // __builtin_altivec_vaddcuq
+ {Intrinsic::ppc_altivec_vaddcuw, 77948}, // __builtin_altivec_vaddcuw
+ {Intrinsic::ppc_altivec_vaddecuq, 77974}, // __builtin_altivec_vaddecuq
+ {Intrinsic::ppc_altivec_vaddeuqm, 78001}, // __builtin_altivec_vaddeuqm
+ {Intrinsic::ppc_altivec_vaddsbs, 78028}, // __builtin_altivec_vaddsbs
+ {Intrinsic::ppc_altivec_vaddshs, 78054}, // __builtin_altivec_vaddshs
+ {Intrinsic::ppc_altivec_vaddsws, 78080}, // __builtin_altivec_vaddsws
+ {Intrinsic::ppc_altivec_vaddubs, 78106}, // __builtin_altivec_vaddubs
+ {Intrinsic::ppc_altivec_vadduhs, 78132}, // __builtin_altivec_vadduhs
+ {Intrinsic::ppc_altivec_vadduws, 78158}, // __builtin_altivec_vadduws
+ {Intrinsic::ppc_altivec_vavgsb, 78184}, // __builtin_altivec_vavgsb
+ {Intrinsic::ppc_altivec_vavgsh, 78209}, // __builtin_altivec_vavgsh
+ {Intrinsic::ppc_altivec_vavgsw, 78234}, // __builtin_altivec_vavgsw
+ {Intrinsic::ppc_altivec_vavgub, 78259}, // __builtin_altivec_vavgub
+ {Intrinsic::ppc_altivec_vavguh, 78284}, // __builtin_altivec_vavguh
+ {Intrinsic::ppc_altivec_vavguw, 78309}, // __builtin_altivec_vavguw
+ {Intrinsic::ppc_altivec_vbpermq, 78334}, // __builtin_altivec_vbpermq
+ {Intrinsic::ppc_altivec_vcfsx, 78360}, // __builtin_altivec_vcfsx
+ {Intrinsic::ppc_altivec_vcfux, 78384}, // __builtin_altivec_vcfux
+ {Intrinsic::ppc_altivec_vclzlsbb, 78408}, // __builtin_altivec_vclzlsbb
+ {Intrinsic::ppc_altivec_vcmpbfp, 78435}, // __builtin_altivec_vcmpbfp
+ {Intrinsic::ppc_altivec_vcmpbfp_p, 78461}, // __builtin_altivec_vcmpbfp_p
+ {Intrinsic::ppc_altivec_vcmpeqfp, 78489}, // __builtin_altivec_vcmpeqfp
+ {Intrinsic::ppc_altivec_vcmpeqfp_p, 78516}, // __builtin_altivec_vcmpeqfp_p
+ {Intrinsic::ppc_altivec_vcmpequb, 78545}, // __builtin_altivec_vcmpequb
+ {Intrinsic::ppc_altivec_vcmpequb_p, 78572}, // __builtin_altivec_vcmpequb_p
+ {Intrinsic::ppc_altivec_vcmpequd, 78601}, // __builtin_altivec_vcmpequd
+ {Intrinsic::ppc_altivec_vcmpequd_p, 78628}, // __builtin_altivec_vcmpequd_p
+ {Intrinsic::ppc_altivec_vcmpequh, 78657}, // __builtin_altivec_vcmpequh
+ {Intrinsic::ppc_altivec_vcmpequh_p, 78684}, // __builtin_altivec_vcmpequh_p
+ {Intrinsic::ppc_altivec_vcmpequw, 78713}, // __builtin_altivec_vcmpequw
+ {Intrinsic::ppc_altivec_vcmpequw_p, 78740}, // __builtin_altivec_vcmpequw_p
+ {Intrinsic::ppc_altivec_vcmpgefp, 78769}, // __builtin_altivec_vcmpgefp
+ {Intrinsic::ppc_altivec_vcmpgefp_p, 78796}, // __builtin_altivec_vcmpgefp_p
+ {Intrinsic::ppc_altivec_vcmpgtfp, 78825}, // __builtin_altivec_vcmpgtfp
+ {Intrinsic::ppc_altivec_vcmpgtfp_p, 78852}, // __builtin_altivec_vcmpgtfp_p
+ {Intrinsic::ppc_altivec_vcmpgtsb, 78881}, // __builtin_altivec_vcmpgtsb
+ {Intrinsic::ppc_altivec_vcmpgtsb_p, 78908}, // __builtin_altivec_vcmpgtsb_p
+ {Intrinsic::ppc_altivec_vcmpgtsd, 78937}, // __builtin_altivec_vcmpgtsd
+ {Intrinsic::ppc_altivec_vcmpgtsd_p, 78964}, // __builtin_altivec_vcmpgtsd_p
+ {Intrinsic::ppc_altivec_vcmpgtsh, 78993}, // __builtin_altivec_vcmpgtsh
+ {Intrinsic::ppc_altivec_vcmpgtsh_p, 79020}, // __builtin_altivec_vcmpgtsh_p
+ {Intrinsic::ppc_altivec_vcmpgtsw, 79049}, // __builtin_altivec_vcmpgtsw
+ {Intrinsic::ppc_altivec_vcmpgtsw_p, 79076}, // __builtin_altivec_vcmpgtsw_p
+ {Intrinsic::ppc_altivec_vcmpgtub, 79105}, // __builtin_altivec_vcmpgtub
+ {Intrinsic::ppc_altivec_vcmpgtub_p, 79132}, // __builtin_altivec_vcmpgtub_p
+ {Intrinsic::ppc_altivec_vcmpgtud, 79161}, // __builtin_altivec_vcmpgtud
+ {Intrinsic::ppc_altivec_vcmpgtud_p, 79188}, // __builtin_altivec_vcmpgtud_p
+ {Intrinsic::ppc_altivec_vcmpgtuh, 79217}, // __builtin_altivec_vcmpgtuh
+ {Intrinsic::ppc_altivec_vcmpgtuh_p, 79244}, // __builtin_altivec_vcmpgtuh_p
+ {Intrinsic::ppc_altivec_vcmpgtuw, 79273}, // __builtin_altivec_vcmpgtuw
+ {Intrinsic::ppc_altivec_vcmpgtuw_p, 79300}, // __builtin_altivec_vcmpgtuw_p
+ {Intrinsic::ppc_altivec_vcmpneb, 79329}, // __builtin_altivec_vcmpneb
+ {Intrinsic::ppc_altivec_vcmpneb_p, 79355}, // __builtin_altivec_vcmpneb_p
+ {Intrinsic::ppc_altivec_vcmpneh, 79383}, // __builtin_altivec_vcmpneh
+ {Intrinsic::ppc_altivec_vcmpneh_p, 79409}, // __builtin_altivec_vcmpneh_p
+ {Intrinsic::ppc_altivec_vcmpnew, 79437}, // __builtin_altivec_vcmpnew
+ {Intrinsic::ppc_altivec_vcmpnew_p, 79463}, // __builtin_altivec_vcmpnew_p
+ {Intrinsic::ppc_altivec_vcmpnezb, 79491}, // __builtin_altivec_vcmpnezb
+ {Intrinsic::ppc_altivec_vcmpnezb_p, 79518}, // __builtin_altivec_vcmpnezb_p
+ {Intrinsic::ppc_altivec_vcmpnezh, 79547}, // __builtin_altivec_vcmpnezh
+ {Intrinsic::ppc_altivec_vcmpnezh_p, 79574}, // __builtin_altivec_vcmpnezh_p
+ {Intrinsic::ppc_altivec_vcmpnezw, 79603}, // __builtin_altivec_vcmpnezw
+ {Intrinsic::ppc_altivec_vcmpnezw_p, 79630}, // __builtin_altivec_vcmpnezw_p
+ {Intrinsic::ppc_altivec_vctsxs, 79659}, // __builtin_altivec_vctsxs
+ {Intrinsic::ppc_altivec_vctuxs, 79684}, // __builtin_altivec_vctuxs
+ {Intrinsic::ppc_altivec_vctzlsbb, 79709}, // __builtin_altivec_vctzlsbb
+ {Intrinsic::ppc_altivec_vexptefp, 79736}, // __builtin_altivec_vexptefp
+ {Intrinsic::ppc_altivec_vgbbd, 79763}, // __builtin_altivec_vgbbd
+ {Intrinsic::ppc_altivec_vlogefp, 79787}, // __builtin_altivec_vlogefp
+ {Intrinsic::ppc_altivec_vmaddfp, 79813}, // __builtin_altivec_vmaddfp
+ {Intrinsic::ppc_altivec_vmaxfp, 79839}, // __builtin_altivec_vmaxfp
+ {Intrinsic::ppc_altivec_vmaxsb, 79864}, // __builtin_altivec_vmaxsb
+ {Intrinsic::ppc_altivec_vmaxsd, 79889}, // __builtin_altivec_vmaxsd
+ {Intrinsic::ppc_altivec_vmaxsh, 79914}, // __builtin_altivec_vmaxsh
+ {Intrinsic::ppc_altivec_vmaxsw, 79939}, // __builtin_altivec_vmaxsw
+ {Intrinsic::ppc_altivec_vmaxub, 79964}, // __builtin_altivec_vmaxub
+ {Intrinsic::ppc_altivec_vmaxud, 79989}, // __builtin_altivec_vmaxud
+ {Intrinsic::ppc_altivec_vmaxuh, 80014}, // __builtin_altivec_vmaxuh
+ {Intrinsic::ppc_altivec_vmaxuw, 80039}, // __builtin_altivec_vmaxuw
+ {Intrinsic::ppc_altivec_vmhaddshs, 80064}, // __builtin_altivec_vmhaddshs
+ {Intrinsic::ppc_altivec_vmhraddshs, 80092}, // __builtin_altivec_vmhraddshs
+ {Intrinsic::ppc_altivec_vminfp, 80121}, // __builtin_altivec_vminfp
+ {Intrinsic::ppc_altivec_vminsb, 80146}, // __builtin_altivec_vminsb
+ {Intrinsic::ppc_altivec_vminsd, 80171}, // __builtin_altivec_vminsd
+ {Intrinsic::ppc_altivec_vminsh, 80196}, // __builtin_altivec_vminsh
+ {Intrinsic::ppc_altivec_vminsw, 80221}, // __builtin_altivec_vminsw
+ {Intrinsic::ppc_altivec_vminub, 80246}, // __builtin_altivec_vminub
+ {Intrinsic::ppc_altivec_vminud, 80271}, // __builtin_altivec_vminud
+ {Intrinsic::ppc_altivec_vminuh, 80296}, // __builtin_altivec_vminuh
+ {Intrinsic::ppc_altivec_vminuw, 80321}, // __builtin_altivec_vminuw
+ {Intrinsic::ppc_altivec_vmladduhm, 80346}, // __builtin_altivec_vmladduhm
+ {Intrinsic::ppc_altivec_vmsummbm, 80374}, // __builtin_altivec_vmsummbm
+ {Intrinsic::ppc_altivec_vmsumshm, 80401}, // __builtin_altivec_vmsumshm
+ {Intrinsic::ppc_altivec_vmsumshs, 80428}, // __builtin_altivec_vmsumshs
+ {Intrinsic::ppc_altivec_vmsumubm, 80455}, // __builtin_altivec_vmsumubm
+ {Intrinsic::ppc_altivec_vmsumuhm, 80482}, // __builtin_altivec_vmsumuhm
+ {Intrinsic::ppc_altivec_vmsumuhs, 80509}, // __builtin_altivec_vmsumuhs
+ {Intrinsic::ppc_altivec_vmulesb, 80536}, // __builtin_altivec_vmulesb
+ {Intrinsic::ppc_altivec_vmulesh, 80562}, // __builtin_altivec_vmulesh
+ {Intrinsic::ppc_altivec_vmulesw, 80588}, // __builtin_altivec_vmulesw
+ {Intrinsic::ppc_altivec_vmuleub, 80614}, // __builtin_altivec_vmuleub
+ {Intrinsic::ppc_altivec_vmuleuh, 80640}, // __builtin_altivec_vmuleuh
+ {Intrinsic::ppc_altivec_vmuleuw, 80666}, // __builtin_altivec_vmuleuw
+ {Intrinsic::ppc_altivec_vmulosb, 80692}, // __builtin_altivec_vmulosb
+ {Intrinsic::ppc_altivec_vmulosh, 80718}, // __builtin_altivec_vmulosh
+ {Intrinsic::ppc_altivec_vmulosw, 80744}, // __builtin_altivec_vmulosw
+ {Intrinsic::ppc_altivec_vmuloub, 80770}, // __builtin_altivec_vmuloub
+ {Intrinsic::ppc_altivec_vmulouh, 80796}, // __builtin_altivec_vmulouh
+ {Intrinsic::ppc_altivec_vmulouw, 80822}, // __builtin_altivec_vmulouw
+ {Intrinsic::ppc_altivec_vnmsubfp, 80848}, // __builtin_altivec_vnmsubfp
+ {Intrinsic::ppc_altivec_vperm, 80875}, // __builtin_altivec_vperm_4si
+ {Intrinsic::ppc_altivec_vpkpx, 80903}, // __builtin_altivec_vpkpx
+ {Intrinsic::ppc_altivec_vpksdss, 80927}, // __builtin_altivec_vpksdss
+ {Intrinsic::ppc_altivec_vpksdus, 80953}, // __builtin_altivec_vpksdus
+ {Intrinsic::ppc_altivec_vpkshss, 80979}, // __builtin_altivec_vpkshss
+ {Intrinsic::ppc_altivec_vpkshus, 81005}, // __builtin_altivec_vpkshus
+ {Intrinsic::ppc_altivec_vpkswss, 81031}, // __builtin_altivec_vpkswss
+ {Intrinsic::ppc_altivec_vpkswus, 81057}, // __builtin_altivec_vpkswus
+ {Intrinsic::ppc_altivec_vpkudus, 81083}, // __builtin_altivec_vpkudus
+ {Intrinsic::ppc_altivec_vpkuhus, 81109}, // __builtin_altivec_vpkuhus
+ {Intrinsic::ppc_altivec_vpkuwus, 81135}, // __builtin_altivec_vpkuwus
+ {Intrinsic::ppc_altivec_vprtybd, 81161}, // __builtin_altivec_vprtybd
+ {Intrinsic::ppc_altivec_vprtybq, 81187}, // __builtin_altivec_vprtybq
+ {Intrinsic::ppc_altivec_vprtybw, 81213}, // __builtin_altivec_vprtybw
+ {Intrinsic::ppc_altivec_vrefp, 81239}, // __builtin_altivec_vrefp
+ {Intrinsic::ppc_altivec_vrfim, 81263}, // __builtin_altivec_vrfim
+ {Intrinsic::ppc_altivec_vrfin, 81287}, // __builtin_altivec_vrfin
+ {Intrinsic::ppc_altivec_vrfip, 81311}, // __builtin_altivec_vrfip
+ {Intrinsic::ppc_altivec_vrfiz, 81335}, // __builtin_altivec_vrfiz
+ {Intrinsic::ppc_altivec_vrlb, 81359}, // __builtin_altivec_vrlb
+ {Intrinsic::ppc_altivec_vrld, 81382}, // __builtin_altivec_vrld
+ {Intrinsic::ppc_altivec_vrldmi, 81405}, // __builtin_altivec_vrldmi
+ {Intrinsic::ppc_altivec_vrldnm, 81430}, // __builtin_altivec_vrldnm
+ {Intrinsic::ppc_altivec_vrlh, 81455}, // __builtin_altivec_vrlh
+ {Intrinsic::ppc_altivec_vrlw, 81478}, // __builtin_altivec_vrlw
+ {Intrinsic::ppc_altivec_vrlwmi, 81501}, // __builtin_altivec_vrlwmi
+ {Intrinsic::ppc_altivec_vrlwnm, 81526}, // __builtin_altivec_vrlwnm
+ {Intrinsic::ppc_altivec_vrsqrtefp, 81551}, // __builtin_altivec_vrsqrtefp
+ {Intrinsic::ppc_altivec_vsel, 81579}, // __builtin_altivec_vsel_4si
+ {Intrinsic::ppc_altivec_vsl, 81606}, // __builtin_altivec_vsl
+ {Intrinsic::ppc_altivec_vslb, 81628}, // __builtin_altivec_vslb
+ {Intrinsic::ppc_altivec_vslh, 81651}, // __builtin_altivec_vslh
+ {Intrinsic::ppc_altivec_vslo, 81674}, // __builtin_altivec_vslo
+ {Intrinsic::ppc_altivec_vslv, 81697}, // __builtin_altivec_vslv
+ {Intrinsic::ppc_altivec_vslw, 81720}, // __builtin_altivec_vslw
+ {Intrinsic::ppc_altivec_vsr, 81743}, // __builtin_altivec_vsr
+ {Intrinsic::ppc_altivec_vsrab, 81765}, // __builtin_altivec_vsrab
+ {Intrinsic::ppc_altivec_vsrah, 81789}, // __builtin_altivec_vsrah
+ {Intrinsic::ppc_altivec_vsraw, 81813}, // __builtin_altivec_vsraw
+ {Intrinsic::ppc_altivec_vsrb, 81837}, // __builtin_altivec_vsrb
+ {Intrinsic::ppc_altivec_vsrh, 81860}, // __builtin_altivec_vsrh
+ {Intrinsic::ppc_altivec_vsro, 81883}, // __builtin_altivec_vsro
+ {Intrinsic::ppc_altivec_vsrv, 81906}, // __builtin_altivec_vsrv
+ {Intrinsic::ppc_altivec_vsrw, 81929}, // __builtin_altivec_vsrw
+ {Intrinsic::ppc_altivec_vsubcuq, 81952}, // __builtin_altivec_vsubcuq
+ {Intrinsic::ppc_altivec_vsubcuw, 81978}, // __builtin_altivec_vsubcuw
+ {Intrinsic::ppc_altivec_vsubecuq, 82004}, // __builtin_altivec_vsubecuq
+ {Intrinsic::ppc_altivec_vsubeuqm, 82031}, // __builtin_altivec_vsubeuqm
+ {Intrinsic::ppc_altivec_vsubsbs, 82058}, // __builtin_altivec_vsubsbs
+ {Intrinsic::ppc_altivec_vsubshs, 82084}, // __builtin_altivec_vsubshs
+ {Intrinsic::ppc_altivec_vsubsws, 82110}, // __builtin_altivec_vsubsws
+ {Intrinsic::ppc_altivec_vsububs, 82136}, // __builtin_altivec_vsububs
+ {Intrinsic::ppc_altivec_vsubuhs, 82162}, // __builtin_altivec_vsubuhs
+ {Intrinsic::ppc_altivec_vsubuws, 82188}, // __builtin_altivec_vsubuws
+ {Intrinsic::ppc_altivec_vsum2sws, 82214}, // __builtin_altivec_vsum2sws
+ {Intrinsic::ppc_altivec_vsum4sbs, 82241}, // __builtin_altivec_vsum4sbs
+ {Intrinsic::ppc_altivec_vsum4shs, 82268}, // __builtin_altivec_vsum4shs
+ {Intrinsic::ppc_altivec_vsum4ubs, 82295}, // __builtin_altivec_vsum4ubs
+ {Intrinsic::ppc_altivec_vsumsws, 82322}, // __builtin_altivec_vsumsws
+ {Intrinsic::ppc_altivec_vupkhpx, 82348}, // __builtin_altivec_vupkhpx
+ {Intrinsic::ppc_altivec_vupkhsb, 82374}, // __builtin_altivec_vupkhsb
+ {Intrinsic::ppc_altivec_vupkhsh, 82400}, // __builtin_altivec_vupkhsh
+ {Intrinsic::ppc_altivec_vupkhsw, 82426}, // __builtin_altivec_vupkhsw
+ {Intrinsic::ppc_altivec_vupklpx, 82452}, // __builtin_altivec_vupklpx
+ {Intrinsic::ppc_altivec_vupklsb, 82478}, // __builtin_altivec_vupklsb
+ {Intrinsic::ppc_altivec_vupklsh, 82504}, // __builtin_altivec_vupklsh
+ {Intrinsic::ppc_altivec_vupklsw, 82530}, // __builtin_altivec_vupklsw
+ {Intrinsic::ppc_bpermd, 82556}, // __builtin_bpermd
+ {Intrinsic::ppc_divde, 82573}, // __builtin_divde
+ {Intrinsic::ppc_divdeu, 82589}, // __builtin_divdeu
+ {Intrinsic::ppc_divwe, 82606}, // __builtin_divwe
+ {Intrinsic::ppc_divweu, 82622}, // __builtin_divweu
+ {Intrinsic::ppc_get_texasr, 82639}, // __builtin_get_texasr
+ {Intrinsic::ppc_get_texasru, 82660}, // __builtin_get_texasru
+ {Intrinsic::ppc_get_tfhar, 82682}, // __builtin_get_tfhar
+ {Intrinsic::ppc_get_tfiar, 82702}, // __builtin_get_tfiar
+ {Intrinsic::ppc_qpx_qvfabs, 82722}, // __builtin_qpx_qvfabs
+ {Intrinsic::ppc_qpx_qvfadd, 82743}, // __builtin_qpx_qvfadd
+ {Intrinsic::ppc_qpx_qvfadds, 82764}, // __builtin_qpx_qvfadds
+ {Intrinsic::ppc_qpx_qvfcfid, 82786}, // __builtin_qpx_qvfcfid
+ {Intrinsic::ppc_qpx_qvfcfids, 82808}, // __builtin_qpx_qvfcfids
+ {Intrinsic::ppc_qpx_qvfcfidu, 82831}, // __builtin_qpx_qvfcfidu
+ {Intrinsic::ppc_qpx_qvfcfidus, 82854}, // __builtin_qpx_qvfcfidus
+ {Intrinsic::ppc_qpx_qvfcmpeq, 82878}, // __builtin_qpx_qvfcmpeq
+ {Intrinsic::ppc_qpx_qvfcmpgt, 82901}, // __builtin_qpx_qvfcmpgt
+ {Intrinsic::ppc_qpx_qvfcmplt, 82924}, // __builtin_qpx_qvfcmplt
+ {Intrinsic::ppc_qpx_qvfcpsgn, 82947}, // __builtin_qpx_qvfcpsgn
+ {Intrinsic::ppc_qpx_qvfctid, 82970}, // __builtin_qpx_qvfctid
+ {Intrinsic::ppc_qpx_qvfctidu, 82992}, // __builtin_qpx_qvfctidu
+ {Intrinsic::ppc_qpx_qvfctiduz, 83015}, // __builtin_qpx_qvfctiduz
+ {Intrinsic::ppc_qpx_qvfctidz, 83039}, // __builtin_qpx_qvfctidz
+ {Intrinsic::ppc_qpx_qvfctiw, 83062}, // __builtin_qpx_qvfctiw
+ {Intrinsic::ppc_qpx_qvfctiwu, 83084}, // __builtin_qpx_qvfctiwu
+ {Intrinsic::ppc_qpx_qvfctiwuz, 83107}, // __builtin_qpx_qvfctiwuz
+ {Intrinsic::ppc_qpx_qvfctiwz, 83131}, // __builtin_qpx_qvfctiwz
+ {Intrinsic::ppc_qpx_qvflogical, 83154}, // __builtin_qpx_qvflogical
+ {Intrinsic::ppc_qpx_qvfmadd, 83179}, // __builtin_qpx_qvfmadd
+ {Intrinsic::ppc_qpx_qvfmadds, 83201}, // __builtin_qpx_qvfmadds
+ {Intrinsic::ppc_qpx_qvfmsub, 83224}, // __builtin_qpx_qvfmsub
+ {Intrinsic::ppc_qpx_qvfmsubs, 83246}, // __builtin_qpx_qvfmsubs
+ {Intrinsic::ppc_qpx_qvfmul, 83269}, // __builtin_qpx_qvfmul
+ {Intrinsic::ppc_qpx_qvfmuls, 83290}, // __builtin_qpx_qvfmuls
+ {Intrinsic::ppc_qpx_qvfnabs, 83312}, // __builtin_qpx_qvfnabs
+ {Intrinsic::ppc_qpx_qvfneg, 83334}, // __builtin_qpx_qvfneg
+ {Intrinsic::ppc_qpx_qvfnmadd, 83355}, // __builtin_qpx_qvfnmadd
+ {Intrinsic::ppc_qpx_qvfnmadds, 83378}, // __builtin_qpx_qvfnmadds
+ {Intrinsic::ppc_qpx_qvfnmsub, 83402}, // __builtin_qpx_qvfnmsub
+ {Intrinsic::ppc_qpx_qvfnmsubs, 83425}, // __builtin_qpx_qvfnmsubs
+ {Intrinsic::ppc_qpx_qvfperm, 83449}, // __builtin_qpx_qvfperm
+ {Intrinsic::ppc_qpx_qvfre, 83471}, // __builtin_qpx_qvfre
+ {Intrinsic::ppc_qpx_qvfres, 83491}, // __builtin_qpx_qvfres
+ {Intrinsic::ppc_qpx_qvfrim, 83512}, // __builtin_qpx_qvfrim
+ {Intrinsic::ppc_qpx_qvfrin, 83533}, // __builtin_qpx_qvfrin
+ {Intrinsic::ppc_qpx_qvfrip, 83554}, // __builtin_qpx_qvfrip
+ {Intrinsic::ppc_qpx_qvfriz, 83575}, // __builtin_qpx_qvfriz
+ {Intrinsic::ppc_qpx_qvfrsp, 83596}, // __builtin_qpx_qvfrsp
+ {Intrinsic::ppc_qpx_qvfrsqrte, 83617}, // __builtin_qpx_qvfrsqrte
+ {Intrinsic::ppc_qpx_qvfrsqrtes, 83641}, // __builtin_qpx_qvfrsqrtes
+ {Intrinsic::ppc_qpx_qvfsel, 83666}, // __builtin_qpx_qvfsel
+ {Intrinsic::ppc_qpx_qvfsub, 83687}, // __builtin_qpx_qvfsub
+ {Intrinsic::ppc_qpx_qvfsubs, 83708}, // __builtin_qpx_qvfsubs
+ {Intrinsic::ppc_qpx_qvftstnan, 83730}, // __builtin_qpx_qvftstnan
+ {Intrinsic::ppc_qpx_qvfxmadd, 83754}, // __builtin_qpx_qvfxmadd
+ {Intrinsic::ppc_qpx_qvfxmadds, 83777}, // __builtin_qpx_qvfxmadds
+ {Intrinsic::ppc_qpx_qvfxmul, 83801}, // __builtin_qpx_qvfxmul
+ {Intrinsic::ppc_qpx_qvfxmuls, 83823}, // __builtin_qpx_qvfxmuls
+ {Intrinsic::ppc_qpx_qvfxxcpnmadd, 83846}, // __builtin_qpx_qvfxxcpnmadd
+ {Intrinsic::ppc_qpx_qvfxxcpnmadds, 83873}, // __builtin_qpx_qvfxxcpnmadds
+ {Intrinsic::ppc_qpx_qvfxxmadd, 83901}, // __builtin_qpx_qvfxxmadd
+ {Intrinsic::ppc_qpx_qvfxxmadds, 83925}, // __builtin_qpx_qvfxxmadds
+ {Intrinsic::ppc_qpx_qvfxxnpmadd, 83950}, // __builtin_qpx_qvfxxnpmadd
+ {Intrinsic::ppc_qpx_qvfxxnpmadds, 83976}, // __builtin_qpx_qvfxxnpmadds
+ {Intrinsic::ppc_qpx_qvgpci, 84003}, // __builtin_qpx_qvgpci
+ {Intrinsic::ppc_qpx_qvlfcd, 84024}, // __builtin_qpx_qvlfcd
+ {Intrinsic::ppc_qpx_qvlfcda, 84045}, // __builtin_qpx_qvlfcda
+ {Intrinsic::ppc_qpx_qvlfcs, 84067}, // __builtin_qpx_qvlfcs
+ {Intrinsic::ppc_qpx_qvlfcsa, 84088}, // __builtin_qpx_qvlfcsa
+ {Intrinsic::ppc_qpx_qvlfd, 84110}, // __builtin_qpx_qvlfd
+ {Intrinsic::ppc_qpx_qvlfda, 84130}, // __builtin_qpx_qvlfda
+ {Intrinsic::ppc_qpx_qvlfiwa, 84151}, // __builtin_qpx_qvlfiwa
+ {Intrinsic::ppc_qpx_qvlfiwaa, 84173}, // __builtin_qpx_qvlfiwaa
+ {Intrinsic::ppc_qpx_qvlfiwz, 84196}, // __builtin_qpx_qvlfiwz
+ {Intrinsic::ppc_qpx_qvlfiwza, 84218}, // __builtin_qpx_qvlfiwza
+ {Intrinsic::ppc_qpx_qvlfs, 84241}, // __builtin_qpx_qvlfs
+ {Intrinsic::ppc_qpx_qvlfsa, 84261}, // __builtin_qpx_qvlfsa
+ {Intrinsic::ppc_qpx_qvlpcld, 84282}, // __builtin_qpx_qvlpcld
+ {Intrinsic::ppc_qpx_qvlpcls, 84304}, // __builtin_qpx_qvlpcls
+ {Intrinsic::ppc_qpx_qvlpcrd, 84326}, // __builtin_qpx_qvlpcrd
+ {Intrinsic::ppc_qpx_qvlpcrs, 84348}, // __builtin_qpx_qvlpcrs
+ {Intrinsic::ppc_qpx_qvstfcd, 84370}, // __builtin_qpx_qvstfcd
+ {Intrinsic::ppc_qpx_qvstfcda, 84392}, // __builtin_qpx_qvstfcda
+ {Intrinsic::ppc_qpx_qvstfcs, 84415}, // __builtin_qpx_qvstfcs
+ {Intrinsic::ppc_qpx_qvstfcsa, 84437}, // __builtin_qpx_qvstfcsa
+ {Intrinsic::ppc_qpx_qvstfd, 84460}, // __builtin_qpx_qvstfd
+ {Intrinsic::ppc_qpx_qvstfda, 84481}, // __builtin_qpx_qvstfda
+ {Intrinsic::ppc_qpx_qvstfiw, 84503}, // __builtin_qpx_qvstfiw
+ {Intrinsic::ppc_qpx_qvstfiwa, 84525}, // __builtin_qpx_qvstfiwa
+ {Intrinsic::ppc_qpx_qvstfs, 84548}, // __builtin_qpx_qvstfs
+ {Intrinsic::ppc_qpx_qvstfsa, 84569}, // __builtin_qpx_qvstfsa
+ {Intrinsic::ppc_set_texasr, 84591}, // __builtin_set_texasr
+ {Intrinsic::ppc_set_texasru, 84612}, // __builtin_set_texasru
+ {Intrinsic::ppc_set_tfhar, 84634}, // __builtin_set_tfhar
+ {Intrinsic::ppc_set_tfiar, 84654}, // __builtin_set_tfiar
+ {Intrinsic::ppc_tabort, 84674}, // __builtin_tabort
+ {Intrinsic::ppc_tabortdc, 84691}, // __builtin_tabortdc
+ {Intrinsic::ppc_tabortdci, 84710}, // __builtin_tabortdci
+ {Intrinsic::ppc_tabortwc, 84730}, // __builtin_tabortwc
+ {Intrinsic::ppc_tabortwci, 84749}, // __builtin_tabortwci
+ {Intrinsic::ppc_tbegin, 84769}, // __builtin_tbegin
+ {Intrinsic::ppc_tcheck, 84786}, // __builtin_tcheck
+ {Intrinsic::ppc_tend, 84803}, // __builtin_tend
+ {Intrinsic::ppc_tendall, 84818}, // __builtin_tendall
+ {Intrinsic::ppc_trechkpt, 84836}, // __builtin_trechkpt
+ {Intrinsic::ppc_treclaim, 84855}, // __builtin_treclaim
+ {Intrinsic::ppc_tresume, 84874}, // __builtin_tresume
+ {Intrinsic::ppc_tsr, 84892}, // __builtin_tsr
+ {Intrinsic::ppc_tsuspend, 84906}, // __builtin_tsuspend
+ {Intrinsic::ppc_ttest, 84925}, // __builtin_ttest
+ {Intrinsic::ppc_vsx_xsmaxdp, 84941}, // __builtin_vsx_xsmaxdp
+ {Intrinsic::ppc_vsx_xsmindp, 84963}, // __builtin_vsx_xsmindp
+ {Intrinsic::ppc_vsx_xvcmpeqdp, 84985}, // __builtin_vsx_xvcmpeqdp
+ {Intrinsic::ppc_vsx_xvcmpeqdp_p, 85009}, // __builtin_vsx_xvcmpeqdp_p
+ {Intrinsic::ppc_vsx_xvcmpeqsp, 85035}, // __builtin_vsx_xvcmpeqsp
+ {Intrinsic::ppc_vsx_xvcmpeqsp_p, 85059}, // __builtin_vsx_xvcmpeqsp_p
+ {Intrinsic::ppc_vsx_xvcmpgedp, 85085}, // __builtin_vsx_xvcmpgedp
+ {Intrinsic::ppc_vsx_xvcmpgedp_p, 85109}, // __builtin_vsx_xvcmpgedp_p
+ {Intrinsic::ppc_vsx_xvcmpgesp, 85135}, // __builtin_vsx_xvcmpgesp
+ {Intrinsic::ppc_vsx_xvcmpgesp_p, 85159}, // __builtin_vsx_xvcmpgesp_p
+ {Intrinsic::ppc_vsx_xvcmpgtdp, 85185}, // __builtin_vsx_xvcmpgtdp
+ {Intrinsic::ppc_vsx_xvcmpgtdp_p, 85209}, // __builtin_vsx_xvcmpgtdp_p
+ {Intrinsic::ppc_vsx_xvcmpgtsp, 85235}, // __builtin_vsx_xvcmpgtsp
+ {Intrinsic::ppc_vsx_xvcmpgtsp_p, 85259}, // __builtin_vsx_xvcmpgtsp_p
+ {Intrinsic::ppc_vsx_xvcvdpsp, 85285}, // __builtin_vsx_xvcvdpsp
+ {Intrinsic::ppc_vsx_xvcvdpsxws, 85308}, // __builtin_vsx_xvcvdpsxws
+ {Intrinsic::ppc_vsx_xvcvdpuxws, 85333}, // __builtin_vsx_xvcvdpuxws
+ {Intrinsic::ppc_vsx_xvcvhpsp, 85358}, // __builtin_vsx_xvcvhpsp
+ {Intrinsic::ppc_vsx_xvcvspdp, 85381}, // __builtin_vsx_xvcvspdp
+ {Intrinsic::ppc_vsx_xvcvsphp, 85404}, // __builtin_vsx_xvcvsphp
+ {Intrinsic::ppc_vsx_xvcvsxdsp, 85427}, // __builtin_vsx_xvcvsxdsp
+ {Intrinsic::ppc_vsx_xvcvsxwdp, 85451}, // __builtin_vsx_xvcvsxwdp
+ {Intrinsic::ppc_vsx_xvcvuxdsp, 85475}, // __builtin_vsx_xvcvuxdsp
+ {Intrinsic::ppc_vsx_xvcvuxwdp, 85499}, // __builtin_vsx_xvcvuxwdp
+ {Intrinsic::ppc_vsx_xvdivdp, 85523}, // __builtin_vsx_xvdivdp
+ {Intrinsic::ppc_vsx_xvdivsp, 85545}, // __builtin_vsx_xvdivsp
+ {Intrinsic::ppc_vsx_xviexpdp, 85567}, // __builtin_vsx_xviexpdp
+ {Intrinsic::ppc_vsx_xviexpsp, 85590}, // __builtin_vsx_xviexpsp
+ {Intrinsic::ppc_vsx_xvmaxdp, 85613}, // __builtin_vsx_xvmaxdp
+ {Intrinsic::ppc_vsx_xvmaxsp, 85635}, // __builtin_vsx_xvmaxsp
+ {Intrinsic::ppc_vsx_xvmindp, 85657}, // __builtin_vsx_xvmindp
+ {Intrinsic::ppc_vsx_xvminsp, 85679}, // __builtin_vsx_xvminsp
+ {Intrinsic::ppc_vsx_xvredp, 85701}, // __builtin_vsx_xvredp
+ {Intrinsic::ppc_vsx_xvresp, 85722}, // __builtin_vsx_xvresp
+ {Intrinsic::ppc_vsx_xvrsqrtedp, 85743}, // __builtin_vsx_xvrsqrtedp
+ {Intrinsic::ppc_vsx_xvrsqrtesp, 85768}, // __builtin_vsx_xvrsqrtesp
+ {Intrinsic::ppc_vsx_xvtstdcdp, 85793}, // __builtin_vsx_xvtstdcdp
+ {Intrinsic::ppc_vsx_xvtstdcsp, 85817}, // __builtin_vsx_xvtstdcsp
+ {Intrinsic::ppc_vsx_xvxexpdp, 85841}, // __builtin_vsx_xvxexpdp
+ {Intrinsic::ppc_vsx_xvxexpsp, 85864}, // __builtin_vsx_xvxexpsp
+ {Intrinsic::ppc_vsx_xvxsigdp, 85887}, // __builtin_vsx_xvxsigdp
+ {Intrinsic::ppc_vsx_xvxsigsp, 85910}, // __builtin_vsx_xvxsigsp
+ {Intrinsic::ppc_vsx_xxextractuw, 85933}, // __builtin_vsx_xxextractuw
+ {Intrinsic::ppc_vsx_xxinsertw, 85959}, // __builtin_vsx_xxinsertw
+ {Intrinsic::ppc_vsx_xxleqv, 85983}, // __builtin_vsx_xxleqv
+ };
+ auto I = std::lower_bound(std::begin(ppcNames),
+ std::end(ppcNames),
+ BuiltinNameStr);
+ if (I != std::end(ppcNames) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ if (TargetPrefix == "r600") {
+ static const BuiltinEntry r600Names[] = {
+ {Intrinsic::r600_group_barrier, 86004}, // __builtin_r600_group_barrier
+ {Intrinsic::r600_implicitarg_ptr, 86033}, // __builtin_r600_implicitarg_ptr
+ {Intrinsic::r600_rat_store_typed, 86064}, // __builtin_r600_rat_store_typed
+ {Intrinsic::r600_read_global_size_x, 86095}, // __builtin_r600_read_global_size_x
+ {Intrinsic::r600_read_global_size_y, 86129}, // __builtin_r600_read_global_size_y
+ {Intrinsic::r600_read_global_size_z, 86163}, // __builtin_r600_read_global_size_z
+ {Intrinsic::r600_read_ngroups_x, 86197}, // __builtin_r600_read_ngroups_x
+ {Intrinsic::r600_read_ngroups_y, 86227}, // __builtin_r600_read_ngroups_y
+ {Intrinsic::r600_read_ngroups_z, 86257}, // __builtin_r600_read_ngroups_z
+ {Intrinsic::r600_read_tgid_x, 86287}, // __builtin_r600_read_tgid_x
+ {Intrinsic::r600_read_tgid_y, 86314}, // __builtin_r600_read_tgid_y
+ {Intrinsic::r600_read_tgid_z, 86341}, // __builtin_r600_read_tgid_z
+ };
+ auto I = std::lower_bound(std::begin(r600Names),
+ std::end(r600Names),
+ BuiltinNameStr);
+ if (I != std::end(r600Names) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ if (TargetPrefix == "s390") {
+ static const BuiltinEntry s390Names[] = {
+ {Intrinsic::s390_efpc, 86368}, // __builtin_s390_efpc
+ {Intrinsic::s390_lcbb, 86415}, // __builtin_s390_lcbb
+ {Intrinsic::s390_sfpc, 86455}, // __builtin_s390_sfpc
+ {Intrinsic::s390_vaccb, 86475}, // __builtin_s390_vaccb
+ {Intrinsic::s390_vacccq, 86496}, // __builtin_s390_vacccq
+ {Intrinsic::s390_vaccf, 86518}, // __builtin_s390_vaccf
+ {Intrinsic::s390_vaccg, 86539}, // __builtin_s390_vaccg
+ {Intrinsic::s390_vacch, 86560}, // __builtin_s390_vacch
+ {Intrinsic::s390_vaccq, 86581}, // __builtin_s390_vaccq
+ {Intrinsic::s390_vacq, 86602}, // __builtin_s390_vacq
+ {Intrinsic::s390_vaq, 86622}, // __builtin_s390_vaq
+ {Intrinsic::s390_vavgb, 86641}, // __builtin_s390_vavgb
+ {Intrinsic::s390_vavgf, 86662}, // __builtin_s390_vavgf
+ {Intrinsic::s390_vavgg, 86683}, // __builtin_s390_vavgg
+ {Intrinsic::s390_vavgh, 86704}, // __builtin_s390_vavgh
+ {Intrinsic::s390_vavglb, 86725}, // __builtin_s390_vavglb
+ {Intrinsic::s390_vavglf, 86747}, // __builtin_s390_vavglf
+ {Intrinsic::s390_vavglg, 86769}, // __builtin_s390_vavglg
+ {Intrinsic::s390_vavglh, 86791}, // __builtin_s390_vavglh
+ {Intrinsic::s390_vcksm, 86813}, // __builtin_s390_vcksm
+ {Intrinsic::s390_verimb, 86834}, // __builtin_s390_verimb
+ {Intrinsic::s390_verimf, 86856}, // __builtin_s390_verimf
+ {Intrinsic::s390_verimg, 86878}, // __builtin_s390_verimg
+ {Intrinsic::s390_verimh, 86900}, // __builtin_s390_verimh
+ {Intrinsic::s390_verllb, 86922}, // __builtin_s390_verllb
+ {Intrinsic::s390_verllf, 86944}, // __builtin_s390_verllf
+ {Intrinsic::s390_verllg, 86966}, // __builtin_s390_verllg
+ {Intrinsic::s390_verllh, 86988}, // __builtin_s390_verllh
+ {Intrinsic::s390_verllvb, 87010}, // __builtin_s390_verllvb
+ {Intrinsic::s390_verllvf, 87033}, // __builtin_s390_verllvf
+ {Intrinsic::s390_verllvg, 87056}, // __builtin_s390_verllvg
+ {Intrinsic::s390_verllvh, 87079}, // __builtin_s390_verllvh
+ {Intrinsic::s390_vfaeb, 87102}, // __builtin_s390_vfaeb
+ {Intrinsic::s390_vfaef, 87123}, // __builtin_s390_vfaef
+ {Intrinsic::s390_vfaeh, 87144}, // __builtin_s390_vfaeh
+ {Intrinsic::s390_vfaezb, 87165}, // __builtin_s390_vfaezb
+ {Intrinsic::s390_vfaezf, 87187}, // __builtin_s390_vfaezf
+ {Intrinsic::s390_vfaezh, 87209}, // __builtin_s390_vfaezh
+ {Intrinsic::s390_vfeeb, 87231}, // __builtin_s390_vfeeb
+ {Intrinsic::s390_vfeef, 87252}, // __builtin_s390_vfeef
+ {Intrinsic::s390_vfeeh, 87273}, // __builtin_s390_vfeeh
+ {Intrinsic::s390_vfeezb, 87294}, // __builtin_s390_vfeezb
+ {Intrinsic::s390_vfeezf, 87316}, // __builtin_s390_vfeezf
+ {Intrinsic::s390_vfeezh, 87338}, // __builtin_s390_vfeezh
+ {Intrinsic::s390_vfeneb, 87360}, // __builtin_s390_vfeneb
+ {Intrinsic::s390_vfenef, 87382}, // __builtin_s390_vfenef
+ {Intrinsic::s390_vfeneh, 87404}, // __builtin_s390_vfeneh
+ {Intrinsic::s390_vfenezb, 87426}, // __builtin_s390_vfenezb
+ {Intrinsic::s390_vfenezf, 87449}, // __builtin_s390_vfenezf
+ {Intrinsic::s390_vfenezh, 87472}, // __builtin_s390_vfenezh
+ {Intrinsic::s390_vgfmab, 87495}, // __builtin_s390_vgfmab
+ {Intrinsic::s390_vgfmaf, 87517}, // __builtin_s390_vgfmaf
+ {Intrinsic::s390_vgfmag, 87539}, // __builtin_s390_vgfmag
+ {Intrinsic::s390_vgfmah, 87561}, // __builtin_s390_vgfmah
+ {Intrinsic::s390_vgfmb, 87583}, // __builtin_s390_vgfmb
+ {Intrinsic::s390_vgfmf, 87604}, // __builtin_s390_vgfmf
+ {Intrinsic::s390_vgfmg, 87625}, // __builtin_s390_vgfmg
+ {Intrinsic::s390_vgfmh, 87646}, // __builtin_s390_vgfmh
+ {Intrinsic::s390_vistrb, 87667}, // __builtin_s390_vistrb
+ {Intrinsic::s390_vistrf, 87689}, // __builtin_s390_vistrf
+ {Intrinsic::s390_vistrh, 87711}, // __builtin_s390_vistrh
+ {Intrinsic::s390_vlbb, 87733}, // __builtin_s390_vlbb
+ {Intrinsic::s390_vll, 87753}, // __builtin_s390_vll
+ {Intrinsic::s390_vmaeb, 87772}, // __builtin_s390_vmaeb
+ {Intrinsic::s390_vmaef, 87793}, // __builtin_s390_vmaef
+ {Intrinsic::s390_vmaeh, 87814}, // __builtin_s390_vmaeh
+ {Intrinsic::s390_vmahb, 87835}, // __builtin_s390_vmahb
+ {Intrinsic::s390_vmahf, 87856}, // __builtin_s390_vmahf
+ {Intrinsic::s390_vmahh, 87877}, // __builtin_s390_vmahh
+ {Intrinsic::s390_vmaleb, 87898}, // __builtin_s390_vmaleb
+ {Intrinsic::s390_vmalef, 87920}, // __builtin_s390_vmalef
+ {Intrinsic::s390_vmaleh, 87942}, // __builtin_s390_vmaleh
+ {Intrinsic::s390_vmalhb, 87964}, // __builtin_s390_vmalhb
+ {Intrinsic::s390_vmalhf, 87986}, // __builtin_s390_vmalhf
+ {Intrinsic::s390_vmalhh, 88008}, // __builtin_s390_vmalhh
+ {Intrinsic::s390_vmalob, 88030}, // __builtin_s390_vmalob
+ {Intrinsic::s390_vmalof, 88052}, // __builtin_s390_vmalof
+ {Intrinsic::s390_vmaloh, 88074}, // __builtin_s390_vmaloh
+ {Intrinsic::s390_vmaob, 88096}, // __builtin_s390_vmaob
+ {Intrinsic::s390_vmaof, 88117}, // __builtin_s390_vmaof
+ {Intrinsic::s390_vmaoh, 88138}, // __builtin_s390_vmaoh
+ {Intrinsic::s390_vmeb, 88159}, // __builtin_s390_vmeb
+ {Intrinsic::s390_vmef, 88179}, // __builtin_s390_vmef
+ {Intrinsic::s390_vmeh, 88199}, // __builtin_s390_vmeh
+ {Intrinsic::s390_vmhb, 88219}, // __builtin_s390_vmhb
+ {Intrinsic::s390_vmhf, 88239}, // __builtin_s390_vmhf
+ {Intrinsic::s390_vmhh, 88259}, // __builtin_s390_vmhh
+ {Intrinsic::s390_vmleb, 88279}, // __builtin_s390_vmleb
+ {Intrinsic::s390_vmlef, 88300}, // __builtin_s390_vmlef
+ {Intrinsic::s390_vmleh, 88321}, // __builtin_s390_vmleh
+ {Intrinsic::s390_vmlhb, 88342}, // __builtin_s390_vmlhb
+ {Intrinsic::s390_vmlhf, 88363}, // __builtin_s390_vmlhf
+ {Intrinsic::s390_vmlhh, 88384}, // __builtin_s390_vmlhh
+ {Intrinsic::s390_vmlob, 88405}, // __builtin_s390_vmlob
+ {Intrinsic::s390_vmlof, 88426}, // __builtin_s390_vmlof
+ {Intrinsic::s390_vmloh, 88447}, // __builtin_s390_vmloh
+ {Intrinsic::s390_vmob, 88468}, // __builtin_s390_vmob
+ {Intrinsic::s390_vmof, 88488}, // __builtin_s390_vmof
+ {Intrinsic::s390_vmoh, 88508}, // __builtin_s390_vmoh
+ {Intrinsic::s390_vpdi, 88528}, // __builtin_s390_vpdi
+ {Intrinsic::s390_vperm, 88548}, // __builtin_s390_vperm
+ {Intrinsic::s390_vpklsf, 88569}, // __builtin_s390_vpklsf
+ {Intrinsic::s390_vpklsg, 88591}, // __builtin_s390_vpklsg
+ {Intrinsic::s390_vpklsh, 88613}, // __builtin_s390_vpklsh
+ {Intrinsic::s390_vpksf, 88635}, // __builtin_s390_vpksf
+ {Intrinsic::s390_vpksg, 88656}, // __builtin_s390_vpksg
+ {Intrinsic::s390_vpksh, 88677}, // __builtin_s390_vpksh
+ {Intrinsic::s390_vsbcbiq, 88698}, // __builtin_s390_vsbcbiq
+ {Intrinsic::s390_vsbiq, 88721}, // __builtin_s390_vsbiq
+ {Intrinsic::s390_vscbib, 88742}, // __builtin_s390_vscbib
+ {Intrinsic::s390_vscbif, 88764}, // __builtin_s390_vscbif
+ {Intrinsic::s390_vscbig, 88786}, // __builtin_s390_vscbig
+ {Intrinsic::s390_vscbih, 88808}, // __builtin_s390_vscbih
+ {Intrinsic::s390_vscbiq, 88830}, // __builtin_s390_vscbiq
+ {Intrinsic::s390_vsl, 88852}, // __builtin_s390_vsl
+ {Intrinsic::s390_vslb, 88871}, // __builtin_s390_vslb
+ {Intrinsic::s390_vsldb, 88891}, // __builtin_s390_vsldb
+ {Intrinsic::s390_vsq, 88912}, // __builtin_s390_vsq
+ {Intrinsic::s390_vsra, 88931}, // __builtin_s390_vsra
+ {Intrinsic::s390_vsrab, 88951}, // __builtin_s390_vsrab
+ {Intrinsic::s390_vsrl, 88972}, // __builtin_s390_vsrl
+ {Intrinsic::s390_vsrlb, 88992}, // __builtin_s390_vsrlb
+ {Intrinsic::s390_vstl, 89013}, // __builtin_s390_vstl
+ {Intrinsic::s390_vstrcb, 89033}, // __builtin_s390_vstrcb
+ {Intrinsic::s390_vstrcf, 89055}, // __builtin_s390_vstrcf
+ {Intrinsic::s390_vstrch, 89077}, // __builtin_s390_vstrch
+ {Intrinsic::s390_vstrczb, 89099}, // __builtin_s390_vstrczb
+ {Intrinsic::s390_vstrczf, 89122}, // __builtin_s390_vstrczf
+ {Intrinsic::s390_vstrczh, 89145}, // __builtin_s390_vstrczh
+ {Intrinsic::s390_vsumb, 89168}, // __builtin_s390_vsumb
+ {Intrinsic::s390_vsumgf, 89189}, // __builtin_s390_vsumgf
+ {Intrinsic::s390_vsumgh, 89211}, // __builtin_s390_vsumgh
+ {Intrinsic::s390_vsumh, 89233}, // __builtin_s390_vsumh
+ {Intrinsic::s390_vsumqf, 89254}, // __builtin_s390_vsumqf
+ {Intrinsic::s390_vsumqg, 89276}, // __builtin_s390_vsumqg
+ {Intrinsic::s390_vtm, 89298}, // __builtin_s390_vtm
+ {Intrinsic::s390_vuphb, 89317}, // __builtin_s390_vuphb
+ {Intrinsic::s390_vuphf, 89338}, // __builtin_s390_vuphf
+ {Intrinsic::s390_vuphh, 89359}, // __builtin_s390_vuphh
+ {Intrinsic::s390_vuplb, 89380}, // __builtin_s390_vuplb
+ {Intrinsic::s390_vuplf, 89401}, // __builtin_s390_vuplf
+ {Intrinsic::s390_vuplhb, 89422}, // __builtin_s390_vuplhb
+ {Intrinsic::s390_vuplhf, 89444}, // __builtin_s390_vuplhf
+ {Intrinsic::s390_vuplhh, 89466}, // __builtin_s390_vuplhh
+ {Intrinsic::s390_vuplhw, 89488}, // __builtin_s390_vuplhw
+ {Intrinsic::s390_vupllb, 89510}, // __builtin_s390_vupllb
+ {Intrinsic::s390_vupllf, 89532}, // __builtin_s390_vupllf
+ {Intrinsic::s390_vupllh, 89554}, // __builtin_s390_vupllh
+ {Intrinsic::s390_tend, 84803}, // __builtin_tend
+ {Intrinsic::s390_ppa_txassist, 86435}, // __builtin_tx_assist
+ {Intrinsic::s390_etnd, 86388}, // __builtin_tx_nesting_depth
+ };
+ auto I = std::lower_bound(std::begin(s390Names),
+ std::end(s390Names),
+ BuiltinNameStr);
+ if (I != std::end(s390Names) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ if (TargetPrefix == "x86") {
+ static const BuiltinEntry x86Names[] = {
+ {Intrinsic::x86_addcarry_u32, 90084}, // __builtin_ia32_addcarry_u32
+ {Intrinsic::x86_addcarry_u64, 90112}, // __builtin_ia32_addcarry_u64
+ {Intrinsic::x86_addcarryx_u32, 90140}, // __builtin_ia32_addcarryx_u32
+ {Intrinsic::x86_addcarryx_u64, 90169}, // __builtin_ia32_addcarryx_u64
+ {Intrinsic::x86_avx512_mask_add_pd_512, 96702}, // __builtin_ia32_addpd512_mask
+ {Intrinsic::x86_avx512_mask_add_ps_512, 96731}, // __builtin_ia32_addps512_mask
+ {Intrinsic::x86_avx512_mask_add_sd_round, 96760}, // __builtin_ia32_addsd_round_mask
+ {Intrinsic::x86_avx512_mask_add_ss_round, 96792}, // __builtin_ia32_addss_round_mask
+ {Intrinsic::x86_sse3_addsub_pd, 129309}, // __builtin_ia32_addsubpd
+ {Intrinsic::x86_avx_addsub_pd_256, 90365}, // __builtin_ia32_addsubpd256
+ {Intrinsic::x86_sse3_addsub_ps, 129333}, // __builtin_ia32_addsubps
+ {Intrinsic::x86_avx_addsub_ps_256, 90392}, // __builtin_ia32_addsubps256
+ {Intrinsic::x86_aesni_aesdec, 90198}, // __builtin_ia32_aesdec128
+ {Intrinsic::x86_aesni_aesdeclast, 90223}, // __builtin_ia32_aesdeclast128
+ {Intrinsic::x86_aesni_aesenc, 90252}, // __builtin_ia32_aesenc128
+ {Intrinsic::x86_aesni_aesenclast, 90277}, // __builtin_ia32_aesenclast128
+ {Intrinsic::x86_aesni_aesimc, 90306}, // __builtin_ia32_aesimc128
+ {Intrinsic::x86_aesni_aeskeygenassist, 90331}, // __builtin_ia32_aeskeygenassist128
+ {Intrinsic::x86_bmi_bextr_32, 123451}, // __builtin_ia32_bextr_u32
+ {Intrinsic::x86_bmi_bextr_64, 123476}, // __builtin_ia32_bextr_u64
+ {Intrinsic::x86_tbm_bextri_u32, 131307}, // __builtin_ia32_bextri_u32
+ {Intrinsic::x86_tbm_bextri_u64, 131333}, // __builtin_ia32_bextri_u64
+ {Intrinsic::x86_sse41_blendvpd, 129510}, // __builtin_ia32_blendvpd
+ {Intrinsic::x86_avx_blendv_pd_256, 90419}, // __builtin_ia32_blendvpd256
+ {Intrinsic::x86_sse41_blendvps, 129534}, // __builtin_ia32_blendvps
+ {Intrinsic::x86_avx_blendv_ps_256, 90446}, // __builtin_ia32_blendvps256
+ {Intrinsic::x86_avx512_mask_broadcastf32x2_256, 96824}, // __builtin_ia32_broadcastf32x2_256_mask
+ {Intrinsic::x86_avx512_mask_broadcastf32x2_512, 96863}, // __builtin_ia32_broadcastf32x2_512_mask
+ {Intrinsic::x86_avx512_mask_broadcastf32x4_256, 96902}, // __builtin_ia32_broadcastf32x4_256_mask
+ {Intrinsic::x86_avx512_mask_broadcastf32x4_512, 96941}, // __builtin_ia32_broadcastf32x4_512
+ {Intrinsic::x86_avx512_mask_broadcastf32x8_512, 96975}, // __builtin_ia32_broadcastf32x8_512_mask
+ {Intrinsic::x86_avx512_mask_broadcastf64x2_256, 97014}, // __builtin_ia32_broadcastf64x2_256_mask
+ {Intrinsic::x86_avx512_mask_broadcastf64x2_512, 97053}, // __builtin_ia32_broadcastf64x2_512_mask
+ {Intrinsic::x86_avx512_mask_broadcastf64x4_512, 97092}, // __builtin_ia32_broadcastf64x4_512
+ {Intrinsic::x86_avx512_mask_broadcasti32x2_128, 97126}, // __builtin_ia32_broadcasti32x2_128_mask
+ {Intrinsic::x86_avx512_mask_broadcasti32x2_256, 97165}, // __builtin_ia32_broadcasti32x2_256_mask
+ {Intrinsic::x86_avx512_mask_broadcasti32x2_512, 97204}, // __builtin_ia32_broadcasti32x2_512_mask
+ {Intrinsic::x86_avx512_mask_broadcasti32x4_256, 97243}, // __builtin_ia32_broadcasti32x4_256_mask
+ {Intrinsic::x86_avx512_mask_broadcasti32x4_512, 97282}, // __builtin_ia32_broadcasti32x4_512
+ {Intrinsic::x86_avx512_mask_broadcasti32x8_512, 97316}, // __builtin_ia32_broadcasti32x8_512_mask
+ {Intrinsic::x86_avx512_mask_broadcasti64x2_256, 97355}, // __builtin_ia32_broadcasti64x2_256_mask
+ {Intrinsic::x86_avx512_mask_broadcasti64x2_512, 97394}, // __builtin_ia32_broadcasti64x2_512_mask
+ {Intrinsic::x86_avx512_mask_broadcasti64x4_512, 97433}, // __builtin_ia32_broadcasti64x4_512
+ {Intrinsic::x86_avx512_broadcastmb_128, 94325}, // __builtin_ia32_broadcastmb128
+ {Intrinsic::x86_avx512_broadcastmb_256, 94355}, // __builtin_ia32_broadcastmb256
+ {Intrinsic::x86_avx512_broadcastmb_512, 94385}, // __builtin_ia32_broadcastmb512
+ {Intrinsic::x86_avx512_broadcastmw_128, 94415}, // __builtin_ia32_broadcastmw128
+ {Intrinsic::x86_avx512_broadcastmw_256, 94445}, // __builtin_ia32_broadcastmw256
+ {Intrinsic::x86_avx512_broadcastmw_512, 94475}, // __builtin_ia32_broadcastmw512
+ {Intrinsic::x86_bmi_bzhi_64, 123524}, // __builtin_ia32_bzhi_di
+ {Intrinsic::x86_bmi_bzhi_32, 123501}, // __builtin_ia32_bzhi_si
+ {Intrinsic::x86_sse2_clflush, 127574}, // __builtin_ia32_clflush
+ {Intrinsic::x86_clflushopt, 123639}, // __builtin_ia32_clflushopt
+ {Intrinsic::x86_avx512_mask_cmp_pd_128, 97467}, // __builtin_ia32_cmppd128_mask
+ {Intrinsic::x86_avx512_mask_cmp_pd_256, 97496}, // __builtin_ia32_cmppd256_mask
+ {Intrinsic::x86_avx512_mask_cmp_pd_512, 97525}, // __builtin_ia32_cmppd512_mask
+ {Intrinsic::x86_avx512_mask_cmp_ps_128, 97554}, // __builtin_ia32_cmpps128_mask
+ {Intrinsic::x86_avx512_mask_cmp_ps_256, 97583}, // __builtin_ia32_cmpps256_mask
+ {Intrinsic::x86_avx512_mask_cmp_ps_512, 97612}, // __builtin_ia32_cmpps512_mask
+ {Intrinsic::x86_sse2_cmp_sd, 127597}, // __builtin_ia32_cmpsd
+ {Intrinsic::x86_avx512_mask_cmp_sd, 97641}, // __builtin_ia32_cmpsd_mask
+ {Intrinsic::x86_sse_cmp_ss, 126749}, // __builtin_ia32_cmpss
+ {Intrinsic::x86_avx512_mask_cmp_ss, 97667}, // __builtin_ia32_cmpss_mask
+ {Intrinsic::x86_sse_comieq_ss, 126770}, // __builtin_ia32_comieq
+ {Intrinsic::x86_sse_comige_ss, 126792}, // __builtin_ia32_comige
+ {Intrinsic::x86_sse_comigt_ss, 126814}, // __builtin_ia32_comigt
+ {Intrinsic::x86_sse_comile_ss, 126836}, // __builtin_ia32_comile
+ {Intrinsic::x86_sse_comilt_ss, 126858}, // __builtin_ia32_comilt
+ {Intrinsic::x86_sse_comineq_ss, 126880}, // __builtin_ia32_comineq
+ {Intrinsic::x86_sse2_comieq_sd, 127618}, // __builtin_ia32_comisdeq
+ {Intrinsic::x86_sse2_comige_sd, 127642}, // __builtin_ia32_comisdge
+ {Intrinsic::x86_sse2_comigt_sd, 127666}, // __builtin_ia32_comisdgt
+ {Intrinsic::x86_sse2_comile_sd, 127690}, // __builtin_ia32_comisdle
+ {Intrinsic::x86_sse2_comilt_sd, 127714}, // __builtin_ia32_comisdlt
+ {Intrinsic::x86_sse2_comineq_sd, 127738}, // __builtin_ia32_comisdneq
+ {Intrinsic::x86_avx512_mask_compress_pd_128, 97795}, // __builtin_ia32_compressdf128_mask
+ {Intrinsic::x86_avx512_mask_compress_pd_256, 97829}, // __builtin_ia32_compressdf256_mask
+ {Intrinsic::x86_avx512_mask_compress_pd_512, 97863}, // __builtin_ia32_compressdf512_mask
+ {Intrinsic::x86_avx512_mask_compress_q_128, 97999}, // __builtin_ia32_compressdi128_mask
+ {Intrinsic::x86_avx512_mask_compress_q_256, 98033}, // __builtin_ia32_compressdi256_mask
+ {Intrinsic::x86_avx512_mask_compress_q_512, 98067}, // __builtin_ia32_compressdi512_mask
+ {Intrinsic::x86_avx512_mask_compress_ps_128, 97897}, // __builtin_ia32_compresssf128_mask
+ {Intrinsic::x86_avx512_mask_compress_ps_256, 97931}, // __builtin_ia32_compresssf256_mask
+ {Intrinsic::x86_avx512_mask_compress_ps_512, 97965}, // __builtin_ia32_compresssf512_mask
+ {Intrinsic::x86_avx512_mask_compress_d_128, 97693}, // __builtin_ia32_compresssi128_mask
+ {Intrinsic::x86_avx512_mask_compress_d_256, 97727}, // __builtin_ia32_compresssi256_mask
+ {Intrinsic::x86_avx512_mask_compress_d_512, 97761}, // __builtin_ia32_compresssi512_mask
+ {Intrinsic::x86_avx512_mask_compress_store_pd_128, 98218}, // __builtin_ia32_compressstoredf128_mask
+ {Intrinsic::x86_avx512_mask_compress_store_pd_256, 98257}, // __builtin_ia32_compressstoredf256_mask
+ {Intrinsic::x86_avx512_mask_compress_store_pd_512, 98296}, // __builtin_ia32_compressstoredf512_mask
+ {Intrinsic::x86_avx512_mask_compress_store_q_128, 98452}, // __builtin_ia32_compressstoredi128_mask
+ {Intrinsic::x86_avx512_mask_compress_store_q_256, 98491}, // __builtin_ia32_compressstoredi256_mask
+ {Intrinsic::x86_avx512_mask_compress_store_q_512, 98530}, // __builtin_ia32_compressstoredi512_mask
+ {Intrinsic::x86_avx512_mask_compress_store_ps_128, 98335}, // __builtin_ia32_compressstoresf128_mask
+ {Intrinsic::x86_avx512_mask_compress_store_ps_256, 98374}, // __builtin_ia32_compressstoresf256_mask
+ {Intrinsic::x86_avx512_mask_compress_store_ps_512, 98413}, // __builtin_ia32_compressstoresf512_mask
+ {Intrinsic::x86_avx512_mask_compress_store_d_128, 98101}, // __builtin_ia32_compressstoresi128_mask
+ {Intrinsic::x86_avx512_mask_compress_store_d_256, 98140}, // __builtin_ia32_compressstoresi256_mask
+ {Intrinsic::x86_avx512_mask_compress_store_d_512, 98179}, // __builtin_ia32_compressstoresi512_mask
+ {Intrinsic::x86_sse42_crc32_64_64, 130021}, // __builtin_ia32_crc32di
+ {Intrinsic::x86_sse42_crc32_32_16, 129952}, // __builtin_ia32_crc32hi
+ {Intrinsic::x86_sse42_crc32_32_8, 129998}, // __builtin_ia32_crc32qi
+ {Intrinsic::x86_sse42_crc32_32_32, 129975}, // __builtin_ia32_crc32si
+ {Intrinsic::x86_avx512_cvtb2mask_128, 94505}, // __builtin_ia32_cvtb2mask128
+ {Intrinsic::x86_avx512_cvtb2mask_256, 94533}, // __builtin_ia32_cvtb2mask256
+ {Intrinsic::x86_avx512_cvtb2mask_512, 94561}, // __builtin_ia32_cvtb2mask512
+ {Intrinsic::x86_avx512_cvtd2mask_128, 94589}, // __builtin_ia32_cvtd2mask128
+ {Intrinsic::x86_avx512_cvtd2mask_256, 94617}, // __builtin_ia32_cvtd2mask256
+ {Intrinsic::x86_avx512_cvtd2mask_512, 94645}, // __builtin_ia32_cvtd2mask512
+ {Intrinsic::x86_sse2_cvtdq2ps, 127763}, // __builtin_ia32_cvtdq2ps
+ {Intrinsic::x86_avx512_mask_cvtdq2ps_128, 98791}, // __builtin_ia32_cvtdq2ps128_mask
+ {Intrinsic::x86_avx_cvtdq2_ps_256, 90554}, // __builtin_ia32_cvtdq2ps256
+ {Intrinsic::x86_avx512_mask_cvtdq2ps_256, 98823}, // __builtin_ia32_cvtdq2ps256_mask
+ {Intrinsic::x86_avx512_mask_cvtdq2ps_512, 98855}, // __builtin_ia32_cvtdq2ps512_mask
+ {Intrinsic::x86_avx512_cvtmask2b_128, 94673}, // __builtin_ia32_cvtmask2b128
+ {Intrinsic::x86_avx512_cvtmask2b_256, 94701}, // __builtin_ia32_cvtmask2b256
+ {Intrinsic::x86_avx512_cvtmask2b_512, 94729}, // __builtin_ia32_cvtmask2b512
+ {Intrinsic::x86_avx512_cvtmask2d_128, 94757}, // __builtin_ia32_cvtmask2d128
+ {Intrinsic::x86_avx512_cvtmask2d_256, 94785}, // __builtin_ia32_cvtmask2d256
+ {Intrinsic::x86_avx512_cvtmask2d_512, 94813}, // __builtin_ia32_cvtmask2d512
+ {Intrinsic::x86_avx512_cvtmask2q_128, 94841}, // __builtin_ia32_cvtmask2q128
+ {Intrinsic::x86_avx512_cvtmask2q_256, 94869}, // __builtin_ia32_cvtmask2q256
+ {Intrinsic::x86_avx512_cvtmask2q_512, 94897}, // __builtin_ia32_cvtmask2q512
+ {Intrinsic::x86_avx512_cvtmask2w_128, 94925}, // __builtin_ia32_cvtmask2w128
+ {Intrinsic::x86_avx512_cvtmask2w_256, 94953}, // __builtin_ia32_cvtmask2w256
+ {Intrinsic::x86_avx512_cvtmask2w_512, 94981}, // __builtin_ia32_cvtmask2w512
+ {Intrinsic::x86_sse2_cvtpd2dq, 127787}, // __builtin_ia32_cvtpd2dq
+ {Intrinsic::x86_avx512_mask_cvtpd2dq_128, 98887}, // __builtin_ia32_cvtpd2dq128_mask
+ {Intrinsic::x86_avx_cvt_pd2dq_256, 90500}, // __builtin_ia32_cvtpd2dq256
+ {Intrinsic::x86_avx512_mask_cvtpd2dq_256, 98919}, // __builtin_ia32_cvtpd2dq256_mask
+ {Intrinsic::x86_avx512_mask_cvtpd2dq_512, 98951}, // __builtin_ia32_cvtpd2dq512_mask
+ {Intrinsic::x86_sse_cvtpd2pi, 126903}, // __builtin_ia32_cvtpd2pi
+ {Intrinsic::x86_sse2_cvtpd2ps, 127811}, // __builtin_ia32_cvtpd2ps
+ {Intrinsic::x86_avx_cvt_pd2_ps_256, 90473}, // __builtin_ia32_cvtpd2ps256
+ {Intrinsic::x86_avx512_mask_cvtpd2ps_256, 99012}, // __builtin_ia32_cvtpd2ps256_mask
+ {Intrinsic::x86_avx512_mask_cvtpd2ps_512, 99044}, // __builtin_ia32_cvtpd2ps512_mask
+ {Intrinsic::x86_avx512_mask_cvtpd2ps, 98983}, // __builtin_ia32_cvtpd2ps_mask
+ {Intrinsic::x86_avx512_mask_cvtpd2qq_128, 99076}, // __builtin_ia32_cvtpd2qq128_mask
+ {Intrinsic::x86_avx512_mask_cvtpd2qq_256, 99108}, // __builtin_ia32_cvtpd2qq256_mask
+ {Intrinsic::x86_avx512_mask_cvtpd2qq_512, 99140}, // __builtin_ia32_cvtpd2qq512_mask
+ {Intrinsic::x86_avx512_mask_cvtpd2udq_128, 99172}, // __builtin_ia32_cvtpd2udq128_mask
+ {Intrinsic::x86_avx512_mask_cvtpd2udq_256, 99205}, // __builtin_ia32_cvtpd2udq256_mask
+ {Intrinsic::x86_avx512_mask_cvtpd2udq_512, 99238}, // __builtin_ia32_cvtpd2udq512_mask
+ {Intrinsic::x86_avx512_mask_cvtpd2uqq_128, 99271}, // __builtin_ia32_cvtpd2uqq128_mask
+ {Intrinsic::x86_avx512_mask_cvtpd2uqq_256, 99304}, // __builtin_ia32_cvtpd2uqq256_mask
+ {Intrinsic::x86_avx512_mask_cvtpd2uqq_512, 99337}, // __builtin_ia32_cvtpd2uqq512_mask
+ {Intrinsic::x86_sse_cvtpi2pd, 126927}, // __builtin_ia32_cvtpi2pd
+ {Intrinsic::x86_sse_cvtpi2ps, 126951}, // __builtin_ia32_cvtpi2ps
+ {Intrinsic::x86_sse2_cvtps2dq, 127835}, // __builtin_ia32_cvtps2dq
+ {Intrinsic::x86_avx512_mask_cvtps2dq_128, 99370}, // __builtin_ia32_cvtps2dq128_mask
+ {Intrinsic::x86_avx_cvt_ps2dq_256, 90527}, // __builtin_ia32_cvtps2dq256
+ {Intrinsic::x86_avx512_mask_cvtps2dq_256, 99402}, // __builtin_ia32_cvtps2dq256_mask
+ {Intrinsic::x86_avx512_mask_cvtps2dq_512, 99434}, // __builtin_ia32_cvtps2dq512_mask
+ {Intrinsic::x86_avx512_mask_cvtps2pd_128, 99466}, // __builtin_ia32_cvtps2pd128_mask
+ {Intrinsic::x86_avx512_mask_cvtps2pd_256, 99498}, // __builtin_ia32_cvtps2pd256_mask
+ {Intrinsic::x86_avx512_mask_cvtps2pd_512, 99530}, // __builtin_ia32_cvtps2pd512_mask
+ {Intrinsic::x86_sse_cvtps2pi, 126975}, // __builtin_ia32_cvtps2pi
+ {Intrinsic::x86_avx512_mask_cvtps2qq_128, 99562}, // __builtin_ia32_cvtps2qq128_mask
+ {Intrinsic::x86_avx512_mask_cvtps2qq_256, 99594}, // __builtin_ia32_cvtps2qq256_mask
+ {Intrinsic::x86_avx512_mask_cvtps2qq_512, 99626}, // __builtin_ia32_cvtps2qq512_mask
+ {Intrinsic::x86_avx512_mask_cvtps2udq_128, 99658}, // __builtin_ia32_cvtps2udq128_mask
+ {Intrinsic::x86_avx512_mask_cvtps2udq_256, 99691}, // __builtin_ia32_cvtps2udq256_mask
+ {Intrinsic::x86_avx512_mask_cvtps2udq_512, 99724}, // __builtin_ia32_cvtps2udq512_mask
+ {Intrinsic::x86_avx512_mask_cvtps2uqq_128, 99757}, // __builtin_ia32_cvtps2uqq128_mask
+ {Intrinsic::x86_avx512_mask_cvtps2uqq_256, 99790}, // __builtin_ia32_cvtps2uqq256_mask
+ {Intrinsic::x86_avx512_mask_cvtps2uqq_512, 99823}, // __builtin_ia32_cvtps2uqq512_mask
+ {Intrinsic::x86_avx512_cvtq2mask_128, 95009}, // __builtin_ia32_cvtq2mask128
+ {Intrinsic::x86_avx512_cvtq2mask_256, 95037}, // __builtin_ia32_cvtq2mask256
+ {Intrinsic::x86_avx512_cvtq2mask_512, 95065}, // __builtin_ia32_cvtq2mask512
+ {Intrinsic::x86_avx512_mask_cvtqq2pd_128, 99856}, // __builtin_ia32_cvtqq2pd128_mask
+ {Intrinsic::x86_avx512_mask_cvtqq2pd_256, 99888}, // __builtin_ia32_cvtqq2pd256_mask
+ {Intrinsic::x86_avx512_mask_cvtqq2pd_512, 99920}, // __builtin_ia32_cvtqq2pd512_mask
+ {Intrinsic::x86_avx512_mask_cvtqq2ps_128, 99952}, // __builtin_ia32_cvtqq2ps128_mask
+ {Intrinsic::x86_avx512_mask_cvtqq2ps_256, 99984}, // __builtin_ia32_cvtqq2ps256_mask
+ {Intrinsic::x86_avx512_mask_cvtqq2ps_512, 100016}, // __builtin_ia32_cvtqq2ps512_mask
+ {Intrinsic::x86_sse2_cvtsd2si, 127859}, // __builtin_ia32_cvtsd2si
+ {Intrinsic::x86_sse2_cvtsd2si64, 127883}, // __builtin_ia32_cvtsd2si64
+ {Intrinsic::x86_sse2_cvtsd2ss, 127909}, // __builtin_ia32_cvtsd2ss
+ {Intrinsic::x86_avx512_mask_cvtsd2ss_round, 100048}, // __builtin_ia32_cvtsd2ss_round_mask
+ {Intrinsic::x86_avx512_cvtsi2sd64, 95093}, // __builtin_ia32_cvtsi2sd64
+ {Intrinsic::x86_avx512_cvtsi2ss32, 95119}, // __builtin_ia32_cvtsi2ss32
+ {Intrinsic::x86_avx512_cvtsi2ss64, 95145}, // __builtin_ia32_cvtsi2ss64
+ {Intrinsic::x86_avx512_mask_cvtss2sd_round, 100083}, // __builtin_ia32_cvtss2sd_round_mask
+ {Intrinsic::x86_sse_cvtss2si, 126999}, // __builtin_ia32_cvtss2si
+ {Intrinsic::x86_sse_cvtss2si64, 127023}, // __builtin_ia32_cvtss2si64
+ {Intrinsic::x86_sse2_cvttpd2dq, 127933}, // __builtin_ia32_cvttpd2dq
+ {Intrinsic::x86_avx512_mask_cvttpd2dq_128, 100118}, // __builtin_ia32_cvttpd2dq128_mask
+ {Intrinsic::x86_avx_cvtt_pd2dq_256, 90581}, // __builtin_ia32_cvttpd2dq256
+ {Intrinsic::x86_avx512_mask_cvttpd2dq_256, 100151}, // __builtin_ia32_cvttpd2dq256_mask
+ {Intrinsic::x86_avx512_mask_cvttpd2dq_512, 100184}, // __builtin_ia32_cvttpd2dq512_mask
+ {Intrinsic::x86_sse_cvttpd2pi, 127049}, // __builtin_ia32_cvttpd2pi
+ {Intrinsic::x86_avx512_mask_cvttpd2qq_128, 100217}, // __builtin_ia32_cvttpd2qq128_mask
+ {Intrinsic::x86_avx512_mask_cvttpd2qq_256, 100250}, // __builtin_ia32_cvttpd2qq256_mask
+ {Intrinsic::x86_avx512_mask_cvttpd2qq_512, 100283}, // __builtin_ia32_cvttpd2qq512_mask
+ {Intrinsic::x86_avx512_mask_cvttpd2udq_128, 100316}, // __builtin_ia32_cvttpd2udq128_mask
+ {Intrinsic::x86_avx512_mask_cvttpd2udq_256, 100350}, // __builtin_ia32_cvttpd2udq256_mask
+ {Intrinsic::x86_avx512_mask_cvttpd2udq_512, 100384}, // __builtin_ia32_cvttpd2udq512_mask
+ {Intrinsic::x86_avx512_mask_cvttpd2uqq_128, 100418}, // __builtin_ia32_cvttpd2uqq128_mask
+ {Intrinsic::x86_avx512_mask_cvttpd2uqq_256, 100452}, // __builtin_ia32_cvttpd2uqq256_mask
+ {Intrinsic::x86_avx512_mask_cvttpd2uqq_512, 100486}, // __builtin_ia32_cvttpd2uqq512_mask
+ {Intrinsic::x86_sse2_cvttps2dq, 127958}, // __builtin_ia32_cvttps2dq
+ {Intrinsic::x86_avx512_mask_cvttps2dq_128, 100520}, // __builtin_ia32_cvttps2dq128_mask
+ {Intrinsic::x86_avx_cvtt_ps2dq_256, 90609}, // __builtin_ia32_cvttps2dq256
+ {Intrinsic::x86_avx512_mask_cvttps2dq_256, 100553}, // __builtin_ia32_cvttps2dq256_mask
+ {Intrinsic::x86_avx512_mask_cvttps2dq_512, 100586}, // __builtin_ia32_cvttps2dq512_mask
+ {Intrinsic::x86_sse_cvttps2pi, 127074}, // __builtin_ia32_cvttps2pi
+ {Intrinsic::x86_avx512_mask_cvttps2qq_128, 100619}, // __builtin_ia32_cvttps2qq128_mask
+ {Intrinsic::x86_avx512_mask_cvttps2qq_256, 100652}, // __builtin_ia32_cvttps2qq256_mask
+ {Intrinsic::x86_avx512_mask_cvttps2qq_512, 100685}, // __builtin_ia32_cvttps2qq512_mask
+ {Intrinsic::x86_avx512_mask_cvttps2udq_128, 100718}, // __builtin_ia32_cvttps2udq128_mask
+ {Intrinsic::x86_avx512_mask_cvttps2udq_256, 100752}, // __builtin_ia32_cvttps2udq256_mask
+ {Intrinsic::x86_avx512_mask_cvttps2udq_512, 100786}, // __builtin_ia32_cvttps2udq512_mask
+ {Intrinsic::x86_avx512_mask_cvttps2uqq_128, 100820}, // __builtin_ia32_cvttps2uqq128_mask
+ {Intrinsic::x86_avx512_mask_cvttps2uqq_256, 100854}, // __builtin_ia32_cvttps2uqq256_mask
+ {Intrinsic::x86_avx512_mask_cvttps2uqq_512, 100888}, // __builtin_ia32_cvttps2uqq512_mask
+ {Intrinsic::x86_sse2_cvttsd2si, 127983}, // __builtin_ia32_cvttsd2si
+ {Intrinsic::x86_sse2_cvttsd2si64, 128008}, // __builtin_ia32_cvttsd2si64
+ {Intrinsic::x86_sse_cvttss2si, 127099}, // __builtin_ia32_cvttss2si
+ {Intrinsic::x86_sse_cvttss2si64, 127124}, // __builtin_ia32_cvttss2si64
+ {Intrinsic::x86_avx512_mask_cvtudq2ps_128, 100922}, // __builtin_ia32_cvtudq2ps128_mask
+ {Intrinsic::x86_avx512_mask_cvtudq2ps_256, 100955}, // __builtin_ia32_cvtudq2ps256_mask
+ {Intrinsic::x86_avx512_mask_cvtudq2ps_512, 100988}, // __builtin_ia32_cvtudq2ps512_mask
+ {Intrinsic::x86_avx512_mask_cvtuqq2pd_128, 101021}, // __builtin_ia32_cvtuqq2pd128_mask
+ {Intrinsic::x86_avx512_mask_cvtuqq2pd_256, 101054}, // __builtin_ia32_cvtuqq2pd256_mask
+ {Intrinsic::x86_avx512_mask_cvtuqq2pd_512, 101087}, // __builtin_ia32_cvtuqq2pd512_mask
+ {Intrinsic::x86_avx512_mask_cvtuqq2ps_128, 101120}, // __builtin_ia32_cvtuqq2ps128_mask
+ {Intrinsic::x86_avx512_mask_cvtuqq2ps_256, 101153}, // __builtin_ia32_cvtuqq2ps256_mask
+ {Intrinsic::x86_avx512_mask_cvtuqq2ps_512, 101186}, // __builtin_ia32_cvtuqq2ps512_mask
+ {Intrinsic::x86_avx512_cvtusi2sd, 95399}, // __builtin_ia32_cvtusi2sd32
+ {Intrinsic::x86_avx512_cvtusi642sd, 95453}, // __builtin_ia32_cvtusi2sd64
+ {Intrinsic::x86_avx512_cvtusi2ss, 95426}, // __builtin_ia32_cvtusi2ss32
+ {Intrinsic::x86_avx512_cvtusi642ss, 95480}, // __builtin_ia32_cvtusi2ss64
+ {Intrinsic::x86_avx512_cvtw2mask_128, 95507}, // __builtin_ia32_cvtw2mask128
+ {Intrinsic::x86_avx512_cvtw2mask_256, 95535}, // __builtin_ia32_cvtw2mask256
+ {Intrinsic::x86_avx512_cvtw2mask_512, 95563}, // __builtin_ia32_cvtw2mask512
+ {Intrinsic::x86_avx512_mask_dbpsadbw_128, 101219}, // __builtin_ia32_dbpsadbw128_mask
+ {Intrinsic::x86_avx512_mask_dbpsadbw_256, 101251}, // __builtin_ia32_dbpsadbw256_mask
+ {Intrinsic::x86_avx512_mask_dbpsadbw_512, 101283}, // __builtin_ia32_dbpsadbw512_mask
+ {Intrinsic::x86_avx512_mask_div_pd_512, 101315}, // __builtin_ia32_divpd512_mask
+ {Intrinsic::x86_avx512_mask_div_ps_512, 101344}, // __builtin_ia32_divps512_mask
+ {Intrinsic::x86_avx512_mask_div_sd_round, 101373}, // __builtin_ia32_divsd_round_mask
+ {Intrinsic::x86_avx512_mask_div_ss_round, 101405}, // __builtin_ia32_divss_round_mask
+ {Intrinsic::x86_sse41_dppd, 129558}, // __builtin_ia32_dppd
+ {Intrinsic::x86_sse41_dpps, 129578}, // __builtin_ia32_dpps
+ {Intrinsic::x86_avx_dp_ps_256, 90637}, // __builtin_ia32_dpps256
+ {Intrinsic::x86_mmx_emms, 124721}, // __builtin_ia32_emms
+ {Intrinsic::x86_avx512_exp2_pd, 95591}, // __builtin_ia32_exp2pd_mask
+ {Intrinsic::x86_avx512_exp2_ps, 95618}, // __builtin_ia32_exp2ps_mask
+ {Intrinsic::x86_avx512_mask_expand_pd_128, 101965}, // __builtin_ia32_expanddf128_mask
+ {Intrinsic::x86_avx512_mask_expand_pd_256, 101997}, // __builtin_ia32_expanddf256_mask
+ {Intrinsic::x86_avx512_mask_expand_pd_512, 102029}, // __builtin_ia32_expanddf512_mask
+ {Intrinsic::x86_avx512_mask_expand_q_128, 102157}, // __builtin_ia32_expanddi128_mask
+ {Intrinsic::x86_avx512_mask_expand_q_256, 102189}, // __builtin_ia32_expanddi256_mask
+ {Intrinsic::x86_avx512_mask_expand_q_512, 102221}, // __builtin_ia32_expanddi512_mask
+ {Intrinsic::x86_avx512_mask_expand_load_pd_128, 101641}, // __builtin_ia32_expandloaddf128_mask
+ {Intrinsic::x86_avx512_mask_expand_load_pd_256, 101677}, // __builtin_ia32_expandloaddf256_mask
+ {Intrinsic::x86_avx512_mask_expand_load_pd_512, 101713}, // __builtin_ia32_expandloaddf512_mask
+ {Intrinsic::x86_avx512_mask_expand_load_q_128, 101857}, // __builtin_ia32_expandloaddi128_mask
+ {Intrinsic::x86_avx512_mask_expand_load_q_256, 101893}, // __builtin_ia32_expandloaddi256_mask
+ {Intrinsic::x86_avx512_mask_expand_load_q_512, 101929}, // __builtin_ia32_expandloaddi512_mask
+ {Intrinsic::x86_avx512_mask_expand_load_ps_128, 101749}, // __builtin_ia32_expandloadsf128_mask
+ {Intrinsic::x86_avx512_mask_expand_load_ps_256, 101785}, // __builtin_ia32_expandloadsf256_mask
+ {Intrinsic::x86_avx512_mask_expand_load_ps_512, 101821}, // __builtin_ia32_expandloadsf512_mask
+ {Intrinsic::x86_avx512_mask_expand_load_d_128, 101533}, // __builtin_ia32_expandloadsi128_mask
+ {Intrinsic::x86_avx512_mask_expand_load_d_256, 101569}, // __builtin_ia32_expandloadsi256_mask
+ {Intrinsic::x86_avx512_mask_expand_load_d_512, 101605}, // __builtin_ia32_expandloadsi512_mask
+ {Intrinsic::x86_avx512_mask_expand_ps_128, 102061}, // __builtin_ia32_expandsf128_mask
+ {Intrinsic::x86_avx512_mask_expand_ps_256, 102093}, // __builtin_ia32_expandsf256_mask
+ {Intrinsic::x86_avx512_mask_expand_ps_512, 102125}, // __builtin_ia32_expandsf512_mask
+ {Intrinsic::x86_avx512_mask_expand_d_128, 101437}, // __builtin_ia32_expandsi128_mask
+ {Intrinsic::x86_avx512_mask_expand_d_256, 101469}, // __builtin_ia32_expandsi256_mask
+ {Intrinsic::x86_avx512_mask_expand_d_512, 101501}, // __builtin_ia32_expandsi512_mask
+ {Intrinsic::x86_avx512_mask_vextractf32x4_256, 114000}, // __builtin_ia32_extractf32x4_256_mask
+ {Intrinsic::x86_avx512_mask_vextractf32x4_512, 114037}, // __builtin_ia32_extractf32x4_mask
+ {Intrinsic::x86_avx512_mask_vextractf32x8_512, 114070}, // __builtin_ia32_extractf32x8_mask
+ {Intrinsic::x86_avx512_mask_vextractf64x2_256, 114103}, // __builtin_ia32_extractf64x2_256_mask
+ {Intrinsic::x86_avx512_mask_vextractf64x2_512, 114140}, // __builtin_ia32_extractf64x2_512_mask
+ {Intrinsic::x86_avx512_mask_vextractf64x4_512, 114177}, // __builtin_ia32_extractf64x4_mask
+ {Intrinsic::x86_avx512_mask_vextracti32x4_256, 114210}, // __builtin_ia32_extracti32x4_256_mask
+ {Intrinsic::x86_avx512_mask_vextracti32x4_512, 114247}, // __builtin_ia32_extracti32x4_mask
+ {Intrinsic::x86_avx512_mask_vextracti32x8_512, 114280}, // __builtin_ia32_extracti32x8_mask
+ {Intrinsic::x86_avx512_mask_vextracti64x2_256, 114313}, // __builtin_ia32_extracti64x2_256_mask
+ {Intrinsic::x86_avx512_mask_vextracti64x2_512, 114350}, // __builtin_ia32_extracti64x2_512_mask
+ {Intrinsic::x86_avx512_mask_vextracti64x4_512, 114387}, // __builtin_ia32_extracti64x4_mask
+ {Intrinsic::x86_sse4a_extrq, 130446}, // __builtin_ia32_extrq
+ {Intrinsic::x86_sse4a_extrqi, 130467}, // __builtin_ia32_extrqi
+ {Intrinsic::x86_mmx_femms, 124741}, // __builtin_ia32_femms
+ {Intrinsic::x86_avx512_mask_fixupimm_pd_128, 102253}, // __builtin_ia32_fixupimmpd128_mask
+ {Intrinsic::x86_avx512_maskz_fixupimm_pd_128, 117992}, // __builtin_ia32_fixupimmpd128_maskz
+ {Intrinsic::x86_avx512_mask_fixupimm_pd_256, 102287}, // __builtin_ia32_fixupimmpd256_mask
+ {Intrinsic::x86_avx512_maskz_fixupimm_pd_256, 118027}, // __builtin_ia32_fixupimmpd256_maskz
+ {Intrinsic::x86_avx512_mask_fixupimm_pd_512, 102321}, // __builtin_ia32_fixupimmpd512_mask
+ {Intrinsic::x86_avx512_maskz_fixupimm_pd_512, 118062}, // __builtin_ia32_fixupimmpd512_maskz
+ {Intrinsic::x86_avx512_mask_fixupimm_ps_128, 102355}, // __builtin_ia32_fixupimmps128_mask
+ {Intrinsic::x86_avx512_maskz_fixupimm_ps_128, 118097}, // __builtin_ia32_fixupimmps128_maskz
+ {Intrinsic::x86_avx512_mask_fixupimm_ps_256, 102389}, // __builtin_ia32_fixupimmps256_mask
+ {Intrinsic::x86_avx512_maskz_fixupimm_ps_256, 118132}, // __builtin_ia32_fixupimmps256_maskz
+ {Intrinsic::x86_avx512_mask_fixupimm_ps_512, 102423}, // __builtin_ia32_fixupimmps512_mask
+ {Intrinsic::x86_avx512_maskz_fixupimm_ps_512, 118167}, // __builtin_ia32_fixupimmps512_maskz
+ {Intrinsic::x86_avx512_mask_fixupimm_sd, 102457}, // __builtin_ia32_fixupimmsd_mask
+ {Intrinsic::x86_avx512_maskz_fixupimm_sd, 118202}, // __builtin_ia32_fixupimmsd_maskz
+ {Intrinsic::x86_avx512_mask_fixupimm_ss, 102488}, // __builtin_ia32_fixupimmss_mask
+ {Intrinsic::x86_avx512_maskz_fixupimm_ss, 118234}, // __builtin_ia32_fixupimmss_maskz
+ {Intrinsic::x86_avx512_mask_fpclass_pd_128, 102519}, // __builtin_ia32_fpclasspd128_mask
+ {Intrinsic::x86_avx512_mask_fpclass_pd_256, 102552}, // __builtin_ia32_fpclasspd256_mask
+ {Intrinsic::x86_avx512_mask_fpclass_pd_512, 102585}, // __builtin_ia32_fpclasspd512_mask
+ {Intrinsic::x86_avx512_mask_fpclass_ps_128, 102618}, // __builtin_ia32_fpclassps128_mask
+ {Intrinsic::x86_avx512_mask_fpclass_ps_256, 102651}, // __builtin_ia32_fpclassps256_mask
+ {Intrinsic::x86_avx512_mask_fpclass_ps_512, 102684}, // __builtin_ia32_fpclassps512_mask
+ {Intrinsic::x86_avx512_mask_fpclass_sd, 102717}, // __builtin_ia32_fpclasssd_mask
+ {Intrinsic::x86_avx512_mask_fpclass_ss, 102747}, // __builtin_ia32_fpclassss_mask
+ {Intrinsic::x86_fxrstor, 124627}, // __builtin_ia32_fxrstor
+ {Intrinsic::x86_fxrstor64, 124650}, // __builtin_ia32_fxrstor64
+ {Intrinsic::x86_fxsave, 124675}, // __builtin_ia32_fxsave
+ {Intrinsic::x86_fxsave64, 124697}, // __builtin_ia32_fxsave64
+ {Intrinsic::x86_avx512_gather3div2_df, 95873}, // __builtin_ia32_gather3div2df
+ {Intrinsic::x86_avx512_gather3div2_di, 95902}, // __builtin_ia32_gather3div2di
+ {Intrinsic::x86_avx512_gather3div4_df, 95931}, // __builtin_ia32_gather3div4df
+ {Intrinsic::x86_avx512_gather3div4_di, 95960}, // __builtin_ia32_gather3div4di
+ {Intrinsic::x86_avx512_gather3div4_sf, 95989}, // __builtin_ia32_gather3div4sf
+ {Intrinsic::x86_avx512_gather3div4_si, 96018}, // __builtin_ia32_gather3div4si
+ {Intrinsic::x86_avx512_gather3div8_sf, 96047}, // __builtin_ia32_gather3div8sf
+ {Intrinsic::x86_avx512_gather3div8_si, 96076}, // __builtin_ia32_gather3div8si
+ {Intrinsic::x86_avx512_gather3siv2_df, 96105}, // __builtin_ia32_gather3siv2df
+ {Intrinsic::x86_avx512_gather3siv2_di, 96134}, // __builtin_ia32_gather3siv2di
+ {Intrinsic::x86_avx512_gather3siv4_df, 96163}, // __builtin_ia32_gather3siv4df
+ {Intrinsic::x86_avx512_gather3siv4_di, 96192}, // __builtin_ia32_gather3siv4di
+ {Intrinsic::x86_avx512_gather3siv4_sf, 96221}, // __builtin_ia32_gather3siv4sf
+ {Intrinsic::x86_avx512_gather3siv4_si, 96250}, // __builtin_ia32_gather3siv4si
+ {Intrinsic::x86_avx512_gather3siv8_sf, 96279}, // __builtin_ia32_gather3siv8sf
+ {Intrinsic::x86_avx512_gather3siv8_si, 96308}, // __builtin_ia32_gather3siv8si
+ {Intrinsic::x86_avx2_gather_d_d, 91965}, // __builtin_ia32_gatherd_d
+ {Intrinsic::x86_avx2_gather_d_d_256, 91990}, // __builtin_ia32_gatherd_d256
+ {Intrinsic::x86_avx2_gather_d_pd, 92018}, // __builtin_ia32_gatherd_pd
+ {Intrinsic::x86_avx2_gather_d_pd_256, 92044}, // __builtin_ia32_gatherd_pd256
+ {Intrinsic::x86_avx2_gather_d_ps, 92073}, // __builtin_ia32_gatherd_ps
+ {Intrinsic::x86_avx2_gather_d_ps_256, 92099}, // __builtin_ia32_gatherd_ps256
+ {Intrinsic::x86_avx2_gather_d_q, 92128}, // __builtin_ia32_gatherd_q
+ {Intrinsic::x86_avx2_gather_d_q_256, 92153}, // __builtin_ia32_gatherd_q256
+ {Intrinsic::x86_avx512_gather_qps_512, 95844}, // __builtin_ia32_gatherdiv16sf
+ {Intrinsic::x86_avx512_gather_qpi_512, 95787}, // __builtin_ia32_gatherdiv16si
+ {Intrinsic::x86_avx512_gather_qpd_512, 95759}, // __builtin_ia32_gatherdiv8df
+ {Intrinsic::x86_avx512_gather_qpq_512, 95816}, // __builtin_ia32_gatherdiv8di
+ {Intrinsic::x86_avx512_gatherpf_dpd_512, 96337}, // __builtin_ia32_gatherpfdpd
+ {Intrinsic::x86_avx512_gatherpf_dps_512, 96364}, // __builtin_ia32_gatherpfdps
+ {Intrinsic::x86_avx512_gatherpf_qpd_512, 96391}, // __builtin_ia32_gatherpfqpd
+ {Intrinsic::x86_avx512_gatherpf_qps_512, 96418}, // __builtin_ia32_gatherpfqps
+ {Intrinsic::x86_avx2_gather_q_d, 92181}, // __builtin_ia32_gatherq_d
+ {Intrinsic::x86_avx2_gather_q_d_256, 92206}, // __builtin_ia32_gatherq_d256
+ {Intrinsic::x86_avx2_gather_q_pd, 92234}, // __builtin_ia32_gatherq_pd
+ {Intrinsic::x86_avx2_gather_q_pd_256, 92260}, // __builtin_ia32_gatherq_pd256
+ {Intrinsic::x86_avx2_gather_q_ps, 92289}, // __builtin_ia32_gatherq_ps
+ {Intrinsic::x86_avx2_gather_q_ps_256, 92315}, // __builtin_ia32_gatherq_ps256
+ {Intrinsic::x86_avx2_gather_q_q, 92344}, // __builtin_ia32_gatherq_q
+ {Intrinsic::x86_avx2_gather_q_q_256, 92369}, // __builtin_ia32_gatherq_q256
+ {Intrinsic::x86_avx512_gather_dps_512, 95730}, // __builtin_ia32_gathersiv16sf
+ {Intrinsic::x86_avx512_gather_dpi_512, 95673}, // __builtin_ia32_gathersiv16si
+ {Intrinsic::x86_avx512_gather_dpd_512, 95645}, // __builtin_ia32_gathersiv8df
+ {Intrinsic::x86_avx512_gather_dpq_512, 95702}, // __builtin_ia32_gathersiv8di
+ {Intrinsic::x86_avx512_mask_getexp_pd_128, 102777}, // __builtin_ia32_getexppd128_mask
+ {Intrinsic::x86_avx512_mask_getexp_pd_256, 102809}, // __builtin_ia32_getexppd256_mask
+ {Intrinsic::x86_avx512_mask_getexp_pd_512, 102841}, // __builtin_ia32_getexppd512_mask
+ {Intrinsic::x86_avx512_mask_getexp_ps_128, 102873}, // __builtin_ia32_getexpps128_mask
+ {Intrinsic::x86_avx512_mask_getexp_ps_256, 102905}, // __builtin_ia32_getexpps256_mask
+ {Intrinsic::x86_avx512_mask_getexp_ps_512, 102937}, // __builtin_ia32_getexpps512_mask
+ {Intrinsic::x86_avx512_mask_getexp_sd, 102969}, // __builtin_ia32_getexpsd128_round_mask
+ {Intrinsic::x86_avx512_mask_getexp_ss, 103007}, // __builtin_ia32_getexpss128_round_mask
+ {Intrinsic::x86_avx512_mask_getmant_pd_128, 103045}, // __builtin_ia32_getmantpd128_mask
+ {Intrinsic::x86_avx512_mask_getmant_pd_256, 103078}, // __builtin_ia32_getmantpd256_mask
+ {Intrinsic::x86_avx512_mask_getmant_pd_512, 103111}, // __builtin_ia32_getmantpd512_mask
+ {Intrinsic::x86_avx512_mask_getmant_ps_128, 103144}, // __builtin_ia32_getmantps128_mask
+ {Intrinsic::x86_avx512_mask_getmant_ps_256, 103177}, // __builtin_ia32_getmantps256_mask
+ {Intrinsic::x86_avx512_mask_getmant_ps_512, 103210}, // __builtin_ia32_getmantps512_mask
+ {Intrinsic::x86_avx512_mask_getmant_sd, 103243}, // __builtin_ia32_getmantsd_round_mask
+ {Intrinsic::x86_avx512_mask_getmant_ss, 103279}, // __builtin_ia32_getmantss_round_mask
+ {Intrinsic::x86_sse3_hadd_pd, 129357}, // __builtin_ia32_haddpd
+ {Intrinsic::x86_avx_hadd_pd_256, 90660}, // __builtin_ia32_haddpd256
+ {Intrinsic::x86_sse3_hadd_ps, 129379}, // __builtin_ia32_haddps
+ {Intrinsic::x86_avx_hadd_ps_256, 90685}, // __builtin_ia32_haddps256
+ {Intrinsic::x86_sse3_hsub_pd, 129401}, // __builtin_ia32_hsubpd
+ {Intrinsic::x86_avx_hsub_pd_256, 90710}, // __builtin_ia32_hsubpd256
+ {Intrinsic::x86_sse3_hsub_ps, 129423}, // __builtin_ia32_hsubps
+ {Intrinsic::x86_avx_hsub_ps_256, 90735}, // __builtin_ia32_hsubps256
+ {Intrinsic::x86_avx512_mask_insertf32x4_256, 103315}, // __builtin_ia32_insertf32x4_256_mask
+ {Intrinsic::x86_avx512_mask_insertf32x4_512, 103351}, // __builtin_ia32_insertf32x4_mask
+ {Intrinsic::x86_avx512_mask_insertf32x8_512, 103383}, // __builtin_ia32_insertf32x8_mask
+ {Intrinsic::x86_avx512_mask_insertf64x2_256, 103415}, // __builtin_ia32_insertf64x2_256_mask
+ {Intrinsic::x86_avx512_mask_insertf64x2_512, 103451}, // __builtin_ia32_insertf64x2_512_mask
+ {Intrinsic::x86_avx512_mask_insertf64x4_512, 103487}, // __builtin_ia32_insertf64x4_mask
+ {Intrinsic::x86_avx512_mask_inserti32x4_256, 103519}, // __builtin_ia32_inserti32x4_256_mask
+ {Intrinsic::x86_avx512_mask_inserti32x4_512, 103555}, // __builtin_ia32_inserti32x4_mask
+ {Intrinsic::x86_avx512_mask_inserti32x8_512, 103587}, // __builtin_ia32_inserti32x8_mask
+ {Intrinsic::x86_avx512_mask_inserti64x2_256, 103619}, // __builtin_ia32_inserti64x2_256_mask
+ {Intrinsic::x86_avx512_mask_inserti64x2_512, 103655}, // __builtin_ia32_inserti64x2_512_mask
+ {Intrinsic::x86_avx512_mask_inserti64x4_512, 103691}, // __builtin_ia32_inserti64x4_mask
+ {Intrinsic::x86_sse41_insertps, 129598}, // __builtin_ia32_insertps128
+ {Intrinsic::x86_sse4a_insertq, 130489}, // __builtin_ia32_insertq
+ {Intrinsic::x86_sse4a_insertqi, 130512}, // __builtin_ia32_insertqi
+ {Intrinsic::x86_avx512_kand_w, 96445}, // __builtin_ia32_kandhi
+ {Intrinsic::x86_avx512_kandn_w, 96467}, // __builtin_ia32_kandnhi
+ {Intrinsic::x86_avx512_knot_w, 96490}, // __builtin_ia32_knothi
+ {Intrinsic::x86_avx512_kor_w, 96512}, // __builtin_ia32_korhi
+ {Intrinsic::x86_avx512_kortestc_w, 96533}, // __builtin_ia32_kortestchi
+ {Intrinsic::x86_avx512_kortestz_w, 96559}, // __builtin_ia32_kortestzhi
+ {Intrinsic::x86_avx512_kunpck_dq, 96609}, // __builtin_ia32_kunpckdi
+ {Intrinsic::x86_avx512_kunpck_bw, 96585}, // __builtin_ia32_kunpckhi
+ {Intrinsic::x86_avx512_kunpck_wd, 96633}, // __builtin_ia32_kunpcksi
+ {Intrinsic::x86_avx512_kxnor_w, 96657}, // __builtin_ia32_kxnorhi
+ {Intrinsic::x86_avx512_kxor_w, 96680}, // __builtin_ia32_kxorhi
+ {Intrinsic::x86_sse3_ldu_dq, 129445}, // __builtin_ia32_lddqu
+ {Intrinsic::x86_avx_ldu_dq_256, 90760}, // __builtin_ia32_lddqu256
+ {Intrinsic::x86_sse2_lfence, 128035}, // __builtin_ia32_lfence
+ {Intrinsic::x86_avx2_maskload_d, 92397}, // __builtin_ia32_maskloadd
+ {Intrinsic::x86_avx2_maskload_d_256, 92422}, // __builtin_ia32_maskloadd256
+ {Intrinsic::x86_avx_maskload_pd, 90784}, // __builtin_ia32_maskloadpd
+ {Intrinsic::x86_avx_maskload_pd_256, 90810}, // __builtin_ia32_maskloadpd256
+ {Intrinsic::x86_avx_maskload_ps, 90839}, // __builtin_ia32_maskloadps
+ {Intrinsic::x86_avx_maskload_ps_256, 90865}, // __builtin_ia32_maskloadps256
+ {Intrinsic::x86_avx2_maskload_q, 92450}, // __builtin_ia32_maskloadq
+ {Intrinsic::x86_avx2_maskload_q_256, 92475}, // __builtin_ia32_maskloadq256
+ {Intrinsic::x86_sse2_maskmov_dqu, 128057}, // __builtin_ia32_maskmovdqu
+ {Intrinsic::x86_mmx_maskmovq, 124762}, // __builtin_ia32_maskmovq
+ {Intrinsic::x86_avx2_maskstore_d, 92503}, // __builtin_ia32_maskstored
+ {Intrinsic::x86_avx2_maskstore_d_256, 92529}, // __builtin_ia32_maskstored256
+ {Intrinsic::x86_avx_maskstore_pd, 90894}, // __builtin_ia32_maskstorepd
+ {Intrinsic::x86_avx_maskstore_pd_256, 90921}, // __builtin_ia32_maskstorepd256
+ {Intrinsic::x86_avx_maskstore_ps, 90951}, // __builtin_ia32_maskstoreps
+ {Intrinsic::x86_avx_maskstore_ps_256, 90978}, // __builtin_ia32_maskstoreps256
+ {Intrinsic::x86_avx2_maskstore_q, 92558}, // __builtin_ia32_maskstoreq
+ {Intrinsic::x86_avx2_maskstore_q_256, 92584}, // __builtin_ia32_maskstoreq256
+ {Intrinsic::x86_sse2_max_pd, 128083}, // __builtin_ia32_maxpd
+ {Intrinsic::x86_avx_max_pd_256, 91008}, // __builtin_ia32_maxpd256
+ {Intrinsic::x86_avx512_mask_max_pd_256, 103749}, // __builtin_ia32_maxpd256_mask
+ {Intrinsic::x86_avx512_mask_max_pd_512, 103778}, // __builtin_ia32_maxpd512_mask
+ {Intrinsic::x86_avx512_mask_max_pd_128, 103723}, // __builtin_ia32_maxpd_mask
+ {Intrinsic::x86_sse_max_ps, 127151}, // __builtin_ia32_maxps
+ {Intrinsic::x86_avx_max_ps_256, 91032}, // __builtin_ia32_maxps256
+ {Intrinsic::x86_avx512_mask_max_ps_256, 103833}, // __builtin_ia32_maxps256_mask
+ {Intrinsic::x86_avx512_mask_max_ps_512, 103862}, // __builtin_ia32_maxps512_mask
+ {Intrinsic::x86_avx512_mask_max_ps_128, 103807}, // __builtin_ia32_maxps_mask
+ {Intrinsic::x86_sse2_max_sd, 128104}, // __builtin_ia32_maxsd
+ {Intrinsic::x86_avx512_mask_max_sd_round, 103891}, // __builtin_ia32_maxsd_round_mask
+ {Intrinsic::x86_sse_max_ss, 127172}, // __builtin_ia32_maxss
+ {Intrinsic::x86_avx512_mask_max_ss_round, 103923}, // __builtin_ia32_maxss_round_mask
+ {Intrinsic::x86_sse2_mfence, 128125}, // __builtin_ia32_mfence
+ {Intrinsic::x86_sse2_min_pd, 128147}, // __builtin_ia32_minpd
+ {Intrinsic::x86_avx_min_pd_256, 91056}, // __builtin_ia32_minpd256
+ {Intrinsic::x86_avx512_mask_min_pd_256, 103981}, // __builtin_ia32_minpd256_mask
+ {Intrinsic::x86_avx512_mask_min_pd_512, 104010}, // __builtin_ia32_minpd512_mask
+ {Intrinsic::x86_avx512_mask_min_pd_128, 103955}, // __builtin_ia32_minpd_mask
+ {Intrinsic::x86_sse_min_ps, 127193}, // __builtin_ia32_minps
+ {Intrinsic::x86_avx_min_ps_256, 91080}, // __builtin_ia32_minps256
+ {Intrinsic::x86_avx512_mask_min_ps_256, 104065}, // __builtin_ia32_minps256_mask
+ {Intrinsic::x86_avx512_mask_min_ps_512, 104094}, // __builtin_ia32_minps512_mask
+ {Intrinsic::x86_avx512_mask_min_ps_128, 104039}, // __builtin_ia32_minps_mask
+ {Intrinsic::x86_sse2_min_sd, 128168}, // __builtin_ia32_minsd
+ {Intrinsic::x86_avx512_mask_min_sd_round, 104123}, // __builtin_ia32_minsd_round_mask
+ {Intrinsic::x86_sse_min_ss, 127214}, // __builtin_ia32_minss
+ {Intrinsic::x86_avx512_mask_min_ss_round, 104155}, // __builtin_ia32_minss_round_mask
+ {Intrinsic::x86_sse3_monitor, 129466}, // __builtin_ia32_monitor
+ {Intrinsic::x86_monitorx, 126308}, // __builtin_ia32_monitorx
+ {Intrinsic::x86_sse2_movmsk_pd, 128189}, // __builtin_ia32_movmskpd
+ {Intrinsic::x86_avx_movmsk_pd_256, 91104}, // __builtin_ia32_movmskpd256
+ {Intrinsic::x86_sse_movmsk_ps, 127235}, // __builtin_ia32_movmskps
+ {Intrinsic::x86_avx_movmsk_ps_256, 91131}, // __builtin_ia32_movmskps256
+ {Intrinsic::x86_sse41_movntdqa, 129625}, // __builtin_ia32_movntdqa
+ {Intrinsic::x86_avx2_movntdqa, 92613}, // __builtin_ia32_movntdqa256
+ {Intrinsic::x86_avx512_movntdqa, 119822}, // __builtin_ia32_movntdqa512
+ {Intrinsic::x86_mmx_movnt_dq, 124786}, // __builtin_ia32_movntq
+ {Intrinsic::x86_sse41_mpsadbw, 129649}, // __builtin_ia32_mpsadbw128
+ {Intrinsic::x86_avx2_mpsadbw, 92640}, // __builtin_ia32_mpsadbw256
+ {Intrinsic::x86_avx512_mask_mul_pd_512, 104187}, // __builtin_ia32_mulpd512_mask
+ {Intrinsic::x86_avx512_mask_mul_ps_512, 104216}, // __builtin_ia32_mulps512_mask
+ {Intrinsic::x86_avx512_mask_mul_sd_round, 104245}, // __builtin_ia32_mulsd_round_mask
+ {Intrinsic::x86_avx512_mask_mul_ss_round, 104277}, // __builtin_ia32_mulss_round_mask
+ {Intrinsic::x86_sse3_mwait, 129489}, // __builtin_ia32_mwait
+ {Intrinsic::x86_mwaitx, 126332}, // __builtin_ia32_mwaitx
+ {Intrinsic::x86_ssse3_pabs_b, 130536}, // __builtin_ia32_pabsb
+ {Intrinsic::x86_ssse3_pabs_b_128, 130557}, // __builtin_ia32_pabsb128
+ {Intrinsic::x86_avx512_mask_pabs_b_128, 104309}, // __builtin_ia32_pabsb128_mask
+ {Intrinsic::x86_avx2_pabs_b, 92666}, // __builtin_ia32_pabsb256
+ {Intrinsic::x86_avx512_mask_pabs_b_256, 104338}, // __builtin_ia32_pabsb256_mask
+ {Intrinsic::x86_avx512_mask_pabs_b_512, 104367}, // __builtin_ia32_pabsb512_mask
+ {Intrinsic::x86_ssse3_pabs_d, 130581}, // __builtin_ia32_pabsd
+ {Intrinsic::x86_ssse3_pabs_d_128, 130602}, // __builtin_ia32_pabsd128
+ {Intrinsic::x86_avx512_mask_pabs_d_128, 104396}, // __builtin_ia32_pabsd128_mask
+ {Intrinsic::x86_avx2_pabs_d, 92690}, // __builtin_ia32_pabsd256
+ {Intrinsic::x86_avx512_mask_pabs_d_256, 104425}, // __builtin_ia32_pabsd256_mask
+ {Intrinsic::x86_avx512_mask_pabs_d_512, 104454}, // __builtin_ia32_pabsd512_mask
+ {Intrinsic::x86_avx512_mask_pabs_q_128, 104483}, // __builtin_ia32_pabsq128_mask
+ {Intrinsic::x86_avx512_mask_pabs_q_256, 104512}, // __builtin_ia32_pabsq256_mask
+ {Intrinsic::x86_avx512_mask_pabs_q_512, 104541}, // __builtin_ia32_pabsq512_mask
+ {Intrinsic::x86_ssse3_pabs_w, 130626}, // __builtin_ia32_pabsw
+ {Intrinsic::x86_ssse3_pabs_w_128, 130647}, // __builtin_ia32_pabsw128
+ {Intrinsic::x86_avx512_mask_pabs_w_128, 104570}, // __builtin_ia32_pabsw128_mask
+ {Intrinsic::x86_avx2_pabs_w, 92714}, // __builtin_ia32_pabsw256
+ {Intrinsic::x86_avx512_mask_pabs_w_256, 104599}, // __builtin_ia32_pabsw256_mask
+ {Intrinsic::x86_avx512_mask_pabs_w_512, 104628}, // __builtin_ia32_pabsw512_mask
+ {Intrinsic::x86_mmx_packssdw, 124808}, // __builtin_ia32_packssdw
+ {Intrinsic::x86_sse2_packssdw_128, 128213}, // __builtin_ia32_packssdw128
+ {Intrinsic::x86_avx512_mask_packssdw_128, 104657}, // __builtin_ia32_packssdw128_mask
+ {Intrinsic::x86_avx2_packssdw, 92738}, // __builtin_ia32_packssdw256
+ {Intrinsic::x86_avx512_mask_packssdw_256, 104689}, // __builtin_ia32_packssdw256_mask
+ {Intrinsic::x86_avx512_mask_packssdw_512, 104721}, // __builtin_ia32_packssdw512_mask
+ {Intrinsic::x86_mmx_packsswb, 124832}, // __builtin_ia32_packsswb
+ {Intrinsic::x86_sse2_packsswb_128, 128240}, // __builtin_ia32_packsswb128
+ {Intrinsic::x86_avx512_mask_packsswb_128, 104753}, // __builtin_ia32_packsswb128_mask
+ {Intrinsic::x86_avx2_packsswb, 92765}, // __builtin_ia32_packsswb256
+ {Intrinsic::x86_avx512_mask_packsswb_256, 104785}, // __builtin_ia32_packsswb256_mask
+ {Intrinsic::x86_avx512_mask_packsswb_512, 104817}, // __builtin_ia32_packsswb512_mask
+ {Intrinsic::x86_sse41_packusdw, 129675}, // __builtin_ia32_packusdw128
+ {Intrinsic::x86_avx512_mask_packusdw_128, 104849}, // __builtin_ia32_packusdw128_mask
+ {Intrinsic::x86_avx2_packusdw, 92792}, // __builtin_ia32_packusdw256
+ {Intrinsic::x86_avx512_mask_packusdw_256, 104881}, // __builtin_ia32_packusdw256_mask
+ {Intrinsic::x86_avx512_mask_packusdw_512, 104913}, // __builtin_ia32_packusdw512_mask
+ {Intrinsic::x86_mmx_packuswb, 124856}, // __builtin_ia32_packuswb
+ {Intrinsic::x86_sse2_packuswb_128, 128267}, // __builtin_ia32_packuswb128
+ {Intrinsic::x86_avx512_mask_packuswb_128, 104945}, // __builtin_ia32_packuswb128_mask
+ {Intrinsic::x86_avx2_packuswb, 92819}, // __builtin_ia32_packuswb256
+ {Intrinsic::x86_avx512_mask_packuswb_256, 104977}, // __builtin_ia32_packuswb256_mask
+ {Intrinsic::x86_avx512_mask_packuswb_512, 105009}, // __builtin_ia32_packuswb512_mask
+ {Intrinsic::x86_mmx_padd_b, 124880}, // __builtin_ia32_paddb
+ {Intrinsic::x86_mmx_padd_d, 124901}, // __builtin_ia32_paddd
+ {Intrinsic::x86_mmx_padd_q, 124922}, // __builtin_ia32_paddq
+ {Intrinsic::x86_mmx_padds_b, 124964}, // __builtin_ia32_paddsb
+ {Intrinsic::x86_sse2_padds_b, 128294}, // __builtin_ia32_paddsb128
+ {Intrinsic::x86_avx512_mask_padds_b_128, 105041}, // __builtin_ia32_paddsb128_mask
+ {Intrinsic::x86_avx2_padds_b, 92846}, // __builtin_ia32_paddsb256
+ {Intrinsic::x86_avx512_mask_padds_b_256, 105071}, // __builtin_ia32_paddsb256_mask
+ {Intrinsic::x86_avx512_mask_padds_b_512, 105101}, // __builtin_ia32_paddsb512_mask
+ {Intrinsic::x86_mmx_padds_w, 124986}, // __builtin_ia32_paddsw
+ {Intrinsic::x86_sse2_padds_w, 128319}, // __builtin_ia32_paddsw128
+ {Intrinsic::x86_avx512_mask_padds_w_128, 105131}, // __builtin_ia32_paddsw128_mask
+ {Intrinsic::x86_avx2_padds_w, 92871}, // __builtin_ia32_paddsw256
+ {Intrinsic::x86_avx512_mask_padds_w_256, 105161}, // __builtin_ia32_paddsw256_mask
+ {Intrinsic::x86_avx512_mask_padds_w_512, 105191}, // __builtin_ia32_paddsw512_mask
+ {Intrinsic::x86_mmx_paddus_b, 125008}, // __builtin_ia32_paddusb
+ {Intrinsic::x86_sse2_paddus_b, 128344}, // __builtin_ia32_paddusb128
+ {Intrinsic::x86_avx512_mask_paddus_b_128, 105221}, // __builtin_ia32_paddusb128_mask
+ {Intrinsic::x86_avx2_paddus_b, 92896}, // __builtin_ia32_paddusb256
+ {Intrinsic::x86_avx512_mask_paddus_b_256, 105252}, // __builtin_ia32_paddusb256_mask
+ {Intrinsic::x86_avx512_mask_paddus_b_512, 105283}, // __builtin_ia32_paddusb512_mask
+ {Intrinsic::x86_mmx_paddus_w, 125031}, // __builtin_ia32_paddusw
+ {Intrinsic::x86_sse2_paddus_w, 128370}, // __builtin_ia32_paddusw128
+ {Intrinsic::x86_avx512_mask_paddus_w_128, 105314}, // __builtin_ia32_paddusw128_mask
+ {Intrinsic::x86_avx2_paddus_w, 92922}, // __builtin_ia32_paddusw256
+ {Intrinsic::x86_avx512_mask_paddus_w_256, 105345}, // __builtin_ia32_paddusw256_mask
+ {Intrinsic::x86_avx512_mask_paddus_w_512, 105376}, // __builtin_ia32_paddusw512_mask
+ {Intrinsic::x86_mmx_padd_w, 124943}, // __builtin_ia32_paddw
+ {Intrinsic::x86_mmx_palignr_b, 125054}, // __builtin_ia32_palignr
+ {Intrinsic::x86_mmx_pand, 125077}, // __builtin_ia32_pand
+ {Intrinsic::x86_mmx_pandn, 125097}, // __builtin_ia32_pandn
+ {Intrinsic::x86_sse2_pause, 128396}, // __builtin_ia32_pause
+ {Intrinsic::x86_mmx_pavg_b, 125118}, // __builtin_ia32_pavgb
+ {Intrinsic::x86_sse2_pavg_b, 128417}, // __builtin_ia32_pavgb128
+ {Intrinsic::x86_avx512_mask_pavg_b_128, 105407}, // __builtin_ia32_pavgb128_mask
+ {Intrinsic::x86_avx2_pavg_b, 92948}, // __builtin_ia32_pavgb256
+ {Intrinsic::x86_avx512_mask_pavg_b_256, 105436}, // __builtin_ia32_pavgb256_mask
+ {Intrinsic::x86_avx512_mask_pavg_b_512, 105465}, // __builtin_ia32_pavgb512_mask
+ {Intrinsic::x86_3dnow_pavgusb, 89576}, // __builtin_ia32_pavgusb
+ {Intrinsic::x86_mmx_pavg_w, 125139}, // __builtin_ia32_pavgw
+ {Intrinsic::x86_sse2_pavg_w, 128441}, // __builtin_ia32_pavgw128
+ {Intrinsic::x86_avx512_mask_pavg_w_128, 105494}, // __builtin_ia32_pavgw128_mask
+ {Intrinsic::x86_avx2_pavg_w, 92972}, // __builtin_ia32_pavgw256
+ {Intrinsic::x86_avx512_mask_pavg_w_256, 105523}, // __builtin_ia32_pavgw256_mask
+ {Intrinsic::x86_avx512_mask_pavg_w_512, 105552}, // __builtin_ia32_pavgw512_mask
+ {Intrinsic::x86_sse41_pblendvb, 129702}, // __builtin_ia32_pblendvb128
+ {Intrinsic::x86_avx2_pblendvb, 92996}, // __builtin_ia32_pblendvb256
+ {Intrinsic::x86_avx512_mask_pbroadcast_b_gpr_128, 105581}, // __builtin_ia32_pbroadcastb128_gpr_mask
+ {Intrinsic::x86_avx512_mask_pbroadcast_b_gpr_256, 105620}, // __builtin_ia32_pbroadcastb256_gpr_mask
+ {Intrinsic::x86_avx512_mask_pbroadcast_b_gpr_512, 105659}, // __builtin_ia32_pbroadcastb512_gpr_mask
+ {Intrinsic::x86_avx512_mask_pbroadcast_d_gpr_128, 105698}, // __builtin_ia32_pbroadcastd128_gpr_mask
+ {Intrinsic::x86_avx512_mask_pbroadcast_d_gpr_256, 105737}, // __builtin_ia32_pbroadcastd256_gpr_mask
+ {Intrinsic::x86_avx512_mask_pbroadcast_d_gpr_512, 105776}, // __builtin_ia32_pbroadcastd512_gpr_mask
+ {Intrinsic::x86_avx512_mask_pbroadcast_q_gpr_128, 105815}, // __builtin_ia32_pbroadcastq128_gpr_mask
+ {Intrinsic::x86_avx512_mask_pbroadcast_q_gpr_256, 105854}, // __builtin_ia32_pbroadcastq256_gpr_mask
+ {Intrinsic::x86_avx512_mask_pbroadcast_q_gpr_512, 105893}, // __builtin_ia32_pbroadcastq512_gpr_mask
+ {Intrinsic::x86_avx512_mask_pbroadcast_q_mem_512, 105932}, // __builtin_ia32_pbroadcastq512_mem_mask
+ {Intrinsic::x86_avx512_mask_pbroadcast_w_gpr_128, 105971}, // __builtin_ia32_pbroadcastw128_gpr_mask
+ {Intrinsic::x86_avx512_mask_pbroadcast_w_gpr_256, 106010}, // __builtin_ia32_pbroadcastw256_gpr_mask
+ {Intrinsic::x86_avx512_mask_pbroadcast_w_gpr_512, 106049}, // __builtin_ia32_pbroadcastw512_gpr_mask
+ {Intrinsic::x86_pclmulqdq, 126354}, // __builtin_ia32_pclmulqdq128
+ {Intrinsic::x86_mmx_pcmpeq_b, 125160}, // __builtin_ia32_pcmpeqb
+ {Intrinsic::x86_mmx_pcmpeq_d, 125183}, // __builtin_ia32_pcmpeqd
+ {Intrinsic::x86_mmx_pcmpeq_w, 125206}, // __builtin_ia32_pcmpeqw
+ {Intrinsic::x86_sse42_pcmpestri128, 130044}, // __builtin_ia32_pcmpestri128
+ {Intrinsic::x86_sse42_pcmpestria128, 130072}, // __builtin_ia32_pcmpestria128
+ {Intrinsic::x86_sse42_pcmpestric128, 130101}, // __builtin_ia32_pcmpestric128
+ {Intrinsic::x86_sse42_pcmpestrio128, 130130}, // __builtin_ia32_pcmpestrio128
+ {Intrinsic::x86_sse42_pcmpestris128, 130159}, // __builtin_ia32_pcmpestris128
+ {Intrinsic::x86_sse42_pcmpestriz128, 130188}, // __builtin_ia32_pcmpestriz128
+ {Intrinsic::x86_sse42_pcmpestrm128, 130217}, // __builtin_ia32_pcmpestrm128
+ {Intrinsic::x86_mmx_pcmpgt_b, 125229}, // __builtin_ia32_pcmpgtb
+ {Intrinsic::x86_mmx_pcmpgt_d, 125252}, // __builtin_ia32_pcmpgtd
+ {Intrinsic::x86_mmx_pcmpgt_w, 125275}, // __builtin_ia32_pcmpgtw
+ {Intrinsic::x86_sse42_pcmpistri128, 130245}, // __builtin_ia32_pcmpistri128
+ {Intrinsic::x86_sse42_pcmpistria128, 130273}, // __builtin_ia32_pcmpistria128
+ {Intrinsic::x86_sse42_pcmpistric128, 130302}, // __builtin_ia32_pcmpistric128
+ {Intrinsic::x86_sse42_pcmpistrio128, 130331}, // __builtin_ia32_pcmpistrio128
+ {Intrinsic::x86_sse42_pcmpistris128, 130360}, // __builtin_ia32_pcmpistris128
+ {Intrinsic::x86_sse42_pcmpistriz128, 130389}, // __builtin_ia32_pcmpistriz128
+ {Intrinsic::x86_sse42_pcmpistrm128, 130418}, // __builtin_ia32_pcmpistrm128
+ {Intrinsic::x86_bmi_pdep_64, 123570}, // __builtin_ia32_pdep_di
+ {Intrinsic::x86_bmi_pdep_32, 123547}, // __builtin_ia32_pdep_si
+ {Intrinsic::x86_avx2_vperm2i128, 94300}, // __builtin_ia32_permti256
+ {Intrinsic::x86_avx512_mask_permvar_df_256, 106088}, // __builtin_ia32_permvardf256_mask
+ {Intrinsic::x86_avx512_mask_permvar_df_512, 106121}, // __builtin_ia32_permvardf512_mask
+ {Intrinsic::x86_avx512_mask_permvar_di_256, 106154}, // __builtin_ia32_permvardi256_mask
+ {Intrinsic::x86_avx512_mask_permvar_di_512, 106187}, // __builtin_ia32_permvardi512_mask
+ {Intrinsic::x86_avx512_mask_permvar_hi_128, 106220}, // __builtin_ia32_permvarhi128_mask
+ {Intrinsic::x86_avx512_mask_permvar_hi_256, 106253}, // __builtin_ia32_permvarhi256_mask
+ {Intrinsic::x86_avx512_mask_permvar_hi_512, 106286}, // __builtin_ia32_permvarhi512_mask
+ {Intrinsic::x86_avx512_mask_permvar_qi_128, 106319}, // __builtin_ia32_permvarqi128_mask
+ {Intrinsic::x86_avx512_mask_permvar_qi_256, 106352}, // __builtin_ia32_permvarqi256_mask
+ {Intrinsic::x86_avx512_mask_permvar_qi_512, 106385}, // __builtin_ia32_permvarqi512_mask
+ {Intrinsic::x86_avx2_permps, 93051}, // __builtin_ia32_permvarsf256
+ {Intrinsic::x86_avx512_mask_permvar_sf_256, 106418}, // __builtin_ia32_permvarsf256_mask
+ {Intrinsic::x86_avx512_mask_permvar_sf_512, 106451}, // __builtin_ia32_permvarsf512_mask
+ {Intrinsic::x86_avx2_permd, 93023}, // __builtin_ia32_permvarsi256
+ {Intrinsic::x86_avx512_mask_permvar_si_256, 106484}, // __builtin_ia32_permvarsi256_mask
+ {Intrinsic::x86_avx512_mask_permvar_si_512, 106517}, // __builtin_ia32_permvarsi512_mask
+ {Intrinsic::x86_bmi_pext_64, 123616}, // __builtin_ia32_pext_di
+ {Intrinsic::x86_bmi_pext_32, 123593}, // __builtin_ia32_pext_si
+ {Intrinsic::x86_3dnow_pf2id, 89599}, // __builtin_ia32_pf2id
+ {Intrinsic::x86_3dnowa_pf2iw, 89997}, // __builtin_ia32_pf2iw
+ {Intrinsic::x86_3dnow_pfacc, 89620}, // __builtin_ia32_pfacc
+ {Intrinsic::x86_3dnow_pfadd, 89641}, // __builtin_ia32_pfadd
+ {Intrinsic::x86_3dnow_pfcmpeq, 89662}, // __builtin_ia32_pfcmpeq
+ {Intrinsic::x86_3dnow_pfcmpge, 89685}, // __builtin_ia32_pfcmpge
+ {Intrinsic::x86_3dnow_pfcmpgt, 89708}, // __builtin_ia32_pfcmpgt
+ {Intrinsic::x86_3dnow_pfmax, 89731}, // __builtin_ia32_pfmax
+ {Intrinsic::x86_3dnow_pfmin, 89752}, // __builtin_ia32_pfmin
+ {Intrinsic::x86_3dnow_pfmul, 89773}, // __builtin_ia32_pfmul
+ {Intrinsic::x86_3dnowa_pfnacc, 90018}, // __builtin_ia32_pfnacc
+ {Intrinsic::x86_3dnowa_pfpnacc, 90040}, // __builtin_ia32_pfpnacc
+ {Intrinsic::x86_3dnow_pfrcp, 89794}, // __builtin_ia32_pfrcp
+ {Intrinsic::x86_3dnow_pfrcpit1, 89815}, // __builtin_ia32_pfrcpit1
+ {Intrinsic::x86_3dnow_pfrcpit2, 89839}, // __builtin_ia32_pfrcpit2
+ {Intrinsic::x86_3dnow_pfrsqit1, 89863}, // __builtin_ia32_pfrsqit1
+ {Intrinsic::x86_3dnow_pfrsqrt, 89887}, // __builtin_ia32_pfrsqrt
+ {Intrinsic::x86_3dnow_pfsub, 89910}, // __builtin_ia32_pfsub
+ {Intrinsic::x86_3dnow_pfsubr, 89931}, // __builtin_ia32_pfsubr
+ {Intrinsic::x86_ssse3_phadd_d, 130671}, // __builtin_ia32_phaddd
+ {Intrinsic::x86_ssse3_phadd_d_128, 130693}, // __builtin_ia32_phaddd128
+ {Intrinsic::x86_avx2_phadd_d, 93079}, // __builtin_ia32_phaddd256
+ {Intrinsic::x86_ssse3_phadd_sw, 130718}, // __builtin_ia32_phaddsw
+ {Intrinsic::x86_ssse3_phadd_sw_128, 130741}, // __builtin_ia32_phaddsw128
+ {Intrinsic::x86_avx2_phadd_sw, 93104}, // __builtin_ia32_phaddsw256
+ {Intrinsic::x86_ssse3_phadd_w, 130767}, // __builtin_ia32_phaddw
+ {Intrinsic::x86_ssse3_phadd_w_128, 130789}, // __builtin_ia32_phaddw128
+ {Intrinsic::x86_avx2_phadd_w, 93130}, // __builtin_ia32_phaddw256
+ {Intrinsic::x86_sse41_phminposuw, 129729}, // __builtin_ia32_phminposuw128
+ {Intrinsic::x86_ssse3_phsub_d, 130814}, // __builtin_ia32_phsubd
+ {Intrinsic::x86_ssse3_phsub_d_128, 130836}, // __builtin_ia32_phsubd128
+ {Intrinsic::x86_avx2_phsub_d, 93155}, // __builtin_ia32_phsubd256
+ {Intrinsic::x86_ssse3_phsub_sw, 130861}, // __builtin_ia32_phsubsw
+ {Intrinsic::x86_ssse3_phsub_sw_128, 130884}, // __builtin_ia32_phsubsw128
+ {Intrinsic::x86_avx2_phsub_sw, 93180}, // __builtin_ia32_phsubsw256
+ {Intrinsic::x86_ssse3_phsub_w, 130910}, // __builtin_ia32_phsubw
+ {Intrinsic::x86_ssse3_phsub_w_128, 130932}, // __builtin_ia32_phsubw128
+ {Intrinsic::x86_avx2_phsub_w, 93206}, // __builtin_ia32_phsubw256
+ {Intrinsic::x86_3dnow_pi2fd, 89953}, // __builtin_ia32_pi2fd
+ {Intrinsic::x86_3dnowa_pi2fw, 90063}, // __builtin_ia32_pi2fw
+ {Intrinsic::x86_ssse3_pmadd_ub_sw, 130957}, // __builtin_ia32_pmaddubsw
+ {Intrinsic::x86_ssse3_pmadd_ub_sw_128, 130982}, // __builtin_ia32_pmaddubsw128
+ {Intrinsic::x86_avx512_mask_pmaddubs_w_128, 106550}, // __builtin_ia32_pmaddubsw128_mask
+ {Intrinsic::x86_avx2_pmadd_ub_sw, 93231}, // __builtin_ia32_pmaddubsw256
+ {Intrinsic::x86_avx512_mask_pmaddubs_w_256, 106583}, // __builtin_ia32_pmaddubsw256_mask
+ {Intrinsic::x86_avx512_mask_pmaddubs_w_512, 106616}, // __builtin_ia32_pmaddubsw512_mask
+ {Intrinsic::x86_mmx_pmadd_wd, 125354}, // __builtin_ia32_pmaddwd
+ {Intrinsic::x86_sse2_pmadd_wd, 128465}, // __builtin_ia32_pmaddwd128
+ {Intrinsic::x86_avx512_mask_pmaddw_d_128, 106649}, // __builtin_ia32_pmaddwd128_mask
+ {Intrinsic::x86_avx2_pmadd_wd, 93259}, // __builtin_ia32_pmaddwd256
+ {Intrinsic::x86_avx512_mask_pmaddw_d_256, 106680}, // __builtin_ia32_pmaddwd256_mask
+ {Intrinsic::x86_avx512_mask_pmaddw_d_512, 106711}, // __builtin_ia32_pmaddwd512_mask
+ {Intrinsic::x86_mmx_pmaxs_w, 125377}, // __builtin_ia32_pmaxsw
+ {Intrinsic::x86_mmx_pmaxu_b, 125399}, // __builtin_ia32_pmaxub
+ {Intrinsic::x86_mmx_pmins_w, 125421}, // __builtin_ia32_pminsw
+ {Intrinsic::x86_mmx_pminu_b, 125443}, // __builtin_ia32_pminub
+ {Intrinsic::x86_avx512_mask_pmov_db_128, 106742}, // __builtin_ia32_pmovdb128_mask
+ {Intrinsic::x86_avx512_mask_pmov_db_mem_128, 106832}, // __builtin_ia32_pmovdb128mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_db_256, 106772}, // __builtin_ia32_pmovdb256_mask
+ {Intrinsic::x86_avx512_mask_pmov_db_mem_256, 106865}, // __builtin_ia32_pmovdb256mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_db_512, 106802}, // __builtin_ia32_pmovdb512_mask
+ {Intrinsic::x86_avx512_mask_pmov_db_mem_512, 106898}, // __builtin_ia32_pmovdb512mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_dw_128, 106931}, // __builtin_ia32_pmovdw128_mask
+ {Intrinsic::x86_avx512_mask_pmov_dw_mem_128, 107021}, // __builtin_ia32_pmovdw128mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_dw_256, 106961}, // __builtin_ia32_pmovdw256_mask
+ {Intrinsic::x86_avx512_mask_pmov_dw_mem_256, 107054}, // __builtin_ia32_pmovdw256mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_dw_512, 106991}, // __builtin_ia32_pmovdw512_mask
+ {Intrinsic::x86_avx512_mask_pmov_dw_mem_512, 107087}, // __builtin_ia32_pmovdw512mem_mask
+ {Intrinsic::x86_mmx_pmovmskb, 125465}, // __builtin_ia32_pmovmskb
+ {Intrinsic::x86_sse2_pmovmskb_128, 128491}, // __builtin_ia32_pmovmskb128
+ {Intrinsic::x86_avx2_pmovmskb, 93285}, // __builtin_ia32_pmovmskb256
+ {Intrinsic::x86_avx512_mask_pmov_qb_128, 107120}, // __builtin_ia32_pmovqb128_mask
+ {Intrinsic::x86_avx512_mask_pmov_qb_mem_128, 107210}, // __builtin_ia32_pmovqb128mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_qb_256, 107150}, // __builtin_ia32_pmovqb256_mask
+ {Intrinsic::x86_avx512_mask_pmov_qb_mem_256, 107243}, // __builtin_ia32_pmovqb256mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_qb_512, 107180}, // __builtin_ia32_pmovqb512_mask
+ {Intrinsic::x86_avx512_mask_pmov_qb_mem_512, 107276}, // __builtin_ia32_pmovqb512mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_qd_128, 107309}, // __builtin_ia32_pmovqd128_mask
+ {Intrinsic::x86_avx512_mask_pmov_qd_mem_128, 107399}, // __builtin_ia32_pmovqd128mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_qd_256, 107339}, // __builtin_ia32_pmovqd256_mask
+ {Intrinsic::x86_avx512_mask_pmov_qd_mem_256, 107432}, // __builtin_ia32_pmovqd256mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_qd_512, 107369}, // __builtin_ia32_pmovqd512_mask
+ {Intrinsic::x86_avx512_mask_pmov_qd_mem_512, 107465}, // __builtin_ia32_pmovqd512mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_qw_128, 107498}, // __builtin_ia32_pmovqw128_mask
+ {Intrinsic::x86_avx512_mask_pmov_qw_mem_128, 107588}, // __builtin_ia32_pmovqw128mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_qw_256, 107528}, // __builtin_ia32_pmovqw256_mask
+ {Intrinsic::x86_avx512_mask_pmov_qw_mem_256, 107621}, // __builtin_ia32_pmovqw256mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_qw_512, 107558}, // __builtin_ia32_pmovqw512_mask
+ {Intrinsic::x86_avx512_mask_pmov_qw_mem_512, 107654}, // __builtin_ia32_pmovqw512mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_db_128, 107876}, // __builtin_ia32_pmovsdb128_mask
+ {Intrinsic::x86_avx512_mask_pmovs_db_mem_128, 107969}, // __builtin_ia32_pmovsdb128mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_db_256, 107907}, // __builtin_ia32_pmovsdb256_mask
+ {Intrinsic::x86_avx512_mask_pmovs_db_mem_256, 108003}, // __builtin_ia32_pmovsdb256mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_db_512, 107938}, // __builtin_ia32_pmovsdb512_mask
+ {Intrinsic::x86_avx512_mask_pmovs_db_mem_512, 108037}, // __builtin_ia32_pmovsdb512mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_dw_128, 108071}, // __builtin_ia32_pmovsdw128_mask
+ {Intrinsic::x86_avx512_mask_pmovs_dw_mem_128, 108164}, // __builtin_ia32_pmovsdw128mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_dw_256, 108102}, // __builtin_ia32_pmovsdw256_mask
+ {Intrinsic::x86_avx512_mask_pmovs_dw_mem_256, 108198}, // __builtin_ia32_pmovsdw256mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_dw_512, 108133}, // __builtin_ia32_pmovsdw512_mask
+ {Intrinsic::x86_avx512_mask_pmovs_dw_mem_512, 108232}, // __builtin_ia32_pmovsdw512mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qb_128, 108266}, // __builtin_ia32_pmovsqb128_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qb_mem_128, 108359}, // __builtin_ia32_pmovsqb128mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qb_256, 108297}, // __builtin_ia32_pmovsqb256_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qb_mem_256, 108393}, // __builtin_ia32_pmovsqb256mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qb_512, 108328}, // __builtin_ia32_pmovsqb512_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qb_mem_512, 108427}, // __builtin_ia32_pmovsqb512mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qd_128, 108461}, // __builtin_ia32_pmovsqd128_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qd_mem_128, 108554}, // __builtin_ia32_pmovsqd128mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qd_256, 108492}, // __builtin_ia32_pmovsqd256_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qd_mem_256, 108588}, // __builtin_ia32_pmovsqd256mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qd_512, 108523}, // __builtin_ia32_pmovsqd512_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qd_mem_512, 108622}, // __builtin_ia32_pmovsqd512mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qw_128, 108656}, // __builtin_ia32_pmovsqw128_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qw_mem_128, 108749}, // __builtin_ia32_pmovsqw128mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qw_256, 108687}, // __builtin_ia32_pmovsqw256_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qw_mem_256, 108783}, // __builtin_ia32_pmovsqw256mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qw_512, 108718}, // __builtin_ia32_pmovsqw512_mask
+ {Intrinsic::x86_avx512_mask_pmovs_qw_mem_512, 108817}, // __builtin_ia32_pmovsqw512mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_wb_128, 108851}, // __builtin_ia32_pmovswb128_mask
+ {Intrinsic::x86_avx512_mask_pmovs_wb_mem_128, 108944}, // __builtin_ia32_pmovswb128mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_wb_256, 108882}, // __builtin_ia32_pmovswb256_mask
+ {Intrinsic::x86_avx512_mask_pmovs_wb_mem_256, 108978}, // __builtin_ia32_pmovswb256mem_mask
+ {Intrinsic::x86_avx512_mask_pmovs_wb_512, 108913}, // __builtin_ia32_pmovswb512_mask
+ {Intrinsic::x86_avx512_mask_pmovs_wb_mem_512, 109012}, // __builtin_ia32_pmovswb512mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_db_128, 109046}, // __builtin_ia32_pmovusdb128_mask
+ {Intrinsic::x86_avx512_mask_pmovus_db_mem_128, 109142}, // __builtin_ia32_pmovusdb128mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_db_256, 109078}, // __builtin_ia32_pmovusdb256_mask
+ {Intrinsic::x86_avx512_mask_pmovus_db_mem_256, 109177}, // __builtin_ia32_pmovusdb256mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_db_512, 109110}, // __builtin_ia32_pmovusdb512_mask
+ {Intrinsic::x86_avx512_mask_pmovus_db_mem_512, 109212}, // __builtin_ia32_pmovusdb512mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_dw_128, 109247}, // __builtin_ia32_pmovusdw128_mask
+ {Intrinsic::x86_avx512_mask_pmovus_dw_mem_128, 109343}, // __builtin_ia32_pmovusdw128mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_dw_256, 109279}, // __builtin_ia32_pmovusdw256_mask
+ {Intrinsic::x86_avx512_mask_pmovus_dw_mem_256, 109378}, // __builtin_ia32_pmovusdw256mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_dw_512, 109311}, // __builtin_ia32_pmovusdw512_mask
+ {Intrinsic::x86_avx512_mask_pmovus_dw_mem_512, 109413}, // __builtin_ia32_pmovusdw512mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qb_128, 109448}, // __builtin_ia32_pmovusqb128_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qb_mem_128, 109544}, // __builtin_ia32_pmovusqb128mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qb_256, 109480}, // __builtin_ia32_pmovusqb256_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qb_mem_256, 109579}, // __builtin_ia32_pmovusqb256mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qb_512, 109512}, // __builtin_ia32_pmovusqb512_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qb_mem_512, 109614}, // __builtin_ia32_pmovusqb512mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qd_128, 109649}, // __builtin_ia32_pmovusqd128_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qd_mem_128, 109745}, // __builtin_ia32_pmovusqd128mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qd_256, 109681}, // __builtin_ia32_pmovusqd256_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qd_mem_256, 109780}, // __builtin_ia32_pmovusqd256mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qd_512, 109713}, // __builtin_ia32_pmovusqd512_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qd_mem_512, 109815}, // __builtin_ia32_pmovusqd512mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qw_128, 109850}, // __builtin_ia32_pmovusqw128_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qw_mem_128, 109946}, // __builtin_ia32_pmovusqw128mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qw_256, 109882}, // __builtin_ia32_pmovusqw256_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qw_mem_256, 109981}, // __builtin_ia32_pmovusqw256mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qw_512, 109914}, // __builtin_ia32_pmovusqw512_mask
+ {Intrinsic::x86_avx512_mask_pmovus_qw_mem_512, 110016}, // __builtin_ia32_pmovusqw512mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_wb_128, 110051}, // __builtin_ia32_pmovuswb128_mask
+ {Intrinsic::x86_avx512_mask_pmovus_wb_mem_128, 110147}, // __builtin_ia32_pmovuswb128mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_wb_256, 110083}, // __builtin_ia32_pmovuswb256_mask
+ {Intrinsic::x86_avx512_mask_pmovus_wb_mem_256, 110182}, // __builtin_ia32_pmovuswb256mem_mask
+ {Intrinsic::x86_avx512_mask_pmovus_wb_512, 110115}, // __builtin_ia32_pmovuswb512_mask
+ {Intrinsic::x86_avx512_mask_pmovus_wb_mem_512, 110217}, // __builtin_ia32_pmovuswb512mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_wb_128, 107687}, // __builtin_ia32_pmovwb128_mask
+ {Intrinsic::x86_avx512_mask_pmov_wb_mem_128, 107777}, // __builtin_ia32_pmovwb128mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_wb_256, 107717}, // __builtin_ia32_pmovwb256_mask
+ {Intrinsic::x86_avx512_mask_pmov_wb_mem_256, 107810}, // __builtin_ia32_pmovwb256mem_mask
+ {Intrinsic::x86_avx512_mask_pmov_wb_512, 107747}, // __builtin_ia32_pmovwb512_mask
+ {Intrinsic::x86_avx512_mask_pmov_wb_mem_512, 107843}, // __builtin_ia32_pmovwb512mem_mask
+ {Intrinsic::x86_sse41_pmuldq, 129758}, // __builtin_ia32_pmuldq128
+ {Intrinsic::x86_avx512_mask_pmul_dq_128, 110252}, // __builtin_ia32_pmuldq128_mask
+ {Intrinsic::x86_avx2_pmul_dq, 93312}, // __builtin_ia32_pmuldq256
+ {Intrinsic::x86_avx512_mask_pmul_dq_256, 110282}, // __builtin_ia32_pmuldq256_mask
+ {Intrinsic::x86_avx512_mask_pmul_dq_512, 110312}, // __builtin_ia32_pmuldq512_mask
+ {Intrinsic::x86_ssse3_pmul_hr_sw, 131010}, // __builtin_ia32_pmulhrsw
+ {Intrinsic::x86_ssse3_pmul_hr_sw_128, 131034}, // __builtin_ia32_pmulhrsw128
+ {Intrinsic::x86_avx512_mask_pmul_hr_sw_128, 110342}, // __builtin_ia32_pmulhrsw128_mask
+ {Intrinsic::x86_avx2_pmul_hr_sw, 93337}, // __builtin_ia32_pmulhrsw256
+ {Intrinsic::x86_avx512_mask_pmul_hr_sw_256, 110374}, // __builtin_ia32_pmulhrsw256_mask
+ {Intrinsic::x86_avx512_mask_pmul_hr_sw_512, 110406}, // __builtin_ia32_pmulhrsw512_mask
+ {Intrinsic::x86_3dnow_pmulhrw, 89974}, // __builtin_ia32_pmulhrw
+ {Intrinsic::x86_mmx_pmulhu_w, 125511}, // __builtin_ia32_pmulhuw
+ {Intrinsic::x86_sse2_pmulhu_w, 128543}, // __builtin_ia32_pmulhuw128
+ {Intrinsic::x86_avx512_mask_pmulhu_w_128, 110528}, // __builtin_ia32_pmulhuw128_mask
+ {Intrinsic::x86_avx2_pmulhu_w, 93389}, // __builtin_ia32_pmulhuw256
+ {Intrinsic::x86_avx512_mask_pmulhu_w_256, 110559}, // __builtin_ia32_pmulhuw256_mask
+ {Intrinsic::x86_avx512_mask_pmulhu_w_512, 110590}, // __builtin_ia32_pmulhuw512_mask
+ {Intrinsic::x86_mmx_pmulh_w, 125489}, // __builtin_ia32_pmulhw
+ {Intrinsic::x86_sse2_pmulh_w, 128518}, // __builtin_ia32_pmulhw128
+ {Intrinsic::x86_avx512_mask_pmulh_w_128, 110438}, // __builtin_ia32_pmulhw128_mask
+ {Intrinsic::x86_avx2_pmulh_w, 93364}, // __builtin_ia32_pmulhw256
+ {Intrinsic::x86_avx512_mask_pmulh_w_256, 110468}, // __builtin_ia32_pmulhw256_mask
+ {Intrinsic::x86_avx512_mask_pmulh_w_512, 110498}, // __builtin_ia32_pmulhw512_mask
+ {Intrinsic::x86_mmx_pmull_w, 125534}, // __builtin_ia32_pmullw
+ {Intrinsic::x86_mmx_pmulu_dq, 125556}, // __builtin_ia32_pmuludq
+ {Intrinsic::x86_sse2_pmulu_dq, 128569}, // __builtin_ia32_pmuludq128
+ {Intrinsic::x86_avx512_mask_pmulu_dq_128, 110735}, // __builtin_ia32_pmuludq128_mask
+ {Intrinsic::x86_avx2_pmulu_dq, 93415}, // __builtin_ia32_pmuludq256
+ {Intrinsic::x86_avx512_mask_pmulu_dq_256, 110766}, // __builtin_ia32_pmuludq256_mask
+ {Intrinsic::x86_avx512_mask_pmulu_dq_512, 110797}, // __builtin_ia32_pmuludq512_mask
+ {Intrinsic::x86_mmx_por, 125579}, // __builtin_ia32_por
+ {Intrinsic::x86_avx512_mask_prol_d_128, 110828}, // __builtin_ia32_prold128_mask
+ {Intrinsic::x86_avx512_mask_prol_d_256, 110857}, // __builtin_ia32_prold256_mask
+ {Intrinsic::x86_avx512_mask_prol_d_512, 110886}, // __builtin_ia32_prold512_mask
+ {Intrinsic::x86_avx512_mask_prol_q_128, 110915}, // __builtin_ia32_prolq128_mask
+ {Intrinsic::x86_avx512_mask_prol_q_256, 110944}, // __builtin_ia32_prolq256_mask
+ {Intrinsic::x86_avx512_mask_prol_q_512, 110973}, // __builtin_ia32_prolq512_mask
+ {Intrinsic::x86_avx512_mask_prolv_d_128, 111002}, // __builtin_ia32_prolvd128_mask
+ {Intrinsic::x86_avx512_mask_prolv_d_256, 111032}, // __builtin_ia32_prolvd256_mask
+ {Intrinsic::x86_avx512_mask_prolv_d_512, 111062}, // __builtin_ia32_prolvd512_mask
+ {Intrinsic::x86_avx512_mask_prolv_q_128, 111092}, // __builtin_ia32_prolvq128_mask
+ {Intrinsic::x86_avx512_mask_prolv_q_256, 111122}, // __builtin_ia32_prolvq256_mask
+ {Intrinsic::x86_avx512_mask_prolv_q_512, 111152}, // __builtin_ia32_prolvq512_mask
+ {Intrinsic::x86_avx512_mask_pror_d_128, 111182}, // __builtin_ia32_prord128_mask
+ {Intrinsic::x86_avx512_mask_pror_d_256, 111211}, // __builtin_ia32_prord256_mask
+ {Intrinsic::x86_avx512_mask_pror_d_512, 111240}, // __builtin_ia32_prord512_mask
+ {Intrinsic::x86_avx512_mask_pror_q_128, 111269}, // __builtin_ia32_prorq128_mask
+ {Intrinsic::x86_avx512_mask_pror_q_256, 111298}, // __builtin_ia32_prorq256_mask
+ {Intrinsic::x86_avx512_mask_pror_q_512, 111327}, // __builtin_ia32_prorq512_mask
+ {Intrinsic::x86_avx512_mask_prorv_d_128, 111356}, // __builtin_ia32_prorvd128_mask
+ {Intrinsic::x86_avx512_mask_prorv_d_256, 111386}, // __builtin_ia32_prorvd256_mask
+ {Intrinsic::x86_avx512_mask_prorv_d_512, 111416}, // __builtin_ia32_prorvd512_mask
+ {Intrinsic::x86_avx512_mask_prorv_q_128, 111446}, // __builtin_ia32_prorvq128_mask
+ {Intrinsic::x86_avx512_mask_prorv_q_256, 111476}, // __builtin_ia32_prorvq256_mask
+ {Intrinsic::x86_avx512_mask_prorv_q_512, 111506}, // __builtin_ia32_prorvq512_mask
+ {Intrinsic::x86_mmx_psad_bw, 125598}, // __builtin_ia32_psadbw
+ {Intrinsic::x86_sse2_psad_bw, 128595}, // __builtin_ia32_psadbw128
+ {Intrinsic::x86_avx2_psad_bw, 93441}, // __builtin_ia32_psadbw256
+ {Intrinsic::x86_avx512_psad_bw_512, 119849}, // __builtin_ia32_psadbw512
+ {Intrinsic::x86_ssse3_pshuf_b, 131061}, // __builtin_ia32_pshufb
+ {Intrinsic::x86_ssse3_pshuf_b_128, 131083}, // __builtin_ia32_pshufb128
+ {Intrinsic::x86_avx2_pshuf_b, 93466}, // __builtin_ia32_pshufb256
+ {Intrinsic::x86_avx512_pshuf_b_512, 119874}, // __builtin_ia32_pshufb512
+ {Intrinsic::x86_sse_pshuf_w, 127259}, // __builtin_ia32_pshufw
+ {Intrinsic::x86_ssse3_psign_b, 131108}, // __builtin_ia32_psignb
+ {Intrinsic::x86_ssse3_psign_b_128, 131130}, // __builtin_ia32_psignb128
+ {Intrinsic::x86_avx2_psign_b, 93491}, // __builtin_ia32_psignb256
+ {Intrinsic::x86_ssse3_psign_d, 131155}, // __builtin_ia32_psignd
+ {Intrinsic::x86_ssse3_psign_d_128, 131177}, // __builtin_ia32_psignd128
+ {Intrinsic::x86_avx2_psign_d, 93516}, // __builtin_ia32_psignd256
+ {Intrinsic::x86_ssse3_psign_w, 131202}, // __builtin_ia32_psignw
+ {Intrinsic::x86_ssse3_psign_w_128, 131224}, // __builtin_ia32_psignw128
+ {Intrinsic::x86_avx2_psign_w, 93541}, // __builtin_ia32_psignw256
+ {Intrinsic::x86_mmx_psll_d, 125620}, // __builtin_ia32_pslld
+ {Intrinsic::x86_sse2_psll_d, 128620}, // __builtin_ia32_pslld128
+ {Intrinsic::x86_avx2_psll_d, 93566}, // __builtin_ia32_pslld256
+ {Intrinsic::x86_avx512_psll_d_512, 119899}, // __builtin_ia32_pslld512
+ {Intrinsic::x86_mmx_pslli_d, 125683}, // __builtin_ia32_pslldi
+ {Intrinsic::x86_sse2_pslli_d, 128692}, // __builtin_ia32_pslldi128
+ {Intrinsic::x86_avx2_pslli_d, 93638}, // __builtin_ia32_pslldi256
+ {Intrinsic::x86_avx512_pslli_d_512, 119971}, // __builtin_ia32_pslldi512
+ {Intrinsic::x86_mmx_psll_q, 125641}, // __builtin_ia32_psllq
+ {Intrinsic::x86_sse2_psll_q, 128644}, // __builtin_ia32_psllq128
+ {Intrinsic::x86_avx2_psll_q, 93590}, // __builtin_ia32_psllq256
+ {Intrinsic::x86_avx512_psll_q_512, 119923}, // __builtin_ia32_psllq512
+ {Intrinsic::x86_mmx_pslli_q, 125705}, // __builtin_ia32_psllqi
+ {Intrinsic::x86_sse2_pslli_q, 128717}, // __builtin_ia32_psllqi128
+ {Intrinsic::x86_avx2_pslli_q, 93663}, // __builtin_ia32_psllqi256
+ {Intrinsic::x86_avx512_pslli_q_512, 119996}, // __builtin_ia32_psllqi512
+ {Intrinsic::x86_avx512_psllv_w_256, 120119}, // __builtin_ia32_psllv16hi
+ {Intrinsic::x86_avx512_psllv_d_512, 120046}, // __builtin_ia32_psllv16si
+ {Intrinsic::x86_avx2_psllv_q, 93761}, // __builtin_ia32_psllv2di
+ {Intrinsic::x86_avx512_psllv_w_512, 120144}, // __builtin_ia32_psllv32hi
+ {Intrinsic::x86_avx2_psllv_q_256, 93785}, // __builtin_ia32_psllv4di
+ {Intrinsic::x86_avx2_psllv_d, 93713}, // __builtin_ia32_psllv4si
+ {Intrinsic::x86_avx512_psllv_q_512, 120071}, // __builtin_ia32_psllv8di
+ {Intrinsic::x86_avx512_psllv_w_128, 120095}, // __builtin_ia32_psllv8hi
+ {Intrinsic::x86_avx2_psllv_d_256, 93737}, // __builtin_ia32_psllv8si
+ {Intrinsic::x86_mmx_psll_w, 125662}, // __builtin_ia32_psllw
+ {Intrinsic::x86_sse2_psll_w, 128668}, // __builtin_ia32_psllw128
+ {Intrinsic::x86_avx2_psll_w, 93614}, // __builtin_ia32_psllw256
+ {Intrinsic::x86_avx512_psll_w_512, 119947}, // __builtin_ia32_psllw512
+ {Intrinsic::x86_mmx_pslli_w, 125727}, // __builtin_ia32_psllwi
+ {Intrinsic::x86_sse2_pslli_w, 128742}, // __builtin_ia32_psllwi128
+ {Intrinsic::x86_avx2_pslli_w, 93688}, // __builtin_ia32_psllwi256
+ {Intrinsic::x86_avx512_pslli_w_512, 120021}, // __builtin_ia32_psllwi512
+ {Intrinsic::x86_mmx_psra_d, 125749}, // __builtin_ia32_psrad
+ {Intrinsic::x86_sse2_psra_d, 128767}, // __builtin_ia32_psrad128
+ {Intrinsic::x86_avx2_psra_d, 93809}, // __builtin_ia32_psrad256
+ {Intrinsic::x86_avx512_psra_d_512, 120169}, // __builtin_ia32_psrad512
+ {Intrinsic::x86_mmx_psrai_d, 125791}, // __builtin_ia32_psradi
+ {Intrinsic::x86_sse2_psrai_d, 128815}, // __builtin_ia32_psradi128
+ {Intrinsic::x86_avx2_psrai_d, 93857}, // __builtin_ia32_psradi256
+ {Intrinsic::x86_avx512_psrai_d_512, 120289}, // __builtin_ia32_psradi512
+ {Intrinsic::x86_avx512_psra_q_128, 120193}, // __builtin_ia32_psraq128
+ {Intrinsic::x86_avx512_psra_q_256, 120217}, // __builtin_ia32_psraq256
+ {Intrinsic::x86_avx512_psra_q_512, 120241}, // __builtin_ia32_psraq512
+ {Intrinsic::x86_avx512_psrai_q_128, 120314}, // __builtin_ia32_psraqi128
+ {Intrinsic::x86_avx512_psrai_q_256, 120339}, // __builtin_ia32_psraqi256
+ {Intrinsic::x86_avx512_psrai_q_512, 120364}, // __builtin_ia32_psraqi512
+ {Intrinsic::x86_avx512_psrav_w_256, 120537}, // __builtin_ia32_psrav16hi
+ {Intrinsic::x86_avx512_psrav_d_512, 120414}, // __builtin_ia32_psrav16si
+ {Intrinsic::x86_avx512_psrav_w_512, 120562}, // __builtin_ia32_psrav32hi
+ {Intrinsic::x86_avx2_psrav_d, 93907}, // __builtin_ia32_psrav4si
+ {Intrinsic::x86_avx512_psrav_q_512, 120489}, // __builtin_ia32_psrav8di
+ {Intrinsic::x86_avx512_psrav_w_128, 120513}, // __builtin_ia32_psrav8hi
+ {Intrinsic::x86_avx2_psrav_d_256, 93931}, // __builtin_ia32_psrav8si
+ {Intrinsic::x86_avx512_psrav_q_128, 120439}, // __builtin_ia32_psravq128
+ {Intrinsic::x86_avx512_psrav_q_256, 120464}, // __builtin_ia32_psravq256
+ {Intrinsic::x86_mmx_psra_w, 125770}, // __builtin_ia32_psraw
+ {Intrinsic::x86_sse2_psra_w, 128791}, // __builtin_ia32_psraw128
+ {Intrinsic::x86_avx2_psra_w, 93833}, // __builtin_ia32_psraw256
+ {Intrinsic::x86_avx512_psra_w_512, 120265}, // __builtin_ia32_psraw512
+ {Intrinsic::x86_mmx_psrai_w, 125813}, // __builtin_ia32_psrawi
+ {Intrinsic::x86_sse2_psrai_w, 128840}, // __builtin_ia32_psrawi128
+ {Intrinsic::x86_avx2_psrai_w, 93882}, // __builtin_ia32_psrawi256
+ {Intrinsic::x86_avx512_psrai_w_512, 120389}, // __builtin_ia32_psrawi512
+ {Intrinsic::x86_mmx_psrl_d, 125835}, // __builtin_ia32_psrld
+ {Intrinsic::x86_sse2_psrl_d, 128865}, // __builtin_ia32_psrld128
+ {Intrinsic::x86_avx2_psrl_d, 93955}, // __builtin_ia32_psrld256
+ {Intrinsic::x86_avx512_psrl_d_512, 120587}, // __builtin_ia32_psrld512
+ {Intrinsic::x86_mmx_psrli_d, 125898}, // __builtin_ia32_psrldi
+ {Intrinsic::x86_sse2_psrli_d, 128937}, // __builtin_ia32_psrldi128
+ {Intrinsic::x86_avx2_psrli_d, 94027}, // __builtin_ia32_psrldi256
+ {Intrinsic::x86_avx512_psrli_d_512, 120659}, // __builtin_ia32_psrldi512
+ {Intrinsic::x86_mmx_psrl_q, 125856}, // __builtin_ia32_psrlq
+ {Intrinsic::x86_sse2_psrl_q, 128889}, // __builtin_ia32_psrlq128
+ {Intrinsic::x86_avx2_psrl_q, 93979}, // __builtin_ia32_psrlq256
+ {Intrinsic::x86_avx512_psrl_q_512, 120611}, // __builtin_ia32_psrlq512
+ {Intrinsic::x86_mmx_psrli_q, 125920}, // __builtin_ia32_psrlqi
+ {Intrinsic::x86_sse2_psrli_q, 128962}, // __builtin_ia32_psrlqi128
+ {Intrinsic::x86_avx2_psrli_q, 94052}, // __builtin_ia32_psrlqi256
+ {Intrinsic::x86_avx512_psrli_q_512, 120684}, // __builtin_ia32_psrlqi512
+ {Intrinsic::x86_avx512_psrlv_w_256, 120807}, // __builtin_ia32_psrlv16hi
+ {Intrinsic::x86_avx512_psrlv_d_512, 120734}, // __builtin_ia32_psrlv16si
+ {Intrinsic::x86_avx2_psrlv_q, 94150}, // __builtin_ia32_psrlv2di
+ {Intrinsic::x86_avx512_psrlv_w_512, 120832}, // __builtin_ia32_psrlv32hi
+ {Intrinsic::x86_avx2_psrlv_q_256, 94174}, // __builtin_ia32_psrlv4di
+ {Intrinsic::x86_avx2_psrlv_d, 94102}, // __builtin_ia32_psrlv4si
+ {Intrinsic::x86_avx512_psrlv_q_512, 120759}, // __builtin_ia32_psrlv8di
+ {Intrinsic::x86_avx512_psrlv_w_128, 120783}, // __builtin_ia32_psrlv8hi
+ {Intrinsic::x86_avx2_psrlv_d_256, 94126}, // __builtin_ia32_psrlv8si
+ {Intrinsic::x86_mmx_psrl_w, 125877}, // __builtin_ia32_psrlw
+ {Intrinsic::x86_sse2_psrl_w, 128913}, // __builtin_ia32_psrlw128
+ {Intrinsic::x86_avx2_psrl_w, 94003}, // __builtin_ia32_psrlw256
+ {Intrinsic::x86_avx512_psrl_w_512, 120635}, // __builtin_ia32_psrlw512
+ {Intrinsic::x86_mmx_psrli_w, 125942}, // __builtin_ia32_psrlwi
+ {Intrinsic::x86_sse2_psrli_w, 128987}, // __builtin_ia32_psrlwi128
+ {Intrinsic::x86_avx2_psrli_w, 94077}, // __builtin_ia32_psrlwi256
+ {Intrinsic::x86_avx512_psrli_w_512, 120709}, // __builtin_ia32_psrlwi512
+ {Intrinsic::x86_mmx_psub_b, 125964}, // __builtin_ia32_psubb
+ {Intrinsic::x86_mmx_psub_d, 125985}, // __builtin_ia32_psubd
+ {Intrinsic::x86_mmx_psub_q, 126006}, // __builtin_ia32_psubq
+ {Intrinsic::x86_mmx_psubs_b, 126048}, // __builtin_ia32_psubsb
+ {Intrinsic::x86_sse2_psubs_b, 129012}, // __builtin_ia32_psubsb128
+ {Intrinsic::x86_avx512_mask_psubs_b_128, 111536}, // __builtin_ia32_psubsb128_mask
+ {Intrinsic::x86_avx2_psubs_b, 94198}, // __builtin_ia32_psubsb256
+ {Intrinsic::x86_avx512_mask_psubs_b_256, 111566}, // __builtin_ia32_psubsb256_mask
+ {Intrinsic::x86_avx512_mask_psubs_b_512, 111596}, // __builtin_ia32_psubsb512_mask
+ {Intrinsic::x86_mmx_psubs_w, 126070}, // __builtin_ia32_psubsw
+ {Intrinsic::x86_sse2_psubs_w, 129037}, // __builtin_ia32_psubsw128
+ {Intrinsic::x86_avx512_mask_psubs_w_128, 111626}, // __builtin_ia32_psubsw128_mask
+ {Intrinsic::x86_avx2_psubs_w, 94223}, // __builtin_ia32_psubsw256
+ {Intrinsic::x86_avx512_mask_psubs_w_256, 111656}, // __builtin_ia32_psubsw256_mask
+ {Intrinsic::x86_avx512_mask_psubs_w_512, 111686}, // __builtin_ia32_psubsw512_mask
+ {Intrinsic::x86_mmx_psubus_b, 126092}, // __builtin_ia32_psubusb
+ {Intrinsic::x86_sse2_psubus_b, 129062}, // __builtin_ia32_psubusb128
+ {Intrinsic::x86_avx512_mask_psubus_b_128, 111716}, // __builtin_ia32_psubusb128_mask
+ {Intrinsic::x86_avx2_psubus_b, 94248}, // __builtin_ia32_psubusb256
+ {Intrinsic::x86_avx512_mask_psubus_b_256, 111747}, // __builtin_ia32_psubusb256_mask
+ {Intrinsic::x86_avx512_mask_psubus_b_512, 111778}, // __builtin_ia32_psubusb512_mask
+ {Intrinsic::x86_mmx_psubus_w, 126115}, // __builtin_ia32_psubusw
+ {Intrinsic::x86_sse2_psubus_w, 129088}, // __builtin_ia32_psubusw128
+ {Intrinsic::x86_avx512_mask_psubus_w_128, 111809}, // __builtin_ia32_psubusw128_mask
+ {Intrinsic::x86_avx2_psubus_w, 94274}, // __builtin_ia32_psubusw256
+ {Intrinsic::x86_avx512_mask_psubus_w_256, 111840}, // __builtin_ia32_psubusw256_mask
+ {Intrinsic::x86_avx512_mask_psubus_w_512, 111871}, // __builtin_ia32_psubusw512_mask
+ {Intrinsic::x86_mmx_psub_w, 126027}, // __builtin_ia32_psubw
+ {Intrinsic::x86_avx512_mask_pternlog_d_128, 111902}, // __builtin_ia32_pternlogd128_mask
+ {Intrinsic::x86_avx512_maskz_pternlog_d_128, 118266}, // __builtin_ia32_pternlogd128_maskz
+ {Intrinsic::x86_avx512_mask_pternlog_d_256, 111935}, // __builtin_ia32_pternlogd256_mask
+ {Intrinsic::x86_avx512_maskz_pternlog_d_256, 118300}, // __builtin_ia32_pternlogd256_maskz
+ {Intrinsic::x86_avx512_mask_pternlog_d_512, 111968}, // __builtin_ia32_pternlogd512_mask
+ {Intrinsic::x86_avx512_maskz_pternlog_d_512, 118334}, // __builtin_ia32_pternlogd512_maskz
+ {Intrinsic::x86_avx512_mask_pternlog_q_128, 112001}, // __builtin_ia32_pternlogq128_mask
+ {Intrinsic::x86_avx512_maskz_pternlog_q_128, 118368}, // __builtin_ia32_pternlogq128_maskz
+ {Intrinsic::x86_avx512_mask_pternlog_q_256, 112034}, // __builtin_ia32_pternlogq256_mask
+ {Intrinsic::x86_avx512_maskz_pternlog_q_256, 118402}, // __builtin_ia32_pternlogq256_maskz
+ {Intrinsic::x86_avx512_mask_pternlog_q_512, 112067}, // __builtin_ia32_pternlogq512_mask
+ {Intrinsic::x86_avx512_maskz_pternlog_q_512, 118436}, // __builtin_ia32_pternlogq512_maskz
+ {Intrinsic::x86_sse41_ptestc, 129783}, // __builtin_ia32_ptestc128
+ {Intrinsic::x86_avx_ptestc_256, 91158}, // __builtin_ia32_ptestc256
+ {Intrinsic::x86_avx512_ptestm_b_128, 120857}, // __builtin_ia32_ptestmb128
+ {Intrinsic::x86_avx512_ptestm_b_256, 120883}, // __builtin_ia32_ptestmb256
+ {Intrinsic::x86_avx512_ptestm_b_512, 120909}, // __builtin_ia32_ptestmb512
+ {Intrinsic::x86_avx512_ptestm_d_128, 120935}, // __builtin_ia32_ptestmd128
+ {Intrinsic::x86_avx512_ptestm_d_256, 120961}, // __builtin_ia32_ptestmd256
+ {Intrinsic::x86_avx512_ptestm_d_512, 120987}, // __builtin_ia32_ptestmd512
+ {Intrinsic::x86_avx512_ptestm_q_128, 121013}, // __builtin_ia32_ptestmq128
+ {Intrinsic::x86_avx512_ptestm_q_256, 121039}, // __builtin_ia32_ptestmq256
+ {Intrinsic::x86_avx512_ptestm_q_512, 121065}, // __builtin_ia32_ptestmq512
+ {Intrinsic::x86_avx512_ptestm_w_128, 121091}, // __builtin_ia32_ptestmw128
+ {Intrinsic::x86_avx512_ptestm_w_256, 121117}, // __builtin_ia32_ptestmw256
+ {Intrinsic::x86_avx512_ptestm_w_512, 121143}, // __builtin_ia32_ptestmw512
+ {Intrinsic::x86_avx512_ptestnm_b_128, 121169}, // __builtin_ia32_ptestnmb128
+ {Intrinsic::x86_avx512_ptestnm_b_256, 121196}, // __builtin_ia32_ptestnmb256
+ {Intrinsic::x86_avx512_ptestnm_b_512, 121223}, // __builtin_ia32_ptestnmb512
+ {Intrinsic::x86_avx512_ptestnm_d_128, 121250}, // __builtin_ia32_ptestnmd128
+ {Intrinsic::x86_avx512_ptestnm_d_256, 121277}, // __builtin_ia32_ptestnmd256
+ {Intrinsic::x86_avx512_ptestnm_d_512, 121304}, // __builtin_ia32_ptestnmd512
+ {Intrinsic::x86_avx512_ptestnm_q_128, 121331}, // __builtin_ia32_ptestnmq128
+ {Intrinsic::x86_avx512_ptestnm_q_256, 121358}, // __builtin_ia32_ptestnmq256
+ {Intrinsic::x86_avx512_ptestnm_q_512, 121385}, // __builtin_ia32_ptestnmq512
+ {Intrinsic::x86_avx512_ptestnm_w_128, 121412}, // __builtin_ia32_ptestnmw128
+ {Intrinsic::x86_avx512_ptestnm_w_256, 121439}, // __builtin_ia32_ptestnmw256
+ {Intrinsic::x86_avx512_ptestnm_w_512, 121466}, // __builtin_ia32_ptestnmw512
+ {Intrinsic::x86_sse41_ptestnzc, 129808}, // __builtin_ia32_ptestnzc128
+ {Intrinsic::x86_avx_ptestnzc_256, 91183}, // __builtin_ia32_ptestnzc256
+ {Intrinsic::x86_sse41_ptestz, 129835}, // __builtin_ia32_ptestz128
+ {Intrinsic::x86_avx_ptestz_256, 91210}, // __builtin_ia32_ptestz256
+ {Intrinsic::x86_mmx_punpckhbw, 126138}, // __builtin_ia32_punpckhbw
+ {Intrinsic::x86_mmx_punpckhdq, 126163}, // __builtin_ia32_punpckhdq
+ {Intrinsic::x86_mmx_punpckhwd, 126188}, // __builtin_ia32_punpckhwd
+ {Intrinsic::x86_mmx_punpcklbw, 126213}, // __builtin_ia32_punpcklbw
+ {Intrinsic::x86_mmx_punpckldq, 126238}, // __builtin_ia32_punpckldq
+ {Intrinsic::x86_mmx_punpcklwd, 126263}, // __builtin_ia32_punpcklwd
+ {Intrinsic::x86_mmx_pxor, 126288}, // __builtin_ia32_pxor
+ {Intrinsic::x86_avx512_mask_range_pd_128, 112100}, // __builtin_ia32_rangepd128_mask
+ {Intrinsic::x86_avx512_mask_range_pd_256, 112131}, // __builtin_ia32_rangepd256_mask
+ {Intrinsic::x86_avx512_mask_range_pd_512, 112162}, // __builtin_ia32_rangepd512_mask
+ {Intrinsic::x86_avx512_mask_range_ps_128, 112193}, // __builtin_ia32_rangeps128_mask
+ {Intrinsic::x86_avx512_mask_range_ps_256, 112224}, // __builtin_ia32_rangeps256_mask
+ {Intrinsic::x86_avx512_mask_range_ps_512, 112255}, // __builtin_ia32_rangeps512_mask
+ {Intrinsic::x86_avx512_mask_range_sd, 112286}, // __builtin_ia32_rangesd128_round_mask
+ {Intrinsic::x86_avx512_mask_range_ss, 112323}, // __builtin_ia32_rangess128_round_mask
+ {Intrinsic::x86_avx512_rcp14_pd_128, 121493}, // __builtin_ia32_rcp14pd128_mask
+ {Intrinsic::x86_avx512_rcp14_pd_256, 121524}, // __builtin_ia32_rcp14pd256_mask
+ {Intrinsic::x86_avx512_rcp14_pd_512, 121555}, // __builtin_ia32_rcp14pd512_mask
+ {Intrinsic::x86_avx512_rcp14_ps_128, 121586}, // __builtin_ia32_rcp14ps128_mask
+ {Intrinsic::x86_avx512_rcp14_ps_256, 121617}, // __builtin_ia32_rcp14ps256_mask
+ {Intrinsic::x86_avx512_rcp14_ps_512, 121648}, // __builtin_ia32_rcp14ps512_mask
+ {Intrinsic::x86_avx512_rcp14_sd, 121679}, // __builtin_ia32_rcp14sd_mask
+ {Intrinsic::x86_avx512_rcp14_ss, 121707}, // __builtin_ia32_rcp14ss_mask
+ {Intrinsic::x86_avx512_rcp28_pd, 121735}, // __builtin_ia32_rcp28pd_mask
+ {Intrinsic::x86_avx512_rcp28_ps, 121763}, // __builtin_ia32_rcp28ps_mask
+ {Intrinsic::x86_avx512_rcp28_sd, 121791}, // __builtin_ia32_rcp28sd_round_mask
+ {Intrinsic::x86_avx512_rcp28_ss, 121825}, // __builtin_ia32_rcp28ss_round_mask
+ {Intrinsic::x86_sse_rcp_ps, 127281}, // __builtin_ia32_rcpps
+ {Intrinsic::x86_avx_rcp_ps_256, 91235}, // __builtin_ia32_rcpps256
+ {Intrinsic::x86_sse_rcp_ss, 127302}, // __builtin_ia32_rcpss
+ {Intrinsic::x86_rdfsbase_32, 126382}, // __builtin_ia32_rdfsbase32
+ {Intrinsic::x86_rdfsbase_64, 126408}, // __builtin_ia32_rdfsbase64
+ {Intrinsic::x86_rdgsbase_32, 126434}, // __builtin_ia32_rdgsbase32
+ {Intrinsic::x86_rdgsbase_64, 126460}, // __builtin_ia32_rdgsbase64
+ {Intrinsic::x86_rdpkru, 126486}, // __builtin_ia32_rdpkru
+ {Intrinsic::x86_rdpmc, 126508}, // __builtin_ia32_rdpmc
+ {Intrinsic::x86_rdtsc, 126529}, // __builtin_ia32_rdtsc
+ {Intrinsic::x86_rdtscp, 126550}, // __builtin_ia32_rdtscp
+ {Intrinsic::x86_flags_read_u32, 123665}, // __builtin_ia32_readeflags_u32
+ {Intrinsic::x86_flags_read_u64, 123695}, // __builtin_ia32_readeflags_u64
+ {Intrinsic::x86_avx512_mask_reduce_pd_128, 112360}, // __builtin_ia32_reducepd128_mask
+ {Intrinsic::x86_avx512_mask_reduce_pd_256, 112392}, // __builtin_ia32_reducepd256_mask
+ {Intrinsic::x86_avx512_mask_reduce_pd_512, 112424}, // __builtin_ia32_reducepd512_mask
+ {Intrinsic::x86_avx512_mask_reduce_ps_128, 112456}, // __builtin_ia32_reduceps128_mask
+ {Intrinsic::x86_avx512_mask_reduce_ps_256, 112488}, // __builtin_ia32_reduceps256_mask
+ {Intrinsic::x86_avx512_mask_reduce_ps_512, 112520}, // __builtin_ia32_reduceps512_mask
+ {Intrinsic::x86_avx512_mask_reduce_sd, 112552}, // __builtin_ia32_reducesd_mask
+ {Intrinsic::x86_avx512_mask_reduce_ss, 112581}, // __builtin_ia32_reducess_mask
+ {Intrinsic::x86_avx512_mask_rndscale_pd_128, 112610}, // __builtin_ia32_rndscalepd_128_mask
+ {Intrinsic::x86_avx512_mask_rndscale_pd_256, 112645}, // __builtin_ia32_rndscalepd_256_mask
+ {Intrinsic::x86_avx512_mask_rndscale_pd_512, 112680}, // __builtin_ia32_rndscalepd_mask
+ {Intrinsic::x86_avx512_mask_rndscale_ps_128, 112711}, // __builtin_ia32_rndscaleps_128_mask
+ {Intrinsic::x86_avx512_mask_rndscale_ps_256, 112746}, // __builtin_ia32_rndscaleps_256_mask
+ {Intrinsic::x86_avx512_mask_rndscale_ps_512, 112781}, // __builtin_ia32_rndscaleps_mask
+ {Intrinsic::x86_avx512_mask_rndscale_sd, 112812}, // __builtin_ia32_rndscalesd_round_mask
+ {Intrinsic::x86_avx512_mask_rndscale_ss, 112849}, // __builtin_ia32_rndscaless_round_mask
+ {Intrinsic::x86_sse41_round_pd, 129860}, // __builtin_ia32_roundpd
+ {Intrinsic::x86_avx_round_pd_256, 91259}, // __builtin_ia32_roundpd256
+ {Intrinsic::x86_sse41_round_ps, 129883}, // __builtin_ia32_roundps
+ {Intrinsic::x86_avx_round_ps_256, 91285}, // __builtin_ia32_roundps256
+ {Intrinsic::x86_sse41_round_sd, 129906}, // __builtin_ia32_roundsd
+ {Intrinsic::x86_sse41_round_ss, 129929}, // __builtin_ia32_roundss
+ {Intrinsic::x86_avx512_rsqrt14_pd_128, 121859}, // __builtin_ia32_rsqrt14pd128_mask
+ {Intrinsic::x86_avx512_rsqrt14_pd_256, 121892}, // __builtin_ia32_rsqrt14pd256_mask
+ {Intrinsic::x86_avx512_rsqrt14_pd_512, 121925}, // __builtin_ia32_rsqrt14pd512_mask
+ {Intrinsic::x86_avx512_rsqrt14_ps_128, 121958}, // __builtin_ia32_rsqrt14ps128_mask
+ {Intrinsic::x86_avx512_rsqrt14_ps_256, 121991}, // __builtin_ia32_rsqrt14ps256_mask
+ {Intrinsic::x86_avx512_rsqrt14_ps_512, 122024}, // __builtin_ia32_rsqrt14ps512_mask
+ {Intrinsic::x86_avx512_rsqrt14_sd, 122057}, // __builtin_ia32_rsqrt14sd_mask
+ {Intrinsic::x86_avx512_rsqrt14_ss, 122087}, // __builtin_ia32_rsqrt14ss_mask
+ {Intrinsic::x86_avx512_rsqrt28_pd, 122117}, // __builtin_ia32_rsqrt28pd_mask
+ {Intrinsic::x86_avx512_rsqrt28_ps, 122147}, // __builtin_ia32_rsqrt28ps_mask
+ {Intrinsic::x86_avx512_rsqrt28_sd, 122177}, // __builtin_ia32_rsqrt28sd_round_mask
+ {Intrinsic::x86_avx512_rsqrt28_ss, 122213}, // __builtin_ia32_rsqrt28ss_round_mask
+ {Intrinsic::x86_sse_rsqrt_ps, 127323}, // __builtin_ia32_rsqrtps
+ {Intrinsic::x86_avx_rsqrt_ps_256, 91311}, // __builtin_ia32_rsqrtps256
+ {Intrinsic::x86_sse_rsqrt_ss, 127346}, // __builtin_ia32_rsqrtss
+ {Intrinsic::x86_avx512_mask_scalef_pd_128, 112886}, // __builtin_ia32_scalefpd128_mask
+ {Intrinsic::x86_avx512_mask_scalef_pd_256, 112918}, // __builtin_ia32_scalefpd256_mask
+ {Intrinsic::x86_avx512_mask_scalef_pd_512, 112950}, // __builtin_ia32_scalefpd512_mask
+ {Intrinsic::x86_avx512_mask_scalef_ps_128, 112982}, // __builtin_ia32_scalefps128_mask
+ {Intrinsic::x86_avx512_mask_scalef_ps_256, 113014}, // __builtin_ia32_scalefps256_mask
+ {Intrinsic::x86_avx512_mask_scalef_ps_512, 113046}, // __builtin_ia32_scalefps512_mask
+ {Intrinsic::x86_avx512_mask_scalef_sd, 113078}, // __builtin_ia32_scalefsd_round_mask
+ {Intrinsic::x86_avx512_mask_scalef_ss, 113113}, // __builtin_ia32_scalefss_round_mask
+ {Intrinsic::x86_avx512_scatter_qps_512, 122455}, // __builtin_ia32_scatterdiv16sf
+ {Intrinsic::x86_avx512_scatter_qpi_512, 122396}, // __builtin_ia32_scatterdiv16si
+ {Intrinsic::x86_avx512_scatterdiv2_df, 122485}, // __builtin_ia32_scatterdiv2df
+ {Intrinsic::x86_avx512_scatterdiv2_di, 122514}, // __builtin_ia32_scatterdiv2di
+ {Intrinsic::x86_avx512_scatterdiv4_df, 122543}, // __builtin_ia32_scatterdiv4df
+ {Intrinsic::x86_avx512_scatterdiv4_di, 122572}, // __builtin_ia32_scatterdiv4di
+ {Intrinsic::x86_avx512_scatterdiv4_sf, 122601}, // __builtin_ia32_scatterdiv4sf
+ {Intrinsic::x86_avx512_scatterdiv4_si, 122630}, // __builtin_ia32_scatterdiv4si
+ {Intrinsic::x86_avx512_scatter_qpd_512, 122367}, // __builtin_ia32_scatterdiv8df
+ {Intrinsic::x86_avx512_scatter_qpq_512, 122426}, // __builtin_ia32_scatterdiv8di
+ {Intrinsic::x86_avx512_scatterdiv8_sf, 122659}, // __builtin_ia32_scatterdiv8sf
+ {Intrinsic::x86_avx512_scatterdiv8_si, 122688}, // __builtin_ia32_scatterdiv8si
+ {Intrinsic::x86_avx512_scatterpf_dpd_512, 122717}, // __builtin_ia32_scatterpfdpd
+ {Intrinsic::x86_avx512_scatterpf_dps_512, 122745}, // __builtin_ia32_scatterpfdps
+ {Intrinsic::x86_avx512_scatterpf_qpd_512, 122773}, // __builtin_ia32_scatterpfqpd
+ {Intrinsic::x86_avx512_scatterpf_qps_512, 122801}, // __builtin_ia32_scatterpfqps
+ {Intrinsic::x86_avx512_scatter_dps_512, 122337}, // __builtin_ia32_scattersiv16sf
+ {Intrinsic::x86_avx512_scatter_dpi_512, 122278}, // __builtin_ia32_scattersiv16si
+ {Intrinsic::x86_avx512_scattersiv2_df, 122829}, // __builtin_ia32_scattersiv2df
+ {Intrinsic::x86_avx512_scattersiv2_di, 122858}, // __builtin_ia32_scattersiv2di
+ {Intrinsic::x86_avx512_scattersiv4_df, 122887}, // __builtin_ia32_scattersiv4df
+ {Intrinsic::x86_avx512_scattersiv4_di, 122916}, // __builtin_ia32_scattersiv4di
+ {Intrinsic::x86_avx512_scattersiv4_sf, 122945}, // __builtin_ia32_scattersiv4sf
+ {Intrinsic::x86_avx512_scattersiv4_si, 122974}, // __builtin_ia32_scattersiv4si
+ {Intrinsic::x86_avx512_scatter_dpd_512, 122249}, // __builtin_ia32_scattersiv8df
+ {Intrinsic::x86_avx512_scatter_dpq_512, 122308}, // __builtin_ia32_scattersiv8di
+ {Intrinsic::x86_avx512_scattersiv8_sf, 123003}, // __builtin_ia32_scattersiv8sf
+ {Intrinsic::x86_avx512_scattersiv8_si, 123032}, // __builtin_ia32_scattersiv8si
+ {Intrinsic::x86_sse_sfence, 127369}, // __builtin_ia32_sfence
+ {Intrinsic::x86_sha1msg1, 126572}, // __builtin_ia32_sha1msg1
+ {Intrinsic::x86_sha1msg2, 126596}, // __builtin_ia32_sha1msg2
+ {Intrinsic::x86_sha1nexte, 126620}, // __builtin_ia32_sha1nexte
+ {Intrinsic::x86_sha1rnds4, 126645}, // __builtin_ia32_sha1rnds4
+ {Intrinsic::x86_sha256msg1, 126670}, // __builtin_ia32_sha256msg1
+ {Intrinsic::x86_sha256msg2, 126696}, // __builtin_ia32_sha256msg2
+ {Intrinsic::x86_sha256rnds2, 126722}, // __builtin_ia32_sha256rnds2
+ {Intrinsic::x86_avx512_mask_shuf_f32x4_256, 113179}, // __builtin_ia32_shuf_f32x4_256_mask
+ {Intrinsic::x86_avx512_mask_shuf_f32x4, 113148}, // __builtin_ia32_shuf_f32x4_mask
+ {Intrinsic::x86_avx512_mask_shuf_f64x2_256, 113245}, // __builtin_ia32_shuf_f64x2_256_mask
+ {Intrinsic::x86_avx512_mask_shuf_f64x2, 113214}, // __builtin_ia32_shuf_f64x2_mask
+ {Intrinsic::x86_avx512_mask_shuf_i32x4_256, 113311}, // __builtin_ia32_shuf_i32x4_256_mask
+ {Intrinsic::x86_avx512_mask_shuf_i32x4, 113280}, // __builtin_ia32_shuf_i32x4_mask
+ {Intrinsic::x86_avx512_mask_shuf_i64x2_256, 113377}, // __builtin_ia32_shuf_i64x2_256_mask
+ {Intrinsic::x86_avx512_mask_shuf_i64x2, 113346}, // __builtin_ia32_shuf_i64x2_mask
+ {Intrinsic::x86_sse2_sqrt_pd, 129114}, // __builtin_ia32_sqrtpd
+ {Intrinsic::x86_avx512_mask_sqrt_pd_128, 113412}, // __builtin_ia32_sqrtpd128_mask
+ {Intrinsic::x86_avx_sqrt_pd_256, 91337}, // __builtin_ia32_sqrtpd256
+ {Intrinsic::x86_avx512_mask_sqrt_pd_256, 113442}, // __builtin_ia32_sqrtpd256_mask
+ {Intrinsic::x86_avx512_mask_sqrt_pd_512, 113472}, // __builtin_ia32_sqrtpd512_mask
+ {Intrinsic::x86_sse_sqrt_ps, 127391}, // __builtin_ia32_sqrtps
+ {Intrinsic::x86_avx512_mask_sqrt_ps_128, 113502}, // __builtin_ia32_sqrtps128_mask
+ {Intrinsic::x86_avx_sqrt_ps_256, 91362}, // __builtin_ia32_sqrtps256
+ {Intrinsic::x86_avx512_mask_sqrt_ps_256, 113532}, // __builtin_ia32_sqrtps256_mask
+ {Intrinsic::x86_avx512_mask_sqrt_ps_512, 113562}, // __builtin_ia32_sqrtps512_mask
+ {Intrinsic::x86_sse2_sqrt_sd, 129136}, // __builtin_ia32_sqrtsd
+ {Intrinsic::x86_avx512_mask_sqrt_sd, 113592}, // __builtin_ia32_sqrtsd_round_mask
+ {Intrinsic::x86_sse_sqrt_ss, 127413}, // __builtin_ia32_sqrtss
+ {Intrinsic::x86_avx512_mask_sqrt_ss, 113625}, // __builtin_ia32_sqrtss_round_mask
+ {Intrinsic::x86_avx512_mask_store_ss, 113658}, // __builtin_ia32_storess_mask
+ {Intrinsic::x86_subborrow_u32, 131249}, // __builtin_ia32_subborrow_u32
+ {Intrinsic::x86_subborrow_u64, 131278}, // __builtin_ia32_subborrow_u64
+ {Intrinsic::x86_avx512_mask_sub_pd_512, 113686}, // __builtin_ia32_subpd512_mask
+ {Intrinsic::x86_avx512_mask_sub_ps_512, 113715}, // __builtin_ia32_subps512_mask
+ {Intrinsic::x86_avx512_mask_sub_sd_round, 113744}, // __builtin_ia32_subsd_round_mask
+ {Intrinsic::x86_avx512_mask_sub_ss_round, 113776}, // __builtin_ia32_subss_round_mask
+ {Intrinsic::x86_sse_ucomieq_ss, 127435}, // __builtin_ia32_ucomieq
+ {Intrinsic::x86_sse_ucomige_ss, 127458}, // __builtin_ia32_ucomige
+ {Intrinsic::x86_sse_ucomigt_ss, 127481}, // __builtin_ia32_ucomigt
+ {Intrinsic::x86_sse_ucomile_ss, 127504}, // __builtin_ia32_ucomile
+ {Intrinsic::x86_sse_ucomilt_ss, 127527}, // __builtin_ia32_ucomilt
+ {Intrinsic::x86_sse_ucomineq_ss, 127550}, // __builtin_ia32_ucomineq
+ {Intrinsic::x86_sse2_ucomieq_sd, 129158}, // __builtin_ia32_ucomisdeq
+ {Intrinsic::x86_sse2_ucomige_sd, 129183}, // __builtin_ia32_ucomisdge
+ {Intrinsic::x86_sse2_ucomigt_sd, 129208}, // __builtin_ia32_ucomisdgt
+ {Intrinsic::x86_sse2_ucomile_sd, 129233}, // __builtin_ia32_ucomisdle
+ {Intrinsic::x86_sse2_ucomilt_sd, 129258}, // __builtin_ia32_ucomisdlt
+ {Intrinsic::x86_sse2_ucomineq_sd, 129283}, // __builtin_ia32_ucomisdneq
+ {Intrinsic::x86_avx512_vbroadcast_sd_512, 123061}, // __builtin_ia32_vbroadcastsd512
+ {Intrinsic::x86_avx512_vbroadcast_ss_512, 123092}, // __builtin_ia32_vbroadcastss512
+ {Intrinsic::x86_avx512_vcomi_sd, 123123}, // __builtin_ia32_vcomisd
+ {Intrinsic::x86_avx512_vcomi_ss, 123146}, // __builtin_ia32_vcomiss
+ {Intrinsic::x86_vcvtph2ps_128, 131359}, // __builtin_ia32_vcvtph2ps
+ {Intrinsic::x86_vcvtph2ps_256, 131384}, // __builtin_ia32_vcvtph2ps256
+ {Intrinsic::x86_avx512_mask_vcvtph2ps_256, 113838}, // __builtin_ia32_vcvtph2ps256_mask
+ {Intrinsic::x86_avx512_mask_vcvtph2ps_512, 113871}, // __builtin_ia32_vcvtph2ps512_mask
+ {Intrinsic::x86_avx512_mask_vcvtph2ps_128, 113808}, // __builtin_ia32_vcvtph2ps_mask
+ {Intrinsic::x86_vcvtps2ph_128, 131412}, // __builtin_ia32_vcvtps2ph
+ {Intrinsic::x86_vcvtps2ph_256, 131437}, // __builtin_ia32_vcvtps2ph256
+ {Intrinsic::x86_avx512_mask_vcvtps2ph_256, 113934}, // __builtin_ia32_vcvtps2ph256_mask
+ {Intrinsic::x86_avx512_mask_vcvtps2ph_512, 113967}, // __builtin_ia32_vcvtps2ph512_mask
+ {Intrinsic::x86_avx512_mask_vcvtps2ph_128, 113904}, // __builtin_ia32_vcvtps2ph_mask
+ {Intrinsic::x86_avx512_vcvtsd2si32, 123169}, // __builtin_ia32_vcvtsd2si32
+ {Intrinsic::x86_avx512_vcvtsd2si64, 123196}, // __builtin_ia32_vcvtsd2si64
+ {Intrinsic::x86_avx512_vcvtsd2usi32, 123223}, // __builtin_ia32_vcvtsd2usi32
+ {Intrinsic::x86_avx512_vcvtsd2usi64, 123251}, // __builtin_ia32_vcvtsd2usi64
+ {Intrinsic::x86_avx512_vcvtss2si32, 123279}, // __builtin_ia32_vcvtss2si32
+ {Intrinsic::x86_avx512_vcvtss2si64, 123306}, // __builtin_ia32_vcvtss2si64
+ {Intrinsic::x86_avx512_vcvtss2usi32, 123333}, // __builtin_ia32_vcvtss2usi32
+ {Intrinsic::x86_avx512_vcvtss2usi64, 123361}, // __builtin_ia32_vcvtss2usi64
+ {Intrinsic::x86_avx512_cvttsd2si, 95171}, // __builtin_ia32_vcvttsd2si32
+ {Intrinsic::x86_avx512_cvttsd2si64, 95199}, // __builtin_ia32_vcvttsd2si64
+ {Intrinsic::x86_avx512_cvttsd2usi, 95227}, // __builtin_ia32_vcvttsd2usi32
+ {Intrinsic::x86_avx512_cvttsd2usi64, 95256}, // __builtin_ia32_vcvttsd2usi64
+ {Intrinsic::x86_avx512_cvttss2si, 95285}, // __builtin_ia32_vcvttss2si32
+ {Intrinsic::x86_avx512_cvttss2si64, 95313}, // __builtin_ia32_vcvttss2si64
+ {Intrinsic::x86_avx512_cvttss2usi, 95341}, // __builtin_ia32_vcvttss2usi32
+ {Intrinsic::x86_avx512_cvttss2usi64, 95370}, // __builtin_ia32_vcvttss2usi64
+ {Intrinsic::x86_mmx_pextr_w, 125298}, // __builtin_ia32_vec_ext_v4hi
+ {Intrinsic::x86_mmx_pinsr_w, 125326}, // __builtin_ia32_vec_set_v4hi
+ {Intrinsic::x86_fma_vfmadd_pd, 123787}, // __builtin_ia32_vfmaddpd
+ {Intrinsic::x86_avx512_mask_vfmadd_pd_128, 114420}, // __builtin_ia32_vfmaddpd128_mask
+ {Intrinsic::x86_avx512_mask3_vfmadd_pd_128, 116772}, // __builtin_ia32_vfmaddpd128_mask3
+ {Intrinsic::x86_avx512_maskz_vfmadd_pd_128, 118470}, // __builtin_ia32_vfmaddpd128_maskz
+ {Intrinsic::x86_fma_vfmadd_pd_256, 123811}, // __builtin_ia32_vfmaddpd256
+ {Intrinsic::x86_avx512_mask_vfmadd_pd_256, 114452}, // __builtin_ia32_vfmaddpd256_mask
+ {Intrinsic::x86_avx512_mask3_vfmadd_pd_256, 116805}, // __builtin_ia32_vfmaddpd256_mask3
+ {Intrinsic::x86_avx512_maskz_vfmadd_pd_256, 118503}, // __builtin_ia32_vfmaddpd256_maskz
+ {Intrinsic::x86_avx512_mask_vfmadd_pd_512, 114484}, // __builtin_ia32_vfmaddpd512_mask
+ {Intrinsic::x86_avx512_mask3_vfmadd_pd_512, 116838}, // __builtin_ia32_vfmaddpd512_mask3
+ {Intrinsic::x86_avx512_maskz_vfmadd_pd_512, 118536}, // __builtin_ia32_vfmaddpd512_maskz
+ {Intrinsic::x86_fma_vfmadd_ps, 123838}, // __builtin_ia32_vfmaddps
+ {Intrinsic::x86_avx512_mask_vfmadd_ps_128, 114516}, // __builtin_ia32_vfmaddps128_mask
+ {Intrinsic::x86_avx512_mask3_vfmadd_ps_128, 116871}, // __builtin_ia32_vfmaddps128_mask3
+ {Intrinsic::x86_avx512_maskz_vfmadd_ps_128, 118569}, // __builtin_ia32_vfmaddps128_maskz
+ {Intrinsic::x86_fma_vfmadd_ps_256, 123862}, // __builtin_ia32_vfmaddps256
+ {Intrinsic::x86_avx512_mask_vfmadd_ps_256, 114548}, // __builtin_ia32_vfmaddps256_mask
+ {Intrinsic::x86_avx512_mask3_vfmadd_ps_256, 116904}, // __builtin_ia32_vfmaddps256_mask3
+ {Intrinsic::x86_avx512_maskz_vfmadd_ps_256, 118602}, // __builtin_ia32_vfmaddps256_maskz
+ {Intrinsic::x86_avx512_mask_vfmadd_ps_512, 114580}, // __builtin_ia32_vfmaddps512_mask
+ {Intrinsic::x86_avx512_mask3_vfmadd_ps_512, 116937}, // __builtin_ia32_vfmaddps512_mask3
+ {Intrinsic::x86_avx512_maskz_vfmadd_ps_512, 118635}, // __builtin_ia32_vfmaddps512_maskz
+ {Intrinsic::x86_fma_vfmadd_sd, 123889}, // __builtin_ia32_vfmaddsd
+ {Intrinsic::x86_avx512_mask_vfmadd_sd, 114612}, // __builtin_ia32_vfmaddsd3_mask
+ {Intrinsic::x86_avx512_mask3_vfmadd_sd, 116970}, // __builtin_ia32_vfmaddsd3_mask3
+ {Intrinsic::x86_avx512_maskz_vfmadd_sd, 118668}, // __builtin_ia32_vfmaddsd3_maskz
+ {Intrinsic::x86_fma_vfmadd_ss, 123913}, // __builtin_ia32_vfmaddss
+ {Intrinsic::x86_avx512_mask_vfmadd_ss, 114642}, // __builtin_ia32_vfmaddss3_mask
+ {Intrinsic::x86_avx512_mask3_vfmadd_ss, 117001}, // __builtin_ia32_vfmaddss3_mask3
+ {Intrinsic::x86_avx512_maskz_vfmadd_ss, 118699}, // __builtin_ia32_vfmaddss3_maskz
+ {Intrinsic::x86_fma_vfmaddsub_pd, 123937}, // __builtin_ia32_vfmaddsubpd
+ {Intrinsic::x86_avx512_mask_vfmaddsub_pd_128, 114672}, // __builtin_ia32_vfmaddsubpd128_mask
+ {Intrinsic::x86_avx512_mask3_vfmaddsub_pd_128, 117032}, // __builtin_ia32_vfmaddsubpd128_mask3
+ {Intrinsic::x86_avx512_maskz_vfmaddsub_pd_128, 118730}, // __builtin_ia32_vfmaddsubpd128_maskz
+ {Intrinsic::x86_fma_vfmaddsub_pd_256, 123964}, // __builtin_ia32_vfmaddsubpd256
+ {Intrinsic::x86_avx512_mask_vfmaddsub_pd_256, 114707}, // __builtin_ia32_vfmaddsubpd256_mask
+ {Intrinsic::x86_avx512_mask3_vfmaddsub_pd_256, 117068}, // __builtin_ia32_vfmaddsubpd256_mask3
+ {Intrinsic::x86_avx512_maskz_vfmaddsub_pd_256, 118766}, // __builtin_ia32_vfmaddsubpd256_maskz
+ {Intrinsic::x86_avx512_mask_vfmaddsub_pd_512, 114742}, // __builtin_ia32_vfmaddsubpd512_mask
+ {Intrinsic::x86_avx512_mask3_vfmaddsub_pd_512, 117104}, // __builtin_ia32_vfmaddsubpd512_mask3
+ {Intrinsic::x86_avx512_maskz_vfmaddsub_pd_512, 118802}, // __builtin_ia32_vfmaddsubpd512_maskz
+ {Intrinsic::x86_fma_vfmaddsub_ps, 123994}, // __builtin_ia32_vfmaddsubps
+ {Intrinsic::x86_avx512_mask_vfmaddsub_ps_128, 114777}, // __builtin_ia32_vfmaddsubps128_mask
+ {Intrinsic::x86_avx512_mask3_vfmaddsub_ps_128, 117140}, // __builtin_ia32_vfmaddsubps128_mask3
+ {Intrinsic::x86_avx512_maskz_vfmaddsub_ps_128, 118838}, // __builtin_ia32_vfmaddsubps128_maskz
+ {Intrinsic::x86_fma_vfmaddsub_ps_256, 124021}, // __builtin_ia32_vfmaddsubps256
+ {Intrinsic::x86_avx512_mask_vfmaddsub_ps_256, 114812}, // __builtin_ia32_vfmaddsubps256_mask
+ {Intrinsic::x86_avx512_mask3_vfmaddsub_ps_256, 117176}, // __builtin_ia32_vfmaddsubps256_mask3
+ {Intrinsic::x86_avx512_maskz_vfmaddsub_ps_256, 118874}, // __builtin_ia32_vfmaddsubps256_maskz
+ {Intrinsic::x86_avx512_mask_vfmaddsub_ps_512, 114847}, // __builtin_ia32_vfmaddsubps512_mask
+ {Intrinsic::x86_avx512_mask3_vfmaddsub_ps_512, 117212}, // __builtin_ia32_vfmaddsubps512_mask3
+ {Intrinsic::x86_avx512_maskz_vfmaddsub_ps_512, 118910}, // __builtin_ia32_vfmaddsubps512_maskz
+ {Intrinsic::x86_fma_vfmsubadd_pd, 124201}, // __builtin_ia32_vfmsubaddpd
+ {Intrinsic::x86_avx512_mask3_vfmsubadd_pd_128, 117508}, // __builtin_ia32_vfmsubaddpd128_mask3
+ {Intrinsic::x86_fma_vfmsubadd_pd_256, 124228}, // __builtin_ia32_vfmsubaddpd256
+ {Intrinsic::x86_avx512_mask3_vfmsubadd_pd_256, 117544}, // __builtin_ia32_vfmsubaddpd256_mask3
+ {Intrinsic::x86_avx512_mask3_vfmsubadd_pd_512, 117580}, // __builtin_ia32_vfmsubaddpd512_mask3
+ {Intrinsic::x86_fma_vfmsubadd_ps, 124258}, // __builtin_ia32_vfmsubaddps
+ {Intrinsic::x86_avx512_mask3_vfmsubadd_ps_128, 117616}, // __builtin_ia32_vfmsubaddps128_mask3
+ {Intrinsic::x86_fma_vfmsubadd_ps_256, 124285}, // __builtin_ia32_vfmsubaddps256
+ {Intrinsic::x86_avx512_mask3_vfmsubadd_ps_256, 117652}, // __builtin_ia32_vfmsubaddps256_mask3
+ {Intrinsic::x86_avx512_mask3_vfmsubadd_ps_512, 117688}, // __builtin_ia32_vfmsubaddps512_mask3
+ {Intrinsic::x86_fma_vfmsub_pd, 124051}, // __builtin_ia32_vfmsubpd
+ {Intrinsic::x86_avx512_mask3_vfmsub_pd_128, 117248}, // __builtin_ia32_vfmsubpd128_mask3
+ {Intrinsic::x86_fma_vfmsub_pd_256, 124075}, // __builtin_ia32_vfmsubpd256
+ {Intrinsic::x86_avx512_mask3_vfmsub_pd_256, 117281}, // __builtin_ia32_vfmsubpd256_mask3
+ {Intrinsic::x86_avx512_mask3_vfmsub_pd_512, 117314}, // __builtin_ia32_vfmsubpd512_mask3
+ {Intrinsic::x86_fma_vfmsub_ps, 124102}, // __builtin_ia32_vfmsubps
+ {Intrinsic::x86_avx512_mask3_vfmsub_ps_128, 117347}, // __builtin_ia32_vfmsubps128_mask3
+ {Intrinsic::x86_fma_vfmsub_ps_256, 124126}, // __builtin_ia32_vfmsubps256
+ {Intrinsic::x86_avx512_mask3_vfmsub_ps_256, 117380}, // __builtin_ia32_vfmsubps256_mask3
+ {Intrinsic::x86_avx512_mask3_vfmsub_ps_512, 117413}, // __builtin_ia32_vfmsubps512_mask3
+ {Intrinsic::x86_fma_vfmsub_sd, 124153}, // __builtin_ia32_vfmsubsd
+ {Intrinsic::x86_avx512_mask3_vfmsub_sd, 117446}, // __builtin_ia32_vfmsubsd3_mask3
+ {Intrinsic::x86_fma_vfmsub_ss, 124177}, // __builtin_ia32_vfmsubss
+ {Intrinsic::x86_avx512_mask3_vfmsub_ss, 117477}, // __builtin_ia32_vfmsubss3_mask3
+ {Intrinsic::x86_fma_vfnmadd_pd, 124315}, // __builtin_ia32_vfnmaddpd
+ {Intrinsic::x86_avx512_mask_vfnmadd_pd_128, 114882}, // __builtin_ia32_vfnmaddpd128_mask
+ {Intrinsic::x86_fma_vfnmadd_pd_256, 124340}, // __builtin_ia32_vfnmaddpd256
+ {Intrinsic::x86_avx512_mask_vfnmadd_pd_256, 114915}, // __builtin_ia32_vfnmaddpd256_mask
+ {Intrinsic::x86_avx512_mask_vfnmadd_pd_512, 114948}, // __builtin_ia32_vfnmaddpd512_mask
+ {Intrinsic::x86_fma_vfnmadd_ps, 124368}, // __builtin_ia32_vfnmaddps
+ {Intrinsic::x86_avx512_mask_vfnmadd_ps_128, 114981}, // __builtin_ia32_vfnmaddps128_mask
+ {Intrinsic::x86_fma_vfnmadd_ps_256, 124393}, // __builtin_ia32_vfnmaddps256
+ {Intrinsic::x86_avx512_mask_vfnmadd_ps_256, 115014}, // __builtin_ia32_vfnmaddps256_mask
+ {Intrinsic::x86_avx512_mask_vfnmadd_ps_512, 115047}, // __builtin_ia32_vfnmaddps512_mask
+ {Intrinsic::x86_fma_vfnmadd_sd, 124421}, // __builtin_ia32_vfnmaddsd
+ {Intrinsic::x86_fma_vfnmadd_ss, 124446}, // __builtin_ia32_vfnmaddss
+ {Intrinsic::x86_fma_vfnmsub_pd, 124471}, // __builtin_ia32_vfnmsubpd
+ {Intrinsic::x86_avx512_mask_vfnmsub_pd_128, 115080}, // __builtin_ia32_vfnmsubpd128_mask
+ {Intrinsic::x86_avx512_mask3_vfnmsub_pd_128, 117724}, // __builtin_ia32_vfnmsubpd128_mask3
+ {Intrinsic::x86_fma_vfnmsub_pd_256, 124496}, // __builtin_ia32_vfnmsubpd256
+ {Intrinsic::x86_avx512_mask_vfnmsub_pd_256, 115113}, // __builtin_ia32_vfnmsubpd256_mask
+ {Intrinsic::x86_avx512_mask3_vfnmsub_pd_256, 117758}, // __builtin_ia32_vfnmsubpd256_mask3
+ {Intrinsic::x86_avx512_mask_vfnmsub_pd_512, 115146}, // __builtin_ia32_vfnmsubpd512_mask
+ {Intrinsic::x86_avx512_mask3_vfnmsub_pd_512, 117792}, // __builtin_ia32_vfnmsubpd512_mask3
+ {Intrinsic::x86_fma_vfnmsub_ps, 124524}, // __builtin_ia32_vfnmsubps
+ {Intrinsic::x86_avx512_mask_vfnmsub_ps_128, 115179}, // __builtin_ia32_vfnmsubps128_mask
+ {Intrinsic::x86_avx512_mask3_vfnmsub_ps_128, 117826}, // __builtin_ia32_vfnmsubps128_mask3
+ {Intrinsic::x86_fma_vfnmsub_ps_256, 124549}, // __builtin_ia32_vfnmsubps256
+ {Intrinsic::x86_avx512_mask_vfnmsub_ps_256, 115212}, // __builtin_ia32_vfnmsubps256_mask
+ {Intrinsic::x86_avx512_mask3_vfnmsub_ps_256, 117860}, // __builtin_ia32_vfnmsubps256_mask3
+ {Intrinsic::x86_avx512_mask_vfnmsub_ps_512, 115245}, // __builtin_ia32_vfnmsubps512_mask
+ {Intrinsic::x86_avx512_mask3_vfnmsub_ps_512, 117894}, // __builtin_ia32_vfnmsubps512_mask3
+ {Intrinsic::x86_fma_vfnmsub_sd, 124577}, // __builtin_ia32_vfnmsubsd
+ {Intrinsic::x86_avx512_mask3_vfnmsub_sd, 117928}, // __builtin_ia32_vfnmsubsd3_mask3
+ {Intrinsic::x86_fma_vfnmsub_ss, 124602}, // __builtin_ia32_vfnmsubss
+ {Intrinsic::x86_avx512_mask3_vfnmsub_ss, 117960}, // __builtin_ia32_vfnmsubss3_mask3
+ {Intrinsic::x86_xop_vfrcz_pd, 131655}, // __builtin_ia32_vfrczpd
+ {Intrinsic::x86_xop_vfrcz_pd_256, 131678}, // __builtin_ia32_vfrczpd256
+ {Intrinsic::x86_xop_vfrcz_ps, 131704}, // __builtin_ia32_vfrczps
+ {Intrinsic::x86_xop_vfrcz_ps_256, 131727}, // __builtin_ia32_vfrczps256
+ {Intrinsic::x86_xop_vfrcz_sd, 131753}, // __builtin_ia32_vfrczsd
+ {Intrinsic::x86_xop_vfrcz_ss, 131776}, // __builtin_ia32_vfrczss
+ {Intrinsic::x86_xop_vpcmov, 131799}, // __builtin_ia32_vpcmov
+ {Intrinsic::x86_xop_vpcmov_256, 131821}, // __builtin_ia32_vpcmov_256
+ {Intrinsic::x86_xop_vpcomb, 131847}, // __builtin_ia32_vpcomb
+ {Intrinsic::x86_xop_vpcomd, 131869}, // __builtin_ia32_vpcomd
+ {Intrinsic::x86_xop_vpcomq, 131891}, // __builtin_ia32_vpcomq
+ {Intrinsic::x86_xop_vpcomub, 131913}, // __builtin_ia32_vpcomub
+ {Intrinsic::x86_xop_vpcomud, 131936}, // __builtin_ia32_vpcomud
+ {Intrinsic::x86_xop_vpcomuq, 131959}, // __builtin_ia32_vpcomuq
+ {Intrinsic::x86_xop_vpcomuw, 131982}, // __builtin_ia32_vpcomuw
+ {Intrinsic::x86_xop_vpcomw, 132005}, // __builtin_ia32_vpcomw
+ {Intrinsic::x86_avx512_mask_conflict_q_128, 98680}, // __builtin_ia32_vpconflictdi_128_mask
+ {Intrinsic::x86_avx512_mask_conflict_q_256, 98717}, // __builtin_ia32_vpconflictdi_256_mask
+ {Intrinsic::x86_avx512_mask_conflict_q_512, 98754}, // __builtin_ia32_vpconflictdi_512_mask
+ {Intrinsic::x86_avx512_mask_conflict_d_128, 98569}, // __builtin_ia32_vpconflictsi_128_mask
+ {Intrinsic::x86_avx512_mask_conflict_d_256, 98606}, // __builtin_ia32_vpconflictsi_256_mask
+ {Intrinsic::x86_avx512_mask_conflict_d_512, 98643}, // __builtin_ia32_vpconflictsi_512_mask
+ {Intrinsic::x86_avx_vperm2f128_pd_256, 91387}, // __builtin_ia32_vperm2f128_pd256
+ {Intrinsic::x86_avx_vperm2f128_ps_256, 91419}, // __builtin_ia32_vperm2f128_ps256
+ {Intrinsic::x86_avx_vperm2f128_si_256, 91451}, // __builtin_ia32_vperm2f128_si256
+ {Intrinsic::x86_avx512_mask_vpermi2var_d_128, 115278}, // __builtin_ia32_vpermi2vard128_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_d_256, 115313}, // __builtin_ia32_vpermi2vard256_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_d_512, 115348}, // __builtin_ia32_vpermi2vard512_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_hi_128, 115383}, // __builtin_ia32_vpermi2varhi128_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_hi_256, 115419}, // __builtin_ia32_vpermi2varhi256_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_hi_512, 115455}, // __builtin_ia32_vpermi2varhi512_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_pd_128, 115491}, // __builtin_ia32_vpermi2varpd128_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_pd_256, 115527}, // __builtin_ia32_vpermi2varpd256_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_pd_512, 115563}, // __builtin_ia32_vpermi2varpd512_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_ps_128, 115599}, // __builtin_ia32_vpermi2varps128_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_ps_256, 115635}, // __builtin_ia32_vpermi2varps256_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_ps_512, 115671}, // __builtin_ia32_vpermi2varps512_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_q_128, 115707}, // __builtin_ia32_vpermi2varq128_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_q_256, 115742}, // __builtin_ia32_vpermi2varq256_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_q_512, 115777}, // __builtin_ia32_vpermi2varq512_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_qi_128, 115812}, // __builtin_ia32_vpermi2varqi128_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_qi_256, 115848}, // __builtin_ia32_vpermi2varqi256_mask
+ {Intrinsic::x86_avx512_mask_vpermi2var_qi_512, 115884}, // __builtin_ia32_vpermi2varqi512_mask
+ {Intrinsic::x86_xop_vpermil2pd, 132027}, // __builtin_ia32_vpermil2pd
+ {Intrinsic::x86_xop_vpermil2pd_256, 132053}, // __builtin_ia32_vpermil2pd256
+ {Intrinsic::x86_xop_vpermil2ps, 132082}, // __builtin_ia32_vpermil2ps
+ {Intrinsic::x86_xop_vpermil2ps_256, 132108}, // __builtin_ia32_vpermil2ps256
+ {Intrinsic::x86_avx_vpermilvar_pd, 91483}, // __builtin_ia32_vpermilvarpd
+ {Intrinsic::x86_avx_vpermilvar_pd_256, 91511}, // __builtin_ia32_vpermilvarpd256
+ {Intrinsic::x86_avx512_vpermilvar_pd_512, 123389}, // __builtin_ia32_vpermilvarpd512
+ {Intrinsic::x86_avx_vpermilvar_ps, 91542}, // __builtin_ia32_vpermilvarps
+ {Intrinsic::x86_avx_vpermilvar_ps_256, 91570}, // __builtin_ia32_vpermilvarps256
+ {Intrinsic::x86_avx512_vpermilvar_ps_512, 123420}, // __builtin_ia32_vpermilvarps512
+ {Intrinsic::x86_avx512_mask_vpermt2var_d_128, 115920}, // __builtin_ia32_vpermt2vard128_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_d_128, 118946}, // __builtin_ia32_vpermt2vard128_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_d_256, 115955}, // __builtin_ia32_vpermt2vard256_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_d_256, 118982}, // __builtin_ia32_vpermt2vard256_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_d_512, 115990}, // __builtin_ia32_vpermt2vard512_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_d_512, 119018}, // __builtin_ia32_vpermt2vard512_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_hi_128, 116025}, // __builtin_ia32_vpermt2varhi128_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_hi_128, 119054}, // __builtin_ia32_vpermt2varhi128_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_hi_256, 116061}, // __builtin_ia32_vpermt2varhi256_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_hi_256, 119091}, // __builtin_ia32_vpermt2varhi256_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_hi_512, 116097}, // __builtin_ia32_vpermt2varhi512_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_hi_512, 119128}, // __builtin_ia32_vpermt2varhi512_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_pd_128, 116133}, // __builtin_ia32_vpermt2varpd128_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_pd_128, 119165}, // __builtin_ia32_vpermt2varpd128_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_pd_256, 116169}, // __builtin_ia32_vpermt2varpd256_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_pd_256, 119202}, // __builtin_ia32_vpermt2varpd256_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_pd_512, 116205}, // __builtin_ia32_vpermt2varpd512_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_pd_512, 119239}, // __builtin_ia32_vpermt2varpd512_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_ps_128, 116241}, // __builtin_ia32_vpermt2varps128_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_ps_128, 119276}, // __builtin_ia32_vpermt2varps128_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_ps_256, 116277}, // __builtin_ia32_vpermt2varps256_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_ps_256, 119313}, // __builtin_ia32_vpermt2varps256_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_ps_512, 116313}, // __builtin_ia32_vpermt2varps512_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_ps_512, 119350}, // __builtin_ia32_vpermt2varps512_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_q_128, 116349}, // __builtin_ia32_vpermt2varq128_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_q_128, 119387}, // __builtin_ia32_vpermt2varq128_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_q_256, 116384}, // __builtin_ia32_vpermt2varq256_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_q_256, 119423}, // __builtin_ia32_vpermt2varq256_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_q_512, 116419}, // __builtin_ia32_vpermt2varq512_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_q_512, 119459}, // __builtin_ia32_vpermt2varq512_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_qi_128, 116454}, // __builtin_ia32_vpermt2varqi128_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_qi_128, 119495}, // __builtin_ia32_vpermt2varqi128_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_qi_256, 116490}, // __builtin_ia32_vpermt2varqi256_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_qi_256, 119532}, // __builtin_ia32_vpermt2varqi256_maskz
+ {Intrinsic::x86_avx512_mask_vpermt2var_qi_512, 116526}, // __builtin_ia32_vpermt2varqi512_mask
+ {Intrinsic::x86_avx512_maskz_vpermt2var_qi_512, 119569}, // __builtin_ia32_vpermt2varqi512_maskz
+ {Intrinsic::x86_xop_vphaddbd, 132137}, // __builtin_ia32_vphaddbd
+ {Intrinsic::x86_xop_vphaddbq, 132161}, // __builtin_ia32_vphaddbq
+ {Intrinsic::x86_xop_vphaddbw, 132185}, // __builtin_ia32_vphaddbw
+ {Intrinsic::x86_xop_vphadddq, 132209}, // __builtin_ia32_vphadddq
+ {Intrinsic::x86_xop_vphaddubd, 132233}, // __builtin_ia32_vphaddubd
+ {Intrinsic::x86_xop_vphaddubq, 132258}, // __builtin_ia32_vphaddubq
+ {Intrinsic::x86_xop_vphaddubw, 132283}, // __builtin_ia32_vphaddubw
+ {Intrinsic::x86_xop_vphaddudq, 132308}, // __builtin_ia32_vphaddudq
+ {Intrinsic::x86_xop_vphadduwd, 132333}, // __builtin_ia32_vphadduwd
+ {Intrinsic::x86_xop_vphadduwq, 132358}, // __builtin_ia32_vphadduwq
+ {Intrinsic::x86_xop_vphaddwd, 132383}, // __builtin_ia32_vphaddwd
+ {Intrinsic::x86_xop_vphaddwq, 132407}, // __builtin_ia32_vphaddwq
+ {Intrinsic::x86_xop_vphsubbw, 132431}, // __builtin_ia32_vphsubbw
+ {Intrinsic::x86_xop_vphsubdq, 132455}, // __builtin_ia32_vphsubdq
+ {Intrinsic::x86_xop_vphsubwd, 132479}, // __builtin_ia32_vphsubwd
+ {Intrinsic::x86_xop_vpmacsdd, 132503}, // __builtin_ia32_vpmacsdd
+ {Intrinsic::x86_xop_vpmacsdqh, 132527}, // __builtin_ia32_vpmacsdqh
+ {Intrinsic::x86_xop_vpmacsdql, 132552}, // __builtin_ia32_vpmacsdql
+ {Intrinsic::x86_xop_vpmacssdd, 132577}, // __builtin_ia32_vpmacssdd
+ {Intrinsic::x86_xop_vpmacssdqh, 132602}, // __builtin_ia32_vpmacssdqh
+ {Intrinsic::x86_xop_vpmacssdql, 132628}, // __builtin_ia32_vpmacssdql
+ {Intrinsic::x86_xop_vpmacsswd, 132654}, // __builtin_ia32_vpmacsswd
+ {Intrinsic::x86_xop_vpmacssww, 132679}, // __builtin_ia32_vpmacssww
+ {Intrinsic::x86_xop_vpmacswd, 132704}, // __builtin_ia32_vpmacswd
+ {Intrinsic::x86_xop_vpmacsww, 132728}, // __builtin_ia32_vpmacsww
+ {Intrinsic::x86_xop_vpmadcsswd, 132752}, // __builtin_ia32_vpmadcsswd
+ {Intrinsic::x86_xop_vpmadcswd, 132778}, // __builtin_ia32_vpmadcswd
+ {Intrinsic::x86_avx512_mask_vpmadd52h_uq_128, 116562}, // __builtin_ia32_vpmadd52huq128_mask
+ {Intrinsic::x86_avx512_maskz_vpmadd52h_uq_128, 119606}, // __builtin_ia32_vpmadd52huq128_maskz
+ {Intrinsic::x86_avx512_mask_vpmadd52h_uq_256, 116597}, // __builtin_ia32_vpmadd52huq256_mask
+ {Intrinsic::x86_avx512_maskz_vpmadd52h_uq_256, 119642}, // __builtin_ia32_vpmadd52huq256_maskz
+ {Intrinsic::x86_avx512_mask_vpmadd52h_uq_512, 116632}, // __builtin_ia32_vpmadd52huq512_mask
+ {Intrinsic::x86_avx512_maskz_vpmadd52h_uq_512, 119678}, // __builtin_ia32_vpmadd52huq512_maskz
+ {Intrinsic::x86_avx512_mask_vpmadd52l_uq_128, 116667}, // __builtin_ia32_vpmadd52luq128_mask
+ {Intrinsic::x86_avx512_maskz_vpmadd52l_uq_128, 119714}, // __builtin_ia32_vpmadd52luq128_maskz
+ {Intrinsic::x86_avx512_mask_vpmadd52l_uq_256, 116702}, // __builtin_ia32_vpmadd52luq256_mask
+ {Intrinsic::x86_avx512_maskz_vpmadd52l_uq_256, 119750}, // __builtin_ia32_vpmadd52luq256_maskz
+ {Intrinsic::x86_avx512_mask_vpmadd52l_uq_512, 116737}, // __builtin_ia32_vpmadd52luq512_mask
+ {Intrinsic::x86_avx512_maskz_vpmadd52l_uq_512, 119786}, // __builtin_ia32_vpmadd52luq512_maskz
+ {Intrinsic::x86_avx512_mask_pmultishift_qb_128, 110621}, // __builtin_ia32_vpmultishiftqb128_mask
+ {Intrinsic::x86_avx512_mask_pmultishift_qb_256, 110659}, // __builtin_ia32_vpmultishiftqb256_mask
+ {Intrinsic::x86_avx512_mask_pmultishift_qb_512, 110697}, // __builtin_ia32_vpmultishiftqb512_mask
+ {Intrinsic::x86_xop_vpperm, 132803}, // __builtin_ia32_vpperm
+ {Intrinsic::x86_xop_vprotb, 132825}, // __builtin_ia32_vprotb
+ {Intrinsic::x86_xop_vprotbi, 132847}, // __builtin_ia32_vprotbi
+ {Intrinsic::x86_xop_vprotd, 132870}, // __builtin_ia32_vprotd
+ {Intrinsic::x86_xop_vprotdi, 132892}, // __builtin_ia32_vprotdi
+ {Intrinsic::x86_xop_vprotq, 132915}, // __builtin_ia32_vprotq
+ {Intrinsic::x86_xop_vprotqi, 132937}, // __builtin_ia32_vprotqi
+ {Intrinsic::x86_xop_vprotw, 132960}, // __builtin_ia32_vprotw
+ {Intrinsic::x86_xop_vprotwi, 132982}, // __builtin_ia32_vprotwi
+ {Intrinsic::x86_xop_vpshab, 133005}, // __builtin_ia32_vpshab
+ {Intrinsic::x86_xop_vpshad, 133027}, // __builtin_ia32_vpshad
+ {Intrinsic::x86_xop_vpshaq, 133049}, // __builtin_ia32_vpshaq
+ {Intrinsic::x86_xop_vpshaw, 133071}, // __builtin_ia32_vpshaw
+ {Intrinsic::x86_xop_vpshlb, 133093}, // __builtin_ia32_vpshlb
+ {Intrinsic::x86_xop_vpshld, 133115}, // __builtin_ia32_vpshld
+ {Intrinsic::x86_xop_vpshlq, 133137}, // __builtin_ia32_vpshlq
+ {Intrinsic::x86_xop_vpshlw, 133159}, // __builtin_ia32_vpshlw
+ {Intrinsic::x86_avx_vtestc_pd, 91601}, // __builtin_ia32_vtestcpd
+ {Intrinsic::x86_avx_vtestc_pd_256, 91625}, // __builtin_ia32_vtestcpd256
+ {Intrinsic::x86_avx_vtestc_ps, 91652}, // __builtin_ia32_vtestcps
+ {Intrinsic::x86_avx_vtestc_ps_256, 91676}, // __builtin_ia32_vtestcps256
+ {Intrinsic::x86_avx_vtestnzc_pd, 91703}, // __builtin_ia32_vtestnzcpd
+ {Intrinsic::x86_avx_vtestnzc_pd_256, 91729}, // __builtin_ia32_vtestnzcpd256
+ {Intrinsic::x86_avx_vtestnzc_ps, 91758}, // __builtin_ia32_vtestnzcps
+ {Intrinsic::x86_avx_vtestnzc_ps_256, 91784}, // __builtin_ia32_vtestnzcps256
+ {Intrinsic::x86_avx_vtestz_pd, 91813}, // __builtin_ia32_vtestzpd
+ {Intrinsic::x86_avx_vtestz_pd_256, 91837}, // __builtin_ia32_vtestzpd256
+ {Intrinsic::x86_avx_vtestz_ps, 91864}, // __builtin_ia32_vtestzps
+ {Intrinsic::x86_avx_vtestz_ps_256, 91888}, // __builtin_ia32_vtestzps256
+ {Intrinsic::x86_avx_vzeroall, 91915}, // __builtin_ia32_vzeroall
+ {Intrinsic::x86_avx_vzeroupper, 91939}, // __builtin_ia32_vzeroupper
+ {Intrinsic::x86_wrfsbase_32, 131465}, // __builtin_ia32_wrfsbase32
+ {Intrinsic::x86_wrfsbase_64, 131491}, // __builtin_ia32_wrfsbase64
+ {Intrinsic::x86_wrgsbase_32, 131517}, // __builtin_ia32_wrgsbase32
+ {Intrinsic::x86_wrgsbase_64, 131543}, // __builtin_ia32_wrgsbase64
+ {Intrinsic::x86_flags_write_u32, 123725}, // __builtin_ia32_writeeflags_u32
+ {Intrinsic::x86_flags_write_u64, 123756}, // __builtin_ia32_writeeflags_u64
+ {Intrinsic::x86_wrpkru, 131569}, // __builtin_ia32_wrpkru
+ {Intrinsic::x86_xabort, 131591}, // __builtin_ia32_xabort
+ {Intrinsic::x86_xbegin, 131613}, // __builtin_ia32_xbegin
+ {Intrinsic::x86_xend, 131635}, // __builtin_ia32_xend
+ {Intrinsic::x86_xtest, 133181}, // __builtin_ia32_xtest
+ };
+ auto I = std::lower_bound(std::begin(x86Names),
+ std::end(x86Names),
+ BuiltinNameStr);
+ if (I != std::end(x86Names) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ if (TargetPrefix == "xcore") {
+ static const BuiltinEntry xcoreNames[] = {
+ {Intrinsic::xcore_bitrev, 133202}, // __builtin_bitrev
+ {Intrinsic::xcore_getid, 133219}, // __builtin_getid
+ {Intrinsic::xcore_getps, 133235}, // __builtin_getps
+ {Intrinsic::xcore_setps, 133251}, // __builtin_setps
+ };
+ auto I = std::lower_bound(std::begin(xcoreNames),
+ std::end(xcoreNames),
+ BuiltinNameStr);
+ if (I != std::end(xcoreNames) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ return Intrinsic::not_intrinsic;
+}
+#endif
+
+// Get the LLVM intrinsic that corresponds to a builtin.
+// This is used by the C front-end. The builtin name is passed
+// in as BuiltinName, and a target prefix (e.g. 'ppc') is passed
+// in as TargetPrefix. The result is assigned to 'IntrinsicID'.
+#ifdef GET_LLVM_INTRINSIC_FOR_MS_BUILTIN
+Intrinsic::ID Intrinsic::getIntrinsicForMSBuiltin(const char *TargetPrefixStr, StringRef BuiltinNameStr) {
+ static const char BuiltinNames[] = {
+ '_', '_', 'd', 'm', 'b', '\000', '_', '_', 'd', 's', 'b', '\000', '_', '_', 'i',
+ 's', 'b', '\000', '_', 'M', 'o', 'v', 'e', 'F', 'r', 'o', 'm', 'C', 'o', 'p',
+ 'r', 'o', 'c', 'e', 's', 's', 'o', 'r', '\000', '_', 'M', 'o', 'v', 'e', 'F',
+ 'r', 'o', 'm', 'C', 'o', 'p', 'r', 'o', 'c', 'e', 's', 's', 'o', 'r', '2',
+ '\000',
+ };
+
+ struct BuiltinEntry {
+ Intrinsic::ID IntrinID;
+ unsigned StrTabOffset;
+ const char *getName() const {
+ return &BuiltinNames[StrTabOffset];
+ }
+ bool operator<(StringRef RHS) const {
+ return strncmp(getName(), RHS.data(), RHS.size()) < 0;
+ }
+ };
+ StringRef TargetPrefix(TargetPrefixStr);
+
+ if (TargetPrefix == "arm") {
+ static const BuiltinEntry armNames[] = {
+ {Intrinsic::arm_mrc, 18}, // _MoveFromCoprocessor
+ {Intrinsic::arm_mrc2, 39}, // _MoveFromCoprocessor2
+ {Intrinsic::arm_dmb, 0}, // __dmb
+ {Intrinsic::arm_dsb, 6}, // __dsb
+ {Intrinsic::arm_isb, 12}, // __isb
+ };
+ auto I = std::lower_bound(std::begin(armNames),
+ std::end(armNames),
+ BuiltinNameStr);
+ if (I != std::end(armNames) &&
+ I->getName() == BuiltinNameStr)
+ return I->IntrinID;
+ }
+ return Intrinsic::not_intrinsic;
+}
+#endif
+
+#if defined(_MSC_VER) && defined(setjmp_undefined_for_msvc)
+// let's return it to _setjmp state
+# pragma pop_macro("setjmp")
+# undef setjmp_undefined_for_msvc
+#endif
+
diff --git a/third_party/llvm-subzero/include/llvm/Support/DataTypes.h b/third_party/llvm-subzero/build/Windows/include/llvm/Support/DataTypes.h
similarity index 100%
rename from third_party/llvm-subzero/include/llvm/Support/DataTypes.h
rename to third_party/llvm-subzero/build/Windows/include/llvm/Support/DataTypes.h
diff --git a/third_party/llvm-subzero/include/llvm/ADT/APFloat.h b/third_party/llvm-subzero/include/llvm/ADT/APFloat.h
index 3f6bd00..0030423 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/APFloat.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/APFloat.h
@@ -18,12 +18,16 @@
#define LLVM_ADT_APFLOAT_H
#include "llvm/ADT/APInt.h"
+#include "llvm/Support/ErrorHandling.h"
+#include <memory>
namespace llvm {
struct fltSemantics;
class APSInt;
class StringRef;
+class APFloat;
+class raw_ostream;
template <typename T> class SmallVectorImpl;
@@ -121,33 +125,30 @@
///
/// New operations: sqrt, IEEE remainder, C90 fmod, nexttoward.
///
-class APFloat {
-public:
+// This is the common type definitions shared by APFloat and its internal
+// implementation classes. This struct should not define any non-static data
+// members.
+struct APFloatBase {
/// A signed type to represent a floating point numbers unbiased exponent.
typedef signed short ExponentType;
/// \name Floating Point Semantics.
/// @{
- static const fltSemantics IEEEhalf;
- static const fltSemantics IEEEsingle;
- static const fltSemantics IEEEdouble;
- static const fltSemantics IEEEquad;
- static const fltSemantics PPCDoubleDouble;
- static const fltSemantics x87DoubleExtended;
+ static const fltSemantics &IEEEhalf();
+ static const fltSemantics &IEEEsingle();
+ static const fltSemantics &IEEEdouble();
+ static const fltSemantics &IEEEquad();
+ static const fltSemantics &PPCDoubleDouble();
+ static const fltSemantics &x87DoubleExtended();
/// A Pseudo fltsemantic used to construct APFloats that cannot conflict with
/// anything real.
- static const fltSemantics Bogus;
+ static const fltSemantics &Bogus();
/// @}
- static unsigned int semanticsPrecision(const fltSemantics &);
- static ExponentType semanticsMinExponent(const fltSemantics &);
- static ExponentType semanticsMaxExponent(const fltSemantics &);
- static unsigned int semanticsSizeInBits(const fltSemantics &);
-
/// IEEE-754R 5.11: Floating Point Comparison Relations.
enum cmpResult {
cmpLessThan,
@@ -190,19 +191,39 @@
uninitialized
};
+ /// \brief Enumeration of \c ilogb error results.
+ enum IlogbErrorKinds {
+ IEK_Zero = INT_MIN + 1,
+ IEK_NaN = INT_MIN,
+ IEK_Inf = INT_MAX
+ };
+
+ static unsigned int semanticsPrecision(const fltSemantics &);
+ static ExponentType semanticsMinExponent(const fltSemantics &);
+ static ExponentType semanticsMaxExponent(const fltSemantics &);
+ static unsigned int semanticsSizeInBits(const fltSemantics &);
+
+ /// Returns the size of the floating point number (in bits) in the given
+ /// semantics.
+ static unsigned getSizeInBits(const fltSemantics &Sem);
+};
+
+namespace detail {
+
+class IEEEFloat final : public APFloatBase {
+public:
/// \name Constructors
/// @{
- APFloat(const fltSemantics &); // Default construct to 0.0
- APFloat(const fltSemantics &, StringRef);
- APFloat(const fltSemantics &, integerPart);
- APFloat(const fltSemantics &, uninitializedTag);
- APFloat(const fltSemantics &, const APInt &);
- explicit APFloat(double d);
- explicit APFloat(float f);
- APFloat(const APFloat &);
- APFloat(APFloat &&);
- ~APFloat();
+ IEEEFloat(const fltSemantics &); // Default construct to 0.0
+ IEEEFloat(const fltSemantics &, integerPart);
+ IEEEFloat(const fltSemantics &, uninitializedTag);
+ IEEEFloat(const fltSemantics &, const APInt &);
+ explicit IEEEFloat(double d);
+ explicit IEEEFloat(float f);
+ IEEEFloat(const IEEEFloat &);
+ IEEEFloat(IEEEFloat &&);
+ ~IEEEFloat();
/// @}
@@ -212,79 +233,6 @@
/// \name Convenience "constructors"
/// @{
- /// Factory for Positive and Negative Zero.
- ///
- /// \param Negative True iff the number should be negative.
- static APFloat getZero(const fltSemantics &Sem, bool Negative = false) {
- APFloat Val(Sem, uninitialized);
- Val.makeZero(Negative);
- return Val;
- }
-
- /// Factory for Positive and Negative Infinity.
- ///
- /// \param Negative True iff the number should be negative.
- static APFloat getInf(const fltSemantics &Sem, bool Negative = false) {
- APFloat Val(Sem, uninitialized);
- Val.makeInf(Negative);
- return Val;
- }
-
- /// Factory for QNaN values.
- ///
- /// \param Negative - True iff the NaN generated should be negative.
- /// \param type - The unspecified fill bits for creating the NaN, 0 by
- /// default. The value is truncated as necessary.
- static APFloat getNaN(const fltSemantics &Sem, bool Negative = false,
- unsigned type = 0) {
- if (type) {
- APInt fill(64, type);
- return getQNaN(Sem, Negative, &fill);
- } else {
- return getQNaN(Sem, Negative, nullptr);
- }
- }
-
- /// Factory for QNaN values.
- static APFloat getQNaN(const fltSemantics &Sem, bool Negative = false,
- const APInt *payload = nullptr) {
- return makeNaN(Sem, false, Negative, payload);
- }
-
- /// Factory for SNaN values.
- static APFloat getSNaN(const fltSemantics &Sem, bool Negative = false,
- const APInt *payload = nullptr) {
- return makeNaN(Sem, true, Negative, payload);
- }
-
- /// Returns the largest finite number in the given semantics.
- ///
- /// \param Negative - True iff the number should be negative
- static APFloat getLargest(const fltSemantics &Sem, bool Negative = false);
-
- /// Returns the smallest (by magnitude) finite number in the given semantics.
- /// Might be denormalized, which implies a relative loss of precision.
- ///
- /// \param Negative - True iff the number should be negative
- static APFloat getSmallest(const fltSemantics &Sem, bool Negative = false);
-
- /// Returns the smallest (by magnitude) normalized finite number in the given
- /// semantics.
- ///
- /// \param Negative - True iff the number should be negative
- static APFloat getSmallestNormalized(const fltSemantics &Sem,
- bool Negative = false);
-
- /// Returns a float which is bitcasted from an all one value int.
- ///
- /// \param BitWidth - Select float type
- /// \param isIEEE - If 128 bit number, select between PPC and IEEE
- static APFloat getAllOnesValue(unsigned BitWidth, bool isIEEE = false);
-
- /// Returns the size of the floating point number (in bits) in the given
- /// semantics.
- static unsigned getSizeInBits(const fltSemantics &Sem);
-
/// @}
/// Used to insert APFloat objects, or objects that contain APFloat objects,
@@ -294,47 +242,47 @@
/// \name Arithmetic
/// @{
- opStatus add(const APFloat &, roundingMode);
- opStatus subtract(const APFloat &, roundingMode);
- opStatus multiply(const APFloat &, roundingMode);
- opStatus divide(const APFloat &, roundingMode);
+ opStatus add(const IEEEFloat &, roundingMode);
+ opStatus subtract(const IEEEFloat &, roundingMode);
+ opStatus multiply(const IEEEFloat &, roundingMode);
+ opStatus divide(const IEEEFloat &, roundingMode);
/// IEEE remainder.
- opStatus remainder(const APFloat &);
+ opStatus remainder(const IEEEFloat &);
/// C fmod, or llvm frem.
- opStatus mod(const APFloat &);
- opStatus fusedMultiplyAdd(const APFloat &, const APFloat &, roundingMode);
+ opStatus mod(const IEEEFloat &);
+ opStatus fusedMultiplyAdd(const IEEEFloat &, const IEEEFloat &, roundingMode);
opStatus roundToIntegral(roundingMode);
/// IEEE-754R 5.3.1: nextUp/nextDown.
opStatus next(bool nextDown);
/// \brief Operator+ overload which provides the default
/// \c nmNearestTiesToEven rounding mode and *no* error checking.
- APFloat operator+(const APFloat &RHS) const {
- APFloat Result = *this;
+ IEEEFloat operator+(const IEEEFloat &RHS) const {
+ IEEEFloat Result = *this;
Result.add(RHS, rmNearestTiesToEven);
return Result;
}
/// \brief Operator- overload which provides the default
/// \c nmNearestTiesToEven rounding mode and *no* error checking.
- APFloat operator-(const APFloat &RHS) const {
- APFloat Result = *this;
+ IEEEFloat operator-(const IEEEFloat &RHS) const {
+ IEEEFloat Result = *this;
Result.subtract(RHS, rmNearestTiesToEven);
return Result;
}
/// \brief Operator* overload which provides the default
/// \c nmNearestTiesToEven rounding mode and *no* error checking.
- APFloat operator*(const APFloat &RHS) const {
- APFloat Result = *this;
+ IEEEFloat operator*(const IEEEFloat &RHS) const {
+ IEEEFloat Result = *this;
Result.multiply(RHS, rmNearestTiesToEven);
return Result;
}
/// \brief Operator/ overload which provides the default
/// \c nmNearestTiesToEven rounding mode and *no* error checking.
- APFloat operator/(const APFloat &RHS) const {
- APFloat Result = *this;
+ IEEEFloat operator/(const IEEEFloat &RHS) const {
+ IEEEFloat Result = *this;
Result.divide(RHS, rmNearestTiesToEven);
return Result;
}
@@ -346,11 +294,11 @@
void changeSign();
void clearSign();
- void copySign(const APFloat &);
+ void copySign(const IEEEFloat &);
/// \brief A static helper to produce a copy of an APFloat value with its sign
/// copied from some other APFloat.
- static APFloat copySign(APFloat Value, const APFloat &Sign) {
+ static IEEEFloat copySign(IEEEFloat Value, const IEEEFloat &Sign) {
Value.copySign(Sign);
return Value;
}
@@ -379,14 +327,14 @@
/// The definition of equality is not straightforward for floating point, so
/// we won't use operator==. Use one of the following, or write whatever it
/// is you really mean.
- bool operator==(const APFloat &) const = delete;
+ bool operator==(const IEEEFloat &) const = delete;
/// IEEE comparison with another floating point number (NaNs compare
/// unordered, 0==-0).
- cmpResult compare(const APFloat &) const;
+ cmpResult compare(const IEEEFloat &) const;
/// Bitwise comparison for equality (QNaNs compare equal, 0!=-0).
- bool bitwiseIsEqual(const APFloat &) const;
+ bool bitwiseIsEqual(const IEEEFloat &) const;
/// Write out a hexadecimal representation of the floating point value to DST,
/// which must be of sufficient size, in the C99 form [-]0xh.hhhhp[+-]d.
@@ -456,8 +404,8 @@
/// @}
- APFloat &operator=(const APFloat &);
- APFloat &operator=(APFloat &&);
+ IEEEFloat &operator=(const IEEEFloat &);
+ IEEEFloat &operator=(IEEEFloat &&);
/// \brief Overload to compute a hash code for an APFloat value.
///
@@ -468,7 +416,7 @@
/// emphasizes producing different codes for different inputs in order to
/// be used in canonicalization and memoization. As such, equality is
/// bitwiseIsEqual, and 0 != -0.
- friend hash_code hash_value(const APFloat &Arg);
+ friend hash_code hash_value(const IEEEFloat &Arg);
/// Converts this value into a decimal string.
///
@@ -495,14 +443,7 @@
/// If this value has an exact multiplicative inverse, store it in inv and
/// return true.
- bool getExactInverse(APFloat *inv) const;
-
- /// \brief Enumeration of \c ilogb error results.
- enum IlogbErrorKinds {
- IEK_Zero = INT_MIN+1,
- IEK_NaN = INT_MIN,
- IEK_Inf = INT_MAX
- };
+ bool getExactInverse(IEEEFloat *inv) const;
/// \brief Returns the exponent of the internal representation of the APFloat.
///
@@ -513,15 +454,35 @@
/// 0 -> \c IEK_Zero
/// Inf -> \c IEK_Inf
///
- friend int ilogb(const APFloat &Arg);
+ friend int ilogb(const IEEEFloat &Arg);
/// \brief Returns: X * 2^Exp for integral exponents.
- friend APFloat scalbn(APFloat X, int Exp, roundingMode);
+ friend IEEEFloat scalbn(IEEEFloat X, int Exp, roundingMode);
- friend APFloat frexp(const APFloat &X, int &Exp, roundingMode);
+ friend IEEEFloat frexp(const IEEEFloat &X, int &Exp, roundingMode);
+
+ /// \name Special value setters.
+ /// @{
+
+ void makeLargest(bool Neg = false);
+ void makeSmallest(bool Neg = false);
+ void makeNaN(bool SNaN = false, bool Neg = false,
+ const APInt *fill = nullptr);
+ void makeInf(bool Neg = false);
+ void makeZero(bool Neg = false);
+ void makeQuiet();
+
+ /// Returns the smallest (by magnitude) normalized finite number in the given
+ /// semantics.
+ ///
+ /// \param Negative - True iff the number should be negative
+ void makeSmallestNormalized(bool Negative = false);
+
+ /// @}
+
+ cmpResult compareAbsoluteValue(const IEEEFloat &) const;
private:
-
/// \name Simple Queries
/// @{
@@ -534,11 +495,11 @@
/// \name Significand operations.
/// @{
- integerPart addSignificand(const APFloat &);
- integerPart subtractSignificand(const APFloat &, integerPart);
- lostFraction addOrSubtractSignificand(const APFloat &, bool subtract);
- lostFraction multiplySignificand(const APFloat &, const APFloat *);
- lostFraction divideSignificand(const APFloat &);
+ integerPart addSignificand(const IEEEFloat &);
+ integerPart subtractSignificand(const IEEEFloat &, integerPart);
+ lostFraction addOrSubtractSignificand(const IEEEFloat &, bool subtract);
+ lostFraction multiplySignificand(const IEEEFloat &, const IEEEFloat *);
+ lostFraction divideSignificand(const IEEEFloat &);
void incrementSignificand();
void initialize(const fltSemantics *);
void shiftSignificandLeft(unsigned int);
@@ -556,25 +517,10 @@
/// \name Arithmetic on special values.
/// @{
- opStatus addOrSubtractSpecials(const APFloat &, bool subtract);
- opStatus divideSpecials(const APFloat &);
- opStatus multiplySpecials(const APFloat &);
- opStatus modSpecials(const APFloat &);
-
- /// @}
-
- /// \name Special value setters.
- /// @{
-
- void makeLargest(bool Neg = false);
- void makeSmallest(bool Neg = false);
- void makeNaN(bool SNaN = false, bool Neg = false,
- const APInt *fill = nullptr);
- static APFloat makeNaN(const fltSemantics &Sem, bool SNaN, bool Negative,
- const APInt *fill);
- void makeInf(bool Neg = false);
- void makeZero(bool Neg = false);
- void makeQuiet();
+ opStatus addOrSubtractSpecials(const IEEEFloat &, bool subtract);
+ opStatus divideSpecials(const IEEEFloat &);
+ opStatus multiplySpecials(const IEEEFloat &);
+ opStatus modSpecials(const IEEEFloat &);
/// @}
@@ -583,8 +529,7 @@
bool convertFromStringSpecials(StringRef str);
opStatus normalize(roundingMode, lostFraction);
- opStatus addOrSubtract(const APFloat &, roundingMode, bool subtract);
- cmpResult compareAbsoluteValue(const APFloat &) const;
+ opStatus addOrSubtract(const IEEEFloat &, roundingMode, bool subtract);
opStatus handleOverflow(roundingMode);
bool roundAwayFromZero(roundingMode, lostFraction, unsigned int) const;
opStatus convertToSignExtendedInteger(integerPart *, unsigned int, bool,
@@ -614,10 +559,11 @@
void initFromF80LongDoubleAPInt(const APInt &api);
void initFromPPCDoubleDoubleAPInt(const APInt &api);
- void assign(const APFloat &);
- void copySignificand(const APFloat &);
+ void assign(const IEEEFloat &);
+ void copySignificand(const IEEEFloat &);
void freeSignificand();
+ /// Note: this must be the first data member.
/// The semantics that this value obeys.
const fltSemantics *semantics;
@@ -642,20 +588,513 @@
unsigned int sign : 1;
};
+hash_code hash_value(const IEEEFloat &Arg);
+int ilogb(const IEEEFloat &Arg);
+IEEEFloat scalbn(IEEEFloat X, int Exp, IEEEFloat::roundingMode);
+IEEEFloat frexp(const IEEEFloat &Val, int &Exp, IEEEFloat::roundingMode RM);
+
+// This mode implements more precise float in terms of two APFloats.
+// The interface and layout is designed for arbitray underlying semantics,
+// though currently only PPCDoubleDouble semantics are supported, whose
+// corresponding underlying semantics are IEEEdouble.
+class DoubleAPFloat final : public APFloatBase {
+ // Note: this must be the first data member.
+ const fltSemantics *Semantics;
+ std::unique_ptr<APFloat[]> Floats;
+
+ opStatus addImpl(const APFloat &a, const APFloat &aa, const APFloat &c,
+ const APFloat &cc, roundingMode RM);
+
+ opStatus addWithSpecial(const DoubleAPFloat &LHS, const DoubleAPFloat &RHS,
+ DoubleAPFloat &Out, roundingMode RM);
+
+public:
+ DoubleAPFloat(const fltSemantics &S);
+ DoubleAPFloat(const fltSemantics &S, uninitializedTag);
+ DoubleAPFloat(const fltSemantics &S, integerPart);
+ DoubleAPFloat(const fltSemantics &S, const APInt &I);
+ DoubleAPFloat(const fltSemantics &S, APFloat &&First, APFloat &&Second);
+ DoubleAPFloat(const DoubleAPFloat &RHS);
+ DoubleAPFloat(DoubleAPFloat &&RHS);
+
+ DoubleAPFloat &operator=(const DoubleAPFloat &RHS);
+
+ DoubleAPFloat &operator=(DoubleAPFloat &&RHS) {
+ if (this != &RHS) {
+ this->~DoubleAPFloat();
+ new (this) DoubleAPFloat(std::move(RHS));
+ }
+ return *this;
+ }
+
+ bool needsCleanup() const { return Floats != nullptr; }
+
+ APFloat &getFirst() { return Floats[0]; }
+ const APFloat &getFirst() const { return Floats[0]; }
+ APFloat &getSecond() { return Floats[1]; }
+ const APFloat &getSecond() const { return Floats[1]; }
+
+ opStatus add(const DoubleAPFloat &RHS, roundingMode RM);
+ opStatus subtract(const DoubleAPFloat &RHS, roundingMode RM);
+ void changeSign();
+ cmpResult compareAbsoluteValue(const DoubleAPFloat &RHS) const;
+
+ fltCategory getCategory() const;
+ bool isNegative() const;
+
+ void makeInf(bool Neg);
+ void makeNaN(bool SNaN, bool Neg, const APInt *fill);
+};
+
+} // End detail namespace
+
+// This is a interface class that is currently forwarding functionalities from
+// detail::IEEEFloat.
+class APFloat : public APFloatBase {
+ typedef detail::IEEEFloat IEEEFloat;
+ typedef detail::DoubleAPFloat DoubleAPFloat;
+
+ static_assert(std::is_standard_layout<IEEEFloat>::value, "");
+
+ union Storage {
+ const fltSemantics *semantics;
+ IEEEFloat IEEE;
+ DoubleAPFloat Double;
+
+ explicit Storage(IEEEFloat F, const fltSemantics &S);
+ explicit Storage(DoubleAPFloat F, const fltSemantics &S)
+ : Double(std::move(F)) {
+ assert(&S == &PPCDoubleDouble());
+ }
+
+ template <typename... ArgTypes>
+ Storage(const fltSemantics &Semantics, ArgTypes &&... Args) {
+ if (usesLayout<IEEEFloat>(Semantics)) {
+ new (&IEEE) IEEEFloat(Semantics, std::forward<ArgTypes>(Args)...);
+ return;
+ }
+ if (usesLayout<DoubleAPFloat>(Semantics)) {
+ new (&Double) DoubleAPFloat(Semantics, std::forward<ArgTypes>(Args)...);
+ return;
+ }
+ llvm_unreachable("Unexpected semantics");
+ }
+
+ ~Storage() {
+ if (usesLayout<IEEEFloat>(*semantics)) {
+ IEEE.~IEEEFloat();
+ return;
+ }
+ if (usesLayout<DoubleAPFloat>(*semantics)) {
+ Double.~DoubleAPFloat();
+ return;
+ }
+ llvm_unreachable("Unexpected semantics");
+ }
+
+ Storage(const Storage &RHS) {
+ if (usesLayout<IEEEFloat>(*RHS.semantics)) {
+ new (this) IEEEFloat(RHS.IEEE);
+ return;
+ }
+ if (usesLayout<DoubleAPFloat>(*RHS.semantics)) {
+ new (this) DoubleAPFloat(RHS.Double);
+ return;
+ }
+ llvm_unreachable("Unexpected semantics");
+ }
+
+ Storage(Storage &&RHS) {
+ if (usesLayout<IEEEFloat>(*RHS.semantics)) {
+ new (this) IEEEFloat(std::move(RHS.IEEE));
+ return;
+ }
+ if (usesLayout<DoubleAPFloat>(*RHS.semantics)) {
+ new (this) DoubleAPFloat(std::move(RHS.Double));
+ return;
+ }
+ llvm_unreachable("Unexpected semantics");
+ }
+
+ Storage &operator=(const Storage &RHS) {
+ if (usesLayout<IEEEFloat>(*semantics) &&
+ usesLayout<IEEEFloat>(*RHS.semantics)) {
+ IEEE = RHS.IEEE;
+ } else if (usesLayout<DoubleAPFloat>(*semantics) &&
+ usesLayout<DoubleAPFloat>(*RHS.semantics)) {
+ Double = RHS.Double;
+ } else if (this != &RHS) {
+ this->~Storage();
+ new (this) Storage(RHS);
+ }
+ return *this;
+ }
+
+ Storage &operator=(Storage &&RHS) {
+ if (usesLayout<IEEEFloat>(*semantics) &&
+ usesLayout<IEEEFloat>(*RHS.semantics)) {
+ IEEE = std::move(RHS.IEEE);
+ } else if (usesLayout<DoubleAPFloat>(*semantics) &&
+ usesLayout<DoubleAPFloat>(*RHS.semantics)) {
+ Double = std::move(RHS.Double);
+ } else if (this != &RHS) {
+ this->~Storage();
+ new (this) Storage(std::move(RHS));
+ }
+ return *this;
+ }
+ } U;
+
+ template <typename T> static bool usesLayout(const fltSemantics &Semantics) {
+ static_assert(std::is_same<T, IEEEFloat>::value ||
+ std::is_same<T, DoubleAPFloat>::value, "");
+ if (std::is_same<T, DoubleAPFloat>::value) {
+ return &Semantics == &PPCDoubleDouble();
+ }
+ return &Semantics != &PPCDoubleDouble();
+ }
+
+ IEEEFloat &getIEEE() {
+ if (usesLayout<IEEEFloat>(*U.semantics))
+ return U.IEEE;
+ if (usesLayout<DoubleAPFloat>(*U.semantics))
+ return U.Double.getFirst().U.IEEE;
+ llvm_unreachable("Unexpected semantics");
+ }
+
+ const IEEEFloat &getIEEE() const {
+ if (usesLayout<IEEEFloat>(*U.semantics))
+ return U.IEEE;
+ if (usesLayout<DoubleAPFloat>(*U.semantics))
+ return U.Double.getFirst().U.IEEE;
+ llvm_unreachable("Unexpected semantics");
+ }
+
+ void makeZero(bool Neg) { getIEEE().makeZero(Neg); }
+
+ void makeInf(bool Neg) {
+ if (usesLayout<IEEEFloat>(*U.semantics))
+ return U.IEEE.makeInf(Neg);
+ if (usesLayout<DoubleAPFloat>(*U.semantics))
+ return U.Double.makeInf(Neg);
+ llvm_unreachable("Unexpected semantics");
+ }
+
+ void makeNaN(bool SNaN, bool Neg, const APInt *fill) {
+ getIEEE().makeNaN(SNaN, Neg, fill);
+ }
+
+ void makeLargest(bool Neg) { getIEEE().makeLargest(Neg); }
+
+ void makeSmallest(bool Neg) { getIEEE().makeSmallest(Neg); }
+
+ void makeSmallestNormalized(bool Neg) {
+ getIEEE().makeSmallestNormalized(Neg);
+ }
+
+ // FIXME: This is due to clang 3.3 (or older version) always checks for the
+ // default constructor in an array aggregate initialization, even if no
+ // elements in the array is default initialized.
+ APFloat() : U(IEEEdouble()) {
+ llvm_unreachable("This is a workaround for old clang.");
+ }
+
+ explicit APFloat(IEEEFloat F, const fltSemantics &S) : U(std::move(F), S) {}
+ explicit APFloat(DoubleAPFloat F, const fltSemantics &S)
+ : U(std::move(F), S) {}
+
+ cmpResult compareAbsoluteValue(const APFloat &RHS) const {
+ assert(&getSemantics() == &RHS.getSemantics());
+ if (usesLayout<IEEEFloat>(getSemantics()))
+ return U.IEEE.compareAbsoluteValue(RHS.U.IEEE);
+ if (usesLayout<DoubleAPFloat>(getSemantics()))
+ return U.Double.compareAbsoluteValue(RHS.U.Double);
+ llvm_unreachable("Unexpected semantics");
+ }
+
+public:
+ APFloat(const fltSemantics &Semantics) : U(Semantics) {}
+ APFloat(const fltSemantics &Semantics, StringRef S);
+ APFloat(const fltSemantics &Semantics, integerPart I) : U(Semantics, I) {}
+ // TODO: Remove this constructor. This isn't faster than the first one.
+ APFloat(const fltSemantics &Semantics, uninitializedTag)
+ : U(Semantics, uninitialized) {}
+ APFloat(const fltSemantics &Semantics, const APInt &I) : U(Semantics, I) {}
+ explicit APFloat(double d) : U(IEEEFloat(d), IEEEdouble()) {}
+ explicit APFloat(float f) : U(IEEEFloat(f), IEEEsingle()) {}
+ APFloat(const APFloat &RHS) = default;
+ APFloat(APFloat &&RHS) = default;
+
+ ~APFloat() = default;
+
+ bool needsCleanup() const {
+ if (usesLayout<IEEEFloat>(getSemantics()))
+ return U.IEEE.needsCleanup();
+ if (usesLayout<DoubleAPFloat>(getSemantics()))
+ return U.Double.needsCleanup();
+ llvm_unreachable("Unexpected semantics");
+ }
+
+ /// Factory for Positive and Negative Zero.
+ ///
+ /// \param Negative True iff the number should be negative.
+ static APFloat getZero(const fltSemantics &Sem, bool Negative = false) {
+ APFloat Val(Sem, uninitialized);
+ Val.makeZero(Negative);
+ return Val;
+ }
+
+ /// Factory for Positive and Negative Infinity.
+ ///
+ /// \param Negative True iff the number should be negative.
+ static APFloat getInf(const fltSemantics &Sem, bool Negative = false) {
+ APFloat Val(Sem, uninitialized);
+ Val.makeInf(Negative);
+ return Val;
+ }
+
+ /// Factory for NaN values.
+ ///
+ /// \param Negative - True iff the NaN generated should be negative.
+ /// \param type - The unspecified fill bits for creating the NaN, 0 by
+ /// default. The value is truncated as necessary.
+ static APFloat getNaN(const fltSemantics &Sem, bool Negative = false,
+ unsigned type = 0) {
+ if (type) {
+ APInt fill(64, type);
+ return getQNaN(Sem, Negative, &fill);
+ } else {
+ return getQNaN(Sem, Negative, nullptr);
+ }
+ }
+
+ /// Factory for QNaN values.
+ static APFloat getQNaN(const fltSemantics &Sem, bool Negative = false,
+ const APInt *payload = nullptr) {
+ APFloat Val(Sem, uninitialized);
+ Val.makeNaN(false, Negative, payload);
+ return Val;
+ }
+
+ /// Factory for SNaN values.
+ static APFloat getSNaN(const fltSemantics &Sem, bool Negative = false,
+ const APInt *payload = nullptr) {
+ APFloat Val(Sem, uninitialized);
+ Val.makeNaN(true, Negative, payload);
+ return Val;
+ }
+
+ /// Returns the largest finite number in the given semantics.
+ ///
+ /// \param Negative - True iff the number should be negative
+ static APFloat getLargest(const fltSemantics &Sem, bool Negative = false) {
+ APFloat Val(Sem, uninitialized);
+ Val.makeLargest(Negative);
+ return Val;
+ }
+
+ /// Returns the smallest (by magnitude) finite number in the given semantics.
+ /// Might be denormalized, which implies a relative loss of precision.
+ ///
+ /// \param Negative - True iff the number should be negative
+ static APFloat getSmallest(const fltSemantics &Sem, bool Negative = false) {
+ APFloat Val(Sem, uninitialized);
+ Val.makeSmallest(Negative);
+ return Val;
+ }
+
+ /// Returns the smallest (by magnitude) normalized finite number in the given
+ /// semantics.
+ ///
+ /// \param Negative - True iff the number should be negative
+ static APFloat getSmallestNormalized(const fltSemantics &Sem,
+ bool Negative = false) {
+ APFloat Val(Sem, uninitialized);
+ Val.makeSmallestNormalized(Negative);
+ return Val;
+ }
+
+ /// Returns a float which is bitcasted from an all one value int.
+ ///
+ /// \param BitWidth - Select float type
+ /// \param isIEEE - If 128 bit number, select between PPC and IEEE
+ static APFloat getAllOnesValue(unsigned BitWidth, bool isIEEE = false);
+
+ void Profile(FoldingSetNodeID &NID) const { getIEEE().Profile(NID); }
+
+ opStatus add(const APFloat &RHS, roundingMode RM) {
+ if (usesLayout<IEEEFloat>(getSemantics()))
+ return U.IEEE.add(RHS.U.IEEE, RM);
+ if (usesLayout<DoubleAPFloat>(getSemantics()))
+ return U.Double.add(RHS.U.Double, RM);
+ llvm_unreachable("Unexpected semantics");
+ }
+ opStatus subtract(const APFloat &RHS, roundingMode RM) {
+ if (usesLayout<IEEEFloat>(getSemantics()))
+ return U.IEEE.subtract(RHS.U.IEEE, RM);
+ if (usesLayout<DoubleAPFloat>(getSemantics()))
+ return U.Double.subtract(RHS.U.Double, RM);
+ llvm_unreachable("Unexpected semantics");
+ }
+ opStatus multiply(const APFloat &RHS, roundingMode RM) {
+ return getIEEE().multiply(RHS.getIEEE(), RM);
+ }
+ opStatus divide(const APFloat &RHS, roundingMode RM) {
+ return getIEEE().divide(RHS.getIEEE(), RM);
+ }
+ opStatus remainder(const APFloat &RHS) {
+ return getIEEE().remainder(RHS.getIEEE());
+ }
+ opStatus mod(const APFloat &RHS) { return getIEEE().mod(RHS.getIEEE()); }
+ opStatus fusedMultiplyAdd(const APFloat &Multiplicand, const APFloat &Addend,
+ roundingMode RM) {
+ return getIEEE().fusedMultiplyAdd(Multiplicand.getIEEE(), Addend.getIEEE(),
+ RM);
+ }
+ opStatus roundToIntegral(roundingMode RM) {
+ return getIEEE().roundToIntegral(RM);
+ }
+ opStatus next(bool nextDown) { return getIEEE().next(nextDown); }
+
+ APFloat operator+(const APFloat &RHS) const {
+ return APFloat(getIEEE() + RHS.getIEEE(), getSemantics());
+ }
+
+ APFloat operator-(const APFloat &RHS) const {
+ return APFloat(getIEEE() - RHS.getIEEE(), getSemantics());
+ }
+
+ APFloat operator*(const APFloat &RHS) const {
+ return APFloat(getIEEE() * RHS.getIEEE(), getSemantics());
+ }
+
+ APFloat operator/(const APFloat &RHS) const {
+ return APFloat(getIEEE() / RHS.getIEEE(), getSemantics());
+ }
+
+ void changeSign() { getIEEE().changeSign(); }
+ void clearSign() { getIEEE().clearSign(); }
+ void copySign(const APFloat &RHS) { getIEEE().copySign(RHS.getIEEE()); }
+
+ static APFloat copySign(APFloat Value, const APFloat &Sign) {
+ return APFloat(IEEEFloat::copySign(Value.getIEEE(), Sign.getIEEE()),
+ Value.getSemantics());
+ }
+
+ opStatus convert(const fltSemantics &ToSemantics, roundingMode RM,
+ bool *losesInfo);
+ opStatus convertToInteger(integerPart *Input, unsigned int Width,
+ bool IsSigned, roundingMode RM,
+ bool *IsExact) const {
+ return getIEEE().convertToInteger(Input, Width, IsSigned, RM, IsExact);
+ }
+ opStatus convertToInteger(APSInt &Result, roundingMode RM,
+ bool *IsExact) const {
+ return getIEEE().convertToInteger(Result, RM, IsExact);
+ }
+ opStatus convertFromAPInt(const APInt &Input, bool IsSigned,
+ roundingMode RM) {
+ return getIEEE().convertFromAPInt(Input, IsSigned, RM);
+ }
+ opStatus convertFromSignExtendedInteger(const integerPart *Input,
+ unsigned int InputSize, bool IsSigned,
+ roundingMode RM) {
+ return getIEEE().convertFromSignExtendedInteger(Input, InputSize, IsSigned,
+ RM);
+ }
+ opStatus convertFromZeroExtendedInteger(const integerPart *Input,
+ unsigned int InputSize, bool IsSigned,
+ roundingMode RM) {
+ return getIEEE().convertFromZeroExtendedInteger(Input, InputSize, IsSigned,
+ RM);
+ }
+ opStatus convertFromString(StringRef, roundingMode);
+ APInt bitcastToAPInt() const { return getIEEE().bitcastToAPInt(); }
+ double convertToDouble() const { return getIEEE().convertToDouble(); }
+ float convertToFloat() const { return getIEEE().convertToFloat(); }
+
+ bool operator==(const APFloat &) const = delete;
+
+ cmpResult compare(const APFloat &RHS) const {
+ return getIEEE().compare(RHS.getIEEE());
+ }
+
+ bool bitwiseIsEqual(const APFloat &RHS) const {
+ return getIEEE().bitwiseIsEqual(RHS.getIEEE());
+ }
+
+ unsigned int convertToHexString(char *DST, unsigned int HexDigits,
+ bool UpperCase, roundingMode RM) const {
+ return getIEEE().convertToHexString(DST, HexDigits, UpperCase, RM);
+ }
+
+ bool isZero() const { return getCategory() == fcZero; }
+ bool isInfinity() const { return getCategory() == fcInfinity; }
+ bool isNaN() const { return getCategory() == fcNaN; }
+
+ bool isNegative() const { return getIEEE().isNegative(); }
+ bool isDenormal() const { return getIEEE().isDenormal(); }
+ bool isSignaling() const { return getIEEE().isSignaling(); }
+
+ bool isNormal() const { return !isDenormal() && isFiniteNonZero(); }
+ bool isFinite() const { return !isNaN() && !isInfinity(); }
+
+ fltCategory getCategory() const { return getIEEE().getCategory(); }
+ const fltSemantics &getSemantics() const { return *U.semantics; }
+ bool isNonZero() const { return !isZero(); }
+ bool isFiniteNonZero() const { return isFinite() && !isZero(); }
+ bool isPosZero() const { return isZero() && !isNegative(); }
+ bool isNegZero() const { return isZero() && isNegative(); }
+ bool isSmallest() const { return getIEEE().isSmallest(); }
+ bool isLargest() const { return getIEEE().isLargest(); }
+ bool isInteger() const { return getIEEE().isInteger(); }
+
+ APFloat &operator=(const APFloat &RHS) = default;
+ APFloat &operator=(APFloat &&RHS) = default;
+
+ void toString(SmallVectorImpl<char> &Str, unsigned FormatPrecision = 0,
+ unsigned FormatMaxPadding = 3) const {
+ return getIEEE().toString(Str, FormatPrecision, FormatMaxPadding);
+ }
+
+ void print(raw_ostream &) const;
+ void dump() const;
+
+ bool getExactInverse(APFloat *inv) const {
+ return getIEEE().getExactInverse(inv ? &inv->getIEEE() : nullptr);
+ }
+
+ // This is for internal test only.
+ // TODO: Remove it after the PPCDoubleDouble transition.
+ const APFloat &getSecondFloat() const {
+ assert(&getSemantics() == &PPCDoubleDouble());
+ return U.Double.getSecond();
+ }
+
+ friend hash_code hash_value(const APFloat &Arg);
+ friend int ilogb(const APFloat &Arg) { return ilogb(Arg.getIEEE()); }
+ friend APFloat scalbn(APFloat X, int Exp, roundingMode RM);
+ friend APFloat frexp(const APFloat &X, int &Exp, roundingMode RM);
+ friend IEEEFloat;
+ friend DoubleAPFloat;
+};
+
/// See friend declarations above.
///
/// These additional declarations are required in order to compile LLVM with IBM
/// xlC compiler.
hash_code hash_value(const APFloat &Arg);
-int ilogb(const APFloat &Arg);
-APFloat scalbn(APFloat X, int Exp, APFloat::roundingMode);
+inline APFloat scalbn(APFloat X, int Exp, APFloat::roundingMode RM) {
+ return APFloat(scalbn(X.getIEEE(), Exp, RM), X.getSemantics());
+}
/// \brief Equivalent of C standard library function.
///
/// While the C standard says Exp is an unspecified value for infinity and nan,
/// this returns INT_MAX for infinities, and INT_MIN for NaNs.
-APFloat frexp(const APFloat &Val, int &Exp, APFloat::roundingMode RM);
-
+inline APFloat frexp(const APFloat &X, int &Exp, APFloat::roundingMode RM) {
+ return APFloat(frexp(X.getIEEE(), Exp, RM), X.getSemantics());
+}
/// \brief Returns the absolute value of the argument.
inline APFloat abs(APFloat X) {
X.clearSign();
diff --git a/third_party/llvm-subzero/include/llvm/ADT/APInt.h b/third_party/llvm-subzero/include/llvm/ADT/APInt.h
index 23c6c14..2c0713d 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/APInt.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/APInt.h
@@ -74,7 +74,7 @@
/// * In general, the class tries to follow the style of computation that LLVM
/// uses in its IR. This simplifies its use for LLVM.
///
-class APInt {
+class LLVM_NODISCARD APInt {
unsigned BitWidth; ///< The number of bits in this APInt.
/// This union is used to store the integer value. When the
@@ -777,9 +777,7 @@
return APInt(getBitWidth(), VAL & RHS.VAL);
return AndSlowCase(RHS);
}
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT And(const APInt &RHS) const {
- return this->operator&(RHS);
- }
+ APInt And(const APInt &RHS) const { return this->operator&(RHS); }
/// \brief Bitwise OR operator.
///
@@ -799,9 +797,7 @@
/// calling operator|.
///
/// \returns An APInt value representing the bitwise OR of *this and RHS.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT Or(const APInt &RHS) const {
- return this->operator|(RHS);
- }
+ APInt Or(const APInt &RHS) const { return this->operator|(RHS); }
/// \brief Bitwise XOR operator.
///
@@ -821,9 +817,7 @@
/// through the usage of operator^.
///
/// \returns An APInt value representing the bitwise XOR of *this and RHS.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT Xor(const APInt &RHS) const {
- return this->operator^(RHS);
- }
+ APInt Xor(const APInt &RHS) const { return this->operator^(RHS); }
/// \brief Multiplication operator.
///
@@ -843,17 +837,17 @@
/// \brief Arithmetic right-shift function.
///
/// Arithmetic right-shift this APInt by shiftAmt.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT ashr(unsigned shiftAmt) const;
+ APInt ashr(unsigned shiftAmt) const;
/// \brief Logical right-shift function.
///
/// Logical right-shift this APInt by shiftAmt.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT lshr(unsigned shiftAmt) const;
+ APInt lshr(unsigned shiftAmt) const;
/// \brief Left-shift function.
///
/// Left-shift this APInt by shiftAmt.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT shl(unsigned shiftAmt) const {
+ APInt shl(unsigned shiftAmt) const {
assert(shiftAmt <= BitWidth && "Invalid shift amount");
if (isSingleWord()) {
if (shiftAmt >= BitWidth)
@@ -864,31 +858,31 @@
}
/// \brief Rotate left by rotateAmt.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT rotl(unsigned rotateAmt) const;
+ APInt rotl(unsigned rotateAmt) const;
/// \brief Rotate right by rotateAmt.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT rotr(unsigned rotateAmt) const;
+ APInt rotr(unsigned rotateAmt) const;
/// \brief Arithmetic right-shift function.
///
/// Arithmetic right-shift this APInt by shiftAmt.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT ashr(const APInt &shiftAmt) const;
+ APInt ashr(const APInt &shiftAmt) const;
/// \brief Logical right-shift function.
///
/// Logical right-shift this APInt by shiftAmt.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT lshr(const APInt &shiftAmt) const;
+ APInt lshr(const APInt &shiftAmt) const;
/// \brief Left-shift function.
///
/// Left-shift this APInt by shiftAmt.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT shl(const APInt &shiftAmt) const;
+ APInt shl(const APInt &shiftAmt) const;
/// \brief Rotate left by rotateAmt.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT rotl(const APInt &rotateAmt) const;
+ APInt rotl(const APInt &rotateAmt) const;
/// \brief Rotate right by rotateAmt.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT rotr(const APInt &rotateAmt) const;
+ APInt rotr(const APInt &rotateAmt) const;
/// \brief Unsigned division operation.
///
@@ -896,12 +890,12 @@
/// RHS are treated as unsigned quantities for purposes of this division.
///
/// \returns a new APInt value containing the division result
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT udiv(const APInt &RHS) const;
+ APInt udiv(const APInt &RHS) const;
/// \brief Signed division function for APInt.
///
/// Signed divide this APInt by APInt RHS.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT sdiv(const APInt &RHS) const;
+ APInt sdiv(const APInt &RHS) const;
/// \brief Unsigned remainder operation.
///
@@ -912,12 +906,12 @@
/// is *this.
///
/// \returns a new APInt value containing the remainder result
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT urem(const APInt &RHS) const;
+ APInt urem(const APInt &RHS) const;
/// \brief Function for signed remainder operation.
///
/// Signed remainder operation on APInt.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT srem(const APInt &RHS) const;
+ APInt srem(const APInt &RHS) const;
/// \brief Dual division/remainder interface.
///
@@ -1160,7 +1154,7 @@
///
/// Truncate the APInt to a specified width. It is an error to specify a width
/// that is greater than or equal to the current width.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT trunc(unsigned width) const;
+ APInt trunc(unsigned width) const;
/// \brief Sign extend to a new width.
///
@@ -1168,38 +1162,38 @@
/// bit is set, the fill on the left will be done with 1 bits, otherwise zero.
/// It is an error to specify a width that is less than or equal to the
/// current width.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT sext(unsigned width) const;
+ APInt sext(unsigned width) const;
/// \brief Zero extend to a new width.
///
/// This operation zero extends the APInt to a new width. The high order bits
/// are filled with 0 bits. It is an error to specify a width that is less
/// than or equal to the current width.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT zext(unsigned width) const;
+ APInt zext(unsigned width) const;
/// \brief Sign extend or truncate to width
///
/// Make this APInt have the bit width given by \p width. The value is sign
/// extended, truncated, or left alone to make it that width.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT sextOrTrunc(unsigned width) const;
+ APInt sextOrTrunc(unsigned width) const;
/// \brief Zero extend or truncate to width
///
/// Make this APInt have the bit width given by \p width. The value is zero
/// extended, truncated, or left alone to make it that width.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT zextOrTrunc(unsigned width) const;
+ APInt zextOrTrunc(unsigned width) const;
/// \brief Sign extend or truncate to width
///
/// Make this APInt have the bit width given by \p width. The value is sign
/// extended, or left alone to make it that width.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT sextOrSelf(unsigned width) const;
+ APInt sextOrSelf(unsigned width) const;
/// \brief Zero extend or truncate to width
///
/// Make this APInt have the bit width given by \p width. The value is zero
/// extended, or left alone to make it that width.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT zextOrSelf(unsigned width) const;
+ APInt zextOrSelf(unsigned width) const;
/// @}
/// \name Bit Manipulation Operators
@@ -1436,11 +1430,11 @@
std::string toString(unsigned Radix, bool Signed) const;
/// \returns a byte-swapped representation of this APInt Value.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT byteSwap() const;
+ APInt byteSwap() const;
/// \returns the value with the bit representation reversed of this APInt
/// Value.
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT reverseBits() const;
+ APInt reverseBits() const;
/// \brief Converts this APInt to a double value.
double roundToDouble(bool isSigned) const;
@@ -1483,7 +1477,7 @@
///
/// The conversion does not do a translation from double to integer, it just
/// re-interprets the bits of the double.
- static APInt LLVM_ATTRIBUTE_UNUSED_RESULT doubleToBits(double V) {
+ static APInt doubleToBits(double V) {
union {
uint64_t I;
double D;
@@ -1496,7 +1490,7 @@
///
/// The conversion does not do a translation from float to integer, it just
/// re-interprets the bits of the float.
- static APInt LLVM_ATTRIBUTE_UNUSED_RESULT floatToBits(float V) {
+ static APInt floatToBits(float V) {
union {
unsigned I;
float F;
@@ -1557,12 +1551,12 @@
}
/// \brief Compute the square root
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT sqrt() const;
+ APInt sqrt() const;
/// \brief Get the absolute value;
///
/// If *this is < 0 then return -(*this), otherwise *this;
- APInt LLVM_ATTRIBUTE_UNUSED_RESULT abs() const {
+ APInt abs() const {
if (isNegative())
return -(*this);
return *this;
diff --git a/third_party/llvm-subzero/include/llvm/ADT/ArrayRef.h b/third_party/llvm-subzero/include/llvm/ADT/ArrayRef.h
index c1d66c6..b3fe31f 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/ArrayRef.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/ArrayRef.h
@@ -12,6 +12,7 @@
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/None.h"
+#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include <array>
#include <vector>
@@ -29,7 +30,7 @@
/// This is intended to be trivially copyable, so it should be passed by
/// value.
template<typename T>
- class ArrayRef {
+ class LLVM_NODISCARD ArrayRef {
public:
typedef const T *iterator;
typedef const T *const_iterator;
@@ -81,13 +82,12 @@
/// Construct an ArrayRef from a std::array
template <size_t N>
- /*implicit*/ LLVM_CONSTEXPR ArrayRef(const std::array<T, N> &Arr)
- : Data(Arr.data()), Length(N) {}
+ /*implicit*/ constexpr ArrayRef(const std::array<T, N> &Arr)
+ : Data(Arr.data()), Length(N) {}
/// Construct an ArrayRef from a C array.
template <size_t N>
- /*implicit*/ LLVM_CONSTEXPR ArrayRef(const T (&Arr)[N])
- : Data(Arr), Length(N) {}
+ /*implicit*/ constexpr ArrayRef(const T (&Arr)[N]) : Data(Arr), Length(N) {}
/// Construct an ArrayRef from a std::initializer_list.
/*implicit*/ ArrayRef(const std::initializer_list<T> &Vec)
@@ -166,37 +166,41 @@
return std::equal(begin(), end(), RHS.begin());
}
- /// slice(n) - Chop off the first N elements of the array.
- LLVM_ATTRIBUTE_UNUSED_RESULT
- ArrayRef<T> slice(size_t N) const {
- assert(N <= size() && "Invalid specifier");
- return ArrayRef<T>(data()+N, size()-N);
- }
-
/// slice(n, m) - Chop off the first N elements of the array, and keep M
/// elements in the array.
- LLVM_ATTRIBUTE_UNUSED_RESULT
ArrayRef<T> slice(size_t N, size_t M) const {
assert(N+M <= size() && "Invalid specifier");
return ArrayRef<T>(data()+N, M);
}
+ /// slice(n) - Chop off the first N elements of the array.
+ ArrayRef<T> slice(size_t N) const { return slice(N, size() - N); }
+
/// \brief Drop the first \p N elements of the array.
- LLVM_ATTRIBUTE_UNUSED_RESULT
ArrayRef<T> drop_front(size_t N = 1) const {
assert(size() >= N && "Dropping more elements than exist");
return slice(N, size() - N);
}
/// \brief Drop the last \p N elements of the array.
- LLVM_ATTRIBUTE_UNUSED_RESULT
ArrayRef<T> drop_back(size_t N = 1) const {
assert(size() >= N && "Dropping more elements than exist");
return slice(0, size() - N);
}
+ /// \brief Return a copy of *this with the first N elements satisfying the
+ /// given predicate removed.
+ template <class PredicateT> ArrayRef<T> drop_while(PredicateT Pred) const {
+ return ArrayRef<T>(find_if_not(*this, Pred), end());
+ }
+
+ /// \brief Return a copy of *this with the first N elements not satisfying
+ /// the given predicate removed.
+ template <class PredicateT> ArrayRef<T> drop_until(PredicateT Pred) const {
+ return ArrayRef<T>(find_if(*this, Pred), end());
+ }
+
/// \brief Return a copy of *this with only the first \p N elements.
- LLVM_ATTRIBUTE_UNUSED_RESULT
ArrayRef<T> take_front(size_t N = 1) const {
if (N >= size())
return *this;
@@ -204,13 +208,24 @@
}
/// \brief Return a copy of *this with only the last \p N elements.
- LLVM_ATTRIBUTE_UNUSED_RESULT
ArrayRef<T> take_back(size_t N = 1) const {
if (N >= size())
return *this;
return drop_front(size() - N);
}
+ /// \brief Return the first N elements of this Array that satisfy the given
+ /// predicate.
+ template <class PredicateT> ArrayRef<T> take_while(PredicateT Pred) const {
+ return ArrayRef<T>(begin(), find_if_not(*this, Pred));
+ }
+
+ /// \brief Return the first N elements of this Array that don't satisfy the
+ /// given predicate.
+ template <class PredicateT> ArrayRef<T> take_until(PredicateT Pred) const {
+ return ArrayRef<T>(begin(), find_if(*this, Pred));
+ }
+
/// @}
/// @name Operator Overloads
/// @{
@@ -219,6 +234,22 @@
return Data[Index];
}
+ /// Disallow accidental assignment from a temporary.
+ ///
+ /// The declaration here is extra complicated so that "arrayRef = {}"
+ /// continues to select the move assignment operator.
+ template <typename U>
+ typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
+ operator=(U &&Temporary) = delete;
+
+ /// Disallow accidental assignment from a temporary.
+ ///
+ /// The declaration here is extra complicated so that "arrayRef = {}"
+ /// continues to select the move assignment operator.
+ template <typename U>
+ typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
+ operator=(std::initializer_list<U>) = delete;
+
/// @}
/// @name Expensive Operations
/// @{
@@ -249,7 +280,7 @@
/// This is intended to be trivially copyable, so it should be passed by
/// value.
template<typename T>
- class MutableArrayRef : public ArrayRef<T> {
+ class LLVM_NODISCARD MutableArrayRef : public ArrayRef<T> {
public:
typedef T *iterator;
@@ -281,13 +312,12 @@
/// Construct an ArrayRef from a std::array
template <size_t N>
- /*implicit*/ LLVM_CONSTEXPR MutableArrayRef(std::array<T, N> &Arr)
- : ArrayRef<T>(Arr) {}
+ /*implicit*/ constexpr MutableArrayRef(std::array<T, N> &Arr)
+ : ArrayRef<T>(Arr) {}
/// Construct an MutableArrayRef from a C array.
template <size_t N>
- /*implicit*/ LLVM_CONSTEXPR MutableArrayRef(T (&Arr)[N])
- : ArrayRef<T>(Arr) {}
+ /*implicit*/ constexpr MutableArrayRef(T (&Arr)[N]) : ArrayRef<T>(Arr) {}
T *data() const { return const_cast<T*>(ArrayRef<T>::data()); }
@@ -309,36 +339,44 @@
return data()[this->size()-1];
}
- /// slice(n) - Chop off the first N elements of the array.
- LLVM_ATTRIBUTE_UNUSED_RESULT
- MutableArrayRef<T> slice(size_t N) const {
- assert(N <= this->size() && "Invalid specifier");
- return MutableArrayRef<T>(data()+N, this->size()-N);
- }
-
/// slice(n, m) - Chop off the first N elements of the array, and keep M
/// elements in the array.
- LLVM_ATTRIBUTE_UNUSED_RESULT
MutableArrayRef<T> slice(size_t N, size_t M) const {
- assert(N+M <= this->size() && "Invalid specifier");
- return MutableArrayRef<T>(data()+N, M);
+ assert(N + M <= this->size() && "Invalid specifier");
+ return MutableArrayRef<T>(this->data() + N, M);
+ }
+
+ /// slice(n) - Chop off the first N elements of the array.
+ MutableArrayRef<T> slice(size_t N) const {
+ return slice(N, this->size() - N);
}
/// \brief Drop the first \p N elements of the array.
- LLVM_ATTRIBUTE_UNUSED_RESULT
MutableArrayRef<T> drop_front(size_t N = 1) const {
assert(this->size() >= N && "Dropping more elements than exist");
return slice(N, this->size() - N);
}
- LLVM_ATTRIBUTE_UNUSED_RESULT
MutableArrayRef<T> drop_back(size_t N = 1) const {
assert(this->size() >= N && "Dropping more elements than exist");
return slice(0, this->size() - N);
}
+ /// \brief Return a copy of *this with the first N elements satisfying the
+ /// given predicate removed.
+ template <class PredicateT>
+ MutableArrayRef<T> drop_while(PredicateT Pred) const {
+ return MutableArrayRef<T>(find_if_not(*this, Pred), end());
+ }
+
+ /// \brief Return a copy of *this with the first N elements not satisfying
+ /// the given predicate removed.
+ template <class PredicateT>
+ MutableArrayRef<T> drop_until(PredicateT Pred) const {
+ return MutableArrayRef<T>(find_if(*this, Pred), end());
+ }
+
/// \brief Return a copy of *this with only the first \p N elements.
- LLVM_ATTRIBUTE_UNUSED_RESULT
MutableArrayRef<T> take_front(size_t N = 1) const {
if (N >= this->size())
return *this;
@@ -346,13 +384,26 @@
}
/// \brief Return a copy of *this with only the last \p N elements.
- LLVM_ATTRIBUTE_UNUSED_RESULT
MutableArrayRef<T> take_back(size_t N = 1) const {
if (N >= this->size())
return *this;
return drop_front(this->size() - N);
}
+ /// \brief Return the first N elements of this Array that satisfy the given
+ /// predicate.
+ template <class PredicateT>
+ MutableArrayRef<T> take_while(PredicateT Pred) const {
+ return MutableArrayRef<T>(begin(), find_if_not(*this, Pred));
+ }
+
+ /// \brief Return the first N elements of this Array that don't satisfy the
+ /// given predicate.
+ template <class PredicateT>
+ MutableArrayRef<T> take_until(PredicateT Pred) const {
+ return MutableArrayRef<T>(begin(), find_if(*this, Pred));
+ }
+
/// @}
/// @name Operator Overloads
/// @{
@@ -362,6 +413,25 @@
}
};
+ /// This is a MutableArrayRef that owns its array.
+ template <typename T> class OwningArrayRef : public MutableArrayRef<T> {
+ public:
+ OwningArrayRef() {}
+ OwningArrayRef(size_t Size) : MutableArrayRef<T>(new T[Size], Size) {}
+ OwningArrayRef(ArrayRef<T> Data)
+ : MutableArrayRef<T>(new T[Data.size()], Data.size()) {
+ std::copy(Data.begin(), Data.end(), this->begin());
+ }
+ OwningArrayRef(OwningArrayRef &&Other) { *this = Other; }
+ OwningArrayRef &operator=(OwningArrayRef &&Other) {
+ delete[] this->data();
+ this->MutableArrayRef<T>::operator=(Other);
+ Other.MutableArrayRef<T>::operator=(MutableArrayRef<T>());
+ return *this;
+ }
+ ~OwningArrayRef() { delete[] this->data(); }
+ };
+
/// @name ArrayRef Convenience constructors
/// @{
diff --git a/third_party/llvm-subzero/include/llvm/ADT/BitVector.h b/third_party/llvm-subzero/include/llvm/ADT/BitVector.h
index 6614371..cf3756d 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/BitVector.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/BitVector.h
@@ -21,6 +21,7 @@
#include <cstdint>
#include <cstdlib>
#include <cstring>
+#include <utility>
namespace llvm {
@@ -45,14 +46,13 @@
BitWord *WordRef;
unsigned BitPos;
- reference(); // Undefined
-
public:
reference(BitVector &b, unsigned Idx) {
WordRef = &b.Bits[Idx / BITWORD_SIZE];
BitPos = Idx % BITWORD_SIZE;
}
+ reference() = delete;
reference(const reference&) = default;
reference &operator=(reference t) {
diff --git a/third_party/llvm-subzero/include/llvm/ADT/DenseMap.h b/third_party/llvm-subzero/include/llvm/ADT/DenseMap.h
index f3910b1..0b4b09d 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/DenseMap.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/DenseMap.h
@@ -77,7 +77,7 @@
return const_iterator(getBucketsEnd(), getBucketsEnd(), *this, true);
}
- bool LLVM_ATTRIBUTE_UNUSED_RESULT empty() const {
+ LLVM_NODISCARD bool empty() const {
return getNumEntries() == 0;
}
unsigned size() const { return getNumEntries(); }
@@ -742,6 +742,8 @@
// simplicity of referring to them.
typedef DenseMapBase<SmallDenseMap, KeyT, ValueT, KeyInfoT, BucketT> BaseT;
friend class DenseMapBase<SmallDenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
+ static_assert(isPowerOf2_64(InlineBuckets),
+ "InlineBuckets must be a power of 2.");
unsigned Small : 1;
unsigned NumEntries : 31;
diff --git a/third_party/llvm-subzero/include/llvm/ADT/DenseMapInfo.h b/third_party/llvm-subzero/include/llvm/ADT/DenseMapInfo.h
index 18c692e..a844ebc 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/DenseMapInfo.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/DenseMapInfo.h
@@ -30,36 +30,6 @@
//static bool isEqual(const T &LHS, const T &RHS);
};
-template <typename T> struct CachedHash {
- CachedHash(T Val) : Val(std::move(Val)) {
- Hash = DenseMapInfo<T>::getHashValue(Val);
- }
- CachedHash(T Val, unsigned Hash) : Val(std::move(Val)), Hash(Hash) {}
- T Val;
- unsigned Hash;
-};
-
-// Provide DenseMapInfo for all CachedHash<T>.
-template <typename T> struct DenseMapInfo<CachedHash<T>> {
- static CachedHash<T> getEmptyKey() {
- T N = DenseMapInfo<T>::getEmptyKey();
- return {N, 0};
- }
- static CachedHash<T> getTombstoneKey() {
- T N = DenseMapInfo<T>::getTombstoneKey();
- return {N, 0};
- }
- static unsigned getHashValue(CachedHash<T> Val) {
- assert(!isEqual(Val, getEmptyKey()) && "Cannot hash the empty key!");
- assert(!isEqual(Val, getTombstoneKey()) &&
- "Cannot hash the tombstone key!");
- return Val.Hash;
- }
- static bool isEqual(CachedHash<T> A, CachedHash<T> B) {
- return DenseMapInfo<T>::isEqual(A.Val, B.Val);
- }
-};
-
// Provide DenseMapInfo for all pointers.
template<typename T>
struct DenseMapInfo<T*> {
diff --git a/third_party/llvm-subzero/include/llvm/ADT/EpochTracker.h b/third_party/llvm-subzero/include/llvm/ADT/EpochTracker.h
index 582d581..db39ba4 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/EpochTracker.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/EpochTracker.h
@@ -16,28 +16,14 @@
#ifndef LLVM_ADT_EPOCH_TRACKER_H
#define LLVM_ADT_EPOCH_TRACKER_H
+#include "llvm/Config/abi-breaking.h"
#include "llvm/Config/llvm-config.h"
#include <cstdint>
namespace llvm {
-#ifndef LLVM_ENABLE_ABI_BREAKING_CHECKS
-
-class DebugEpochBase {
-public:
- void incrementEpoch() {}
-
- class HandleBase {
- public:
- HandleBase() = default;
- explicit HandleBase(const DebugEpochBase *) {}
- bool isHandleInSync() const { return true; }
- const void *getEpochAddress() const { return nullptr; }
- };
-};
-
-#else
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
/// \brief A base class for data structure classes wishing to make iterators
/// ("handles") pointing into themselves fail-fast. When building without
@@ -92,6 +78,21 @@
};
};
+#else
+
+class DebugEpochBase {
+public:
+ void incrementEpoch() {}
+
+ class HandleBase {
+ public:
+ HandleBase() = default;
+ explicit HandleBase(const DebugEpochBase *) {}
+ bool isHandleInSync() const { return true; }
+ const void *getEpochAddress() const { return nullptr; }
+ };
+};
+
#endif // LLVM_ENABLE_ABI_BREAKING_CHECKS
} // namespace llvm
diff --git a/third_party/llvm-subzero/include/llvm/ADT/FoldingSet.h b/third_party/llvm-subzero/include/llvm/ADT/FoldingSet.h
index f16258a..dab1829 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/FoldingSet.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/FoldingSet.h
@@ -19,8 +19,13 @@
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/iterator.h"
#include "llvm/Support/Allocator.h"
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
+#include <utility>
namespace llvm {
+
/// This folding set used for two purposes:
/// 1. Given information about a node we want to create, look up the unique
/// instance of the node in the set. If the node already exists, return
@@ -184,6 +189,7 @@
/// EltCount-th node won't cause a rebucket operation. reserve is permitted
/// to allocate more space than requested by EltCount.
void reserve(unsigned EltCount);
+
/// capacity - Returns the number of nodes permitted in the folding set
/// before a rebucket operation is performed.
unsigned capacity() {
@@ -200,14 +206,17 @@
/// NewBucketCount must be a power of two, and must be greater than the old
/// bucket count.
void GrowBucketCount(unsigned NewBucketCount);
+
protected:
/// GetNodeProfile - Instantiations of the FoldingSet template implement
/// this function to gather data bits for the given node.
virtual void GetNodeProfile(Node *N, FoldingSetNodeID &ID) const = 0;
+
/// NodeEquals - Instantiations of the FoldingSet template implement
/// this function to compare the given node with the given ID.
virtual bool NodeEquals(Node *N, const FoldingSetNodeID &ID, unsigned IDHash,
FoldingSetNodeID &TempID) const=0;
+
/// ComputeNodeHash - Instantiations of the FoldingSet template implement
/// this function to compute a hash value for the given node.
virtual unsigned ComputeNodeHash(Node *N, FoldingSetNodeID &TempID) const = 0;
@@ -215,8 +224,6 @@
//===----------------------------------------------------------------------===//
-template<typename T> struct FoldingSetTrait;
-
/// DefaultFoldingSetTrait - This class provides default implementations
/// for FoldingSetTrait implementations.
///
@@ -252,8 +259,6 @@
template<typename T> struct FoldingSetTrait
: public DefaultFoldingSetTrait<T> {};
-template<typename T, typename Ctx> struct ContextualFoldingSetTrait;
-
/// DefaultContextualFoldingSetTrait - Like DefaultFoldingSetTrait, but
/// for ContextualFoldingSets.
template<typename T, typename Ctx>
@@ -261,6 +266,7 @@
static void Profile(T &X, FoldingSetNodeID &ID, Ctx Context) {
X.Profile(ID, Context);
}
+
static inline bool Equals(T &X, const FoldingSetNodeID &ID, unsigned IDHash,
FoldingSetNodeID &TempID, Ctx Context);
static inline unsigned ComputeHash(T &X, FoldingSetNodeID &TempID,
@@ -279,11 +285,11 @@
/// is often much larger than necessary, and the possibility of heap
/// allocation means it requires a non-trivial destructor call.
class FoldingSetNodeIDRef {
- const unsigned *Data;
- size_t Size;
+ const unsigned *Data = nullptr;
+ size_t Size = 0;
public:
- FoldingSetNodeIDRef() : Data(nullptr), Size(0) {}
+ FoldingSetNodeIDRef() = default;
FoldingSetNodeIDRef(const unsigned *D, size_t S) : Data(D), Size(S) {}
/// ComputeHash - Compute a strong hash value for this FoldingSetNodeIDRef,
@@ -313,7 +319,7 @@
SmallVector<unsigned, 32> Bits;
public:
- FoldingSetNodeID() {}
+ FoldingSetNodeID() = default;
FoldingSetNodeID(FoldingSetNodeIDRef Ref)
: Bits(Ref.getData(), Ref.getData() + Ref.getSize()) {}
@@ -418,6 +424,7 @@
T *TN = static_cast<T *>(N);
FoldingSetTrait<T>::Profile(*TN, ID);
}
+
/// NodeEquals - Instantiations may optionally provide a way to compare a
/// node with a specified ID.
bool NodeEquals(Node *N, const FoldingSetNodeID &ID, unsigned IDHash,
@@ -425,6 +432,7 @@
T *TN = static_cast<T *>(N);
return FoldingSetTrait<T>::Equals(*TN, ID, IDHash, TempID);
}
+
/// ComputeNodeHash - Instantiations may optionally provide a way to compute a
/// hash value directly from a node.
unsigned ComputeNodeHash(Node *N, FoldingSetNodeID &TempID) const override {
@@ -483,7 +491,7 @@
///
/// T must be a subclass of FoldingSetNode and implement a Profile
/// function with signature
-/// void Profile(llvm::FoldingSetNodeID &, Ctx);
+/// void Profile(FoldingSetNodeID &, Ctx);
template <class T, class Ctx>
class ContextualFoldingSet final : public FoldingSetImpl {
// Unfortunately, this can't derive from FoldingSet<T> because the
@@ -501,12 +509,14 @@
T *TN = static_cast<T *>(N);
ContextualFoldingSetTrait<T, Ctx>::Profile(*TN, ID, Context);
}
+
bool NodeEquals(FoldingSetImpl::Node *N, const FoldingSetNodeID &ID,
unsigned IDHash, FoldingSetNodeID &TempID) const override {
T *TN = static_cast<T *>(N);
return ContextualFoldingSetTrait<T, Ctx>::Equals(*TN, ID, IDHash, TempID,
Context);
}
+
unsigned ComputeNodeHash(FoldingSetImpl::Node *N,
FoldingSetNodeID &TempID) const override {
T *TN = static_cast<T *>(N);
@@ -558,7 +568,7 @@
/// to provide the interface of FoldingSet but with deterministic iteration
/// order based on the insertion order. T must be a subclass of FoldingSetNode
/// and implement a Profile function.
-template <class T, class VectorT = SmallVector<T*, 8> >
+template <class T, class VectorT = SmallVector<T*, 8>>
class FoldingSetVector {
FoldingSet<T> Set;
VectorT Vector;
@@ -623,7 +633,9 @@
class FoldingSetIteratorImpl {
protected:
FoldingSetNode *NodePtr;
+
FoldingSetIteratorImpl(void **Bucket);
+
void advance();
public:
@@ -754,11 +766,12 @@
template <typename T1, typename T2>
struct FoldingSetTrait<std::pair<T1, T2>> {
static inline void Profile(const std::pair<T1, T2> &P,
- llvm::FoldingSetNodeID &ID) {
+ FoldingSetNodeID &ID) {
ID.Add(P.first);
ID.Add(P.second);
}
};
-} // End of namespace llvm.
-#endif
+} // end namespace llvm
+
+#endif // LLVM_ADT_FOLDINGSET_H
diff --git a/third_party/llvm-subzero/include/llvm/ADT/IntrusiveRefCntPtr.h b/third_party/llvm-subzero/include/llvm/ADT/IntrusiveRefCntPtr.h
index 3417e9c..b0c2ce7 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/IntrusiveRefCntPtr.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/IntrusiveRefCntPtr.h
@@ -27,9 +27,6 @@
namespace llvm {
- template <class T>
- class IntrusiveRefCntPtr;
-
//===----------------------------------------------------------------------===//
/// RefCountedBase - A generic base class for objects that wish to
/// have their lifetimes managed using reference counts. Classes
@@ -42,10 +39,10 @@
//===----------------------------------------------------------------------===//
template <class Derived>
class RefCountedBase {
- mutable unsigned ref_cnt;
+ mutable unsigned ref_cnt = 0;
public:
- RefCountedBase() : ref_cnt(0) {}
+ RefCountedBase() = default;
RefCountedBase(const RefCountedBase &) : ref_cnt(0) {}
void Retain() const { ++ref_cnt; }
@@ -64,14 +61,15 @@
/// attempting to do this will produce a compile error.
//===----------------------------------------------------------------------===//
class RefCountedBaseVPTR {
- mutable unsigned ref_cnt;
+ mutable unsigned ref_cnt = 0;
+
virtual void anchor();
protected:
- RefCountedBaseVPTR() : ref_cnt(0) {}
+ RefCountedBaseVPTR() = default;
RefCountedBaseVPTR(const RefCountedBaseVPTR &) : ref_cnt(0) {}
- virtual ~RefCountedBaseVPTR() {}
+ virtual ~RefCountedBaseVPTR() = default;
void Retain() const { ++ref_cnt; }
void Release() const {
@@ -133,12 +131,12 @@
//===----------------------------------------------------------------------===//
template <typename T>
class IntrusiveRefCntPtr {
- T* Obj;
+ T* Obj = nullptr;
public:
typedef T element_type;
- explicit IntrusiveRefCntPtr() : Obj(nullptr) {}
+ explicit IntrusiveRefCntPtr() = default;
IntrusiveRefCntPtr(T* obj) : Obj(obj) {
retain();
@@ -269,14 +267,14 @@
template <typename From> struct simplify_type;
- template<class T> struct simplify_type<IntrusiveRefCntPtr<T> > {
+ template<class T> struct simplify_type<IntrusiveRefCntPtr<T>> {
typedef T* SimpleType;
static SimpleType getSimplifiedValue(IntrusiveRefCntPtr<T>& Val) {
return Val.get();
}
};
- template<class T> struct simplify_type<const IntrusiveRefCntPtr<T> > {
+ template<class T> struct simplify_type<const IntrusiveRefCntPtr<T>> {
typedef /*const*/ T* SimpleType;
static SimpleType getSimplifiedValue(const IntrusiveRefCntPtr<T>& Val) {
return Val.get();
diff --git a/third_party/llvm-subzero/include/llvm/ADT/Optional.h b/third_party/llvm-subzero/include/llvm/ADT/Optional.h
index 20568c5..701872c 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/Optional.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/Optional.h
@@ -129,7 +129,7 @@
T& operator*() LLVM_LVALUE_FUNCTION { assert(hasVal); return *getPointer(); }
template <typename U>
- LLVM_CONSTEXPR T getValueOr(U &&value) const LLVM_LVALUE_FUNCTION {
+ constexpr T getValueOr(U &&value) const LLVM_LVALUE_FUNCTION {
return hasValue() ? getValue() : std::forward<U>(value);
}
diff --git a/third_party/llvm-subzero/include/llvm/ADT/PointerUnion.h b/third_party/llvm-subzero/include/llvm/ADT/PointerUnion.h
index 6b3fe57..a8ac186 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/PointerUnion.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/PointerUnion.h
@@ -17,7 +17,10 @@
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/PointerIntPair.h"
-#include "llvm/Support/Compiler.h"
+#include "llvm/Support/PointerLikeTypeTraits.h"
+#include <cassert>
+#include <cstdint>
+#include <cstddef>
namespace llvm {
@@ -57,6 +60,7 @@
public:
static inline void *getAsVoidPointer(void *P) { return P; }
static inline void *getFromVoidPointer(void *P) { return P; }
+
enum {
PT1BitsAv = (int)(PointerLikeTypeTraits<PT1>::NumLowBitsAvailable),
PT2BitsAv = (int)(PointerLikeTypeTraits<PT2>::NumLowBitsAvailable),
@@ -97,7 +101,7 @@
template <typename T> struct UNION_DOESNT_CONTAIN_TYPE {};
public:
- PointerUnion() {}
+ PointerUnion() = default;
PointerUnion(PT1 V)
: Val(const_cast<void *>(
@@ -208,6 +212,7 @@
static inline void *getAsVoidPointer(const PointerUnion<PT1, PT2> &P) {
return P.getOpaqueValue();
}
+
static inline PointerUnion<PT1, PT2> getFromVoidPointer(void *P) {
return PointerUnion<PT1, PT2>::getFromOpaqueValue(P);
}
@@ -249,7 +254,7 @@
};
public:
- PointerUnion3() {}
+ PointerUnion3() = default;
PointerUnion3(PT1 V) { Val = InnerUnion(V); }
PointerUnion3(PT2 V) { Val = InnerUnion(V); }
@@ -328,6 +333,7 @@
static inline void *getAsVoidPointer(const PointerUnion3<PT1, PT2, PT3> &P) {
return P.getOpaqueValue();
}
+
static inline PointerUnion3<PT1, PT2, PT3> getFromVoidPointer(void *P) {
return PointerUnion3<PT1, PT2, PT3>::getFromOpaqueValue(P);
}
@@ -352,7 +358,7 @@
ValTy Val;
public:
- PointerUnion4() {}
+ PointerUnion4() = default;
PointerUnion4(PT1 V) { Val = InnerUnion1(V); }
PointerUnion4(PT2 V) { Val = InnerUnion1(V); }
@@ -435,6 +441,7 @@
getAsVoidPointer(const PointerUnion4<PT1, PT2, PT3, PT4> &P) {
return P.getOpaqueValue();
}
+
static inline PointerUnion4<PT1, PT2, PT3, PT4> getFromVoidPointer(void *P) {
return PointerUnion4<PT1, PT2, PT3, PT4>::getFromOpaqueValue(P);
}
@@ -469,6 +476,6 @@
}
};
-}
+} // end namespace llvm
-#endif
+#endif // LLVM_ADT_POINTERUNION_H
diff --git a/third_party/llvm-subzero/include/llvm/ADT/STLExtras.h b/third_party/llvm-subzero/include/llvm/ADT/STLExtras.h
index e6215e4..4435b46 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/STLExtras.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/STLExtras.h
@@ -24,6 +24,7 @@
#include <functional>
#include <iterator>
#include <memory>
+#include <tuple>
#include <utility> // for std::pair
#include "llvm/ADT/Optional.h"
@@ -32,10 +33,15 @@
#include "llvm/Support/Compiler.h"
namespace llvm {
+
+// Only used by compiler if both template types are the same. Useful when
+// using SFINAE to test for the existence of member functions.
+template <typename T, T> struct SameType;
+
namespace detail {
template <typename RangeT>
-using IterOfRange = decltype(std::begin(std::declval<RangeT>()));
+using IterOfRange = decltype(std::begin(std::declval<RangeT &>()));
} // End detail namespace
@@ -340,6 +346,95 @@
FilterIteratorT(std::end(std::forward<RangeT>(Range))));
}
+// forward declarations required by zip_shortest/zip_first
+template <typename R, typename UnaryPredicate>
+bool all_of(R &&range, UnaryPredicate P);
+
+template <size_t... I> struct index_sequence;
+
+template <class... Ts> struct index_sequence_for;
+
+namespace detail {
+template <typename... Iters> class zip_first {
+public:
+ typedef std::input_iterator_tag iterator_category;
+ typedef std::tuple<decltype(*std::declval<Iters>())...> value_type;
+ std::tuple<Iters...> iterators;
+
+private:
+ template <size_t... Ns> value_type deres(index_sequence<Ns...>) {
+ return value_type(*std::get<Ns>(iterators)...);
+ }
+
+ template <size_t... Ns> decltype(iterators) tup_inc(index_sequence<Ns...>) {
+ return std::tuple<Iters...>(std::next(std::get<Ns>(iterators))...);
+ }
+
+public:
+ value_type operator*() { return deres(index_sequence_for<Iters...>{}); }
+
+ void operator++() { iterators = tup_inc(index_sequence_for<Iters...>{}); }
+
+ bool operator!=(const zip_first<Iters...> &other) const {
+ return std::get<0>(iterators) != std::get<0>(other.iterators);
+ }
+ zip_first(Iters &&... ts) : iterators(std::forward<Iters>(ts)...) {}
+};
+
+template <typename... Iters> class zip_shortest : public zip_first<Iters...> {
+ template <size_t... Ns>
+ bool test(const zip_first<Iters...> &other, index_sequence<Ns...>) const {
+ return all_of(std::initializer_list<bool>{std::get<Ns>(this->iterators) !=
+ std::get<Ns>(other.iterators)...},
+ identity<bool>{});
+ }
+
+public:
+ bool operator!=(const zip_first<Iters...> &other) const {
+ return test(other, index_sequence_for<Iters...>{});
+ }
+ zip_shortest(Iters &&... ts)
+ : zip_first<Iters...>(std::forward<Iters>(ts)...) {}
+};
+
+template <template <typename...> class ItType, typename... Args> class zippy {
+public:
+ typedef ItType<decltype(std::begin(std::declval<Args>()))...> iterator;
+
+private:
+ std::tuple<Args...> ts;
+
+ template <size_t... Ns> iterator begin_impl(index_sequence<Ns...>) {
+ return iterator(std::begin(std::get<Ns>(ts))...);
+ }
+ template <size_t... Ns> iterator end_impl(index_sequence<Ns...>) {
+ return iterator(std::end(std::get<Ns>(ts))...);
+ }
+
+public:
+ iterator begin() { return begin_impl(index_sequence_for<Args...>{}); }
+ iterator end() { return end_impl(index_sequence_for<Args...>{}); }
+ zippy(Args &&... ts_) : ts(std::forward<Args>(ts_)...) {}
+};
+} // End detail namespace
+
+/// zip iterator for two or more iteratable types.
+template <typename T, typename U, typename... Args>
+detail::zippy<detail::zip_shortest, T, U, Args...> zip(T &&t, U &&u,
+ Args &&... args) {
+ return detail::zippy<detail::zip_shortest, T, U, Args...>(
+ std::forward<T>(t), std::forward<U>(u), std::forward<Args>(args)...);
+}
+
+/// zip iterator that, for the sake of efficiency, assumes the first iteratee to
+/// be the shortest.
+template <typename T, typename U, typename... Args>
+detail::zippy<detail::zip_first, T, U, Args...> zip_first(T &&t, U &&u,
+ Args &&... args) {
+ return detail::zippy<detail::zip_first, T, U, Args...>(
+ std::forward<T>(t), std::forward<U>(u), std::forward<Args>(args)...);
+}
+
//===----------------------------------------------------------------------===//
// Extra additions to <utility>
//===----------------------------------------------------------------------===//
@@ -366,7 +461,7 @@
template <class T, T... I> struct integer_sequence {
typedef T value_type;
- static LLVM_CONSTEXPR size_t size() { return sizeof...(I); }
+ static constexpr size_t size() { return sizeof...(I); }
};
/// \brief Alias for the common case of a sequence of size_ts.
@@ -387,13 +482,25 @@
template <int N> struct rank : rank<N - 1> {};
template <> struct rank<0> {};
+/// \brief traits class for checking whether type T is one of any of the given
+/// types in the variadic list.
+template <typename T, typename... Ts> struct is_one_of {
+ static const bool value = false;
+};
+
+template <typename T, typename U, typename... Ts>
+struct is_one_of<T, U, Ts...> {
+ static const bool value =
+ std::is_same<T, U>::value || is_one_of<T, Ts...>::value;
+};
+
//===----------------------------------------------------------------------===//
// Extra additions for arrays
//===----------------------------------------------------------------------===//
/// Find the length of an array.
template <class T, std::size_t N>
-LLVM_CONSTEXPR inline size_t array_lengthof(T (&)[N]) {
+constexpr inline size_t array_lengthof(T (&)[N]) {
return N;
}
@@ -463,8 +570,8 @@
/// container.
template<typename Container>
void DeleteContainerPointers(Container &C) {
- for (typename Container::iterator I = C.begin(), E = C.end(); I != E; ++I)
- delete *I;
+ for (auto V : C)
+ delete V;
C.clear();
}
@@ -472,77 +579,87 @@
/// deletes the second elements and then clears the container.
template<typename Container>
void DeleteContainerSeconds(Container &C) {
- for (typename Container::iterator I = C.begin(), E = C.end(); I != E; ++I)
- delete I->second;
+ for (auto &V : C)
+ delete V.second;
C.clear();
}
/// Provide wrappers to std::all_of which take ranges instead of having to pass
/// begin/end explicitly.
-template<typename R, class UnaryPredicate>
-bool all_of(R &&Range, UnaryPredicate &&P) {
- return std::all_of(Range.begin(), Range.end(),
- std::forward<UnaryPredicate>(P));
+template <typename R, typename UnaryPredicate>
+bool all_of(R &&Range, UnaryPredicate P) {
+ return std::all_of(std::begin(Range), std::end(Range), P);
}
/// Provide wrappers to std::any_of which take ranges instead of having to pass
/// begin/end explicitly.
-template <typename R, class UnaryPredicate>
-bool any_of(R &&Range, UnaryPredicate &&P) {
- return std::any_of(Range.begin(), Range.end(),
- std::forward<UnaryPredicate>(P));
+template <typename R, typename UnaryPredicate>
+bool any_of(R &&Range, UnaryPredicate P) {
+ return std::any_of(std::begin(Range), std::end(Range), P);
}
/// Provide wrappers to std::none_of which take ranges instead of having to pass
/// begin/end explicitly.
-template <typename R, class UnaryPredicate>
-bool none_of(R &&Range, UnaryPredicate &&P) {
- return std::none_of(Range.begin(), Range.end(),
- std::forward<UnaryPredicate>(P));
+template <typename R, typename UnaryPredicate>
+bool none_of(R &&Range, UnaryPredicate P) {
+ return std::none_of(std::begin(Range), std::end(Range), P);
}
/// Provide wrappers to std::find which take ranges instead of having to pass
/// begin/end explicitly.
-template<typename R, class T>
-auto find(R &&Range, const T &val) -> decltype(Range.begin()) {
- return std::find(Range.begin(), Range.end(), val);
+template <typename R, typename T>
+auto find(R &&Range, const T &Val) -> decltype(std::begin(Range)) {
+ return std::find(std::begin(Range), std::end(Range), Val);
}
/// Provide wrappers to std::find_if which take ranges instead of having to pass
/// begin/end explicitly.
-template <typename R, class T>
-auto find_if(R &&Range, const T &Pred) -> decltype(Range.begin()) {
- return std::find_if(Range.begin(), Range.end(), Pred);
+template <typename R, typename UnaryPredicate>
+auto find_if(R &&Range, UnaryPredicate P) -> decltype(std::begin(Range)) {
+ return std::find_if(std::begin(Range), std::end(Range), P);
+}
+
+template <typename R, typename UnaryPredicate>
+auto find_if_not(R &&Range, UnaryPredicate P) -> decltype(std::begin(Range)) {
+ return std::find_if_not(std::begin(Range), std::end(Range), P);
}
/// Provide wrappers to std::remove_if which take ranges instead of having to
/// pass begin/end explicitly.
-template<typename R, class UnaryPredicate>
-auto remove_if(R &&Range, UnaryPredicate &&P) -> decltype(Range.begin()) {
- return std::remove_if(Range.begin(), Range.end(), P);
+template <typename R, typename UnaryPredicate>
+auto remove_if(R &&Range, UnaryPredicate P) -> decltype(std::begin(Range)) {
+ return std::remove_if(std::begin(Range), std::end(Range), P);
}
/// Wrapper function around std::find to detect if an element exists
/// in a container.
template <typename R, typename E>
bool is_contained(R &&Range, const E &Element) {
- return std::find(Range.begin(), Range.end(), Element) != Range.end();
+ return std::find(std::begin(Range), std::end(Range), Element) !=
+ std::end(Range);
+}
+
+/// Wrapper function around std::count to count the number of times an element
+/// \p Element occurs in the given range \p Range.
+template <typename R, typename E>
+auto count(R &&Range, const E &Element) -> typename std::iterator_traits<
+ decltype(std::begin(Range))>::difference_type {
+ return std::count(std::begin(Range), std::end(Range), Element);
}
/// Wrapper function around std::count_if to count the number of times an
/// element satisfying a given predicate occurs in a range.
template <typename R, typename UnaryPredicate>
-auto count_if(R &&Range, UnaryPredicate &&P)
- -> typename std::iterator_traits<decltype(Range.begin())>::difference_type {
- return std::count_if(Range.begin(), Range.end(), P);
+auto count_if(R &&Range, UnaryPredicate P) -> typename std::iterator_traits<
+ decltype(std::begin(Range))>::difference_type {
+ return std::count_if(std::begin(Range), std::end(Range), P);
}
/// Wrapper function around std::transform to apply a function to a range and
/// store the result elsewhere.
-template <typename R, class OutputIt, typename UnaryPredicate>
-OutputIt transform(R &&Range, OutputIt d_first, UnaryPredicate &&P) {
- return std::transform(Range.begin(), Range.end(), d_first,
- std::forward<UnaryPredicate>(P));
+template <typename R, typename OutputIt, typename UnaryPredicate>
+OutputIt transform(R &&Range, OutputIt d_first, UnaryPredicate P) {
+ return std::transform(std::begin(Range), std::end(Range), d_first, P);
}
//===----------------------------------------------------------------------===//
@@ -626,6 +743,92 @@
}
};
+namespace detail {
+template <typename R> class enumerator_impl {
+public:
+ template <typename X> struct result_pair {
+ result_pair(std::size_t Index, X Value) : Index(Index), Value(Value) {}
+
+ const std::size_t Index;
+ X Value;
+ };
+
+ class iterator {
+ typedef
+ typename std::iterator_traits<IterOfRange<R>>::reference iter_reference;
+ typedef result_pair<iter_reference> result_type;
+
+ public:
+ iterator(IterOfRange<R> &&Iter, std::size_t Index)
+ : Iter(Iter), Index(Index) {}
+
+ result_type operator*() const { return result_type(Index, *Iter); }
+
+ iterator &operator++() {
+ ++Iter;
+ ++Index;
+ return *this;
+ }
+
+ bool operator!=(const iterator &RHS) const { return Iter != RHS.Iter; }
+
+ private:
+ IterOfRange<R> Iter;
+ std::size_t Index;
+ };
+
+public:
+ explicit enumerator_impl(R &&Range) : Range(std::forward<R>(Range)) {}
+
+ iterator begin() { return iterator(std::begin(Range), 0); }
+ iterator end() { return iterator(std::end(Range), std::size_t(-1)); }
+
+private:
+ R Range;
+};
+}
+
+/// Given an input range, returns a new range whose values are are pair (A,B)
+/// such that A is the 0-based index of the item in the sequence, and B is
+/// the value from the original sequence. Example:
+///
+/// std::vector<char> Items = {'A', 'B', 'C', 'D'};
+/// for (auto X : enumerate(Items)) {
+/// printf("Item %d - %c\n", X.Index, X.Value);
+/// }
+///
+/// Output:
+/// Item 0 - A
+/// Item 1 - B
+/// Item 2 - C
+/// Item 3 - D
+///
+template <typename R> detail::enumerator_impl<R> enumerate(R &&Range) {
+ return detail::enumerator_impl<R>(std::forward<R>(Range));
+}
+
+namespace detail {
+template <typename F, typename Tuple, std::size_t... I>
+auto apply_tuple_impl(F &&f, Tuple &&t, index_sequence<I...>)
+ -> decltype(std::forward<F>(f)(std::get<I>(std::forward<Tuple>(t))...)) {
+ return std::forward<F>(f)(std::get<I>(std::forward<Tuple>(t))...);
+}
+}
+
+/// Given an input tuple (a1, a2, ..., an), pass the arguments of the
+/// tuple variadically to f as if by calling f(a1, a2, ..., an) and
+/// return the result.
+template <typename F, typename Tuple>
+auto apply_tuple(F &&f, Tuple &&t) -> decltype(detail::apply_tuple_impl(
+ std::forward<F>(f), std::forward<Tuple>(t),
+ build_index_impl<
+ std::tuple_size<typename std::decay<Tuple>::type>::value>{})) {
+ using Indices = build_index_impl<
+ std::tuple_size<typename std::decay<Tuple>::type>::value>;
+
+ return detail::apply_tuple_impl(std::forward<F>(f), std::forward<Tuple>(t),
+ Indices{});
+}
} // End llvm namespace
#endif
diff --git a/third_party/llvm-subzero/include/llvm/ADT/SmallPtrSet.h b/third_party/llvm-subzero/include/llvm/ADT/SmallPtrSet.h
index eaed6aa..518ed5c 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/SmallPtrSet.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/SmallPtrSet.h
@@ -15,19 +15,25 @@
#ifndef LLVM_ADT_SMALLPTRSET_H
#define LLVM_ADT_SMALLPTRSET_H
+#include "llvm/Config/abi-breaking.h"
#include "llvm/Support/Compiler.h"
-#include "llvm/Support/DataTypes.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
#include <cassert>
#include <cstddef>
#include <cstring>
#include <cstdlib>
+#include <initializer_list>
#include <iterator>
#include <utility>
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
namespace llvm {
+template <class T = void> struct ReverseIterate { static bool value; };
+template <class T> bool ReverseIterate<T>::value = false;
+}
+#endif
-class SmallPtrSetIteratorImpl;
+namespace llvm {
/// SmallPtrSetImplBase - This is the common code shared among all the
/// SmallPtrSet<>'s, which is almost everything. SmallPtrSet has two modes, one
@@ -71,12 +77,14 @@
const SmallPtrSetImplBase &that);
SmallPtrSetImplBase(const void **SmallStorage, unsigned SmallSize,
SmallPtrSetImplBase &&that);
+
explicit SmallPtrSetImplBase(const void **SmallStorage, unsigned SmallSize)
: SmallArray(SmallStorage), CurArray(SmallStorage),
CurArraySize(SmallSize), NumNonEmpty(0), NumTombstones(0) {
assert(SmallSize && (SmallSize & (SmallSize-1)) == 0 &&
"Initial size must be a power of two!");
}
+
~SmallPtrSetImplBase() {
if (!isSmall())
free(CurArray);
@@ -84,7 +92,10 @@
public:
typedef unsigned size_type;
- bool LLVM_ATTRIBUTE_UNUSED_RESULT empty() const { return size() == 0; }
+
+ SmallPtrSetImplBase &operator=(const SmallPtrSetImplBase &) = delete;
+
+ LLVM_NODISCARD bool empty() const { return size() == 0; }
size_type size() const { return NumNonEmpty - NumTombstones; }
void clear() {
@@ -103,6 +114,7 @@
protected:
static void *getTombstoneMarker() { return reinterpret_cast<void*>(-2); }
+
static void *getEmptyMarker() {
// Note that -1 is chosen to make clear() efficiently implementable with
// memset and because it's not a valid pointer value.
@@ -177,8 +189,6 @@
/// Grow - Allocate a larger backing store for the buckets and move it over.
void Grow(unsigned NewSize);
- void operator=(const SmallPtrSetImplBase &RHS) = delete;
-
protected:
/// swap - Swaps the elements of two sets.
/// Note: This method assumes that both sets have the same small size.
@@ -204,6 +214,12 @@
public:
explicit SmallPtrSetIteratorImpl(const void *const *BP, const void*const *E)
: Bucket(BP), End(E) {
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ if (ReverseIterate<bool>::value) {
+ RetreatIfNotValid();
+ return;
+ }
+#endif
AdvanceIfNotValid();
}
@@ -225,6 +241,17 @@
*Bucket == SmallPtrSetImplBase::getTombstoneMarker()))
++Bucket;
}
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ void RetreatIfNotValid() {
+ --Bucket;
+ assert(Bucket <= End);
+ while (Bucket != End &&
+ (*Bucket == SmallPtrSetImplBase::getEmptyMarker() ||
+ *Bucket == SmallPtrSetImplBase::getTombstoneMarker())) {
+ --Bucket;
+ }
+ }
+#endif
};
/// SmallPtrSetIterator - This implements a const_iterator for SmallPtrSet.
@@ -250,13 +277,27 @@
}
inline SmallPtrSetIterator& operator++() { // Preincrement
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ if (ReverseIterate<bool>::value) {
+ RetreatIfNotValid();
+ return *this;
+ }
+#endif
++Bucket;
AdvanceIfNotValid();
return *this;
}
SmallPtrSetIterator operator++(int) { // Postincrement
- SmallPtrSetIterator tmp = *this; ++*this; return tmp;
+ SmallPtrSetIterator tmp = *this;
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ if (ReverseIterate<bool>::value) {
+ --*this;
+ return tmp;
+ }
+#endif
+ ++*this;
+ return tmp;
}
};
@@ -294,8 +335,6 @@
class SmallPtrSetImpl : public SmallPtrSetImplBase {
typedef PointerLikeTypeTraits<PtrType> PtrTraits;
- SmallPtrSetImpl(const SmallPtrSetImpl &) = delete;
-
protected:
// Constructors that forward to the base.
SmallPtrSetImpl(const void **SmallStorage, const SmallPtrSetImpl &that)
@@ -310,6 +349,8 @@
typedef SmallPtrSetIterator<PtrType> iterator;
typedef SmallPtrSetIterator<PtrType> const_iterator;
+ SmallPtrSetImpl(const SmallPtrSetImpl &) = delete;
+
/// Inserts Ptr if and only if there is no element in the container equal to
/// Ptr. The bool component of the returned pair is true if and only if the
/// insertion takes place, and the iterator component of the pair points to
@@ -336,10 +377,27 @@
insert(*I);
}
+ void insert(std::initializer_list<PtrType> IL) {
+ insert(IL.begin(), IL.end());
+ }
+
inline iterator begin() const {
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ if (ReverseIterate<bool>::value)
+ return endPtr();
+#endif
return iterator(CurArray, EndPointer());
}
inline iterator end() const {
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ if (ReverseIterate<bool>::value)
+ return iterator(CurArray, CurArray);
+#endif
+ return endPtr();
+ }
+
+private:
+ inline iterator endPtr() const {
const void *const *End = EndPointer();
return iterator(End, End);
}
@@ -374,6 +432,11 @@
this->insert(I, E);
}
+ SmallPtrSet(std::initializer_list<PtrType> IL)
+ : BaseT(SmallStorage, SmallSizePowTwo) {
+ this->insert(IL.begin(), IL.end());
+ }
+
SmallPtrSet<PtrType, SmallSize> &
operator=(const SmallPtrSet<PtrType, SmallSize> &RHS) {
if (&RHS != this)
@@ -381,26 +444,36 @@
return *this;
}
- SmallPtrSet<PtrType, SmallSize>&
+ SmallPtrSet<PtrType, SmallSize> &
operator=(SmallPtrSet<PtrType, SmallSize> &&RHS) {
if (&RHS != this)
this->MoveFrom(SmallSizePowTwo, std::move(RHS));
return *this;
}
+ SmallPtrSet<PtrType, SmallSize> &
+ operator=(std::initializer_list<PtrType> IL) {
+ this->clear();
+ this->insert(IL.begin(), IL.end());
+ return *this;
+ }
+
/// swap - Swaps the elements of two sets.
void swap(SmallPtrSet<PtrType, SmallSize> &RHS) {
SmallPtrSetImplBase::swap(RHS);
}
};
-}
+
+} // end namespace llvm
namespace std {
+
/// Implement std::swap in terms of SmallPtrSet swap.
template<class T, unsigned N>
inline void swap(llvm::SmallPtrSet<T, N> &LHS, llvm::SmallPtrSet<T, N> &RHS) {
LHS.swap(RHS);
}
-}
-#endif
+} // end namespace std
+
+#endif // LLVM_ADT_SMALLPTRSET_H
diff --git a/third_party/llvm-subzero/include/llvm/ADT/SmallSet.h b/third_party/llvm-subzero/include/llvm/ADT/SmallSet.h
new file mode 100644
index 0000000..6dac167
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/ADT/SmallSet.h
@@ -0,0 +1,141 @@
+//===- llvm/ADT/SmallSet.h - 'Normally small' sets --------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the SmallSet class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_ADT_SMALLSET_H
+#define LLVM_ADT_SMALLSET_H
+
+#include "llvm/ADT/None.h"
+#include "llvm/ADT/SmallPtrSet.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/Support/Compiler.h"
+#include <cstddef>
+#include <functional>
+#include <set>
+#include <utility>
+
+namespace llvm {
+
+/// SmallSet - This maintains a set of unique values, optimizing for the case
+/// when the set is small (less than N). In this case, the set can be
+/// maintained with no mallocs. If the set gets large, we expand to using an
+/// std::set to maintain reasonable lookup times.
+///
+/// Note that this set does not provide a way to iterate over members in the
+/// set.
+template <typename T, unsigned N, typename C = std::less<T>>
+class SmallSet {
+ /// Use a SmallVector to hold the elements here (even though it will never
+ /// reach its 'large' stage) to avoid calling the default ctors of elements
+ /// we will never use.
+ SmallVector<T, N> Vector;
+ std::set<T, C> Set;
+ typedef typename SmallVector<T, N>::const_iterator VIterator;
+ typedef typename SmallVector<T, N>::iterator mutable_iterator;
+
+ // In small mode SmallPtrSet uses linear search for the elements, so it is
+ // not a good idea to choose this value too high. You may consider using a
+ // DenseSet<> instead if you expect many elements in the set.
+ static_assert(N <= 32, "N should be small");
+
+public:
+ typedef size_t size_type;
+
+ SmallSet() = default;
+
+ LLVM_NODISCARD bool empty() const {
+ return Vector.empty() && Set.empty();
+ }
+
+ size_type size() const {
+ return isSmall() ? Vector.size() : Set.size();
+ }
+
+ /// count - Return 1 if the element is in the set, 0 otherwise.
+ size_type count(const T &V) const {
+ if (isSmall()) {
+ // Since the collection is small, just do a linear search.
+ return vfind(V) == Vector.end() ? 0 : 1;
+ } else {
+ return Set.count(V);
+ }
+ }
+
+ /// insert - Insert an element into the set if it isn't already there.
+ /// Returns true if the element is inserted (it was not in the set before).
+ /// The first value of the returned pair is unused and provided for
+ /// partial compatibility with the standard library self-associative container
+ /// concept.
+ // FIXME: Add iterators that abstract over the small and large form, and then
+ // return those here.
+ std::pair<NoneType, bool> insert(const T &V) {
+ if (!isSmall())
+ return std::make_pair(None, Set.insert(V).second);
+
+ VIterator I = vfind(V);
+ if (I != Vector.end()) // Don't reinsert if it already exists.
+ return std::make_pair(None, false);
+ if (Vector.size() < N) {
+ Vector.push_back(V);
+ return std::make_pair(None, true);
+ }
+
+ // Otherwise, grow from vector to set.
+ while (!Vector.empty()) {
+ Set.insert(Vector.back());
+ Vector.pop_back();
+ }
+ Set.insert(V);
+ return std::make_pair(None, true);
+ }
+
+ template <typename IterT>
+ void insert(IterT I, IterT E) {
+ for (; I != E; ++I)
+ insert(*I);
+ }
+
+ bool erase(const T &V) {
+ if (!isSmall())
+ return Set.erase(V);
+ for (mutable_iterator I = Vector.begin(), E = Vector.end(); I != E; ++I)
+ if (*I == V) {
+ Vector.erase(I);
+ return true;
+ }
+ return false;
+ }
+
+ void clear() {
+ Vector.clear();
+ Set.clear();
+ }
+
+private:
+ bool isSmall() const { return Set.empty(); }
+
+ VIterator vfind(const T &V) const {
+ for (VIterator I = Vector.begin(), E = Vector.end(); I != E; ++I)
+ if (*I == V)
+ return I;
+ return Vector.end();
+ }
+};
+
+/// If this set is of pointer values, transparently switch over to using
+/// SmallPtrSet for performance.
+template <typename PointeeType, unsigned N>
+class SmallSet<PointeeType*, N> : public SmallPtrSet<PointeeType*, N> {};
+
+} // end namespace llvm
+
+#endif // LLVM_ADT_SMALLSET_H
diff --git a/third_party/llvm-subzero/include/llvm/ADT/SmallString.h b/third_party/llvm-subzero/include/llvm/ADT/SmallString.h
index e569f54..ff46e85 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/SmallString.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/SmallString.h
@@ -16,6 +16,7 @@
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
+#include <cstddef>
namespace llvm {
@@ -25,7 +26,7 @@
class SmallString : public SmallVector<char, InternalLen> {
public:
/// Default ctor - Initialize to empty.
- SmallString() {}
+ SmallString() = default;
/// Initialize from a StringRef.
SmallString(StringRef S) : SmallVector<char, InternalLen>(S.begin(), S.end()) {}
@@ -79,7 +80,6 @@
SmallVectorImpl<char>::append(NumInputs, Elt);
}
-
/// Append from a StringRef.
void append(StringRef RHS) {
SmallVectorImpl<char>::append(RHS.begin(), RHS.end());
@@ -292,6 +292,6 @@
}
};
-}
+} // end namespace llvm
-#endif
+#endif // LLVM_ADT_SMALLSTRING_H
diff --git a/third_party/llvm-subzero/include/llvm/ADT/SmallVector.h b/third_party/llvm-subzero/include/llvm/ADT/SmallVector.h
index 9403579..b958821 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/SmallVector.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/SmallVector.h
@@ -27,6 +27,9 @@
#include <initializer_list>
#include <iterator>
#include <memory>
+#include <new>
+#include <type_traits>
+#include <utility>
namespace llvm {
@@ -54,11 +57,9 @@
return size_t((char*)CapacityX - (char*)BeginX);
}
- bool LLVM_ATTRIBUTE_UNUSED_RESULT empty() const { return BeginX == EndX; }
+ LLVM_NODISCARD bool empty() const { return BeginX == EndX; }
};
-template <typename T, unsigned N> struct SmallVectorStorage;
-
/// This is the part of SmallVectorTemplateBase which does not depend on whether
/// the type T is a POD. The extra dummy template argument is used by ArrayRef
/// to avoid unnecessarily requiring T to be complete.
@@ -70,7 +71,7 @@
// Allocate raw space for N elements of type T. If T has a ctor or dtor, we
// don't want it to be automatically run, so we need to represent the space as
// something else. Use an array of char of sufficient alignment.
- typedef llvm::AlignedCharArrayUnion<T> U;
+ typedef AlignedCharArrayUnion<T> U;
U FirstEl;
// Space after 'FirstEl' is clobbered, do not add any instance vars after it.
@@ -93,6 +94,7 @@
}
void setEnd(T *P) { this->EndX = P; }
+
public:
typedef size_t size_type;
typedef ptrdiff_t difference_type;
@@ -117,11 +119,12 @@
iterator end() { return (iterator)this->EndX; }
LLVM_ATTRIBUTE_ALWAYS_INLINE
const_iterator end() const { return (const_iterator)this->EndX; }
+
protected:
iterator capacity_ptr() { return (iterator)this->CapacityX; }
const_iterator capacity_ptr() const { return (const_iterator)this->CapacityX;}
-public:
+public:
// reverse iterator creation methods.
reverse_iterator rbegin() { return reverse_iterator(end()); }
const_reverse_iterator rbegin() const{ return const_reverse_iterator(end()); }
@@ -298,6 +301,7 @@
void grow(size_t MinSize = 0) {
this->grow_pod(MinSize*sizeof(T), sizeof(T));
}
+
public:
void push_back(const T &Elt) {
if (LLVM_UNLIKELY(this->EndX >= this->CapacityX))
@@ -311,14 +315,12 @@
}
};
-
/// This class consists of common code factored out of the SmallVector class to
/// reduce code duplication based on the SmallVector 'N' template parameter.
template <typename T>
class SmallVectorImpl : public SmallVectorTemplateBase<T, isPodLike<T>::value> {
typedef SmallVectorTemplateBase<T, isPodLike<T>::value > SuperClass;
- SmallVectorImpl(const SmallVectorImpl&) = delete;
public:
typedef typename SuperClass::iterator iterator;
typedef typename SuperClass::const_iterator const_iterator;
@@ -331,6 +333,8 @@
}
public:
+ SmallVectorImpl(const SmallVectorImpl &) = delete;
+
~SmallVectorImpl() {
// Destroy the constructed elements in the vector.
this->destroy_range(this->begin(), this->end());
@@ -340,7 +344,6 @@
free(this->begin());
}
-
void clear() {
this->destroy_range(this->begin(), this->end());
this->EndX = this->BeginX;
@@ -376,7 +379,7 @@
this->grow(N);
}
- T LLVM_ATTRIBUTE_UNUSED_RESULT pop_back_val() {
+ LLVM_NODISCARD T pop_back_val() {
T Result = ::std::move(this->back());
this->pop_back();
return Result;
@@ -668,7 +671,6 @@
}
};
-
template <typename T>
void SmallVectorImpl<T>::swap(SmallVectorImpl<T> &RHS) {
if (this == &RHS) return;
@@ -841,6 +843,7 @@
class SmallVector : public SmallVectorImpl<T> {
/// Inline space for elements which aren't stored in the base class.
SmallVectorStorage<T, N> Storage;
+
public:
SmallVector() : SmallVectorImpl<T>(N) {
}
@@ -856,7 +859,7 @@
}
template <typename RangeTy>
- explicit SmallVector(const llvm::iterator_range<RangeTy> &R)
+ explicit SmallVector(const iterator_range<RangeTy> &R)
: SmallVectorImpl<T>(N) {
this->append(R.begin(), R.end());
}
@@ -906,9 +909,10 @@
return X.capacity_in_bytes();
}
-} // End llvm namespace
+} // end namespace llvm
namespace std {
+
/// Implement std::swap in terms of SmallVector swap.
template<typename T>
inline void
@@ -922,6 +926,7 @@
swap(llvm::SmallVector<T, N> &LHS, llvm::SmallVector<T, N> &RHS) {
LHS.swap(RHS);
}
-}
-#endif
+} // end namespace std
+
+#endif // LLVM_ADT_SMALLVECTOR_H
diff --git a/third_party/llvm-subzero/include/llvm/ADT/Statistic.h b/third_party/llvm-subzero/include/llvm/ADT/Statistic.h
index c541383..53fa2a5 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/Statistic.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/Statistic.h
@@ -151,7 +151,7 @@
static llvm::Statistic VARNAME = {DEBUG_TYPE, #VARNAME, DESC, {0}, false}
/// \brief Enable the collection and printing of statistics.
-void EnableStatistics();
+void EnableStatistics(bool PrintOnExit = true);
/// \brief Check if statistics are enabled.
bool AreStatisticsEnabled();
@@ -165,7 +165,10 @@
/// \brief Print statistics to the given output stream.
void PrintStatistics(raw_ostream &OS);
-/// Print statistics in JSON format.
+/// Print statistics in JSON format. This does include all global timers (\see
+/// Timer, TimerGroup). Note that the timers are cleared after printing and will
+/// not be printed in human readable form or in a second call of
+/// PrintStatisticsJSON().
void PrintStatisticsJSON(raw_ostream &OS);
} // end namespace llvm
diff --git a/third_party/llvm-subzero/include/llvm/ADT/StringExtras.h b/third_party/llvm-subzero/include/llvm/ADT/StringExtras.h
index 05513e1..488748a 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/StringExtras.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/StringExtras.h
@@ -155,6 +155,8 @@
/// it if it is not printable or if it is an escape char.
void PrintEscapedString(StringRef Name, raw_ostream &Out);
+namespace detail {
+
template <typename IteratorT>
inline std::string join_impl(IteratorT Begin, IteratorT End,
StringRef Separator, std::input_iterator_tag) {
@@ -189,12 +191,64 @@
return S;
}
+template <typename Sep>
+inline void join_items_impl(std::string &Result, Sep Separator) {}
+
+template <typename Sep, typename Arg>
+inline void join_items_impl(std::string &Result, Sep Separator,
+ const Arg &Item) {
+ Result += Item;
+}
+
+template <typename Sep, typename Arg1, typename... Args>
+inline void join_items_impl(std::string &Result, Sep Separator, const Arg1 &A1,
+ Args &&... Items) {
+ Result += A1;
+ Result += Separator;
+ join_items_impl(Result, Separator, std::forward<Args>(Items)...);
+}
+
+inline size_t join_one_item_size(char C) { return 1; }
+inline size_t join_one_item_size(const char *S) { return S ? ::strlen(S) : 0; }
+
+template <typename T> inline size_t join_one_item_size(const T &Str) {
+ return Str.size();
+}
+
+inline size_t join_items_size() { return 0; }
+
+template <typename A1> inline size_t join_items_size(const A1 &A) {
+ return join_one_item_size(A);
+}
+template <typename A1, typename... Args>
+inline size_t join_items_size(const A1 &A, Args &&... Items) {
+ return join_one_item_size(A) + join_items_size(std::forward<Args>(Items)...);
+}
+}
+
/// Joins the strings in the range [Begin, End), adding Separator between
/// the elements.
template <typename IteratorT>
inline std::string join(IteratorT Begin, IteratorT End, StringRef Separator) {
typedef typename std::iterator_traits<IteratorT>::iterator_category tag;
- return join_impl(Begin, End, Separator, tag());
+ return detail::join_impl(Begin, End, Separator, tag());
+}
+
+/// Joins the strings in the parameter pack \p Items, adding \p Separator
+/// between the elements. All arguments must be implicitly convertible to
+/// std::string, or there should be an overload of std::string::operator+=()
+/// that accepts the argument explicitly.
+template <typename Sep, typename... Args>
+inline std::string join_items(Sep Separator, Args &&... Items) {
+ std::string Result;
+ if (sizeof...(Items) == 0)
+ return Result;
+
+ size_t NS = detail::join_one_item_size(Separator);
+ size_t NI = detail::join_items_size(std::forward<Args>(Items)...);
+ Result.reserve(NI + (sizeof...(Items) - 1) * NS + 1);
+ detail::join_items_impl(Result, Separator, std::forward<Args>(Items)...);
+ return Result;
}
} // End llvm namespace
diff --git a/third_party/llvm-subzero/include/llvm/ADT/StringMap.h b/third_party/llvm-subzero/include/llvm/ADT/StringMap.h
index 5c048b1..24e3ecf 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/StringMap.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/StringMap.h
@@ -17,10 +17,17 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
+#include <cassert>
+#include <cstdint>
+#include <cstdlib>
#include <cstring>
#include <utility>
+#include <initializer_list>
+#include <new>
+#include <utility>
namespace llvm {
+
template<typename ValueT>
class StringMapConstIterator;
template<typename ValueT>
@@ -119,8 +126,6 @@
/// and data.
template<typename ValueTy>
class StringMapEntry : public StringMapEntryBase {
- StringMapEntry(StringMapEntry &E) = delete;
-
public:
ValueTy second;
@@ -129,6 +134,7 @@
template <typename... InitTy>
StringMapEntry(unsigned strLen, InitTy &&... InitVals)
: StringMapEntryBase(strLen), second(std::forward<InitTy>(InitVals)...) {}
+ StringMapEntry(StringMapEntry &E) = delete;
StringRef getKey() const {
return StringRef(getKeyData(), getKeyLength());
@@ -157,7 +163,7 @@
// terminator.
unsigned AllocSize = static_cast<unsigned>(sizeof(StringMapEntry))+
KeyLength+1;
- unsigned Alignment = alignOf<StringMapEntry>();
+ unsigned Alignment = alignof(StringMapEntry);
StringMapEntry *NewItem =
static_cast<StringMapEntry*>(Allocator.Allocate(AllocSize,Alignment));
@@ -440,12 +446,12 @@
template <typename ValueTy> class StringMapConstIterator {
protected:
- StringMapEntryBase **Ptr;
+ StringMapEntryBase **Ptr = nullptr;
public:
typedef StringMapEntry<ValueTy> value_type;
- StringMapConstIterator() : Ptr(nullptr) { }
+ StringMapConstIterator() = default;
explicit StringMapConstIterator(StringMapEntryBase **Bucket,
bool NoAdvance = false)
@@ -486,11 +492,13 @@
template<typename ValueTy>
class StringMapIterator : public StringMapConstIterator<ValueTy> {
public:
- StringMapIterator() {}
+ StringMapIterator() = default;
+
explicit StringMapIterator(StringMapEntryBase **Bucket,
bool NoAdvance = false)
: StringMapConstIterator<ValueTy>(Bucket, NoAdvance) {
}
+
StringMapEntry<ValueTy> &operator*() const {
return *static_cast<StringMapEntry<ValueTy>*>(*this->Ptr);
}
@@ -498,6 +506,7 @@
return static_cast<StringMapEntry<ValueTy>*>(*this->Ptr);
}
};
-}
-#endif
+} // end namespace llvm
+
+#endif // LLVM_ADT_STRINGMAP_H
diff --git a/third_party/llvm-subzero/include/llvm/ADT/StringRef.h b/third_party/llvm-subzero/include/llvm/ADT/StringRef.h
index 37c214c..d80a848 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/StringRef.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/StringRef.h
@@ -10,6 +10,7 @@
#ifndef LLVM_ADT_STRINGREF_H
#define LLVM_ADT_STRINGREF_H
+#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/Compiler.h"
#include <algorithm>
@@ -32,6 +33,10 @@
bool getAsSignedInteger(StringRef Str, unsigned Radix, long long &Result);
+ bool consumeUnsignedInteger(StringRef &Str, unsigned Radix,
+ unsigned long long &Result);
+ bool consumeSignedInteger(StringRef &Str, unsigned Radix, long long &Result);
+
/// StringRef - Represent a constant reference to a string, i.e. a character
/// array and a length, which need not be null terminated.
///
@@ -48,10 +53,10 @@
private:
/// The start of the string, in an external buffer.
- const char *Data;
+ const char *Data = nullptr;
/// The length of the string.
- size_t Length;
+ size_t Length = 0;
// Workaround memcmp issue with null pointers (undefined behavior)
// by providing a specialized version
@@ -66,28 +71,31 @@
/// @{
/// Construct an empty string ref.
- /*implicit*/ StringRef() : Data(nullptr), Length(0) {}
+ /*implicit*/ StringRef() = default;
+
+ /// Disable conversion from nullptr. This prevents things like
+ /// if (S == nullptr)
+ StringRef(std::nullptr_t) = delete;
/// Construct a string ref from a cstring.
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
/*implicit*/ StringRef(const char *Str)
- : Data(Str) {
- assert(Str && "StringRef cannot be built from a NULL argument");
- Length = ::strlen(Str); // invoking strlen(NULL) is undefined behavior
- }
+ : Data(Str), Length(Str ? ::strlen(Str) : 0) {}
/// Construct a string ref from a pointer and length.
LLVM_ATTRIBUTE_ALWAYS_INLINE
- /*implicit*/ StringRef(const char *data, size_t length)
- : Data(data), Length(length) {
- assert((data || length == 0) &&
- "StringRef cannot be built from a NULL argument with non-null length");
- }
+ /*implicit*/ constexpr StringRef(const char *data, size_t length)
+ : Data(data), Length(length) {}
/// Construct a string ref from an std::string.
LLVM_ATTRIBUTE_ALWAYS_INLINE
/*implicit*/ StringRef(const std::string &Str)
: Data(Str.data()), Length(Str.length()) {}
+ static StringRef withNullAsEmpty(const char *data) {
+ return StringRef(data ? data : "");
+ }
+
/// @}
/// @name Iterators
/// @{
@@ -112,31 +120,37 @@
/// data - Get a pointer to the start of the string (which may not be null
/// terminated).
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
const char *data() const { return Data; }
/// empty - Check if the string is empty.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
bool empty() const { return Length == 0; }
/// size - Get the string size.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
size_t size() const { return Length; }
/// front - Get the first character in the string.
+ LLVM_NODISCARD
char front() const {
assert(!empty());
return Data[0];
}
/// back - Get the last character in the string.
+ LLVM_NODISCARD
char back() const {
assert(!empty());
return Data[Length-1];
}
// copy - Allocate copy in Allocator and return StringRef to it.
- template <typename Allocator> StringRef copy(Allocator &A) const {
+ template <typename Allocator>
+ LLVM_NODISCARD StringRef copy(Allocator &A) const {
// Don't request a length 0 copy from the allocator.
if (empty())
return StringRef();
@@ -147,6 +161,7 @@
/// equals - Check for string equality, this is more efficient than
/// compare() when the relative ordering of inequal strings isn't needed.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
bool equals(StringRef RHS) const {
return (Length == RHS.Length &&
@@ -154,12 +169,14 @@
}
/// equals_lower - Check for string equality, ignoring case.
+ LLVM_NODISCARD
bool equals_lower(StringRef RHS) const {
return Length == RHS.Length && compare_lower(RHS) == 0;
}
/// compare - Compare two strings; the result is -1, 0, or 1 if this string
/// is lexicographically less than, equal to, or greater than the \p RHS.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
int compare(StringRef RHS) const {
// Check the prefix for a mismatch.
@@ -173,10 +190,12 @@
}
/// compare_lower - Compare two strings, ignoring case.
+ LLVM_NODISCARD
int compare_lower(StringRef RHS) const;
/// compare_numeric - Compare two strings, treating sequences of digits as
/// numbers.
+ LLVM_NODISCARD
int compare_numeric(StringRef RHS) const;
/// \brief Determine the edit distance between this string and another
@@ -197,10 +216,12 @@
/// or (if \p AllowReplacements is \c true) replacements needed to
/// transform one of the given strings into the other. If zero,
/// the strings are identical.
+ LLVM_NODISCARD
unsigned edit_distance(StringRef Other, bool AllowReplacements = true,
unsigned MaxEditDistance = 0) const;
/// str - Get the contents as an std::string.
+ LLVM_NODISCARD
std::string str() const {
if (!Data) return std::string();
return std::string(Data, Length);
@@ -210,11 +231,21 @@
/// @name Operator Overloads
/// @{
+ LLVM_NODISCARD
char operator[](size_t Index) const {
assert(Index < Length && "Invalid index!");
return Data[Index];
}
+ /// Disallow accidental assignment from a temporary std::string.
+ ///
+ /// The declaration here is extra complicated so that `stringRef = {}`
+ /// and `stringRef = "abc"` continue to select the move assignment operator.
+ template <typename T>
+ typename std::enable_if<std::is_same<T, std::string>::value,
+ StringRef>::type &
+ operator=(T &&Str) = delete;
+
/// @}
/// @name Type Conversions
/// @{
@@ -228,6 +259,7 @@
/// @{
/// Check if this string starts with the given \p Prefix.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
bool startswith(StringRef Prefix) const {
return Length >= Prefix.Length &&
@@ -235,9 +267,11 @@
}
/// Check if this string starts with the given \p Prefix, ignoring case.
+ LLVM_NODISCARD
bool startswith_lower(StringRef Prefix) const;
/// Check if this string ends with the given \p Suffix.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
bool endswith(StringRef Suffix) const {
return Length >= Suffix.Length &&
@@ -245,6 +279,7 @@
}
/// Check if this string ends with the given \p Suffix, ignoring case.
+ LLVM_NODISCARD
bool endswith_lower(StringRef Suffix) const;
/// @}
@@ -255,6 +290,7 @@
///
/// \returns The index of the first occurrence of \p C, or npos if not
/// found.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
size_t find(char C, size_t From = 0) const {
size_t FindBegin = std::min(From, Length);
@@ -266,16 +302,58 @@
return npos;
}
+ /// Search for the first character \p C in the string, ignoring case.
+ ///
+ /// \returns The index of the first occurrence of \p C, or npos if not
+ /// found.
+ LLVM_NODISCARD
+ size_t find_lower(char C, size_t From = 0) const;
+
+ /// Search for the first character satisfying the predicate \p F
+ ///
+ /// \returns The index of the first character satisfying \p F starting from
+ /// \p From, or npos if not found.
+ LLVM_NODISCARD
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ size_t find_if(function_ref<bool(char)> F, size_t From = 0) const {
+ StringRef S = drop_front(From);
+ while (!S.empty()) {
+ if (F(S.front()))
+ return size() - S.size();
+ S = S.drop_front();
+ }
+ return npos;
+ }
+
+ /// Search for the first character not satisfying the predicate \p F
+ ///
+ /// \returns The index of the first character not satisfying \p F starting
+ /// from \p From, or npos if not found.
+ LLVM_NODISCARD
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ size_t find_if_not(function_ref<bool(char)> F, size_t From = 0) const {
+ return find_if([F](char c) { return !F(c); }, From);
+ }
+
/// Search for the first string \p Str in the string.
///
/// \returns The index of the first occurrence of \p Str, or npos if not
/// found.
+ LLVM_NODISCARD
size_t find(StringRef Str, size_t From = 0) const;
+ /// Search for the first string \p Str in the string, ignoring case.
+ ///
+ /// \returns The index of the first occurrence of \p Str, or npos if not
+ /// found.
+ LLVM_NODISCARD
+ size_t find_lower(StringRef Str, size_t From = 0) const;
+
/// Search for the last character \p C in the string.
///
/// \returns The index of the last occurrence of \p C, or npos if not
/// found.
+ LLVM_NODISCARD
size_t rfind(char C, size_t From = npos) const {
From = std::min(From, Length);
size_t i = From;
@@ -287,14 +365,30 @@
return npos;
}
+ /// Search for the last character \p C in the string, ignoring case.
+ ///
+ /// \returns The index of the last occurrence of \p C, or npos if not
+ /// found.
+ LLVM_NODISCARD
+ size_t rfind_lower(char C, size_t From = npos) const;
+
/// Search for the last string \p Str in the string.
///
/// \returns The index of the last occurrence of \p Str, or npos if not
/// found.
+ LLVM_NODISCARD
size_t rfind(StringRef Str) const;
+ /// Search for the last string \p Str in the string, ignoring case.
+ ///
+ /// \returns The index of the last occurrence of \p Str, or npos if not
+ /// found.
+ LLVM_NODISCARD
+ size_t rfind_lower(StringRef Str) const;
+
/// Find the first character in the string that is \p C, or npos if not
/// found. Same as find.
+ LLVM_NODISCARD
size_t find_first_of(char C, size_t From = 0) const {
return find(C, From);
}
@@ -303,20 +397,24 @@
/// not found.
///
/// Complexity: O(size() + Chars.size())
+ LLVM_NODISCARD
size_t find_first_of(StringRef Chars, size_t From = 0) const;
/// Find the first character in the string that is not \p C or npos if not
/// found.
+ LLVM_NODISCARD
size_t find_first_not_of(char C, size_t From = 0) const;
/// Find the first character in the string that is not in the string
/// \p Chars, or npos if not found.
///
/// Complexity: O(size() + Chars.size())
+ LLVM_NODISCARD
size_t find_first_not_of(StringRef Chars, size_t From = 0) const;
/// Find the last character in the string that is \p C, or npos if not
/// found.
+ LLVM_NODISCARD
size_t find_last_of(char C, size_t From = npos) const {
return rfind(C, From);
}
@@ -325,28 +423,53 @@
/// found.
///
/// Complexity: O(size() + Chars.size())
+ LLVM_NODISCARD
size_t find_last_of(StringRef Chars, size_t From = npos) const;
/// Find the last character in the string that is not \p C, or npos if not
/// found.
+ LLVM_NODISCARD
size_t find_last_not_of(char C, size_t From = npos) const;
/// Find the last character in the string that is not in \p Chars, or
/// npos if not found.
///
/// Complexity: O(size() + Chars.size())
+ LLVM_NODISCARD
size_t find_last_not_of(StringRef Chars, size_t From = npos) const;
/// Return true if the given string is a substring of *this, and false
/// otherwise.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
bool contains(StringRef Other) const { return find(Other) != npos; }
+ /// Return true if the given character is contained in *this, and false
+ /// otherwise.
+ LLVM_NODISCARD
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ bool contains(char C) const { return find_first_of(C) != npos; }
+
+ /// Return true if the given string is a substring of *this, and false
+ /// otherwise.
+ LLVM_NODISCARD
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ bool contains_lower(StringRef Other) const {
+ return find_lower(Other) != npos;
+ }
+
+ /// Return true if the given character is contained in *this, and false
+ /// otherwise.
+ LLVM_NODISCARD
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ bool contains_lower(char C) const { return find_lower(C) != npos; }
+
/// @}
/// @name Helpful Algorithms
/// @{
/// Return the number of occurrences of \p C in the string.
+ LLVM_NODISCARD
size_t count(char C) const {
size_t Count = 0;
for (size_t i = 0, e = Length; i != e; ++i)
@@ -391,6 +514,37 @@
return false;
}
+ /// Parse the current string as an integer of the specified radix. If
+ /// \p Radix is specified as zero, this does radix autosensing using
+ /// extended C rules: 0 is octal, 0x is hex, 0b is binary.
+ ///
+ /// If the string does not begin with a number of the specified radix,
+ /// this returns true to signify the error. The string is considered
+ /// erroneous if empty or if it overflows T.
+ /// The portion of the string representing the discovered numeric value
+ /// is removed from the beginning of the string.
+ template <typename T>
+ typename std::enable_if<std::numeric_limits<T>::is_signed, bool>::type
+ consumeInteger(unsigned Radix, T &Result) {
+ long long LLVal;
+ if (consumeSignedInteger(*this, Radix, LLVal) ||
+ static_cast<long long>(static_cast<T>(LLVal)) != LLVal)
+ return true;
+ Result = LLVal;
+ return false;
+ }
+
+ template <typename T>
+ typename std::enable_if<!std::numeric_limits<T>::is_signed, bool>::type
+ consumeInteger(unsigned Radix, T &Result) {
+ unsigned long long ULLVal;
+ if (consumeUnsignedInteger(*this, Radix, ULLVal) ||
+ static_cast<unsigned long long>(static_cast<T>(ULLVal)) != ULLVal)
+ return true;
+ Result = ULLVal;
+ return false;
+ }
+
/// Parse the current string as an integer of the specified \p Radix, or of
/// an autosensed radix if the \p Radix given is 0. The current value in
/// \p Result is discarded, and the storage is changed to be wide enough to
@@ -408,9 +562,11 @@
/// @{
// Convert the given ASCII string to lowercase.
+ LLVM_NODISCARD
std::string lower() const;
/// Convert the given ASCII string to uppercase.
+ LLVM_NODISCARD
std::string upper() const;
/// @}
@@ -426,8 +582,8 @@
/// \param N The number of characters to included in the substring. If N
/// exceeds the number of characters remaining in the string, the string
/// suffix (starting with \p Start) will be returned.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
- LLVM_ATTRIBUTE_UNUSED_RESULT
StringRef substr(size_t Start, size_t N = npos) const {
Start = std::min(Start, Length);
return StringRef(Data + Start, std::min(N, Length - Start));
@@ -436,8 +592,8 @@
/// Return a StringRef equal to 'this' but with only the first \p N
/// elements remaining. If \p N is greater than the length of the
/// string, the entire string is returned.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
- LLVM_ATTRIBUTE_UNUSED_RESULT
StringRef take_front(size_t N = 1) const {
if (N >= size())
return *this;
@@ -447,18 +603,34 @@
/// Return a StringRef equal to 'this' but with only the first \p N
/// elements remaining. If \p N is greater than the length of the
/// string, the entire string is returned.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
- LLVM_ATTRIBUTE_UNUSED_RESULT
StringRef take_back(size_t N = 1) const {
if (N >= size())
return *this;
return drop_front(size() - N);
}
+ /// Return the longest prefix of 'this' such that every character
+ /// in the prefix satisfies the given predicate.
+ LLVM_NODISCARD
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ StringRef take_while(function_ref<bool(char)> F) const {
+ return substr(0, find_if_not(F));
+ }
+
+ /// Return the longest prefix of 'this' such that no character in
+ /// the prefix satisfies the given predicate.
+ LLVM_NODISCARD
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ StringRef take_until(function_ref<bool(char)> F) const {
+ return substr(0, find_if(F));
+ }
+
/// Return a StringRef equal to 'this' but with the first \p N elements
/// dropped.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
- LLVM_ATTRIBUTE_UNUSED_RESULT
StringRef drop_front(size_t N = 1) const {
assert(size() >= N && "Dropping more elements than exist");
return substr(N);
@@ -466,17 +638,32 @@
/// Return a StringRef equal to 'this' but with the last \p N elements
/// dropped.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
- LLVM_ATTRIBUTE_UNUSED_RESULT
StringRef drop_back(size_t N = 1) const {
assert(size() >= N && "Dropping more elements than exist");
return substr(0, size()-N);
}
+ /// Return a StringRef equal to 'this', but with all characters satisfying
+ /// the given predicate dropped from the beginning of the string.
+ LLVM_NODISCARD
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ StringRef drop_while(function_ref<bool(char)> F) const {
+ return substr(find_if_not(F));
+ }
+
+ /// Return a StringRef equal to 'this', but with all characters not
+ /// satisfying the given predicate dropped from the beginning of the string.
+ LLVM_NODISCARD
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ StringRef drop_until(function_ref<bool(char)> F) const {
+ return substr(find_if(F));
+ }
+
/// Returns true if this StringRef has the given prefix and removes that
/// prefix.
LLVM_ATTRIBUTE_ALWAYS_INLINE
- LLVM_ATTRIBUTE_UNUSED_RESULT
bool consume_front(StringRef Prefix) {
if (!startswith(Prefix))
return false;
@@ -488,7 +675,6 @@
/// Returns true if this StringRef has the given suffix and removes that
/// suffix.
LLVM_ATTRIBUTE_ALWAYS_INLINE
- LLVM_ATTRIBUTE_UNUSED_RESULT
bool consume_back(StringRef Suffix) {
if (!endswith(Suffix))
return false;
@@ -508,8 +694,8 @@
/// remaining in the string, the string suffix (starting with \p Start)
/// will be returned. If this is less than \p Start, an empty string will
/// be returned.
+ LLVM_NODISCARD
LLVM_ATTRIBUTE_ALWAYS_INLINE
- LLVM_ATTRIBUTE_UNUSED_RESULT
StringRef slice(size_t Start, size_t End) const {
Start = std::min(Start, Length);
End = std::min(std::max(Start, End), Length);
@@ -526,6 +712,7 @@
///
/// \param Separator The character to split on.
/// \returns The split substrings.
+ LLVM_NODISCARD
std::pair<StringRef, StringRef> split(char Separator) const {
size_t Idx = find(Separator);
if (Idx == npos)
@@ -543,6 +730,7 @@
///
/// \param Separator - The string to split on.
/// \return - The split substrings.
+ LLVM_NODISCARD
std::pair<StringRef, StringRef> split(StringRef Separator) const {
size_t Idx = find(Separator);
if (Idx == npos)
@@ -595,6 +783,7 @@
///
/// \param Separator - The character to split on.
/// \return - The split substrings.
+ LLVM_NODISCARD
std::pair<StringRef, StringRef> rsplit(char Separator) const {
size_t Idx = rfind(Separator);
if (Idx == npos)
@@ -604,42 +793,42 @@
/// Return string with consecutive \p Char characters starting from the
/// the left removed.
- LLVM_ATTRIBUTE_UNUSED_RESULT
+ LLVM_NODISCARD
StringRef ltrim(char Char) const {
return drop_front(std::min(Length, find_first_not_of(Char)));
}
/// Return string with consecutive characters in \p Chars starting from
/// the left removed.
- LLVM_ATTRIBUTE_UNUSED_RESULT
+ LLVM_NODISCARD
StringRef ltrim(StringRef Chars = " \t\n\v\f\r") const {
return drop_front(std::min(Length, find_first_not_of(Chars)));
}
/// Return string with consecutive \p Char characters starting from the
/// right removed.
- LLVM_ATTRIBUTE_UNUSED_RESULT
+ LLVM_NODISCARD
StringRef rtrim(char Char) const {
return drop_back(Length - std::min(Length, find_last_not_of(Char) + 1));
}
/// Return string with consecutive characters in \p Chars starting from
/// the right removed.
- LLVM_ATTRIBUTE_UNUSED_RESULT
+ LLVM_NODISCARD
StringRef rtrim(StringRef Chars = " \t\n\v\f\r") const {
return drop_back(Length - std::min(Length, find_last_not_of(Chars) + 1));
}
/// Return string with consecutive \p Char characters starting from the
/// left and right removed.
- LLVM_ATTRIBUTE_UNUSED_RESULT
+ LLVM_NODISCARD
StringRef trim(char Char) const {
return ltrim(Char).rtrim(Char);
}
/// Return string with consecutive characters in \p Chars starting from
/// the left and right removed.
- LLVM_ATTRIBUTE_UNUSED_RESULT
+ LLVM_NODISCARD
StringRef trim(StringRef Chars = " \t\n\v\f\r") const {
return ltrim(Chars).rtrim(Chars);
}
@@ -647,6 +836,28 @@
/// @}
};
+ /// A wrapper around a string literal that serves as a proxy for constructing
+ /// global tables of StringRefs with the length computed at compile time.
+ /// In order to avoid the invocation of a global constructor, StringLiteral
+ /// should *only* be used in a constexpr context, as such:
+ ///
+ /// constexpr StringLiteral S("test");
+ ///
+ class StringLiteral : public StringRef {
+ public:
+ template <size_t N>
+ constexpr StringLiteral(const char (&Str)[N])
+#if defined(__clang__) && __has_attribute(enable_if)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wgcc-compat"
+ __attribute((enable_if(__builtin_strlen(Str) == N - 1,
+ "invalid string literal")))
+#pragma clang diagnostic pop
+#endif
+ : StringRef(Str, N - 1) {
+ }
+ };
+
/// @name StringRef Comparison Operators
/// @{
@@ -656,9 +867,7 @@
}
LLVM_ATTRIBUTE_ALWAYS_INLINE
- inline bool operator!=(StringRef LHS, StringRef RHS) {
- return !(LHS == RHS);
- }
+ inline bool operator!=(StringRef LHS, StringRef RHS) { return !(LHS == RHS); }
inline bool operator<(StringRef LHS, StringRef RHS) {
return LHS.compare(RHS) == -1;
@@ -683,6 +892,7 @@
/// @}
/// \brief Compute a hash_code for a StringRef.
+ LLVM_NODISCARD
hash_code hash_value(StringRef S);
// StringRefs can be treated like a POD type.
diff --git a/third_party/llvm-subzero/include/llvm/ADT/StringSwitch.h b/third_party/llvm-subzero/include/llvm/ADT/StringSwitch.h
index bd200fc..75577b7 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/StringSwitch.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/StringSwitch.h
@@ -68,104 +68,182 @@
~StringSwitch() = default;
+ // Case-sensitive case matchers
template<unsigned N>
LLVM_ATTRIBUTE_ALWAYS_INLINE
StringSwitch& Case(const char (&S)[N], const T& Value) {
+ assert(N);
if (!Result && N-1 == Str.size() &&
- (std::memcmp(S, Str.data(), N-1) == 0)) {
+ (N == 1 || std::memcmp(S, Str.data(), N-1) == 0)) {
Result = &Value;
}
-
return *this;
}
template<unsigned N>
LLVM_ATTRIBUTE_ALWAYS_INLINE
StringSwitch& EndsWith(const char (&S)[N], const T &Value) {
+ assert(N);
if (!Result && Str.size() >= N-1 &&
- std::memcmp(S, Str.data() + Str.size() + 1 - N, N-1) == 0) {
+ (N == 1 || std::memcmp(S, Str.data() + Str.size() + 1 - N, N-1) == 0)) {
Result = &Value;
}
-
return *this;
}
template<unsigned N>
LLVM_ATTRIBUTE_ALWAYS_INLINE
StringSwitch& StartsWith(const char (&S)[N], const T &Value) {
+ assert(N);
if (!Result && Str.size() >= N-1 &&
- std::memcmp(S, Str.data(), N-1) == 0) {
+ (N == 1 || std::memcmp(S, Str.data(), N-1) == 0)) {
Result = &Value;
}
-
return *this;
}
template<unsigned N0, unsigned N1>
LLVM_ATTRIBUTE_ALWAYS_INLINE
- StringSwitch& Cases(const char (&S0)[N0], const char (&S1)[N1],
+ StringSwitch &Cases(const char (&S0)[N0], const char (&S1)[N1],
const T& Value) {
- if (!Result && (
- (N0-1 == Str.size() && std::memcmp(S0, Str.data(), N0-1) == 0) ||
- (N1-1 == Str.size() && std::memcmp(S1, Str.data(), N1-1) == 0))) {
- Result = &Value;
- }
-
- return *this;
+ return Case(S0, Value).Case(S1, Value);
}
template<unsigned N0, unsigned N1, unsigned N2>
LLVM_ATTRIBUTE_ALWAYS_INLINE
- StringSwitch& Cases(const char (&S0)[N0], const char (&S1)[N1],
+ StringSwitch &Cases(const char (&S0)[N0], const char (&S1)[N1],
const char (&S2)[N2], const T& Value) {
- if (!Result && (
- (N0-1 == Str.size() && std::memcmp(S0, Str.data(), N0-1) == 0) ||
- (N1-1 == Str.size() && std::memcmp(S1, Str.data(), N1-1) == 0) ||
- (N2-1 == Str.size() && std::memcmp(S2, Str.data(), N2-1) == 0))) {
- Result = &Value;
- }
-
- return *this;
+ return Case(S0, Value).Cases(S1, S2, Value);
}
template<unsigned N0, unsigned N1, unsigned N2, unsigned N3>
LLVM_ATTRIBUTE_ALWAYS_INLINE
- StringSwitch& Cases(const char (&S0)[N0], const char (&S1)[N1],
+ StringSwitch &Cases(const char (&S0)[N0], const char (&S1)[N1],
const char (&S2)[N2], const char (&S3)[N3],
const T& Value) {
- if (!Result && (
- (N0-1 == Str.size() && std::memcmp(S0, Str.data(), N0-1) == 0) ||
- (N1-1 == Str.size() && std::memcmp(S1, Str.data(), N1-1) == 0) ||
- (N2-1 == Str.size() && std::memcmp(S2, Str.data(), N2-1) == 0) ||
- (N3-1 == Str.size() && std::memcmp(S3, Str.data(), N3-1) == 0))) {
- Result = &Value;
- }
-
- return *this;
+ return Case(S0, Value).Cases(S1, S2, S3, Value);
}
template<unsigned N0, unsigned N1, unsigned N2, unsigned N3, unsigned N4>
LLVM_ATTRIBUTE_ALWAYS_INLINE
- StringSwitch& Cases(const char (&S0)[N0], const char (&S1)[N1],
+ StringSwitch &Cases(const char (&S0)[N0], const char (&S1)[N1],
const char (&S2)[N2], const char (&S3)[N3],
const char (&S4)[N4], const T& Value) {
- if (!Result && (
- (N0-1 == Str.size() && std::memcmp(S0, Str.data(), N0-1) == 0) ||
- (N1-1 == Str.size() && std::memcmp(S1, Str.data(), N1-1) == 0) ||
- (N2-1 == Str.size() && std::memcmp(S2, Str.data(), N2-1) == 0) ||
- (N3-1 == Str.size() && std::memcmp(S3, Str.data(), N3-1) == 0) ||
- (N4-1 == Str.size() && std::memcmp(S4, Str.data(), N4-1) == 0))) {
+ return Case(S0, Value).Cases(S1, S2, S3, S4, Value);
+ }
+
+ template <unsigned N0, unsigned N1, unsigned N2, unsigned N3, unsigned N4,
+ unsigned N5>
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ StringSwitch &Cases(const char (&S0)[N0], const char (&S1)[N1],
+ const char (&S2)[N2], const char (&S3)[N3],
+ const char (&S4)[N4], const char (&S5)[N5],
+ const T &Value) {
+ return Case(S0, Value).Cases(S1, S2, S3, S4, S5, Value);
+ }
+
+ template <unsigned N0, unsigned N1, unsigned N2, unsigned N3, unsigned N4,
+ unsigned N5, unsigned N6>
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ StringSwitch &Cases(const char (&S0)[N0], const char (&S1)[N1],
+ const char (&S2)[N2], const char (&S3)[N3],
+ const char (&S4)[N4], const char (&S5)[N5],
+ const char (&S6)[N6], const T &Value) {
+ return Case(S0, Value).Cases(S1, S2, S3, S4, S5, S6, Value);
+ }
+
+ template <unsigned N0, unsigned N1, unsigned N2, unsigned N3, unsigned N4,
+ unsigned N5, unsigned N6, unsigned N7>
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ StringSwitch &Cases(const char (&S0)[N0], const char (&S1)[N1],
+ const char (&S2)[N2], const char (&S3)[N3],
+ const char (&S4)[N4], const char (&S5)[N5],
+ const char (&S6)[N6], const char (&S7)[N7],
+ const T &Value) {
+ return Case(S0, Value).Cases(S1, S2, S3, S4, S5, S6, S7, Value);
+ }
+
+ template <unsigned N0, unsigned N1, unsigned N2, unsigned N3, unsigned N4,
+ unsigned N5, unsigned N6, unsigned N7, unsigned N8>
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ StringSwitch &Cases(const char (&S0)[N0], const char (&S1)[N1],
+ const char (&S2)[N2], const char (&S3)[N3],
+ const char (&S4)[N4], const char (&S5)[N5],
+ const char (&S6)[N6], const char (&S7)[N7],
+ const char (&S8)[N8], const T &Value) {
+ return Case(S0, Value).Cases(S1, S2, S3, S4, S5, S6, S7, S8, Value);
+ }
+
+ template <unsigned N0, unsigned N1, unsigned N2, unsigned N3, unsigned N4,
+ unsigned N5, unsigned N6, unsigned N7, unsigned N8, unsigned N9>
+ LLVM_ATTRIBUTE_ALWAYS_INLINE
+ StringSwitch &Cases(const char (&S0)[N0], const char (&S1)[N1],
+ const char (&S2)[N2], const char (&S3)[N3],
+ const char (&S4)[N4], const char (&S5)[N5],
+ const char (&S6)[N6], const char (&S7)[N7],
+ const char (&S8)[N8], const char (&S9)[N9],
+ const T &Value) {
+ return Case(S0, Value).Cases(S1, S2, S3, S4, S5, S6, S7, S8, S9, Value);
+ }
+
+ // Case-insensitive case matchers.
+ template <unsigned N>
+ LLVM_ATTRIBUTE_ALWAYS_INLINE StringSwitch &CaseLower(const char (&S)[N],
+ const T &Value) {
+ if (!Result && Str.equals_lower(StringRef(S, N - 1)))
Result = &Value;
- }
return *this;
}
+ template <unsigned N>
+ LLVM_ATTRIBUTE_ALWAYS_INLINE StringSwitch &EndsWithLower(const char (&S)[N],
+ const T &Value) {
+ if (!Result && Str.endswith_lower(StringRef(S, N - 1)))
+ Result = &Value;
+
+ return *this;
+ }
+
+ template <unsigned N>
+ LLVM_ATTRIBUTE_ALWAYS_INLINE StringSwitch &StartsWithLower(const char (&S)[N],
+ const T &Value) {
+ if (!Result && Str.startswith_lower(StringRef(S, N - 1)))
+ Result = &Value;
+
+ return *this;
+ }
+ template <unsigned N0, unsigned N1>
+ LLVM_ATTRIBUTE_ALWAYS_INLINE StringSwitch &
+ CasesLower(const char (&S0)[N0], const char (&S1)[N1], const T &Value) {
+ return CaseLower(S0, Value).CaseLower(S1, Value);
+ }
+
+ template <unsigned N0, unsigned N1, unsigned N2>
+ LLVM_ATTRIBUTE_ALWAYS_INLINE StringSwitch &
+ CasesLower(const char (&S0)[N0], const char (&S1)[N1], const char (&S2)[N2],
+ const T &Value) {
+ return CaseLower(S0, Value).CasesLower(S1, S2, Value);
+ }
+
+ template <unsigned N0, unsigned N1, unsigned N2, unsigned N3>
+ LLVM_ATTRIBUTE_ALWAYS_INLINE StringSwitch &
+ CasesLower(const char (&S0)[N0], const char (&S1)[N1], const char (&S2)[N2],
+ const char (&S3)[N3], const T &Value) {
+ return CaseLower(S0, Value).CasesLower(S1, S2, S3, Value);
+ }
+
+ template <unsigned N0, unsigned N1, unsigned N2, unsigned N3, unsigned N4>
+ LLVM_ATTRIBUTE_ALWAYS_INLINE StringSwitch &
+ CasesLower(const char (&S0)[N0], const char (&S1)[N1], const char (&S2)[N2],
+ const char (&S3)[N3], const char (&S4)[N4], const T &Value) {
+ return CaseLower(S0, Value).CasesLower(S1, S2, S3, S4, Value);
+ }
+
LLVM_ATTRIBUTE_ALWAYS_INLINE
- R Default(const T& Value) const {
+ R Default(const T &Value) const {
if (Result)
return *Result;
-
return Value;
}
diff --git a/third_party/llvm-subzero/include/llvm/ADT/Triple.h b/third_party/llvm-subzero/include/llvm/ADT/Triple.h
index b98f840..d4130e1 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/Triple.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/Triple.h
@@ -64,11 +64,14 @@
ppc64le, // PPC64LE: powerpc64le
r600, // R600: AMD GPUs HD2XXX - HD6XXX
amdgcn, // AMDGCN: AMD GCN GPUs
+ riscv32, // RISC-V (32-bit): riscv32
+ riscv64, // RISC-V (64-bit): riscv64
sparc, // Sparc: sparc
sparcv9, // Sparcv9: Sparcv9
sparcel, // Sparc: (endianness = little). NB: 'Sparcle' is a CPU variant
systemz, // SystemZ: s390x
tce, // TCE (http://tce.cs.tut.fi/): tce
+ tcele, // TCE little endian (http://tce.cs.tut.fi/): tcele
thumb, // Thumb (little endian): thumb, thumbv.*
thumbeb, // Thumb (big endian): thumbeb
x86, // X86: i[3-9]86
@@ -99,6 +102,7 @@
ARMSubArch_v8_2a,
ARMSubArch_v8_1a,
ARMSubArch_v8,
+ ARMSubArch_v8r,
ARMSubArch_v8m_baseline,
ARMSubArch_v8m_mainline,
ARMSubArch_v7,
@@ -144,6 +148,7 @@
Darwin,
DragonFly,
FreeBSD,
+ Fuchsia,
IOS,
KFreeBSD,
Linux,
@@ -168,7 +173,8 @@
TvOS, // Apple tvOS
WatchOS, // Apple watchOS
Mesa3D,
- LastOSType = Mesa3D
+ Contiki,
+ LastOSType = Contiki
};
enum EnvironmentType {
UnknownEnvironment,
@@ -191,7 +197,8 @@
Cygnus,
AMDOpenCL,
CoreCLR,
- LastEnvironmentType = CoreCLR
+ OpenCL,
+ LastEnvironmentType = OpenCL
};
enum ObjectFormatType {
UnknownObjectFormat,
@@ -461,6 +468,10 @@
return getOS() == Triple::FreeBSD;
}
+ bool isOSFuchsia() const {
+ return getOS() == Triple::Fuchsia;
+ }
+
bool isOSDragonFly() const { return getOS() == Triple::DragonFly; }
bool isOSSolaris() const {
@@ -482,6 +493,10 @@
Env == Triple::GNUX32;
}
+ bool isOSContiki() const {
+ return getOS() == Triple::Contiki;
+ }
+
/// Checks if the environment could be MSVC.
bool isWindowsMSVCEnvironment() const {
return getOS() == Triple::Win32 &&
@@ -690,7 +705,7 @@
/// @{
/// getArchTypeName - Get the canonical name for the \p Kind architecture.
- static const char *getArchTypeName(ArchType Kind);
+ static StringRef getArchTypeName(ArchType Kind);
/// getArchTypePrefix - Get the "prefix" canonical name for the \p Kind
/// architecture. This is the prefix used by the architecture specific
@@ -698,17 +713,17 @@
/// Intrinsic::getIntrinsicForGCCBuiltin().
///
/// \return - The architecture prefix, or 0 if none is defined.
- static const char *getArchTypePrefix(ArchType Kind);
+ static StringRef getArchTypePrefix(ArchType Kind);
/// getVendorTypeName - Get the canonical name for the \p Kind vendor.
- static const char *getVendorTypeName(VendorType Kind);
+ static StringRef getVendorTypeName(VendorType Kind);
/// getOSTypeName - Get the canonical name for the \p Kind operating system.
- static const char *getOSTypeName(OSType Kind);
+ static StringRef getOSTypeName(OSType Kind);
/// getEnvironmentTypeName - Get the canonical name for the \p Kind
/// environment.
- static const char *getEnvironmentTypeName(EnvironmentType Kind);
+ static StringRef getEnvironmentTypeName(EnvironmentType Kind);
/// @}
/// @name Static helpers for converting alternate architecture names.
diff --git a/third_party/llvm-subzero/include/llvm/ADT/Twine.h b/third_party/llvm-subzero/include/llvm/ADT/Twine.h
index 81b1a6d..f5f00dc 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/Twine.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/Twine.h
@@ -12,12 +12,14 @@
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
-#include "llvm/Support/DataTypes.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
+#include <cstdint>
#include <string>
namespace llvm {
+
+ class formatv_object_base;
class raw_ostream;
/// Twine - A lightweight data structure for efficiently representing the
@@ -101,6 +103,9 @@
/// A pointer to a SmallString instance.
SmallStringKind,
+ /// A pointer to a formatv_object_base instance.
+ FormatvObjectKind,
+
/// A char value, to render as a character.
CharKind,
@@ -136,6 +141,7 @@
const std::string *stdString;
const StringRef *stringRef;
const SmallVectorImpl<char> *smallString;
+ const formatv_object_base *formatvObject;
char character;
unsigned int decUI;
int decI;
@@ -146,7 +152,6 @@
const uint64_t *uHex;
};
- private:
/// LHS - The prefix in the concatenation, which may be uninitialized for
/// Null or Empty kinds.
Child LHS;
@@ -158,7 +163,6 @@
/// RHSKind - The NodeKind of the right hand side, \see getRHSKind().
NodeKind RHSKind;
- private:
/// Construct a nullary twine; the kind must be NullKind or EmptyKind.
explicit Twine(NodeKind Kind)
: LHSKind(Kind), RHSKind(EmptyKind) {
@@ -179,10 +183,6 @@
assert(isValid() && "Invalid twine!");
}
- /// Since the intended use of twines is as temporary objects, assignments
- /// when concatenating might cause undefined behavior or stack corruptions
- Twine &operator=(const Twine &Other) = delete;
-
/// Check for the null twine.
bool isNull() const {
return getLHSKind() == NullKind;
@@ -295,6 +295,13 @@
assert(isValid() && "Invalid twine!");
}
+ /// Construct from a formatv_object_base.
+ /*implicit*/ Twine(const formatv_object_base &Fmt)
+ : LHSKind(FormatvObjectKind), RHSKind(EmptyKind) {
+ LHS.formatvObject = &Fmt;
+ assert(isValid() && "Invalid twine!");
+ }
+
/// Construct from a char.
explicit Twine(char Val)
: LHSKind(CharKind), RHSKind(EmptyKind) {
@@ -370,6 +377,10 @@
assert(isValid() && "Invalid twine!");
}
+ /// Since the intended use of twines is as temporary objects, assignments
+ /// when concatenating might cause undefined behavior or stack corruptions
+ Twine &operator=(const Twine &) = delete;
+
/// Create a 'null' string, which is an empty string that always
/// concatenates to form another empty string.
static Twine createNull() {
@@ -535,6 +546,7 @@
}
/// @}
-}
-#endif
+} // end namespace llvm
+
+#endif // LLVM_ADT_TWINE_H
diff --git a/third_party/llvm-subzero/include/llvm/ADT/ilist.h b/third_party/llvm-subzero/include/llvm/ADT/ilist.h
index ce5af68..a788f81 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/ilist.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/ilist.h
@@ -25,30 +25,30 @@
#define LLVM_ADT_ILIST_H
#include "llvm/ADT/simple_ilist.h"
-#include "llvm/Support/Compiler.h"
#include <cassert>
#include <cstddef>
#include <iterator>
-#include <type_traits>
namespace llvm {
-/// Use new/delete by default for iplist and ilist.
+/// Use delete by default for iplist and ilist.
///
-/// Specialize this to get different behaviour for allocation-related API. (If
-/// you really want new/delete, consider just using std::list.)
+/// Specialize this to get different behaviour for ownership-related API. (If
+/// you really want ownership semantics, consider using std::list or building
+/// something like \a BumpPtrList.)
///
/// \see ilist_noalloc_traits
template <typename NodeTy> struct ilist_alloc_traits {
- static NodeTy *createNode(const NodeTy &V) { return new NodeTy(V); }
static void deleteNode(NodeTy *V) { delete V; }
};
-/// Custom traits to disable node creation and do nothing on deletion.
+/// Custom traits to do nothing on deletion.
///
/// Specialize ilist_alloc_traits to inherit from this to disable the
-/// non-intrusive parts of iplist and/or ilist. It has no createNode function,
-/// and deleteNode does nothing.
+/// non-intrusive deletion in iplist (which implies ownership).
+///
+/// If you want purely intrusive semantics with no callbacks, consider using \a
+/// simple_ilist instead.
///
/// \code
/// template <>
@@ -136,9 +136,26 @@
static const bool value = sizeof(test<TraitsT>(nullptr)) == sizeof(Yes);
};
+/// Type trait to check for a traits class that has a createNode member.
+/// Allocation should be managed in a wrapper class, instead of in
+/// ilist_traits.
+template <class TraitsT, class NodeT> struct HasCreateNode {
+ typedef char Yes[1];
+ typedef char No[2];
+ template <size_t N> struct SFINAE {};
+
+ template <class U>
+ static Yes &test(U *I, decltype(I->createNode(make<NodeT>())) * = 0);
+ template <class> static No &test(...);
+
+public:
+ static const bool value = sizeof(test<TraitsT>(nullptr)) == sizeof(Yes);
+};
+
template <class TraitsT, class NodeT> struct HasObsoleteCustomization {
- static const bool value =
- HasGetNext<TraitsT, NodeT>::value || HasCreateSentinel<TraitsT>::value;
+ static const bool value = HasGetNext<TraitsT, NodeT>::value ||
+ HasCreateSentinel<TraitsT>::value ||
+ HasCreateNode<TraitsT, NodeT>::value;
};
} // end namespace ilist_detail
@@ -161,6 +178,9 @@
class iplist_impl : public TraitsT, IntrusiveListT {
typedef IntrusiveListT base_list_type;
+protected:
+ typedef iplist_impl iplist_impl_type;
+
public:
typedef typename base_list_type::pointer pointer;
typedef typename base_list_type::const_pointer const_pointer;
@@ -186,12 +206,20 @@
static bool op_less(const_reference L, const_reference R) { return L < R; }
static bool op_equal(const_reference L, const_reference R) { return L == R; }
- // Copying intrusively linked nodes doesn't make sense.
- iplist_impl(const iplist_impl &) = delete;
- void operator=(const iplist_impl &) = delete;
-
public:
iplist_impl() = default;
+
+ iplist_impl(const iplist_impl &) = delete;
+ iplist_impl &operator=(const iplist_impl &) = delete;
+
+ iplist_impl(iplist_impl &&X)
+ : TraitsT(std::move(X)), IntrusiveListT(std::move(X)) {}
+ iplist_impl &operator=(iplist_impl &&X) {
+ *static_cast<TraitsT *>(this) = std::move(X);
+ *static_cast<IntrusiveListT *>(this) = std::move(X);
+ return *this;
+ }
+
~iplist_impl() { clear(); }
// Miscellaneous inspection routines.
@@ -226,6 +254,13 @@
return insert(++where, New);
}
+ /// Clone another list.
+ template <class Cloner> void cloneFrom(const iplist_impl &L2, Cloner clone) {
+ clear();
+ for (const_reference V : L2)
+ push_back(clone(V));
+ }
+
pointer remove(iterator &IT) {
pointer Node = &*IT++;
this->removeNodeFromList(Node); // Notify traits that we removed a node...
@@ -272,7 +307,6 @@
}
public:
-
//===----------------------------------------------------------------------===
// Functionality derived from other functions defined above...
//
@@ -362,96 +396,39 @@
/// An intrusive list with ownership and callbacks specified/controlled by
/// ilist_traits, only with API safe for polymorphic types.
-template <class T>
-class iplist : public iplist_impl<simple_ilist<T>, ilist_traits<T>> {};
-
-/// An intrusive list with ownership and callbacks specified/controlled by
-/// ilist_traits, with API that is unsafe for polymorphic types.
-template <class T> class ilist : public iplist<T> {
- typedef iplist<T> base_list_type;
+///
+/// The \p Options parameters are the same as those for \a simple_ilist. See
+/// there for a description of what's available.
+template <class T, class... Options>
+class iplist
+ : public iplist_impl<simple_ilist<T, Options...>, ilist_traits<T>> {
+ typedef typename iplist::iplist_impl_type iplist_impl_type;
public:
- typedef typename base_list_type::size_type size_type;
- typedef typename base_list_type::iterator iterator;
- typedef typename base_list_type::value_type value_type;
- typedef typename base_list_type::const_reference const_reference;
+ iplist() = default;
- ilist() {}
- ilist(const ilist &right) : base_list_type() {
- insert(this->begin(), right.begin(), right.end());
+ iplist(const iplist &X) = delete;
+ iplist &operator=(const iplist &X) = delete;
+
+ iplist(iplist &&X) : iplist_impl_type(std::move(X)) {}
+ iplist &operator=(iplist &&X) {
+ *static_cast<iplist_impl_type *>(this) = std::move(X);
+ return *this;
}
- explicit ilist(size_type count) {
- insert(this->begin(), count, value_type());
- }
- ilist(size_type count, const_reference val) {
- insert(this->begin(), count, val);
- }
- template<class InIt> ilist(InIt first, InIt last) {
- insert(this->begin(), first, last);
- }
-
- // bring hidden functions into scope
- using base_list_type::insert;
- using base_list_type::push_front;
- using base_list_type::push_back;
-
- // Main implementation here - Insert for a node passed by value...
- iterator insert(iterator where, const_reference val) {
- return insert(where, this->createNode(val));
- }
-
-
- // Front and back inserters...
- void push_front(const_reference val) { insert(this->begin(), val); }
- void push_back(const_reference val) { insert(this->end(), val); }
-
- void insert(iterator where, size_type count, const_reference val) {
- for (; count != 0; --count) insert(where, val);
- }
-
- // Assign special forms...
- void assign(size_type count, const_reference val) {
- iterator I = this->begin();
- for (; I != this->end() && count != 0; ++I, --count)
- *I = val;
- if (count != 0)
- insert(this->end(), val, val);
- else
- erase(I, this->end());
- }
- template<class InIt> void assign(InIt first1, InIt last1) {
- iterator first2 = this->begin(), last2 = this->end();
- for ( ; first1 != last1 && first2 != last2; ++first1, ++first2)
- *first1 = *first2;
- if (first2 == last2)
- erase(first1, last1);
- else
- insert(last1, first2, last2);
- }
-
-
- // Resize members...
- void resize(size_type newsize, value_type val) {
- iterator i = this->begin();
- size_type len = 0;
- for ( ; i != this->end() && len < newsize; ++i, ++len) /* empty*/ ;
-
- if (len == newsize)
- erase(i, this->end());
- else // i == end()
- insert(this->end(), newsize - len, val);
- }
- void resize(size_type newsize) { resize(newsize, value_type()); }
};
-} // End llvm namespace
+template <class T, class... Options> using ilist = iplist<T, Options...>;
+
+} // end namespace llvm
namespace std {
+
// Ensure that swap uses the fast list swap...
template<class Ty>
void swap(llvm::iplist<Ty> &Left, llvm::iplist<Ty> &Right) {
Left.swap(Right);
}
-} // End 'std' extensions...
+
+} // end namespace std
#endif // LLVM_ADT_ILIST_H
diff --git a/third_party/llvm-subzero/include/llvm/ADT/ilist_base.h b/third_party/llvm-subzero/include/llvm/ADT/ilist_base.h
index a41696d..1ffc864 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/ilist_base.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/ilist_base.h
@@ -18,19 +18,21 @@
namespace llvm {
/// Implementations of list algorithms using ilist_node_base.
-class ilist_base {
+template <bool EnableSentinelTracking> class ilist_base {
public:
- static void insertBeforeImpl(ilist_node_base &Next, ilist_node_base &N) {
- ilist_node_base &Prev = *Next.getPrev();
+ typedef ilist_node_base<EnableSentinelTracking> node_base_type;
+
+ static void insertBeforeImpl(node_base_type &Next, node_base_type &N) {
+ node_base_type &Prev = *Next.getPrev();
N.setNext(&Next);
N.setPrev(&Prev);
Prev.setNext(&N);
Next.setPrev(&N);
}
- static void removeImpl(ilist_node_base &N) {
- ilist_node_base *Prev = N.getPrev();
- ilist_node_base *Next = N.getNext();
+ static void removeImpl(node_base_type &N) {
+ node_base_type *Prev = N.getPrev();
+ node_base_type *Next = N.getNext();
Next->setPrev(Prev);
Prev->setNext(Next);
@@ -39,9 +41,9 @@
N.setNext(nullptr);
}
- static void removeRangeImpl(ilist_node_base &First, ilist_node_base &Last) {
- ilist_node_base *Prev = First.getPrev();
- ilist_node_base *Final = Last.getPrev();
+ static void removeRangeImpl(node_base_type &First, node_base_type &Last) {
+ node_base_type *Prev = First.getPrev();
+ node_base_type *Final = Last.getPrev();
Last.setPrev(Prev);
Prev->setNext(&Last);
@@ -50,8 +52,8 @@
Final->setNext(nullptr);
}
- static void transferBeforeImpl(ilist_node_base &Next, ilist_node_base &First,
- ilist_node_base &Last) {
+ static void transferBeforeImpl(node_base_type &Next, node_base_type &First,
+ node_base_type &Last) {
if (&Next == &Last || &First == &Last)
return;
@@ -60,14 +62,14 @@
// Check for the most common mistake.
"Insertion point can't be one of the transferred nodes");
- ilist_node_base &Final = *Last.getPrev();
+ node_base_type &Final = *Last.getPrev();
// Detach from old list/position.
First.getPrev()->setNext(&Last);
Last.setPrev(First.getPrev());
// Splice [First, Final] into its new list/position.
- ilist_node_base &Prev = *Next.getPrev();
+ node_base_type &Prev = *Next.getPrev();
Final.setNext(&Next);
First.setPrev(&Prev);
Prev.setNext(&First);
diff --git a/third_party/llvm-subzero/include/llvm/ADT/ilist_iterator.h b/third_party/llvm-subzero/include/llvm/ADT/ilist_iterator.h
index d106d0c..ef532d2 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/ilist_iterator.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/ilist_iterator.h
@@ -20,76 +20,85 @@
namespace ilist_detail {
-template <class NodeTy> struct ConstCorrectNodeType {
- typedef ilist_node<NodeTy> type;
+/// Find const-correct node types.
+template <class OptionsT, bool IsConst> struct IteratorTraits;
+template <class OptionsT> struct IteratorTraits<OptionsT, false> {
+ typedef typename OptionsT::value_type value_type;
+ typedef typename OptionsT::pointer pointer;
+ typedef typename OptionsT::reference reference;
+ typedef ilist_node_impl<OptionsT> *node_pointer;
+ typedef ilist_node_impl<OptionsT> &node_reference;
};
-template <class NodeTy> struct ConstCorrectNodeType<const NodeTy> {
- typedef const ilist_node<NodeTy> type;
+template <class OptionsT> struct IteratorTraits<OptionsT, true> {
+ typedef const typename OptionsT::value_type value_type;
+ typedef typename OptionsT::const_pointer pointer;
+ typedef typename OptionsT::const_reference reference;
+ typedef const ilist_node_impl<OptionsT> *node_pointer;
+ typedef const ilist_node_impl<OptionsT> &node_reference;
};
-template <bool IsReverse = false> struct IteratorHelper {
- template <class T> static void increment(T *&I) {
- I = ilist_node_access::getNext(*I);
- }
- template <class T> static void decrement(T *&I) {
- I = ilist_node_access::getPrev(*I);
- }
+template <bool IsReverse> struct IteratorHelper;
+template <> struct IteratorHelper<false> : ilist_detail::NodeAccess {
+ typedef ilist_detail::NodeAccess Access;
+ template <class T> static void increment(T *&I) { I = Access::getNext(*I); }
+ template <class T> static void decrement(T *&I) { I = Access::getPrev(*I); }
};
-template <> struct IteratorHelper<true> {
- template <class T> static void increment(T *&I) {
- IteratorHelper<false>::decrement(I);
- }
- template <class T> static void decrement(T *&I) {
- IteratorHelper<false>::increment(I);
- }
+template <> struct IteratorHelper<true> : ilist_detail::NodeAccess {
+ typedef ilist_detail::NodeAccess Access;
+ template <class T> static void increment(T *&I) { I = Access::getPrev(*I); }
+ template <class T> static void decrement(T *&I) { I = Access::getNext(*I); }
};
} // end namespace ilist_detail
/// Iterator for intrusive lists based on ilist_node.
-template <typename NodeTy, bool IsReverse> class ilist_iterator {
+template <class OptionsT, bool IsReverse, bool IsConst>
+class ilist_iterator : ilist_detail::SpecificNodeAccess<OptionsT> {
+ friend ilist_iterator<OptionsT, IsReverse, !IsConst>;
+ friend ilist_iterator<OptionsT, !IsReverse, IsConst>;
+ friend ilist_iterator<OptionsT, !IsReverse, !IsConst>;
+
+ typedef ilist_detail::IteratorTraits<OptionsT, IsConst> Traits;
+ typedef ilist_detail::SpecificNodeAccess<OptionsT> Access;
+
public:
- typedef NodeTy value_type;
- typedef value_type *pointer;
- typedef value_type &reference;
+ typedef typename Traits::value_type value_type;
+ typedef typename Traits::pointer pointer;
+ typedef typename Traits::reference reference;
typedef ptrdiff_t difference_type;
typedef std::bidirectional_iterator_tag iterator_category;
- typedef typename std::add_const<value_type>::type *const_pointer;
- typedef typename std::add_const<value_type>::type &const_reference;
-
- typedef typename ilist_detail::ConstCorrectNodeType<NodeTy>::type node_type;
- typedef node_type *node_pointer;
- typedef node_type &node_reference;
+ typedef typename OptionsT::const_pointer const_pointer;
+ typedef typename OptionsT::const_reference const_reference;
private:
+ typedef typename Traits::node_pointer node_pointer;
+ typedef typename Traits::node_reference node_reference;
+
node_pointer NodePtr;
public:
/// Create from an ilist_node.
explicit ilist_iterator(node_reference N) : NodePtr(&N) {}
- explicit ilist_iterator(pointer NP)
- : NodePtr(ilist_node_access::getNodePtr(NP)) {}
- explicit ilist_iterator(reference NR)
- : NodePtr(ilist_node_access::getNodePtr(&NR)) {}
+ explicit ilist_iterator(pointer NP) : NodePtr(Access::getNodePtr(NP)) {}
+ explicit ilist_iterator(reference NR) : NodePtr(Access::getNodePtr(&NR)) {}
ilist_iterator() : NodePtr(nullptr) {}
// This is templated so that we can allow constructing a const iterator from
// a nonconst iterator...
- template <class node_ty>
+ template <bool RHSIsConst>
ilist_iterator(
- const ilist_iterator<node_ty, IsReverse> &RHS,
- typename std::enable_if<std::is_convertible<node_ty *, NodeTy *>::value,
- void *>::type = nullptr)
- : NodePtr(RHS.getNodePtr()) {}
+ const ilist_iterator<OptionsT, IsReverse, RHSIsConst> &RHS,
+ typename std::enable_if<IsConst || !RHSIsConst, void *>::type = nullptr)
+ : NodePtr(RHS.NodePtr) {}
// This is templated so that we can allow assigning to a const iterator from
// a nonconst iterator...
- template <class node_ty>
- const ilist_iterator &
- operator=(const ilist_iterator<node_ty, IsReverse> &RHS) {
- NodePtr = RHS.getNodePtr();
+ template <bool RHSIsConst>
+ typename std::enable_if<IsConst || !RHSIsConst, ilist_iterator &>::type
+ operator=(const ilist_iterator<OptionsT, IsReverse, RHSIsConst> &RHS) {
+ NodePtr = RHS.NodePtr;
return *this;
}
@@ -97,18 +106,25 @@
///
/// TODO: Roll this into the implicit constructor once we're sure that no one
/// is relying on the std::reverse_iterator off-by-one semantics.
- ilist_iterator<NodeTy, !IsReverse> getReverse() const {
+ ilist_iterator<OptionsT, !IsReverse, IsConst> getReverse() const {
if (NodePtr)
- return ilist_iterator<NodeTy, !IsReverse>(*NodePtr);
- return ilist_iterator<NodeTy, !IsReverse>();
+ return ilist_iterator<OptionsT, !IsReverse, IsConst>(*NodePtr);
+ return ilist_iterator<OptionsT, !IsReverse, IsConst>();
}
- void reset(pointer NP) { NodePtr = NP; }
+ /// Const-cast.
+ ilist_iterator<OptionsT, IsReverse, false> getNonConst() const {
+ if (NodePtr)
+ return ilist_iterator<OptionsT, IsReverse, false>(
+ const_cast<typename ilist_iterator<OptionsT, IsReverse,
+ false>::node_reference>(*NodePtr));
+ return ilist_iterator<OptionsT, IsReverse, false>();
+ }
// Accessors...
reference operator*() const {
assert(!NodePtr->isKnownSentinel());
- return *ilist_node_access::getValuePtr(NodePtr);
+ return *Access::getValuePtr(NodePtr);
}
pointer operator->() const { return &operator*(); }
@@ -122,11 +138,11 @@
// Increment and decrement operators...
ilist_iterator &operator--() {
- ilist_detail::IteratorHelper<IsReverse>::decrement(NodePtr);
+ NodePtr = IsReverse ? NodePtr->getNext() : NodePtr->getPrev();
return *this;
}
ilist_iterator &operator++() {
- ilist_detail::IteratorHelper<IsReverse>::increment(NodePtr);
+ NodePtr = IsReverse ? NodePtr->getPrev() : NodePtr->getNext();
return *this;
}
ilist_iterator operator--(int) {
@@ -142,6 +158,9 @@
/// Get the underlying ilist_node.
node_pointer getNodePtr() const { return static_cast<node_pointer>(NodePtr); }
+
+ /// Check for end. Only valid if ilist_sentinel_tracking<true>.
+ bool isEnd() const { return NodePtr ? NodePtr->isSentinel() : false; }
};
template <typename From> struct simplify_type;
@@ -150,20 +169,16 @@
/// used by the dyn_cast, cast, isa mechanisms...
///
/// FIXME: remove this, since there is no implicit conversion to NodeTy.
-template <typename NodeTy> struct simplify_type<ilist_iterator<NodeTy>> {
- typedef NodeTy *SimpleType;
+template <class OptionsT, bool IsConst>
+struct simplify_type<ilist_iterator<OptionsT, false, IsConst>> {
+ typedef ilist_iterator<OptionsT, false, IsConst> iterator;
+ typedef typename iterator::pointer SimpleType;
- static SimpleType getSimplifiedValue(ilist_iterator<NodeTy> &Node) {
- return &*Node;
- }
+ static SimpleType getSimplifiedValue(const iterator &Node) { return &*Node; }
};
-template <typename NodeTy> struct simplify_type<const ilist_iterator<NodeTy>> {
- typedef /*const*/ NodeTy *SimpleType;
-
- static SimpleType getSimplifiedValue(const ilist_iterator<NodeTy> &Node) {
- return &*Node;
- }
-};
+template <class OptionsT, bool IsConst>
+struct simplify_type<const ilist_iterator<OptionsT, false, IsConst>>
+ : simplify_type<ilist_iterator<OptionsT, false, IsConst>> {};
} // end namespace llvm
diff --git a/third_party/llvm-subzero/include/llvm/ADT/ilist_node.h b/third_party/llvm-subzero/include/llvm/ADT/ilist_node.h
index a5e2f5e..7244d0f 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/ilist_node.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/ilist_node.h
@@ -16,93 +16,214 @@
#define LLVM_ADT_ILIST_NODE_H
#include "llvm/ADT/ilist_node_base.h"
+#include "llvm/ADT/ilist_node_options.h"
namespace llvm {
+namespace ilist_detail {
+struct NodeAccess;
+} // end namespace ilist_detail
+
template<typename NodeTy>
struct ilist_traits;
-struct ilist_node_access;
-template <typename NodeTy, bool IsReverse = false> class ilist_iterator;
-template <typename NodeTy> class ilist_sentinel;
+template <class OptionsT, bool IsReverse, bool IsConst> class ilist_iterator;
+template <class OptionsT> class ilist_sentinel;
-/// Templated wrapper class.
-template <typename NodeTy> class ilist_node : ilist_node_base {
- friend class ilist_base;
- friend struct ilist_node_access;
- friend struct ilist_traits<NodeTy>;
- friend class ilist_iterator<NodeTy, false>;
- friend class ilist_iterator<NodeTy, true>;
- friend class ilist_sentinel<NodeTy>;
+/// Implementation for an ilist node.
+///
+/// Templated on an appropriate \a ilist_detail::node_options, usually computed
+/// by \a ilist_detail::compute_node_options.
+///
+/// This is a wrapper around \a ilist_node_base whose main purpose is to
+/// provide type safety: you can't insert nodes of \a ilist_node_impl into the
+/// wrong \a simple_ilist or \a iplist.
+template <class OptionsT> class ilist_node_impl : OptionsT::node_base_type {
+ typedef typename OptionsT::value_type value_type;
+ typedef typename OptionsT::node_base_type node_base_type;
+ typedef typename OptionsT::list_base_type list_base_type;
+
+ friend typename OptionsT::list_base_type;
+ friend struct ilist_detail::NodeAccess;
+ friend class ilist_sentinel<OptionsT>;
+ friend class ilist_iterator<OptionsT, false, false>;
+ friend class ilist_iterator<OptionsT, false, true>;
+ friend class ilist_iterator<OptionsT, true, false>;
+ friend class ilist_iterator<OptionsT, true, true>;
protected:
- ilist_node() = default;
+ ilist_node_impl() = default;
+
+ typedef ilist_iterator<OptionsT, false, false> self_iterator;
+ typedef ilist_iterator<OptionsT, false, true> const_self_iterator;
+ typedef ilist_iterator<OptionsT, true, false> reverse_self_iterator;
+ typedef ilist_iterator<OptionsT, true, true> const_reverse_self_iterator;
private:
- ilist_node *getPrev() {
- return static_cast<ilist_node *>(ilist_node_base::getPrev());
+ ilist_node_impl *getPrev() {
+ return static_cast<ilist_node_impl *>(node_base_type::getPrev());
}
- ilist_node *getNext() {
- return static_cast<ilist_node *>(ilist_node_base::getNext());
+ ilist_node_impl *getNext() {
+ return static_cast<ilist_node_impl *>(node_base_type::getNext());
}
- const ilist_node *getPrev() const {
- return static_cast<ilist_node *>(ilist_node_base::getPrev());
+ const ilist_node_impl *getPrev() const {
+ return static_cast<ilist_node_impl *>(node_base_type::getPrev());
}
- const ilist_node *getNext() const {
- return static_cast<ilist_node *>(ilist_node_base::getNext());
+ const ilist_node_impl *getNext() const {
+ return static_cast<ilist_node_impl *>(node_base_type::getNext());
}
- void setPrev(ilist_node *N) { ilist_node_base::setPrev(N); }
- void setNext(ilist_node *N) { ilist_node_base::setNext(N); }
+ void setPrev(ilist_node_impl *N) { node_base_type::setPrev(N); }
+ void setNext(ilist_node_impl *N) { node_base_type::setNext(N); }
public:
- ilist_iterator<NodeTy> getIterator() { return ilist_iterator<NodeTy>(*this); }
- ilist_iterator<const NodeTy> getIterator() const {
- return ilist_iterator<const NodeTy>(*this);
+ self_iterator getIterator() { return self_iterator(*this); }
+ const_self_iterator getIterator() const { return const_self_iterator(*this); }
+ reverse_self_iterator getReverseIterator() {
+ return reverse_self_iterator(*this);
+ }
+ const_reverse_self_iterator getReverseIterator() const {
+ return const_reverse_self_iterator(*this);
}
- using ilist_node_base::isKnownSentinel;
+ // Under-approximation, but always available for assertions.
+ using node_base_type::isKnownSentinel;
+
+ /// Check whether this is the sentinel node.
+ ///
+ /// This requires sentinel tracking to be explicitly enabled. Use the
+ /// ilist_sentinel_tracking<true> option to get this API.
+ bool isSentinel() const {
+ static_assert(OptionsT::is_sentinel_tracking_explicit,
+ "Use ilist_sentinel_tracking<true> to enable isSentinel()");
+ return node_base_type::isSentinel();
+ }
};
+/// An intrusive list node.
+///
+/// A base class to enable membership in intrusive lists, including \a
+/// simple_ilist, \a iplist, and \a ilist. The first template parameter is the
+/// \a value_type for the list.
+///
+/// An ilist node can be configured with compile-time options to change
+/// behaviour and/or add API.
+///
+/// By default, an \a ilist_node knows whether it is the list sentinel (an
+/// instance of \a ilist_sentinel) if and only if
+/// LLVM_ENABLE_ABI_BREAKING_CHECKS. The function \a isKnownSentinel() always
+/// returns \c false tracking is off. Sentinel tracking steals a bit from the
+/// "prev" link, which adds a mask operation when decrementing an iterator, but
+/// enables bug-finding assertions in \a ilist_iterator.
+///
+/// To turn sentinel tracking on all the time, pass in the
+/// ilist_sentinel_tracking<true> template parameter. This also enables the \a
+/// isSentinel() function. The same option must be passed to the intrusive
+/// list. (ilist_sentinel_tracking<false> turns sentinel tracking off all the
+/// time.)
+///
+/// A type can inherit from ilist_node multiple times by passing in different
+/// \a ilist_tag options. This allows a single instance to be inserted into
+/// multiple lists simultaneously, where each list is given the same tag.
+///
+/// \example
+/// struct A {};
+/// struct B {};
+/// struct N : ilist_node<N, ilist_tag<A>>, ilist_node<N, ilist_tag<B>> {};
+///
+/// void foo() {
+/// simple_ilist<N, ilist_tag<A>> ListA;
+/// simple_ilist<N, ilist_tag<B>> ListB;
+/// N N1;
+/// ListA.push_back(N1);
+/// ListB.push_back(N1);
+/// }
+/// \endexample
+///
+/// See \a is_valid_option for steps on adding a new option.
+template <class T, class... Options>
+class ilist_node
+ : public ilist_node_impl<
+ typename ilist_detail::compute_node_options<T, Options...>::type> {
+ static_assert(ilist_detail::check_options<Options...>::value,
+ "Unrecognized node option!");
+};
+
+namespace ilist_detail {
/// An access class for ilist_node private API.
///
/// This gives access to the private parts of ilist nodes. Nodes for an ilist
/// should friend this class if they inherit privately from ilist_node.
///
/// Using this class outside of the ilist implementation is unsupported.
-struct ilist_node_access {
- template <typename T> static ilist_node<T> *getNodePtr(T *N) { return N; }
- template <typename T> static const ilist_node<T> *getNodePtr(const T *N) {
+struct NodeAccess {
+protected:
+ template <class OptionsT>
+ static ilist_node_impl<OptionsT> *getNodePtr(typename OptionsT::pointer N) {
return N;
}
- template <typename T> static T *getValuePtr(ilist_node<T> *N) {
- return static_cast<T *>(N);
+ template <class OptionsT>
+ static const ilist_node_impl<OptionsT> *
+ getNodePtr(typename OptionsT::const_pointer N) {
+ return N;
}
- template <typename T> static const T *getValuePtr(const ilist_node<T> *N) {
- return static_cast<const T *>(N);
+ template <class OptionsT>
+ static typename OptionsT::pointer getValuePtr(ilist_node_impl<OptionsT> *N) {
+ return static_cast<typename OptionsT::pointer>(N);
+ }
+ template <class OptionsT>
+ static typename OptionsT::const_pointer
+ getValuePtr(const ilist_node_impl<OptionsT> *N) {
+ return static_cast<typename OptionsT::const_pointer>(N);
}
- template <typename T> static ilist_node<T> *getPrev(ilist_node<T> &N) {
+ template <class OptionsT>
+ static ilist_node_impl<OptionsT> *getPrev(ilist_node_impl<OptionsT> &N) {
return N.getPrev();
}
- template <typename T> static ilist_node<T> *getNext(ilist_node<T> &N) {
+ template <class OptionsT>
+ static ilist_node_impl<OptionsT> *getNext(ilist_node_impl<OptionsT> &N) {
return N.getNext();
}
- template <typename T>
- static const ilist_node<T> *getPrev(const ilist_node<T> &N) {
+ template <class OptionsT>
+ static const ilist_node_impl<OptionsT> *
+ getPrev(const ilist_node_impl<OptionsT> &N) {
return N.getPrev();
}
- template <typename T>
- static const ilist_node<T> *getNext(const ilist_node<T> &N) {
+ template <class OptionsT>
+ static const ilist_node_impl<OptionsT> *
+ getNext(const ilist_node_impl<OptionsT> &N) {
return N.getNext();
}
};
-template <typename NodeTy> class ilist_sentinel : public ilist_node<NodeTy> {
+template <class OptionsT> struct SpecificNodeAccess : NodeAccess {
+protected:
+ typedef typename OptionsT::pointer pointer;
+ typedef typename OptionsT::const_pointer const_pointer;
+ typedef ilist_node_impl<OptionsT> node_type;
+
+ static node_type *getNodePtr(pointer N) {
+ return NodeAccess::getNodePtr<OptionsT>(N);
+ }
+ static const node_type *getNodePtr(const_pointer N) {
+ return NodeAccess::getNodePtr<OptionsT>(N);
+ }
+ static pointer getValuePtr(node_type *N) {
+ return NodeAccess::getValuePtr<OptionsT>(N);
+ }
+ static const_pointer getValuePtr(const node_type *N) {
+ return NodeAccess::getValuePtr<OptionsT>(N);
+ }
+};
+} // end namespace ilist_detail
+
+template <class OptionsT>
+class ilist_sentinel : public ilist_node_impl<OptionsT> {
public:
ilist_sentinel() {
- ilist_node_base::initializeSentinel();
+ this->initializeSentinel();
reset();
}
@@ -118,8 +239,8 @@
///
/// Requires \c NodeTy to have \a getParent() to find the parent node, and the
/// \c ParentTy to have \a getSublistAccess() to get a reference to the list.
-template <typename NodeTy, typename ParentTy>
-class ilist_node_with_parent : public ilist_node<NodeTy> {
+template <typename NodeTy, typename ParentTy, class... Options>
+class ilist_node_with_parent : public ilist_node<NodeTy, Options...> {
protected:
ilist_node_with_parent() = default;
diff --git a/third_party/llvm-subzero/include/llvm/ADT/ilist_node_base.h b/third_party/llvm-subzero/include/llvm/ADT/ilist_node_base.h
index 6a46876..e5062ac 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/ilist_node_base.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/ilist_node_base.h
@@ -15,31 +15,37 @@
namespace llvm {
/// Base class for ilist nodes.
-class ilist_node_base {
-#ifdef LLVM_ENABLE_ABI_BREAKING_CHECKS
- PointerIntPair<ilist_node_base *, 1> PrevAndSentinel;
-#else
+///
+/// Optionally tracks whether this node is the sentinel.
+template <bool EnableSentinelTracking> class ilist_node_base;
+
+template <> class ilist_node_base<false> {
ilist_node_base *Prev = nullptr;
-#endif
ilist_node_base *Next = nullptr;
public:
-#ifdef LLVM_ENABLE_ABI_BREAKING_CHECKS
- void setPrev(ilist_node_base *Prev) { PrevAndSentinel.setPointer(Prev); }
- ilist_node_base *getPrev() const { return PrevAndSentinel.getPointer(); }
-
- bool isKnownSentinel() const { return PrevAndSentinel.getInt(); }
- void initializeSentinel() { PrevAndSentinel.setInt(true); }
-#else
void setPrev(ilist_node_base *Prev) { this->Prev = Prev; }
+ void setNext(ilist_node_base *Next) { this->Next = Next; }
ilist_node_base *getPrev() const { return Prev; }
+ ilist_node_base *getNext() const { return Next; }
bool isKnownSentinel() const { return false; }
void initializeSentinel() {}
-#endif
+};
+template <> class ilist_node_base<true> {
+ PointerIntPair<ilist_node_base *, 1> PrevAndSentinel;
+ ilist_node_base *Next = nullptr;
+
+public:
+ void setPrev(ilist_node_base *Prev) { PrevAndSentinel.setPointer(Prev); }
void setNext(ilist_node_base *Next) { this->Next = Next; }
+ ilist_node_base *getPrev() const { return PrevAndSentinel.getPointer(); }
ilist_node_base *getNext() const { return Next; }
+
+ bool isSentinel() const { return PrevAndSentinel.getInt(); }
+ bool isKnownSentinel() const { return isSentinel(); }
+ void initializeSentinel() { PrevAndSentinel.setInt(true); }
};
} // end namespace llvm
diff --git a/third_party/llvm-subzero/include/llvm/ADT/ilist_node_options.h b/third_party/llvm-subzero/include/llvm/ADT/ilist_node_options.h
new file mode 100644
index 0000000..c33df1e
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/ADT/ilist_node_options.h
@@ -0,0 +1,133 @@
+//===- llvm/ADT/ilist_node_options.h - ilist_node Options -------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_ADT_ILIST_NODE_OPTIONS_H
+#define LLVM_ADT_ILIST_NODE_OPTIONS_H
+
+#include "llvm/Config/abi-breaking.h"
+#include "llvm/Config/llvm-config.h"
+
+#include <type_traits>
+
+namespace llvm {
+
+template <bool EnableSentinelTracking> class ilist_node_base;
+template <bool EnableSentinelTracking> class ilist_base;
+
+/// Option to choose whether to track sentinels.
+///
+/// This option affects the ABI for the nodes. When not specified explicitly,
+/// the ABI depends on LLVM_ENABLE_ABI_BREAKING_CHECKS. Specify explicitly to
+/// enable \a ilist_node::isSentinel().
+template <bool EnableSentinelTracking> struct ilist_sentinel_tracking {};
+
+/// Option to specify a tag for the node type.
+///
+/// This option allows a single value type to be inserted in multiple lists
+/// simultaneously. See \a ilist_node for usage examples.
+template <class Tag> struct ilist_tag {};
+
+namespace ilist_detail {
+
+/// Helper trait for recording whether an option is specified explicitly.
+template <bool IsExplicit> struct explicitness {
+ static const bool is_explicit = IsExplicit;
+};
+typedef explicitness<true> is_explicit;
+typedef explicitness<false> is_implicit;
+
+/// Check whether an option is valid.
+///
+/// The steps for adding and enabling a new ilist option include:
+/// \li define the option, ilist_foo<Bar>, above;
+/// \li add new parameters for Bar to \a ilist_detail::node_options;
+/// \li add an extraction meta-function, ilist_detail::extract_foo;
+/// \li call extract_foo from \a ilist_detail::compute_node_options and pass it
+/// into \a ilist_detail::node_options; and
+/// \li specialize \c is_valid_option<ilist_foo<Bar>> to inherit from \c
+/// std::true_type to get static assertions passing in \a simple_ilist and \a
+/// ilist_node.
+template <class Option> struct is_valid_option : std::false_type {};
+
+/// Extract sentinel tracking option.
+///
+/// Look through \p Options for the \a ilist_sentinel_tracking option, with the
+/// default depending on LLVM_ENABLE_ABI_BREAKING_CHECKS.
+template <class... Options> struct extract_sentinel_tracking;
+template <bool EnableSentinelTracking, class... Options>
+struct extract_sentinel_tracking<
+ ilist_sentinel_tracking<EnableSentinelTracking>, Options...>
+ : std::integral_constant<bool, EnableSentinelTracking>, is_explicit {};
+template <class Option1, class... Options>
+struct extract_sentinel_tracking<Option1, Options...>
+ : extract_sentinel_tracking<Options...> {};
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+template <> struct extract_sentinel_tracking<> : std::true_type, is_implicit {};
+#else
+template <>
+struct extract_sentinel_tracking<> : std::false_type, is_implicit {};
+#endif
+template <bool EnableSentinelTracking>
+struct is_valid_option<ilist_sentinel_tracking<EnableSentinelTracking>>
+ : std::true_type {};
+
+/// Extract custom tag option.
+///
+/// Look through \p Options for the \a ilist_tag option, pulling out the
+/// custom tag type, using void as a default.
+template <class... Options> struct extract_tag;
+template <class Tag, class... Options>
+struct extract_tag<ilist_tag<Tag>, Options...> {
+ typedef Tag type;
+};
+template <class Option1, class... Options>
+struct extract_tag<Option1, Options...> : extract_tag<Options...> {};
+template <> struct extract_tag<> { typedef void type; };
+template <class Tag> struct is_valid_option<ilist_tag<Tag>> : std::true_type {};
+
+/// Check whether options are valid.
+///
+/// The conjunction of \a is_valid_option on each individual option.
+template <class... Options> struct check_options;
+template <> struct check_options<> : std::true_type {};
+template <class Option1, class... Options>
+struct check_options<Option1, Options...>
+ : std::integral_constant<bool, is_valid_option<Option1>::value &&
+ check_options<Options...>::value> {};
+
+/// Traits for options for \a ilist_node.
+///
+/// This is usually computed via \a compute_node_options.
+template <class T, bool EnableSentinelTracking, bool IsSentinelTrackingExplicit,
+ class TagT>
+struct node_options {
+ typedef T value_type;
+ typedef T *pointer;
+ typedef T &reference;
+ typedef const T *const_pointer;
+ typedef const T &const_reference;
+
+ static const bool enable_sentinel_tracking = EnableSentinelTracking;
+ static const bool is_sentinel_tracking_explicit = IsSentinelTrackingExplicit;
+ typedef TagT tag;
+ typedef ilist_node_base<enable_sentinel_tracking> node_base_type;
+ typedef ilist_base<enable_sentinel_tracking> list_base_type;
+};
+
+template <class T, class... Options> struct compute_node_options {
+ typedef node_options<T, extract_sentinel_tracking<Options...>::value,
+ extract_sentinel_tracking<Options...>::is_explicit,
+ typename extract_tag<Options...>::type>
+ type;
+};
+
+} // end namespace ilist_detail
+} // end namespace llvm
+
+#endif // LLVM_ADT_ILIST_NODE_OPTIONS_H
diff --git a/third_party/llvm-subzero/include/llvm/ADT/iterator.h b/third_party/llvm-subzero/include/llvm/ADT/iterator.h
index 30b8ac1..9ccacc1 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/iterator.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/iterator.h
@@ -12,6 +12,7 @@
#include <cstddef>
#include <iterator>
+#include <type_traits>
namespace llvm {
@@ -264,7 +265,7 @@
mutable T Ptr;
public:
- pointer_iterator() {}
+ pointer_iterator() = default;
explicit pointer_iterator(WrappedIteratorT u)
: pointer_iterator::iterator_adaptor_base(std::move(u)) {}
@@ -273,6 +274,6 @@
const T &operator*() const { return Ptr = &*this->I; }
};
-}
+} // end namespace llvm
-#endif
+#endif // LLVM_ADT_ITERATOR_H
diff --git a/third_party/llvm-subzero/include/llvm/ADT/simple_ilist.h b/third_party/llvm-subzero/include/llvm/ADT/simple_ilist.h
index f9983d8..a1ab591 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/simple_ilist.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/simple_ilist.h
@@ -46,21 +46,54 @@
/// eraseAndDispose(), and \a clearAndDispose(). These have different names
/// because the extra semantic is otherwise non-obvious. They are equivalent
/// to calling \a std::for_each() on the range to be discarded.
-template <typename T> class simple_ilist : ilist_base, ilist_node_access {
- ilist_sentinel<T> Sentinel;
+///
+/// The currently available \p Options customize the nodes in the list. The
+/// same options must be specified in the \a ilist_node instantation for
+/// compatibility (although the order is irrelevant).
+/// \li Use \a ilist_tag to designate which ilist_node for a given \p T this
+/// list should use. This is useful if a type \p T is part of multiple,
+/// independent lists simultaneously.
+/// \li Use \a ilist_sentinel_tracking to always (or never) track whether a
+/// node is a sentinel. Specifying \c true enables the \a
+/// ilist_node::isSentinel() API. Unlike \a ilist_node::isKnownSentinel(),
+/// which is only appropriate for assertions, \a ilist_node::isSentinel() is
+/// appropriate for real logic.
+///
+/// Here are examples of \p Options usage:
+/// \li \c simple_ilist<T> gives the defaults. \li \c
+/// simple_ilist<T,ilist_sentinel_tracking<true>> enables the \a
+/// ilist_node::isSentinel() API.
+/// \li \c simple_ilist<T,ilist_tag<A>,ilist_sentinel_tracking<false>>
+/// specifies a tag of A and that tracking should be off (even when
+/// LLVM_ENABLE_ABI_BREAKING_CHECKS are enabled).
+/// \li \c simple_ilist<T,ilist_sentinel_tracking<false>,ilist_tag<A>> is
+/// equivalent to the last.
+///
+/// See \a is_valid_option for steps on adding a new option.
+template <typename T, class... Options>
+class simple_ilist
+ : ilist_detail::compute_node_options<T, Options...>::type::list_base_type,
+ ilist_detail::SpecificNodeAccess<
+ typename ilist_detail::compute_node_options<T, Options...>::type> {
+ static_assert(ilist_detail::check_options<Options...>::value,
+ "Unrecognized node option!");
+ typedef
+ typename ilist_detail::compute_node_options<T, Options...>::type OptionsT;
+ typedef typename OptionsT::list_base_type list_base_type;
+ ilist_sentinel<OptionsT> Sentinel;
public:
- typedef T value_type;
- typedef T *pointer;
- typedef T &reference;
- typedef const T *const_pointer;
- typedef const T &const_reference;
- typedef ilist_iterator<T> iterator;
- typedef ilist_iterator<const T> const_iterator;
+ typedef typename OptionsT::value_type value_type;
+ typedef typename OptionsT::pointer pointer;
+ typedef typename OptionsT::reference reference;
+ typedef typename OptionsT::const_pointer const_pointer;
+ typedef typename OptionsT::const_reference const_reference;
+ typedef ilist_iterator<OptionsT, false, false> iterator;
+ typedef ilist_iterator<OptionsT, false, true> const_iterator;
+ typedef ilist_iterator<OptionsT, true, false> reverse_iterator;
+ typedef ilist_iterator<OptionsT, true, true> const_reverse_iterator;
typedef size_t size_type;
typedef ptrdiff_t difference_type;
- typedef ilist_iterator<const T, true> const_reverse_iterator;
- typedef ilist_iterator<T, true> reverse_iterator;
simple_ilist() = default;
~simple_ilist() = default;
@@ -91,10 +124,10 @@
}
/// Check if the list is empty in constant time.
- bool LLVM_ATTRIBUTE_UNUSED_RESULT empty() const { return Sentinel.empty(); }
+ LLVM_NODISCARD bool empty() const { return Sentinel.empty(); }
/// Calculate the size of the list in linear time.
- size_type LLVM_ATTRIBUTE_UNUSED_RESULT size() const {
+ LLVM_NODISCARD size_type size() const {
return std::distance(begin(), end());
}
@@ -120,7 +153,7 @@
/// Insert a node by reference; never copies.
iterator insert(iterator I, reference Node) {
- ilist_base::insertBefore(*I.getNodePtr(), *this->getNodePtr(&Node));
+ list_base_type::insertBefore(*I.getNodePtr(), *this->getNodePtr(&Node));
return iterator(&Node);
}
@@ -131,11 +164,19 @@
insert(I, *First);
}
+ /// Clone another list.
+ template <class Cloner, class Disposer>
+ void cloneFrom(const simple_ilist &L2, Cloner clone, Disposer dispose) {
+ clearAndDispose(dispose);
+ for (const_reference V : L2)
+ push_back(*clone(V));
+ }
+
/// Remove a node by reference; never deletes.
///
/// \see \a erase() for removing by iterator.
/// \see \a removeAndDispose() if the node should be deleted.
- void remove(reference N) { ilist_base::remove(*this->getNodePtr(&N)); }
+ void remove(reference N) { list_base_type::remove(*this->getNodePtr(&N)); }
/// Remove a node by reference and dispose of it.
template <class Disposer>
@@ -158,7 +199,7 @@
///
/// \see \a eraseAndDispose() if the nodes should be deleted.
iterator erase(iterator First, iterator Last) {
- ilist_base::removeRange(*First.getNodePtr(), *Last.getNodePtr());
+ list_base_type::removeRange(*First.getNodePtr(), *Last.getNodePtr());
return Last;
}
@@ -201,8 +242,8 @@
/// Splice in a range of nodes from another list.
void splice(iterator I, simple_ilist &, iterator First, iterator Last) {
- ilist_base::transferBefore(*I.getNodePtr(), *First.getNodePtr(),
- *Last.getNodePtr());
+ list_base_type::transferBefore(*I.getNodePtr(), *First.getNodePtr(),
+ *Last.getNodePtr());
}
/// Merge in another list.
@@ -220,9 +261,9 @@
///@}
};
-template <class T>
+template <class T, class... Options>
template <class Compare>
-void simple_ilist<T>::merge(simple_ilist<T> &RHS, Compare comp) {
+void simple_ilist<T, Options...>::merge(simple_ilist &RHS, Compare comp) {
if (this == &RHS || RHS.empty())
return;
iterator LI = begin(), LE = end();
@@ -242,9 +283,9 @@
splice(LE, RHS, RI, RE);
}
-template <class T>
+template <class T, class... Options>
template <class Compare>
-void simple_ilist<T>::sort(Compare comp) {
+void simple_ilist<T, Options...>::sort(Compare comp) {
// Vacuously sorted.
if (empty() || std::next(begin()) == end())
return;
@@ -255,7 +296,7 @@
++Center;
++End;
}
- simple_ilist<T> RHS;
+ simple_ilist RHS;
RHS.splice(RHS.end(), *this, Center, end());
// Sort the sublists and merge back together.
diff --git a/third_party/llvm-subzero/include/llvm/Config/llvm-config.h b/third_party/llvm-subzero/include/llvm/Config/llvm-config.h
deleted file mode 100644
index 9a2ee7c..0000000
--- a/third_party/llvm-subzero/include/llvm/Config/llvm-config.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*===-- llvm/config/llvm-config.h - llvm configure variable -------*- C -*-===*/
-/* */
-/* The LLVM Compiler Infrastructure */
-/* */
-/* This file is distributed under the University of Illinois Open Source */
-/* License. See LICENSE.TXT for details. */
-/* */
-/*===----------------------------------------------------------------------===*/
-
-/* This file enumerates all of the llvm variables from configure so that
- they can be in exported headers and won't override package specific
- directives. This is a C file so we can include it in the llvm-c headers. */
-
-/* To avoid multiple inclusions of these variables when we include the exported
- headers and config.h, conditionally include these. */
-/* TODO: This is a bit of a hack. */
-#ifndef CONFIG_H
-
-/* Installation directory for binary executables */
-/* #undef LLVM_BINDIR */
-
-/* Time at which LLVM was configured */
-/* #undef LLVM_CONFIGTIME */
-
-/* Installation directory for data files */
-/* #undef LLVM_DATADIR */
-
-/* Installation directory for documentation */
-/* #undef LLVM_DOCSDIR */
-
-/* Installation directory for config files */
-/* #undef LLVM_ETCDIR */
-
-/* Has gcc/MSVC atomic intrinsics */
-#define LLVM_HAS_ATOMICS 1
-
-/* Host triple we were built on */
-#define LLVM_HOSTTRIPLE "i686-pc-win32"
-
-/* Installation directory for include files */
-/* #undef LLVM_INCLUDEDIR */
-
-/* Installation directory for .info files */
-/* #undef LLVM_INFODIR */
-
-/* Installation directory for libraries */
-/* #undef LLVM_LIBDIR */
-
-/* Installation directory for man pages */
-/* #undef LLVM_MANDIR */
-
-/* LLVM architecture name for the native architecture, if available */
-#define LLVM_NATIVE_ARCH X86
-
-/* LLVM name for the native AsmParser init function, if available */
-/* #undef LLVM_NATIVE_ASMPARSER */
-
-/* LLVM name for the native AsmPrinter init function, if available */
-#define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter
-
-/* LLVM name for the native Target init function, if available */
-#define LLVM_NATIVE_TARGET LLVMInitializeX86Target
-
-/* LLVM name for the native TargetInfo init function, if available */
-#define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo
-
-/* LLVM name for the native target MC init function, if available */
-#define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC
-
-/* Define if this is Unixish platform */
-/* #undef LLVM_ON_UNIX */
-
-/* Define if this is Win32ish platform */
-#define LLVM_ON_WIN32 1
-
-/* Define to path to circo program if found or 'echo circo' otherwise */
-/* #undef LLVM_PATH_CIRCO */
-
-/* Define to path to dot program if found or 'echo dot' otherwise */
-/* #undef LLVM_PATH_DOT */
-
-/* Define to path to dotty program if found or 'echo dotty' otherwise */
-/* #undef LLVM_PATH_DOTTY */
-
-/* Define to path to fdp program if found or 'echo fdp' otherwise */
-/* #undef LLVM_PATH_FDP */
-
-/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
-/* #undef LLVM_PATH_GRAPHVIZ */
-
-/* Define to path to gv program if found or 'echo gv' otherwise */
-/* #undef LLVM_PATH_GV */
-
-/* Define to path to neato program if found or 'echo neato' otherwise */
-/* #undef LLVM_PATH_NEATO */
-
-/* Define to path to twopi program if found or 'echo twopi' otherwise */
-/* #undef LLVM_PATH_TWOPI */
-
-/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
-/* #undef LLVM_PATH_XDOT_PY */
-
-/* Installation prefix directory */
-#define LLVM_PREFIX "C:/Program Files (x86)/LLVM"
-
-#endif
diff --git a/third_party/llvm-subzero/include/llvm/IR/Attributes.h b/third_party/llvm-subzero/include/llvm/IR/Attributes.h
index 5ef0371..1578385 100644
--- a/third_party/llvm-subzero/include/llvm/IR/Attributes.h
+++ b/third_party/llvm-subzero/include/llvm/IR/Attributes.h
@@ -68,7 +68,7 @@
// IR-Level Attributes
None, ///< No attributes have been set
#define GET_ATTR_ENUM
- #include "llvm/IR/Attributes.inc"
+ #include "llvm/IR/Attributes.gen"
EndAttrKinds ///< Sentinal value useful for loops
};
@@ -338,6 +338,10 @@
/// may be faster.
bool hasFnAttribute(Attribute::AttrKind Kind) const;
+ /// \brief Equivalent to hasAttribute(AttributeSet::FunctionIndex, Kind) but
+ /// may be faster.
+ bool hasFnAttribute(StringRef Kind) const;
+
/// \brief Return true if the specified attribute is set for at least one
/// parameter or for the return value. If Index is not nullptr, the index
/// of a parameter with the specified attribute is provided.
@@ -387,9 +391,6 @@
// AttributeSet Introspection
//===--------------------------------------------------------------------===//
- // FIXME: Remove this.
- uint64_t Raw(unsigned Index) const;
-
/// \brief Return a raw pointer that uniquely identifies this attribute list.
void *getRawPointer() const {
return pImpl;
@@ -454,11 +455,6 @@
AttrBuilder()
: Attrs(0), Alignment(0), StackAlignment(0), DerefBytes(0),
DerefOrNullBytes(0), AllocSizeArgs(0) {}
- explicit AttrBuilder(uint64_t Val)
- : Attrs(0), Alignment(0), StackAlignment(0), DerefBytes(0),
- DerefOrNullBytes(0), AllocSizeArgs(0) {
- addRawValue(Val);
- }
AttrBuilder(const Attribute &A)
: Attrs(0), Alignment(0), StackAlignment(0), DerefBytes(0),
DerefOrNullBytes(0), AllocSizeArgs(0) {
@@ -586,11 +582,6 @@
bool operator!=(const AttrBuilder &B) {
return !(*this == B);
}
-
- // FIXME: Remove this in 4.0.
-
- /// \brief Add the raw value to the internal representation.
- AttrBuilder &addRawValue(uint64_t Val);
};
namespace AttributeFuncs {
diff --git a/third_party/llvm-subzero/include/llvm/IR/BasicBlock.h b/third_party/llvm-subzero/include/llvm/IR/BasicBlock.h
index 50eedec..93dbd57 100644
--- a/third_party/llvm-subzero/include/llvm/IR/BasicBlock.h
+++ b/third_party/llvm-subzero/include/llvm/IR/BasicBlock.h
@@ -14,21 +14,24 @@
#ifndef LLVM_IR_BASICBLOCK_H
#define LLVM_IR_BASICBLOCK_H
-#include "llvm/ADT/Twine.h"
#include "llvm/ADT/ilist.h"
+#include "llvm/ADT/ilist_node.h"
+#include "llvm/ADT/Twine.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/SymbolTableListTraits.h"
+#include "llvm/IR/Value.h"
#include "llvm/Support/CBindingWrapping.h"
-#include "llvm/Support/DataTypes.h"
+#include "llvm-c/Types.h"
+#include <cassert>
+#include <cstddef>
namespace llvm {
class CallInst;
-class LandingPadInst;
-class TerminatorInst;
-class LLVMContext;
-class BlockAddress;
class Function;
+class LandingPadInst;
+class LLVMContext;
+class TerminatorInst;
/// \brief LLVM Basic Block Representation
///
@@ -47,19 +50,17 @@
/// are "well formed".
class BasicBlock : public Value, // Basic blocks are data objects also
public ilist_node_with_parent<BasicBlock, Function> {
- friend class BlockAddress;
public:
typedef SymbolTableList<Instruction> InstListType;
private:
+ friend class BlockAddress;
+ friend class SymbolTableListTraits<BasicBlock>;
+
InstListType InstList;
Function *Parent;
void setParent(Function *parent);
- friend class SymbolTableListTraits<BasicBlock>;
-
- BasicBlock(const BasicBlock &) = delete;
- void operator=(const BasicBlock &) = delete;
/// \brief Constructor.
///
@@ -69,7 +70,12 @@
explicit BasicBlock(LLVMContext &C, const Twine &Name = "",
Function *Parent = nullptr,
BasicBlock *InsertBefore = nullptr);
+
public:
+ BasicBlock(const BasicBlock &) = delete;
+ BasicBlock &operator=(const BasicBlock &) = delete;
+ ~BasicBlock() override;
+
/// \brief Get the context in which this basic block lives.
LLVMContext &getContext() const;
@@ -89,7 +95,6 @@
BasicBlock *InsertBefore = nullptr) {
return new BasicBlock(Context, Name, Parent, InsertBefore);
}
- ~BasicBlock() override;
/// \brief Return the enclosing method, or null if none.
const Function *getParent() const { return Parent; }
@@ -330,6 +335,7 @@
assert((int)(signed char)getSubclassDataFromValue() >= 0 &&
"Refcount wrap-around");
}
+
/// \brief Shadow Value::setValueSubclassData with a private forwarding method
/// so that any future subclasses cannot accidentally use it.
void setValueSubclassData(unsigned short D) {
@@ -340,6 +346,6 @@
// Create wrappers for C Binding types (see CBindingWrapping.h).
DEFINE_SIMPLE_CONVERSION_FUNCTIONS(BasicBlock, LLVMBasicBlockRef)
-} // End llvm namespace
+} // end namespace llvm
-#endif
+#endif // LLVM_IR_BASICBLOCK_H
diff --git a/third_party/llvm-subzero/include/llvm/IR/CallingConv.h b/third_party/llvm-subzero/include/llvm/IR/CallingConv.h
index 4987b7e..9cfbda1 100644
--- a/third_party/llvm-subzero/include/llvm/IR/CallingConv.h
+++ b/third_party/llvm-subzero/include/llvm/IR/CallingConv.h
@@ -193,6 +193,9 @@
/// Calling convention for AMDGPU code object kernels.
AMDGPU_KERNEL = 91,
+ /// Register calling convention used for parameters transfer optimization
+ X86_RegCall = 92,
+
/// The highest possible calling convention ID. Must be some 2^k - 1.
MaxID = 1023
};
diff --git a/third_party/llvm-subzero/include/llvm/IR/Constant.h b/third_party/llvm-subzero/include/llvm/IR/Constant.h
index 3c5fe55..99c970e 100644
--- a/third_party/llvm-subzero/include/llvm/IR/Constant.h
+++ b/third_party/llvm-subzero/include/llvm/IR/Constant.h
@@ -15,11 +15,12 @@
#define LLVM_IR_CONSTANT_H
#include "llvm/IR/User.h"
+#include "llvm/IR/Value.h"
+#include "llvm/Support/Casting.h"
namespace llvm {
- class APInt;
- template<typename T> class SmallVectorImpl;
+class APInt;
/// This is an important base class in LLVM. It provides the common facilities
/// of all constant values in an LLVM program. A constant is a value that is
@@ -39,8 +40,6 @@
/// don't have to worry about the lifetime of the objects.
/// @brief LLVM Constant Representation
class Constant : public User {
- void operator=(const Constant &) = delete;
- Constant(const Constant &) = delete;
void anchor() override;
protected:
@@ -48,6 +47,9 @@
: User(ty, vty, Ops, NumOps) {}
public:
+ void operator=(const Constant &) = delete;
+ Constant(const Constant &) = delete;
+
/// Return true if this is the value that would be returned by getNullValue.
bool isNullValue() const;
@@ -159,6 +161,6 @@
}
};
-} // End llvm namespace
+} // end namespace llvm
-#endif
+#endif // LLVM_IR_CONSTANT_H
diff --git a/third_party/llvm-subzero/include/llvm/IR/DebugLoc.h b/third_party/llvm-subzero/include/llvm/IR/DebugLoc.h
index 8ea5875..202be3d 100644
--- a/third_party/llvm-subzero/include/llvm/IR/DebugLoc.h
+++ b/third_party/llvm-subzero/include/llvm/IR/DebugLoc.h
@@ -35,17 +35,7 @@
TrackingMDNodeRef Loc;
public:
- DebugLoc() {}
- DebugLoc(DebugLoc &&X) : Loc(std::move(X.Loc)) {}
- DebugLoc(const DebugLoc &X) : Loc(X.Loc) {}
- DebugLoc &operator=(DebugLoc &&X) {
- Loc = std::move(X.Loc);
- return *this;
- }
- DebugLoc &operator=(const DebugLoc &X) {
- Loc = X.Loc;
- return *this;
- }
+ DebugLoc() = default;
/// \brief Construct from an \a DILocation.
DebugLoc(const DILocation *L);
diff --git a/third_party/llvm-subzero/include/llvm/IR/DerivedTypes.h b/third_party/llvm-subzero/include/llvm/IR/DerivedTypes.h
index efd0d07..05e9915 100644
--- a/third_party/llvm-subzero/include/llvm/IR/DerivedTypes.h
+++ b/third_party/llvm-subzero/include/llvm/IR/DerivedTypes.h
@@ -18,17 +18,19 @@
#ifndef LLVM_IR_DERIVEDTYPES_H
#define LLVM_IR_DERIVEDTYPES_H
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/IR/Type.h"
+#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
-#include "llvm/Support/DataTypes.h"
+#include <cassert>
+#include <cstdint>
namespace llvm {
class Value;
class APInt;
class LLVMContext;
-template<typename T> class ArrayRef;
-class StringRef;
/// Class to represent integer types. Note that this class is also used to
/// represent the built-in integer types: Int1Ty, Int8Ty, Int16Ty, Int32Ty and
@@ -46,9 +48,10 @@
/// This enum is just used to hold constants we need for IntegerType.
enum {
MIN_INT_BITS = 1, ///< Minimum number of bits that can be specified
- MAX_INT_BITS = (1<<23)-1 ///< Maximum number of bits that can be specified
+ MAX_INT_BITS = (1<<24)-1 ///< Maximum number of bits that can be specified
///< Note that bit width is stored in the Type classes SubclassData field
- ///< which has 23 bits. This yields a maximum bit width of 8,388,607 bits.
+ ///< which has 24 bits. This yields a maximum bit width of 16,777,215
+ ///< bits.
};
/// This static method is the primary way of constructing an IntegerType.
@@ -97,11 +100,12 @@
/// Class to represent function types
///
class FunctionType : public Type {
- FunctionType(const FunctionType &) = delete;
- const FunctionType &operator=(const FunctionType &) = delete;
FunctionType(Type *Result, ArrayRef<Type*> Params, bool IsVarArgs);
public:
+ FunctionType(const FunctionType &) = delete;
+ FunctionType &operator=(const FunctionType &) = delete;
+
/// This static method is the primary way of constructing a FunctionType.
static FunctionType *get(Type *Result,
ArrayRef<Type*> Params, bool isVarArg);
@@ -137,7 +141,7 @@
return T->getTypeID() == FunctionTyID;
}
};
-static_assert(AlignOf<FunctionType>::Alignment >= AlignOf<Type *>::Alignment,
+static_assert(alignof(FunctionType) >= alignof(Type *),
"Alignment sufficient for objects appended to FunctionType");
bool Type::isFunctionVarArg() const {
@@ -152,7 +156,7 @@
return cast<FunctionType>(this)->getNumParams();
}
-/// Common super class of ArrayType, StructType, PointerType and VectorType.
+/// Common super class of ArrayType, StructType and VectorType.
class CompositeType : public Type {
protected:
explicit CompositeType(LLVMContext &C, TypeID tid) : Type(C, tid) {}
@@ -168,7 +172,6 @@
static inline bool classof(const Type *T) {
return T->getTypeID() == ArrayTyID ||
T->getTypeID() == StructTyID ||
- T->getTypeID() == PointerTyID ||
T->getTypeID() == VectorTyID;
}
};
@@ -194,10 +197,9 @@
/// generator for a target expects).
///
class StructType : public CompositeType {
- StructType(const StructType &) = delete;
- const StructType &operator=(const StructType &) = delete;
StructType(LLVMContext &C)
: CompositeType(C, StructTyID), SymbolTableEntry(nullptr) {}
+
enum {
/// This is the contents of the SubClassData field.
SCDB_HasBody = 1,
@@ -213,6 +215,9 @@
void *SymbolTableEntry;
public:
+ StructType(const StructType &) = delete;
+ StructType &operator=(const StructType &) = delete;
+
/// This creates an identified struct.
static StructType *create(LLVMContext &Context, StringRef Name);
static StructType *create(LLVMContext &Context);
@@ -305,52 +310,51 @@
return cast<StructType>(this)->getElementType(N);
}
-/// This is the superclass of the array, pointer and vector type classes.
-/// All of these represent "arrays" in memory. The array type represents a
-/// specifically sized array, pointer types are unsized/unknown size arrays,
-/// vector types represent specifically sized arrays that allow for use of SIMD
-/// instructions. SequentialType holds the common features of all, which stem
-/// from the fact that all three lay their components out in memory identically.
+/// This is the superclass of the array and vector type classes. Both of these
+/// represent "arrays" in memory. The array type represents a specifically sized
+/// array, and the vector type represents a specifically sized array that allows
+/// for use of SIMD instructions. SequentialType holds the common features of
+/// both, which stem from the fact that both lay their components out in memory
+/// identically.
class SequentialType : public CompositeType {
Type *ContainedType; ///< Storage for the single contained type.
- SequentialType(const SequentialType &) = delete;
- const SequentialType &operator=(const SequentialType &) = delete;
+ uint64_t NumElements;
protected:
- SequentialType(TypeID TID, Type *ElType)
- : CompositeType(ElType->getContext(), TID), ContainedType(ElType) {
+ SequentialType(TypeID TID, Type *ElType, uint64_t NumElements)
+ : CompositeType(ElType->getContext(), TID), ContainedType(ElType),
+ NumElements(NumElements) {
ContainedTys = &ContainedType;
NumContainedTys = 1;
}
public:
- Type *getElementType() const { return getSequentialElementType(); }
+ SequentialType(const SequentialType &) = delete;
+ SequentialType &operator=(const SequentialType &) = delete;
+
+ uint64_t getNumElements() const { return NumElements; }
+ Type *getElementType() const { return ContainedType; }
/// Methods for support type inquiry through isa, cast, and dyn_cast.
static inline bool classof(const Type *T) {
- return T->getTypeID() == ArrayTyID ||
- T->getTypeID() == PointerTyID ||
- T->getTypeID() == VectorTyID;
+ return T->getTypeID() == ArrayTyID || T->getTypeID() == VectorTyID;
}
};
/// Class to represent array types.
class ArrayType : public SequentialType {
- uint64_t NumElements;
-
- ArrayType(const ArrayType &) = delete;
- const ArrayType &operator=(const ArrayType &) = delete;
ArrayType(Type *ElType, uint64_t NumEl);
public:
+ ArrayType(const ArrayType &) = delete;
+ ArrayType &operator=(const ArrayType &) = delete;
+
/// This static method is the primary way to construct an ArrayType
static ArrayType *get(Type *ElementType, uint64_t NumElements);
/// Return true if the specified type is valid as a element type.
static bool isValidElementType(Type *ElemTy);
- uint64_t getNumElements() const { return NumElements; }
-
/// Methods for support type inquiry through isa, cast, and dyn_cast.
static inline bool classof(const Type *T) {
return T->getTypeID() == ArrayTyID;
@@ -363,13 +367,12 @@
/// Class to represent vector types.
class VectorType : public SequentialType {
- unsigned NumElements;
-
- VectorType(const VectorType &) = delete;
- const VectorType &operator=(const VectorType &) = delete;
VectorType(Type *ElType, unsigned NumEl);
public:
+ VectorType(const VectorType &) = delete;
+ VectorType &operator=(const VectorType &) = delete;
+
/// This static method is the primary way to construct an VectorType.
static VectorType *get(Type *ElementType, unsigned NumElements);
@@ -420,13 +423,10 @@
/// Return true if the specified type is valid as a element type.
static bool isValidElementType(Type *ElemTy);
- /// Return the number of elements in the Vector type.
- unsigned getNumElements() const { return NumElements; }
-
/// Return the number of bits in the Vector type.
/// Returns zero when the vector is a vector of pointers.
unsigned getBitWidth() const {
- return NumElements * getElementType()->getPrimitiveSizeInBits();
+ return getNumElements() * getElementType()->getPrimitiveSizeInBits();
}
/// Methods for support type inquiry through isa, cast, and dyn_cast.
@@ -440,12 +440,15 @@
}
/// Class to represent pointers.
-class PointerType : public SequentialType {
- PointerType(const PointerType &) = delete;
- const PointerType &operator=(const PointerType &) = delete;
+class PointerType : public Type {
explicit PointerType(Type *ElType, unsigned AddrSpace);
+ Type *PointeeTy;
+
public:
+ PointerType(const PointerType &) = delete;
+ PointerType &operator=(const PointerType &) = delete;
+
/// This constructs a pointer to an object of the specified type in a numbered
/// address space.
static PointerType *get(Type *ElementType, unsigned AddressSpace);
@@ -456,6 +459,8 @@
return PointerType::get(ElementType, 0);
}
+ Type *getElementType() const { return PointeeTy; }
+
/// Return true if the specified type is valid as a element type.
static bool isValidElementType(Type *ElemTy);
@@ -475,6 +480,6 @@
return cast<PointerType>(getScalarType())->getAddressSpace();
}
-} // End llvm namespace
+} // end namespace llvm
-#endif
+#endif // LLVM_IR_DERIVEDTYPES_H
diff --git a/third_party/llvm-subzero/include/llvm/IR/Function.h b/third_party/llvm-subzero/include/llvm/IR/Function.h
index ff55fcb..e9b3bad 100644
--- a/third_party/llvm-subzero/include/llvm/IR/Function.h
+++ b/third_party/llvm-subzero/include/llvm/IR/Function.h
@@ -18,18 +18,29 @@
#ifndef LLVM_IR_FUNCTION_H
#define LLVM_IR_FUNCTION_H
+#include "llvm/ADT/ilist_node.h"
#include "llvm/ADT/iterator_range.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/GlobalObject.h"
+#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/OperandTraits.h"
+#include "llvm/IR/SymbolTableListTraits.h"
+#include "llvm/IR/Value.h"
#include "llvm/Support/Compiler.h"
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
+#include <memory>
+#include <string>
namespace llvm {
template <typename T> class Optional;
+class AssemblyAnnotationWriter;
class FunctionType;
class LLVMContext;
class DISubprogram;
@@ -50,7 +61,8 @@
// Important things that make up a function!
BasicBlockListType BasicBlocks; ///< The basic blocks
mutable ArgumentListType ArgumentList; ///< The formal arguments
- ValueSymbolTable *SymTab; ///< Symbol table of args/instructions
+ std::unique_ptr<ValueSymbolTable>
+ SymTab; ///< Symbol table of args/instructions
AttributeSet AttributeSets; ///< Parameter attributes
/*
@@ -73,8 +85,6 @@
friend class SymbolTableListTraits<Function>;
- void setParent(Module *parent);
-
/// hasLazyArguments/CheckLazyArguments - The argument list of a function is
/// built on demand, so that the list isn't allocated until the first client
/// needs it. The hasLazyArguments predicate returns true if the arg list
@@ -89,10 +99,8 @@
if (hasLazyArguments())
BuildLazyArguments();
}
- void BuildLazyArguments() const;
- Function(const Function&) = delete;
- void operator=(const Function&) = delete;
+ void BuildLazyArguments() const;
/// Function ctor - If the (optional) Module argument is specified, the
/// function is automatically inserted into the end of the function list for
@@ -102,18 +110,21 @@
const Twine &N = "", Module *M = nullptr);
public:
+ Function(const Function&) = delete;
+ void operator=(const Function&) = delete;
+ ~Function() override;
+
static Function *Create(FunctionType *Ty, LinkageTypes Linkage,
const Twine &N = "", Module *M = nullptr) {
return new Function(Ty, Linkage, N, M);
}
- ~Function() override;
-
- /// \brief Provide fast operand accessors
+ // Provide fast operand accessors.
DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value);
-
- Type *getReturnType() const; // Return the type of the ret val
- FunctionType *getFunctionType() const; // Return the FunctionType for me
+ /// Returns the type of the ret val.
+ Type *getReturnType() const;
+ /// Returns the FunctionType for me.
+ FunctionType *getFunctionType() const;
/// getContext - Return a reference to the LLVMContext associated with this
/// function.
@@ -164,27 +175,23 @@
void setAttributes(AttributeSet Attrs) { AttributeSets = Attrs; }
/// @brief Add function attributes to this function.
- void addFnAttr(Attribute::AttrKind N) {
- setAttributes(AttributeSets.addAttribute(getContext(),
- AttributeSet::FunctionIndex, N));
+ void addFnAttr(Attribute::AttrKind Kind) {
+ addAttribute(AttributeSet::FunctionIndex, Kind);
+ }
+
+ /// @brief Add function attributes to this function.
+ void addFnAttr(StringRef Kind, StringRef Val = StringRef()) {
+ addAttribute(AttributeSet::FunctionIndex,
+ Attribute::get(getContext(), Kind, Val));
+ }
+
+ void addFnAttr(Attribute Attr) {
+ addAttribute(AttributeSet::FunctionIndex, Attr);
}
/// @brief Remove function attributes from this function.
void removeFnAttr(Attribute::AttrKind Kind) {
- setAttributes(AttributeSets.removeAttribute(
- getContext(), AttributeSet::FunctionIndex, Kind));
- }
-
- /// @brief Add function attributes to this function.
- void addFnAttr(StringRef Kind) {
- setAttributes(
- AttributeSets.addAttribute(getContext(),
- AttributeSet::FunctionIndex, Kind));
- }
- void addFnAttr(StringRef Kind, StringRef Value) {
- setAttributes(
- AttributeSets.addAttribute(getContext(),
- AttributeSet::FunctionIndex, Kind, Value));
+ removeAttribute(AttributeSet::FunctionIndex, Kind);
}
/// @brief Remove function attribute from this function.
@@ -193,18 +200,30 @@
getContext(), AttributeSet::FunctionIndex, Kind));
}
- /// Set the entry count for this function.
+ /// \brief Set the entry count for this function.
+ ///
+ /// Entry count is the number of times this function was executed based on
+ /// pgo data.
void setEntryCount(uint64_t Count);
- /// Get the entry count for this function.
+ /// \brief Get the entry count for this function.
+ ///
+ /// Entry count is the number of times the function was executed based on
+ /// pgo data.
Optional<uint64_t> getEntryCount() const;
+ /// Set the section prefix for this function.
+ void setSectionPrefix(StringRef Prefix);
+
+ /// Get the section prefix for this function.
+ Optional<StringRef> getSectionPrefix() const;
+
/// @brief Return true if the function has the attribute.
bool hasFnAttribute(Attribute::AttrKind Kind) const {
return AttributeSets.hasFnAttribute(Kind);
}
bool hasFnAttribute(StringRef Kind) const {
- return AttributeSets.hasAttribute(AttributeSet::FunctionIndex, Kind);
+ return AttributeSets.hasFnAttribute(Kind);
}
/// @brief Return the attribute for the given attribute kind.
@@ -327,7 +346,7 @@
}
/// @brief Determine if the function may only access memory that is
- // either inaccessible from the IR or pointed to by its arguments.
+ /// either inaccessible from the IR or pointed to by its arguments.
bool onlyAccessesInaccessibleMemOrArgMem() const {
return hasFnAttribute(Attribute::InaccessibleMemOrArgMemOnly);
}
@@ -481,12 +500,14 @@
CheckLazyArguments();
return ArgumentList;
}
+
static ArgumentListType Function::*getSublistAccess(Argument*) {
return &Function::ArgumentList;
}
const BasicBlockListType &getBasicBlockList() const { return BasicBlocks; }
BasicBlockListType &getBasicBlockList() { return BasicBlocks; }
+
static BasicBlockListType Function::*getSublistAccess(BasicBlock*) {
return &Function::BasicBlocks;
}
@@ -497,10 +518,12 @@
//===--------------------------------------------------------------------===//
// Symbol Table Accessing functions...
- /// getSymbolTable() - Return the symbol table...
+ /// getSymbolTable() - Return the symbol table if any, otherwise nullptr.
///
- inline ValueSymbolTable &getValueSymbolTable() { return *SymTab; }
- inline const ValueSymbolTable &getValueSymbolTable() const { return *SymTab; }
+ inline ValueSymbolTable *getValueSymbolTable() { return SymTab.get(); }
+ inline const ValueSymbolTable *getValueSymbolTable() const {
+ return SymTab.get();
+ }
//===--------------------------------------------------------------------===//
// BasicBlock iterator forwarding functions
@@ -528,6 +551,7 @@
CheckLazyArguments();
return ArgumentList.begin();
}
+
arg_iterator arg_end() {
CheckLazyArguments();
return ArgumentList.end();
@@ -540,7 +564,6 @@
iterator_range<arg_iterator> args() {
return make_range(arg_begin(), arg_end());
}
-
iterator_range<const_arg_iterator> args() const {
return make_range(arg_begin(), arg_end());
}
@@ -648,8 +671,8 @@
void allocHungoffUselist();
template<int Idx> void setHungoffOperand(Constant *C);
- // Shadow Value::setValueSubclassData with a private forwarding method so that
- // subclasses cannot accidentally use it.
+ /// Shadow Value::setValueSubclassData with a private forwarding method so
+ /// that subclasses cannot accidentally use it.
void setValueSubclassData(unsigned short D) {
Value::setValueSubclassData(D);
}
@@ -661,6 +684,6 @@
DEFINE_TRANSPARENT_OPERAND_ACCESSORS(Function, Value)
-} // End llvm namespace
+} // end namespace llvm
-#endif
+#endif // LLVM_IR_FUNCTION_H
diff --git a/third_party/llvm-subzero/include/llvm/IR/GlobalObject.h b/third_party/llvm-subzero/include/llvm/IR/GlobalObject.h
index 04737a0..11eb713 100644
--- a/third_party/llvm-subzero/include/llvm/IR/GlobalObject.h
+++ b/third_party/llvm-subzero/include/llvm/IR/GlobalObject.h
@@ -15,18 +15,19 @@
#ifndef LLVM_IR_GLOBALOBJECT_H
#define LLVM_IR_GLOBALOBJECT_H
-#include "llvm/IR/DerivedTypes.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/IR/GlobalValue.h"
+#include "llvm/IR/Value.h"
+#include <string>
+#include <utility>
namespace llvm {
+
class Comdat;
class MDNode;
class Metadata;
-class Module;
class GlobalObject : public GlobalValue {
- GlobalObject(const GlobalObject &) = delete;
-
protected:
GlobalObject(Type *Ty, ValueTy VTy, Use *Ops, unsigned NumOps,
LinkageTypes Linkage, const Twine &Name,
@@ -53,6 +54,8 @@
static const unsigned GlobalObjectMask = (1 << GlobalObjectBits) - 1;
public:
+ GlobalObject(const GlobalObject &) = delete;
+
unsigned getAlignment() const {
unsigned Data = getGlobalValueSubClassData();
unsigned AlignmentData = Data & AlignmentMask;
@@ -141,6 +144,6 @@
}
};
-} // End llvm namespace
+} // end namespace llvm
-#endif
+#endif // LLVM_IR_GLOBALOBJECT_H
diff --git a/third_party/llvm-subzero/include/llvm/IR/GlobalValue.h b/third_party/llvm-subzero/include/llvm/IR/GlobalValue.h
index 09682f7..9397007 100644
--- a/third_party/llvm-subzero/include/llvm/IR/GlobalValue.h
+++ b/third_party/llvm-subzero/include/llvm/IR/GlobalValue.h
@@ -18,23 +18,31 @@
#ifndef LLVM_IR_GLOBALVALUE_H
#define LLVM_IR_GLOBALVALUE_H
+#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/Twine.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/DerivedTypes.h"
+#include "llvm/IR/Value.h"
#include "llvm/Support/MD5.h"
-#include <system_error>
+#include "llvm/Support/Casting.h"
+#include "llvm/Support/ErrorHandling.h"
+#include <cassert>
+#include <cstdint>
+#include <string>
namespace llvm {
class Comdat;
-class PointerType;
+class ConstantRange;
+class Error;
+class GlobalObject;
class Module;
namespace Intrinsic {
enum ID : unsigned;
-}
+} // end namespace Intrinsic
class GlobalValue : public Constant {
- GlobalValue(const GlobalValue &) = delete;
public:
/// @brief An enumeration for the kinds of linkage for global values.
enum LinkageTypes {
@@ -89,11 +97,12 @@
static const unsigned GlobalValueSubClassDataBits = 19;
private:
+ friend class Constant;
+
// Give subclasses access to what otherwise would be wasted padding.
// (19 + 4 + 2 + 2 + 2 + 3) == 32.
unsigned SubClassData : GlobalValueSubClassDataBits;
- friend class Constant;
void destroyConstantImpl();
Value *handleOperandChangeImpl(Value *From, Value *To);
@@ -139,6 +148,12 @@
}
Module *Parent; // The containing module.
+
+ // Used by SymbolTableListTraits.
+ void setParent(Module *parent) {
+ Parent = parent;
+ }
+
public:
enum ThreadLocalMode {
NotThreadLocal = 0,
@@ -148,6 +163,8 @@
LocalExecTLSModel
};
+ GlobalValue(const GlobalValue &) = delete;
+
~GlobalValue() override {
removeDeadConstantUsers(); // remove any dead constants using this.
}
@@ -460,10 +477,8 @@
/// function has been read in yet or not.
bool isMaterializable() const;
- /// Make sure this GlobalValue is fully read. If the module is corrupt, this
- /// returns true and fills in the optional string with information about the
- /// problem. If successful, this returns false.
- std::error_code materialize();
+ /// Make sure this GlobalValue is fully read.
+ Error materialize();
/// @}
@@ -492,6 +507,18 @@
// increased.
bool canIncreaseAlignment() const;
+ const GlobalObject *getBaseObject() const {
+ return const_cast<GlobalValue *>(this)->getBaseObject();
+ }
+ GlobalObject *getBaseObject();
+
+ /// Returns whether this is a reference to an absolute symbol.
+ bool isAbsoluteSymbolRef() const;
+
+ /// If this is an absolute symbol reference, returns the range of the symbol,
+ /// otherwise returns None.
+ Optional<ConstantRange> getAbsoluteSymbolRange() const;
+
/// This method unlinks 'this' from the containing module, but does not delete
/// it.
virtual void removeFromParent() = 0;
@@ -512,6 +539,6 @@
}
};
-} // End llvm namespace
+} // end namespace llvm
-#endif
+#endif // LLVM_IR_GLOBALVALUE_H
diff --git a/third_party/llvm-subzero/include/llvm/IR/Instruction.h b/third_party/llvm-subzero/include/llvm/IR/Instruction.h
index 027d9f3..fd7c54d 100644
--- a/third_party/llvm-subzero/include/llvm/IR/Instruction.h
+++ b/third_party/llvm-subzero/include/llvm/IR/Instruction.h
@@ -17,23 +17,27 @@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/ilist_node.h"
+#include "llvm/ADT/None.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/IR/SymbolTableListTraits.h"
#include "llvm/IR/User.h"
+#include "llvm/IR/Value.h"
+#include "llvm/Support/Casting.h"
+#include <algorithm>
+#include <cassert>
+#include <cstdint>
+#include <utility>
namespace llvm {
-class FastMathFlags;
-class LLVMContext;
-class MDNode;
class BasicBlock;
+class FastMathFlags;
+class MDNode;
struct AAMDNodes;
class Instruction : public User,
public ilist_node_with_parent<Instruction, BasicBlock> {
- void operator=(const Instruction &) = delete;
- Instruction(const Instruction &) = delete;
-
BasicBlock *Parent;
DebugLoc DbgLoc; // 'dbg' Metadata cache.
@@ -42,7 +46,11 @@
/// this instruction has metadata attached to it or not.
HasMetadataBit = 1 << 15
};
+
public:
+ Instruction(const Instruction &) = delete;
+ Instruction &operator=(const Instruction &) = delete;
+
// Out of line virtual method, so the vtable, etc has a home.
~Instruction() override;
@@ -134,6 +142,11 @@
return getOpcode() == AShr;
}
+ /// Return true if this is and/or/xor.
+ inline bool isBitwiseLogicOp() const {
+ return getOpcode() == And || getOpcode() == Or || getOpcode() == Xor;
+ }
+
/// Determine if the OpCode is one of the CastInst instructions.
static inline bool isCast(unsigned OpCode) {
return OpCode >= CastOpsBegin && OpCode < CastOpsEnd;
@@ -232,12 +245,12 @@
/// Retrieve the raw weight values of a conditional branch or select.
/// Returns true on success with profile weights filled in.
/// Returns false if no metadata or invalid metadata was found.
- bool extractProfMetadata(uint64_t &TrueVal, uint64_t &FalseVal);
+ bool extractProfMetadata(uint64_t &TrueVal, uint64_t &FalseVal) const;
/// Retrieve total raw weight values of a branch.
/// Returns true on success with profile total weights filled in.
/// Returns false if no metadata was found.
- bool extractProfTotalWeight(uint64_t &TotalVal);
+ bool extractProfTotalWeight(uint64_t &TotalVal) const;
/// Set the debug location information for this instruction.
void setDebugLoc(DebugLoc Loc) { DbgLoc = std::move(Loc); }
@@ -347,12 +360,12 @@
SmallVectorImpl<std::pair<unsigned, MDNode *>> &) const;
/// Clear all hashtable-based metadata from this instruction.
void clearMetadataHashEntries();
+
public:
//===--------------------------------------------------------------------===//
// Predicates and helper methods.
//===--------------------------------------------------------------------===//
-
/// Return true if the instruction is associative:
///
/// Associative operators satisfy: x op (y op z) === (x op y) op z
@@ -462,7 +475,7 @@
bool isIdenticalTo(const Instruction *I) const;
/// This is like isIdenticalTo, except that it ignores the
- /// SubclassOptionalData flags, which specify conditions under which the
+ /// SubclassOptionalData flags, which may specify conditions under which the
/// instruction's result is undefined.
bool isIdenticalToWhenDefined(const Instruction *I) const;
@@ -541,12 +554,16 @@
#define LAST_OTHER_INST(N) OtherOpsEnd = N+1
#include "llvm/IR/Instruction.def"
};
+
private:
+ friend class SymbolTableListTraits<Instruction>;
+
// Shadow Value::setValueSubclassData with a private forwarding method so that
// subclasses cannot accidentally use it.
void setValueSubclassData(unsigned short D) {
Value::setValueSubclassData(D);
}
+
unsigned short getSubclassDataFromValue() const {
return Value::getSubclassDataFromValue();
}
@@ -556,8 +573,8 @@
(V ? HasMetadataBit : 0));
}
- friend class SymbolTableListTraits<Instruction>;
void setParent(BasicBlock *P);
+
protected:
// Instruction subclasses can stick up to 15 bits of stuff into the
// SubclassData field of instruction with these members.
@@ -582,18 +599,6 @@
Instruction *cloneImpl() const;
};
-// Instruction* is only 4-byte aligned.
-template<>
-class PointerLikeTypeTraits<Instruction*> {
- typedef Instruction* PT;
-public:
- static inline void *getAsVoidPointer(PT P) { return P; }
- static inline PT getFromVoidPointer(void *P) {
- return static_cast<PT>(P);
- }
- enum { NumLowBitsAvailable = 2 };
-};
+} // end namespace llvm
-} // End llvm namespace
-
-#endif
+#endif // LLVM_IR_INSTRUCTION_H
diff --git a/third_party/llvm-subzero/include/llvm/IR/Intrinsics.h b/third_party/llvm-subzero/include/llvm/IR/Intrinsics.h
new file mode 100644
index 0000000..d073584
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/IR/Intrinsics.h
@@ -0,0 +1,170 @@
+//===-- llvm/Instrinsics.h - LLVM Intrinsic Function Handling ---*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines a set of enums which allow processing of intrinsic
+// functions. Values of these enum types are returned by
+// Function::getIntrinsicID.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_IR_INTRINSICS_H
+#define LLVM_IR_INTRINSICS_H
+
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/None.h"
+#include "llvm/ADT/Optional.h"
+#include <string>
+
+namespace llvm {
+
+class Type;
+class FunctionType;
+class Function;
+class LLVMContext;
+class Module;
+class AttributeSet;
+
+/// This namespace contains an enum with a value for every intrinsic/builtin
+/// function known by LLVM. The enum values are returned by
+/// Function::getIntrinsicID().
+namespace Intrinsic {
+ enum ID : unsigned {
+ not_intrinsic = 0, // Must be zero
+
+ // Get the intrinsic enums generated from Intrinsics.td
+#define GET_INTRINSIC_ENUM_VALUES
+#include "llvm/IR/Intrinsics.gen"
+#undef GET_INTRINSIC_ENUM_VALUES
+ , num_intrinsics
+ };
+
+ /// Return the LLVM name for an intrinsic, such as "llvm.ppc.altivec.lvx".
+ /// Note, this version is for intrinsics with no overloads. Use the other
+ /// version of getName if overloads are required.
+ StringRef getName(ID id);
+
+ /// Return the LLVM name for an intrinsic, such as "llvm.ppc.altivec.lvx".
+ /// Note, this version of getName supports overloads, but is less efficient
+ /// than the StringRef version of this function. If no overloads are
+ /// requried, it is safe to use this version, but better to use the StringRef
+ /// version.
+ std::string getName(ID id, ArrayRef<Type*> Tys);
+
+ /// Return the function type for an intrinsic.
+ FunctionType *getType(LLVMContext &Context, ID id,
+ ArrayRef<Type*> Tys = None);
+
+ /// Returns true if the intrinsic can be overloaded.
+ bool isOverloaded(ID id);
+
+ /// Returns true if the intrinsic is a leaf, i.e. it does not make any calls
+ /// itself. Most intrinsics are leafs, the exceptions being the patchpoint
+ /// and statepoint intrinsics. These call (or invoke) their "target" argument.
+ bool isLeaf(ID id);
+
+ /// Return the attributes for an intrinsic.
+ AttributeSet getAttributes(LLVMContext &C, ID id);
+
+ /// Create or insert an LLVM Function declaration for an intrinsic, and return
+ /// it.
+ ///
+ /// The Tys parameter is for intrinsics with overloaded types (e.g., those
+ /// using iAny, fAny, vAny, or iPTRAny). For a declaration of an overloaded
+ /// intrinsic, Tys must provide exactly one type for each overloaded type in
+ /// the intrinsic.
+ Function *getDeclaration(Module *M, ID id, ArrayRef<Type*> Tys = None);
+
+ /// Looks up Name in NameTable via binary search. NameTable must be sorted
+ /// and all entries must start with "llvm.". If NameTable contains an exact
+ /// match for Name or a prefix of Name followed by a dot, its index in
+ /// NameTable is returned. Otherwise, -1 is returned.
+ int lookupLLVMIntrinsicByName(ArrayRef<const char *> NameTable,
+ StringRef Name);
+
+ /// Map a GCC builtin name to an intrinsic ID.
+ ID getIntrinsicForGCCBuiltin(const char *Prefix, StringRef BuiltinName);
+
+ /// Map a MS builtin name to an intrinsic ID.
+ ID getIntrinsicForMSBuiltin(const char *Prefix, StringRef BuiltinName);
+
+ /// This is a type descriptor which explains the type requirements of an
+ /// intrinsic. This is returned by getIntrinsicInfoTableEntries.
+ struct IITDescriptor {
+ enum IITDescriptorKind {
+ Void, VarArg, MMX, Token, Metadata, Half, Float, Double,
+ Integer, Vector, Pointer, Struct,
+ Argument, ExtendArgument, TruncArgument, HalfVecArgument,
+ SameVecWidthArgument, PtrToArgument, PtrToElt, VecOfPtrsToElt
+ } Kind;
+
+ union {
+ unsigned Integer_Width;
+ unsigned Float_Width;
+ unsigned Vector_Width;
+ unsigned Pointer_AddressSpace;
+ unsigned Struct_NumElements;
+ unsigned Argument_Info;
+ };
+
+ enum ArgKind {
+ AK_Any,
+ AK_AnyInteger,
+ AK_AnyFloat,
+ AK_AnyVector,
+ AK_AnyPointer
+ };
+ unsigned getArgumentNumber() const {
+ assert(Kind == Argument || Kind == ExtendArgument ||
+ Kind == TruncArgument || Kind == HalfVecArgument ||
+ Kind == SameVecWidthArgument || Kind == PtrToArgument ||
+ Kind == PtrToElt || Kind == VecOfPtrsToElt);
+ return Argument_Info >> 3;
+ }
+ ArgKind getArgumentKind() const {
+ assert(Kind == Argument || Kind == ExtendArgument ||
+ Kind == TruncArgument || Kind == HalfVecArgument ||
+ Kind == SameVecWidthArgument || Kind == PtrToArgument ||
+ Kind == VecOfPtrsToElt);
+ return (ArgKind)(Argument_Info & 7);
+ }
+
+ static IITDescriptor get(IITDescriptorKind K, unsigned Field) {
+ IITDescriptor Result = { K, { Field } };
+ return Result;
+ }
+ };
+
+ /// Return the IIT table descriptor for the specified intrinsic into an array
+ /// of IITDescriptors.
+ void getIntrinsicInfoTableEntries(ID id, SmallVectorImpl<IITDescriptor> &T);
+
+ /// Match the specified type (which comes from an intrinsic argument or return
+ /// value) with the type constraints specified by the .td file. If the given
+ /// type is an overloaded type it is pushed to the ArgTys vector.
+ ///
+ /// Returns false if the given type matches with the constraints, true
+ /// otherwise.
+ bool matchIntrinsicType(Type *Ty, ArrayRef<IITDescriptor> &Infos,
+ SmallVectorImpl<Type*> &ArgTys);
+
+ /// Verify if the intrinsic has variable arguments. This method is intended to
+ /// be called after all the fixed arguments have been matched first.
+ ///
+ /// This method returns true on error.
+ bool matchIntrinsicVarArg(bool isVarArg, ArrayRef<IITDescriptor> &Infos);
+
+ // Checks if the intrinsic name matches with its signature and if not
+ // returns the declaration with the same signature and remangled name.
+ llvm::Optional<Function*> remangleIntrinsicFunction(Function *F);
+
+} // End Intrinsic namespace
+
+} // End llvm namespace
+
+#endif
diff --git a/third_party/llvm-subzero/include/llvm/IR/LLVMContext.h b/third_party/llvm-subzero/include/llvm/IR/LLVMContext.h
index dbf2b45..7f43d5d 100644
--- a/third_party/llvm-subzero/include/llvm/IR/LLVMContext.h
+++ b/third_party/llvm-subzero/include/llvm/IR/LLVMContext.h
@@ -15,25 +15,30 @@
#ifndef LLVM_IR_LLVMCONTEXT_H
#define LLVM_IR_LLVMCONTEXT_H
+#include "llvm-c/Types.h"
#include "llvm/Support/CBindingWrapping.h"
#include "llvm/Support/Options.h"
+#include <cstdint>
+#include <memory>
+#include <string>
namespace llvm {
-class LLVMContextImpl;
-class StringRef;
-class Twine;
-class Instruction;
-class Module;
-class MDString;
-class DICompositeType;
-class SMDiagnostic;
class DiagnosticInfo;
enum DiagnosticSeverity : char;
-template <typename T> class SmallVectorImpl;
class Function;
-class DebugLoc;
+class Instruction;
+class LLVMContextImpl;
+class Module;
class OptBisect;
+template <typename T> class SmallVectorImpl;
+class SMDiagnostic;
+class StringRef;
+class Twine;
+
+namespace yaml {
+class Output;
+} // end namespace yaml
/// This is an important class for using LLVM in a threaded context. It
/// (opaquely) owns and manages the core "global" data of LLVM's core
@@ -44,6 +49,8 @@
public:
LLVMContextImpl *const pImpl;
LLVMContext();
+ LLVMContext(LLVMContext &) = delete;
+ LLVMContext &operator=(const LLVMContext &) = delete;
~LLVMContext();
// Pinned metadata names, which always have the same value. This is a
@@ -69,6 +76,8 @@
MD_align = 17, // "align"
MD_loop = 18, // "llvm.loop"
MD_type = 19, // "type"
+ MD_section_prefix = 20, // "section_prefix"
+ MD_absolute_symbol = 21, // "absolute_symbol"
};
/// Known operand bundle tag IDs, which always have the same value. All
@@ -181,6 +190,17 @@
/// diagnostics.
void setDiagnosticHotnessRequested(bool Requested);
+ /// \brief Return the YAML file used by the backend to save optimization
+ /// diagnostics. If null, diagnostics are not saved in a file but only
+ /// emitted via the diagnostic handler.
+ yaml::Output *getDiagnosticsOutputFile();
+ /// Set the diagnostics output file used for optimization diagnostics.
+ ///
+ /// By default or if invoked with null, diagnostics are not saved in a file
+ /// but only emitted via the diagnostic handler. Even if an output file is
+ /// set, the handler is invoked for each diagnostic message.
+ void setDiagnosticsOutputFile(std::unique_ptr<yaml::Output> F);
+
/// \brief Get the prefix that should be printed in front of a diagnostic of
/// the given \p Severity
static const char *getDiagnosticMessagePrefix(DiagnosticSeverity Severity);
@@ -244,8 +264,8 @@
/// analysis.
OptBisect &getOptBisect();
private:
- LLVMContext(LLVMContext&) = delete;
- void operator=(LLVMContext&) = delete;
+ // Module needs access to the add/removeModule methods.
+ friend class Module;
/// addModule - Register a module as being instantiated in this context. If
/// the context is deleted, the module will be deleted as well.
@@ -253,9 +273,6 @@
/// removeModule - Unregister a module from this context.
void removeModule(Module*);
-
- // Module needs access to the add/removeModule methods.
- friend class Module;
};
// Create wrappers for C Binding types (see CBindingWrapping.h).
@@ -271,6 +288,6 @@
return reinterpret_cast<LLVMContextRef*>(const_cast<LLVMContext**>(Tys));
}
-}
+} // end namespace llvm
-#endif
+#endif // LLVM_IR_LLVMCONTEXT_H
diff --git a/third_party/llvm-subzero/include/llvm/IR/Metadata.def b/third_party/llvm-subzero/include/llvm/IR/Metadata.def
index 607f5ef..03cdcab 100644
--- a/third_party/llvm-subzero/include/llvm/IR/Metadata.def
+++ b/third_party/llvm-subzero/include/llvm/IR/Metadata.def
@@ -82,6 +82,7 @@
HANDLE_MDNODE_LEAF_UNIQUABLE(MDTuple)
HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(DILocation)
HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(DIExpression)
+HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(DIGlobalVariableExpression)
HANDLE_SPECIALIZED_MDNODE_BRANCH(DINode)
HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(GenericDINode)
HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(DISubrange)
diff --git a/third_party/llvm-subzero/include/llvm/IR/Metadata.h b/third_party/llvm-subzero/include/llvm/IR/Metadata.h
index 0ce8882..46c785a 100644
--- a/third_party/llvm-subzero/include/llvm/IR/Metadata.h
+++ b/third_party/llvm-subzero/include/llvm/IR/Metadata.h
@@ -18,19 +18,30 @@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
-#include "llvm/ADT/PointerUnion.h"
-#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/ilist_node.h"
#include "llvm/ADT/iterator_range.h"
+#include "llvm/ADT/None.h"
+#include "llvm/ADT/PointerUnion.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Value.h"
+#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
+#include <iterator>
+#include <memory>
+#include <string>
#include <type_traits>
+#include <utility>
namespace llvm {
-class LLVMContext;
class Module;
class ModuleSlotTracker;
@@ -69,6 +80,7 @@
: SubclassID(ID), Storage(Storage), SubclassData16(0), SubclassData32(0) {
static_assert(sizeof(*this) == 8, "Metdata fields poorly packed");
}
+
~Metadata() = default;
/// \brief Default handling of a changed operand, which asserts.
@@ -263,6 +275,7 @@
public:
ReplaceableMetadataImpl(LLVMContext &Context)
: Context(Context), NextIndex(0) {}
+
~ReplaceableMetadataImpl() {
assert(UseMap.empty() && "Cannot destroy in-use replaceable metadata");
}
@@ -325,6 +338,7 @@
: Metadata(ID, Uniqued), ReplaceableMetadataImpl(V->getContext()), V(V) {
assert(V && "Expected valid value");
}
+
~ValueAsMetadata() = default;
public:
@@ -378,6 +392,7 @@
static ConstantAsMetadata *get(Constant *C) {
return ValueAsMetadata::getConstant(C);
}
+
static ConstantAsMetadata *getIfExists(Constant *C) {
return ValueAsMetadata::getConstantIfExists(C);
}
@@ -403,6 +418,7 @@
static LocalAsMetadata *get(Value *Local) {
return ValueAsMetadata::getLocal(Local);
}
+
static LocalAsMetadata *getIfExists(Value *Local) {
return ValueAsMetadata::getLocalIfExists(Local);
}
@@ -463,6 +479,7 @@
namespace mdconst {
namespace detail {
+
template <class T> T &make();
template <class T, class Result> struct HasDereference {
typedef char Yes[1];
@@ -484,6 +501,7 @@
static const bool value = std::is_base_of<Constant, V>::value &&
std::is_convertible<M, const Metadata &>::value;
};
+
} // end namespace detail
/// \brief Check whether Metadata has a Value.
@@ -568,14 +586,14 @@
class MDString : public Metadata {
friend class StringMapEntry<MDString>;
- MDString(const MDString &) = delete;
- MDString &operator=(MDString &&) = delete;
- MDString &operator=(const MDString &) = delete;
-
StringMapEntry<MDString> *Entry;
MDString() : Metadata(MDStringKind, Uniqued), Entry(nullptr) {}
public:
+ MDString(const MDString &) = delete;
+ MDString &operator=(MDString &&) = delete;
+ MDString &operator=(const MDString &) = delete;
+
static MDString *get(LLVMContext &Context, StringRef Str);
static MDString *get(LLVMContext &Context, const char *Str) {
return get(Context, Str ? StringRef(Str) : StringRef());
@@ -634,15 +652,18 @@
return AAMDNodes(DenseMapInfo<MDNode *>::getEmptyKey(),
nullptr, nullptr);
}
+
static inline AAMDNodes getTombstoneKey() {
return AAMDNodes(DenseMapInfo<MDNode *>::getTombstoneKey(),
nullptr, nullptr);
}
+
static unsigned getHashValue(const AAMDNodes &Val) {
return DenseMapInfo<MDNode *>::getHashValue(Val.TBAA) ^
DenseMapInfo<MDNode *>::getHashValue(Val.Scope) ^
DenseMapInfo<MDNode *>::getHashValue(Val.NoAlias);
}
+
static bool isEqual(const AAMDNodes &LHS, const AAMDNodes &RHS) {
return LHS == RHS;
}
@@ -656,15 +677,14 @@
///
/// In particular, this is used by \a MDNode.
class MDOperand {
+ Metadata *MD = nullptr;
+
+public:
+ MDOperand() = default;
MDOperand(MDOperand &&) = delete;
MDOperand(const MDOperand &) = delete;
MDOperand &operator=(MDOperand &&) = delete;
MDOperand &operator=(const MDOperand &) = delete;
-
- Metadata *MD;
-
-public:
- MDOperand() : MD(nullptr) {}
~MDOperand() { untrack(); }
Metadata *get() const { return MD; }
@@ -691,6 +711,7 @@
MetadataTracking::track(MD);
}
}
+
void untrack() {
assert(static_cast<void *>(this) == &MD && "Expected same address");
if (MD)
@@ -715,13 +736,6 @@
class ContextAndReplaceableUses {
PointerUnion<LLVMContext *, ReplaceableMetadataImpl *> Ptr;
- ContextAndReplaceableUses() = delete;
- ContextAndReplaceableUses(ContextAndReplaceableUses &&) = delete;
- ContextAndReplaceableUses(const ContextAndReplaceableUses &) = delete;
- ContextAndReplaceableUses &operator=(ContextAndReplaceableUses &&) = delete;
- ContextAndReplaceableUses &
- operator=(const ContextAndReplaceableUses &) = delete;
-
public:
ContextAndReplaceableUses(LLVMContext &Context) : Ptr(&Context) {}
ContextAndReplaceableUses(
@@ -729,6 +743,12 @@
: Ptr(ReplaceableUses.release()) {
assert(getReplaceableUses() && "Expected non-null replaceable uses");
}
+ ContextAndReplaceableUses() = delete;
+ ContextAndReplaceableUses(ContextAndReplaceableUses &&) = delete;
+ ContextAndReplaceableUses(const ContextAndReplaceableUses &) = delete;
+ ContextAndReplaceableUses &operator=(ContextAndReplaceableUses &&) = delete;
+ ContextAndReplaceableUses &
+ operator=(const ContextAndReplaceableUses &) = delete;
~ContextAndReplaceableUses() { delete getReplaceableUses(); }
operator LLVMContext &() { return getContext(); }
@@ -737,11 +757,13 @@
bool hasReplaceableUses() const {
return Ptr.is<ReplaceableMetadataImpl *>();
}
+
LLVMContext &getContext() const {
if (hasReplaceableUses())
return getReplaceableUses()->getContext();
return *Ptr.get<LLVMContext *>();
}
+
ReplaceableMetadataImpl *getReplaceableUses() const {
if (hasReplaceableUses())
return Ptr.get<ReplaceableMetadataImpl *>();
@@ -809,10 +831,6 @@
friend class ReplaceableMetadataImpl;
friend class LLVMContextImpl;
- MDNode(const MDNode &) = delete;
- void operator=(const MDNode &) = delete;
- void *operator new(size_t) = delete;
-
unsigned NumOperands;
unsigned NumUnresolved;
@@ -847,6 +865,10 @@
}
public:
+ MDNode(const MDNode &) = delete;
+ void operator=(const MDNode &) = delete;
+ void *operator new(size_t) = delete;
+
static inline MDTuple *get(LLVMContext &Context, ArrayRef<Metadata *> MDs);
static inline MDTuple *getIfExists(LLVMContext &Context,
ArrayRef<Metadata *> MDs);
@@ -1002,9 +1024,11 @@
op_iterator op_begin() const {
return const_cast<MDNode *>(this)->mutable_begin();
}
+
op_iterator op_end() const {
return const_cast<MDNode *>(this)->mutable_end();
}
+
op_range operands() const { return op_range(op_begin(), op_end()); }
const MDOperand &getOperand(unsigned I) const {
@@ -1054,6 +1078,7 @@
: MDNode(C, MDTupleKind, Storage, Vals) {
setHash(Hash);
}
+
~MDTuple() { dropAllReferences(); }
void setHash(unsigned Hash) { SubclassData32 = Hash; }
@@ -1074,6 +1099,7 @@
static MDTuple *get(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
return getImpl(Context, MDs, Uniqued);
}
+
static MDTuple *getIfExists(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
return getImpl(Context, MDs, Uniqued, /* ShouldCreate */ false);
}
@@ -1106,12 +1132,15 @@
MDTuple *MDNode::get(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
return MDTuple::get(Context, MDs);
}
+
MDTuple *MDNode::getIfExists(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
return MDTuple::getIfExists(Context, MDs);
}
+
MDTuple *MDNode::getDistinct(LLVMContext &Context, ArrayRef<Metadata *> MDs) {
return MDTuple::getDistinct(Context, MDs);
}
+
TempMDTuple MDNode::getTemporary(LLVMContext &Context,
ArrayRef<Metadata *> MDs) {
return MDTuple::getTemporary(Context, MDs);
@@ -1133,16 +1162,20 @@
public:
TypedMDOperandIterator() = default;
explicit TypedMDOperandIterator(MDNode::op_iterator I) : I(I) {}
+
T *operator*() const { return cast_or_null<T>(*I); }
+
TypedMDOperandIterator &operator++() {
++I;
return *this;
}
+
TypedMDOperandIterator operator++(int) {
TypedMDOperandIterator Temp(*this);
++I;
return Temp;
}
+
bool operator==(const TypedMDOperandIterator &X) const { return I == X.I; }
bool operator!=(const TypedMDOperandIterator &X) const { return I != X.I; }
};
@@ -1213,16 +1246,16 @@
Metadata **Use = nullptr;
- DistinctMDOperandPlaceholder() = delete;
- DistinctMDOperandPlaceholder(DistinctMDOperandPlaceholder &&) = delete;
- DistinctMDOperandPlaceholder(const DistinctMDOperandPlaceholder &) = delete;
-
public:
explicit DistinctMDOperandPlaceholder(unsigned ID)
: Metadata(DistinctMDOperandPlaceholderKind, Distinct) {
SubclassData32 = ID;
}
+ DistinctMDOperandPlaceholder() = delete;
+ DistinctMDOperandPlaceholder(DistinctMDOperandPlaceholder &&) = delete;
+ DistinctMDOperandPlaceholder(const DistinctMDOperandPlaceholder &) = delete;
+
~DistinctMDOperandPlaceholder() {
if (Use)
*Use = nullptr;
@@ -1249,7 +1282,6 @@
class NamedMDNode : public ilist_node<NamedMDNode> {
friend class LLVMContextImpl;
friend class Module;
- NamedMDNode(const NamedMDNode &) = delete;
std::string Name;
Module *Parent;
@@ -1262,30 +1294,35 @@
template<class T1, class T2>
class op_iterator_impl :
public std::iterator<std::bidirectional_iterator_tag, T2> {
- const NamedMDNode *Node;
- unsigned Idx;
+ const NamedMDNode *Node = nullptr;
+ unsigned Idx = 0;
+
op_iterator_impl(const NamedMDNode *N, unsigned i) : Node(N), Idx(i) { }
friend class NamedMDNode;
public:
- op_iterator_impl() : Node(nullptr), Idx(0) { }
+ op_iterator_impl() = default;
bool operator==(const op_iterator_impl &o) const { return Idx == o.Idx; }
bool operator!=(const op_iterator_impl &o) const { return Idx != o.Idx; }
+
op_iterator_impl &operator++() {
++Idx;
return *this;
}
+
op_iterator_impl operator++(int) {
op_iterator_impl tmp(*this);
operator++();
return tmp;
}
+
op_iterator_impl &operator--() {
--Idx;
return *this;
}
+
op_iterator_impl operator--(int) {
op_iterator_impl tmp(*this);
operator--();
@@ -1296,13 +1333,16 @@
};
public:
+ NamedMDNode(const NamedMDNode &) = delete;
+ ~NamedMDNode();
+
/// \brief Drop all references and remove the node from parent module.
void eraseFromParent();
- /// \brief Remove all uses and clear node vector.
- void dropAllReferences();
-
- ~NamedMDNode();
+ /// Remove all uses and clear node vector.
+ void dropAllReferences() { clearOperands(); }
+ /// Drop all references to this node's operands.
+ void clearOperands();
/// \brief Get the module that holds this named metadata collection.
inline Module *getParent() { return Parent; }
@@ -1337,6 +1377,6 @@
}
};
-} // end llvm namespace
+} // end namespace llvm
#endif // LLVM_IR_METADATA_H
diff --git a/third_party/llvm-subzero/include/llvm/IR/Type.h b/third_party/llvm-subzero/include/llvm/IR/Type.h
index 9cf03d8..778ee06 100644
--- a/third_party/llvm-subzero/include/llvm/IR/Type.h
+++ b/third_party/llvm-subzero/include/llvm/IR/Type.h
@@ -81,6 +81,8 @@
TypeID ID : 8; // The current base type of this type.
unsigned SubclassData : 24; // Space for subclasses to store data.
+ // Note that this should be synchronized with
+ // MAX_INT_BITS value in IntegerType class.
protected:
friend class LLVMContextImpl;
@@ -108,7 +110,7 @@
Type * const *ContainedTys;
static bool isSequentialType(TypeID TyID) {
- return TyID == ArrayTyID || TyID == PointerTyID || TyID == VectorTyID;
+ return TyID == ArrayTyID || TyID == VectorTyID;
}
public:
@@ -164,12 +166,12 @@
const fltSemantics &getFltSemantics() const {
switch (getTypeID()) {
- case HalfTyID: return APFloat::IEEEhalf;
- case FloatTyID: return APFloat::IEEEsingle;
- case DoubleTyID: return APFloat::IEEEdouble;
- case X86_FP80TyID: return APFloat::x87DoubleExtended;
- case FP128TyID: return APFloat::IEEEquad;
- case PPC_FP128TyID: return APFloat::PPCDoubleDouble;
+ case HalfTyID: return APFloat::IEEEhalf();
+ case FloatTyID: return APFloat::IEEEsingle();
+ case DoubleTyID: return APFloat::IEEEdouble();
+ case X86_FP80TyID: return APFloat::x87DoubleExtended();
+ case FP128TyID: return APFloat::IEEEquad();
+ case PPC_FP128TyID: return APFloat::PPCDoubleDouble();
default: llvm_unreachable("Invalid floating type");
}
}
@@ -342,12 +344,21 @@
}
inline uint64_t getArrayNumElements() const;
- Type *getArrayElementType() const { return getSequentialElementType(); }
+ Type *getArrayElementType() const {
+ assert(getTypeID() == ArrayTyID);
+ return ContainedTys[0];
+ }
inline unsigned getVectorNumElements() const;
- Type *getVectorElementType() const { return getSequentialElementType(); }
+ Type *getVectorElementType() const {
+ assert(getTypeID() == VectorTyID);
+ return ContainedTys[0];
+ }
- Type *getPointerElementType() const { return getSequentialElementType(); }
+ Type *getPointerElementType() const {
+ assert(getTypeID() == PointerTyID);
+ return ContainedTys[0];
+ }
/// Get the address space of this pointer or pointer vector type.
inline unsigned getPointerAddressSpace() const;
diff --git a/third_party/llvm-subzero/include/llvm/IR/Use.h b/third_party/llvm-subzero/include/llvm/IR/Use.h
index e62eab5..ff6b2e1 100644
--- a/third_party/llvm-subzero/include/llvm/IR/Use.h
+++ b/third_party/llvm-subzero/include/llvm/IR/Use.h
@@ -27,7 +27,7 @@
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/Support/CBindingWrapping.h"
-#include <cstddef>
+#include "llvm-c/Types.h"
namespace llvm {
@@ -36,16 +36,6 @@
class Use;
template <typename> struct simplify_type;
-// Use** is only 4-byte aligned.
-template <> class PointerLikeTypeTraits<Use **> {
-public:
- static inline void *getAsVoidPointer(Use **P) { return P; }
- static inline Use **getFromVoidPointer(void *P) {
- return static_cast<Use **>(P);
- }
- enum { NumLowBitsAvailable = 2 };
-};
-
/// \brief A Use represents the edge between a Value definition and its users.
///
/// This is notionally a two-dimensional linked list. It supports traversing
@@ -65,6 +55,8 @@
/// time complexity.
class Use {
public:
+ Use(const Use &U) = delete;
+
/// \brief Provide a fast substitute to std::swap<Use>
/// that also works with less standard-compliant compilers
void swap(Use &RHS);
@@ -74,8 +66,6 @@
typedef PointerIntPair<User *, 1, unsigned> UserRef;
private:
- Use(const Use &U) = delete;
-
/// Destructor - Only for zap()
~Use() {
if (Val)
@@ -128,6 +118,7 @@
PointerIntPair<Use **, 2, PrevPtrTag> Prev;
void setPrev(Use **NewPrev) { Prev.setPointer(NewPrev); }
+
void addToList(Use **List) {
Next = *List;
if (Next)
@@ -135,6 +126,7 @@
setPrev(List);
*List = this;
}
+
void removeFromList() {
Use **StrippedPrev = Prev.getPointer();
*StrippedPrev = Next;
@@ -159,6 +151,6 @@
// Create wrappers for C Binding types (see CBindingWrapping.h).
DEFINE_SIMPLE_CONVERSION_FUNCTIONS(Use, LLVMUseRef)
-}
+} // end namespace llvm
-#endif
+#endif // LLVM_IR_USE_H
diff --git a/third_party/llvm-subzero/include/llvm/IR/User.h b/third_party/llvm-subzero/include/llvm/IR/User.h
index 4d6b30c..e6fe974 100644
--- a/third_party/llvm-subzero/include/llvm/IR/User.h
+++ b/third_party/llvm-subzero/include/llvm/IR/User.h
@@ -21,9 +21,15 @@
#include "llvm/ADT/iterator.h"
#include "llvm/ADT/iterator_range.h"
+#include "llvm/IR/Use.h"
#include "llvm/IR/Value.h"
-#include "llvm/Support/AlignOf.h"
+#include "llvm/Support/Casting.h"
+#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
+#include <iterator>
namespace llvm {
@@ -37,9 +43,9 @@
struct OperandTraits;
class User : public Value {
- User(const User &) = delete;
template <unsigned>
friend struct HungoffOperandTraits;
+
virtual void anchor();
LLVM_ATTRIBUTE_ALWAYS_INLINE inline static void *
@@ -88,8 +94,9 @@
void growHungoffUses(unsigned N, bool IsPhi = false);
public:
- ~User() override {
- }
+ User(const User &) = delete;
+ ~User() override = default;
+
/// \brief Free memory allocated for User and Use objects.
void operator delete(void *Usr);
/// \brief Placement delete - required by std, but never called.
@@ -100,6 +107,7 @@
void operator delete(void*, unsigned, bool) {
llvm_unreachable("Constructor throws?");
}
+
protected:
template <int Idx, typename U> static Use &OpFrom(const U *that) {
return Idx < 0
@@ -112,6 +120,7 @@
template <int Idx> const Use &Op() const {
return OpFrom<Idx>(this);
}
+
private:
Use *&getHungOffOperands() { return *(reinterpret_cast<Use **>(this) - 1); }
@@ -124,6 +133,7 @@
"Setting operand list only required for hung off uses");
getHungOffOperands() = NewList;
}
+
public:
Use *getOperandList() {
return HasHungOffUses ? getHungOffOperands() : getIntrusiveOperands();
@@ -131,10 +141,12 @@
const Use *getOperandList() const {
return const_cast<User *>(this)->getOperandList();
}
+
Value *getOperand(unsigned i) const {
assert(i < NumUserOperands && "getOperand() out of range!");
return getOperandList()[i];
}
+
void setOperand(unsigned i, Value *Val) {
assert(i < NumUserOperands && "setOperand() out of range!");
assert((!isa<Constant>((const Value*)this) ||
@@ -142,6 +154,7 @@
"Cannot mutate a constant with setOperand!");
getOperandList()[i] = Val;
}
+
const Use &getOperandUse(unsigned i) const {
assert(i < NumUserOperands && "getOperandUse() out of range!");
return getOperandList()[i];
@@ -250,9 +263,9 @@
}
};
// Either Use objects, or a Use pointer can be prepended to User.
-static_assert(AlignOf<Use>::Alignment >= AlignOf<User>::Alignment,
+static_assert(alignof(Use) >= alignof(User),
"Alignment is insufficient after objects prepended to User");
-static_assert(AlignOf<Use *>::Alignment >= AlignOf<User>::Alignment,
+static_assert(alignof(Use *) >= alignof(User),
"Alignment is insufficient after objects prepended to User");
template<> struct simplify_type<User::op_iterator> {
@@ -268,6 +281,6 @@
}
};
-} // End llvm namespace
+} // end namespace llvm
-#endif
+#endif // LLVM_IR_USER_H
diff --git a/third_party/llvm-subzero/include/llvm/IR/Value.h b/third_party/llvm-subzero/include/llvm/IR/Value.h
index b3d318c..ac37a45 100644
--- a/third_party/llvm-subzero/include/llvm/IR/Value.h
+++ b/third_party/llvm-subzero/include/llvm/IR/Value.h
@@ -18,12 +18,14 @@
#include "llvm/IR/Use.h"
#include "llvm/Support/CBindingWrapping.h"
#include "llvm/Support/Casting.h"
+#include "llvm-c/Types.h"
+#include <cassert>
+#include <iterator>
namespace llvm {
class APInt;
class Argument;
-class AssemblyAnnotationWriter;
class BasicBlock;
class Constant;
class ConstantData;
@@ -41,12 +43,10 @@
class LLVMContext;
class Module;
class ModuleSlotTracker;
+class raw_ostream;
class StringRef;
class Twine;
class Type;
-class ValueHandleBase;
-class ValueSymbolTable;
-class raw_ostream;
template<typename ValueTy> class StringMapEntry;
typedef StringMapEntry<Value*> ValueName;
@@ -77,6 +77,7 @@
const unsigned char SubclassID; // Subclass identifier (for isa/dyn_cast)
unsigned char HasValueHandle : 1; // Has a ValueHandle pointing to this?
+
protected:
/// \brief Hold subclass data that can be dropped.
///
@@ -134,6 +135,7 @@
U = U->getNext();
return *this;
}
+
use_iterator_impl operator++(int) { // Postincrement
auto tmp = *this;
++*this;
@@ -160,7 +162,7 @@
friend class Value;
public:
- user_iterator_impl() {}
+ user_iterator_impl() = default;
bool operator==(const user_iterator_impl &x) const { return UI == x.UI; }
bool operator!=(const user_iterator_impl &x) const { return !operator==(x); }
@@ -172,6 +174,7 @@
++UI;
return *this;
}
+
user_iterator_impl operator++(int) { // Postincrement
auto tmp = *this;
++*this;
@@ -192,12 +195,12 @@
Use &getUse() const { return *UI; }
};
- void operator=(const Value &) = delete;
- Value(const Value &) = delete;
-
protected:
Value(Type *Ty, unsigned scid);
+
public:
+ Value(const Value &) = delete;
+ void operator=(const Value &) = delete;
virtual ~Value();
/// \brief Support for debugging, callable in GDB: V->dump()
@@ -236,6 +239,7 @@
private:
void destroyValueName();
+ void doRAUW(Value *New, bool NoMetadata);
void setNameImpl(const Twine &Name);
public:
@@ -252,7 +256,6 @@
/// \param Name The new name; or "" if the value's name should be removed.
void setName(const Twine &Name);
-
/// \brief Transfer the name from V to this value.
///
/// After taking V's name, sets V's name to empty.
@@ -267,6 +270,12 @@
/// guaranteed to be empty.
void replaceAllUsesWith(Value *V);
+ /// \brief Change non-metadata uses of this to point to a new Value.
+ ///
+ /// Go through the uses list for this definition and make each use point to
+ /// "V" instead of "this". This function skips metadata entries in the list.
+ void replaceNonMetadataUsesWith(Value *V);
+
/// replaceUsesOutsideBlock - Go through the uses list for this definition and
/// make each use point to "V" instead of "this" when the use is outside the
/// block. 'This's use list is expected to have at least one element.
@@ -448,6 +457,12 @@
/// \brief Return true if there is metadata referencing this value.
bool isUsedByMetadata() const { return IsUsedByMD; }
+ /// \brief Return true if this value is a swifterror value.
+ ///
+ /// swifterror values can be either a function argument or an alloca with a
+ /// swifterror attribute.
+ bool isSwiftError() const;
+
/// \brief Strip off pointer casts, all-zero GEPs, and aliases.
///
/// Returns the original uncasted value. If this is called on a non-pointer
@@ -778,18 +793,6 @@
}
};
-// Value* is only 4-byte aligned.
-template<>
-class PointerLikeTypeTraits<Value*> {
- typedef Value* PT;
-public:
- static inline void *getAsVoidPointer(PT P) { return P; }
- static inline PT getFromVoidPointer(void *P) {
- return static_cast<PT>(P);
- }
- enum { NumLowBitsAvailable = 2 };
-};
-
// Create wrappers for C Binding types (see CBindingWrapping.h).
DEFINE_ISA_CONVERSION_FUNCTIONS(Value, LLVMValueRef)
@@ -812,6 +815,6 @@
return reinterpret_cast<LLVMValueRef*>(const_cast<Value**>(Vals));
}
-} // End llvm namespace
+} // end namespace llvm
-#endif
+#endif // LLVM_IR_VALUE_H
diff --git a/third_party/llvm-subzero/include/llvm/Support/AArch64TargetParser.def b/third_party/llvm-subzero/include/llvm/Support/AArch64TargetParser.def
index a2e30e7..c4416f0 100644
--- a/third_party/llvm-subzero/include/llvm/Support/AArch64TargetParser.def
+++ b/third_party/llvm-subzero/include/llvm/Support/AArch64TargetParser.def
@@ -21,15 +21,15 @@
AARCH64_ARCH("armv8-a", AK_ARMV8A, "8-A", "v8", ARMBuildAttrs::CPUArch::v8_A,
FK_CRYPTO_NEON_FP_ARMV8,
(AArch64::AEK_CRC | AArch64::AEK_CRYPTO | AArch64::AEK_FP |
- AArch64::AEK_SIMD))
+ AArch64::AEK_SIMD | AArch64::AEK_LSE))
AARCH64_ARCH("armv8.1-a", AK_ARMV8_1A, "8.1-A", "v8.1a",
ARMBuildAttrs::CPUArch::v8_A, FK_CRYPTO_NEON_FP_ARMV8,
(AArch64::AEK_CRC | AArch64::AEK_CRYPTO | AArch64::AEK_FP |
- AArch64::AEK_SIMD))
+ AArch64::AEK_SIMD | AArch64::AEK_LSE))
AARCH64_ARCH("armv8.2-a", AK_ARMV8_2A, "8.2-A", "v8.2a",
ARMBuildAttrs::CPUArch::v8_A, FK_CRYPTO_NEON_FP_ARMV8,
(AArch64::AEK_CRC | AArch64::AEK_CRYPTO | AArch64::AEK_FP |
- AArch64::AEK_SIMD | AArch64::AEK_RAS))
+ AArch64::AEK_SIMD | AArch64::AEK_RAS | AArch64::AEK_LSE))
#undef AARCH64_ARCH
#ifndef AARCH64_ARCH_EXT_NAME
@@ -39,6 +39,7 @@
AARCH64_ARCH_EXT_NAME("invalid", AArch64::AEK_INVALID, nullptr, nullptr)
AARCH64_ARCH_EXT_NAME("none", AArch64::AEK_NONE, nullptr, nullptr)
AARCH64_ARCH_EXT_NAME("crc", AArch64::AEK_CRC, "+crc", "-crc")
+AARCH64_ARCH_EXT_NAME("lse", AArch64::AEK_LSE, "+lse", "-lse")
AARCH64_ARCH_EXT_NAME("crypto", AArch64::AEK_CRYPTO, "+crypto","-crypto")
AARCH64_ARCH_EXT_NAME("fp", AArch64::AEK_FP, "+fp-armv8", "-fp-armv8")
AARCH64_ARCH_EXT_NAME("simd", AArch64::AEK_SIMD, "+neon", "-neon")
@@ -66,6 +67,10 @@
(AArch64::AEK_SIMD | AArch64::AEK_CRC | AArch64::AEK_CRYPTO))
AARCH64_CPU_NAME("exynos-m2", AK_ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
(AArch64::AEK_SIMD | AArch64::AEK_CRC | AArch64::AEK_CRYPTO))
+AARCH64_CPU_NAME("exynos-m3", AK_ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
+ (AArch64::AEK_SIMD | AArch64::AEK_CRC | AArch64::AEK_CRYPTO))
+AARCH64_CPU_NAME("falkor", AK_ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
+ (AArch64::AEK_SIMD | AArch64::AEK_CRC | AArch64::AEK_CRYPTO))
AARCH64_CPU_NAME("kryo", AK_ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false,
(AArch64::AEK_SIMD | AArch64::AEK_CRC | AArch64::AEK_CRYPTO))
AARCH64_CPU_NAME("vulcan", AK_ARMV8_1A, FK_CRYPTO_NEON_FP_ARMV8, false,
diff --git a/third_party/llvm-subzero/include/llvm/Support/ARMBuildAttributes.h b/third_party/llvm-subzero/include/llvm/Support/ARMBuildAttributes.h
index f447cd0..e254457 100644
--- a/third_party/llvm-subzero/include/llvm/Support/ARMBuildAttributes.h
+++ b/third_party/llvm-subzero/include/llvm/Support/ARMBuildAttributes.h
@@ -108,6 +108,7 @@
v6S_M = 12, // v6_M with the System extensions
v7E_M = 13, // v7_M with DSP extensions
v8_A = 14, // v8_A AArch32
+ v8_R = 15, // e.g. Cortex R52
v8_M_Base= 16, // v8_M_Base AArch32
v8_M_Main= 17, // v8_M_Main AArch32
};
diff --git a/third_party/llvm-subzero/include/llvm/Support/ARMTargetParser.def b/third_party/llvm-subzero/include/llvm/Support/ARMTargetParser.def
index 49e6860..58cb638 100644
--- a/third_party/llvm-subzero/include/llvm/Support/ARMTargetParser.def
+++ b/third_party/llvm-subzero/include/llvm/Support/ARMTargetParser.def
@@ -94,6 +94,10 @@
ARMBuildAttrs::CPUArch::v8_A, FK_CRYPTO_NEON_FP_ARMV8,
(ARM::AEK_SEC | ARM::AEK_MP | ARM::AEK_VIRT | ARM::AEK_HWDIVARM |
ARM::AEK_HWDIV | ARM::AEK_DSP | ARM::AEK_CRC | ARM::AEK_RAS))
+ARM_ARCH("armv8-r", AK_ARMV8R, "8-R", "v8r", ARMBuildAttrs::CPUArch::v8_R,
+ FK_NEON_FP_ARMV8,
+ (ARM::AEK_MP | ARM::AEK_VIRT | ARM::AEK_HWDIVARM | ARM::AEK_HWDIV |
+ ARM::AEK_DSP | ARM::AEK_CRC))
ARM_ARCH("armv8-m.base", AK_ARMV8MBaseline, "8-M.Baseline", "v8m.base",
ARMBuildAttrs::CPUArch::v8_M_Base, FK_NONE, ARM::AEK_HWDIV)
ARM_ARCH("armv8-m.main", AK_ARMV8MMainline, "8-M.Mainline", "v8m.main",
@@ -220,6 +224,7 @@
(ARM::AEK_MP | ARM::AEK_HWDIVARM))
ARM_CPU_NAME("cortex-r8", AK_ARMV7R, FK_VFPV3_D16_FP16, false,
(ARM::AEK_MP | ARM::AEK_HWDIVARM))
+ARM_CPU_NAME("cortex-r52", AK_ARMV8R, FK_NEON_FP_ARMV8, true, ARM::AEK_NONE)
ARM_CPU_NAME("sc300", AK_ARMV7M, FK_NONE, false, ARM::AEK_NONE)
ARM_CPU_NAME("cortex-m3", AK_ARMV7M, FK_NONE, true, ARM::AEK_NONE)
ARM_CPU_NAME("cortex-m4", AK_ARMV7EM, FK_FPV4_SP_D16, true, ARM::AEK_NONE)
@@ -233,6 +238,7 @@
ARM_CPU_NAME("cyclone", AK_ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false, ARM::AEK_CRC)
ARM_CPU_NAME("exynos-m1", AK_ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false, ARM::AEK_CRC)
ARM_CPU_NAME("exynos-m2", AK_ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false, ARM::AEK_CRC)
+ARM_CPU_NAME("exynos-m3", AK_ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false, ARM::AEK_CRC)
// Non-standard Arch names.
ARM_CPU_NAME("iwmmxt", AK_IWMMXT, FK_NONE, true, ARM::AEK_NONE)
ARM_CPU_NAME("xscale", AK_XSCALE, FK_NONE, true, ARM::AEK_NONE)
diff --git a/third_party/llvm-subzero/include/llvm/Support/AlignOf.h b/third_party/llvm-subzero/include/llvm/Support/AlignOf.h
index 333bf16..abd19af 100644
--- a/third_party/llvm-subzero/include/llvm/Support/AlignOf.h
+++ b/third_party/llvm-subzero/include/llvm/Support/AlignOf.h
@@ -7,8 +7,7 @@
//
//===----------------------------------------------------------------------===//
//
-// This file defines the AlignOf function that computes alignments for
-// arbitrary types.
+// This file defines the AlignedCharArray and AlignedCharArrayUnion classes.
//
//===----------------------------------------------------------------------===//
@@ -17,100 +16,15 @@
#include "llvm/Support/Compiler.h"
#include <cstddef>
-#include <type_traits>
namespace llvm {
-namespace detail {
-
-// For everything other than an abstract class we can calulate alignment by
-// building a class with a single character and a member of the given type.
-template <typename T, bool = std::is_abstract<T>::value>
-struct AlignmentCalcImpl {
- char x;
-#if defined(_MSC_VER)
-// Disables "structure was padded due to __declspec(align())" warnings that are
-// generated by any class using AlignOf<T> with a manually specified alignment.
-// Although the warning is disabled in the LLVM project we need this pragma
-// as AlignOf.h is a published support header that's available for use
-// out-of-tree, and we would like that to compile cleanly at /W4.
-#pragma warning(suppress : 4324)
-#endif
- T t;
-private:
- AlignmentCalcImpl() = delete;
-};
-
-// Abstract base class helper, this will have the minimal alignment and size
-// for any abstract class. We don't even define its destructor because this
-// type should never be used in a way that requires it.
-struct AlignmentCalcImplBase {
- virtual ~AlignmentCalcImplBase() = 0;
-};
-
-// When we have an abstract class type, specialize the alignment computation
-// engine to create another abstract class that derives from both an empty
-// abstract base class and the provided type. This has the same effect as the
-// above except that it handles the fact that we can't actually create a member
-// of type T.
-template <typename T>
-struct AlignmentCalcImpl<T, true> : AlignmentCalcImplBase, T {
- ~AlignmentCalcImpl() override = 0;
-};
-
-} // End detail namespace.
-
-/// AlignOf - A templated class that contains an enum value representing
-/// the alignment of the template argument. For example,
-/// AlignOf<int>::Alignment represents the alignment of type "int". The
-/// alignment calculated is the minimum alignment, and not necessarily
-/// the "desired" alignment returned by GCC's __alignof__ (for example). Note
-/// that because the alignment is an enum value, it can be used as a
-/// compile-time constant (e.g., for template instantiation).
-template <typename T>
-struct AlignOf {
-#ifndef _MSC_VER
- // Avoid warnings from GCC like:
- // comparison between 'enum llvm::AlignOf<X>::<anonymous>' and 'enum
- // llvm::AlignOf<Y>::<anonymous>' [-Wenum-compare]
- // by using constexpr instead of enum.
- // (except on MSVC, since it doesn't support constexpr yet).
- static constexpr unsigned Alignment = static_cast<unsigned int>(
- sizeof(detail::AlignmentCalcImpl<T>) - sizeof(T));
-#else
- enum {
- Alignment = static_cast<unsigned int>(
- sizeof(::llvm::detail::AlignmentCalcImpl<T>) - sizeof(T))
- };
-#endif
- enum { Alignment_GreaterEqual_2Bytes = Alignment >= 2 ? 1 : 0 };
- enum { Alignment_GreaterEqual_4Bytes = Alignment >= 4 ? 1 : 0 };
- enum { Alignment_GreaterEqual_8Bytes = Alignment >= 8 ? 1 : 0 };
- enum { Alignment_GreaterEqual_16Bytes = Alignment >= 16 ? 1 : 0 };
-
- enum { Alignment_LessEqual_2Bytes = Alignment <= 2 ? 1 : 0 };
- enum { Alignment_LessEqual_4Bytes = Alignment <= 4 ? 1 : 0 };
- enum { Alignment_LessEqual_8Bytes = Alignment <= 8 ? 1 : 0 };
- enum { Alignment_LessEqual_16Bytes = Alignment <= 16 ? 1 : 0 };
-};
-
-#ifndef _MSC_VER
-template <typename T> constexpr unsigned AlignOf<T>::Alignment;
-#endif
-
-/// alignOf - A templated function that returns the minimum alignment of
-/// of a type. This provides no extra functionality beyond the AlignOf
-/// class besides some cosmetic cleanliness. Example usage:
-/// alignOf<int>() returns the alignment of an int.
-template <typename T>
-LLVM_CONSTEXPR inline unsigned alignOf() { return AlignOf<T>::Alignment; }
-
/// \struct AlignedCharArray
/// \brief Helper for building an aligned character array type.
///
/// This template is used to explicitly build up a collection of aligned
/// character array types. We have to build these up using a macro and explicit
-/// specialization to cope with old versions of MSVC and GCC where only an
+/// specialization to cope with MSVC (at least till 2015) where only an
/// integer literal can be used to specify an alignment constraint. Once built
/// up here, we can then begin to indirect between these using normal C++
/// template parameters.
@@ -118,38 +32,11 @@
// MSVC requires special handling here.
#ifndef _MSC_VER
-#if __has_feature(cxx_alignas)
template<std::size_t Alignment, std::size_t Size>
struct AlignedCharArray {
- alignas(Alignment) char buffer[Size];
+ LLVM_ALIGNAS(Alignment) char buffer[Size];
};
-#elif defined(__GNUC__) || defined(__IBM_ATTRIBUTES)
-/// \brief Create a type with an aligned char buffer.
-template<std::size_t Alignment, std::size_t Size>
-struct AlignedCharArray;
-
-#define LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(x) \
- template<std::size_t Size> \
- struct AlignedCharArray<x, Size> { \
- __attribute__((aligned(x))) char buffer[Size]; \
- };
-
-LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(1)
-LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(2)
-LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(4)
-LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(8)
-LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(16)
-LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(32)
-LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(64)
-LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(128)
-
-#undef LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT
-
-#else
-# error No supported align as directive.
-#endif
-
#else // _MSC_VER
/// \brief Create a type with an aligned char buffer.
@@ -249,8 +136,8 @@
typename T5 = char, typename T6 = char, typename T7 = char,
typename T8 = char, typename T9 = char, typename T10 = char>
struct AlignedCharArrayUnion : llvm::AlignedCharArray<
- AlignOf<llvm::detail::AlignerImpl<T1, T2, T3, T4, T5,
- T6, T7, T8, T9, T10> >::Alignment,
+ alignof(llvm::detail::AlignerImpl<T1, T2, T3, T4, T5,
+ T6, T7, T8, T9, T10>),
sizeof(::llvm::detail::SizerImpl<T1, T2, T3, T4, T5,
T6, T7, T8, T9, T10>)> {
};
diff --git a/third_party/llvm-subzero/include/llvm/Support/Allocator.h b/third_party/llvm-subzero/include/llvm/Support/Allocator.h
index 1c95086..c71759a 100644
--- a/third_party/llvm-subzero/include/llvm/Support/Allocator.h
+++ b/third_party/llvm-subzero/include/llvm/Support/Allocator.h
@@ -22,14 +22,16 @@
#define LLVM_SUPPORT_ALLOCATOR_H
#include "llvm/ADT/SmallVector.h"
-#include "llvm/Support/AlignOf.h"
-#include "llvm/Support/DataTypes.h"
+#include "llvm/Support/Compiler.h"
#include "llvm/Support/MathExtras.h"
-#include "llvm/Support/Memory.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
+#include <cstdint>
#include <cstdlib>
+#include <iterator>
+#include <type_traits>
+#include <utility>
namespace llvm {
@@ -74,7 +76,7 @@
/// \brief Allocate space for a sequence of objects without constructing them.
template <typename T> T *Allocate(size_t Num = 1) {
- return static_cast<T *>(Allocate(Num * sizeof(T), AlignOf<T>::Alignment));
+ return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
}
/// \brief Deallocate space for a sequence of objects without constructing them.
@@ -114,7 +116,8 @@
// printing code uses Allocator.h in its implementation.
void printBumpPtrAllocatorStats(unsigned NumSlabs, size_t BytesAllocated,
size_t TotalMemory);
-} // End namespace detail.
+
+} // end namespace detail
/// \brief Allocate memory in an ever growing pool, as if by bump-pointer.
///
@@ -366,7 +369,7 @@
BumpPtrAllocator Allocator;
public:
- SpecificBumpPtrAllocator() : Allocator() {}
+ SpecificBumpPtrAllocator() = default;
SpecificBumpPtrAllocator(SpecificBumpPtrAllocator &&Old)
: Allocator(std::move(Old.Allocator)) {}
~SpecificBumpPtrAllocator() { DestroyAll(); }
@@ -381,7 +384,7 @@
/// all memory allocated so far.
void DestroyAll() {
auto DestroyElements = [](char *Begin, char *End) {
- assert(Begin == (char*)alignAddr(Begin, alignOf<T>()));
+ assert(Begin == (char *)alignAddr(Begin, alignof(T)));
for (char *Ptr = Begin; Ptr + sizeof(T) <= End; Ptr += sizeof(T))
reinterpret_cast<T *>(Ptr)->~T();
};
@@ -390,7 +393,7 @@
++I) {
size_t AllocatedSlabSize = BumpPtrAllocator::computeSlabSize(
std::distance(Allocator.Slabs.begin(), I));
- char *Begin = (char*)alignAddr(*I, alignOf<T>());
+ char *Begin = (char *)alignAddr(*I, alignof(T));
char *End = *I == Allocator.Slabs.back() ? Allocator.CurPtr
: (char *)*I + AllocatedSlabSize;
@@ -400,7 +403,7 @@
for (auto &PtrAndSize : Allocator.CustomSizedSlabs) {
void *Ptr = PtrAndSize.first;
size_t Size = PtrAndSize.second;
- DestroyElements((char*)alignAddr(Ptr, alignOf<T>()), (char *)Ptr + Size);
+ DestroyElements((char *)alignAddr(Ptr, alignof(T)), (char *)Ptr + Size);
}
Allocator.Reset();
@@ -410,7 +413,7 @@
T *Allocate(size_t num = 1) { return Allocator.Allocate<T>(num); }
};
-} // end namespace llvm
+} // end namespace llvm
template <typename AllocatorT, size_t SlabSize, size_t SizeThreshold>
void *operator new(size_t Size,
diff --git a/third_party/llvm-subzero/include/llvm/Support/COFF.h b/third_party/llvm-subzero/include/llvm/Support/COFF.h
index 7dad3e8..1922330 100644
--- a/third_party/llvm-subzero/include/llvm/Support/COFF.h
+++ b/third_party/llvm-subzero/include/llvm/Support/COFF.h
@@ -41,6 +41,11 @@
'\xaf', '\x20', '\xfa', '\xf6', '\x6a', '\xa4', '\xdc', '\xb8',
};
+ static const char ClGlObjMagic[] = {
+ '\x38', '\xfe', '\xb3', '\x0c', '\xa5', '\xd9', '\xab', '\x4d',
+ '\xac', '\x9b', '\xd6', '\xb6', '\x22', '\x26', '\x53', '\xc2',
+ };
+
// Sizes in bytes of various things in the COFF format.
enum {
Header16Size = 20,
@@ -657,7 +662,7 @@
}
ImportNameType getNameType() const {
- return static_cast<ImportNameType>((TypeInfo & 0x1C) >> 3);
+ return static_cast<ImportNameType>((TypeInfo & 0x1C) >> 2);
}
};
diff --git a/third_party/llvm-subzero/include/llvm/Support/Casting.h b/third_party/llvm-subzero/include/llvm/Support/Casting.h
index 6ba5efa..a73047b 100644
--- a/third_party/llvm-subzero/include/llvm/Support/Casting.h
+++ b/third_party/llvm-subzero/include/llvm/Support/Casting.h
@@ -128,8 +128,7 @@
//
// if (isa<Type>(myVal)) { ... }
//
-template <class X, class Y>
-LLVM_ATTRIBUTE_UNUSED_RESULT inline bool isa(const Y &Val) {
+template <class X, class Y> LLVM_NODISCARD inline bool isa(const Y &Val) {
return isa_impl_wrap<X, const Y,
typename simplify_type<const Y>::SimpleType>::doit(Val);
}
@@ -243,9 +242,10 @@
// accepted.
//
template <class X, class Y>
-LLVM_ATTRIBUTE_UNUSED_RESULT inline typename std::enable_if<
- !is_simple_type<Y>::value, typename cast_retty<X, const Y>::ret_type>::type
-cast_or_null(const Y &Val) {
+LLVM_NODISCARD inline
+ typename std::enable_if<!is_simple_type<Y>::value,
+ typename cast_retty<X, const Y>::ret_type>::type
+ cast_or_null(const Y &Val) {
if (!Val)
return nullptr;
assert(isa<X>(Val) && "cast_or_null<Ty>() argument of incompatible type!");
@@ -253,9 +253,10 @@
}
template <class X, class Y>
-LLVM_ATTRIBUTE_UNUSED_RESULT inline typename std::enable_if<
- !is_simple_type<Y>::value, typename cast_retty<X, Y>::ret_type>::type
-cast_or_null(Y &Val) {
+LLVM_NODISCARD inline
+ typename std::enable_if<!is_simple_type<Y>::value,
+ typename cast_retty<X, Y>::ret_type>::type
+ cast_or_null(Y &Val) {
if (!Val)
return nullptr;
assert(isa<X>(Val) && "cast_or_null<Ty>() argument of incompatible type!");
@@ -263,7 +264,7 @@
}
template <class X, class Y>
-LLVM_ATTRIBUTE_UNUSED_RESULT inline typename cast_retty<X, Y *>::ret_type
+LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
cast_or_null(Y *Val) {
if (!Val) return nullptr;
assert(isa<X>(Val) && "cast_or_null<Ty>() argument of incompatible type!");
@@ -280,21 +281,20 @@
//
template <class X, class Y>
-LLVM_ATTRIBUTE_UNUSED_RESULT inline typename std::enable_if<
- !is_simple_type<Y>::value, typename cast_retty<X, const Y>::ret_type>::type
-dyn_cast(const Y &Val) {
+LLVM_NODISCARD inline
+ typename std::enable_if<!is_simple_type<Y>::value,
+ typename cast_retty<X, const Y>::ret_type>::type
+ dyn_cast(const Y &Val) {
return isa<X>(Val) ? cast<X>(Val) : nullptr;
}
template <class X, class Y>
-LLVM_ATTRIBUTE_UNUSED_RESULT inline typename cast_retty<X, Y>::ret_type
-dyn_cast(Y &Val) {
+LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
return isa<X>(Val) ? cast<X>(Val) : nullptr;
}
template <class X, class Y>
-LLVM_ATTRIBUTE_UNUSED_RESULT inline typename cast_retty<X, Y *>::ret_type
-dyn_cast(Y *Val) {
+LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
return isa<X>(Val) ? cast<X>(Val) : nullptr;
}
@@ -302,21 +302,23 @@
// value is accepted.
//
template <class X, class Y>
-LLVM_ATTRIBUTE_UNUSED_RESULT inline typename std::enable_if<
- !is_simple_type<Y>::value, typename cast_retty<X, const Y>::ret_type>::type
-dyn_cast_or_null(const Y &Val) {
+LLVM_NODISCARD inline
+ typename std::enable_if<!is_simple_type<Y>::value,
+ typename cast_retty<X, const Y>::ret_type>::type
+ dyn_cast_or_null(const Y &Val) {
return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
}
template <class X, class Y>
-LLVM_ATTRIBUTE_UNUSED_RESULT inline typename std::enable_if<
- !is_simple_type<Y>::value, typename cast_retty<X, Y>::ret_type>::type
-dyn_cast_or_null(Y &Val) {
+LLVM_NODISCARD inline
+ typename std::enable_if<!is_simple_type<Y>::value,
+ typename cast_retty<X, Y>::ret_type>::type
+ dyn_cast_or_null(Y &Val) {
return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
}
template <class X, class Y>
-LLVM_ATTRIBUTE_UNUSED_RESULT inline typename cast_retty<X, Y *>::ret_type
+LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
dyn_cast_or_null(Y *Val) {
return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
}
diff --git a/third_party/llvm-subzero/include/llvm/Support/Chrono.h b/third_party/llvm-subzero/include/llvm/Support/Chrono.h
new file mode 100644
index 0000000..203439c
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/Support/Chrono.h
@@ -0,0 +1,55 @@
+//===- llvm/Support/Chrono.h - Utilities for Timing Manipulation-*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_SUPPORT_CHRONO_H
+#define LLVM_SUPPORT_CHRONO_H
+
+#include "llvm/Support/Compiler.h"
+
+#include <chrono>
+#include <ctime>
+
+namespace llvm {
+
+class raw_ostream;
+
+namespace sys {
+
+/// A time point on the system clock. This is provided for two reasons:
+/// - to insulate us agains subtle differences in behavoir to differences in
+/// system clock precision (which is implementation-defined and differs between
+/// platforms).
+/// - to shorten the type name
+/// The default precision is nanoseconds. If need a specific precision specify
+/// it explicitly. If unsure, use the default. If you need a time point on a
+/// clock other than the system_clock, use std::chrono directly.
+template <typename D = std::chrono::nanoseconds>
+using TimePoint = std::chrono::time_point<std::chrono::system_clock, D>;
+
+/// Convert a TimePoint to std::time_t
+LLVM_ATTRIBUTE_ALWAYS_INLINE inline std::time_t toTimeT(TimePoint<> TP) {
+ using namespace std::chrono;
+ return system_clock::to_time_t(
+ time_point_cast<system_clock::time_point::duration>(TP));
+}
+
+/// Convert a std::time_t to a TimePoint
+LLVM_ATTRIBUTE_ALWAYS_INLINE inline TimePoint<std::chrono::seconds>
+toTimePoint(std::time_t T) {
+ using namespace std::chrono;
+ return time_point_cast<seconds>(system_clock::from_time_t(T));
+}
+
+} // namespace sys
+
+raw_ostream &operator<<(raw_ostream &OS, sys::TimePoint<> TP);
+
+} // namespace llvm
+
+#endif // LLVM_SUPPORT_CHRONO_H
diff --git a/third_party/llvm-subzero/include/llvm/Support/CommandLine.h b/third_party/llvm-subzero/include/llvm/Support/CommandLine.h
index a0ec262..204672f 100644
--- a/third_party/llvm-subzero/include/llvm/Support/CommandLine.h
+++ b/third_party/llvm-subzero/include/llvm/Support/CommandLine.h
@@ -21,17 +21,21 @@
#define LLVM_SUPPORT_COMMANDLINE_H
#include "llvm/ADT/ArrayRef.h"
-#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/iterator_range.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringMap.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
-#include "llvm/Support/Compiler.h"
+#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/ManagedStatic.h"
#include <cassert>
#include <climits>
-#include <cstdarg>
-#include <utility>
+#include <cstddef>
+#include <initializer_list>
+#include <string>
+#include <type_traits>
#include <vector>
namespace llvm {
@@ -47,7 +51,7 @@
// ParseCommandLineOptions - Command line option processing entry point.
//
bool ParseCommandLineOptions(int argc, const char *const *argv,
- const char *Overview = nullptr,
+ StringRef Overview = "",
bool IgnoreErrors = false);
//===----------------------------------------------------------------------===//
@@ -55,7 +59,7 @@
// entry point.
//
void ParseEnvironmentOptions(const char *progName, const char *envvar,
- const char *Overview = nullptr);
+ const char *Overview = "");
///===---------------------------------------------------------------------===//
/// SetVersionPrinter - Override the default (LLVM specific) version printer
@@ -89,7 +93,7 @@
///
/// Literal options are used by some parsers to register special option values.
/// This is how the PassNameParser registers pass names for opt.
-void AddLiteralOption(Option &O, const char *Name);
+void AddLiteralOption(Option &O, StringRef Name);
//===----------------------------------------------------------------------===//
// Flags permitted to be passed to command line arguments
@@ -157,18 +161,20 @@
//
class OptionCategory {
private:
- const char *const Name;
- const char *const Description;
+ StringRef const Name;
+ StringRef const Description;
+
void registerCategory();
public:
- OptionCategory(const char *const Name,
- const char *const Description = nullptr)
+ OptionCategory(StringRef const Name,
+ StringRef const Description = "")
: Name(Name), Description(Description) {
registerCategory();
}
- const char *getName() const { return Name; }
- const char *getDescription() const { return Description; }
+
+ StringRef getName() const { return Name; }
+ StringRef getDescription() const { return Description; }
};
// The general Option Category (used as default category).
@@ -179,26 +185,26 @@
//
class SubCommand {
private:
- const char *const Name = nullptr;
- const char *const Description = nullptr;
+ StringRef Name;
+ StringRef Description;
protected:
void registerSubCommand();
void unregisterSubCommand();
public:
- SubCommand(const char *const Name, const char *const Description = nullptr)
+ SubCommand(StringRef Name, StringRef Description = "")
: Name(Name), Description(Description) {
- registerSubCommand();
+ registerSubCommand();
}
- SubCommand() {}
+ SubCommand() = default;
void reset();
operator bool() const;
- const char *getName() const { return Name; }
- const char *getDescription() const { return Description; }
+ StringRef getName() const { return Name; }
+ StringRef getDescription() const { return Description; }
SmallVector<Option *, 4> PositionalOpts;
SmallVector<Option *, 4> SinkOpts;
@@ -216,7 +222,6 @@
//===----------------------------------------------------------------------===//
// Option Base class
//
-class alias;
class Option {
friend class alias;
@@ -258,15 +263,19 @@
inline enum NumOccurrencesFlag getNumOccurrencesFlag() const {
return (enum NumOccurrencesFlag)Occurrences;
}
+
inline enum ValueExpected getValueExpectedFlag() const {
return Value ? ((enum ValueExpected)Value) : getValueExpectedFlagDefault();
}
+
inline enum OptionHidden getOptionHiddenFlag() const {
return (enum OptionHidden)HiddenFlag;
}
+
inline enum FormattingFlags getFormattingFlag() const {
return (enum FormattingFlags)Formatting;
}
+
inline unsigned getMiscFlags() const { return Misc; }
inline unsigned getPosition() const { return Position; }
inline unsigned getNumAdditionalVals() const { return AdditionalVals; }
@@ -275,9 +284,11 @@
bool hasArgStr() const { return !ArgStr.empty(); }
bool isPositional() const { return getFormattingFlag() == cl::Positional; }
bool isSink() const { return getMiscFlags() & cl::Sink; }
+
bool isConsumeAfter() const {
return getNumOccurrencesFlag() == cl::ConsumeAfter;
}
+
bool isInAllSubCommands() const {
return any_of(Subs, [](const SubCommand *SC) {
return SC == &*AllSubCommands;
@@ -304,12 +315,14 @@
enum OptionHidden Hidden)
: NumOccurrences(0), Occurrences(OccurrencesFlag), Value(0),
HiddenFlag(Hidden), Formatting(NormalFormatting), Misc(0), Position(0),
- AdditionalVals(0), ArgStr(""), HelpStr(""), ValueStr(""),
- Category(&GeneralCategory), FullyInitialized(false) {}
+ AdditionalVals(0), Category(&GeneralCategory), FullyInitialized(false) {
+ }
inline void setNumAdditionalVals(unsigned n) { AdditionalVals = n; }
public:
+ virtual ~Option() = default;
+
// addArgument - Register this argument with the commandline system.
//
void addArgument();
@@ -340,10 +353,8 @@
// Prints option name followed by message. Always returns true.
bool error(const Twine &Message, StringRef ArgName = StringRef());
-public:
inline int getNumOccurrences() const { return NumOccurrences; }
inline void reset() { NumOccurrences = 0; }
- virtual ~Option() {}
};
//===----------------------------------------------------------------------===//
@@ -353,16 +364,20 @@
// desc - Modifier to set the description shown in the -help output...
struct desc {
- const char *Desc;
- desc(const char *Str) : Desc(Str) {}
+ StringRef Desc;
+
+ desc(StringRef Str) : Desc(Str) {}
+
void apply(Option &O) const { O.setDescription(Desc); }
};
// value_desc - Modifier to set the value description shown in the -help
// output...
struct value_desc {
- const char *Desc;
- value_desc(const char *Str) : Desc(Str) {}
+ StringRef Desc;
+
+ value_desc(StringRef Str) : Desc(Str) {}
+
void apply(Option &O) const { O.setValueStr(Desc); }
};
@@ -387,6 +402,7 @@
//
template <class Ty> struct LocationClass {
Ty &Loc;
+
LocationClass(Ty &L) : Loc(L) {}
template <class Opt> void apply(Opt &O) const { O.setLocation(O, Loc); }
@@ -400,6 +416,7 @@
// to.
struct cat {
OptionCategory &Category;
+
cat(OptionCategory &c) : Category(c) {}
template <class Opt> void apply(Opt &O) const { O.setCategory(Category); }
@@ -408,6 +425,7 @@
// sub - Specify the subcommand that this option belongs to.
struct sub {
SubCommand ⋐
+
sub(SubCommand &S) : Sub(S) {}
template <class Opt> void apply(Opt &O) const { O.addSubCommand(Sub); }
@@ -421,9 +439,9 @@
virtual bool compare(const GenericOptionValue &V) const = 0;
protected:
- ~GenericOptionValue() = default;
GenericOptionValue() = default;
GenericOptionValue(const GenericOptionValue&) = default;
+ ~GenericOptionValue() = default;
GenericOptionValue &operator=(const GenericOptionValue &) = default;
private:
@@ -459,15 +477,15 @@
// Simple copy of the option value.
template <class DataType> class OptionValueCopy : public GenericOptionValue {
DataType Value;
- bool Valid;
+ bool Valid = false;
protected:
- ~OptionValueCopy() = default;
OptionValueCopy(const OptionValueCopy&) = default;
+ ~OptionValueCopy() = default;
OptionValueCopy &operator=(const OptionValueCopy&) = default;
public:
- OptionValueCopy() : Valid(false) {}
+ OptionValueCopy() = default;
bool hasValue() const { return Valid; }
@@ -498,9 +516,9 @@
typedef DataType WrapperType;
protected:
- ~OptionValueBase() = default;
OptionValueBase() = default;
OptionValueBase(const OptionValueBase&) = default;
+ ~OptionValueBase() = default;
OptionValueBase &operator=(const OptionValueBase&) = default;
};
@@ -511,6 +529,7 @@
OptionValue() = default;
OptionValue(const DataType &V) { this->setValue(V); }
+
// Some options may take their value from a different data type.
template <class DT> OptionValue<DataType> &operator=(const DT &V) {
this->setValue(V);
@@ -525,9 +544,10 @@
: OptionValueCopy<cl::boolOrDefault> {
typedef cl::boolOrDefault WrapperType;
- OptionValue() {}
+ OptionValue() = default;
OptionValue(const cl::boolOrDefault &V) { this->setValue(V); }
+
OptionValue<cl::boolOrDefault> &operator=(const cl::boolOrDefault &V) {
setValue(V);
return *this;
@@ -541,9 +561,10 @@
struct OptionValue<std::string> final : OptionValueCopy<std::string> {
typedef StringRef WrapperType;
- OptionValue() {}
+ OptionValue() = default;
OptionValue(const std::string &V) { this->setValue(V); }
+
OptionValue<std::string> &operator=(const std::string &V) {
setValue(V);
return *this;
@@ -556,52 +577,43 @@
//===----------------------------------------------------------------------===//
// Enum valued command line option
//
-#define clEnumVal(ENUMVAL, DESC) #ENUMVAL, int(ENUMVAL), DESC
-#define clEnumValN(ENUMVAL, FLAGNAME, DESC) FLAGNAME, int(ENUMVAL), DESC
-#define clEnumValEnd (reinterpret_cast<void *>(0))
+
+// This represents a single enum value, using "int" as the underlying type.
+struct OptionEnumValue {
+ StringRef Name;
+ int Value;
+ StringRef Description;
+};
+
+#define clEnumVal(ENUMVAL, DESC) \
+ llvm::cl::OptionEnumValue { #ENUMVAL, int(ENUMVAL), DESC }
+#define clEnumValN(ENUMVAL, FLAGNAME, DESC) \
+ llvm::cl::OptionEnumValue { FLAGNAME, int(ENUMVAL), DESC }
// values - For custom data types, allow specifying a group of values together
-// as the values that go into the mapping that the option handler uses. Note
-// that the values list must always have a 0 at the end of the list to indicate
-// that the list has ended.
+// as the values that go into the mapping that the option handler uses.
//
-template <class DataType> class ValuesClass {
+class ValuesClass {
// Use a vector instead of a map, because the lists should be short,
// the overhead is less, and most importantly, it keeps them in the order
// inserted so we can print our option out nicely.
- SmallVector<std::pair<const char *, std::pair<int, const char *>>, 4> Values;
- void processValues(va_list Vals);
+ SmallVector<OptionEnumValue, 4> Values;
public:
- ValuesClass(const char *EnumName, DataType Val, const char *Desc,
- va_list ValueArgs) {
- // Insert the first value, which is required.
- Values.push_back(std::make_pair(EnumName, std::make_pair(Val, Desc)));
-
- // Process the varargs portion of the values...
- while (const char *enumName = va_arg(ValueArgs, const char *)) {
- DataType EnumVal = static_cast<DataType>(va_arg(ValueArgs, int));
- const char *EnumDesc = va_arg(ValueArgs, const char *);
- Values.push_back(std::make_pair(enumName, // Add value to value map
- std::make_pair(EnumVal, EnumDesc)));
- }
- }
+ ValuesClass(std::initializer_list<OptionEnumValue> Options)
+ : Values(Options) {}
template <class Opt> void apply(Opt &O) const {
- for (size_t i = 0, e = Values.size(); i != e; ++i)
- O.getParser().addLiteralOption(Values[i].first, Values[i].second.first,
- Values[i].second.second);
+ for (auto Value : Values)
+ O.getParser().addLiteralOption(Value.Name, Value.Value,
+ Value.Description);
}
};
-template <class DataType>
-ValuesClass<DataType> LLVM_END_WITH_NULL
-values(const char *Arg, DataType Val, const char *Desc, ...) {
- va_list ValueArgs;
- va_start(ValueArgs, Desc);
- ValuesClass<DataType> Vals(Arg, Val, Desc, ValueArgs);
- va_end(ValueArgs);
- return Vals;
+/// Helper to build a ValuesClass by forwarding a variable number of arguments
+/// as an initializer list to the ValuesClass constructor.
+template <typename... OptsTy> ValuesClass values(OptsTy... Options) {
+ return ValuesClass({Options...});
}
//===----------------------------------------------------------------------===//
@@ -620,16 +632,17 @@
protected:
class GenericOptionInfo {
public:
- GenericOptionInfo(const char *name, const char *helpStr)
+ GenericOptionInfo(StringRef name, StringRef helpStr)
: Name(name), HelpStr(helpStr) {}
- const char *Name;
- const char *HelpStr;
+ StringRef Name;
+ StringRef HelpStr;
};
public:
generic_parser_base(Option &O) : Owner(O) {}
- virtual ~generic_parser_base() {} // Base class should have virtual-dtor
+ virtual ~generic_parser_base() = default;
+ // Base class should have virtual-destructor
// getNumOptions - Virtual function implemented by generic subclass to
// indicate how many entries are in Values.
@@ -637,10 +650,10 @@
virtual unsigned getNumOptions() const = 0;
// getOption - Return option name N.
- virtual const char *getOption(unsigned N) const = 0;
+ virtual StringRef getOption(unsigned N) const = 0;
// getDescription - Return description N
- virtual const char *getDescription(unsigned N) const = 0;
+ virtual StringRef getDescription(unsigned N) const = 0;
// Return the width of the option tag for printing...
virtual size_t getOptionWidth(const Option &O) const;
@@ -699,7 +712,7 @@
// findOption - Return the option number corresponding to the specified
// argument string. If the option is not found, getNumOptions() is returned.
//
- unsigned findOption(const char *Name);
+ unsigned findOption(StringRef Name);
protected:
Option &Owner;
@@ -715,7 +728,7 @@
protected:
class OptionInfo : public GenericOptionInfo {
public:
- OptionInfo(const char *name, DataType v, const char *helpStr)
+ OptionInfo(StringRef name, DataType v, StringRef helpStr)
: GenericOptionInfo(name, helpStr), V(v) {}
OptionValue<DataType> V;
};
@@ -727,8 +740,8 @@
// Implement virtual functions needed by generic_parser_base
unsigned getNumOptions() const override { return unsigned(Values.size()); }
- const char *getOption(unsigned N) const override { return Values[N].Name; }
- const char *getDescription(unsigned N) const override {
+ StringRef getOption(unsigned N) const override { return Values[N].Name; }
+ StringRef getDescription(unsigned N) const override {
return Values[N].HelpStr;
}
@@ -757,7 +770,7 @@
/// addLiteralOption - Add an entry to the mapping table.
///
template <class DT>
- void addLiteralOption(const char *Name, const DT &V, const char *HelpStr) {
+ void addLiteralOption(StringRef Name, const DT &V, StringRef HelpStr) {
assert(findOption(Name) == Values.size() && "Option already exists!");
OptionInfo X(Name, static_cast<DataType>(V), HelpStr);
Values.push_back(X);
@@ -766,7 +779,7 @@
/// removeLiteralOption - Remove the specified option.
///
- void removeLiteralOption(const char *Name) {
+ void removeLiteralOption(StringRef Name) {
unsigned N = findOption(Name);
assert(N != Values.size() && "Option not found!");
Values.erase(Values.begin() + N);
@@ -780,7 +793,6 @@
public:
basic_parser_impl(Option &) {}
-
enum ValueExpected getValueExpectedFlagDefault() const {
return ValueRequired;
}
@@ -802,13 +814,14 @@
void printOptionNoValue(const Option &O, size_t GlobalWidth) const;
// getValueName - Overload in subclass to provide a better default value.
- virtual const char *getValueName() const { return "value"; }
+ virtual StringRef getValueName() const { return "value"; }
// An out-of-line virtual method to provide a 'home' for this class.
virtual void anchor();
protected:
~basic_parser_impl() = default;
+
// A helper for basic_parser::printOptionDiff.
void printOptionName(const Option &O, size_t GlobalWidth) const;
};
@@ -819,12 +832,12 @@
template <class DataType> class basic_parser : public basic_parser_impl {
public:
basic_parser(Option &O) : basic_parser_impl(O) {}
+
typedef DataType parser_data_type;
typedef OptionValue<DataType> OptVal;
protected:
- // Workaround Clang PR22793
- ~basic_parser() {}
+ ~basic_parser() = default;
};
//--------------------------------------------------
@@ -844,7 +857,7 @@
}
// getValueName - Do not print =<value> at all.
- const char *getValueName() const override { return nullptr; }
+ StringRef getValueName() const override { return StringRef(); }
void printOptionDiff(const Option &O, bool V, OptVal Default,
size_t GlobalWidth) const;
@@ -870,7 +883,7 @@
}
// getValueName - Do not print =<value> at all.
- const char *getValueName() const override { return nullptr; }
+ StringRef getValueName() const override { return StringRef(); }
void printOptionDiff(const Option &O, boolOrDefault V, OptVal Default,
size_t GlobalWidth) const;
@@ -892,7 +905,7 @@
bool parse(Option &O, StringRef ArgName, StringRef Arg, int &Val);
// getValueName - Overload in subclass to provide a better default value.
- const char *getValueName() const override { return "int"; }
+ StringRef getValueName() const override { return "int"; }
void printOptionDiff(const Option &O, int V, OptVal Default,
size_t GlobalWidth) const;
@@ -914,7 +927,7 @@
bool parse(Option &O, StringRef ArgName, StringRef Arg, unsigned &Val);
// getValueName - Overload in subclass to provide a better default value.
- const char *getValueName() const override { return "uint"; }
+ StringRef getValueName() const override { return "uint"; }
void printOptionDiff(const Option &O, unsigned V, OptVal Default,
size_t GlobalWidth) const;
@@ -939,7 +952,7 @@
unsigned long long &Val);
// getValueName - Overload in subclass to provide a better default value.
- const char *getValueName() const override { return "uint"; }
+ StringRef getValueName() const override { return "uint"; }
void printOptionDiff(const Option &O, unsigned long long V, OptVal Default,
size_t GlobalWidth) const;
@@ -961,7 +974,7 @@
bool parse(Option &O, StringRef ArgName, StringRef Arg, double &Val);
// getValueName - Overload in subclass to provide a better default value.
- const char *getValueName() const override { return "number"; }
+ StringRef getValueName() const override { return "number"; }
void printOptionDiff(const Option &O, double V, OptVal Default,
size_t GlobalWidth) const;
@@ -983,7 +996,7 @@
bool parse(Option &O, StringRef ArgName, StringRef Arg, float &Val);
// getValueName - Overload in subclass to provide a better default value.
- const char *getValueName() const override { return "number"; }
+ StringRef getValueName() const override { return "number"; }
void printOptionDiff(const Option &O, float V, OptVal Default,
size_t GlobalWidth) const;
@@ -1008,7 +1021,7 @@
}
// getValueName - Overload in subclass to provide a better default value.
- const char *getValueName() const override { return "string"; }
+ StringRef getValueName() const override { return "string"; }
void printOptionDiff(const Option &O, StringRef V, const OptVal &Default,
size_t GlobalWidth) const;
@@ -1033,7 +1046,7 @@
}
// getValueName - Overload in subclass to provide a better default value.
- const char *getValueName() const override { return "char"; }
+ StringRef getValueName() const override { return "char"; }
void printOptionDiff(const Option &O, char V, OptVal Default,
size_t GlobalWidth) const;
@@ -1101,17 +1114,17 @@
// Handle const char* as a special case...
template <unsigned n> struct applicator<char[n]> {
- template <class Opt> static void opt(const char *Str, Opt &O) {
+ template <class Opt> static void opt(StringRef Str, Opt &O) {
O.setArgStr(Str);
}
};
template <unsigned n> struct applicator<const char[n]> {
- template <class Opt> static void opt(const char *Str, Opt &O) {
+ template <class Opt> static void opt(StringRef Str, Opt &O) {
O.setArgStr(Str);
}
};
-template <> struct applicator<const char *> {
- template <class Opt> static void opt(const char *Str, Opt &O) {
+template <> struct applicator<StringRef > {
+ template <class Opt> static void opt(StringRef Str, Opt &O) {
O.setArgStr(Str);
}
};
@@ -1121,15 +1134,19 @@
O.setNumOccurrencesFlag(N);
}
};
+
template <> struct applicator<ValueExpected> {
static void opt(ValueExpected VE, Option &O) { O.setValueExpectedFlag(VE); }
};
+
template <> struct applicator<OptionHidden> {
static void opt(OptionHidden OH, Option &O) { O.setHiddenFlag(OH); }
};
+
template <> struct applicator<FormattingFlags> {
static void opt(FormattingFlags FF, Option &O) { O.setFormattingFlag(FF); }
};
+
template <> struct applicator<MiscFlags> {
static void opt(MiscFlags MF, Option &O) { O.setMiscFlag(MF); }
};
@@ -1154,7 +1171,7 @@
//
template <class DataType, bool ExternalStorage, bool isClass>
class opt_storage {
- DataType *Location; // Where to store the object...
+ DataType *Location = nullptr; // Where to store the object...
OptionValue<DataType> Default;
void check_location() const {
@@ -1164,7 +1181,7 @@
}
public:
- opt_storage() : Location(nullptr) {}
+ opt_storage() = default;
bool setLocation(Option &O, DataType &L) {
if (Location)
@@ -1293,11 +1310,11 @@
Parser.initialize();
}
+public:
// Command line options should not be copyable
opt(const opt &) = delete;
opt &operator=(const opt &) = delete;
-public:
// setInitialValue - Used by the cl::init modifier...
void setInitialValue(const DataType &V) { this->setValue(V, true); }
@@ -1330,10 +1347,10 @@
// cl::location(x) modifier.
//
template <class DataType, class StorageClass> class list_storage {
- StorageClass *Location; // Where to store the object...
+ StorageClass *Location = nullptr; // Where to store the object...
public:
- list_storage() : Location(0) {}
+ list_storage() = default;
bool setLocation(Option &O, StorageClass &L) {
if (Location)
@@ -1463,11 +1480,11 @@
Parser.initialize();
}
+public:
// Command line options should not be copyable
list(const list &) = delete;
list &operator=(const list &) = delete;
-public:
ParserClass &getParser() { return Parser; }
unsigned getPosition(unsigned optnum) const {
@@ -1504,7 +1521,7 @@
// cl::location(x) modifier.
//
template <class DataType, class StorageClass> class bits_storage {
- unsigned *Location; // Where to store the bits...
+ unsigned *Location = nullptr; // Where to store the bits...
template <class T> static unsigned Bit(const T &V) {
unsigned BitPos = reinterpret_cast<unsigned>(V);
@@ -1514,7 +1531,7 @@
}
public:
- bits_storage() : Location(nullptr) {}
+ bits_storage() = default;
bool setLocation(Option &O, unsigned &L) {
if (Location)
@@ -1602,11 +1619,11 @@
Parser.initialize();
}
+public:
// Command line options should not be copyable
bits(const bits &) = delete;
bits &operator=(const bits &) = delete;
-public:
ParserClass &getParser() { return Parser; }
unsigned getPosition(unsigned optnum) const {
@@ -1628,14 +1645,17 @@
class alias : public Option {
Option *AliasFor;
+
bool handleOccurrence(unsigned pos, StringRef /*ArgName*/,
StringRef Arg) override {
return AliasFor->handleOccurrence(pos, AliasFor->ArgStr, Arg);
}
+
bool addOccurrence(unsigned pos, StringRef /*ArgName*/, StringRef Value,
bool MultiArg = false) override {
return AliasFor->addOccurrence(pos, AliasFor->ArgStr, Value, MultiArg);
}
+
// Handle printing stuff...
size_t getOptionWidth() const override;
void printOptionInfo(size_t GlobalWidth) const override;
@@ -1657,11 +1677,11 @@
addArgument();
}
+public:
// Command line options should not be copyable
alias(const alias &) = delete;
alias &operator=(const alias &) = delete;
-public:
void setAliasFor(Option &O) {
if (AliasFor)
error("cl::alias must only have one cl::aliasopt(...) specified!");
@@ -1679,7 +1699,9 @@
// aliasfor - Modifier to set the option an alias aliases.
struct aliasopt {
Option &Opt;
+
explicit aliasopt(Option &O) : Opt(O) {}
+
void apply(alias &A) const { A.setAliasFor(Opt); }
};
@@ -1688,8 +1710,9 @@
// printed to stderr at the end of the regular help, just before
// exit is called.
struct extrahelp {
- const char *morehelp;
- explicit extrahelp(const char *help);
+ StringRef morehelp;
+
+ explicit extrahelp(StringRef help);
};
void PrintVersionMessage();
@@ -1731,11 +1754,33 @@
/// the control of the client. The options should be modified before calling
/// llvm::cl::ParseCommandLineOptions().
///
-/// Hopefully this API can be depricated soon. Any situation where options need
+/// Hopefully this API can be deprecated soon. Any situation where options need
/// to be modified by tools or libraries should be handled by sane APIs rather
/// than just handing around a global list.
StringMap<Option *> &getRegisteredOptions(SubCommand &Sub = *TopLevelSubCommand);
+/// \brief Use this to get all registered SubCommands from the provided parser.
+///
+/// \return A range of all SubCommand pointers registered with the parser.
+///
+/// Typical usage:
+/// \code
+/// main(int argc, char* argv[]) {
+/// llvm::cl::ParseCommandLineOptions(argc, argv);
+/// for (auto* S : llvm::cl::getRegisteredSubcommands()) {
+/// if (*S) {
+/// std::cout << "Executing subcommand: " << S->getName() << std::endl;
+/// // Execute some function based on the name...
+/// }
+/// }
+/// }
+/// \endcode
+///
+/// This interface is useful for defining subcommands in libraries and
+/// the dispatch from a single point (like in the main function).
+iterator_range<typename SmallPtrSet<SubCommand *, 4>::iterator>
+getRegisteredSubcommands();
+
//===----------------------------------------------------------------------===//
// Standalone command line processing utilities.
//
@@ -1790,10 +1835,12 @@
/// \param [in,out] Argv Command line into which to expand response files.
/// \param [in] MarkEOLs Mark end of lines and the end of the response file
/// with nullptrs in the Argv vector.
+/// \param [in] RelativeNames true if names of nested response files must be
+/// resolved relative to including file.
/// \return true if all @files were expanded successfully or there were none.
bool ExpandResponseFiles(StringSaver &Saver, TokenizerCallback Tokenizer,
SmallVectorImpl<const char *> &Argv,
- bool MarkEOLs = false);
+ bool MarkEOLs = false, bool RelativeNames = false);
/// \brief Mark all options not part of this category as cl::ReallyHidden.
///
@@ -1826,8 +1873,7 @@
/// where no options are supported.
void ResetCommandLineParser();
-} // End namespace cl
+} // end namespace cl
+} // end namespace llvm
-} // End namespace llvm
-
-#endif
+#endif // LLVM_SUPPORT_COMMANDLINE_H
diff --git a/third_party/llvm-subzero/include/llvm/Support/Compiler.h b/third_party/llvm-subzero/include/llvm/Support/Compiler.h
index 3cf9910..55148a4 100644
--- a/third_party/llvm-subzero/include/llvm/Support/Compiler.h
+++ b/third_party/llvm-subzero/include/llvm/Support/Compiler.h
@@ -60,26 +60,19 @@
/// \macro LLVM_MSC_PREREQ
/// \brief Is the compiler MSVC of at least the specified version?
/// The common \param version values to check for are:
-/// * 1800: Microsoft Visual Studio 2013 / 12.0
/// * 1900: Microsoft Visual Studio 2015 / 14.0
#ifdef _MSC_VER
#define LLVM_MSC_PREREQ(version) (_MSC_VER >= (version))
-// We require at least MSVC 2013.
-#if !LLVM_MSC_PREREQ(1800)
-#error LLVM requires at least MSVC 2013.
+// We require at least MSVC 2015.
+#if !LLVM_MSC_PREREQ(1900)
+#error LLVM requires at least MSVC 2015.
#endif
#else
#define LLVM_MSC_PREREQ(version) 0
#endif
-#if !defined(_MSC_VER) || defined(__clang__) || LLVM_MSC_PREREQ(1900)
-#define LLVM_NOEXCEPT noexcept
-#else
-#define LLVM_NOEXCEPT throw()
-#endif
-
/// \brief Does the compiler support ref-qualifiers for *this?
///
/// Sadly, this is separate from just rvalue reference support because GCC
@@ -100,12 +93,6 @@
#define LLVM_LVALUE_FUNCTION
#endif
-#if __has_feature(cxx_constexpr) || defined(__GXX_EXPERIMENTAL_CXX0X__) || LLVM_MSC_PREREQ(1900)
-# define LLVM_CONSTEXPR constexpr
-#else
-# define LLVM_CONSTEXPR
-#endif
-
/// LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked
/// into a shared library, then the class should be private to the library and
/// not accessible from outside it. Can also be used to mark variables and
@@ -118,6 +105,12 @@
#define LLVM_LIBRARY_VISIBILITY
#endif
+#if defined(__GNUC__)
+#define LLVM_PREFETCH(addr, rw, locality) __builtin_prefetch(addr, rw, locality)
+#else
+#define LLVM_PREFETCH(addr, rw, locality)
+#endif
+
#if __has_attribute(sentinel) || LLVM_GNUC_PREREQ(3, 0, 0)
#define LLVM_END_WITH_NULL __attribute__((sentinel))
#else
@@ -130,12 +123,17 @@
#define LLVM_ATTRIBUTE_USED
#endif
-#if __has_attribute(warn_unused_result) || LLVM_GNUC_PREREQ(3, 4, 0)
-#define LLVM_ATTRIBUTE_UNUSED_RESULT __attribute__((__warn_unused_result__))
-#elif defined(_MSC_VER)
-#define LLVM_ATTRIBUTE_UNUSED_RESULT _Check_return_
+/// LLVM_NODISCARD - Warn if a type or return value is discarded.
+#if __cplusplus > 201402L && __has_cpp_attribute(nodiscard)
+#define LLVM_NODISCARD [[nodiscard]]
+#elif !__cplusplus
+// Workaround for llvm.org/PR23435, since clang 3.6 and below emit a spurious
+// error when __has_cpp_attribute is given a scoped attribute in C mode.
+#define LLVM_NODISCARD
+#elif __has_cpp_attribute(clang::warn_unused_result)
+#define LLVM_NODISCARD [[clang::warn_unused_result]]
#else
-#define LLVM_ATTRIBUTE_UNUSED_RESULT
+#define LLVM_NODISCARD
#endif
// Some compilers warn about unused functions. When a function is sometimes
@@ -321,15 +319,8 @@
#endif
/// \macro LLVM_ALIGNAS
-/// \brief Used to specify a minimum alignment for a structure or variable. The
-/// alignment must be a constant integer. Use LLVM_PTR_SIZE to compute
-/// alignments in terms of the size of a pointer.
-///
-/// Note that __declspec(align) has special quirks, it's not legal to pass a
-/// structure with __declspec(align) as a formal parameter.
-#ifdef _MSC_VER
-# define LLVM_ALIGNAS(x) __declspec(align(x))
-#elif __GNUC__ && !__has_feature(cxx_alignas) && !LLVM_GNUC_PREREQ(4, 8, 0)
+/// \brief Used to specify a minimum alignment for a structure or variable.
+#if __GNUC__ && !__has_feature(cxx_alignas) && !LLVM_GNUC_PREREQ(4, 8, 1)
# define LLVM_ALIGNAS(x) __attribute__((aligned(x)))
#else
# define LLVM_ALIGNAS(x) alignas(x)
@@ -379,15 +370,6 @@
# define LLVM_PTR_SIZE sizeof(void *)
#endif
-/// \macro LLVM_FUNCTION_NAME
-/// \brief Expands to __func__ on compilers which support it. Otherwise,
-/// expands to a compiler-dependent replacement.
-#if defined(_MSC_VER)
-# define LLVM_FUNCTION_NAME __FUNCTION__
-#else
-# define LLVM_FUNCTION_NAME __func__
-#endif
-
/// \macro LLVM_MEMORY_SANITIZER_BUILD
/// \brief Whether LLVM itself is built with MemorySanitizer instrumentation.
#if __has_feature(memory_sanitizer)
diff --git a/third_party/llvm-subzero/include/llvm/Support/ConvertUTF.h b/third_party/llvm-subzero/include/llvm/Support/ConvertUTF.h
index 5de5774..f714c0e 100644
--- a/third_party/llvm-subzero/include/llvm/Support/ConvertUTF.h
+++ b/third_party/llvm-subzero/include/llvm/Support/ConvertUTF.h
@@ -90,6 +90,14 @@
#ifndef LLVM_SUPPORT_CONVERTUTF_H
#define LLVM_SUPPORT_CONVERTUTF_H
+#include <string>
+#include <cstddef>
+
+// Wrap everything in namespace llvm so that programs can link with llvm and
+// their own version of the unicode libraries.
+
+namespace llvm {
+
/* ---------------------------------------------------------------------
The following 4 definitions are compiler-specific.
The C standard does not guarantee that wchar_t has at least
@@ -127,11 +135,6 @@
lenientConversion
} ConversionFlags;
-/* This is for C++ and does no harm in C */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
ConversionResult ConvertUTF8toUTF16 (
const UTF8** sourceStart, const UTF8* sourceEnd,
UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags);
@@ -174,16 +177,9 @@
unsigned getNumBytesForUTF8(UTF8 firstByte);
-#ifdef __cplusplus
-}
-
/*************************************************************************/
/* Below are LLVM-specific wrappers of the functions above. */
-#include <string>
-#include <cstddef>
-
-namespace llvm {
template <typename T> class ArrayRef;
template <typename T> class SmallVectorImpl;
class StringRef;
@@ -293,7 +289,3 @@
} /* end namespace llvm */
#endif
-
-/* --------------------------------------------------------------------- */
-
-#endif
diff --git a/third_party/llvm-subzero/include/llvm/Support/ELF.h b/third_party/llvm-subzero/include/llvm/Support/ELF.h
index 826c0de..d951e55 100644
--- a/third_party/llvm-subzero/include/llvm/Support/ELF.h
+++ b/third_party/llvm-subzero/include/llvm/Support/ELF.h
@@ -32,49 +32,49 @@
typedef uint32_t Elf32_Off; // File offset
typedef uint16_t Elf32_Half;
typedef uint32_t Elf32_Word;
-typedef int32_t Elf32_Sword;
+typedef int32_t Elf32_Sword;
typedef uint64_t Elf64_Addr;
typedef uint64_t Elf64_Off;
typedef uint16_t Elf64_Half;
typedef uint32_t Elf64_Word;
-typedef int32_t Elf64_Sword;
+typedef int32_t Elf64_Sword;
typedef uint64_t Elf64_Xword;
-typedef int64_t Elf64_Sxword;
+typedef int64_t Elf64_Sxword;
// Object file magic string.
-static const char ElfMagic[] = { 0x7f, 'E', 'L', 'F', '\0' };
+static const char ElfMagic[] = {0x7f, 'E', 'L', 'F', '\0'};
// e_ident size and indices.
enum {
- EI_MAG0 = 0, // File identification index.
- EI_MAG1 = 1, // File identification index.
- EI_MAG2 = 2, // File identification index.
- EI_MAG3 = 3, // File identification index.
- EI_CLASS = 4, // File class.
- EI_DATA = 5, // Data encoding.
- EI_VERSION = 6, // File version.
- EI_OSABI = 7, // OS/ABI identification.
- EI_ABIVERSION = 8, // ABI version.
- EI_PAD = 9, // Start of padding bytes.
- EI_NIDENT = 16 // Number of bytes in e_ident.
+ EI_MAG0 = 0, // File identification index.
+ EI_MAG1 = 1, // File identification index.
+ EI_MAG2 = 2, // File identification index.
+ EI_MAG3 = 3, // File identification index.
+ EI_CLASS = 4, // File class.
+ EI_DATA = 5, // Data encoding.
+ EI_VERSION = 6, // File version.
+ EI_OSABI = 7, // OS/ABI identification.
+ EI_ABIVERSION = 8, // ABI version.
+ EI_PAD = 9, // Start of padding bytes.
+ EI_NIDENT = 16 // Number of bytes in e_ident.
};
struct Elf32_Ehdr {
unsigned char e_ident[EI_NIDENT]; // ELF Identification bytes
- Elf32_Half e_type; // Type of file (see ET_* below)
- Elf32_Half e_machine; // Required architecture for this file (see EM_*)
- Elf32_Word e_version; // Must be equal to 1
- Elf32_Addr e_entry; // Address to jump to in order to start program
- Elf32_Off e_phoff; // Program header table's file offset, in bytes
- Elf32_Off e_shoff; // Section header table's file offset, in bytes
- Elf32_Word e_flags; // Processor-specific flags
- Elf32_Half e_ehsize; // Size of ELF header, in bytes
- Elf32_Half e_phentsize; // Size of an entry in the program header table
- Elf32_Half e_phnum; // Number of entries in the program header table
- Elf32_Half e_shentsize; // Size of an entry in the section header table
- Elf32_Half e_shnum; // Number of entries in the section header table
- Elf32_Half e_shstrndx; // Sect hdr table index of sect name string table
+ Elf32_Half e_type; // Type of file (see ET_* below)
+ Elf32_Half e_machine; // Required architecture for this file (see EM_*)
+ Elf32_Word e_version; // Must be equal to 1
+ Elf32_Addr e_entry; // Address to jump to in order to start program
+ Elf32_Off e_phoff; // Program header table's file offset, in bytes
+ Elf32_Off e_shoff; // Section header table's file offset, in bytes
+ Elf32_Word e_flags; // Processor-specific flags
+ Elf32_Half e_ehsize; // Size of ELF header, in bytes
+ Elf32_Half e_phentsize; // Size of an entry in the program header table
+ Elf32_Half e_phnum; // Number of entries in the program header table
+ Elf32_Half e_shentsize; // Size of an entry in the section header table
+ Elf32_Half e_shnum; // Number of entries in the section header table
+ Elf32_Half e_shstrndx; // Sect hdr table index of sect name string table
bool checkMagic() const {
return (memcmp(e_ident, ElfMagic, strlen(ElfMagic))) == 0;
}
@@ -86,19 +86,19 @@
// types (see above).
struct Elf64_Ehdr {
unsigned char e_ident[EI_NIDENT];
- Elf64_Half e_type;
- Elf64_Half e_machine;
- Elf64_Word e_version;
- Elf64_Addr e_entry;
- Elf64_Off e_phoff;
- Elf64_Off e_shoff;
- Elf64_Word e_flags;
- Elf64_Half e_ehsize;
- Elf64_Half e_phentsize;
- Elf64_Half e_phnum;
- Elf64_Half e_shentsize;
- Elf64_Half e_shnum;
- Elf64_Half e_shstrndx;
+ Elf64_Half e_type;
+ Elf64_Half e_machine;
+ Elf64_Word e_version;
+ Elf64_Addr e_entry;
+ Elf64_Off e_phoff;
+ Elf64_Off e_shoff;
+ Elf64_Word e_flags;
+ Elf64_Half e_ehsize;
+ Elf64_Half e_phentsize;
+ Elf64_Half e_phnum;
+ Elf64_Half e_shentsize;
+ Elf64_Half e_shnum;
+ Elf64_Half e_shstrndx;
bool checkMagic() const {
return (memcmp(e_ident, ElfMagic, strlen(ElfMagic))) == 0;
}
@@ -108,215 +108,213 @@
// File types
enum {
- ET_NONE = 0, // No file type
- ET_REL = 1, // Relocatable file
- ET_EXEC = 2, // Executable file
- ET_DYN = 3, // Shared object file
- ET_CORE = 4, // Core file
+ ET_NONE = 0, // No file type
+ ET_REL = 1, // Relocatable file
+ ET_EXEC = 2, // Executable file
+ ET_DYN = 3, // Shared object file
+ ET_CORE = 4, // Core file
ET_LOPROC = 0xff00, // Beginning of processor-specific codes
ET_HIPROC = 0xffff // Processor-specific
};
// Versioning
-enum {
- EV_NONE = 0,
- EV_CURRENT = 1
-};
+enum { EV_NONE = 0, EV_CURRENT = 1 };
// Machine architectures
// See current registered ELF machine architectures at:
// http://www.uxsglobal.com/developers/gabi/latest/ch4.eheader.html
enum {
- EM_NONE = 0, // No machine
- EM_M32 = 1, // AT&T WE 32100
- EM_SPARC = 2, // SPARC
- EM_386 = 3, // Intel 386
- EM_68K = 4, // Motorola 68000
- EM_88K = 5, // Motorola 88000
- EM_IAMCU = 6, // Intel MCU
- EM_860 = 7, // Intel 80860
- EM_MIPS = 8, // MIPS R3000
- EM_S370 = 9, // IBM System/370
- EM_MIPS_RS3_LE = 10, // MIPS RS3000 Little-endian
- EM_PARISC = 15, // Hewlett-Packard PA-RISC
- EM_VPP500 = 17, // Fujitsu VPP500
- EM_SPARC32PLUS = 18, // Enhanced instruction set SPARC
- EM_960 = 19, // Intel 80960
- EM_PPC = 20, // PowerPC
- EM_PPC64 = 21, // PowerPC64
- EM_S390 = 22, // IBM System/390
- EM_SPU = 23, // IBM SPU/SPC
- EM_V800 = 36, // NEC V800
- EM_FR20 = 37, // Fujitsu FR20
- EM_RH32 = 38, // TRW RH-32
- EM_RCE = 39, // Motorola RCE
- EM_ARM = 40, // ARM
- EM_ALPHA = 41, // DEC Alpha
- EM_SH = 42, // Hitachi SH
- EM_SPARCV9 = 43, // SPARC V9
- EM_TRICORE = 44, // Siemens TriCore
- EM_ARC = 45, // Argonaut RISC Core
- EM_H8_300 = 46, // Hitachi H8/300
- EM_H8_300H = 47, // Hitachi H8/300H
- EM_H8S = 48, // Hitachi H8S
- EM_H8_500 = 49, // Hitachi H8/500
- EM_IA_64 = 50, // Intel IA-64 processor architecture
- EM_MIPS_X = 51, // Stanford MIPS-X
- EM_COLDFIRE = 52, // Motorola ColdFire
- EM_68HC12 = 53, // Motorola M68HC12
- EM_MMA = 54, // Fujitsu MMA Multimedia Accelerator
- EM_PCP = 55, // Siemens PCP
- EM_NCPU = 56, // Sony nCPU embedded RISC processor
- EM_NDR1 = 57, // Denso NDR1 microprocessor
- EM_STARCORE = 58, // Motorola Star*Core processor
- EM_ME16 = 59, // Toyota ME16 processor
- EM_ST100 = 60, // STMicroelectronics ST100 processor
- EM_TINYJ = 61, // Advanced Logic Corp. TinyJ embedded processor family
- EM_X86_64 = 62, // AMD x86-64 architecture
- EM_PDSP = 63, // Sony DSP Processor
- EM_PDP10 = 64, // Digital Equipment Corp. PDP-10
- EM_PDP11 = 65, // Digital Equipment Corp. PDP-11
- EM_FX66 = 66, // Siemens FX66 microcontroller
- EM_ST9PLUS = 67, // STMicroelectronics ST9+ 8/16 bit microcontroller
- EM_ST7 = 68, // STMicroelectronics ST7 8-bit microcontroller
- EM_68HC16 = 69, // Motorola MC68HC16 Microcontroller
- EM_68HC11 = 70, // Motorola MC68HC11 Microcontroller
- EM_68HC08 = 71, // Motorola MC68HC08 Microcontroller
- EM_68HC05 = 72, // Motorola MC68HC05 Microcontroller
- EM_SVX = 73, // Silicon Graphics SVx
- EM_ST19 = 74, // STMicroelectronics ST19 8-bit microcontroller
- EM_VAX = 75, // Digital VAX
- EM_CRIS = 76, // Axis Communications 32-bit embedded processor
- EM_JAVELIN = 77, // Infineon Technologies 32-bit embedded processor
- EM_FIREPATH = 78, // Element 14 64-bit DSP Processor
- EM_ZSP = 79, // LSI Logic 16-bit DSP Processor
- EM_MMIX = 80, // Donald Knuth's educational 64-bit processor
- EM_HUANY = 81, // Harvard University machine-independent object files
- EM_PRISM = 82, // SiTera Prism
- EM_AVR = 83, // Atmel AVR 8-bit microcontroller
- EM_FR30 = 84, // Fujitsu FR30
- EM_D10V = 85, // Mitsubishi D10V
- EM_D30V = 86, // Mitsubishi D30V
- EM_V850 = 87, // NEC v850
- EM_M32R = 88, // Mitsubishi M32R
- EM_MN10300 = 89, // Matsushita MN10300
- EM_MN10200 = 90, // Matsushita MN10200
- EM_PJ = 91, // picoJava
- EM_OPENRISC = 92, // OpenRISC 32-bit embedded processor
- EM_ARC_COMPACT = 93, // ARC International ARCompact processor (old
+ EM_NONE = 0, // No machine
+ EM_M32 = 1, // AT&T WE 32100
+ EM_SPARC = 2, // SPARC
+ EM_386 = 3, // Intel 386
+ EM_68K = 4, // Motorola 68000
+ EM_88K = 5, // Motorola 88000
+ EM_IAMCU = 6, // Intel MCU
+ EM_860 = 7, // Intel 80860
+ EM_MIPS = 8, // MIPS R3000
+ EM_S370 = 9, // IBM System/370
+ EM_MIPS_RS3_LE = 10, // MIPS RS3000 Little-endian
+ EM_PARISC = 15, // Hewlett-Packard PA-RISC
+ EM_VPP500 = 17, // Fujitsu VPP500
+ EM_SPARC32PLUS = 18, // Enhanced instruction set SPARC
+ EM_960 = 19, // Intel 80960
+ EM_PPC = 20, // PowerPC
+ EM_PPC64 = 21, // PowerPC64
+ EM_S390 = 22, // IBM System/390
+ EM_SPU = 23, // IBM SPU/SPC
+ EM_V800 = 36, // NEC V800
+ EM_FR20 = 37, // Fujitsu FR20
+ EM_RH32 = 38, // TRW RH-32
+ EM_RCE = 39, // Motorola RCE
+ EM_ARM = 40, // ARM
+ EM_ALPHA = 41, // DEC Alpha
+ EM_SH = 42, // Hitachi SH
+ EM_SPARCV9 = 43, // SPARC V9
+ EM_TRICORE = 44, // Siemens TriCore
+ EM_ARC = 45, // Argonaut RISC Core
+ EM_H8_300 = 46, // Hitachi H8/300
+ EM_H8_300H = 47, // Hitachi H8/300H
+ EM_H8S = 48, // Hitachi H8S
+ EM_H8_500 = 49, // Hitachi H8/500
+ EM_IA_64 = 50, // Intel IA-64 processor architecture
+ EM_MIPS_X = 51, // Stanford MIPS-X
+ EM_COLDFIRE = 52, // Motorola ColdFire
+ EM_68HC12 = 53, // Motorola M68HC12
+ EM_MMA = 54, // Fujitsu MMA Multimedia Accelerator
+ EM_PCP = 55, // Siemens PCP
+ EM_NCPU = 56, // Sony nCPU embedded RISC processor
+ EM_NDR1 = 57, // Denso NDR1 microprocessor
+ EM_STARCORE = 58, // Motorola Star*Core processor
+ EM_ME16 = 59, // Toyota ME16 processor
+ EM_ST100 = 60, // STMicroelectronics ST100 processor
+ EM_TINYJ = 61, // Advanced Logic Corp. TinyJ embedded processor family
+ EM_X86_64 = 62, // AMD x86-64 architecture
+ EM_PDSP = 63, // Sony DSP Processor
+ EM_PDP10 = 64, // Digital Equipment Corp. PDP-10
+ EM_PDP11 = 65, // Digital Equipment Corp. PDP-11
+ EM_FX66 = 66, // Siemens FX66 microcontroller
+ EM_ST9PLUS = 67, // STMicroelectronics ST9+ 8/16 bit microcontroller
+ EM_ST7 = 68, // STMicroelectronics ST7 8-bit microcontroller
+ EM_68HC16 = 69, // Motorola MC68HC16 Microcontroller
+ EM_68HC11 = 70, // Motorola MC68HC11 Microcontroller
+ EM_68HC08 = 71, // Motorola MC68HC08 Microcontroller
+ EM_68HC05 = 72, // Motorola MC68HC05 Microcontroller
+ EM_SVX = 73, // Silicon Graphics SVx
+ EM_ST19 = 74, // STMicroelectronics ST19 8-bit microcontroller
+ EM_VAX = 75, // Digital VAX
+ EM_CRIS = 76, // Axis Communications 32-bit embedded processor
+ EM_JAVELIN = 77, // Infineon Technologies 32-bit embedded processor
+ EM_FIREPATH = 78, // Element 14 64-bit DSP Processor
+ EM_ZSP = 79, // LSI Logic 16-bit DSP Processor
+ EM_MMIX = 80, // Donald Knuth's educational 64-bit processor
+ EM_HUANY = 81, // Harvard University machine-independent object files
+ EM_PRISM = 82, // SiTera Prism
+ EM_AVR = 83, // Atmel AVR 8-bit microcontroller
+ EM_FR30 = 84, // Fujitsu FR30
+ EM_D10V = 85, // Mitsubishi D10V
+ EM_D30V = 86, // Mitsubishi D30V
+ EM_V850 = 87, // NEC v850
+ EM_M32R = 88, // Mitsubishi M32R
+ EM_MN10300 = 89, // Matsushita MN10300
+ EM_MN10200 = 90, // Matsushita MN10200
+ EM_PJ = 91, // picoJava
+ EM_OPENRISC = 92, // OpenRISC 32-bit embedded processor
+ EM_ARC_COMPACT = 93, // ARC International ARCompact processor (old
// spelling/synonym: EM_ARC_A5)
- EM_XTENSA = 94, // Tensilica Xtensa Architecture
- EM_VIDEOCORE = 95, // Alphamosaic VideoCore processor
- EM_TMM_GPP = 96, // Thompson Multimedia General Purpose Processor
- EM_NS32K = 97, // National Semiconductor 32000 series
- EM_TPC = 98, // Tenor Network TPC processor
- EM_SNP1K = 99, // Trebia SNP 1000 processor
- EM_ST200 = 100, // STMicroelectronics (www.st.com) ST200
- EM_IP2K = 101, // Ubicom IP2xxx microcontroller family
- EM_MAX = 102, // MAX Processor
- EM_CR = 103, // National Semiconductor CompactRISC microprocessor
- EM_F2MC16 = 104, // Fujitsu F2MC16
- EM_MSP430 = 105, // Texas Instruments embedded microcontroller msp430
- EM_BLACKFIN = 106, // Analog Devices Blackfin (DSP) processor
- EM_SE_C33 = 107, // S1C33 Family of Seiko Epson processors
- EM_SEP = 108, // Sharp embedded microprocessor
- EM_ARCA = 109, // Arca RISC Microprocessor
- EM_UNICORE = 110, // Microprocessor series from PKU-Unity Ltd. and MPRC
- // of Peking University
- EM_EXCESS = 111, // eXcess: 16/32/64-bit configurable embedded CPU
- EM_DXP = 112, // Icera Semiconductor Inc. Deep Execution Processor
- EM_ALTERA_NIOS2 = 113, // Altera Nios II soft-core processor
- EM_CRX = 114, // National Semiconductor CompactRISC CRX
- EM_XGATE = 115, // Motorola XGATE embedded processor
- EM_C166 = 116, // Infineon C16x/XC16x processor
- EM_M16C = 117, // Renesas M16C series microprocessors
- EM_DSPIC30F = 118, // Microchip Technology dsPIC30F Digital Signal
- // Controller
- EM_CE = 119, // Freescale Communication Engine RISC core
- EM_M32C = 120, // Renesas M32C series microprocessors
- EM_TSK3000 = 131, // Altium TSK3000 core
- EM_RS08 = 132, // Freescale RS08 embedded processor
- EM_SHARC = 133, // Analog Devices SHARC family of 32-bit DSP
- // processors
- EM_ECOG2 = 134, // Cyan Technology eCOG2 microprocessor
- EM_SCORE7 = 135, // Sunplus S+core7 RISC processor
- EM_DSP24 = 136, // New Japan Radio (NJR) 24-bit DSP Processor
- EM_VIDEOCORE3 = 137, // Broadcom VideoCore III processor
+ EM_XTENSA = 94, // Tensilica Xtensa Architecture
+ EM_VIDEOCORE = 95, // Alphamosaic VideoCore processor
+ EM_TMM_GPP = 96, // Thompson Multimedia General Purpose Processor
+ EM_NS32K = 97, // National Semiconductor 32000 series
+ EM_TPC = 98, // Tenor Network TPC processor
+ EM_SNP1K = 99, // Trebia SNP 1000 processor
+ EM_ST200 = 100, // STMicroelectronics (www.st.com) ST200
+ EM_IP2K = 101, // Ubicom IP2xxx microcontroller family
+ EM_MAX = 102, // MAX Processor
+ EM_CR = 103, // National Semiconductor CompactRISC microprocessor
+ EM_F2MC16 = 104, // Fujitsu F2MC16
+ EM_MSP430 = 105, // Texas Instruments embedded microcontroller msp430
+ EM_BLACKFIN = 106, // Analog Devices Blackfin (DSP) processor
+ EM_SE_C33 = 107, // S1C33 Family of Seiko Epson processors
+ EM_SEP = 108, // Sharp embedded microprocessor
+ EM_ARCA = 109, // Arca RISC Microprocessor
+ EM_UNICORE = 110, // Microprocessor series from PKU-Unity Ltd. and MPRC
+ // of Peking University
+ EM_EXCESS = 111, // eXcess: 16/32/64-bit configurable embedded CPU
+ EM_DXP = 112, // Icera Semiconductor Inc. Deep Execution Processor
+ EM_ALTERA_NIOS2 = 113, // Altera Nios II soft-core processor
+ EM_CRX = 114, // National Semiconductor CompactRISC CRX
+ EM_XGATE = 115, // Motorola XGATE embedded processor
+ EM_C166 = 116, // Infineon C16x/XC16x processor
+ EM_M16C = 117, // Renesas M16C series microprocessors
+ EM_DSPIC30F = 118, // Microchip Technology dsPIC30F Digital Signal
+ // Controller
+ EM_CE = 119, // Freescale Communication Engine RISC core
+ EM_M32C = 120, // Renesas M32C series microprocessors
+ EM_TSK3000 = 131, // Altium TSK3000 core
+ EM_RS08 = 132, // Freescale RS08 embedded processor
+ EM_SHARC = 133, // Analog Devices SHARC family of 32-bit DSP
+ // processors
+ EM_ECOG2 = 134, // Cyan Technology eCOG2 microprocessor
+ EM_SCORE7 = 135, // Sunplus S+core7 RISC processor
+ EM_DSP24 = 136, // New Japan Radio (NJR) 24-bit DSP Processor
+ EM_VIDEOCORE3 = 137, // Broadcom VideoCore III processor
EM_LATTICEMICO32 = 138, // RISC processor for Lattice FPGA architecture
- EM_SE_C17 = 139, // Seiko Epson C17 family
- EM_TI_C6000 = 140, // The Texas Instruments TMS320C6000 DSP family
- EM_TI_C2000 = 141, // The Texas Instruments TMS320C2000 DSP family
- EM_TI_C5500 = 142, // The Texas Instruments TMS320C55x DSP family
- EM_MMDSP_PLUS = 160, // STMicroelectronics 64bit VLIW Data Signal Processor
- EM_CYPRESS_M8C = 161, // Cypress M8C microprocessor
- EM_R32C = 162, // Renesas R32C series microprocessors
- EM_TRIMEDIA = 163, // NXP Semiconductors TriMedia architecture family
- EM_HEXAGON = 164, // Qualcomm Hexagon processor
- EM_8051 = 165, // Intel 8051 and variants
- EM_STXP7X = 166, // STMicroelectronics STxP7x family of configurable
+ EM_SE_C17 = 139, // Seiko Epson C17 family
+ EM_TI_C6000 = 140, // The Texas Instruments TMS320C6000 DSP family
+ EM_TI_C2000 = 141, // The Texas Instruments TMS320C2000 DSP family
+ EM_TI_C5500 = 142, // The Texas Instruments TMS320C55x DSP family
+ EM_MMDSP_PLUS = 160, // STMicroelectronics 64bit VLIW Data Signal Processor
+ EM_CYPRESS_M8C = 161, // Cypress M8C microprocessor
+ EM_R32C = 162, // Renesas R32C series microprocessors
+ EM_TRIMEDIA = 163, // NXP Semiconductors TriMedia architecture family
+ EM_HEXAGON = 164, // Qualcomm Hexagon processor
+ EM_8051 = 165, // Intel 8051 and variants
+ EM_STXP7X = 166, // STMicroelectronics STxP7x family of configurable
// and extensible RISC processors
- EM_NDS32 = 167, // Andes Technology compact code size embedded RISC
+ EM_NDS32 = 167, // Andes Technology compact code size embedded RISC
// processor family
- EM_ECOG1 = 168, // Cyan Technology eCOG1X family
- EM_ECOG1X = 168, // Cyan Technology eCOG1X family
- EM_MAXQ30 = 169, // Dallas Semiconductor MAXQ30 Core Micro-controllers
- EM_XIMO16 = 170, // New Japan Radio (NJR) 16-bit DSP Processor
- EM_MANIK = 171, // M2000 Reconfigurable RISC Microprocessor
- EM_CRAYNV2 = 172, // Cray Inc. NV2 vector architecture
- EM_RX = 173, // Renesas RX family
- EM_METAG = 174, // Imagination Technologies META processor
+ EM_ECOG1 = 168, // Cyan Technology eCOG1X family
+ EM_ECOG1X = 168, // Cyan Technology eCOG1X family
+ EM_MAXQ30 = 169, // Dallas Semiconductor MAXQ30 Core Micro-controllers
+ EM_XIMO16 = 170, // New Japan Radio (NJR) 16-bit DSP Processor
+ EM_MANIK = 171, // M2000 Reconfigurable RISC Microprocessor
+ EM_CRAYNV2 = 172, // Cray Inc. NV2 vector architecture
+ EM_RX = 173, // Renesas RX family
+ EM_METAG = 174, // Imagination Technologies META processor
// architecture
- EM_MCST_ELBRUS = 175, // MCST Elbrus general purpose hardware architecture
- EM_ECOG16 = 176, // Cyan Technology eCOG16 family
- EM_CR16 = 177, // National Semiconductor CompactRISC CR16 16-bit
+ EM_MCST_ELBRUS = 175, // MCST Elbrus general purpose hardware architecture
+ EM_ECOG16 = 176, // Cyan Technology eCOG16 family
+ EM_CR16 = 177, // National Semiconductor CompactRISC CR16 16-bit
// microprocessor
- EM_ETPU = 178, // Freescale Extended Time Processing Unit
- EM_SLE9X = 179, // Infineon Technologies SLE9X core
- EM_L10M = 180, // Intel L10M
- EM_K10M = 181, // Intel K10M
- EM_AARCH64 = 183, // ARM AArch64
- EM_AVR32 = 185, // Atmel Corporation 32-bit microprocessor family
- EM_STM8 = 186, // STMicroeletronics STM8 8-bit microcontroller
- EM_TILE64 = 187, // Tilera TILE64 multicore architecture family
- EM_TILEPRO = 188, // Tilera TILEPro multicore architecture family
- EM_CUDA = 190, // NVIDIA CUDA architecture
- EM_TILEGX = 191, // Tilera TILE-Gx multicore architecture family
- EM_CLOUDSHIELD = 192, // CloudShield architecture family
- EM_COREA_1ST = 193, // KIPO-KAIST Core-A 1st generation processor family
- EM_COREA_2ND = 194, // KIPO-KAIST Core-A 2nd generation processor family
- EM_ARC_COMPACT2 = 195, // Synopsys ARCompact V2
- EM_OPEN8 = 196, // Open8 8-bit RISC soft processor core
- EM_RL78 = 197, // Renesas RL78 family
- EM_VIDEOCORE5 = 198, // Broadcom VideoCore V processor
- EM_78KOR = 199, // Renesas 78KOR family
- EM_56800EX = 200, // Freescale 56800EX Digital Signal Controller (DSC)
- EM_BA1 = 201, // Beyond BA1 CPU architecture
- EM_BA2 = 202, // Beyond BA2 CPU architecture
- EM_XCORE = 203, // XMOS xCORE processor family
- EM_MCHP_PIC = 204, // Microchip 8-bit PIC(r) family
- EM_INTEL205 = 205, // Reserved by Intel
- EM_INTEL206 = 206, // Reserved by Intel
- EM_INTEL207 = 207, // Reserved by Intel
- EM_INTEL208 = 208, // Reserved by Intel
- EM_INTEL209 = 209, // Reserved by Intel
- EM_KM32 = 210, // KM211 KM32 32-bit processor
- EM_KMX32 = 211, // KM211 KMX32 32-bit processor
- EM_KMX16 = 212, // KM211 KMX16 16-bit processor
- EM_KMX8 = 213, // KM211 KMX8 8-bit processor
- EM_KVARC = 214, // KM211 KVARC processor
- EM_CDP = 215, // Paneve CDP architecture family
- EM_COGE = 216, // Cognitive Smart Memory Processor
- EM_COOL = 217, // iCelero CoolEngine
- EM_NORC = 218, // Nanoradio Optimized RISC
- EM_CSR_KALIMBA = 219, // CSR Kalimba architecture family
- EM_AMDGPU = 224, // AMD GPU architecture
- EM_LANAI = 244, // Lanai 32-bit processor
- EM_BPF = 247, // Linux kernel bpf virtual machine
+ EM_ETPU = 178, // Freescale Extended Time Processing Unit
+ EM_SLE9X = 179, // Infineon Technologies SLE9X core
+ EM_L10M = 180, // Intel L10M
+ EM_K10M = 181, // Intel K10M
+ EM_AARCH64 = 183, // ARM AArch64
+ EM_AVR32 = 185, // Atmel Corporation 32-bit microprocessor family
+ EM_STM8 = 186, // STMicroeletronics STM8 8-bit microcontroller
+ EM_TILE64 = 187, // Tilera TILE64 multicore architecture family
+ EM_TILEPRO = 188, // Tilera TILEPro multicore architecture family
+ EM_CUDA = 190, // NVIDIA CUDA architecture
+ EM_TILEGX = 191, // Tilera TILE-Gx multicore architecture family
+ EM_CLOUDSHIELD = 192, // CloudShield architecture family
+ EM_COREA_1ST = 193, // KIPO-KAIST Core-A 1st generation processor family
+ EM_COREA_2ND = 194, // KIPO-KAIST Core-A 2nd generation processor family
+ EM_ARC_COMPACT2 = 195, // Synopsys ARCompact V2
+ EM_OPEN8 = 196, // Open8 8-bit RISC soft processor core
+ EM_RL78 = 197, // Renesas RL78 family
+ EM_VIDEOCORE5 = 198, // Broadcom VideoCore V processor
+ EM_78KOR = 199, // Renesas 78KOR family
+ EM_56800EX = 200, // Freescale 56800EX Digital Signal Controller (DSC)
+ EM_BA1 = 201, // Beyond BA1 CPU architecture
+ EM_BA2 = 202, // Beyond BA2 CPU architecture
+ EM_XCORE = 203, // XMOS xCORE processor family
+ EM_MCHP_PIC = 204, // Microchip 8-bit PIC(r) family
+ EM_INTEL205 = 205, // Reserved by Intel
+ EM_INTEL206 = 206, // Reserved by Intel
+ EM_INTEL207 = 207, // Reserved by Intel
+ EM_INTEL208 = 208, // Reserved by Intel
+ EM_INTEL209 = 209, // Reserved by Intel
+ EM_KM32 = 210, // KM211 KM32 32-bit processor
+ EM_KMX32 = 211, // KM211 KMX32 32-bit processor
+ EM_KMX16 = 212, // KM211 KMX16 16-bit processor
+ EM_KMX8 = 213, // KM211 KMX8 8-bit processor
+ EM_KVARC = 214, // KM211 KVARC processor
+ EM_CDP = 215, // Paneve CDP architecture family
+ EM_COGE = 216, // Cognitive Smart Memory Processor
+ EM_COOL = 217, // iCelero CoolEngine
+ EM_NORC = 218, // Nanoradio Optimized RISC
+ EM_CSR_KALIMBA = 219, // CSR Kalimba architecture family
+ EM_AMDGPU = 224, // AMD GPU architecture
+ EM_RISCV = 243, // RISC-V
+ EM_LANAI = 244, // Lanai 32-bit processor
+ EM_BPF = 247, // Linux kernel bpf virtual machine
// A request has been made to the maintainer of the official registry for
// such numbers for an official value for WebAssembly. As soon as one is
// allocated, this enum will be updated to use it.
- EM_WEBASSEMBLY = 0x4157, // WebAssembly architecture
+ EM_WEBASSEMBLY = 0x4157, // WebAssembly architecture
};
// Object file classes.
@@ -391,20 +389,14 @@
STO_PPC64_LOCAL_BIT = 5,
STO_PPC64_LOCAL_MASK = (7 << STO_PPC64_LOCAL_BIT)
};
-static inline int64_t
-decodePPC64LocalEntryOffset(unsigned Other) {
+static inline int64_t decodePPC64LocalEntryOffset(unsigned Other) {
unsigned Val = (Other & STO_PPC64_LOCAL_MASK) >> STO_PPC64_LOCAL_BIT;
return ((1 << Val) >> 2) << 2;
}
-static inline unsigned
-encodePPC64LocalEntryOffset(int64_t Offset) {
- unsigned Val = (Offset >= 4 * 4
- ? (Offset >= 8 * 4
- ? (Offset >= 16 * 4 ? 6 : 5)
- : 4)
- : (Offset >= 2 * 4
- ? 3
- : (Offset >= 1 * 4 ? 2 : 0)));
+static inline unsigned encodePPC64LocalEntryOffset(int64_t Offset) {
+ unsigned Val =
+ (Offset >= 4 * 4 ? (Offset >= 8 * 4 ? (Offset >= 16 * 4 ? 6 : 5) : 4)
+ : (Offset >= 2 * 4 ? 3 : (Offset >= 1 * 4 ? 2 : 0)));
return Val << STO_PPC64_LOCAL_BIT;
}
@@ -420,15 +412,15 @@
// ARM Specific e_flags
enum : unsigned {
- EF_ARM_SOFT_FLOAT = 0x00000200U,
- EF_ARM_VFP_FLOAT = 0x00000400U,
- EF_ARM_EABI_UNKNOWN = 0x00000000U,
- EF_ARM_EABI_VER1 = 0x01000000U,
- EF_ARM_EABI_VER2 = 0x02000000U,
- EF_ARM_EABI_VER3 = 0x03000000U,
- EF_ARM_EABI_VER4 = 0x04000000U,
- EF_ARM_EABI_VER5 = 0x05000000U,
- EF_ARM_EABIMASK = 0xFF000000U
+ EF_ARM_SOFT_FLOAT = 0x00000200U,
+ EF_ARM_VFP_FLOAT = 0x00000400U,
+ EF_ARM_EABI_UNKNOWN = 0x00000000U,
+ EF_ARM_EABI_VER1 = 0x01000000U,
+ EF_ARM_EABI_VER2 = 0x02000000U,
+ EF_ARM_EABI_VER3 = 0x03000000U,
+ EF_ARM_EABI_VER4 = 0x04000000U,
+ EF_ARM_EABI_VER5 = 0x05000000U,
+ EF_ARM_EABIMASK = 0xFF000000U
};
// ELF Relocation types for ARM
@@ -438,24 +430,24 @@
// AVR specific e_flags
enum : unsigned {
- EF_AVR_ARCH_AVR1 = 1,
- EF_AVR_ARCH_AVR2 = 2,
- EF_AVR_ARCH_AVR25 = 25,
- EF_AVR_ARCH_AVR3 = 3,
- EF_AVR_ARCH_AVR31 = 31,
- EF_AVR_ARCH_AVR35 = 35,
- EF_AVR_ARCH_AVR4 = 4,
- EF_AVR_ARCH_AVR5 = 5,
- EF_AVR_ARCH_AVR51 = 51,
- EF_AVR_ARCH_AVR6 = 6,
+ EF_AVR_ARCH_AVR1 = 1,
+ EF_AVR_ARCH_AVR2 = 2,
+ EF_AVR_ARCH_AVR25 = 25,
+ EF_AVR_ARCH_AVR3 = 3,
+ EF_AVR_ARCH_AVR31 = 31,
+ EF_AVR_ARCH_AVR35 = 35,
+ EF_AVR_ARCH_AVR4 = 4,
+ EF_AVR_ARCH_AVR5 = 5,
+ EF_AVR_ARCH_AVR51 = 51,
+ EF_AVR_ARCH_AVR6 = 6,
EF_AVR_ARCH_AVRTINY = 100,
- EF_AVR_ARCH_XMEGA1 = 101,
- EF_AVR_ARCH_XMEGA2 = 102,
- EF_AVR_ARCH_XMEGA3 = 103,
- EF_AVR_ARCH_XMEGA4 = 104,
- EF_AVR_ARCH_XMEGA5 = 105,
- EF_AVR_ARCH_XMEGA6 = 106,
- EF_AVR_ARCH_XMEGA7 = 107
+ EF_AVR_ARCH_XMEGA1 = 101,
+ EF_AVR_ARCH_XMEGA2 = 102,
+ EF_AVR_ARCH_XMEGA3 = 103,
+ EF_AVR_ARCH_XMEGA4 = 104,
+ EF_AVR_ARCH_XMEGA5 = 105,
+ EF_AVR_ARCH_XMEGA6 = 106,
+ EF_AVR_ARCH_XMEGA7 = 107
};
// ELF Relocation types for AVR
@@ -466,65 +458,63 @@
// Mips Specific e_flags
enum : unsigned {
EF_MIPS_NOREORDER = 0x00000001, // Don't reorder instructions
- EF_MIPS_PIC = 0x00000002, // Position independent code
- EF_MIPS_CPIC = 0x00000004, // Call object with Position independent code
- EF_MIPS_ABI2 = 0x00000020, // File uses N32 ABI
+ EF_MIPS_PIC = 0x00000002, // Position independent code
+ EF_MIPS_CPIC = 0x00000004, // Call object with Position independent code
+ EF_MIPS_ABI2 = 0x00000020, // File uses N32 ABI
EF_MIPS_32BITMODE = 0x00000100, // Code compiled for a 64-bit machine
// in 32-bit mode
- EF_MIPS_FP64 = 0x00000200, // Code compiled for a 32-bit machine
+ EF_MIPS_FP64 = 0x00000200, // Code compiled for a 32-bit machine
// but uses 64-bit FP registers
- EF_MIPS_NAN2008 = 0x00000400, // Uses IEE 754-2008 NaN encoding
+ EF_MIPS_NAN2008 = 0x00000400, // Uses IEE 754-2008 NaN encoding
// ABI flags
- EF_MIPS_ABI_O32 = 0x00001000, // This file follows the first MIPS 32 bit ABI
- EF_MIPS_ABI_O64 = 0x00002000, // O32 ABI extended for 64-bit architecture.
+ EF_MIPS_ABI_O32 = 0x00001000, // This file follows the first MIPS 32 bit ABI
+ EF_MIPS_ABI_O64 = 0x00002000, // O32 ABI extended for 64-bit architecture.
EF_MIPS_ABI_EABI32 = 0x00003000, // EABI in 32 bit mode.
EF_MIPS_ABI_EABI64 = 0x00004000, // EABI in 64 bit mode.
- EF_MIPS_ABI = 0x0000f000, // Mask for selecting EF_MIPS_ABI_ variant.
+ EF_MIPS_ABI = 0x0000f000, // Mask for selecting EF_MIPS_ABI_ variant.
// MIPS machine variant
- EF_MIPS_MACH_NONE = 0x00000000, // A standard MIPS implementation.
- EF_MIPS_MACH_3900 = 0x00810000, // Toshiba R3900
- EF_MIPS_MACH_4010 = 0x00820000, // LSI R4010
- EF_MIPS_MACH_4100 = 0x00830000, // NEC VR4100
- EF_MIPS_MACH_4650 = 0x00850000, // MIPS R4650
- EF_MIPS_MACH_4120 = 0x00870000, // NEC VR4120
- EF_MIPS_MACH_4111 = 0x00880000, // NEC VR4111/VR4181
- EF_MIPS_MACH_SB1 = 0x008a0000, // Broadcom SB-1
- EF_MIPS_MACH_OCTEON = 0x008b0000, // Cavium Networks Octeon
- EF_MIPS_MACH_XLR = 0x008c0000, // RMI Xlr
+ EF_MIPS_MACH_NONE = 0x00000000, // A standard MIPS implementation.
+ EF_MIPS_MACH_3900 = 0x00810000, // Toshiba R3900
+ EF_MIPS_MACH_4010 = 0x00820000, // LSI R4010
+ EF_MIPS_MACH_4100 = 0x00830000, // NEC VR4100
+ EF_MIPS_MACH_4650 = 0x00850000, // MIPS R4650
+ EF_MIPS_MACH_4120 = 0x00870000, // NEC VR4120
+ EF_MIPS_MACH_4111 = 0x00880000, // NEC VR4111/VR4181
+ EF_MIPS_MACH_SB1 = 0x008a0000, // Broadcom SB-1
+ EF_MIPS_MACH_OCTEON = 0x008b0000, // Cavium Networks Octeon
+ EF_MIPS_MACH_XLR = 0x008c0000, // RMI Xlr
EF_MIPS_MACH_OCTEON2 = 0x008d0000, // Cavium Networks Octeon2
EF_MIPS_MACH_OCTEON3 = 0x008e0000, // Cavium Networks Octeon3
- EF_MIPS_MACH_5400 = 0x00910000, // NEC VR5400
- EF_MIPS_MACH_5900 = 0x00920000, // MIPS R5900
- EF_MIPS_MACH_5500 = 0x00980000, // NEC VR5500
- EF_MIPS_MACH_9000 = 0x00990000, // Unknown
- EF_MIPS_MACH_LS2E = 0x00a00000, // ST Microelectronics Loongson 2E
- EF_MIPS_MACH_LS2F = 0x00a10000, // ST Microelectronics Loongson 2F
- EF_MIPS_MACH_LS3A = 0x00a20000, // Loongson 3A
- EF_MIPS_MACH = 0x00ff0000, // EF_MIPS_MACH_xxx selection mask
+ EF_MIPS_MACH_5400 = 0x00910000, // NEC VR5400
+ EF_MIPS_MACH_5900 = 0x00920000, // MIPS R5900
+ EF_MIPS_MACH_5500 = 0x00980000, // NEC VR5500
+ EF_MIPS_MACH_9000 = 0x00990000, // Unknown
+ EF_MIPS_MACH_LS2E = 0x00a00000, // ST Microelectronics Loongson 2E
+ EF_MIPS_MACH_LS2F = 0x00a10000, // ST Microelectronics Loongson 2F
+ EF_MIPS_MACH_LS3A = 0x00a20000, // Loongson 3A
+ EF_MIPS_MACH = 0x00ff0000, // EF_MIPS_MACH_xxx selection mask
// ARCH_ASE
- EF_MIPS_MICROMIPS = 0x02000000, // microMIPS
- EF_MIPS_ARCH_ASE_M16 =
- 0x04000000, // Has Mips-16 ISA extensions
- EF_MIPS_ARCH_ASE_MDMX =
- 0x08000000, // Has MDMX multimedia extensions
- EF_MIPS_ARCH_ASE = 0x0f000000, // Mask for EF_MIPS_ARCH_ASE_xxx flags
+ EF_MIPS_MICROMIPS = 0x02000000, // microMIPS
+ EF_MIPS_ARCH_ASE_M16 = 0x04000000, // Has Mips-16 ISA extensions
+ EF_MIPS_ARCH_ASE_MDMX = 0x08000000, // Has MDMX multimedia extensions
+ EF_MIPS_ARCH_ASE = 0x0f000000, // Mask for EF_MIPS_ARCH_ASE_xxx flags
// ARCH
- EF_MIPS_ARCH_1 = 0x00000000, // MIPS1 instruction set
- EF_MIPS_ARCH_2 = 0x10000000, // MIPS2 instruction set
- EF_MIPS_ARCH_3 = 0x20000000, // MIPS3 instruction set
- EF_MIPS_ARCH_4 = 0x30000000, // MIPS4 instruction set
- EF_MIPS_ARCH_5 = 0x40000000, // MIPS5 instruction set
- EF_MIPS_ARCH_32 = 0x50000000, // MIPS32 instruction set per linux not elf.h
- EF_MIPS_ARCH_64 = 0x60000000, // MIPS64 instruction set per linux not elf.h
+ EF_MIPS_ARCH_1 = 0x00000000, // MIPS1 instruction set
+ EF_MIPS_ARCH_2 = 0x10000000, // MIPS2 instruction set
+ EF_MIPS_ARCH_3 = 0x20000000, // MIPS3 instruction set
+ EF_MIPS_ARCH_4 = 0x30000000, // MIPS4 instruction set
+ EF_MIPS_ARCH_5 = 0x40000000, // MIPS5 instruction set
+ EF_MIPS_ARCH_32 = 0x50000000, // MIPS32 instruction set per linux not elf.h
+ EF_MIPS_ARCH_64 = 0x60000000, // MIPS64 instruction set per linux not elf.h
EF_MIPS_ARCH_32R2 = 0x70000000, // mips32r2, mips32r3, mips32r5
EF_MIPS_ARCH_64R2 = 0x80000000, // mips64r2, mips64r3, mips64r5
EF_MIPS_ARCH_32R6 = 0x90000000, // mips32r6
EF_MIPS_ARCH_64R6 = 0xa0000000, // mips64r6
- EF_MIPS_ARCH = 0xf0000000 // Mask for applying EF_MIPS_ARCH_ variant
+ EF_MIPS_ARCH = 0xf0000000 // Mask for applying EF_MIPS_ARCH_ variant
};
// ELF Relocation types for Mips
@@ -534,57 +524,57 @@
// Special values for the st_other field in the symbol table entry for MIPS.
enum {
- STO_MIPS_OPTIONAL = 0x04, // Symbol whose definition is optional
- STO_MIPS_PLT = 0x08, // PLT entry related dynamic table record
- STO_MIPS_PIC = 0x20, // PIC func in an object mixes PIC/non-PIC
- STO_MIPS_MICROMIPS = 0x80, // MIPS Specific ISA for MicroMips
- STO_MIPS_MIPS16 = 0xf0 // MIPS Specific ISA for Mips16
+ STO_MIPS_OPTIONAL = 0x04, // Symbol whose definition is optional
+ STO_MIPS_PLT = 0x08, // PLT entry related dynamic table record
+ STO_MIPS_PIC = 0x20, // PIC func in an object mixes PIC/non-PIC
+ STO_MIPS_MICROMIPS = 0x80, // MIPS Specific ISA for MicroMips
+ STO_MIPS_MIPS16 = 0xf0 // MIPS Specific ISA for Mips16
};
// .MIPS.options section descriptor kinds
enum {
- ODK_NULL = 0, // Undefined
- ODK_REGINFO = 1, // Register usage information
- ODK_EXCEPTIONS = 2, // Exception processing options
- ODK_PAD = 3, // Section padding options
- ODK_HWPATCH = 4, // Hardware patches applied
- ODK_FILL = 5, // Linker fill value
- ODK_TAGS = 6, // Space for tool identification
- ODK_HWAND = 7, // Hardware AND patches applied
- ODK_HWOR = 8, // Hardware OR patches applied
- ODK_GP_GROUP = 9, // GP group to use for text/data sections
- ODK_IDENT = 10, // ID information
- ODK_PAGESIZE = 11 // Page size information
+ ODK_NULL = 0, // Undefined
+ ODK_REGINFO = 1, // Register usage information
+ ODK_EXCEPTIONS = 2, // Exception processing options
+ ODK_PAD = 3, // Section padding options
+ ODK_HWPATCH = 4, // Hardware patches applied
+ ODK_FILL = 5, // Linker fill value
+ ODK_TAGS = 6, // Space for tool identification
+ ODK_HWAND = 7, // Hardware AND patches applied
+ ODK_HWOR = 8, // Hardware OR patches applied
+ ODK_GP_GROUP = 9, // GP group to use for text/data sections
+ ODK_IDENT = 10, // ID information
+ ODK_PAGESIZE = 11 // Page size information
};
// Hexagon-specific e_flags
enum {
// Object processor version flags, bits[11:0]
- EF_HEXAGON_MACH_V2 = 0x00000001, // Hexagon V2
- EF_HEXAGON_MACH_V3 = 0x00000002, // Hexagon V3
- EF_HEXAGON_MACH_V4 = 0x00000003, // Hexagon V4
- EF_HEXAGON_MACH_V5 = 0x00000004, // Hexagon V5
- EF_HEXAGON_MACH_V55 = 0x00000005, // Hexagon V55
- EF_HEXAGON_MACH_V60 = 0x00000060, // Hexagon V60
+ EF_HEXAGON_MACH_V2 = 0x00000001, // Hexagon V2
+ EF_HEXAGON_MACH_V3 = 0x00000002, // Hexagon V3
+ EF_HEXAGON_MACH_V4 = 0x00000003, // Hexagon V4
+ EF_HEXAGON_MACH_V5 = 0x00000004, // Hexagon V5
+ EF_HEXAGON_MACH_V55 = 0x00000005, // Hexagon V55
+ EF_HEXAGON_MACH_V60 = 0x00000060, // Hexagon V60
// Highest ISA version flags
- EF_HEXAGON_ISA_MACH = 0x00000000, // Same as specified in bits[11:0]
- // of e_flags
- EF_HEXAGON_ISA_V2 = 0x00000010, // Hexagon V2 ISA
- EF_HEXAGON_ISA_V3 = 0x00000020, // Hexagon V3 ISA
- EF_HEXAGON_ISA_V4 = 0x00000030, // Hexagon V4 ISA
- EF_HEXAGON_ISA_V5 = 0x00000040, // Hexagon V5 ISA
- EF_HEXAGON_ISA_V55 = 0x00000050, // Hexagon V55 ISA
- EF_HEXAGON_ISA_V60 = 0x00000060, // Hexagon V60 ISA
+ EF_HEXAGON_ISA_MACH = 0x00000000, // Same as specified in bits[11:0]
+ // of e_flags
+ EF_HEXAGON_ISA_V2 = 0x00000010, // Hexagon V2 ISA
+ EF_HEXAGON_ISA_V3 = 0x00000020, // Hexagon V3 ISA
+ EF_HEXAGON_ISA_V4 = 0x00000030, // Hexagon V4 ISA
+ EF_HEXAGON_ISA_V5 = 0x00000040, // Hexagon V5 ISA
+ EF_HEXAGON_ISA_V55 = 0x00000050, // Hexagon V55 ISA
+ EF_HEXAGON_ISA_V60 = 0x00000060, // Hexagon V60 ISA
};
// Hexagon-specific section indexes for common small data
enum {
- SHN_HEXAGON_SCOMMON = 0xff00, // Other access sizes
- SHN_HEXAGON_SCOMMON_1 = 0xff01, // Byte-sized access
- SHN_HEXAGON_SCOMMON_2 = 0xff02, // Half-word-sized access
- SHN_HEXAGON_SCOMMON_4 = 0xff03, // Word-sized access
- SHN_HEXAGON_SCOMMON_8 = 0xff04 // Double-word-size access
+ SHN_HEXAGON_SCOMMON = 0xff00, // Other access sizes
+ SHN_HEXAGON_SCOMMON_1 = 0xff01, // Byte-sized access
+ SHN_HEXAGON_SCOMMON_2 = 0xff02, // Half-word-sized access
+ SHN_HEXAGON_SCOMMON_4 = 0xff03, // Word-sized access
+ SHN_HEXAGON_SCOMMON_8 = 0xff04 // Double-word-size access
};
// ELF Relocation types for Hexagon
@@ -597,6 +587,11 @@
#include "ELFRelocs/Lanai.def"
};
+// ELF Relocation types for RISC-V
+enum {
+#include "ELFRelocs/RISCV.def"
+};
+
// ELF Relocation types for S390/zSeries
enum {
#include "ELFRelocs/SystemZ.def"
@@ -630,7 +625,7 @@
Elf32_Word sh_type; // Section type (SHT_*)
Elf32_Word sh_flags; // Section flags (SHF_*)
Elf32_Addr sh_addr; // Address where section is to be loaded
- Elf32_Off sh_offset; // File offset of section data, in bytes
+ Elf32_Off sh_offset; // File offset of section data, in bytes
Elf32_Word sh_size; // Size of section, in bytes
Elf32_Word sh_link; // Section type-specific header table index link
Elf32_Word sh_info; // Section type-specific extra information
@@ -640,79 +635,79 @@
// Section header for ELF64 - same fields as ELF32, different types.
struct Elf64_Shdr {
- Elf64_Word sh_name;
- Elf64_Word sh_type;
+ Elf64_Word sh_name;
+ Elf64_Word sh_type;
Elf64_Xword sh_flags;
- Elf64_Addr sh_addr;
- Elf64_Off sh_offset;
+ Elf64_Addr sh_addr;
+ Elf64_Off sh_offset;
Elf64_Xword sh_size;
- Elf64_Word sh_link;
- Elf64_Word sh_info;
+ Elf64_Word sh_link;
+ Elf64_Word sh_info;
Elf64_Xword sh_addralign;
Elf64_Xword sh_entsize;
};
// Special section indices.
enum {
- SHN_UNDEF = 0, // Undefined, missing, irrelevant, or meaningless
+ SHN_UNDEF = 0, // Undefined, missing, irrelevant, or meaningless
SHN_LORESERVE = 0xff00, // Lowest reserved index
- SHN_LOPROC = 0xff00, // Lowest processor-specific index
- SHN_HIPROC = 0xff1f, // Highest processor-specific index
- SHN_LOOS = 0xff20, // Lowest operating system-specific index
- SHN_HIOS = 0xff3f, // Highest operating system-specific index
- SHN_ABS = 0xfff1, // Symbol has absolute value; does not need relocation
- SHN_COMMON = 0xfff2, // FORTRAN COMMON or C external global variables
- SHN_XINDEX = 0xffff, // Mark that the index is >= SHN_LORESERVE
+ SHN_LOPROC = 0xff00, // Lowest processor-specific index
+ SHN_HIPROC = 0xff1f, // Highest processor-specific index
+ SHN_LOOS = 0xff20, // Lowest operating system-specific index
+ SHN_HIOS = 0xff3f, // Highest operating system-specific index
+ SHN_ABS = 0xfff1, // Symbol has absolute value; does not need relocation
+ SHN_COMMON = 0xfff2, // FORTRAN COMMON or C external global variables
+ SHN_XINDEX = 0xffff, // Mark that the index is >= SHN_LORESERVE
SHN_HIRESERVE = 0xffff // Highest reserved index
};
// Section types.
enum : unsigned {
- SHT_NULL = 0, // No associated section (inactive entry).
- SHT_PROGBITS = 1, // Program-defined contents.
- SHT_SYMTAB = 2, // Symbol table.
- SHT_STRTAB = 3, // String table.
- SHT_RELA = 4, // Relocation entries; explicit addends.
- SHT_HASH = 5, // Symbol hash table.
- SHT_DYNAMIC = 6, // Information for dynamic linking.
- SHT_NOTE = 7, // Information about the file.
- SHT_NOBITS = 8, // Data occupies no space in the file.
- SHT_REL = 9, // Relocation entries; no explicit addends.
- SHT_SHLIB = 10, // Reserved.
- SHT_DYNSYM = 11, // Symbol table.
- SHT_INIT_ARRAY = 14, // Pointers to initialization functions.
- SHT_FINI_ARRAY = 15, // Pointers to termination functions.
- SHT_PREINIT_ARRAY = 16, // Pointers to pre-init functions.
- SHT_GROUP = 17, // Section group.
- SHT_SYMTAB_SHNDX = 18, // Indices for SHN_XINDEX entries.
- SHT_LOOS = 0x60000000, // Lowest operating system-specific type.
- SHT_GNU_ATTRIBUTES= 0x6ffffff5, // Object attributes.
- SHT_GNU_HASH = 0x6ffffff6, // GNU-style hash table.
- SHT_GNU_verdef = 0x6ffffffd, // GNU version definitions.
- SHT_GNU_verneed = 0x6ffffffe, // GNU version references.
- SHT_GNU_versym = 0x6fffffff, // GNU symbol versions table.
- SHT_HIOS = 0x6fffffff, // Highest operating system-specific type.
- SHT_LOPROC = 0x70000000, // Lowest processor arch-specific type.
+ SHT_NULL = 0, // No associated section (inactive entry).
+ SHT_PROGBITS = 1, // Program-defined contents.
+ SHT_SYMTAB = 2, // Symbol table.
+ SHT_STRTAB = 3, // String table.
+ SHT_RELA = 4, // Relocation entries; explicit addends.
+ SHT_HASH = 5, // Symbol hash table.
+ SHT_DYNAMIC = 6, // Information for dynamic linking.
+ SHT_NOTE = 7, // Information about the file.
+ SHT_NOBITS = 8, // Data occupies no space in the file.
+ SHT_REL = 9, // Relocation entries; no explicit addends.
+ SHT_SHLIB = 10, // Reserved.
+ SHT_DYNSYM = 11, // Symbol table.
+ SHT_INIT_ARRAY = 14, // Pointers to initialization functions.
+ SHT_FINI_ARRAY = 15, // Pointers to termination functions.
+ SHT_PREINIT_ARRAY = 16, // Pointers to pre-init functions.
+ SHT_GROUP = 17, // Section group.
+ SHT_SYMTAB_SHNDX = 18, // Indices for SHN_XINDEX entries.
+ SHT_LOOS = 0x60000000, // Lowest operating system-specific type.
+ SHT_GNU_ATTRIBUTES = 0x6ffffff5, // Object attributes.
+ SHT_GNU_HASH = 0x6ffffff6, // GNU-style hash table.
+ SHT_GNU_verdef = 0x6ffffffd, // GNU version definitions.
+ SHT_GNU_verneed = 0x6ffffffe, // GNU version references.
+ SHT_GNU_versym = 0x6fffffff, // GNU symbol versions table.
+ SHT_HIOS = 0x6fffffff, // Highest operating system-specific type.
+ SHT_LOPROC = 0x70000000, // Lowest processor arch-specific type.
// Fixme: All this is duplicated in MCSectionELF. Why??
// Exception Index table
- SHT_ARM_EXIDX = 0x70000001U,
+ SHT_ARM_EXIDX = 0x70000001U,
// BPABI DLL dynamic linking pre-emption map
- SHT_ARM_PREEMPTMAP = 0x70000002U,
+ SHT_ARM_PREEMPTMAP = 0x70000002U,
// Object file compatibility attributes
- SHT_ARM_ATTRIBUTES = 0x70000003U,
- SHT_ARM_DEBUGOVERLAY = 0x70000004U,
- SHT_ARM_OVERLAYSECTION = 0x70000005U,
- SHT_HEX_ORDERED = 0x70000000, // Link editor is to sort the entries in
- // this section based on their sizes
- SHT_X86_64_UNWIND = 0x70000001, // Unwind information
+ SHT_ARM_ATTRIBUTES = 0x70000003U,
+ SHT_ARM_DEBUGOVERLAY = 0x70000004U,
+ SHT_ARM_OVERLAYSECTION = 0x70000005U,
+ SHT_HEX_ORDERED = 0x70000000, // Link editor is to sort the entries in
+ // this section based on their sizes
+ SHT_X86_64_UNWIND = 0x70000001, // Unwind information
- SHT_MIPS_REGINFO = 0x70000006, // Register usage information
- SHT_MIPS_OPTIONS = 0x7000000d, // General options
- SHT_MIPS_ABIFLAGS = 0x7000002a, // ABI information.
+ SHT_MIPS_REGINFO = 0x70000006, // Register usage information
+ SHT_MIPS_OPTIONS = 0x7000000d, // General options
+ SHT_MIPS_ABIFLAGS = 0x7000002a, // ABI information.
- SHT_HIPROC = 0x7fffffff, // Highest processor arch-specific type.
- SHT_LOUSER = 0x80000000, // Lowest type reserved for applications.
- SHT_HIUSER = 0xffffffff // Highest type reserved for applications.
+ SHT_HIPROC = 0x7fffffff, // Highest processor arch-specific type.
+ SHT_LOUSER = 0x80000000, // Lowest type reserved for applications.
+ SHT_HIUSER = 0xffffffff // Highest type reserved for applications.
};
// Section flags.
@@ -766,7 +761,7 @@
/// set to the start of the section by the boot code.
XCORE_SHF_DP_SECTION = 0x1000U,
- SHF_MASKOS = 0x0ff00000,
+ SHF_MASKOS = 0x0ff00000,
// Bits indicating processor-specific flags.
SHF_MASKPROC = 0xf0000000,
@@ -789,30 +784,33 @@
SHF_MIPS_NODUPES = 0x01000000,
// Linker must generate implicit hidden weak names.
- SHF_MIPS_NAMES = 0x02000000,
+ SHF_MIPS_NAMES = 0x02000000,
// Section data local to process.
- SHF_MIPS_LOCAL = 0x04000000,
+ SHF_MIPS_LOCAL = 0x04000000,
// Do not strip this section.
SHF_MIPS_NOSTRIP = 0x08000000,
// Section must be part of global data area.
- SHF_MIPS_GPREL = 0x10000000,
+ SHF_MIPS_GPREL = 0x10000000,
// This section should be merged.
- SHF_MIPS_MERGE = 0x20000000,
+ SHF_MIPS_MERGE = 0x20000000,
// Address size to be inferred from section entry size.
- SHF_MIPS_ADDR = 0x40000000,
+ SHF_MIPS_ADDR = 0x40000000,
// Section data is string data by default.
- SHF_MIPS_STRING = 0x80000000,
+ SHF_MIPS_STRING = 0x80000000,
- SHF_AMDGPU_HSA_GLOBAL = 0x00100000,
+ // Make code section unreadable when in execute-only mode
+ SHF_ARM_PURECODE = 0x20000000,
+
+ SHF_AMDGPU_HSA_GLOBAL = 0x00100000,
SHF_AMDGPU_HSA_READONLY = 0x00200000,
- SHF_AMDGPU_HSA_CODE = 0x00400000,
- SHF_AMDGPU_HSA_AGENT = 0x00800000
+ SHF_AMDGPU_HSA_CODE = 0x00400000,
+ SHF_AMDGPU_HSA_AGENT = 0x00800000
};
// Section Group Flags
@@ -824,12 +822,12 @@
// Symbol table entries for ELF32.
struct Elf32_Sym {
- Elf32_Word st_name; // Symbol name (index into string table)
- Elf32_Addr st_value; // Value or address associated with the symbol
- Elf32_Word st_size; // Size of the symbol
+ Elf32_Word st_name; // Symbol name (index into string table)
+ Elf32_Addr st_value; // Value or address associated with the symbol
+ Elf32_Word st_size; // Size of the symbol
unsigned char st_info; // Symbol's type and binding attributes
unsigned char st_other; // Must be zero; reserved
- Elf32_Half st_shndx; // Which section (header table index) it's defined in
+ Elf32_Half st_shndx; // Which section (header table index) it's defined in
// These accessors and mutators correspond to the ELF32_ST_BIND,
// ELF32_ST_TYPE, and ELF32_ST_INFO macros defined in the ELF specification:
@@ -844,12 +842,12 @@
// Symbol table entries for ELF64.
struct Elf64_Sym {
- Elf64_Word st_name; // Symbol name (index into string table)
- unsigned char st_info; // Symbol's type and binding attributes
- unsigned char st_other; // Must be zero; reserved
- Elf64_Half st_shndx; // Which section (header tbl index) it's defined in
- Elf64_Addr st_value; // Value or address associated with the symbol
- Elf64_Xword st_size; // Size of the symbol
+ Elf64_Word st_name; // Symbol name (index into string table)
+ unsigned char st_info; // Symbol's type and binding attributes
+ unsigned char st_other; // Must be zero; reserved
+ Elf64_Half st_shndx; // Which section (header tbl index) it's defined in
+ Elf64_Addr st_value; // Value or address associated with the symbol
+ Elf64_Xword st_size; // Size of the symbol
// These accessors and mutators are identical to those defined for ELF32
// symbol table entries.
@@ -870,48 +868,46 @@
// Symbol bindings.
enum {
- STB_LOCAL = 0, // Local symbol, not visible outside obj file containing def
- STB_GLOBAL = 1, // Global symbol, visible to all object files being combined
- STB_WEAK = 2, // Weak symbol, like global but lower-precedence
+ STB_LOCAL = 0, // Local symbol, not visible outside obj file containing def
+ STB_GLOBAL = 1, // Global symbol, visible to all object files being combined
+ STB_WEAK = 2, // Weak symbol, like global but lower-precedence
STB_GNU_UNIQUE = 10,
- STB_LOOS = 10, // Lowest operating system-specific binding type
- STB_HIOS = 12, // Highest operating system-specific binding type
+ STB_LOOS = 10, // Lowest operating system-specific binding type
+ STB_HIOS = 12, // Highest operating system-specific binding type
STB_LOPROC = 13, // Lowest processor-specific binding type
STB_HIPROC = 15 // Highest processor-specific binding type
};
// Symbol types.
enum {
- STT_NOTYPE = 0, // Symbol's type is not specified
- STT_OBJECT = 1, // Symbol is a data object (variable, array, etc.)
- STT_FUNC = 2, // Symbol is executable code (function, etc.)
- STT_SECTION = 3, // Symbol refers to a section
- STT_FILE = 4, // Local, absolute symbol that refers to a file
- STT_COMMON = 5, // An uninitialized common block
- STT_TLS = 6, // Thread local data object
+ STT_NOTYPE = 0, // Symbol's type is not specified
+ STT_OBJECT = 1, // Symbol is a data object (variable, array, etc.)
+ STT_FUNC = 2, // Symbol is executable code (function, etc.)
+ STT_SECTION = 3, // Symbol refers to a section
+ STT_FILE = 4, // Local, absolute symbol that refers to a file
+ STT_COMMON = 5, // An uninitialized common block
+ STT_TLS = 6, // Thread local data object
STT_GNU_IFUNC = 10, // GNU indirect function
- STT_LOOS = 10, // Lowest operating system-specific symbol type
- STT_HIOS = 12, // Highest operating system-specific symbol type
- STT_LOPROC = 13, // Lowest processor-specific symbol type
- STT_HIPROC = 15, // Highest processor-specific symbol type
+ STT_LOOS = 10, // Lowest operating system-specific symbol type
+ STT_HIOS = 12, // Highest operating system-specific symbol type
+ STT_LOPROC = 13, // Lowest processor-specific symbol type
+ STT_HIPROC = 15, // Highest processor-specific symbol type
// AMDGPU symbol types
- STT_AMDGPU_HSA_KERNEL = 10,
+ STT_AMDGPU_HSA_KERNEL = 10,
STT_AMDGPU_HSA_INDIRECT_FUNCTION = 11,
- STT_AMDGPU_HSA_METADATA = 12
+ STT_AMDGPU_HSA_METADATA = 12
};
enum {
- STV_DEFAULT = 0, // Visibility is specified by binding type
- STV_INTERNAL = 1, // Defined by processor supplements
- STV_HIDDEN = 2, // Not visible to other components
- STV_PROTECTED = 3 // Visible in other components but not preemptable
+ STV_DEFAULT = 0, // Visibility is specified by binding type
+ STV_INTERNAL = 1, // Defined by processor supplements
+ STV_HIDDEN = 2, // Not visible to other components
+ STV_PROTECTED = 3 // Visible in other components but not preemptable
};
// Symbol number.
-enum {
- STN_UNDEF = 0
-};
+enum { STN_UNDEF = 0 };
// Special relocation symbols used in the MIPS64 ELF relocation entries
enum {
@@ -929,7 +925,7 @@
// These accessors and mutators correspond to the ELF32_R_SYM, ELF32_R_TYPE,
// and ELF32_R_INFO macros defined in the ELF specification:
Elf32_Word getSymbol() const { return (r_info >> 8); }
- unsigned char getType() const { return (unsigned char) (r_info & 0x0ff); }
+ unsigned char getType() const { return (unsigned char)(r_info & 0x0ff); }
void setSymbol(Elf32_Word s) { setSymbolAndType(s, getType()); }
void setType(unsigned char t) { setSymbolAndType(getSymbol(), t); }
void setSymbolAndType(Elf32_Word s, unsigned char t) {
@@ -939,14 +935,14 @@
// Relocation entry with explicit addend.
struct Elf32_Rela {
- Elf32_Addr r_offset; // Location (file byte offset, or program virtual addr)
- Elf32_Word r_info; // Symbol table index and type of relocation to apply
+ Elf32_Addr r_offset; // Location (file byte offset, or program virtual addr)
+ Elf32_Word r_info; // Symbol table index and type of relocation to apply
Elf32_Sword r_addend; // Compute value for relocatable field by adding this
// These accessors and mutators correspond to the ELF32_R_SYM, ELF32_R_TYPE,
// and ELF32_R_INFO macros defined in the ELF specification:
Elf32_Word getSymbol() const { return (r_info >> 8); }
- unsigned char getType() const { return (unsigned char) (r_info & 0x0ff); }
+ unsigned char getType() const { return (unsigned char)(r_info & 0x0ff); }
void setSymbol(Elf32_Word s) { setSymbolAndType(s, getType()); }
void setType(unsigned char t) { setSymbolAndType(getSymbol(), t); }
void setSymbolAndType(Elf32_Word s, unsigned char t) {
@@ -957,44 +953,40 @@
// Relocation entry, without explicit addend.
struct Elf64_Rel {
Elf64_Addr r_offset; // Location (file byte offset, or program virtual addr).
- Elf64_Xword r_info; // Symbol table index and type of relocation to apply.
+ Elf64_Xword r_info; // Symbol table index and type of relocation to apply.
// These accessors and mutators correspond to the ELF64_R_SYM, ELF64_R_TYPE,
// and ELF64_R_INFO macros defined in the ELF specification:
Elf64_Word getSymbol() const { return (r_info >> 32); }
- Elf64_Word getType() const {
- return (Elf64_Word) (r_info & 0xffffffffL);
- }
+ Elf64_Word getType() const { return (Elf64_Word)(r_info & 0xffffffffL); }
void setSymbol(Elf64_Word s) { setSymbolAndType(s, getType()); }
void setType(Elf64_Word t) { setSymbolAndType(getSymbol(), t); }
void setSymbolAndType(Elf64_Word s, Elf64_Word t) {
- r_info = ((Elf64_Xword)s << 32) + (t&0xffffffffL);
+ r_info = ((Elf64_Xword)s << 32) + (t & 0xffffffffL);
}
};
// Relocation entry with explicit addend.
struct Elf64_Rela {
- Elf64_Addr r_offset; // Location (file byte offset, or program virtual addr).
- Elf64_Xword r_info; // Symbol table index and type of relocation to apply.
+ Elf64_Addr r_offset; // Location (file byte offset, or program virtual addr).
+ Elf64_Xword r_info; // Symbol table index and type of relocation to apply.
Elf64_Sxword r_addend; // Compute value for relocatable field by adding this.
// These accessors and mutators correspond to the ELF64_R_SYM, ELF64_R_TYPE,
// and ELF64_R_INFO macros defined in the ELF specification:
Elf64_Word getSymbol() const { return (r_info >> 32); }
- Elf64_Word getType() const {
- return (Elf64_Word) (r_info & 0xffffffffL);
- }
+ Elf64_Word getType() const { return (Elf64_Word)(r_info & 0xffffffffL); }
void setSymbol(Elf64_Word s) { setSymbolAndType(s, getType()); }
void setType(Elf64_Word t) { setSymbolAndType(getSymbol(), t); }
void setSymbolAndType(Elf64_Word s, Elf64_Word t) {
- r_info = ((Elf64_Xword)s << 32) + (t&0xffffffffL);
+ r_info = ((Elf64_Xword)s << 32) + (t & 0xffffffffL);
}
};
// Program header for ELF32.
struct Elf32_Phdr {
Elf32_Word p_type; // Type of segment
- Elf32_Off p_offset; // File offset where segment is located, in bytes
+ Elf32_Off p_offset; // File offset where segment is located, in bytes
Elf32_Addr p_vaddr; // Virtual address of beginning of segment
Elf32_Addr p_paddr; // Physical address of beginning of segment (OS-specific)
Elf32_Word p_filesz; // Num. of bytes in file image of segment (may be zero)
@@ -1005,57 +997,61 @@
// Program header for ELF64.
struct Elf64_Phdr {
- Elf64_Word p_type; // Type of segment
- Elf64_Word p_flags; // Segment flags
- Elf64_Off p_offset; // File offset where segment is located, in bytes
- Elf64_Addr p_vaddr; // Virtual address of beginning of segment
- Elf64_Addr p_paddr; // Physical addr of beginning of segment (OS-specific)
- Elf64_Xword p_filesz; // Num. of bytes in file image of segment (may be zero)
- Elf64_Xword p_memsz; // Num. of bytes in mem image of segment (may be zero)
- Elf64_Xword p_align; // Segment alignment constraint
+ Elf64_Word p_type; // Type of segment
+ Elf64_Word p_flags; // Segment flags
+ Elf64_Off p_offset; // File offset where segment is located, in bytes
+ Elf64_Addr p_vaddr; // Virtual address of beginning of segment
+ Elf64_Addr p_paddr; // Physical addr of beginning of segment (OS-specific)
+ Elf64_Xword p_filesz; // Num. of bytes in file image of segment (may be zero)
+ Elf64_Xword p_memsz; // Num. of bytes in mem image of segment (may be zero)
+ Elf64_Xword p_align; // Segment alignment constraint
};
// Segment types.
enum {
- PT_NULL = 0, // Unused segment.
- PT_LOAD = 1, // Loadable segment.
- PT_DYNAMIC = 2, // Dynamic linking information.
- PT_INTERP = 3, // Interpreter pathname.
- PT_NOTE = 4, // Auxiliary information.
- PT_SHLIB = 5, // Reserved.
- PT_PHDR = 6, // The program header table itself.
- PT_TLS = 7, // The thread-local storage template.
- PT_LOOS = 0x60000000, // Lowest operating system-specific pt entry type.
- PT_HIOS = 0x6fffffff, // Highest operating system-specific pt entry type.
- PT_LOPROC = 0x70000000, // Lowest processor-specific program hdr entry type.
- PT_HIPROC = 0x7fffffff, // Highest processor-specific program hdr entry type.
+ PT_NULL = 0, // Unused segment.
+ PT_LOAD = 1, // Loadable segment.
+ PT_DYNAMIC = 2, // Dynamic linking information.
+ PT_INTERP = 3, // Interpreter pathname.
+ PT_NOTE = 4, // Auxiliary information.
+ PT_SHLIB = 5, // Reserved.
+ PT_PHDR = 6, // The program header table itself.
+ PT_TLS = 7, // The thread-local storage template.
+ PT_LOOS = 0x60000000, // Lowest operating system-specific pt entry type.
+ PT_HIOS = 0x6fffffff, // Highest operating system-specific pt entry type.
+ PT_LOPROC = 0x70000000, // Lowest processor-specific program hdr entry type.
+ PT_HIPROC = 0x7fffffff, // Highest processor-specific program hdr entry type.
// x86-64 program header types.
// These all contain stack unwind tables.
- PT_GNU_EH_FRAME = 0x6474e550,
+ PT_GNU_EH_FRAME = 0x6474e550,
PT_SUNW_EH_FRAME = 0x6474e550,
- PT_SUNW_UNWIND = 0x6464e550,
+ PT_SUNW_UNWIND = 0x6464e550,
- PT_GNU_STACK = 0x6474e551, // Indicates stack executability.
- PT_GNU_RELRO = 0x6474e552, // Read-only after relocation.
+ PT_GNU_STACK = 0x6474e551, // Indicates stack executability.
+ PT_GNU_RELRO = 0x6474e552, // Read-only after relocation.
+
+ PT_OPENBSD_RANDOMIZE = 0x65a3dbe6, // Fill with random data.
+ PT_OPENBSD_WXNEEDED = 0x65a3dbe7, // Program does W^X violations.
+ PT_OPENBSD_BOOTDATA = 0x65a41be6, // Section for boot arguments.
// ARM program header types.
PT_ARM_ARCHEXT = 0x70000000, // Platform architecture compatibility info
// These all contain stack unwind tables.
- PT_ARM_EXIDX = 0x70000001,
- PT_ARM_UNWIND = 0x70000001,
+ PT_ARM_EXIDX = 0x70000001,
+ PT_ARM_UNWIND = 0x70000001,
// MIPS program header types.
- PT_MIPS_REGINFO = 0x70000000, // Register usage information.
- PT_MIPS_RTPROC = 0x70000001, // Runtime procedure table.
- PT_MIPS_OPTIONS = 0x70000002, // Options segment.
- PT_MIPS_ABIFLAGS = 0x70000003, // Abiflags segment.
+ PT_MIPS_REGINFO = 0x70000000, // Register usage information.
+ PT_MIPS_RTPROC = 0x70000001, // Runtime procedure table.
+ PT_MIPS_OPTIONS = 0x70000002, // Options segment.
+ PT_MIPS_ABIFLAGS = 0x70000003, // Abiflags segment.
// AMDGPU program header types.
PT_AMDGPU_HSA_LOAD_GLOBAL_PROGRAM = 0x60000000,
- PT_AMDGPU_HSA_LOAD_GLOBAL_AGENT = 0x60000001,
+ PT_AMDGPU_HSA_LOAD_GLOBAL_AGENT = 0x60000001,
PT_AMDGPU_HSA_LOAD_READONLY_AGENT = 0x60000002,
- PT_AMDGPU_HSA_LOAD_CODE_AGENT = 0x60000003,
+ PT_AMDGPU_HSA_LOAD_CODE_AGENT = 0x60000003,
// WebAssembly program header types.
PT_WEBASSEMBLY_FUNCTIONS = PT_LOPROC + 0, // Function definitions.
@@ -1063,263 +1059,251 @@
// Segment flag bits.
enum : unsigned {
- PF_X = 1, // Execute
- PF_W = 2, // Write
- PF_R = 4, // Read
- PF_MASKOS = 0x0ff00000,// Bits for operating system-specific semantics.
+ PF_X = 1, // Execute
+ PF_W = 2, // Write
+ PF_R = 4, // Read
+ PF_MASKOS = 0x0ff00000, // Bits for operating system-specific semantics.
PF_MASKPROC = 0xf0000000 // Bits for processor-specific semantics.
};
// Dynamic table entry for ELF32.
-struct Elf32_Dyn
-{
- Elf32_Sword d_tag; // Type of dynamic table entry.
- union
- {
- Elf32_Word d_val; // Integer value of entry.
- Elf32_Addr d_ptr; // Pointer value of entry.
+struct Elf32_Dyn {
+ Elf32_Sword d_tag; // Type of dynamic table entry.
+ union {
+ Elf32_Word d_val; // Integer value of entry.
+ Elf32_Addr d_ptr; // Pointer value of entry.
} d_un;
};
// Dynamic table entry for ELF64.
-struct Elf64_Dyn
-{
- Elf64_Sxword d_tag; // Type of dynamic table entry.
- union
- {
- Elf64_Xword d_val; // Integer value of entry.
- Elf64_Addr d_ptr; // Pointer value of entry.
+struct Elf64_Dyn {
+ Elf64_Sxword d_tag; // Type of dynamic table entry.
+ union {
+ Elf64_Xword d_val; // Integer value of entry.
+ Elf64_Addr d_ptr; // Pointer value of entry.
} d_un;
};
// Dynamic table entry tags.
enum {
- DT_NULL = 0, // Marks end of dynamic array.
- DT_NEEDED = 1, // String table offset of needed library.
- DT_PLTRELSZ = 2, // Size of relocation entries in PLT.
- DT_PLTGOT = 3, // Address associated with linkage table.
- DT_HASH = 4, // Address of symbolic hash table.
- DT_STRTAB = 5, // Address of dynamic string table.
- DT_SYMTAB = 6, // Address of dynamic symbol table.
- DT_RELA = 7, // Address of relocation table (Rela entries).
- DT_RELASZ = 8, // Size of Rela relocation table.
- DT_RELAENT = 9, // Size of a Rela relocation entry.
- DT_STRSZ = 10, // Total size of the string table.
- DT_SYMENT = 11, // Size of a symbol table entry.
- DT_INIT = 12, // Address of initialization function.
- DT_FINI = 13, // Address of termination function.
- DT_SONAME = 14, // String table offset of a shared objects name.
- DT_RPATH = 15, // String table offset of library search path.
- DT_SYMBOLIC = 16, // Changes symbol resolution algorithm.
- DT_REL = 17, // Address of relocation table (Rel entries).
- DT_RELSZ = 18, // Size of Rel relocation table.
- DT_RELENT = 19, // Size of a Rel relocation entry.
- DT_PLTREL = 20, // Type of relocation entry used for linking.
- DT_DEBUG = 21, // Reserved for debugger.
- DT_TEXTREL = 22, // Relocations exist for non-writable segments.
- DT_JMPREL = 23, // Address of relocations associated with PLT.
- DT_BIND_NOW = 24, // Process all relocations before execution.
- DT_INIT_ARRAY = 25, // Pointer to array of initialization functions.
- DT_FINI_ARRAY = 26, // Pointer to array of termination functions.
- DT_INIT_ARRAYSZ = 27, // Size of DT_INIT_ARRAY.
- DT_FINI_ARRAYSZ = 28, // Size of DT_FINI_ARRAY.
- DT_RUNPATH = 29, // String table offset of lib search path.
- DT_FLAGS = 30, // Flags.
- DT_ENCODING = 32, // Values from here to DT_LOOS follow the rules
- // for the interpretation of the d_un union.
+ DT_NULL = 0, // Marks end of dynamic array.
+ DT_NEEDED = 1, // String table offset of needed library.
+ DT_PLTRELSZ = 2, // Size of relocation entries in PLT.
+ DT_PLTGOT = 3, // Address associated with linkage table.
+ DT_HASH = 4, // Address of symbolic hash table.
+ DT_STRTAB = 5, // Address of dynamic string table.
+ DT_SYMTAB = 6, // Address of dynamic symbol table.
+ DT_RELA = 7, // Address of relocation table (Rela entries).
+ DT_RELASZ = 8, // Size of Rela relocation table.
+ DT_RELAENT = 9, // Size of a Rela relocation entry.
+ DT_STRSZ = 10, // Total size of the string table.
+ DT_SYMENT = 11, // Size of a symbol table entry.
+ DT_INIT = 12, // Address of initialization function.
+ DT_FINI = 13, // Address of termination function.
+ DT_SONAME = 14, // String table offset of a shared objects name.
+ DT_RPATH = 15, // String table offset of library search path.
+ DT_SYMBOLIC = 16, // Changes symbol resolution algorithm.
+ DT_REL = 17, // Address of relocation table (Rel entries).
+ DT_RELSZ = 18, // Size of Rel relocation table.
+ DT_RELENT = 19, // Size of a Rel relocation entry.
+ DT_PLTREL = 20, // Type of relocation entry used for linking.
+ DT_DEBUG = 21, // Reserved for debugger.
+ DT_TEXTREL = 22, // Relocations exist for non-writable segments.
+ DT_JMPREL = 23, // Address of relocations associated with PLT.
+ DT_BIND_NOW = 24, // Process all relocations before execution.
+ DT_INIT_ARRAY = 25, // Pointer to array of initialization functions.
+ DT_FINI_ARRAY = 26, // Pointer to array of termination functions.
+ DT_INIT_ARRAYSZ = 27, // Size of DT_INIT_ARRAY.
+ DT_FINI_ARRAYSZ = 28, // Size of DT_FINI_ARRAY.
+ DT_RUNPATH = 29, // String table offset of lib search path.
+ DT_FLAGS = 30, // Flags.
+ DT_ENCODING = 32, // Values from here to DT_LOOS follow the rules
+ // for the interpretation of the d_un union.
- DT_PREINIT_ARRAY = 32, // Pointer to array of preinit functions.
- DT_PREINIT_ARRAYSZ = 33, // Size of the DT_PREINIT_ARRAY array.
+ DT_PREINIT_ARRAY = 32, // Pointer to array of preinit functions.
+ DT_PREINIT_ARRAYSZ = 33, // Size of the DT_PREINIT_ARRAY array.
- DT_LOOS = 0x60000000, // Start of environment specific tags.
- DT_HIOS = 0x6FFFFFFF, // End of environment specific tags.
- DT_LOPROC = 0x70000000, // Start of processor specific tags.
- DT_HIPROC = 0x7FFFFFFF, // End of processor specific tags.
+ DT_LOOS = 0x60000000, // Start of environment specific tags.
+ DT_HIOS = 0x6FFFFFFF, // End of environment specific tags.
+ DT_LOPROC = 0x70000000, // Start of processor specific tags.
+ DT_HIPROC = 0x7FFFFFFF, // End of processor specific tags.
- DT_GNU_HASH = 0x6FFFFEF5, // Reference to the GNU hash table.
- DT_TLSDESC_PLT = 0x6FFFFEF6, // Location of PLT entry for TLS descriptor resolver calls.
- DT_TLSDESC_GOT = 0x6FFFFEF7, // Location of GOT entry used by TLS descriptor resolver PLT entry.
- DT_RELACOUNT = 0x6FFFFFF9, // ELF32_Rela count.
- DT_RELCOUNT = 0x6FFFFFFA, // ELF32_Rel count.
+ DT_GNU_HASH = 0x6FFFFEF5, // Reference to the GNU hash table.
+ DT_TLSDESC_PLT =
+ 0x6FFFFEF6, // Location of PLT entry for TLS descriptor resolver calls.
+ DT_TLSDESC_GOT = 0x6FFFFEF7, // Location of GOT entry used by TLS descriptor
+ // resolver PLT entry.
+ DT_RELACOUNT = 0x6FFFFFF9, // ELF32_Rela count.
+ DT_RELCOUNT = 0x6FFFFFFA, // ELF32_Rel count.
- DT_FLAGS_1 = 0X6FFFFFFB, // Flags_1.
- DT_VERSYM = 0x6FFFFFF0, // The address of .gnu.version section.
- DT_VERDEF = 0X6FFFFFFC, // The address of the version definition table.
- DT_VERDEFNUM = 0X6FFFFFFD, // The number of entries in DT_VERDEF.
- DT_VERNEED = 0X6FFFFFFE, // The address of the version Dependency table.
- DT_VERNEEDNUM = 0X6FFFFFFF, // The number of entries in DT_VERNEED.
+ DT_FLAGS_1 = 0X6FFFFFFB, // Flags_1.
+ DT_VERSYM = 0x6FFFFFF0, // The address of .gnu.version section.
+ DT_VERDEF = 0X6FFFFFFC, // The address of the version definition table.
+ DT_VERDEFNUM = 0X6FFFFFFD, // The number of entries in DT_VERDEF.
+ DT_VERNEED = 0X6FFFFFFE, // The address of the version Dependency table.
+ DT_VERNEEDNUM = 0X6FFFFFFF, // The number of entries in DT_VERNEED.
// Mips specific dynamic table entry tags.
- DT_MIPS_RLD_VERSION = 0x70000001, // 32 bit version number for runtime
- // linker interface.
- DT_MIPS_TIME_STAMP = 0x70000002, // Time stamp.
- DT_MIPS_ICHECKSUM = 0x70000003, // Checksum of external strings
- // and common sizes.
- DT_MIPS_IVERSION = 0x70000004, // Index of version string
- // in string table.
- DT_MIPS_FLAGS = 0x70000005, // 32 bits of flags.
- DT_MIPS_BASE_ADDRESS = 0x70000006, // Base address of the segment.
- DT_MIPS_MSYM = 0x70000007, // Address of .msym section.
- DT_MIPS_CONFLICT = 0x70000008, // Address of .conflict section.
- DT_MIPS_LIBLIST = 0x70000009, // Address of .liblist section.
- DT_MIPS_LOCAL_GOTNO = 0x7000000a, // Number of local global offset
- // table entries.
- DT_MIPS_CONFLICTNO = 0x7000000b, // Number of entries
- // in the .conflict section.
- DT_MIPS_LIBLISTNO = 0x70000010, // Number of entries
- // in the .liblist section.
- DT_MIPS_SYMTABNO = 0x70000011, // Number of entries
- // in the .dynsym section.
- DT_MIPS_UNREFEXTNO = 0x70000012, // Index of first external dynamic symbol
- // not referenced locally.
- DT_MIPS_GOTSYM = 0x70000013, // Index of first dynamic symbol
- // in global offset table.
- DT_MIPS_HIPAGENO = 0x70000014, // Number of page table entries
- // in global offset table.
- DT_MIPS_RLD_MAP = 0x70000016, // Address of run time loader map,
- // used for debugging.
- DT_MIPS_DELTA_CLASS = 0x70000017, // Delta C++ class definition.
- DT_MIPS_DELTA_CLASS_NO = 0x70000018, // Number of entries
- // in DT_MIPS_DELTA_CLASS.
- DT_MIPS_DELTA_INSTANCE = 0x70000019, // Delta C++ class instances.
- DT_MIPS_DELTA_INSTANCE_NO = 0x7000001A, // Number of entries
- // in DT_MIPS_DELTA_INSTANCE.
- DT_MIPS_DELTA_RELOC = 0x7000001B, // Delta relocations.
- DT_MIPS_DELTA_RELOC_NO = 0x7000001C, // Number of entries
- // in DT_MIPS_DELTA_RELOC.
- DT_MIPS_DELTA_SYM = 0x7000001D, // Delta symbols that Delta
- // relocations refer to.
- DT_MIPS_DELTA_SYM_NO = 0x7000001E, // Number of entries
- // in DT_MIPS_DELTA_SYM.
- DT_MIPS_DELTA_CLASSSYM = 0x70000020, // Delta symbols that hold
- // class declarations.
- DT_MIPS_DELTA_CLASSSYM_NO = 0x70000021, // Number of entries
- // in DT_MIPS_DELTA_CLASSSYM.
- DT_MIPS_CXX_FLAGS = 0x70000022, // Flags indicating information
- // about C++ flavor.
- DT_MIPS_PIXIE_INIT = 0x70000023, // Pixie information.
- DT_MIPS_SYMBOL_LIB = 0x70000024, // Address of .MIPS.symlib
- DT_MIPS_LOCALPAGE_GOTIDX = 0x70000025, // The GOT index of the first PTE
- // for a segment
- DT_MIPS_LOCAL_GOTIDX = 0x70000026, // The GOT index of the first PTE
- // for a local symbol
- DT_MIPS_HIDDEN_GOTIDX = 0x70000027, // The GOT index of the first PTE
- // for a hidden symbol
- DT_MIPS_PROTECTED_GOTIDX = 0x70000028, // The GOT index of the first PTE
- // for a protected symbol
- DT_MIPS_OPTIONS = 0x70000029, // Address of `.MIPS.options'.
- DT_MIPS_INTERFACE = 0x7000002A, // Address of `.interface'.
- DT_MIPS_DYNSTR_ALIGN = 0x7000002B, // Unknown.
- DT_MIPS_INTERFACE_SIZE = 0x7000002C, // Size of the .interface section.
+ DT_MIPS_RLD_VERSION = 0x70000001, // 32 bit version number for runtime
+ // linker interface.
+ DT_MIPS_TIME_STAMP = 0x70000002, // Time stamp.
+ DT_MIPS_ICHECKSUM = 0x70000003, // Checksum of external strings
+ // and common sizes.
+ DT_MIPS_IVERSION = 0x70000004, // Index of version string
+ // in string table.
+ DT_MIPS_FLAGS = 0x70000005, // 32 bits of flags.
+ DT_MIPS_BASE_ADDRESS = 0x70000006, // Base address of the segment.
+ DT_MIPS_MSYM = 0x70000007, // Address of .msym section.
+ DT_MIPS_CONFLICT = 0x70000008, // Address of .conflict section.
+ DT_MIPS_LIBLIST = 0x70000009, // Address of .liblist section.
+ DT_MIPS_LOCAL_GOTNO = 0x7000000a, // Number of local global offset
+ // table entries.
+ DT_MIPS_CONFLICTNO = 0x7000000b, // Number of entries
+ // in the .conflict section.
+ DT_MIPS_LIBLISTNO = 0x70000010, // Number of entries
+ // in the .liblist section.
+ DT_MIPS_SYMTABNO = 0x70000011, // Number of entries
+ // in the .dynsym section.
+ DT_MIPS_UNREFEXTNO = 0x70000012, // Index of first external dynamic symbol
+ // not referenced locally.
+ DT_MIPS_GOTSYM = 0x70000013, // Index of first dynamic symbol
+ // in global offset table.
+ DT_MIPS_HIPAGENO = 0x70000014, // Number of page table entries
+ // in global offset table.
+ DT_MIPS_RLD_MAP = 0x70000016, // Address of run time loader map,
+ // used for debugging.
+ DT_MIPS_DELTA_CLASS = 0x70000017, // Delta C++ class definition.
+ DT_MIPS_DELTA_CLASS_NO = 0x70000018, // Number of entries
+ // in DT_MIPS_DELTA_CLASS.
+ DT_MIPS_DELTA_INSTANCE = 0x70000019, // Delta C++ class instances.
+ DT_MIPS_DELTA_INSTANCE_NO = 0x7000001A, // Number of entries
+ // in DT_MIPS_DELTA_INSTANCE.
+ DT_MIPS_DELTA_RELOC = 0x7000001B, // Delta relocations.
+ DT_MIPS_DELTA_RELOC_NO = 0x7000001C, // Number of entries
+ // in DT_MIPS_DELTA_RELOC.
+ DT_MIPS_DELTA_SYM = 0x7000001D, // Delta symbols that Delta
+ // relocations refer to.
+ DT_MIPS_DELTA_SYM_NO = 0x7000001E, // Number of entries
+ // in DT_MIPS_DELTA_SYM.
+ DT_MIPS_DELTA_CLASSSYM = 0x70000020, // Delta symbols that hold
+ // class declarations.
+ DT_MIPS_DELTA_CLASSSYM_NO = 0x70000021, // Number of entries
+ // in DT_MIPS_DELTA_CLASSSYM.
+ DT_MIPS_CXX_FLAGS = 0x70000022, // Flags indicating information
+ // about C++ flavor.
+ DT_MIPS_PIXIE_INIT = 0x70000023, // Pixie information.
+ DT_MIPS_SYMBOL_LIB = 0x70000024, // Address of .MIPS.symlib
+ DT_MIPS_LOCALPAGE_GOTIDX = 0x70000025, // The GOT index of the first PTE
+ // for a segment
+ DT_MIPS_LOCAL_GOTIDX = 0x70000026, // The GOT index of the first PTE
+ // for a local symbol
+ DT_MIPS_HIDDEN_GOTIDX = 0x70000027, // The GOT index of the first PTE
+ // for a hidden symbol
+ DT_MIPS_PROTECTED_GOTIDX = 0x70000028, // The GOT index of the first PTE
+ // for a protected symbol
+ DT_MIPS_OPTIONS = 0x70000029, // Address of `.MIPS.options'.
+ DT_MIPS_INTERFACE = 0x7000002A, // Address of `.interface'.
+ DT_MIPS_DYNSTR_ALIGN = 0x7000002B, // Unknown.
+ DT_MIPS_INTERFACE_SIZE = 0x7000002C, // Size of the .interface section.
DT_MIPS_RLD_TEXT_RESOLVE_ADDR = 0x7000002D, // Size of rld_text_resolve
// function stored in the GOT.
- DT_MIPS_PERF_SUFFIX = 0x7000002E, // Default suffix of DSO to be added
- // by rld on dlopen() calls.
- DT_MIPS_COMPACT_SIZE = 0x7000002F, // Size of compact relocation
- // section (O32).
- DT_MIPS_GP_VALUE = 0x70000030, // GP value for auxiliary GOTs.
- DT_MIPS_AUX_DYNAMIC = 0x70000031, // Address of auxiliary .dynamic.
- DT_MIPS_PLTGOT = 0x70000032, // Address of the base of the PLTGOT.
- DT_MIPS_RWPLT = 0x70000034, // Points to the base
- // of a writable PLT.
- DT_MIPS_RLD_MAP_REL = 0x70000035, // Relative offset of run time loader
- // map, used for debugging.
+ DT_MIPS_PERF_SUFFIX = 0x7000002E, // Default suffix of DSO to be added
+ // by rld on dlopen() calls.
+ DT_MIPS_COMPACT_SIZE = 0x7000002F, // Size of compact relocation
+ // section (O32).
+ DT_MIPS_GP_VALUE = 0x70000030, // GP value for auxiliary GOTs.
+ DT_MIPS_AUX_DYNAMIC = 0x70000031, // Address of auxiliary .dynamic.
+ DT_MIPS_PLTGOT = 0x70000032, // Address of the base of the PLTGOT.
+ DT_MIPS_RWPLT = 0x70000034, // Points to the base
+ // of a writable PLT.
+ DT_MIPS_RLD_MAP_REL = 0x70000035, // Relative offset of run time loader
+ // map, used for debugging.
// Sun machine-independent extensions.
- DT_AUXILIARY = 0x7FFFFFFD, // Shared object to load before self
- DT_FILTER = 0x7FFFFFFF // Shared object to get values from
+ DT_AUXILIARY = 0x7FFFFFFD, // Shared object to load before self
+ DT_FILTER = 0x7FFFFFFF // Shared object to get values from
};
// DT_FLAGS values.
enum {
- DF_ORIGIN = 0x01, // The object may reference $ORIGIN.
- DF_SYMBOLIC = 0x02, // Search the shared lib before searching the exe.
- DF_TEXTREL = 0x04, // Relocations may modify a non-writable segment.
- DF_BIND_NOW = 0x08, // Process all relocations on load.
- DF_STATIC_TLS = 0x10 // Reject attempts to load dynamically.
+ DF_ORIGIN = 0x01, // The object may reference $ORIGIN.
+ DF_SYMBOLIC = 0x02, // Search the shared lib before searching the exe.
+ DF_TEXTREL = 0x04, // Relocations may modify a non-writable segment.
+ DF_BIND_NOW = 0x08, // Process all relocations on load.
+ DF_STATIC_TLS = 0x10 // Reject attempts to load dynamically.
};
// State flags selectable in the `d_un.d_val' element of the DT_FLAGS_1 entry.
enum {
- DF_1_NOW = 0x00000001, // Set RTLD_NOW for this object.
- DF_1_GLOBAL = 0x00000002, // Set RTLD_GLOBAL for this object.
- DF_1_GROUP = 0x00000004, // Set RTLD_GROUP for this object.
- DF_1_NODELETE = 0x00000008, // Set RTLD_NODELETE for this object.
- DF_1_LOADFLTR = 0x00000010, // Trigger filtee loading at runtime.
- DF_1_INITFIRST = 0x00000020, // Set RTLD_INITFIRST for this object.
- DF_1_NOOPEN = 0x00000040, // Set RTLD_NOOPEN for this object.
- DF_1_ORIGIN = 0x00000080, // $ORIGIN must be handled.
- DF_1_DIRECT = 0x00000100, // Direct binding enabled.
- DF_1_TRANS = 0x00000200,
- DF_1_INTERPOSE = 0x00000400, // Object is used to interpose.
- DF_1_NODEFLIB = 0x00000800, // Ignore default lib search path.
- DF_1_NODUMP = 0x00001000, // Object can't be dldump'ed.
- DF_1_CONFALT = 0x00002000, // Configuration alternative created.
- DF_1_ENDFILTEE = 0x00004000, // Filtee terminates filters search.
+ DF_1_NOW = 0x00000001, // Set RTLD_NOW for this object.
+ DF_1_GLOBAL = 0x00000002, // Set RTLD_GLOBAL for this object.
+ DF_1_GROUP = 0x00000004, // Set RTLD_GROUP for this object.
+ DF_1_NODELETE = 0x00000008, // Set RTLD_NODELETE for this object.
+ DF_1_LOADFLTR = 0x00000010, // Trigger filtee loading at runtime.
+ DF_1_INITFIRST = 0x00000020, // Set RTLD_INITFIRST for this object.
+ DF_1_NOOPEN = 0x00000040, // Set RTLD_NOOPEN for this object.
+ DF_1_ORIGIN = 0x00000080, // $ORIGIN must be handled.
+ DF_1_DIRECT = 0x00000100, // Direct binding enabled.
+ DF_1_TRANS = 0x00000200,
+ DF_1_INTERPOSE = 0x00000400, // Object is used to interpose.
+ DF_1_NODEFLIB = 0x00000800, // Ignore default lib search path.
+ DF_1_NODUMP = 0x00001000, // Object can't be dldump'ed.
+ DF_1_CONFALT = 0x00002000, // Configuration alternative created.
+ DF_1_ENDFILTEE = 0x00004000, // Filtee terminates filters search.
DF_1_DISPRELDNE = 0x00008000, // Disp reloc applied at build time.
DF_1_DISPRELPND = 0x00010000, // Disp reloc applied at run-time.
- DF_1_NODIRECT = 0x00020000, // Object has no-direct binding.
- DF_1_IGNMULDEF = 0x00040000,
- DF_1_NOKSYMS = 0x00080000,
- DF_1_NOHDR = 0x00100000,
- DF_1_EDITED = 0x00200000, // Object is modified after built.
- DF_1_NORELOC = 0x00400000,
+ DF_1_NODIRECT = 0x00020000, // Object has no-direct binding.
+ DF_1_IGNMULDEF = 0x00040000,
+ DF_1_NOKSYMS = 0x00080000,
+ DF_1_NOHDR = 0x00100000,
+ DF_1_EDITED = 0x00200000, // Object is modified after built.
+ DF_1_NORELOC = 0x00400000,
DF_1_SYMINTPOSE = 0x00800000, // Object has individual interposers.
- DF_1_GLOBAUDIT = 0x01000000, // Global auditing required.
- DF_1_SINGLETON = 0x02000000 // Singleton symbols are used.
+ DF_1_GLOBAUDIT = 0x01000000, // Global auditing required.
+ DF_1_SINGLETON = 0x02000000 // Singleton symbols are used.
};
// DT_MIPS_FLAGS values.
enum {
- RHF_NONE = 0x00000000, // No flags.
- RHF_QUICKSTART = 0x00000001, // Uses shortcut pointers.
- RHF_NOTPOT = 0x00000002, // Hash size is not a power of two.
- RHS_NO_LIBRARY_REPLACEMENT = 0x00000004, // Ignore LD_LIBRARY_PATH.
- RHF_NO_MOVE = 0x00000008, // DSO address may not be relocated.
- RHF_SGI_ONLY = 0x00000010, // SGI specific features.
- RHF_GUARANTEE_INIT = 0x00000020, // Guarantee that .init will finish
- // executing before any non-init
- // code in DSO is called.
- RHF_DELTA_C_PLUS_PLUS = 0x00000040, // Contains Delta C++ code.
- RHF_GUARANTEE_START_INIT = 0x00000080, // Guarantee that .init will start
- // executing before any non-init
- // code in DSO is called.
- RHF_PIXIE = 0x00000100, // Generated by pixie.
- RHF_DEFAULT_DELAY_LOAD = 0x00000200, // Delay-load DSO by default.
- RHF_REQUICKSTART = 0x00000400, // Object may be requickstarted
- RHF_REQUICKSTARTED = 0x00000800, // Object has been requickstarted
- RHF_CORD = 0x00001000, // Generated by cord.
- RHF_NO_UNRES_UNDEF = 0x00002000, // Object contains no unresolved
- // undef symbols.
- RHF_RLD_ORDER_SAFE = 0x00004000 // Symbol table is in a safe order.
+ RHF_NONE = 0x00000000, // No flags.
+ RHF_QUICKSTART = 0x00000001, // Uses shortcut pointers.
+ RHF_NOTPOT = 0x00000002, // Hash size is not a power of two.
+ RHS_NO_LIBRARY_REPLACEMENT = 0x00000004, // Ignore LD_LIBRARY_PATH.
+ RHF_NO_MOVE = 0x00000008, // DSO address may not be relocated.
+ RHF_SGI_ONLY = 0x00000010, // SGI specific features.
+ RHF_GUARANTEE_INIT = 0x00000020, // Guarantee that .init will finish
+ // executing before any non-init
+ // code in DSO is called.
+ RHF_DELTA_C_PLUS_PLUS = 0x00000040, // Contains Delta C++ code.
+ RHF_GUARANTEE_START_INIT = 0x00000080, // Guarantee that .init will start
+ // executing before any non-init
+ // code in DSO is called.
+ RHF_PIXIE = 0x00000100, // Generated by pixie.
+ RHF_DEFAULT_DELAY_LOAD = 0x00000200, // Delay-load DSO by default.
+ RHF_REQUICKSTART = 0x00000400, // Object may be requickstarted
+ RHF_REQUICKSTARTED = 0x00000800, // Object has been requickstarted
+ RHF_CORD = 0x00001000, // Generated by cord.
+ RHF_NO_UNRES_UNDEF = 0x00002000, // Object contains no unresolved
+ // undef symbols.
+ RHF_RLD_ORDER_SAFE = 0x00004000 // Symbol table is in a safe order.
};
// ElfXX_VerDef structure version (GNU versioning)
-enum {
- VER_DEF_NONE = 0,
- VER_DEF_CURRENT = 1
-};
+enum { VER_DEF_NONE = 0, VER_DEF_CURRENT = 1 };
// VerDef Flags (ElfXX_VerDef::vd_flags)
-enum {
- VER_FLG_BASE = 0x1,
- VER_FLG_WEAK = 0x2,
- VER_FLG_INFO = 0x4
-};
+enum { VER_FLG_BASE = 0x1, VER_FLG_WEAK = 0x2, VER_FLG_INFO = 0x4 };
// Special constants for the version table. (SHT_GNU_versym/.gnu.version)
enum {
- VER_NDX_LOCAL = 0, // Unversioned local symbol
+ VER_NDX_LOCAL = 0, // Unversioned local symbol
VER_NDX_GLOBAL = 1, // Unversioned global symbol
VERSYM_VERSION = 0x7fff, // Version Index mask
- VERSYM_HIDDEN = 0x8000 // Hidden bit (non-default version)
+ VERSYM_HIDDEN = 0x8000 // Hidden bit (non-default version)
};
// ElfXX_VerNeed structure version (GNU versioning)
-enum {
- VER_NEED_NONE = 0,
- VER_NEED_CURRENT = 1
-};
+enum { VER_NEED_NONE = 0, VER_NEED_CURRENT = 1 };
// SHT_NOTE section types
enum {
diff --git a/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/AArch64.def b/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/AArch64.def
index aa0c560..c21df07 100644
--- a/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/AArch64.def
+++ b/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/AArch64.def
@@ -3,145 +3,199 @@
#error "ELF_RELOC must be defined"
#endif
-// ABI release 1.0
-ELF_RELOC(R_AARCH64_NONE, 0)
+// Based on ABI release 1.1-beta, dated 6 November 2013. NB: The cover page of
+// this document, IHI0056C_beta_aaelf64.pdf, on infocenter.arm.com, still
+// labels this as release 1.0.
+ELF_RELOC(R_AARCH64_NONE, 0)
+ELF_RELOC(R_AARCH64_ABS64, 0x101)
+ELF_RELOC(R_AARCH64_ABS32, 0x102)
+ELF_RELOC(R_AARCH64_ABS16, 0x103)
+ELF_RELOC(R_AARCH64_PREL64, 0x104)
+ELF_RELOC(R_AARCH64_PREL32, 0x105)
+ELF_RELOC(R_AARCH64_PREL16, 0x106)
+ELF_RELOC(R_AARCH64_MOVW_UABS_G0, 0x107)
+ELF_RELOC(R_AARCH64_MOVW_UABS_G0_NC, 0x108)
+ELF_RELOC(R_AARCH64_MOVW_UABS_G1, 0x109)
+ELF_RELOC(R_AARCH64_MOVW_UABS_G1_NC, 0x10a)
+ELF_RELOC(R_AARCH64_MOVW_UABS_G2, 0x10b)
+ELF_RELOC(R_AARCH64_MOVW_UABS_G2_NC, 0x10c)
+ELF_RELOC(R_AARCH64_MOVW_UABS_G3, 0x10d)
+ELF_RELOC(R_AARCH64_MOVW_SABS_G0, 0x10e)
+ELF_RELOC(R_AARCH64_MOVW_SABS_G1, 0x10f)
+ELF_RELOC(R_AARCH64_MOVW_SABS_G2, 0x110)
+ELF_RELOC(R_AARCH64_LD_PREL_LO19, 0x111)
+ELF_RELOC(R_AARCH64_ADR_PREL_LO21, 0x112)
+ELF_RELOC(R_AARCH64_ADR_PREL_PG_HI21, 0x113)
+ELF_RELOC(R_AARCH64_ADR_PREL_PG_HI21_NC, 0x114)
+ELF_RELOC(R_AARCH64_ADD_ABS_LO12_NC, 0x115)
+ELF_RELOC(R_AARCH64_LDST8_ABS_LO12_NC, 0x116)
+ELF_RELOC(R_AARCH64_TSTBR14, 0x117)
+ELF_RELOC(R_AARCH64_CONDBR19, 0x118)
+ELF_RELOC(R_AARCH64_JUMP26, 0x11a)
+ELF_RELOC(R_AARCH64_CALL26, 0x11b)
+ELF_RELOC(R_AARCH64_LDST16_ABS_LO12_NC, 0x11c)
+ELF_RELOC(R_AARCH64_LDST32_ABS_LO12_NC, 0x11d)
+ELF_RELOC(R_AARCH64_LDST64_ABS_LO12_NC, 0x11e)
+ELF_RELOC(R_AARCH64_MOVW_PREL_G0, 0x11f)
+ELF_RELOC(R_AARCH64_MOVW_PREL_G0_NC, 0x120)
+ELF_RELOC(R_AARCH64_MOVW_PREL_G1, 0x121)
+ELF_RELOC(R_AARCH64_MOVW_PREL_G1_NC, 0x122)
+ELF_RELOC(R_AARCH64_MOVW_PREL_G2, 0x123)
+ELF_RELOC(R_AARCH64_MOVW_PREL_G2_NC, 0x124)
+ELF_RELOC(R_AARCH64_MOVW_PREL_G3, 0x125)
+ELF_RELOC(R_AARCH64_LDST128_ABS_LO12_NC, 0x12b)
+ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G0, 0x12c)
+ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G0_NC, 0x12d)
+ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G1, 0x12e)
+ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G1_NC, 0x12f)
+ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G2, 0x130)
+ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G2_NC, 0x131)
+ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G3, 0x132)
+ELF_RELOC(R_AARCH64_GOTREL64, 0x133)
+ELF_RELOC(R_AARCH64_GOTREL32, 0x134)
+ELF_RELOC(R_AARCH64_GOT_LD_PREL19, 0x135)
+ELF_RELOC(R_AARCH64_LD64_GOTOFF_LO15, 0x136)
+ELF_RELOC(R_AARCH64_ADR_GOT_PAGE, 0x137)
+ELF_RELOC(R_AARCH64_LD64_GOT_LO12_NC, 0x138)
+ELF_RELOC(R_AARCH64_LD64_GOTPAGE_LO15, 0x139)
+ELF_RELOC(R_AARCH64_TLSGD_ADR_PREL21, 0x200)
+ELF_RELOC(R_AARCH64_TLSGD_ADR_PAGE21, 0x201)
+ELF_RELOC(R_AARCH64_TLSGD_ADD_LO12_NC, 0x202)
+ELF_RELOC(R_AARCH64_TLSGD_MOVW_G1, 0x203)
+ELF_RELOC(R_AARCH64_TLSGD_MOVW_G0_NC, 0x204)
+ELF_RELOC(R_AARCH64_TLSLD_ADR_PREL21, 0x205)
+ELF_RELOC(R_AARCH64_TLSLD_ADR_PAGE21, 0x206)
+ELF_RELOC(R_AARCH64_TLSLD_ADD_LO12_NC, 0x207)
+ELF_RELOC(R_AARCH64_TLSLD_MOVW_G1, 0x208)
+ELF_RELOC(R_AARCH64_TLSLD_MOVW_G0_NC, 0x209)
+ELF_RELOC(R_AARCH64_TLSLD_LD_PREL19, 0x20a)
+ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G2, 0x20b)
+ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G1, 0x20c)
+ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC, 0x20d)
+ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G0, 0x20e)
+ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC, 0x20f)
+ELF_RELOC(R_AARCH64_TLSLD_ADD_DTPREL_HI12, 0x210)
+ELF_RELOC(R_AARCH64_TLSLD_ADD_DTPREL_LO12, 0x211)
+ELF_RELOC(R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC, 0x212)
+ELF_RELOC(R_AARCH64_TLSLD_LDST8_DTPREL_LO12, 0x213)
+ELF_RELOC(R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC, 0x214)
+ELF_RELOC(R_AARCH64_TLSLD_LDST16_DTPREL_LO12, 0x215)
+ELF_RELOC(R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC, 0x216)
+ELF_RELOC(R_AARCH64_TLSLD_LDST32_DTPREL_LO12, 0x217)
+ELF_RELOC(R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC, 0x218)
+ELF_RELOC(R_AARCH64_TLSLD_LDST64_DTPREL_LO12, 0x219)
+ELF_RELOC(R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC, 0x21a)
+ELF_RELOC(R_AARCH64_TLSIE_MOVW_GOTTPREL_G1, 0x21b)
+ELF_RELOC(R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC, 0x21c)
+ELF_RELOC(R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21, 0x21d)
+ELF_RELOC(R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC, 0x21e)
+ELF_RELOC(R_AARCH64_TLSIE_LD_GOTTPREL_PREL19, 0x21f)
+ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G2, 0x220)
+ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G1, 0x221)
+ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G1_NC, 0x222)
+ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G0, 0x223)
+ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G0_NC, 0x224)
+ELF_RELOC(R_AARCH64_TLSLE_ADD_TPREL_HI12, 0x225)
+ELF_RELOC(R_AARCH64_TLSLE_ADD_TPREL_LO12, 0x226)
+ELF_RELOC(R_AARCH64_TLSLE_ADD_TPREL_LO12_NC, 0x227)
+ELF_RELOC(R_AARCH64_TLSLE_LDST8_TPREL_LO12, 0x228)
+ELF_RELOC(R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC, 0x229)
+ELF_RELOC(R_AARCH64_TLSLE_LDST16_TPREL_LO12, 0x22a)
+ELF_RELOC(R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC, 0x22b)
+ELF_RELOC(R_AARCH64_TLSLE_LDST32_TPREL_LO12, 0x22c)
+ELF_RELOC(R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC, 0x22d)
+ELF_RELOC(R_AARCH64_TLSLE_LDST64_TPREL_LO12, 0x22e)
+ELF_RELOC(R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, 0x22f)
+ELF_RELOC(R_AARCH64_TLSDESC_LD_PREL19, 0x230)
+ELF_RELOC(R_AARCH64_TLSDESC_ADR_PREL21, 0x231)
+ELF_RELOC(R_AARCH64_TLSDESC_ADR_PAGE21, 0x232)
+ELF_RELOC(R_AARCH64_TLSDESC_LD64_LO12_NC, 0x233)
+ELF_RELOC(R_AARCH64_TLSDESC_ADD_LO12_NC, 0x234)
+ELF_RELOC(R_AARCH64_TLSDESC_OFF_G1, 0x235)
+ELF_RELOC(R_AARCH64_TLSDESC_OFF_G0_NC, 0x236)
+ELF_RELOC(R_AARCH64_TLSDESC_LDR, 0x237)
+ELF_RELOC(R_AARCH64_TLSDESC_ADD, 0x238)
+ELF_RELOC(R_AARCH64_TLSDESC_CALL, 0x239)
+ELF_RELOC(R_AARCH64_TLSLE_LDST128_TPREL_LO12, 0x23a)
+ELF_RELOC(R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC, 0x23b)
+ELF_RELOC(R_AARCH64_TLSLD_LDST128_DTPREL_LO12, 0x23c)
+ELF_RELOC(R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC, 0x23d)
+ELF_RELOC(R_AARCH64_COPY, 0x400)
+ELF_RELOC(R_AARCH64_GLOB_DAT, 0x401)
+ELF_RELOC(R_AARCH64_JUMP_SLOT, 0x402)
+ELF_RELOC(R_AARCH64_RELATIVE, 0x403)
+ELF_RELOC(R_AARCH64_TLS_DTPREL64, 0x404)
+ELF_RELOC(R_AARCH64_TLS_DTPMOD64, 0x405)
+ELF_RELOC(R_AARCH64_TLS_TPREL64, 0x406)
+ELF_RELOC(R_AARCH64_TLSDESC, 0x407)
+ELF_RELOC(R_AARCH64_IRELATIVE, 0x408)
-ELF_RELOC(R_AARCH64_ABS64, 0x101)
-ELF_RELOC(R_AARCH64_ABS32, 0x102)
-ELF_RELOC(R_AARCH64_ABS16, 0x103)
-ELF_RELOC(R_AARCH64_PREL64, 0x104)
-ELF_RELOC(R_AARCH64_PREL32, 0x105)
-ELF_RELOC(R_AARCH64_PREL16, 0x106)
-
-ELF_RELOC(R_AARCH64_MOVW_UABS_G0, 0x107)
-ELF_RELOC(R_AARCH64_MOVW_UABS_G0_NC, 0x108)
-ELF_RELOC(R_AARCH64_MOVW_UABS_G1, 0x109)
-ELF_RELOC(R_AARCH64_MOVW_UABS_G1_NC, 0x10a)
-ELF_RELOC(R_AARCH64_MOVW_UABS_G2, 0x10b)
-ELF_RELOC(R_AARCH64_MOVW_UABS_G2_NC, 0x10c)
-ELF_RELOC(R_AARCH64_MOVW_UABS_G3, 0x10d)
-ELF_RELOC(R_AARCH64_MOVW_SABS_G0, 0x10e)
-ELF_RELOC(R_AARCH64_MOVW_SABS_G1, 0x10f)
-ELF_RELOC(R_AARCH64_MOVW_SABS_G2, 0x110)
-
-ELF_RELOC(R_AARCH64_LD_PREL_LO19, 0x111)
-ELF_RELOC(R_AARCH64_ADR_PREL_LO21, 0x112)
-ELF_RELOC(R_AARCH64_ADR_PREL_PG_HI21, 0x113)
-ELF_RELOC(R_AARCH64_ADR_PREL_PG_HI21_NC, 0x114)
-ELF_RELOC(R_AARCH64_ADD_ABS_LO12_NC, 0x115)
-ELF_RELOC(R_AARCH64_LDST8_ABS_LO12_NC, 0x116)
-
-ELF_RELOC(R_AARCH64_TSTBR14, 0x117)
-ELF_RELOC(R_AARCH64_CONDBR19, 0x118)
-ELF_RELOC(R_AARCH64_JUMP26, 0x11a)
-ELF_RELOC(R_AARCH64_CALL26, 0x11b)
-
-ELF_RELOC(R_AARCH64_LDST16_ABS_LO12_NC, 0x11c)
-ELF_RELOC(R_AARCH64_LDST32_ABS_LO12_NC, 0x11d)
-ELF_RELOC(R_AARCH64_LDST64_ABS_LO12_NC, 0x11e)
-
-ELF_RELOC(R_AARCH64_MOVW_PREL_G0, 0x11f)
-ELF_RELOC(R_AARCH64_MOVW_PREL_G0_NC, 0x120)
-ELF_RELOC(R_AARCH64_MOVW_PREL_G1, 0x121)
-ELF_RELOC(R_AARCH64_MOVW_PREL_G1_NC, 0x122)
-ELF_RELOC(R_AARCH64_MOVW_PREL_G2, 0x123)
-ELF_RELOC(R_AARCH64_MOVW_PREL_G2_NC, 0x124)
-ELF_RELOC(R_AARCH64_MOVW_PREL_G3, 0x125)
-
-ELF_RELOC(R_AARCH64_LDST128_ABS_LO12_NC, 0x12b)
-
-ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G0, 0x12c)
-ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G0_NC, 0x12d)
-ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G1, 0x12e)
-ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G1_NC, 0x12f)
-ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G2, 0x130)
-ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G2_NC, 0x131)
-ELF_RELOC(R_AARCH64_MOVW_GOTOFF_G3, 0x132)
-
-ELF_RELOC(R_AARCH64_GOTREL64, 0x133)
-ELF_RELOC(R_AARCH64_GOTREL32, 0x134)
-
-ELF_RELOC(R_AARCH64_GOT_LD_PREL19, 0x135)
-ELF_RELOC(R_AARCH64_LD64_GOTOFF_LO15, 0x136)
-ELF_RELOC(R_AARCH64_ADR_GOT_PAGE, 0x137)
-ELF_RELOC(R_AARCH64_LD64_GOT_LO12_NC, 0x138)
-ELF_RELOC(R_AARCH64_LD64_GOTPAGE_LO15, 0x139)
-
-ELF_RELOC(R_AARCH64_TLSGD_ADR_PREL21, 0x200)
-ELF_RELOC(R_AARCH64_TLSGD_ADR_PAGE21, 0x201)
-ELF_RELOC(R_AARCH64_TLSGD_ADD_LO12_NC, 0x202)
-ELF_RELOC(R_AARCH64_TLSGD_MOVW_G1, 0x203)
-ELF_RELOC(R_AARCH64_TLSGD_MOVW_G0_NC, 0x204)
-
-ELF_RELOC(R_AARCH64_TLSLD_ADR_PREL21, 0x205)
-ELF_RELOC(R_AARCH64_TLSLD_ADR_PAGE21, 0x206)
-ELF_RELOC(R_AARCH64_TLSLD_ADD_LO12_NC, 0x207)
-ELF_RELOC(R_AARCH64_TLSLD_MOVW_G1, 0x208)
-ELF_RELOC(R_AARCH64_TLSLD_MOVW_G0_NC, 0x209)
-ELF_RELOC(R_AARCH64_TLSLD_LD_PREL19, 0x20a)
-ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G2, 0x20b)
-ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G1, 0x20c)
-ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC, 0x20d)
-ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G0, 0x20e)
-ELF_RELOC(R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC, 0x20f)
-ELF_RELOC(R_AARCH64_TLSLD_ADD_DTPREL_HI12, 0x210)
-ELF_RELOC(R_AARCH64_TLSLD_ADD_DTPREL_LO12, 0x211)
-ELF_RELOC(R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC, 0x212)
-ELF_RELOC(R_AARCH64_TLSLD_LDST8_DTPREL_LO12, 0x213)
-ELF_RELOC(R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC, 0x214)
-ELF_RELOC(R_AARCH64_TLSLD_LDST16_DTPREL_LO12, 0x215)
-ELF_RELOC(R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC, 0x216)
-ELF_RELOC(R_AARCH64_TLSLD_LDST32_DTPREL_LO12, 0x217)
-ELF_RELOC(R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC, 0x218)
-ELF_RELOC(R_AARCH64_TLSLD_LDST64_DTPREL_LO12, 0x219)
-ELF_RELOC(R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC, 0x21a)
-
-ELF_RELOC(R_AARCH64_TLSIE_MOVW_GOTTPREL_G1, 0x21b)
-ELF_RELOC(R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC, 0x21c)
-ELF_RELOC(R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21, 0x21d)
-ELF_RELOC(R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC, 0x21e)
-ELF_RELOC(R_AARCH64_TLSIE_LD_GOTTPREL_PREL19, 0x21f)
-
-ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G2, 0x220)
-ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G1, 0x221)
-ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G1_NC, 0x222)
-ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G0, 0x223)
-ELF_RELOC(R_AARCH64_TLSLE_MOVW_TPREL_G0_NC, 0x224)
-ELF_RELOC(R_AARCH64_TLSLE_ADD_TPREL_HI12, 0x225)
-ELF_RELOC(R_AARCH64_TLSLE_ADD_TPREL_LO12, 0x226)
-ELF_RELOC(R_AARCH64_TLSLE_ADD_TPREL_LO12_NC, 0x227)
-ELF_RELOC(R_AARCH64_TLSLE_LDST8_TPREL_LO12, 0x228)
-ELF_RELOC(R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC, 0x229)
-ELF_RELOC(R_AARCH64_TLSLE_LDST16_TPREL_LO12, 0x22a)
-ELF_RELOC(R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC, 0x22b)
-ELF_RELOC(R_AARCH64_TLSLE_LDST32_TPREL_LO12, 0x22c)
-ELF_RELOC(R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC, 0x22d)
-ELF_RELOC(R_AARCH64_TLSLE_LDST64_TPREL_LO12, 0x22e)
-ELF_RELOC(R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC, 0x22f)
-
-ELF_RELOC(R_AARCH64_TLSDESC_LD_PREL19, 0x230)
-ELF_RELOC(R_AARCH64_TLSDESC_ADR_PREL21, 0x231)
-ELF_RELOC(R_AARCH64_TLSDESC_ADR_PAGE21, 0x232)
-ELF_RELOC(R_AARCH64_TLSDESC_LD64_LO12_NC, 0x233)
-ELF_RELOC(R_AARCH64_TLSDESC_ADD_LO12_NC, 0x234)
-ELF_RELOC(R_AARCH64_TLSDESC_OFF_G1, 0x235)
-ELF_RELOC(R_AARCH64_TLSDESC_OFF_G0_NC, 0x236)
-ELF_RELOC(R_AARCH64_TLSDESC_LDR, 0x237)
-ELF_RELOC(R_AARCH64_TLSDESC_ADD, 0x238)
-ELF_RELOC(R_AARCH64_TLSDESC_CALL, 0x239)
-
-ELF_RELOC(R_AARCH64_TLSLE_LDST128_TPREL_LO12, 0x23a)
-ELF_RELOC(R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC, 0x23b)
-
-ELF_RELOC(R_AARCH64_TLSLD_LDST128_DTPREL_LO12, 0x23c)
-ELF_RELOC(R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC, 0x23d)
-
-ELF_RELOC(R_AARCH64_COPY, 0x400)
-ELF_RELOC(R_AARCH64_GLOB_DAT, 0x401)
-ELF_RELOC(R_AARCH64_JUMP_SLOT, 0x402)
-ELF_RELOC(R_AARCH64_RELATIVE, 0x403)
-ELF_RELOC(R_AARCH64_TLS_DTPREL64, 0x404)
-ELF_RELOC(R_AARCH64_TLS_DTPMOD64, 0x405)
-ELF_RELOC(R_AARCH64_TLS_TPREL64, 0x406)
-ELF_RELOC(R_AARCH64_TLSDESC, 0x407)
-ELF_RELOC(R_AARCH64_IRELATIVE, 0x408)
+// ELF_RELOC(R_AARCH64_P32_NONE, 0)
+ELF_RELOC(R_AARCH64_P32_ABS32, 0x001)
+ELF_RELOC(R_AARCH64_P32_ABS16, 0x002)
+ELF_RELOC(R_AARCH64_P32_PREL32, 0x003)
+ELF_RELOC(R_AARCH64_P32_PREL16, 0x004)
+ELF_RELOC(R_AARCH64_P32_MOVW_UABS_G0, 0x005)
+ELF_RELOC(R_AARCH64_P32_MOVW_UABS_G0_NC, 0x006)
+ELF_RELOC(R_AARCH64_P32_MOVW_UABS_G1, 0x007)
+ELF_RELOC(R_AARCH64_P32_MOVW_SABS_G0, 0x008)
+ELF_RELOC(R_AARCH64_P32_LD_PREL_LO19, 0x009)
+ELF_RELOC(R_AARCH64_P32_ADR_PREL_LO21, 0x00a)
+ELF_RELOC(R_AARCH64_P32_ADR_PREL_PG_HI21, 0x00b)
+ELF_RELOC(R_AARCH64_P32_ADD_ABS_LO12_NC, 0x00c)
+ELF_RELOC(R_AARCH64_P32_LDST8_ABS_LO12_NC, 0x00d)
+ELF_RELOC(R_AARCH64_P32_TSTBR14, 0x012)
+ELF_RELOC(R_AARCH64_P32_CONDBR19, 0x013)
+ELF_RELOC(R_AARCH64_P32_JUMP26, 0x014)
+ELF_RELOC(R_AARCH64_P32_CALL26, 0x015)
+ELF_RELOC(R_AARCH64_P32_LDST16_ABS_LO12_NC, 0x00e)
+ELF_RELOC(R_AARCH64_P32_LDST32_ABS_LO12_NC, 0x00f)
+ELF_RELOC(R_AARCH64_P32_LDST64_ABS_LO12_NC, 0x010)
+ELF_RELOC(R_AARCH64_P32_MOVW_PREL_G0, 0x016)
+ELF_RELOC(R_AARCH64_P32_MOVW_PREL_G0_NC, 0x017)
+ELF_RELOC(R_AARCH64_P32_MOVW_PREL_G1, 0x018)
+ELF_RELOC(R_AARCH64_P32_LDST128_ABS_LO12_NC, 0x011)
+ELF_RELOC(R_AARCH64_P32_GOT_LD_PREL19, 0x019)
+ELF_RELOC(R_AARCH64_P32_ADR_GOT_PAGE, 0x01a)
+ELF_RELOC(R_AARCH64_P32_LD64_GOT_LO12_NC, 0x01b)
+ELF_RELOC(R_AARCH64_P32_LD32_GOTPAGE_LO14, 0x01c)
+ELF_RELOC(R_AARCH64_P32_TLSLD_MOVW_DTPREL_G1, 0x057)
+ELF_RELOC(R_AARCH64_P32_TLSLD_MOVW_DTPREL_G0, 0x058)
+ELF_RELOC(R_AARCH64_P32_TLSLD_MOVW_DTPREL_G0_NC, 0x059)
+ELF_RELOC(R_AARCH64_P32_TLSLD_ADD_DTPREL_HI12, 0x05a)
+ELF_RELOC(R_AARCH64_P32_TLSLD_ADD_DTPREL_LO12, 0x05b)
+ELF_RELOC(R_AARCH64_P32_TLSLD_ADD_DTPREL_LO12_NC, 0x05c)
+ELF_RELOC(R_AARCH64_P32_TLSLD_LDST8_DTPREL_LO12, 0x05d)
+ELF_RELOC(R_AARCH64_P32_TLSLD_LDST8_DTPREL_LO12_NC, 0x05e)
+ELF_RELOC(R_AARCH64_P32_TLSLD_LDST16_DTPREL_LO12, 0x05f)
+ELF_RELOC(R_AARCH64_P32_TLSLD_LDST16_DTPREL_LO12_NC, 0x060)
+ELF_RELOC(R_AARCH64_P32_TLSLD_LDST32_DTPREL_LO12, 0x061)
+ELF_RELOC(R_AARCH64_P32_TLSLD_LDST32_DTPREL_LO12_NC, 0x062)
+ELF_RELOC(R_AARCH64_P32_TLSLD_LDST64_DTPREL_LO12, 0x063)
+ELF_RELOC(R_AARCH64_P32_TLSLD_LDST64_DTPREL_LO12_NC, 0x064)
+ELF_RELOC(R_AARCH64_P32_TLSIE_ADR_GOTTPREL_PAGE21, 0x067)
+ELF_RELOC(R_AARCH64_P32_TLSIE_LD32_GOTTPREL_LO12_NC, 0x068)
+ELF_RELOC(R_AARCH64_P32_TLSIE_LD_GOTTPREL_PREL19, 0x069)
+ELF_RELOC(R_AARCH64_P32_TLSLE_MOVW_TPREL_G1, 0x06a)
+ELF_RELOC(R_AARCH64_P32_TLSLE_MOVW_TPREL_G0, 0x06b)
+ELF_RELOC(R_AARCH64_P32_TLSLE_MOVW_TPREL_G0_NC, 0x06c)
+ELF_RELOC(R_AARCH64_P32_TLSLE_ADD_TPREL_HI12, 0x06d)
+ELF_RELOC(R_AARCH64_P32_TLSLE_ADD_TPREL_LO12, 0x06e)
+ELF_RELOC(R_AARCH64_P32_TLSLE_ADD_TPREL_LO12_NC, 0x06f)
+ELF_RELOC(R_AARCH64_P32_TLSLE_LDST8_TPREL_LO12, 0x070)
+ELF_RELOC(R_AARCH64_P32_TLSLE_LDST8_TPREL_LO12_NC, 0x071)
+ELF_RELOC(R_AARCH64_P32_TLSLE_LDST16_TPREL_LO12, 0x072)
+ELF_RELOC(R_AARCH64_P32_TLSLE_LDST16_TPREL_LO12_NC, 0x073)
+ELF_RELOC(R_AARCH64_P32_TLSLE_LDST32_TPREL_LO12, 0x074)
+ELF_RELOC(R_AARCH64_P32_TLSLE_LDST32_TPREL_LO12_NC, 0x075)
+ELF_RELOC(R_AARCH64_P32_TLSLE_LDST64_TPREL_LO12, 0x076)
+ELF_RELOC(R_AARCH64_P32_TLSLE_LDST64_TPREL_LO12_NC, 0x077)
+ELF_RELOC(R_AARCH64_P32_TLSDESC_ADR_PAGE21, 0x051)
+ELF_RELOC(R_AARCH64_P32_TLSDESC_LD32_LO12_NC, 0x07d)
+ELF_RELOC(R_AARCH64_P32_TLSDESC_ADD_LO12_NC, 0x034)
+ELF_RELOC(R_AARCH64_P32_TLSDESC_CALL, 0x07f)
+ELF_RELOC(R_AARCH64_P32_COPY, 0x0b4)
+ELF_RELOC(R_AARCH64_P32_GLOB_DAT, 0x0b5)
+ELF_RELOC(R_AARCH64_P32_JUMP_SLOT, 0x0b6)
+ELF_RELOC(R_AARCH64_P32_RELATIVE, 0x0b7)
+ELF_RELOC(R_AARCH64_P32_IRELATIVE, 0x0bc)
diff --git a/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/AMDGPU.def b/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/AMDGPU.def
index c1e6797..c66f88d 100644
--- a/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/AMDGPU.def
+++ b/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/AMDGPU.def
@@ -2,11 +2,15 @@
#error "ELF_RELOC must be defined"
#endif
-ELF_RELOC(R_AMDGPU_NONE, 0)
-ELF_RELOC(R_AMDGPU_ABS32_LO, 1)
-ELF_RELOC(R_AMDGPU_ABS32_HI, 2)
-ELF_RELOC(R_AMDGPU_ABS64, 3)
-ELF_RELOC(R_AMDGPU_REL32, 4)
-ELF_RELOC(R_AMDGPU_REL64, 5)
-ELF_RELOC(R_AMDGPU_ABS32, 6)
-ELF_RELOC(R_AMDGPU_GOTPCREL, 7)
+ELF_RELOC(R_AMDGPU_NONE, 0)
+ELF_RELOC(R_AMDGPU_ABS32_LO, 1)
+ELF_RELOC(R_AMDGPU_ABS32_HI, 2)
+ELF_RELOC(R_AMDGPU_ABS64, 3)
+ELF_RELOC(R_AMDGPU_REL32, 4)
+ELF_RELOC(R_AMDGPU_REL64, 5)
+ELF_RELOC(R_AMDGPU_ABS32, 6)
+ELF_RELOC(R_AMDGPU_GOTPCREL, 7)
+ELF_RELOC(R_AMDGPU_GOTPCREL32_LO, 8)
+ELF_RELOC(R_AMDGPU_GOTPCREL32_HI, 9)
+ELF_RELOC(R_AMDGPU_REL32_LO, 10)
+ELF_RELOC(R_AMDGPU_REL32_HI, 11)
diff --git a/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/BPF.def b/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/BPF.def
index 868974d..5dd7f70 100644
--- a/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/BPF.def
+++ b/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/BPF.def
@@ -4,6 +4,5 @@
// No relocation
ELF_RELOC(R_BPF_NONE, 0)
-// Map index in "maps" section to file descriptor
-// within ld_64 instruction.
-ELF_RELOC(R_BPF_MAP_FD, 1)
+ELF_RELOC(R_BPF_64_64, 1)
+ELF_RELOC(R_BPF_64_32, 10)
diff --git a/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/RISCV.def b/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/RISCV.def
new file mode 100644
index 0000000..9ec4955
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/RISCV.def
@@ -0,0 +1,50 @@
+
+#ifndef ELF_RELOC
+#error "ELF_RELOC must be defined"
+#endif
+
+ELF_RELOC(R_RISCV_NONE, 0)
+ELF_RELOC(R_RISCV_32, 1)
+ELF_RELOC(R_RISCV_64, 2)
+ELF_RELOC(R_RISCV_RELATIVE, 3)
+ELF_RELOC(R_RISCV_COPY, 4)
+ELF_RELOC(R_RISCV_JUMP_SLOT, 5)
+ELF_RELOC(R_RISCV_TLS_DTPMOD32, 6)
+ELF_RELOC(R_RISCV_TLS_DTPMOD64, 7)
+ELF_RELOC(R_RISCV_TLS_DTPREL32, 8)
+ELF_RELOC(R_RISCV_TLS_DTPREL64, 9)
+ELF_RELOC(R_RISCV_TLS_TPREL32, 10)
+ELF_RELOC(R_RISCV_TLS_TPREL64, 11)
+ELF_RELOC(R_RISCV_BRANCH, 16)
+ELF_RELOC(R_RISCV_JAL, 17)
+ELF_RELOC(R_RISCV_CALL, 18)
+ELF_RELOC(R_RISCV_CALL_PLT, 19)
+ELF_RELOC(R_RISCV_GOT_HI20, 20)
+ELF_RELOC(R_RISCV_TLS_GOT_HI20, 21)
+ELF_RELOC(R_RISCV_TLS_GD_HI20, 22)
+ELF_RELOC(R_RISCV_PCREL_HI20, 23)
+ELF_RELOC(R_RISCV_PCREL_LO12_I, 24)
+ELF_RELOC(R_RISCV_PCREL_LO12_S, 25)
+ELF_RELOC(R_RISCV_HI20, 26)
+ELF_RELOC(R_RISCV_LO12_I, 27)
+ELF_RELOC(R_RISCV_LO12_S, 28)
+ELF_RELOC(R_RISCV_TPREL_HI20, 29)
+ELF_RELOC(R_RISCV_TPREL_LO12_I, 30)
+ELF_RELOC(R_RISCV_TPREL_LO12_S, 31)
+ELF_RELOC(R_RISCV_TPREL_ADD, 32)
+ELF_RELOC(R_RISCV_ADD8, 33)
+ELF_RELOC(R_RISCV_ADD16, 34)
+ELF_RELOC(R_RISCV_ADD32, 35)
+ELF_RELOC(R_RISCV_ADD64, 36)
+ELF_RELOC(R_RISCV_SUB8, 37)
+ELF_RELOC(R_RISCV_SUB16, 38)
+ELF_RELOC(R_RISCV_SUB32, 39)
+ELF_RELOC(R_RISCV_SUB64, 40)
+ELF_RELOC(R_RISCV_GNU_VTINHERIT, 41)
+ELF_RELOC(R_RISCV_GNU_VTENTRY, 42)
+ELF_RELOC(R_RISCV_ALIGN, 43)
+ELF_RELOC(R_RISCV_RVC_BRANCH, 44)
+ELF_RELOC(R_RISCV_RVC_JUMP, 45)
+ELF_RELOC(R_RISCV_RVC_LUI, 46)
+ELF_RELOC(R_RISCV_GPREL_I, 47)
+ELF_RELOC(R_RISCV_GPREL_S, 48)
diff --git a/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/SystemZ.def b/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/SystemZ.def
index 711f940..d6c0b79 100644
--- a/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/SystemZ.def
+++ b/third_party/llvm-subzero/include/llvm/Support/ELFRelocs/SystemZ.def
@@ -65,3 +65,7 @@
ELF_RELOC(R_390_GOTPLT20, 59)
ELF_RELOC(R_390_TLS_GOTIE20, 60)
ELF_RELOC(R_390_IRELATIVE, 61)
+ELF_RELOC(R_390_PC12DBL, 62)
+ELF_RELOC(R_390_PLT12DBL, 63)
+ELF_RELOC(R_390_PC24DBL, 64)
+ELF_RELOC(R_390_PLT24DBL, 65)
diff --git a/third_party/llvm-subzero/include/llvm/Support/Endian.h b/third_party/llvm-subzero/include/llvm/Support/Endian.h
index cb5cd8e..cbe3d67 100644
--- a/third_party/llvm-subzero/include/llvm/Support/Endian.h
+++ b/third_party/llvm-subzero/include/llvm/Support/Endian.h
@@ -14,7 +14,6 @@
#ifndef LLVM_SUPPORT_ENDIAN_H
#define LLVM_SUPPORT_ENDIAN_H
-#include "llvm/Support/AlignOf.h"
#include "llvm/Support/Host.h"
#include "llvm/Support/SwapByteOrder.h"
@@ -29,7 +28,7 @@
/// \brief ::value is either alignment, or alignof(T) if alignment is 0.
template<class T, int alignment>
struct PickAlignment {
- enum {value = alignment == 0 ? AlignOf<T>::Alignment : alignment};
+ enum { value = alignment == 0 ? alignof(T) : alignment };
};
} // end namespace detail
diff --git a/third_party/llvm-subzero/include/llvm/Support/Error.h b/third_party/llvm-subzero/include/llvm/Support/Error.h
index afd2660..f13c948 100644
--- a/third_party/llvm-subzero/include/llvm/Support/Error.h
+++ b/third_party/llvm-subzero/include/llvm/Support/Error.h
@@ -14,25 +14,38 @@
#ifndef LLVM_SUPPORT_ERROR_H
#define LLVM_SUPPORT_ERROR_H
-#include "llvm/ADT/PointerIntPair.h"
+#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/Twine.h"
+#include "llvm/Config/abi-breaking.h"
+#include "llvm/Support/AlignOf.h"
+#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorOr.h"
#include "llvm/Support/raw_ostream.h"
+#include <algorithm>
+#include <cassert>
+#include <cstdint>
+#include <cstdlib>
+#include <functional>
+#include <memory>
+#include <new>
+#include <string>
+#include <system_error>
+#include <type_traits>
+#include <utility>
#include <vector>
namespace llvm {
-class Error;
-class ErrorList;
+class ErrorSuccess;
/// Base class for error info classes. Do not extend this directly: Extend
/// the ErrorInfo template subclass instead.
class ErrorInfoBase {
public:
- virtual ~ErrorInfoBase() {}
+ virtual ~ErrorInfoBase() = default;
/// Print an error message to an output stream.
virtual void log(raw_ostream &OS) const = 0;
@@ -67,6 +80,7 @@
private:
virtual void anchor();
+
static char ID;
};
@@ -135,8 +149,7 @@
/// *All* Error instances must be checked before destruction, even if
/// they're moved-assigned or constructed from Success values that have already
/// been checked. This enforces checking through all levels of the call stack.
-class Error {
-
+class LLVM_NODISCARD Error {
// ErrorList needs to be able to yank ErrorInfoBase pointers out of this
// class to add to the error list.
friend class ErrorList;
@@ -147,19 +160,18 @@
// Expected<T> needs to be able to steal the payload when constructed from an
// error.
- template <typename T> class Expected;
+ template <typename T> friend class Expected;
-public:
+protected:
/// Create a success value. Prefer using 'Error::success()' for readability
- /// where possible.
- Error() {
+ Error() : Payload(nullptr) {
setPtr(nullptr);
setChecked(false);
}
- /// Create a success value. This is equivalent to calling the default
- /// constructor, but should be preferred for readability where possible.
- static Error success() { return Error(); }
+public:
+ /// Create a success value.
+ static ErrorSuccess success();
// Errors are not copy-constructable.
Error(const Error &Other) = delete;
@@ -167,7 +179,7 @@
/// Move-construct an error value. The newly constructed error is considered
/// unchecked, even if the source error had been checked. The original error
/// becomes a checked Success value, regardless of its original state.
- Error(Error &&Other) {
+ Error(Error &&Other) : Payload(nullptr) {
setChecked(true);
*this = std::move(Other);
}
@@ -223,7 +235,7 @@
private:
void assertIsChecked() {
-#ifndef NDEBUG
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
if (!getChecked() || getPtr()) {
dbgs() << "Program aborted due to an unhandled Error:\n";
if (getPtr())
@@ -238,33 +250,35 @@
}
ErrorInfoBase *getPtr() const {
-#ifndef NDEBUG
- return PayloadAndCheckedBit.getPointer();
-#else
- return Payload;
-#endif
+ return reinterpret_cast<ErrorInfoBase*>(
+ reinterpret_cast<uintptr_t>(Payload) &
+ ~static_cast<uintptr_t>(0x1));
}
void setPtr(ErrorInfoBase *EI) {
-#ifndef NDEBUG
- PayloadAndCheckedBit.setPointer(EI);
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ Payload = reinterpret_cast<ErrorInfoBase*>(
+ (reinterpret_cast<uintptr_t>(EI) &
+ ~static_cast<uintptr_t>(0x1)) |
+ (reinterpret_cast<uintptr_t>(Payload) & 0x1));
#else
Payload = EI;
#endif
}
bool getChecked() const {
-#ifndef NDEBUG
- return PayloadAndCheckedBit.getInt();
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ return (reinterpret_cast<uintptr_t>(Payload) & 0x1) == 0;
#else
return true;
#endif
}
void setChecked(bool V) {
-#ifndef NDEBUG
- PayloadAndCheckedBit.setInt(V);
-#endif
+ Payload = reinterpret_cast<ErrorInfoBase*>(
+ (reinterpret_cast<uintptr_t>(Payload) &
+ ~static_cast<uintptr_t>(0x1)) |
+ (V ? 0 : 1));
}
std::unique_ptr<ErrorInfoBase> takePayload() {
@@ -274,13 +288,16 @@
return Tmp;
}
-#ifndef NDEBUG
- PointerIntPair<ErrorInfoBase *, 1> PayloadAndCheckedBit;
-#else
ErrorInfoBase *Payload;
-#endif
};
+/// Subclass of Error for the sole purpose of identifying the success path in
+/// the type system. This allows to catch invalid conversion to Expected<T> at
+/// compile time.
+class ErrorSuccess : public Error {};
+
+inline ErrorSuccess Error::success() { return ErrorSuccess(); }
+
/// Make a Error instance representing failure using the given error info
/// type.
template <typename ErrT, typename... ArgTs> Error make_error(ArgTs &&... Args) {
@@ -309,7 +326,6 @@
/// Special ErrorInfo subclass representing a list of ErrorInfos.
/// Instances of this class are constructed by joinError.
class ErrorList final : public ErrorInfo<ErrorList> {
-
// handleErrors needs to be able to iterate the payload list of an
// ErrorList.
template <typename... HandlerTs>
@@ -595,6 +611,7 @@
if (Err)
(void)!!*Err;
}
+
~ErrorAsOutParameter() {
// Clear the checked bit.
if (Err && !*Err)
@@ -611,7 +628,7 @@
/// Error cannot be copied, this class replaces getError() with
/// takeError(). It also adds an bool errorIsA<ErrT>() method for testing the
/// error class type.
-template <class T> class Expected {
+template <class T> class LLVM_NODISCARD Expected {
template <class OtherT> friend class Expected;
static const bool isRef = std::is_reference<T>::value;
typedef ReferenceStorage<typename std::remove_reference<T>::type> wrap;
@@ -632,15 +649,20 @@
/// Create an Expected<T> error value from the given Error.
Expected(Error Err)
: HasError(true)
-#ifndef NDEBUG
- ,
- Checked(false)
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ // Expected is unchecked upon construction in Debug builds.
+ , Unchecked(true)
#endif
{
assert(Err && "Cannot create Expected<T> from Error success value.");
- new (getErrorStorage()) Error(std::move(Err));
+ new (getErrorStorage()) error_type(Err.takePayload());
}
+ /// Forbid to convert from Error::success() implicitly, this avoids having
+ /// Expected<T> foo() { return Error::success(); } which compiles otherwise
+ /// but triggers the assertion above.
+ Expected(ErrorSuccess) = delete;
+
/// Create an Expected<T> success value from the given OtherT value, which
/// must be convertible to T.
template <typename OtherT>
@@ -648,9 +670,9 @@
typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
* = nullptr)
: HasError(false)
-#ifndef NDEBUG
- ,
- Checked(false)
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ // Expected is unchecked upon construction in Debug builds.
+ , Unchecked(true)
#endif
{
new (getStorage()) storage_type(std::forward<OtherT>(Val));
@@ -695,8 +717,8 @@
/// \brief Return false if there is an error.
explicit operator bool() {
-#ifndef NDEBUG
- Checked = !HasError;
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ Unchecked = HasError;
#endif
return !HasError;
}
@@ -723,8 +745,8 @@
/// only be safely destructed. No further calls (beside the destructor) should
/// be made on the Expected<T> vaule.
Error takeError() {
-#ifndef NDEBUG
- Checked = true;
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ Unchecked = false;
#endif
return HasError ? Error(std::move(*getErrorStorage())) : Error::success();
}
@@ -766,10 +788,9 @@
template <class OtherT> void moveConstruct(Expected<OtherT> &&Other) {
HasError = Other.HasError;
-
-#ifndef NDEBUG
- Checked = false;
- Other.Checked = true;
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ Unchecked = true;
+ Other.Unchecked = false;
#endif
if (!HasError)
@@ -812,8 +833,8 @@
}
void assertIsChecked() {
-#ifndef NDEBUG
- if (!Checked) {
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ if (Unchecked) {
dbgs() << "Expected<T> must be checked before access or destruction.\n";
if (HasError) {
dbgs() << "Unchecked Expected<T> contained error:\n";
@@ -832,8 +853,8 @@
AlignedCharArrayUnion<error_type> ErrorStorage;
};
bool HasError : 1;
-#ifndef NDEBUG
- bool Checked : 1;
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+ bool Unchecked : 1;
#endif
};
@@ -844,6 +865,7 @@
/// std::error_codes.
class ECError : public ErrorInfo<ECError> {
friend Error errorCodeToError(std::error_code);
+
public:
void setErrorCode(std::error_code EC) { this->EC = EC; }
std::error_code convertToErrorCode() const override { return EC; }
@@ -855,6 +877,7 @@
protected:
ECError() = default;
ECError(std::error_code EC) : EC(EC) {}
+
std::error_code EC;
};
@@ -897,9 +920,12 @@
class StringError : public ErrorInfo<StringError> {
public:
static char ID;
+
StringError(const Twine &S, std::error_code EC);
+
void log(raw_ostream &OS) const override;
std::error_code convertToErrorCode() const override;
+
private:
std::string Msg;
std::error_code EC;
@@ -959,6 +985,6 @@
LLVM_ATTRIBUTE_NORETURN void report_fatal_error(Error Err,
bool gen_crash_diag = true);
-} // namespace llvm
+} // end namespace llvm
#endif // LLVM_SUPPORT_ERROR_H
diff --git a/third_party/llvm-subzero/include/llvm/Support/FileSystem.h b/third_party/llvm-subzero/include/llvm/Support/FileSystem.h
index 42a6180..9d8d8c3 100644
--- a/third_party/llvm-subzero/include/llvm/Support/FileSystem.h
+++ b/third_party/llvm-subzero/include/llvm/Support/FileSystem.h
@@ -31,10 +31,9 @@
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
-#include "llvm/Support/DataTypes.h"
+#include "llvm/Support/Chrono.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/ErrorOr.h"
-#include "llvm/Support/TimeValue.h"
#include <cassert>
#include <cstdint>
#include <ctime>
@@ -125,6 +124,7 @@
public:
UniqueID() = default;
UniqueID(uint64_t Device, uint64_t File) : Device(Device), File(File) {}
+
bool operator==(const UniqueID &Other) const {
return Device == Other.Device && File == Other.File;
}
@@ -132,6 +132,7 @@
bool operator<(const UniqueID &Other) const {
return std::tie(Device, File) < std::tie(Other.Device, Other.File);
}
+
uint64_t getDevice() const { return Device; }
uint64_t getFile() const { return File; }
};
@@ -209,8 +210,8 @@
// getters
file_type type() const { return Type; }
perms permissions() const { return Perms; }
- TimeValue getLastAccessedTime() const;
- TimeValue getLastModificationTime() const;
+ TimePoint<> getLastAccessedTime() const;
+ TimePoint<> getLastModificationTime() const;
UniqueID getUniqueID() const;
#if defined(LLVM_ON_UNIX)
@@ -258,10 +259,12 @@
macho_dsym_companion, ///< Mach-O dSYM companion file
macho_kext_bundle, ///< Mach-O kext bundle file
macho_universal_binary, ///< Mach-O universal binary
+ coff_cl_gl_object, ///< Microsoft cl.exe's intermediate code file
coff_object, ///< COFF object file
coff_import_library, ///< COFF import library
pecoff_executable, ///< PECOFF executable file
- windows_resource ///< Windows compiled resource file (.rc)
+ windows_resource, ///< Windows compiled resource file (.rc)
+ wasm_object ///< WebAssembly Object file
};
bool is_object() const {
@@ -339,6 +342,14 @@
/// specific error_code.
std::error_code create_link(const Twine &to, const Twine &from);
+/// Create a hard link from \a from to \a to, or return an error.
+///
+/// @param to The path to hard link to.
+/// @param from The path to hard link from. This is created.
+/// @returns errc::success if the link was created, otherwise a platform
+/// specific error_code.
+std::error_code create_hard_link(const Twine &to, const Twine &from);
+
/// @brief Get the current path.
///
/// @param result Holds the current path on return.
@@ -540,7 +551,7 @@
/// @returns errc::success if the file times were successfully set, otherwise a
/// platform-specific error_code or errc::function_not_supported on
/// platforms where the functionality isn't available.
-std::error_code setLastModificationAndAccessTime(int FD, TimeValue Time);
+std::error_code setLastModificationAndAccessTime(int FD, TimePoint<> Time);
/// @brief Is status available?
///
@@ -672,10 +683,6 @@
/// This class represents a memory mapped file. It is based on
/// boost::iostreams::mapped_file.
class mapped_file_region {
- mapped_file_region() = delete;
- mapped_file_region(mapped_file_region&) = delete;
- mapped_file_region &operator =(mapped_file_region&) = delete;
-
public:
enum mapmode {
readonly, ///< May only access map via const_data as read only.
@@ -691,6 +698,10 @@
std::error_code init(int FD, uint64_t Offset, mapmode Mode);
public:
+ mapped_file_region() = delete;
+ mapped_file_region(mapped_file_region&) = delete;
+ mapped_file_region &operator =(mapped_file_region&) = delete;
+
/// \param fd An open file descriptor to map. mapped_file_region takes
/// ownership if closefd is true. It must have been opended in the correct
/// mode.
@@ -731,7 +742,7 @@
: Path(path.str())
, Status(st) {}
- directory_entry() {}
+ directory_entry() = default;
void assign(const Twine &path, file_status st = file_status()) {
Path = path.str();
@@ -829,7 +840,7 @@
: Level(0)
, HasNoPushRequest(false) {}
- std::stack<directory_iterator, std::vector<directory_iterator> > Stack;
+ std::stack<directory_iterator, std::vector<directory_iterator>> Stack;
uint16_t Level;
bool HasNoPushRequest;
};
@@ -841,13 +852,14 @@
IntrusiveRefCntPtr<detail::RecDirIterState> State;
public:
- recursive_directory_iterator() {}
+ recursive_directory_iterator() = default;
explicit recursive_directory_iterator(const Twine &path, std::error_code &ec)
: State(new detail::RecDirIterState) {
State->Stack.push(directory_iterator(path, ec));
if (State->Stack.top() == directory_iterator())
State.reset();
}
+
// No operator++ because we need error_code.
recursive_directory_iterator &increment(std::error_code &ec) {
const directory_iterator end_itr;
diff --git a/third_party/llvm-subzero/include/llvm/Support/Format.h b/third_party/llvm-subzero/include/llvm/Support/Format.h
index d5c301c..017b497 100644
--- a/third_party/llvm-subzero/include/llvm/Support/Format.h
+++ b/third_party/llvm-subzero/include/llvm/Support/Format.h
@@ -23,6 +23,7 @@
#ifndef LLVM_SUPPORT_FORMAT_H
#define LLVM_SUPPORT_FORMAT_H
+#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/DataTypes.h"
@@ -71,10 +72,20 @@
};
/// These are templated helper classes used by the format function that
-/// capture the object to be formated and the format string. When actually
+/// capture the object to be formatted and the format string. When actually
/// printed, this synthesizes the string into a temporary buffer provided and
/// returns whether or not it is big enough.
+// Helper to validate that format() parameters are scalars or pointers.
+template <typename... Args> struct validate_format_parameters;
+template <typename Arg, typename... Args>
+struct validate_format_parameters<Arg, Args...> {
+ static_assert(std::is_scalar<Arg>::value,
+ "format can't be used with non fundamental / non pointer type");
+ validate_format_parameters() { validate_format_parameters<Args...>(); }
+};
+template <> struct validate_format_parameters<> {};
+
template <typename... Ts>
class format_object final : public format_object_base {
std::tuple<Ts...> Vals;
@@ -91,7 +102,9 @@
public:
format_object(const char *fmt, const Ts &... vals)
- : format_object_base(fmt), Vals(vals...) {}
+ : format_object_base(fmt), Vals(vals...) {
+ validate_format_parameters<Ts...>();
+ }
int snprint(char *Buffer, unsigned BufferSize) const override {
return snprint_tuple(Buffer, BufferSize, index_sequence_for<Ts...>());
@@ -190,6 +203,46 @@
return FormattedNumber(0, N, Width, false, false, false);
}
+class FormattedBytes {
+ ArrayRef<uint8_t> Bytes;
+
+ // If not None, display offsets for each line relative to starting value.
+ Optional<uint64_t> FirstByteOffset;
+ uint32_t IndentLevel; // Number of characters to indent each line.
+ uint32_t NumPerLine; // Number of bytes to show per line.
+ uint8_t ByteGroupSize; // How many hex bytes are grouped without spaces
+ bool Upper; // Show offset and hex bytes as upper case.
+ bool ASCII; // Show the ASCII bytes for the hex bytes to the right.
+ friend class raw_ostream;
+
+public:
+ FormattedBytes(ArrayRef<uint8_t> B, uint32_t IL, Optional<uint64_t> O,
+ uint32_t NPL, uint8_t BGS, bool U, bool A)
+ : Bytes(B), FirstByteOffset(O), IndentLevel(IL), NumPerLine(NPL),
+ ByteGroupSize(BGS), Upper(U), ASCII(A) {
+
+ if (ByteGroupSize > NumPerLine)
+ ByteGroupSize = NumPerLine;
+ }
+};
+
+inline FormattedBytes
+format_bytes(ArrayRef<uint8_t> Bytes, Optional<uint64_t> FirstByteOffset = None,
+ uint32_t NumPerLine = 16, uint8_t ByteGroupSize = 4,
+ uint32_t IndentLevel = 0, bool Upper = false) {
+ return FormattedBytes(Bytes, IndentLevel, FirstByteOffset, NumPerLine,
+ ByteGroupSize, Upper, false);
+}
+
+inline FormattedBytes
+format_bytes_with_ascii(ArrayRef<uint8_t> Bytes,
+ Optional<uint64_t> FirstByteOffset = None,
+ uint32_t NumPerLine = 16, uint8_t ByteGroupSize = 4,
+ uint32_t IndentLevel = 0, bool Upper = false) {
+ return FormattedBytes(Bytes, IndentLevel, FirstByteOffset, NumPerLine,
+ ByteGroupSize, Upper, true);
+}
+
} // end namespace llvm
#endif
diff --git a/third_party/llvm-subzero/include/llvm/Support/FormatCommon.h b/third_party/llvm-subzero/include/llvm/Support/FormatCommon.h
new file mode 100644
index 0000000..a8c5fde
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/Support/FormatCommon.h
@@ -0,0 +1,69 @@
+//===- FormatAdapters.h - Formatters for common LLVM types -----*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_SUPPORT_FORMATCOMMON_H
+#define LLVM_SUPPORT_FORMATCOMMON_H
+
+#include "llvm/ADT/SmallString.h"
+#include "llvm/Support/FormatVariadicDetails.h"
+#include "llvm/Support/raw_ostream.h"
+
+namespace llvm {
+enum class AlignStyle { Left, Center, Right };
+
+struct FmtAlign {
+ detail::format_adapter &Adapter;
+ AlignStyle Where;
+ size_t Amount;
+
+ FmtAlign(detail::format_adapter &Adapter, AlignStyle Where, size_t Amount)
+ : Adapter(Adapter), Where(Where), Amount(Amount) {}
+
+ void format(raw_ostream &S, StringRef Options) {
+ // If we don't need to align, we can format straight into the underlying
+ // stream. Otherwise we have to go through an intermediate stream first
+ // in order to calculate how long the output is so we can align it.
+ // TODO: Make the format method return the number of bytes written, that
+ // way we can also skip the intermediate stream for left-aligned output.
+ if (Amount == 0) {
+ Adapter.format(S, Options);
+ return;
+ }
+ SmallString<64> Item;
+ raw_svector_ostream Stream(Item);
+
+ Adapter.format(Stream, Options);
+ if (Amount <= Item.size()) {
+ S << Item;
+ return;
+ }
+
+ size_t PadAmount = Amount - Item.size();
+ switch (Where) {
+ case AlignStyle::Left:
+ S << Item;
+ S.indent(PadAmount);
+ break;
+ case AlignStyle::Center: {
+ size_t X = PadAmount / 2;
+ S.indent(X);
+ S << Item;
+ S.indent(PadAmount - X);
+ break;
+ }
+ default:
+ S.indent(PadAmount);
+ S << Item;
+ break;
+ }
+ }
+};
+}
+
+#endif
diff --git a/third_party/llvm-subzero/include/llvm/Support/FormatProviders.h b/third_party/llvm-subzero/include/llvm/Support/FormatProviders.h
new file mode 100644
index 0000000..1f0768c
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/Support/FormatProviders.h
@@ -0,0 +1,413 @@
+//===- FormatProviders.h - Formatters for common LLVM types -----*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements format providers for many common LLVM types, for example
+// allowing precision and width specifiers for scalar and string types.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_SUPPORT_FORMATPROVIDERS_H
+#define LLVM_SUPPORT_FORMATPROVIDERS_H
+
+#include "llvm/ADT/Optional.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/StringSwitch.h"
+#include "llvm/Support/FormatVariadicDetails.h"
+#include "llvm/Support/NativeFormatting.h"
+
+#include <type_traits>
+#include <vector>
+
+namespace llvm {
+namespace detail {
+template <typename T>
+struct use_integral_formatter
+ : public std::integral_constant<
+ bool, is_one_of<T, uint8_t, int16_t, uint16_t, int32_t, uint32_t,
+ int64_t, uint64_t, int, unsigned, long, unsigned long,
+ long long, unsigned long long>::value> {};
+
+template <typename T>
+struct use_char_formatter
+ : public std::integral_constant<bool, std::is_same<T, char>::value> {};
+
+template <typename T>
+struct is_cstring
+ : public std::integral_constant<bool,
+ is_one_of<T, char *, const char *>::value> {
+};
+
+template <typename T>
+struct use_string_formatter
+ : public std::integral_constant<
+ bool, is_one_of<T, llvm::StringRef, std::string>::value ||
+ is_cstring<T>::value> {};
+
+template <typename T>
+struct use_pointer_formatter
+ : public std::integral_constant<bool, std::is_pointer<T>::value &&
+ !is_cstring<T>::value> {};
+
+template <typename T>
+struct use_double_formatter
+ : public std::integral_constant<bool, std::is_floating_point<T>::value> {};
+
+class HelperFunctions {
+protected:
+ static Optional<size_t> parseNumericPrecision(StringRef Str) {
+ size_t Prec;
+ Optional<size_t> Result;
+ if (Str.empty())
+ Result = None;
+ else if (Str.getAsInteger(10, Prec)) {
+ assert(false && "Invalid precision specifier");
+ Result = None;
+ } else {
+ assert(Prec < 100 && "Precision out of range");
+ Result = std::min<size_t>(99u, Prec);
+ }
+ return Result;
+ }
+
+ static bool consumeHexStyle(StringRef &Str, HexPrintStyle &Style) {
+ if (!Str.startswith_lower("x"))
+ return false;
+
+ if (Str.consume_front("x-"))
+ Style = HexPrintStyle::Lower;
+ else if (Str.consume_front("X-"))
+ Style = HexPrintStyle::Upper;
+ else if (Str.consume_front("x+") || Str.consume_front("x"))
+ Style = HexPrintStyle::PrefixLower;
+ else if (Str.consume_front("X+") || Str.consume_front("X"))
+ Style = HexPrintStyle::PrefixUpper;
+ return true;
+ }
+
+ static size_t consumeNumHexDigits(StringRef &Str, HexPrintStyle Style,
+ size_t Default) {
+ Str.consumeInteger(10, Default);
+ if (isPrefixedHexStyle(Style))
+ Default += 2;
+ return Default;
+ }
+};
+}
+
+/// Implementation of format_provider<T> for integral arithmetic types.
+///
+/// The options string of an integral type has the grammar:
+///
+/// integer_options :: [style][digits]
+/// style :: <see table below>
+/// digits :: <non-negative integer> 0-99
+///
+/// ==========================================================================
+/// | style | Meaning | Example | Digits Meaning |
+/// --------------------------------------------------------------------------
+/// | | | Input | Output | |
+/// ==========================================================================
+/// | x- | Hex no prefix, lower | 42 | 2a | Minimum # digits |
+/// | X- | Hex no prefix, upper | 42 | 2A | Minimum # digits |
+/// | x+ / x | Hex + prefix, lower | 42 | 0x2a | Minimum # digits |
+/// | X+ / X | Hex + prefix, upper | 42 | 0x2A | Minimum # digits |
+/// | N / n | Digit grouped number | 123456 | 123,456 | Ignored |
+/// | D / d | Integer | 100000 | 100000 | Ignored |
+/// | (empty) | Same as D / d | | | |
+/// ==========================================================================
+///
+
+template <typename T>
+struct format_provider<
+ T, typename std::enable_if<detail::use_integral_formatter<T>::value>::type>
+ : public detail::HelperFunctions {
+private:
+public:
+ static void format(const T &V, llvm::raw_ostream &Stream, StringRef Style) {
+ HexPrintStyle HS;
+ size_t Digits = 0;
+ if (consumeHexStyle(Style, HS)) {
+ Digits = consumeNumHexDigits(Style, HS, 0);
+ write_hex(Stream, V, HS, Digits);
+ return;
+ }
+
+ IntegerStyle IS = IntegerStyle::Integer;
+ if (Style.consume_front("N") || Style.consume_front("n"))
+ IS = IntegerStyle::Number;
+ else if (Style.consume_front("D") || Style.consume_front("d"))
+ IS = IntegerStyle::Integer;
+
+ Style.consumeInteger(10, Digits);
+ assert(Style.empty() && "Invalid integral format style!");
+ write_integer(Stream, V, Digits, IS);
+ }
+};
+
+/// Implementation of format_provider<T> for integral pointer types.
+///
+/// The options string of a pointer type has the grammar:
+///
+/// pointer_options :: [style][precision]
+/// style :: <see table below>
+/// digits :: <non-negative integer> 0-sizeof(void*)
+///
+/// ==========================================================================
+/// | S | Meaning | Example |
+/// --------------------------------------------------------------------------
+/// | | | Input | Output |
+/// ==========================================================================
+/// | x- | Hex no prefix, lower | 0xDEADBEEF | deadbeef |
+/// | X- | Hex no prefix, upper | 0xDEADBEEF | DEADBEEF |
+/// | x+ / x | Hex + prefix, lower | 0xDEADBEEF | 0xdeadbeef |
+/// | X+ / X | Hex + prefix, upper | 0xDEADBEEF | 0xDEADBEEF |
+/// | (empty) | Same as X+ / X | | |
+/// ==========================================================================
+///
+/// The default precision is the number of nibbles in a machine word, and in all
+/// cases indicates the minimum number of nibbles to print.
+template <typename T>
+struct format_provider<
+ T, typename std::enable_if<detail::use_pointer_formatter<T>::value>::type>
+ : public detail::HelperFunctions {
+private:
+public:
+ static void format(const T &V, llvm::raw_ostream &Stream, StringRef Style) {
+ HexPrintStyle HS = HexPrintStyle::PrefixUpper;
+ consumeHexStyle(Style, HS);
+ size_t Digits = consumeNumHexDigits(Style, HS, sizeof(void *) * 2);
+ write_hex(Stream, reinterpret_cast<std::uintptr_t>(V), HS, Digits);
+ }
+};
+
+/// Implementation of format_provider<T> for c-style strings and string
+/// objects such as std::string and llvm::StringRef.
+///
+/// The options string of a string type has the grammar:
+///
+/// string_options :: [length]
+///
+/// where `length` is an optional integer specifying the maximum number of
+/// characters in the string to print. If `length` is omitted, the string is
+/// printed up to the null terminator.
+
+template <typename T>
+struct format_provider<
+ T, typename std::enable_if<detail::use_string_formatter<T>::value>::type> {
+ static void format(const T &V, llvm::raw_ostream &Stream, StringRef Style) {
+ size_t N = StringRef::npos;
+ if (!Style.empty() && Style.getAsInteger(10, N)) {
+ assert(false && "Style is not a valid integer");
+ }
+ llvm::StringRef S(V);
+ Stream << S.substr(0, N);
+ }
+};
+
+/// Implementation of format_provider<T> for characters.
+///
+/// The options string of a character type has the grammar:
+///
+/// char_options :: (empty) | [integer_options]
+///
+/// If `char_options` is empty, the character is displayed as an ASCII
+/// character. Otherwise, it is treated as an integer options string.
+///
+template <typename T>
+struct format_provider<
+ T, typename std::enable_if<detail::use_char_formatter<T>::value>::type> {
+ static void format(const char &V, llvm::raw_ostream &Stream,
+ StringRef Style) {
+ if (Style.empty())
+ Stream << V;
+ else {
+ int X = static_cast<int>(V);
+ format_provider<int>::format(X, Stream, Style);
+ }
+ }
+};
+
+/// Implementation of format_provider<T> for type `bool`
+///
+/// The options string of a boolean type has the grammar:
+///
+/// bool_options :: "" | "Y" | "y" | "D" | "d" | "T" | "t"
+///
+/// ==================================
+/// | C | Meaning |
+/// ==================================
+/// | Y | YES / NO |
+/// | y | yes / no |
+/// | D / d | Integer 0 or 1 |
+/// | T | TRUE / FALSE |
+/// | t | true / false |
+/// | (empty) | Equivalent to 't' |
+/// ==================================
+template <> struct format_provider<bool> {
+ static void format(const bool &B, llvm::raw_ostream &Stream,
+ StringRef Style) {
+ Stream << StringSwitch<const char *>(Style)
+ .Case("Y", B ? "YES" : "NO")
+ .Case("y", B ? "yes" : "no")
+ .CaseLower("D", B ? "1" : "0")
+ .Case("T", B ? "TRUE" : "FALSE")
+ .Cases("t", "", B ? "true" : "false")
+ .Default(B ? "1" : "0");
+ }
+};
+
+/// Implementation of format_provider<T> for floating point types.
+///
+/// The options string of a floating point type has the format:
+///
+/// float_options :: [style][precision]
+/// style :: <see table below>
+/// precision :: <non-negative integer> 0-99
+///
+/// =====================================================
+/// | style | Meaning | Example |
+/// -----------------------------------------------------
+/// | | | Input | Output |
+/// =====================================================
+/// | P / p | Percentage | 0.05 | 5.00% |
+/// | F / f | Fixed point | 1.0 | 1.00 |
+/// | E | Exponential with E | 100000 | 1.0E+05 |
+/// | e | Exponential with e | 100000 | 1.0e+05 |
+/// | (empty) | Same as F / f | | |
+/// =====================================================
+///
+/// The default precision is 6 for exponential (E / e) and 2 for everything
+/// else.
+
+template <typename T>
+struct format_provider<
+ T, typename std::enable_if<detail::use_double_formatter<T>::value>::type>
+ : public detail::HelperFunctions {
+ static void format(const T &V, llvm::raw_ostream &Stream, StringRef Style) {
+ FloatStyle S;
+ if (Style.consume_front("P") || Style.consume_front("p"))
+ S = FloatStyle::Percent;
+ else if (Style.consume_front("F") || Style.consume_front("f"))
+ S = FloatStyle::Fixed;
+ else if (Style.consume_front("E"))
+ S = FloatStyle::ExponentUpper;
+ else if (Style.consume_front("e"))
+ S = FloatStyle::Exponent;
+ else
+ S = FloatStyle::Fixed;
+
+ Optional<size_t> Precision = parseNumericPrecision(Style);
+ if (!Precision.hasValue())
+ Precision = getDefaultPrecision(S);
+
+ write_double(Stream, static_cast<double>(V), S, Precision);
+ }
+};
+
+namespace detail {
+template <typename IterT>
+using IterValue = typename std::iterator_traits<IterT>::value_type;
+
+template <typename IterT>
+struct range_item_has_provider
+ : public std::integral_constant<
+ bool, !uses_missing_provider<IterValue<IterT>>::value> {};
+}
+
+/// Implementation of format_provider<T> for ranges.
+///
+/// This will print an arbitrary range as a delimited sequence of items.
+///
+/// The options string of a range type has the grammar:
+///
+/// range_style ::= [separator] [element_style]
+/// separator ::= "$" delimeted_expr
+/// element_style ::= "@" delimeted_expr
+/// delimeted_expr ::= "[" expr "]" | "(" expr ")" | "<" expr ">"
+/// expr ::= <any string not containing delimeter>
+///
+/// where the separator expression is the string to insert between consecutive
+/// items in the range and the argument expression is the Style specification to
+/// be used when formatting the underlying type. The default separator if
+/// unspecified is ' ' (space). The syntax of the argument expression follows
+/// whatever grammar is dictated by the format provider or format adapter used
+/// to format the value type.
+///
+/// Note that attempting to format an `iterator_range<T>` where no format
+/// provider can be found for T will result in a compile error.
+///
+
+template <typename IterT> class format_provider<llvm::iterator_range<IterT>> {
+ using value = typename std::iterator_traits<IterT>::value_type;
+ using reference = typename std::iterator_traits<IterT>::reference;
+
+ static StringRef consumeOneOption(StringRef &Style, char Indicator,
+ StringRef Default) {
+ if (Style.empty())
+ return Default;
+ if (Style.front() != Indicator)
+ return Default;
+ Style = Style.drop_front();
+ if (Style.empty()) {
+ assert(false && "Invalid range style");
+ return Default;
+ }
+
+ std::vector<const char *> Delims = {"[]", "<>", "()"};
+ for (const char *D : Delims) {
+ if (Style.front() != D[0])
+ continue;
+ size_t End = Style.find_first_of(D[1]);
+ if (End == StringRef::npos) {
+ assert(false && "Missing range option end delimeter!");
+ return Default;
+ }
+ StringRef Result = Style.slice(1, End);
+ Style = Style.drop_front(End + 1);
+ return Result;
+ }
+ assert(false && "Invalid range style!");
+ return Default;
+ }
+
+ static std::pair<StringRef, StringRef> parseOptions(StringRef Style) {
+ StringRef Sep = consumeOneOption(Style, '$', ", ");
+ StringRef Args = consumeOneOption(Style, '@', "");
+ assert(Style.empty() && "Unexpected text in range option string!");
+ return std::make_pair(Sep, Args);
+ }
+
+public:
+ static_assert(detail::range_item_has_provider<IterT>::value,
+ "Range value_type does not have a format provider!");
+ static void format(const llvm::iterator_range<IterT> &V,
+ llvm::raw_ostream &Stream, StringRef Style) {
+ StringRef Sep;
+ StringRef ArgStyle;
+ std::tie(Sep, ArgStyle) = parseOptions(Style);
+ auto Begin = V.begin();
+ auto End = V.end();
+ if (Begin != End) {
+ auto Adapter =
+ detail::build_format_adapter(std::forward<reference>(*Begin));
+ Adapter.format(Stream, ArgStyle);
+ ++Begin;
+ }
+ while (Begin != End) {
+ Stream << Sep;
+ auto Adapter =
+ detail::build_format_adapter(std::forward<reference>(*Begin));
+ Adapter.format(Stream, ArgStyle);
+ ++Begin;
+ }
+ }
+};
+}
+
+#endif
diff --git a/third_party/llvm-subzero/include/llvm/Support/FormatVariadic.h b/third_party/llvm-subzero/include/llvm/Support/FormatVariadic.h
new file mode 100644
index 0000000..e5f5c96
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/Support/FormatVariadic.h
@@ -0,0 +1,247 @@
+//===- FormatVariadic.h - Efficient type-safe string formatting --*- C++-*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements the formatv() function which can be used with other LLVM
+// subsystems to provide printf-like formatting, but with improved safety and
+// flexibility. The result of `formatv` is an object which can be streamed to
+// a raw_ostream or converted to a std::string or llvm::SmallString.
+//
+// // Convert to std::string.
+// std::string S = formatv("{0} {1}", 1234.412, "test").str();
+//
+// // Convert to llvm::SmallString
+// SmallString<8> S = formatv("{0} {1}", 1234.412, "test").sstr<8>();
+//
+// // Stream to an existing raw_ostream.
+// OS << formatv("{0} {1}", 1234.412, "test");
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_SUPPORT_FORMATVARIADIC_H
+#define LLVM_SUPPORT_FORMATVARIADIC_H
+
+#include "llvm/ADT/Optional.h"
+#include "llvm/ADT/SmallString.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/Support/FormatCommon.h"
+#include "llvm/Support/FormatProviders.h"
+#include "llvm/Support/FormatVariadicDetails.h"
+#include "llvm/Support/raw_ostream.h"
+#include <cstddef>
+#include <string>
+#include <tuple>
+#include <utility>
+#include <vector>
+
+namespace llvm {
+
+enum class ReplacementType { Empty, Format, Literal };
+
+struct ReplacementItem {
+ ReplacementItem() = default;
+ explicit ReplacementItem(StringRef Literal)
+ : Type(ReplacementType::Literal), Spec(Literal) {}
+ ReplacementItem(StringRef Spec, size_t Index, size_t Align, AlignStyle Where,
+ char Pad, StringRef Options)
+ : Type(ReplacementType::Format), Spec(Spec), Index(Index), Align(Align),
+ Where(Where), Pad(Pad), Options(Options) {}
+
+ ReplacementType Type = ReplacementType::Empty;
+ StringRef Spec;
+ size_t Index = 0;
+ size_t Align = 0;
+ AlignStyle Where = AlignStyle::Right;
+ char Pad;
+ StringRef Options;
+};
+
+class formatv_object_base {
+protected:
+ // The parameters are stored in a std::tuple, which does not provide runtime
+ // indexing capabilities. In order to enable runtime indexing, we use this
+ // structure to put the parameters into a std::vector. Since the parameters
+ // are not all the same type, we use some type-erasure by wrapping the
+ // parameters in a template class that derives from a non-template superclass.
+ // Essentially, we are converting a std::tuple<Derived<Ts...>> to a
+ // std::vector<Base*>.
+ struct create_adapters {
+ template <typename... Ts>
+ std::vector<detail::format_adapter *> operator()(Ts &... Items) {
+ return std::vector<detail::format_adapter *>{&Items...};
+ }
+ };
+
+ StringRef Fmt;
+ std::vector<detail::format_adapter *> Adapters;
+ std::vector<ReplacementItem> Replacements;
+
+ static bool consumeFieldLayout(StringRef &Spec, AlignStyle &Where,
+ size_t &Align, char &Pad);
+
+ static std::pair<ReplacementItem, StringRef>
+ splitLiteralAndReplacement(StringRef Fmt);
+
+public:
+ formatv_object_base(StringRef Fmt, std::size_t ParamCount)
+ : Fmt(Fmt), Replacements(parseFormatString(Fmt)) {
+ Adapters.reserve(ParamCount);
+ }
+
+ void format(raw_ostream &S) const {
+ for (auto &R : Replacements) {
+ if (R.Type == ReplacementType::Empty)
+ continue;
+ if (R.Type == ReplacementType::Literal) {
+ S << R.Spec;
+ continue;
+ }
+ if (R.Index >= Adapters.size()) {
+ S << R.Spec;
+ continue;
+ }
+
+ auto W = Adapters[R.Index];
+
+ FmtAlign Align(*W, R.Where, R.Align);
+ Align.format(S, R.Options);
+ }
+ }
+ static std::vector<ReplacementItem> parseFormatString(StringRef Fmt);
+
+ static Optional<ReplacementItem> parseReplacementItem(StringRef Spec);
+
+ std::string str() const {
+ std::string Result;
+ raw_string_ostream Stream(Result);
+ Stream << *this;
+ Stream.flush();
+ return Result;
+ }
+
+ template <unsigned N> SmallString<N> sstr() const {
+ SmallString<N> Result;
+ raw_svector_ostream Stream(Result);
+ Stream << *this;
+ return Result;
+ }
+
+ template <unsigned N> operator SmallString<N>() const { return sstr<N>(); }
+
+ operator std::string() const { return str(); }
+};
+
+template <typename Tuple> class formatv_object : public formatv_object_base {
+ // Storage for the parameter adapters. Since the base class erases the type
+ // of the parameters, we have to own the storage for the parameters here, and
+ // have the base class store type-erased pointers into this tuple.
+ Tuple Parameters;
+
+public:
+ formatv_object(StringRef Fmt, Tuple &&Params)
+ : formatv_object_base(Fmt, std::tuple_size<Tuple>::value),
+ Parameters(std::move(Params)) {
+ Adapters = apply_tuple(create_adapters(), Parameters);
+ }
+};
+
+// \brief Format text given a format string and replacement parameters.
+//
+// ===General Description===
+//
+// Formats textual output. `Fmt` is a string consisting of one or more
+// replacement sequences with the following grammar:
+//
+// rep_field ::= "{" [index] ["," layout] [":" format] "}"
+// index ::= <non-negative integer>
+// layout ::= [[[char]loc]width]
+// format ::= <any string not containing "{" or "}">
+// char ::= <any character except "{" or "}">
+// loc ::= "-" | "=" | "+"
+// width ::= <positive integer>
+//
+// index - A non-negative integer specifying the index of the item in the
+// parameter pack to print. Any other value is invalid.
+// layout - A string controlling how the field is laid out within the available
+// space.
+// format - A type-dependent string used to provide additional options to
+// the formatting operation. Refer to the documentation of the
+// various individual format providers for per-type options.
+// char - The padding character. Defaults to ' ' (space). Only valid if
+// `loc` is also specified.
+// loc - Where to print the formatted text within the field. Only valid if
+// `width` is also specified.
+// '-' : The field is left aligned within the available space.
+// '=' : The field is centered within the available space.
+// '+' : The field is right aligned within the available space (this
+// is the default).
+// width - The width of the field within which to print the formatted text.
+// If this is less than the required length then the `char` and `loc`
+// fields are ignored, and the field is printed with no leading or
+// trailing padding. If this is greater than the required length,
+// then the text is output according to the value of `loc`, and padded
+// as appropriate on the left and/or right by `char`.
+//
+// ===Special Characters===
+//
+// The characters '{' and '}' are reserved and cannot appear anywhere within a
+// replacement sequence. Outside of a replacement sequence, in order to print
+// a literal '{' or '}' it must be doubled -- "{{" to print a literal '{' and
+// "}}" to print a literal '}'.
+//
+// ===Parameter Indexing===
+// `index` specifies the index of the paramter in the parameter pack to format
+// into the output. Note that it is possible to refer to the same parameter
+// index multiple times in a given format string. This makes it possible to
+// output the same value multiple times without passing it multiple times to the
+// function. For example:
+//
+// formatv("{0} {1} {0}", "a", "bb")
+//
+// would yield the string "abba". This can be convenient when it is expensive
+// to compute the value of the parameter, and you would otherwise have had to
+// save it to a temporary.
+//
+// ===Formatter Search===
+//
+// For a given parameter of type T, the following steps are executed in order
+// until a match is found:
+//
+// 1. If the parameter is of class type, and contains a method
+// void format(raw_ostream &Stream, StringRef Options)
+// Then this method is invoked to produce the formatted output. The
+// implementation should write the formatted text into `Stream`.
+// 2. If there is a suitable template specialization of format_provider<>
+// for type T containing a method whose signature is:
+// void format(const T &Obj, raw_ostream &Stream, StringRef Options)
+// Then this method is invoked as described in Step 1.
+//
+// If a match cannot be found through either of the above methods, a compiler
+// error is generated.
+//
+// ===Invalid Format String Handling===
+//
+// In the case of a format string which does not match the grammar described
+// above, the output is undefined. With asserts enabled, LLVM will trigger an
+// assertion. Otherwise, it will try to do something reasonable, but in general
+// the details of what that is are undefined.
+//
+template <typename... Ts>
+inline auto formatv(const char *Fmt, Ts &&... Vals) -> formatv_object<decltype(
+ std::make_tuple(detail::build_format_adapter(std::forward<Ts>(Vals))...))> {
+ using ParamTuple = decltype(
+ std::make_tuple(detail::build_format_adapter(std::forward<Ts>(Vals))...));
+ return formatv_object<ParamTuple>(
+ Fmt,
+ std::make_tuple(detail::build_format_adapter(std::forward<Ts>(Vals))...));
+}
+
+} // end namespace llvm
+
+#endif // LLVM_SUPPORT_FORMATVARIADIC_H
diff --git a/third_party/llvm-subzero/include/llvm/Support/FormatVariadicDetails.h b/third_party/llvm-subzero/include/llvm/Support/FormatVariadicDetails.h
new file mode 100644
index 0000000..b4a564f
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/Support/FormatVariadicDetails.h
@@ -0,0 +1,112 @@
+//===- FormatVariadicDetails.h - Helpers for FormatVariadic.h ----*- C++-*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_SUPPORT_FORMATVARIADIC_DETAILS_H
+#define LLVM_SUPPORT_FORMATVARIADIC_DETAILS_H
+
+#include "llvm/ADT/StringRef.h"
+#include "llvm/Support/raw_ostream.h"
+
+#include <type_traits>
+
+namespace llvm {
+template <typename T, typename Enable = void> struct format_provider {};
+
+namespace detail {
+class format_adapter {
+protected:
+ virtual ~format_adapter() {}
+
+public:
+ virtual void format(raw_ostream &S, StringRef Options) = 0;
+};
+
+template <typename T> class provider_format_adapter : public format_adapter {
+ T Item;
+
+public:
+ explicit provider_format_adapter(T &&Item) : Item(Item) {}
+
+ void format(llvm::raw_ostream &S, StringRef Options) override {
+ format_provider<typename std::decay<T>::type>::format(Item, S, Options);
+ }
+};
+
+template <typename T> class missing_format_adapter;
+
+// Test if format_provider<T> is defined on T and contains a member function
+// with the signature:
+// static void format(const T&, raw_stream &, StringRef);
+//
+template <class T> class has_FormatProvider {
+public:
+ using Decayed = typename std::decay<T>::type;
+ typedef void (*Signature_format)(const Decayed &, llvm::raw_ostream &,
+ StringRef);
+
+ template <typename U>
+ static char test(SameType<Signature_format, &U::format> *);
+
+ template <typename U> static double test(...);
+
+ static bool const value =
+ (sizeof(test<llvm::format_provider<Decayed>>(nullptr)) == 1);
+};
+
+// Simple template that decides whether a type T should use the member-function
+// based format() invocation.
+template <typename T>
+struct uses_format_member
+ : public std::integral_constant<
+ bool,
+ std::is_base_of<format_adapter,
+ typename std::remove_reference<T>::type>::value> {};
+
+// Simple template that decides whether a type T should use the format_provider
+// based format() invocation. The member function takes priority, so this test
+// will only be true if there is not ALSO a format member.
+template <typename T>
+struct uses_format_provider
+ : public std::integral_constant<
+ bool, !uses_format_member<T>::value && has_FormatProvider<T>::value> {
+};
+
+// Simple template that decides whether a type T has neither a member-function
+// nor format_provider based implementation that it can use. Mostly used so
+// that the compiler spits out a nice diagnostic when a type with no format
+// implementation can be located.
+template <typename T>
+struct uses_missing_provider
+ : public std::integral_constant<bool,
+ !uses_format_member<T>::value &&
+ !uses_format_provider<T>::value> {};
+
+template <typename T>
+typename std::enable_if<uses_format_member<T>::value, T>::type
+build_format_adapter(T &&Item) {
+ return std::forward<T>(Item);
+}
+
+template <typename T>
+typename std::enable_if<uses_format_provider<T>::value,
+ provider_format_adapter<T>>::type
+build_format_adapter(T &&Item) {
+ return provider_format_adapter<T>(std::forward<T>(Item));
+}
+
+template <typename T>
+typename std::enable_if<uses_missing_provider<T>::value,
+ missing_format_adapter<T>>::type
+build_format_adapter(T &&Item) {
+ return missing_format_adapter<T>();
+}
+}
+}
+
+#endif
diff --git a/third_party/llvm-subzero/include/llvm/Support/Host.h b/third_party/llvm-subzero/include/llvm/Support/Host.h
index 9e59a94..9df584c 100644
--- a/third_party/llvm-subzero/include/llvm/Support/Host.h
+++ b/third_party/llvm-subzero/include/llvm/Support/Host.h
@@ -70,6 +70,11 @@
///
/// \return - True on success.
bool getHostCPUFeatures(StringMap<bool> &Features);
+
+ /// Get the number of physical cores (as opposed to logical cores returned
+ /// from thread::hardware_concurrency(), which includes hyperthreads).
+ /// Returns -1 if unknown for the current host system.
+ int getHostNumPhysicalCores();
}
}
diff --git a/third_party/llvm-subzero/include/llvm/Support/MD5.h b/third_party/llvm-subzero/include/llvm/Support/MD5.h
index 42d8ca8..eb181bf 100644
--- a/third_party/llvm-subzero/include/llvm/Support/MD5.h
+++ b/third_party/llvm-subzero/include/llvm/Support/MD5.h
@@ -31,6 +31,7 @@
#include "llvm/ADT/SmallString.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/Endian.h"
+#include <array>
namespace llvm {
template <typename T> class ArrayRef;
@@ -62,6 +63,9 @@
/// deposited into \p Str. The result will be of length 32.
static void stringifyResult(MD5Result &Result, SmallString<32> &Str);
+ /// \brief Computes the hash for a given bytes.
+ static std::array<uint8_t, 16> hash(ArrayRef<uint8_t> Data);
+
private:
const uint8_t *body(ArrayRef<uint8_t> Data);
};
diff --git a/third_party/llvm-subzero/include/llvm/Support/MachO.def b/third_party/llvm-subzero/include/llvm/Support/MachO.def
index 9ca6440..5752289 100644
--- a/third_party/llvm-subzero/include/llvm/Support/MachO.def
+++ b/third_party/llvm-subzero/include/llvm/Support/MachO.def
@@ -15,27 +15,37 @@
HANDLE_LOAD_COMMAND(LC_SEGMENT, 0x00000001u, segment_command)
HANDLE_LOAD_COMMAND(LC_SYMTAB, 0x00000002u, symtab_command)
+// LC_SYMSEG is obsolete and no longer supported.
HANDLE_LOAD_COMMAND(LC_SYMSEG, 0x00000003u, symseg_command)
HANDLE_LOAD_COMMAND(LC_THREAD, 0x00000004u, thread_command)
HANDLE_LOAD_COMMAND(LC_UNIXTHREAD, 0x00000005u, thread_command)
+// LC_LOADFVMLIB is obsolete and no longer supported.
HANDLE_LOAD_COMMAND(LC_LOADFVMLIB, 0x00000006u, fvmlib_command)
+// LC_IDFVMLIB is obsolete and no longer supported.
HANDLE_LOAD_COMMAND(LC_IDFVMLIB, 0x00000007u, fvmlib_command)
+// LC_IDENT is obsolete and no longer supported.
HANDLE_LOAD_COMMAND(LC_IDENT, 0x00000008u, ident_command)
+// LC_FVMFILE is obsolete and no longer supported.
HANDLE_LOAD_COMMAND(LC_FVMFILE, 0x00000009u, fvmfile_command)
+// LC_PREPAGE is obsolete and no longer supported.
HANDLE_LOAD_COMMAND(LC_PREPAGE, 0x0000000Au, load_command)
HANDLE_LOAD_COMMAND(LC_DYSYMTAB, 0x0000000Bu, dysymtab_command)
HANDLE_LOAD_COMMAND(LC_LOAD_DYLIB, 0x0000000Cu, dylib_command)
HANDLE_LOAD_COMMAND(LC_ID_DYLIB, 0x0000000Du, dylib_command)
HANDLE_LOAD_COMMAND(LC_LOAD_DYLINKER, 0x0000000Eu, dylinker_command)
HANDLE_LOAD_COMMAND(LC_ID_DYLINKER, 0x0000000Fu, dylinker_command)
+// LC_PREBOUND_DYLIB is obsolete and no longer supported.
HANDLE_LOAD_COMMAND(LC_PREBOUND_DYLIB, 0x00000010u, prebound_dylib_command)
HANDLE_LOAD_COMMAND(LC_ROUTINES, 0x00000011u, routines_command)
HANDLE_LOAD_COMMAND(LC_SUB_FRAMEWORK, 0x00000012u, sub_framework_command)
HANDLE_LOAD_COMMAND(LC_SUB_UMBRELLA, 0x00000013u, sub_umbrella_command)
HANDLE_LOAD_COMMAND(LC_SUB_CLIENT, 0x00000014u, sub_client_command)
HANDLE_LOAD_COMMAND(LC_SUB_LIBRARY, 0x00000015u, sub_library_command)
+// LC_TWOLEVEL_HINTS is obsolete and no longer supported.
HANDLE_LOAD_COMMAND(LC_TWOLEVEL_HINTS, 0x00000016u, twolevel_hints_command)
+// LC_PREBIND_CKSUM is obsolete and no longer supported.
HANDLE_LOAD_COMMAND(LC_PREBIND_CKSUM, 0x00000017u, prebind_cksum_command)
+// LC_LOAD_WEAK_DYLIB is obsolete and no longer supported.
HANDLE_LOAD_COMMAND(LC_LOAD_WEAK_DYLIB, 0x80000018u, dylib_command)
HANDLE_LOAD_COMMAND(LC_SEGMENT_64, 0x00000019u, segment_command_64)
HANDLE_LOAD_COMMAND(LC_ROUTINES_64, 0x0000001Au, routines_command_64)
diff --git a/third_party/llvm-subzero/include/llvm/Support/MachO.h b/third_party/llvm-subzero/include/llvm/Support/MachO.h
index ebaaa7e..2b23c0f 100644
--- a/third_party/llvm-subzero/include/llvm/Support/MachO.h
+++ b/third_party/llvm-subzero/include/llvm/Support/MachO.h
@@ -578,6 +578,7 @@
uint32_t header_addr;
};
+ // The fvmlib_command is obsolete and no longer supported.
struct fvmlib_command {
uint32_t cmd;
uint32_t cmdsize;
@@ -621,6 +622,7 @@
uint32_t sub_library;
};
+ // The prebound_dylib_command is obsolete and no longer supported.
struct prebound_dylib_command {
uint32_t cmd;
uint32_t cmdsize;
@@ -740,6 +742,7 @@
flags:8;
};
+ // The twolevel_hints_command is obsolete and no longer supported.
struct twolevel_hints_command {
uint32_t cmd;
uint32_t cmdsize;
@@ -747,11 +750,13 @@
uint32_t nhints;
};
+ // The twolevel_hints_command is obsolete and no longer supported.
struct twolevel_hint {
uint32_t isub_image:8,
itoc:24;
};
+ // The prebind_cksum_command is obsolete and no longer supported.
struct prebind_cksum_command {
uint32_t cmd;
uint32_t cmdsize;
@@ -835,6 +840,7 @@
uint32_t count;
};
+ // The symseg_command is obsolete and no longer supported.
struct symseg_command {
uint32_t cmd;
uint32_t cmdsize;
@@ -842,11 +848,13 @@
uint32_t size;
};
+ // The ident_command is obsolete and no longer supported.
struct ident_command {
uint32_t cmd;
uint32_t cmdsize;
};
+ // The fvmfile_command is obsolete and no longer supported.
struct fvmfile_command {
uint32_t cmd;
uint32_t cmdsize;
@@ -1268,12 +1276,14 @@
sys::swapByteOrder(C);
}
+ // The prebind_cksum_command is obsolete and no longer supported.
inline void swapStruct(prebind_cksum_command &C) {
sys::swapByteOrder(C.cmd);
sys::swapByteOrder(C.cmdsize);
sys::swapByteOrder(C.cksum);
}
+ // The twolevel_hints_command is obsolete and no longer supported.
inline void swapStruct(twolevel_hints_command &C) {
sys::swapByteOrder(C.cmd);
sys::swapByteOrder(C.cmdsize);
@@ -1281,6 +1291,7 @@
sys::swapByteOrder(C.nhints);
}
+ // The prebound_dylib_command is obsolete and no longer supported.
inline void swapStruct(prebound_dylib_command &C) {
sys::swapByteOrder(C.cmd);
sys::swapByteOrder(C.cmdsize);
@@ -1289,6 +1300,7 @@
sys::swapByteOrder(C.linked_modules);
}
+ // The fvmfile_command is obsolete and no longer supported.
inline void swapStruct(fvmfile_command &C) {
sys::swapByteOrder(C.cmd);
sys::swapByteOrder(C.cmdsize);
@@ -1296,6 +1308,7 @@
sys::swapByteOrder(C.header_addr);
}
+ // The symseg_command is obsolete and no longer supported.
inline void swapStruct(symseg_command &C) {
sys::swapByteOrder(C.cmd);
sys::swapByteOrder(C.cmdsize);
@@ -1303,6 +1316,7 @@
sys::swapByteOrder(C.size);
}
+ // The ident_command is obsolete and no longer supported.
inline void swapStruct(ident_command &C) {
sys::swapByteOrder(C.cmd);
sys::swapByteOrder(C.cmdsize);
@@ -1314,6 +1328,7 @@
sys::swapByteOrder(C.header_addr);
}
+ // The fvmlib_command is obsolete and no longer supported.
inline void swapStruct(fvmlib_command &C) {
sys::swapByteOrder(C.cmd);
sys::swapByteOrder(C.cmdsize);
@@ -1710,6 +1725,204 @@
const uint32_t x86_EXCEPTION_STATE_COUNT =
sizeof(x86_exception_state_t) / sizeof(uint32_t);
+ struct arm_thread_state32_t {
+ uint32_t r[13];
+ uint32_t sp;
+ uint32_t lr;
+ uint32_t pc;
+ uint32_t cpsr;
+ };
+
+ inline void swapStruct(arm_thread_state32_t &x) {
+ for (int i = 0; i < 13; i++)
+ sys::swapByteOrder(x.r[i]);
+ sys::swapByteOrder(x.sp);
+ sys::swapByteOrder(x.lr);
+ sys::swapByteOrder(x.pc);
+ sys::swapByteOrder(x.cpsr);
+ }
+
+ struct arm_thread_state64_t {
+ uint64_t x[29];
+ uint64_t fp;
+ uint64_t lr;
+ uint64_t sp;
+ uint64_t pc;
+ uint32_t cpsr;
+ uint32_t pad;
+ };
+
+ inline void swapStruct(arm_thread_state64_t &x) {
+ for (int i = 0; i < 29; i++)
+ sys::swapByteOrder(x.x[i]);
+ sys::swapByteOrder(x.fp);
+ sys::swapByteOrder(x.lr);
+ sys::swapByteOrder(x.sp);
+ sys::swapByteOrder(x.pc);
+ sys::swapByteOrder(x.cpsr);
+ }
+
+ struct arm_state_hdr_t {
+ uint32_t flavor;
+ uint32_t count;
+ };
+
+ struct arm_thread_state_t {
+ arm_state_hdr_t tsh;
+ union {
+ arm_thread_state32_t ts32;
+ } uts;
+ };
+
+ inline void swapStruct(arm_state_hdr_t &x) {
+ sys::swapByteOrder(x.flavor);
+ sys::swapByteOrder(x.count);
+ }
+
+ enum ARMThreadFlavors {
+ ARM_THREAD_STATE = 1,
+ ARM_VFP_STATE = 2,
+ ARM_EXCEPTION_STATE = 3,
+ ARM_DEBUG_STATE = 4,
+ ARN_THREAD_STATE_NONE = 5,
+ ARM_THREAD_STATE64 = 6,
+ ARM_EXCEPTION_STATE64 = 7
+ };
+
+ inline void swapStruct(arm_thread_state_t &x) {
+ swapStruct(x.tsh);
+ if (x.tsh.flavor == ARM_THREAD_STATE)
+ swapStruct(x.uts.ts32);
+ }
+
+ const uint32_t ARM_THREAD_STATE_COUNT =
+ sizeof(arm_thread_state32_t) / sizeof(uint32_t);
+
+ const uint32_t ARM_THREAD_STATE64_COUNT =
+ sizeof(arm_thread_state64_t) / sizeof(uint32_t);
+
+ struct ppc_thread_state32_t {
+ uint32_t srr0;
+ uint32_t srr1;
+ uint32_t r0;
+ uint32_t r1;
+ uint32_t r2;
+ uint32_t r3;
+ uint32_t r4;
+ uint32_t r5;
+ uint32_t r6;
+ uint32_t r7;
+ uint32_t r8;
+ uint32_t r9;
+ uint32_t r10;
+ uint32_t r11;
+ uint32_t r12;
+ uint32_t r13;
+ uint32_t r14;
+ uint32_t r15;
+ uint32_t r16;
+ uint32_t r17;
+ uint32_t r18;
+ uint32_t r19;
+ uint32_t r20;
+ uint32_t r21;
+ uint32_t r22;
+ uint32_t r23;
+ uint32_t r24;
+ uint32_t r25;
+ uint32_t r26;
+ uint32_t r27;
+ uint32_t r28;
+ uint32_t r29;
+ uint32_t r30;
+ uint32_t r31;
+ uint32_t ct;
+ uint32_t xer;
+ uint32_t lr;
+ uint32_t ctr;
+ uint32_t mq;
+ uint32_t vrsave;
+ };
+
+ inline void swapStruct(ppc_thread_state32_t &x) {
+ sys::swapByteOrder(x.srr0);
+ sys::swapByteOrder(x.srr1);
+ sys::swapByteOrder(x.r0);
+ sys::swapByteOrder(x.r1);
+ sys::swapByteOrder(x.r2);
+ sys::swapByteOrder(x.r3);
+ sys::swapByteOrder(x.r4);
+ sys::swapByteOrder(x.r5);
+ sys::swapByteOrder(x.r6);
+ sys::swapByteOrder(x.r7);
+ sys::swapByteOrder(x.r8);
+ sys::swapByteOrder(x.r9);
+ sys::swapByteOrder(x.r10);
+ sys::swapByteOrder(x.r11);
+ sys::swapByteOrder(x.r12);
+ sys::swapByteOrder(x.r13);
+ sys::swapByteOrder(x.r14);
+ sys::swapByteOrder(x.r15);
+ sys::swapByteOrder(x.r16);
+ sys::swapByteOrder(x.r17);
+ sys::swapByteOrder(x.r18);
+ sys::swapByteOrder(x.r19);
+ sys::swapByteOrder(x.r20);
+ sys::swapByteOrder(x.r21);
+ sys::swapByteOrder(x.r22);
+ sys::swapByteOrder(x.r23);
+ sys::swapByteOrder(x.r24);
+ sys::swapByteOrder(x.r25);
+ sys::swapByteOrder(x.r26);
+ sys::swapByteOrder(x.r27);
+ sys::swapByteOrder(x.r28);
+ sys::swapByteOrder(x.r29);
+ sys::swapByteOrder(x.r30);
+ sys::swapByteOrder(x.r31);
+ sys::swapByteOrder(x.ct);
+ sys::swapByteOrder(x.xer);
+ sys::swapByteOrder(x.lr);
+ sys::swapByteOrder(x.ctr);
+ sys::swapByteOrder(x.mq);
+ sys::swapByteOrder(x.vrsave);
+ }
+
+ struct ppc_state_hdr_t {
+ uint32_t flavor;
+ uint32_t count;
+ };
+
+ struct ppc_thread_state_t {
+ ppc_state_hdr_t tsh;
+ union {
+ ppc_thread_state32_t ts32;
+ } uts;
+ };
+
+ inline void swapStruct(ppc_state_hdr_t &x) {
+ sys::swapByteOrder(x.flavor);
+ sys::swapByteOrder(x.count);
+ }
+
+ enum PPCThreadFlavors {
+ PPC_THREAD_STATE = 1,
+ PPC_FLOAT_STATE = 2,
+ PPC_EXCEPTION_STATE = 3,
+ PPC_VECTOR_STATE = 4,
+ PPC_THREAD_STATE64 = 5,
+ PPC_EXCEPTION_STATE64 = 6,
+ PPC_THREAD_STATE_NONE = 7
+ };
+
+ inline void swapStruct(ppc_thread_state_t &x) {
+ swapStruct(x.tsh);
+ if (x.tsh.flavor == PPC_THREAD_STATE)
+ swapStruct(x.uts.ts32);
+ }
+
+ const uint32_t PPC_THREAD_STATE_COUNT =
+ sizeof(ppc_thread_state32_t) / sizeof(uint32_t);
+
// Define a union of all load command structs
#define LOAD_COMMAND_STRUCT(LCStruct) LCStruct LCStruct##_data;
diff --git a/third_party/llvm-subzero/include/llvm/Support/ManagedStatic.h b/third_party/llvm-subzero/include/llvm/Support/ManagedStatic.h
index ec8154b..7ce86ee 100644
--- a/third_party/llvm-subzero/include/llvm/Support/ManagedStatic.h
+++ b/third_party/llvm-subzero/include/llvm/Support/ManagedStatic.h
@@ -46,6 +46,7 @@
mutable const ManagedStaticBase *Next;
void RegisterManagedStatic(void *(*creator)(), void (*deleter)(void*)) const;
+
public:
/// isConstructed - Return true if this object has not been created yet.
bool isConstructed() const { return Ptr != nullptr; }
@@ -89,10 +90,10 @@
/// llvm_shutdown_obj - This is a simple helper class that calls
/// llvm_shutdown() when it is destroyed.
struct llvm_shutdown_obj {
- llvm_shutdown_obj() { }
+ llvm_shutdown_obj() = default;
~llvm_shutdown_obj() { llvm_shutdown(); }
};
-}
+} // end namespace llvm
-#endif
+#endif // LLVM_SUPPORT_MANAGEDSTATIC_H
diff --git a/third_party/llvm-subzero/include/llvm/Support/MathExtras.h b/third_party/llvm-subzero/include/llvm/Support/MathExtras.h
index fdf7f27..dd83517 100644
--- a/third_party/llvm-subzero/include/llvm/Support/MathExtras.h
+++ b/third_party/llvm-subzero/include/llvm/Support/MathExtras.h
@@ -245,44 +245,40 @@
// ambiguity.
/// Hi_32 - This function returns the high 32 bits of a 64 bit value.
-LLVM_CONSTEXPR inline uint32_t Hi_32(uint64_t Value) {
+constexpr inline uint32_t Hi_32(uint64_t Value) {
return static_cast<uint32_t>(Value >> 32);
}
/// Lo_32 - This function returns the low 32 bits of a 64 bit value.
-LLVM_CONSTEXPR inline uint32_t Lo_32(uint64_t Value) {
+constexpr inline uint32_t Lo_32(uint64_t Value) {
return static_cast<uint32_t>(Value);
}
/// Make_64 - This functions makes a 64-bit integer from a high / low pair of
/// 32-bit integers.
-LLVM_CONSTEXPR inline uint64_t Make_64(uint32_t High, uint32_t Low) {
+constexpr inline uint64_t Make_64(uint32_t High, uint32_t Low) {
return ((uint64_t)High << 32) | (uint64_t)Low;
}
/// isInt - Checks if an integer fits into the given bit width.
-template<unsigned N>
-LLVM_CONSTEXPR inline bool isInt(int64_t x) {
+template <unsigned N> constexpr inline bool isInt(int64_t x) {
return N >= 64 || (-(INT64_C(1)<<(N-1)) <= x && x < (INT64_C(1)<<(N-1)));
}
// Template specializations to get better code for common cases.
-template<>
-LLVM_CONSTEXPR inline bool isInt<8>(int64_t x) {
+template <> constexpr inline bool isInt<8>(int64_t x) {
return static_cast<int8_t>(x) == x;
}
-template<>
-LLVM_CONSTEXPR inline bool isInt<16>(int64_t x) {
+template <> constexpr inline bool isInt<16>(int64_t x) {
return static_cast<int16_t>(x) == x;
}
-template<>
-LLVM_CONSTEXPR inline bool isInt<32>(int64_t x) {
+template <> constexpr inline bool isInt<32>(int64_t x) {
return static_cast<int32_t>(x) == x;
}
/// isShiftedInt<N,S> - Checks if a signed integer is an N bit number shifted
/// left by S.
-template<unsigned N, unsigned S>
-LLVM_CONSTEXPR inline bool isShiftedInt(int64_t x) {
+template <unsigned N, unsigned S>
+constexpr inline bool isShiftedInt(int64_t x) {
static_assert(
N > 0, "isShiftedInt<0> doesn't make sense (refers to a 0-bit number.");
static_assert(N + S <= 64, "isShiftedInt<N, S> with N + S > 64 is too wide.");
@@ -298,34 +294,31 @@
/// to keep MSVC from (incorrectly) warning on isUInt<64> that we're shifting
/// left too many places.
template <unsigned N>
-LLVM_CONSTEXPR inline typename std::enable_if<(N < 64), bool>::type
+constexpr inline typename std::enable_if<(N < 64), bool>::type
isUInt(uint64_t X) {
static_assert(N > 0, "isUInt<0> doesn't make sense");
return X < (UINT64_C(1) << (N));
}
template <unsigned N>
-LLVM_CONSTEXPR inline typename std::enable_if<N >= 64, bool>::type
+constexpr inline typename std::enable_if<N >= 64, bool>::type
isUInt(uint64_t X) {
return true;
}
// Template specializations to get better code for common cases.
-template<>
-LLVM_CONSTEXPR inline bool isUInt<8>(uint64_t x) {
+template <> constexpr inline bool isUInt<8>(uint64_t x) {
return static_cast<uint8_t>(x) == x;
}
-template<>
-LLVM_CONSTEXPR inline bool isUInt<16>(uint64_t x) {
+template <> constexpr inline bool isUInt<16>(uint64_t x) {
return static_cast<uint16_t>(x) == x;
}
-template<>
-LLVM_CONSTEXPR inline bool isUInt<32>(uint64_t x) {
+template <> constexpr inline bool isUInt<32>(uint64_t x) {
return static_cast<uint32_t>(x) == x;
}
/// Checks if a unsigned integer is an N bit number shifted left by S.
-template<unsigned N, unsigned S>
-LLVM_CONSTEXPR inline bool isShiftedUInt(uint64_t x) {
+template <unsigned N, unsigned S>
+constexpr inline bool isShiftedUInt(uint64_t x) {
static_assert(
N > 0, "isShiftedUInt<0> doesn't make sense (refers to a 0-bit number)");
static_assert(N + S <= 64,
@@ -377,39 +370,39 @@
/// isMask_32 - This function returns true if the argument is a non-empty
/// sequence of ones starting at the least significant bit with the remainder
/// zero (32 bit version). Ex. isMask_32(0x0000FFFFU) == true.
-LLVM_CONSTEXPR inline bool isMask_32(uint32_t Value) {
+constexpr inline bool isMask_32(uint32_t Value) {
return Value && ((Value + 1) & Value) == 0;
}
/// isMask_64 - This function returns true if the argument is a non-empty
/// sequence of ones starting at the least significant bit with the remainder
/// zero (64 bit version).
-LLVM_CONSTEXPR inline bool isMask_64(uint64_t Value) {
+constexpr inline bool isMask_64(uint64_t Value) {
return Value && ((Value + 1) & Value) == 0;
}
/// isShiftedMask_32 - This function returns true if the argument contains a
/// non-empty sequence of ones with the remainder zero (32 bit version.)
/// Ex. isShiftedMask_32(0x0000FF00U) == true.
-LLVM_CONSTEXPR inline bool isShiftedMask_32(uint32_t Value) {
+constexpr inline bool isShiftedMask_32(uint32_t Value) {
return Value && isMask_32((Value - 1) | Value);
}
/// isShiftedMask_64 - This function returns true if the argument contains a
/// non-empty sequence of ones with the remainder zero (64 bit version.)
-LLVM_CONSTEXPR inline bool isShiftedMask_64(uint64_t Value) {
+constexpr inline bool isShiftedMask_64(uint64_t Value) {
return Value && isMask_64((Value - 1) | Value);
}
/// isPowerOf2_32 - This function returns true if the argument is a power of
/// two > 0. Ex. isPowerOf2_32(0x00100000U) == true (32 bit edition.)
-LLVM_CONSTEXPR inline bool isPowerOf2_32(uint32_t Value) {
+constexpr inline bool isPowerOf2_32(uint32_t Value) {
return Value && !(Value & (Value - 1));
}
/// isPowerOf2_64 - This function returns true if the argument is a power of two
/// > 0 (64 bit edition.)
-LLVM_CONSTEXPR inline bool isPowerOf2_64(uint64_t Value) {
+constexpr inline bool isPowerOf2_64(uint64_t Value) {
return Value && !(Value & (Value - int64_t(1L)));
}
@@ -601,7 +594,7 @@
/// MinAlign - A and B are either alignments or offsets. Return the minimum
/// alignment that may be assumed after adding the two together.
-LLVM_CONSTEXPR inline uint64_t MinAlign(uint64_t A, uint64_t B) {
+constexpr inline uint64_t MinAlign(uint64_t A, uint64_t B) {
// The largest power of 2 that divides both A and B.
//
// Replace "-Value" by "1+~Value" in the following commented code to avoid
@@ -648,6 +641,14 @@
return 1ull << (63 - countLeadingZeros(A, ZB_Undefined));
}
+/// Returns the power of two which is greater than or equal to the given value.
+/// Essentially, it is a ceil operation across the domain of powers of two.
+inline uint64_t PowerOf2Ceil(uint64_t A) {
+ if (!A)
+ return 0;
+ return NextPowerOf2(A - 1);
+}
+
/// Returns the next integer (mod 2**64) that is greater than or equal to
/// \p Value and is a multiple of \p Align. \p Align must be non-zero.
///
@@ -676,8 +677,7 @@
/// Returns the next integer (mod 2**64) that is greater than or equal to
/// \p Value and is a multiple of \c Align. \c Align must be non-zero.
-template <uint64_t Align>
-LLVM_CONSTEXPR inline uint64_t alignTo(uint64_t Value) {
+template <uint64_t Align> constexpr inline uint64_t alignTo(uint64_t Value) {
static_assert(Align != 0u, "Align must be non-zero");
return (Value + Align - 1) / Align * Align;
}
@@ -685,7 +685,7 @@
/// \c alignTo for contexts where a constant expression is required.
/// \sa alignTo
///
-/// \todo FIXME: remove when \c LLVM_CONSTEXPR becomes really \c constexpr
+/// \todo FIXME: remove when \c constexpr becomes really \c constexpr
template <uint64_t Align>
struct AlignTo {
static_assert(Align != 0u, "Align must be non-zero");
@@ -712,7 +712,7 @@
/// Sign-extend the number in the bottom B bits of X to a 32-bit integer.
/// Requires 0 < B <= 32.
-template <unsigned B> LLVM_CONSTEXPR inline int32_t SignExtend32(uint32_t X) {
+template <unsigned B> constexpr inline int32_t SignExtend32(uint32_t X) {
static_assert(B > 0, "Bit width can't be 0.");
static_assert(B <= 32, "Bit width out of range.");
return int32_t(X << (32 - B)) >> (32 - B);
@@ -728,7 +728,7 @@
/// Sign-extend the number in the bottom B bits of X to a 64-bit integer.
/// Requires 0 < B < 64.
-template <unsigned B> LLVM_CONSTEXPR inline int64_t SignExtend64(uint64_t x) {
+template <unsigned B> constexpr inline int64_t SignExtend64(uint64_t x) {
static_assert(B > 0, "Bit width can't be 0.");
static_assert(B <= 64, "Bit width out of range.");
return int64_t(x << (64 - B)) >> (64 - B);
diff --git a/third_party/llvm-subzero/include/llvm/Support/MemoryBuffer.h b/third_party/llvm-subzero/include/llvm/Support/MemoryBuffer.h
index 73d6435..f739d19 100644
--- a/third_party/llvm-subzero/include/llvm/Support/MemoryBuffer.h
+++ b/third_party/llvm-subzero/include/llvm/Support/MemoryBuffer.h
@@ -14,13 +14,17 @@
#ifndef LLVM_SUPPORT_MEMORYBUFFER_H
#define LLVM_SUPPORT_MEMORYBUFFER_H
+#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/CBindingWrapping.h"
-#include "llvm/Support/DataTypes.h"
#include "llvm/Support/ErrorOr.h"
+#include "llvm-c/Types.h"
#include <memory>
+#include <cstddef>
+#include <cstdint>
namespace llvm {
+
class MemoryBufferRef;
/// This interface provides simple read-only access to a block of memory, and
@@ -37,13 +41,15 @@
const char *BufferStart; // Start of the buffer.
const char *BufferEnd; // End of the buffer.
- MemoryBuffer(const MemoryBuffer &) = delete;
- MemoryBuffer &operator=(const MemoryBuffer &) = delete;
+
protected:
- MemoryBuffer() {}
+ MemoryBuffer() = default;
+
void init(const char *BufStart, const char *BufEnd,
bool RequiresNullTerminator);
public:
+ MemoryBuffer(const MemoryBuffer &) = delete;
+ MemoryBuffer &operator=(const MemoryBuffer &) = delete;
virtual ~MemoryBuffer();
const char *getBufferStart() const { return BufferStart; }
@@ -56,9 +62,7 @@
/// Return an identifier for this buffer, typically the filename it was read
/// from.
- virtual const char *getBufferIdentifier() const {
- return "Unknown buffer";
- }
+ virtual StringRef getBufferIdentifier() const { return "Unknown buffer"; }
/// Open the specified file as a MemoryBuffer, returning a new MemoryBuffer
/// if successful, otherwise returning null. If FileSize is specified, this
@@ -72,6 +76,12 @@
getFile(const Twine &Filename, int64_t FileSize = -1,
bool RequiresNullTerminator = true, bool IsVolatileSize = false);
+ /// Read all of the specified file into a MemoryBuffer as a stream
+ /// (i.e. until EOF reached). This is useful for special files that
+ /// look like a regular file but have 0 size (e.g. /proc/cpuinfo on Linux).
+ static ErrorOr<std::unique_ptr<MemoryBuffer>>
+ getFileAsStream(const Twine &Filename);
+
/// Given an already-open file descriptor, map some slice of it into a
/// MemoryBuffer. The slice is specified by an \p Offset and \p MapSize.
/// Since this is in the middle of a file, the buffer is not null terminated.
@@ -150,7 +160,7 @@
StringRef Identifier;
public:
- MemoryBufferRef() {}
+ MemoryBufferRef() = default;
MemoryBufferRef(MemoryBuffer& Buffer)
: Buffer(Buffer.getBuffer()), Identifier(Buffer.getBufferIdentifier()) {}
MemoryBufferRef(StringRef Buffer, StringRef Identifier)
@@ -170,4 +180,4 @@
} // end namespace llvm
-#endif
+#endif // LLVM_SUPPORT_MEMORYBUFFER_H
diff --git a/third_party/llvm-subzero/include/llvm/Support/NativeFormatting.h b/third_party/llvm-subzero/include/llvm/Support/NativeFormatting.h
new file mode 100644
index 0000000..bd4a0c9
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/Support/NativeFormatting.h
@@ -0,0 +1,48 @@
+//===- NativeFormatting.h - Low level formatting helpers ---------*- C++-*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_SUPPORT_NATIVE_FORMATTING_H
+#define LLVM_SUPPORT_NATIVE_FORMATTING_H
+
+#include "llvm/ADT/Optional.h"
+#include "llvm/Support/raw_ostream.h"
+
+#include <cstdint>
+
+namespace llvm {
+enum class FloatStyle { Exponent, ExponentUpper, Fixed, Percent };
+enum class IntegerStyle {
+ Integer,
+ Number,
+};
+enum class HexPrintStyle { Upper, Lower, PrefixUpper, PrefixLower };
+
+size_t getDefaultPrecision(FloatStyle Style);
+
+bool isPrefixedHexStyle(HexPrintStyle S);
+
+void write_integer(raw_ostream &S, unsigned int N, size_t MinDigits,
+ IntegerStyle Style);
+void write_integer(raw_ostream &S, int N, size_t MinDigits, IntegerStyle Style);
+void write_integer(raw_ostream &S, unsigned long N, size_t MinDigits,
+ IntegerStyle Style);
+void write_integer(raw_ostream &S, long N, size_t MinDigits,
+ IntegerStyle Style);
+void write_integer(raw_ostream &S, unsigned long long N, size_t MinDigits,
+ IntegerStyle Style);
+void write_integer(raw_ostream &S, long long N, size_t MinDigits,
+ IntegerStyle Style);
+
+void write_hex(raw_ostream &S, uint64_t N, HexPrintStyle Style,
+ Optional<size_t> Width = None);
+void write_double(raw_ostream &S, double D, FloatStyle Style,
+ Optional<size_t> Precision = None);
+}
+
+#endif
\ No newline at end of file
diff --git a/third_party/llvm-subzero/include/llvm/Support/Options.h b/third_party/llvm-subzero/include/llvm/Support/Options.h
index 7b61b23..9019804 100644
--- a/third_party/llvm-subzero/include/llvm/Support/Options.h
+++ b/third_party/llvm-subzero/include/llvm/Support/Options.h
@@ -93,7 +93,7 @@
/// option stores (\p ValT), the class that will read the option (\p Base),
/// and the member that the class will store the data into (\p Mem).
template <typename ValT, typename Base, ValT(Base::*Mem)>
- static void registerOption(const char *ArgStr, const char *Desc,
+ static void registerOption(StringRef ArgStr, StringRef Desc,
const ValT &InitValue) {
cl::opt<ValT> *Option = new cl::opt<ValT>(ArgStr, cl::desc(Desc),
cl::Hidden, cl::init(InitValue));
diff --git a/third_party/llvm-subzero/include/llvm/Support/Path.h b/third_party/llvm-subzero/include/llvm/Support/Path.h
index 853f099..0513350 100644
--- a/third_party/llvm-subzero/include/llvm/Support/Path.h
+++ b/third_party/llvm-subzero/include/llvm/Support/Path.h
@@ -445,7 +445,8 @@
/// @brief In-place remove any './' and optionally '../' components from a path.
///
/// @param path processed path
-/// @param remove_dot_dot specify if '../' should be removed
+/// @param remove_dot_dot specify if '../' (except for leading "../") should be
+/// removed
/// @result True if path was changed
bool remove_dots(SmallVectorImpl<char> &path, bool remove_dot_dot = false);
diff --git a/third_party/llvm-subzero/include/llvm/Support/PointerLikeTypeTraits.h b/third_party/llvm-subzero/include/llvm/Support/PointerLikeTypeTraits.h
index 96cdaed..9ff894e 100644
--- a/third_party/llvm-subzero/include/llvm/Support/PointerLikeTypeTraits.h
+++ b/third_party/llvm-subzero/include/llvm/Support/PointerLikeTypeTraits.h
@@ -15,8 +15,8 @@
#ifndef LLVM_SUPPORT_POINTERLIKETYPETRAITS_H
#define LLVM_SUPPORT_POINTERLIKETYPETRAITS_H
-#include "llvm/Support/AlignOf.h"
#include "llvm/Support/DataTypes.h"
+#include <type_traits>
namespace llvm {
@@ -42,9 +42,7 @@
static inline void *getAsVoidPointer(T *P) { return P; }
static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
- enum {
- NumLowBitsAvailable = detail::ConstantLog2<AlignOf<T>::Alignment>::value
- };
+ enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
};
template <> class PointerLikeTypeTraits<void *> {
diff --git a/third_party/llvm-subzero/include/llvm/Support/Process.h b/third_party/llvm-subzero/include/llvm/Support/Process.h
index 06fd0af..780c7e2 100644
--- a/third_party/llvm-subzero/include/llvm/Support/Process.h
+++ b/third_party/llvm-subzero/include/llvm/Support/Process.h
@@ -28,8 +28,8 @@
#include "llvm/ADT/Optional.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/Allocator.h"
+#include "llvm/Support/Chrono.h"
#include "llvm/Support/DataTypes.h"
-#include "llvm/Support/TimeValue.h"
#include <system_error>
namespace llvm {
@@ -55,13 +55,14 @@
/// This static function will set \p user_time to the amount of CPU time
/// spent in user (non-kernel) mode and \p sys_time to the amount of CPU
/// time spent in system (kernel) mode. If the operating system does not
- /// support collection of these metrics, a zero TimeValue will be for both
+ /// support collection of these metrics, a zero duration will be for both
/// values.
- /// \param elapsed Returns the TimeValue::now() giving current time
+ /// \param elapsed Returns the system_clock::now() giving current time
/// \param user_time Returns the current amount of user time for the process
/// \param sys_time Returns the current amount of system time for the process
- static void GetTimeUsage(TimeValue &elapsed, TimeValue &user_time,
- TimeValue &sys_time);
+ static void GetTimeUsage(TimePoint<> &elapsed,
+ std::chrono::nanoseconds &user_time,
+ std::chrono::nanoseconds &sys_time);
/// This function makes the necessary calls to the operating system to
/// prevent core files or any other kind of large memory dumps that can
diff --git a/third_party/llvm-subzero/include/llvm/Support/Regex.h b/third_party/llvm-subzero/include/llvm/Support/Regex.h
new file mode 100644
index 0000000..83db803
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/Support/Regex.h
@@ -0,0 +1,102 @@
+//===-- Regex.h - Regular Expression matcher implementation -*- C++ -*-----===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements a POSIX regular expression matcher. Both Basic and
+// Extended POSIX regular expressions (ERE) are supported. EREs were extended
+// to support backreferences in matches.
+// This implementation also supports matching strings with embedded NUL chars.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_SUPPORT_REGEX_H
+#define LLVM_SUPPORT_REGEX_H
+
+#include <string>
+
+struct llvm_regex;
+
+namespace llvm {
+ class StringRef;
+ template<typename T> class SmallVectorImpl;
+
+ class Regex {
+ public:
+ enum {
+ NoFlags=0,
+ /// Compile for matching that ignores upper/lower case distinctions.
+ IgnoreCase=1,
+ /// Compile for newline-sensitive matching. With this flag '[^' bracket
+ /// expressions and '.' never match newline. A ^ anchor matches the
+ /// null string after any newline in the string in addition to its normal
+ /// function, and the $ anchor matches the null string before any
+ /// newline in the string in addition to its normal function.
+ Newline=2,
+ /// By default, the POSIX extended regular expression (ERE) syntax is
+ /// assumed. Pass this flag to turn on basic regular expressions (BRE)
+ /// instead.
+ BasicRegex=4
+ };
+
+ Regex();
+ /// Compiles the given regular expression \p Regex.
+ Regex(StringRef Regex, unsigned Flags = NoFlags);
+ Regex(const Regex &) = delete;
+ Regex &operator=(Regex regex) {
+ std::swap(preg, regex.preg);
+ std::swap(error, regex.error);
+ return *this;
+ }
+ Regex(Regex &®ex);
+ ~Regex();
+
+ /// isValid - returns the error encountered during regex compilation, or
+ /// matching, if any.
+ bool isValid(std::string &Error);
+
+ /// getNumMatches - In a valid regex, return the number of parenthesized
+ /// matches it contains. The number filled in by match will include this
+ /// many entries plus one for the whole regex (as element 0).
+ unsigned getNumMatches() const;
+
+ /// matches - Match the regex against a given \p String.
+ ///
+ /// \param Matches - If given, on a successful match this will be filled in
+ /// with references to the matched group expressions (inside \p String),
+ /// the first group is always the entire pattern.
+ ///
+ /// This returns true on a successful match.
+ bool match(StringRef String, SmallVectorImpl<StringRef> *Matches = nullptr);
+
+ /// sub - Return the result of replacing the first match of the regex in
+ /// \p String with the \p Repl string. Backreferences like "\0" in the
+ /// replacement string are replaced with the appropriate match substring.
+ ///
+ /// Note that the replacement string has backslash escaping performed on
+ /// it. Invalid backreferences are ignored (replaced by empty strings).
+ ///
+ /// \param Error If non-null, any errors in the substitution (invalid
+ /// backreferences, trailing backslashes) will be recorded as a non-empty
+ /// string.
+ std::string sub(StringRef Repl, StringRef String,
+ std::string *Error = nullptr);
+
+ /// \brief If this function returns true, ^Str$ is an extended regular
+ /// expression that matches Str and only Str.
+ static bool isLiteralERE(StringRef Str);
+
+ /// \brief Turn String into a regex by escaping its special characters.
+ static std::string escape(StringRef String);
+
+ private:
+ struct llvm_regex *preg;
+ int error;
+ };
+}
+
+#endif // LLVM_SUPPORT_REGEX_H
diff --git a/third_party/llvm-subzero/include/llvm/Support/SMLoc.h b/third_party/llvm-subzero/include/llvm/Support/SMLoc.h
new file mode 100644
index 0000000..eb3a1ba
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/Support/SMLoc.h
@@ -0,0 +1,65 @@
+//===- SMLoc.h - Source location for use with diagnostics -------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file declares the SMLoc class. This class encapsulates a location in
+// source code for use in diagnostics.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_SUPPORT_SMLOC_H
+#define LLVM_SUPPORT_SMLOC_H
+
+#include "llvm/ADT/None.h"
+#include <cassert>
+
+namespace llvm {
+
+/// Represents a location in source code.
+class SMLoc {
+ const char *Ptr;
+
+public:
+ SMLoc() : Ptr(nullptr) {}
+
+ bool isValid() const { return Ptr != nullptr; }
+
+ bool operator==(const SMLoc &RHS) const { return RHS.Ptr == Ptr; }
+ bool operator!=(const SMLoc &RHS) const { return RHS.Ptr != Ptr; }
+
+ const char *getPointer() const { return Ptr; }
+
+ static SMLoc getFromPointer(const char *Ptr) {
+ SMLoc L;
+ L.Ptr = Ptr;
+ return L;
+ }
+};
+
+/// Represents a range in source code.
+///
+/// SMRange is implemented using a half-open range, as is the convention in C++.
+/// In the string "abc", the range (1,3] represents the substring "bc", and the
+/// range (2,2] represents an empty range between the characters "b" and "c".
+class SMRange {
+public:
+ SMLoc Start, End;
+
+ SMRange() = default;
+ SMRange(NoneType) {}
+ SMRange(SMLoc St, SMLoc En) : Start(St), End(En) {
+ assert(Start.isValid() == End.isValid() &&
+ "Start and end should either both be valid or both be invalid!");
+ }
+
+ bool isValid() const { return Start.isValid(); }
+};
+
+} // end namespace llvm
+
+#endif // LLVM_SUPPORT_SMLOC_H
diff --git a/third_party/llvm-subzero/include/llvm/Support/SourceMgr.h b/third_party/llvm-subzero/include/llvm/Support/SourceMgr.h
new file mode 100644
index 0000000..bc7478e
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/Support/SourceMgr.h
@@ -0,0 +1,280 @@
+//===- SourceMgr.h - Manager for Source Buffers & Diagnostics ---*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file declares the SMDiagnostic and SourceMgr classes. This
+// provides a simple substrate for diagnostics, #include handling, and other low
+// level things for simple parsers.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_SUPPORT_SOURCEMGR_H
+#define LLVM_SUPPORT_SOURCEMGR_H
+
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/Twine.h"
+#include "llvm/Support/MemoryBuffer.h"
+#include "llvm/Support/SMLoc.h"
+#include <string>
+
+namespace llvm {
+ class SourceMgr;
+ class SMDiagnostic;
+ class SMFixIt;
+ class Twine;
+ class raw_ostream;
+
+/// This owns the files read by a parser, handles include stacks,
+/// and handles diagnostic wrangling.
+class SourceMgr {
+public:
+ enum DiagKind {
+ DK_Error,
+ DK_Warning,
+ DK_Note
+ };
+
+ /// Clients that want to handle their own diagnostics in a custom way can
+ /// register a function pointer+context as a diagnostic handler.
+ /// It gets called each time PrintMessage is invoked.
+ typedef void (*DiagHandlerTy)(const SMDiagnostic &, void *Context);
+private:
+ struct SrcBuffer {
+ /// The memory buffer for the file.
+ std::unique_ptr<MemoryBuffer> Buffer;
+
+ /// This is the location of the parent include, or null if at the top level.
+ SMLoc IncludeLoc;
+ };
+
+ /// This is all of the buffers that we are reading from.
+ std::vector<SrcBuffer> Buffers;
+
+ // This is the list of directories we should search for include files in.
+ std::vector<std::string> IncludeDirectories;
+
+ /// This is a cache for line number queries, its implementation is really
+ /// private to SourceMgr.cpp.
+ mutable void *LineNoCache;
+
+ DiagHandlerTy DiagHandler;
+ void *DiagContext;
+
+ bool isValidBufferID(unsigned i) const { return i && i <= Buffers.size(); }
+
+ SourceMgr(const SourceMgr&) = delete;
+ void operator=(const SourceMgr&) = delete;
+public:
+ SourceMgr()
+ : LineNoCache(nullptr), DiagHandler(nullptr), DiagContext(nullptr) {}
+ ~SourceMgr();
+
+ void setIncludeDirs(const std::vector<std::string> &Dirs) {
+ IncludeDirectories = Dirs;
+ }
+
+ /// Specify a diagnostic handler to be invoked every time PrintMessage is
+ /// called. \p Ctx is passed into the handler when it is invoked.
+ void setDiagHandler(DiagHandlerTy DH, void *Ctx = nullptr) {
+ DiagHandler = DH;
+ DiagContext = Ctx;
+ }
+
+ DiagHandlerTy getDiagHandler() const { return DiagHandler; }
+ void *getDiagContext() const { return DiagContext; }
+
+ const SrcBuffer &getBufferInfo(unsigned i) const {
+ assert(isValidBufferID(i));
+ return Buffers[i - 1];
+ }
+
+ const MemoryBuffer *getMemoryBuffer(unsigned i) const {
+ assert(isValidBufferID(i));
+ return Buffers[i - 1].Buffer.get();
+ }
+
+ unsigned getNumBuffers() const {
+ return Buffers.size();
+ }
+
+ unsigned getMainFileID() const {
+ assert(getNumBuffers());
+ return 1;
+ }
+
+ SMLoc getParentIncludeLoc(unsigned i) const {
+ assert(isValidBufferID(i));
+ return Buffers[i - 1].IncludeLoc;
+ }
+
+ /// Add a new source buffer to this source manager. This takes ownership of
+ /// the memory buffer.
+ unsigned AddNewSourceBuffer(std::unique_ptr<MemoryBuffer> F,
+ SMLoc IncludeLoc) {
+ SrcBuffer NB;
+ NB.Buffer = std::move(F);
+ NB.IncludeLoc = IncludeLoc;
+ Buffers.push_back(std::move(NB));
+ return Buffers.size();
+ }
+
+ /// Search for a file with the specified name in the current directory or in
+ /// one of the IncludeDirs.
+ ///
+ /// If no file is found, this returns 0, otherwise it returns the buffer ID
+ /// of the stacked file. The full path to the included file can be found in
+ /// \p IncludedFile.
+ unsigned AddIncludeFile(const std::string &Filename, SMLoc IncludeLoc,
+ std::string &IncludedFile);
+
+ /// Return the ID of the buffer containing the specified location.
+ ///
+ /// 0 is returned if the buffer is not found.
+ unsigned FindBufferContainingLoc(SMLoc Loc) const;
+
+ /// Find the line number for the specified location in the specified file.
+ /// This is not a fast method.
+ unsigned FindLineNumber(SMLoc Loc, unsigned BufferID = 0) const {
+ return getLineAndColumn(Loc, BufferID).first;
+ }
+
+ /// Find the line and column number for the specified location in the
+ /// specified file. This is not a fast method.
+ std::pair<unsigned, unsigned> getLineAndColumn(SMLoc Loc,
+ unsigned BufferID = 0) const;
+
+ /// Emit a message about the specified location with the specified string.
+ ///
+ /// \param ShowColors Display colored messages if output is a terminal and
+ /// the default error handler is used.
+ void PrintMessage(raw_ostream &OS, SMLoc Loc, DiagKind Kind,
+ const Twine &Msg,
+ ArrayRef<SMRange> Ranges = None,
+ ArrayRef<SMFixIt> FixIts = None,
+ bool ShowColors = true) const;
+
+ /// Emits a diagnostic to llvm::errs().
+ void PrintMessage(SMLoc Loc, DiagKind Kind, const Twine &Msg,
+ ArrayRef<SMRange> Ranges = None,
+ ArrayRef<SMFixIt> FixIts = None,
+ bool ShowColors = true) const;
+
+ /// Emits a manually-constructed diagnostic to the given output stream.
+ ///
+ /// \param ShowColors Display colored messages if output is a terminal and
+ /// the default error handler is used.
+ void PrintMessage(raw_ostream &OS, const SMDiagnostic &Diagnostic,
+ bool ShowColors = true) const;
+
+ /// Return an SMDiagnostic at the specified location with the specified
+ /// string.
+ ///
+ /// \param Msg If non-null, the kind of message (e.g., "error") which is
+ /// prefixed to the message.
+ SMDiagnostic GetMessage(SMLoc Loc, DiagKind Kind, const Twine &Msg,
+ ArrayRef<SMRange> Ranges = None,
+ ArrayRef<SMFixIt> FixIts = None) const;
+
+ /// Prints the names of included files and the line of the file they were
+ /// included from. A diagnostic handler can use this before printing its
+ /// custom formatted message.
+ ///
+ /// \param IncludeLoc The location of the include.
+ /// \param OS the raw_ostream to print on.
+ void PrintIncludeStack(SMLoc IncludeLoc, raw_ostream &OS) const;
+};
+
+
+/// Represents a single fixit, a replacement of one range of text with another.
+class SMFixIt {
+ SMRange Range;
+
+ std::string Text;
+
+public:
+ // FIXME: Twine.str() is not very efficient.
+ SMFixIt(SMLoc Loc, const Twine &Insertion)
+ : Range(Loc, Loc), Text(Insertion.str()) {
+ assert(Loc.isValid());
+ }
+
+ // FIXME: Twine.str() is not very efficient.
+ SMFixIt(SMRange R, const Twine &Replacement)
+ : Range(R), Text(Replacement.str()) {
+ assert(R.isValid());
+ }
+
+ StringRef getText() const { return Text; }
+ SMRange getRange() const { return Range; }
+
+ bool operator<(const SMFixIt &Other) const {
+ if (Range.Start.getPointer() != Other.Range.Start.getPointer())
+ return Range.Start.getPointer() < Other.Range.Start.getPointer();
+ if (Range.End.getPointer() != Other.Range.End.getPointer())
+ return Range.End.getPointer() < Other.Range.End.getPointer();
+ return Text < Other.Text;
+ }
+};
+
+
+/// Instances of this class encapsulate one diagnostic report, allowing
+/// printing to a raw_ostream as a caret diagnostic.
+class SMDiagnostic {
+ const SourceMgr *SM;
+ SMLoc Loc;
+ std::string Filename;
+ int LineNo, ColumnNo;
+ SourceMgr::DiagKind Kind;
+ std::string Message, LineContents;
+ std::vector<std::pair<unsigned, unsigned> > Ranges;
+ SmallVector<SMFixIt, 4> FixIts;
+
+public:
+ // Null diagnostic.
+ SMDiagnostic()
+ : SM(nullptr), LineNo(0), ColumnNo(0), Kind(SourceMgr::DK_Error) {}
+ // Diagnostic with no location (e.g. file not found, command line arg error).
+ SMDiagnostic(StringRef filename, SourceMgr::DiagKind Knd, StringRef Msg)
+ : SM(nullptr), Filename(filename), LineNo(-1), ColumnNo(-1), Kind(Knd),
+ Message(Msg) {}
+
+ // Diagnostic with a location.
+ SMDiagnostic(const SourceMgr &sm, SMLoc L, StringRef FN,
+ int Line, int Col, SourceMgr::DiagKind Kind,
+ StringRef Msg, StringRef LineStr,
+ ArrayRef<std::pair<unsigned,unsigned> > Ranges,
+ ArrayRef<SMFixIt> FixIts = None);
+
+ const SourceMgr *getSourceMgr() const { return SM; }
+ SMLoc getLoc() const { return Loc; }
+ StringRef getFilename() const { return Filename; }
+ int getLineNo() const { return LineNo; }
+ int getColumnNo() const { return ColumnNo; }
+ SourceMgr::DiagKind getKind() const { return Kind; }
+ StringRef getMessage() const { return Message; }
+ StringRef getLineContents() const { return LineContents; }
+ ArrayRef<std::pair<unsigned, unsigned> > getRanges() const {
+ return Ranges;
+ }
+
+ void addFixIt(const SMFixIt &Hint) {
+ FixIts.push_back(Hint);
+ }
+
+ ArrayRef<SMFixIt> getFixIts() const {
+ return FixIts;
+ }
+
+ void print(const char *ProgName, raw_ostream &S, bool ShowColors = true,
+ bool ShowKindLabel = true) const;
+};
+
+} // end llvm namespace
+
+#endif
diff --git a/third_party/llvm-subzero/include/llvm/Support/StringSaver.h b/third_party/llvm-subzero/include/llvm/Support/StringSaver.h
index 38fb7bb..fcddd4c 100644
--- a/third_party/llvm-subzero/include/llvm/Support/StringSaver.h
+++ b/third_party/llvm-subzero/include/llvm/Support/StringSaver.h
@@ -16,17 +16,17 @@
namespace llvm {
-/// \brief Saves strings in the inheritor's stable storage and returns a stable
-/// raw character pointer.
+/// \brief Saves strings in the inheritor's stable storage and returns a
+/// StringRef with a stable character pointer.
class StringSaver final {
BumpPtrAllocator &Alloc;
public:
StringSaver(BumpPtrAllocator &Alloc) : Alloc(Alloc) {}
- const char *save(const char *S) { return save(StringRef(S)); }
- const char *save(StringRef S);
- const char *save(const Twine &S) { return save(StringRef(S.str())); }
- const char *save(std::string &S) { return save(StringRef(S)); }
+ StringRef save(const char *S) { return save(StringRef(S)); }
+ StringRef save(StringRef S);
+ StringRef save(const Twine &S) { return save(StringRef(S.str())); }
+ StringRef save(std::string &S) { return save(StringRef(S)); }
};
}
#endif
diff --git a/third_party/llvm-subzero/include/llvm/Support/SwapByteOrder.h b/third_party/llvm-subzero/include/llvm/Support/SwapByteOrder.h
index 91693ac..71d3724 100644
--- a/third_party/llvm-subzero/include/llvm/Support/SwapByteOrder.h
+++ b/third_party/llvm-subzero/include/llvm/Support/SwapByteOrder.h
@@ -18,6 +18,9 @@
#include "llvm/Support/Compiler.h"
#include "llvm/Support/DataTypes.h"
#include <cstddef>
+#if defined(_MSC_VER) && !defined(_DEBUG)
+#include <stdlib.h>
+#endif
namespace llvm {
namespace sys {
diff --git a/third_party/llvm-subzero/include/llvm/Support/TargetParser.h b/third_party/llvm-subzero/include/llvm/Support/TargetParser.h
index 92b20ea..63aeca7 100644
--- a/third_party/llvm-subzero/include/llvm/Support/TargetParser.h
+++ b/third_party/llvm-subzero/include/llvm/Support/TargetParser.h
@@ -111,17 +111,17 @@
unsigned getFPURestriction(unsigned FPUKind);
// FIXME: These should be moved to TargetTuple once it exists
-bool getFPUFeatures(unsigned FPUKind, std::vector<const char *> &Features);
-bool getHWDivFeatures(unsigned HWDivKind, std::vector<const char *> &Features);
+bool getFPUFeatures(unsigned FPUKind, std::vector<StringRef> &Features);
+bool getHWDivFeatures(unsigned HWDivKind, std::vector<StringRef> &Features);
bool getExtensionFeatures(unsigned Extensions,
- std::vector<const char*> &Features);
+ std::vector<StringRef> &Features);
StringRef getArchName(unsigned ArchKind);
unsigned getArchAttr(unsigned ArchKind);
StringRef getCPUAttr(unsigned ArchKind);
StringRef getSubArch(unsigned ArchKind);
StringRef getArchExtName(unsigned ArchExtKind);
-const char *getArchExtFeature(StringRef ArchExt);
+StringRef getArchExtFeature(StringRef ArchExt);
StringRef getHWDivName(unsigned HWDivKind);
// Information by Name
@@ -162,7 +162,8 @@
AEK_SIMD = 0x10,
AEK_FP16 = 0x20,
AEK_PROFILE = 0x40,
- AEK_RAS = 0x80
+ AEK_RAS = 0x80,
+ AEK_LSE = 0x100
};
StringRef getCanonicalArchName(StringRef Arch);
@@ -174,17 +175,17 @@
unsigned getFPURestriction(unsigned FPUKind);
// FIXME: These should be moved to TargetTuple once it exists
-bool getFPUFeatures(unsigned FPUKind, std::vector<const char *> &Features);
+bool getFPUFeatures(unsigned FPUKind, std::vector<StringRef> &Features);
bool getExtensionFeatures(unsigned Extensions,
- std::vector<const char*> &Features);
-bool getArchFeatures(unsigned ArchKind, std::vector<const char *> &Features);
+ std::vector<StringRef> &Features);
+bool getArchFeatures(unsigned ArchKind, std::vector<StringRef> &Features);
StringRef getArchName(unsigned ArchKind);
unsigned getArchAttr(unsigned ArchKind);
StringRef getCPUAttr(unsigned ArchKind);
StringRef getSubArch(unsigned ArchKind);
StringRef getArchExtName(unsigned ArchExtKind);
-const char *getArchExtFeature(StringRef ArchExt);
+StringRef getArchExtFeature(StringRef ArchExt);
unsigned checkArchVersion(StringRef Arch);
// Information by Name
diff --git a/third_party/llvm-subzero/include/llvm/Support/Threading.h b/third_party/llvm-subzero/include/llvm/Support/Threading.h
index 09b96df..4bef7ec 100644
--- a/third_party/llvm-subzero/include/llvm/Support/Threading.h
+++ b/third_party/llvm-subzero/include/llvm/Support/Threading.h
@@ -20,11 +20,11 @@
#include <ciso646> // So we can check the C++ standard lib macros.
#include <functional>
-// We use std::call_once on all Unix platforms except for NetBSD with
-// libstdc++. That platform has a bug they are working to fix, and they'll
-// remove the NetBSD checks once fixed.
-#if defined(LLVM_ON_UNIX) && \
- !(defined(__NetBSD__) && !defined(_LIBCPP_VERSION)) && !defined(__ppc__)
+// std::call_once from libc++ is used on all Unix platforms. Other
+// implementations like libstdc++ are known to have problems on NetBSD,
+// OpenBSD and PowerPC.
+#if defined(LLVM_ON_UNIX) && (defined(_LIBCPP_VERSION) || \
+ !(defined(__NetBSD__) || defined(__OpenBSD__) || defined(__ppc__)))
#define LLVM_THREADING_USE_STD_CALL_ONCE 1
#else
#define LLVM_THREADING_USE_STD_CALL_ONCE 0
@@ -115,6 +115,13 @@
TsanHappensAfter(&flag);
#endif
}
+
+ /// Get the amount of currency to use for tasks requiring significant
+ /// memory or other resources. Currently based on physical cores, if
+ /// available for the host system, otherwise falls back to
+ /// thread::hardware_concurrency().
+ /// Returns 1 when LLVM is configured with LLVM_ENABLE_THREADS=OFF
+ unsigned heavyweight_hardware_concurrency();
}
#endif
diff --git a/third_party/llvm-subzero/include/llvm/Support/Timer.h b/third_party/llvm-subzero/include/llvm/Support/Timer.h
index f0cb075..80e8f13 100644
--- a/third_party/llvm-subzero/include/llvm/Support/Timer.h
+++ b/third_party/llvm-subzero/include/llvm/Support/Timer.h
@@ -24,17 +24,17 @@
class raw_ostream;
class TimeRecord {
- double WallTime; // Wall clock time elapsed in seconds
- double UserTime; // User time elapsed
- double SystemTime; // System time elapsed
- ssize_t MemUsed; // Memory allocated (in bytes)
+ double WallTime; ///< Wall clock time elapsed in seconds.
+ double UserTime; ///< User time elapsed.
+ double SystemTime; ///< System time elapsed.
+ ssize_t MemUsed; ///< Memory allocated (in bytes).
public:
TimeRecord() : WallTime(0), UserTime(0), SystemTime(0), MemUsed(0) {}
- /// getCurrentTime - Get the current time and memory usage. If Start is true
- /// we get the memory usage before the time, otherwise we get time before
- /// memory usage. This matters if the time to get the memory usage is
- /// significant and shouldn't be counted as part of a duration.
+ /// Get the current time and memory usage. If Start is true we get the memory
+ /// usage before the time, otherwise we get time before memory usage. This
+ /// matters if the time to get the memory usage is significant and shouldn't
+ /// be counted as part of a duration.
static TimeRecord getCurrentTime(bool Start = true);
double getProcessTime() const { return UserTime + SystemTime; }
@@ -43,7 +43,6 @@
double getWallTime() const { return WallTime; }
ssize_t getMemUsed() const { return MemUsed; }
- // operator< - Allow sorting.
bool operator<(const TimeRecord &T) const {
// Sort by Wall Time elapsed, as it is the only thing really accurate
return WallTime < T.WallTime;
@@ -67,27 +66,32 @@
void print(const TimeRecord &Total, raw_ostream &OS) const;
};
-/// Timer - This class is used to track the amount of time spent between
-/// invocations of its startTimer()/stopTimer() methods. Given appropriate OS
-/// support it can also keep track of the RSS of the program at various points.
-/// By default, the Timer will print the amount of time it has captured to
-/// standard error when the last timer is destroyed, otherwise it is printed
-/// when its TimerGroup is destroyed. Timers do not print their information
-/// if they are never started.
-///
+/// This class is used to track the amount of time spent between invocations of
+/// its startTimer()/stopTimer() methods. Given appropriate OS support it can
+/// also keep track of the RSS of the program at various points. By default,
+/// the Timer will print the amount of time it has captured to standard error
+/// when the last timer is destroyed, otherwise it is printed when its
+/// TimerGroup is destroyed. Timers do not print their information if they are
+/// never started.
class Timer {
- TimeRecord Time; // The total time captured
- TimeRecord StartTime; // The time startTimer() was last called
- std::string Name; // The name of this time variable.
- bool Running; // Is the timer currently running?
- bool Triggered; // Has the timer ever been triggered?
- TimerGroup *TG; // The TimerGroup this Timer is in.
+ TimeRecord Time; ///< The total time captured.
+ TimeRecord StartTime; ///< The time startTimer() was last called.
+ std::string Name; ///< The name of this time variable.
+ std::string Description; ///< Description of this time variable.
+ bool Running; ///< Is the timer currently running?
+ bool Triggered; ///< Has the timer ever been triggered?
+ TimerGroup *TG = nullptr; ///< The TimerGroup this Timer is in.
- Timer **Prev, *Next; // Doubly linked list of timers in the group.
+ Timer **Prev; ///< Pointer to \p Next of previous timer in group.
+ Timer *Next; ///< Next timer in the group.
public:
- explicit Timer(StringRef N) : TG(nullptr) { init(N); }
- Timer(StringRef N, TimerGroup &tg) : TG(nullptr) { init(N, tg); }
- Timer(const Timer &RHS) : TG(nullptr) {
+ explicit Timer(StringRef Name, StringRef Description) {
+ init(Name, Description);
+ }
+ Timer(StringRef Name, StringRef Description, TimerGroup &tg) {
+ init(Name, Description, tg);
+ }
+ Timer(const Timer &RHS) {
assert(!RHS.TG && "Can only copy uninitialized timers");
}
const Timer &operator=(const Timer &T) {
@@ -96,12 +100,13 @@
}
~Timer();
- // Create an uninitialized timer, client must use 'init'.
- explicit Timer() : TG(nullptr) {}
- void init(StringRef N);
- void init(StringRef N, TimerGroup &tg);
+ /// Create an uninitialized timer, client must use 'init'.
+ explicit Timer() {}
+ void init(StringRef Name, StringRef Description);
+ void init(StringRef Name, StringRef Description, TimerGroup &tg);
const std::string &getName() const { return Name; }
+ const std::string &getDescription() const { return Description; }
bool isInitialized() const { return TG != nullptr; }
/// Check if the timer is currently running.
@@ -132,7 +137,6 @@
/// stopTimer() methods of the Timer class. When the object is constructed, it
/// starts the timer specified as its argument. When it is destroyed, it stops
/// the relevant timer. This makes it easy to time a region of code.
-///
class TimeRegion {
Timer *T;
TimeRegion(const TimeRegion &) = delete;
@@ -149,51 +153,77 @@
}
};
-/// NamedRegionTimer - This class is basically a combination of TimeRegion and
-/// Timer. It allows you to declare a new timer, AND specify the region to
-/// time, all in one statement. All timers with the same name are merged. This
-/// is primarily used for debugging and for hunting performance problems.
-///
+/// This class is basically a combination of TimeRegion and Timer. It allows
+/// you to declare a new timer, AND specify the region to time, all in one
+/// statement. All timers with the same name are merged. This is primarily
+/// used for debugging and for hunting performance problems.
struct NamedRegionTimer : public TimeRegion {
- explicit NamedRegionTimer(StringRef Name,
- bool Enabled = true);
- explicit NamedRegionTimer(StringRef Name, StringRef GroupName,
- bool Enabled = true);
+ explicit NamedRegionTimer(StringRef Name, StringRef Description,
+ StringRef GroupName,
+ StringRef GroupDescription, bool Enabled = true);
};
/// The TimerGroup class is used to group together related timers into a single
/// report that is printed when the TimerGroup is destroyed. It is illegal to
/// destroy a TimerGroup object before all of the Timers in it are gone. A
/// TimerGroup can be specified for a newly created timer in its constructor.
-///
class TimerGroup {
- std::string Name;
- Timer *FirstTimer; // First timer in the group.
- std::vector<std::pair<TimeRecord, std::string>> TimersToPrint;
+ struct PrintRecord {
+ TimeRecord Time;
+ std::string Name;
+ std::string Description;
- TimerGroup **Prev, *Next; // Doubly linked list of TimerGroup's.
+ PrintRecord(const PrintRecord &Other) = default;
+ PrintRecord(const TimeRecord &Time, const std::string &Name,
+ const std::string &Description)
+ : Time(Time), Name(Name), Description(Description) {}
+
+ bool operator <(const PrintRecord &Other) const {
+ return Time < Other.Time;
+ }
+ };
+ std::string Name;
+ std::string Description;
+ Timer *FirstTimer = nullptr; ///< First timer in the group.
+ std::vector<PrintRecord> TimersToPrint;
+
+ TimerGroup **Prev; ///< Pointer to Next field of previous timergroup in list.
+ TimerGroup *Next; ///< Pointer to next timergroup in list.
TimerGroup(const TimerGroup &TG) = delete;
void operator=(const TimerGroup &TG) = delete;
public:
- explicit TimerGroup(StringRef name);
+ explicit TimerGroup(StringRef Name, StringRef Description);
~TimerGroup();
- void setName(StringRef name) { Name.assign(name.begin(), name.end()); }
+ void setName(StringRef NewName, StringRef NewDescription) {
+ Name.assign(NewName.begin(), NewName.end());
+ Description.assign(NewDescription.begin(), NewDescription.end());
+ }
- /// print - Print any started timers in this group and zero them.
+ /// Print any started timers in this group and zero them.
void print(raw_ostream &OS);
- /// printAll - This static method prints all timers and clears them all out.
+ /// This static method prints all timers and clears them all out.
static void printAll(raw_ostream &OS);
+ /// Ensure global timer group lists are initialized. This function is mostly
+ /// used by the Statistic code to influence the construction and destruction
+ /// order of the global timer lists.
+ static void ConstructTimerLists();
private:
friend class Timer;
+ friend void PrintStatisticsJSON(raw_ostream &OS);
void addTimer(Timer &T);
void removeTimer(Timer &T);
+ void prepareToPrintList();
void PrintQueuedTimers(raw_ostream &OS);
+ void printJSONValue(raw_ostream &OS, const PrintRecord &R,
+ const char *suffix, double Value);
+ const char *printJSONValues(raw_ostream &OS, const char *delim);
+ static const char *printAllJSONValues(raw_ostream &OS, const char *delim);
};
-} // End llvm namespace
+} // end namespace llvm
#endif
diff --git a/third_party/llvm-subzero/include/llvm/Support/YAMLParser.h b/third_party/llvm-subzero/include/llvm/Support/YAMLParser.h
new file mode 100644
index 0000000..b9e3fa4
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/Support/YAMLParser.h
@@ -0,0 +1,603 @@
+//===--- YAMLParser.h - Simple YAML parser --------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This is a YAML 1.2 parser.
+//
+// See http://www.yaml.org/spec/1.2/spec.html for the full standard.
+//
+// This currently does not implement the following:
+// * Multi-line literal folding.
+// * Tag resolution.
+// * UTF-16.
+// * BOMs anywhere other than the first Unicode scalar value in the file.
+//
+// The most important class here is Stream. This represents a YAML stream with
+// 0, 1, or many documents.
+//
+// SourceMgr sm;
+// StringRef input = getInput();
+// yaml::Stream stream(input, sm);
+//
+// for (yaml::document_iterator di = stream.begin(), de = stream.end();
+// di != de; ++di) {
+// yaml::Node *n = di->getRoot();
+// if (n) {
+// // Do something with n...
+// } else
+// break;
+// }
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_SUPPORT_YAMLPARSER_H
+#define LLVM_SUPPORT_YAMLPARSER_H
+
+#include "llvm/ADT/StringRef.h"
+#include "llvm/Support/Allocator.h"
+#include "llvm/Support/SMLoc.h"
+#include <map>
+#include <system_error>
+#include <utility>
+
+namespace llvm {
+class MemoryBufferRef;
+class SourceMgr;
+class Twine;
+class raw_ostream;
+
+namespace yaml {
+
+class document_iterator;
+class Document;
+class Node;
+class Scanner;
+struct Token;
+
+/// \brief Dump all the tokens in this stream to OS.
+/// \returns true if there was an error, false otherwise.
+bool dumpTokens(StringRef Input, raw_ostream &);
+
+/// \brief Scans all tokens in input without outputting anything. This is used
+/// for benchmarking the tokenizer.
+/// \returns true if there was an error, false otherwise.
+bool scanTokens(StringRef Input);
+
+/// \brief Escape \a Input for a double quoted scalar.
+std::string escape(StringRef Input);
+
+/// \brief This class represents a YAML stream potentially containing multiple
+/// documents.
+class Stream {
+public:
+ /// \brief This keeps a reference to the string referenced by \p Input.
+ Stream(StringRef Input, SourceMgr &, bool ShowColors = true,
+ std::error_code *EC = nullptr);
+
+ Stream(MemoryBufferRef InputBuffer, SourceMgr &, bool ShowColors = true,
+ std::error_code *EC = nullptr);
+ ~Stream();
+
+ document_iterator begin();
+ document_iterator end();
+ void skip();
+ bool failed();
+ bool validate() {
+ skip();
+ return !failed();
+ }
+
+ void printError(Node *N, const Twine &Msg);
+
+private:
+ std::unique_ptr<Scanner> scanner;
+ std::unique_ptr<Document> CurrentDoc;
+
+ friend class Document;
+};
+
+/// \brief Abstract base class for all Nodes.
+class Node {
+ virtual void anchor();
+
+public:
+ enum NodeKind {
+ NK_Null,
+ NK_Scalar,
+ NK_BlockScalar,
+ NK_KeyValue,
+ NK_Mapping,
+ NK_Sequence,
+ NK_Alias
+ };
+
+ Node(unsigned int Type, std::unique_ptr<Document> &, StringRef Anchor,
+ StringRef Tag);
+
+ /// \brief Get the value of the anchor attached to this node. If it does not
+ /// have one, getAnchor().size() will be 0.
+ StringRef getAnchor() const { return Anchor; }
+
+ /// \brief Get the tag as it was written in the document. This does not
+ /// perform tag resolution.
+ StringRef getRawTag() const { return Tag; }
+
+ /// \brief Get the verbatium tag for a given Node. This performs tag resoluton
+ /// and substitution.
+ std::string getVerbatimTag() const;
+
+ SMRange getSourceRange() const { return SourceRange; }
+ void setSourceRange(SMRange SR) { SourceRange = SR; }
+
+ // These functions forward to Document and Scanner.
+ Token &peekNext();
+ Token getNext();
+ Node *parseBlockNode();
+ BumpPtrAllocator &getAllocator();
+ void setError(const Twine &Message, Token &Location) const;
+ bool failed() const;
+
+ virtual void skip() {}
+
+ unsigned int getType() const { return TypeID; }
+
+ void *operator new(size_t Size, BumpPtrAllocator &Alloc,
+ size_t Alignment = 16) noexcept {
+ return Alloc.Allocate(Size, Alignment);
+ }
+
+ void operator delete(void *Ptr, BumpPtrAllocator &Alloc,
+ size_t Size) noexcept {
+ Alloc.Deallocate(Ptr, Size);
+ }
+
+protected:
+ std::unique_ptr<Document> &Doc;
+ SMRange SourceRange;
+
+ void operator delete(void *) noexcept = delete;
+
+ ~Node() = default;
+
+private:
+ unsigned int TypeID;
+ StringRef Anchor;
+ /// \brief The tag as typed in the document.
+ StringRef Tag;
+};
+
+/// \brief A null value.
+///
+/// Example:
+/// !!null null
+class NullNode final : public Node {
+ void anchor() override;
+
+public:
+ NullNode(std::unique_ptr<Document> &D)
+ : Node(NK_Null, D, StringRef(), StringRef()) {}
+
+ static inline bool classof(const Node *N) { return N->getType() == NK_Null; }
+};
+
+/// \brief A scalar node is an opaque datum that can be presented as a
+/// series of zero or more Unicode scalar values.
+///
+/// Example:
+/// Adena
+class ScalarNode final : public Node {
+ void anchor() override;
+
+public:
+ ScalarNode(std::unique_ptr<Document> &D, StringRef Anchor, StringRef Tag,
+ StringRef Val)
+ : Node(NK_Scalar, D, Anchor, Tag), Value(Val) {
+ SMLoc Start = SMLoc::getFromPointer(Val.begin());
+ SMLoc End = SMLoc::getFromPointer(Val.end());
+ SourceRange = SMRange(Start, End);
+ }
+
+ // Return Value without any escaping or folding or other fun YAML stuff. This
+ // is the exact bytes that are contained in the file (after conversion to
+ // utf8).
+ StringRef getRawValue() const { return Value; }
+
+ /// \brief Gets the value of this node as a StringRef.
+ ///
+ /// \param Storage is used to store the content of the returned StringRef iff
+ /// it requires any modification from how it appeared in the source.
+ /// This happens with escaped characters and multi-line literals.
+ StringRef getValue(SmallVectorImpl<char> &Storage) const;
+
+ static inline bool classof(const Node *N) {
+ return N->getType() == NK_Scalar;
+ }
+
+private:
+ StringRef Value;
+
+ StringRef unescapeDoubleQuoted(StringRef UnquotedValue,
+ StringRef::size_type Start,
+ SmallVectorImpl<char> &Storage) const;
+};
+
+/// \brief A block scalar node is an opaque datum that can be presented as a
+/// series of zero or more Unicode scalar values.
+///
+/// Example:
+/// |
+/// Hello
+/// World
+class BlockScalarNode final : public Node {
+ void anchor() override;
+
+public:
+ BlockScalarNode(std::unique_ptr<Document> &D, StringRef Anchor, StringRef Tag,
+ StringRef Value, StringRef RawVal)
+ : Node(NK_BlockScalar, D, Anchor, Tag), Value(Value) {
+ SMLoc Start = SMLoc::getFromPointer(RawVal.begin());
+ SMLoc End = SMLoc::getFromPointer(RawVal.end());
+ SourceRange = SMRange(Start, End);
+ }
+
+ /// \brief Gets the value of this node as a StringRef.
+ StringRef getValue() const { return Value; }
+
+ static inline bool classof(const Node *N) {
+ return N->getType() == NK_BlockScalar;
+ }
+
+private:
+ StringRef Value;
+};
+
+/// \brief A key and value pair. While not technically a Node under the YAML
+/// representation graph, it is easier to treat them this way.
+///
+/// TODO: Consider making this not a child of Node.
+///
+/// Example:
+/// Section: .text
+class KeyValueNode final : public Node {
+ void anchor() override;
+
+public:
+ KeyValueNode(std::unique_ptr<Document> &D)
+ : Node(NK_KeyValue, D, StringRef(), StringRef()), Key(nullptr),
+ Value(nullptr) {}
+
+ /// \brief Parse and return the key.
+ ///
+ /// This may be called multiple times.
+ ///
+ /// \returns The key, or nullptr if failed() == true.
+ Node *getKey();
+
+ /// \brief Parse and return the value.
+ ///
+ /// This may be called multiple times.
+ ///
+ /// \returns The value, or nullptr if failed() == true.
+ Node *getValue();
+
+ void skip() override {
+ getKey()->skip();
+ if (Node *Val = getValue())
+ Val->skip();
+ }
+
+ static inline bool classof(const Node *N) {
+ return N->getType() == NK_KeyValue;
+ }
+
+private:
+ Node *Key;
+ Node *Value;
+};
+
+/// \brief This is an iterator abstraction over YAML collections shared by both
+/// sequences and maps.
+///
+/// BaseT must have a ValueT* member named CurrentEntry and a member function
+/// increment() which must set CurrentEntry to 0 to create an end iterator.
+template <class BaseT, class ValueT>
+class basic_collection_iterator
+ : public std::iterator<std::input_iterator_tag, ValueT> {
+public:
+ basic_collection_iterator() : Base(nullptr) {}
+ basic_collection_iterator(BaseT *B) : Base(B) {}
+
+ ValueT *operator->() const {
+ assert(Base && Base->CurrentEntry && "Attempted to access end iterator!");
+ return Base->CurrentEntry;
+ }
+
+ ValueT &operator*() const {
+ assert(Base && Base->CurrentEntry &&
+ "Attempted to dereference end iterator!");
+ return *Base->CurrentEntry;
+ }
+
+ operator ValueT *() const {
+ assert(Base && Base->CurrentEntry && "Attempted to access end iterator!");
+ return Base->CurrentEntry;
+ }
+
+ /// Note on EqualityComparable:
+ ///
+ /// The iterator is not re-entrant,
+ /// it is meant to be used for parsing YAML on-demand
+ /// Once iteration started - it can point only to one entry at a time
+ /// hence Base.CurrentEntry and Other.Base.CurrentEntry are equal
+ /// iff Base and Other.Base are equal.
+ bool operator==(const basic_collection_iterator &Other) const {
+ if (Base && (Base == Other.Base)) {
+ assert((Base->CurrentEntry == Other.Base->CurrentEntry)
+ && "Equal Bases expected to point to equal Entries");
+ }
+
+ return Base == Other.Base;
+ }
+
+ bool operator!=(const basic_collection_iterator &Other) const {
+ return !(Base == Other.Base);
+ }
+
+ basic_collection_iterator &operator++() {
+ assert(Base && "Attempted to advance iterator past end!");
+ Base->increment();
+ // Create an end iterator.
+ if (!Base->CurrentEntry)
+ Base = nullptr;
+ return *this;
+ }
+
+private:
+ BaseT *Base;
+};
+
+// The following two templates are used for both MappingNode and Sequence Node.
+template <class CollectionType>
+typename CollectionType::iterator begin(CollectionType &C) {
+ assert(C.IsAtBeginning && "You may only iterate over a collection once!");
+ C.IsAtBeginning = false;
+ typename CollectionType::iterator ret(&C);
+ ++ret;
+ return ret;
+}
+
+template <class CollectionType> void skip(CollectionType &C) {
+ // TODO: support skipping from the middle of a parsed collection ;/
+ assert((C.IsAtBeginning || C.IsAtEnd) && "Cannot skip mid parse!");
+ if (C.IsAtBeginning)
+ for (typename CollectionType::iterator i = begin(C), e = C.end(); i != e;
+ ++i)
+ i->skip();
+}
+
+/// \brief Represents a YAML map created from either a block map for a flow map.
+///
+/// This parses the YAML stream as increment() is called.
+///
+/// Example:
+/// Name: _main
+/// Scope: Global
+class MappingNode final : public Node {
+ void anchor() override;
+
+public:
+ enum MappingType {
+ MT_Block,
+ MT_Flow,
+ MT_Inline ///< An inline mapping node is used for "[key: value]".
+ };
+
+ MappingNode(std::unique_ptr<Document> &D, StringRef Anchor, StringRef Tag,
+ MappingType MT)
+ : Node(NK_Mapping, D, Anchor, Tag), Type(MT), IsAtBeginning(true),
+ IsAtEnd(false), CurrentEntry(nullptr) {}
+
+ friend class basic_collection_iterator<MappingNode, KeyValueNode>;
+ typedef basic_collection_iterator<MappingNode, KeyValueNode> iterator;
+ template <class T> friend typename T::iterator yaml::begin(T &);
+ template <class T> friend void yaml::skip(T &);
+
+ iterator begin() { return yaml::begin(*this); }
+
+ iterator end() { return iterator(); }
+
+ void skip() override { yaml::skip(*this); }
+
+ static inline bool classof(const Node *N) {
+ return N->getType() == NK_Mapping;
+ }
+
+private:
+ MappingType Type;
+ bool IsAtBeginning;
+ bool IsAtEnd;
+ KeyValueNode *CurrentEntry;
+
+ void increment();
+};
+
+/// \brief Represents a YAML sequence created from either a block sequence for a
+/// flow sequence.
+///
+/// This parses the YAML stream as increment() is called.
+///
+/// Example:
+/// - Hello
+/// - World
+class SequenceNode final : public Node {
+ void anchor() override;
+
+public:
+ enum SequenceType {
+ ST_Block,
+ ST_Flow,
+ // Use for:
+ //
+ // key:
+ // - val1
+ // - val2
+ //
+ // As a BlockMappingEntry and BlockEnd are not created in this case.
+ ST_Indentless
+ };
+
+ SequenceNode(std::unique_ptr<Document> &D, StringRef Anchor, StringRef Tag,
+ SequenceType ST)
+ : Node(NK_Sequence, D, Anchor, Tag), SeqType(ST), IsAtBeginning(true),
+ IsAtEnd(false),
+ WasPreviousTokenFlowEntry(true), // Start with an imaginary ','.
+ CurrentEntry(nullptr) {}
+
+ friend class basic_collection_iterator<SequenceNode, Node>;
+ typedef basic_collection_iterator<SequenceNode, Node> iterator;
+ template <class T> friend typename T::iterator yaml::begin(T &);
+ template <class T> friend void yaml::skip(T &);
+
+ void increment();
+
+ iterator begin() { return yaml::begin(*this); }
+
+ iterator end() { return iterator(); }
+
+ void skip() override { yaml::skip(*this); }
+
+ static inline bool classof(const Node *N) {
+ return N->getType() == NK_Sequence;
+ }
+
+private:
+ SequenceType SeqType;
+ bool IsAtBeginning;
+ bool IsAtEnd;
+ bool WasPreviousTokenFlowEntry;
+ Node *CurrentEntry;
+};
+
+/// \brief Represents an alias to a Node with an anchor.
+///
+/// Example:
+/// *AnchorName
+class AliasNode final : public Node {
+ void anchor() override;
+
+public:
+ AliasNode(std::unique_ptr<Document> &D, StringRef Val)
+ : Node(NK_Alias, D, StringRef(), StringRef()), Name(Val) {}
+
+ StringRef getName() const { return Name; }
+ Node *getTarget();
+
+ static inline bool classof(const Node *N) { return N->getType() == NK_Alias; }
+
+private:
+ StringRef Name;
+};
+
+/// \brief A YAML Stream is a sequence of Documents. A document contains a root
+/// node.
+class Document {
+public:
+ /// \brief Root for parsing a node. Returns a single node.
+ Node *parseBlockNode();
+
+ Document(Stream &ParentStream);
+
+ /// \brief Finish parsing the current document and return true if there are
+ /// more. Return false otherwise.
+ bool skip();
+
+ /// \brief Parse and return the root level node.
+ Node *getRoot() {
+ if (Root)
+ return Root;
+ return Root = parseBlockNode();
+ }
+
+ const std::map<StringRef, StringRef> &getTagMap() const { return TagMap; }
+
+private:
+ friend class Node;
+ friend class document_iterator;
+
+ /// \brief Stream to read tokens from.
+ Stream &stream;
+
+ /// \brief Used to allocate nodes to. All are destroyed without calling their
+ /// destructor when the document is destroyed.
+ BumpPtrAllocator NodeAllocator;
+
+ /// \brief The root node. Used to support skipping a partially parsed
+ /// document.
+ Node *Root;
+
+ /// \brief Maps tag prefixes to their expansion.
+ std::map<StringRef, StringRef> TagMap;
+
+ Token &peekNext();
+ Token getNext();
+ void setError(const Twine &Message, Token &Location) const;
+ bool failed() const;
+
+ /// \brief Parse %BLAH directives and return true if any were encountered.
+ bool parseDirectives();
+
+ /// \brief Parse %YAML
+ void parseYAMLDirective();
+
+ /// \brief Parse %TAG
+ void parseTAGDirective();
+
+ /// \brief Consume the next token and error if it is not \a TK.
+ bool expectToken(int TK);
+};
+
+/// \brief Iterator abstraction for Documents over a Stream.
+class document_iterator {
+public:
+ document_iterator() : Doc(nullptr) {}
+ document_iterator(std::unique_ptr<Document> &D) : Doc(&D) {}
+
+ bool operator==(const document_iterator &Other) {
+ if (isAtEnd() || Other.isAtEnd())
+ return isAtEnd() && Other.isAtEnd();
+
+ return Doc == Other.Doc;
+ }
+ bool operator!=(const document_iterator &Other) { return !(*this == Other); }
+
+ document_iterator operator++() {
+ assert(Doc && "incrementing iterator past the end.");
+ if (!(*Doc)->skip()) {
+ Doc->reset(nullptr);
+ } else {
+ Stream &S = (*Doc)->stream;
+ Doc->reset(new Document(S));
+ }
+ return *this;
+ }
+
+ Document &operator*() { return *Doc->get(); }
+
+ std::unique_ptr<Document> &operator->() { return *Doc; }
+
+private:
+ bool isAtEnd() const { return !Doc || !*Doc; }
+
+ std::unique_ptr<Document> *Doc;
+};
+
+} // End namespace yaml.
+
+} // End namespace llvm.
+
+#endif
diff --git a/third_party/llvm-subzero/include/llvm/Support/YAMLTraits.h b/third_party/llvm-subzero/include/llvm/Support/YAMLTraits.h
new file mode 100644
index 0000000..38acb36
--- /dev/null
+++ b/third_party/llvm-subzero/include/llvm/Support/YAMLTraits.h
@@ -0,0 +1,1533 @@
+//===- llvm/Support/YAMLTraits.h --------------------------------*- C++ -*-===//
+//
+// The LLVM Linker
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_SUPPORT_YAMLTRAITS_H
+#define LLVM_SUPPORT_YAMLTRAITS_H
+
+#include "llvm/ADT/Optional.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringMap.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/Twine.h"
+#include "llvm/Support/AlignOf.h"
+#include "llvm/Support/Allocator.h"
+#include "llvm/Support/Endian.h"
+#include "llvm/Support/Regex.h"
+#include "llvm/Support/SourceMgr.h"
+#include "llvm/Support/YAMLParser.h"
+#include "llvm/Support/raw_ostream.h"
+#include <cassert>
+#include <cctype>
+#include <cstddef>
+#include <cstdint>
+#include <memory>
+#include <new>
+#include <string>
+#include <system_error>
+#include <type_traits>
+#include <vector>
+
+namespace llvm {
+namespace yaml {
+
+struct EmptyContext {};
+
+/// This class should be specialized by any type that needs to be converted
+/// to/from a YAML mapping. For example:
+///
+/// struct MappingTraits<MyStruct> {
+/// static void mapping(IO &io, MyStruct &s) {
+/// io.mapRequired("name", s.name);
+/// io.mapRequired("size", s.size);
+/// io.mapOptional("age", s.age);
+/// }
+/// };
+template<class T>
+struct MappingTraits {
+ // Must provide:
+ // static void mapping(IO &io, T &fields);
+ // Optionally may provide:
+ // static StringRef validate(IO &io, T &fields);
+ //
+ // The optional flow flag will cause generated YAML to use a flow mapping
+ // (e.g. { a: 0, b: 1 }):
+ // static const bool flow = true;
+};
+
+/// This class is similar to MappingTraits<T> but allows you to pass in
+/// additional context for each map operation. For example:
+///
+/// struct MappingContextTraits<MyStruct, MyContext> {
+/// static void mapping(IO &io, MyStruct &s, MyContext &c) {
+/// io.mapRequired("name", s.name);
+/// io.mapRequired("size", s.size);
+/// io.mapOptional("age", s.age);
+/// ++c.TimesMapped;
+/// }
+/// };
+template <class T, class Context> struct MappingContextTraits {
+ // Must provide:
+ // static void mapping(IO &io, T &fields, Context &Ctx);
+ // Optionally may provide:
+ // static StringRef validate(IO &io, T &fields, Context &Ctx);
+ //
+ // The optional flow flag will cause generated YAML to use a flow mapping
+ // (e.g. { a: 0, b: 1 }):
+ // static const bool flow = true;
+};
+
+/// This class should be specialized by any integral type that converts
+/// to/from a YAML scalar where there is a one-to-one mapping between
+/// in-memory values and a string in YAML. For example:
+///
+/// struct ScalarEnumerationTraits<Colors> {
+/// static void enumeration(IO &io, Colors &value) {
+/// io.enumCase(value, "red", cRed);
+/// io.enumCase(value, "blue", cBlue);
+/// io.enumCase(value, "green", cGreen);
+/// }
+/// };
+template<typename T>
+struct ScalarEnumerationTraits {
+ // Must provide:
+ // static void enumeration(IO &io, T &value);
+};
+
+/// This class should be specialized by any integer type that is a union
+/// of bit values and the YAML representation is a flow sequence of
+/// strings. For example:
+///
+/// struct ScalarBitSetTraits<MyFlags> {
+/// static void bitset(IO &io, MyFlags &value) {
+/// io.bitSetCase(value, "big", flagBig);
+/// io.bitSetCase(value, "flat", flagFlat);
+/// io.bitSetCase(value, "round", flagRound);
+/// }
+/// };
+template<typename T>
+struct ScalarBitSetTraits {
+ // Must provide:
+ // static void bitset(IO &io, T &value);
+};
+
+/// This class should be specialized by type that requires custom conversion
+/// to/from a yaml scalar. For example:
+///
+/// template<>
+/// struct ScalarTraits<MyType> {
+/// static void output(const MyType &val, void*, llvm::raw_ostream &out) {
+/// // stream out custom formatting
+/// out << llvm::format("%x", val);
+/// }
+/// static StringRef input(StringRef scalar, void*, MyType &value) {
+/// // parse scalar and set `value`
+/// // return empty string on success, or error string
+/// return StringRef();
+/// }
+/// static bool mustQuote(StringRef) { return true; }
+/// };
+template<typename T>
+struct ScalarTraits {
+ // Must provide:
+ //
+ // Function to write the value as a string:
+ //static void output(const T &value, void *ctxt, llvm::raw_ostream &out);
+ //
+ // Function to convert a string to a value. Returns the empty
+ // StringRef on success or an error string if string is malformed:
+ //static StringRef input(StringRef scalar, void *ctxt, T &value);
+ //
+ // Function to determine if the value should be quoted.
+ //static bool mustQuote(StringRef);
+};
+
+/// This class should be specialized by type that requires custom conversion
+/// to/from a YAML literal block scalar. For example:
+///
+/// template <>
+/// struct BlockScalarTraits<MyType> {
+/// static void output(const MyType &Value, void*, llvm::raw_ostream &Out)
+/// {
+/// // stream out custom formatting
+/// Out << Val;
+/// }
+/// static StringRef input(StringRef Scalar, void*, MyType &Value) {
+/// // parse scalar and set `value`
+/// // return empty string on success, or error string
+/// return StringRef();
+/// }
+/// };
+template <typename T>
+struct BlockScalarTraits {
+ // Must provide:
+ //
+ // Function to write the value as a string:
+ // static void output(const T &Value, void *ctx, llvm::raw_ostream &Out);
+ //
+ // Function to convert a string to a value. Returns the empty
+ // StringRef on success or an error string if string is malformed:
+ // static StringRef input(StringRef Scalar, void *ctxt, T &Value);
+};
+
+/// This class should be specialized by any type that needs to be converted
+/// to/from a YAML sequence. For example:
+///
+/// template<>
+/// struct SequenceTraits< std::vector<MyType>> {
+/// static size_t size(IO &io, std::vector<MyType> &seq) {
+/// return seq.size();
+/// }
+/// static MyType& element(IO &, std::vector<MyType> &seq, size_t index) {
+/// if ( index >= seq.size() )
+/// seq.resize(index+1);
+/// return seq[index];
+/// }
+/// };
+template<typename T>
+struct SequenceTraits {
+ // Must provide:
+ // static size_t size(IO &io, T &seq);
+ // static T::value_type& element(IO &io, T &seq, size_t index);
+ //
+ // The following is option and will cause generated YAML to use
+ // a flow sequence (e.g. [a,b,c]).
+ // static const bool flow = true;
+};
+
+/// This class should be specialized by any type that needs to be converted
+/// to/from a list of YAML documents.
+template<typename T>
+struct DocumentListTraits {
+ // Must provide:
+ // static size_t size(IO &io, T &seq);
+ // static T::value_type& element(IO &io, T &seq, size_t index);
+};
+
+// Only used for better diagnostics of missing traits
+template <typename T>
+struct MissingTrait;
+
+// Test if ScalarEnumerationTraits<T> is defined on type T.
+template <class T>
+struct has_ScalarEnumerationTraits
+{
+ typedef void (*Signature_enumeration)(class IO&, T&);
+
+ template <typename U>
+ static char test(SameType<Signature_enumeration, &U::enumeration>*);
+
+ template <typename U>
+ static double test(...);
+
+public:
+ static bool const value =
+ (sizeof(test<ScalarEnumerationTraits<T>>(nullptr)) == 1);
+};
+
+// Test if ScalarBitSetTraits<T> is defined on type T.
+template <class T>
+struct has_ScalarBitSetTraits
+{
+ typedef void (*Signature_bitset)(class IO&, T&);
+
+ template <typename U>
+ static char test(SameType<Signature_bitset, &U::bitset>*);
+
+ template <typename U>
+ static double test(...);
+
+public:
+ static bool const value = (sizeof(test<ScalarBitSetTraits<T>>(nullptr)) == 1);
+};
+
+// Test if ScalarTraits<T> is defined on type T.
+template <class T>
+struct has_ScalarTraits
+{
+ typedef StringRef (*Signature_input)(StringRef, void*, T&);
+ typedef void (*Signature_output)(const T&, void*, llvm::raw_ostream&);
+ typedef bool (*Signature_mustQuote)(StringRef);
+
+ template <typename U>
+ static char test(SameType<Signature_input, &U::input> *,
+ SameType<Signature_output, &U::output> *,
+ SameType<Signature_mustQuote, &U::mustQuote> *);
+
+ template <typename U>
+ static double test(...);
+
+public:
+ static bool const value =
+ (sizeof(test<ScalarTraits<T>>(nullptr, nullptr, nullptr)) == 1);
+};
+
+// Test if BlockScalarTraits<T> is defined on type T.
+template <class T>
+struct has_BlockScalarTraits
+{
+ typedef StringRef (*Signature_input)(StringRef, void *, T &);
+ typedef void (*Signature_output)(const T &, void *, llvm::raw_ostream &);
+
+ template <typename U>
+ static char test(SameType<Signature_input, &U::input> *,
+ SameType<Signature_output, &U::output> *);
+
+ template <typename U>
+ static double test(...);
+
+public:
+ static bool const value =
+ (sizeof(test<BlockScalarTraits<T>>(nullptr, nullptr)) == 1);
+};
+
+// Test if MappingContextTraits<T> is defined on type T.
+template <class T, class Context> struct has_MappingTraits {
+ typedef void (*Signature_mapping)(class IO &, T &, Context &);
+
+ template <typename U>
+ static char test(SameType<Signature_mapping, &U::mapping>*);
+
+ template <typename U>
+ static double test(...);
+
+public:
+ static bool const value =
+ (sizeof(test<MappingContextTraits<T, Context>>(nullptr)) == 1);
+};
+
+// Test if MappingTraits<T> is defined on type T.
+template <class T> struct has_MappingTraits<T, EmptyContext> {
+ typedef void (*Signature_mapping)(class IO &, T &);
+
+ template <typename U>
+ static char test(SameType<Signature_mapping, &U::mapping> *);
+
+ template <typename U> static double test(...);
+
+public:
+ static bool const value = (sizeof(test<MappingTraits<T>>(nullptr)) == 1);
+};
+
+// Test if MappingContextTraits<T>::validate() is defined on type T.
+template <class T, class Context> struct has_MappingValidateTraits {
+ typedef StringRef (*Signature_validate)(class IO &, T &, Context &);
+
+ template <typename U>
+ static char test(SameType<Signature_validate, &U::validate>*);
+
+ template <typename U>
+ static double test(...);
+
+public:
+ static bool const value =
+ (sizeof(test<MappingContextTraits<T, Context>>(nullptr)) == 1);
+};
+
+// Test if MappingTraits<T>::validate() is defined on type T.
+template <class T> struct has_MappingValidateTraits<T, EmptyContext> {
+ typedef StringRef (*Signature_validate)(class IO &, T &);
+
+ template <typename U>
+ static char test(SameType<Signature_validate, &U::validate> *);
+
+ template <typename U> static double test(...);
+
+public:
+ static bool const value = (sizeof(test<MappingTraits<T>>(nullptr)) == 1);
+};
+
+// Test if SequenceTraits<T> is defined on type T.
+template <class T>
+struct has_SequenceMethodTraits
+{
+ typedef size_t (*Signature_size)(class IO&, T&);
+
+ template <typename U>
+ static char test(SameType<Signature_size, &U::size>*);
+
+ template <typename U>
+ static double test(...);
+
+public:
+ static bool const value = (sizeof(test<SequenceTraits<T>>(nullptr)) == 1);
+};
+
+// has_FlowTraits<int> will cause an error with some compilers because
+// it subclasses int. Using this wrapper only instantiates the
+// real has_FlowTraits only if the template type is a class.
+template <typename T, bool Enabled = std::is_class<T>::value>
+class has_FlowTraits
+{
+public:
+ static const bool value = false;
+};
+
+// Some older gcc compilers don't support straight forward tests
+// for members, so test for ambiguity cause by the base and derived
+// classes both defining the member.
+template <class T>
+struct has_FlowTraits<T, true>
+{
+ struct Fallback { bool flow; };
+ struct Derived : T, Fallback { };
+
+ template<typename C>
+ static char (&f(SameType<bool Fallback::*, &C::flow>*))[1];
+
+ template<typename C>
+ static char (&f(...))[2];
+
+public:
+ static bool const value = sizeof(f<Derived>(nullptr)) == 2;
+};
+
+// Test if SequenceTraits<T> is defined on type T
+template<typename T>
+struct has_SequenceTraits : public std::integral_constant<bool,
+ has_SequenceMethodTraits<T>::value > { };
+
+// Test if DocumentListTraits<T> is defined on type T
+template <class T>
+struct has_DocumentListTraits
+{
+ typedef size_t (*Signature_size)(class IO&, T&);
+
+ template <typename U>
+ static char test(SameType<Signature_size, &U::size>*);
+
+ template <typename U>
+ static double test(...);
+
+public:
+ static bool const value = (sizeof(test<DocumentListTraits<T>>(nullptr))==1);
+};
+
+inline bool isNumber(StringRef S) {
+ static const char OctalChars[] = "01234567";
+ if (S.startswith("0") &&
+ S.drop_front().find_first_not_of(OctalChars) == StringRef::npos)
+ return true;
+
+ if (S.startswith("0o") &&
+ S.drop_front(2).find_first_not_of(OctalChars) == StringRef::npos)
+ return true;
+
+ static const char HexChars[] = "0123456789abcdefABCDEF";
+ if (S.startswith("0x") &&
+ S.drop_front(2).find_first_not_of(HexChars) == StringRef::npos)
+ return true;
+
+ static const char DecChars[] = "0123456789";
+ if (S.find_first_not_of(DecChars) == StringRef::npos)
+ return true;
+
+ if (S.equals(".inf") || S.equals(".Inf") || S.equals(".INF"))
+ return true;
+
+ Regex FloatMatcher("^(\\.[0-9]+|[0-9]+(\\.[0-9]*)?)([eE][-+]?[0-9]+)?$");
+ if (FloatMatcher.match(S))
+ return true;
+
+ return false;
+}
+
+inline bool isNumeric(StringRef S) {
+ if ((S.front() == '-' || S.front() == '+') && isNumber(S.drop_front()))
+ return true;
+
+ if (isNumber(S))
+ return true;
+
+ if (S.equals(".nan") || S.equals(".NaN") || S.equals(".NAN"))
+ return true;
+
+ return false;
+}
+
+inline bool isNull(StringRef S) {
+ return S.equals("null") || S.equals("Null") || S.equals("NULL") ||
+ S.equals("~");
+}
+
+inline bool isBool(StringRef S) {
+ return S.equals("true") || S.equals("True") || S.equals("TRUE") ||
+ S.equals("false") || S.equals("False") || S.equals("FALSE");
+}
+
+inline bool needsQuotes(StringRef S) {
+ if (S.empty())
+ return true;
+ if (isspace(S.front()) || isspace(S.back()))
+ return true;
+ if (S.front() == ',')
+ return true;
+
+ static const char ScalarSafeChars[] =
+ "abcdefghijklmnopqrstuvwxyz"
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-/^., \t";
+ if (S.find_first_not_of(ScalarSafeChars) != StringRef::npos)
+ return true;
+
+ if (isNull(S))
+ return true;
+ if (isBool(S))
+ return true;
+ if (isNumeric(S))
+ return true;
+
+ return false;
+}
+
+template <typename T, typename Context>
+struct missingTraits
+ : public std::integral_constant<bool,
+ !has_ScalarEnumerationTraits<T>::value &&
+ !has_ScalarBitSetTraits<T>::value &&
+ !has_ScalarTraits<T>::value &&
+ !has_BlockScalarTraits<T>::value &&
+ !has_MappingTraits<T, Context>::value &&
+ !has_SequenceTraits<T>::value &&
+ !has_DocumentListTraits<T>::value> {};
+
+template <typename T, typename Context>
+struct validatedMappingTraits
+ : public std::integral_constant<
+ bool, has_MappingTraits<T, Context>::value &&
+ has_MappingValidateTraits<T, Context>::value> {};
+
+template <typename T, typename Context>
+struct unvalidatedMappingTraits
+ : public std::integral_constant<
+ bool, has_MappingTraits<T, Context>::value &&
+ !has_MappingValidateTraits<T, Context>::value> {};
+
+// Base class for Input and Output.
+class IO {
+public:
+ IO(void *Ctxt=nullptr);
+ virtual ~IO();
+
+ virtual bool outputting() = 0;
+
+ virtual unsigned beginSequence() = 0;
+ virtual bool preflightElement(unsigned, void *&) = 0;
+ virtual void postflightElement(void*) = 0;
+ virtual void endSequence() = 0;
+ virtual bool canElideEmptySequence() = 0;
+
+ virtual unsigned beginFlowSequence() = 0;
+ virtual bool preflightFlowElement(unsigned, void *&) = 0;
+ virtual void postflightFlowElement(void*) = 0;
+ virtual void endFlowSequence() = 0;
+
+ virtual bool mapTag(StringRef Tag, bool Default=false) = 0;
+ virtual void beginMapping() = 0;
+ virtual void endMapping() = 0;
+ virtual bool preflightKey(const char*, bool, bool, bool &, void *&) = 0;
+ virtual void postflightKey(void*) = 0;
+
+ virtual void beginFlowMapping() = 0;
+ virtual void endFlowMapping() = 0;
+
+ virtual void beginEnumScalar() = 0;
+ virtual bool matchEnumScalar(const char*, bool) = 0;
+ virtual bool matchEnumFallback() = 0;
+ virtual void endEnumScalar() = 0;
+
+ virtual bool beginBitSetScalar(bool &) = 0;
+ virtual bool bitSetMatch(const char*, bool) = 0;
+ virtual void endBitSetScalar() = 0;
+
+ virtual void scalarString(StringRef &, bool) = 0;
+ virtual void blockScalarString(StringRef &) = 0;
+
+ virtual void setError(const Twine &) = 0;
+
+ template <typename T>
+ void enumCase(T &Val, const char* Str, const T ConstVal) {
+ if ( matchEnumScalar(Str, outputting() && Val == ConstVal) ) {
+ Val = ConstVal;
+ }
+ }
+
+ // allow anonymous enum values to be used with LLVM_YAML_STRONG_TYPEDEF
+ template <typename T>
+ void enumCase(T &Val, const char* Str, const uint32_t ConstVal) {
+ if ( matchEnumScalar(Str, outputting() && Val == static_cast<T>(ConstVal)) ) {
+ Val = ConstVal;
+ }
+ }
+
+ template <typename FBT, typename T>
+ void enumFallback(T &Val) {
+ if (matchEnumFallback()) {
+ EmptyContext Context;
+ // FIXME: Force integral conversion to allow strong typedefs to convert.
+ FBT Res = static_cast<typename FBT::BaseType>(Val);
+ yamlize(*this, Res, true, Context);
+ Val = static_cast<T>(static_cast<typename FBT::BaseType>(Res));
+ }
+ }
+
+ template <typename T>
+ void bitSetCase(T &Val, const char* Str, const T ConstVal) {
+ if ( bitSetMatch(Str, outputting() && (Val & ConstVal) == ConstVal) ) {
+ Val = Val | ConstVal;
+ }
+ }
+
+ // allow anonymous enum values to be used with LLVM_YAML_STRONG_TYPEDEF
+ template <typename T>
+ void bitSetCase(T &Val, const char* Str, const uint32_t ConstVal) {
+ if ( bitSetMatch(Str, outputting() && (Val & ConstVal) == ConstVal) ) {
+ Val = Val | ConstVal;
+ }
+ }
+
+ template <typename T>
+ void maskedBitSetCase(T &Val, const char *Str, T ConstVal, T Mask) {
+ if (bitSetMatch(Str, outputting() && (Val & Mask) == ConstVal))
+ Val = Val | ConstVal;
+ }
+
+ template <typename T>
+ void maskedBitSetCase(T &Val, const char *Str, uint32_t ConstVal,
+ uint32_t Mask) {
+ if (bitSetMatch(Str, outputting() && (Val & Mask) == ConstVal))
+ Val = Val | ConstVal;
+ }
+
+ void *getContext();
+ void setContext(void *);
+
+ template <typename T> void mapRequired(const char *Key, T &Val) {
+ EmptyContext Ctx;
+ this->processKey(Key, Val, true, Ctx);
+ }
+ template <typename T, typename Context>
+ void mapRequired(const char *Key, T &Val, Context &Ctx) {
+ this->processKey(Key, Val, true, Ctx);
+ }
+
+ template <typename T> void mapOptional(const char *Key, T &Val) {
+ EmptyContext Ctx;
+ mapOptionalWithContext(Key, Val, Ctx);
+ }
+
+ template <typename T>
+ void mapOptional(const char *Key, T &Val, const T &Default) {
+ EmptyContext Ctx;
+ mapOptionalWithContext(Key, Val, Default, Ctx);
+ }
+
+ template <typename T, typename Context>
+ typename std::enable_if<has_SequenceTraits<T>::value, void>::type
+ mapOptionalWithContext(const char *Key, T &Val, Context &Ctx) {
+ // omit key/value instead of outputting empty sequence
+ if (this->canElideEmptySequence() && !(Val.begin() != Val.end()))
+ return;
+ this->processKey(Key, Val, false, Ctx);
+ }
+
+ template <typename T, typename Context>
+ void mapOptionalWithContext(const char *Key, Optional<T> &Val, Context &Ctx) {
+ this->processKeyWithDefault(Key, Val, Optional<T>(), /*Required=*/false,
+ Ctx);
+ }
+
+ template <typename T, typename Context>
+ typename std::enable_if<!has_SequenceTraits<T>::value, void>::type
+ mapOptionalWithContext(const char *Key, T &Val, Context &Ctx) {
+ this->processKey(Key, Val, false, Ctx);
+ }
+
+ template <typename T, typename Context>
+ void mapOptionalWithContext(const char *Key, T &Val, const T &Default,
+ Context &Ctx) {
+ this->processKeyWithDefault(Key, Val, Default, false, Ctx);
+ }
+
+private:
+ template <typename T, typename Context>
+ void processKeyWithDefault(const char *Key, Optional<T> &Val,
+ const Optional<T> &DefaultValue, bool Required,
+ Context &Ctx) {
+ assert(DefaultValue.hasValue() == false &&
+ "Optional<T> shouldn't have a value!");
+ void *SaveInfo;
+ bool UseDefault;
+ const bool sameAsDefault = outputting() && !Val.hasValue();
+ if (!outputting() && !Val.hasValue())
+ Val = T();
+ if (this->preflightKey(Key, Required, sameAsDefault, UseDefault,
+ SaveInfo)) {
+ yamlize(*this, Val.getValue(), Required, Ctx);
+ this->postflightKey(SaveInfo);
+ } else {
+ if (UseDefault)
+ Val = DefaultValue;
+ }
+ }
+
+ template <typename T, typename Context>
+ void processKeyWithDefault(const char *Key, T &Val, const T &DefaultValue,
+ bool Required, Context &Ctx) {
+ void *SaveInfo;
+ bool UseDefault;
+ const bool sameAsDefault = outputting() && Val == DefaultValue;
+ if ( this->preflightKey(Key, Required, sameAsDefault, UseDefault,
+ SaveInfo) ) {
+ yamlize(*this, Val, Required, Ctx);
+ this->postflightKey(SaveInfo);
+ }
+ else {
+ if ( UseDefault )
+ Val = DefaultValue;
+ }
+ }
+
+ template <typename T, typename Context>
+ void processKey(const char *Key, T &Val, bool Required, Context &Ctx) {
+ void *SaveInfo;
+ bool UseDefault;
+ if ( this->preflightKey(Key, Required, false, UseDefault, SaveInfo) ) {
+ yamlize(*this, Val, Required, Ctx);
+ this->postflightKey(SaveInfo);
+ }
+ }
+
+private:
+ void *Ctxt;
+};
+
+namespace detail {
+
+template <typename T, typename Context>
+void doMapping(IO &io, T &Val, Context &Ctx) {
+ MappingContextTraits<T, Context>::mapping(io, Val, Ctx);
+}
+
+template <typename T> void doMapping(IO &io, T &Val, EmptyContext &Ctx) {
+ MappingTraits<T>::mapping(io, Val);
+}
+
+} // end namespace detail
+
+template <typename T>
+typename std::enable_if<has_ScalarEnumerationTraits<T>::value, void>::type
+yamlize(IO &io, T &Val, bool, EmptyContext &Ctx) {
+ io.beginEnumScalar();
+ ScalarEnumerationTraits<T>::enumeration(io, Val);
+ io.endEnumScalar();
+}
+
+template <typename T>
+typename std::enable_if<has_ScalarBitSetTraits<T>::value, void>::type
+yamlize(IO &io, T &Val, bool, EmptyContext &Ctx) {
+ bool DoClear;
+ if ( io.beginBitSetScalar(DoClear) ) {
+ if ( DoClear )
+ Val = static_cast<T>(0);
+ ScalarBitSetTraits<T>::bitset(io, Val);
+ io.endBitSetScalar();
+ }
+}
+
+template <typename T>
+typename std::enable_if<has_ScalarTraits<T>::value, void>::type
+yamlize(IO &io, T &Val, bool, EmptyContext &Ctx) {
+ if ( io.outputting() ) {
+ std::string Storage;
+ llvm::raw_string_ostream Buffer(Storage);
+ ScalarTraits<T>::output(Val, io.getContext(), Buffer);
+ StringRef Str = Buffer.str();
+ io.scalarString(Str, ScalarTraits<T>::mustQuote(Str));
+ }
+ else {
+ StringRef Str;
+ io.scalarString(Str, ScalarTraits<T>::mustQuote(Str));
+ StringRef Result = ScalarTraits<T>::input(Str, io.getContext(), Val);
+ if ( !Result.empty() ) {
+ io.setError(llvm::Twine(Result));
+ }
+ }
+}
+
+template <typename T>
+typename std::enable_if<has_BlockScalarTraits<T>::value, void>::type
+yamlize(IO &YamlIO, T &Val, bool, EmptyContext &Ctx) {
+ if (YamlIO.outputting()) {
+ std::string Storage;
+ llvm::raw_string_ostream Buffer(Storage);
+ BlockScalarTraits<T>::output(Val, YamlIO.getContext(), Buffer);
+ StringRef Str = Buffer.str();
+ YamlIO.blockScalarString(Str);
+ } else {
+ StringRef Str;
+ YamlIO.blockScalarString(Str);
+ StringRef Result =
+ BlockScalarTraits<T>::input(Str, YamlIO.getContext(), Val);
+ if (!Result.empty())
+ YamlIO.setError(llvm::Twine(Result));
+ }
+}
+
+template <typename T, typename Context>
+typename std::enable_if<validatedMappingTraits<T, Context>::value, void>::type
+yamlize(IO &io, T &Val, bool, Context &Ctx) {
+ if (has_FlowTraits<MappingTraits<T>>::value)
+ io.beginFlowMapping();
+ else
+ io.beginMapping();
+ if (io.outputting()) {
+ StringRef Err = MappingTraits<T>::validate(io, Val);
+ if (!Err.empty()) {
+ llvm::errs() << Err << "\n";
+ assert(Err.empty() && "invalid struct trying to be written as yaml");
+ }
+ }
+ detail::doMapping(io, Val, Ctx);
+ if (!io.outputting()) {
+ StringRef Err = MappingTraits<T>::validate(io, Val);
+ if (!Err.empty())
+ io.setError(Err);
+ }
+ if (has_FlowTraits<MappingTraits<T>>::value)
+ io.endFlowMapping();
+ else
+ io.endMapping();
+}
+
+template <typename T, typename Context>
+typename std::enable_if<unvalidatedMappingTraits<T, Context>::value, void>::type
+yamlize(IO &io, T &Val, bool, Context &Ctx) {
+ if (has_FlowTraits<MappingTraits<T>>::value) {
+ io.beginFlowMapping();
+ detail::doMapping(io, Val, Ctx);
+ io.endFlowMapping();
+ } else {
+ io.beginMapping();
+ detail::doMapping(io, Val, Ctx);
+ io.endMapping();
+ }
+}
+
+template <typename T>
+typename std::enable_if<missingTraits<T, EmptyContext>::value, void>::type
+yamlize(IO &io, T &Val, bool, EmptyContext &Ctx) {
+ char missing_yaml_trait_for_type[sizeof(MissingTrait<T>)];
+}
+
+template <typename T, typename Context>
+typename std::enable_if<has_SequenceTraits<T>::value, void>::type
+yamlize(IO &io, T &Seq, bool, Context &Ctx) {
+ if ( has_FlowTraits< SequenceTraits<T> >::value ) {
+ unsigned incnt = io.beginFlowSequence();
+ unsigned count = io.outputting() ? SequenceTraits<T>::size(io, Seq) : incnt;
+ for(unsigned i=0; i < count; ++i) {
+ void *SaveInfo;
+ if ( io.preflightFlowElement(i, SaveInfo) ) {
+ yamlize(io, SequenceTraits<T>::element(io, Seq, i), true, Ctx);
+ io.postflightFlowElement(SaveInfo);
+ }
+ }
+ io.endFlowSequence();
+ }
+ else {
+ unsigned incnt = io.beginSequence();
+ unsigned count = io.outputting() ? SequenceTraits<T>::size(io, Seq) : incnt;
+ for(unsigned i=0; i < count; ++i) {
+ void *SaveInfo;
+ if ( io.preflightElement(i, SaveInfo) ) {
+ yamlize(io, SequenceTraits<T>::element(io, Seq, i), true, Ctx);
+ io.postflightElement(SaveInfo);
+ }
+ }
+ io.endSequence();
+ }
+}
+
+template<>
+struct ScalarTraits<bool> {
+ static void output(const bool &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, bool &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<StringRef> {
+ static void output(const StringRef &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, StringRef &);
+ static bool mustQuote(StringRef S) { return needsQuotes(S); }
+};
+
+template<>
+struct ScalarTraits<std::string> {
+ static void output(const std::string &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, std::string &);
+ static bool mustQuote(StringRef S) { return needsQuotes(S); }
+};
+
+template<>
+struct ScalarTraits<uint8_t> {
+ static void output(const uint8_t &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, uint8_t &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<uint16_t> {
+ static void output(const uint16_t &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, uint16_t &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<uint32_t> {
+ static void output(const uint32_t &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, uint32_t &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<uint64_t> {
+ static void output(const uint64_t &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, uint64_t &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<int8_t> {
+ static void output(const int8_t &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, int8_t &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<int16_t> {
+ static void output(const int16_t &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, int16_t &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<int32_t> {
+ static void output(const int32_t &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, int32_t &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<int64_t> {
+ static void output(const int64_t &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, int64_t &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<float> {
+ static void output(const float &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, float &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<double> {
+ static void output(const double &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, double &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+// For endian types, we just use the existing ScalarTraits for the underlying
+// type. This way endian aware types are supported whenever a ScalarTraits
+// is defined for the underlying type.
+template <typename value_type, support::endianness endian, size_t alignment>
+struct ScalarTraits<support::detail::packed_endian_specific_integral<
+ value_type, endian, alignment>> {
+ typedef support::detail::packed_endian_specific_integral<value_type, endian,
+ alignment>
+ endian_type;
+
+ static void output(const endian_type &E, void *Ctx,
+ llvm::raw_ostream &Stream) {
+ ScalarTraits<value_type>::output(static_cast<value_type>(E), Ctx, Stream);
+ }
+
+ static StringRef input(StringRef Str, void *Ctx, endian_type &E) {
+ value_type V;
+ auto R = ScalarTraits<value_type>::input(Str, Ctx, V);
+ E = static_cast<endian_type>(V);
+ return R;
+ }
+
+ static bool mustQuote(StringRef Str) {
+ return ScalarTraits<value_type>::mustQuote(Str);
+ }
+};
+
+// Utility for use within MappingTraits<>::mapping() method
+// to [de]normalize an object for use with YAML conversion.
+template <typename TNorm, typename TFinal>
+struct MappingNormalization {
+ MappingNormalization(IO &i_o, TFinal &Obj)
+ : io(i_o), BufPtr(nullptr), Result(Obj) {
+ if ( io.outputting() ) {
+ BufPtr = new (&Buffer) TNorm(io, Obj);
+ }
+ else {
+ BufPtr = new (&Buffer) TNorm(io);
+ }
+ }
+
+ ~MappingNormalization() {
+ if ( ! io.outputting() ) {
+ Result = BufPtr->denormalize(io);
+ }
+ BufPtr->~TNorm();
+ }
+
+ TNorm* operator->() { return BufPtr; }
+
+private:
+ typedef llvm::AlignedCharArrayUnion<TNorm> Storage;
+
+ Storage Buffer;
+ IO &io;
+ TNorm *BufPtr;
+ TFinal &Result;
+};
+
+// Utility for use within MappingTraits<>::mapping() method
+// to [de]normalize an object for use with YAML conversion.
+template <typename TNorm, typename TFinal>
+struct MappingNormalizationHeap {
+ MappingNormalizationHeap(IO &i_o, TFinal &Obj,
+ llvm::BumpPtrAllocator *allocator)
+ : io(i_o), BufPtr(nullptr), Result(Obj) {
+ if ( io.outputting() ) {
+ BufPtr = new (&Buffer) TNorm(io, Obj);
+ }
+ else if (allocator) {
+ BufPtr = allocator->Allocate<TNorm>();
+ new (BufPtr) TNorm(io);
+ } else {
+ BufPtr = new TNorm(io);
+ }
+ }
+
+ ~MappingNormalizationHeap() {
+ if ( io.outputting() ) {
+ BufPtr->~TNorm();
+ }
+ else {
+ Result = BufPtr->denormalize(io);
+ }
+ }
+
+ TNorm* operator->() { return BufPtr; }
+
+private:
+ typedef llvm::AlignedCharArrayUnion<TNorm> Storage;
+
+ Storage Buffer;
+ IO &io;
+ TNorm *BufPtr;
+ TFinal &Result;
+};
+
+///
+/// The Input class is used to parse a yaml document into in-memory structs
+/// and vectors.
+///
+/// It works by using YAMLParser to do a syntax parse of the entire yaml
+/// document, then the Input class builds a graph of HNodes which wraps
+/// each yaml Node. The extra layer is buffering. The low level yaml
+/// parser only lets you look at each node once. The buffering layer lets
+/// you search and interate multiple times. This is necessary because
+/// the mapRequired() method calls may not be in the same order
+/// as the keys in the document.
+///
+class Input : public IO {
+public:
+ // Construct a yaml Input object from a StringRef and optional
+ // user-data. The DiagHandler can be specified to provide
+ // alternative error reporting.
+ Input(StringRef InputContent,
+ void *Ctxt = nullptr,
+ SourceMgr::DiagHandlerTy DiagHandler = nullptr,
+ void *DiagHandlerCtxt = nullptr);
+ ~Input() override;
+
+ // Check if there was an syntax or semantic error during parsing.
+ std::error_code error();
+
+private:
+ bool outputting() override;
+ bool mapTag(StringRef, bool) override;
+ void beginMapping() override;
+ void endMapping() override;
+ bool preflightKey(const char *, bool, bool, bool &, void *&) override;
+ void postflightKey(void *) override;
+ void beginFlowMapping() override;
+ void endFlowMapping() override;
+ unsigned beginSequence() override;
+ void endSequence() override;
+ bool preflightElement(unsigned index, void *&) override;
+ void postflightElement(void *) override;
+ unsigned beginFlowSequence() override;
+ bool preflightFlowElement(unsigned , void *&) override;
+ void postflightFlowElement(void *) override;
+ void endFlowSequence() override;
+ void beginEnumScalar() override;
+ bool matchEnumScalar(const char*, bool) override;
+ bool matchEnumFallback() override;
+ void endEnumScalar() override;
+ bool beginBitSetScalar(bool &) override;
+ bool bitSetMatch(const char *, bool ) override;
+ void endBitSetScalar() override;
+ void scalarString(StringRef &, bool) override;
+ void blockScalarString(StringRef &) override;
+ void setError(const Twine &message) override;
+ bool canElideEmptySequence() override;
+
+ class HNode {
+ virtual void anchor();
+
+ public:
+ HNode(Node *n) : _node(n) { }
+ virtual ~HNode() = default;
+
+ static inline bool classof(const HNode *) { return true; }
+
+ Node *_node;
+ };
+
+ class EmptyHNode : public HNode {
+ void anchor() override;
+
+ public:
+ EmptyHNode(Node *n) : HNode(n) { }
+
+ static inline bool classof(const HNode *n) {
+ return NullNode::classof(n->_node);
+ }
+
+ static inline bool classof(const EmptyHNode *) { return true; }
+ };
+
+ class ScalarHNode : public HNode {
+ void anchor() override;
+
+ public:
+ ScalarHNode(Node *n, StringRef s) : HNode(n), _value(s) { }
+
+ StringRef value() const { return _value; }
+
+ static inline bool classof(const HNode *n) {
+ return ScalarNode::classof(n->_node) ||
+ BlockScalarNode::classof(n->_node);
+ }
+
+ static inline bool classof(const ScalarHNode *) { return true; }
+
+ protected:
+ StringRef _value;
+ };
+
+ class MapHNode : public HNode {
+ void anchor() override;
+
+ public:
+ MapHNode(Node *n) : HNode(n) { }
+
+ static inline bool classof(const HNode *n) {
+ return MappingNode::classof(n->_node);
+ }
+
+ static inline bool classof(const MapHNode *) { return true; }
+
+ typedef llvm::StringMap<std::unique_ptr<HNode>> NameToNode;
+
+ bool isValidKey(StringRef key);
+
+ NameToNode Mapping;
+ llvm::SmallVector<const char*, 6> ValidKeys;
+ };
+
+ class SequenceHNode : public HNode {
+ void anchor() override;
+
+ public:
+ SequenceHNode(Node *n) : HNode(n) { }
+
+ static inline bool classof(const HNode *n) {
+ return SequenceNode::classof(n->_node);
+ }
+
+ static inline bool classof(const SequenceHNode *) { return true; }
+
+ std::vector<std::unique_ptr<HNode>> Entries;
+ };
+
+ std::unique_ptr<Input::HNode> createHNodes(Node *node);
+ void setError(HNode *hnode, const Twine &message);
+ void setError(Node *node, const Twine &message);
+
+public:
+ // These are only used by operator>>. They could be private
+ // if those templated things could be made friends.
+ bool setCurrentDocument();
+ bool nextDocument();
+
+ /// Returns the current node that's being parsed by the YAML Parser.
+ const Node *getCurrentNode() const;
+
+private:
+ llvm::SourceMgr SrcMgr; // must be before Strm
+ std::unique_ptr<llvm::yaml::Stream> Strm;
+ std::unique_ptr<HNode> TopNode;
+ std::error_code EC;
+ llvm::BumpPtrAllocator StringAllocator;
+ llvm::yaml::document_iterator DocIterator;
+ std::vector<bool> BitValuesUsed;
+ HNode *CurrentNode;
+ bool ScalarMatchFound;
+};
+
+///
+/// The Output class is used to generate a yaml document from in-memory structs
+/// and vectors.
+///
+class Output : public IO {
+public:
+ Output(llvm::raw_ostream &, void *Ctxt = nullptr, int WrapColumn = 70);
+ ~Output() override;
+
+ bool outputting() override;
+ bool mapTag(StringRef, bool) override;
+ void beginMapping() override;
+ void endMapping() override;
+ bool preflightKey(const char *key, bool, bool, bool &, void *&) override;
+ void postflightKey(void *) override;
+ void beginFlowMapping() override;
+ void endFlowMapping() override;
+ unsigned beginSequence() override;
+ void endSequence() override;
+ bool preflightElement(unsigned, void *&) override;
+ void postflightElement(void *) override;
+ unsigned beginFlowSequence() override;
+ bool preflightFlowElement(unsigned, void *&) override;
+ void postflightFlowElement(void *) override;
+ void endFlowSequence() override;
+ void beginEnumScalar() override;
+ bool matchEnumScalar(const char*, bool) override;
+ bool matchEnumFallback() override;
+ void endEnumScalar() override;
+ bool beginBitSetScalar(bool &) override;
+ bool bitSetMatch(const char *, bool ) override;
+ void endBitSetScalar() override;
+ void scalarString(StringRef &, bool) override;
+ void blockScalarString(StringRef &) override;
+ void setError(const Twine &message) override;
+ bool canElideEmptySequence() override;
+
+ // These are only used by operator<<. They could be private
+ // if that templated operator could be made a friend.
+ void beginDocuments();
+ bool preflightDocument(unsigned);
+ void postflightDocument();
+ void endDocuments();
+
+private:
+ void output(StringRef s);
+ void outputUpToEndOfLine(StringRef s);
+ void newLineCheck();
+ void outputNewLine();
+ void paddedKey(StringRef key);
+ void flowKey(StringRef Key);
+
+ enum InState {
+ inSeq,
+ inFlowSeq,
+ inMapFirstKey,
+ inMapOtherKey,
+ inFlowMapFirstKey,
+ inFlowMapOtherKey
+ };
+
+ llvm::raw_ostream &Out;
+ int WrapColumn;
+ SmallVector<InState, 8> StateStack;
+ int Column;
+ int ColumnAtFlowStart;
+ int ColumnAtMapFlowStart;
+ bool NeedBitValueComma;
+ bool NeedFlowSequenceComma;
+ bool EnumerationMatchFound;
+ bool NeedsNewLine;
+};
+
+/// YAML I/O does conversion based on types. But often native data types
+/// are just a typedef of built in intergral types (e.g. int). But the C++
+/// type matching system sees through the typedef and all the typedefed types
+/// look like a built in type. This will cause the generic YAML I/O conversion
+/// to be used. To provide better control over the YAML conversion, you can
+/// use this macro instead of typedef. It will create a class with one field
+/// and automatic conversion operators to and from the base type.
+/// Based on BOOST_STRONG_TYPEDEF
+#define LLVM_YAML_STRONG_TYPEDEF(_base, _type) \
+ struct _type { \
+ _type() = default; \
+ _type(const _base v) : value(v) {} \
+ _type(const _type &v) = default; \
+ _type &operator=(const _type &rhs) = default; \
+ _type &operator=(const _base &rhs) { value = rhs; return *this; } \
+ operator const _base & () const { return value; } \
+ bool operator==(const _type &rhs) const { return value == rhs.value; } \
+ bool operator==(const _base &rhs) const { return value == rhs; } \
+ bool operator<(const _type &rhs) const { return value < rhs.value; } \
+ _base value; \
+ typedef _base BaseType; \
+ };
+
+///
+/// Use these types instead of uintXX_t in any mapping to have
+/// its yaml output formatted as hexadecimal.
+///
+LLVM_YAML_STRONG_TYPEDEF(uint8_t, Hex8)
+LLVM_YAML_STRONG_TYPEDEF(uint16_t, Hex16)
+LLVM_YAML_STRONG_TYPEDEF(uint32_t, Hex32)
+LLVM_YAML_STRONG_TYPEDEF(uint64_t, Hex64)
+
+template<>
+struct ScalarTraits<Hex8> {
+ static void output(const Hex8 &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, Hex8 &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<Hex16> {
+ static void output(const Hex16 &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, Hex16 &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<Hex32> {
+ static void output(const Hex32 &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, Hex32 &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template<>
+struct ScalarTraits<Hex64> {
+ static void output(const Hex64 &, void*, llvm::raw_ostream &);
+ static StringRef input(StringRef, void*, Hex64 &);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+// Define non-member operator>> so that Input can stream in a document list.
+template <typename T>
+inline
+typename std::enable_if<has_DocumentListTraits<T>::value, Input &>::type
+operator>>(Input &yin, T &docList) {
+ int i = 0;
+ EmptyContext Ctx;
+ while ( yin.setCurrentDocument() ) {
+ yamlize(yin, DocumentListTraits<T>::element(yin, docList, i), true, Ctx);
+ if ( yin.error() )
+ return yin;
+ yin.nextDocument();
+ ++i;
+ }
+ return yin;
+}
+
+// Define non-member operator>> so that Input can stream in a map as a document.
+template <typename T>
+inline typename std::enable_if<has_MappingTraits<T, EmptyContext>::value,
+ Input &>::type
+operator>>(Input &yin, T &docMap) {
+ EmptyContext Ctx;
+ yin.setCurrentDocument();
+ yamlize(yin, docMap, true, Ctx);
+ return yin;
+}
+
+// Define non-member operator>> so that Input can stream in a sequence as
+// a document.
+template <typename T>
+inline
+typename std::enable_if<has_SequenceTraits<T>::value, Input &>::type
+operator>>(Input &yin, T &docSeq) {
+ EmptyContext Ctx;
+ if (yin.setCurrentDocument())
+ yamlize(yin, docSeq, true, Ctx);
+ return yin;
+}
+
+// Define non-member operator>> so that Input can stream in a block scalar.
+template <typename T>
+inline
+typename std::enable_if<has_BlockScalarTraits<T>::value, Input &>::type
+operator>>(Input &In, T &Val) {
+ EmptyContext Ctx;
+ if (In.setCurrentDocument())
+ yamlize(In, Val, true, Ctx);
+ return In;
+}
+
+// Provide better error message about types missing a trait specialization
+template <typename T>
+inline typename std::enable_if<missingTraits<T, EmptyContext>::value,
+ Input &>::type
+operator>>(Input &yin, T &docSeq) {
+ char missing_yaml_trait_for_type[sizeof(MissingTrait<T>)];
+ return yin;
+}
+
+// Define non-member operator<< so that Output can stream out document list.
+template <typename T>
+inline
+typename std::enable_if<has_DocumentListTraits<T>::value, Output &>::type
+operator<<(Output &yout, T &docList) {
+ EmptyContext Ctx;
+ yout.beginDocuments();
+ const size_t count = DocumentListTraits<T>::size(yout, docList);
+ for(size_t i=0; i < count; ++i) {
+ if ( yout.preflightDocument(i) ) {
+ yamlize(yout, DocumentListTraits<T>::element(yout, docList, i), true,
+ Ctx);
+ yout.postflightDocument();
+ }
+ }
+ yout.endDocuments();
+ return yout;
+}
+
+// Define non-member operator<< so that Output can stream out a map.
+template <typename T>
+inline typename std::enable_if<has_MappingTraits<T, EmptyContext>::value,
+ Output &>::type
+operator<<(Output &yout, T &map) {
+ EmptyContext Ctx;
+ yout.beginDocuments();
+ if ( yout.preflightDocument(0) ) {
+ yamlize(yout, map, true, Ctx);
+ yout.postflightDocument();
+ }
+ yout.endDocuments();
+ return yout;
+}
+
+// Define non-member operator<< so that Output can stream out a sequence.
+template <typename T>
+inline
+typename std::enable_if<has_SequenceTraits<T>::value, Output &>::type
+operator<<(Output &yout, T &seq) {
+ EmptyContext Ctx;
+ yout.beginDocuments();
+ if ( yout.preflightDocument(0) ) {
+ yamlize(yout, seq, true, Ctx);
+ yout.postflightDocument();
+ }
+ yout.endDocuments();
+ return yout;
+}
+
+// Define non-member operator<< so that Output can stream out a block scalar.
+template <typename T>
+inline
+typename std::enable_if<has_BlockScalarTraits<T>::value, Output &>::type
+operator<<(Output &Out, T &Val) {
+ EmptyContext Ctx;
+ Out.beginDocuments();
+ if (Out.preflightDocument(0)) {
+ yamlize(Out, Val, true, Ctx);
+ Out.postflightDocument();
+ }
+ Out.endDocuments();
+ return Out;
+}
+
+// Provide better error message about types missing a trait specialization
+template <typename T>
+inline typename std::enable_if<missingTraits<T, EmptyContext>::value,
+ Output &>::type
+operator<<(Output &yout, T &seq) {
+ char missing_yaml_trait_for_type[sizeof(MissingTrait<T>)];
+ return yout;
+}
+
+template <typename T> struct SequenceTraitsImpl {
+ typedef typename T::value_type _type;
+ static size_t size(IO &io, T &seq) { return seq.size(); }
+ static _type &element(IO &io, T &seq, size_t index) {
+ if (index >= seq.size())
+ seq.resize(index + 1);
+ return seq[index];
+ }
+};
+
+} // end namespace yaml
+} // end namespace llvm
+
+/// Utility for declaring that a std::vector of a particular type
+/// should be considered a YAML sequence.
+#define LLVM_YAML_IS_SEQUENCE_VECTOR(_type) \
+ namespace llvm { \
+ namespace yaml { \
+ template <> \
+ struct SequenceTraits<std::vector<_type>> \
+ : public SequenceTraitsImpl<std::vector<_type>> {}; \
+ template <unsigned N> \
+ struct SequenceTraits<SmallVector<_type, N>> \
+ : public SequenceTraitsImpl<SmallVector<_type, N>> {}; \
+ } \
+ }
+
+/// Utility for declaring that a std::vector of a particular type
+/// should be considered a YAML flow sequence.
+/// We need to do a partial specialization on the vector version, not a full.
+/// If this is a full specialization, the compiler is a bit too "smart" and
+/// decides to warn on -Wunused-const-variable. This workaround can be
+/// removed and we can do a full specialization on std::vector<T> once
+/// PR28878 is fixed.
+#define LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(_type) \
+ namespace llvm { \
+ namespace yaml { \
+ template <unsigned N> \
+ struct SequenceTraits<SmallVector<_type, N>> \
+ : public SequenceTraitsImpl<SmallVector<_type, N>> { \
+ static const bool flow = true; \
+ }; \
+ template <typename Allocator> \
+ struct SequenceTraits<std::vector<_type, Allocator>> \
+ : public SequenceTraitsImpl<std::vector<_type, Allocator>> { \
+ static const bool flow = true; \
+ }; \
+ } \
+ }
+
+/// Utility for declaring that a std::vector of a particular type
+/// should be considered a YAML document list.
+#define LLVM_YAML_IS_DOCUMENT_LIST_VECTOR(_type) \
+ namespace llvm { \
+ namespace yaml { \
+ template <unsigned N> \
+ struct DocumentListTraits<SmallVector<_type, N>> \
+ : public SequenceTraitsImpl<SmallVector<_type, N>> {}; \
+ template <> \
+ struct DocumentListTraits<std::vector<_type>> \
+ : public SequenceTraitsImpl<std::vector<_type>> {}; \
+ } \
+ }
+
+#endif // LLVM_SUPPORT_YAMLTRAITS_H
diff --git a/third_party/llvm-subzero/include/llvm/Support/raw_ostream.h b/third_party/llvm-subzero/include/llvm/Support/raw_ostream.h
index d1e96f8..e644a5b 100644
--- a/third_party/llvm-subzero/include/llvm/Support/raw_ostream.h
+++ b/third_party/llvm-subzero/include/llvm/Support/raw_ostream.h
@@ -16,20 +16,26 @@
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
-#include "llvm/Support/DataTypes.h"
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
+#include <cstring>
+#include <string>
#include <system_error>
namespace llvm {
+
+class formatv_object_base;
class format_object_base;
class FormattedString;
class FormattedNumber;
-template <typename T> class SmallVectorImpl;
+class FormattedBytes;
namespace sys {
namespace fs {
enum OpenFlags : unsigned;
-}
-}
+} // end namespace fs
+} // end namespace sys
/// This class implements an extremely fast bulk output stream that can *only*
/// output to a stream. It does not support seeking, reopening, rewinding, line
@@ -37,9 +43,6 @@
/// a chunk at a time.
class raw_ostream {
private:
- void operator=(const raw_ostream &) = delete;
- raw_ostream(const raw_ostream &) = delete;
-
/// The buffer is handled in such a way that the buffer is
/// uninitialized, unbuffered, or out of space when OutBufCur >=
/// OutBufEnd. Thus a single comparison suffices to determine if we
@@ -69,7 +72,7 @@
public:
// color order matches ANSI escape sequence, don't change
enum Colors {
- BLACK=0,
+ BLACK = 0,
RED,
GREEN,
YELLOW,
@@ -86,6 +89,9 @@
OutBufStart = OutBufEnd = OutBufCur = nullptr;
}
+ raw_ostream(const raw_ostream &) = delete;
+ void operator=(const raw_ostream &) = delete;
+
virtual ~raw_ostream();
/// tell - Return the current offset with the file.
@@ -184,7 +190,7 @@
return write(Str.data(), Str.length());
}
- raw_ostream &operator<<(const llvm::SmallVectorImpl<char> &Str) {
+ raw_ostream &operator<<(const SmallVectorImpl<char> &Str) {
return write(Str.data(), Str.size());
}
@@ -193,6 +199,7 @@
raw_ostream &operator<<(unsigned long long N);
raw_ostream &operator<<(long long N);
raw_ostream &operator<<(const void *P);
+
raw_ostream &operator<<(unsigned int N) {
return this->operator<<(static_cast<unsigned long>(N));
}
@@ -222,6 +229,12 @@
// Formatted output, see the formatHex() function in Support/Format.h.
raw_ostream &operator<<(const FormattedNumber &);
+ // Formatted output, see the formatv() function in Support/FormatVariadic.h.
+ raw_ostream &operator<<(const formatv_object_base &);
+
+ // Formatted output, see the format_bytes() function in Support/Format.h.
+ raw_ostream &operator<<(const FormattedBytes &);
+
/// indent - Insert 'NumSpaces' spaces.
raw_ostream &indent(unsigned NumSpaces);
@@ -493,7 +506,8 @@
explicit raw_svector_ostream(SmallVectorImpl<char> &O) : OS(O) {
SetUnbuffered();
}
- ~raw_svector_ostream() override {}
+
+ ~raw_svector_ostream() override = default;
void flush() = delete;
@@ -512,7 +526,7 @@
uint64_t current_pos() const override;
public:
- explicit raw_null_ostream() {}
+ explicit raw_null_ostream() = default;
~raw_null_ostream() override;
};
@@ -525,6 +539,6 @@
~buffer_ostream() override { OS << str(); }
};
-} // end llvm namespace
+} // end namespace llvm
#endif // LLVM_SUPPORT_RAW_OSTREAM_H
diff --git a/third_party/llvm-subzero/lib/Support/APInt.cpp b/third_party/llvm-subzero/lib/Support/APInt.cpp
index 318ce10..0c0b498 100644
--- a/third_party/llvm-subzero/lib/Support/APInt.cpp
+++ b/third_party/llvm-subzero/lib/Support/APInt.cpp
@@ -22,10 +22,10 @@
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
+#include <climits>
#include <cmath>
#include <cstdlib>
#include <cstring>
-#include <limits>
using namespace llvm;
#define DEBUG_TYPE "apint"
diff --git a/third_party/llvm-subzero/lib/Support/CommandLine.cpp b/third_party/llvm-subzero/lib/Support/CommandLine.cpp
index 551cdef..fa1782c 100644
--- a/third_party/llvm-subzero/lib/Support/CommandLine.cpp
+++ b/third_party/llvm-subzero/lib/Support/CommandLine.cpp
@@ -30,6 +30,7 @@
#include "llvm/Support/ConvertUTF.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Host.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/MemoryBuffer.h"
@@ -44,6 +45,17 @@
#define DEBUG_TYPE "commandline"
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+namespace llvm {
+// If LLVM_ENABLE_ABI_BREAKING_CHECKS is set the flag -mllvm -reverse-iterate
+// can be used to toggle forward/reverse iteration of unordered containers.
+// This will help uncover differences in codegen caused due to undefined
+// iteration order.
+static cl::opt<bool, true> ReverseIteration("reverse-iterate",
+ cl::location(ReverseIterate<bool>::value));
+}
+#endif
+
//===----------------------------------------------------------------------===//
// Template instantiations and anchors.
//
@@ -92,10 +104,10 @@
// Globals for name and overview of program. Program name is not a string to
// avoid static ctor/dtor issues.
std::string ProgramName;
- const char *ProgramOverview;
+ StringRef ProgramOverview;
// This collects additional help to be printed.
- std::vector<const char *> MoreHelp;
+ std::vector<StringRef> MoreHelp;
// This collects the different option categories that have been registered.
SmallPtrSet<OptionCategory *, 16> RegisteredOptionCategories;
@@ -103,7 +115,7 @@
// This collects the different subcommands that have been registered.
SmallPtrSet<SubCommand *, 4> RegisteredSubCommands;
- CommandLineParser() : ProgramOverview(nullptr), ActiveSubCommand(nullptr) {
+ CommandLineParser() : ActiveSubCommand(nullptr) {
registerSubCommand(&*TopLevelSubCommand);
registerSubCommand(&*AllSubCommands);
}
@@ -111,9 +123,9 @@
void ResetAllOptionOccurrences();
bool ParseCommandLineOptions(int argc, const char *const *argv,
- const char *Overview, bool IgnoreErrors);
+ StringRef Overview, bool IgnoreErrors);
- void addLiteralOption(Option &Opt, SubCommand *SC, const char *Name) {
+ void addLiteralOption(Option &Opt, SubCommand *SC, StringRef Name) {
if (Opt.hasArgStr())
return;
if (!SC->OptionsMap.insert(std::make_pair(Name, &Opt)).second) {
@@ -133,7 +145,7 @@
}
}
- void addLiteralOption(Option &Opt, const char *Name) {
+ void addLiteralOption(Option &Opt, StringRef Name) {
if (Opt.Subs.empty())
addLiteralOption(Opt, &*TopLevelSubCommand, Name);
else {
@@ -285,7 +297,7 @@
void registerSubCommand(SubCommand *sub) {
assert(count_if(RegisteredSubCommands,
[sub](const SubCommand *Sub) {
- return (sub->getName() != nullptr) &&
+ return (!sub->getName().empty()) &&
(Sub->getName() == sub->getName());
}) == 0 &&
"Duplicate subcommands");
@@ -300,7 +312,7 @@
O->hasArgStr())
addOption(O, sub);
else
- addLiteralOption(*O, sub, E.first().str().c_str());
+ addLiteralOption(*O, sub, E.first());
}
}
}
@@ -309,10 +321,16 @@
RegisteredSubCommands.erase(sub);
}
+ iterator_range<typename SmallPtrSet<SubCommand *, 4>::iterator>
+ getRegisteredSubcommands() {
+ return make_range(RegisteredSubCommands.begin(),
+ RegisteredSubCommands.end());
+ }
+
void reset() {
ActiveSubCommand = nullptr;
ProgramName.clear();
- ProgramOverview = nullptr;
+ ProgramOverview = StringRef();
MoreHelp.clear();
RegisteredOptionCategories.clear();
@@ -330,18 +348,18 @@
SubCommand *ActiveSubCommand;
Option *LookupOption(SubCommand &Sub, StringRef &Arg, StringRef &Value);
- SubCommand *LookupSubCommand(const char *Name);
+ SubCommand *LookupSubCommand(StringRef Name);
};
} // namespace
static ManagedStatic<CommandLineParser> GlobalParser;
-void cl::AddLiteralOption(Option &O, const char *Name) {
+void cl::AddLiteralOption(Option &O, StringRef Name) {
GlobalParser->addLiteralOption(O, Name);
}
-extrahelp::extrahelp(const char *Help) : morehelp(Help) {
+extrahelp::extrahelp(StringRef Help) : morehelp(Help) {
GlobalParser->MoreHelp.push_back(Help);
}
@@ -428,13 +446,13 @@
return I->second;
}
-SubCommand *CommandLineParser::LookupSubCommand(const char *Name) {
- if (Name == nullptr)
+SubCommand *CommandLineParser::LookupSubCommand(StringRef Name) {
+ if (Name.empty())
return &*TopLevelSubCommand;
for (auto S : RegisteredSubCommands) {
if (S == &*AllSubCommands)
continue;
- if (S->getName() == nullptr)
+ if (S->getName().empty())
continue;
if (StringRef(S->getName()) == StringRef(Name))
@@ -534,7 +552,7 @@
return Handler->error("requires a value!");
// Steal the next argument, like for '-o filename'
assert(argv && "null check");
- Value = argv[++i];
+ Value = StringRef(argv[++i]);
}
break;
case ValueDisallowed:
@@ -568,7 +586,7 @@
if (i + 1 >= argc)
return Handler->error("not enough values!");
assert(argv && "null check");
- Value = argv[++i];
+ Value = StringRef(argv[++i]);
if (CommaSeparateAndAddOccurrence(Handler, i, ArgName, Value, MultiArg))
return true;
@@ -726,7 +744,7 @@
// End the token if this is whitespace.
if (isWhitespace(Src[I])) {
if (!Token.empty())
- NewArgv.push_back(Saver.save(Token.c_str()));
+ NewArgv.push_back(Saver.save(StringRef(Token)).data());
Token.clear();
continue;
}
@@ -737,7 +755,7 @@
// Append the last token after hitting EOF with no whitespace.
if (!Token.empty())
- NewArgv.push_back(Saver.save(Token.c_str()));
+ NewArgv.push_back(Saver.save(StringRef(Token)).data());
// Mark the end of response files
if (MarkEOLs)
NewArgv.push_back(nullptr);
@@ -818,7 +836,7 @@
if (State == UNQUOTED) {
// Whitespace means the end of the token.
if (isWhitespace(Src[I])) {
- NewArgv.push_back(Saver.save(Token.c_str()));
+ NewArgv.push_back(Saver.save(StringRef(Token)).data());
Token.clear();
State = INIT;
// Mark the end of lines in response files
@@ -853,7 +871,7 @@
}
// Append the last token after hitting EOF with no whitespace.
if (!Token.empty())
- NewArgv.push_back(Saver.save(Token.c_str()));
+ NewArgv.push_back(Saver.save(StringRef(Token)).data());
// Mark the end of response files
if (MarkEOLs)
NewArgv.push_back(nullptr);
@@ -865,10 +883,10 @@
return (S.size() >= 3 && S[0] == '\xef' && S[1] == '\xbb' && S[2] == '\xbf');
}
-static bool ExpandResponseFile(const char *FName, StringSaver &Saver,
+static bool ExpandResponseFile(StringRef FName, StringSaver &Saver,
TokenizerCallback Tokenizer,
SmallVectorImpl<const char *> &NewArgv,
- bool MarkEOLs = false) {
+ bool MarkEOLs, bool RelativeNames) {
ErrorOr<std::unique_ptr<MemoryBuffer>> MemBufOrErr =
MemoryBuffer::getFile(FName);
if (!MemBufOrErr)
@@ -893,6 +911,30 @@
// Tokenize the contents into NewArgv.
Tokenizer(Str, Saver, NewArgv, MarkEOLs);
+ // If names of nested response files should be resolved relative to including
+ // file, replace the included response file names with their full paths
+ // obtained by required resolution.
+ if (RelativeNames)
+ for (unsigned I = 0; I < NewArgv.size(); ++I)
+ if (NewArgv[I]) {
+ StringRef Arg = NewArgv[I];
+ if (Arg.front() == '@') {
+ StringRef FileName = Arg.drop_front();
+ if (llvm::sys::path::is_relative(FileName)) {
+ SmallString<128> ResponseFile;
+ ResponseFile.append(1, '@');
+ if (llvm::sys::path::is_relative(FName)) {
+ SmallString<128> curr_dir;
+ llvm::sys::fs::current_path(curr_dir);
+ ResponseFile.append(curr_dir.str());
+ }
+ llvm::sys::path::append(
+ ResponseFile, llvm::sys::path::parent_path(FName), FileName);
+ NewArgv[I] = Saver.save(ResponseFile.c_str()).data();
+ }
+ }
+ }
+
return true;
}
@@ -900,7 +942,7 @@
/// StringSaver and tokenization strategy.
bool cl::ExpandResponseFiles(StringSaver &Saver, TokenizerCallback Tokenizer,
SmallVectorImpl<const char *> &Argv,
- bool MarkEOLs) {
+ bool MarkEOLs, bool RelativeNames) {
unsigned RspFiles = 0;
bool AllExpanded = true;
@@ -924,11 +966,9 @@
// Replace this response file argument with the tokenization of its
// contents. Nested response files are expanded in subsequent iterations.
- // FIXME: If a nested response file uses a relative path, is it relative to
- // the cwd of the process or the response file?
SmallVector<const char *, 0> ExpandedArgv;
if (!ExpandResponseFile(Arg + 1, Saver, Tokenizer, ExpandedArgv,
- MarkEOLs)) {
+ MarkEOLs, RelativeNames)) {
// We couldn't read this file, so we leave it in the argument stream and
// move on.
AllExpanded = false;
@@ -953,7 +993,7 @@
assert(envVar && "Environment variable name missing");
// Get the environment variable they want us to parse options out of.
- llvm::Optional<std::string> envValue = sys::Process::GetEnv(envVar);
+ llvm::Optional<std::string> envValue = sys::Process::GetEnv(StringRef(envVar));
if (!envValue)
return;
@@ -962,17 +1002,17 @@
SmallVector<const char *, 20> newArgv;
BumpPtrAllocator A;
StringSaver Saver(A);
- newArgv.push_back(Saver.save(progName));
+ newArgv.push_back(Saver.save(progName).data());
// Parse the value of the environment variable into a "command line"
// and hand it off to ParseCommandLineOptions().
TokenizeGNUCommandLine(*envValue, Saver, newArgv);
int newArgc = static_cast<int>(newArgv.size());
- ParseCommandLineOptions(newArgc, &newArgv[0], Overview);
+ ParseCommandLineOptions(newArgc, &newArgv[0], StringRef(Overview));
}
bool cl::ParseCommandLineOptions(int argc, const char *const *argv,
- const char *Overview, bool IgnoreErrors) {
+ StringRef Overview, bool IgnoreErrors) {
return GlobalParser->ParseCommandLineOptions(argc, argv, Overview,
IgnoreErrors);
}
@@ -988,7 +1028,7 @@
bool CommandLineParser::ParseCommandLineOptions(int argc,
const char *const *argv,
- const char *Overview,
+ StringRef Overview,
bool IgnoreErrors) {
assert(hasOptions() && "No options specified!");
@@ -1001,7 +1041,7 @@
argc = static_cast<int>(newArgv.size());
// Copy the program name into ProgName, making sure not to overflow it.
- ProgramName = sys::path::filename(argv[0]);
+ ProgramName = sys::path::filename(StringRef(argv[0]));
ProgramOverview = Overview;
bool ErrorParsing = false;
@@ -1017,7 +1057,7 @@
if (argc >= 2 && argv[FirstArg][0] != '-') {
// If the first argument specifies a valid subcommand, start processing
// options from the second argument.
- ChosenSubCommand = LookupSubCommand(argv[FirstArg]);
+ ChosenSubCommand = LookupSubCommand(StringRef(argv[FirstArg]));
if (ChosenSubCommand != &*TopLevelSubCommand)
FirstArg = 2;
}
@@ -1098,19 +1138,19 @@
if (argv[i][0] != '-' || argv[i][1] == 0 || DashDashFound) {
// Positional argument!
if (ActivePositionalArg) {
- ProvidePositionalOption(ActivePositionalArg, argv[i], i);
+ ProvidePositionalOption(ActivePositionalArg, StringRef(argv[i]), i);
continue; // We are done!
}
if (!PositionalOpts.empty()) {
- PositionalVals.push_back(std::make_pair(argv[i], i));
+ PositionalVals.push_back(std::make_pair(StringRef(argv[i]), i));
// All of the positional arguments have been fulfulled, give the rest to
// the consume after option... if it's specified...
//
if (PositionalVals.size() >= NumPositionalRequired && ConsumeAfterOpt) {
for (++i; i < argc; ++i)
- PositionalVals.push_back(std::make_pair(argv[i], i));
+ PositionalVals.push_back(std::make_pair(StringRef(argv[i]), i));
break; // Handle outside of the argument processing loop...
}
@@ -1126,19 +1166,19 @@
// If there is a positional argument eating options, check to see if this
// option is another positional argument. If so, treat it as an argument,
// otherwise feed it to the eating positional.
- ArgName = argv[i] + 1;
+ ArgName = StringRef(argv[i] + 1);
// Eat leading dashes.
while (!ArgName.empty() && ArgName[0] == '-')
ArgName = ArgName.substr(1);
Handler = LookupOption(*ChosenSubCommand, ArgName, Value);
if (!Handler || Handler->getFormattingFlag() != cl::Positional) {
- ProvidePositionalOption(ActivePositionalArg, argv[i], i);
+ ProvidePositionalOption(ActivePositionalArg, StringRef(argv[i]), i);
continue; // We are done!
}
} else { // We start with a '-', must be an argument.
- ArgName = argv[i] + 1;
+ ArgName = StringRef(argv[i] + 1);
// Eat leading dashes.
while (!ArgName.empty() && ArgName[0] == '-')
ArgName = ArgName.substr(1);
@@ -1175,7 +1215,7 @@
for (SmallVectorImpl<Option *>::iterator I = SinkOpts.begin(),
E = SinkOpts.end();
I != E; ++I)
- (*I)->addOccurrence(i, "", argv[i]);
+ (*I)->addOccurrence(i, "", StringRef(argv[i]));
}
continue;
}
@@ -1389,7 +1429,8 @@
// Return the width of the option tag for printing...
size_t basic_parser_impl::getOptionWidth(const Option &O) const {
size_t Len = O.ArgStr.size();
- if (const char *ValName = getValueName())
+ auto ValName = getValueName();
+ if (!ValName.empty())
Len += getValueStr(O, ValName).size() + 3;
return Len + 6;
@@ -1402,7 +1443,8 @@
size_t GlobalWidth) const {
outs() << " -" << O.ArgStr;
- if (const char *ValName = getValueName())
+ auto ValName = getValueName();
+ if (!ValName.empty())
outs() << "=<" << getValueStr(O, ValName) << '>';
printHelpStr(O.HelpStr, GlobalWidth, getOptionWidth(O));
@@ -1512,11 +1554,11 @@
// findOption - Return the option number corresponding to the specified
// argument string. If the option is not found, getNumOptions() is returned.
//
-unsigned generic_parser_base::findOption(const char *Name) {
+unsigned generic_parser_base::findOption(StringRef Name) {
unsigned e = getNumOptions();
for (unsigned i = 0; i != e; ++i) {
- if (strcmp(getOption(i), Name) == 0)
+ if (getOption(i) == Name)
return i;
}
return e;
@@ -1527,12 +1569,12 @@
if (O.hasArgStr()) {
size_t Size = O.ArgStr.size() + 6;
for (unsigned i = 0, e = getNumOptions(); i != e; ++i)
- Size = std::max(Size, std::strlen(getOption(i)) + 8);
+ Size = std::max(Size, getOption(i).size() + 8);
return Size;
} else {
size_t BaseSize = 0;
for (unsigned i = 0, e = getNumOptions(); i != e; ++i)
- BaseSize = std::max(BaseSize, std::strlen(getOption(i)) + 8);
+ BaseSize = std::max(BaseSize, getOption(i).size() + 8);
return BaseSize;
}
}
@@ -1547,7 +1589,7 @@
printHelpStr(O.HelpStr, GlobalWidth, O.ArgStr.size() + 6);
for (unsigned i = 0, e = getNumOptions(); i != e; ++i) {
- size_t NumSpaces = GlobalWidth - strlen(getOption(i)) - 8;
+ size_t NumSpaces = GlobalWidth - getOption(i).size() - 8;
outs() << " =" << getOption(i);
outs().indent(NumSpaces) << " - " << getDescription(i) << '\n';
}
@@ -1555,9 +1597,9 @@
if (!O.HelpStr.empty())
outs() << " " << O.HelpStr << '\n';
for (unsigned i = 0, e = getNumOptions(); i != e; ++i) {
- const char *Option = getOption(i);
+ auto Option = getOption(i);
outs() << " -" << Option;
- printHelpStr(getDescription(i), GlobalWidth, std::strlen(Option) + 8);
+ printHelpStr(getDescription(i), GlobalWidth, Option.size() + 8);
}
}
}
@@ -1579,7 +1621,7 @@
continue;
outs() << "= " << getOption(i);
- size_t L = std::strlen(getOption(i));
+ size_t L = getOption(i).size();
size_t NumSpaces = MaxOptWidth > L ? MaxOptWidth - L : 0;
outs().indent(NumSpaces) << " (default: ";
for (unsigned j = 0; j != NumOpts; ++j) {
@@ -1692,9 +1734,9 @@
sortSubCommands(const SmallPtrSetImpl<SubCommand *> &SubMap,
SmallVectorImpl<std::pair<const char *, SubCommand *>> &Subs) {
for (const auto &S : SubMap) {
- if (S->getName() == nullptr)
+ if (S->getName().empty())
continue;
- Subs.push_back(std::make_pair(S->getName(), S));
+ Subs.push_back(std::make_pair(S->getName().data(), S));
}
array_pod_sort(Subs.begin(), Subs.end(), SubNameCompare);
}
@@ -1717,7 +1759,7 @@
void printSubCommands(StrSubCommandPairVector &Subs, size_t MaxSubLen) {
for (const auto &S : Subs) {
outs() << " " << S.first;
- if (S.second->getDescription()) {
+ if (!S.second->getDescription().empty()) {
outs().indent(MaxSubLen - strlen(S.first));
outs() << " - " << S.second->getDescription();
}
@@ -1745,14 +1787,16 @@
StrSubCommandPairVector Subs;
sortSubCommands(GlobalParser->RegisteredSubCommands, Subs);
- if (GlobalParser->ProgramOverview)
+ if (!GlobalParser->ProgramOverview.empty())
outs() << "OVERVIEW: " << GlobalParser->ProgramOverview << "\n";
- if (Sub == &*TopLevelSubCommand)
- outs() << "USAGE: " << GlobalParser->ProgramName
- << " [subcommand] [options]";
- else {
- if (Sub->getDescription() != nullptr) {
+ if (Sub == &*TopLevelSubCommand) {
+ outs() << "USAGE: " << GlobalParser->ProgramName;
+ if (Subs.size() > 2)
+ outs() << " [subcommand]";
+ outs() << " [options]";
+ } else {
+ if (!Sub->getDescription().empty()) {
outs() << "SUBCOMMAND '" << Sub->getName()
<< "': " << Sub->getDescription() << "\n\n";
}
@@ -1770,7 +1814,7 @@
if (ConsumeAfterOpt)
outs() << " " << ConsumeAfterOpt->HelpStr;
- if (Sub == &*TopLevelSubCommand && Subs.size() > 2) {
+ if (Sub == &*TopLevelSubCommand && !Subs.empty()) {
// Compute the maximum subcommand length...
size_t MaxSubLen = 0;
for (size_t i = 0, e = Subs.size(); i != e; ++i)
@@ -1814,7 +1858,7 @@
// ordered before B's name. It returns a value greater equal zero otherwise.
static int OptionCategoryCompare(OptionCategory *const *A,
OptionCategory *const *B) {
- return strcmp((*A)->getName(), (*B)->getName());
+ return (*A)->getName() == (*B)->getName();
}
// Make sure we inherit our base class's operator=()
@@ -1871,7 +1915,7 @@
outs() << (*Category)->getName() << ":\n";
// Check if description is set.
- if ((*Category)->getDescription() != nullptr)
+ if (!(*Category)->getDescription().empty())
outs() << (*Category)->getDescription() << "\n\n";
else
outs() << "\n";
@@ -2105,6 +2149,11 @@
return Sub.OptionsMap;
}
+iterator_range<typename SmallPtrSet<SubCommand *, 4>::iterator>
+cl::getRegisteredSubcommands() {
+ return GlobalParser->getRegisteredSubcommands();
+}
+
void cl::HideUnrelatedOptions(cl::OptionCategory &Category, SubCommand &Sub) {
for (auto &I : Sub.OptionsMap) {
if (I.second->Category != &Category &&
@@ -2132,5 +2181,5 @@
void LLVMParseCommandLineOptions(int argc, const char *const *argv,
const char *Overview) {
- llvm::cl::ParseCommandLineOptions(argc, argv, Overview, true);
+ llvm::cl::ParseCommandLineOptions(argc, argv, StringRef(Overview), true);
}
diff --git a/third_party/llvm-subzero/lib/Support/ConvertUTF.c b/third_party/llvm-subzero/lib/Support/ConvertUTF.cpp
similarity index 99%
rename from third_party/llvm-subzero/lib/Support/ConvertUTF.c
rename to third_party/llvm-subzero/lib/Support/ConvertUTF.cpp
index 128459a..39fd218 100644
--- a/third_party/llvm-subzero/lib/Support/ConvertUTF.c
+++ b/third_party/llvm-subzero/lib/Support/ConvertUTF.cpp
@@ -53,6 +53,8 @@
#endif
#include <assert.h>
+namespace llvm {
+
static const int halfShift = 10; /* used for shifting by 10 bits */
static const UTF32 halfBase = 0x0010000UL;
@@ -62,8 +64,6 @@
#define UNI_SUR_HIGH_END (UTF32)0xDBFF
#define UNI_SUR_LOW_START (UTF32)0xDC00
#define UNI_SUR_LOW_END (UTF32)0xDFFF
-#define false 0
-#define true 1
/* --------------------------------------------------------------------- */
@@ -706,3 +706,5 @@
similarly unrolled loops.
--------------------------------------------------------------------- */
+
+} // namespace llvm
diff --git a/third_party/llvm-subzero/lib/Support/FoldingSet.cpp b/third_party/llvm-subzero/lib/Support/FoldingSet.cpp
index a27d317..c9bca7f 100644
--- a/third_party/llvm-subzero/lib/Support/FoldingSet.cpp
+++ b/third_party/llvm-subzero/lib/Support/FoldingSet.cpp
@@ -54,8 +54,9 @@
// depend on the host. It doesn't matter, however, because hashing on
// pointer values is inherently unstable. Nothing should depend on the
// ordering of nodes in the folding set.
- Bits.append(reinterpret_cast<unsigned *>(&Ptr),
- reinterpret_cast<unsigned *>(&Ptr+1));
+ static_assert(sizeof(uintptr_t) <= sizeof(unsigned long long),
+ "unexpected pointer size");
+ AddInteger(reinterpret_cast<uintptr_t>(Ptr));
}
void FoldingSetNodeID::AddInteger(signed I) {
Bits.push_back(I);
@@ -80,8 +81,7 @@
}
void FoldingSetNodeID::AddInteger(unsigned long long I) {
AddInteger(unsigned(I));
- if ((uint64_t)(unsigned)I != I)
- Bits.push_back(unsigned(I >> 32));
+ AddInteger(unsigned(I >> 32));
}
void FoldingSetNodeID::AddString(StringRef String) {
diff --git a/third_party/llvm-subzero/lib/Support/Host.cpp b/third_party/llvm-subzero/lib/Support/Host.cpp
index 689e050..dd19eee 100644
--- a/third_party/llvm-subzero/lib/Support/Host.cpp
+++ b/third_party/llvm-subzero/lib/Support/Host.cpp
@@ -12,6 +12,7 @@
//===----------------------------------------------------------------------===//
#include "llvm/Support/Host.h"
+#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
@@ -19,9 +20,10 @@
#include "llvm/Config/config.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/FileSystem.h"
+#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"
-#include <string.h>
#include <assert.h>
+#include <string.h>
// Include the platform-specific parts of this class.
#ifdef LLVM_ON_UNIX
@@ -73,10 +75,6 @@
#if defined(__i386__) || defined(_M_IX86) || \
defined(__x86_64__) || defined(_M_X64)
-#if defined(__GNUC__) || defined(__clang__)
-#include <cpuid.h>
-#endif
-
enum VendorSignatures {
SIG_INTEL = 0x756e6547 /* Genu */,
SIG_AMD = 0x68747541 /* Auth */
@@ -173,6 +171,41 @@
FEATURE_EM64T
};
+// The check below for i386 was copied from clang's cpuid.h (__get_cpuid_max).
+// Check motivated by bug reports for OpenSSL crashing on CPUs without CPUID
+// support. Consequently, for i386, the presence of CPUID is checked first
+// via the corresponding eflags bit.
+// Removal of cpuid.h header motivated by PR30384
+// Header cpuid.h and method __get_cpuid_max are not used in llvm, clang, openmp
+// or test-suite, but are used in external projects e.g. libstdcxx
+static bool isCpuIdSupported() {
+#if defined(__GNUC__) || defined(__clang__)
+#if defined(__i386__)
+ int __cpuid_supported;
+ __asm__(" pushfl\n"
+ " popl %%eax\n"
+ " movl %%eax,%%ecx\n"
+ " xorl $0x00200000,%%eax\n"
+ " pushl %%eax\n"
+ " popfl\n"
+ " pushfl\n"
+ " popl %%eax\n"
+ " movl $0,%0\n"
+ " cmpl %%eax,%%ecx\n"
+ " je 1f\n"
+ " movl $1,%0\n"
+ "1:"
+ : "=r"(__cpuid_supported)
+ :
+ : "eax", "ecx");
+ if (!__cpuid_supported)
+ return false;
+#endif
+ return true;
+#endif
+ return true;
+}
+
/// getX86CpuIDAndInfo - Execute the specified cpuid and return the 4 values in
/// the specified arguments. If we can't run cpuid on the host, return true.
static bool getX86CpuIDAndInfo(unsigned value, unsigned *rEAX, unsigned *rEBX,
@@ -748,7 +781,8 @@
//FIXME: include cpuid.h from clang or copy __get_cpuid_max here
// and simplify it to not invoke __cpuid (like cpu_model.c in
// compiler-rt/lib/builtins/cpu_model.c?
- if(!__get_cpuid_max(0, &Vendor))
+ // Opting for the second option.
+ if(!isCpuIdSupported())
return "generic";
#endif
if (getX86CpuIDAndInfo(0, &MaxLeaf, &Vendor, &ECX, &EDX))
@@ -1156,6 +1190,79 @@
StringRef sys::getHostCPUName() { return "generic"; }
#endif
+#if defined(__linux__) && defined(__x86_64__)
+// On Linux, the number of physical cores can be computed from /proc/cpuinfo,
+// using the number of unique physical/core id pairs. The following
+// implementation reads the /proc/cpuinfo format on an x86_64 system.
+static int computeHostNumPhysicalCores() {
+ // Read /proc/cpuinfo as a stream (until EOF reached). It cannot be
+ // mmapped because it appears to have 0 size.
+ llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> Text =
+ llvm::MemoryBuffer::getFileAsStream("/proc/cpuinfo");
+ if (std::error_code EC = Text.getError()) {
+ llvm::errs() << "Can't read "
+ << "/proc/cpuinfo: " << EC.message() << "\n";
+ }
+ SmallVector<StringRef, 8> strs;
+ (*Text)->getBuffer().split(strs, "\n", /*MaxSplit=*/-1,
+ /*KeepEmpty=*/false);
+ int CurPhysicalId = -1;
+ int CurCoreId = -1;
+ SmallSet<std::pair<int, int>, 32> UniqueItems;
+ for (auto &Line : strs) {
+ Line = Line.trim();
+ if (!Line.startswith("physical id") && !Line.startswith("core id"))
+ continue;
+ std::pair<StringRef, StringRef> Data = Line.split(':');
+ auto Name = Data.first.trim();
+ auto Val = Data.second.trim();
+ if (Name == "physical id") {
+ assert(CurPhysicalId == -1 &&
+ "Expected a core id before seeing another physical id");
+ Val.getAsInteger(10, CurPhysicalId);
+ }
+ if (Name == "core id") {
+ assert(CurCoreId == -1 &&
+ "Expected a physical id before seeing another core id");
+ Val.getAsInteger(10, CurCoreId);
+ }
+ if (CurPhysicalId != -1 && CurCoreId != -1) {
+ UniqueItems.insert(std::make_pair(CurPhysicalId, CurCoreId));
+ CurPhysicalId = -1;
+ CurCoreId = -1;
+ }
+ }
+ return UniqueItems.size();
+}
+#elif defined(__APPLE__) && defined(__x86_64__)
+#include <sys/param.h>
+#include <sys/sysctl.h>
+
+// Gets the number of *physical cores* on the machine.
+static int computeHostNumPhysicalCores() {
+ uint32_t count;
+ size_t len = sizeof(count);
+ sysctlbyname("hw.physicalcpu", &count, &len, NULL, 0);
+ if (count < 1) {
+ int nm[2];
+ nm[0] = CTL_HW;
+ nm[1] = HW_AVAILCPU;
+ sysctl(nm, 2, &count, &len, NULL, 0);
+ if (count < 1)
+ return -1;
+ }
+ return count;
+}
+#else
+// On other systems, return -1 to indicate unknown.
+static int computeHostNumPhysicalCores() { return -1; }
+#endif
+
+int sys::getHostNumPhysicalCores() {
+ static int NumCores = computeHostNumPhysicalCores();
+ return NumCores;
+}
+
#if defined(__i386__) || defined(_M_IX86) || \
defined(__x86_64__) || defined(_M_X64)
bool sys::getHostCPUFeatures(StringMap<bool> &Features) {
diff --git a/third_party/llvm-subzero/lib/Support/MemoryBuffer.cpp b/third_party/llvm-subzero/lib/Support/MemoryBuffer.cpp
index b935cbf..a3a18c9 100644
--- a/third_party/llvm-subzero/lib/Support/MemoryBuffer.cpp
+++ b/third_party/llvm-subzero/lib/Support/MemoryBuffer.cpp
@@ -90,9 +90,9 @@
/// tail-allocated data.
void operator delete(void *p) { ::operator delete(p); }
- const char *getBufferIdentifier() const override {
- // The name is stored after the class itself.
- return reinterpret_cast<const char*>(this + 1);
+ StringRef getBufferIdentifier() const override {
+ // The name is stored after the class itself.
+ return StringRef(reinterpret_cast<const char *>(this + 1));
}
BufferKind getBufferKind() const override {
@@ -221,9 +221,9 @@
/// tail-allocated data.
void operator delete(void *p) { ::operator delete(p); }
- const char *getBufferIdentifier() const override {
+ StringRef getBufferIdentifier() const override {
// The name is stored after the class itself.
- return reinterpret_cast<const char *>(this + 1);
+ return StringRef(reinterpret_cast<const char *>(this + 1));
}
BufferKind getBufferKind() const override {
@@ -438,6 +438,18 @@
return getMemoryBufferForStream(0, "<stdin>");
}
+ErrorOr<std::unique_ptr<MemoryBuffer>>
+MemoryBuffer::getFileAsStream(const Twine &Filename) {
+ int FD;
+ std::error_code EC = sys::fs::openFileForRead(Filename, FD);
+ if (EC)
+ return EC;
+ ErrorOr<std::unique_ptr<MemoryBuffer>> Ret =
+ getMemoryBufferForStream(FD, Filename);
+ close(FD);
+ return Ret;
+}
+
MemoryBufferRef MemoryBuffer::getMemBufferRef() const {
StringRef Data = getBuffer();
StringRef Identifier = getBufferIdentifier();
diff --git a/third_party/llvm-subzero/lib/Support/NativeFormatting.cpp b/third_party/llvm-subzero/lib/Support/NativeFormatting.cpp
new file mode 100644
index 0000000..bb86891
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/NativeFormatting.cpp
@@ -0,0 +1,265 @@
+//===- NativeFormatting.cpp - Low level formatting helpers -------*- C++-*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/Support/NativeFormatting.h"
+
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/SmallString.h"
+#include "llvm/ADT/StringExtras.h"
+#include "llvm/Support/Format.h"
+
+using namespace llvm;
+
+template<typename T, std::size_t N>
+static int format_to_buffer(T Value, char (&Buffer)[N]) {
+ char *EndPtr = std::end(Buffer);
+ char *CurPtr = EndPtr;
+
+ do {
+ *--CurPtr = '0' + char(Value % 10);
+ Value /= 10;
+ } while (Value);
+ return EndPtr - CurPtr;
+}
+
+static void writeWithCommas(raw_ostream &S, ArrayRef<char> Buffer) {
+ assert(!Buffer.empty());
+
+ ArrayRef<char> ThisGroup;
+ int InitialDigits = ((Buffer.size() - 1) % 3) + 1;
+ ThisGroup = Buffer.take_front(InitialDigits);
+ S.write(ThisGroup.data(), ThisGroup.size());
+
+ Buffer = Buffer.drop_front(InitialDigits);
+ assert(Buffer.size() % 3 == 0);
+ while (!Buffer.empty()) {
+ S << ',';
+ ThisGroup = Buffer.take_front(3);
+ S.write(ThisGroup.data(), 3);
+ Buffer = Buffer.drop_front(3);
+ }
+}
+
+template <typename T>
+static void write_unsigned_impl(raw_ostream &S, T N, size_t MinDigits,
+ IntegerStyle Style, bool IsNegative) {
+ static_assert(std::is_unsigned<T>::value, "Value is not unsigned!");
+
+ char NumberBuffer[128];
+ std::memset(NumberBuffer, '0', sizeof(NumberBuffer));
+
+ size_t Len = 0;
+ Len = format_to_buffer(N, NumberBuffer);
+
+ if (IsNegative)
+ S << '-';
+
+ if (Len < MinDigits && Style != IntegerStyle::Number) {
+ for (size_t I = Len; I < MinDigits; ++I)
+ S << '0';
+ }
+
+ if (Style == IntegerStyle::Number) {
+ writeWithCommas(S, ArrayRef<char>(std::end(NumberBuffer) - Len, Len));
+ } else {
+ S.write(std::end(NumberBuffer) - Len, Len);
+ }
+}
+
+template <typename T>
+static void write_unsigned(raw_ostream &S, T N, size_t MinDigits,
+ IntegerStyle Style, bool IsNegative = false) {
+ // Output using 32-bit div/mod if possible.
+ if (N == static_cast<uint32_t>(N))
+ write_unsigned_impl(S, static_cast<uint32_t>(N), MinDigits, Style,
+ IsNegative);
+ else
+ write_unsigned_impl(S, N, MinDigits, Style, IsNegative);
+}
+
+template <typename T>
+static void write_signed(raw_ostream &S, T N, size_t MinDigits,
+ IntegerStyle Style) {
+ static_assert(std::is_signed<T>::value, "Value is not signed!");
+
+ using UnsignedT = typename std::make_unsigned<T>::type;
+
+ if (N >= 0) {
+ write_unsigned(S, static_cast<UnsignedT>(N), MinDigits, Style);
+ return;
+ }
+
+ UnsignedT UN = -(UnsignedT)N;
+ write_unsigned(S, UN, MinDigits, Style, true);
+}
+
+void llvm::write_integer(raw_ostream &S, unsigned int N, size_t MinDigits,
+ IntegerStyle Style) {
+ write_unsigned(S, N, MinDigits, Style);
+}
+
+void llvm::write_integer(raw_ostream &S, int N, size_t MinDigits,
+ IntegerStyle Style) {
+ write_signed(S, N, MinDigits, Style);
+}
+
+void llvm::write_integer(raw_ostream &S, unsigned long N, size_t MinDigits,
+ IntegerStyle Style) {
+ write_unsigned(S, N, MinDigits, Style);
+}
+
+void llvm::write_integer(raw_ostream &S, long N, size_t MinDigits,
+ IntegerStyle Style) {
+ write_signed(S, N, MinDigits, Style);
+}
+
+void llvm::write_integer(raw_ostream &S, unsigned long long N, size_t MinDigits,
+ IntegerStyle Style) {
+ write_unsigned(S, N, MinDigits, Style);
+}
+
+void llvm::write_integer(raw_ostream &S, long long N, size_t MinDigits,
+ IntegerStyle Style) {
+ write_signed(S, N, MinDigits, Style);
+}
+
+void llvm::write_hex(raw_ostream &S, uint64_t N, HexPrintStyle Style,
+ Optional<size_t> Width) {
+ const size_t kMaxWidth = 128u;
+
+ size_t W = std::min(kMaxWidth, Width.getValueOr(0u));
+
+ unsigned Nibbles = (64 - countLeadingZeros(N) + 3) / 4;
+ bool Prefix = (Style == HexPrintStyle::PrefixLower ||
+ Style == HexPrintStyle::PrefixUpper);
+ bool Upper =
+ (Style == HexPrintStyle::Upper || Style == HexPrintStyle::PrefixUpper);
+ unsigned PrefixChars = Prefix ? 2 : 0;
+ unsigned NumChars =
+ std::max(static_cast<unsigned>(W), std::max(1u, Nibbles) + PrefixChars);
+
+ char NumberBuffer[kMaxWidth];
+ ::memset(NumberBuffer, '0', llvm::array_lengthof(NumberBuffer));
+ if (Prefix)
+ NumberBuffer[1] = 'x';
+ char *EndPtr = NumberBuffer + NumChars;
+ char *CurPtr = EndPtr;
+ while (N) {
+ unsigned char x = static_cast<unsigned char>(N) % 16;
+ *--CurPtr = hexdigit(x, !Upper);
+ N /= 16;
+ }
+
+ S.write(NumberBuffer, NumChars);
+}
+
+void llvm::write_double(raw_ostream &S, double N, FloatStyle Style,
+ Optional<size_t> Precision) {
+ size_t Prec = Precision.getValueOr(getDefaultPrecision(Style));
+
+ if (std::isnan(N)) {
+ S << "nan";
+ return;
+ } else if (std::isinf(N)) {
+ S << "INF";
+ return;
+ }
+
+ char Letter;
+ if (Style == FloatStyle::Exponent)
+ Letter = 'e';
+ else if (Style == FloatStyle::ExponentUpper)
+ Letter = 'E';
+ else
+ Letter = 'f';
+
+ SmallString<8> Spec;
+ llvm::raw_svector_ostream Out(Spec);
+ Out << "%." << Prec << Letter;
+
+ if (Style == FloatStyle::Exponent || Style == FloatStyle::ExponentUpper) {
+#ifdef _WIN32
+// On MSVCRT and compatible, output of %e is incompatible to Posix
+// by default. Number of exponent digits should be at least 2. "%+03d"
+// FIXME: Implement our formatter to here or Support/Format.h!
+#if defined(__MINGW32__)
+ // FIXME: It should be generic to C++11.
+ if (N == 0.0 && std::signbit(N)) {
+ char NegativeZero[] = "-0.000000e+00";
+ if (Style == FloatStyle::ExponentUpper)
+ NegativeZero[strlen(NegativeZero) - 4] = 'E';
+ S << NegativeZero;
+ return;
+ }
+#else
+ int fpcl = _fpclass(N);
+
+ // negative zero
+ if (fpcl == _FPCLASS_NZ) {
+ char NegativeZero[] = "-0.000000e+00";
+ if (Style == FloatStyle::ExponentUpper)
+ NegativeZero[strlen(NegativeZero) - 4] = 'E';
+ S << NegativeZero;
+ return;
+ }
+#endif
+
+ char buf[32];
+ unsigned len;
+ len = format(Spec.c_str(), N).snprint(buf, sizeof(buf));
+ if (len <= sizeof(buf) - 2) {
+ if (len >= 5 && (buf[len - 5] == 'e' || buf[len - 5] == 'E') &&
+ buf[len - 3] == '0') {
+ int cs = buf[len - 4];
+ if (cs == '+' || cs == '-') {
+ int c1 = buf[len - 2];
+ int c0 = buf[len - 1];
+ if (isdigit(static_cast<unsigned char>(c1)) &&
+ isdigit(static_cast<unsigned char>(c0))) {
+ // Trim leading '0': "...e+012" -> "...e+12\0"
+ buf[len - 3] = c1;
+ buf[len - 2] = c0;
+ buf[--len] = 0;
+ }
+ }
+ }
+ S << buf;
+ return;
+ }
+#endif
+ }
+
+ if (Style == FloatStyle::Percent)
+ N *= 100.0;
+
+ char Buf[32];
+ unsigned Len;
+ Len = format(Spec.c_str(), N).snprint(Buf, sizeof(Buf));
+ if (Style == FloatStyle::Percent)
+ ++Len;
+ S << Buf;
+ if (Style == FloatStyle::Percent)
+ S << '%';
+}
+
+bool llvm::isPrefixedHexStyle(HexPrintStyle S) {
+ return (S == HexPrintStyle::PrefixLower || S == HexPrintStyle::PrefixUpper);
+}
+
+size_t llvm::getDefaultPrecision(FloatStyle Style) {
+ switch (Style) {
+ case FloatStyle::Exponent:
+ case FloatStyle::ExponentUpper:
+ return 6; // Number of decimal places.
+ case FloatStyle::Fixed:
+ case FloatStyle::Percent:
+ return 2; // Number of decimal places.
+ }
+ LLVM_BUILTIN_UNREACHABLE;
+}
diff --git a/third_party/llvm-subzero/lib/Support/Path.cpp b/third_party/llvm-subzero/lib/Support/Path.cpp
index f6355d1..0616d05 100644
--- a/third_party/llvm-subzero/lib/Support/Path.cpp
+++ b/third_party/llvm-subzero/lib/Support/Path.cpp
@@ -707,12 +707,14 @@
for (StringRef C : llvm::make_range(path::begin(rel), path::end(rel))) {
if (C == ".")
continue;
- if (remove_dot_dot) {
- if (C == "..") {
- if (!components.empty())
- components.pop_back();
+ // Leading ".." will remain in the path unless it's at the root.
+ if (remove_dot_dot && C == "..") {
+ if (!components.empty() && components.back() != "..") {
+ components.pop_back();
continue;
}
+ if (path::is_absolute(path))
+ continue;
}
components.push_back(C);
}
@@ -978,62 +980,59 @@
Status = st;
}
+template <size_t N>
+static bool startswith(StringRef Magic, const char (&S)[N]) {
+ return Magic.startswith(StringRef(S, N - 1));
+}
+
/// @brief Identify the magic in magic.
file_magic identify_magic(StringRef Magic) {
if (Magic.size() < 4)
return file_magic::unknown;
switch ((unsigned char)Magic[0]) {
case 0x00: {
- // COFF bigobj or short import library file
- if (Magic[1] == (char)0x00 && Magic[2] == (char)0xff &&
- Magic[3] == (char)0xff) {
+ // COFF bigobj, CL.exe's LTO object file, or short import library file
+ if (startswith(Magic, "\0\0\xFF\xFF")) {
size_t MinSize = offsetof(COFF::BigObjHeader, UUID) + sizeof(COFF::BigObjMagic);
if (Magic.size() < MinSize)
return file_magic::coff_import_library;
- int BigObjVersion = read16le(
- Magic.data() + offsetof(COFF::BigObjHeader, Version));
- if (BigObjVersion < COFF::BigObjHeader::MinBigObjectVersion)
- return file_magic::coff_import_library;
-
const char *Start = Magic.data() + offsetof(COFF::BigObjHeader, UUID);
- if (memcmp(Start, COFF::BigObjMagic, sizeof(COFF::BigObjMagic)) != 0)
- return file_magic::coff_import_library;
- return file_magic::coff_object;
+ if (memcmp(Start, COFF::BigObjMagic, sizeof(COFF::BigObjMagic)) == 0)
+ return file_magic::coff_object;
+ if (memcmp(Start, COFF::ClGlObjMagic, sizeof(COFF::BigObjMagic)) == 0)
+ return file_magic::coff_cl_gl_object;
+ return file_magic::coff_import_library;
}
// Windows resource file
- const char Expected[] = { 0, 0, 0, 0, '\x20', 0, 0, 0, '\xff' };
- if (Magic.size() >= sizeof(Expected) &&
- memcmp(Magic.data(), Expected, sizeof(Expected)) == 0)
+ if (startswith(Magic, "\0\0\0\0\x20\0\0\0\xFF"))
return file_magic::windows_resource;
// 0x0000 = COFF unknown machine type
if (Magic[1] == 0)
return file_magic::coff_object;
+ if (startswith(Magic, "\0asm"))
+ return file_magic::wasm_object;
break;
}
case 0xDE: // 0x0B17C0DE = BC wraper
- if (Magic[1] == (char)0xC0 && Magic[2] == (char)0x17 &&
- Magic[3] == (char)0x0B)
+ if (startswith(Magic, "\xDE\xC0\x17\x0B"))
return file_magic::bitcode;
break;
case 'B':
- if (Magic[1] == 'C' && Magic[2] == (char)0xC0 && Magic[3] == (char)0xDE)
+ if (startswith(Magic, "BC\xC0\xDE"))
return file_magic::bitcode;
break;
case '!':
- if (Magic.size() >= 8)
- if (memcmp(Magic.data(), "!<arch>\n", 8) == 0 ||
- memcmp(Magic.data(), "!<thin>\n", 8) == 0)
- return file_magic::archive;
+ if (startswith(Magic, "!<arch>\n") || startswith(Magic, "!<thin>\n"))
+ return file_magic::archive;
break;
case '\177':
- if (Magic.size() >= 18 && Magic[1] == 'E' && Magic[2] == 'L' &&
- Magic[3] == 'F') {
+ if (startswith(Magic, "\177ELF") && Magic.size() >= 18) {
bool Data2MSB = Magic[5] == 2;
unsigned high = Data2MSB ? 16 : 17;
unsigned low = Data2MSB ? 17 : 16;
- if (Magic[high] == 0)
+ if (Magic[high] == 0) {
switch (Magic[low]) {
default: return file_magic::elf;
case 1: return file_magic::elf_relocatable;
@@ -1041,15 +1040,15 @@
case 3: return file_magic::elf_shared_object;
case 4: return file_magic::elf_core;
}
- else
- // It's still some type of ELF file.
- return file_magic::elf;
+ }
+ // It's still some type of ELF file.
+ return file_magic::elf;
}
break;
case 0xCA:
- if (Magic[1] == char(0xFE) && Magic[2] == char(0xBA) &&
- (Magic[3] == char(0xBE) || Magic[3] == char(0xBF))) {
+ if (startswith(Magic, "\xCA\xFE\xBA\xBE") ||
+ startswith(Magic, "\xCA\xFE\xBA\xBF")) {
// This is complicated by an overlap with Java class files.
// See the Mach-O section in /usr/share/file/magic for details.
if (Magic.size() >= 8 && Magic[7] < 43)
@@ -1064,9 +1063,8 @@
case 0xCE:
case 0xCF: {
uint16_t type = 0;
- if (Magic[0] == char(0xFE) && Magic[1] == char(0xED) &&
- Magic[2] == char(0xFA) &&
- (Magic[3] == char(0xCE) || Magic[3] == char(0xCF))) {
+ if (startswith(Magic, "\xFE\xED\xFA\xCE") ||
+ startswith(Magic, "\xFE\xED\xFA\xCF")) {
/* Native endian */
size_t MinSize;
if (Magic[3] == char(0xCE))
@@ -1075,9 +1073,8 @@
MinSize = sizeof(MachO::mach_header_64);
if (Magic.size() >= MinSize)
type = Magic[12] << 24 | Magic[13] << 12 | Magic[14] << 8 | Magic[15];
- } else if ((Magic[0] == char(0xCE) || Magic[0] == char(0xCF)) &&
- Magic[1] == char(0xFA) && Magic[2] == char(0xED) &&
- Magic[3] == char(0xFE)) {
+ } else if (startswith(Magic, "\xCE\xFA\xED\xFE") ||
+ startswith(Magic, "\xCF\xFA\xED\xFE")) {
/* Reverse endian */
size_t MinSize;
if (Magic[0] == char(0xCE))
@@ -1120,7 +1117,7 @@
break;
case 'M': // Possible MS-DOS stub on Windows PE file
- if (Magic[1] == 'Z') {
+ if (startswith(Magic, "MZ")) {
uint32_t off = read32le(Magic.data() + 0x3c);
// PE/COFF file, either EXE or DLL.
if (off < Magic.size() &&
diff --git a/third_party/llvm-subzero/lib/Support/Regex.cpp b/third_party/llvm-subzero/lib/Support/Regex.cpp
new file mode 100644
index 0000000..68ba79e
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/Regex.cpp
@@ -0,0 +1,205 @@
+//===-- Regex.cpp - Regular Expression matcher implementation -------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements a POSIX regular expression matcher.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/Support/Regex.h"
+#include "regex_impl.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/Twine.h"
+#include <string>
+using namespace llvm;
+
+Regex::Regex() : preg(nullptr), error(REG_BADPAT) {}
+
+Regex::Regex(StringRef regex, unsigned Flags) {
+ unsigned flags = 0;
+ preg = new llvm_regex();
+ preg->re_endp = regex.end();
+ if (Flags & IgnoreCase)
+ flags |= REG_ICASE;
+ if (Flags & Newline)
+ flags |= REG_NEWLINE;
+ if (!(Flags & BasicRegex))
+ flags |= REG_EXTENDED;
+ error = llvm_regcomp(preg, regex.data(), flags|REG_PEND);
+}
+
+Regex::Regex(Regex &®ex) {
+ preg = regex.preg;
+ error = regex.error;
+ regex.preg = nullptr;
+ regex.error = REG_BADPAT;
+}
+
+Regex::~Regex() {
+ if (preg) {
+ llvm_regfree(preg);
+ delete preg;
+ }
+}
+
+bool Regex::isValid(std::string &Error) {
+ if (!error)
+ return true;
+
+ size_t len = llvm_regerror(error, preg, nullptr, 0);
+
+ Error.resize(len - 1);
+ llvm_regerror(error, preg, &Error[0], len);
+ return false;
+}
+
+/// getNumMatches - In a valid regex, return the number of parenthesized
+/// matches it contains.
+unsigned Regex::getNumMatches() const {
+ return preg->re_nsub;
+}
+
+bool Regex::match(StringRef String, SmallVectorImpl<StringRef> *Matches){
+ if (error)
+ return false;
+
+ unsigned nmatch = Matches ? preg->re_nsub+1 : 0;
+
+ // pmatch needs to have at least one element.
+ SmallVector<llvm_regmatch_t, 8> pm;
+ pm.resize(nmatch > 0 ? nmatch : 1);
+ pm[0].rm_so = 0;
+ pm[0].rm_eo = String.size();
+
+ int rc = llvm_regexec(preg, String.data(), nmatch, pm.data(), REG_STARTEND);
+
+ if (rc == REG_NOMATCH)
+ return false;
+ if (rc != 0) {
+ // regexec can fail due to invalid pattern or running out of memory.
+ error = rc;
+ return false;
+ }
+
+ // There was a match.
+
+ if (Matches) { // match position requested
+ Matches->clear();
+
+ for (unsigned i = 0; i != nmatch; ++i) {
+ if (pm[i].rm_so == -1) {
+ // this group didn't match
+ Matches->push_back(StringRef());
+ continue;
+ }
+ assert(pm[i].rm_eo >= pm[i].rm_so);
+ Matches->push_back(StringRef(String.data()+pm[i].rm_so,
+ pm[i].rm_eo-pm[i].rm_so));
+ }
+ }
+
+ return true;
+}
+
+std::string Regex::sub(StringRef Repl, StringRef String,
+ std::string *Error) {
+ SmallVector<StringRef, 8> Matches;
+
+ // Reset error, if given.
+ if (Error && !Error->empty()) *Error = "";
+
+ // Return the input if there was no match.
+ if (!match(String, &Matches))
+ return String;
+
+ // Otherwise splice in the replacement string, starting with the prefix before
+ // the match.
+ std::string Res(String.begin(), Matches[0].begin());
+
+ // Then the replacement string, honoring possible substitutions.
+ while (!Repl.empty()) {
+ // Skip to the next escape.
+ std::pair<StringRef, StringRef> Split = Repl.split('\\');
+
+ // Add the skipped substring.
+ Res += Split.first;
+
+ // Check for terminimation and trailing backslash.
+ if (Split.second.empty()) {
+ if (Repl.size() != Split.first.size() &&
+ Error && Error->empty())
+ *Error = "replacement string contained trailing backslash";
+ break;
+ }
+
+ // Otherwise update the replacement string and interpret escapes.
+ Repl = Split.second;
+
+ // FIXME: We should have a StringExtras function for mapping C99 escapes.
+ switch (Repl[0]) {
+ // Treat all unrecognized characters as self-quoting.
+ default:
+ Res += Repl[0];
+ Repl = Repl.substr(1);
+ break;
+
+ // Single character escapes.
+ case 't':
+ Res += '\t';
+ Repl = Repl.substr(1);
+ break;
+ case 'n':
+ Res += '\n';
+ Repl = Repl.substr(1);
+ break;
+
+ // Decimal escapes are backreferences.
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9': {
+ // Extract the backreference number.
+ StringRef Ref = Repl.slice(0, Repl.find_first_not_of("0123456789"));
+ Repl = Repl.substr(Ref.size());
+
+ unsigned RefValue;
+ if (!Ref.getAsInteger(10, RefValue) &&
+ RefValue < Matches.size())
+ Res += Matches[RefValue];
+ else if (Error && Error->empty())
+ *Error = ("invalid backreference string '" + Twine(Ref) + "'").str();
+ break;
+ }
+ }
+ }
+
+ // And finally the suffix.
+ Res += StringRef(Matches[0].end(), String.end() - Matches[0].end());
+
+ return Res;
+}
+
+// These are the special characters matched in functions like "p_ere_exp".
+static const char RegexMetachars[] = "()^$|*+?.[]\\{}";
+
+bool Regex::isLiteralERE(StringRef Str) {
+ // Check for regex metacharacters. This list was derived from our regex
+ // implementation in regcomp.c and double checked against the POSIX extended
+ // regular expression specification.
+ return Str.find_first_of(RegexMetachars) == StringRef::npos;
+}
+
+std::string Regex::escape(StringRef String) {
+ std::string RegexStr;
+ for (unsigned i = 0, e = String.size(); i != e; ++i) {
+ if (strchr(RegexMetachars, String[i]))
+ RegexStr += '\\';
+ RegexStr += String[i];
+ }
+
+ return RegexStr;
+}
diff --git a/third_party/llvm-subzero/lib/Support/StringRef.cpp b/third_party/llvm-subzero/lib/Support/StringRef.cpp
index 8a9da5e..d81250e 100644
--- a/third_party/llvm-subzero/lib/Support/StringRef.cpp
+++ b/third_party/llvm-subzero/lib/Support/StringRef.cpp
@@ -69,6 +69,11 @@
ascii_strncasecmp(end() - Suffix.Length, Suffix.Data, Suffix.Length) == 0;
}
+size_t StringRef::find_lower(char C, size_t From) const {
+ char L = ascii_tolower(C);
+ return find_if([L](char D) { return ascii_tolower(D) == L; }, From);
+}
+
/// compare_numeric - Compare strings, handle embedded numbers.
int StringRef::compare_numeric(StringRef RHS) const {
for (size_t I = 0, E = std::min(Length, RHS.Length); I != E; ++I) {
@@ -143,16 +148,20 @@
if (From > Length)
return npos;
+ const char *Start = Data + From;
+ size_t Size = Length - From;
+
const char *Needle = Str.data();
size_t N = Str.size();
if (N == 0)
return From;
-
- size_t Size = Length - From;
if (Size < N)
return npos;
+ if (N == 1) {
+ const char *Ptr = (const char *)::memchr(Start, Needle[0], Size);
+ return Ptr == nullptr ? npos : Ptr - Data;
+ }
- const char *Start = Data + From;
const char *Stop = Start + (Size - N + 1);
// For short haystacks or unsupported needles fall back to the naive algorithm
@@ -172,16 +181,40 @@
BadCharSkip[(uint8_t)Str[i]] = N-1-i;
do {
- if (std::memcmp(Start, Needle, N) == 0)
- return Start - Data;
+ uint8_t Last = Start[N - 1];
+ if (LLVM_UNLIKELY(Last == (uint8_t)Needle[N - 1]))
+ if (std::memcmp(Start, Needle, N - 1) == 0)
+ return Start - Data;
// Otherwise skip the appropriate number of bytes.
- Start += BadCharSkip[(uint8_t)Start[N-1]];
+ Start += BadCharSkip[Last];
} while (Start < Stop);
return npos;
}
+size_t StringRef::find_lower(StringRef Str, size_t From) const {
+ StringRef This = substr(From);
+ while (This.size() >= Str.size()) {
+ if (This.startswith_lower(Str))
+ return From;
+ This = This.drop_front();
+ ++From;
+ }
+ return npos;
+}
+
+size_t StringRef::rfind_lower(char C, size_t From) const {
+ From = std::min(From, Length);
+ size_t i = From;
+ while (i != 0) {
+ --i;
+ if (ascii_tolower(Data[i]) == ascii_tolower(C))
+ return i;
+ }
+ return npos;
+}
+
/// rfind - Search for the last string \arg Str in the string.
///
/// \return - The index of the last occurrence of \arg Str, or npos if not
@@ -198,6 +231,18 @@
return npos;
}
+size_t StringRef::rfind_lower(StringRef Str) const {
+ size_t N = Str.size();
+ if (N > Length)
+ return npos;
+ for (size_t i = Length - N + 1, e = 0; i != e;) {
+ --i;
+ if (substr(i, N).equals_lower(Str))
+ return i;
+ }
+ return npos;
+}
+
/// find_first_of - Find the first character in the string that is in \arg
/// Chars, or npos if not found.
///
@@ -351,6 +396,9 @@
}
static unsigned GetAutoSenseRadix(StringRef &Str) {
+ if (Str.empty())
+ return 10;
+
if (Str.startswith("0x") || Str.startswith("0X")) {
Str = Str.substr(2);
return 16;
@@ -366,17 +414,16 @@
return 8;
}
- if (Str.startswith("0"))
+ if (Str[0] == '0' && Str.size() > 1 && ascii_isdigit(Str[1])) {
+ Str = Str.substr(1);
return 8;
-
+ }
+
return 10;
}
-
-/// GetAsUnsignedInteger - Workhorse method that converts a integer character
-/// sequence of radix up to 36 to an unsigned long long value.
-bool llvm::getAsUnsignedInteger(StringRef Str, unsigned Radix,
- unsigned long long &Result) {
+bool llvm::consumeUnsignedInteger(StringRef &Str, unsigned Radix,
+ unsigned long long &Result) {
// Autosense radix if not specified.
if (Radix == 0)
Radix = GetAutoSenseRadix(Str);
@@ -385,44 +432,51 @@
if (Str.empty()) return true;
// Parse all the bytes of the string given this radix. Watch for overflow.
+ StringRef Str2 = Str;
Result = 0;
- while (!Str.empty()) {
+ while (!Str2.empty()) {
unsigned CharVal;
- if (Str[0] >= '0' && Str[0] <= '9')
- CharVal = Str[0]-'0';
- else if (Str[0] >= 'a' && Str[0] <= 'z')
- CharVal = Str[0]-'a'+10;
- else if (Str[0] >= 'A' && Str[0] <= 'Z')
- CharVal = Str[0]-'A'+10;
+ if (Str2[0] >= '0' && Str2[0] <= '9')
+ CharVal = Str2[0] - '0';
+ else if (Str2[0] >= 'a' && Str2[0] <= 'z')
+ CharVal = Str2[0] - 'a' + 10;
+ else if (Str2[0] >= 'A' && Str2[0] <= 'Z')
+ CharVal = Str2[0] - 'A' + 10;
else
- return true;
+ break;
- // If the parsed value is larger than the integer radix, the string is
- // invalid.
+ // If the parsed value is larger than the integer radix, we cannot
+ // consume any more characters.
if (CharVal >= Radix)
- return true;
+ break;
// Add in this character.
unsigned long long PrevResult = Result;
- Result = Result*Radix+CharVal;
+ Result = Result * Radix + CharVal;
// Check for overflow by shifting back and seeing if bits were lost.
- if (Result/Radix < PrevResult)
+ if (Result / Radix < PrevResult)
return true;
- Str = Str.substr(1);
+ Str2 = Str2.substr(1);
}
+ // We consider the operation a failure if no characters were consumed
+ // successfully.
+ if (Str.size() == Str2.size())
+ return true;
+
+ Str = Str2;
return false;
}
-bool llvm::getAsSignedInteger(StringRef Str, unsigned Radix,
- long long &Result) {
+bool llvm::consumeSignedInteger(StringRef &Str, unsigned Radix,
+ long long &Result) {
unsigned long long ULLVal;
// Handle positive strings first.
if (Str.empty() || Str.front() != '-') {
- if (getAsUnsignedInteger(Str, Radix, ULLVal) ||
+ if (consumeUnsignedInteger(Str, Radix, ULLVal) ||
// Check for value so large it overflows a signed value.
(long long)ULLVal < 0)
return true;
@@ -431,17 +485,41 @@
}
// Get the positive part of the value.
- if (getAsUnsignedInteger(Str.substr(1), Radix, ULLVal) ||
+ StringRef Str2 = Str.drop_front(1);
+ if (consumeUnsignedInteger(Str2, Radix, ULLVal) ||
// Reject values so large they'd overflow as negative signed, but allow
// "-0". This negates the unsigned so that the negative isn't undefined
// on signed overflow.
(long long)-ULLVal > 0)
return true;
+ Str = Str2;
Result = -ULLVal;
return false;
}
+/// GetAsUnsignedInteger - Workhorse method that converts a integer character
+/// sequence of radix up to 36 to an unsigned long long value.
+bool llvm::getAsUnsignedInteger(StringRef Str, unsigned Radix,
+ unsigned long long &Result) {
+ if (consumeUnsignedInteger(Str, Radix, Result))
+ return true;
+
+ // For getAsUnsignedInteger, we require the whole string to be consumed or
+ // else we consider it a failure.
+ return !Str.empty();
+}
+
+bool llvm::getAsSignedInteger(StringRef Str, unsigned Radix,
+ long long &Result) {
+ if (consumeSignedInteger(Str, Radix, Result))
+ return true;
+
+ // For getAsSignedInteger, we require the whole string to be consumed or else
+ // we consider it a failure.
+ return !Str.empty();
+}
+
bool StringRef::getAsInteger(unsigned Radix, APInt &Result) const {
StringRef Str = *this;
diff --git a/third_party/llvm-subzero/lib/Support/StringSaver.cpp b/third_party/llvm-subzero/lib/Support/StringSaver.cpp
index bbc1fd2..335fce3 100644
--- a/third_party/llvm-subzero/lib/Support/StringSaver.cpp
+++ b/third_party/llvm-subzero/lib/Support/StringSaver.cpp
@@ -11,9 +11,9 @@
using namespace llvm;
-const char *StringSaver::save(StringRef S) {
+StringRef StringSaver::save(StringRef S) {
char *P = Alloc.Allocate<char>(S.size() + 1);
memcpy(P, S.data(), S.size());
P[S.size()] = '\0';
- return P;
+ return StringRef(P, S.size());
}
diff --git a/third_party/llvm-subzero/lib/Support/TargetParser.cpp b/third_party/llvm-subzero/lib/Support/TargetParser.cpp
index 8b00b34..42fab67 100644
--- a/third_party/llvm-subzero/lib/Support/TargetParser.cpp
+++ b/third_party/llvm-subzero/lib/Support/TargetParser.cpp
@@ -200,7 +200,7 @@
}
bool llvm::ARM::getHWDivFeatures(unsigned HWDivKind,
- std::vector<const char *> &Features) {
+ std::vector<StringRef> &Features) {
if (HWDivKind == ARM::AEK_INVALID)
return false;
@@ -219,7 +219,7 @@
}
bool llvm::ARM::getExtensionFeatures(unsigned Extensions,
- std::vector<const char *> &Features) {
+ std::vector<StringRef> &Features) {
if (Extensions == ARM::AEK_INVALID)
return false;
@@ -238,7 +238,7 @@
}
bool llvm::ARM::getFPUFeatures(unsigned FPUKind,
- std::vector<const char *> &Features) {
+ std::vector<StringRef> &Features) {
if (FPUKind >= ARM::FK_LAST || FPUKind == ARM::FK_INVALID)
return false;
@@ -351,20 +351,20 @@
return StringRef();
}
-const char *llvm::ARM::getArchExtFeature(StringRef ArchExt) {
+StringRef llvm::ARM::getArchExtFeature(StringRef ArchExt) {
if (ArchExt.startswith("no")) {
StringRef ArchExtBase(ArchExt.substr(2));
for (const auto AE : ARCHExtNames) {
if (AE.NegFeature && ArchExtBase == AE.getName())
- return AE.NegFeature;
+ return StringRef(AE.NegFeature);
}
}
for (const auto AE : ARCHExtNames) {
if (AE.Feature && ArchExt == AE.getName())
- return AE.Feature;
+ return StringRef(AE.Feature);
}
- return nullptr;
+ return StringRef();
}
StringRef llvm::ARM::getHWDivName(unsigned HWDivKind) {
@@ -429,7 +429,7 @@
}
bool llvm::AArch64::getExtensionFeatures(unsigned Extensions,
- std::vector<const char *> &Features) {
+ std::vector<StringRef> &Features) {
if (Extensions == AArch64::AEK_INVALID)
return false;
@@ -453,12 +453,12 @@
}
bool llvm::AArch64::getFPUFeatures(unsigned FPUKind,
- std::vector<const char *> &Features) {
+ std::vector<StringRef> &Features) {
return ARM::getFPUFeatures(FPUKind, Features);
}
bool llvm::AArch64::getArchFeatures(unsigned ArchKind,
- std::vector<const char *> &Features) {
+ std::vector<StringRef> &Features) {
if (ArchKind == static_cast<unsigned>(AArch64::ArchKind::AK_ARMV8_1A))
Features.push_back("+v8.1a");
if (ArchKind == static_cast<unsigned>(AArch64::ArchKind::AK_ARMV8_2A))
@@ -501,19 +501,19 @@
return StringRef();
}
-const char *llvm::AArch64::getArchExtFeature(StringRef ArchExt) {
+StringRef llvm::AArch64::getArchExtFeature(StringRef ArchExt) {
if (ArchExt.startswith("no")) {
StringRef ArchExtBase(ArchExt.substr(2));
for (const auto &AE : AArch64ARCHExtNames) {
if (AE.NegFeature && ArchExtBase == AE.getName())
- return AE.NegFeature;
+ return StringRef(AE.NegFeature);
}
}
for (const auto &AE : AArch64ARCHExtNames)
if (AE.Feature && ArchExt == AE.getName())
- return AE.Feature;
- return nullptr;
+ return StringRef(AE.Feature);
+ return StringRef();
}
StringRef llvm::AArch64::getDefaultCPU(StringRef Arch) {
@@ -578,6 +578,7 @@
.Cases("v8", "v8a", "aarch64", "arm64", "v8-a")
.Case("v8.1a", "v8.1-a")
.Case("v8.2a", "v8.2-a")
+ .Case("v8r", "v8-r")
.Case("v8m.base", "v8-m.base")
.Case("v8m.main", "v8-m.main")
.Default(Arch);
@@ -721,6 +722,7 @@
case ARM::AK_ARMV8MBaseline:
return ARM::PK_M;
case ARM::AK_ARMV7R:
+ case ARM::AK_ARMV8R:
return ARM::PK_R;
case ARM::AK_ARMV7A:
case ARM::AK_ARMV7K:
@@ -768,6 +770,7 @@
case ARM::AK_ARMV8A:
case ARM::AK_ARMV8_1A:
case ARM::AK_ARMV8_2A:
+ case ARM::AK_ARMV8R:
case ARM::AK_ARMV8MBaseline:
case ARM::AK_ARMV8MMainline:
return 8;
diff --git a/third_party/llvm-subzero/lib/Support/Threading.cpp b/third_party/llvm-subzero/lib/Support/Threading.cpp
index e8f5622..760f9e2 100644
--- a/third_party/llvm-subzero/lib/Support/Threading.cpp
+++ b/third_party/llvm-subzero/lib/Support/Threading.cpp
@@ -15,6 +15,7 @@
#include "llvm/Support/Threading.h"
#include "llvm/Config/config.h"
#include "llvm/Support/Atomic.h"
+#include "llvm/Support/Host.h"
#include "llvm/Support/Mutex.h"
#include "llvm/Support/thread.h"
#include <cassert>
@@ -116,3 +117,13 @@
}
#endif
+
+unsigned llvm::heavyweight_hardware_concurrency() {
+#if !LLVM_ENABLE_THREADS
+ return 1;
+#endif
+ int NumPhysical = sys::getHostNumPhysicalCores();
+ if (NumPhysical == -1)
+ return thread::hardware_concurrency();
+ return NumPhysical;
+}
diff --git a/third_party/llvm-subzero/lib/Support/TimeValue.cpp b/third_party/llvm-subzero/lib/Support/TimeValue.cpp
deleted file mode 100644
index 94a4c01..0000000
--- a/third_party/llvm-subzero/lib/Support/TimeValue.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//===-- TimeValue.cpp - Implement OS TimeValue Concept ----------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file implements the operating system TimeValue concept.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Support/TimeValue.h"
-#include "llvm/Config/config.h"
-
-namespace llvm {
-
-using namespace sys;
-
-const TimeValue::SecondsType
- TimeValue::PosixZeroTimeSeconds = -946684800;
-const TimeValue::SecondsType
- TimeValue::Win32ZeroTimeSeconds = -12591158400ULL;
-
-void TimeValue::normalize() {
- if ( nanos_ >= NANOSECONDS_PER_SECOND ) {
- do {
- seconds_++;
- nanos_ -= NANOSECONDS_PER_SECOND;
- } while ( nanos_ >= NANOSECONDS_PER_SECOND );
- } else if (nanos_ <= -NANOSECONDS_PER_SECOND ) {
- do {
- seconds_--;
- nanos_ += NANOSECONDS_PER_SECOND;
- } while (nanos_ <= -NANOSECONDS_PER_SECOND);
- }
-
- if (seconds_ >= 1 && nanos_ < 0) {
- seconds_--;
- nanos_ += NANOSECONDS_PER_SECOND;
- } else if (seconds_ < 0 && nanos_ > 0) {
- seconds_++;
- nanos_ -= NANOSECONDS_PER_SECOND;
- }
-}
-
-} // namespace llvm
-
-/// Include the platform-specific portion of TimeValue class
-#ifdef LLVM_ON_UNIX
-#include "Unix/TimeValue.inc"
-#endif
-#ifdef LLVM_ON_WIN32
-#include "Windows/TimeValue.inc"
-#endif
diff --git a/third_party/llvm-subzero/lib/Support/Timer.cpp b/third_party/llvm-subzero/lib/Support/Timer.cpp
index 49bd39e..fbd73d0 100644
--- a/third_party/llvm-subzero/lib/Support/Timer.cpp
+++ b/third_party/llvm-subzero/lib/Support/Timer.cpp
@@ -7,7 +7,7 @@
//
//===----------------------------------------------------------------------===//
//
-// Interval Timing implementation.
+/// \file Interval Timing implementation.
//
//===----------------------------------------------------------------------===//
@@ -21,16 +21,16 @@
#include "llvm/Support/Mutex.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/raw_ostream.h"
+#include "llvm/Support/YAMLTraits.h"
using namespace llvm;
-// getLibSupportInfoOutputFilename - This ugly hack is brought to you courtesy
-// of constructor/destructor ordering being unspecified by C++. Basically the
-// problem is that a Statistic object gets destroyed, which ends up calling
-// 'GetLibSupportInfoOutputFile()' (below), which calls this function.
-// LibSupportInfoOutputFilename used to be a global variable, but sometimes it
-// would get destroyed before the Statistic, causing havoc to ensue. We "fix"
-// this by creating the string the first time it is needed and never destroying
-// it.
+// This ugly hack is brought to you courtesy of constructor/destructor ordering
+// being unspecified by C++. Basically the problem is that a Statistic object
+// gets destroyed, which ends up calling 'GetLibSupportInfoOutputFile()'
+// (below), which calls this function. LibSupportInfoOutputFilename used to be
+// a global variable, but sometimes it would get destroyed before the Statistic,
+// causing havoc to ensue. We "fix" this by creating the string the first time
+// it is needed and never destroying it.
static ManagedStatic<std::string> LibSupportInfoOutputFilename;
static std::string &getLibSupportInfoOutputFilename() {
return *LibSupportInfoOutputFilename;
@@ -50,7 +50,6 @@
cl::Hidden, cl::location(getLibSupportInfoOutputFilename()));
}
-// Return a file stream to print our output on.
std::unique_ptr<raw_fd_ostream> llvm::CreateInfoOutputFile() {
const std::string &OutputFilename = getLibSupportInfoOutputFilename();
if (OutputFilename.empty())
@@ -83,7 +82,7 @@
sys::SmartScopedLock<true> Lock(*TimerLock);
tmp = DefaultTimerGroup;
if (!tmp) {
- tmp = new TimerGroup("Miscellaneous Ungrouped Timers");
+ tmp = new TimerGroup("misc", "Miscellaneous Ungrouped Timers");
sys::MemoryFence();
DefaultTimerGroup = tmp;
}
@@ -95,13 +94,14 @@
// Timer Implementation
//===----------------------------------------------------------------------===//
-void Timer::init(StringRef N) {
- init(N, *getDefaultTimerGroup());
+void Timer::init(StringRef Name, StringRef Description) {
+ init(Name, Description, *getDefaultTimerGroup());
}
-void Timer::init(StringRef N, TimerGroup &tg) {
+void Timer::init(StringRef Name, StringRef Description, TimerGroup &tg) {
assert(!TG && "Timer already initialized");
- Name.assign(N.begin(), N.end());
+ this->Name.assign(Name.begin(), Name.end());
+ this->Description.assign(Description.begin(), Description.end());
Running = Triggered = false;
TG = &tg;
TG->addTimer(*this);
@@ -118,8 +118,10 @@
}
TimeRecord TimeRecord::getCurrentTime(bool Start) {
+ using Seconds = std::chrono::duration<double, std::ratio<1>>;
TimeRecord Result;
- sys::TimeValue now(0,0), user(0,0), sys(0,0);
+ sys::TimePoint<> now;
+ std::chrono::nanoseconds user, sys;
if (Start) {
Result.MemUsed = getMemUsage();
@@ -129,9 +131,9 @@
Result.MemUsed = getMemUsage();
}
- Result.WallTime = now.seconds() + now.microseconds() / 1000000.0;
- Result.UserTime = user.seconds() + user.microseconds() / 1000000.0;
- Result.SystemTime = sys.seconds() + sys.microseconds() / 1000000.0;
+ Result.WallTime = Seconds(now.time_since_epoch()).count();
+ Result.UserTime = Seconds(user).count();
+ Result.SystemTime = Seconds(sys).count();
return Result;
}
@@ -193,54 +195,44 @@
delete I->second.first;
}
- Timer &get(StringRef Name, StringRef GroupName) {
+ Timer &get(StringRef Name, StringRef Description, StringRef GroupName,
+ StringRef GroupDescription) {
sys::SmartScopedLock<true> L(*TimerLock);
std::pair<TimerGroup*, Name2TimerMap> &GroupEntry = Map[GroupName];
if (!GroupEntry.first)
- GroupEntry.first = new TimerGroup(GroupName);
+ GroupEntry.first = new TimerGroup(GroupName, GroupDescription);
Timer &T = GroupEntry.second[Name];
if (!T.isInitialized())
- T.init(Name, *GroupEntry.first);
+ T.init(Name, Description, *GroupEntry.first);
return T;
}
};
}
-static ManagedStatic<Name2TimerMap> NamedTimers;
static ManagedStatic<Name2PairMap> NamedGroupedTimers;
-static Timer &getNamedRegionTimer(StringRef Name) {
- sys::SmartScopedLock<true> L(*TimerLock);
-
- Timer &T = (*NamedTimers)[Name];
- if (!T.isInitialized())
- T.init(Name);
- return T;
-}
-
-NamedRegionTimer::NamedRegionTimer(StringRef Name,
- bool Enabled)
- : TimeRegion(!Enabled ? nullptr : &getNamedRegionTimer(Name)) {}
-
-NamedRegionTimer::NamedRegionTimer(StringRef Name, StringRef GroupName,
- bool Enabled)
- : TimeRegion(!Enabled ? nullptr : &NamedGroupedTimers->get(Name, GroupName)){}
+NamedRegionTimer::NamedRegionTimer(StringRef Name, StringRef Description,
+ StringRef GroupName,
+ StringRef GroupDescription, bool Enabled)
+ : TimeRegion(!Enabled ? nullptr
+ : &NamedGroupedTimers->get(Name, Description, GroupName,
+ GroupDescription)) {}
//===----------------------------------------------------------------------===//
// TimerGroup Implementation
//===----------------------------------------------------------------------===//
-/// TimerGroupList - This is the global list of TimerGroups, maintained by the
-/// TimerGroup ctor/dtor and is protected by the TimerLock lock.
+/// This is the global list of TimerGroups, maintained by the TimerGroup
+/// ctor/dtor and is protected by the TimerLock lock.
static TimerGroup *TimerGroupList = nullptr;
-TimerGroup::TimerGroup(StringRef name)
- : Name(name.begin(), name.end()), FirstTimer(nullptr) {
-
+TimerGroup::TimerGroup(StringRef Name, StringRef Description)
+ : Name(Name.begin(), Name.end()),
+ Description(Description.begin(), Description.end()) {
// Add the group to TimerGroupList.
sys::SmartScopedLock<true> L(*TimerLock);
if (TimerGroupList)
@@ -269,7 +261,7 @@
// If the timer was started, move its data to TimersToPrint.
if (T.hasTriggered())
- TimersToPrint.emplace_back(T.Time, T.Name);
+ TimersToPrint.emplace_back(T.Time, T.Name, T.Description);
T.TG = nullptr;
@@ -303,15 +295,15 @@
std::sort(TimersToPrint.begin(), TimersToPrint.end());
TimeRecord Total;
- for (auto &RecordNamePair : TimersToPrint)
- Total += RecordNamePair.first;
+ for (const PrintRecord &Record : TimersToPrint)
+ Total += Record.Time;
// Print out timing header.
OS << "===" << std::string(73, '-') << "===\n";
// Figure out how many spaces to indent TimerGroup name.
- unsigned Padding = (80-Name.length())/2;
+ unsigned Padding = (80-Description.length())/2;
if (Padding > 80) Padding = 0; // Don't allow "negative" numbers
- OS.indent(Padding) << Name << '\n';
+ OS.indent(Padding) << Description << '\n';
OS << "===" << std::string(73, '-') << "===\n";
// If this is not an collection of ungrouped times, print the total time.
@@ -334,10 +326,10 @@
OS << " --- Name ---\n";
// Loop through all of the timing data, printing it out.
- for (unsigned i = 0, e = TimersToPrint.size(); i != e; ++i) {
- const std::pair<TimeRecord, std::string> &Entry = TimersToPrint[e-i-1];
- Entry.first.print(Total, OS);
- OS << Entry.second << '\n';
+ for (const PrintRecord &Record : make_range(TimersToPrint.rbegin(),
+ TimersToPrint.rend())) {
+ Record.Time.print(Total, OS);
+ OS << Record.Description << '\n';
}
Total.print(Total, OS);
@@ -347,29 +339,66 @@
TimersToPrint.clear();
}
-/// print - Print any started timers in this group and zero them.
-void TimerGroup::print(raw_ostream &OS) {
- sys::SmartScopedLock<true> L(*TimerLock);
-
+void TimerGroup::prepareToPrintList() {
// See if any of our timers were started, if so add them to TimersToPrint and
// reset them.
for (Timer *T = FirstTimer; T; T = T->Next) {
if (!T->hasTriggered()) continue;
- TimersToPrint.emplace_back(T->Time, T->Name);
-
+ TimersToPrint.emplace_back(T->Time, T->Name, T->Description);
+
// Clear out the time.
T->clear();
}
+}
+
+void TimerGroup::print(raw_ostream &OS) {
+ sys::SmartScopedLock<true> L(*TimerLock);
+
+ prepareToPrintList();
// If any timers were started, print the group.
if (!TimersToPrint.empty())
PrintQueuedTimers(OS);
}
-/// printAll - This static method prints all timers and clears them all out.
void TimerGroup::printAll(raw_ostream &OS) {
sys::SmartScopedLock<true> L(*TimerLock);
for (TimerGroup *TG = TimerGroupList; TG; TG = TG->Next)
TG->print(OS);
}
+
+void TimerGroup::printJSONValue(raw_ostream &OS, const PrintRecord &R,
+ const char *suffix, double Value) {
+ assert(!yaml::needsQuotes(Name) && "TimerGroup name needs no quotes");
+ assert(!yaml::needsQuotes(R.Name) && "Timer name needs no quotes");
+ OS << "\t\"time." << Name << '.' << R.Name << suffix << "\": " << Value;
+}
+
+const char *TimerGroup::printJSONValues(raw_ostream &OS, const char *delim) {
+ prepareToPrintList();
+ for (const PrintRecord &R : TimersToPrint) {
+ OS << delim;
+ delim = ",\n";
+
+ const TimeRecord &T = R.Time;
+ printJSONValue(OS, R, ".wall", T.getWallTime());
+ OS << delim;
+ printJSONValue(OS, R, ".user", T.getUserTime());
+ OS << delim;
+ printJSONValue(OS, R, ".sys", T.getSystemTime());
+ }
+ TimersToPrint.clear();
+ return delim;
+}
+
+const char *TimerGroup::printAllJSONValues(raw_ostream &OS, const char *delim) {
+ sys::SmartScopedLock<true> L(*TimerLock);
+ for (TimerGroup *TG = TimerGroupList; TG; TG = TG->Next)
+ delim = TG->printJSONValues(OS, delim);
+ return delim;
+}
+
+void TimerGroup::ConstructTimerLists() {
+ (void)*NamedGroupedTimers;
+}
diff --git a/third_party/llvm-subzero/lib/Support/Triple.cpp b/third_party/llvm-subzero/lib/Support/Triple.cpp
index 2bac2a3..6783b40 100644
--- a/third_party/llvm-subzero/lib/Support/Triple.cpp
+++ b/third_party/llvm-subzero/lib/Support/Triple.cpp
@@ -17,7 +17,7 @@
#include <cstring>
using namespace llvm;
-const char *Triple::getArchTypeName(ArchType Kind) {
+StringRef Triple::getArchTypeName(ArchType Kind) {
switch (Kind) {
case UnknownArch: return "unknown";
@@ -39,11 +39,14 @@
case ppc: return "powerpc";
case r600: return "r600";
case amdgcn: return "amdgcn";
+ case riscv32: return "riscv32";
+ case riscv64: return "riscv64";
case sparc: return "sparc";
case sparcv9: return "sparcv9";
case sparcel: return "sparcel";
case systemz: return "s390x";
case tce: return "tce";
+ case tcele: return "tcele";
case thumb: return "thumb";
case thumbeb: return "thumbeb";
case x86: return "i386";
@@ -71,10 +74,10 @@
llvm_unreachable("Invalid ArchType!");
}
-const char *Triple::getArchTypePrefix(ArchType Kind) {
+StringRef Triple::getArchTypePrefix(ArchType Kind) {
switch (Kind) {
default:
- return nullptr;
+ return StringRef();
case aarch64:
case aarch64_be: return "aarch64";
@@ -134,10 +137,13 @@
case shave: return "shave";
case wasm32:
case wasm64: return "wasm";
+
+ case riscv32:
+ case riscv64: return "riscv";
}
}
-const char *Triple::getVendorTypeName(VendorType Kind) {
+StringRef Triple::getVendorTypeName(VendorType Kind) {
switch (Kind) {
case UnknownVendor: return "unknown";
@@ -160,7 +166,7 @@
llvm_unreachable("Invalid VendorType!");
}
-const char *Triple::getOSTypeName(OSType Kind) {
+StringRef Triple::getOSTypeName(OSType Kind) {
switch (Kind) {
case UnknownOS: return "unknown";
@@ -168,6 +174,7 @@
case Darwin: return "darwin";
case DragonFly: return "dragonfly";
case FreeBSD: return "freebsd";
+ case Fuchsia: return "fuchsia";
case IOS: return "ios";
case KFreeBSD: return "kfreebsd";
case Linux: return "linux";
@@ -192,12 +199,13 @@
case TvOS: return "tvos";
case WatchOS: return "watchos";
case Mesa3D: return "mesa3d";
+ case Contiki: return "contiki";
}
llvm_unreachable("Invalid OSType");
}
-const char *Triple::getEnvironmentTypeName(EnvironmentType Kind) {
+StringRef Triple::getEnvironmentTypeName(EnvironmentType Kind) {
switch (Kind) {
case UnknownEnvironment: return "unknown";
case GNU: return "gnu";
@@ -217,6 +225,7 @@
case Cygnus: return "cygnus";
case AMDOpenCL: return "amdopencl";
case CoreCLR: return "coreclr";
+ case OpenCL: return "opencl";
}
llvm_unreachable("Invalid EnvironmentType!");
@@ -258,12 +267,15 @@
.Case("ppc64le", ppc64le)
.Case("r600", r600)
.Case("amdgcn", amdgcn)
+ .Case("riscv32", riscv32)
+ .Case("riscv64", riscv64)
.Case("hexagon", hexagon)
.Case("sparc", sparc)
.Case("sparcel", sparcel)
.Case("sparcv9", sparcv9)
.Case("systemz", systemz)
.Case("tce", tce)
+ .Case("tcele", tcele)
.Case("thumb", thumb)
.Case("thumbeb", thumbeb)
.Case("x86", x86)
@@ -373,12 +385,15 @@
.Case("mips64el", Triple::mips64el)
.Case("r600", Triple::r600)
.Case("amdgcn", Triple::amdgcn)
+ .Case("riscv32", Triple::riscv32)
+ .Case("riscv64", Triple::riscv64)
.Case("hexagon", Triple::hexagon)
.Cases("s390x", "systemz", Triple::systemz)
.Case("sparc", Triple::sparc)
.Case("sparcel", Triple::sparcel)
.Cases("sparcv9", "sparc64", Triple::sparcv9)
.Case("tce", Triple::tce)
+ .Case("tcele", Triple::tcele)
.Case("xcore", Triple::xcore)
.Case("nvptx", Triple::nvptx)
.Case("nvptx64", Triple::nvptx64)
@@ -437,6 +452,7 @@
.StartsWith("darwin", Triple::Darwin)
.StartsWith("dragonfly", Triple::DragonFly)
.StartsWith("freebsd", Triple::FreeBSD)
+ .StartsWith("fuchsia", Triple::Fuchsia)
.StartsWith("ios", Triple::IOS)
.StartsWith("kfreebsd", Triple::KFreeBSD)
.StartsWith("linux", Triple::Linux)
@@ -462,6 +478,7 @@
.StartsWith("tvos", Triple::TvOS)
.StartsWith("watchos", Triple::WatchOS)
.StartsWith("mesa3d", Triple::Mesa3D)
+ .StartsWith("contiki", Triple::Contiki)
.Default(Triple::UnknownOS);
}
@@ -484,6 +501,7 @@
.StartsWith("cygnus", Triple::Cygnus)
.StartsWith("amdopencl", Triple::AMDOpenCL)
.StartsWith("coreclr", Triple::CoreCLR)
+ .StartsWith("opencl", Triple::OpenCL)
.Default(Triple::UnknownEnvironment);
}
@@ -546,6 +564,8 @@
return Triple::ARMSubArch_v8_1a;
case ARM::AK_ARMV8_2A:
return Triple::ARMSubArch_v8_2a;
+ case ARM::AK_ARMV8R:
+ return Triple::ARMSubArch_v8r;
case ARM::AK_ARMV8MBaseline:
return Triple::ARMSubArch_v8m_baseline;
case ARM::AK_ARMV8MMainline:
@@ -555,7 +575,7 @@
}
}
-static const char *getObjectFormatTypeName(Triple::ObjectFormatType Kind) {
+static StringRef getObjectFormatTypeName(Triple::ObjectFormatType Kind) {
switch (Kind) {
case Triple::UnknownObjectFormat: return "";
case Triple::COFF: return "coff";
@@ -605,6 +625,8 @@
case Triple::r600:
case Triple::renderscript32:
case Triple::renderscript64:
+ case Triple::riscv32:
+ case Triple::riscv64:
case Triple::shave:
case Triple::sparc:
case Triple::sparcel:
@@ -613,6 +635,7 @@
case Triple::spir64:
case Triple::systemz:
case Triple::tce:
+ case Triple::tcele:
case Triple::thumbeb:
case Triple::wasm32:
case Triple::wasm64:
@@ -1132,9 +1155,11 @@
case llvm::Triple::nvptx:
case llvm::Triple::ppc:
case llvm::Triple::r600:
+ case llvm::Triple::riscv32:
case llvm::Triple::sparc:
case llvm::Triple::sparcel:
case llvm::Triple::tce:
+ case llvm::Triple::tcele:
case llvm::Triple::thumb:
case llvm::Triple::thumbeb:
case llvm::Triple::x86:
@@ -1160,6 +1185,7 @@
case llvm::Triple::nvptx64:
case llvm::Triple::ppc64:
case llvm::Triple::ppc64le:
+ case llvm::Triple::riscv64:
case llvm::Triple::sparcv9:
case llvm::Triple::systemz:
case llvm::Triple::x86_64:
@@ -1212,9 +1238,11 @@
case Triple::nvptx:
case Triple::ppc:
case Triple::r600:
+ case Triple::riscv32:
case Triple::sparc:
case Triple::sparcel:
case Triple::tce:
+ case Triple::tcele:
case Triple::thumb:
case Triple::thumbeb:
case Triple::x86:
@@ -1234,6 +1262,7 @@
case Triple::nvptx64: T.setArch(Triple::nvptx); break;
case Triple::ppc64: T.setArch(Triple::ppc); break;
case Triple::sparcv9: T.setArch(Triple::sparc); break;
+ case Triple::riscv64: T.setArch(Triple::riscv32); break;
case Triple::x86_64: T.setArch(Triple::x86); break;
case Triple::amdil64: T.setArch(Triple::amdil); break;
case Triple::hsail64: T.setArch(Triple::hsail); break;
@@ -1255,6 +1284,7 @@
case Triple::msp430:
case Triple::r600:
case Triple::tce:
+ case Triple::tcele:
case Triple::xcore:
case Triple::sparcel:
case Triple::shave:
@@ -1275,6 +1305,7 @@
case Triple::nvptx64:
case Triple::ppc64:
case Triple::ppc64le:
+ case Triple::riscv64:
case Triple::sparcv9:
case Triple::systemz:
case Triple::x86_64:
@@ -1291,6 +1322,7 @@
case Triple::nvptx: T.setArch(Triple::nvptx64); break;
case Triple::ppc: T.setArch(Triple::ppc64); break;
case Triple::sparc: T.setArch(Triple::sparcv9); break;
+ case Triple::riscv32: T.setArch(Triple::riscv64); break;
case Triple::x86: T.setArch(Triple::x86_64); break;
case Triple::amdil: T.setArch(Triple::amdil64); break;
case Triple::hsail: T.setArch(Triple::hsail64); break;
@@ -1324,6 +1356,8 @@
case Triple::nvptx64:
case Triple::nvptx:
case Triple::r600:
+ case Triple::riscv32:
+ case Triple::riscv64:
case Triple::shave:
case Triple::spir64:
case Triple::spir:
@@ -1342,6 +1376,7 @@
T.setArch(UnknownArch);
break;
+ case Triple::tcele: T.setArch(Triple::tce); break;
case Triple::aarch64: T.setArch(Triple::aarch64_be); break;
case Triple::bpfel: T.setArch(Triple::bpfeb); break;
case Triple::mips64el:T.setArch(Triple::mips64); break;
@@ -1365,7 +1400,6 @@
case Triple::ppc:
case Triple::sparcv9:
case Triple::systemz:
- case Triple::tce:
// ARM is intentionally unsupported here, changing the architecture would
// drop any arch suffixes.
@@ -1374,6 +1408,7 @@
T.setArch(UnknownArch);
break;
+ case Triple::tce: T.setArch(Triple::tcele); break;
case Triple::aarch64_be: T.setArch(Triple::aarch64); break;
case Triple::bpfeb: T.setArch(Triple::bpfel); break;
case Triple::mips64: T.setArch(Triple::mips64el); break;
@@ -1408,6 +1443,8 @@
case Triple::nvptx:
case Triple::ppc64le:
case Triple::r600:
+ case Triple::riscv32:
+ case Triple::riscv64:
case Triple::shave:
case Triple::sparcel:
case Triple::spir64:
@@ -1418,6 +1455,7 @@
case Triple::x86:
case Triple::x86_64:
case Triple::xcore:
+ case Triple::tcele:
case Triple::renderscript32:
case Triple::renderscript64:
return true;
diff --git a/third_party/llvm-subzero/lib/Support/Twine.cpp b/third_party/llvm-subzero/lib/Support/Twine.cpp
index 5e989fb..465c6e6 100644
--- a/third_party/llvm-subzero/lib/Support/Twine.cpp
+++ b/third_party/llvm-subzero/lib/Support/Twine.cpp
@@ -10,6 +10,7 @@
#include "llvm/ADT/Twine.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
@@ -18,6 +19,11 @@
if (LHSKind == StdStringKind && RHSKind == EmptyKind)
return *LHS.stdString;
+ // If we're storing a formatv_object, we can avoid an extra copy by formatting
+ // it immediately and returning the result.
+ if (LHSKind == FormatvObjectKind && RHSKind == EmptyKind)
+ return LHS.formatvObject->str();
+
// Otherwise, flatten and copy the contents first.
SmallString<256> Vec;
return toStringRef(Vec).str();
@@ -68,6 +74,9 @@
case Twine::SmallStringKind:
OS << *Ptr.smallString;
break;
+ case Twine::FormatvObjectKind:
+ OS << *Ptr.formatvObject;
+ break;
case Twine::CharKind:
OS << Ptr.character;
break;
@@ -121,6 +130,9 @@
case Twine::SmallStringKind:
OS << "smallstring:\"" << *Ptr.smallString << "\"";
break;
+ case Twine::FormatvObjectKind:
+ OS << "formatv:\"" << *Ptr.formatvObject << "\"";
+ break;
case Twine::CharKind:
OS << "char:\"" << Ptr.character << "\"";
break;
diff --git a/third_party/llvm-subzero/lib/Support/Windows/Path.inc b/third_party/llvm-subzero/lib/Support/Windows/Path.inc
index fab6aec..27b250b 100644
--- a/third_party/llvm-subzero/lib/Support/Windows/Path.inc
+++ b/third_party/llvm-subzero/lib/Support/Windows/Path.inc
@@ -164,24 +164,18 @@
return SpaceInfo;
}
-TimeValue file_status::getLastAccessedTime() const {
- ULARGE_INTEGER UI;
- UI.LowPart = LastAccessedTimeLow;
- UI.HighPart = LastAccessedTimeHigh;
-
- TimeValue Ret;
- Ret.fromWin32Time(UI.QuadPart);
- return Ret;
+TimePoint<> file_status::getLastAccessedTime() const {
+ FILETIME Time;
+ Time.dwLowDateTime = LastAccessedTimeLow;
+ Time.dwHighDateTime = LastAccessedTimeHigh;
+ return toTimePoint(Time);
}
-TimeValue file_status::getLastModificationTime() const {
- ULARGE_INTEGER UI;
- UI.LowPart = LastWriteTimeLow;
- UI.HighPart = LastWriteTimeHigh;
-
- TimeValue Ret;
- Ret.fromWin32Time(UI.QuadPart);
- return Ret;
+TimePoint<> file_status::getLastModificationTime() const {
+ FILETIME Time;
+ Time.dwLowDateTime = LastWriteTimeLow;
+ Time.dwHighDateTime = LastWriteTimeHigh;
+ return toTimePoint(Time);
}
std::error_code current_path(SmallVectorImpl<char> &result) {
@@ -238,6 +232,10 @@
return std::error_code();
}
+std::error_code create_hard_link(const Twine &to, const Twine &from) {
+ return create_link(to, from);
+}
+
std::error_code remove(const Twine &path, bool IgnoreNonExisting) {
SmallVector<wchar_t, 128> path_utf16;
@@ -513,12 +511,8 @@
return getStatus(FileHandle, Result);
}
-std::error_code setLastModificationAndAccessTime(int FD, TimeValue Time) {
- ULARGE_INTEGER UI;
- UI.QuadPart = Time.toWin32Time();
- FILETIME FT;
- FT.dwLowDateTime = UI.LowPart;
- FT.dwHighDateTime = UI.HighPart;
+std::error_code setLastModificationAndAccessTime(int FD, TimePoint<> Time) {
+ FILETIME FT = toFILETIME(Time);
HANDLE FileHandle = reinterpret_cast<HANDLE>(_get_osfhandle(FD));
if (!SetFileTime(FileHandle, NULL, &FT, &FT))
return mapWindowsError(::GetLastError());
diff --git a/third_party/llvm-subzero/lib/Support/Windows/Process.inc b/third_party/llvm-subzero/lib/Support/Windows/Process.inc
index b012991..8d646b3 100644
--- a/third_party/llvm-subzero/lib/Support/Windows/Process.inc
+++ b/third_party/llvm-subzero/lib/Support/Windows/Process.inc
@@ -49,18 +49,6 @@
using namespace llvm;
using namespace sys;
-static TimeValue getTimeValueFromFILETIME(FILETIME Time) {
- ULARGE_INTEGER TimeInteger;
- TimeInteger.LowPart = Time.dwLowDateTime;
- TimeInteger.HighPart = Time.dwHighDateTime;
-
- // FILETIME's are # of 100 nanosecond ticks (1/10th of a microsecond)
- return TimeValue(
- static_cast<TimeValue::SecondsType>(TimeInteger.QuadPart / 10000000),
- static_cast<TimeValue::NanoSecondsType>(
- (TimeInteger.QuadPart % 10000000) * 100));
-}
-
// This function retrieves the page size using GetNativeSystemInfo() and is
// present solely so it can be called once to initialize the self_process member
// below.
@@ -93,17 +81,17 @@
return size;
}
-void Process::GetTimeUsage(TimeValue &elapsed, TimeValue &user_time,
- TimeValue &sys_time) {
- elapsed = TimeValue::now();
+void Process::GetTimeUsage(TimePoint<> &elapsed, std::chrono::nanoseconds &user_time,
+ std::chrono::nanoseconds &sys_time) {
+ elapsed = std::chrono::system_clock::now();;
FILETIME ProcCreate, ProcExit, KernelTime, UserTime;
if (GetProcessTimes(GetCurrentProcess(), &ProcCreate, &ProcExit, &KernelTime,
&UserTime) == 0)
return;
- user_time = getTimeValueFromFILETIME(UserTime);
- sys_time = getTimeValueFromFILETIME(KernelTime);
+ user_time = toDuration(UserTime);
+ sys_time = toDuration(KernelTime);
}
// Some LLVM programs such as bugpoint produce core files as a normal part of
diff --git a/third_party/llvm-subzero/lib/Support/Windows/Signals.inc b/third_party/llvm-subzero/lib/Support/Windows/Signals.inc
index d3a70c3..f739421 100644
--- a/third_party/llvm-subzero/lib/Support/Windows/Signals.inc
+++ b/third_party/llvm-subzero/lib/Support/Windows/Signals.inc
@@ -28,6 +28,7 @@
#ifdef __MINGW32__
#include <imagehlp.h>
#else
+ #include <crtdbg.h>
#include <dbghelp.h>
#endif
#include <psapi.h>
@@ -266,7 +267,7 @@
continue;
intptr_t Addr = (intptr_t)Data->StackTrace[I];
if (Beg <= Addr && Addr < End) {
- Data->Modules[I] = Data->StrPool->save(ModuleName);
+ Data->Modules[I] = Data->StrPool->save(ModuleName).data();
Data->Offsets[I] = Addr - Beg;
}
}
diff --git a/third_party/llvm-subzero/lib/Support/Windows/WindowsSupport.h b/third_party/llvm-subzero/lib/Support/Windows/WindowsSupport.h
index 18ecdf4..c358b99 100644
--- a/third_party/llvm-subzero/lib/Support/Windows/WindowsSupport.h
+++ b/third_party/llvm-subzero/lib/Support/Windows/WindowsSupport.h
@@ -39,12 +39,13 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Config/config.h" // Get build system configuration settings
+#include "llvm/Support/Chrono.h"
#include "llvm/Support/Compiler.h"
-#include <system_error>
-#include <windows.h>
-#include <wincrypt.h>
#include <cassert>
#include <string>
+#include <system_error>
+#include <windows.h>
+#include <wincrypt.h> // Must be included after windows.h
/// Determines if the program is running on Windows 8 or newer. This
/// reimplements one of the helpers in the Windows 8.1 SDK, which are intended
@@ -211,6 +212,39 @@
}
namespace sys {
+
+inline std::chrono::nanoseconds toDuration(FILETIME Time) {
+ ULARGE_INTEGER TimeInteger;
+ TimeInteger.LowPart = Time.dwLowDateTime;
+ TimeInteger.HighPart = Time.dwHighDateTime;
+
+ // FILETIME's are # of 100 nanosecond ticks (1/10th of a microsecond)
+ return std::chrono::nanoseconds(100 * TimeInteger.QuadPart);
+}
+
+inline TimePoint<> toTimePoint(FILETIME Time) {
+ ULARGE_INTEGER TimeInteger;
+ TimeInteger.LowPart = Time.dwLowDateTime;
+ TimeInteger.HighPart = Time.dwHighDateTime;
+
+ // Adjust for different epoch
+ TimeInteger.QuadPart -= 11644473600ll * 10000000;
+
+ // FILETIME's are # of 100 nanosecond ticks (1/10th of a microsecond)
+ return TimePoint<>(std::chrono::nanoseconds(100 * TimeInteger.QuadPart));
+}
+
+inline FILETIME toFILETIME(TimePoint<> TP) {
+ ULARGE_INTEGER TimeInteger;
+ TimeInteger.QuadPart = TP.time_since_epoch().count() / 100;
+ TimeInteger.QuadPart += 11644473600ll * 10000000;
+
+ FILETIME Time;
+ Time.dwLowDateTime = TimeInteger.LowPart;
+ Time.dwHighDateTime = TimeInteger.HighPart;
+ return Time;
+}
+
namespace path {
std::error_code widenPath(const Twine &Path8,
SmallVectorImpl<wchar_t> &Path16);
diff --git a/third_party/llvm-subzero/lib/Support/raw_ostream.cpp b/third_party/llvm-subzero/lib/Support/raw_ostream.cpp
index df4c8dc..d073802 100644
--- a/third_party/llvm-subzero/lib/Support/raw_ostream.cpp
+++ b/third_party/llvm-subzero/lib/Support/raw_ostream.cpp
@@ -20,7 +20,9 @@
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Format.h"
+#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/MathExtras.h"
+#include "llvm/Support/NativeFormatting.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/Program.h"
#include <algorithm>
@@ -28,8 +30,8 @@
#include <cerrno>
#include <cstdio>
#include <iterator>
-#include <system_error>
#include <sys/stat.h>
+#include <system_error>
// <fcntl.h> may provide O_BINARY.
#if defined(HAVE_FCNTL_H)
@@ -113,73 +115,28 @@
}
raw_ostream &raw_ostream::operator<<(unsigned long N) {
- // Zero is a special case.
- if (N == 0)
- return *this << '0';
-
- char NumberBuffer[20];
- char *EndPtr = NumberBuffer+sizeof(NumberBuffer);
- char *CurPtr = EndPtr;
-
- while (N) {
- *--CurPtr = '0' + char(N % 10);
- N /= 10;
- }
- return write(CurPtr, EndPtr-CurPtr);
+ write_integer(*this, static_cast<uint64_t>(N), 0, IntegerStyle::Integer);
+ return *this;
}
raw_ostream &raw_ostream::operator<<(long N) {
- if (N < 0) {
- *this << '-';
- // Avoid undefined behavior on LONG_MIN with a cast.
- N = -(unsigned long)N;
- }
-
- return this->operator<<(static_cast<unsigned long>(N));
+ write_integer(*this, static_cast<int64_t>(N), 0, IntegerStyle::Integer);
+ return *this;
}
raw_ostream &raw_ostream::operator<<(unsigned long long N) {
- // Output using 32-bit div/mod when possible.
- if (N == static_cast<unsigned long>(N))
- return this->operator<<(static_cast<unsigned long>(N));
-
- char NumberBuffer[20];
- char *EndPtr = std::end(NumberBuffer);
- char *CurPtr = EndPtr;
-
- while (N) {
- *--CurPtr = '0' + char(N % 10);
- N /= 10;
- }
- return write(CurPtr, EndPtr-CurPtr);
+ write_integer(*this, static_cast<uint64_t>(N), 0, IntegerStyle::Integer);
+ return *this;
}
raw_ostream &raw_ostream::operator<<(long long N) {
- if (N < 0) {
- *this << '-';
- // Avoid undefined behavior on INT64_MIN with a cast.
- N = -(unsigned long long)N;
- }
-
- return this->operator<<(static_cast<unsigned long long>(N));
+ write_integer(*this, static_cast<int64_t>(N), 0, IntegerStyle::Integer);
+ return *this;
}
raw_ostream &raw_ostream::write_hex(unsigned long long N) {
- // Zero is a special case.
- if (N == 0)
- return *this << '0';
-
- char NumberBuffer[16];
- char *EndPtr = std::end(NumberBuffer);
- char *CurPtr = EndPtr;
-
- while (N) {
- unsigned char x = static_cast<unsigned char>(N) % 16;
- *--CurPtr = hexdigit(x, /*LowerCase*/true);
- N /= 16;
- }
-
- return write(CurPtr, EndPtr-CurPtr);
+ llvm::write_hex(*this, N, HexPrintStyle::Lower);
+ return *this;
}
raw_ostream &raw_ostream::write_escaped(StringRef Str,
@@ -223,50 +180,13 @@
}
raw_ostream &raw_ostream::operator<<(const void *P) {
- *this << '0' << 'x';
-
- return write_hex((uintptr_t) P);
+ llvm::write_hex(*this, (uintptr_t)P, HexPrintStyle::PrefixLower);
+ return *this;
}
raw_ostream &raw_ostream::operator<<(double N) {
-#ifdef _WIN32
- // On MSVCRT and compatible, output of %e is incompatible to Posix
- // by default. Number of exponent digits should be at least 2. "%+03d"
- // FIXME: Implement our formatter to here or Support/Format.h!
-#if defined(__MINGW32__)
- // FIXME: It should be generic to C++11.
- if (N == 0.0 && std::signbit(N))
- return *this << "-0.000000e+00";
-#else
- int fpcl = _fpclass(N);
-
- // negative zero
- if (fpcl == _FPCLASS_NZ)
- return *this << "-0.000000e+00";
-#endif
-
- char buf[16];
- unsigned len;
- len = format("%e", N).snprint(buf, sizeof(buf));
- if (len <= sizeof(buf) - 2) {
- if (len >= 5 && buf[len - 5] == 'e' && buf[len - 3] == '0') {
- int cs = buf[len - 4];
- if (cs == '+' || cs == '-') {
- int c1 = buf[len - 2];
- int c0 = buf[len - 1];
- if (isdigit(static_cast<unsigned char>(c1)) &&
- isdigit(static_cast<unsigned char>(c0))) {
- // Trim leading '0': "...e+012" -> "...e+12\0"
- buf[len - 3] = c1;
- buf[len - 2] = c0;
- buf[--len] = 0;
- }
- }
- }
- return this->operator<<(buf);
- }
-#endif
- return this->operator<<(format("%e", N));
+ llvm::write_double(*this, N, FloatStyle::Exponent);
+ return *this;
}
void raw_ostream::flush_nonempty() {
@@ -399,6 +319,12 @@
}
}
+raw_ostream &raw_ostream::operator<<(const formatv_object_base &Obj) {
+ SmallString<128> S;
+ Obj.format(*this);
+ return *this;
+}
+
raw_ostream &raw_ostream::operator<<(const FormattedString &FS) {
unsigned Len = FS.Str.size();
int PadAmount = FS.Width - Len;
@@ -412,48 +338,97 @@
raw_ostream &raw_ostream::operator<<(const FormattedNumber &FN) {
if (FN.Hex) {
- unsigned Nibbles = (64 - countLeadingZeros(FN.HexValue)+3)/4;
- unsigned PrefixChars = FN.HexPrefix ? 2 : 0;
- unsigned Width = std::max(FN.Width, Nibbles + PrefixChars);
-
- char NumberBuffer[20] = "0x0000000000000000";
- if (!FN.HexPrefix)
- NumberBuffer[1] = '0';
- char *EndPtr = NumberBuffer+Width;
- char *CurPtr = EndPtr;
- unsigned long long N = FN.HexValue;
- while (N) {
- unsigned char x = static_cast<unsigned char>(N) % 16;
- *--CurPtr = hexdigit(x, !FN.Upper);
- N /= 16;
- }
-
- return write(NumberBuffer, Width);
+ HexPrintStyle Style;
+ if (FN.Upper && FN.HexPrefix)
+ Style = HexPrintStyle::PrefixUpper;
+ else if (FN.Upper && !FN.HexPrefix)
+ Style = HexPrintStyle::Upper;
+ else if (!FN.Upper && FN.HexPrefix)
+ Style = HexPrintStyle::PrefixLower;
+ else
+ Style = HexPrintStyle::Lower;
+ llvm::write_hex(*this, FN.HexValue, Style, FN.Width);
} else {
- // Zero is a special case.
- if (FN.DecValue == 0) {
- this->indent(FN.Width-1);
- return *this << '0';
- }
- char NumberBuffer[32];
- char *EndPtr = NumberBuffer+sizeof(NumberBuffer);
- char *CurPtr = EndPtr;
- bool Neg = (FN.DecValue < 0);
- uint64_t N = Neg ? -static_cast<uint64_t>(FN.DecValue) : FN.DecValue;
- while (N) {
- *--CurPtr = '0' + char(N % 10);
- N /= 10;
- }
- int Len = EndPtr - CurPtr;
- int Pad = FN.Width - Len;
- if (Neg)
- --Pad;
- if (Pad > 0)
- this->indent(Pad);
- if (Neg)
- *this << '-';
- return write(CurPtr, Len);
+ llvm::SmallString<16> Buffer;
+ llvm::raw_svector_ostream Stream(Buffer);
+ llvm::write_integer(Stream, FN.DecValue, 0, IntegerStyle::Integer);
+ if (Buffer.size() < FN.Width)
+ indent(FN.Width - Buffer.size());
+ (*this) << Buffer;
}
+ return *this;
+}
+
+raw_ostream &raw_ostream::operator<<(const FormattedBytes &FB) {
+ if (FB.Bytes.empty())
+ return *this;
+
+ size_t LineIndex = 0;
+ auto Bytes = FB.Bytes;
+ const size_t Size = Bytes.size();
+ HexPrintStyle HPS = FB.Upper ? HexPrintStyle::Upper : HexPrintStyle::Lower;
+ uint64_t OffsetWidth = 0;
+ if (FB.FirstByteOffset.hasValue()) {
+ // Figure out how many nibbles are needed to print the largest offset
+ // represented by this data set, so that we can align the offset field
+ // to the right width.
+ size_t Lines = Size / FB.NumPerLine;
+ uint64_t MaxOffset = *FB.FirstByteOffset + Lines * FB.NumPerLine;
+ unsigned Power = 0;
+ if (MaxOffset > 0)
+ Power = llvm::Log2_64_Ceil(MaxOffset);
+ OffsetWidth = std::max<uint64_t>(4, llvm::alignTo(Power, 4) / 4);
+ }
+
+ // The width of a block of data including all spaces for group separators.
+ unsigned NumByteGroups =
+ alignTo(FB.NumPerLine, FB.ByteGroupSize) / FB.ByteGroupSize;
+ unsigned BlockCharWidth = FB.NumPerLine * 2 + NumByteGroups - 1;
+
+ while (!Bytes.empty()) {
+ indent(FB.IndentLevel);
+
+ if (FB.FirstByteOffset.hasValue()) {
+ uint64_t Offset = FB.FirstByteOffset.getValue();
+ llvm::write_hex(*this, Offset + LineIndex, HPS, OffsetWidth);
+ *this << ": ";
+ }
+
+ auto Line = Bytes.take_front(FB.NumPerLine);
+
+ size_t CharsPrinted = 0;
+ // Print the hex bytes for this line in groups
+ for (size_t I = 0; I < Line.size(); ++I, CharsPrinted += 2) {
+ if (I && (I % FB.ByteGroupSize) == 0) {
+ ++CharsPrinted;
+ *this << " ";
+ }
+ llvm::write_hex(*this, Line[I], HPS, 2);
+ }
+
+ if (FB.ASCII) {
+ // Print any spaces needed for any bytes that we didn't print on this
+ // line so that the ASCII bytes are correctly aligned.
+ assert(BlockCharWidth >= CharsPrinted);
+ indent(BlockCharWidth - CharsPrinted + 2);
+ *this << "|";
+
+ // Print the ASCII char values for each byte on this line
+ for (uint8_t Byte : Line) {
+ if (isprint(Byte))
+ *this << static_cast<char>(Byte);
+ else
+ *this << '.';
+ }
+ *this << '|';
+ }
+
+ Bytes = Bytes.drop_front(Line.size());
+ LineIndex += Line.size();
+ if (LineIndex < Size)
+ *this << '\n';
+ }
+ return *this;
}
/// indent - Insert 'NumSpaces' spaces.
@@ -623,7 +598,13 @@
uint64_t raw_fd_ostream::seek(uint64_t off) {
assert(SupportsSeeking && "Stream does not support seeking!");
flush();
+#ifdef LLVM_ON_WIN32
+ pos = ::_lseeki64(FD, off, SEEK_SET);
+#elif defined(HAVE_LSEEK64)
+ pos = ::lseek64(FD, off, SEEK_SET);
+#else
pos = ::lseek(FD, off, SEEK_SET);
+#endif
if (pos == (uint64_t)-1)
error_detected();
return pos;
diff --git a/third_party/llvm-subzero/lib/Support/regcclass.h b/third_party/llvm-subzero/lib/Support/regcclass.h
new file mode 100644
index 0000000..7fd6604
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/regcclass.h
@@ -0,0 +1,75 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)cclass.h 8.3 (Berkeley) 3/20/94
+ */
+
+#ifndef LLVM_SUPPORT_REGCCLASS_H
+#define LLVM_SUPPORT_REGCCLASS_H
+
+/* character-class table */
+static struct cclass {
+ const char *name;
+ const char *chars;
+ const char *multis;
+} cclasses[] = {
+ { "alnum", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\
+0123456789", ""} ,
+ { "alpha", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
+ ""} ,
+ { "blank", " \t", ""} ,
+ { "cntrl", "\007\b\t\n\v\f\r\1\2\3\4\5\6\16\17\20\21\22\23\24\
+\25\26\27\30\31\32\33\34\35\36\37\177", ""} ,
+ { "digit", "0123456789", ""} ,
+ { "graph", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\
+0123456789!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",
+ ""} ,
+ { "lower", "abcdefghijklmnopqrstuvwxyz",
+ ""} ,
+ { "print", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\
+0123456789!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ ",
+ ""} ,
+ { "punct", "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",
+ ""} ,
+ { "space", "\t\n\v\f\r ", ""} ,
+ { "upper", "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
+ ""} ,
+ { "xdigit", "0123456789ABCDEFabcdef",
+ ""} ,
+ { NULL, 0, "" }
+};
+
+#endif
diff --git a/third_party/llvm-subzero/lib/Support/regcname.h b/third_party/llvm-subzero/lib/Support/regcname.h
new file mode 100644
index 0000000..891d255
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/regcname.h
@@ -0,0 +1,144 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)cname.h 8.3 (Berkeley) 3/20/94
+ */
+
+#ifndef LLVM_SUPPORT_REGCNAME_H
+#define LLVM_SUPPORT_REGCNAME_H
+
+/* character-name table */
+static struct cname {
+ const char *name;
+ char code;
+} cnames[] = {
+ { "NUL", '\0' },
+ { "SOH", '\001' },
+ { "STX", '\002' },
+ { "ETX", '\003' },
+ { "EOT", '\004' },
+ { "ENQ", '\005' },
+ { "ACK", '\006' },
+ { "BEL", '\007' },
+ { "alert", '\007' },
+ { "BS", '\010' },
+ { "backspace", '\b' },
+ { "HT", '\011' },
+ { "tab", '\t' },
+ { "LF", '\012' },
+ { "newline", '\n' },
+ { "VT", '\013' },
+ { "vertical-tab", '\v' },
+ { "FF", '\014' },
+ { "form-feed", '\f' },
+ { "CR", '\015' },
+ { "carriage-return", '\r' },
+ { "SO", '\016' },
+ { "SI", '\017' },
+ { "DLE", '\020' },
+ { "DC1", '\021' },
+ { "DC2", '\022' },
+ { "DC3", '\023' },
+ { "DC4", '\024' },
+ { "NAK", '\025' },
+ { "SYN", '\026' },
+ { "ETB", '\027' },
+ { "CAN", '\030' },
+ { "EM", '\031' },
+ { "SUB", '\032' },
+ { "ESC", '\033' },
+ { "IS4", '\034' },
+ { "FS", '\034' },
+ { "IS3", '\035' },
+ { "GS", '\035' },
+ { "IS2", '\036' },
+ { "RS", '\036' },
+ { "IS1", '\037' },
+ { "US", '\037' },
+ { "space", ' ' },
+ { "exclamation-mark", '!' },
+ { "quotation-mark", '"' },
+ { "number-sign", '#' },
+ { "dollar-sign", '$' },
+ { "percent-sign", '%' },
+ { "ampersand", '&' },
+ { "apostrophe", '\'' },
+ { "left-parenthesis", '(' },
+ { "right-parenthesis", ')' },
+ { "asterisk", '*' },
+ { "plus-sign", '+' },
+ { "comma", ',' },
+ { "hyphen", '-' },
+ { "hyphen-minus", '-' },
+ { "period", '.' },
+ { "full-stop", '.' },
+ { "slash", '/' },
+ { "solidus", '/' },
+ { "zero", '0' },
+ { "one", '1' },
+ { "two", '2' },
+ { "three", '3' },
+ { "four", '4' },
+ { "five", '5' },
+ { "six", '6' },
+ { "seven", '7' },
+ { "eight", '8' },
+ { "nine", '9' },
+ { "colon", ':' },
+ { "semicolon", ';' },
+ { "less-than-sign", '<' },
+ { "equals-sign", '=' },
+ { "greater-than-sign", '>' },
+ { "question-mark", '?' },
+ { "commercial-at", '@' },
+ { "left-square-bracket", '[' },
+ { "backslash", '\\' },
+ { "reverse-solidus", '\\' },
+ { "right-square-bracket", ']' },
+ { "circumflex", '^' },
+ { "circumflex-accent", '^' },
+ { "underscore", '_' },
+ { "low-line", '_' },
+ { "grave-accent", '`' },
+ { "left-brace", '{' },
+ { "left-curly-bracket", '{' },
+ { "vertical-line", '|' },
+ { "right-brace", '}' },
+ { "right-curly-bracket", '}' },
+ { "tilde", '~' },
+ { "DEL", '\177' },
+ { NULL, 0 }
+};
+
+#endif
diff --git a/third_party/llvm-subzero/lib/Support/regcomp.c b/third_party/llvm-subzero/lib/Support/regcomp.c
new file mode 100644
index 0000000..ebde64f
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/regcomp.c
@@ -0,0 +1,1574 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)regcomp.c 8.5 (Berkeley) 3/20/94
+ */
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#include <limits.h>
+#include <stdlib.h>
+#include "regex_impl.h"
+
+#include "regutils.h"
+#include "regex2.h"
+
+#include "regcclass.h"
+#include "regcname.h"
+
+#include "llvm/Config/config.h"
+#if HAVE_STDINT_H
+#include <stdint.h>
+#else
+/* Pessimistically bound memory use */
+#define SIZE_MAX UINT_MAX
+#endif
+
+/*
+ * parse structure, passed up and down to avoid global variables and
+ * other clumsinesses
+ */
+struct parse {
+ char *next; /* next character in RE */
+ char *end; /* end of string (-> NUL normally) */
+ int error; /* has an error been seen? */
+ sop *strip; /* malloced strip */
+ sopno ssize; /* malloced strip size (allocated) */
+ sopno slen; /* malloced strip length (used) */
+ int ncsalloc; /* number of csets allocated */
+ struct re_guts *g;
+# define NPAREN 10 /* we need to remember () 1-9 for back refs */
+ sopno pbegin[NPAREN]; /* -> ( ([0] unused) */
+ sopno pend[NPAREN]; /* -> ) ([0] unused) */
+};
+
+static void p_ere(struct parse *, int);
+static void p_ere_exp(struct parse *);
+static void p_str(struct parse *);
+static void p_bre(struct parse *, int, int);
+static int p_simp_re(struct parse *, int);
+static int p_count(struct parse *);
+static void p_bracket(struct parse *);
+static void p_b_term(struct parse *, cset *);
+static void p_b_cclass(struct parse *, cset *);
+static void p_b_eclass(struct parse *, cset *);
+static char p_b_symbol(struct parse *);
+static char p_b_coll_elem(struct parse *, int);
+static char othercase(int);
+static void bothcases(struct parse *, int);
+static void ordinary(struct parse *, int);
+static void nonnewline(struct parse *);
+static void repeat(struct parse *, sopno, int, int);
+static int seterr(struct parse *, int);
+static cset *allocset(struct parse *);
+static void freeset(struct parse *, cset *);
+static int freezeset(struct parse *, cset *);
+static int firstch(struct parse *, cset *);
+static int nch(struct parse *, cset *);
+static void mcadd(struct parse *, cset *, const char *);
+static void mcinvert(struct parse *, cset *);
+static void mccase(struct parse *, cset *);
+static int isinsets(struct re_guts *, int);
+static int samesets(struct re_guts *, int, int);
+static void categorize(struct parse *, struct re_guts *);
+static sopno dupl(struct parse *, sopno, sopno);
+static void doemit(struct parse *, sop, size_t);
+static void doinsert(struct parse *, sop, size_t, sopno);
+static void dofwd(struct parse *, sopno, sop);
+static void enlarge(struct parse *, sopno);
+static void stripsnug(struct parse *, struct re_guts *);
+static void findmust(struct parse *, struct re_guts *);
+static sopno pluscount(struct parse *, struct re_guts *);
+
+static char nuls[10]; /* place to point scanner in event of error */
+
+/*
+ * macros for use with parse structure
+ * BEWARE: these know that the parse structure is named `p' !!!
+ */
+#define PEEK() (*p->next)
+#define PEEK2() (*(p->next+1))
+#define MORE() (p->next < p->end)
+#define MORE2() (p->next+1 < p->end)
+#define SEE(c) (MORE() && PEEK() == (c))
+#define SEETWO(a, b) (MORE() && MORE2() && PEEK() == (a) && PEEK2() == (b))
+#define EAT(c) ((SEE(c)) ? (NEXT(), 1) : 0)
+#define EATTWO(a, b) ((SEETWO(a, b)) ? (NEXT2(), 1) : 0)
+#define NEXT() (p->next++)
+#define NEXT2() (p->next += 2)
+#define NEXTn(n) (p->next += (n))
+#define GETNEXT() (*p->next++)
+#define SETERROR(e) seterr(p, (e))
+#define REQUIRE(co, e) (void)((co) || SETERROR(e))
+#define MUSTSEE(c, e) (REQUIRE(MORE() && PEEK() == (c), e))
+#define MUSTEAT(c, e) (REQUIRE(MORE() && GETNEXT() == (c), e))
+#define MUSTNOTSEE(c, e) (REQUIRE(!MORE() || PEEK() != (c), e))
+#define EMIT(op, sopnd) doemit(p, (sop)(op), (size_t)(sopnd))
+#define INSERT(op, pos) doinsert(p, (sop)(op), HERE()-(pos)+1, pos)
+#define AHEAD(pos) dofwd(p, pos, HERE()-(pos))
+#define ASTERN(sop, pos) EMIT(sop, HERE()-pos)
+#define HERE() (p->slen)
+#define THERE() (p->slen - 1)
+#define THERETHERE() (p->slen - 2)
+#define DROP(n) (p->slen -= (n))
+
+#ifdef _POSIX2_RE_DUP_MAX
+#define DUPMAX _POSIX2_RE_DUP_MAX
+#else
+#define DUPMAX 255
+#endif
+#define INFINITY (DUPMAX + 1)
+
+#ifndef NDEBUG
+static int never = 0; /* for use in asserts; shuts lint up */
+#else
+#define never 0 /* some <assert.h>s have bugs too */
+#endif
+
+/*
+ - llvm_regcomp - interface for parser and compilation
+ */
+int /* 0 success, otherwise REG_something */
+llvm_regcomp(llvm_regex_t *preg, const char *pattern, int cflags)
+{
+ struct parse pa;
+ struct re_guts *g;
+ struct parse *p = &pa;
+ int i;
+ size_t len;
+#ifdef REDEBUG
+# define GOODFLAGS(f) (f)
+#else
+# define GOODFLAGS(f) ((f)&~REG_DUMP)
+#endif
+
+ cflags = GOODFLAGS(cflags);
+ if ((cflags®_EXTENDED) && (cflags®_NOSPEC))
+ return(REG_INVARG);
+
+ if (cflags®_PEND) {
+ if (preg->re_endp < pattern)
+ return(REG_INVARG);
+ len = preg->re_endp - pattern;
+ } else
+ len = strlen((const char *)pattern);
+
+ /* do the mallocs early so failure handling is easy */
+ g = (struct re_guts *)malloc(sizeof(struct re_guts) +
+ (NC-1)*sizeof(cat_t));
+ if (g == NULL)
+ return(REG_ESPACE);
+ p->ssize = len/(size_t)2*(size_t)3 + (size_t)1; /* ugh */
+ p->strip = (sop *)calloc(p->ssize, sizeof(sop));
+ p->slen = 0;
+ if (p->strip == NULL) {
+ free((char *)g);
+ return(REG_ESPACE);
+ }
+
+ /* set things up */
+ p->g = g;
+ p->next = (char *)pattern; /* convenience; we do not modify it */
+ p->end = p->next + len;
+ p->error = 0;
+ p->ncsalloc = 0;
+ for (i = 0; i < NPAREN; i++) {
+ p->pbegin[i] = 0;
+ p->pend[i] = 0;
+ }
+ g->csetsize = NC;
+ g->sets = NULL;
+ g->setbits = NULL;
+ g->ncsets = 0;
+ g->cflags = cflags;
+ g->iflags = 0;
+ g->nbol = 0;
+ g->neol = 0;
+ g->must = NULL;
+ g->mlen = 0;
+ g->nsub = 0;
+ g->ncategories = 1; /* category 0 is "everything else" */
+ g->categories = &g->catspace[-(CHAR_MIN)];
+ (void) memset((char *)g->catspace, 0, NC*sizeof(cat_t));
+ g->backrefs = 0;
+
+ /* do it */
+ EMIT(OEND, 0);
+ g->firststate = THERE();
+ if (cflags®_EXTENDED)
+ p_ere(p, OUT);
+ else if (cflags®_NOSPEC)
+ p_str(p);
+ else
+ p_bre(p, OUT, OUT);
+ EMIT(OEND, 0);
+ g->laststate = THERE();
+
+ /* tidy up loose ends and fill things in */
+ categorize(p, g);
+ stripsnug(p, g);
+ findmust(p, g);
+ g->nplus = pluscount(p, g);
+ g->magic = MAGIC2;
+ preg->re_nsub = g->nsub;
+ preg->re_g = g;
+ preg->re_magic = MAGIC1;
+#ifndef REDEBUG
+ /* not debugging, so can't rely on the assert() in llvm_regexec() */
+ if (g->iflags®EX_BAD)
+ SETERROR(REG_ASSERT);
+#endif
+
+ /* win or lose, we're done */
+ if (p->error != 0) /* lose */
+ llvm_regfree(preg);
+ return(p->error);
+}
+
+/*
+ - p_ere - ERE parser top level, concatenation and alternation
+ */
+static void
+p_ere(struct parse *p, int stop) /* character this ERE should end at */
+{
+ char c;
+ sopno prevback = 0;
+ sopno prevfwd = 0;
+ sopno conc;
+ int first = 1; /* is this the first alternative? */
+
+ for (;;) {
+ /* do a bunch of concatenated expressions */
+ conc = HERE();
+ while (MORE() && (c = PEEK()) != '|' && c != stop)
+ p_ere_exp(p);
+ REQUIRE(HERE() != conc, REG_EMPTY); /* require nonempty */
+
+ if (!EAT('|'))
+ break; /* NOTE BREAK OUT */
+
+ if (first) {
+ INSERT(OCH_, conc); /* offset is wrong */
+ prevfwd = conc;
+ prevback = conc;
+ first = 0;
+ }
+ ASTERN(OOR1, prevback);
+ prevback = THERE();
+ AHEAD(prevfwd); /* fix previous offset */
+ prevfwd = HERE();
+ EMIT(OOR2, 0); /* offset is very wrong */
+ }
+
+ if (!first) { /* tail-end fixups */
+ AHEAD(prevfwd);
+ ASTERN(O_CH, prevback);
+ }
+
+ assert(!MORE() || SEE(stop));
+}
+
+/*
+ - p_ere_exp - parse one subERE, an atom possibly followed by a repetition op
+ */
+static void
+p_ere_exp(struct parse *p)
+{
+ char c;
+ sopno pos;
+ int count;
+ int count2;
+ int backrefnum;
+ sopno subno;
+ int wascaret = 0;
+
+ assert(MORE()); /* caller should have ensured this */
+ c = GETNEXT();
+
+ pos = HERE();
+ switch (c) {
+ case '(':
+ REQUIRE(MORE(), REG_EPAREN);
+ p->g->nsub++;
+ subno = p->g->nsub;
+ if (subno < NPAREN)
+ p->pbegin[subno] = HERE();
+ EMIT(OLPAREN, subno);
+ if (!SEE(')'))
+ p_ere(p, ')');
+ if (subno < NPAREN) {
+ p->pend[subno] = HERE();
+ assert(p->pend[subno] != 0);
+ }
+ EMIT(ORPAREN, subno);
+ MUSTEAT(')', REG_EPAREN);
+ break;
+#ifndef POSIX_MISTAKE
+ case ')': /* happens only if no current unmatched ( */
+ /*
+ * You may ask, why the ifndef? Because I didn't notice
+ * this until slightly too late for 1003.2, and none of the
+ * other 1003.2 regular-expression reviewers noticed it at
+ * all. So an unmatched ) is legal POSIX, at least until
+ * we can get it fixed.
+ */
+ SETERROR(REG_EPAREN);
+ break;
+#endif
+ case '^':
+ EMIT(OBOL, 0);
+ p->g->iflags |= USEBOL;
+ p->g->nbol++;
+ wascaret = 1;
+ break;
+ case '$':
+ EMIT(OEOL, 0);
+ p->g->iflags |= USEEOL;
+ p->g->neol++;
+ break;
+ case '|':
+ SETERROR(REG_EMPTY);
+ break;
+ case '*':
+ case '+':
+ case '?':
+ SETERROR(REG_BADRPT);
+ break;
+ case '.':
+ if (p->g->cflags®_NEWLINE)
+ nonnewline(p);
+ else
+ EMIT(OANY, 0);
+ break;
+ case '[':
+ p_bracket(p);
+ break;
+ case '\\':
+ REQUIRE(MORE(), REG_EESCAPE);
+ c = GETNEXT();
+ if (c >= '1' && c <= '9') {
+ /* \[0-9] is taken to be a back-reference to a previously specified
+ * matching group. backrefnum will hold the number. The matching
+ * group must exist (i.e. if \4 is found there must have been at
+ * least 4 matching groups specified in the pattern previously).
+ */
+ backrefnum = c - '0';
+ if (p->pend[backrefnum] == 0) {
+ SETERROR(REG_ESUBREG);
+ break;
+ }
+
+ /* Make sure everything checks out and emit the sequence
+ * that marks a back-reference to the parse structure.
+ */
+ assert(backrefnum <= p->g->nsub);
+ EMIT(OBACK_, backrefnum);
+ assert(p->pbegin[backrefnum] != 0);
+ assert(OP(p->strip[p->pbegin[backrefnum]]) != OLPAREN);
+ assert(OP(p->strip[p->pend[backrefnum]]) != ORPAREN);
+ (void) dupl(p, p->pbegin[backrefnum]+1, p->pend[backrefnum]);
+ EMIT(O_BACK, backrefnum);
+ p->g->backrefs = 1;
+ } else {
+ /* Other chars are simply themselves when escaped with a backslash.
+ */
+ ordinary(p, c);
+ }
+ break;
+ case '{': /* okay as ordinary except if digit follows */
+ REQUIRE(!MORE() || !isdigit((uch)PEEK()), REG_BADRPT);
+ /* FALLTHROUGH */
+ default:
+ ordinary(p, c);
+ break;
+ }
+
+ if (!MORE())
+ return;
+ c = PEEK();
+ /* we call { a repetition if followed by a digit */
+ if (!( c == '*' || c == '+' || c == '?' ||
+ (c == '{' && MORE2() && isdigit((uch)PEEK2())) ))
+ return; /* no repetition, we're done */
+ NEXT();
+
+ REQUIRE(!wascaret, REG_BADRPT);
+ switch (c) {
+ case '*': /* implemented as +? */
+ /* this case does not require the (y|) trick, noKLUDGE */
+ INSERT(OPLUS_, pos);
+ ASTERN(O_PLUS, pos);
+ INSERT(OQUEST_, pos);
+ ASTERN(O_QUEST, pos);
+ break;
+ case '+':
+ INSERT(OPLUS_, pos);
+ ASTERN(O_PLUS, pos);
+ break;
+ case '?':
+ /* KLUDGE: emit y? as (y|) until subtle bug gets fixed */
+ INSERT(OCH_, pos); /* offset slightly wrong */
+ ASTERN(OOR1, pos); /* this one's right */
+ AHEAD(pos); /* fix the OCH_ */
+ EMIT(OOR2, 0); /* offset very wrong... */
+ AHEAD(THERE()); /* ...so fix it */
+ ASTERN(O_CH, THERETHERE());
+ break;
+ case '{':
+ count = p_count(p);
+ if (EAT(',')) {
+ if (isdigit((uch)PEEK())) {
+ count2 = p_count(p);
+ REQUIRE(count <= count2, REG_BADBR);
+ } else /* single number with comma */
+ count2 = INFINITY;
+ } else /* just a single number */
+ count2 = count;
+ repeat(p, pos, count, count2);
+ if (!EAT('}')) { /* error heuristics */
+ while (MORE() && PEEK() != '}')
+ NEXT();
+ REQUIRE(MORE(), REG_EBRACE);
+ SETERROR(REG_BADBR);
+ }
+ break;
+ }
+
+ if (!MORE())
+ return;
+ c = PEEK();
+ if (!( c == '*' || c == '+' || c == '?' ||
+ (c == '{' && MORE2() && isdigit((uch)PEEK2())) ) )
+ return;
+ SETERROR(REG_BADRPT);
+}
+
+/*
+ - p_str - string (no metacharacters) "parser"
+ */
+static void
+p_str(struct parse *p)
+{
+ REQUIRE(MORE(), REG_EMPTY);
+ while (MORE())
+ ordinary(p, GETNEXT());
+}
+
+/*
+ - p_bre - BRE parser top level, anchoring and concatenation
+ * Giving end1 as OUT essentially eliminates the end1/end2 check.
+ *
+ * This implementation is a bit of a kludge, in that a trailing $ is first
+ * taken as an ordinary character and then revised to be an anchor. The
+ * only undesirable side effect is that '$' gets included as a character
+ * category in such cases. This is fairly harmless; not worth fixing.
+ * The amount of lookahead needed to avoid this kludge is excessive.
+ */
+static void
+p_bre(struct parse *p,
+ int end1, /* first terminating character */
+ int end2) /* second terminating character */
+{
+ sopno start = HERE();
+ int first = 1; /* first subexpression? */
+ int wasdollar = 0;
+
+ if (EAT('^')) {
+ EMIT(OBOL, 0);
+ p->g->iflags |= USEBOL;
+ p->g->nbol++;
+ }
+ while (MORE() && !SEETWO(end1, end2)) {
+ wasdollar = p_simp_re(p, first);
+ first = 0;
+ }
+ if (wasdollar) { /* oops, that was a trailing anchor */
+ DROP(1);
+ EMIT(OEOL, 0);
+ p->g->iflags |= USEEOL;
+ p->g->neol++;
+ }
+
+ REQUIRE(HERE() != start, REG_EMPTY); /* require nonempty */
+}
+
+/*
+ - p_simp_re - parse a simple RE, an atom possibly followed by a repetition
+ */
+static int /* was the simple RE an unbackslashed $? */
+p_simp_re(struct parse *p,
+ int starordinary) /* is a leading * an ordinary character? */
+{
+ int c;
+ int count;
+ int count2;
+ sopno pos;
+ int i;
+ sopno subno;
+# define BACKSL (1<<CHAR_BIT)
+
+ pos = HERE(); /* repetition op, if any, covers from here */
+
+ assert(MORE()); /* caller should have ensured this */
+ c = GETNEXT();
+ if (c == '\\') {
+ REQUIRE(MORE(), REG_EESCAPE);
+ c = BACKSL | GETNEXT();
+ }
+ switch (c) {
+ case '.':
+ if (p->g->cflags®_NEWLINE)
+ nonnewline(p);
+ else
+ EMIT(OANY, 0);
+ break;
+ case '[':
+ p_bracket(p);
+ break;
+ case BACKSL|'{':
+ SETERROR(REG_BADRPT);
+ break;
+ case BACKSL|'(':
+ p->g->nsub++;
+ subno = p->g->nsub;
+ if (subno < NPAREN)
+ p->pbegin[subno] = HERE();
+ EMIT(OLPAREN, subno);
+ /* the MORE here is an error heuristic */
+ if (MORE() && !SEETWO('\\', ')'))
+ p_bre(p, '\\', ')');
+ if (subno < NPAREN) {
+ p->pend[subno] = HERE();
+ assert(p->pend[subno] != 0);
+ }
+ EMIT(ORPAREN, subno);
+ REQUIRE(EATTWO('\\', ')'), REG_EPAREN);
+ break;
+ case BACKSL|')': /* should not get here -- must be user */
+ case BACKSL|'}':
+ SETERROR(REG_EPAREN);
+ break;
+ case BACKSL|'1':
+ case BACKSL|'2':
+ case BACKSL|'3':
+ case BACKSL|'4':
+ case BACKSL|'5':
+ case BACKSL|'6':
+ case BACKSL|'7':
+ case BACKSL|'8':
+ case BACKSL|'9':
+ i = (c&~BACKSL) - '0';
+ assert(i < NPAREN);
+ if (p->pend[i] != 0) {
+ assert(i <= p->g->nsub);
+ EMIT(OBACK_, i);
+ assert(p->pbegin[i] != 0);
+ assert(OP(p->strip[p->pbegin[i]]) == OLPAREN);
+ assert(OP(p->strip[p->pend[i]]) == ORPAREN);
+ (void) dupl(p, p->pbegin[i]+1, p->pend[i]);
+ EMIT(O_BACK, i);
+ } else
+ SETERROR(REG_ESUBREG);
+ p->g->backrefs = 1;
+ break;
+ case '*':
+ REQUIRE(starordinary, REG_BADRPT);
+ /* FALLTHROUGH */
+ default:
+ ordinary(p, (char)c);
+ break;
+ }
+
+ if (EAT('*')) { /* implemented as +? */
+ /* this case does not require the (y|) trick, noKLUDGE */
+ INSERT(OPLUS_, pos);
+ ASTERN(O_PLUS, pos);
+ INSERT(OQUEST_, pos);
+ ASTERN(O_QUEST, pos);
+ } else if (EATTWO('\\', '{')) {
+ count = p_count(p);
+ if (EAT(',')) {
+ if (MORE() && isdigit((uch)PEEK())) {
+ count2 = p_count(p);
+ REQUIRE(count <= count2, REG_BADBR);
+ } else /* single number with comma */
+ count2 = INFINITY;
+ } else /* just a single number */
+ count2 = count;
+ repeat(p, pos, count, count2);
+ if (!EATTWO('\\', '}')) { /* error heuristics */
+ while (MORE() && !SEETWO('\\', '}'))
+ NEXT();
+ REQUIRE(MORE(), REG_EBRACE);
+ SETERROR(REG_BADBR);
+ }
+ } else if (c == '$') /* $ (but not \$) ends it */
+ return(1);
+
+ return(0);
+}
+
+/*
+ - p_count - parse a repetition count
+ */
+static int /* the value */
+p_count(struct parse *p)
+{
+ int count = 0;
+ int ndigits = 0;
+
+ while (MORE() && isdigit((uch)PEEK()) && count <= DUPMAX) {
+ count = count*10 + (GETNEXT() - '0');
+ ndigits++;
+ }
+
+ REQUIRE(ndigits > 0 && count <= DUPMAX, REG_BADBR);
+ return(count);
+}
+
+/*
+ - p_bracket - parse a bracketed character list
+ *
+ * Note a significant property of this code: if the allocset() did SETERROR,
+ * no set operations are done.
+ */
+static void
+p_bracket(struct parse *p)
+{
+ cset *cs;
+ int invert = 0;
+
+ /* Dept of Truly Sickening Special-Case Kludges */
+ if (p->next + 5 < p->end && strncmp(p->next, "[:<:]]", 6) == 0) {
+ EMIT(OBOW, 0);
+ NEXTn(6);
+ return;
+ }
+ if (p->next + 5 < p->end && strncmp(p->next, "[:>:]]", 6) == 0) {
+ EMIT(OEOW, 0);
+ NEXTn(6);
+ return;
+ }
+
+ if ((cs = allocset(p)) == NULL) {
+ /* allocset did set error status in p */
+ return;
+ }
+
+ if (EAT('^'))
+ invert++; /* make note to invert set at end */
+ if (EAT(']'))
+ CHadd(cs, ']');
+ else if (EAT('-'))
+ CHadd(cs, '-');
+ while (MORE() && PEEK() != ']' && !SEETWO('-', ']'))
+ p_b_term(p, cs);
+ if (EAT('-'))
+ CHadd(cs, '-');
+ MUSTEAT(']', REG_EBRACK);
+
+ if (p->error != 0) { /* don't mess things up further */
+ freeset(p, cs);
+ return;
+ }
+
+ if (p->g->cflags®_ICASE) {
+ int i;
+ int ci;
+
+ for (i = p->g->csetsize - 1; i >= 0; i--)
+ if (CHIN(cs, i) && isalpha(i)) {
+ ci = othercase(i);
+ if (ci != i)
+ CHadd(cs, ci);
+ }
+ if (cs->multis != NULL)
+ mccase(p, cs);
+ }
+ if (invert) {
+ int i;
+
+ for (i = p->g->csetsize - 1; i >= 0; i--)
+ if (CHIN(cs, i))
+ CHsub(cs, i);
+ else
+ CHadd(cs, i);
+ if (p->g->cflags®_NEWLINE)
+ CHsub(cs, '\n');
+ if (cs->multis != NULL)
+ mcinvert(p, cs);
+ }
+
+ assert(cs->multis == NULL); /* xxx */
+
+ if (nch(p, cs) == 1) { /* optimize singleton sets */
+ ordinary(p, firstch(p, cs));
+ freeset(p, cs);
+ } else
+ EMIT(OANYOF, freezeset(p, cs));
+}
+
+/*
+ - p_b_term - parse one term of a bracketed character list
+ */
+static void
+p_b_term(struct parse *p, cset *cs)
+{
+ char c;
+ char start, finish;
+ int i;
+
+ /* classify what we've got */
+ switch ((MORE()) ? PEEK() : '\0') {
+ case '[':
+ c = (MORE2()) ? PEEK2() : '\0';
+ break;
+ case '-':
+ SETERROR(REG_ERANGE);
+ return; /* NOTE RETURN */
+ break;
+ default:
+ c = '\0';
+ break;
+ }
+
+ switch (c) {
+ case ':': /* character class */
+ NEXT2();
+ REQUIRE(MORE(), REG_EBRACK);
+ c = PEEK();
+ REQUIRE(c != '-' && c != ']', REG_ECTYPE);
+ p_b_cclass(p, cs);
+ REQUIRE(MORE(), REG_EBRACK);
+ REQUIRE(EATTWO(':', ']'), REG_ECTYPE);
+ break;
+ case '=': /* equivalence class */
+ NEXT2();
+ REQUIRE(MORE(), REG_EBRACK);
+ c = PEEK();
+ REQUIRE(c != '-' && c != ']', REG_ECOLLATE);
+ p_b_eclass(p, cs);
+ REQUIRE(MORE(), REG_EBRACK);
+ REQUIRE(EATTWO('=', ']'), REG_ECOLLATE);
+ break;
+ default: /* symbol, ordinary character, or range */
+/* xxx revision needed for multichar stuff */
+ start = p_b_symbol(p);
+ if (SEE('-') && MORE2() && PEEK2() != ']') {
+ /* range */
+ NEXT();
+ if (EAT('-'))
+ finish = '-';
+ else
+ finish = p_b_symbol(p);
+ } else
+ finish = start;
+/* xxx what about signed chars here... */
+ REQUIRE(start <= finish, REG_ERANGE);
+ for (i = start; i <= finish; i++)
+ CHadd(cs, i);
+ break;
+ }
+}
+
+/*
+ - p_b_cclass - parse a character-class name and deal with it
+ */
+static void
+p_b_cclass(struct parse *p, cset *cs)
+{
+ char *sp = p->next;
+ struct cclass *cp;
+ size_t len;
+ const char *u;
+ char c;
+
+ while (MORE() && isalpha((uch)PEEK()))
+ NEXT();
+ len = p->next - sp;
+ for (cp = cclasses; cp->name != NULL; cp++)
+ if (strncmp(cp->name, sp, len) == 0 && cp->name[len] == '\0')
+ break;
+ if (cp->name == NULL) {
+ /* oops, didn't find it */
+ SETERROR(REG_ECTYPE);
+ return;
+ }
+
+ u = cp->chars;
+ while ((c = *u++) != '\0')
+ CHadd(cs, c);
+ for (u = cp->multis; *u != '\0'; u += strlen(u) + 1)
+ MCadd(p, cs, u);
+}
+
+/*
+ - p_b_eclass - parse an equivalence-class name and deal with it
+ *
+ * This implementation is incomplete. xxx
+ */
+static void
+p_b_eclass(struct parse *p, cset *cs)
+{
+ char c;
+
+ c = p_b_coll_elem(p, '=');
+ CHadd(cs, c);
+}
+
+/*
+ - p_b_symbol - parse a character or [..]ed multicharacter collating symbol
+ */
+static char /* value of symbol */
+p_b_symbol(struct parse *p)
+{
+ char value;
+
+ REQUIRE(MORE(), REG_EBRACK);
+ if (!EATTWO('[', '.'))
+ return(GETNEXT());
+
+ /* collating symbol */
+ value = p_b_coll_elem(p, '.');
+ REQUIRE(EATTWO('.', ']'), REG_ECOLLATE);
+ return(value);
+}
+
+/*
+ - p_b_coll_elem - parse a collating-element name and look it up
+ */
+static char /* value of collating element */
+p_b_coll_elem(struct parse *p,
+ int endc) /* name ended by endc,']' */
+{
+ char *sp = p->next;
+ struct cname *cp;
+ int len;
+
+ while (MORE() && !SEETWO(endc, ']'))
+ NEXT();
+ if (!MORE()) {
+ SETERROR(REG_EBRACK);
+ return(0);
+ }
+ len = p->next - sp;
+ for (cp = cnames; cp->name != NULL; cp++)
+ if (strncmp(cp->name, sp, len) == 0 && cp->name[len] == '\0')
+ return(cp->code); /* known name */
+ if (len == 1)
+ return(*sp); /* single character */
+ SETERROR(REG_ECOLLATE); /* neither */
+ return(0);
+}
+
+/*
+ - othercase - return the case counterpart of an alphabetic
+ */
+static char /* if no counterpart, return ch */
+othercase(int ch)
+{
+ ch = (uch)ch;
+ assert(isalpha(ch));
+ if (isupper(ch))
+ return ((uch)tolower(ch));
+ else if (islower(ch))
+ return ((uch)toupper(ch));
+ else /* peculiar, but could happen */
+ return(ch);
+}
+
+/*
+ - bothcases - emit a dualcase version of a two-case character
+ *
+ * Boy, is this implementation ever a kludge...
+ */
+static void
+bothcases(struct parse *p, int ch)
+{
+ char *oldnext = p->next;
+ char *oldend = p->end;
+ char bracket[3];
+
+ ch = (uch)ch;
+ assert(othercase(ch) != ch); /* p_bracket() would recurse */
+ p->next = bracket;
+ p->end = bracket+2;
+ bracket[0] = ch;
+ bracket[1] = ']';
+ bracket[2] = '\0';
+ p_bracket(p);
+ assert(p->next == bracket+2);
+ p->next = oldnext;
+ p->end = oldend;
+}
+
+/*
+ - ordinary - emit an ordinary character
+ */
+static void
+ordinary(struct parse *p, int ch)
+{
+ cat_t *cap = p->g->categories;
+
+ if ((p->g->cflags®_ICASE) && isalpha((uch)ch) && othercase(ch) != ch)
+ bothcases(p, ch);
+ else {
+ EMIT(OCHAR, (uch)ch);
+ if (cap[ch] == 0)
+ cap[ch] = p->g->ncategories++;
+ }
+}
+
+/*
+ - nonnewline - emit REG_NEWLINE version of OANY
+ *
+ * Boy, is this implementation ever a kludge...
+ */
+static void
+nonnewline(struct parse *p)
+{
+ char *oldnext = p->next;
+ char *oldend = p->end;
+ char bracket[4];
+
+ p->next = bracket;
+ p->end = bracket+3;
+ bracket[0] = '^';
+ bracket[1] = '\n';
+ bracket[2] = ']';
+ bracket[3] = '\0';
+ p_bracket(p);
+ assert(p->next == bracket+3);
+ p->next = oldnext;
+ p->end = oldend;
+}
+
+/*
+ - repeat - generate code for a bounded repetition, recursively if needed
+ */
+static void
+repeat(struct parse *p,
+ sopno start, /* operand from here to end of strip */
+ int from, /* repeated from this number */
+ int to) /* to this number of times (maybe INFINITY) */
+{
+ sopno finish = HERE();
+# define N 2
+# define INF 3
+# define REP(f, t) ((f)*8 + (t))
+# define MAP(n) (((n) <= 1) ? (n) : ((n) == INFINITY) ? INF : N)
+ sopno copy;
+
+ if (p->error != 0) /* head off possible runaway recursion */
+ return;
+
+ assert(from <= to);
+
+ switch (REP(MAP(from), MAP(to))) {
+ case REP(0, 0): /* must be user doing this */
+ DROP(finish-start); /* drop the operand */
+ break;
+ case REP(0, 1): /* as x{1,1}? */
+ case REP(0, N): /* as x{1,n}? */
+ case REP(0, INF): /* as x{1,}? */
+ /* KLUDGE: emit y? as (y|) until subtle bug gets fixed */
+ INSERT(OCH_, start); /* offset is wrong... */
+ repeat(p, start+1, 1, to);
+ ASTERN(OOR1, start);
+ AHEAD(start); /* ... fix it */
+ EMIT(OOR2, 0);
+ AHEAD(THERE());
+ ASTERN(O_CH, THERETHERE());
+ break;
+ case REP(1, 1): /* trivial case */
+ /* done */
+ break;
+ case REP(1, N): /* as x?x{1,n-1} */
+ /* KLUDGE: emit y? as (y|) until subtle bug gets fixed */
+ INSERT(OCH_, start);
+ ASTERN(OOR1, start);
+ AHEAD(start);
+ EMIT(OOR2, 0); /* offset very wrong... */
+ AHEAD(THERE()); /* ...so fix it */
+ ASTERN(O_CH, THERETHERE());
+ copy = dupl(p, start+1, finish+1);
+ assert(copy == finish+4);
+ repeat(p, copy, 1, to-1);
+ break;
+ case REP(1, INF): /* as x+ */
+ INSERT(OPLUS_, start);
+ ASTERN(O_PLUS, start);
+ break;
+ case REP(N, N): /* as xx{m-1,n-1} */
+ copy = dupl(p, start, finish);
+ repeat(p, copy, from-1, to-1);
+ break;
+ case REP(N, INF): /* as xx{n-1,INF} */
+ copy = dupl(p, start, finish);
+ repeat(p, copy, from-1, to);
+ break;
+ default: /* "can't happen" */
+ SETERROR(REG_ASSERT); /* just in case */
+ break;
+ }
+}
+
+/*
+ - seterr - set an error condition
+ */
+static int /* useless but makes type checking happy */
+seterr(struct parse *p, int e)
+{
+ if (p->error == 0) /* keep earliest error condition */
+ p->error = e;
+ p->next = nuls; /* try to bring things to a halt */
+ p->end = nuls;
+ return(0); /* make the return value well-defined */
+}
+
+/*
+ - allocset - allocate a set of characters for []
+ */
+static cset *
+allocset(struct parse *p)
+{
+ int no = p->g->ncsets++;
+ size_t nc;
+ size_t nbytes;
+ cset *cs;
+ size_t css = (size_t)p->g->csetsize;
+ int i;
+
+ if (no >= p->ncsalloc) { /* need another column of space */
+ void *ptr;
+
+ p->ncsalloc += CHAR_BIT;
+ nc = p->ncsalloc;
+ if (nc > SIZE_MAX / sizeof(cset))
+ goto nomem;
+ assert(nc % CHAR_BIT == 0);
+ nbytes = nc / CHAR_BIT * css;
+
+ ptr = (cset *)realloc((char *)p->g->sets, nc * sizeof(cset));
+ if (ptr == NULL)
+ goto nomem;
+ p->g->sets = ptr;
+
+ ptr = (uch *)realloc((char *)p->g->setbits, nbytes);
+ if (ptr == NULL)
+ goto nomem;
+ p->g->setbits = ptr;
+
+ for (i = 0; i < no; i++)
+ p->g->sets[i].ptr = p->g->setbits + css*(i/CHAR_BIT);
+
+ (void) memset((char *)p->g->setbits + (nbytes - css), 0, css);
+ }
+ /* XXX should not happen */
+ if (p->g->sets == NULL || p->g->setbits == NULL)
+ goto nomem;
+
+ cs = &p->g->sets[no];
+ cs->ptr = p->g->setbits + css*((no)/CHAR_BIT);
+ cs->mask = 1 << ((no) % CHAR_BIT);
+ cs->hash = 0;
+ cs->smultis = 0;
+ cs->multis = NULL;
+
+ return(cs);
+nomem:
+ free(p->g->sets);
+ p->g->sets = NULL;
+ free(p->g->setbits);
+ p->g->setbits = NULL;
+
+ SETERROR(REG_ESPACE);
+ /* caller's responsibility not to do set ops */
+ return(NULL);
+}
+
+/*
+ - freeset - free a now-unused set
+ */
+static void
+freeset(struct parse *p, cset *cs)
+{
+ size_t i;
+ cset *top = &p->g->sets[p->g->ncsets];
+ size_t css = (size_t)p->g->csetsize;
+
+ for (i = 0; i < css; i++)
+ CHsub(cs, i);
+ if (cs == top-1) /* recover only the easy case */
+ p->g->ncsets--;
+}
+
+/*
+ - freezeset - final processing on a set of characters
+ *
+ * The main task here is merging identical sets. This is usually a waste
+ * of time (although the hash code minimizes the overhead), but can win
+ * big if REG_ICASE is being used. REG_ICASE, by the way, is why the hash
+ * is done using addition rather than xor -- all ASCII [aA] sets xor to
+ * the same value!
+ */
+static int /* set number */
+freezeset(struct parse *p, cset *cs)
+{
+ uch h = cs->hash;
+ size_t i;
+ cset *top = &p->g->sets[p->g->ncsets];
+ cset *cs2;
+ size_t css = (size_t)p->g->csetsize;
+
+ /* look for an earlier one which is the same */
+ for (cs2 = &p->g->sets[0]; cs2 < top; cs2++)
+ if (cs2->hash == h && cs2 != cs) {
+ /* maybe */
+ for (i = 0; i < css; i++)
+ if (!!CHIN(cs2, i) != !!CHIN(cs, i))
+ break; /* no */
+ if (i == css)
+ break; /* yes */
+ }
+
+ if (cs2 < top) { /* found one */
+ freeset(p, cs);
+ cs = cs2;
+ }
+
+ return((int)(cs - p->g->sets));
+}
+
+/*
+ - firstch - return first character in a set (which must have at least one)
+ */
+static int /* character; there is no "none" value */
+firstch(struct parse *p, cset *cs)
+{
+ size_t i;
+ size_t css = (size_t)p->g->csetsize;
+
+ for (i = 0; i < css; i++)
+ if (CHIN(cs, i))
+ return((char)i);
+ assert(never);
+ return(0); /* arbitrary */
+}
+
+/*
+ - nch - number of characters in a set
+ */
+static int
+nch(struct parse *p, cset *cs)
+{
+ size_t i;
+ size_t css = (size_t)p->g->csetsize;
+ int n = 0;
+
+ for (i = 0; i < css; i++)
+ if (CHIN(cs, i))
+ n++;
+ return(n);
+}
+
+/*
+ - mcadd - add a collating element to a cset
+ */
+static void
+mcadd( struct parse *p, cset *cs, const char *cp)
+{
+ size_t oldend = cs->smultis;
+ void *np;
+
+ cs->smultis += strlen(cp) + 1;
+ np = realloc(cs->multis, cs->smultis);
+ if (np == NULL) {
+ if (cs->multis)
+ free(cs->multis);
+ cs->multis = NULL;
+ SETERROR(REG_ESPACE);
+ return;
+ }
+ cs->multis = np;
+
+ llvm_strlcpy(cs->multis + oldend - 1, cp, cs->smultis - oldend + 1);
+}
+
+/*
+ - mcinvert - invert the list of collating elements in a cset
+ *
+ * This would have to know the set of possibilities. Implementation
+ * is deferred.
+ */
+/* ARGSUSED */
+static void
+mcinvert(struct parse *p, cset *cs)
+{
+ assert(cs->multis == NULL); /* xxx */
+}
+
+/*
+ - mccase - add case counterparts of the list of collating elements in a cset
+ *
+ * This would have to know the set of possibilities. Implementation
+ * is deferred.
+ */
+/* ARGSUSED */
+static void
+mccase(struct parse *p, cset *cs)
+{
+ assert(cs->multis == NULL); /* xxx */
+}
+
+/*
+ - isinsets - is this character in any sets?
+ */
+static int /* predicate */
+isinsets(struct re_guts *g, int c)
+{
+ uch *col;
+ int i;
+ int ncols = (g->ncsets+(CHAR_BIT-1)) / CHAR_BIT;
+ unsigned uc = (uch)c;
+
+ for (i = 0, col = g->setbits; i < ncols; i++, col += g->csetsize)
+ if (col[uc] != 0)
+ return(1);
+ return(0);
+}
+
+/*
+ - samesets - are these two characters in exactly the same sets?
+ */
+static int /* predicate */
+samesets(struct re_guts *g, int c1, int c2)
+{
+ uch *col;
+ int i;
+ int ncols = (g->ncsets+(CHAR_BIT-1)) / CHAR_BIT;
+ unsigned uc1 = (uch)c1;
+ unsigned uc2 = (uch)c2;
+
+ for (i = 0, col = g->setbits; i < ncols; i++, col += g->csetsize)
+ if (col[uc1] != col[uc2])
+ return(0);
+ return(1);
+}
+
+/*
+ - categorize - sort out character categories
+ */
+static void
+categorize(struct parse *p, struct re_guts *g)
+{
+ cat_t *cats = g->categories;
+ int c;
+ int c2;
+ cat_t cat;
+
+ /* avoid making error situations worse */
+ if (p->error != 0)
+ return;
+
+ for (c = CHAR_MIN; c <= CHAR_MAX; c++)
+ if (cats[c] == 0 && isinsets(g, c)) {
+ cat = g->ncategories++;
+ cats[c] = cat;
+ for (c2 = c+1; c2 <= CHAR_MAX; c2++)
+ if (cats[c2] == 0 && samesets(g, c, c2))
+ cats[c2] = cat;
+ }
+}
+
+/*
+ - dupl - emit a duplicate of a bunch of sops
+ */
+static sopno /* start of duplicate */
+dupl(struct parse *p,
+ sopno start, /* from here */
+ sopno finish) /* to this less one */
+{
+ sopno ret = HERE();
+ sopno len = finish - start;
+
+ assert(finish >= start);
+ if (len == 0)
+ return(ret);
+ enlarge(p, p->ssize + len); /* this many unexpected additions */
+ assert(p->ssize >= p->slen + len);
+ (void) memmove((char *)(p->strip + p->slen),
+ (char *)(p->strip + start), (size_t)len*sizeof(sop));
+ p->slen += len;
+ return(ret);
+}
+
+/*
+ - doemit - emit a strip operator
+ *
+ * It might seem better to implement this as a macro with a function as
+ * hard-case backup, but it's just too big and messy unless there are
+ * some changes to the data structures. Maybe later.
+ */
+static void
+doemit(struct parse *p, sop op, size_t opnd)
+{
+ /* avoid making error situations worse */
+ if (p->error != 0)
+ return;
+
+ /* deal with oversize operands ("can't happen", more or less) */
+ assert(opnd < 1<<OPSHIFT);
+
+ /* deal with undersized strip */
+ if (p->slen >= p->ssize)
+ enlarge(p, (p->ssize+1) / 2 * 3); /* +50% */
+ assert(p->slen < p->ssize);
+
+ /* finally, it's all reduced to the easy case */
+ p->strip[p->slen++] = SOP(op, opnd);
+}
+
+/*
+ - doinsert - insert a sop into the strip
+ */
+static void
+doinsert(struct parse *p, sop op, size_t opnd, sopno pos)
+{
+ sopno sn;
+ sop s;
+ int i;
+
+ /* avoid making error situations worse */
+ if (p->error != 0)
+ return;
+
+ sn = HERE();
+ EMIT(op, opnd); /* do checks, ensure space */
+ assert(HERE() == sn+1);
+ s = p->strip[sn];
+
+ /* adjust paren pointers */
+ assert(pos > 0);
+ for (i = 1; i < NPAREN; i++) {
+ if (p->pbegin[i] >= pos) {
+ p->pbegin[i]++;
+ }
+ if (p->pend[i] >= pos) {
+ p->pend[i]++;
+ }
+ }
+
+ memmove((char *)&p->strip[pos+1], (char *)&p->strip[pos],
+ (HERE()-pos-1)*sizeof(sop));
+ p->strip[pos] = s;
+}
+
+/*
+ - dofwd - complete a forward reference
+ */
+static void
+dofwd(struct parse *p, sopno pos, sop value)
+{
+ /* avoid making error situations worse */
+ if (p->error != 0)
+ return;
+
+ assert(value < 1<<OPSHIFT);
+ p->strip[pos] = OP(p->strip[pos]) | value;
+}
+
+/*
+ - enlarge - enlarge the strip
+ */
+static void
+enlarge(struct parse *p, sopno size)
+{
+ sop *sp;
+
+ if (p->ssize >= size)
+ return;
+
+ if ((uintptr_t)size > SIZE_MAX / sizeof(sop)) {
+ SETERROR(REG_ESPACE);
+ return;
+ }
+
+ sp = (sop *)realloc(p->strip, size*sizeof(sop));
+ if (sp == NULL) {
+ SETERROR(REG_ESPACE);
+ return;
+ }
+ p->strip = sp;
+ p->ssize = size;
+}
+
+/*
+ - stripsnug - compact the strip
+ */
+static void
+stripsnug(struct parse *p, struct re_guts *g)
+{
+ g->nstates = p->slen;
+ if ((uintptr_t)p->slen > SIZE_MAX / sizeof(sop)) {
+ g->strip = p->strip;
+ SETERROR(REG_ESPACE);
+ return;
+ }
+
+ g->strip = (sop *)realloc((char *)p->strip, p->slen * sizeof(sop));
+ if (g->strip == NULL) {
+ SETERROR(REG_ESPACE);
+ g->strip = p->strip;
+ }
+}
+
+/*
+ - findmust - fill in must and mlen with longest mandatory literal string
+ *
+ * This algorithm could do fancy things like analyzing the operands of |
+ * for common subsequences. Someday. This code is simple and finds most
+ * of the interesting cases.
+ *
+ * Note that must and mlen got initialized during setup.
+ */
+static void
+findmust(struct parse *p, struct re_guts *g)
+{
+ sop *scan;
+ sop *start = 0; /* start initialized in the default case, after that */
+ sop *newstart = 0; /* newstart was initialized in the OCHAR case */
+ sopno newlen;
+ sop s;
+ char *cp;
+ sopno i;
+
+ /* avoid making error situations worse */
+ if (p->error != 0)
+ return;
+
+ /* find the longest OCHAR sequence in strip */
+ newlen = 0;
+ scan = g->strip + 1;
+ do {
+ s = *scan++;
+ switch (OP(s)) {
+ case OCHAR: /* sequence member */
+ if (newlen == 0) /* new sequence */
+ newstart = scan - 1;
+ newlen++;
+ break;
+ case OPLUS_: /* things that don't break one */
+ case OLPAREN:
+ case ORPAREN:
+ break;
+ case OQUEST_: /* things that must be skipped */
+ case OCH_:
+ scan--;
+ do {
+ scan += OPND(s);
+ s = *scan;
+ /* assert() interferes w debug printouts */
+ if (OP(s) != O_QUEST && OP(s) != O_CH &&
+ OP(s) != OOR2) {
+ g->iflags |= REGEX_BAD;
+ return;
+ }
+ } while (OP(s) != O_QUEST && OP(s) != O_CH);
+ /* fallthrough */
+ default: /* things that break a sequence */
+ if (newlen > g->mlen) { /* ends one */
+ start = newstart;
+ g->mlen = newlen;
+ }
+ newlen = 0;
+ break;
+ }
+ } while (OP(s) != OEND);
+
+ if (g->mlen == 0) /* there isn't one */
+ return;
+
+ /* turn it into a character string */
+ g->must = malloc((size_t)g->mlen + 1);
+ if (g->must == NULL) { /* argh; just forget it */
+ g->mlen = 0;
+ return;
+ }
+ cp = g->must;
+ scan = start;
+ for (i = g->mlen; i > 0; i--) {
+ while (OP(s = *scan++) != OCHAR)
+ continue;
+ assert(cp < g->must + g->mlen);
+ *cp++ = (char)OPND(s);
+ }
+ assert(cp == g->must + g->mlen);
+ *cp++ = '\0'; /* just on general principles */
+}
+
+/*
+ - pluscount - count + nesting
+ */
+static sopno /* nesting depth */
+pluscount(struct parse *p, struct re_guts *g)
+{
+ sop *scan;
+ sop s;
+ sopno plusnest = 0;
+ sopno maxnest = 0;
+
+ if (p->error != 0)
+ return(0); /* there may not be an OEND */
+
+ scan = g->strip + 1;
+ do {
+ s = *scan++;
+ switch (OP(s)) {
+ case OPLUS_:
+ plusnest++;
+ break;
+ case O_PLUS:
+ if (plusnest > maxnest)
+ maxnest = plusnest;
+ plusnest--;
+ break;
+ }
+ } while (OP(s) != OEND);
+ if (plusnest != 0)
+ g->iflags |= REGEX_BAD;
+ return(maxnest);
+}
diff --git a/third_party/llvm-subzero/lib/Support/regengine.inc b/third_party/llvm-subzero/lib/Support/regengine.inc
new file mode 100644
index 0000000..62d8c26
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/regengine.inc
@@ -0,0 +1,1034 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)engine.c 8.5 (Berkeley) 3/20/94
+ */
+
+/*
+ * The matching engine and friends. This file is #included by regexec.c
+ * after suitable #defines of a variety of macros used herein, so that
+ * different state representations can be used without duplicating masses
+ * of code.
+ */
+
+#ifdef SNAMES
+#define matcher smatcher
+#define fast sfast
+#define slow sslow
+#define dissect sdissect
+#define backref sbackref
+#define step sstep
+#define print sprint
+#define at sat
+#define match smat
+#define nope snope
+#endif
+#ifdef LNAMES
+#define matcher lmatcher
+#define fast lfast
+#define slow lslow
+#define dissect ldissect
+#define backref lbackref
+#define step lstep
+#define print lprint
+#define at lat
+#define match lmat
+#define nope lnope
+#endif
+
+/* another structure passed up and down to avoid zillions of parameters */
+struct match {
+ struct re_guts *g;
+ int eflags;
+ llvm_regmatch_t *pmatch; /* [nsub+1] (0 element unused) */
+ const char *offp; /* offsets work from here */
+ const char *beginp; /* start of string -- virtual NUL precedes */
+ const char *endp; /* end of string -- virtual NUL here */
+ const char *coldp; /* can be no match starting before here */
+ const char **lastpos; /* [nplus+1] */
+ STATEVARS;
+ states st; /* current states */
+ states fresh; /* states for a fresh start */
+ states tmp; /* temporary */
+ states empty; /* empty set of states */
+};
+
+static int matcher(struct re_guts *, const char *, size_t,
+ llvm_regmatch_t[], int);
+static const char *dissect(struct match *, const char *, const char *, sopno,
+ sopno);
+static const char *backref(struct match *, const char *, const char *, sopno,
+ sopno, sopno, int);
+static const char *fast(struct match *, const char *, const char *, sopno, sopno);
+static const char *slow(struct match *, const char *, const char *, sopno, sopno);
+static states step(struct re_guts *, sopno, sopno, states, int, states);
+#define MAX_RECURSION 100
+#define BOL (OUT+1)
+#define EOL (BOL+1)
+#define BOLEOL (BOL+2)
+#define NOTHING (BOL+3)
+#define BOW (BOL+4)
+#define EOW (BOL+5)
+#define CODEMAX (BOL+5) /* highest code used */
+#define NONCHAR(c) ((c) > CHAR_MAX)
+#define NNONCHAR (CODEMAX-CHAR_MAX)
+#ifdef REDEBUG
+static void print(struct match *, char *, states, int, FILE *);
+#endif
+#ifdef REDEBUG
+static void at(struct match *, char *, char *, char *, sopno, sopno);
+#endif
+#ifdef REDEBUG
+static char *pchar(int);
+#endif
+
+#ifdef REDEBUG
+#define SP(t, s, c) print(m, t, s, c, stdout)
+#define AT(t, p1, p2, s1, s2) at(m, t, p1, p2, s1, s2)
+#define NOTE(str) { if (m->eflags®_TRACE) (void)printf("=%s\n", (str)); }
+static int nope = 0;
+#else
+#define SP(t, s, c) /* nothing */
+#define AT(t, p1, p2, s1, s2) /* nothing */
+#define NOTE(s) /* nothing */
+#endif
+
+/*
+ - matcher - the actual matching engine
+ */
+static int /* 0 success, REG_NOMATCH failure */
+matcher(struct re_guts *g, const char *string, size_t nmatch,
+ llvm_regmatch_t pmatch[],
+ int eflags)
+{
+ const char *endp;
+ size_t i;
+ struct match mv;
+ struct match *m = &mv;
+ const char *dp;
+ const sopno gf = g->firststate+1; /* +1 for OEND */
+ const sopno gl = g->laststate;
+ const char *start;
+ const char *stop;
+
+ /* simplify the situation where possible */
+ if (g->cflags®_NOSUB)
+ nmatch = 0;
+ if (eflags®_STARTEND) {
+ start = string + pmatch[0].rm_so;
+ stop = string + pmatch[0].rm_eo;
+ } else {
+ start = string;
+ stop = start + strlen(start);
+ }
+ if (stop < start)
+ return(REG_INVARG);
+
+ /* prescreening; this does wonders for this rather slow code */
+ if (g->must != NULL) {
+ for (dp = start; dp < stop; dp++)
+ if (*dp == g->must[0] && stop - dp >= g->mlen &&
+ memcmp(dp, g->must, (size_t)g->mlen) == 0)
+ break;
+ if (dp == stop) /* we didn't find g->must */
+ return(REG_NOMATCH);
+ }
+
+ /* match struct setup */
+ m->g = g;
+ m->eflags = eflags;
+ m->pmatch = NULL;
+ m->lastpos = NULL;
+ m->offp = string;
+ m->beginp = start;
+ m->endp = stop;
+ STATESETUP(m, 4);
+ SETUP(m->st);
+ SETUP(m->fresh);
+ SETUP(m->tmp);
+ SETUP(m->empty);
+ CLEAR(m->empty);
+
+ /* this loop does only one repetition except for backrefs */
+ for (;;) {
+ endp = fast(m, start, stop, gf, gl);
+ if (endp == NULL) { /* a miss */
+ free(m->pmatch);
+ free((void*)m->lastpos);
+ STATETEARDOWN(m);
+ return(REG_NOMATCH);
+ }
+ if (nmatch == 0 && !g->backrefs)
+ break; /* no further info needed */
+
+ /* where? */
+ assert(m->coldp != NULL);
+ for (;;) {
+ NOTE("finding start");
+ endp = slow(m, m->coldp, stop, gf, gl);
+ if (endp != NULL)
+ break;
+ assert(m->coldp < m->endp);
+ m->coldp++;
+ }
+ if (nmatch == 1 && !g->backrefs)
+ break; /* no further info needed */
+
+ /* oh my, they want the subexpressions... */
+ if (m->pmatch == NULL)
+ m->pmatch = (llvm_regmatch_t *)malloc((m->g->nsub + 1) *
+ sizeof(llvm_regmatch_t));
+ if (m->pmatch == NULL) {
+ STATETEARDOWN(m);
+ return(REG_ESPACE);
+ }
+ for (i = 1; i <= m->g->nsub; i++)
+ m->pmatch[i].rm_so = m->pmatch[i].rm_eo = -1;
+ if (!g->backrefs && !(m->eflags®_BACKR)) {
+ NOTE("dissecting");
+ dp = dissect(m, m->coldp, endp, gf, gl);
+ } else {
+ if (g->nplus > 0 && m->lastpos == NULL)
+ m->lastpos = (const char **)malloc((g->nplus+1) *
+ sizeof(char *));
+ if (g->nplus > 0 && m->lastpos == NULL) {
+ free(m->pmatch);
+ STATETEARDOWN(m);
+ return(REG_ESPACE);
+ }
+ NOTE("backref dissect");
+ dp = backref(m, m->coldp, endp, gf, gl, (sopno)0, 0);
+ }
+ if (dp != NULL)
+ break;
+
+ /* uh-oh... we couldn't find a subexpression-level match */
+ assert(g->backrefs); /* must be back references doing it */
+ assert(g->nplus == 0 || m->lastpos != NULL);
+ for (;;) {
+ if (dp != NULL || endp <= m->coldp)
+ break; /* defeat */
+ NOTE("backoff");
+ endp = slow(m, m->coldp, endp-1, gf, gl);
+ if (endp == NULL)
+ break; /* defeat */
+ /* try it on a shorter possibility */
+#ifndef NDEBUG
+ for (i = 1; i <= m->g->nsub; i++) {
+ assert(m->pmatch[i].rm_so == -1);
+ assert(m->pmatch[i].rm_eo == -1);
+ }
+#endif
+ NOTE("backoff dissect");
+ dp = backref(m, m->coldp, endp, gf, gl, (sopno)0, 0);
+ }
+ assert(dp == NULL || dp == endp);
+ if (dp != NULL) /* found a shorter one */
+ break;
+
+ /* despite initial appearances, there is no match here */
+ NOTE("false alarm");
+ if (m->coldp == stop)
+ break;
+ start = m->coldp + 1; /* recycle starting later */
+ }
+
+ /* fill in the details if requested */
+ if (nmatch > 0) {
+ pmatch[0].rm_so = m->coldp - m->offp;
+ pmatch[0].rm_eo = endp - m->offp;
+ }
+ if (nmatch > 1) {
+ assert(m->pmatch != NULL);
+ for (i = 1; i < nmatch; i++)
+ if (i <= m->g->nsub)
+ pmatch[i] = m->pmatch[i];
+ else {
+ pmatch[i].rm_so = -1;
+ pmatch[i].rm_eo = -1;
+ }
+ }
+
+ if (m->pmatch != NULL)
+ free((char *)m->pmatch);
+ if (m->lastpos != NULL)
+ free((char *)m->lastpos);
+ STATETEARDOWN(m);
+ return(0);
+}
+
+/*
+ - dissect - figure out what matched what, no back references
+ */
+static const char * /* == stop (success) always */
+dissect(struct match *m, const char *start, const char *stop, sopno startst,
+ sopno stopst)
+{
+ int i;
+ sopno ss; /* start sop of current subRE */
+ sopno es; /* end sop of current subRE */
+ const char *sp; /* start of string matched by it */
+ const char *stp; /* string matched by it cannot pass here */
+ const char *rest; /* start of rest of string */
+ const char *tail; /* string unmatched by rest of RE */
+ sopno ssub; /* start sop of subsubRE */
+ sopno esub; /* end sop of subsubRE */
+ const char *ssp; /* start of string matched by subsubRE */
+ const char *sep; /* end of string matched by subsubRE */
+ const char *oldssp; /* previous ssp */
+
+ AT("diss", start, stop, startst, stopst);
+ sp = start;
+ for (ss = startst; ss < stopst; ss = es) {
+ /* identify end of subRE */
+ es = ss;
+ switch (OP(m->g->strip[es])) {
+ case OPLUS_:
+ case OQUEST_:
+ es += OPND(m->g->strip[es]);
+ break;
+ case OCH_:
+ while (OP(m->g->strip[es]) != O_CH)
+ es += OPND(m->g->strip[es]);
+ break;
+ }
+ es++;
+
+ /* figure out what it matched */
+ switch (OP(m->g->strip[ss])) {
+ case OEND:
+ assert(nope);
+ break;
+ case OCHAR:
+ sp++;
+ break;
+ case OBOL:
+ case OEOL:
+ case OBOW:
+ case OEOW:
+ break;
+ case OANY:
+ case OANYOF:
+ sp++;
+ break;
+ case OBACK_:
+ case O_BACK:
+ assert(nope);
+ break;
+ /* cases where length of match is hard to find */
+ case OQUEST_:
+ stp = stop;
+ for (;;) {
+ /* how long could this one be? */
+ rest = slow(m, sp, stp, ss, es);
+ assert(rest != NULL); /* it did match */
+ /* could the rest match the rest? */
+ tail = slow(m, rest, stop, es, stopst);
+ if (tail == stop)
+ break; /* yes! */
+ /* no -- try a shorter match for this one */
+ stp = rest - 1;
+ assert(stp >= sp); /* it did work */
+ }
+ ssub = ss + 1;
+ esub = es - 1;
+ /* did innards match? */
+ if (slow(m, sp, rest, ssub, esub) != NULL) {
+ const char *dp = dissect(m, sp, rest, ssub, esub);
+ (void)dp; /* avoid warning if assertions off */
+ assert(dp == rest);
+ } else /* no */
+ assert(sp == rest);
+ sp = rest;
+ break;
+ case OPLUS_:
+ stp = stop;
+ for (;;) {
+ /* how long could this one be? */
+ rest = slow(m, sp, stp, ss, es);
+ assert(rest != NULL); /* it did match */
+ /* could the rest match the rest? */
+ tail = slow(m, rest, stop, es, stopst);
+ if (tail == stop)
+ break; /* yes! */
+ /* no -- try a shorter match for this one */
+ stp = rest - 1;
+ assert(stp >= sp); /* it did work */
+ }
+ ssub = ss + 1;
+ esub = es - 1;
+ ssp = sp;
+ oldssp = ssp;
+ for (;;) { /* find last match of innards */
+ sep = slow(m, ssp, rest, ssub, esub);
+ if (sep == NULL || sep == ssp)
+ break; /* failed or matched null */
+ oldssp = ssp; /* on to next try */
+ ssp = sep;
+ }
+ if (sep == NULL) {
+ /* last successful match */
+ sep = ssp;
+ ssp = oldssp;
+ }
+ assert(sep == rest); /* must exhaust substring */
+ assert(slow(m, ssp, sep, ssub, esub) == rest);
+ {
+ const char *dp = dissect(m, ssp, sep, ssub, esub);
+ (void)dp; /* avoid warning if assertions off */
+ assert(dp == sep);
+ }
+ sp = rest;
+ break;
+ case OCH_:
+ stp = stop;
+ for (;;) {
+ /* how long could this one be? */
+ rest = slow(m, sp, stp, ss, es);
+ assert(rest != NULL); /* it did match */
+ /* could the rest match the rest? */
+ tail = slow(m, rest, stop, es, stopst);
+ if (tail == stop)
+ break; /* yes! */
+ /* no -- try a shorter match for this one */
+ stp = rest - 1;
+ assert(stp >= sp); /* it did work */
+ }
+ ssub = ss + 1;
+ esub = ss + OPND(m->g->strip[ss]) - 1;
+ assert(OP(m->g->strip[esub]) == OOR1);
+ for (;;) { /* find first matching branch */
+ if (slow(m, sp, rest, ssub, esub) == rest)
+ break; /* it matched all of it */
+ /* that one missed, try next one */
+ assert(OP(m->g->strip[esub]) == OOR1);
+ esub++;
+ assert(OP(m->g->strip[esub]) == OOR2);
+ ssub = esub + 1;
+ esub += OPND(m->g->strip[esub]);
+ if (OP(m->g->strip[esub]) == OOR2)
+ esub--;
+ else
+ assert(OP(m->g->strip[esub]) == O_CH);
+ }
+ {
+ const char *dp = dissect(m, sp, rest, ssub, esub);
+ (void)dp; /* avoid warning if assertions off */
+ assert(dp == rest);
+ }
+ sp = rest;
+ break;
+ case O_PLUS:
+ case O_QUEST:
+ case OOR1:
+ case OOR2:
+ case O_CH:
+ assert(nope);
+ break;
+ case OLPAREN:
+ i = OPND(m->g->strip[ss]);
+ assert(0 < i && i <= m->g->nsub);
+ m->pmatch[i].rm_so = sp - m->offp;
+ break;
+ case ORPAREN:
+ i = OPND(m->g->strip[ss]);
+ assert(0 < i && i <= m->g->nsub);
+ m->pmatch[i].rm_eo = sp - m->offp;
+ break;
+ default: /* uh oh */
+ assert(nope);
+ break;
+ }
+ }
+
+ assert(sp == stop);
+ return(sp);
+}
+
+/*
+ - backref - figure out what matched what, figuring in back references
+ */
+static const char * /* == stop (success) or NULL (failure) */
+backref(struct match *m, const char *start, const char *stop, sopno startst,
+ sopno stopst, sopno lev, int rec) /* PLUS nesting level */
+{
+ int i;
+ sopno ss; /* start sop of current subRE */
+ const char *sp; /* start of string matched by it */
+ sopno ssub; /* start sop of subsubRE */
+ sopno esub; /* end sop of subsubRE */
+ const char *ssp; /* start of string matched by subsubRE */
+ const char *dp;
+ size_t len;
+ int hard;
+ sop s;
+ llvm_regoff_t offsave;
+ cset *cs;
+
+ AT("back", start, stop, startst, stopst);
+ sp = start;
+
+ /* get as far as we can with easy stuff */
+ hard = 0;
+ for (ss = startst; !hard && ss < stopst; ss++)
+ switch (OP(s = m->g->strip[ss])) {
+ case OCHAR:
+ if (sp == stop || *sp++ != (char)OPND(s))
+ return(NULL);
+ break;
+ case OANY:
+ if (sp == stop)
+ return(NULL);
+ sp++;
+ break;
+ case OANYOF:
+ cs = &m->g->sets[OPND(s)];
+ if (sp == stop || !CHIN(cs, *sp++))
+ return(NULL);
+ break;
+ case OBOL:
+ if ( (sp == m->beginp && !(m->eflags®_NOTBOL)) ||
+ (sp < m->endp && *(sp-1) == '\n' &&
+ (m->g->cflags®_NEWLINE)) )
+ { /* yes */ }
+ else
+ return(NULL);
+ break;
+ case OEOL:
+ if ( (sp == m->endp && !(m->eflags®_NOTEOL)) ||
+ (sp < m->endp && *sp == '\n' &&
+ (m->g->cflags®_NEWLINE)) )
+ { /* yes */ }
+ else
+ return(NULL);
+ break;
+ case OBOW:
+ if (( (sp == m->beginp && !(m->eflags®_NOTBOL)) ||
+ (sp < m->endp && *(sp-1) == '\n' &&
+ (m->g->cflags®_NEWLINE)) ||
+ (sp > m->beginp &&
+ !ISWORD(*(sp-1))) ) &&
+ (sp < m->endp && ISWORD(*sp)) )
+ { /* yes */ }
+ else
+ return(NULL);
+ break;
+ case OEOW:
+ if (( (sp == m->endp && !(m->eflags®_NOTEOL)) ||
+ (sp < m->endp && *sp == '\n' &&
+ (m->g->cflags®_NEWLINE)) ||
+ (sp < m->endp && !ISWORD(*sp)) ) &&
+ (sp > m->beginp && ISWORD(*(sp-1))) )
+ { /* yes */ }
+ else
+ return(NULL);
+ break;
+ case O_QUEST:
+ break;
+ case OOR1: /* matches null but needs to skip */
+ ss++;
+ s = m->g->strip[ss];
+ do {
+ assert(OP(s) == OOR2);
+ ss += OPND(s);
+ } while (OP(s = m->g->strip[ss]) != O_CH);
+ /* note that the ss++ gets us past the O_CH */
+ break;
+ default: /* have to make a choice */
+ hard = 1;
+ break;
+ }
+ if (!hard) { /* that was it! */
+ if (sp != stop)
+ return(NULL);
+ return(sp);
+ }
+ ss--; /* adjust for the for's final increment */
+
+ /* the hard stuff */
+ AT("hard", sp, stop, ss, stopst);
+ s = m->g->strip[ss];
+ switch (OP(s)) {
+ case OBACK_: /* the vilest depths */
+ i = OPND(s);
+ assert(0 < i && i <= m->g->nsub);
+ if (m->pmatch[i].rm_eo == -1)
+ return(NULL);
+ assert(m->pmatch[i].rm_so != -1);
+ len = m->pmatch[i].rm_eo - m->pmatch[i].rm_so;
+ if (len == 0 && rec++ > MAX_RECURSION)
+ return(NULL);
+ assert(stop - m->beginp >= len);
+ if (sp > stop - len)
+ return(NULL); /* not enough left to match */
+ ssp = m->offp + m->pmatch[i].rm_so;
+ if (memcmp(sp, ssp, len) != 0)
+ return(NULL);
+ while (m->g->strip[ss] != SOP(O_BACK, i))
+ ss++;
+ return(backref(m, sp+len, stop, ss+1, stopst, lev, rec));
+ break;
+ case OQUEST_: /* to null or not */
+ dp = backref(m, sp, stop, ss+1, stopst, lev, rec);
+ if (dp != NULL)
+ return(dp); /* not */
+ return(backref(m, sp, stop, ss+OPND(s)+1, stopst, lev, rec));
+ break;
+ case OPLUS_:
+ assert(m->lastpos != NULL);
+ assert(lev+1 <= m->g->nplus);
+ m->lastpos[lev+1] = sp;
+ return(backref(m, sp, stop, ss+1, stopst, lev+1, rec));
+ break;
+ case O_PLUS:
+ if (sp == m->lastpos[lev]) /* last pass matched null */
+ return(backref(m, sp, stop, ss+1, stopst, lev-1, rec));
+ /* try another pass */
+ m->lastpos[lev] = sp;
+ dp = backref(m, sp, stop, ss-OPND(s)+1, stopst, lev, rec);
+ if (dp == NULL)
+ return(backref(m, sp, stop, ss+1, stopst, lev-1, rec));
+ else
+ return(dp);
+ break;
+ case OCH_: /* find the right one, if any */
+ ssub = ss + 1;
+ esub = ss + OPND(s) - 1;
+ assert(OP(m->g->strip[esub]) == OOR1);
+ for (;;) { /* find first matching branch */
+ dp = backref(m, sp, stop, ssub, esub, lev, rec);
+ if (dp != NULL)
+ return(dp);
+ /* that one missed, try next one */
+ if (OP(m->g->strip[esub]) == O_CH)
+ return(NULL); /* there is none */
+ esub++;
+ assert(OP(m->g->strip[esub]) == OOR2);
+ ssub = esub + 1;
+ esub += OPND(m->g->strip[esub]);
+ if (OP(m->g->strip[esub]) == OOR2)
+ esub--;
+ else
+ assert(OP(m->g->strip[esub]) == O_CH);
+ }
+ break;
+ case OLPAREN: /* must undo assignment if rest fails */
+ i = OPND(s);
+ assert(0 < i && i <= m->g->nsub);
+ offsave = m->pmatch[i].rm_so;
+ m->pmatch[i].rm_so = sp - m->offp;
+ dp = backref(m, sp, stop, ss+1, stopst, lev, rec);
+ if (dp != NULL)
+ return(dp);
+ m->pmatch[i].rm_so = offsave;
+ return(NULL);
+ break;
+ case ORPAREN: /* must undo assignment if rest fails */
+ i = OPND(s);
+ assert(0 < i && i <= m->g->nsub);
+ offsave = m->pmatch[i].rm_eo;
+ m->pmatch[i].rm_eo = sp - m->offp;
+ dp = backref(m, sp, stop, ss+1, stopst, lev, rec);
+ if (dp != NULL)
+ return(dp);
+ m->pmatch[i].rm_eo = offsave;
+ return(NULL);
+ break;
+ default: /* uh oh */
+ assert(nope);
+ break;
+ }
+
+ /* "can't happen" */
+ assert(nope);
+ /* NOTREACHED */
+ return NULL;
+}
+
+/*
+ - fast - step through the string at top speed
+ */
+static const char * /* where tentative match ended, or NULL */
+fast(struct match *m, const char *start, const char *stop, sopno startst,
+ sopno stopst)
+{
+ states st = m->st;
+ states fresh = m->fresh;
+ states tmp = m->tmp;
+ const char *p = start;
+ int c = (start == m->beginp) ? OUT : *(start-1);
+ int lastc; /* previous c */
+ int flagch;
+ int i;
+ const char *coldp; /* last p after which no match was underway */
+
+ CLEAR(st);
+ SET1(st, startst);
+ st = step(m->g, startst, stopst, st, NOTHING, st);
+ ASSIGN(fresh, st);
+ SP("start", st, *p);
+ coldp = NULL;
+ for (;;) {
+ /* next character */
+ lastc = c;
+ c = (p == m->endp) ? OUT : *p;
+ if (EQ(st, fresh))
+ coldp = p;
+
+ /* is there an EOL and/or BOL between lastc and c? */
+ flagch = '\0';
+ i = 0;
+ if ( (lastc == '\n' && m->g->cflags®_NEWLINE) ||
+ (lastc == OUT && !(m->eflags®_NOTBOL)) ) {
+ flagch = BOL;
+ i = m->g->nbol;
+ }
+ if ( (c == '\n' && m->g->cflags®_NEWLINE) ||
+ (c == OUT && !(m->eflags®_NOTEOL)) ) {
+ flagch = (flagch == BOL) ? BOLEOL : EOL;
+ i += m->g->neol;
+ }
+ if (i != 0) {
+ for (; i > 0; i--)
+ st = step(m->g, startst, stopst, st, flagch, st);
+ SP("boleol", st, c);
+ }
+
+ /* how about a word boundary? */
+ if ( (flagch == BOL || (lastc != OUT && !ISWORD(lastc))) &&
+ (c != OUT && ISWORD(c)) ) {
+ flagch = BOW;
+ }
+ if ( (lastc != OUT && ISWORD(lastc)) &&
+ (flagch == EOL || (c != OUT && !ISWORD(c))) ) {
+ flagch = EOW;
+ }
+ if (flagch == BOW || flagch == EOW) {
+ st = step(m->g, startst, stopst, st, flagch, st);
+ SP("boweow", st, c);
+ }
+
+ /* are we done? */
+ if (ISSET(st, stopst) || p == stop)
+ break; /* NOTE BREAK OUT */
+
+ /* no, we must deal with this character */
+ ASSIGN(tmp, st);
+ ASSIGN(st, fresh);
+ assert(c != OUT);
+ st = step(m->g, startst, stopst, tmp, c, st);
+ SP("aft", st, c);
+ assert(EQ(step(m->g, startst, stopst, st, NOTHING, st), st));
+ p++;
+ }
+
+ assert(coldp != NULL);
+ m->coldp = coldp;
+ if (ISSET(st, stopst))
+ return(p+1);
+ else
+ return(NULL);
+}
+
+/*
+ - slow - step through the string more deliberately
+ */
+static const char * /* where it ended */
+slow(struct match *m, const char *start, const char *stop, sopno startst,
+ sopno stopst)
+{
+ states st = m->st;
+ states empty = m->empty;
+ states tmp = m->tmp;
+ const char *p = start;
+ int c = (start == m->beginp) ? OUT : *(start-1);
+ int lastc; /* previous c */
+ int flagch;
+ int i;
+ const char *matchp; /* last p at which a match ended */
+
+ AT("slow", start, stop, startst, stopst);
+ CLEAR(st);
+ SET1(st, startst);
+ SP("sstart", st, *p);
+ st = step(m->g, startst, stopst, st, NOTHING, st);
+ matchp = NULL;
+ for (;;) {
+ /* next character */
+ lastc = c;
+ c = (p == m->endp) ? OUT : *p;
+
+ /* is there an EOL and/or BOL between lastc and c? */
+ flagch = '\0';
+ i = 0;
+ if ( (lastc == '\n' && m->g->cflags®_NEWLINE) ||
+ (lastc == OUT && !(m->eflags®_NOTBOL)) ) {
+ flagch = BOL;
+ i = m->g->nbol;
+ }
+ if ( (c == '\n' && m->g->cflags®_NEWLINE) ||
+ (c == OUT && !(m->eflags®_NOTEOL)) ) {
+ flagch = (flagch == BOL) ? BOLEOL : EOL;
+ i += m->g->neol;
+ }
+ if (i != 0) {
+ for (; i > 0; i--)
+ st = step(m->g, startst, stopst, st, flagch, st);
+ SP("sboleol", st, c);
+ }
+
+ /* how about a word boundary? */
+ if ( (flagch == BOL || (lastc != OUT && !ISWORD(lastc))) &&
+ (c != OUT && ISWORD(c)) ) {
+ flagch = BOW;
+ }
+ if ( (lastc != OUT && ISWORD(lastc)) &&
+ (flagch == EOL || (c != OUT && !ISWORD(c))) ) {
+ flagch = EOW;
+ }
+ if (flagch == BOW || flagch == EOW) {
+ st = step(m->g, startst, stopst, st, flagch, st);
+ SP("sboweow", st, c);
+ }
+
+ /* are we done? */
+ if (ISSET(st, stopst))
+ matchp = p;
+ if (EQ(st, empty) || p == stop)
+ break; /* NOTE BREAK OUT */
+
+ /* no, we must deal with this character */
+ ASSIGN(tmp, st);
+ ASSIGN(st, empty);
+ assert(c != OUT);
+ st = step(m->g, startst, stopst, tmp, c, st);
+ SP("saft", st, c);
+ assert(EQ(step(m->g, startst, stopst, st, NOTHING, st), st));
+ p++;
+ }
+
+ return(matchp);
+}
+
+
+/*
+ - step - map set of states reachable before char to set reachable after
+ */
+static states
+step(struct re_guts *g,
+ sopno start, /* start state within strip */
+ sopno stop, /* state after stop state within strip */
+ states bef, /* states reachable before */
+ int ch, /* character or NONCHAR code */
+ states aft) /* states already known reachable after */
+{
+ cset *cs;
+ sop s;
+ sopno pc;
+ onestate here; /* note, macros know this name */
+ sopno look;
+ int i;
+
+ for (pc = start, INIT(here, pc); pc != stop; pc++, INC(here)) {
+ s = g->strip[pc];
+ switch (OP(s)) {
+ case OEND:
+ assert(pc == stop-1);
+ break;
+ case OCHAR:
+ /* only characters can match */
+ assert(!NONCHAR(ch) || ch != (char)OPND(s));
+ if (ch == (char)OPND(s))
+ FWD(aft, bef, 1);
+ break;
+ case OBOL:
+ if (ch == BOL || ch == BOLEOL)
+ FWD(aft, bef, 1);
+ break;
+ case OEOL:
+ if (ch == EOL || ch == BOLEOL)
+ FWD(aft, bef, 1);
+ break;
+ case OBOW:
+ if (ch == BOW)
+ FWD(aft, bef, 1);
+ break;
+ case OEOW:
+ if (ch == EOW)
+ FWD(aft, bef, 1);
+ break;
+ case OANY:
+ if (!NONCHAR(ch))
+ FWD(aft, bef, 1);
+ break;
+ case OANYOF:
+ cs = &g->sets[OPND(s)];
+ if (!NONCHAR(ch) && CHIN(cs, ch))
+ FWD(aft, bef, 1);
+ break;
+ case OBACK_: /* ignored here */
+ case O_BACK:
+ FWD(aft, aft, 1);
+ break;
+ case OPLUS_: /* forward, this is just an empty */
+ FWD(aft, aft, 1);
+ break;
+ case O_PLUS: /* both forward and back */
+ FWD(aft, aft, 1);
+ i = ISSETBACK(aft, OPND(s));
+ BACK(aft, aft, OPND(s));
+ if (!i && ISSETBACK(aft, OPND(s))) {
+ /* oho, must reconsider loop body */
+ pc -= OPND(s) + 1;
+ INIT(here, pc);
+ }
+ break;
+ case OQUEST_: /* two branches, both forward */
+ FWD(aft, aft, 1);
+ FWD(aft, aft, OPND(s));
+ break;
+ case O_QUEST: /* just an empty */
+ FWD(aft, aft, 1);
+ break;
+ case OLPAREN: /* not significant here */
+ case ORPAREN:
+ FWD(aft, aft, 1);
+ break;
+ case OCH_: /* mark the first two branches */
+ FWD(aft, aft, 1);
+ assert(OP(g->strip[pc+OPND(s)]) == OOR2);
+ FWD(aft, aft, OPND(s));
+ break;
+ case OOR1: /* done a branch, find the O_CH */
+ if (ISSTATEIN(aft, here)) {
+ for (look = 1;
+ OP(s = g->strip[pc+look]) != O_CH;
+ look += OPND(s))
+ assert(OP(s) == OOR2);
+ FWD(aft, aft, look);
+ }
+ break;
+ case OOR2: /* propagate OCH_'s marking */
+ FWD(aft, aft, 1);
+ if (OP(g->strip[pc+OPND(s)]) != O_CH) {
+ assert(OP(g->strip[pc+OPND(s)]) == OOR2);
+ FWD(aft, aft, OPND(s));
+ }
+ break;
+ case O_CH: /* just empty */
+ FWD(aft, aft, 1);
+ break;
+ default: /* ooooops... */
+ assert(nope);
+ break;
+ }
+ }
+
+ return(aft);
+}
+
+#ifdef REDEBUG
+/*
+ - print - print a set of states
+ */
+static void
+print(struct match *m, char *caption, states st, int ch, FILE *d)
+{
+ struct re_guts *g = m->g;
+ int i;
+ int first = 1;
+
+ if (!(m->eflags®_TRACE))
+ return;
+
+ (void)fprintf(d, "%s", caption);
+ if (ch != '\0')
+ (void)fprintf(d, " %s", pchar(ch));
+ for (i = 0; i < g->nstates; i++)
+ if (ISSET(st, i)) {
+ (void)fprintf(d, "%s%d", (first) ? "\t" : ", ", i);
+ first = 0;
+ }
+ (void)fprintf(d, "\n");
+}
+
+/*
+ - at - print current situation
+ */
+static void
+at(struct match *m, char *title, char *start, char *stop, sopno startst,
+ sopno stopst)
+{
+ if (!(m->eflags®_TRACE))
+ return;
+
+ (void)printf("%s %s-", title, pchar(*start));
+ (void)printf("%s ", pchar(*stop));
+ (void)printf("%ld-%ld\n", (long)startst, (long)stopst);
+}
+
+#ifndef PCHARDONE
+#define PCHARDONE /* never again */
+/*
+ - pchar - make a character printable
+ *
+ * Is this identical to regchar() over in debug.c? Well, yes. But a
+ * duplicate here avoids having a debugging-capable regexec.o tied to
+ * a matching debug.o, and this is convenient. It all disappears in
+ * the non-debug compilation anyway, so it doesn't matter much.
+ */
+static char * /* -> representation */
+pchar(int ch)
+{
+ static char pbuf[10];
+
+ if (isprint(ch) || ch == ' ')
+ (void)snprintf(pbuf, sizeof pbuf, "%c", ch);
+ else
+ (void)snprintf(pbuf, sizeof pbuf, "\\%o", ch);
+ return(pbuf);
+}
+#endif
+#endif
+
+#undef matcher
+#undef fast
+#undef slow
+#undef dissect
+#undef backref
+#undef step
+#undef print
+#undef at
+#undef match
+#undef nope
diff --git a/third_party/llvm-subzero/lib/Support/regerror.c b/third_party/llvm-subzero/lib/Support/regerror.c
new file mode 100644
index 0000000..1d67c9a
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/regerror.c
@@ -0,0 +1,135 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)regerror.c 8.4 (Berkeley) 3/20/94
+ */
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#include <limits.h>
+#include <stdlib.h>
+#include "regex_impl.h"
+
+#include "regutils.h"
+
+#ifdef _MSC_VER
+#define snprintf _snprintf
+#endif
+
+static const char *regatoi(const llvm_regex_t *, char *, int);
+
+static struct rerr {
+ int code;
+ const char *name;
+ const char *explain;
+} rerrs[] = {
+ { REG_NOMATCH, "REG_NOMATCH", "llvm_regexec() failed to match" },
+ { REG_BADPAT, "REG_BADPAT", "invalid regular expression" },
+ { REG_ECOLLATE, "REG_ECOLLATE", "invalid collating element" },
+ { REG_ECTYPE, "REG_ECTYPE", "invalid character class" },
+ { REG_EESCAPE, "REG_EESCAPE", "trailing backslash (\\)" },
+ { REG_ESUBREG, "REG_ESUBREG", "invalid backreference number" },
+ { REG_EBRACK, "REG_EBRACK", "brackets ([ ]) not balanced" },
+ { REG_EPAREN, "REG_EPAREN", "parentheses not balanced" },
+ { REG_EBRACE, "REG_EBRACE", "braces not balanced" },
+ { REG_BADBR, "REG_BADBR", "invalid repetition count(s)" },
+ { REG_ERANGE, "REG_ERANGE", "invalid character range" },
+ { REG_ESPACE, "REG_ESPACE", "out of memory" },
+ { REG_BADRPT, "REG_BADRPT", "repetition-operator operand invalid" },
+ { REG_EMPTY, "REG_EMPTY", "empty (sub)expression" },
+ { REG_ASSERT, "REG_ASSERT", "\"can't happen\" -- you found a bug" },
+ { REG_INVARG, "REG_INVARG", "invalid argument to regex routine" },
+ { 0, "", "*** unknown regexp error code ***" }
+};
+
+/*
+ - llvm_regerror - the interface to error numbers
+ = extern size_t llvm_regerror(int, const llvm_regex_t *, char *, size_t);
+ */
+/* ARGSUSED */
+size_t
+llvm_regerror(int errcode, const llvm_regex_t *preg, char *errbuf, size_t errbuf_size)
+{
+ struct rerr *r;
+ size_t len;
+ int target = errcode &~ REG_ITOA;
+ const char *s;
+ char convbuf[50];
+
+ if (errcode == REG_ATOI)
+ s = regatoi(preg, convbuf, sizeof convbuf);
+ else {
+ for (r = rerrs; r->code != 0; r++)
+ if (r->code == target)
+ break;
+
+ if (errcode®_ITOA) {
+ if (r->code != 0) {
+ assert(strlen(r->name) < sizeof(convbuf));
+ (void) llvm_strlcpy(convbuf, r->name, sizeof convbuf);
+ } else
+ (void)snprintf(convbuf, sizeof convbuf,
+ "REG_0x%x", target);
+ s = convbuf;
+ } else
+ s = r->explain;
+ }
+
+ len = strlen(s) + 1;
+ if (errbuf_size > 0) {
+ llvm_strlcpy(errbuf, s, errbuf_size);
+ }
+
+ return(len);
+}
+
+/*
+ - regatoi - internal routine to implement REG_ATOI
+ */
+static const char *
+regatoi(const llvm_regex_t *preg, char *localbuf, int localbufsize)
+{
+ struct rerr *r;
+
+ for (r = rerrs; r->code != 0; r++)
+ if (strcmp(r->name, preg->re_endp) == 0)
+ break;
+ if (r->code == 0)
+ return("0");
+
+ (void)snprintf(localbuf, localbufsize, "%d", r->code);
+ return(localbuf);
+}
diff --git a/third_party/llvm-subzero/lib/Support/regex2.h b/third_party/llvm-subzero/lib/Support/regex2.h
new file mode 100644
index 0000000..d81bfbc
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/regex2.h
@@ -0,0 +1,162 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)regex2.h 8.4 (Berkeley) 3/20/94
+ */
+
+#ifndef LLVM_SUPPORT_REGEX2_H
+#define LLVM_SUPPORT_REGEX2_H
+
+/*
+ * internals of regex_t
+ */
+#define MAGIC1 ((('r'^0200)<<8) | 'e')
+
+/*
+ * The internal representation is a *strip*, a sequence of
+ * operators ending with an endmarker. (Some terminology etc. is a
+ * historical relic of earlier versions which used multiple strips.)
+ * Certain oddities in the representation are there to permit running
+ * the machinery backwards; in particular, any deviation from sequential
+ * flow must be marked at both its source and its destination. Some
+ * fine points:
+ *
+ * - OPLUS_ and O_PLUS are *inside* the loop they create.
+ * - OQUEST_ and O_QUEST are *outside* the bypass they create.
+ * - OCH_ and O_CH are *outside* the multi-way branch they create, while
+ * OOR1 and OOR2 are respectively the end and the beginning of one of
+ * the branches. Note that there is an implicit OOR2 following OCH_
+ * and an implicit OOR1 preceding O_CH.
+ *
+ * In state representations, an operator's bit is on to signify a state
+ * immediately *preceding* "execution" of that operator.
+ */
+typedef unsigned long sop; /* strip operator */
+typedef long sopno;
+#define OPRMASK 0xf8000000LU
+#define OPDMASK 0x07ffffffLU
+#define OPSHIFT ((unsigned)27)
+#define OP(n) ((n)&OPRMASK)
+#define OPND(n) ((n)&OPDMASK)
+#define SOP(op, opnd) ((op)|(opnd))
+/* operators meaning operand */
+/* (back, fwd are offsets) */
+#define OEND (1LU<<OPSHIFT) /* endmarker - */
+#define OCHAR (2LU<<OPSHIFT) /* character unsigned char */
+#define OBOL (3LU<<OPSHIFT) /* left anchor - */
+#define OEOL (4LU<<OPSHIFT) /* right anchor - */
+#define OANY (5LU<<OPSHIFT) /* . - */
+#define OANYOF (6LU<<OPSHIFT) /* [...] set number */
+#define OBACK_ (7LU<<OPSHIFT) /* begin \d paren number */
+#define O_BACK (8LU<<OPSHIFT) /* end \d paren number */
+#define OPLUS_ (9LU<<OPSHIFT) /* + prefix fwd to suffix */
+#define O_PLUS (10LU<<OPSHIFT) /* + suffix back to prefix */
+#define OQUEST_ (11LU<<OPSHIFT) /* ? prefix fwd to suffix */
+#define O_QUEST (12LU<<OPSHIFT) /* ? suffix back to prefix */
+#define OLPAREN (13LU<<OPSHIFT) /* ( fwd to ) */
+#define ORPAREN (14LU<<OPSHIFT) /* ) back to ( */
+#define OCH_ (15LU<<OPSHIFT) /* begin choice fwd to OOR2 */
+#define OOR1 (16LU<<OPSHIFT) /* | pt. 1 back to OOR1 or OCH_ */
+#define OOR2 (17LU<<OPSHIFT) /* | pt. 2 fwd to OOR2 or O_CH */
+#define O_CH (18LU<<OPSHIFT) /* end choice back to OOR1 */
+#define OBOW (19LU<<OPSHIFT) /* begin word - */
+#define OEOW (20LU<<OPSHIFT) /* end word - */
+
+/*
+ * Structure for [] character-set representation. Character sets are
+ * done as bit vectors, grouped 8 to a byte vector for compactness.
+ * The individual set therefore has both a pointer to the byte vector
+ * and a mask to pick out the relevant bit of each byte. A hash code
+ * simplifies testing whether two sets could be identical.
+ *
+ * This will get trickier for multicharacter collating elements. As
+ * preliminary hooks for dealing with such things, we also carry along
+ * a string of multi-character elements, and decide the size of the
+ * vectors at run time.
+ */
+typedef struct {
+ uch *ptr; /* -> uch [csetsize] */
+ uch mask; /* bit within array */
+ uch hash; /* hash code */
+ size_t smultis;
+ char *multis; /* -> char[smulti] ab\0cd\0ef\0\0 */
+} cset;
+/* note that CHadd and CHsub are unsafe, and CHIN doesn't yield 0/1 */
+#define CHadd(cs, c) ((cs)->ptr[(uch)(c)] |= (cs)->mask, (cs)->hash += (c))
+#define CHsub(cs, c) ((cs)->ptr[(uch)(c)] &= ~(cs)->mask, (cs)->hash -= (c))
+#define CHIN(cs, c) ((cs)->ptr[(uch)(c)] & (cs)->mask)
+#define MCadd(p, cs, cp) mcadd(p, cs, cp) /* llvm_regcomp() internal fns */
+#define MCsub(p, cs, cp) mcsub(p, cs, cp)
+#define MCin(p, cs, cp) mcin(p, cs, cp)
+
+/* stuff for character categories */
+typedef unsigned char cat_t;
+
+/*
+ * main compiled-expression structure
+ */
+struct re_guts {
+ int magic;
+# define MAGIC2 ((('R'^0200)<<8)|'E')
+ sop *strip; /* malloced area for strip */
+ int csetsize; /* number of bits in a cset vector */
+ int ncsets; /* number of csets in use */
+ cset *sets; /* -> cset [ncsets] */
+ uch *setbits; /* -> uch[csetsize][ncsets/CHAR_BIT] */
+ int cflags; /* copy of llvm_regcomp() cflags argument */
+ sopno nstates; /* = number of sops */
+ sopno firststate; /* the initial OEND (normally 0) */
+ sopno laststate; /* the final OEND */
+ int iflags; /* internal flags */
+# define USEBOL 01 /* used ^ */
+# define USEEOL 02 /* used $ */
+# define REGEX_BAD 04 /* something wrong */
+ int nbol; /* number of ^ used */
+ int neol; /* number of $ used */
+ int ncategories; /* how many character categories */
+ cat_t *categories; /* ->catspace[-CHAR_MIN] */
+ char *must; /* match must contain this string */
+ int mlen; /* length of must */
+ size_t nsub; /* copy of re_nsub */
+ int backrefs; /* does it use back references? */
+ sopno nplus; /* how deep does it nest +s? */
+ /* catspace must be last */
+ cat_t catspace[1]; /* actually [NC] */
+};
+
+/* misc utilities */
+#define OUT (CHAR_MAX+1) /* a non-character value */
+#define ISWORD(c) (isalnum(c&0xff) || (c) == '_')
+
+#endif
diff --git a/third_party/llvm-subzero/lib/Support/regex_impl.h b/third_party/llvm-subzero/lib/Support/regex_impl.h
new file mode 100644
index 0000000..f8296c9
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/regex_impl.h
@@ -0,0 +1,108 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992 Henry Spencer.
+ * Copyright (c) 1992, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer of the University of Toronto.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)regex.h 8.1 (Berkeley) 6/2/93
+ */
+
+#ifndef _REGEX_H_
+#define _REGEX_H_
+
+#include <sys/types.h>
+typedef off_t llvm_regoff_t;
+typedef struct {
+ llvm_regoff_t rm_so; /* start of match */
+ llvm_regoff_t rm_eo; /* end of match */
+} llvm_regmatch_t;
+
+typedef struct llvm_regex {
+ int re_magic;
+ size_t re_nsub; /* number of parenthesized subexpressions */
+ const char *re_endp; /* end pointer for REG_PEND */
+ struct re_guts *re_g; /* none of your business :-) */
+} llvm_regex_t;
+
+/* llvm_regcomp() flags */
+#define REG_BASIC 0000
+#define REG_EXTENDED 0001
+#define REG_ICASE 0002
+#define REG_NOSUB 0004
+#define REG_NEWLINE 0010
+#define REG_NOSPEC 0020
+#define REG_PEND 0040
+#define REG_DUMP 0200
+
+/* llvm_regerror() flags */
+#define REG_NOMATCH 1
+#define REG_BADPAT 2
+#define REG_ECOLLATE 3
+#define REG_ECTYPE 4
+#define REG_EESCAPE 5
+#define REG_ESUBREG 6
+#define REG_EBRACK 7
+#define REG_EPAREN 8
+#define REG_EBRACE 9
+#define REG_BADBR 10
+#define REG_ERANGE 11
+#define REG_ESPACE 12
+#define REG_BADRPT 13
+#define REG_EMPTY 14
+#define REG_ASSERT 15
+#define REG_INVARG 16
+#define REG_ATOI 255 /* convert name to number (!) */
+#define REG_ITOA 0400 /* convert number to name (!) */
+
+/* llvm_regexec() flags */
+#define REG_NOTBOL 00001
+#define REG_NOTEOL 00002
+#define REG_STARTEND 00004
+#define REG_TRACE 00400 /* tracing of execution */
+#define REG_LARGE 01000 /* force large representation */
+#define REG_BACKR 02000 /* force use of backref code */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int llvm_regcomp(llvm_regex_t *, const char *, int);
+size_t llvm_regerror(int, const llvm_regex_t *, char *, size_t);
+int llvm_regexec(const llvm_regex_t *, const char *, size_t,
+ llvm_regmatch_t [], int);
+void llvm_regfree(llvm_regex_t *);
+size_t llvm_strlcpy(char *dst, const char *src, size_t siz);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !_REGEX_H_ */
diff --git a/third_party/llvm-subzero/lib/Support/regexec.c b/third_party/llvm-subzero/lib/Support/regexec.c
new file mode 100644
index 0000000..bd5e72d
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/regexec.c
@@ -0,0 +1,162 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)regexec.c 8.3 (Berkeley) 3/20/94
+ */
+
+/*
+ * the outer shell of llvm_regexec()
+ *
+ * This file includes engine.inc *twice*, after muchos fiddling with the
+ * macros that code uses. This lets the same code operate on two different
+ * representations for state sets.
+ */
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <limits.h>
+#include <ctype.h>
+#include "regex_impl.h"
+
+#include "regutils.h"
+#include "regex2.h"
+
+/* macros for manipulating states, small version */
+/* FIXME: 'states' is assumed as 'long' on small version. */
+#define states1 long /* for later use in llvm_regexec() decision */
+#define states states1
+#define CLEAR(v) ((v) = 0)
+#define SET0(v, n) ((v) &= ~((unsigned long)1 << (n)))
+#define SET1(v, n) ((v) |= (unsigned long)1 << (n))
+#define ISSET(v, n) (((v) & ((unsigned long)1 << (n))) != 0)
+#define ASSIGN(d, s) ((d) = (s))
+#define EQ(a, b) ((a) == (b))
+#define STATEVARS long dummy /* dummy version */
+#define STATESETUP(m, n) /* nothing */
+#define STATETEARDOWN(m) /* nothing */
+#define SETUP(v) ((v) = 0)
+#define onestate long
+#define INIT(o, n) ((o) = (unsigned long)1 << (n))
+#define INC(o) ((o) = (unsigned long)(o) << 1)
+#define ISSTATEIN(v, o) (((v) & (o)) != 0)
+/* some abbreviations; note that some of these know variable names! */
+/* do "if I'm here, I can also be there" etc without branches */
+#define FWD(dst, src, n) ((dst) |= ((unsigned long)(src)&(here)) << (n))
+#define BACK(dst, src, n) ((dst) |= ((unsigned long)(src)&(here)) >> (n))
+#define ISSETBACK(v, n) (((v) & ((unsigned long)here >> (n))) != 0)
+/* function names */
+#define SNAMES /* engine.inc looks after details */
+
+#include "regengine.inc"
+
+/* now undo things */
+#undef states
+#undef CLEAR
+#undef SET0
+#undef SET1
+#undef ISSET
+#undef ASSIGN
+#undef EQ
+#undef STATEVARS
+#undef STATESETUP
+#undef STATETEARDOWN
+#undef SETUP
+#undef onestate
+#undef INIT
+#undef INC
+#undef ISSTATEIN
+#undef FWD
+#undef BACK
+#undef ISSETBACK
+#undef SNAMES
+
+/* macros for manipulating states, large version */
+#define states char *
+#define CLEAR(v) memset(v, 0, m->g->nstates)
+#define SET0(v, n) ((v)[n] = 0)
+#define SET1(v, n) ((v)[n] = 1)
+#define ISSET(v, n) ((v)[n])
+#define ASSIGN(d, s) memmove(d, s, m->g->nstates)
+#define EQ(a, b) (memcmp(a, b, m->g->nstates) == 0)
+#define STATEVARS long vn; char *space
+#define STATESETUP(m, nv) { (m)->space = malloc((nv)*(m)->g->nstates); \
+ if ((m)->space == NULL) return(REG_ESPACE); \
+ (m)->vn = 0; }
+#define STATETEARDOWN(m) { free((m)->space); }
+#define SETUP(v) ((v) = &m->space[m->vn++ * m->g->nstates])
+#define onestate long
+#define INIT(o, n) ((o) = (n))
+#define INC(o) ((o)++)
+#define ISSTATEIN(v, o) ((v)[o])
+/* some abbreviations; note that some of these know variable names! */
+/* do "if I'm here, I can also be there" etc without branches */
+#define FWD(dst, src, n) ((dst)[here+(n)] |= (src)[here])
+#define BACK(dst, src, n) ((dst)[here-(n)] |= (src)[here])
+#define ISSETBACK(v, n) ((v)[here - (n)])
+/* function names */
+#define LNAMES /* flag */
+
+#include "regengine.inc"
+
+/*
+ - llvm_regexec - interface for matching
+ *
+ * We put this here so we can exploit knowledge of the state representation
+ * when choosing which matcher to call. Also, by this point the matchers
+ * have been prototyped.
+ */
+int /* 0 success, REG_NOMATCH failure */
+llvm_regexec(const llvm_regex_t *preg, const char *string, size_t nmatch,
+ llvm_regmatch_t pmatch[], int eflags)
+{
+ struct re_guts *g = preg->re_g;
+#ifdef REDEBUG
+# define GOODFLAGS(f) (f)
+#else
+# define GOODFLAGS(f) ((f)&(REG_NOTBOL|REG_NOTEOL|REG_STARTEND))
+#endif
+
+ if (preg->re_magic != MAGIC1 || g->magic != MAGIC2)
+ return(REG_BADPAT);
+ assert(!(g->iflags®EX_BAD));
+ if (g->iflags®EX_BAD) /* backstop for no-debug case */
+ return(REG_BADPAT);
+ eflags = GOODFLAGS(eflags);
+
+ if (g->nstates <= (long)(CHAR_BIT*sizeof(states1)) && !(eflags®_LARGE))
+ return(smatcher(g, string, nmatch, pmatch, eflags));
+ else
+ return(lmatcher(g, string, nmatch, pmatch, eflags));
+}
diff --git a/third_party/llvm-subzero/lib/Support/regfree.c b/third_party/llvm-subzero/lib/Support/regfree.c
new file mode 100644
index 0000000..dc2b4af
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/regfree.c
@@ -0,0 +1,72 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)regfree.c 8.3 (Berkeley) 3/20/94
+ */
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "regex_impl.h"
+
+#include "regutils.h"
+#include "regex2.h"
+
+/*
+ - llvm_regfree - free everything
+ */
+void
+llvm_regfree(llvm_regex_t *preg)
+{
+ struct re_guts *g;
+
+ if (preg->re_magic != MAGIC1) /* oops */
+ return; /* nice to complain, but hard */
+
+ g = preg->re_g;
+ if (g == NULL || g->magic != MAGIC2) /* oops again */
+ return;
+ preg->re_magic = 0; /* mark it invalid */
+ g->magic = 0; /* mark it invalid */
+
+ if (g->strip != NULL)
+ free((char *)g->strip);
+ if (g->sets != NULL)
+ free((char *)g->sets);
+ if (g->setbits != NULL)
+ free((char *)g->setbits);
+ if (g->must != NULL)
+ free(g->must);
+ free((char *)g);
+}
diff --git a/third_party/llvm-subzero/lib/Support/regstrlcpy.c b/third_party/llvm-subzero/lib/Support/regstrlcpy.c
new file mode 100644
index 0000000..8b68afd
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/regstrlcpy.c
@@ -0,0 +1,52 @@
+/*
+ * This code is derived from OpenBSD's libc, original license follows:
+ *
+ * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <sys/types.h>
+#include <string.h>
+
+#include "regex_impl.h"
+/*
+ * Copy src to string dst of size siz. At most siz-1 characters
+ * will be copied. Always NUL terminates (unless siz == 0).
+ * Returns strlen(src); if retval >= siz, truncation occurred.
+ */
+size_t
+llvm_strlcpy(char *dst, const char *src, size_t siz)
+{
+ char *d = dst;
+ const char *s = src;
+ size_t n = siz;
+
+ /* Copy as many bytes as will fit */
+ if (n != 0) {
+ while (--n != 0) {
+ if ((*d++ = *s++) == '\0')
+ break;
+ }
+ }
+
+ /* Not enough room in dst, add NUL and traverse rest of src */
+ if (n == 0) {
+ if (siz != 0)
+ *d = '\0'; /* NUL-terminate dst */
+ while (*s++)
+ ;
+ }
+
+ return(s - src - 1); /* count does not include NUL */
+}
diff --git a/third_party/llvm-subzero/lib/Support/regutils.h b/third_party/llvm-subzero/lib/Support/regutils.h
new file mode 100644
index 0000000..49a975c
--- /dev/null
+++ b/third_party/llvm-subzero/lib/Support/regutils.h
@@ -0,0 +1,58 @@
+/*-
+ * This code is derived from OpenBSD's libc/regex, original license follows:
+ *
+ * Copyright (c) 1992, 1993, 1994 Henry Spencer.
+ * Copyright (c) 1992, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Henry Spencer.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)utils.h 8.3 (Berkeley) 3/20/94
+ */
+
+#ifndef LLVM_SUPPORT_REGUTILS_H
+#define LLVM_SUPPORT_REGUTILS_H
+
+/* utility definitions */
+#define NC (CHAR_MAX - CHAR_MIN + 1)
+typedef unsigned char uch;
+
+/* switch off assertions (if not already off) if no REDEBUG */
+#ifndef REDEBUG
+#ifndef NDEBUG
+#define NDEBUG /* no assertions please */
+#endif
+#endif
+#include <assert.h>
+
+/* for old systems with bcopy() but no memmove() */
+#ifdef USEBCOPY
+#define memmove(d, s, c) bcopy(s, d, c)
+#endif
+
+#endif
diff --git a/third_party/pnacl-subzero b/third_party/pnacl-subzero
index 579b1b3..c78be4e 160000
--- a/third_party/pnacl-subzero
+++ b/third_party/pnacl-subzero
@@ -1 +1 @@
-Subproject commit 579b1b3a84da15d233c9ab4e3d3dc35cff4edf86
+Subproject commit c78be4ec9c4a1d34d0abed50de0de37a87b4accc