Lines Matching defs:ptr
11 static inline skvx::Vec<N,int> gather32(const int* ptr, const skvx::Vec<N,int>& ix) {
15 _mm256_i32gather_epi32(ptr, skvx::bit_pun<__m256i>(ix), 4));
20 return join(gather32(ptr, ix.lo),
21 gather32(ptr, ix.hi));
23 return map([&](int i) { return ptr[i]; }, ix);
149 // After all that we have an ordinary (uniform) pointer `ptr` to load from,
152 const uint8_t* ptr;
153 memcpy(&ptr, (const uint8_t*)args[immA] + immB, sizeof(ptr));
154 r[d].i32 = ptr[ r[x].i32[0] ];
157 const uint16_t* ptr;
158 memcpy(&ptr, (const uint8_t*)args[immA] + immB, sizeof(ptr));
159 r[d].i32 = ptr[ r[x].i32[0] ];
162 const int* ptr;
163 memcpy(&ptr, (const uint8_t*)args[immA] + immB, sizeof(ptr));
164 r[d].i32 = ptr[ r[x].i32[0] ];
168 const uint8_t* ptr;
169 memcpy(&ptr, (const uint8_t*)args[immA] + immB, sizeof(ptr));
170 r[d].i32 = map([&](int ix) { return (int)ptr[ix]; }, r[x].i32);
173 const uint16_t* ptr;
174 memcpy(&ptr, (const uint8_t*)args[immA] + immB, sizeof(ptr));
175 r[d].i32 = map([&](int ix) { return (int)ptr[ix]; }, r[x].i32);
178 const int* ptr;
179 memcpy(&ptr, (const uint8_t*)args[immA] + immB, sizeof(ptr));
180 r[d].i32 = gather32(ptr, r[x].i32);
256 const int* ptr;
257 memcpy(&ptr, (const uint8_t*)args[immA] + immB, sizeof(ptr));
258 r[d].i32 = ptr[immC/sizeof(int)];