Bob Wilson | 8d1b7e5 | 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 | 8f14391 | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 2 | |
| 3 | .code 16 |
Jim Grosbach | d6f8509 | 2011-10-06 21:28:30 +0000 | [diff] [blame] | 4 | vpadd.i8 d1, d5, d11 |
| 5 | vpadd.i16 d13, d2, d12 |
| 6 | vpadd.i32 d14, d1, d13 |
| 7 | vpadd.f32 d19, d16, d14 |
Owen Anderson | 8f14391 | 2010-11-11 23:12:55 +0000 | [diff] [blame] | 8 | |
Jim Grosbach | d6f8509 | 2011-10-06 21:28:30 +0000 | [diff] [blame] | 9 | @ CHECK: vpadd.i8 d1, d5, d11 @ encoding: [0x05,0xef,0x1b,0x1b] |
| 10 | @ CHECK: vpadd.i16 d13, d2, d12 @ encoding: [0x12,0xef,0x1c,0xdb] |
| 11 | @ CHECK: vpadd.i32 d14, d1, d13 @ encoding: [0x21,0xef,0x1d,0xeb] |
| 12 | @ CHECK: vpadd.f32 d19, d16, d14 @ encoding: [0x40,0xff,0x8e,0x3d] |
| 13 | |
| 14 | |
| 15 | vpaddl.s8 d7, d10 |
| 16 | vpaddl.s16 d8, d11 |
| 17 | vpaddl.s32 d9, d12 |
| 18 | vpaddl.u8 d0, d13 |
| 19 | vpaddl.u16 d5, d14 |
| 20 | vpaddl.u32 d6, d15 |
| 21 | vpaddl.s8 q4, q7 |
| 22 | vpaddl.s16 q5, q6 |
| 23 | vpaddl.s32 q6, q5 |
| 24 | vpaddl.u8 q7, q4 |
| 25 | vpaddl.u16 q8, q3 |
| 26 | vpaddl.u32 q9, q2 |
| 27 | |
| 28 | @ CHECK: vpaddl.s8 d7, d10 @ encoding: [0xb0,0xff,0x0a,0x72] |
| 29 | @ CHECK: vpaddl.s16 d8, d11 @ encoding: [0xb4,0xff,0x0b,0x82] |
| 30 | @ CHECK: vpaddl.s32 d9, d12 @ encoding: [0xb8,0xff,0x0c,0x92] |
| 31 | @ CHECK: vpaddl.u8 d0, d13 @ encoding: [0xb0,0xff,0x8d,0x02] |
| 32 | @ CHECK: vpaddl.u16 d5, d14 @ encoding: [0xb4,0xff,0x8e,0x52] |
| 33 | @ CHECK: vpaddl.u32 d6, d15 @ encoding: [0xb8,0xff,0x8f,0x62] |
| 34 | @ CHECK: vpaddl.s8 q4, q7 @ encoding: [0xb0,0xff,0x4e,0x82] |
| 35 | @ CHECK: vpaddl.s16 q5, q6 @ encoding: [0xb4,0xff,0x4c,0xa2] |
| 36 | @ CHECK: vpaddl.s32 q6, q5 @ encoding: [0xb8,0xff,0x4a,0xc2] |
| 37 | @ CHECK: vpaddl.u8 q7, q4 @ encoding: [0xb0,0xff,0xc8,0xe2] |
| 38 | @ CHECK: vpaddl.u16 q8, q3 @ encoding: [0xf4,0xff,0xc6,0x02] |
| 39 | @ CHECK: vpaddl.u32 q9, q2 @ encoding: [0xf8,0xff,0xc4,0x22] |
| 40 | |
| 41 | |
| 42 | vpadal.s8 d16, d4 |
| 43 | vpadal.s16 d20, d9 |
| 44 | vpadal.s32 d18, d1 |
| 45 | vpadal.u8 d14, d25 |
| 46 | vpadal.u16 d12, d6 |
| 47 | vpadal.u32 d11, d7 |
| 48 | vpadal.s8 q4, q10 |
| 49 | vpadal.s16 q5, q11 |
| 50 | vpadal.s32 q6, q12 |
| 51 | vpadal.u8 q7, q13 |
| 52 | vpadal.u16 q8, q14 |
| 53 | vpadal.u32 q9, q15 |
| 54 | |
| 55 | @ CHECK: vpadal.s8 d16, d4 @ encoding: [0xf0,0xff,0x04,0x06] |
| 56 | @ CHECK: vpadal.s16 d20, d9 @ encoding: [0xf4,0xff,0x09,0x46] |
| 57 | @ CHECK: vpadal.s32 d18, d1 @ encoding: [0xf8,0xff,0x01,0x26] |
| 58 | @ CHECK: vpadal.u8 d14, d25 @ encoding: [0xb0,0xff,0xa9,0xe6] |
| 59 | @ CHECK: vpadal.u16 d12, d6 @ encoding: [0xb4,0xff,0x86,0xc6] |
| 60 | @ CHECK: vpadal.u32 d11, d7 @ encoding: [0xb8,0xff,0x87,0xb6] |
| 61 | @ CHECK: vpadal.s8 q4, q10 @ encoding: [0xb0,0xff,0x64,0x86] |
| 62 | @ CHECK: vpadal.s16 q5, q11 @ encoding: [0xb4,0xff,0x66,0xa6] |
| 63 | @ CHECK: vpadal.s32 q6, q12 @ encoding: [0xb8,0xff,0x68,0xc6] |
| 64 | @ CHECK: vpadal.u8 q7, q13 @ encoding: [0xb0,0xff,0xea,0xe6] |
| 65 | @ CHECK: vpadal.u16 q8, q14 @ encoding: [0xf4,0xff,0xec,0x06] |
| 66 | @ CHECK: vpadal.u32 q9, q15 @ encoding: [0xf8,0xff,0xee,0x26] |
| 67 | |
| 68 | |
| 69 | vpmin.s8 d16, d29, d10 |
| 70 | vpmin.s16 d17, d28, d11 |
| 71 | vpmin.s32 d18, d27, d12 |
| 72 | vpmin.u8 d19, d26, d13 |
| 73 | vpmin.u16 d20, d25, d14 |
| 74 | vpmin.u32 d21, d24, d15 |
| 75 | vpmin.f32 d22, d23, d16 |
| 76 | |
| 77 | @ CHECK: vpmin.s8 d16, d29, d10 @ encoding: [0x4d,0xef,0x9a,0x0a] |
| 78 | @ CHECK: vpmin.s16 d17, d28, d11 @ encoding: [0x5c,0xef,0x9b,0x1a] |
| 79 | @ CHECK: vpmin.s32 d18, d27, d12 @ encoding: [0x6b,0xef,0x9c,0x2a] |
| 80 | @ CHECK: vpmin.u8 d19, d26, d13 @ encoding: [0x4a,0xff,0x9d,0x3a] |
| 81 | @ CHECK: vpmin.u16 d20, d25, d14 @ encoding: [0x59,0xff,0x9e,0x4a] |
| 82 | @ CHECK: vpmin.u32 d21, d24, d15 @ encoding: [0x68,0xff,0x9f,0x5a] |
| 83 | @ CHECK: vpmin.f32 d22, d23, d16 @ encoding: [0x67,0xff,0xa0,0x6f] |
| 84 | |
| 85 | |
| 86 | vpmax.s8 d3, d20, d17 |
| 87 | vpmax.s16 d4, d21, d16 |
| 88 | vpmax.s32 d5, d22, d15 |
| 89 | vpmax.u8 d6, d23, d14 |
| 90 | vpmax.u16 d7, d24, d13 |
| 91 | vpmax.u32 d8, d25, d12 |
| 92 | vpmax.f32 d9, d26, d11 |
| 93 | |
| 94 | @ CHECK: vpmax.s8 d3, d20, d17 @ encoding: [0x04,0xef,0xa1,0x3a] |
| 95 | @ CHECK: vpmax.s16 d4, d21, d16 @ encoding: [0x15,0xef,0xa0,0x4a] |
| 96 | @ CHECK: vpmax.s32 d5, d22, d15 @ encoding: [0x26,0xef,0x8f,0x5a] |
| 97 | @ CHECK: vpmax.u8 d6, d23, d14 @ encoding: [0x07,0xff,0x8e,0x6a] |
| 98 | @ CHECK: vpmax.u16 d7, d24, d13 @ encoding: [0x18,0xff,0x8d,0x7a] |
| 99 | @ CHECK: vpmax.u32 d8, d25, d12 @ encoding: [0x29,0xff,0x8c,0x8a] |
| 100 | @ CHECK: vpmax.f32 d9, d26, d11 @ encoding: [0x0a,0xff,0x8b,0x9f] |