[Hexagon] Adding absolute value, and negate with saturation
[oota-llvm.git] / test / MC / ARM / neon-mul-accum-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         vmla.i32        q12, q8, d3[0]
12
13 @ CHECK: vmla.i8        d16, d18, d17   @ encoding: [0xa1,0x09,0x42,0xf2]
14 @ CHECK: vmla.i16       d16, d18, d17   @ encoding: [0xa1,0x09,0x52,0xf2]
15 @ CHECK: vmla.i32       d16, d18, d17   @ encoding: [0xa1,0x09,0x62,0xf2]
16 @ CHECK: vmla.f32       d16, d18, d17   @ encoding: [0xb1,0x0d,0x42,0xf2]
17 @ CHECK: vmla.i8        q9, q8, q10     @ encoding: [0xe4,0x29,0x40,0xf2]
18 @ CHECK: vmla.i16       q9, q8, q10     @ encoding: [0xe4,0x29,0x50,0xf2]
19 @ CHECK: vmla.i32       q9, q8, q10     @ encoding: [0xe4,0x29,0x60,0xf2]
20 @ CHECK: vmla.f32       q9, q8, q10     @ encoding: [0xf4,0x2d,0x40,0xf2]
21 @ CHECK: vmla.i32       q12, q8, d3[0]  @ encoding: [0xc3,0x80,0xe0,0xf3]
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: [0xa2,0x08,0xc3,0xf2]
32 @ CHECK: vmlal.s16      q8, d19, d18    @ encoding: [0xa2,0x08,0xd3,0xf2]
33 @ CHECK: vmlal.s32      q8, d19, d18    @ encoding: [0xa2,0x08,0xe3,0xf2]
34 @ CHECK: vmlal.u8       q8, d19, d18    @ encoding: [0xa2,0x08,0xc3,0xf3]
35 @ CHECK: vmlal.u16      q8, d19, d18    @ encoding: [0xa2,0x08,0xd3,0xf3]
36 @ CHECK: vmlal.u32      q8, d19, d18    @ encoding: [0xa2,0x08,0xe3,0xf3]
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: [0xa2,0x09,0xd3,0xf2]
47 @ CHECK: vqdmlal.s32    q8, d19, d18    @ encoding: [0xa2,0x09,0xe3,0xf2]
48 @ CHECK: vqdmlal.s16    q11, d11, d7[0] @ encoding: [0x47,0x63,0xdb,0xf2]
49 @ CHECK: vqdmlal.s16    q11, d11, d7[1] @ encoding: [0x4f,0x63,0xdb,0xf2]
50 @ CHECK: vqdmlal.s16    q11, d11, d7[2] @ encoding: [0x67,0x63,0xdb,0xf2]
51 @ CHECK: vqdmlal.s16    q11, d11, d7[3] @ encoding: [0x6f,0x63,0xdb,0xf2]
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         vmls.i16        q4, q12, d6[2]
63
64 @ CHECK: vmls.i8        d16, d18, d17   @ encoding: [0xa1,0x09,0x42,0xf3]
65 @ CHECK: vmls.i16       d16, d18, d17   @ encoding: [0xa1,0x09,0x52,0xf3]
66 @ CHECK: vmls.i32       d16, d18, d17   @ encoding: [0xa1,0x09,0x62,0xf3]
67 @ CHECK: vmls.f32       d16, d18, d17   @ encoding: [0xb1,0x0d,0x62,0xf2]
68 @ CHECK: vmls.i8        q9, q8, q10     @ encoding: [0xe4,0x29,0x40,0xf3]
69 @ CHECK: vmls.i16       q9, q8, q10     @ encoding: [0xe4,0x29,0x50,0xf3]
70 @ CHECK: vmls.i32       q9, q8, q10     @ encoding: [0xe4,0x29,0x60,0xf3]
71 @ CHECK: vmls.f32       q9, q8, q10     @ encoding: [0xf4,0x2d,0x60,0xf2]
72 @ CHECK: vmls.i16       q4, q12, d6[2]  @ encoding: [0xe6,0x84,0x98,0xf3]
73
74
75         vmlsl.s8        q8, d19, d18
76         vmlsl.s16       q8, d19, d18
77         vmlsl.s32       q8, d19, d18
78         vmlsl.u8        q8, d19, d18
79         vmlsl.u16       q8, d19, d18
80         vmlsl.u32       q8, d19, d18
81
82 @ CHECK: vmlsl.s8       q8, d19, d18    @ encoding: [0xa2,0x0a,0xc3,0xf2]
83 @ CHECK: vmlsl.s16      q8, d19, d18    @ encoding: [0xa2,0x0a,0xd3,0xf2]
84 @ CHECK: vmlsl.s32      q8, d19, d18    @ encoding: [0xa2,0x0a,0xe3,0xf2]
85 @ CHECK: vmlsl.u8       q8, d19, d18    @ encoding: [0xa2,0x0a,0xc3,0xf3]
86 @ CHECK: vmlsl.u16      q8, d19, d18    @ encoding: [0xa2,0x0a,0xd3,0xf3]
87 @ CHECK: vmlsl.u32      q8, d19, d18    @ encoding: [0xa2,0x0a,0xe3,0xf3]
88
89
90         vqdmlsl.s16     q8, d19, d18
91         vqdmlsl.s32     q8, d19, d18
92
93 @ CHECK: vqdmlsl.s16    q8, d19, d18    @ encoding: [0xa2,0x0b,0xd3,0xf2]
94 @ CHECK: vqdmlsl.s32    q8, d19, d18    @ encoding: [0xa2,0x0b,0xe3,0xf2]