OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkNx_neon_DEFINED | 8 #ifndef SkNx_neon_DEFINED |
9 #define SkNx_neon_DEFINED | 9 #define SkNx_neon_DEFINED |
10 | 10 |
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 return vbslq_u8(fVec, t.fVec, e.fVec); | 389 return vbslq_u8(fVec, t.fVec, e.fVec); |
390 } | 390 } |
391 | 391 |
392 uint8x16_t fVec; | 392 uint8x16_t fVec; |
393 }; | 393 }; |
394 | 394 |
395 #undef SHIFT32 | 395 #undef SHIFT32 |
396 #undef SHIFT16 | 396 #undef SHIFT16 |
397 #undef SHIFT8 | 397 #undef SHIFT8 |
398 | 398 |
| 399 template <> |
| 400 inline SkNf<4,float> SkNx_shuffle_impl<SkNf<4,float>, 1,0,3,2>(const SkNf<4,floa
t>& src) { |
| 401 return vrev64q_f32(src.fVec); |
| 402 } |
| 403 |
399 } // namespace | 404 } // namespace |
400 | 405 |
401 #endif//SkNx_neon_DEFINED | 406 #endif//SkNx_neon_DEFINED |
OLD | NEW |