[llvm-commits] [125247] Add build vector shuffles for MMX instructions.
bwendlin at apple.com
bwendlin at apple.com
Thu Mar 22 11:41:21 PDT 2007
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,
More information about the llvm-commits
mailing list