4dc78036c025c762f35f2b0dac8b4d6058aa4bfa
[oota-llvm.git] / test / MC / ARM / neon-mul-encoding.s
1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
2
3         vmla.i8 d16, d18, d17
4         vmla.i16        d16, d18, d17
5         vmla.i32        d16, d18, d17
6         vmla.f32        d16, d18, d17
7         vmla.i8 q9, q8, q10
8         vmla.i16        q9, q8, q10
9         vmla.i32        q9, q8, q10
10         vmla.f32        q9, q8, q10
11
12 @ CHECK: vmla.i8        d16, d18, d17   @ encoding: [0xa1,0x09,0x42,0xf2]
13 @ CHECK: vmla.i16       d16, d18, d17   @ encoding: [0xa1,0x09,0x52,0xf2]
14 @ CHECK: vmla.i32       d16, d18, d17   @ encoding: [0xa1,0x09,0x62,0xf2]
15 @ CHECK: vmla.f32       d16, d18, d17   @ encoding: [0xb1,0x0d,0x42,0xf2]
16 @ CHECK: vmla.i8        q9, q8, q10     @ encoding: [0xe4,0x29,0x40,0xf2]
17 @ CHECK: vmla.i16       q9, q8, q10     @ encoding: [0xe4,0x29,0x50,0xf2]
18 @ CHECK: vmla.i32       q9, q8, q10     @ encoding: [0xe4,0x29,0x60,0xf2]
19 @ CHECK: vmla.f32       q9, q8, q10     @ encoding: [0xf4,0x2d,0x40,0xf2]
20
21
22         vmlal.s8        q8, d19, d18
23         vmlal.s16       q8, d19, d18
24         vmlal.s32       q8, d19, d18
25         vmlal.u8        q8, d19, d18
26         vmlal.u16       q8, d19, d18
27         vmlal.u32       q8, d19, d18
28
29 @ CHECK: vmlal.s8       q8, d19, d18    @ encoding: [0xa2,0x08,0xc3,0xf2]
30 @ CHECK: vmlal.s16      q8, d19, d18    @ encoding: [0xa2,0x08,0xd3,0xf2]
31 @ CHECK: vmlal.s32      q8, d19, d18    @ encoding: [0xa2,0x08,0xe3,0xf2]
32 @ CHECK: vmlal.u8       q8, d19, d18    @ encoding: [0xa2,0x08,0xc3,0xf3]
33 @ CHECK: vmlal.u16      q8, d19, d18    @ encoding: [0xa2,0x08,0xd3,0xf3]
34 @ CHECK: vmlal.u32      q8, d19, d18    @ encoding: [0xa2,0x08,0xe3,0xf3]
35
36
37         vqdmlal.s16     q8, d19, d18
38         vqdmlal.s32     q8, d19, d18
39
40 @ CHECK: vqdmlal.s16    q8, d19, d18    @ encoding: [0xa2,0x09,0xd3,0xf2]
41 @ CHECK: vqdmlal.s32    q8, d19, d18    @ encoding: [0xa2,0x09,0xe3,0xf2]
42
43
44         vmls.i8 d16, d18, d17
45         vmls.i16        d16, d18, d17
46         vmls.i32        d16, d18, d17
47         vmls.f32        d16, d18, d17
48         vmls.i8 q9, q8, q10
49         vmls.i16        q9, q8, q10
50         vmls.i32        q9, q8, q10
51         vmls.f32        q9, q8, q10
52
53 @ CHECK: vmls.i8        d16, d18, d17   @ encoding: [0xa1,0x09,0x42,0xf3]
54 @ CHECK: vmls.i16       d16, d18, d17   @ encoding: [0xa1,0x09,0x52,0xf3]
55 @ CHECK: vmls.i32       d16, d18, d17   @ encoding: [0xa1,0x09,0x62,0xf3]
56 @ CHECK: vmls.f32       d16, d18, d17   @ encoding: [0xb1,0x0d,0x62,0xf2]
57 @ CHECK: vmls.i8        q9, q8, q10     @ encoding: [0xe4,0x29,0x40,0xf3]
58 @ CHECK: vmls.i16       q9, q8, q10     @ encoding: [0xe4,0x29,0x50,0xf3]
59 @ CHECK: vmls.i32       q9, q8, q10     @ encoding: [0xe4,0x29,0x60,0xf3]
60 @ CHECK: vmls.f32       q9, q8, q10     @ encoding: [0xf4,0x2d,0x60,0xf2]
61
62
63         vmlsl.s8        q8, d19, d18
64         vmlsl.s16       q8, d19, d18
65         vmlsl.s32       q8, d19, d18
66         vmlsl.u8        q8, d19, d18
67         vmlsl.u16       q8, d19, d18
68         vmlsl.u32       q8, d19, d18
69
70 @ CHECK: vmlsl.s8       q8, d19, d18    @ encoding: [0xa2,0x0a,0xc3,0xf2]
71 @ CHECK: vmlsl.s16      q8, d19, d18    @ encoding: [0xa2,0x0a,0xd3,0xf2]
72 @ CHECK: vmlsl.s32      q8, d19, d18    @ encoding: [0xa2,0x0a,0xe3,0xf2]
73 @ CHECK: vmlsl.u8       q8, d19, d18    @ encoding: [0xa2,0x0a,0xc3,0xf3]
74 @ CHECK: vmlsl.u16      q8, d19, d18    @ encoding: [0xa2,0x0a,0xd3,0xf3]
75 @ CHECK: vmlsl.u32      q8, d19, d18    @ encoding: [0xa2,0x0a,0xe3,0xf3]
76
77
78         vqdmlsl.s16     q8, d19, d18
79         vqdmlsl.s32     q8, d19, d18
80
81 @ CHECK: vqdmlsl.s16    q8, d19, d18    @ encoding: [0xa2,0x0b,0xd3,0xf2]
82 @ CHECK: vqdmlsl.s32    q8, d19, d18    @ encoding: [0xa2,0x0b,0xe3,0xf2]