blob: 632657a6c5ae7e646b30b06f4f4ad17244fdbed5 [file] [log] [blame]
Jim Grosbach833c93c2010-11-01 16:59:54 +00001// RUN: llvm-mc -mcpu=cortex-a8 -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s
Owen Anderson1cfb0432010-10-29 01:01:56 +00002
3
4// CHECK: vadd.i8 d16, d17, d16 @ encoding: [0xa0,0x08,0x41,0xf2]
5 vadd.i8 d16, d17, d16
6// CHECK: vadd.i16 d16, d17, d16 @ encoding: [0xa0,0x08,0x51,0xf2]
7 vadd.i16 d16, d17, d16
8// CHECK: vadd.i64 d16, d17, d16 @ encoding: [0xa0,0x08,0x71,0xf2]
9 vadd.i64 d16, d17, d16
10// CHECK: vadd.i32 d16, d17, d16 @ encoding: [0xa0,0x08,0x61,0xf2]
11 vadd.i32 d16, d17, d16
12// CHECK: vadd.f32 d16, d16, d17 @ encoding: [0xa1,0x0d,0x40,0xf2]
13 vadd.f32 d16, d16, d17
14// CHECK: vadd.f32 q8, q8, q9 @ encoding: [0xe2,0x0d,0x40,0xf2]
15 vadd.f32 q8, q8, q9
16
17// CHECK: vaddl.s8 q8, d17, d16 @ encoding: [0xa0,0x00,0xc1,0xf2]
18 vaddl.s8 q8, d17, d16
19// CHECK: vaddl.s16 q8, d17, d16 @ encoding: [0xa0,0x00,0xd1,0xf2]
20 vaddl.s16 q8, d17, d16
21// CHECK: vaddl.s32 q8, d17, d16 @ encoding: [0xa0,0x00,0xe1,0xf2]
22 vaddl.s32 q8, d17, d16
23// CHECK: vaddl.u8 q8, d17, d16 @ encoding: [0xa0,0x00,0xc1,0xf3]
24 vaddl.u8 q8, d17, d16
25// CHECK: vaddl.u16 q8, d17, d16 @ encoding: [0xa0,0x00,0xd1,0xf3]
26 vaddl.u16 q8, d17, d16
27// CHECK: vaddl.u32 q8, d17, d16 @ encoding: [0xa0,0x00,0xe1,0xf3]
28 vaddl.u32 q8, d17, d16
29
30// CHECK: vaddw.s8 q8, q8, d18 @ encoding: [0xa2,0x01,0xc0,0xf2]
31 vaddw.s8 q8, q8, d18
32// CHECK: vaddw.s16 q8, q8, d18 @ encoding: [0xa2,0x01,0xd0,0xf2]
33 vaddw.s16 q8, q8, d18
34// CHECK: vaddw.s32 q8, q8, d18 @ encoding: [0xa2,0x01,0xe0,0xf2]
35 vaddw.s32 q8, q8, d18
36// CHECK: vaddw.u8 q8, q8, d18 @ encoding: [0xa2,0x01,0xc0,0xf3]
37 vaddw.u8 q8, q8, d18
38// CHECK: vaddw.u16 q8, q8, d18 @ encoding: [0xa2,0x01,0xd0,0xf3]
39 vaddw.u16 q8, q8, d18
40// CHECK: vaddw.u32 q8, q8, d18 @ encoding: [0xa2,0x01,0xe0,0xf3]
41 vaddw.u32 q8, q8, d18
42
43// CHECK: vhadd.s8 d16, d16, d17 @ encoding: [0xa1,0x00,0x40,0xf2]
44 vhadd.s8 d16, d16, d17
45// CHECK: vhadd.s16 d16, d16, d17 @ encoding: [0xa1,0x00,0x50,0xf2]
46 vhadd.s16 d16, d16, d17
47// CHECK: vhadd.s32 d16, d16, d17 @ encoding: [0xa1,0x00,0x60,0xf2]
48 vhadd.s32 d16, d16, d17
49// CHECK: vhadd.u8 d16, d16, d17 @ encoding: [0xa1,0x00,0x40,0xf3]
50 vhadd.u8 d16, d16, d17
51// CHECK: vhadd.u16 d16, d16, d17 @ encoding: [0xa1,0x00,0x50,0xf3]
52 vhadd.u16 d16, d16, d17
53// CHECK: vhadd.u32 d16, d16, d17 @ encoding: [0xa1,0x00,0x60,0xf3]
54 vhadd.u32 d16, d16, d17
55// CHECK: vhadd.s8 q8, q8, q9 @ encoding: [0xe2,0x00,0x40,0xf2]
56 vhadd.s8 q8, q8, q9
57// CHECK: vhadd.s16 q8, q8, q9 @ encoding: [0xe2,0x00,0x50,0xf2]
58 vhadd.s16 q8, q8, q9
59// CHECK: vhadd.s32 q8, q8, q9 @ encoding: [0xe2,0x00,0x60,0xf2]
60 vhadd.s32 q8, q8, q9
61 // CHECK: vhadd.u8 q8, q8, q9 @ encoding: [0xe2,0x00,0x40,0xf3]
62 vhadd.u8 q8, q8, q9
63// CHECK: vhadd.u16 q8, q8, q9 @ encoding: [0xe2,0x00,0x50,0xf3]
64 vhadd.u16 q8, q8, q9
65// CHECK: vhadd.u32 q8, q8, q9 @ encoding: [0xe2,0x00,0x60,0xf3]
66 vhadd.u32 q8, q8, q9
67
68// CHECK: vrhadd.s8 d16, d16, d17 @ encoding: [0xa1,0x01,0x40,0xf2]
69 vrhadd.s8 d16, d16, d17
70// CHECK: vrhadd.s16 d16, d16, d17 @ encoding: [0xa1,0x01,0x50,0xf2]
71 vrhadd.s16 d16, d16, d17
72// CHECK: vrhadd.s32 d16, d16, d17 @ encoding: [0xa1,0x01,0x60,0xf2]
73 vrhadd.s32 d16, d16, d17
74// CHECK: vrhadd.u8 d16, d16, d17 @ encoding: [0xa1,0x01,0x40,0xf3]
75 vrhadd.u8 d16, d16, d17
76// CHECK: vrhadd.u16 d16, d16, d17 @ encoding: [0xa1,0x01,0x50,0xf3]
77 vrhadd.u16 d16, d16, d17
78// CHECK: vrhadd.u32 d16, d16, d17 @ encoding: [0xa1,0x01,0x60,0xf3]
79 vrhadd.u32 d16, d16, d17
80// CHECK: vrhadd.s8 q8, q8, q9 @ encoding: [0xe2,0x01,0x40,0xf2]
81 vrhadd.s8 q8, q8, q9
82// CHECK: vrhadd.s16 q8, q8, q9 @ encoding: [0xe2,0x01,0x50,0xf2]
83 vrhadd.s16 q8, q8, q9
84// CHECK: vrhadd.s32 q8, q8, q9 @ encoding: [0xe2,0x01,0x60,0xf2]
85 vrhadd.s32 q8, q8, q9
86// CHECK: vrhadd.u8 q8, q8, q9 @ encoding: [0xe2,0x01,0x40,0xf3]
87 vrhadd.u8 q8, q8, q9
88// CHECK: vrhadd.u16 q8, q8, q9 @ encoding: [0xe2,0x01,0x50,0xf3]
89 vrhadd.u16 q8, q8, q9
90// CHECK: vrhadd.u32 q8, q8, q9 @ encoding: [0xe2,0x01,0x60,0xf3]
91 vrhadd.u32 q8, q8, q9
92
93// CHECK: vqadd.s8 d16, d16, d17 @ encoding: [0xb1,0x00,0x40,0xf2]
94 vqadd.s8 d16, d16, d17
95// CHECK: vqadd.s16 d16, d16, d17 @ encoding: [0xb1,0x00,0x50,0xf2]
96 vqadd.s16 d16, d16, d17
97// CHECK: vqadd.s32 d16, d16, d17 @ encoding: [0xb1,0x00,0x60,0xf2]
98 vqadd.s32 d16, d16, d17
99// CHECK: vqadd.s64 d16, d16, d17 @ encoding: [0xb1,0x00,0x70,0xf2]
100 vqadd.s64 d16, d16, d17
101// CHECK: vqadd.u8 d16, d16, d17 @ encoding: [0xb1,0x00,0x40,0xf3]
102 vqadd.u8 d16, d16, d17
103// CHECK: vqadd.u16 d16, d16, d17 @ encoding: [0xb1,0x00,0x50,0xf3]
104 vqadd.u16 d16, d16, d17
105// CHECK: vqadd.u32 d16, d16, d17 @ encoding: [0xb1,0x00,0x60,0xf3]
106 vqadd.u32 d16, d16, d17
107// CHECK: vqadd.u64 d16, d16, d17 @ encoding: [0xb1,0x00,0x70,0xf3]
108 vqadd.u64 d16, d16, d17
109// CHECK: vqadd.s8 q8, q8, q9 @ encoding: [0xf2,0x00,0x40,0xf2]
110 vqadd.s8 q8, q8, q9
111// CHECK: vqadd.s16 q8, q8, q9 @ encoding: [0xf2,0x00,0x50,0xf2]
112 vqadd.s16 q8, q8, q9
113// CHECK: vqadd.s32 q8, q8, q9 @ encoding: [0xf2,0x00,0x60,0xf2]
114 vqadd.s32 q8, q8, q9
115// CHECK: vqadd.s64 q8, q8, q9 @ encoding: [0xf2,0x00,0x70,0xf2]
116 vqadd.s64 q8, q8, q9
117// CHECK: vqadd.u8 q8, q8, q9 @ encoding: [0xf2,0x00,0x40,0xf3]
118 vqadd.u8 q8, q8, q9
119// CHECK: vqadd.u16 q8, q8, q9 @ encoding: [0xf2,0x00,0x50,0xf3]
120 vqadd.u16 q8, q8, q9
121// CHECK: vqadd.u32 q8, q8, q9 @ encoding: [0xf2,0x00,0x60,0xf3]
122 vqadd.u32 q8, q8, q9
123// CHECK: vqadd.u64 q8, q8, q9 @ encoding: [0xf2,0x00,0x70,0xf3]
124 vqadd.u64 q8, q8, q9
125
126// CHECK: vaddhn.i16 d16, q8, q9 @ encoding: [0xa2,0x04,0xc0,0xf2]
127 vaddhn.i16 d16, q8, q9
128// CHECK: vaddhn.i32 d16, q8, q9 @ encoding: [0xa2,0x04,0xd0,0xf2]
129 vaddhn.i32 d16, q8, q9
130// CHECK: vaddhn.i64 d16, q8, q9 @ encoding: [0xa2,0x04,0xe0,0xf2]
131 vaddhn.i64 d16, q8, q9
132// CHECK: vraddhn.i16 d16, q8, q9 @ encoding: [0xa2,0x04,0xc0,0xf3]
133 vraddhn.i16 d16, q8, q9
134// CHECK: vraddhn.i32 d16, q8, q9 @ encoding: [0xa2,0x04,0xd0,0xf3]
135 vraddhn.i32 d16, q8, q9
136// CHECK: vraddhn.i64 d16, q8, q9 @ encoding: [0xa2,0x04,0xe0,0xf3]
137 vraddhn.i64 d16, q8, q9