blob: d62f79a7016348c6c5cffc6c524285c6272ceae8 [file] [log] [blame]
Bob Wilsonc3ff5382010-12-15 22:14:01 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
Owen Andersone5271a92010-11-01 18:13:11 +00002
Owen Andersone5271a92010-11-01 18:13:11 +00003 vext.8 d16, d17, d16, #3
Owen Andersone5271a92010-11-01 18:13:11 +00004 vext.8 d16, d17, d16, #5
Owen Andersone5271a92010-11-01 18:13:11 +00005 vext.8 q8, q9, q8, #3
Owen Andersone5271a92010-11-01 18:13:11 +00006 vext.8 q8, q9, q8, #7
Owen Andersone5271a92010-11-01 18:13:11 +00007 vext.16 d16, d17, d16, #3
Owen Andersone5271a92010-11-01 18:13:11 +00008 vext.32 q8, q9, q8, #3
Jim Grosbach5ff64c72011-12-08 00:41:54 +00009
Jim Grosbach6600f522011-12-08 00:43:47 +000010 vext.8 d17, d16, #3
11 vext.8 d7, d11, #5
12 vext.8 q3, q8, #3
13 vext.8 q9, q4, #7
14 vext.16 d1, d26, #3
15 vext.32 q5, q8, #3
16
17
Jim Grosbach5ff64c72011-12-08 00:41:54 +000018@ CHECK: vext.8 d16, d17, d16, #3 @ encoding: [0xa0,0x03,0xf1,0xf2]
19@ CHECK: vext.8 d16, d17, d16, #5 @ encoding: [0xa0,0x05,0xf1,0xf2]
20@ CHECK: vext.8 q8, q9, q8, #3 @ encoding: [0xe0,0x03,0xf2,0xf2]
21@ CHECK: vext.8 q8, q9, q8, #7 @ encoding: [0xe0,0x07,0xf2,0xf2]
22@ CHECK: vext.16 d16, d17, d16, #3 @ encoding: [0xa0,0x06,0xf1,0xf2]
23@ CHECK: vext.32 q8, q9, q8, #3 @ encoding: [0xe0,0x0c,0xf2,0xf2]
24
Jim Grosbach6600f522011-12-08 00:43:47 +000025@ CHECK: vext.8 d17, d17, d16, #3 @ encoding: [0xa0,0x13,0xf1,0xf2]
26@ CHECK: vext.8 d7, d7, d11, #5 @ encoding: [0x0b,0x75,0xb7,0xf2]
27@ CHECK: vext.8 q3, q3, q8, #3 @ encoding: [0x60,0x63,0xb6,0xf2]
28@ CHECK: vext.8 q9, q9, q4, #7 @ encoding: [0xc8,0x27,0xf2,0xf2]
29@ CHECK: vext.16 d1, d1, d26, #3 @ encoding: [0x2a,0x16,0xb1,0xf2]
30@ CHECK: vext.32 q5, q5, q8, #3 @ encoding: [0x60,0xac,0xba,0xf2]
31
Jim Grosbach5ff64c72011-12-08 00:41:54 +000032
Owen Andersone5271a92010-11-01 18:13:11 +000033 vtrn.8 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000034 vtrn.16 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000035 vtrn.32 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000036 vtrn.8 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000037 vtrn.16 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000038 vtrn.32 q9, q8
Jim Grosbach5ff64c72011-12-08 00:41:54 +000039
40@ CHECK: vtrn.8 d17, d16 @ encoding: [0xa0,0x10,0xf2,0xf3]
41@ CHECK: vtrn.16 d17, d16 @ encoding: [0xa0,0x10,0xf6,0xf3]
42@ CHECK: vtrn.32 d17, d16 @ encoding: [0xa0,0x10,0xfa,0xf3]
43@ CHECK: vtrn.8 q9, q8 @ encoding: [0xe0,0x20,0xf2,0xf3]
44@ CHECK: vtrn.16 q9, q8 @ encoding: [0xe0,0x20,0xf6,0xf3]
45@ CHECK: vtrn.32 q9, q8 @ encoding: [0xe0,0x20,0xfa,0xf3]
46
47
Owen Andersone5271a92010-11-01 18:13:11 +000048 vuzp.8 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000049 vuzp.16 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000050 vuzp.8 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000051 vuzp.16 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000052 vuzp.32 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000053 vzip.8 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000054 vzip.16 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000055 vzip.8 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000056 vzip.16 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000057 vzip.32 q9, q8
Jim Grosbach131b45e2011-11-15 20:49:46 +000058
Jim Grosbach5ff64c72011-12-08 00:41:54 +000059@ CHECK: vuzp.8 d17, d16 @ encoding: [0x20,0x11,0xf2,0xf3]
60@ CHECK: vuzp.16 d17, d16 @ encoding: [0x20,0x11,0xf6,0xf3]
61@ CHECK: vuzp.8 q9, q8 @ encoding: [0x60,0x21,0xf2,0xf3]
62@ CHECK: vuzp.16 q9, q8 @ encoding: [0x60,0x21,0xf6,0xf3]
63@ CHECK: vuzp.32 q9, q8 @ encoding: [0x60,0x21,0xfa,0xf3]
64@ CHECK: vzip.8 d17, d16 @ encoding: [0xa0,0x11,0xf2,0xf3]
65@ CHECK: vzip.16 d17, d16 @ encoding: [0xa0,0x11,0xf6,0xf3]
66@ CHECK: vzip.8 q9, q8 @ encoding: [0xe0,0x21,0xf2,0xf3]
67@ CHECK: vzip.16 q9, q8 @ encoding: [0xe0,0x21,0xf6,0xf3]
68@ CHECK: vzip.32 q9, q8 @ encoding: [0xe0,0x21,0xfa,0xf3]
69
Jim Grosbach131b45e2011-11-15 20:49:46 +000070
71@ VTRN alternate size suffices
72
73 vtrn.8 d3, d9
74 vtrn.i8 d3, d9
75 vtrn.u8 d3, d9
76 vtrn.p8 d3, d9
77 vtrn.16 d3, d9
78 vtrn.i16 d3, d9
79 vtrn.u16 d3, d9
80 vtrn.p16 d3, d9
81 vtrn.32 d3, d9
82 vtrn.i32 d3, d9
83 vtrn.u32 d3, d9
84 vtrn.f32 d3, d9
85 vtrn.f d3, d9
86
87 vtrn.8 q14, q6
88 vtrn.i8 q14, q6
89 vtrn.u8 q14, q6
90 vtrn.p8 q14, q6
91 vtrn.16 q14, q6
92 vtrn.i16 q14, q6
93 vtrn.u16 q14, q6
94 vtrn.p16 q14, q6
95 vtrn.32 q14, q6
96 vtrn.i32 q14, q6
97 vtrn.u32 q14, q6
98 vtrn.f32 q14, q6
99 vtrn.f q14, q6
100
101@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3]
102@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3]
103@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3]
104@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3]
105@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3]
106@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3]
107@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3]
108@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3]
109@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
110@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
111@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
112@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
113@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
114
115@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3]
116@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3]
117@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3]
118@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3]
119@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3]
120@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3]
121@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3]
122@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3]
123@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
124@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
125@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
126@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
127@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
128