blob: bc6a4d4cd1f8e628d22c196700d09278f606001d [file] [log] [blame]
Bob Wilsonc3ff5382010-12-15 22:14:01 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s
Owen Andersonce2250f2010-11-11 23:12:55 +00002
3.code 16
4
Owen Andersonce2250f2010-11-11 23:12:55 +00005 vmla.i8 d16, d18, d17
Owen Andersonce2250f2010-11-11 23:12:55 +00006 vmla.i16 d16, d18, d17
Owen Andersonce2250f2010-11-11 23:12:55 +00007 vmla.i32 d16, d18, d17
Owen Andersonce2250f2010-11-11 23:12:55 +00008 vmla.f32 d16, d18, d17
Owen Andersonce2250f2010-11-11 23:12:55 +00009 vmla.i8 q9, q8, q10
Owen Andersonce2250f2010-11-11 23:12:55 +000010 vmla.i16 q9, q8, q10
Owen Andersonce2250f2010-11-11 23:12:55 +000011 vmla.i32 q9, q8, q10
Owen Andersonce2250f2010-11-11 23:12:55 +000012 vmla.f32 q9, q8, q10
Jim Grosbach61145002011-10-18 18:27:07 +000013 vmla.i32 q12, q8, d3[0]
Jim Grosbach8bc8bfd2011-10-04 20:46:49 +000014
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]
Jim Grosbach61145002011-10-18 18:27:07 +000023@ CHECK: vmla.i32 q12, q8, d3[0] @ encoding: [0xe0,0xff,0xc3,0x80]
Jim Grosbach8bc8bfd2011-10-04 20:46:49 +000024
25
Owen Andersonce2250f2010-11-11 23:12:55 +000026 vmlal.s8 q8, d19, d18
Owen Andersonce2250f2010-11-11 23:12:55 +000027 vmlal.s16 q8, d19, d18
Owen Andersonce2250f2010-11-11 23:12:55 +000028 vmlal.s32 q8, d19, d18
Owen Andersonce2250f2010-11-11 23:12:55 +000029 vmlal.u8 q8, d19, d18
Owen Andersonce2250f2010-11-11 23:12:55 +000030 vmlal.u16 q8, d19, d18
Owen Andersonce2250f2010-11-11 23:12:55 +000031 vmlal.u32 q8, d19, d18
Jim Grosbache9f204c2011-10-18 20:14:56 +000032 vmlal.s32 q0, d5, d10[0]
Jim Grosbach8bc8bfd2011-10-04 20:46:49 +000033
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]
Jim Grosbache9f204c2011-10-18 20:14:56 +000040@ CHECK: vmlal.s32 q0, d5, d10[0] @ encoding: [0xa5,0xef,0x4a,0x02]
Jim Grosbach8bc8bfd2011-10-04 20:46:49 +000041
42
Owen Andersonce2250f2010-11-11 23:12:55 +000043 vqdmlal.s16 q8, d19, d18
Owen Andersonce2250f2010-11-11 23:12:55 +000044 vqdmlal.s32 q8, d19, d18
Jim Grosbach82067902011-10-18 17:23:34 +000045 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]
Jim Grosbach8bc8bfd2011-10-04 20:46:49 +000049
50@ CHECK: vqdmlal.s16 q8, d19, d18 @ encoding: [0xd3,0xef,0xa2,0x09]
51@ CHECK: vqdmlal.s32 q8, d19, d18 @ encoding: [0xe3,0xef,0xa2,0x09]
Jim Grosbach82067902011-10-18 17:23:34 +000052@ 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]
Jim Grosbach8bc8bfd2011-10-04 20:46:49 +000056
57
Owen Andersonce2250f2010-11-11 23:12:55 +000058 vmls.i8 d16, d18, d17
Owen Andersonce2250f2010-11-11 23:12:55 +000059 vmls.i16 d16, d18, d17
Owen Andersonce2250f2010-11-11 23:12:55 +000060 vmls.i32 d16, d18, d17
Owen Andersonce2250f2010-11-11 23:12:55 +000061 vmls.f32 d16, d18, d17
Owen Andersonce2250f2010-11-11 23:12:55 +000062 vmls.i8 q9, q8, q10
Owen Andersonce2250f2010-11-11 23:12:55 +000063 vmls.i16 q9, q8, q10
Owen Andersonce2250f2010-11-11 23:12:55 +000064 vmls.i32 q9, q8, q10
Owen Andersonce2250f2010-11-11 23:12:55 +000065 vmls.f32 q9, q8, q10
Jim Grosbach61145002011-10-18 18:27:07 +000066 vmls.i16 q4, q12, d6[2]
Jim Grosbach8bc8bfd2011-10-04 20:46:49 +000067
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]
Jim Grosbach61145002011-10-18 18:27:07 +000076@ CHECK: vmls.i16 q4, q12, d6[2] @ encoding: [0x98,0xff,0xe6,0x84]
Jim Grosbach8bc8bfd2011-10-04 20:46:49 +000077
78
Owen Andersonce2250f2010-11-11 23:12:55 +000079 vmlsl.s8 q8, d19, d18
Owen Andersonce2250f2010-11-11 23:12:55 +000080 vmlsl.s16 q8, d19, d18
Owen Andersonce2250f2010-11-11 23:12:55 +000081 vmlsl.s32 q8, d19, d18
Owen Andersonce2250f2010-11-11 23:12:55 +000082 vmlsl.u8 q8, d19, d18
Owen Andersonce2250f2010-11-11 23:12:55 +000083 vmlsl.u16 q8, d19, d18
Owen Andersonce2250f2010-11-11 23:12:55 +000084 vmlsl.u32 q8, d19, d18
Jim Grosbache9f204c2011-10-18 20:14:56 +000085 vmlsl.u16 q11, d25, d1[3]
Jim Grosbach8bc8bfd2011-10-04 20:46:49 +000086
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]
Jim Grosbache9f204c2011-10-18 20:14:56 +000093@ CHECK: vmlsl.u16 q11, d25, d1[3] @ encoding: [0xd9,0xff,0xe9,0x66]
Jim Grosbach8bc8bfd2011-10-04 20:46:49 +000094
95
Owen Andersonce2250f2010-11-11 23:12:55 +000096 vqdmlsl.s16 q8, d19, d18
Owen Andersonce2250f2010-11-11 23:12:55 +000097 vqdmlsl.s32 q8, d19, d18
Jim Grosbach8bc8bfd2011-10-04 20:46:49 +000098
99@ CHECK: vqdmlsl.s16 q8, d19, d18 @ encoding: [0xd3,0xef,0xa2,0x0b]
100@ CHECK: vqdmlsl.s32 q8, d19, d18 @ encoding: [0xe3,0xef,0xa2,0x0b]