Poplar and PopLibs
ipu_memory_intrinsics File Reference

Functions that target IPU memory instructions. More...

#include <__memory_intrinsics.h>

Namespaces

namespace  ipu
 IPU intrinsic functions.
 

Functions

half ipu::load_postinc (const half **a, int i)
 Post-incrementing load, targeting the ldb16step instruction. More...
 
void ipu::store_postinc (half2 **a, half2 v, int i)
 Post-incrementing store, targeting the st32step instruction. More...
 
half2 ipu::load_postinc (const half2 **a, int i)
 Post-incrementing load, targeting the ld32step instruction. More...
 
void ipu::store_postinc (half4 **a, half4 v, int i)
 Post-incrementing store, targeting the st64step instruction. More...
 
half4 ipu::load_postinc (const half4 **a, int i)
 Post-incrementing load, targeting the ld64step instruction. More...
 
void ipu::store_postinc (float **a, float v, int i)
 Post-incrementing store, targeting the st32step instruction. More...
 
float ipu::load_postinc (const float **a, int i)
 Post-incrementing load, targeting the ld32step instruction. More...
 
void ipu::store_postinc (float2 **a, float2 v, int i)
 Post-incrementing store, targeting the st64step instruction. More...
 
float2 ipu::load_postinc (const float2 **a, int i)
 Post-incrementing load, targeting the ld64step instruction. More...
 
void ipu::store_postinc (int **a, int v, int i)
 Post-incrementing store, targeting the stm32step instruction if i is a variable stride, and st32step otherwise. More...
 
int ipu::load_postinc (const int **a, int i)
 Post-incrementing load, targeting the ld32step instruction. More...
 
void ipu::store_postinc (unsigned **a, unsigned v, int i)
 Post-incrementing store, targeting the stm32step instruction if i is a variable stride, and st32step otherwise. More...
 
unsigned ipu::load_postinc (const unsigned **a, int i)
 Post-incrementing load, targeting the ld32step instruction. More...
 
void ipu::store_postinc (int2 **a, int2 v, int i)
 Post-incrementing store. More...
 
int2 ipu::load_postinc (const int2 **a, int i)
 Post-incrementing load. More...
 
void ipu::store_postinc (uint2 **a, uint2 v, int i)
 Post-incrementing store. More...
 
uint2 ipu::load_postinc (const uint2 **a, int i)
 Post-incrementing load. More...
 
void ipu::store_postinc (short **a, short v, int i)
 Post-incrementing store. More...
 
short ipu::load_postinc (const short **a, int i)
 Post-incrementing load, targeting the lds16step instruction. More...
 
void ipu::store_postinc (unsigned short **a, unsigned short v, int i)
 Post-incrementing store. More...
 
unsigned short ipu::load_postinc (const unsigned short **a, int i)
 Post-incrementing load, targeting the ldz16step instruction. More...
 
void ipu::store_postinc (short2 **a, short2 v, int i)
 Post-incrementing store, targeting the stm32step instruction if i is a variable stride, and st32step otherwise. More...
 
short2 ipu::load_postinc (const short2 **a, int i)
 Post-incrementing load, targeting the ld32step instruction. More...
 
void ipu::store_postinc (ushort2 **a, ushort2 v, int i)
 Post-incrementing store, targeting the stm32step instruction if i is a variable stride, and st32step otherwise. More...
 
ushort2 ipu::load_postinc (const ushort2 **a, int i)
 Post-incrementing load, targeting the ld32step instruction. More...
 
void ipu::store_postinc (short4 **a, short4 v, int i)
 Post-incrementing store. More...
 
short4 ipu::load_postinc (const short4 **a, int i)
 Post-incrementing load. More...
 
void ipu::store_postinc (ushort4 **a, ushort4 v, int i)
 Post-incrementing store. More...
 
ushort4 ipu::load_postinc (const ushort4 **a, int i)
 Post-incrementing load. More...
 
void ipu::store_postinc (char **a, char v, int i)
 Post-incrementing store. More...
 
char ipu::load_postinc (const char **a, int i)
 Post-incrementing load, targeting the lds8step instruction. More...
 
void ipu::store_postinc (unsigned char **a, unsigned char v, int i)
 Post-incrementing store. More...
 
unsigned char ipu::load_postinc (const unsigned char **a, int i)
 Post-incrementing load, targeting the ldz8step instruction. More...
 

Detailed Description

Functions that target IPU memory instructions.

These function definitions target specific IPU memory instructions and may be used in C++ IPU code. These cover post-incrementing load and store instructions.

Refer to the "Tile Worker ISA" for more detailed information on the instructions targeted by these intrinsics.