Files
phy/safe_arch/index.html
Orion Kindel 0ce894e6b0 doc
2025-03-18 10:30:23 -05:00

126 lines
84 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A crate that safely exposes arch intrinsics via `#[cfg()]`."><title>safe_arch - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-42caa33d.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="safe_arch" data-themes="" data-resource-suffix="" data-rustdoc-version="1.84.0 (9fc6b4312 2025-01-07)" data-channel="1.84.0" data-search-js="search-92e6798f.js" data-settings-js="settings-0f613d39.js" ><script src="../static.files/storage-59e33391.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-893ab5e7.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../safe_arch/index.html">safe_<wbr>arch</a><span class="version">0.7.2</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#naming-conventions" title="Naming Conventions">Naming Conventions</a></li><li><a href="#current-support" title="Current Support">Current Support</a></li><li><a href="#compile-time-cpu-target-features" title="Compile Time CPU Target Features">Compile Time CPU Target Features</a><ul><li><a href="#a-note-on-working-with-cfg" title="A Note On Working With Cfg">A Note On Working With Cfg</a></li></ul></li></ul><h3><a href="#modules">Crate Items</a></h3><ul class="block"><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#macros" title="Macros">Macros</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>safe_arch</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/safe_arch/lib.rs.html#1-333">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A crate that safely exposes arch intrinsics via <code>#[cfg()]</code>.</p>
<p><code>safe_arch</code> lets you safely use CPU intrinsics. Those things in the
<a href="https://doc.rust-lang.org/1.84.0/core/arch/index.html" title="mod core::arch"><code>core::arch</code></a> modules. It works purely via <code>#[cfg()]</code> and
compile time CPU feature declaration. If you want to check for a feature at
runtime and then call an intrinsic or use a fallback path based on that then
this crate is sadly not for you.</p>
<p>SIMD register types are “newtyped” so that better trait impls can be given
to them, but the inner value is a <code>pub</code> field so feel free to just grab it
out if you need to. Trait impls of the newtypes include: <code>Default</code> (zeroed),
<code>From</code>/<code>Into</code> of appropriate data types, and appropriate operator
overloading.</p>
<ul>
<li>Most intrinsics (like addition and multiplication) are totally safe to use
as long as the CPU feature is available. In this case, what you get is 1:1
with the actual intrinsic.</li>
<li>Some intrinsics take a pointer of an assumed minimum alignment and
validity span. For these, the <code>safe_arch</code> function takes a reference of an
appropriate type to uphold safety.
<ul>
<li>Try the <a href="https://docs.rs/bytemuck">bytemuck</a> crate (and turn on the
<code>bytemuck</code> feature of this crate) if you want help safely casting
between reference types.</li>
</ul>
</li>
<li>Some intrinsics are not safe unless youre <em>very</em> careful about how you
use them, such as the streaming operations requiring you to use them in
combination with an appropriate memory fence. Those operations arent
exposed here.</li>
<li>Some intrinsics mess with the processor state, such as changing the
floating point flags, saving and loading special register state, and so
on. LLVM doesnt really support you messing with that within a high level
language, so those operations arent exposed here. Use assembly or
something if you want to do that.</li>
</ul>
<h3 id="naming-conventions"><a class="doc-anchor" href="#naming-conventions">§</a>Naming Conventions</h3>
<p>The <code>safe_arch</code> crate does not simply use the “official” names for each
intrinsic, because the official names are generally poor. Instead, the
operations have been given better names that makes things hopefully easier
to understand then youre reading the code.</p>
<p>For a full explanation of the naming used, see the <a href="naming_conventions/index.html" title="mod safe_arch::naming_conventions">Naming
Conventions</a> page.</p>
<h3 id="current-support"><a class="doc-anchor" href="#current-support">§</a>Current Support</h3>
<ul>
<li><code>x86</code> / <code>x86_64</code> (Intel, AMD, etc)
<ul>
<li>128-bit: <code>sse</code>, <code>sse2</code>, <code>sse3</code>, <code>ssse3</code>, <code>sse4.1</code>, <code>sse4.2</code></li>
<li>256-bit: <code>avx</code>, <code>avx2</code></li>
<li>Other: <code>adx</code>, <code>aes</code>, <code>bmi1</code>, <code>bmi2</code>, <code>fma</code>, <code>lzcnt</code>, <code>pclmulqdq</code>,
<code>popcnt</code>, <code>rdrand</code>, <code>rdseed</code></li>
</ul>
</li>
</ul>
<h3 id="compile-time-cpu-target-features"><a class="doc-anchor" href="#compile-time-cpu-target-features">§</a>Compile Time CPU Target Features</h3>
<p>At the time of me writing this, Rust enables the <code>sse</code> and <code>sse2</code> CPU
features by default for all <code>i686</code> (x86) and <code>x86_64</code> builds. Those CPU
features are built into the design of <code>x86_64</code>, and youd need a <em>super</em> old
<code>x86</code> CPU for it to not support at least <code>sse</code> and <code>sse2</code>, so theyre a safe
bet for the language to enable all the time. In fact, because the standard
library is compiled with them enabled, simply trying to <em>disable</em> those
features would actually cause ABI issues and fill your program with UB
(<a href="https://doc.rust-lang.org/rustc/targets/known-issues.html">link</a>).</p>
<p>If you want additional CPU features available at compile time youll have to
enable them with an additional arg to <code>rustc</code>. For a feature named <code>name</code>
you pass <code>-C target-feature=+name</code>, such as <code>-C target-feature=+sse3</code> for
<code>sse3</code>.</p>
<p>You can alternately enable <em>all</em> target features of the current CPU with <code>-C target-cpu=native</code>. This is primarily of use if youre building a program
youll only run on your own system.</p>
<p>Its sometimes hard to know if your target platform will support a given
feature set, but the <a href="https://store.steampowered.com/hwsurvey/Steam-Hardware-Software-Survey-Welcome-to-Steam">Steam Hardware Survey</a> is generally
taken as a guide to what you can expect people to have available. If you
click “Other Settings” itll expand into a list of CPU target features and
how common they are. These days, it seems that <code>sse3</code> can be safely assumed,
and <code>ssse3</code>, <code>sse4.1</code>, and <code>sse4.2</code> are pretty safe bets as well. The stuff
above 128-bit isnt as common yet, give it another few years.</p>
<p><strong>Please note that executing a program on a CPU that doesnt support the
target features it was compiles for is Undefined Behavior.</strong></p>
<p>Currently, Rust doesnt actually support an easy way for you to check that a
feature enabled at compile time is <em>actually</em> available at runtime. There is
the “<a href="https://doc.rust-lang.org/std/index.html?search=feature_detected">feature_detected</a>” family of macros, but if you
enable a feature they will evaluate to a constant <code>true</code> instead of actually
deferring the check for the feature to runtime. This means that, if you
<em>did</em> want a check at the start of your program, to confirm that all the
assumed features are present and error out when the assumptions dont hold,
you cant use that macro. You gotta use CPUID and check manually. rip.
Hopefully we can make that process easier in a future version of this crate.</p>
<h4 id="a-note-on-working-with-cfg"><a class="doc-anchor" href="#a-note-on-working-with-cfg">§</a>A Note On Working With Cfg</h4>
<p>Theres two main ways to use <code>cfg</code>:</p>
<ul>
<li>Via an attribute placed on an item, block, or expression:
<ul>
<li><code>#[cfg(debug_assertions)] println!("hello");</code></li>
</ul>
</li>
<li>Via a macro used within an expression position:
<ul>
<li><code>if cfg!(debug_assertions) { println!("hello"); }</code></li>
</ul>
</li>
</ul>
<p>The difference might seem small but its actually very important:</p>
<ul>
<li>The attribute form will include code or not <em>before</em> deciding if all the
items named and so forth really exist or not. This means that code that is
configured via attribute can safely name things that dont always exist as
long as the things they name do exist whenever that code is configured
into the build.</li>
<li>The macro form will include the configured code <em>no matter what</em>, and then
the macro resolves to a constant <code>true</code> or <code>false</code> and the compiler uses
dead code elimination to cut out the path not taken.</li>
</ul>
<p>This crate uses <code>cfg</code> via the attribute, so the functions it exposes dont
exist at all when the appropriate CPU target features arent enabled.
Accordingly, if you plan to call this crate or not depending on what
features are enabled in the build youll also need to control your use of
this crate via cfg attribute, not cfg macro.</p>
</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="naming_conventions/index.html" title="mod safe_arch::naming_conventions">naming_<wbr>conventions</a></div><div class="desc docblock-short">An explanation of the crates naming conventions.</div></li></ul><h2 id="macros" class="section-header">Macros<a href="#macros" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="macro" href="macro.round_op.html" title="macro safe_arch::round_op">round_<wbr>op</a></div><div class="desc docblock-short">Turns a round operator token to the correct constant value.</div></li></ul><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.m128.html" title="struct safe_arch::m128">m128</a></div><div class="desc docblock-short">The data for a 128-bit SSE register of four <code>f32</code> lanes.</div></li><li><div class="item-name"><a class="struct" href="struct.m256.html" title="struct safe_arch::m256">m256</a></div><div class="desc docblock-short">The data for a 256-bit AVX register of eight <code>f32</code> lanes.</div></li><li><div class="item-name"><a class="struct" href="struct.m128d.html" title="struct safe_arch::m128d">m128d</a></div><div class="desc docblock-short">The data for a 128-bit SSE register of two <code>f64</code> values.</div></li><li><div class="item-name"><a class="struct" href="struct.m128i.html" title="struct safe_arch::m128i">m128i</a></div><div class="desc docblock-short">The data for a 128-bit SSE register of integer data.</div></li><li><div class="item-name"><a class="struct" href="struct.m256d.html" title="struct safe_arch::m256d">m256d</a></div><div class="desc docblock-short">The data for a 256-bit AVX register of four <code>f64</code> values.</div></li><li><div class="item-name"><a class="struct" href="struct.m256i.html" title="struct safe_arch::m256i">m256i</a></div><div class="desc docblock-short">The data for a 256-bit AVX register of integer data.</div></li></ul><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.add_i8_m128i.html" title="fn safe_arch::add_i8_m128i">add_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a + b</code> with lanes as <code>i8</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.add_i16_m128i.html" title="fn safe_arch::add_i16_m128i">add_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a + b</code> with lanes as <code>i16</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.add_i32_m128i.html" title="fn safe_arch::add_i32_m128i">add_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a + b</code> with lanes as <code>i32</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.add_i64_m128i.html" title="fn safe_arch::add_i64_m128i">add_<wbr>i64_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a + b</code> with lanes as <code>i64</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.add_m128.html" title="fn safe_arch::add_m128">add_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>a + b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.add_m128_s.html" title="fn safe_arch::add_m128_s">add_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a + b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.add_m128d.html" title="fn safe_arch::add_m128d">add_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>a + b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.add_m128d_s.html" title="fn safe_arch::add_m128d_s">add_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Lowest lane <code>a + b</code>, high lane unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.add_saturating_i8_m128i.html" title="fn safe_arch::add_saturating_i8_m128i">add_<wbr>saturating_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise saturating <code>a + b</code> with lanes as <code>i8</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.add_saturating_i16_m128i.html" title="fn safe_arch::add_saturating_i16_m128i">add_<wbr>saturating_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise saturating <code>a + b</code> with lanes as <code>i16</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.add_saturating_u8_m128i.html" title="fn safe_arch::add_saturating_u8_m128i">add_<wbr>saturating_<wbr>u8_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise saturating <code>a + b</code> with lanes as <code>u8</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.add_saturating_u16_m128i.html" title="fn safe_arch::add_saturating_u16_m128i">add_<wbr>saturating_<wbr>u16_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise saturating <code>a + b</code> with lanes as <code>u16</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.average_u8_m128i.html" title="fn safe_arch::average_u8_m128i">average_<wbr>u8_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise average of the <code>u8</code> values.</div></li><li><div class="item-name"><a class="fn" href="fn.average_u16_m128i.html" title="fn safe_arch::average_u16_m128i">average_<wbr>u16_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise average of the <code>u16</code> values.</div></li><li><div class="item-name"><a class="fn" href="fn.bitand_m128.html" title="fn safe_arch::bitand_m128">bitand_<wbr>m128</a></div><div class="desc docblock-short">Bitwise <code>a &amp; b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.bitand_m128d.html" title="fn safe_arch::bitand_m128d">bitand_<wbr>m128d</a></div><div class="desc docblock-short">Bitwise <code>a &amp; b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.bitand_m128i.html" title="fn safe_arch::bitand_m128i">bitand_<wbr>m128i</a></div><div class="desc docblock-short">Bitwise <code>a &amp; b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.bitandnot_m128.html" title="fn safe_arch::bitandnot_m128">bitandnot_<wbr>m128</a></div><div class="desc docblock-short">Bitwise <code>(!a) &amp; b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.bitandnot_m128d.html" title="fn safe_arch::bitandnot_m128d">bitandnot_<wbr>m128d</a></div><div class="desc docblock-short">Bitwise <code>(!a) &amp; b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.bitandnot_m128i.html" title="fn safe_arch::bitandnot_m128i">bitandnot_<wbr>m128i</a></div><div class="desc docblock-short">Bitwise <code>(!a) &amp; b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.bitor_m128.html" title="fn safe_arch::bitor_m128">bitor_<wbr>m128</a></div><div class="desc docblock-short">Bitwise <code>a | b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.bitor_m128d.html" title="fn safe_arch::bitor_m128d">bitor_<wbr>m128d</a></div><div class="desc docblock-short">Bitwise <code>a | b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.bitor_m128i.html" title="fn safe_arch::bitor_m128i">bitor_<wbr>m128i</a></div><div class="desc docblock-short">Bitwise <code>a | b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.bitxor_m128.html" title="fn safe_arch::bitxor_m128">bitxor_<wbr>m128</a></div><div class="desc docblock-short">Bitwise <code>a ^ b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.bitxor_m128d.html" title="fn safe_arch::bitxor_m128d">bitxor_<wbr>m128d</a></div><div class="desc docblock-short">Bitwise <code>a ^ b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.bitxor_m128i.html" title="fn safe_arch::bitxor_m128i">bitxor_<wbr>m128i</a></div><div class="desc docblock-short">Bitwise <code>a ^ b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.byte_shl_imm_u128_m128i.html" title="fn safe_arch::byte_shl_imm_u128_m128i">byte_<wbr>shl_<wbr>imm_<wbr>u128_<wbr>m128i</a></div><div class="desc docblock-short">Shifts all bits in the entire register left by a number of <strong>bytes</strong>.</div></li><li><div class="item-name"><a class="fn" href="fn.byte_shr_imm_u128_m128i.html" title="fn safe_arch::byte_shr_imm_u128_m128i">byte_<wbr>shr_<wbr>imm_<wbr>u128_<wbr>m128i</a></div><div class="desc docblock-short">Shifts all bits in the entire register right by a number of <strong>bytes</strong>.</div></li><li><div class="item-name"><a class="fn" href="fn.byte_swap_i32.html" title="fn safe_arch::byte_swap_i32">byte_<wbr>swap_<wbr>i32</a></div><div class="desc docblock-short">Swap the bytes of the given 32-bit value.</div></li><li><div class="item-name"><a class="fn" href="fn.byte_swap_i64.html" title="fn safe_arch::byte_swap_i64">byte_<wbr>swap_<wbr>i64</a></div><div class="desc docblock-short">Swap the bytes of the given 64-bit value.</div></li><li><div class="item-name"><a class="fn" href="fn.cast_to_m128_from_m128d.html" title="fn safe_arch::cast_to_m128_from_m128d">cast_<wbr>to_<wbr>m128_<wbr>from_<wbr>m128d</a></div><div class="desc docblock-short">Bit-preserving cast to <code>m128</code> from <code>m128d</code></div></li><li><div class="item-name"><a class="fn" href="fn.cast_to_m128_from_m128i.html" title="fn safe_arch::cast_to_m128_from_m128i">cast_<wbr>to_<wbr>m128_<wbr>from_<wbr>m128i</a></div><div class="desc docblock-short">Bit-preserving cast to <code>m128</code> from <code>m128i</code></div></li><li><div class="item-name"><a class="fn" href="fn.cast_to_m128d_from_m128.html" title="fn safe_arch::cast_to_m128d_from_m128">cast_<wbr>to_<wbr>m128d_<wbr>from_<wbr>m128</a></div><div class="desc docblock-short">Bit-preserving cast to <code>m128d</code> from <code>m128</code></div></li><li><div class="item-name"><a class="fn" href="fn.cast_to_m128d_from_m128i.html" title="fn safe_arch::cast_to_m128d_from_m128i">cast_<wbr>to_<wbr>m128d_<wbr>from_<wbr>m128i</a></div><div class="desc docblock-short">Bit-preserving cast to <code>m128d</code> from <code>m128i</code></div></li><li><div class="item-name"><a class="fn" href="fn.cast_to_m128i_from_m128.html" title="fn safe_arch::cast_to_m128i_from_m128">cast_<wbr>to_<wbr>m128i_<wbr>from_<wbr>m128</a></div><div class="desc docblock-short">Bit-preserving cast to <code>m128i</code> from <code>m128</code></div></li><li><div class="item-name"><a class="fn" href="fn.cast_to_m128i_from_m128d.html" title="fn safe_arch::cast_to_m128i_from_m128d">cast_<wbr>to_<wbr>m128i_<wbr>from_<wbr>m128d</a></div><div class="desc docblock-short">Bit-preserving cast to <code>m128i</code> from <code>m128d</code></div></li><li><div class="item-name"><a class="fn" href="fn.cmp_eq_i32_m128_s.html" title="fn safe_arch::cmp_eq_i32_m128_s">cmp_<wbr>eq_<wbr>i32_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane equality.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_eq_i32_m128d_s.html" title="fn safe_arch::cmp_eq_i32_m128d_s">cmp_<wbr>eq_<wbr>i32_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>f64</code> equal to.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_eq_mask_i8_m128i.html" title="fn safe_arch::cmp_eq_mask_i8_m128i">cmp_<wbr>eq_<wbr>mask_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a == b</code> with lanes as <code>i8</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_eq_mask_i16_m128i.html" title="fn safe_arch::cmp_eq_mask_i16_m128i">cmp_<wbr>eq_<wbr>mask_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a == b</code> with lanes as <code>i16</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_eq_mask_i32_m128i.html" title="fn safe_arch::cmp_eq_mask_i32_m128i">cmp_<wbr>eq_<wbr>mask_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a == b</code> with lanes as <code>i32</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_eq_mask_m128.html" title="fn safe_arch::cmp_eq_mask_m128">cmp_<wbr>eq_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>a == b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_eq_mask_m128_s.html" title="fn safe_arch::cmp_eq_mask_m128_s">cmp_<wbr>eq_<wbr>mask_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a == b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_eq_mask_m128d.html" title="fn safe_arch::cmp_eq_mask_m128d">cmp_<wbr>eq_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>a == b</code>, mask output.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_eq_mask_m128d_s.html" title="fn safe_arch::cmp_eq_mask_m128d_s">cmp_<wbr>eq_<wbr>mask_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a == b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ge_i32_m128_s.html" title="fn safe_arch::cmp_ge_i32_m128_s">cmp_<wbr>ge_<wbr>i32_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane greater than or equal to.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ge_i32_m128d_s.html" title="fn safe_arch::cmp_ge_i32_m128d_s">cmp_<wbr>ge_<wbr>i32_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>f64</code> greater than or equal to.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ge_mask_m128.html" title="fn safe_arch::cmp_ge_mask_m128">cmp_<wbr>ge_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>a &gt;= b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ge_mask_m128_s.html" title="fn safe_arch::cmp_ge_mask_m128_s">cmp_<wbr>ge_<wbr>mask_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a &gt;= b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ge_mask_m128d.html" title="fn safe_arch::cmp_ge_mask_m128d">cmp_<wbr>ge_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>a &gt;= b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ge_mask_m128d_s.html" title="fn safe_arch::cmp_ge_mask_m128d_s">cmp_<wbr>ge_<wbr>mask_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a &gt;= b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_gt_i32_m128_s.html" title="fn safe_arch::cmp_gt_i32_m128_s">cmp_<wbr>gt_<wbr>i32_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane greater than.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_gt_i32_m128d_s.html" title="fn safe_arch::cmp_gt_i32_m128d_s">cmp_<wbr>gt_<wbr>i32_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>f64</code> greater than.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_gt_mask_i8_m128i.html" title="fn safe_arch::cmp_gt_mask_i8_m128i">cmp_<wbr>gt_<wbr>mask_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a &gt; b</code> with lanes as <code>i8</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_gt_mask_i16_m128i.html" title="fn safe_arch::cmp_gt_mask_i16_m128i">cmp_<wbr>gt_<wbr>mask_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a &gt; b</code> with lanes as <code>i16</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_gt_mask_i32_m128i.html" title="fn safe_arch::cmp_gt_mask_i32_m128i">cmp_<wbr>gt_<wbr>mask_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a &gt; b</code> with lanes as <code>i32</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_gt_mask_m128.html" title="fn safe_arch::cmp_gt_mask_m128">cmp_<wbr>gt_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>a &gt; b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_gt_mask_m128_s.html" title="fn safe_arch::cmp_gt_mask_m128_s">cmp_<wbr>gt_<wbr>mask_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a &gt; b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_gt_mask_m128d.html" title="fn safe_arch::cmp_gt_mask_m128d">cmp_<wbr>gt_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>a &gt; b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_gt_mask_m128d_s.html" title="fn safe_arch::cmp_gt_mask_m128d_s">cmp_<wbr>gt_<wbr>mask_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a &gt; b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_le_i32_m128_s.html" title="fn safe_arch::cmp_le_i32_m128_s">cmp_<wbr>le_<wbr>i32_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane less than or equal to.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_le_i32_m128d_s.html" title="fn safe_arch::cmp_le_i32_m128d_s">cmp_<wbr>le_<wbr>i32_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>f64</code> less than or equal to.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_le_mask_m128.html" title="fn safe_arch::cmp_le_mask_m128">cmp_<wbr>le_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>a &lt;= b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_le_mask_m128_s.html" title="fn safe_arch::cmp_le_mask_m128_s">cmp_<wbr>le_<wbr>mask_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a &lt;= b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_le_mask_m128d.html" title="fn safe_arch::cmp_le_mask_m128d">cmp_<wbr>le_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>a &lt;= b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_le_mask_m128d_s.html" title="fn safe_arch::cmp_le_mask_m128d_s">cmp_<wbr>le_<wbr>mask_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a &lt;= b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_lt_i32_m128_s.html" title="fn safe_arch::cmp_lt_i32_m128_s">cmp_<wbr>lt_<wbr>i32_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane less than.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_lt_i32_m128d_s.html" title="fn safe_arch::cmp_lt_i32_m128d_s">cmp_<wbr>lt_<wbr>i32_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>f64</code> less than.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_lt_mask_i8_m128i.html" title="fn safe_arch::cmp_lt_mask_i8_m128i">cmp_<wbr>lt_<wbr>mask_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a &lt; b</code> with lanes as <code>i8</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_lt_mask_i16_m128i.html" title="fn safe_arch::cmp_lt_mask_i16_m128i">cmp_<wbr>lt_<wbr>mask_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a &lt; b</code> with lanes as <code>i16</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_lt_mask_i32_m128i.html" title="fn safe_arch::cmp_lt_mask_i32_m128i">cmp_<wbr>lt_<wbr>mask_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a &lt; b</code> with lanes as <code>i32</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_lt_mask_m128.html" title="fn safe_arch::cmp_lt_mask_m128">cmp_<wbr>lt_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>a &lt; b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_lt_mask_m128_s.html" title="fn safe_arch::cmp_lt_mask_m128_s">cmp_<wbr>lt_<wbr>mask_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a &lt; b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_lt_mask_m128d.html" title="fn safe_arch::cmp_lt_mask_m128d">cmp_<wbr>lt_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>a &lt; b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_lt_mask_m128d_s.html" title="fn safe_arch::cmp_lt_mask_m128d_s">cmp_<wbr>lt_<wbr>mask_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a &lt; b</code>, other lane unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_neq_i32_m128_s.html" title="fn safe_arch::cmp_neq_i32_m128_s">cmp_<wbr>neq_<wbr>i32_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane not equal to.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_neq_i32_m128d_s.html" title="fn safe_arch::cmp_neq_i32_m128d_s">cmp_<wbr>neq_<wbr>i32_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>f64</code> less than.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_neq_mask_m128.html" title="fn safe_arch::cmp_neq_mask_m128">cmp_<wbr>neq_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>a != b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_neq_mask_m128_s.html" title="fn safe_arch::cmp_neq_mask_m128_s">cmp_<wbr>neq_<wbr>mask_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a != b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_neq_mask_m128d.html" title="fn safe_arch::cmp_neq_mask_m128d">cmp_<wbr>neq_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>a != b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_neq_mask_m128d_s.html" title="fn safe_arch::cmp_neq_mask_m128d_s">cmp_<wbr>neq_<wbr>mask_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a != b</code>, other lane unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_nge_mask_m128.html" title="fn safe_arch::cmp_nge_mask_m128">cmp_<wbr>nge_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>!(a &gt;= b)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_nge_mask_m128_s.html" title="fn safe_arch::cmp_nge_mask_m128_s">cmp_<wbr>nge_<wbr>mask_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>!(a &gt;= b)</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_nge_mask_m128d.html" title="fn safe_arch::cmp_nge_mask_m128d">cmp_<wbr>nge_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>!(a &gt;= b)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_nge_mask_m128d_s.html" title="fn safe_arch::cmp_nge_mask_m128d_s">cmp_<wbr>nge_<wbr>mask_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>!(a &gt;= b)</code>, other lane unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ngt_mask_m128.html" title="fn safe_arch::cmp_ngt_mask_m128">cmp_<wbr>ngt_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>!(a &gt; b)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ngt_mask_m128_s.html" title="fn safe_arch::cmp_ngt_mask_m128_s">cmp_<wbr>ngt_<wbr>mask_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>!(a &gt; b)</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ngt_mask_m128d.html" title="fn safe_arch::cmp_ngt_mask_m128d">cmp_<wbr>ngt_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>!(a &gt; b)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ngt_mask_m128d_s.html" title="fn safe_arch::cmp_ngt_mask_m128d_s">cmp_<wbr>ngt_<wbr>mask_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>!(a &gt; b)</code>, other lane unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_nle_mask_m128.html" title="fn safe_arch::cmp_nle_mask_m128">cmp_<wbr>nle_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>!(a &lt;= b)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_nle_mask_m128_s.html" title="fn safe_arch::cmp_nle_mask_m128_s">cmp_<wbr>nle_<wbr>mask_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>!(a &lt;= b)</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_nle_mask_m128d.html" title="fn safe_arch::cmp_nle_mask_m128d">cmp_<wbr>nle_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>!(a &lt;= b)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_nle_mask_m128d_s.html" title="fn safe_arch::cmp_nle_mask_m128d_s">cmp_<wbr>nle_<wbr>mask_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>!(a &lt;= b)</code>, other lane unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_nlt_mask_m128.html" title="fn safe_arch::cmp_nlt_mask_m128">cmp_<wbr>nlt_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>!(a &lt; b)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_nlt_mask_m128_s.html" title="fn safe_arch::cmp_nlt_mask_m128_s">cmp_<wbr>nlt_<wbr>mask_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>!(a &lt; b)</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_nlt_mask_m128d.html" title="fn safe_arch::cmp_nlt_mask_m128d">cmp_<wbr>nlt_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>!(a &lt; b)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_nlt_mask_m128d_s.html" title="fn safe_arch::cmp_nlt_mask_m128d_s">cmp_<wbr>nlt_<wbr>mask_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>!(a &lt; b)</code>, other lane unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ordered_mask_m128.html" title="fn safe_arch::cmp_ordered_mask_m128">cmp_<wbr>ordered_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>(!a.is_nan()) &amp; (!b.is_nan())</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ordered_mask_m128_s.html" title="fn safe_arch::cmp_ordered_mask_m128_s">cmp_<wbr>ordered_<wbr>mask_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>(!a.is_nan()) &amp; (!b.is_nan())</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ordered_mask_m128d.html" title="fn safe_arch::cmp_ordered_mask_m128d">cmp_<wbr>ordered_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>(!a.is_nan()) &amp; (!b.is_nan())</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_ordered_mask_m128d_s.html" title="fn safe_arch::cmp_ordered_mask_m128d_s">cmp_<wbr>ordered_<wbr>mask_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>(!a.is_nan()) &amp; (!b.is_nan())</code>, other lane unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_unord_mask_m128.html" title="fn safe_arch::cmp_unord_mask_m128">cmp_<wbr>unord_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>a.is_nan() | b.is_nan()</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_unord_mask_m128_s.html" title="fn safe_arch::cmp_unord_mask_m128_s">cmp_<wbr>unord_<wbr>mask_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a.is_nan() | b.is_nan()</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_unord_mask_m128d.html" title="fn safe_arch::cmp_unord_mask_m128d">cmp_<wbr>unord_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>a.is_nan() | b.is_nan()</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.cmp_unord_mask_m128d_s.html" title="fn safe_arch::cmp_unord_mask_m128d_s">cmp_<wbr>unord_<wbr>mask_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a.is_nan() | b.is_nan()</code>, other lane unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.convert_i32_replace_m128_s.html" title="fn safe_arch::convert_i32_replace_m128_s">convert_<wbr>i32_<wbr>replace_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Convert <code>i32</code> to <code>f32</code> and replace the low lane of the input.</div></li><li><div class="item-name"><a class="fn" href="fn.convert_i32_replace_m128d_s.html" title="fn safe_arch::convert_i32_replace_m128d_s">convert_<wbr>i32_<wbr>replace_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Convert <code>i32</code> to <code>f64</code> and replace the low lane of the input.</div></li><li><div class="item-name"><a class="fn" href="fn.convert_i64_replace_m128d_s.html" title="fn safe_arch::convert_i64_replace_m128d_s">convert_<wbr>i64_<wbr>replace_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Convert <code>i64</code> to <code>f64</code> and replace the low lane of the input.</div></li><li><div class="item-name"><a class="fn" href="fn.convert_m128_s_replace_m128d_s.html" title="fn safe_arch::convert_m128_s_replace_m128d_s">convert_<wbr>m128_<wbr>s_<wbr>replace_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Converts the lower <code>f32</code> to <code>f64</code> and replace the low lane of the input</div></li><li><div class="item-name"><a class="fn" href="fn.convert_m128d_s_replace_m128_s.html" title="fn safe_arch::convert_m128d_s_replace_m128_s">convert_<wbr>m128d_<wbr>s_<wbr>replace_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Converts the low <code>f64</code> to <code>f32</code> and replaces the low lane of the input.</div></li><li><div class="item-name"><a class="fn" href="fn.convert_to_i32_m128i_from_m128.html" title="fn safe_arch::convert_to_i32_m128i_from_m128">convert_<wbr>to_<wbr>i32_<wbr>m128i_<wbr>from_<wbr>m128</a></div><div class="desc docblock-short">Rounds the <code>f32</code> lanes to <code>i32</code> lanes.</div></li><li><div class="item-name"><a class="fn" href="fn.convert_to_i32_m128i_from_m128d.html" title="fn safe_arch::convert_to_i32_m128i_from_m128d">convert_<wbr>to_<wbr>i32_<wbr>m128i_<wbr>from_<wbr>m128d</a></div><div class="desc docblock-short">Rounds the two <code>f64</code> lanes to the low two <code>i32</code> lanes.</div></li><li><div class="item-name"><a class="fn" href="fn.convert_to_m128_from_i32_m128i.html" title="fn safe_arch::convert_to_m128_from_i32_m128i">convert_<wbr>to_<wbr>m128_<wbr>from_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Rounds the four <code>i32</code> lanes to four <code>f32</code> lanes.</div></li><li><div class="item-name"><a class="fn" href="fn.convert_to_m128_from_m128d.html" title="fn safe_arch::convert_to_m128_from_m128d">convert_<wbr>to_<wbr>m128_<wbr>from_<wbr>m128d</a></div><div class="desc docblock-short">Rounds the two <code>f64</code> lanes to the low two <code>f32</code> lanes.</div></li><li><div class="item-name"><a class="fn" href="fn.convert_to_m128d_from_lower2_i32_m128i.html" title="fn safe_arch::convert_to_m128d_from_lower2_i32_m128i">convert_<wbr>to_<wbr>m128d_<wbr>from_<wbr>lower2_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Rounds the lower two <code>i32</code> lanes to two <code>f64</code> lanes.</div></li><li><div class="item-name"><a class="fn" href="fn.convert_to_m128d_from_lower2_m128.html" title="fn safe_arch::convert_to_m128d_from_lower2_m128">convert_<wbr>to_<wbr>m128d_<wbr>from_<wbr>lower2_<wbr>m128</a></div><div class="desc docblock-short">Rounds the two <code>f64</code> lanes to the low two <code>f32</code> lanes.</div></li><li><div class="item-name"><a class="fn" href="fn.copy_i64_m128i_s.html" title="fn safe_arch::copy_i64_m128i_s">copy_<wbr>i64_<wbr>m128i_<wbr>s</a></div><div class="desc docblock-short">Copy the low <code>i64</code> lane to a new register, upper bits 0.</div></li><li><div class="item-name"><a class="fn" href="fn.copy_replace_low_f64_m128d.html" title="fn safe_arch::copy_replace_low_f64_m128d">copy_<wbr>replace_<wbr>low_<wbr>f64_<wbr>m128d</a></div><div class="desc docblock-short">Copies the <code>a</code> value and replaces the low lane with the low <code>b</code> value.</div></li><li><div class="item-name"><a class="fn" href="fn.div_m128.html" title="fn safe_arch::div_m128">div_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>a / b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.div_m128_s.html" title="fn safe_arch::div_m128_s">div_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a / b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.div_m128d.html" title="fn safe_arch::div_m128d">div_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>a / b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.div_m128d_s.html" title="fn safe_arch::div_m128d_s">div_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Lowest lane <code>a / b</code>, high lane unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.extract_i16_as_i32_m128i.html" title="fn safe_arch::extract_i16_as_i32_m128i">extract_<wbr>i16_<wbr>as_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Gets an <code>i16</code> value out of an <code>m128i</code>, returns as <code>i32</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.get_f32_from_m128_s.html" title="fn safe_arch::get_f32_from_m128_s">get_<wbr>f32_<wbr>from_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Gets the low lane as an individual <code>f32</code> value.</div></li><li><div class="item-name"><a class="fn" href="fn.get_f64_from_m128d_s.html" title="fn safe_arch::get_f64_from_m128d_s">get_<wbr>f64_<wbr>from_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Gets the lower lane as an <code>f64</code> value.</div></li><li><div class="item-name"><a class="fn" href="fn.get_i32_from_m128_s.html" title="fn safe_arch::get_i32_from_m128_s">get_<wbr>i32_<wbr>from_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Converts the low lane to <code>i32</code> and extracts as an individual value.</div></li><li><div class="item-name"><a class="fn" href="fn.get_i32_from_m128d_s.html" title="fn safe_arch::get_i32_from_m128d_s">get_<wbr>i32_<wbr>from_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Converts the lower lane to an <code>i32</code> value.</div></li><li><div class="item-name"><a class="fn" href="fn.get_i32_from_m128i_s.html" title="fn safe_arch::get_i32_from_m128i_s">get_<wbr>i32_<wbr>from_<wbr>m128i_<wbr>s</a></div><div class="desc docblock-short">Converts the lower lane to an <code>i32</code> value.</div></li><li><div class="item-name"><a class="fn" href="fn.get_i64_from_m128d_s.html" title="fn safe_arch::get_i64_from_m128d_s">get_<wbr>i64_<wbr>from_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Converts the lower lane to an <code>i64</code> value.</div></li><li><div class="item-name"><a class="fn" href="fn.get_i64_from_m128i_s.html" title="fn safe_arch::get_i64_from_m128i_s">get_<wbr>i64_<wbr>from_<wbr>m128i_<wbr>s</a></div><div class="desc docblock-short">Converts the lower lane to an <code>i64</code> value.</div></li><li><div class="item-name"><a class="fn" href="fn.insert_i16_from_i32_m128i.html" title="fn safe_arch::insert_i16_from_i32_m128i">insert_<wbr>i16_<wbr>from_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Inserts the low 16 bits of an <code>i32</code> value into an <code>m128i</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.load_f32_m128_s.html" title="fn safe_arch::load_f32_m128_s">load_<wbr>f32_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Loads the <code>f32</code> reference into the low lane of the register.</div></li><li><div class="item-name"><a class="fn" href="fn.load_f32_splat_m128.html" title="fn safe_arch::load_f32_splat_m128">load_<wbr>f32_<wbr>splat_<wbr>m128</a></div><div class="desc docblock-short">Loads the <code>f32</code> reference into all lanes of a register.</div></li><li><div class="item-name"><a class="fn" href="fn.load_f64_m128d_s.html" title="fn safe_arch::load_f64_m128d_s">load_<wbr>f64_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Loads the reference into the low lane of the register.</div></li><li><div class="item-name"><a class="fn" href="fn.load_f64_splat_m128d.html" title="fn safe_arch::load_f64_splat_m128d">load_<wbr>f64_<wbr>splat_<wbr>m128d</a></div><div class="desc docblock-short">Loads the <code>f64</code> reference into all lanes of a register.</div></li><li><div class="item-name"><a class="fn" href="fn.load_i64_m128i_s.html" title="fn safe_arch::load_i64_m128i_s">load_<wbr>i64_<wbr>m128i_<wbr>s</a></div><div class="desc docblock-short">Loads the low <code>i64</code> into a register.</div></li><li><div class="item-name"><a class="fn" href="fn.load_m128.html" title="fn safe_arch::load_m128">load_<wbr>m128</a></div><div class="desc docblock-short">Loads the reference into a register.</div></li><li><div class="item-name"><a class="fn" href="fn.load_m128d.html" title="fn safe_arch::load_m128d">load_<wbr>m128d</a></div><div class="desc docblock-short">Loads the reference into a register.</div></li><li><div class="item-name"><a class="fn" href="fn.load_m128i.html" title="fn safe_arch::load_m128i">load_<wbr>m128i</a></div><div class="desc docblock-short">Loads the reference into a register.</div></li><li><div class="item-name"><a class="fn" href="fn.load_replace_high_m128d.html" title="fn safe_arch::load_replace_high_m128d">load_<wbr>replace_<wbr>high_<wbr>m128d</a></div><div class="desc docblock-short">Loads the reference into a register, replacing the high lane.</div></li><li><div class="item-name"><a class="fn" href="fn.load_replace_low_m128d.html" title="fn safe_arch::load_replace_low_m128d">load_<wbr>replace_<wbr>low_<wbr>m128d</a></div><div class="desc docblock-short">Loads the reference into a register, replacing the low lane.</div></li><li><div class="item-name"><a class="fn" href="fn.load_reverse_m128.html" title="fn safe_arch::load_reverse_m128">load_<wbr>reverse_<wbr>m128</a></div><div class="desc docblock-short">Loads the reference into a register with reversed order.</div></li><li><div class="item-name"><a class="fn" href="fn.load_reverse_m128d.html" title="fn safe_arch::load_reverse_m128d">load_<wbr>reverse_<wbr>m128d</a></div><div class="desc docblock-short">Loads the reference into a register with reversed order.</div></li><li><div class="item-name"><a class="fn" href="fn.load_unaligned_m128.html" title="fn safe_arch::load_unaligned_m128">load_<wbr>unaligned_<wbr>m128</a></div><div class="desc docblock-short">Loads the reference into a register.</div></li><li><div class="item-name"><a class="fn" href="fn.load_unaligned_m128d.html" title="fn safe_arch::load_unaligned_m128d">load_<wbr>unaligned_<wbr>m128d</a></div><div class="desc docblock-short">Loads the reference into a register.</div></li><li><div class="item-name"><a class="fn" href="fn.load_unaligned_m128i.html" title="fn safe_arch::load_unaligned_m128i">load_<wbr>unaligned_<wbr>m128i</a></div><div class="desc docblock-short">Loads the reference into a register.</div></li><li><div class="item-name"><a class="fn" href="fn.max_i16_m128i.html" title="fn safe_arch::max_i16_m128i">max_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>max(a, b)</code> with lanes as <code>i16</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.max_m128.html" title="fn safe_arch::max_m128">max_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>max(a, b)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.max_m128_s.html" title="fn safe_arch::max_m128_s">max_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>max(a, b)</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.max_m128d.html" title="fn safe_arch::max_m128d">max_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>max(a, b)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.max_m128d_s.html" title="fn safe_arch::max_m128d_s">max_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>max(a, b)</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.max_u8_m128i.html" title="fn safe_arch::max_u8_m128i">max_<wbr>u8_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>max(a, b)</code> with lanes as <code>u8</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.min_i16_m128i.html" title="fn safe_arch::min_i16_m128i">min_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>min(a, b)</code> with lanes as <code>i16</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.min_m128.html" title="fn safe_arch::min_m128">min_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>min(a, b)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.min_m128_s.html" title="fn safe_arch::min_m128_s">min_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>min(a, b)</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.min_m128d.html" title="fn safe_arch::min_m128d">min_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>min(a, b)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.min_m128d_s.html" title="fn safe_arch::min_m128d_s">min_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>min(a, b)</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.min_u8_m128i.html" title="fn safe_arch::min_u8_m128i">min_<wbr>u8_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>min(a, b)</code> with lanes as <code>u8</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.move_high_low_m128.html" title="fn safe_arch::move_high_low_m128">move_<wbr>high_<wbr>low_<wbr>m128</a></div><div class="desc docblock-short">Move the high lanes of <code>b</code> to the low lanes of <code>a</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.move_low_high_m128.html" title="fn safe_arch::move_low_high_m128">move_<wbr>low_<wbr>high_<wbr>m128</a></div><div class="desc docblock-short">Move the low lanes of <code>b</code> to the high lanes of <code>a</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.move_m128_s.html" title="fn safe_arch::move_m128_s">move_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Move the low lane of <code>b</code> to <code>a</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.move_mask_i8_m128i.html" title="fn safe_arch::move_mask_i8_m128i">move_<wbr>mask_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Gathers the <code>i8</code> sign bit of each lane.</div></li><li><div class="item-name"><a class="fn" href="fn.move_mask_m128.html" title="fn safe_arch::move_mask_m128">move_<wbr>mask_<wbr>m128</a></div><div class="desc docblock-short">Gathers the sign bit of each lane.</div></li><li><div class="item-name"><a class="fn" href="fn.move_mask_m128d.html" title="fn safe_arch::move_mask_m128d">move_<wbr>mask_<wbr>m128d</a></div><div class="desc docblock-short">Gathers the sign bit of each lane.</div></li><li><div class="item-name"><a class="fn" href="fn.mul_i16_horizontal_add_m128i.html" title="fn safe_arch::mul_i16_horizontal_add_m128i">mul_<wbr>i16_<wbr>horizontal_<wbr>add_<wbr>m128i</a></div><div class="desc docblock-short">Multiply <code>i16</code> lanes producing <code>i32</code> values, horizontal add pairs of <code>i32</code>
values to produce the final output.</div></li><li><div class="item-name"><a class="fn" href="fn.mul_i16_keep_high_m128i.html" title="fn safe_arch::mul_i16_keep_high_m128i">mul_<wbr>i16_<wbr>keep_<wbr>high_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a * b</code> with lanes as <code>i16</code>, keep the high bits of the <code>i32</code>
intermediates.</div></li><li><div class="item-name"><a class="fn" href="fn.mul_i16_keep_low_m128i.html" title="fn safe_arch::mul_i16_keep_low_m128i">mul_<wbr>i16_<wbr>keep_<wbr>low_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a * b</code> with lanes as <code>i16</code>, keep the low bits of the <code>i32</code>
intermediates.</div></li><li><div class="item-name"><a class="fn" href="fn.mul_m128.html" title="fn safe_arch::mul_m128">mul_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>a * b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.mul_m128_s.html" title="fn safe_arch::mul_m128_s">mul_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a * b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.mul_m128d.html" title="fn safe_arch::mul_m128d">mul_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>a * b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.mul_m128d_s.html" title="fn safe_arch::mul_m128d_s">mul_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Lowest lane <code>a * b</code>, high lane unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.mul_u16_keep_high_m128i.html" title="fn safe_arch::mul_u16_keep_high_m128i">mul_<wbr>u16_<wbr>keep_<wbr>high_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a * b</code> with lanes as <code>u16</code>, keep the high bits of the <code>u32</code>
intermediates.</div></li><li><div class="item-name"><a class="fn" href="fn.mul_widen_u32_odd_m128i.html" title="fn safe_arch::mul_widen_u32_odd_m128i">mul_<wbr>widen_<wbr>u32_<wbr>odd_<wbr>m128i</a></div><div class="desc docblock-short">Multiplies the odd <code>u32</code> lanes and gives the widened (<code>u64</code>) results.</div></li><li><div class="item-name"><a class="fn" href="fn.pack_i16_to_i8_m128i.html" title="fn safe_arch::pack_i16_to_i8_m128i">pack_<wbr>i16_<wbr>to_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Saturating convert <code>i16</code> to <code>i8</code>, and pack the values.</div></li><li><div class="item-name"><a class="fn" href="fn.pack_i16_to_u8_m128i.html" title="fn safe_arch::pack_i16_to_u8_m128i">pack_<wbr>i16_<wbr>to_<wbr>u8_<wbr>m128i</a></div><div class="desc docblock-short">Saturating convert <code>i16</code> to <code>u8</code>, and pack the values.</div></li><li><div class="item-name"><a class="fn" href="fn.pack_i32_to_i16_m128i.html" title="fn safe_arch::pack_i32_to_i16_m128i">pack_<wbr>i32_<wbr>to_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Saturating convert <code>i32</code> to <code>i16</code>, and pack the values.</div></li><li><div class="item-name"><a class="fn" href="fn.prefetch_et0.html" title="fn safe_arch::prefetch_et0">prefetch_<wbr>et0</a></div><div class="desc docblock-short">Fetches the cache line containing <code>addr</code> into all levels of the cache hierarchy, anticipating write</div></li><li><div class="item-name"><a class="fn" href="fn.prefetch_et1.html" title="fn safe_arch::prefetch_et1">prefetch_<wbr>et1</a></div><div class="desc docblock-short">Fetches into L2 and higher, anticipating write</div></li><li><div class="item-name"><a class="fn" href="fn.prefetch_nta.html" title="fn safe_arch::prefetch_nta">prefetch_<wbr>nta</a></div><div class="desc docblock-short">Fetch data using the
non-temporal access (NTA) hint. It may be a place closer than main memory
but outside of the cache hierarchy. This is used to reduce access latency
without polluting the cache.</div></li><li><div class="item-name"><a class="fn" href="fn.prefetch_t0.html" title="fn safe_arch::prefetch_t0">prefetch_<wbr>t0</a></div><div class="desc docblock-short">Fetches the cache line containing <code>addr</code> into all levels of the cache hierarchy.</div></li><li><div class="item-name"><a class="fn" href="fn.prefetch_t1.html" title="fn safe_arch::prefetch_t1">prefetch_<wbr>t1</a></div><div class="desc docblock-short">Fetches into L2 and higher.</div></li><li><div class="item-name"><a class="fn" href="fn.prefetch_t2.html" title="fn safe_arch::prefetch_t2">prefetch_<wbr>t2</a></div><div class="desc docblock-short">Fetches into L3 and higher or an implementation-specific choice (e.g., L2 if there is no L3).</div></li><li><div class="item-name"><a class="fn" href="fn.read_timestamp_counter.html" title="fn safe_arch::read_timestamp_counter">read_<wbr>timestamp_<wbr>counter</a></div><div class="desc docblock-short">Reads the CPUs timestamp counter value.</div></li><li><div class="item-name"><a class="fn" href="fn.read_timestamp_counter_p.html" title="fn safe_arch::read_timestamp_counter_p">read_<wbr>timestamp_<wbr>counter_<wbr>p</a></div><div class="desc docblock-short">Reads the CPUs timestamp counter value and store the processor signature.</div></li><li><div class="item-name"><a class="fn" href="fn.reciprocal_m128.html" title="fn safe_arch::reciprocal_m128">reciprocal_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>1.0 / a</code> approximation.</div></li><li><div class="item-name"><a class="fn" href="fn.reciprocal_m128_s.html" title="fn safe_arch::reciprocal_m128_s">reciprocal_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>1.0 / a</code> approximation, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.reciprocal_sqrt_m128.html" title="fn safe_arch::reciprocal_sqrt_m128">reciprocal_<wbr>sqrt_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>1.0 / sqrt(a)</code> approximation.</div></li><li><div class="item-name"><a class="fn" href="fn.reciprocal_sqrt_m128_s.html" title="fn safe_arch::reciprocal_sqrt_m128_s">reciprocal_<wbr>sqrt_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>1.0 / sqrt(a)</code> approximation, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.set_i8_m128i.html" title="fn safe_arch::set_i8_m128i">set_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Sets the args into an <code>m128i</code>, first arg is the high lane.</div></li><li><div class="item-name"><a class="fn" href="fn.set_i16_m128i.html" title="fn safe_arch::set_i16_m128i">set_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Sets the args into an <code>m128i</code>, first arg is the high lane.</div></li><li><div class="item-name"><a class="fn" href="fn.set_i32_m128i.html" title="fn safe_arch::set_i32_m128i">set_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Sets the args into an <code>m128i</code>, first arg is the high lane.</div></li><li><div class="item-name"><a class="fn" href="fn.set_i32_m128i_s.html" title="fn safe_arch::set_i32_m128i_s">set_<wbr>i32_<wbr>m128i_<wbr>s</a></div><div class="desc docblock-short">Set an <code>i32</code> as the low 32-bit lane of an <code>m128i</code>, other lanes blank.</div></li><li><div class="item-name"><a class="fn" href="fn.set_i64_m128i.html" title="fn safe_arch::set_i64_m128i">set_<wbr>i64_<wbr>m128i</a></div><div class="desc docblock-short">Sets the args into an <code>m128i</code>, first arg is the high lane.</div></li><li><div class="item-name"><a class="fn" href="fn.set_i64_m128i_s.html" title="fn safe_arch::set_i64_m128i_s">set_<wbr>i64_<wbr>m128i_<wbr>s</a></div><div class="desc docblock-short">Set an <code>i64</code> as the low 64-bit lane of an <code>m128i</code>, other lanes blank.</div></li><li><div class="item-name"><a class="fn" href="fn.set_m128.html" title="fn safe_arch::set_m128">set_<wbr>m128</a></div><div class="desc docblock-short">Sets the args into an <code>m128</code>, first arg is the high lane.</div></li><li><div class="item-name"><a class="fn" href="fn.set_m128_s.html" title="fn safe_arch::set_m128_s">set_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Sets the args into an <code>m128</code>, first arg is the high lane.</div></li><li><div class="item-name"><a class="fn" href="fn.set_m128d.html" title="fn safe_arch::set_m128d">set_<wbr>m128d</a></div><div class="desc docblock-short">Sets the args into an <code>m128d</code>, first arg is the high lane.</div></li><li><div class="item-name"><a class="fn" href="fn.set_m128d_s.html" title="fn safe_arch::set_m128d_s">set_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Sets the args into the low lane of a <code>m128d</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.set_reversed_i8_m128i.html" title="fn safe_arch::set_reversed_i8_m128i">set_<wbr>reversed_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Sets the args into an <code>m128i</code>, first arg is the low lane.</div></li><li><div class="item-name"><a class="fn" href="fn.set_reversed_i16_m128i.html" title="fn safe_arch::set_reversed_i16_m128i">set_<wbr>reversed_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Sets the args into an <code>m128i</code>, first arg is the low lane.</div></li><li><div class="item-name"><a class="fn" href="fn.set_reversed_i32_m128i.html" title="fn safe_arch::set_reversed_i32_m128i">set_<wbr>reversed_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Sets the args into an <code>m128i</code>, first arg is the low lane.</div></li><li><div class="item-name"><a class="fn" href="fn.set_reversed_m128.html" title="fn safe_arch::set_reversed_m128">set_<wbr>reversed_<wbr>m128</a></div><div class="desc docblock-short">Sets the args into an <code>m128</code>, first arg is the low lane.</div></li><li><div class="item-name"><a class="fn" href="fn.set_reversed_m128d.html" title="fn safe_arch::set_reversed_m128d">set_<wbr>reversed_<wbr>m128d</a></div><div class="desc docblock-short">Sets the args into an <code>m128d</code>, first arg is the low lane.</div></li><li><div class="item-name"><a class="fn" href="fn.set_splat_i8_m128i.html" title="fn safe_arch::set_splat_i8_m128i">set_<wbr>splat_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Splats the <code>i8</code> to all lanes of the <code>m128i</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.set_splat_i16_m128i.html" title="fn safe_arch::set_splat_i16_m128i">set_<wbr>splat_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Splats the <code>i16</code> to all lanes of the <code>m128i</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.set_splat_i32_m128i.html" title="fn safe_arch::set_splat_i32_m128i">set_<wbr>splat_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Splats the <code>i32</code> to all lanes of the <code>m128i</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.set_splat_i64_m128i.html" title="fn safe_arch::set_splat_i64_m128i">set_<wbr>splat_<wbr>i64_<wbr>m128i</a></div><div class="desc docblock-short">Splats the <code>i64</code> to both lanes of the <code>m128i</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.set_splat_m128.html" title="fn safe_arch::set_splat_m128">set_<wbr>splat_<wbr>m128</a></div><div class="desc docblock-short">Splats the value to all lanes.</div></li><li><div class="item-name"><a class="fn" href="fn.set_splat_m128d.html" title="fn safe_arch::set_splat_m128d">set_<wbr>splat_<wbr>m128d</a></div><div class="desc docblock-short">Splats the args into both lanes of the <code>m128d</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.shl_all_u16_m128i.html" title="fn safe_arch::shl_all_u16_m128i">shl_<wbr>all_<wbr>u16_<wbr>m128i</a></div><div class="desc docblock-short">Shift all <code>u16</code> lanes to the left by the <code>count</code> in the lower <code>u64</code> lane.</div></li><li><div class="item-name"><a class="fn" href="fn.shl_all_u32_m128i.html" title="fn safe_arch::shl_all_u32_m128i">shl_<wbr>all_<wbr>u32_<wbr>m128i</a></div><div class="desc docblock-short">Shift all <code>u32</code> lanes to the left by the <code>count</code> in the lower <code>u64</code> lane.</div></li><li><div class="item-name"><a class="fn" href="fn.shl_all_u64_m128i.html" title="fn safe_arch::shl_all_u64_m128i">shl_<wbr>all_<wbr>u64_<wbr>m128i</a></div><div class="desc docblock-short">Shift all <code>u64</code> lanes to the left by the <code>count</code> in the lower <code>u64</code> lane.</div></li><li><div class="item-name"><a class="fn" href="fn.shl_imm_u16_m128i.html" title="fn safe_arch::shl_imm_u16_m128i">shl_<wbr>imm_<wbr>u16_<wbr>m128i</a></div><div class="desc docblock-short">Shifts all <code>u16</code> lanes left by an immediate.</div></li><li><div class="item-name"><a class="fn" href="fn.shl_imm_u32_m128i.html" title="fn safe_arch::shl_imm_u32_m128i">shl_<wbr>imm_<wbr>u32_<wbr>m128i</a></div><div class="desc docblock-short">Shifts all <code>u32</code> lanes left by an immediate.</div></li><li><div class="item-name"><a class="fn" href="fn.shl_imm_u64_m128i.html" title="fn safe_arch::shl_imm_u64_m128i">shl_<wbr>imm_<wbr>u64_<wbr>m128i</a></div><div class="desc docblock-short">Shifts both <code>u64</code> lanes left by an immediate.</div></li><li><div class="item-name"><a class="fn" href="fn.shr_all_i16_m128i.html" title="fn safe_arch::shr_all_i16_m128i">shr_<wbr>all_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Shift each <code>i16</code> lane to the right by the <code>count</code> in the lower <code>i64</code> lane.</div></li><li><div class="item-name"><a class="fn" href="fn.shr_all_i32_m128i.html" title="fn safe_arch::shr_all_i32_m128i">shr_<wbr>all_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Shift each <code>i32</code> lane to the right by the <code>count</code> in the lower <code>i64</code> lane.</div></li><li><div class="item-name"><a class="fn" href="fn.shr_all_u16_m128i.html" title="fn safe_arch::shr_all_u16_m128i">shr_<wbr>all_<wbr>u16_<wbr>m128i</a></div><div class="desc docblock-short">Shift each <code>u16</code> lane to the right by the <code>count</code> in the lower <code>u64</code> lane.</div></li><li><div class="item-name"><a class="fn" href="fn.shr_all_u32_m128i.html" title="fn safe_arch::shr_all_u32_m128i">shr_<wbr>all_<wbr>u32_<wbr>m128i</a></div><div class="desc docblock-short">Shift each <code>u32</code> lane to the right by the <code>count</code> in the lower <code>u64</code> lane.</div></li><li><div class="item-name"><a class="fn" href="fn.shr_all_u64_m128i.html" title="fn safe_arch::shr_all_u64_m128i">shr_<wbr>all_<wbr>u64_<wbr>m128i</a></div><div class="desc docblock-short">Shift each <code>u64</code> lane to the right by the <code>count</code> in the lower <code>u64</code> lane.</div></li><li><div class="item-name"><a class="fn" href="fn.shr_imm_i16_m128i.html" title="fn safe_arch::shr_imm_i16_m128i">shr_<wbr>imm_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Shifts all <code>i16</code> lanes right by an immediate.</div></li><li><div class="item-name"><a class="fn" href="fn.shr_imm_i32_m128i.html" title="fn safe_arch::shr_imm_i32_m128i">shr_<wbr>imm_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Shifts all <code>i32</code> lanes right by an immediate.</div></li><li><div class="item-name"><a class="fn" href="fn.shr_imm_u16_m128i.html" title="fn safe_arch::shr_imm_u16_m128i">shr_<wbr>imm_<wbr>u16_<wbr>m128i</a></div><div class="desc docblock-short">Shifts all <code>u16</code> lanes right by an immediate.</div></li><li><div class="item-name"><a class="fn" href="fn.shr_imm_u32_m128i.html" title="fn safe_arch::shr_imm_u32_m128i">shr_<wbr>imm_<wbr>u32_<wbr>m128i</a></div><div class="desc docblock-short">Shifts all <code>u32</code> lanes right by an immediate.</div></li><li><div class="item-name"><a class="fn" href="fn.shr_imm_u64_m128i.html" title="fn safe_arch::shr_imm_u64_m128i">shr_<wbr>imm_<wbr>u64_<wbr>m128i</a></div><div class="desc docblock-short">Shifts both <code>u64</code> lanes right by an immediate.</div></li><li><div class="item-name"><a class="fn" href="fn.shuffle_abi_f32_all_m128.html" title="fn safe_arch::shuffle_abi_f32_all_m128">shuffle_<wbr>abi_<wbr>f32_<wbr>all_<wbr>m128</a></div><div class="desc docblock-short">Shuffle the <code>f32</code> lanes from <code>$a</code> and <code>$b</code> together using an immediate
control value.</div></li><li><div class="item-name"><a class="fn" href="fn.shuffle_abi_f64_all_m128d.html" title="fn safe_arch::shuffle_abi_f64_all_m128d">shuffle_<wbr>abi_<wbr>f64_<wbr>all_<wbr>m128d</a></div><div class="desc docblock-short">Shuffle the <code>f64</code> lanes from <code>$a</code> and <code>$b</code> together using an immediate
control value.</div></li><li><div class="item-name"><a class="fn" href="fn.shuffle_ai_f32_all_m128i.html" title="fn safe_arch::shuffle_ai_f32_all_m128i">shuffle_<wbr>ai_<wbr>f32_<wbr>all_<wbr>m128i</a></div><div class="desc docblock-short">Shuffle the <code>i32</code> lanes in <code>$a</code> using an immediate
control value.</div></li><li><div class="item-name"><a class="fn" href="fn.shuffle_ai_i16_h64all_m128i.html" title="fn safe_arch::shuffle_ai_i16_h64all_m128i">shuffle_<wbr>ai_<wbr>i16_<wbr>h64all_<wbr>m128i</a></div><div class="desc docblock-short">Shuffle the high <code>i16</code> lanes in <code>$a</code> using an immediate control value.</div></li><li><div class="item-name"><a class="fn" href="fn.shuffle_ai_i16_l64all_m128i.html" title="fn safe_arch::shuffle_ai_i16_l64all_m128i">shuffle_<wbr>ai_<wbr>i16_<wbr>l64all_<wbr>m128i</a></div><div class="desc docblock-short">Shuffle the low <code>i16</code> lanes in <code>$a</code> using an immediate control value.</div></li><li><div class="item-name"><a class="fn" href="fn.sqrt_m128.html" title="fn safe_arch::sqrt_m128">sqrt_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>sqrt(a)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.sqrt_m128_s.html" title="fn safe_arch::sqrt_m128_s">sqrt_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>sqrt(a)</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.sqrt_m128d.html" title="fn safe_arch::sqrt_m128d">sqrt_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>sqrt(a)</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.sqrt_m128d_s.html" title="fn safe_arch::sqrt_m128d_s">sqrt_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>sqrt(b)</code>, upper lane is unchanged from <code>a</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.store_high_m128d_s.html" title="fn safe_arch::store_high_m128d_s">store_<wbr>high_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Stores the high lane value to the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.store_i64_m128i_s.html" title="fn safe_arch::store_i64_m128i_s">store_<wbr>i64_<wbr>m128i_<wbr>s</a></div><div class="desc docblock-short">Stores the value to the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.store_m128.html" title="fn safe_arch::store_m128">store_<wbr>m128</a></div><div class="desc docblock-short">Stores the value to the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.store_m128_s.html" title="fn safe_arch::store_m128_s">store_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Stores the low lane value to the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.store_m128d.html" title="fn safe_arch::store_m128d">store_<wbr>m128d</a></div><div class="desc docblock-short">Stores the value to the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.store_m128d_s.html" title="fn safe_arch::store_m128d_s">store_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Stores the low lane value to the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.store_m128i.html" title="fn safe_arch::store_m128i">store_<wbr>m128i</a></div><div class="desc docblock-short">Stores the value to the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.store_reverse_m128.html" title="fn safe_arch::store_reverse_m128">store_<wbr>reverse_<wbr>m128</a></div><div class="desc docblock-short">Stores the value to the reference given in reverse order.</div></li><li><div class="item-name"><a class="fn" href="fn.store_reversed_m128d.html" title="fn safe_arch::store_reversed_m128d">store_<wbr>reversed_<wbr>m128d</a></div><div class="desc docblock-short">Stores the value to the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.store_splat_m128.html" title="fn safe_arch::store_splat_m128">store_<wbr>splat_<wbr>m128</a></div><div class="desc docblock-short">Stores the low lane value to all lanes of the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.store_splat_m128d.html" title="fn safe_arch::store_splat_m128d">store_<wbr>splat_<wbr>m128d</a></div><div class="desc docblock-short">Stores the low lane value to all lanes of the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.store_unaligned_m128.html" title="fn safe_arch::store_unaligned_m128">store_<wbr>unaligned_<wbr>m128</a></div><div class="desc docblock-short">Stores the value to the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.store_unaligned_m128d.html" title="fn safe_arch::store_unaligned_m128d">store_<wbr>unaligned_<wbr>m128d</a></div><div class="desc docblock-short">Stores the value to the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.store_unaligned_m128i.html" title="fn safe_arch::store_unaligned_m128i">store_<wbr>unaligned_<wbr>m128i</a></div><div class="desc docblock-short">Stores the value to the reference given.</div></li><li><div class="item-name"><a class="fn" href="fn.sub_i8_m128i.html" title="fn safe_arch::sub_i8_m128i">sub_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a - b</code> with lanes as <code>i8</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.sub_i16_m128i.html" title="fn safe_arch::sub_i16_m128i">sub_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a - b</code> with lanes as <code>i16</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.sub_i32_m128i.html" title="fn safe_arch::sub_i32_m128i">sub_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a - b</code> with lanes as <code>i32</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.sub_i64_m128i.html" title="fn safe_arch::sub_i64_m128i">sub_<wbr>i64_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise <code>a - b</code> with lanes as <code>i64</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.sub_m128.html" title="fn safe_arch::sub_m128">sub_<wbr>m128</a></div><div class="desc docblock-short">Lanewise <code>a - b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.sub_m128_s.html" title="fn safe_arch::sub_m128_s">sub_<wbr>m128_<wbr>s</a></div><div class="desc docblock-short">Low lane <code>a - b</code>, other lanes unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.sub_m128d.html" title="fn safe_arch::sub_m128d">sub_<wbr>m128d</a></div><div class="desc docblock-short">Lanewise <code>a - b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.sub_m128d_s.html" title="fn safe_arch::sub_m128d_s">sub_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Lowest lane <code>a - b</code>, high lane unchanged.</div></li><li><div class="item-name"><a class="fn" href="fn.sub_saturating_i8_m128i.html" title="fn safe_arch::sub_saturating_i8_m128i">sub_<wbr>saturating_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise saturating <code>a - b</code> with lanes as <code>i8</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.sub_saturating_i16_m128i.html" title="fn safe_arch::sub_saturating_i16_m128i">sub_<wbr>saturating_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise saturating <code>a - b</code> with lanes as <code>i16</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.sub_saturating_u8_m128i.html" title="fn safe_arch::sub_saturating_u8_m128i">sub_<wbr>saturating_<wbr>u8_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise saturating <code>a - b</code> with lanes as <code>u8</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.sub_saturating_u16_m128i.html" title="fn safe_arch::sub_saturating_u16_m128i">sub_<wbr>saturating_<wbr>u16_<wbr>m128i</a></div><div class="desc docblock-short">Lanewise saturating <code>a - b</code> with lanes as <code>u16</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.sum_of_u8_abs_diff_m128i.html" title="fn safe_arch::sum_of_u8_abs_diff_m128i">sum_<wbr>of_<wbr>u8_<wbr>abs_<wbr>diff_<wbr>m128i</a></div><div class="desc docblock-short">Compute “sum of <code>u8</code> absolute differences”.</div></li><li><div class="item-name"><a class="fn" href="fn.transpose_four_m128.html" title="fn safe_arch::transpose_four_m128">transpose_<wbr>four_<wbr>m128</a></div><div class="desc docblock-short">Transpose four <code>m128</code> as if they were a 4x4 matrix.</div></li><li><div class="item-name"><a class="fn" href="fn.truncate_m128_to_m128i.html" title="fn safe_arch::truncate_m128_to_m128i">truncate_<wbr>m128_<wbr>to_<wbr>m128i</a></div><div class="desc docblock-short">Truncate the <code>f32</code> lanes to <code>i32</code> lanes.</div></li><li><div class="item-name"><a class="fn" href="fn.truncate_m128d_to_m128i.html" title="fn safe_arch::truncate_m128d_to_m128i">truncate_<wbr>m128d_<wbr>to_<wbr>m128i</a></div><div class="desc docblock-short">Truncate the <code>f64</code> lanes to the lower <code>i32</code> lanes (upper <code>i32</code> lanes 0).</div></li><li><div class="item-name"><a class="fn" href="fn.truncate_to_i32_m128d_s.html" title="fn safe_arch::truncate_to_i32_m128d_s">truncate_<wbr>to_<wbr>i32_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Truncate the lower lane into an <code>i32</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.truncate_to_i64_m128d_s.html" title="fn safe_arch::truncate_to_i64_m128d_s">truncate_<wbr>to_<wbr>i64_<wbr>m128d_<wbr>s</a></div><div class="desc docblock-short">Truncate the lower lane into an <code>i64</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.unpack_high_i8_m128i.html" title="fn safe_arch::unpack_high_i8_m128i">unpack_<wbr>high_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Unpack and interleave high <code>i8</code> lanes of <code>a</code> and <code>b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.unpack_high_i16_m128i.html" title="fn safe_arch::unpack_high_i16_m128i">unpack_<wbr>high_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Unpack and interleave high <code>i16</code> lanes of <code>a</code> and <code>b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.unpack_high_i32_m128i.html" title="fn safe_arch::unpack_high_i32_m128i">unpack_<wbr>high_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Unpack and interleave high <code>i32</code> lanes of <code>a</code> and <code>b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.unpack_high_i64_m128i.html" title="fn safe_arch::unpack_high_i64_m128i">unpack_<wbr>high_<wbr>i64_<wbr>m128i</a></div><div class="desc docblock-short">Unpack and interleave high <code>i64</code> lanes of <code>a</code> and <code>b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.unpack_high_m128.html" title="fn safe_arch::unpack_high_m128">unpack_<wbr>high_<wbr>m128</a></div><div class="desc docblock-short">Unpack and interleave high lanes of <code>a</code> and <code>b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.unpack_high_m128d.html" title="fn safe_arch::unpack_high_m128d">unpack_<wbr>high_<wbr>m128d</a></div><div class="desc docblock-short">Unpack and interleave high lanes of <code>a</code> and <code>b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.unpack_low_i8_m128i.html" title="fn safe_arch::unpack_low_i8_m128i">unpack_<wbr>low_<wbr>i8_<wbr>m128i</a></div><div class="desc docblock-short">Unpack and interleave low <code>i8</code> lanes of <code>a</code> and <code>b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.unpack_low_i16_m128i.html" title="fn safe_arch::unpack_low_i16_m128i">unpack_<wbr>low_<wbr>i16_<wbr>m128i</a></div><div class="desc docblock-short">Unpack and interleave low <code>i16</code> lanes of <code>a</code> and <code>b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.unpack_low_i32_m128i.html" title="fn safe_arch::unpack_low_i32_m128i">unpack_<wbr>low_<wbr>i32_<wbr>m128i</a></div><div class="desc docblock-short">Unpack and interleave low <code>i32</code> lanes of <code>a</code> and <code>b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.unpack_low_i64_m128i.html" title="fn safe_arch::unpack_low_i64_m128i">unpack_<wbr>low_<wbr>i64_<wbr>m128i</a></div><div class="desc docblock-short">Unpack and interleave low <code>i64</code> lanes of <code>a</code> and <code>b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.unpack_low_m128.html" title="fn safe_arch::unpack_low_m128">unpack_<wbr>low_<wbr>m128</a></div><div class="desc docblock-short">Unpack and interleave low lanes of <code>a</code> and <code>b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.unpack_low_m128d.html" title="fn safe_arch::unpack_low_m128d">unpack_<wbr>low_<wbr>m128d</a></div><div class="desc docblock-short">Unpack and interleave low lanes of <code>a</code> and <code>b</code>.</div></li><li><div class="item-name"><a class="fn" href="fn.zeroed_m128.html" title="fn safe_arch::zeroed_m128">zeroed_<wbr>m128</a></div><div class="desc docblock-short">All lanes zero.</div></li><li><div class="item-name"><a class="fn" href="fn.zeroed_m128d.html" title="fn safe_arch::zeroed_m128d">zeroed_<wbr>m128d</a></div><div class="desc docblock-short">Both lanes zero.</div></li><li><div class="item-name"><a class="fn" href="fn.zeroed_m128i.html" title="fn safe_arch::zeroed_m128i">zeroed_<wbr>m128i</a></div><div class="desc docblock-short">All lanes zero.</div></li></ul></section></div></main></body></html>