https://github.com/halide/Halide
Raw File
Tip revision: fc4a3c65da381c1130d2ee7908c33ed5c67a3732 authored by Volodymyr Kysenko on 14 February 2023, 19:55:15 UTC
Generate PACKVRNR for i16(i32(i48x) >> wild_i32)
Tip revision: fc4a3c6
AlignLoads.h
#ifndef HALIDE_ALIGN_LOADS_H
#define HALIDE_ALIGN_LOADS_H

/** \file
 * Defines a lowering pass that rewrites unaligned loads into
 * sequences of aligned loads.
 */
#include "Expr.h"

namespace Halide {
namespace Internal {

/** Attempt to rewrite unaligned loads from buffers which are known to
 * be aligned to instead load aligned vectors that cover the original
 * load, and then slice the original load out of the aligned
 * vectors.
 *
 * Types that are less than min_bytes_to_align in size are not
 * rewritten. This is intended to make a distinction between data that
 * will be accessed as a scalar and that which will be accessed as a
 * vector.
 */
Stmt align_loads(const Stmt &s, int alignment, int min_bytes_to_align);

}  // namespace Internal
}  // namespace Halide

#endif
back to top