18d1b7e57e56015576fd489a57d74c53b98c5a56fBob Wilson@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s
28f143913141991baaa535ca0da7c8a81606d6392Owen Anderson
38f143913141991baaa535ca0da7c8a81606d6392Owen Anderson.code 16
48f143913141991baaa535ca0da7c8a81606d6392Owen Anderson
58f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmla.i8	d16, d18, d17
68f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmla.i16	d16, d18, d17
78f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmla.i32	d16, d18, d17
88f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmla.f32	d16, d18, d17
98f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmla.i8	q9, q8, q10
108f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmla.i16	q9, q8, q10
118f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmla.i32	q9, q8, q10
128f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmla.f32	q9, q8, q10
139120088979dbcd20e8643bc8f5b22bc605c7d974Jim Grosbach	vmla.i32	q12, q8, d3[0]
14dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
15dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmla.i8	d16, d18, d17   @ encoding: [0x42,0xef,0xa1,0x09]
16dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmla.i16	d16, d18, d17   @ encoding: [0x52,0xef,0xa1,0x09]
17dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmla.i32	d16, d18, d17   @ encoding: [0x62,0xef,0xa1,0x09]
18dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmla.f32	d16, d18, d17   @ encoding: [0x42,0xef,0xb1,0x0d]
19dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmla.i8	q9, q8, q10     @ encoding: [0x40,0xef,0xe4,0x29]
20dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmla.i16	q9, q8, q10     @ encoding: [0x50,0xef,0xe4,0x29]
21dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmla.i32	q9, q8, q10     @ encoding: [0x60,0xef,0xe4,0x29]
22dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmla.f32	q9, q8, q10     @ encoding: [0x40,0xef,0xf4,0x2d]
239120088979dbcd20e8643bc8f5b22bc605c7d974Jim Grosbach@ CHECK: vmla.i32	q12, q8, d3[0]    @ encoding: [0xe0,0xff,0xc3,0x80]
24dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
25dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
268f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmlal.s8	q8, d19, d18
278f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmlal.s16	q8, d19, d18
288f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmlal.s32	q8, d19, d18
298f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmlal.u8	q8, d19, d18
308f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmlal.u16	q8, d19, d18
318f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmlal.u32	q8, d19, d18
32aead579017d0f8c43dba3bcb049b1d2576b9f8e3Jim Grosbach	vmlal.s32	q0, d5, d10[0]
33dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
34dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmlal.s8	q8, d19, d18    @ encoding: [0xc3,0xef,0xa2,0x08]
35dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmlal.s16	q8, d19, d18    @ encoding: [0xd3,0xef,0xa2,0x08]
36dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmlal.s32	q8, d19, d18    @ encoding: [0xe3,0xef,0xa2,0x08]
37dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmlal.u8	q8, d19, d18    @ encoding: [0xc3,0xff,0xa2,0x08]
38dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmlal.u16	q8, d19, d18    @ encoding: [0xd3,0xff,0xa2,0x08]
39dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmlal.u32	q8, d19, d18    @ encoding: [0xe3,0xff,0xa2,0x08]
40aead579017d0f8c43dba3bcb049b1d2576b9f8e3Jim Grosbach@ CHECK: vmlal.s32	q0, d5, d10[0]    @ encoding: [0xa5,0xef,0x4a,0x02]
41dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
42dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
438f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vqdmlal.s16	q8, d19, d18
448f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vqdmlal.s32	q8, d19, d18
455e3e811bf6d4d3fa9fa1c6abdaa6fd7ee75dddf9Jim Grosbach        vqdmlal.s16 q11, d11, d7[0]
465e3e811bf6d4d3fa9fa1c6abdaa6fd7ee75dddf9Jim Grosbach        vqdmlal.s16 q11, d11, d7[1]
475e3e811bf6d4d3fa9fa1c6abdaa6fd7ee75dddf9Jim Grosbach        vqdmlal.s16 q11, d11, d7[2]
485e3e811bf6d4d3fa9fa1c6abdaa6fd7ee75dddf9Jim Grosbach        vqdmlal.s16 q11, d11, d7[3]
49dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
50dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vqdmlal.s16	q8, d19, d18    @ encoding: [0xd3,0xef,0xa2,0x09]
51dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vqdmlal.s32	q8, d19, d18    @ encoding: [0xe3,0xef,0xa2,0x09]
525e3e811bf6d4d3fa9fa1c6abdaa6fd7ee75dddf9Jim Grosbach@ CHECK: vqdmlal.s16	q11, d11, d7[0] @ encoding: [0xdb,0xef,0x47,0x63]
535e3e811bf6d4d3fa9fa1c6abdaa6fd7ee75dddf9Jim Grosbach@ CHECK: vqdmlal.s16	q11, d11, d7[1] @ encoding: [0xdb,0xef,0x4f,0x63]
545e3e811bf6d4d3fa9fa1c6abdaa6fd7ee75dddf9Jim Grosbach@ CHECK: vqdmlal.s16	q11, d11, d7[2] @ encoding: [0xdb,0xef,0x67,0x63]
555e3e811bf6d4d3fa9fa1c6abdaa6fd7ee75dddf9Jim Grosbach@ CHECK: vqdmlal.s16	q11, d11, d7[3] @ encoding: [0xdb,0xef,0x6f,0x63]
56dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
57dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
588f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmls.i8	d16, d18, d17
598f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmls.i16	d16, d18, d17
608f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmls.i32	d16, d18, d17
618f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmls.f32	d16, d18, d17
628f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmls.i8	q9, q8, q10
638f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmls.i16	q9, q8, q10
648f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmls.i32	q9, q8, q10
658f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmls.f32	q9, q8, q10
669120088979dbcd20e8643bc8f5b22bc605c7d974Jim Grosbach	vmls.i16	q4, q12, d6[2]
67dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
68dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmls.i8	d16, d18, d17   @ encoding: [0x42,0xff,0xa1,0x09]
69dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmls.i16	d16, d18, d17   @ encoding: [0x52,0xff,0xa1,0x09]
70dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmls.i32	d16, d18, d17   @ encoding: [0x62,0xff,0xa1,0x09]
71dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmls.f32	d16, d18, d17   @ encoding: [0x62,0xef,0xb1,0x0d]
72dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmls.i8	q9, q8, q10     @ encoding: [0x40,0xff,0xe4,0x29]
73dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmls.i16	q9, q8, q10     @ encoding: [0x50,0xff,0xe4,0x29]
74dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmls.i32	q9, q8, q10     @ encoding: [0x60,0xff,0xe4,0x29]
75dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmls.f32	q9, q8, q10     @ encoding: [0x60,0xef,0xf4,0x2d]
769120088979dbcd20e8643bc8f5b22bc605c7d974Jim Grosbach@ CHECK: vmls.i16	q4, q12, d6[2]  @ encoding: [0x98,0xff,0xe6,0x84]
77dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
78dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
798f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmlsl.s8	q8, d19, d18
808f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmlsl.s16	q8, d19, d18
818f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmlsl.s32	q8, d19, d18
828f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmlsl.u8	q8, d19, d18
838f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmlsl.u16	q8, d19, d18
848f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vmlsl.u32	q8, d19, d18
85aead579017d0f8c43dba3bcb049b1d2576b9f8e3Jim Grosbach	vmlsl.u16	q11, d25, d1[3]
86dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
87dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmlsl.s8	q8, d19, d18    @ encoding: [0xc3,0xef,0xa2,0x0a]
88dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmlsl.s16	q8, d19, d18    @ encoding: [0xd3,0xef,0xa2,0x0a]
89dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmlsl.s32	q8, d19, d18    @ encoding: [0xe3,0xef,0xa2,0x0a]
90dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmlsl.u8	q8, d19, d18    @ encoding: [0xc3,0xff,0xa2,0x0a]
91dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmlsl.u16	q8, d19, d18    @ encoding: [0xd3,0xff,0xa2,0x0a]
92dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vmlsl.u32	q8, d19, d18    @ encoding: [0xe3,0xff,0xa2,0x0a]
93aead579017d0f8c43dba3bcb049b1d2576b9f8e3Jim Grosbach@ CHECK: vmlsl.u16	q11, d25, d1[3]    @ encoding: [0xd9,0xff,0xe9,0x66]
94dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
95dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
968f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vqdmlsl.s16	q8, d19, d18
978f143913141991baaa535ca0da7c8a81606d6392Owen Anderson	vqdmlsl.s32	q8, d19, d18
98dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach
99dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vqdmlsl.s16	q8, d19, d18    @ encoding: [0xd3,0xef,0xa2,0x0b]
100dc6c93531d2bfa4f5aa6c6ce8163365a4750254eJim Grosbach@ CHECK: vqdmlsl.s32	q8, d19, d18    @ encoding: [0xe3,0xef,0xa2,0x0b]
101