llvm.org GIT mirror llvm / ad5312a
Convert a few Neon tests to use FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78108 91177308-0d34-0410-b5e6-96231b3b80d8 Bob Wilson 10 years ago
3 changed file(s) with 71 addition(s) and 20 deletion(s). Raw diff Collapse all Expand all
None ; RUN: llvm-as < %s | llc -march=arm -mattr=+neon > %t
1 ; RUN: grep {vaba\\.s8} %t | count 2
2 ; RUN: grep {vaba\\.s16} %t | count 2
3 ; RUN: grep {vaba\\.s32} %t | count 2
4 ; RUN: grep {vaba\\.u8} %t | count 2
5 ; RUN: grep {vaba\\.u16} %t | count 2
6 ; RUN: grep {vaba\\.u32} %t | count 2
0 ; RUN: llvm-as < %s | llc -march=arm -mattr=+neon | FileCheck %s
71
82 define <8 x i8> @vabas8(<8 x i8>* %A, <8 x i8>* %B, <8 x i8>* %C) nounwind {
3 ;CHECK: vabas8:
4 ;CHECK: vaba.s8
95 %tmp1 = load <8 x i8>* %A
106 %tmp2 = load <8 x i8>* %B
117 %tmp3 = load <8 x i8>* %C
1410 }
1511
1612 define <4 x i16> @vabas16(<4 x i16>* %A, <4 x i16>* %B, <4 x i16>* %C) nounwind {
13 ;CHECK: vabas16:
14 ;CHECK: vaba.s16
1715 %tmp1 = load <4 x i16>* %A
1816 %tmp2 = load <4 x i16>* %B
1917 %tmp3 = load <4 x i16>* %C
2220 }
2321
2422 define <2 x i32> @vabas32(<2 x i32>* %A, <2 x i32>* %B, <2 x i32>* %C) nounwind {
23 ;CHECK: vabas32:
24 ;CHECK: vaba.s32
2525 %tmp1 = load <2 x i32>* %A
2626 %tmp2 = load <2 x i32>* %B
2727 %tmp3 = load <2 x i32>* %C
3030 }
3131
3232 define <8 x i8> @vabau8(<8 x i8>* %A, <8 x i8>* %B, <8 x i8>* %C) nounwind {
33 ;CHECK: vabau8:
34 ;CHECK: vaba.u8
3335 %tmp1 = load <8 x i8>* %A
3436 %tmp2 = load <8 x i8>* %B
3537 %tmp3 = load <8 x i8>* %C
3840 }
3941
4042 define <4 x i16> @vabau16(<4 x i16>* %A, <4 x i16>* %B, <4 x i16>* %C) nounwind {
43 ;CHECK: vabau16:
44 ;CHECK: vaba.u16
4145 %tmp1 = load <4 x i16>* %A
4246 %tmp2 = load <4 x i16>* %B
4347 %tmp3 = load <4 x i16>* %C
4650 }
4751
4852 define <2 x i32> @vabau32(<2 x i32>* %A, <2 x i32>* %B, <2 x i32>* %C) nounwind {
53 ;CHECK: vabau32:
54 ;CHECK: vaba.u32
4955 %tmp1 = load <2 x i32>* %A
5056 %tmp2 = load <2 x i32>* %B
5157 %tmp3 = load <2 x i32>* %C
5460 }
5561
5662 define <16 x i8> @vabaQs8(<16 x i8>* %A, <16 x i8>* %B, <16 x i8>* %C) nounwind {
63 ;CHECK: vabaQs8:
64 ;CHECK: vaba.s8
5765 %tmp1 = load <16 x i8>* %A
5866 %tmp2 = load <16 x i8>* %B
5967 %tmp3 = load <16 x i8>* %C
6270 }
6371
6472 define <8 x i16> @vabaQs16(<8 x i16>* %A, <8 x i16>* %B, <8 x i16>* %C) nounwind {
73 ;CHECK: vabaQs16:
74 ;CHECK: vaba.s16
6575 %tmp1 = load <8 x i16>* %A
6676 %tmp2 = load <8 x i16>* %B
6777 %tmp3 = load <8 x i16>* %C
7080 }
7181
7282 define <4 x i32> @vabaQs32(<4 x i32>* %A, <4 x i32>* %B, <4 x i32>* %C) nounwind {
83 ;CHECK: vabaQs32:
84 ;CHECK: vaba.s32
7385 %tmp1 = load <4 x i32>* %A
7486 %tmp2 = load <4 x i32>* %B
7587 %tmp3 = load <4 x i32>* %C
7890 }
7991
8092 define <16 x i8> @vabaQu8(<16 x i8>* %A, <16 x i8>* %B, <16 x i8>* %C) nounwind {
93 ;CHECK: vabaQu8:
94 ;CHECK: vaba.u8
8195 %tmp1 = load <16 x i8>* %A
8296 %tmp2 = load <16 x i8>* %B
8397 %tmp3 = load <16 x i8>* %C
86100 }
87101
88102 define <8 x i16> @vabaQu16(<8 x i16>* %A, <8 x i16>* %B, <8 x i16>* %C) nounwind {
103 ;CHECK: vabaQu16:
104 ;CHECK: vaba.u16
89105 %tmp1 = load <8 x i16>* %A
90106 %tmp2 = load <8 x i16>* %B
91107 %tmp3 = load <8 x i16>* %C
94110 }
95111
96112 define <4 x i32> @vabaQu32(<4 x i32>* %A, <4 x i32>* %B, <4 x i32>* %C) nounwind {
113 ;CHECK: vabaQu32:
114 ;CHECK: vaba.u32
97115 %tmp1 = load <4 x i32>* %A
98116 %tmp2 = load <4 x i32>* %B
99117 %tmp3 = load <4 x i32>* %C
None ; RUN: llvm-as < %s | llc -march=arm -mattr=+neon > %t
1 ; RUN: grep {vabd\\.s8} %t | count 2
2 ; RUN: grep {vabd\\.s16} %t | count 2
3 ; RUN: grep {vabd\\.s32} %t | count 2
4 ; RUN: grep {vabd\\.u8} %t | count 2
5 ; RUN: grep {vabd\\.u16} %t | count 2
6 ; RUN: grep {vabd\\.u32} %t | count 2
7 ; RUN: grep {vabd\\.f32} %t | count 2
0 ; RUN: llvm-as < %s | llc -march=arm -mattr=+neon | FileCheck %s
81
92 define <8 x i8> @vabds8(<8 x i8>* %A, <8 x i8>* %B) nounwind {
3 ;CHECK: vabds8:
4 ;CHECK: vabd.s8
105 %tmp1 = load <8 x i8>* %A
116 %tmp2 = load <8 x i8>* %B
127 %tmp3 = call <8 x i8> @llvm.arm.neon.vabds.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2)
149 }
1510
1611 define <4 x i16> @vabds16(<4 x i16>* %A, <4 x i16>* %B) nounwind {
12 ;CHECK: vabds16:
13 ;CHECK: vabd.s16
1714 %tmp1 = load <4 x i16>* %A
1815 %tmp2 = load <4 x i16>* %B
1916 %tmp3 = call <4 x i16> @llvm.arm.neon.vabds.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2)
2118 }
2219
2320 define <2 x i32> @vabds32(<2 x i32>* %A, <2 x i32>* %B) nounwind {
21 ;CHECK: vabds32:
22 ;CHECK: vabd.s32
2423 %tmp1 = load <2 x i32>* %A
2524 %tmp2 = load <2 x i32>* %B
2625 %tmp3 = call <2 x i32> @llvm.arm.neon.vabds.v2i32(<2 x i32> %tmp1, <2 x i32> %tmp2)
2827 }
2928
3029 define <8 x i8> @vabdu8(<8 x i8>* %A, <8 x i8>* %B) nounwind {
30 ;CHECK: vabdu8:
31 ;CHECK: vabd.u8
3132 %tmp1 = load <8 x i8>* %A
3233 %tmp2 = load <8 x i8>* %B
3334 %tmp3 = call <8 x i8> @llvm.arm.neon.vabdu.v8i8(<8 x i8> %tmp1, <8 x i8> %tmp2)
3536 }
3637
3738 define <4 x i16> @vabdu16(<4 x i16>* %A, <4 x i16>* %B) nounwind {
39 ;CHECK: vabdu16:
40 ;CHECK: vabd.u16
3841 %tmp1 = load <4 x i16>* %A
3942 %tmp2 = load <4 x i16>* %B
4043 %tmp3 = call <4 x i16> @llvm.arm.neon.vabdu.v4i16(<4 x i16> %tmp1, <4 x i16> %tmp2)
4245 }
4346
4447 define <2 x i32> @vabdu32(<2 x i32>* %A, <2 x i32>* %B) nounwind {
48 ;CHECK: vabdu32:
49 ;CHECK: vabd.u32
4550 %tmp1 = load <2 x i32>* %A
4651 %tmp2 = load <2 x i32>* %B
4752 %tmp3 = call <2 x i32> @llvm.arm.neon.vabdu.v2i32(<2 x i32> %tmp1, <2 x i32> %tmp2)
4954 }
5055
5156 define <2 x float> @vabdf32(<2 x float>* %A, <2 x float>* %B) nounwind {
57 ;CHECK: vabdf32:
58 ;CHECK: vabd.f32
5259 %tmp1 = load <2 x float>* %A
5360 %tmp2 = load <2 x float>* %B
5461 %tmp3 = call <2 x float> @llvm.arm.neon.vabdf.v2f32(<2 x float> %tmp1, <2 x float> %tmp2)
5663 }
5764
5865 define <16 x i8> @vabdQs8(<16 x i8>* %A, <16 x i8>* %B) nounwind {
66 ;CHECK: vabdQs8:
67 ;CHECK: vabd.s8
5968 %tmp1 = load <16 x i8>* %A
6069 %tmp2 = load <16 x i8>* %B
6170 %tmp3 = call <16 x i8> @llvm.arm.neon.vabds.v16i8(<16 x i8> %tmp1, <16 x i8> %tmp2)
6372 }
6473
6574 define <8 x i16> @vabdQs16(<8 x i16>* %A, <8 x i16>* %B) nounwind {
75 ;CHECK: vabdQs16:
76 ;CHECK: vabd.s16
6677 %tmp1 = load <8 x i16>* %A
6778 %tmp2 = load <8 x i16>* %B
6879 %tmp3 = call <8 x i16> @llvm.arm.neon.vabds.v8i16(<8 x i16> %tmp1, <8 x i16> %tmp2)
7081 }
7182
7283 define <4 x i32> @vabdQs32(<4 x i32>* %A, <4 x i32>* %B) nounwind {
84 ;CHECK: vabdQs32:
85 ;CHECK: vabd.s32
7386 %tmp1 = load <4 x i32>* %A
7487 %tmp2 = load <4 x i32>* %B
7588 %tmp3 = call <4 x i32> @llvm.arm.neon.vabds.v4i32(<4 x i32> %tmp1, <4 x i32> %tmp2)
7790 }
7891
7992 define <16 x i8> @vabdQu8(<16 x i8>* %A, <16 x i8>* %B) nounwind {
93 ;CHECK: vabdQu8:
94 ;CHECK: vabd.u8
8095 %tmp1 = load <16 x i8>* %A
8196 %tmp2 = load <16 x i8>* %B
8297 %tmp3 = call <16 x i8> @llvm.arm.neon.vabdu.v16i8(<16 x i8> %tmp1, <16 x i8> %tmp2)
8499 }
85100
86101 define <8 x i16> @vabdQu16(<8 x i16>* %A, <8 x i16>* %B) nounwind {
102 ;CHECK: vabdQu16:
103 ;CHECK: vabd.u16
87104 %tmp1 = load <8 x i16>* %A
88105 %tmp2 = load <8 x i16>* %B
89106 %tmp3 = call <8 x i16> @llvm.arm.neon.vabdu.v8i16(<8 x i16> %tmp1, <8 x i16> %tmp2)
91108 }
92109
93110 define <4 x i32> @vabdQu32(<4 x i32>* %A, <4 x i32>* %B) nounwind {
111 ;CHECK: vabdQu32:
112 ;CHECK: vabd.u32
94113 %tmp1 = load <4 x i32>* %A
95114 %tmp2 = load <4 x i32>* %B
96115 %tmp3 = call <4 x i32> @llvm.arm.neon.vabdu.v4i32(<4 x i32> %tmp1, <4 x i32> %tmp2)
98117 }
99118
100119 define <4 x float> @vabdQf32(<4 x float>* %A, <4 x float>* %B) nounwind {
120 ;CHECK: vabdQf32:
121 ;CHECK: vabd.f32
101122 %tmp1 = load <4 x float>* %A
102123 %tmp2 = load <4 x float>* %B
103124 %tmp3 = call <4 x float> @llvm.arm.neon.vabdf.v4f32(<4 x float> %tmp1, <4 x float> %tmp2)
None ; RUN: llvm-as < %s | llc -march=arm -mattr=+neon > %t
1 ; RUN: grep {vabs\\.s8} %t | count 2
2 ; RUN: grep {vabs\\.s16} %t | count 2
3 ; RUN: grep {vabs\\.s32} %t | count 2
4 ; RUN: grep {vabs\\.f32} %t | count 2
0 ; RUN: llvm-as < %s | llc -march=arm -mattr=+neon | FileCheck %s
51
62 define <8 x i8> @vabss8(<8 x i8>* %A) nounwind {
3 ;CHECK: vabss8:
4 ;CHECK: vabs.s8
75 %tmp1 = load <8 x i8>* %A
86 %tmp2 = call <8 x i8> @llvm.arm.neon.vabs.v8i8(<8 x i8> %tmp1)
97 ret <8 x i8> %tmp2
108 }
119
1210 define <4 x i16> @vabss16(<4 x i16>* %A) nounwind {
11 ;CHECK: vabss16:
12 ;CHECK: vabs.s16
1313 %tmp1 = load <4 x i16>* %A
1414 %tmp2 = call <4 x i16> @llvm.arm.neon.vabs.v4i16(<4 x i16> %tmp1)
1515 ret <4 x i16> %tmp2
1616 }
1717
1818 define <2 x i32> @vabss32(<2 x i32>* %A) nounwind {
19 ;CHECK: vabss32:
20 ;CHECK: vabs.s32
1921 %tmp1 = load <2 x i32>* %A
2022 %tmp2 = call <2 x i32> @llvm.arm.neon.vabs.v2i32(<2 x i32> %tmp1)
2123 ret <2 x i32> %tmp2
2224 }
2325
2426 define <2 x float> @vabsf32(<2 x float>* %A) nounwind {
27 ;CHECK: vabsf32:
28 ;CHECK: vabs.f32
2529 %tmp1 = load <2 x float>* %A
2630 %tmp2 = call <2 x float> @llvm.arm.neon.vabsf.v2f32(<2 x float> %tmp1)
2731 ret <2 x float> %tmp2
2832 }
2933
3034 define <16 x i8> @vabsQs8(<16 x i8>* %A) nounwind {
35 ;CHECK: vabsQs8:
36 ;CHECK: vabs.s8
3137 %tmp1 = load <16 x i8>* %A
3238 %tmp2 = call <16 x i8> @llvm.arm.neon.vabs.v16i8(<16 x i8> %tmp1)
3339 ret <16 x i8> %tmp2
3440 }
3541
3642 define <8 x i16> @vabsQs16(<8 x i16>* %A) nounwind {
43 ;CHECK: vabsQs16:
44 ;CHECK: vabs.s16
3745 %tmp1 = load <8 x i16>* %A
3846 %tmp2 = call <8 x i16> @llvm.arm.neon.vabs.v8i16(<8 x i16> %tmp1)
3947 ret <8 x i16> %tmp2
4048 }
4149
4250 define <4 x i32> @vabsQs32(<4 x i32>* %A) nounwind {
51 ;CHECK: vabsQs32:
52 ;CHECK: vabs.s32
4353 %tmp1 = load <4 x i32>* %A
4454 %tmp2 = call <4 x i32> @llvm.arm.neon.vabs.v4i32(<4 x i32> %tmp1)
4555 ret <4 x i32> %tmp2
4656 }
4757
4858 define <4 x float> @vabsQf32(<4 x float>* %A) nounwind {
59 ;CHECK: vabsQf32:
60 ;CHECK: vabs.f32
4961 %tmp1 = load <4 x float>* %A
5062 %tmp2 = call <4 x float> @llvm.arm.neon.vabsf.v4f32(<4 x float> %tmp1)
5163 ret <4 x float> %tmp2