summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/CodeGenTarget.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2007-03-26 07:53:08 +0000
committerBill Wendling <isanbard@gmail.com>2007-03-26 07:53:08 +0000
commit98d2104c6fee540117058d9f36f0c39c9852a0d5 (patch)
tree70c53be13eec3842b1c8c2630df6e5c70fafd6c4 /llvm/utils/TableGen/CodeGenTarget.cpp
parent8275f0e0af03f1950cc60e070aacf15389b81fcf (diff)
downloadbcm5719-llvm-98d2104c6fee540117058d9f36f0c39c9852a0d5.tar.gz
bcm5719-llvm-98d2104c6fee540117058d9f36f0c39c9852a0d5.zip
Add support for the v1i64 type. This makes better code for this:
#include <mmintrin.h> extern __m64 C; void baz(__v2si *A, __v2si *B) { *A = C; _mm_empty(); } We get this: _baz: call "L1$pb" "L1$pb": popl %eax movl L_C$non_lazy_ptr-"L1$pb"(%eax), %eax movq (%eax), %mm0 movl 4(%esp), %eax movq %mm0, (%eax) emms ret GCC gives us this: _baz: pushl %ebx call L3 "L00000000001$pb": L3: popl %ebx subl $8, %esp movl L_C$non_lazy_ptr-"L00000000001$pb"(%ebx), %eax movl (%eax), %edx movl 4(%eax), %ecx movl 16(%esp), %eax movl %edx, (%eax) movl %ecx, 4(%eax) emms addl $8, %esp popl %ebx ret llvm-svn: 35351
Diffstat (limited to 'llvm/utils/TableGen/CodeGenTarget.cpp')
-rw-r--r--llvm/utils/TableGen/CodeGenTarget.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/CodeGenTarget.cpp b/llvm/utils/TableGen/CodeGenTarget.cpp
index a261871861d..7cf80b02abe 100644
--- a/llvm/utils/TableGen/CodeGenTarget.cpp
+++ b/llvm/utils/TableGen/CodeGenTarget.cpp
@@ -52,6 +52,7 @@ std::string llvm::getName(MVT::ValueType T) {
case MVT::v8i8: return "MVT::v8i8";
case MVT::v4i16: return "MVT::v4i16";
case MVT::v2i32: return "MVT::v2i32";
+ case MVT::v1i64: return "MVT::v1i64";
case MVT::v16i8: return "MVT::v16i8";
case MVT::v8i16: return "MVT::v8i16";
case MVT::v4i32: return "MVT::v4i32";
@@ -82,6 +83,7 @@ std::string llvm::getEnumName(MVT::ValueType T) {
case MVT::v8i8: return "MVT::v8i8";
case MVT::v4i16: return "MVT::v4i16";
case MVT::v2i32: return "MVT::v2i32";
+ case MVT::v1i64: return "MVT::v1i64";
case MVT::v16i8: return "MVT::v16i8";
case MVT::v8i16: return "MVT::v8i16";
case MVT::v4i32: return "MVT::v4i32";
OpenPOWER on IntegriCloud