[WinEH] Remove unused intrinsic llvm.x86.seh.restoreframe
[oota-llvm.git] / test / MC / ARM / neont2-mov-encoding.s
1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s
2
3 .code 16
4
5         vmov.i8 d16, #0x8
6         vmov.i16        d16, #0x10
7         vmov.i16        d16, #0x1000
8         vmov.i32        d16, #0x20
9         vmov.i32        d16, #0x2000
10         vmov.i32        d16, #0x200000
11         vmov.i32        d16, #0x20000000
12         vmov.i32        d16, #0x20FF
13         vmov.i32        d16, #0x20FFFF
14         vmov.i64        d16, #0xFF0000FF0000FFFF
15
16 @ CHECK: vmov.i8        d16, #0x8       @ encoding: [0xc0,0xef,0x18,0x0e]
17 @ CHECK: vmov.i16       d16, #0x10      @ encoding: [0xc1,0xef,0x10,0x08]
18 @ CHECK: vmov.i16       d16, #0x1000    @ encoding: [0xc1,0xef,0x10,0x0a]
19 @ CHECK: vmov.i32       d16, #0x20      @ encoding: [0xc2,0xef,0x10,0x00]
20 @ CHECK: vmov.i32       d16, #0x2000    @ encoding: [0xc2,0xef,0x10,0x02]
21 @ CHECK: vmov.i32       d16, #0x200000  @ encoding: [0xc2,0xef,0x10,0x04]
22 @ CHECK: vmov.i32       d16, #0x20000000 @ encoding: [0xc2,0xef,0x10,0x06]
23 @ CHECK: vmov.i32       d16, #0x20ff    @ encoding: [0xc2,0xef,0x10,0x0c]
24 @ CHECK: vmov.i32       d16, #0x20ffff  @ encoding: [0xc2,0xef,0x10,0x0d]
25 @ CHECK: vmov.i64 d16, #0xff0000ff0000ffff @ encoding: [0xc1,0xff,0x33,0x0e]
26
27
28         vmov.i8 q8, #0x8
29         vmov.i16        q8, #0x10
30         vmov.i16        q8, #0x1000
31         vmov.i32        q8, #0x20
32         vmov.i32        q8, #0x2000
33         vmov.i32        q8, #0x200000
34         vmov.i32        q8, #0x20000000
35         vmov.i32        q8, #0x20FF
36         vmov.i32        q8, #0x20FFFF
37         vmov.i64        q8, #0xFF0000FF0000FFFF
38
39 @ CHECK: vmov.i8        q8, #0x8        @ encoding: [0xc0,0xef,0x58,0x0e]
40 @ CHECK: vmov.i16       q8, #0x10       @ encoding: [0xc1,0xef,0x50,0x08]
41 @ CHECK: vmov.i16       q8, #0x1000     @ encoding: [0xc1,0xef,0x50,0x0a]
42 @ CHECK: vmov.i32       q8, #0x20       @ encoding: [0xc2,0xef,0x50,0x00]
43 @ CHECK: vmov.i32       q8, #0x2000     @ encoding: [0xc2,0xef,0x50,0x02]
44 @ CHECK: vmov.i32       q8, #0x200000   @ encoding: [0xc2,0xef,0x50,0x04]
45 @ CHECK: vmov.i32       q8, #0x20000000 @ encoding: [0xc2,0xef,0x50,0x06]
46 @ CHECK: vmov.i32       q8, #0x20ff     @ encoding: [0xc2,0xef,0x50,0x0c]
47 @ CHECK: vmov.i32       q8, #0x20ffff   @ encoding: [0xc2,0xef,0x50,0x0d]
48 @ CHECK: vmov.i64 q8, #0xff0000ff0000ffff @ encoding: [0xc1,0xff,0x73,0x0e]
49
50
51         vmvn.i16        d16, #0x10
52         vmvn.i16        d16, #0x1000
53         vmvn.i32        d16, #0x20
54         vmvn.i32        d16, #0x2000
55         vmvn.i32        d16, #0x200000
56         vmvn.i32        d16, #0x20000000
57         vmvn.i32        d16, #0x20FF
58         vmvn.i32        d16, #0x20FFFF
59
60 @ CHECK: vmvn.i16       d16, #0x10      @ encoding: [0xc1,0xef,0x30,0x08]
61 @ CHECK: vmvn.i16       d16, #0x1000    @ encoding: [0xc1,0xef,0x30,0x0a]
62 @ CHECK: vmvn.i32       d16, #0x20      @ encoding: [0xc2,0xef,0x30,0x00]
63 @ CHECK: vmvn.i32       d16, #0x2000    @ encoding: [0xc2,0xef,0x30,0x02]
64 @ CHECK: vmvn.i32       d16, #0x200000  @ encoding: [0xc2,0xef,0x30,0x04]
65 @ CHECK: vmvn.i32       d16, #0x20000000 @ encoding: [0xc2,0xef,0x30,0x06]
66 @ CHECK: vmvn.i32       d16, #0x20ff    @ encoding: [0xc2,0xef,0x30,0x0c]
67 @ CHECK: vmvn.i32       d16, #0x20ffff  @ encoding: [0xc2,0xef,0x30,0x0d]
68
69
70         vmovl.s8        q8, d16
71         vmovl.s16       q8, d16
72         vmovl.s32       q8, d16
73         vmovl.u8        q8, d16
74         vmovl.u16       q8, d16
75         vmovl.u32       q8, d16
76         vmovn.i16       d16, q8
77         vmovn.i32       d16, q8
78         vmovn.i64       d16, q8
79         vqmovn.s16      d16, q8
80         vqmovn.s32      d16, q8
81         vqmovn.s64      d16, q8
82         vqmovn.u16      d16, q8
83         vqmovn.u32      d16, q8
84         vqmovn.u64      d16, q8
85         vqmovun.s16     d16, q8
86         vqmovun.s32     d16, q8
87         vqmovun.s64     d16, q8
88
89 @ CHECK: vmovl.s8       q8, d16         @ encoding: [0xc8,0xef,0x30,0x0a]
90 @ CHECK: vmovl.s16      q8, d16         @ encoding: [0xd0,0xef,0x30,0x0a]
91 @ CHECK: vmovl.s32      q8, d16         @ encoding: [0xe0,0xef,0x30,0x0a]
92 @ CHECK: vmovl.u8       q8, d16         @ encoding: [0xc8,0xff,0x30,0x0a]
93 @ CHECK: vmovl.u16      q8, d16         @ encoding: [0xd0,0xff,0x30,0x0a]
94 @ CHECK: vmovl.u32      q8, d16         @ encoding: [0xe0,0xff,0x30,0x0a]
95 @ CHECK: vmovn.i16      d16, q8         @ encoding: [0xf2,0xff,0x20,0x02]
96 @ CHECK: vmovn.i32      d16, q8         @ encoding: [0xf6,0xff,0x20,0x02]
97 @ CHECK: vmovn.i64      d16, q8         @ encoding: [0xfa,0xff,0x20,0x02]
98 @ CHECK: vqmovn.s16     d16, q8         @ encoding: [0xf2,0xff,0xa0,0x02]
99 @ CHECK: vqmovn.s32     d16, q8         @ encoding: [0xf6,0xff,0xa0,0x02]
100 @ CHECK: vqmovn.s64     d16, q8         @ encoding: [0xfa,0xff,0xa0,0x02]
101 @ CHECK: vqmovn.u16     d16, q8         @ encoding: [0xf2,0xff,0xe0,0x02]
102 @ CHECK: vqmovn.u32     d16, q8         @ encoding: [0xf6,0xff,0xe0,0x02]
103 @ CHECK: vqmovn.u64     d16, q8         @ encoding: [0xfa,0xff,0xe0,0x02]
104 @ CHECK: vqmovun.s16    d16, q8         @ encoding: [0xf2,0xff,0x60,0x02]
105 @ CHECK: vqmovun.s32    d16, q8         @ encoding: [0xf6,0xff,0x60,0x02]
106 @ CHECK: vqmovun.s64    d16, q8         @ encoding: [0xfa,0xff,0x60,0x02]
107
108
109         vmov.s8 r0, d16[1]
110         vmov.s16        r0, d16[1]
111         vmov.u8 r0, d16[1]
112         vmov.u16        r0, d16[1]
113         vmov.32 r0, d16[1]
114         vmov.8  d16[1], r1
115         vmov.16 d16[1], r1
116         vmov.32 d16[1], r1
117         vmov.8  d18[1], r1
118         vmov.16 d18[1], r1
119         vmov.32 d18[1], r1
120
121 @ CHECK: vmov.s8        r0, d16[1]      @ encoding: [0x50,0xee,0xb0,0x0b]
122 @ CHECK: vmov.s16       r0, d16[1]      @ encoding: [0x10,0xee,0xf0,0x0b]
123 @ CHECK: vmov.u8        r0, d16[1]      @ encoding: [0xd0,0xee,0xb0,0x0b]
124 @ CHECK: vmov.u16       r0, d16[1]      @ encoding: [0x90,0xee,0xf0,0x0b]
125 @ CHECK: vmov.32        r0, d16[1]      @ encoding: [0x30,0xee,0x90,0x0b]
126 @ CHECK: vmov.8 d16[1], r1              @ encoding: [0x40,0xee,0xb0,0x1b]
127 @ CHECK: vmov.16        d16[1], r1      @ encoding: [0x00,0xee,0xf0,0x1b]
128 @ CHECK: vmov.32        d16[1], r1      @ encoding: [0x20,0xee,0x90,0x1b]
129 @ CHECK: vmov.8 d18[1], r1              @ encoding: [0x42,0xee,0xb0,0x1b]
130 @ CHECK: vmov.16        d18[1], r1      @ encoding: [0x02,0xee,0xf0,0x1b]
131 @ CHECK: vmov.32        d18[1], r1      @ encoding: [0x22,0xee,0x90,0x1b]