mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-09 05:40:38 +00:00
[msan] Tests for vector manipulation instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168997 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4334dd96a9
commit
98c63d0e1c
@ -305,3 +305,40 @@ define i32 @ShadowLoadAlignmentSmall() nounwind uwtable {
|
||||
; 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: }
|
||||
|
Loading…
x
Reference in New Issue
Block a user