Revision: 125247
Author: bwendlin
Date: 2007-03-22 11:41:21 -0700 (Thu, 22 Mar 2007)
Log Message:
-----------
Add build vector shuffles for MMX instructions.
Modified Paths:
--------------
apple-local/branches/llvm/gcc/config/i386/llvm-i386.cpp
Modified: apple-local/branches/llvm/gcc/config/i386/llvm-i386.cpp
===================================================================
--- apple-local/branches/llvm/gcc/config/i386/llvm-i386.cpp 2007-03-22
18:31:30 UTC (rev 125246)
+++ apple-local/branches/llvm/gcc/config/i386/llvm-i386.cpp 2007-03-22
18:41:21 UTC (rev 125247)
@@ -326,6 +326,26 @@
}
return true;
+ case IX86_BUILTIN_PUNPCKHBW:
+ Result = BuildVectorShuffle(Ops[0], Ops[1], 4, 12, 5, 13,
+ 6, 14, 7, 15);
+ return true;
+ case IX86_BUILTIN_PUNPCKHWD:
+ Result = BuildVectorShuffle(Ops[0], Ops[1], 2, 6, 3, 7);
+ return true;
+ case IX86_BUILTIN_PUNPCKHDQ:
+ Result = BuildVectorShuffle(Ops[0], Ops[1], 1, 3);
+ return true;
+ case IX86_BUILTIN_PUNPCKLBW:
+ Result = BuildVectorShuffle(Ops[0], Ops[1], 0, 8, 1, 9,
+ 2, 10, 3, 11);
+ return true;
+ case IX86_BUILTIN_PUNPCKLWD:
+ Result = BuildVectorShuffle(Ops[0], Ops[1], 0, 4, 1, 5);
+ return true;
+ case IX86_BUILTIN_PUNPCKLDQ:
+ Result = BuildVectorShuffle(Ops[0], Ops[1], 0, 2);
+ return true;
case IX86_BUILTIN_PUNPCKHBW128:
Result = BuildVectorShuffle(Ops[0], Ops[1], 8, 24, 9, 25,
10, 26, 11, 27,
_______________________________________________
llvm-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits