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.