blob: f43266cf85236806dfadd79b3f2a6261b636090a [file] [log] [blame]
Bob Wilsonfe27c512009-10-07 23:47:21 +00001; RUN: llc < %s -march=arm -mattr=+neon | FileCheck %s
Bob Wilson5bafff32009-06-22 23:27:02 +00002
3define <8 x i8> @v_movi8() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +00004;CHECK: v_movi8:
5;CHECK: vmov.i8
Bob Wilson5bafff32009-06-22 23:27:02 +00006 ret <8 x i8> < i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8 >
7}
8
9define <4 x i16> @v_movi16a() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000010;CHECK: v_movi16a:
11;CHECK: vmov.i16
Bob Wilson5bafff32009-06-22 23:27:02 +000012 ret <4 x i16> < i16 16, i16 16, i16 16, i16 16 >
13}
14
15; 0x1000 = 4096
16define <4 x i16> @v_movi16b() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000017;CHECK: v_movi16b:
18;CHECK: vmov.i16
Bob Wilson5bafff32009-06-22 23:27:02 +000019 ret <4 x i16> < i16 4096, i16 4096, i16 4096, i16 4096 >
20}
21
22define <2 x i32> @v_movi32a() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000023;CHECK: v_movi32a:
24;CHECK: vmov.i32
Bob Wilson5bafff32009-06-22 23:27:02 +000025 ret <2 x i32> < i32 32, i32 32 >
26}
27
28; 0x2000 = 8192
29define <2 x i32> @v_movi32b() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000030;CHECK: v_movi32b:
31;CHECK: vmov.i32
Bob Wilson5bafff32009-06-22 23:27:02 +000032 ret <2 x i32> < i32 8192, i32 8192 >
33}
34
35; 0x200000 = 2097152
36define <2 x i32> @v_movi32c() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000037;CHECK: v_movi32c:
38;CHECK: vmov.i32
Bob Wilson5bafff32009-06-22 23:27:02 +000039 ret <2 x i32> < i32 2097152, i32 2097152 >
40}
41
42; 0x20000000 = 536870912
43define <2 x i32> @v_movi32d() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000044;CHECK: v_movi32d:
45;CHECK: vmov.i32
Bob Wilson5bafff32009-06-22 23:27:02 +000046 ret <2 x i32> < i32 536870912, i32 536870912 >
47}
48
49; 0x20ff = 8447
50define <2 x i32> @v_movi32e() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000051;CHECK: v_movi32e:
52;CHECK: vmov.i32
Bob Wilson5bafff32009-06-22 23:27:02 +000053 ret <2 x i32> < i32 8447, i32 8447 >
54}
55
56; 0x20ffff = 2162687
57define <2 x i32> @v_movi32f() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000058;CHECK: v_movi32f:
59;CHECK: vmov.i32
Bob Wilson5bafff32009-06-22 23:27:02 +000060 ret <2 x i32> < i32 2162687, i32 2162687 >
61}
62
63; 0xff0000ff0000ffff = 18374687574888349695
64define <1 x i64> @v_movi64() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000065;CHECK: v_movi64:
66;CHECK: vmov.i64
Bob Wilson5bafff32009-06-22 23:27:02 +000067 ret <1 x i64> < i64 18374687574888349695 >
68}
69
70define <16 x i8> @v_movQi8() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000071;CHECK: v_movQi8:
72;CHECK: vmov.i8
Bob Wilson5bafff32009-06-22 23:27:02 +000073 ret <16 x i8> < i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8 >
74}
75
76define <8 x i16> @v_movQi16a() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000077;CHECK: v_movQi16a:
78;CHECK: vmov.i16
Bob Wilson5bafff32009-06-22 23:27:02 +000079 ret <8 x i16> < i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16, i16 16 >
80}
81
82; 0x1000 = 4096
83define <8 x i16> @v_movQi16b() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000084;CHECK: v_movQi16b:
85;CHECK: vmov.i16
Bob Wilson5bafff32009-06-22 23:27:02 +000086 ret <8 x i16> < i16 4096, i16 4096, i16 4096, i16 4096, i16 4096, i16 4096, i16 4096, i16 4096 >
87}
88
89define <4 x i32> @v_movQi32a() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000090;CHECK: v_movQi32a:
91;CHECK: vmov.i32
Bob Wilson5bafff32009-06-22 23:27:02 +000092 ret <4 x i32> < i32 32, i32 32, i32 32, i32 32 >
93}
94
95; 0x2000 = 8192
96define <4 x i32> @v_movQi32b() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +000097;CHECK: v_movQi32b:
98;CHECK: vmov.i32
Bob Wilson5bafff32009-06-22 23:27:02 +000099 ret <4 x i32> < i32 8192, i32 8192, i32 8192, i32 8192 >
100}
101
102; 0x200000 = 2097152
103define <4 x i32> @v_movQi32c() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +0000104;CHECK: v_movQi32c:
105;CHECK: vmov.i32
Bob Wilson5bafff32009-06-22 23:27:02 +0000106 ret <4 x i32> < i32 2097152, i32 2097152, i32 2097152, i32 2097152 >
107}
108
109; 0x20000000 = 536870912
110define <4 x i32> @v_movQi32d() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +0000111;CHECK: v_movQi32d:
112;CHECK: vmov.i32
Bob Wilson5bafff32009-06-22 23:27:02 +0000113 ret <4 x i32> < i32 536870912, i32 536870912, i32 536870912, i32 536870912 >
114}
115
116; 0x20ff = 8447
117define <4 x i32> @v_movQi32e() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +0000118;CHECK: v_movQi32e:
119;CHECK: vmov.i32
Bob Wilson5bafff32009-06-22 23:27:02 +0000120 ret <4 x i32> < i32 8447, i32 8447, i32 8447, i32 8447 >
121}
122
123; 0x20ffff = 2162687
124define <4 x i32> @v_movQi32f() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +0000125;CHECK: v_movQi32f:
126;CHECK: vmov.i32
Bob Wilson5bafff32009-06-22 23:27:02 +0000127 ret <4 x i32> < i32 2162687, i32 2162687, i32 2162687, i32 2162687 >
128}
129
130; 0xff0000ff0000ffff = 18374687574888349695
131define <2 x i64> @v_movQi64() nounwind {
Bob Wilsonfe27c512009-10-07 23:47:21 +0000132;CHECK: v_movQi64:
133;CHECK: vmov.i64
Bob Wilson5bafff32009-06-22 23:27:02 +0000134 ret <2 x i64> < i64 18374687574888349695, i64 18374687574888349695 >
135}