Halide
Deinterleave.h File Reference
#include "Expr.h"

Go to the source code of this file.

Namespaces

 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.
 
 Halide::Internal
 

Functions

Expr Halide::Internal::extract_odd_lanes (const Expr &a)
 Extract the odd-numbered lanes in a vector. More...
 
Expr Halide::Internal::extract_even_lanes (const Expr &a)
 Extract the even-numbered lanes in a vector. More...
 
Expr Halide::Internal::extract_lane (const Expr &vec, int lane)
 Extract the nth lane of a vector. More...
 
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. More...
 
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.