Re-commit r235560: Switch lowering: extract jump tables and bit tests before building...
[oota-llvm.git] / test / MC / ARM / neont2-mul-accum-encoding.s
1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s
2
3 .code 16
4
5         vmla.i8 d16, d18, d17
6         vmla.i16        d16, d18, d17
7         vmla.i32        d16, d18, d17
8         vmla.f32        d16, d18, d17
9         vmla.i8 q9, q8, q10
10         vmla.i16        q9, q8, q10
11         vmla.i32        q9, q8, q10
12         vmla.f32        q9, q8, q10
13         vmla.i32        q12, q8, d3[0]
14
15 @ CHECK: vmla.i8        d16, d18, d17   @ encoding: [0x42,0xef,0xa1,0x09]
16 @ CHECK: vmla.i16       d16, d18, d17   @ encoding: [0x52,0xef,0xa1,0x09]
17 @ CHECK: vmla.i32       d16, d18, d17   @ encoding: [0x62,0xef,0xa1,0x09]
18 @ CHECK: vmla.f32       d16, d18, d17   @ encoding: [0x42,0xef,0xb1,0x0d]
19 @ CHECK: vmla.i8        q9, q8, q10     @ encoding: [0x40,0xef,0xe4,0x29]
20 @ CHECK: vmla.i16       q9, q8, q10     @ encoding: [0x50,0xef,0xe4,0x29]
21 @ CHECK: vmla.i32       q9, q8, q10     @ encoding: [0x60,0xef,0xe4,0x29]
22 @ CHECK: vmla.f32       q9, q8, q10     @ encoding: [0x40,0xef,0xf4,0x2d]
23 @ CHECK: vmla.i32       q12, q8, d3[0]    @ encoding: [0xe0,0xff,0xc3,0x80]
24
25
26         vmlal.s8        q8, d19, d18
27         vmlal.s16       q8, d19, d18
28         vmlal.s32       q8, d19, d18
29         vmlal.u8        q8, d19, d18
30         vmlal.u16       q8, d19, d18
31         vmlal.u32       q8, d19, d18
32         vmlal.s32       q0, d5, d10[0]
33
34 @ CHECK: vmlal.s8       q8, d19, d18    @ encoding: [0xc3,0xef,0xa2,0x08]
35 @ CHECK: vmlal.s16      q8, d19, d18    @ encoding: [0xd3,0xef,0xa2,0x08]
36 @ CHECK: vmlal.s32      q8, d19, d18    @ encoding: [0xe3,0xef,0xa2,0x08]
37 @ CHECK: vmlal.u8       q8, d19, d18    @ encoding: [0xc3,0xff,0xa2,0x08]
38 @ CHECK: vmlal.u16      q8, d19, d18    @ encoding: [0xd3,0xff,0xa2,0x08]
39 @ CHECK: vmlal.u32      q8, d19, d18    @ encoding: [0xe3,0xff,0xa2,0x08]
40 @ CHECK: vmlal.s32      q0, d5, d10[0]    @ encoding: [0xa5,0xef,0x4a,0x02]
41
42
43         vqdmlal.s16     q8, d19, d18
44         vqdmlal.s32     q8, d19, d18
45         vqdmlal.s16 q11, d11, d7[0]
46         vqdmlal.s16 q11, d11, d7[1]
47         vqdmlal.s16 q11, d11, d7[2]
48         vqdmlal.s16 q11, d11, d7[3]
49
50 @ CHECK: vqdmlal.s16    q8, d19, d18    @ encoding: [0xd3,0xef,0xa2,0x09]
51 @ CHECK: vqdmlal.s32    q8, d19, d18    @ encoding: [0xe3,0xef,0xa2,0x09]
52 @ CHECK: vqdmlal.s16    q11, d11, d7[0] @ encoding: [0xdb,0xef,0x47,0x63]
53 @ CHECK: vqdmlal.s16    q11, d11, d7[1] @ encoding: [0xdb,0xef,0x4f,0x63]
54 @ CHECK: vqdmlal.s16    q11, d11, d7[2] @ encoding: [0xdb,0xef,0x67,0x63]
55 @ CHECK: vqdmlal.s16    q11, d11, d7[3] @ encoding: [0xdb,0xef,0x6f,0x63]
56
57
58         vmls.i8 d16, d18, d17
59         vmls.i16        d16, d18, d17
60         vmls.i32        d16, d18, d17
61         vmls.f32        d16, d18, d17
62         vmls.i8 q9, q8, q10
63         vmls.i16        q9, q8, q10
64         vmls.i32        q9, q8, q10
65         vmls.f32        q9, q8, q10
66         vmls.i16        q4, q12, d6[2]
67
68 @ CHECK: vmls.i8        d16, d18, d17   @ encoding: [0x42,0xff,0xa1,0x09]
69 @ CHECK: vmls.i16       d16, d18, d17   @ encoding: [0x52,0xff,0xa1,0x09]
70 @ CHECK: vmls.i32       d16, d18, d17   @ encoding: [0x62,0xff,0xa1,0x09]
71 @ CHECK: vmls.f32       d16, d18, d17   @ encoding: [0x62,0xef,0xb1,0x0d]
72 @ CHECK: vmls.i8        q9, q8, q10     @ encoding: [0x40,0xff,0xe4,0x29]
73 @ CHECK: vmls.i16       q9, q8, q10     @ encoding: [0x50,0xff,0xe4,0x29]
74 @ CHECK: vmls.i32       q9, q8, q10     @ encoding: [0x60,0xff,0xe4,0x29]
75 @ CHECK: vmls.f32       q9, q8, q10     @ encoding: [0x60,0xef,0xf4,0x2d]
76 @ CHECK: vmls.i16       q4, q12, d6[2]  @ encoding: [0x98,0xff,0xe6,0x84]
77
78
79         vmlsl.s8        q8, d19, d18
80         vmlsl.s16       q8, d19, d18
81         vmlsl.s32       q8, d19, d18
82         vmlsl.u8        q8, d19, d18
83         vmlsl.u16       q8, d19, d18
84         vmlsl.u32       q8, d19, d18
85         vmlsl.u16       q11, d25, d1[3]
86
87 @ CHECK: vmlsl.s8       q8, d19, d18    @ encoding: [0xc3,0xef,0xa2,0x0a]
88 @ CHECK: vmlsl.s16      q8, d19, d18    @ encoding: [0xd3,0xef,0xa2,0x0a]
89 @ CHECK: vmlsl.s32      q8, d19, d18    @ encoding: [0xe3,0xef,0xa2,0x0a]
90 @ CHECK: vmlsl.u8       q8, d19, d18    @ encoding: [0xc3,0xff,0xa2,0x0a]
91 @ CHECK: vmlsl.u16      q8, d19, d18    @ encoding: [0xd3,0xff,0xa2,0x0a]
92 @ CHECK: vmlsl.u32      q8, d19, d18    @ encoding: [0xe3,0xff,0xa2,0x0a]
93 @ CHECK: vmlsl.u16      q11, d25, d1[3]    @ encoding: [0xd9,0xff,0xe9,0x66]
94
95
96         vqdmlsl.s16     q8, d19, d18
97         vqdmlsl.s32     q8, d19, d18
98
99 @ CHECK: vqdmlsl.s16    q8, d19, d18    @ encoding: [0xd3,0xef,0xa2,0x0b]
100 @ CHECK: vqdmlsl.s32    q8, d19, d18    @ encoding: [0xe3,0xef,0xa2,0x0b]