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