summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/util/u_sampler.h
diff options
context:
space:
mode:
authorOded Gabbay <[email protected]>2015-12-03 09:11:13 +0200
committerOded Gabbay <[email protected]>2016-01-06 14:54:16 +0200
commite99555ef0bf1b786a1bf1e93f3304507dbb6e939 (patch)
tree52f453f225000a16e93846adce45cbd1ec66df97 /src/gallium/auxiliary/util/u_sampler.h
parentafe88f66a8a9cf3c6bf6ea5d3e00589c22219c30 (diff)
llvmpipe: add POWER8 portability file - u_pwr8.h
This file provides a portability layer that will make it easier to convert SSE-based functions to VMX/VSX-based functions. All the functions implemented in this file are prefixed using "vec_". Therefore, when converting from SSE-based function, one needs to simply replace the "_mm_" prefix of the SSE function being called to "vec_". Having said that, not all functions could be converted as such, due to the differences between the architectures. So, when doing such conversion hurt the performance, I preferred to implement a more ad-hoc solution. For example, converting the _mm_shuffle_epi32 needed to be done using ad-hoc masks instead of a generic function. All the functions in this file support both little-endian and big-endian but currently the file is build only on POWER8 LE machine. All of the functions are implemented using the Altivec/VMX intrinsics, except one where I needed to use inline assembly (due to missing intrinsic). v2: - Use vec_vgbbd instead of __builtin_vec_vgbbd - Add an aligned load function - Don't use typeof() - Make file build only on POWER8 LE machine Signed-off-by: Oded Gabbay <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary/util/u_sampler.h')
0 files changed, 0 insertions, 0 deletions