18d1b7e57e56015576fd489a57d74c53b98c5a56fBob Wilson@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s 28f143913141991baaa535ca0da7c8a81606d6392Owen Anderson 38f143913141991baaa535ca0da7c8a81606d6392Owen Anderson.code 16 48f143913141991baaa535ca0da7c8a81606d6392Owen Anderson 58f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vmov.i8 d16, #0x8 6ea46110f57b293844a314aec3b8092adf21ff63fJim Grosbach vmov.i16 d16, #0x10 7ea46110f57b293844a314aec3b8092adf21ff63fJim Grosbach vmov.i16 d16, #0x1000 86248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmov.i32 d16, #0x20 96248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmov.i32 d16, #0x2000 106248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmov.i32 d16, #0x200000 116248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmov.i32 d16, #0x20000000 126248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmov.i32 d16, #0x20FF 136248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmov.i32 d16, #0x20FFFF 14f2f5bc60f61acf0490d856ddd09e461bf93c5459Jim Grosbach vmov.i64 d16, #0xFF0000FF0000FFFF 150e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 160e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vmov.i8 d16, #0x8 @ encoding: [0xc0,0xef,0x18,0x0e] 17ea46110f57b293844a314aec3b8092adf21ff63fJim Grosbach@ CHECK: vmov.i16 d16, #0x10 @ encoding: [0xc1,0xef,0x10,0x08] 18ea46110f57b293844a314aec3b8092adf21ff63fJim Grosbach@ CHECK: vmov.i16 d16, #0x1000 @ encoding: [0xc1,0xef,0x10,0x0a] 196248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach@ CHECK: vmov.i32 d16, #0x20 @ encoding: [0xc2,0xef,0x10,0x00] 206248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach@ CHECK: vmov.i32 d16, #0x2000 @ encoding: [0xc2,0xef,0x10,0x02] 216248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach@ CHECK: vmov.i32 d16, #0x200000 @ encoding: [0xc2,0xef,0x10,0x04] 226248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach@ CHECK: vmov.i32 d16, #0x20000000 @ encoding: [0xc2,0xef,0x10,0x06] 2366f72397cca6924503cee5d4f03c7163ff384fceBenjamin Kramer@ CHECK: vmov.i32 d16, #0x20ff @ encoding: [0xc2,0xef,0x10,0x0c] 2466f72397cca6924503cee5d4f03c7163ff384fceBenjamin Kramer@ CHECK: vmov.i32 d16, #0x20ffff @ encoding: [0xc2,0xef,0x10,0x0d] 2566f72397cca6924503cee5d4f03c7163ff384fceBenjamin Kramer@ CHECK: vmov.i64 d16, #0xff0000ff0000ffff @ encoding: [0xc1,0xff,0x33,0x0e] 260e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 270e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 288f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vmov.i8 q8, #0x8 29ea46110f57b293844a314aec3b8092adf21ff63fJim Grosbach vmov.i16 q8, #0x10 30ea46110f57b293844a314aec3b8092adf21ff63fJim Grosbach vmov.i16 q8, #0x1000 316248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmov.i32 q8, #0x20 326248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmov.i32 q8, #0x2000 336248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmov.i32 q8, #0x200000 346248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmov.i32 q8, #0x20000000 356248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmov.i32 q8, #0x20FF 366248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmov.i32 q8, #0x20FFFF 37f2f5bc60f61acf0490d856ddd09e461bf93c5459Jim Grosbach vmov.i64 q8, #0xFF0000FF0000FFFF 380e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 390e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vmov.i8 q8, #0x8 @ encoding: [0xc0,0xef,0x58,0x0e] 40ea46110f57b293844a314aec3b8092adf21ff63fJim Grosbach@ CHECK: vmov.i16 q8, #0x10 @ encoding: [0xc1,0xef,0x50,0x08] 41ea46110f57b293844a314aec3b8092adf21ff63fJim Grosbach@ CHECK: vmov.i16 q8, #0x1000 @ encoding: [0xc1,0xef,0x50,0x0a] 426248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach@ CHECK: vmov.i32 q8, #0x20 @ encoding: [0xc2,0xef,0x50,0x00] 436248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach@ CHECK: vmov.i32 q8, #0x2000 @ encoding: [0xc2,0xef,0x50,0x02] 446248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach@ CHECK: vmov.i32 q8, #0x200000 @ encoding: [0xc2,0xef,0x50,0x04] 456248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach@ CHECK: vmov.i32 q8, #0x20000000 @ encoding: [0xc2,0xef,0x50,0x06] 4666f72397cca6924503cee5d4f03c7163ff384fceBenjamin Kramer@ CHECK: vmov.i32 q8, #0x20ff @ encoding: [0xc2,0xef,0x50,0x0c] 4766f72397cca6924503cee5d4f03c7163ff384fceBenjamin Kramer@ CHECK: vmov.i32 q8, #0x20ffff @ encoding: [0xc2,0xef,0x50,0x0d] 4866f72397cca6924503cee5d4f03c7163ff384fceBenjamin Kramer@ CHECK: vmov.i64 q8, #0xff0000ff0000ffff @ encoding: [0xc1,0xff,0x73,0x0e] 490e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 500e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 51ea46110f57b293844a314aec3b8092adf21ff63fJim Grosbach vmvn.i16 d16, #0x10 52ea46110f57b293844a314aec3b8092adf21ff63fJim Grosbach vmvn.i16 d16, #0x1000 536248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmvn.i32 d16, #0x20 546248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmvn.i32 d16, #0x2000 556248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmvn.i32 d16, #0x200000 566248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmvn.i32 d16, #0x20000000 576248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmvn.i32 d16, #0x20FF 586248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach vmvn.i32 d16, #0x20FFFF 590e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 60ea46110f57b293844a314aec3b8092adf21ff63fJim Grosbach@ CHECK: vmvn.i16 d16, #0x10 @ encoding: [0xc1,0xef,0x30,0x08] 61ea46110f57b293844a314aec3b8092adf21ff63fJim Grosbach@ CHECK: vmvn.i16 d16, #0x1000 @ encoding: [0xc1,0xef,0x30,0x0a] 626248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach@ CHECK: vmvn.i32 d16, #0x20 @ encoding: [0xc2,0xef,0x30,0x00] 636248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach@ CHECK: vmvn.i32 d16, #0x2000 @ encoding: [0xc2,0xef,0x30,0x02] 646248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach@ CHECK: vmvn.i32 d16, #0x200000 @ encoding: [0xc2,0xef,0x30,0x04] 656248a546f23e7ffa84c171dc364b922e28467275Jim Grosbach@ CHECK: vmvn.i32 d16, #0x20000000 @ encoding: [0xc2,0xef,0x30,0x06] 6666f72397cca6924503cee5d4f03c7163ff384fceBenjamin Kramer@ CHECK: vmvn.i32 d16, #0x20ff @ encoding: [0xc2,0xef,0x30,0x0c] 6766f72397cca6924503cee5d4f03c7163ff384fceBenjamin Kramer@ CHECK: vmvn.i32 d16, #0x20ffff @ encoding: [0xc2,0xef,0x30,0x0d] 680e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 690e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 708f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vmovl.s8 q8, d16 718f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vmovl.s16 q8, d16 728f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vmovl.s32 q8, d16 738f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vmovl.u8 q8, d16 748f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vmovl.u16 q8, d16 758f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vmovl.u32 q8, d16 768f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vmovn.i16 d16, q8 778f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vmovn.i32 d16, q8 788f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vmovn.i64 d16, q8 798f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vqmovn.s16 d16, q8 808f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vqmovn.s32 d16, q8 818f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vqmovn.s64 d16, q8 828f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vqmovn.u16 d16, q8 838f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vqmovn.u32 d16, q8 848f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vqmovn.u64 d16, q8 858f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vqmovun.s16 d16, q8 868f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vqmovun.s32 d16, q8 878f143913141991baaa535ca0da7c8a81606d6392Owen Anderson vqmovun.s64 d16, q8 880e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 890e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vmovl.s8 q8, d16 @ encoding: [0xc8,0xef,0x30,0x0a] 900e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vmovl.s16 q8, d16 @ encoding: [0xd0,0xef,0x30,0x0a] 910e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vmovl.s32 q8, d16 @ encoding: [0xe0,0xef,0x30,0x0a] 920e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vmovl.u8 q8, d16 @ encoding: [0xc8,0xff,0x30,0x0a] 930e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vmovl.u16 q8, d16 @ encoding: [0xd0,0xff,0x30,0x0a] 940e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vmovl.u32 q8, d16 @ encoding: [0xe0,0xff,0x30,0x0a] 950e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vmovn.i16 d16, q8 @ encoding: [0xf2,0xff,0x20,0x02] 960e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vmovn.i32 d16, q8 @ encoding: [0xf6,0xff,0x20,0x02] 970e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vmovn.i64 d16, q8 @ encoding: [0xfa,0xff,0x20,0x02] 980e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vqmovn.s16 d16, q8 @ encoding: [0xf2,0xff,0xa0,0x02] 990e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vqmovn.s32 d16, q8 @ encoding: [0xf6,0xff,0xa0,0x02] 1000e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vqmovn.s64 d16, q8 @ encoding: [0xfa,0xff,0xa0,0x02] 1010e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vqmovn.u16 d16, q8 @ encoding: [0xf2,0xff,0xe0,0x02] 1020e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vqmovn.u32 d16, q8 @ encoding: [0xf6,0xff,0xe0,0x02] 1030e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vqmovn.u64 d16, q8 @ encoding: [0xfa,0xff,0xe0,0x02] 1040e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vqmovun.s16 d16, q8 @ encoding: [0xf2,0xff,0x60,0x02] 1050e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vqmovun.s32 d16, q8 @ encoding: [0xf6,0xff,0x60,0x02] 1060e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach@ CHECK: vqmovun.s64 d16, q8 @ encoding: [0xfa,0xff,0x60,0x02] 1070e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 1080e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 109ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach vmov.s8 r0, d16[1] 110ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach vmov.s16 r0, d16[1] 111ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach vmov.u8 r0, d16[1] 112ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach vmov.u16 r0, d16[1] 113ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach vmov.32 r0, d16[1] 114ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach vmov.8 d16[1], r1 115ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach vmov.16 d16[1], r1 116ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach vmov.32 d16[1], r1 117ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach vmov.8 d18[1], r1 118ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach vmov.16 d18[1], r1 119ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach vmov.32 d18[1], r1 1200e387b2877e4eebeedfcb26b08253f9c1b946035Jim Grosbach 121ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach@ CHECK: vmov.s8 r0, d16[1] @ encoding: [0x50,0xee,0xb0,0x0b] 122ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach@ CHECK: vmov.s16 r0, d16[1] @ encoding: [0x10,0xee,0xf0,0x0b] 123ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach@ CHECK: vmov.u8 r0, d16[1] @ encoding: [0xd0,0xee,0xb0,0x0b] 124ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach@ CHECK: vmov.u16 r0, d16[1] @ encoding: [0x90,0xee,0xf0,0x0b] 125ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach@ CHECK: vmov.32 r0, d16[1] @ encoding: [0x30,0xee,0x90,0x0b] 126ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach@ CHECK: vmov.8 d16[1], r1 @ encoding: [0x40,0xee,0xb0,0x1b] 127ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach@ CHECK: vmov.16 d16[1], r1 @ encoding: [0x00,0xee,0xf0,0x1b] 128ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach@ CHECK: vmov.32 d16[1], r1 @ encoding: [0x20,0xee,0x90,0x1b] 129ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach@ CHECK: vmov.8 d18[1], r1 @ encoding: [0x42,0xee,0xb0,0x1b] 130ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach@ CHECK: vmov.16 d18[1], r1 @ encoding: [0x02,0xee,0xf0,0x1b] 131ca8d1842cff5cd5866c0d4d46cf736ca9f8718f4Jim Grosbach@ CHECK: vmov.32 d18[1], r1 @ encoding: [0x22,0xee,0x90,0x1b] 132