Compiler projects using llvm
@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s

.code 16

@ CHECK: vqshl.s8	d16, d16, d17   @ encoding: [0x41,0xef,0xb0,0x04]
	vqshl.s8	d16, d16, d17
@ CHECK: vqshl.s16	d16, d16, d17   @ encoding: [0x51,0xef,0xb0,0x04]
	vqshl.s16	d16, d16, d17
@ CHECK: vqshl.s32	d16, d16, d17   @ encoding: [0x61,0xef,0xb0,0x04]
	vqshl.s32	d16, d16, d17
@ CHECK: vqshl.s64	d16, d16, d17   @ encoding: [0x71,0xef,0xb0,0x04]
	vqshl.s64	d16, d16, d17
@ CHECK: vqshl.u8	d16, d16, d17   @ encoding: [0x41,0xff,0xb0,0x04]
	vqshl.u8	d16, d16, d17
@ CHECK: vqshl.u16	d16, d16, d17   @ encoding: [0x51,0xff,0xb0,0x04]
	vqshl.u16	d16, d16, d17
@ CHECK: vqshl.u32	d16, d16, d17   @ encoding: [0x61,0xff,0xb0,0x04]
	vqshl.u32	d16, d16, d17
@ CHECK: vqshl.u64	d16, d16, d17   @ encoding: [0x71,0xff,0xb0,0x04]
	vqshl.u64	d16, d16, d17
@ CHECK: vqshl.s8	q8, q8, q9      @ encoding: [0x42,0xef,0xf0,0x04]
	vqshl.s8	q8, q8, q9
@ CHECK: vqshl.s16	q8, q8, q9      @ encoding: [0x52,0xef,0xf0,0x04]
	vqshl.s16	q8, q8, q9
@ CHECK: vqshl.s32	q8, q8, q9      @ encoding: [0x62,0xef,0xf0,0x04]
	vqshl.s32	q8, q8, q9
@ CHECK: vqshl.s64	q8, q8, q9      @ encoding: [0x72,0xef,0xf0,0x04]
	vqshl.s64	q8, q8, q9
@ CHECK: vqshl.u8	q8, q8, q9      @ encoding: [0x42,0xff,0xf0,0x04]
	vqshl.u8	q8, q8, q9
@ CHECK: vqshl.u16	q8, q8, q9      @ encoding: [0x52,0xff,0xf0,0x04]
	vqshl.u16	q8, q8, q9
@ CHECK: vqshl.u32	q8, q8, q9      @ encoding: [0x62,0xff,0xf0,0x04]
	vqshl.u32	q8, q8, q9
@ CHECK: vqshl.u64	q8, q8, q9      @ encoding: [0x72,0xff,0xf0,0x04]
	vqshl.u64	q8, q8, q9
@ CHECK: vqshl.s8	d16, d16, #7    @ encoding: [0xcf,0xef,0x30,0x07]
	vqshl.s8	d16, d16, #7
@ CHECK: vqshl.s16	d16, d16, #15   @ encoding: [0xdf,0xef,0x30,0x07]
	vqshl.s16	d16, d16, #15
@ CHECK: vqshl.s32	d16, d16, #31   @ encoding: [0xff,0xef,0x30,0x07]
	vqshl.s32	d16, d16, #31
@ CHECK: vqshl.s64	d16, d16, #63   @ encoding: [0xff,0xef,0xb0,0x07]
	vqshl.s64	d16, d16, #63
@ CHECK: vqshl.u8	d16, d16, #7    @ encoding: [0xcf,0xff,0x30,0x07]
	vqshl.u8	d16, d16, #7
@ CHECK: vqshl.u16	d16, d16, #15   @ encoding: [0xdf,0xff,0x30,0x07]
	vqshl.u16	d16, d16, #15
@ CHECK: vqshl.u32	d16, d16, #31   @ encoding: [0xff,0xff,0x30,0x07]
	vqshl.u32	d16, d16, #31
@ CHECK: vqshl.u64	d16, d16, #63   @ encoding: [0xff,0xff,0xb0,0x07]
	vqshl.u64	d16, d16, #63
@ CHECK: vqshlu.s8	d16, d16, #7    @ encoding: [0xcf,0xff,0x30,0x06]
	vqshlu.s8	d16, d16, #7
