load lower part
| 51 | |
| 52 | // load lower part |
| 53 | NPY_FINLINE npyv_u64 npyv__loadl(const void *ptr) |
| 54 | { |
| 55 | #ifdef NPY_HAVE_VSX |
| 56 | #if defined(__clang__) && !defined(__IBMC__) |
| 57 | // vec_promote doesn't support doubleword on clang |
| 58 | return npyv_setall_u64(*npyv__ptr2u64(ptr)); |
| 59 | #else |
| 60 | return vec_promote(*npyv__ptr2u64(ptr), 0); |
| 61 | #endif |
| 62 | #else // VX |
| 63 | return vec_load_len((const unsigned long long*)ptr, 7); |
| 64 | #endif |
| 65 | } |
| 66 | // store lower part |
| 67 | #define npyv__storel(PTR, VEC) \ |
| 68 | *npyv__ptr2u64(PTR) = vec_extract(((npyv_u64)VEC), 0) |
nothing calls this directly
no test coverage detected