~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/ARM/vld2.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
%struct.__neon_int8x8x2_t = type { <8 x i8>,  <8 x i8> }
 
4
%struct.__neon_int16x4x2_t = type { <4 x i16>, <4 x i16> }
 
5
%struct.__neon_int32x2x2_t = type { <2 x i32>, <2 x i32> }
 
6
%struct.__neon_float32x2x2_t = type { <2 x float>, <2 x float> }
 
7
%struct.__neon_int64x1x2_t = type { <1 x i64>, <1 x i64> }
 
8
 
 
9
%struct.__neon_int8x16x2_t = type { <16 x i8>,  <16 x i8> }
 
10
%struct.__neon_int16x8x2_t = type { <8 x i16>, <8 x i16> }
 
11
%struct.__neon_int32x4x2_t = type { <4 x i32>, <4 x i32> }
 
12
%struct.__neon_float32x4x2_t = type { <4 x float>, <4 x float> }
 
13
 
 
14
define <8 x i8> @vld2i8(i8* %A) nounwind {
 
15
;CHECK: vld2i8:
 
16
;CHECK: vld2.8
 
17
        %tmp1 = call %struct.__neon_int8x8x2_t @llvm.arm.neon.vld2.v8i8(i8* %A)
 
18
        %tmp2 = extractvalue %struct.__neon_int8x8x2_t %tmp1, 0
 
19
        %tmp3 = extractvalue %struct.__neon_int8x8x2_t %tmp1, 1
 
20
        %tmp4 = add <8 x i8> %tmp2, %tmp3
 
21
        ret <8 x i8> %tmp4
 
22
}
 
23
 
 
24
define <4 x i16> @vld2i16(i16* %A) nounwind {
 
25
;CHECK: vld2i16:
 
26
;CHECK: vld2.16
 
27
        %tmp1 = call %struct.__neon_int16x4x2_t @llvm.arm.neon.vld2.v4i16(i16* %A)
 
28
        %tmp2 = extractvalue %struct.__neon_int16x4x2_t %tmp1, 0
 
29
        %tmp3 = extractvalue %struct.__neon_int16x4x2_t %tmp1, 1
 
30
        %tmp4 = add <4 x i16> %tmp2, %tmp3
 
31
        ret <4 x i16> %tmp4
 
32
}
 
33
 
 
34
define <2 x i32> @vld2i32(i32* %A) nounwind {
 
35
;CHECK: vld2i32:
 
36
;CHECK: vld2.32
 
37
        %tmp1 = call %struct.__neon_int32x2x2_t @llvm.arm.neon.vld2.v2i32(i32* %A)
 
38
        %tmp2 = extractvalue %struct.__neon_int32x2x2_t %tmp1, 0
 
39
        %tmp3 = extractvalue %struct.__neon_int32x2x2_t %tmp1, 1
 
40
        %tmp4 = add <2 x i32> %tmp2, %tmp3
 
41
        ret <2 x i32> %tmp4
 
42
}
 
43
 
 
44
define <2 x float> @vld2f(float* %A) nounwind {
 
45
;CHECK: vld2f:
 
46
;CHECK: vld2.32
 
47
        %tmp1 = call %struct.__neon_float32x2x2_t @llvm.arm.neon.vld2.v2f32(float* %A)
 
48
        %tmp2 = extractvalue %struct.__neon_float32x2x2_t %tmp1, 0
 
49
        %tmp3 = extractvalue %struct.__neon_float32x2x2_t %tmp1, 1
 
50
        %tmp4 = add <2 x float> %tmp2, %tmp3
 
51
        ret <2 x float> %tmp4
 
52
}
 
53
 
 
54
define <1 x i64> @vld2i64(i64* %A) nounwind {
 
55
;CHECK: vld2i64:
 
56
;CHECK: vld1.64
 
57
        %tmp1 = call %struct.__neon_int64x1x2_t @llvm.arm.neon.vld2.v1i64(i64* %A)
 
58
        %tmp2 = extractvalue %struct.__neon_int64x1x2_t %tmp1, 0
 
59
        %tmp3 = extractvalue %struct.__neon_int64x1x2_t %tmp1, 1
 
60
        %tmp4 = add <1 x i64> %tmp2, %tmp3
 
61
        ret <1 x i64> %tmp4
 
62
}
 