@ CHECK: vqshlu.s16	d16, d16, #15   @ encoding: [0xdf,0xff,0x30,0x06]
	vqshlu.s16	d16, d16, #15
@ CHECK: vqshlu.s32	d16, d16, #31   @ encoding: [0xff,0xff,0x30,0x06]
	vqshlu.s32	d16, d16, #31
@ CHECK: vqshlu.s64	d16, d16, #63   @ encoding: [0xff,0xff,0xb0,0x06]
	vqshlu.s64	d16, d16, #63
@ CHECK: vqshl.s8	q8, q8, #7      @ encoding: [0xcf,0xef,0x70,0x07]
	vqshl.s8	q8, q8, #7
@ CHECK: vqshl.s16	q8, q8, #15     @ encoding: [0xdf,0xef,0x70,0x07]
	vqshl.s16	q8, q8, #15
@ CHECK: vqshl.s32	q8, q8, #31     @ encoding: [0xff,0xef,0x70,0x07]
	vqshl.s32	q8, q8, #31
@ CHECK: vqshl.s64	q8, q8, #63     @ encoding: [0xff,0xef,0xf0,0x07]
	vqshl.s64	q8, q8, #63
@ CHECK: vqshl.u8	q8, q8, #7      @ encoding: [0xcf,0xff,0x70,0x07]
	vqshl.u8	q8, q8, #7
@ CHECK: vqshl.u16	q8, q8, #15     @ encoding: [0xdf,0xff,0x70,0x07]
	vqshl.u16	q8, q8, #15
@ CHECK: vqshl.u32	q8, q8, #31     @ encoding: [0xff,0xff,0x70,0x07]
	vqshl.u32	q8, q8, #31
@ CHECK: vqshl.u64	q8, q8, #63     @ encoding: [0xff,0xff,0xf0,0x07]
	vqshl.u64	q8, q8, #63
@ CHECK: vqshlu.s8	q8, q8, #7      @ encoding: [0xcf,0xff,0x70,0x06]
	vqshlu.s8	q8, q8, #7
@ CHECK: vqshlu.s16	q8, q8, #15     @ encoding: [0xdf,0xff,0x70,0x06]
	vqshlu.s16	q8, q8, #15
@ CHECK: vqshlu.s32	q8, q8, #31     @ encoding: [0xff,0xff,0x70,0x06]
	vqshlu.s32	q8, q8, #31
@ CHECK: vqshlu.s64	q8, q8, #63     @ encoding: [0xff,0xff,0xf0,0x06]
	vqshlu.s64	q8, q8, #63
@ CHECK:   vqrshl.s8	d16, d16, d17   @ encoding: [0x41,0xef,0xb0,0x05]
	vqrshl.s8	d16, d16, d17
@ CHECK: vqrshl.s16	d16, d16, d17   @ encoding: [0x51,0xef,0xb0,0x05]
	vqrshl.s16	d16, d16, d17
@ CHECK: vqrshl.s32	d16, d16, d17   @ encoding: [0x61,0xef,0xb0,0x05]
	vqrshl.s32	d16, d16, d17
@ CHECK: vqrshl.s64	d16, d16, d17   @ encoding: [0x71,0xef,0xb0,0x05]
	vqrshl.s64	d16, d16, d17
@ CHECK: vqrshl.u8	d16, d16, d17   @ encoding: [0x41,0xff,0xb0,0x05]
	vqrshl.u8	d16, d16, d17
@ CHECK: vqrshl.u16	d16, d16, d17   @ encoding: [0x51,0xff,0xb0,0x05]
	vqrshl.u16	d16, d16, d17
@ CHECK: vqrshl.u32	d16, d16, d17   @ encoding: [0x61,0xff,0xb0,0x05]
	vqrshl.u32	d16, d16, d17
@ CHECK: vqrshl.u64	d16, d16, d17   @ encoding: [0x71,0xff,0xb0,0x05]
	vqrshl.u64	d16, d16, d17
@ CHECK: vqrshl.s8	q8, q8, q9      @ encoding: [0x42,0xef,0xf0,0x05]
	vqrshl.s8	q8, q8, q9
@ CHECK: vqrshl.s16	q8, q8, q9      @ encoding: [0x52,0xef,0xf0,0x05]
	vqrshl.s16	q8, q8, q9
