1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s 2 3 .code 16 4 5 @ CHECK: vld1.8 {d16}, [r0:64] @ encoding: [0x60,0xf9,0x1f,0x07] 6 vld1.8 {d16}, [r0:64] 7 @ CHECK: vld1.16 {d16}, [r0] @ encoding: [0x60,0xf9,0x4f,0x07] 8 vld1.16 {d16}, [r0] 9 @ CHECK: vld1.32 {d16}, [r0] @ encoding: [0x60,0xf9,0x8f,0x07] 10 vld1.32 {d16}, [r0] 11 @ CHECK: vld1.64 {d16}, [r0] @ encoding: [0x60,0xf9,0xcf,0x07] 12 vld1.64 {d16}, [r0] 13 @ CHECK: vld1.8 {d16, d17}, [r0:64] @ encoding: [0x60,0xf9,0x1f,0x0a] 14 vld1.8 {d16, d17}, [r0:64] 15 @ CHECK: vld1.16 {d16, d17}, [r0:128] @ encoding: [0x60,0xf9,0x6f,0x0a] 16 vld1.16 {d16, d17}, [r0:128] 17 @ CHECK: vld1.32 {d16, d17}, [r0] @ encoding: [0x60,0xf9,0x8f,0x0a] 18 vld1.32 {d16, d17}, [r0] 19 @ CHECK: vld1.64 {d16, d17}, [r0] @ encoding: [0x60,0xf9,0xcf,0x0a] 20 vld1.64 {d16, d17}, [r0] 21 22 @ CHECK: vld2.8 {d16, d17}, [r0:64] @ encoding: [0x60,0xf9,0x1f,0x08] 23 vld2.8 {d16, d17}, [r0:64] 24 @ CHECK: vld2.16 {d16, d17}, [r0:128] @ encoding: [0x60,0xf9,0x6f,0x08] 25 vld2.16 {d16, d17}, [r0:128] 26 @ CHECK: vld2.32 {d16, d17}, [r0] @ encoding: [0x60,0xf9,0x8f,0x08] 27 vld2.32 {d16, d17}, [r0] 28 @ CHECK: vld2.8 {d16, d17, d18, d19}, [r0:64] @ encoding: [0x60,0xf9,0x1f,0x03] 29 vld2.8 {d16, d17, d18, d19}, [r0:64] 30 @ CHECK: vld2.16 {d16, d17, d18, d19}, [r0:128] @ encoding: [0x60,0xf9,0x6f,0x03] 31 vld2.16 {d16, d17, d18, d19}, [r0:128] 32 @ CHECK: vld2.32 {d16, d17, d18, d19}, [r0:256] @ encoding: [0x60,0xf9,0xbf,0x03] 33 vld2.32 {d16, d17, d18, d19}, [r0:256] 34 35 @ CHECK: vld3.8 {d16, d17, d18}, [r0:64] @ encoding: [0x60,0xf9,0x1f,0x04] 36 vld3.8 {d16, d17, d18}, [r0:64] 37 @ CHECK: vld3.16 {d16, d17, d18}, [r0] @ encoding: [0x60,0xf9,0x4f,0x04] 38 vld3.16 {d16, d17, d18}, [r0] 39 @ CHECK: vld3.32 {d16, d17, d18}, [r0] @ encoding: [0x60,0xf9,0x8f,0x04] 40 vld3.32 {d16, d17, d18}, [r0] 41 @ CHECK: vld3.8 {d16, d18, d20}, [r0:64]! @ encoding: [0x60,0xf9,0x1d,0x05] 42 vld3.8 {d16, d18, d20}, [r0:64]! 43 @ CHECK: vld3.8 {d17, d19, d21}, [r0:64]! @ encoding: [0x60,0xf9,0x1d,0x15] 44 vld3.8 {d17, d19, d21}, [r0:64]! 45 @ CHECK: vld3.16 {d16, d18, d20}, [r0]! @ encoding: [0x60,0xf9,0x4d,0x05] 46 vld3.16 {d16, d18, d20}, [r0]! 47 @ CHECK: vld3.16 {d17, d19, d21}, [r0]! @ encoding: [0x60,0xf9,0x4d,0x15] 48 vld3.16 {d17, d19, d21}, [r0]! 49 @ CHECK: vld3.32 {d16, d18, d20}, [r0]! @ encoding: [0x60,0xf9,0x8d,0x05] 50 vld3.32 {d16, d18, d20}, [r0]! 51 @ CHECK: vld3.32 {d17, d19, d21}, [r0]! @ encoding: [0x60,0xf9,0x8d,0x15] 52 vld3.32 {d17, d19, d21}, [r0]! 53 54 @ CHECK: vld4.8 {d16, d17, d18, d19}, [r0:64] @ encoding: [0x60,0xf9,0x1f,0x00] 55 vld4.8 {d16, d17, d18, d19}, [r0:64] 56 @ CHECK: vld4.16 {d16, d17, d18, d19}, [r0:128] @ encoding: [0x60,0xf9,0x6f,0x00] 57 vld4.16 {d16, d17, d18, d19}, [r0:128] 58 @ CHECK: vld4.32 {d16, d17, d18, d19}, [r0:256] @ encoding: [0x60,0xf9,0xbf,0x00] 59 vld4.32 {d16, d17, d18, d19}, [r0:256] 60 @ CHECK: vld4.8 {d16, d18, d20, d22}, [r0:256]! @ encoding: [0x60,0xf9,0x3d,0x01] 61 vld4.8 {d16, d18, d20, d22}, [r0:256]! 62 @ CHECK: vld4.8 {d17, d19, d21, d23}, [r0:256]! @ encoding: [0x60,0xf9,0x3d,0x11] 63 vld4.8 {d17, d19, d21, d23}, [r0:256]! 64 @ CHECK: vld4.16 {d16, d18, d20, d22}, [r0]! @ encoding: [0x60,0xf9,0x4d,0x01] 65 vld4.16 {d16, d18, d20, d22}, [r0]! 66 @ CHECK: vld4.16 {d17, d19, d21, d23}, [r0]! @ encoding: [0x60,0xf9,0x4d,0x11] 67 vld4.16 {d17, d19, d21, d23}, [r0]! 68 @ CHECK: vld4.32 {d16, d18, d20, d22}, [r0]! @ encoding: [0x60,0xf9,0x8d,0x01] 69 vld4.32 {d16, d18, d20, d22}, [r0]! 70 @ CHECK: vld4.32 {d17, d19, d21, d23}, [r0]! @ encoding: [0x60,0xf9,0x8d,0x11] 71 vld4.32 {d17, d19, d21, d23}, [r0]! 72 73 @ CHECK: vld1.8 {d16[3]}, [r0] @ encoding: [0xe0,0xf9,0x6f,0x00] 74 vld1.8 {d16[3]}, [r0] 75 @ CHECK: vld1.16 {d16[2]}, [r0:16] @ encoding: [0xe0,0xf9,0x9f,0x04] 76 vld1.16 {d16[2]}, [r0:16] 77 @ CHECK: vld1.32 {d16[1]}, [r0:32] @ encoding: [0xe0,0xf9,0xbf,0x08] 78 vld1.32 {d16[1]}, [r0:32] 79 80 @ CHECK: vld2.8 {d16[1], d17[1]}, [r0:16] @ encoding: [0xe0,0xf9,0x3f,0x01] 81 vld2.8 {d16[1], d17[1]}, [r0:16] 82 @ CHECK: vld2.16 {d16[1], d17[1]}, [r0:32] @ encoding: [0xe0,0xf9,0x5f,0x05] 83 vld2.16 {d16[1], d17[1]}, [r0:32] 84 @ CHECK: vld2.32 {d16[1], d17[1]}, [r0] @ encoding: [0xe0,0xf9,0x8f,0x09] 85 vld2.32 {d16[1], d17[1]}, [r0] 86 @ CHECK: vld2.16 {d17[1], d19[1]}, [r0] @ encoding: [0xe0,0xf9,0x6f,0x15] 87 vld2.16 {d17[1], d19[1]}, [r0] 88 @ CHECK: vld2.32 {d17[0], d19[0]}, [r0:64] @ encoding: [0xe0,0xf9,0x5f,0x19] 89 vld2.32 {d17[0], d19[0]}, [r0:64] 90 91 @ CHECK: vld3.8 {d16[1], d17[1], d18[1]}, [r0] @ encoding: [0xe0,0xf9,0x2f,0x02] 92 vld3.8 {d16[1], d17[1], d18[1]}, [r0] 93 @ CHECK: vld3.16 {d16[1], d17[1], d18[1]}, [r0] @ encoding: [0xe0,0xf9,0x4f,0x06] 94 vld3.16 {d16[1], d17[1], d18[1]}, [r0] 95 @ CHECK: vld3.32 {d16[1], d17[1], d18[1]}, [r0] @ encoding: [0xe0,0xf9,0x8f,0x0a] 96 vld3.32 {d16[1], d17[1], d18[1]}, [r0] 97 @ CHECK: vld3.16 {d16[1], d18[1], d20[1]}, [r0] @ encoding: [0xe0,0xf9,0x6f,0x06] 98 vld3.16 {d16[1], d18[1], d20[1]}, [r0] 99 @ CHECK: vld3.32 {d17[1], d19[1], d21[1]}, [r0] @ encoding: [0xe0,0xf9,0xcf,0x1a] 100 vld3.32 {d17[1], d19[1], d21[1]}, [r0] 101 102 @ CHECK: vld4.8 {d16[1], d17[1], d18[1], d19[1]}, [r0:32] @ encoding: [0xe0,0xf9,0x3f,0x03] 103 vld4.8 {d16[1], d17[1], d18[1], d19[1]}, [r0:32] 104 @ CHECK: vld4.16 {d16[1], d17[1], d18[1], d19[1]}, [r0] @ encoding: [0xe0,0xf9,0x4f,0x07] 105 vld4.16 {d16[1], d17[1], d18[1], d19[1]}, [r0] 106 @ CHECK: vld4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0:128] @ encoding: [0xe0,0xf9,0xaf,0x0b] 107 vld4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0:128] 108 @ CHECK: vld4.16 {d16[1], d18[1], d20[1], d22[1]}, [r0:64] @ encoding: [0xe0,0xf9,0x7f,0x07] 109 vld4.16 {d16[1], d18[1], d20[1], d22[1]}, [r0:64] 110 @ CHECK: vld4.32 {d17[0], d19[0], d21[0], d23[0]}, [r0] @ encoding: [0xe0,0xf9,0x4f,0x1b] 111 vld4.32 {d17[0], d19[0], d21[0], d23[0]}, [r0] 112