aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGBuiltin.cpp
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2008-04-03 19:58:06 +0000
committerNate Begeman <natebegeman@mac.com>2008-04-03 19:58:06 +0000
commitdbebb73b86d9fe56c2227bf75c13ea3a49248261 (patch)
tree726f931bad4b26c818eef2251908a9b4de8fff14 /lib/CodeGen/CGBuiltin.cpp
parentb22d589e2ccd09cada0bcea136f0966883a8bb11 (diff)
Teach clang how to codegen punpcklbw and punpcklwd
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49186 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGBuiltin.cpp')
-rw-r--r--lib/CodeGen/CGBuiltin.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp
index 83c5e60475..e26fb01687 100644
--- a/lib/CodeGen/CGBuiltin.cpp
+++ b/lib/CodeGen/CGBuiltin.cpp
@@ -475,6 +475,13 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
i & 0x3, (i & 0xc) >> 2,
((i & 0x30) >> 4) + 4,
((i & 0x60) >> 6) + 4, "shufps");
+ case X86::BI__builtin_ia32_punpcklbw128:
+ return EmitShuffleVector(Ops[0], Ops[1], 0, 16, 1, 17, 2, 18, 3, 19,
+ 4, 20, 5, 21, 6, 22, 7, 23,
+ "punpcklbw");
+ case X86::BI__builtin_ia32_punpcklwd128:
+ return EmitShuffleVector(Ops[0], Ops[1], 0, 8, 1, 9, 2, 10, 3, 11,
+ "punpcklwd");
}
}