@ CHECK: vqrshl.s32	q8, q8, q9      @ encoding: [0x62,0xef,0xf0,0x05]
	vqrshl.s32	q8, q8, q9
@ CHECK: vqrshl.s64	q8, q8, q9      @ encoding: [0x72,0xef,0xf0,0x05]
	vqrshl.s64	q8, q8, q9
@ CHECK: vqrshl.u8	q8, q8, q9      @ encoding: [0x42,0xff,0xf0,0x05]
	vqrshl.u8	q8, q8, q9
@ CHECK: vqrshl.u16	q8, q8, q9      @ encoding: [0x52,0xff,0xf0,0x05]
	vqrshl.u16	q8, q8, q9
@ CHECK: vqrshl.u32	q8, q8, q9      @ encoding: [0x62,0xff,0xf0,0x05]
	vqrshl.u32	q8, q8, q9
@ CHECK: vqrshl.u64	q8, q8, q9      @ encoding: [0x72,0xff,0xf0,0x05]
	vqrshl.u64	q8, q8, q9
@ CHECK: vqshrn.s16	d16, q8, #8     @ encoding: [0xc8,0xef,0x30,0x09]
	vqshrn.s16	d16, q8, #8
@ CHECK: vqshrn.s32	d16, q8, #16    @ encoding: [0xd0,0xef,0x30,0x09]
	vqshrn.s32	d16, q8, #16
@ CHECK: vqshrn.s64	d16, q8, #32    @ encoding: [0xe0,0xef,0x30,0x09]
	vqshrn.s64	d16, q8, #32
@ CHECK: vqshrn.u16	d16, q8, #8     @ encoding: [0xc8,0xff,0x30,0x09]
	vqshrn.u16	d16, q8, #8
@ CHECK: vqshrn.u32	d16, q8, #16    @ encoding: [0xd0,0xff,0x30,0x09]
	vqshrn.u32	d16, q8, #16
@ CHECK: vqshrn.u64	d16, q8, #32    @ encoding: [0xe0,0xff,0x30,0x09]
	vqshrn.u64	d16, q8, #32
@ CHECK: vqshrun.s16	d16, q8, #8     @ encoding: [0xc8,0xff,0x30,0x08]
	vqshrun.s16	d16, q8, #8
@ CHECK: vqshrun.s32	d16, q8, #16    @ encoding: [0xd0,0xff,0x30,0x08]
	vqshrun.s32	d16, q8, #16
@ CHECK: vqshrun.s64	d16, q8, #32    @ encoding: [0xe0,0xff,0x30,0x08]
	vqshrun.s64	d16, q8, #32
@ CHECK: vqrshrn.s16	d16, q8, #8     @ encoding: [0xc8,0xef,0x70,0x09]
	vqrshrn.s16	d16, q8, #8
@ CHECK: vqrshrn.s32	d16, q8, #16    @ encoding: [0xd0,0xef,0x70,0x09]
	vqrshrn.s32	d16, q8, #16
@ CHECK: vqrshrn.s64	d16, q8, #32    @ encoding: [0xe0,0xef,0x70,0x09]
	vqrshrn.s64	d16, q8, #32
@ CHECK: vqrshrn.u16	d16, q8, #8     @ encoding: [0xc8,0xff,0x70,0x09]
	vqrshrn.u16	d16, q8, #8
@ CHECK: vqrshrn.u32	d16, q8, #16    @ encoding: [0xd0,0xff,0x70,0x09]
	vqrshrn.u32	d16, q8, #16
@ CHECK: vqrshrn.u64	d16, q8, #32    @ encoding: [0xe0,0xff,0x70,0x09]
	vqrshrn.u64	d16, q8, #32
@ CHECK: vqrshrun.s16	d16, q8, #8     @ encoding: [0xc8,0xff,0x70,0x08]
	vqrshrun.s16	d16, q8, #8
@ CHECK: vqrshrun.s32	d16, q8, #16    @ encoding: [0xd0,0xff,0x70,0x08]
	vqrshrun.s32	d16, q8, #16
@ CHECK: vqrshrun.s64	d16, q8, #32    @ encoding: [0xe0,0xff,0x70,0x08]
	vqrshrun.s64	d16, q8, #32