blob: b40904c04072b40ad67882ed3b54d1efff47c1f5 [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
10@ CHECK: vext.8 d16, d17, d16, #3 @ encoding: [0xa0,0x03,0xf1,0xf2]
11@ CHECK: vext.8 d16, d17, d16, #5 @ encoding: [0xa0,0x05,0xf1,0xf2]
12@ CHECK: vext.8 q8, q9, q8, #3 @ encoding: [0xe0,0x03,0xf2,0xf2]
13@ CHECK: vext.8 q8, q9, q8, #7 @ encoding: [0xe0,0x07,0xf2,0xf2]
14@ CHECK: vext.16 d16, d17, d16, #3 @ encoding: [0xa0,0x06,0xf1,0xf2]
15@ CHECK: vext.32 q8, q9, q8, #3 @ encoding: [0xe0,0x0c,0xf2,0xf2]
16
17
Owen Andersone5271a92010-11-01 18:13:11 +000018 vtrn.8 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000019 vtrn.16 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000020 vtrn.32 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000021 vtrn.8 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000022 vtrn.16 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000023 vtrn.32 q9, q8
Jim Grosbach5ff64c72011-12-08 00:41:54 +000024
25@ CHECK: vtrn.8 d17, d16 @ encoding: [0xa0,0x10,0xf2,0xf3]
26@ CHECK: vtrn.16 d17, d16 @ encoding: [0xa0,0x10,0xf6,0xf3]
27@ CHECK: vtrn.32 d17, d16 @ encoding: [0xa0,0x10,0xfa,0xf3]
28@ CHECK: vtrn.8 q9, q8 @ encoding: [0xe0,0x20,0xf2,0xf3]
29@ CHECK: vtrn.16 q9, q8 @ encoding: [0xe0,0x20,0xf6,0xf3]
30@ CHECK: vtrn.32 q9, q8 @ encoding: [0xe0,0x20,0xfa,0xf3]
31
32
Owen Andersone5271a92010-11-01 18:13:11 +000033 vuzp.8 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000034 vuzp.16 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000035 vuzp.8 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000036 vuzp.16 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000037 vuzp.32 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000038 vzip.8 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000039 vzip.16 d17, d16
Owen Andersone5271a92010-11-01 18:13:11 +000040 vzip.8 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000041 vzip.16 q9, q8
Owen Andersone5271a92010-11-01 18:13:11 +000042 vzip.32 q9, q8
Jim Grosbach131b45e2011-11-15 20:49:46 +000043
Jim Grosbach5ff64c72011-12-08 00:41:54 +000044@ CHECK: vuzp.8 d17, d16 @ encoding: [0x20,0x11,0xf2,0xf3]
45@ CHECK: vuzp.16 d17, d16 @ encoding: [0x20,0x11,0xf6,0xf3]
46@ CHECK: vuzp.8 q9, q8 @ encoding: [0x60,0x21,0xf2,0xf3]
47@ CHECK: vuzp.16 q9, q8 @ encoding: [0x60,0x21,0xf6,0xf3]
48@ CHECK: vuzp.32 q9, q8 @ encoding: [0x60,0x21,0xfa,0xf3]
49@ CHECK: vzip.8 d17, d16 @ encoding: [0xa0,0x11,0xf2,0xf3]
50@ CHECK: vzip.16 d17, d16 @ encoding: [0xa0,0x11,0xf6,0xf3]
51@ CHECK: vzip.8 q9, q8 @ encoding: [0xe0,0x21,0xf2,0xf3]
52@ CHECK: vzip.16 q9, q8 @ encoding: [0xe0,0x21,0xf6,0xf3]
53@ CHECK: vzip.32 q9, q8 @ encoding: [0xe0,0x21,0xfa,0xf3]
54
Jim Grosbach131b45e2011-11-15 20:49:46 +000055
56@ VTRN alternate size suffices
57
58 vtrn.8 d3, d9
59 vtrn.i8 d3, d9
60 vtrn.u8 d3, d9
61 vtrn.p8 d3, d9
62 vtrn.16 d3, d9
63 vtrn.i16 d3, d9
64 vtrn.u16 d3, d9
65 vtrn.p16 d3, d9
66 vtrn.32 d3, d9
67 vtrn.i32 d3, d9
68 vtrn.u32 d3, d9
69 vtrn.f32 d3, d9
70 vtrn.f d3, d9
71
72 vtrn.8 q14, q6
73 vtrn.i8 q14, q6
74 vtrn.u8 q14, q6
75 vtrn.p8 q14, q6
76 vtrn.16 q14, q6
77 vtrn.i16 q14, q6
78 vtrn.u16 q14, q6
79 vtrn.p16 q14, q6
80 vtrn.32 q14, q6
81 vtrn.i32 q14, q6
82 vtrn.u32 q14, q6
83 vtrn.f32 q14, q6
84 vtrn.f q14, q6
85
86@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3]
87@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3]
88@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3]
89@ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3]
90@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3]
91@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3]
92@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3]
93@ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3]
94@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
95@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
96@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
97@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
98@ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3]
99
100@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3]
101@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3]
102@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3]
103@ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3]
104@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3]
105@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3]
106@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3]
107@ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3]
108@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
109@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
110@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
111@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
112@ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3]
113