1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s 2 3 vext.8 d16, d17, d16, #3 4 vext.8 d16, d17, d16, #5 5 vext.8 q8, q9, q8, #3 6 vext.8 q8, q9, q8, #7 7 vext.16 d16, d17, d16, #3 8 vext.32 q8, q9, q8, #3 9 vext.64 q8, q9, q8, #1 10 11 vext.8 d17, d16, #3 12 vext.8 d7, d11, #5 13 vext.8 q3, q8, #3 14 vext.8 q9, q4, #7 15 vext.16 d1, d26, #3 16 vext.32 q5, q8, #3 17 vext.64 q5, q8, #1 18 19 20 @ CHECK: vext.8 d16, d17, d16, #3 @ encoding: [0xa0,0x03,0xf1,0xf2] 21 @ CHECK: vext.8 d16, d17, d16, #5 @ encoding: [0xa0,0x05,0xf1,0xf2] 22 @ CHECK: vext.8 q8, q9, q8, #3 @ encoding: [0xe0,0x03,0xf2,0xf2] 23 @ CHECK: vext.8 q8, q9, q8, #7 @ encoding: [0xe0,0x07,0xf2,0xf2] 24 @ CHECK: vext.16 d16, d17, d16, #3 @ encoding: [0xa0,0x06,0xf1,0xf2] 25 @ CHECK: vext.32 q8, q9, q8, #3 @ encoding: [0xe0,0x0c,0xf2,0xf2] 26 @ CHECK: vext.64 q8, q9, q8, #1 @ encoding: [0xe0,0x08,0xf2,0xf2] 27 28 @ CHECK: vext.8 d17, d17, d16, #3 @ encoding: [0xa0,0x13,0xf1,0xf2] 29 @ CHECK: vext.8 d7, d7, d11, #5 @ encoding: [0x0b,0x75,0xb7,0xf2] 30 @ CHECK: vext.8 q3, q3, q8, #3 @ encoding: [0x60,0x63,0xb6,0xf2] 31 @ CHECK: vext.8 q9, q9, q4, #7 @ encoding: [0xc8,0x27,0xf2,0xf2] 32 @ CHECK: vext.16 d1, d1, d26, #3 @ encoding: [0x2a,0x16,0xb1,0xf2] 33 @ CHECK: vext.32 q5, q5, q8, #3 @ encoding: [0x60,0xac,0xba,0xf2] 34 @ CHECK: vext.64 q5, q5, q8, #1 @ encoding: [0x60,0xa8,0xba,0xf2] 35 36 37 vtrn.8 d17, d16 38 vtrn.16 d17, d16 39 vtrn.32 d17, d16 40 vtrn.8 q9, q8 41 vtrn.16 q9, q8 42 vtrn.32 q9, q8 43 44 @ CHECK: vtrn.8 d17, d16 @ encoding: [0xa0,0x10,0xf2,0xf3] 45 @ CHECK: vtrn.16 d17, d16 @ encoding: [0xa0,0x10,0xf6,0xf3] 46 @ CHECK: vtrn.32 d17, d16 @ encoding: [0xa0,0x10,0xfa,0xf3] 47 @ CHECK: vtrn.8 q9, q8 @ encoding: [0xe0,0x20,0xf2,0xf3] 48 @ CHECK: vtrn.16 q9, q8 @ encoding: [0xe0,0x20,0xf6,0xf3] 49 @ CHECK: vtrn.32 q9, q8 @ encoding: [0xe0,0x20,0xfa,0xf3] 50 51 52 vuzp.8 d17, d16 53 vuzp.16 d17, d16 54 vuzp.8 q9, q8 55 vuzp.16 q9, q8 56 vuzp.32 q9, q8 57 vzip.8 d17, d16 58 vzip.16 d17, d16 59 vzip.8 q9, q8 60 vzip.16 q9, q8 61 vzip.32 q9, q8 62 vzip.32 d2, d3 63 vuzp.32 d2, d3 64 65 @ CHECK: vuzp.8 d17, d16 @ encoding: [0x20,0x11,0xf2,0xf3] 66 @ CHECK: vuzp.16 d17, d16 @ encoding: [0x20,0x11,0xf6,0xf3] 67 @ CHECK: vuzp.8 q9, q8 @ encoding: [0x60,0x21,0xf2,0xf3] 68 @ CHECK: vuzp.16 q9, q8 @ encoding: [0x60,0x21,0xf6,0xf3] 69 @ CHECK: vuzp.32 q9, q8 @ encoding: [0x60,0x21,0xfa,0xf3] 70 @ CHECK: vzip.8 d17, d16 @ encoding: [0xa0,0x11,0xf2,0xf3] 71 @ CHECK: vzip.16 d17, d16 @ encoding: [0xa0,0x11,0xf6,0xf3] 72 @ CHECK: vzip.8 q9, q8 @ encoding: [0xe0,0x21,0xf2,0xf3] 73 @ CHECK: vzip.16 q9, q8 @ encoding: [0xe0,0x21,0xf6,0xf3] 74 @ CHECK: vzip.32 q9, q8 @ encoding: [0xe0,0x21,0xfa,0xf3] 75 @ CHECK: vtrn.32 d2, d3 @ encoding: [0x83,0x20,0xba,0xf3] 76 @ CHECK: vtrn.32 d2, d3 @ encoding: [0x83,0x20,0xba,0xf3] 77 78 79 @ VTRN alternate size suffices 80 81 vtrn.8 d3, d9 82 vtrn.i8 d3, d9 83 vtrn.u8 d3, d9 84 vtrn.p8 d3, d9 85 vtrn.16 d3, d9 86 vtrn.i16 d3, d9 87 vtrn.u16 d3, d9 88 vtrn.p16 d3, d9 89 vtrn.32 d3, d9 90 vtrn.i32 d3, d9 91 vtrn.u32 d3, d9 92 vtrn.f32 d3, d9 93 vtrn.f d3, d9 94 95 vtrn.8 q14, q6 96 vtrn.i8 q14, q6 97 vtrn.u8 q14, q6 98 vtrn.p8 q14, q6 99 vtrn.16 q14, q6 100 vtrn.i16 q14, q6 101 vtrn.u16 q14, q6 102 vtrn.p16 q14, q6 103 vtrn.32 q14, q6 104 vtrn.i32 q14, q6 105 vtrn.u32 q14, q6 106 vtrn.f32 q14, q6 107 vtrn.f q14, q6 108 109 @ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3] 110 @ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3] 111 @ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3] 112 @ CHECK: vtrn.8 d3, d9 @ encoding: [0x89,0x30,0xb2,0xf3] 113 @ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3] 114 @ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3] 115 @ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3] 116 @ CHECK: vtrn.16 d3, d9 @ encoding: [0x89,0x30,0xb6,0xf3] 117 @ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3] 118 @ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3] 119 @ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3] 120 @ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3] 121 @ CHECK: vtrn.32 d3, d9 @ encoding: [0x89,0x30,0xba,0xf3] 122 123 @ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3] 124 @ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3] 125 @ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3] 126 @ CHECK: vtrn.8 q14, q6 @ encoding: [0xcc,0xc0,0xf2,0xf3] 127 @ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3] 128 @ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3] 129 @ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3] 130 @ CHECK: vtrn.16 q14, q6 @ encoding: [0xcc,0xc0,0xf6,0xf3] 131 @ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3] 132 @ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3] 133 @ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3] 134 @ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3] 135 @ CHECK: vtrn.32 q14, q6 @ encoding: [0xcc,0xc0,0xfa,0xf3] 136 137