1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s 2 3 vmov.i8 d16, #0x8 4 vmov.i16 d16, #0x10 5 vmov.i16 d16, #0x1000 6 vmov.i32 d16, #0x20 7 vmov.i32 d16, #0x2000 8 vmov.i32 d16, #0x200000 9 vmov.i32 d16, #0x20000000 10 vmov.i32 d16, #0x20FF 11 vmov.i32 d16, #0x20FFFF 12 vmov.i64 d16, #0xFF0000FF0000FFFF 13 14 @ CHECK: vmov.i8 d16, #0x8 @ encoding: [0x18,0x0e,0xc0,0xf2] 15 @ CHECK: vmov.i16 d16, #0x10 @ encoding: [0x10,0x08,0xc1,0xf2] 16 @ CHECK: vmov.i16 d16, #0x1000 @ encoding: [0x10,0x0a,0xc1,0xf2] 17 @ CHECK: vmov.i32 d16, #0x20 @ encoding: [0x10,0x00,0xc2,0xf2] 18 @ CHECK: vmov.i32 d16, #0x2000 @ encoding: [0x10,0x02,0xc2,0xf2] 19 @ CHECK: vmov.i32 d16, #0x200000 @ encoding: [0x10,0x04,0xc2,0xf2] 20 @ CHECK: vmov.i32 d16, #0x20000000 @ encoding: [0x10,0x06,0xc2,0xf2] 21 @ CHECK: vmov.i32 d16, #0x20ff @ encoding: [0x10,0x0c,0xc2,0xf2] 22 @ CHECK: vmov.i32 d16, #0x20ffff @ encoding: [0x10,0x0d,0xc2,0xf2] 23 @ CHECK: vmov.i64 d16, #0xff0000ff0000ffff @ encoding: [0x33,0x0e,0xc1,0xf3] 24 25 26 27 vmov.i8 q8, #0x8 28 vmov.i16 q8, #0x10 29 vmov.i16 q8, #0x1000 30 vmov.i32 q8, #0x20 31 vmov.i32 q8, #0x2000 32 vmov.i32 q8, #0x200000 33 vmov.i32 q8, #0x20000000 34 vmov.i32 q8, #0x20FF 35 vmov.i32 q8, #0x20FFFF 36 vmov.i64 q8, #0xFF0000FF0000FFFF 37 38 @ CHECK: vmov.i8 q8, #0x8 @ encoding: [0x58,0x0e,0xc0,0xf2] 39 @ CHECK: vmov.i16 q8, #0x10 @ encoding: [0x50,0x08,0xc1,0xf2] 40 @ CHECK: vmov.i16 q8, #0x1000 @ encoding: [0x50,0x0a,0xc1,0xf2] 41 @ CHECK: vmov.i32 q8, #0x20 @ encoding: [0x50,0x00,0xc2,0xf2] 42 @ CHECK: vmov.i32 q8, #0x2000 @ encoding: [0x50,0x02,0xc2,0xf2] 43 @ CHECK: vmov.i32 q8, #0x200000 @ encoding: [0x50,0x04,0xc2,0xf2] 44 @ CHECK: vmov.i32 q8, #0x20000000 @ encoding: [0x50,0x06,0xc2,0xf2] 45 @ CHECK: vmov.i32 q8, #0x20ff @ encoding: [0x50,0x0c,0xc2,0xf2] 46 @ CHECK: vmov.i32 q8, #0x20ffff @ encoding: [0x50,0x0d,0xc2,0xf2] 47 @ CHECK: vmov.i64 q8, #0xff0000ff0000ffff @ encoding: [0x73,0x0e,0xc1,0xf3] 48 49 vmvn.i16 d16, #0x10 50 vmvn.i16 d16, #0x1000 51 vmvn.i32 d16, #0x20 52 vmvn.i32 d16, #0x2000 53 vmvn.i32 d16, #0x200000 54 vmvn.i32 d16, #0x20000000 55 vmvn.i32 d16, #0x20FF 56 vmvn.i32 d16, #0x20FFFF 57 58 @ CHECK: vmvn.i16 d16, #0x10 @ encoding: [0x30,0x08,0xc1,0xf2] 59 @ CHECK: vmvn.i16 d16, #0x1000 @ encoding: [0x30,0x0a,0xc1,0xf2] 60 @ CHECK: vmvn.i32 d16, #0x20 @ encoding: [0x30,0x00,0xc2,0xf2] 61 @ CHECK: vmvn.i32 d16, #0x2000 @ encoding: [0x30,0x02,0xc2,0xf2] 62 @ CHECK: vmvn.i32 d16, #0x200000 @ encoding: [0x30,0x04,0xc2,0xf2] 63 @ CHECK: vmvn.i32 d16, #0x20000000 @ encoding: [0x30,0x06,0xc2,0xf2] 64 @ CHECK: vmvn.i32 d16, #0x20ff @ encoding: [0x30,0x0c,0xc2,0xf2] 65 @ CHECK: vmvn.i32 d16, #0x20ffff @ encoding: [0x30,0x0d,0xc2,0xf2] 66 67 vmovl.s8 q8, d16 68 vmovl.s16 q8, d16 69 vmovl.s32 q8, d16 70 vmovl.u8 q8, d16 71 vmovl.u16 q8, d16 72 vmovl.u32 q8, d16 73 74 @ CHECK: vmovl.s8 q8, d16 @ encoding: [0x30,0x0a,0xc8,0xf2] 75 @ CHECK: vmovl.s16 q8, d16 @ encoding: [0x30,0x0a,0xd0,0xf2] 76 @ CHECK: vmovl.s32 q8, d16 @ encoding: [0x30,0x0a,0xe0,0xf2] 77 @ CHECK: vmovl.u8 q8, d16 @ encoding: [0x30,0x0a,0xc8,0xf3] 78 @ CHECK: vmovl.u16 q8, d16 @ encoding: [0x30,0x0a,0xd0,0xf3] 79 @ CHECK: vmovl.u32 q8, d16 @ encoding: [0x30,0x0a,0xe0,0xf3] 80 81 82 vmovn.i16 d16, q8 83 vmovn.i32 d16, q8 84 vmovn.i64 d16, q8 85 vqmovn.s16 d16, q8 86 vqmovn.s32 d16, q8 87 vqmovn.s64 d16, q8 88 vqmovn.u16 d16, q8 89 vqmovn.u32 d16, q8 90 vqmovn.u64 d16, q8 91 vqmovun.s16 d16, q8 92 vqmovun.s32 d16, q8 93 vqmovun.s64 d16, q8 94 95 @ CHECK: vmovn.i16 d16, q8 @ encoding: [0x20,0x02,0xf2,0xf3] 96 @ CHECK: vmovn.i32 d16, q8 @ encoding: [0x20,0x02,0xf6,0xf3] 97 @ CHECK: vmovn.i64 d16, q8 @ encoding: [0x20,0x02,0xfa,0xf3] 98 @ CHECK: vqmovn.s16 d16, q8 @ encoding: [0xa0,0x02,0xf2,0xf3] 99 @ CHECK: vqmovn.s32 d16, q8 @ encoding: [0xa0,0x02,0xf6,0xf3] 100 @ CHECK: vqmovn.s64 d16, q8 @ encoding: [0xa0,0x02,0xfa,0xf3] 101 @ CHECK: vqmovn.u16 d16, q8 @ encoding: [0xe0,0x02,0xf2,0xf3] 102 @ CHECK: vqmovn.u32 d16, q8 @ encoding: [0xe0,0x02,0xf6,0xf3] 103 @ CHECK: vqmovn.u64 d16, q8 @ encoding: [0xe0,0x02,0xfa,0xf3] 104 @ CHECK: vqmovun.s16 d16, q8 @ encoding: [0x60,0x02,0xf2,0xf3] 105 @ CHECK: vqmovun.s32 d16, q8 @ encoding: [0x60,0x02,0xf6,0xf3] 106 @ CHECK: vqmovun.s64 d16, q8 @ encoding: [0x60,0x02,0xfa,0xf3] 107 108 vmov.s8 r0, d16[1] 109 vmov.s16 r0, d16[1] 110 vmov.u8 r0, d16[1] 111 vmov.u16 r0, d16[1] 112 vmov.32 r0, d16[1] 113 vmov.8 d16[1], r1 114 vmov.16 d16[1], r1 115 vmov.32 d16[1], r1 116 vmov.8 d18[1], r1 117 vmov.16 d18[1], r1 118 vmov.32 d18[1], r1 119 120 @ CHECK: vmov.s8 r0, d16[1] @ encoding: [0xb0,0x0b,0x50,0xee] 121 @ CHECK: vmov.s16 r0, d16[1] @ encoding: [0xf0,0x0b,0x10,0xee] 122 @ CHECK: vmov.u8 r0, d16[1] @ encoding: [0xb0,0x0b,0xd0,0xee] 123 @ CHECK: vmov.u16 r0, d16[1] @ encoding: [0xf0,0x0b,0x90,0xee] 124 @ CHECK: vmov.32 r0, d16[1] @ encoding: [0x90,0x0b,0x30,0xee] 125 @ CHECK: vmov.8 d16[1], r1 @ encoding: [0xb0,0x1b,0x40,0xee] 126 @ CHECK: vmov.16 d16[1], r1 @ encoding: [0xf0,0x1b,0x00,0xee] 127 @ CHECK: vmov.32 d16[1], r1 @ encoding: [0x90,0x1b,0x20,0xee] 128 @ CHECK: vmov.8 d18[1], r1 @ encoding: [0xb0,0x1b,0x42,0xee] 129 @ CHECK: vmov.16 d18[1], r1 @ encoding: [0xf0,0x1b,0x02,0xee] 130 @ CHECK: vmov.32 d18[1], r1 @ encoding: [0x90,0x1b,0x22,0xee] 131 132 133 vmvn.8 d1, d2 134 vmvn.16 d1, d2 135 vmvn.32 d1, d2 136 vmvn.64 d1, d2 137 vmvn.i8 d1, d2 138 vmvn.i16 d1, d2 139 vmvn.i32 d1, d2 140 vmvn.i64 d1, d2 141 vmvn.s8 d1, d2 142 vmvn.s16 d1, d2 143 vmvn.s32 d1, d2 144 vmvn.s64 d1, d2 145 vmvn.u8 d1, d2 146 vmvn.u16 d1, d2 147 vmvn.u32 d1, d2 148 vmvn.u64 d1, d2 149 vmvn.f32 d1, d2 150 vmvn.f64 d1, d2 151 152 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 153 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 154 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 155 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 156 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 157 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 158 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 159 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 160 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 161 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 162 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 163 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 164 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 165 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 166 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 167 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 168 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 169 @ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3] 170