Tests for 142365.
[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
14 @ CHECK: vmla.i8        d16, d18, d17   @ encoding: [0x42,0xef,0xa1,0x09]
15 @ CHECK: vmla.i16       d16, d18, d17   @ encoding: [0x52,0xef,0xa1,0x09]
16 @ CHECK: vmla.i32       d16, d18, d17   @ encoding: [0x62,0xef,0xa1,0x09]
17 @ CHECK: vmla.f32       d16, d18, d17   @ encoding: [0x42,0xef,0xb1,0x0d]
18 @ CHECK: vmla.i8        q9, q8, q10     @ encoding: [0x40,0xef,0xe4,0x29]
19 @ CHECK: vmla.i16       q9, q8, q10     @ encoding: [0x50,0xef,0xe4,0x29]
20 @ CHECK: vmla.i32       q9, q8, q10     @ encoding: [0x60,0xef,0xe4,0x29]
21 @ CHECK: vmla.f32       q9, q8, q10     @ encoding: [0x40,0xef,0xf4,0x2d]
22
23
24         vmlal.s8        q8, d19, d18
25         vmlal.s16       q8, d19, d18
26         vmlal.s32       q8, d19, d18
27         vmlal.u8        q8, d19, d18
28         vmlal.u16       q8, d19, d18
29         vmlal.u32       q8, d19, d18
30
31 @ CHECK: vmlal.s8       q8, d19, d18    @ encoding: [0xc3,0xef,0xa2,0x08]
32 @ CHECK: vmlal.s16      q8, d19, d18    @ encoding: [0xd3,0xef,0xa2,0x08]
33 @ CHECK: vmlal.s32      q8, d19, d18    @ encoding: [0xe3,0xef,0xa2,0x08]
34 @ CHECK: vmlal.u8       q8, d19, d18    @ encoding: [0xc3,0xff,0xa2,0x08]
35 @ CHECK: vmlal.u16      q8, d19, d18    @ encoding: [0xd3,0xff,0xa2,0x08]
36 @ CHECK: vmlal.u32      q8, d19, d18    @ encoding: [0xe3,0xff,0xa2,0x08]
37
38
39         vqdmlal.s16     q8, d19, d18
40         vqdmlal.s32     q8, d19, d18
41         vqdmlal.s16 q11, d11, d7[0]
42         vqdmlal.s16 q11, d11, d7[1]
43         vqdmlal.s16 q11, d11, d7[2]
44         vqdmlal.s16 q11, d11, d7[3]
45
46 @ CHECK: vqdmlal.s16    q8, d19, d18    @ encoding: [0xd3,0xef,0xa2,0x09]
47 @ CHECK: vqdmlal.s32    q8, d19, d18    @ encoding: [0xe3,0xef,0xa2,0x09]
48 @ CHECK: vqdmlal.s16    q11, d11, d7[0] @ encoding: [0xdb,0xef,0x47,0x63]
49 @ CHECK: vqdmlal.s16    q11, d11, d7[1] @ encoding: [0xdb,0xef,0x4f,0x63]
50 @ CHECK: vqdmlal.s16    q11, d11, d7[2] @ encoding: [0xdb,0xef,0x67,0x63]
51 @ CHECK: vqdmlal.s16    q11, d11, d7[3] @ encoding: [0xdb,0xef,0x6f,0x63]
52
53
54         vmls.i8 d16, d18, d17
55         vmls.i16        d16, d18, d17
56         vmls.i32        d16, d18, d17
57         vmls.f32        d16, d18, d17
58         vmls.i8 q9, q8, q10
59         vmls.i16        q9, q8, q10
60         vmls.i32        q9, q8, q10
61         vmls.f32        q9, q8, q10
62
63 @ CHECK: vmls.i8        d16, d18, d17   @ encoding: [0x42,0xff,0xa1,0x09]
64 @ CHECK: vmls.i16       d16, d18, d17   @ encoding: [0x52,0xff,0xa1,0x09]
65 @ CHECK: vmls.i32       d16, d18, d17   @ encoding: [0x62,0xff,0xa1,0x09]
66 @ CHECK: vmls.f32       d16, d18, d17   @ encoding: [0x62,0xef,0xb1,0x0d]
67 @ CHECK: vmls.i8        q9, q8, q10     @ encoding: [0x40,0xff,0xe4,0x29]
68 @ CHECK: vmls.i16       q9, q8, q10     @ encoding: [0x50,0xff,0xe4,0x29]
69 @ CHECK: vmls.i32       q9, q8, q10     @ encoding: [0x60,0xff,0xe4,0x29]
70 @ CHECK: vmls.f32       q9, q8, q10     @ encoding: [0x60,0xef,0xf4,0x2d]
71
72
73         vmlsl.s8        q8, d19, d18
74         vmlsl.s16       q8, d19, d18
75         vmlsl.s32       q8, d19, d18
76         vmlsl.u8        q8, d19, d18
77         vmlsl.u16       q8, d19, d18
78         vmlsl.u32       q8, d19, d18
79
80 @ CHECK: vmlsl.s8       q8, d19, d18    @ encoding: [0xc3,0xef,0xa2,0x0a]
81 @ CHECK: vmlsl.s16      q8, d19, d18    @ encoding: [0xd3,0xef,0xa2,0x0a]
82 @ CHECK: vmlsl.s32      q8, d19, d18    @ encoding: [0xe3,0xef,0xa2,0x0a]
83 @ CHECK: vmlsl.u8       q8, d19, d18    @ encoding: [0xc3,0xff,0xa2,0x0a]
84 @ CHECK: vmlsl.u16      q8, d19, d18    @ encoding: [0xd3,0xff,0xa2,0x0a]
85 @ CHECK: vmlsl.u32      q8, d19, d18    @ encoding: [0xe3,0xff,0xa2,0x0a]
86
87
88         vqdmlsl.s16     q8, d19, d18
89         vqdmlsl.s32     q8, d19, d18
90
91 @ CHECK: vqdmlsl.s16    q8, d19, d18    @ encoding: [0xd3,0xef,0xa2,0x0b]
92 @ CHECK: vqdmlsl.s32    q8, d19, d18    @ encoding: [0xe3,0xef,0xa2,0x0b]