Bob Wilson | c3ff538 | 2010-12-15 22:14:01 +0000 | [diff] [blame] | 1 | @ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 2 | |
| 3 | .code 16 |
| 4 | |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 5 | vmla.i8 d16, d18, d17 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 6 | vmla.i16 d16, d18, d17 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 7 | vmla.i32 d16, d18, d17 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 8 | vmla.f32 d16, d18, d17 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 9 | vmla.i8 q9, q8, q10 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 10 | vmla.i16 q9, q8, q10 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 11 | vmla.i32 q9, q8, q10 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 12 | vmla.f32 q9, q8, q10 |
Jim Grosbach | 6114500 | 2011-10-18 18:27:07 +0000 | [diff] [blame] | 13 | vmla.i32 q12, q8, d3[0] |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 14 | |
| 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 Grosbach | 6114500 | 2011-10-18 18:27:07 +0000 | [diff] [blame] | 23 | @ CHECK: vmla.i32 q12, q8, d3[0] @ encoding: [0xe0,0xff,0xc3,0x80] |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 24 | |
| 25 | |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 26 | vmlal.s8 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 27 | vmlal.s16 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 28 | vmlal.s32 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 29 | vmlal.u8 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 30 | vmlal.u16 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 31 | vmlal.u32 q8, d19, d18 |
Jim Grosbach | e9f204c | 2011-10-18 20:14:56 +0000 | [diff] [blame] | 32 | vmlal.s32 q0, d5, d10[0] |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 33 | |
| 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 Grosbach | e9f204c | 2011-10-18 20:14:56 +0000 | [diff] [blame] | 40 | @ CHECK: vmlal.s32 q0, d5, d10[0] @ encoding: [0xa5,0xef,0x4a,0x02] |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 41 | |
| 42 | |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 43 | vqdmlal.s16 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 44 | vqdmlal.s32 q8, d19, d18 |
Jim Grosbach | 8206790 | 2011-10-18 17:23:34 +0000 | [diff] [blame] | 45 | 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 Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 49 | |
| 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 Grosbach | 8206790 | 2011-10-18 17:23:34 +0000 | [diff] [blame] | 52 | @ 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 Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 56 | |
| 57 | |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 58 | vmls.i8 d16, d18, d17 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 59 | vmls.i16 d16, d18, d17 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 60 | vmls.i32 d16, d18, d17 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 61 | vmls.f32 d16, d18, d17 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 62 | vmls.i8 q9, q8, q10 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 63 | vmls.i16 q9, q8, q10 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 64 | vmls.i32 q9, q8, q10 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 65 | vmls.f32 q9, q8, q10 |
Jim Grosbach | 6114500 | 2011-10-18 18:27:07 +0000 | [diff] [blame] | 66 | vmls.i16 q4, q12, d6[2] |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 67 | |
| 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 Grosbach | 6114500 | 2011-10-18 18:27:07 +0000 | [diff] [blame] | 76 | @ CHECK: vmls.i16 q4, q12, d6[2] @ encoding: [0x98,0xff,0xe6,0x84] |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 77 | |
| 78 | |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 79 | vmlsl.s8 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 80 | vmlsl.s16 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 81 | vmlsl.s32 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 82 | vmlsl.u8 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 83 | vmlsl.u16 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 84 | vmlsl.u32 q8, d19, d18 |
Jim Grosbach | e9f204c | 2011-10-18 20:14:56 +0000 | [diff] [blame] | 85 | vmlsl.u16 q11, d25, d1[3] |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 86 | |
| 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 Grosbach | e9f204c | 2011-10-18 20:14:56 +0000 | [diff] [blame] | 93 | @ CHECK: vmlsl.u16 q11, d25, d1[3] @ encoding: [0xd9,0xff,0xe9,0x66] |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 94 | |
| 95 | |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 96 | vqdmlsl.s16 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 97 | vqdmlsl.s32 q8, d19, d18 |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 98 | |
| 99 | @ CHECK: vqdmlsl.s16 q8, d19, d18 @ encoding: [0xd3,0xef,0xa2,0x0b] |
| 100 | @ CHECK: vqdmlsl.s32 q8, d19, d18 @ encoding: [0xe3,0xef,0xa2,0x0b] |