diff options
| author | Nate Begeman <natebegeman@mac.com> | 2008-05-16 18:59:42 +0000 |
|---|---|---|
| committer | Nate Begeman <natebegeman@mac.com> | 2008-05-16 18:59:42 +0000 |
| commit | 9800faa57866d82ebad291a0f828f9d3aa7faddf (patch) | |
| tree | 8700c2c492b3e79436a3c9c662036b4e9ddfb8ef | |
| parent | c812b23ce89ec4b402df7a9200a2315a7ea51ab6 (diff) | |
| download | bcm5719-llvm-9800faa57866d82ebad291a0f828f9d3aa7faddf.tar.gz bcm5719-llvm-9800faa57866d82ebad291a0f828f9d3aa7faddf.zip | |
Fix some prototypes, and implement some builtins until we have our header files completed.
llvm-svn: 51199
| -rw-r--r-- | clang/include/clang/AST/X86Builtins.def | 8 | ||||
| -rw-r--r-- | clang/lib/CodeGen/CGBuiltin.cpp | 3 |
2 files changed, 7 insertions, 4 deletions
diff --git a/clang/include/clang/AST/X86Builtins.def b/clang/include/clang/AST/X86Builtins.def index 90dcac5a3ff..97a07bca2ad 100644 --- a/clang/include/clang/AST/X86Builtins.def +++ b/clang/include/clang/AST/X86Builtins.def @@ -406,11 +406,11 @@ BUILTIN(__builtin_ia32_vec_ext_v2df, "dV2di", "") BUILTIN(__builtin_ia32_vec_ext_v2di, "LLiV2LLii", "") BUILTIN(__builtin_ia32_vec_ext_v4sf, "fV4fi", "") BUILTIN(__builtin_ia32_vec_ext_v4si, "iV4ii", "") -BUILTIN(__builtin_ia32_vec_ext_v8hi, "v", "") -BUILTIN(__builtin_ia32_vec_ext_v4hi, "v", "") +BUILTIN(__builtin_ia32_vec_ext_v8hi, "UsV8si", "") +BUILTIN(__builtin_ia32_vec_ext_v4hi, "sV4si", "") BUILTIN(__builtin_ia32_vec_ext_v2si, "iV2ii", "") -BUILTIN(__builtin_ia32_vec_set_v8hi, "v", "") -BUILTIN(__builtin_ia32_vec_set_v4hi, "v", "") +BUILTIN(__builtin_ia32_vec_set_v8hi, "V8sV8ssi", "") +BUILTIN(__builtin_ia32_vec_set_v4hi, "V4sv4ssi", "") // Apple local SSE builtins? These are probably not needed eventually, but are // in the apple-gcc xmmintrin.h file (rdar://4099020). diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index 9e06f181091..d15780a63ba 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -792,6 +792,9 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID, return Builder.CreateBitCast(Ops[0], llvm::VectorType::get(llvm::Type::Int32Ty, 4)); } + case X86::BI__builtin_ia32_vec_set_v4hi: + case X86::BI__builtin_ia32_vec_set_v8hi: + return Builder.CreateInsertElement(Ops[0], Ops[1], Ops[2], "pinsrw"); case X86::BI__builtin_ia32_andps: case X86::BI__builtin_ia32_andpd: case X86::BI__builtin_ia32_andnps: |

