Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Deinterleave.h File Reference

Defines methods for splitting up a vector into the even lanes and the odd lanes. More...

#include "Expr.h"

Go to the source code of this file.

Namespaces

namespace  Halide
 This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
 
namespace  Halide::Internal
 

Functions

Expr Halide::Internal::extract_odd_lanes (const Expr &a)
 Extract the odd-numbered lanes in a vector.
 
Expr Halide::Internal::extract_even_lanes (const Expr &a)
 Extract the even-numbered lanes in a vector.
 
Expr Halide::Internal::extract_lane (const Expr &vec, int lane)
 Extract the nth lane of a vector.
 
Stmt Halide::Internal::rewrite_interleavings (const Stmt &s)
 Look through a statement for expressions of the form select(ramp % 2 == 0, a, b) and replace them with calls to an interleave intrinsic.
 
void Halide::Internal::deinterleave_vector_test ()
 

Detailed Description

Defines methods for splitting up a vector into the even lanes and the odd lanes.

Useful for optimizing expressions such as select(x % 2, f(x/2), g(x/2))

Definition in file Deinterleave.h.