2010-12-15 23:14:01 +01:00
|
|
|
@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s
|
2010-11-11 22:15:47 +01:00
|
|
|
|
|
|
|
.code 16
|
|
|
|
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s8 d16, d16, d17 @ encoding: [0x41,0xef,0xb0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s8 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s16 d16, d16, d17 @ encoding: [0x51,0xef,0xb0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s16 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s32 d16, d16, d17 @ encoding: [0x61,0xef,0xb0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s32 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s64 d16, d16, d17 @ encoding: [0x71,0xef,0xb0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s64 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u8 d16, d16, d17 @ encoding: [0x41,0xff,0xb0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u8 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u16 d16, d16, d17 @ encoding: [0x51,0xff,0xb0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u16 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u32 d16, d16, d17 @ encoding: [0x61,0xff,0xb0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u32 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u64 d16, d16, d17 @ encoding: [0x71,0xff,0xb0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u64 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s8 q8, q8, q9 @ encoding: [0x42,0xef,0xf0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s8 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s16 q8, q8, q9 @ encoding: [0x52,0xef,0xf0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s16 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s32 q8, q8, q9 @ encoding: [0x62,0xef,0xf0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s32 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s64 q8, q8, q9 @ encoding: [0x72,0xef,0xf0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s64 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u8 q8, q8, q9 @ encoding: [0x42,0xff,0xf0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u8 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u16 q8, q8, q9 @ encoding: [0x52,0xff,0xf0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u16 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u32 q8, q8, q9 @ encoding: [0x62,0xff,0xf0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u32 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u64 q8, q8, q9 @ encoding: [0x72,0xff,0xf0,0x04]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u64 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s8 d16, d16, #7 @ encoding: [0xcf,0xef,0x30,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s8 d16, d16, #7
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s16 d16, d16, #15 @ encoding: [0xdf,0xef,0x30,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s16 d16, d16, #15
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s32 d16, d16, #31 @ encoding: [0xff,0xef,0x30,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s32 d16, d16, #31
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s64 d16, d16, #63 @ encoding: [0xff,0xef,0xb0,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s64 d16, d16, #63
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u8 d16, d16, #7 @ encoding: [0xcf,0xff,0x30,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u8 d16, d16, #7
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u16 d16, d16, #15 @ encoding: [0xdf,0xff,0x30,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u16 d16, d16, #15
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u32 d16, d16, #31 @ encoding: [0xff,0xff,0x30,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u32 d16, d16, #31
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u64 d16, d16, #63 @ encoding: [0xff,0xff,0xb0,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u64 d16, d16, #63
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshlu.s8 d16, d16, #7 @ encoding: [0xcf,0xff,0x30,0x06]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshlu.s8 d16, d16, #7
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshlu.s16 d16, d16, #15 @ encoding: [0xdf,0xff,0x30,0x06]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshlu.s16 d16, d16, #15
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshlu.s32 d16, d16, #31 @ encoding: [0xff,0xff,0x30,0x06]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshlu.s32 d16, d16, #31
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshlu.s64 d16, d16, #63 @ encoding: [0xff,0xff,0xb0,0x06]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshlu.s64 d16, d16, #63
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s8 q8, q8, #7 @ encoding: [0xcf,0xef,0x70,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s8 q8, q8, #7
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s16 q8, q8, #15 @ encoding: [0xdf,0xef,0x70,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s16 q8, q8, #15
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s32 q8, q8, #31 @ encoding: [0xff,0xef,0x70,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s32 q8, q8, #31
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.s64 q8, q8, #63 @ encoding: [0xff,0xef,0xf0,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.s64 q8, q8, #63
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u8 q8, q8, #7 @ encoding: [0xcf,0xff,0x70,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u8 q8, q8, #7
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u16 q8, q8, #15 @ encoding: [0xdf,0xff,0x70,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u16 q8, q8, #15
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u32 q8, q8, #31 @ encoding: [0xff,0xff,0x70,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u32 q8, q8, #31
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshl.u64 q8, q8, #63 @ encoding: [0xff,0xff,0xf0,0x07]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshl.u64 q8, q8, #63
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshlu.s8 q8, q8, #7 @ encoding: [0xcf,0xff,0x70,0x06]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshlu.s8 q8, q8, #7
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshlu.s16 q8, q8, #15 @ encoding: [0xdf,0xff,0x70,0x06]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshlu.s16 q8, q8, #15
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshlu.s32 q8, q8, #31 @ encoding: [0xff,0xff,0x70,0x06]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshlu.s32 q8, q8, #31
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshlu.s64 q8, q8, #63 @ encoding: [0xff,0xff,0xf0,0x06]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshlu.s64 q8, q8, #63
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.s8 d16, d16, d17 @ encoding: [0x41,0xef,0xb0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.s8 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.s16 d16, d16, d17 @ encoding: [0x51,0xef,0xb0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.s16 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.s32 d16, d16, d17 @ encoding: [0x61,0xef,0xb0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.s32 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.s64 d16, d16, d17 @ encoding: [0x71,0xef,0xb0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.s64 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.u8 d16, d16, d17 @ encoding: [0x41,0xff,0xb0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.u8 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.u16 d16, d16, d17 @ encoding: [0x51,0xff,0xb0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.u16 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.u32 d16, d16, d17 @ encoding: [0x61,0xff,0xb0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.u32 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.u64 d16, d16, d17 @ encoding: [0x71,0xff,0xb0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.u64 d16, d16, d17
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.s8 q8, q8, q9 @ encoding: [0x42,0xef,0xf0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.s8 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.s16 q8, q8, q9 @ encoding: [0x52,0xef,0xf0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.s16 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.s32 q8, q8, q9 @ encoding: [0x62,0xef,0xf0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.s32 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.s64 q8, q8, q9 @ encoding: [0x72,0xef,0xf0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.s64 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.u8 q8, q8, q9 @ encoding: [0x42,0xff,0xf0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.u8 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.u16 q8, q8, q9 @ encoding: [0x52,0xff,0xf0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.u16 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.u32 q8, q8, q9 @ encoding: [0x62,0xff,0xf0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.u32 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshl.u64 q8, q8, q9 @ encoding: [0x72,0xff,0xf0,0x05]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshl.u64 q8, q8, q9
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshrn.s16 d16, q8, #8 @ encoding: [0xc8,0xef,0x30,0x09]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshrn.s16 d16, q8, #8
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshrn.s32 d16, q8, #16 @ encoding: [0xd0,0xef,0x30,0x09]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshrn.s32 d16, q8, #16
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshrn.s64 d16, q8, #32 @ encoding: [0xe0,0xef,0x30,0x09]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshrn.s64 d16, q8, #32
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshrn.u16 d16, q8, #8 @ encoding: [0xc8,0xff,0x30,0x09]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshrn.u16 d16, q8, #8
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshrn.u32 d16, q8, #16 @ encoding: [0xd0,0xff,0x30,0x09]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshrn.u32 d16, q8, #16
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshrn.u64 d16, q8, #32 @ encoding: [0xe0,0xff,0x30,0x09]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshrn.u64 d16, q8, #32
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshrun.s16 d16, q8, #8 @ encoding: [0xc8,0xff,0x30,0x08]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshrun.s16 d16, q8, #8
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshrun.s32 d16, q8, #16 @ encoding: [0xd0,0xff,0x30,0x08]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshrun.s32 d16, q8, #16
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqshrun.s64 d16, q8, #32 @ encoding: [0xe0,0xff,0x30,0x08]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqshrun.s64 d16, q8, #32
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshrn.s16 d16, q8, #8 @ encoding: [0xc8,0xef,0x70,0x09]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshrn.s16 d16, q8, #8
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshrn.s32 d16, q8, #16 @ encoding: [0xd0,0xef,0x70,0x09]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshrn.s32 d16, q8, #16
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshrn.s64 d16, q8, #32 @ encoding: [0xe0,0xef,0x70,0x09]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshrn.s64 d16, q8, #32
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshrn.u16 d16, q8, #8 @ encoding: [0xc8,0xff,0x70,0x09]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshrn.u16 d16, q8, #8
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshrn.u32 d16, q8, #16 @ encoding: [0xd0,0xff,0x70,0x09]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshrn.u32 d16, q8, #16
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshrn.u64 d16, q8, #32 @ encoding: [0xe0,0xff,0x70,0x09]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshrn.u64 d16, q8, #32
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshrun.s16 d16, q8, #8 @ encoding: [0xc8,0xff,0x70,0x08]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshrun.s16 d16, q8, #8
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshrun.s32 d16, q8, #16 @ encoding: [0xd0,0xff,0x70,0x08]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshrun.s32 d16, q8, #16
|
2010-12-03 23:31:40 +01:00
|
|
|
@ CHECK: vqrshrun.s64 d16, q8, #32 @ encoding: [0xe0,0xff,0x70,0x08]
|
2010-11-11 22:15:47 +01:00
|
|
|
vqrshrun.s64 d16, q8, #32
|