63
 
 
64
define <16 x i8> @vld2Qi8(i8* %A) nounwind {
 
65
;CHECK: vld2Qi8:
 
66
;CHECK: vld2.8
 
67
        %tmp1 = call %struct.__neon_int8x16x2_t @llvm.arm.neon.vld2.v16i8(i8* %A)
 
68
        %tmp2 = extractvalue %struct.__neon_int8x16x2_t %tmp1, 0
 
69
        %tmp3 = extractvalue %struct.__neon_int8x16x2_t %tmp1, 1
 
70
        %tmp4 = add <16 x i8> %tmp2, %tmp3
 
71
        ret <16 x i8> %tmp4
 
72
}
 
73
 
 
74
define <8 x i16> @vld2Qi16(i16* %A) nounwind {
 
75
;CHECK: vld2Qi16:
 
76
;CHECK: vld2.16
 
77
        %tmp1 = call %struct.__neon_int16x8x2_t @llvm.arm.neon.vld2.v8i16(i16* %A)
 
78
        %tmp2 = extractvalue %struct.__neon_int16x8x2_t %tmp1, 0
 
79
        %tmp3 = extractvalue %struct.__neon_int16x8x2_t %tmp1, 1
 
80
        %tmp4 = add <8 x i16> %tmp2, %tmp3
 
81
        ret <8 x i16> %tmp4
 
82
}
 
83
 
 
84
define <4 x i32> @vld2Qi32(i32* %A) nounwind {
 
85
;CHECK: vld2Qi32:
 
86
;CHECK: vld2.32
 
87
        %tmp1 = call %struct.__neon_int32x4x2_t @llvm.arm.neon.vld2.v4i32(i32* %A)
 
88
        %tmp2 = extractvalue %struct.__neon_int32x4x2_t %tmp1, 0
 
89
        %tmp3 = extractvalue %struct.__neon_int32x4x2_t %tmp1, 1
 
90
        %tmp4 = add <4 x i32> %tmp2, %tmp3
 
91
        ret <4 x i32> %tmp4
 
92
}
 
93
 
 
94
define <4 x float> @vld2Qf(float* %A) nounwind {
 
95
;CHECK: vld2Qf:
 
96
;CHECK: vld2.32
 
97
        %tmp1 = call %struct.__neon_float32x4x2_t @llvm.arm.neon.vld2.v4f32(float* %A)
 
98
        %tmp2 = extractvalue %struct.__neon_float32x4x2_t %tmp1, 0
 
99
        %tmp3 = extractvalue %struct.__neon_float32x4x2_t %tmp1, 1
 
100
        %tmp4 = add <4 x float> %tmp2, %tmp3
 
101
        ret <4 x float> %tmp4
 
102
}
 
103
 
 
104
declare %struct.__neon_int8x8x2_t @llvm.arm.neon.vld2.v8i8(i8*) nounwind readonly
 
105
declare %struct.__neon_int16x4x2_t @llvm.arm.neon.vld2.v4i16(i8*) nounwind readonly
 
106
declare %struct.__neon_int32x2x2_t @llvm.arm.neon.vld2.v2i32(i8*) nounwind readonly
 
107
declare %struct.__neon_float32x2x2_t @llvm.arm.neon.vld2.v2f32(i8*) nounwind readonly
 
108
declare %struct.__neon_int64x1x2_t @llvm.arm.neon.vld2.v1i64(i8*) nounwind readonly
 
109
 
 
110
declare %struct.__neon_int8x16x2_t @llvm.arm.neon.vld2.v16i8(i8*) nounwind readonly
 
111
declare %struct.__neon_int16x8x2_t @llvm.arm.neon.vld2.v8i16(i8*) nounwind readonly
 
112
declare %struct.__neon_int32x4x2_t @llvm.arm.neon.vld2.v4i32(i8*) nounwind readonly
 
113
declare %struct.__neon_float32x4x2_t @llvm.arm.neon.vld2.v4f32(i8*) nounwind readonly