SPRUIG8J January 2018 – March 2024
The C7000 ISA supports several load and store operations that cannot be leveraged using simple C/C++ operators. Instead, an overloaded intrinsic is provided for those operations using prefixes “__vload_” and “__vstore_” for loads and stores, respectively. Overloaded intrinsics are provided for the following load and store operations:
__vload_dup(…)
__vload_dup_vec(…)
__vload_unpack_{short, int,
long}(…)
__vload_deinterleave_{int,
long}(...)
__vstore_interleave(…)
__vstore_{packl,
packh,
packhs1,
pack_byte}(…)
__vstore_reverse_bit(…)
__vstore_pred(vpred, …)
__vstore_pred_interleave(vpred,
…)
__vstore_pred_{packl, packh, packhs1,
pack_byte}(vpred, ...)
__vstore_pred_reverse_bit(vpred, …)
__vstore_const_{2word, 4word, 8word,
16word}(…)
__store_predicate_{char, short, int,
long}(…)
__atomic_swap(…)
__atomic_compare_swap(…)