[llvm-commits] [llvm] r168997 - /llvm/trunk/test/Instrumentation/MemorySanitizer/msan_basic.ll
Evgeniy Stepanov
eugeni.stepanov at gmail.com
Fri Nov 30 04:12:20 PST 2012
Author: eugenis
Date: Fri Nov 30 06:12:20 2012
New Revision: 168997
URL: http://llvm.org/viewvc/llvm-project?rev=168997&view=rev
Log:
[msan] Tests for vector manipulation instructions.
Modified:
llvm/trunk/test/Instrumentation/MemorySanitizer/msan_basic.ll
Modified: llvm/trunk/test/Instrumentation/MemorySanitizer/msan_basic.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/MemorySanitizer/msan_basic.ll?rev=168997&r1=168996&r2=168997&view=diff
==============================================================================
--- llvm/trunk/test/Instrumentation/MemorySanitizer/msan_basic.ll (original)
+++ llvm/trunk/test/Instrumentation/MemorySanitizer/msan_basic.ll Fri Nov 30 06:12:20 2012
@@ -305,3 +305,40 @@
; CHECK: load i32* {{.*}} align 2
; CHECK: load volatile i32* {{.*}} align 2
; CHECK: }
+
+
+; Test vector manipulation instructions.
+
+define i32 @ExtractElement(<4 x i32> %vec, i32 %idx) {
+ %x = extractelement <4 x i32> %vec, i32 %idx
+ ret i32 %x
+}
+
+; CHECK: define i32 @ExtractElement
+; CHECK: extractelement
+; CHECK: br
+; CHECK: extractelement
+; CHECK: }
+
+define <4 x i32> @InsertElement(<4 x i32> %vec, i32 %idx, i32 %x) {
+ %vec1 = insertelement <4 x i32> %vec, i32 %x, i32 %idx
+ ret <4 x i32> %vec1
+}
+
+; CHECK: define <4 x i32> @InsertElement
+; CHECK: insertelement
+; CHECK: br
+; CHECK: insertelement
+; CHECK: }
+
+define <4 x i32> @ShuffleVector(<4 x i32> %vec, <4 x i32> %vec1) {
+ %vec2 = shufflevector <4 x i32> %vec, <4 x i32> %vec1,
+ <4 x i32> <i32 0, i32 4, i32 1, i32 5>
+ ret <4 x i32> %vec2
+}
+
+; CHECK: define <4 x i32> @ShuffleVector
+; CHECK: shufflevector
+; CHECK-NOT: br
+; CHECK: shufflevector
+; CHECK: }
More information about the llvm-commits
mailing list