blob: 26734c161b741e36dad89c1c6146ca5de34043c1 [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 Grosbachdb731be2011-12-08 22:19:04 +00009 vext.64 q8, q9, q8, #1
Jim Grosbach5ff64c72011-12-08 00:41:54 +000010
Jim Grosbach6600f522011-12-08 00:43:47 +000011 vext.8 d17, d16, #3
12 vext.8 d7, d11, #5
13 vext.8 q3, q8, #3
14 vext.8 q9, q4, #7
15 vext.16 d1, d26, #3
16 vext.32 q5, q8, #3
Jim Grosbachdb731be2011-12-08 22:19:04 +000017 vext.64 q5, q8, #1
Jim Grosbach6600f522011-12-08 00:43:47 +000018
19
Jim Grosbach5ff64c72011-12-08 00:41:54 +000020@ CHECK: vext.8 d16, d17, d16, #3 @ encoding: [0xa0,0x03,0xf1,0xf2]
21@ CHECK: vext.8 d16, d17, d16, #5 @ encoding: [0xa0,0x05,0xf1,0xf2]
22@ CHECK: vext.8 q8, q9, q8, #3 @ encoding: [0xe0,0x03,0xf2,0xf2]
23@ CHECK: vext.8 q8, q9, q8, #7 @ encoding: [0xe0,0x07,0xf2,0xf2]
24@ CHECK: vext.16 d16, d17, d16, #3 @ encoding: [0xa0,0x06,0xf1,0xf2]
25@ CHECK: vext.32 q8, q9, q8, #3 @ encoding: [0xe0,0x0c,0xf2,0xf2]
Jim Grosbachdb731be2011-12-08 22:19:04 +000026@ CHECK: vext.64 q8, q9, q8, #1 @ encoding: [0xe0,0x08,0xf2,0xf2]
Jim Grosbach5ff64c72011-12-08 00:41:54 +000027
Jim Grosbach6600f522011-12-08 00:43:47 +000028@ CHECK: vext.8 d17, d17, d16, #3 @ encoding: [0xa0,0x13,0xf1,0xf2]
29@ CHECK: vext.8 d7, d7, d11, #5 @ encoding: [0x0b,0x75,0xb7,0xf2]
30@ CHECK: vext.8 q3, q3, q8, #3 @ encoding: [0x60,0x63,0xb6,0xf2]
31@ CHECK: vext.8 q9, q9, q4, #7 @ encoding: [0xc8,0x27,0xf2,0xf2]
32@ CHECK: vext.16 d1, d1, d26, #3 @ encoding: [0x2a,0x16,0xb1,0xf2]
33@ CHECK: vext.32 q5, q5, q8, #3 @ encoding: [0x60,0xac,0xba,0xf2]
Jim Grosbachdb731be2011-12-08 22:19:04 +000034@ CHECK: vext.64 q5, q5, q8, #1 @ encoding: [0x60,0xa8,0xba,0xf2]
Jim Grosbach6600f522011-12-08 00:43:47 +000035
Jim Grosbach5ff64c72011-12-08 00:41:54 +000036
Owen Andersone5271a92010-11-01 18:13:11 +000037 vtrn.8 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000038 vtrn.16 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000039 vtrn.32 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000040 vtrn.8 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000041 vtrn.16 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000042 vtrn.32 q9, q8
Jim Grosbach5ff64c72011-12-08 00:41:54 +000043
44@ CHECK: vtrn.8 d17, d16 @ encoding: [0xa0,0x10,0xf2,0xf3]
45@ CHECK: vtrn.16 d17, d16 @ encoding: [0xa0,0x10,0xf6,0xf3]
46@ CHECK: vtrn.32 d17, d16 @ encoding: [0xa0,0x10,0xfa,0xf3]
47@ CHECK: vtrn.8 q9, q8 @ encoding: [0xe0,0x20,0xf2,0xf3]
48@ CHECK: vtrn.16 q9, q8 @ encoding: [0xe0,0x20,0xf6,0xf3]
49@ CHECK: vtrn.32 q9, q8 @ encoding: [0xe0,0x20,0xfa,0xf3]
50
51
Owen Andersone5271a92010-11-01 18:13:11 +000052 vuzp.8 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000053 vuzp.16 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000054 vuzp.8 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000055 vuzp.16 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000056 vuzp.32 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000057 vzip.8 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000058 vzip.16 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000059 vzip.8 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000060 vzip.16 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000061 vzip.32 q9, q8
Jim Grosbach131b45e2011-11-15 20:49:46 +000062
Jim Grosbach5ff64c72011-12-08 00:41:54 +000063@ CHECK: vuzp.8 d17, d16 @ encoding: [0x20,0x11,0xf2,0xf3]
64@ CHECK: vuzp.16 d17, d16 @ encoding: [0x20,0x11,0xf6,0xf3]
65@ CHECK: vuzp.8 q9, q8 @ encoding: [0x60,0x21,0xf2,0xf3]
66@ CHECK: vuzp.16 q9, q8 @ encoding: [0x60,0x21,0xf6,0xf3]
67@ CHECK: vuzp.32 q9, q8 @ encoding: [0x60,0x21,0xfa,0xf3]
68@ CHECK: vzip.8 d17, d16 @ encoding: [0xa0,0x11,0xf2,0xf3]
69@ CHECK: vzip.16 d17, d16 @ encoding: [0xa0,0x11,0xf6,0xf3]
70@ CHECK: vzip.8 q9, q8 @ encoding: [0xe0,0x21,0xf2,0xf3]
71@ CHECK: vzip.16 q9, q8 @ encoding: [0xe0,0x21,0xf6,0xf3]
72@ CHECK: vzip.32 q9, q8 @ encoding: [0xe0,0x21,0xfa,0xf3]
73
Jim Grosbach131b45e2011-11-15 20:49:46 +000074
75@ VTRN alternate size suffices
76
77 vtrn.8 d3, d9
78 vtrn.i8 d3, d9
79 vtrn.u8 d3, d9
80 vtrn.p8 d3, d9
81 vtrn.16 d3, d9
82 vtrn.i16 d3, d9
83 vtrn.u16 d3, d9
84 vtrn.p16 d3, d9
85 vtrn.32 d3, d9
86 vtrn.i32 d3, d9
87 vtrn.u32 d3, d9
88 vtrn.f32 d3, d9
89 vtrn.f d3, d9
90
91 vtrn.8 q14, q6
92 vtrn.i8 q14, q6
93 vtrn.u8 q14, q6
94 vtrn.p8 q14, q6
95 vtrn.16 q14, q6
96 vtrn.i16 q14, q6
97 vtrn.u16 q14, q6
98 vtrn.p16 q14, q6
99 vtrn.32 q14, q6
100 vtrn.i32 q14, q6
101 vtrn.u32 q14, q6
102 vtrn.f32 q14, q6
103 vtrn.f q14, q6
104
105@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3]
106@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3]
107@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3]
108@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3]
109@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3]
110@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3]
111@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3]
112@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3]
113@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
114@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
115@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
116@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
117@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
118
119@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3]
120@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3]
121@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3]
122@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3]
123@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3]
124@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3]
125@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3]
126@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3]
127@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
128@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
129@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
130@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
131@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
132