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 | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 13 | |
| 14 | @ CHECK: vmla.i8 d16, d18, d17 @ encoding: [0x42,0xef,0xa1,0x09] |
| 15 | @ CHECK: vmla.i16 d16, d18, d17 @ encoding: [0x52,0xef,0xa1,0x09] |
| 16 | @ CHECK: vmla.i32 d16, d18, d17 @ encoding: [0x62,0xef,0xa1,0x09] |
| 17 | @ CHECK: vmla.f32 d16, d18, d17 @ encoding: [0x42,0xef,0xb1,0x0d] |
| 18 | @ CHECK: vmla.i8 q9, q8, q10 @ encoding: [0x40,0xef,0xe4,0x29] |
| 19 | @ CHECK: vmla.i16 q9, q8, q10 @ encoding: [0x50,0xef,0xe4,0x29] |
| 20 | @ CHECK: vmla.i32 q9, q8, q10 @ encoding: [0x60,0xef,0xe4,0x29] |
| 21 | @ CHECK: vmla.f32 q9, q8, q10 @ encoding: [0x40,0xef,0xf4,0x2d] |
| 22 | |
| 23 | |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 24 | vmlal.s8 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 25 | vmlal.s16 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 26 | vmlal.s32 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 27 | vmlal.u8 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 28 | vmlal.u16 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 29 | vmlal.u32 q8, d19, d18 |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 30 | |
| 31 | @ CHECK: vmlal.s8 q8, d19, d18 @ encoding: [0xc3,0xef,0xa2,0x08] |
| 32 | @ CHECK: vmlal.s16 q8, d19, d18 @ encoding: [0xd3,0xef,0xa2,0x08] |
| 33 | @ CHECK: vmlal.s32 q8, d19, d18 @ encoding: [0xe3,0xef,0xa2,0x08] |
| 34 | @ CHECK: vmlal.u8 q8, d19, d18 @ encoding: [0xc3,0xff,0xa2,0x08] |
| 35 | @ CHECK: vmlal.u16 q8, d19, d18 @ encoding: [0xd3,0xff,0xa2,0x08] |
| 36 | @ CHECK: vmlal.u32 q8, d19, d18 @ encoding: [0xe3,0xff,0xa2,0x08] |
| 37 | |
| 38 | |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 39 | vqdmlal.s16 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 40 | vqdmlal.s32 q8, d19, d18 |
Jim Grosbach | 8206790 | 2011-10-18 17:23:34 +0000 | [diff] [blame^] | 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] |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 45 | |
| 46 | @ CHECK: vqdmlal.s16 q8, d19, d18 @ encoding: [0xd3,0xef,0xa2,0x09] |
| 47 | @ CHECK: vqdmlal.s32 q8, d19, d18 @ encoding: [0xe3,0xef,0xa2,0x09] |
Jim Grosbach | 8206790 | 2011-10-18 17:23:34 +0000 | [diff] [blame^] | 48 | @ CHECK: vqdmlal.s16 q11, d11, d7[0] @ encoding: [0xdb,0xef,0x47,0x63] |
| 49 | @ CHECK: vqdmlal.s16 q11, d11, d7[1] @ encoding: [0xdb,0xef,0x4f,0x63] |
| 50 | @ CHECK: vqdmlal.s16 q11, d11, d7[2] @ encoding: [0xdb,0xef,0x67,0x63] |
| 51 | @ CHECK: vqdmlal.s16 q11, d11, d7[3] @ encoding: [0xdb,0xef,0x6f,0x63] |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 52 | |
| 53 | |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 54 | vmls.i8 d16, d18, d17 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 55 | vmls.i16 d16, d18, d17 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 56 | vmls.i32 d16, d18, d17 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 57 | vmls.f32 d16, d18, d17 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 58 | vmls.i8 q9, q8, q10 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 59 | vmls.i16 q9, q8, q10 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 60 | vmls.i32 q9, q8, q10 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 61 | vmls.f32 q9, q8, q10 |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 62 | |
| 63 | @ CHECK: vmls.i8 d16, d18, d17 @ encoding: [0x42,0xff,0xa1,0x09] |
| 64 | @ CHECK: vmls.i16 d16, d18, d17 @ encoding: [0x52,0xff,0xa1,0x09] |
| 65 | @ CHECK: vmls.i32 d16, d18, d17 @ encoding: [0x62,0xff,0xa1,0x09] |
| 66 | @ CHECK: vmls.f32 d16, d18, d17 @ encoding: [0x62,0xef,0xb1,0x0d] |
| 67 | @ CHECK: vmls.i8 q9, q8, q10 @ encoding: [0x40,0xff,0xe4,0x29] |
| 68 | @ CHECK: vmls.i16 q9, q8, q10 @ encoding: [0x50,0xff,0xe4,0x29] |
| 69 | @ CHECK: vmls.i32 q9, q8, q10 @ encoding: [0x60,0xff,0xe4,0x29] |
| 70 | @ CHECK: vmls.f32 q9, q8, q10 @ encoding: [0x60,0xef,0xf4,0x2d] |
| 71 | |
| 72 | |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 73 | vmlsl.s8 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 74 | vmlsl.s16 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 75 | vmlsl.s32 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 76 | vmlsl.u8 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 77 | vmlsl.u16 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 78 | vmlsl.u32 q8, d19, d18 |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 79 | |
| 80 | @ CHECK: vmlsl.s8 q8, d19, d18 @ encoding: [0xc3,0xef,0xa2,0x0a] |
| 81 | @ CHECK: vmlsl.s16 q8, d19, d18 @ encoding: [0xd3,0xef,0xa2,0x0a] |
| 82 | @ CHECK: vmlsl.s32 q8, d19, d18 @ encoding: [0xe3,0xef,0xa2,0x0a] |
| 83 | @ CHECK: vmlsl.u8 q8, d19, d18 @ encoding: [0xc3,0xff,0xa2,0x0a] |
| 84 | @ CHECK: vmlsl.u16 q8, d19, d18 @ encoding: [0xd3,0xff,0xa2,0x0a] |
| 85 | @ CHECK: vmlsl.u32 q8, d19, d18 @ encoding: [0xe3,0xff,0xa2,0x0a] |
| 86 | |
| 87 | |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 88 | vqdmlsl.s16 q8, d19, d18 |
Owen Anderson | ce2250f | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 89 | vqdmlsl.s32 q8, d19, d18 |
Jim Grosbach | 8bc8bfd | 2011-10-04 20:46:49 +0000 | [diff] [blame] | 90 | |
| 91 | @ CHECK: vqdmlsl.s16 q8, d19, d18 @ encoding: [0xd3,0xef,0xa2,0x0b] |
| 92 | @ CHECK: vqdmlsl.s32 q8, d19, d18 @ encoding: [0xe3,0xef,0xa2,0x0b] |