[llvm-commits] [llvm] r132207 - in /llvm/trunk: lib/VMCore/AutoUpgrade.cpp test/Bitcode/sse42_crc32.ll test/Bitcode/sse42_crc32.ll.bc
Chad Rosier
mcrosier at apple.com
Fri May 27 12:38:10 PDT 2011
Author: mcrosier
Date: Fri May 27 14:38:10 2011
New Revision: 132207
URL: http://llvm.org/viewvc/llvm-project?rev=132207&view=rev
Log:
CRC32 intrinsics were renamed at revision 132163. This submission
fixes aliasing issues with the old and new names as well as adds test
cases for the auto-upgrader.
Fixes rdar 9472944.
Added:
llvm/trunk/test/Bitcode/sse42_crc32.ll
llvm/trunk/test/Bitcode/sse42_crc32.ll.bc (with props)
Modified:
llvm/trunk/lib/VMCore/AutoUpgrade.cpp
Modified: llvm/trunk/lib/VMCore/AutoUpgrade.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/AutoUpgrade.cpp?rev=132207&r1=132206&r2=132207&view=diff
==============================================================================
--- llvm/trunk/lib/VMCore/AutoUpgrade.cpp (original)
+++ llvm/trunk/lib/VMCore/AutoUpgrade.cpp Fri May 27 14:38:10 2011
@@ -290,18 +290,18 @@
if (Name.compare(5, 13, "x86.sse42.crc", 13) == 0) {
const char* NewFnName = NULL;
if (Name.compare(18, 2, "32", 2) == 0) {
- if (Name.compare(20, 2, ".8") == 0) {
+ if (Name.compare(20, 2, ".8") == 0 && Name.length() == 22) {
NewFnName = "llvm.x86.sse42.crc32.32.8";
- } else if (Name.compare(20, 2, ".16") == 0) {
+ } else if (Name.compare(20, 3, ".16") == 0 && Name.length() == 23) {
NewFnName = "llvm.x86.sse42.crc32.32.16";
- } else if (Name.compare(20, 2, ".32") == 0) {
+ } else if (Name.compare(20, 3, ".32") == 0 && Name.length() == 23) {
NewFnName = "llvm.x86.sse42.crc32.32.32";
}
}
else if (Name.compare(18, 2, "64", 2) == 0) {
- if (Name.compare(20, 2, ".8") == 0) {
+ if (Name.compare(20, 2, ".8") == 0 && Name.length() == 22) {
NewFnName = "llvm.x86.sse42.crc32.64.8";
- } else if (Name.compare(20, 2, ".64") == 0) {
+ } else if (Name.compare(20, 3, ".64") == 0 && Name.length() == 23) {
NewFnName = "llvm.x86.sse42.crc32.64.64";
}
}
Added: llvm/trunk/test/Bitcode/sse42_crc32.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/sse42_crc32.ll?rev=132207&view=auto
==============================================================================
--- llvm/trunk/test/Bitcode/sse42_crc32.ll (added)
+++ llvm/trunk/test/Bitcode/sse42_crc32.ll Fri May 27 14:38:10 2011
@@ -0,0 +1,16 @@
+; Check to make sure old CRC32 intrinsics are auto-upgraded
+; correctly.
+;
+; Rdar: 9472944
+;
+; RUN: llvm-dis < %s.bc | not grep {i32 @llvm.x86.sse42.crc32.8(}
+; RUN: llvm-dis < %s.bc | grep {i32 @llvm.x86.sse42.crc32.32.8(}
+; RUN: llvm-dis < %s.bc | not grep {i32 @llvm.x86.sse42.crc32.16(}
+; RUN: llvm-dis < %s.bc | grep {i32 @llvm.x86.sse42.crc32.32.16(}
+; RUN: llvm-dis < %s.bc | not grep {i32 @llvm.x86.sse42.crc32.32(}
+; RUN: llvm-dis < %s.bc | grep {i32 @llvm.x86.sse42.crc32.32.32(}
+; RUN: llvm-dis < %s.bc | not grep {i64 @llvm.x86.sse42.crc64.8(}
+; RUN: llvm-dis < %s.bc | grep {i64 @llvm.x86.sse42.crc32.64.8(}
+; RUN: llvm-dis < %s.bc | not grep {i64 @llvm.x86.sse42.crc64.8(}
+; RUN: llvm-dis < %s.bc | grep {i64 @llvm.x86.sse42.crc32.64.8(}
+
Added: llvm/trunk/test/Bitcode/sse42_crc32.ll.bc
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/sse42_crc32.ll.bc?rev=132207&view=auto
==============================================================================
Binary file - no diff available.
Propchange: llvm/trunk/test/Bitcode/sse42_crc32.ll.bc
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
More information about the llvm-commits
mailing list