1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00

add a note

llvm-svn: 50267
This commit is contained in:
Chris Lattner 2008-04-25 17:25:00 +00:00
parent bbbe14502f
commit 81742d7a8f

View File

@ -186,3 +186,26 @@ lowering would be:
3. lvsl 0; splat index; vcmpeq to generate a select mask
4. lvsl slot + x; vperm to rotate result into correct slot
5. vsel result together.
//===----------------------------------------------------------------------===//
Should codegen branches on vec_any/vec_all to avoid mfcr. Two examples:
#include <altivec.h>
int f(vector float a, vector float b)
{
int aa = 0;
if (vec_all_ge(a, b))
aa |= 0x1;
if (vec_any_ge(a,b))
aa |= 0x2;
return aa;
}
vector float f(vector float a, vector float b) {
if (vec_any_eq(a, b))
return a;
else
return b;
}