[llvm-commits] [129004] Fix an assertion failure on __builtin_ia32_vec_set_v8hi with a literal integer .
clattner at apple.com
clattner at apple.com
Sat Jun 30 11:35:55 PDT 2007
Revision: 129004
Author: clattner
Date: 2007-06-30 11:35:54 -0700 (Sat, 30 Jun 2007)
Log Message:
-----------
Fix an assertion failure on __builtin_ia32_vec_set_v8hi with a literal integer.
GCC produces this as 32-bit integer, not a 16-bit integer.
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-06-30 11:28:57 UTC (rev 129003)
+++ apple-local/branches/llvm/gcc/config/i386/llvm-i386.cpp 2007-06-30 18:35:54 UTC (rev 129004)
@@ -448,6 +448,8 @@
Result = Builder.CreateExtractElement(Ops[0], Ops[1], "tmp");
return true;
case IX86_BUILTIN_VEC_SET_V8HI:
+ // GCC sometimes doesn't produce the right element type.
+ Ops[1] = Builder.CreateIntCast(Ops[1], Type::Int16Ty, false, "tmp");
Result = Builder.CreateInsertElement(Ops[0], Ops[1], Ops[2], "tmp");
return true;
case IX86_BUILTIN_CMPEQPS:
More information about the llvm-commits
mailing list