174 lines · plain
1@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s2 3 vmov.i8 d16, #0x84 vmov.i16 d16, #0x105 vmov.i16 d16, #0x10006 vmov.i32 d16, #0x207 vmov.i32 d16, #0x20008 vmov.i32 d16, #0x2000009 vmov.i32 d16, #0x2000000010 vmov.i32 d16, #0x20FF11 vmov.i32 d16, #0x20FFFF12 vmov.i64 d16, #0xFF0000FF0000FFFF13 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, #0x828 vmov.i16 q8, #0x1029 vmov.i16 q8, #0x100030 vmov.i32 q8, #0x2031 vmov.i32 q8, #0x200032 vmov.i32 q8, #0x20000033 vmov.i32 q8, #0x2000000034 vmov.i32 q8, #0x20FF35 vmov.i32 q8, #0x20FFFF36 vmov.i64 q8, #0xFF0000FF0000FFFF37 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, #0x1050 vmvn.i16 d16, #0x100051 vmvn.i32 d16, #0x2052 vmvn.i32 d16, #0x200053 vmvn.i32 d16, #0x20000054 vmvn.i32 d16, #0x2000000055 vmvn.i32 d16, #0x20FF56 vmvn.i32 d16, #0x20FFFF57 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, d1668 vmovl.s16 q8, d1669 vmovl.s32 q8, d1670 vmovl.u8 q8, d1671 vmovl.u16 q8, d1672 vmovl.u32 q8, d1673 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, q883 vmovn.i32 d16, q884 vmovn.i64 d16, q885 vqmovn.s16 d16, q886 vqmovn.s32 d16, q887 vqmovn.s64 d16, q888 vqmovn.u16 d16, q889 vqmovn.u32 d16, q890 vqmovn.u64 d16, q891 vqmovun.s16 d16, q892 vqmovun.s32 d16, q893 vqmovun.s64 d16, q894 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 r0, d16[1]114 vmov.8 d16[1], r1115 vmov.16 d16[1], r1116 vmov.32 d16[1], r1117 vmov.8 d18[1], r1118 vmov.16 d18[1], r1119 vmov.32 d18[1], r1120 vmov d18[1], r1121 122@ CHECK: vmov.s8 r0, d16[1] @ encoding: [0xb0,0x0b,0x50,0xee]123@ CHECK: vmov.s16 r0, d16[1] @ encoding: [0xf0,0x0b,0x10,0xee]124@ CHECK: vmov.u8 r0, d16[1] @ encoding: [0xb0,0x0b,0xd0,0xee]125@ CHECK: vmov.u16 r0, d16[1] @ encoding: [0xf0,0x0b,0x90,0xee]126@ CHECK: vmov.32 r0, d16[1] @ encoding: [0x90,0x0b,0x30,0xee]127@ CHECK: vmov.32 r0, d16[1] @ encoding: [0x90,0x0b,0x30,0xee]128@ CHECK: vmov.8 d16[1], r1 @ encoding: [0xb0,0x1b,0x40,0xee]129@ CHECK: vmov.16 d16[1], r1 @ encoding: [0xf0,0x1b,0x00,0xee]130@ CHECK: vmov.32 d16[1], r1 @ encoding: [0x90,0x1b,0x20,0xee]131@ CHECK: vmov.8 d18[1], r1 @ encoding: [0xb0,0x1b,0x42,0xee]132@ CHECK: vmov.16 d18[1], r1 @ encoding: [0xf0,0x1b,0x02,0xee]133@ CHECK: vmov.32 d18[1], r1 @ encoding: [0x90,0x1b,0x22,0xee]134@ CHECK: vmov.32 d18[1], r1 @ encoding: [0x90,0x1b,0x22,0xee]135 136 137 vmvn.8 d1, d2138 vmvn.16 d1, d2139 vmvn.32 d1, d2140 vmvn.64 d1, d2141 vmvn.i8 d1, d2142 vmvn.i16 d1, d2143 vmvn.i32 d1, d2144 vmvn.i64 d1, d2145 vmvn.s8 d1, d2146 vmvn.s16 d1, d2147 vmvn.s32 d1, d2148 vmvn.s64 d1, d2149 vmvn.u8 d1, d2150 vmvn.u16 d1, d2151 vmvn.u32 d1, d2152 vmvn.u64 d1, d2153 vmvn.f32 d1, d2154 vmvn.f64 d1, d2155 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@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]171@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]172@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]173@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]174