~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/ARM/vstlane.ll

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-03-12 11:30:04 UTC
  • mfrom: (0.41.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100312113004-b0fop4bkycszdd0z
Tags: 0.96~rc1+dfsg-0ubuntu1
* New upstream RC - FFE (LP: #537636):
  - Add OfficialDatabaseOnly option to clamav-base.postinst.in
  - Add LocalSocketGroup option to clamav-base.postinst.in
  - Add LocalSocketMode option to clamav-base.postinst.in
  - Add CrossFilesystems option to clamav-base.postinst.in
  - Add ClamukoScannerCount option to clamav-base.postinst.in
  - Add BytecodeSecurity opiton to clamav-base.postinst.in
  - Add DetectionStatsHostID option to clamav-freshclam.postinst.in
  - Add Bytecode option to clamav-freshclam.postinst.in
  - Add MilterSocketGroup option to clamav-milter.postinst.in
  - Add MilterSocketMode option to clamav-milter.postinst.in
  - Add ReportHostname option to clamav-milter.postinst.in
  - Bump libclamav SO version to 6.1.0 in libclamav6.install
  - Drop clamdmon from clamav.examples (no longer shipped by upstream)
  - Drop libclamav.a from libclamav-dev.install (not built by upstream)
  - Update SO version for lintian override for libclamav6
  - Add new Bytecode Testing Tool, usr/bin/clambc, to clamav.install
  - Add build-depends on python and python-setuptools for new test suite
  - Update debian/copyright for the embedded copy of llvm (using the system
    llvm is not currently feasible)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: llc < %s -march=arm -mattr=+neon | FileCheck %s
 
2
 
 
3
define void @vst2lanei8(i8* %A, <8 x i8>* %B) nounwind {
 
4
;CHECK: vst2lanei8:
 
5
;CHECK: vst2.8
 
6
        %tmp1 = load <8 x i8>* %B
 
7
        call void @llvm.arm.neon.vst2lane.v8i8(i8* %A, <8 x i8> %tmp1, <8 x i8> %tmp1, i32 1)
 
8
        ret void
 
9
}
 
10
 
 
11
define void @vst2lanei16(i16* %A, <4 x i16>* %B) nounwind {
 
12
;CHECK: vst2lanei16:
 
13
;CHECK: vst2.16
 
14
        %tmp1 = load <4 x i16>* %B
 
15
        call void @llvm.arm.neon.vst2lane.v4i16(i16* %A, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 1)
 
16
        ret void
 
17
}
 
18
 
 
19
define void @vst2lanei32(i32* %A, <2 x i32>* %B) nounwind {
 
20
;CHECK: vst2lanei32:
 
21
;CHECK: vst2.32
 
22
        %tmp1 = load <2 x i32>* %B
 
23
        call void @llvm.arm.neon.vst2lane.v2i32(i32* %A, <2 x i32> %tmp1, <2 x i32> %tmp1, i32 1)
 
24
        ret void
 
25
}
 
26
 
 
27
define void @vst2lanef(float* %A, <2 x float>* %B) nounwind {
 
28
;CHECK: vst2lanef:
 
29
;CHECK: vst2.32
 
30
        %tmp1 = load <2 x float>* %B
 
31
        call void @llvm.arm.neon.vst2lane.v2f32(float* %A, <2 x float> %tmp1, <2 x float> %tmp1, i32 1)
 
32
        ret void
 
33
}
 
34
 
 
35
define void @vst2laneQi16(i16* %A, <8 x i16>* %B) nounwind {
 
36
;CHECK: vst2laneQi16:
 
37
;CHECK: vst2.16
 
38
        %tmp1 = load <8 x i16>* %B
 
39
        call void @llvm.arm.neon.vst2lane.v8i16(i16* %A, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 1)
 
40
        ret void
 
41
}
 
42
 
 
43
define void @vst2laneQi32(i32* %A, <4 x i32>* %B) nounwind {
 
44
;CHECK: vst2laneQi32:
 
45
;CHECK: vst2.32
 
46
        %tmp1 = load <4 x i32>* %B
 
47
        call void @llvm.arm.neon.vst2lane.v4i32(i32* %A, <4 x i32> %tmp1, <4 x i32> %tmp1, i32 2)
 
48
        ret void
 
49
}
 
50
 
 
51
define void @vst2laneQf(float* %A, <4 x float>* %B) nounwind {
 
52
;CHECK: vst2laneQf:
 
53
;CHECK: vst2.32
 
54
        %tmp1 = load <4 x float>* %B
 
55
        call void @llvm.arm.neon.vst2lane.v4f32(float* %A, <4 x float> %tmp1, <4 x float> %tmp1, i32 3)
 
56
        ret void
 
57
}
 
58
 
 
59
declare void @llvm.arm.neon.vst2lane.v8i8(i8*, <8 x i8>, <8 x i8>, i32) nounwind
 
60
declare void @llvm.arm.neon.vst2lane.v4i16(i8*, <4 x i16>, <4 x i16>, i32) nounwind
 
61
declare void @llvm.arm.neon.vst2lane.v2i32(i8*, <2 x i32>, <2 x i32>, i32) nounwind
 
62
declare void @llvm.arm.neon.vst2lane.v2f32(i8*, <2 x float>, <2 x float>, i32) nounwind
 
63
 
 
64
declare void @llvm.arm.neon.vst2lane.v8i16(i8*, <8 x i16>, <8 x i16>, i32) nounwind
 
65
declare void @llvm.arm.neon.vst2lane.v4i32(i8*, <4 x i32>, <4 x i32>, i32) nounwind
 
66
declare void @llvm.arm.neon.vst2lane.v4f32(i8*, <4 x float>, <4 x float>, i32) nounwind
 
67
 
 
68
define void @vst3lanei8(i8* %A, <8 x i8>* %B) nounwind {
 
69
;CHECK: vst3lanei8:
 
70
;CHECK: vst3.8
 
71
        %tmp1 = load <8 x i8>* %B
 
72
        call void @llvm.arm.neon.vst3lane.v8i8(i8* %A, <8 x i8> %tmp1, <8 x i8> %tmp1, <8 x i8> %tmp1, i32 1)
 
73
        ret void
 
74
}
 
75
 
 
76
define void @vst3lanei16(i16* %A, <4 x i16>* %B) nounwind {
 
77
;CHECK: vst3lanei16:
 
78
;CHECK: vst3.16
 
79
        %tmp1 = load <4 x i16>* %B
 
80
        call void @llvm.arm.neon.vst3lane.v4i16(i16* %A, <4 x i16> %tmp1, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 1)
 
81
        ret void
 
82
}
 
83
 
 
84
define void @vst3lanei32(i32* %A, <2 x i32>* %B) nounwind {
 
85
;CHECK: vst3lanei32:
 
86
;CHECK: vst3.32
 
87
        %tmp1 = load <2 x i32>* %B
 
88
        call void @llvm.arm.neon.vst3lane.v2i32(i32* %A, <2 x i32> %tmp1, <2 x i32> %tmp1, <2 x i32> %tmp1, i32 1)
 
89
        ret void
 
90
}
 
91
 
 
92
define void @vst3lanef(float* %A, <2 x float>* %B) nounwind {
 
93
;CHECK: vst3lanef:
 
94
;CHECK: vst3.32
 
95
        %tmp1 = load <2 x float>* %B
 
96
        call void @llvm.arm.neon.vst3lane.v2f32(float* %A, <2 x float> %tmp1, <2 x float> %tmp1, <2 x float> %tmp1, i32 1)
 
97
        ret void
 
98
}
 
99
 
 
100
define void @vst3laneQi16(i16* %A, <8 x i16>* %B) nounwind {
 
101
;CHECK: vst3laneQi16:
 
102
;CHECK: vst3.16
 
103
        %tmp1 = load <8 x i16>* %B
 
104
        call void @llvm.arm.neon.vst3lane.v8i16(i16* %A, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 6)
 
105
        ret void
 
106
}
 
107
 
 
108
define void @vst3laneQi32(i32* %A, <4 x i32>* %B) nounwind {
 
109
;CHECK: vst3laneQi32:
 
110
;CHECK: vst3.32
 
111
        %tmp1 = load <4 x i32>* %B
 
112
        call void @llvm.arm.neon.vst3lane.v4i32(i32* %A, <4 x i32> %tmp1, <4 x i32> %tmp1, <4 x i32> %tmp1, i32 0)
 
113
        ret void
 
114
}
 
115
 
 
116
define void @vst3laneQf(float* %A, <4 x float>* %B) nounwind {
 
117
;CHECK: vst3laneQf:
 
118
;CHECK: vst3.32
 
119
        %tmp1 = load <4 x float>* %B
 
120
        call void @llvm.arm.neon.vst3lane.v4f32(float* %A, <4 x float> %tmp1, <4 x float> %tmp1, <4 x float> %tmp1, i32 1)
 
121
        ret void
 
122
}
 
123
 
 
124
declare void @llvm.arm.neon.vst3lane.v8i8(i8*, <8 x i8>, <8 x i8>, <8 x i8>, i32) nounwind
 
125
declare void @llvm.arm.neon.vst3lane.v4i16(i8*, <4 x i16>, <4 x i16>, <4 x i16>, i32) nounwind
 
126
declare void @llvm.arm.neon.vst3lane.v2i32(i8*, <2 x i32>, <2 x i32>, <2 x i32>, i32) nounwind
 
127
declare void @llvm.arm.neon.vst3lane.v2f32(i8*, <2 x float>, <2 x float>, <2 x float>, i32) nounwind
 
128
 
 
129
declare void @llvm.arm.neon.vst3lane.v8i16(i8*, <8 x i16>, <8 x i16>, <8 x i16>, i32) nounwind
 
130
declare void @llvm.arm.neon.vst3lane.v4i32(i8*, <4 x i32>, <4 x i32>, <4 x i32>, i32) nounwind
 
131
declare void @llvm.arm.neon.vst3lane.v4f32(i8*, <4 x float>, <4 x float>, <4 x float>, i32) nounwind
 
132
 
 
133
 
 
134
define void @vst4lanei8(i8* %A, <8 x i8>* %B) nounwind {
 
135
;CHECK: vst4lanei8:
 
136
;CHECK: vst4.8
 
137
        %tmp1 = load <8 x i8>* %B
 
138
        call void @llvm.arm.neon.vst4lane.v8i8(i8* %A, <8 x i8> %tmp1, <8 x i8> %tmp1, <8 x i8> %tmp1, <8 x i8> %tmp1, i32 1)
 
139
        ret void
 
140
}
 
141
 
 
142
define void @vst4lanei16(i16* %A, <4 x i16>* %B) nounwind {
 
143
;CHECK: vst4lanei16:
 
144
;CHECK: vst4.16
 
145
        %tmp1 = load <4 x i16>* %B
 
146
        call void @llvm.arm.neon.vst4lane.v4i16(i16* %A, <4 x i16> %tmp1, <4 x i16> %tmp1, <4 x i16> %tmp1, <4 x i16> %tmp1, i32 1)
 
147
        ret void
 
148
}
 
149
 
 
150
define void @vst4lanei32(i32* %A, <2 x i32>* %B) nounwind {
 
151
;CHECK: vst4lanei32:
 
152
;CHECK: vst4.32
 
153
        %tmp1 = load <2 x i32>* %B
 
154
        call void @llvm.arm.neon.vst4lane.v2i32(i32* %A, <2 x i32> %tmp1, <2 x i32> %tmp1, <2 x i32> %tmp1, <2 x i32> %tmp1, i32 1)
 
155
        ret void
 
156
}
 
157
 
 
158
define void @vst4lanef(float* %A, <2 x float>* %B) nounwind {
 
159
;CHECK: vst4lanef:
 
160
;CHECK: vst4.32
 
161
        %tmp1 = load <2 x float>* %B
 
162
        call void @llvm.arm.neon.vst4lane.v2f32(float* %A, <2 x float> %tmp1, <2 x float> %tmp1, <2 x float> %tmp1, <2 x float> %tmp1, i32 1)
 
163
        ret void
 
164
}
 
165
 
 
166
define void @vst4laneQi16(i16* %A, <8 x i16>* %B) nounwind {
 
167
;CHECK: vst4laneQi16:
 
168
;CHECK: vst4.16
 
169
        %tmp1 = load <8 x i16>* %B
 
170
        call void @llvm.arm.neon.vst4lane.v8i16(i16* %A, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, <8 x i16> %tmp1, i32 7)
 
171
        ret void
 
172
}
 
173
 
 
174
define void @vst4laneQi32(i32* %A, <4 x i32>* %B) nounwind {
 
175
;CHECK: vst4laneQi32:
 
176
;CHECK: vst4.32
 
177
        %tmp1 = load <4 x i32>* %B
 
178
        call void @llvm.arm.neon.vst4lane.v4i32(i32* %A, <4 x i32> %tmp1, <4 x i32> %tmp1, <4 x i32> %tmp1, <4 x i32> %tmp1, i32 2)
 
179
        ret void
 
180
}
 
181
 
 
182
define void @vst4laneQf(float* %A, <4 x float>* %B) nounwind {
 
183
;CHECK: vst4laneQf:
 
184
;CHECK: vst4.32
 
185
        %tmp1 = load <4 x float>* %B
 
186
        call void @llvm.arm.neon.vst4lane.v4f32(float* %A, <4 x float> %tmp1, <4 x float> %tmp1, <4 x float> %tmp1, <4 x float> %tmp1, i32 1)
 
187
        ret void
 
188
}
 
189
 
 
190
declare void @llvm.arm.neon.vst4lane.v8i8(i8*, <8 x i8>, <8 x i8>, <8 x i8>, <8 x i8>, i32) nounwind
 
191
declare void @llvm.arm.neon.vst4lane.v4i16(i8*, <4 x i16>, <4 x i16>, <4 x i16>, <4 x i16>, i32) nounwind
 
192
declare void @llvm.arm.neon.vst4lane.v2i32(i8*, <2 x i32>, <2 x i32>, <2 x i32>, <2 x i32>, i32) nounwind
 
193
declare void @llvm.arm.neon.vst4lane.v2f32(i8*, <2 x float>, <2 x float>, <2 x float>, <2 x float>, i32) nounwind
 
194
 
 
195
declare void @llvm.arm.neon.vst4lane.v8i16(i8*, <8 x i16>, <8 x i16>, <8 x i16>, <8 x i16>, i32) nounwind
 
196
declare void @llvm.arm.neon.vst4lane.v4i32(i8*, <4 x i32>, <4 x i32>, <4 x i32>, <4 x i32>, i32) nounwind
 
197
declare void @llvm.arm.neon.vst4lane.v4f32(i8*, <4 x float>, <4 x float>, <4 x float>, <4 x float>, i32) nounwind