neon-vld-encoding.s revision e6949b13997e6d31aa4719a0e80c4b6b405e42a9
1@ RUN: llvm-mc -mcpu=cortex-a8 -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s 2 3 vld1.8 {d16}, [r0, :64] 4 vld1.16 {d16}, [r0] 5 vld1.32 {d16}, [r0] 6 vld1.64 {d16}, [r0] 7 vld1.8 {d16, d17}, [r0, :64] 8 vld1.16 {d16, d17}, [r0, :128] 9 vld1.32 {d16, d17}, [r0] 10 vld1.64 {d16, d17}, [r0] 11 vld1.8 {d1, d2, d3}, [r3] 12 vld1.16 {d4, d5, d6}, [r3, :64] 13 vld1.32 {d5, d6, d7}, [r3] 14 vld1.64 {d6, d7, d8}, [r3, :64] 15 vld1.8 {d1, d2, d3, d4}, [r3] 16 vld1.16 {d4, d5, d6, d7}, [r3, :64] 17 vld1.32 {d5, d6, d7, d8}, [r3] 18 vld1.64 {d6, d7, d8, d9}, [r3, :64] 19 20 vld1.8 {d16}, [r0, :64]! 21 vld1.16 {d16}, [r0]! 22 vld1.32 {d16}, [r0]! 23 vld1.64 {d16}, [r0]! 24 vld1.8 {d16, d17}, [r0, :64]! 25 vld1.16 {d16, d17}, [r0, :128]! 26 vld1.32 {d16, d17}, [r0]! 27 vld1.64 {d16, d17}, [r0]! 28 29 vld1.8 {d16}, [r0, :64], r5 30 vld1.16 {d16}, [r0], r5 31 vld1.32 {d16}, [r0], r5 32 vld1.64 {d16}, [r0], r5 33 vld1.8 {d16, d17}, [r0, :64], r5 34 vld1.16 {d16, d17}, [r0, :128], r5 35 vld1.32 {d16, d17}, [r0], r5 36 vld1.64 {d16, d17}, [r0], r5 37 38 vld1.8 {d1, d2, d3}, [r3]! 39 vld1.16 {d4, d5, d6}, [r3, :64]! 40 vld1.32 {d5, d6, d7}, [r3]! 41 vld1.64 {d6, d7, d8}, [r3, :64]! 42 43 vld1.8 {d1, d2, d3}, [r3], r6 44 vld1.16 {d4, d5, d6}, [r3, :64], r6 45 vld1.32 {d5, d6, d7}, [r3], r6 46 vld1.64 {d6, d7, d8}, [r3, :64], r6 47 48 vld1.8 {d1, d2, d3, d4}, [r3]! 49 vld1.16 {d4, d5, d6, d7}, [r3, :64]! 50 vld1.32 {d5, d6, d7, d8}, [r3]! 51 vld1.64 {d6, d7, d8, d9}, [r3, :64]! 52 53 vld1.8 {d1, d2, d3, d4}, [r3], r8 54 vld1.16 {d4, d5, d6, d7}, [r3, :64], r8 55 vld1.32 {d5, d6, d7, d8}, [r3], r8 56 vld1.64 {d6, d7, d8, d9}, [r3, :64], r8 57 58@ CHECK: vld1.8 {d16}, [r0, :64] @ encoding: [0x1f,0x07,0x60,0xf4] 59@ CHECK: vld1.16 {d16}, [r0] @ encoding: [0x4f,0x07,0x60,0xf4] 60@ CHECK: vld1.32 {d16}, [r0] @ encoding: [0x8f,0x07,0x60,0xf4] 61@ CHECK: vld1.64 {d16}, [r0] @ encoding: [0xcf,0x07,0x60,0xf4] 62@ CHECK: vld1.8 {d16, d17}, [r0, :64] @ encoding: [0x1f,0x0a,0x60,0xf4] 63@ CHECK: vld1.16 {d16, d17}, [r0, :128] @ encoding: [0x6f,0x0a,0x60,0xf4] 64@ CHECK: vld1.32 {d16, d17}, [r0] @ encoding: [0x8f,0x0a,0x60,0xf4] 65@ CHECK: vld1.64 {d16, d17}, [r0] @ encoding: [0xcf,0x0a,0x60,0xf4] 66@ CHECK: vld1.8 {d1, d2, d3}, [r3] @ encoding: [0x0f,0x16,0x23,0xf4] 67@ CHECK: vld1.16 {d4, d5, d6}, [r3, :64] @ encoding: [0x5f,0x46,0x23,0xf4] 68@ CHECK: vld1.32 {d5, d6, d7}, [r3] @ encoding: [0x8f,0x56,0x23,0xf4] 69@ CHECK: vld1.64 {d6, d7, d8}, [r3, :64] @ encoding: [0xdf,0x66,0x23,0xf4] 70@ CHECK: vld1.8 {d1, d2, d3, d4}, [r3] @ encoding: [0x0f,0x12,0x23,0xf4] 71@ CHECK: vld1.16 {d4, d5, d6, d7}, [r3, :64] @ encoding: [0x5f,0x42,0x23,0xf4] 72@ CHECK: vld1.32 {d5, d6, d7, d8}, [r3] @ encoding: [0x8f,0x52,0x23,0xf4] 73@ CHECK: vld1.64 {d6, d7, d8, d9}, [r3, :64] @ encoding: [0xdf,0x62,0x23,0xf4] 74@ CHECK: vld1.8 {d16}, [r0, :64]! @ encoding: [0x1d,0x07,0x60,0xf4] 75 76@ CHECK: vld1.16 {d16}, [r0]! @ encoding: [0x4d,0x07,0x60,0xf4] 77@ CHECK: vld1.32 {d16}, [r0]! @ encoding: [0x8d,0x07,0x60,0xf4] 78@ CHECK: vld1.64 {d16}, [r0]! @ encoding: [0xcd,0x07,0x60,0xf4] 79@ CHECK: vld1.8 {d16, d17}, [r0, :64]! @ encoding: [0x1d,0x0a,0x60,0xf4] 80@ CHECK: vld1.16 {d16, d17}, [r0, :128]! @ encoding: [0x6d,0x0a,0x60,0xf4] 81@ CHECK: vld1.32 {d16, d17}, [r0]! @ encoding: [0x8d,0x0a,0x60,0xf4] 82@ CHECK: vld1.64 {d16, d17}, [r0]! @ encoding: [0xcd,0x0a,0x60,0xf4] 83 84@ CHECK: vld1.8 {d16}, [r0, :64], r5 @ encoding: [0x15,0x07,0x60,0xf4] 85@ CHECK: vld1.16 {d16}, [r0], r5 @ encoding: [0x45,0x07,0x60,0xf4] 86@ CHECK: vld1.32 {d16}, [r0], r5 @ encoding: [0x85,0x07,0x60,0xf4] 87@ CHECK: vld1.64 {d16}, [r0], r5 @ encoding: [0xc5,0x07,0x60,0xf4] 88@ CHECK: vld1.8 {d16, d17}, [r0, :64], r5 @ encoding: [0x15,0x0a,0x60,0xf4] 89@ CHECK: vld1.16 {d16, d17}, [r0, :128], r5 @ encoding: [0x65,0x0a,0x60,0xf4] 90@ CHECK: vld1.32 {d16, d17}, [r0], r5 @ encoding: [0x85,0x0a,0x60,0xf4] 91@ CHECK: vld1.64 {d16, d17}, [r0], r5 @ encoding: [0xc5,0x0a,0x60,0xf4] 92 93@ CHECK: vld1.8 {d1, d2, d3}, [r3]! @ encoding: [0x0d,0x16,0x23,0xf4] 94@ CHECK: vld1.16 {d4, d5, d6}, [r3, :64]! @ encoding: [0x5d,0x46,0x23,0xf4] 95@ CHECK: vld1.32 {d5, d6, d7}, [r3]! @ encoding: [0x8d,0x56,0x23,0xf4] 96@ CHECK: vld1.64 {d6, d7, d8}, [r3, :64]! @ encoding: [0xdd,0x66,0x23,0xf4] 97 98@ CHECK: vld1.8 {d1, d2, d3}, [r3], r6 @ encoding: [0x06,0x16,0x23,0xf4] 99@ CHECK: vld1.16 {d4, d5, d6}, [r3, :64], r6 @ encoding: [0x56,0x46,0x23,0xf4] 100@ CHECK: vld1.32 {d5, d6, d7}, [r3], r6 @ encoding: [0x86,0x56,0x23,0xf4] 101@ CHECK: vld1.64 {d6, d7, d8}, [r3, :64], r6 @ encoding: [0xd6,0x66,0x23,0xf4] 102 103@ CHECK: vld1.8 {d1, d2, d3, d4}, [r3]! @ encoding: [0x0d,0x12,0x23,0xf4] 104@ CHECK: vld1.16 {d4, d5, d6, d7}, [r3, :64]! @ encoding: [0x5d,0x42,0x23,0xf4] 105@ CHECK: vld1.32 {d5, d6, d7, d8}, [r3]! @ encoding: [0x8d,0x52,0x23,0xf4] 106@ CHECK: vld1.64 {d6, d7, d8, d9}, [r3, :64]! @ encoding: [0xdd,0x62,0x23,0xf4] 107 108@ CHECK: vld1.8 {d1, d2, d3, d4}, [r3], r8 @ encoding: [0x08,0x12,0x23,0xf4] 109@ CHECK: vld1.16 {d4, d5, d6, d7}, [r3, :64], r8 @ encoding: [0x58,0x42,0x23,0xf4] 110@ CHECK: vld1.32 {d5, d6, d7, d8}, [r3], r8 @ encoding: [0x88,0x52,0x23,0xf4] 111@ CHECK: vld1.64 {d6, d7, d8, d9}, [r3, :64], r8 @ encoding: [0xd8,0x62,0x23,0xf4] 112 113 114 vld2.8 {d16, d17}, [r0, :64] 115 vld2.16 {d16, d17}, [r0, :128] 116 vld2.32 {d16, d17}, [r0] 117 vld2.8 {d16, d17, d18, d19}, [r0, :64] 118 vld2.16 {d16, d17, d18, d19}, [r0, :128] 119 vld2.32 {d16, d17, d18, d19}, [r0, :256] 120 121 vld2.8 {d19, d20}, [r0, :64]! 122 vld2.16 {d16, d17}, [r0, :128]! 123 vld2.32 {q10}, [r0]! 124 vld2.8 {d4-d7}, [r0, :64]! 125 vld2.16 {d1, d2, d3, d4}, [r0, :128]! 126 vld2.32 {q7, q8}, [r0, :256]! 127 128 vld2.8 {d19, d20}, [r0, :64], r6 129 vld2.16 {d16, d17}, [r0, :128], r6 130 vld2.32 {q10}, [r0], r6 131 vld2.8 {d4-d7}, [r0, :64], r6 132 vld2.16 {d1, d2, d3, d4}, [r0, :128], r6 133 vld2.32 {q7, q8}, [r0, :256], r6 134 135@ CHECK: vld2.8 {d16, d17}, [r0, :64] @ encoding: [0x1f,0x08,0x60,0xf4] 136@ CHECK: vld2.16 {d16, d17}, [r0, :128] @ encoding: [0x6f,0x08,0x60,0xf4] 137@ CHECK: vld2.32 {d16, d17}, [r0] @ encoding: [0x8f,0x08,0x60,0xf4] 138@ CHECK: vld2.8 {d16, d17, d18, d19}, [r0, :64] @ encoding: [0x1f,0x03,0x60,0xf4] 139@ CHECK: vld2.16 {d16, d17, d18, d19}, [r0, :128] @ encoding: [0x6f,0x03,0x60,0xf4] 140@ CHECK: vld2.32 {d16, d17, d18, d19}, [r0, :256] @ encoding: [0xbf,0x03,0x60,0xf4] 141 142@ CHECK: vld2.8 {d19, d20}, [r0, :64]! @ encoding: [0x1d,0x38,0x60,0xf4] 143@ CHECK: vld2.16 {d16, d17}, [r0, :128]! @ encoding: [0x6d,0x08,0x60,0xf4] 144@ CHECK: vld2.32 {d20, d21}, [r0]! @ encoding: [0x8d,0x48,0x60,0xf4] 145@ CHECK: vld2.8 {d4, d5, d6, d7}, [r0, :64]! @ encoding: [0x1d,0x43,0x20,0xf4] 146@ CHECK: vld2.16 {d1, d2, d3, d4}, [r0, :128]! @ encoding: [0x6d,0x13,0x20,0xf4] 147@ CHECK: vld2.32 {d14, d15, d16, d17}, [r0, :256]! @ encoding: [0xbd,0xe3,0x20,0xf4] 148 149@ CHECK: vld2.8 {d19, d20}, [r0, :64], r6 @ encoding: [0x16,0x38,0x60,0xf4] 150@ CHECK: vld2.16 {d16, d17}, [r0, :128], r6 @ encoding: [0x66,0x08,0x60,0xf4] 151@ CHECK: vld2.32 {d20, d21}, [r0], r6 @ encoding: [0x86,0x48,0x60,0xf4] 152@ CHECK: vld2.8 {d4, d5, d6, d7}, [r0, :64], r6 @ encoding: [0x16,0x43,0x20,0xf4] 153@ CHECK: vld2.16 {d1, d2, d3, d4}, [r0, :128], r6 @ encoding: [0x66,0x13,0x20,0xf4] 154@ CHECK: vld2.32 {d14, d15, d16, d17}, [r0, :256], r6 @ encoding: [0xb6,0xe3,0x20,0xf4] 155 156 157@ vld3.8 {d16, d17, d18}, [r0, :64] 158@ vld3.16 {d16, d17, d18}, [r0] 159@ vld3.32 {d16, d17, d18}, [r0] 160@ vld3.8 {d16, d18, d20}, [r0, :64]! 161@ vld3.8 {d17, d19, d21}, [r0, :64]! 162@ vld3.16 {d16, d18, d20}, [r0]! 163@ vld3.16 {d17, d19, d21}, [r0]! 164@ vld3.32 {d16, d18, d20}, [r0]! 165@ vld3.32 {d17, d19, d21}, [r0]! 166 167@ FIXME: vld3.8 {d16, d17, d18}, [r0, :64] @ encoding: [0x1f,0x04,0x60,0xf4] 168@ FIXME: vld3.16 {d16, d17, d18}, [r0] @ encoding: [0x4f,0x04,0x60,0xf4] 169@ FIXME: vld3.32 {d16, d17, d18}, [r0] @ encoding: [0x8f,0x04,0x60,0xf4] 170@ FIXME: vld3.8 {d16, d18, d20}, [r0, :64]! @ encoding: [0x1d,0x05,0x60,0xf4] 171@ FIXME: vld3.8 {d17, d19, d21}, [r0, :64]! @ encoding: [0x1d,0x15,0x60,0xf4] 172@ FIXME: vld3.16 {d16, d18, d20}, [r0]! @ encoding: [0x4d,0x05,0x60,0xf4] 173@ FIXME: vld3.16 {d17, d19, d21}, [r0]! @ encoding: [0x4d,0x15,0x60,0xf4] 174@ FIXME: vld3.32 {d16, d18, d20}, [r0]! @ encoding: [0x8d,0x05,0x60,0xf4] 175@ FIXME: vld3.32 {d17, d19, d21}, [r0]! @ encoding: [0x8d,0x15,0x60,0xf4] 176 177 178@ vld4.8 {d16, d17, d18, d19}, [r0, :64] 179@ vld4.16 {d16, d17, d18, d19}, [r0, :128] 180@ vld4.32 {d16, d17, d18, d19}, [r0, :256] 181@ vld4.8 {d16, d18, d20, d22}, [r0, :256]! 182@ vld4.8 {d17, d19, d21, d23}, [r0, :256]! 183@ vld4.16 {d16, d18, d20, d22}, [r0]! 184@ vld4.16 {d17, d19, d21, d23}, [r0]! 185@ vld4.32 {d16, d18, d20, d22}, [r0]! 186@ vld4.32 {d17, d19, d21, d23}, [r0]! 187 188@ FIXME: vld4.8 {d16, d17, d18, d19}, [r0, :64]@ encoding: [0x1f,0x00,0x60,0xf4] 189@ FIXME: vld4.16 {d16, d17, d18, d19}, [r0,:128]@ encoding:[0x6f,0x00,0x60,0xf4] 190@ FIXME: vld4.32 {d16, d17, d18, d19}, [r0,:256]@ encoding:[0xbf,0x00,0x60,0xf4] 191@ FIXME: vld4.8 {d16, d18, d20, d22}, [r0,:256]!@ encoding:[0x3d,0x01,0x60,0xf4] 192@ FIXME: vld4.8 {d17, d19, d21, d23}, [r0,:256]!@ encoding:[0x3d,0x11,0x60,0xf4] 193@ FIXME: vld4.16 {d16, d18, d20, d22}, [r0]! @ encoding: [0x4d,0x01,0x60,0xf4] 194@ FIXME: vld4.16 {d17, d19, d21, d23}, [r0]! @ encoding: [0x4d,0x11,0x60,0xf4] 195@ FIXME: vld4.32 {d16, d18, d20, d22}, [r0]! @ encoding: [0x8d,0x01,0x60,0xf4] 196@ FIXME: vld4.32 {d17, d19, d21, d23}, [r0]! @ encoding: [0x8d,0x11,0x60,0xf4] 197 198 199 vld1.8 {d4[]}, [r1] 200 vld1.8 {d4[]}, [r1]! 201 vld1.8 {d4[]}, [r1], r3 202 vld1.8 {d4[], d5[]}, [r1] 203 vld1.8 {d4[], d5[]}, [r1]! 204 vld1.8 {d4[], d5[]}, [r1], r3 205 206@ CHECK: vld1.8 {d4[]}, [r1] @ encoding: [0x0f,0x4c,0xa1,0xf4] 207@ CHECK: vld1.8 {d4[]}, [r1]! @ encoding: [0x0d,0x4c,0xa1,0xf4] 208@ CHECK: vld1.8 {d4[]}, [r1], r3 @ encoding: [0x03,0x4c,0xa1,0xf4] 209@ CHECK: vld1.8 {d4[], d5[]}, [r1] @ encoding: [0x2f,0x4c,0xa1,0xf4] 210@ CHECK: vld1.8 {d4[], d5[]}, [r1]! @ encoding: [0x2d,0x4c,0xa1,0xf4] 211@ CHECK: vld1.8 {d4[], d5[]}, [r1], r3 @ encoding: [0x23,0x4c,0xa1,0xf4] 212 213 vld1.8 {d16[3]}, [r0] 214 vld1.16 {d16[2]}, [r0, :16] 215 vld1.32 {d16[1]}, [r0, :32] 216 vld1.p8 d12[6], [r2]! 217 vld1.i8 d12[6], [r2], r2 218 vld1.u16 d12[3], [r2]! 219 vld1.16 d12[2], [r2], r2 220 221@ CHECK: vld1.8 {d16[3]}, [r0] @ encoding: [0x6f,0x00,0xe0,0xf4] 222@ CHECK: vld1.16 {d16[2]}, [r0, :16] @ encoding: [0x9f,0x04,0xe0,0xf4] 223@ CHECK: vld1.32 {d16[1]}, [r0, :32] @ encoding: [0xbf,0x08,0xe0,0xf4] 224@ CHECK: vld1.8 {d12[6]}, [r2]! @ encoding: [0xcd,0xc0,0xa2,0xf4] 225@ CHECK: vld1.8 {d12[6]}, [r2], r2 @ encoding: [0xc2,0xc0,0xa2,0xf4] 226@ CHECK: vld1.16 {d12[3]}, [r2]! @ encoding: [0xcd,0xc4,0xa2,0xf4] 227@ CHECK: vld1.16 {d12[2]}, [r2], r2 @ encoding: [0x82,0xc4,0xa2,0xf4] 228 229 230 vld2.8 {d16[1], d17[1]}, [r0, :16] 231 vld2.16 {d16[1], d17[1]}, [r0, :32] 232 vld2.32 {d16[1], d17[1]}, [r0] 233 vld2.16 {d17[1], d19[1]}, [r0] 234 vld2.32 {d17[0], d19[0]}, [r0, :64] 235 vld2.32 {d17[0], d19[0]}, [r0, :64]! 236 vld2.8 {d2[4], d3[4]}, [r2], r3 237 vld2.8 {d2[4], d3[4]}, [r2]! 238 vld2.8 {d2[4], d3[4]}, [r2] 239 vld2.32 {d22[], d23[]}, [r1] 240 vld2.32 {d22[], d24[]}, [r1] 241 vld2.32 {d10[ ],d11[ ]}, [r3]! 242 vld2.32 {d14[ ],d16[ ]}, [r4]! 243 vld2.32 {d22[ ],d23[ ]}, [r5], r4 244 vld2.32 {d22[ ],d24[ ]}, [r6], r4 245 246@ CHECK: vld2.8 {d16[1], d17[1]}, [r0, :16] @ encoding: [0x3f,0x01,0xe0,0xf4] 247@ CHECK: vld2.16 {d16[1], d17[1]}, [r0, :32] @ encoding: [0x5f,0x05,0xe0,0xf4] 248@ CHECK: vld2.32 {d16[1], d17[1]}, [r0] @ encoding: [0x8f,0x09,0xe0,0xf4] 249@ CHECK: vld2.16 {d17[1], d19[1]}, [r0] @ encoding: [0x6f,0x15,0xe0,0xf4] 250@ CHECK: vld2.32 {d17[0], d19[0]}, [r0, :64] @ encoding: [0x5f,0x19,0xe0,0xf4] 251@ CHECK: vld2.32 {d17[0], d19[0]}, [r0, :64]! @ encoding: [0x5d,0x19,0xe0,0xf4] 252@ CHECK: vld2.8 {d2[4], d3[4]}, [r2], r3 @ encoding: [0x83,0x21,0xa2,0xf4] 253@ CHECK: vld2.8 {d2[4], d3[4]}, [r2]! @ encoding: [0x8d,0x21,0xa2,0xf4] 254@ CHECK: vld2.8 {d2[4], d3[4]}, [r2] @ encoding: [0x8f,0x21,0xa2,0xf4] 255@ CHECK: vld2.32 {d22[], d23[]}, [r1] @ encoding: [0x8f,0x6d,0xe1,0xf4] 256@ CHECK: vld2.32 {d22[], d24[]}, [r1] @ encoding: [0xaf,0x6d,0xe1,0xf4] 257@ CHECK: vld2.32 {d10[], d11[]}, [r3]! @ encoding: [0x8d,0xad,0xa3,0xf4] 258@ CHECK: vld2.32 {d14[], d16[]}, [r4]! @ encoding: [0xad,0xed,0xa4,0xf4] 259@ CHECK: vld2.32 {d22[], d23[]}, [r5], r4 @ encoding: [0x84,0x6d,0xe5,0xf4] 260@ CHECK: vld2.32 {d22[], d24[]}, [r6], r4 @ encoding: [0xa4,0x6d,0xe6,0xf4] 261 262 263@ vld3.8 {d16[1], d17[1], d18[1]}, [r0] 264@ vld3.16 {d16[1], d17[1], d18[1]}, [r0] 265@ vld3.32 {d16[1], d17[1], d18[1]}, [r0] 266@ vld3.16 {d16[1], d18[1], d20[1]}, [r0] 267@ vld3.32 {d17[1], d19[1], d21[1]}, [r0] 268 269@ FIXME: vld3.8 {d16[1], d17[1], d18[1]}, [r0] @ encoding: [0x2f,0x02,0xe0,0xf4] 270@ FIXME: vld3.16 {d16[1], d17[1], d18[1]}, [r0]@ encoding: [0x4f,0x06,0xe0,0xf4] 271@ FIXME: vld3.32 {d16[1], d17[1], d18[1]}, [r0]@ encoding: [0x8f,0x0a,0xe0,0xf4] 272@ FIXME: vld3.16 {d16[1], d18[1], d20[1]}, [r0]@ encoding: [0x6f,0x06,0xe0,0xf4] 273@ FIXME: vld3.32 {d17[1], d19[1], d21[1]}, [r0]@ encoding: [0xcf,0x1a,0xe0,0xf4] 274 275 276@ vld4.8 {d16[1], d17[1], d18[1], d19[1]}, [r0, :32] 277@ vld4.16 {d16[1], d17[1], d18[1], d19[1]}, [r0] 278@ vld4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0, :128] 279@ vld4.16 {d16[1], d18[1], d20[1], d22[1]}, [r0, :64] 280@ vld4.32 {d17[0], d19[0], d21[0], d23[0]}, [r0] 281 282@ FIXME: vld4.8 {d16[1], d17[1], d18[1], d19[1]}, [r0, :32] @ encoding: [0x3f,0x03,0xe0,0xf4] 283@ FIXME: vld4.16 {d16[1], d17[1], d18[1], d19[1]}, [r0] @ encoding: [0x4f,0x07,0xe0,0xf4] 284@ FIXME: vld4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0, :128] @ encoding: [0xaf,0x0b,0xe0,0xf4] 285@ FIXME: vld4.16 {d16[1], d18[1], d20[1], d22[1]}, [r0, :64] @ encoding: [0x7f,0x07,0xe0,0xf4] 286@ FIXME: vld4.32 {d17[0], d19[0], d21[0], d23[0]}, [r0] @ encoding: [0x4f,0x1b,0xe0,0xf4] 287 288 289@ Handle 'Q' registers in register lists as if the sub-reg D regs were 290@ specified instead. 291 vld1.8 {q3}, [r9] 292 vld1.8 {q3, q4}, [r9] 293 294@ CHECK: vld1.8 {d6, d7}, [r9] @ encoding: [0x0f,0x6a,0x29,0xf4] 295@ CHECK: vld1.8 {d6, d7, d8, d9}, [r9] @ encoding: [0x0f,0x62,0x29,0xf4] 296 297 298@ Spot-check additional size-suffix aliases. 299 vld1.8 {d2}, [r2] 300 vld1.p8 {d2}, [r2] 301 vld1.u8 {d2}, [r2] 302 303 vld1.8 {q2}, [r2] 304 vld1.p8 {q2}, [r2] 305 vld1.u8 {q2}, [r2] 306 vld1.f32 {q2}, [r2] 307 308 vld1.u8 {d2, d3, d4}, [r2] 309 vld1.i32 {d2, d3, d4}, [r2] 310 vld1.f64 {d2, d3, d4}, [r2] 311 312@ CHECK: vld1.8 {d2}, [r2] @ encoding: [0x0f,0x27,0x22,0xf4] 313@ CHECK: vld1.8 {d2}, [r2] @ encoding: [0x0f,0x27,0x22,0xf4] 314@ CHECK: vld1.8 {d2}, [r2] @ encoding: [0x0f,0x27,0x22,0xf4] 315 316@ CHECK: vld1.8 {d4, d5}, [r2] @ encoding: [0x0f,0x4a,0x22,0xf4] 317@ CHECK: vld1.8 {d4, d5}, [r2] @ encoding: [0x0f,0x4a,0x22,0xf4] 318@ CHECK: vld1.8 {d4, d5}, [r2] @ encoding: [0x0f,0x4a,0x22,0xf4] 319@ CHECK: vld1.32 {d4, d5}, [r2] @ encoding: [0x8f,0x4a,0x22,0xf4] 320 321@ CHECK: vld1.8 {d2, d3, d4}, [r2] @ encoding: [0x0f,0x26,0x22,0xf4] 322@ CHECK: vld1.32 {d2, d3, d4}, [r2] @ encoding: [0x8f,0x26,0x22,0xf4] 323@ CHECK: vld1.64 {d2, d3, d4}, [r2] @ encoding: [0xcf,0x26,0x22,0xf4] 324 325 326@ Register lists can use the range syntax, just like VLDM 327 vld1.f64 {d2-d5}, [r2,:128]! 328 vld1.f64 {d2,d3,d4,d5}, [r2,:128]! 329 330@ CHECK: vld1.64 {d2, d3, d4, d5}, [r2, :128]! @ encoding: [0xed,0x22,0x22,0xf4] 331@ CHECK: vld1.64 {d2, d3, d4, d5}, [r2, :128]! @ encoding: [0xed,0x22,0x22,0xf4] 332