blob: dfbb66712fa56affc79fc4d27978d557e66ab3a9 [file] [log] [blame]
Bob Wilson8d1b7e52010-12-15 22:14:01 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s
Owen Anderson410cb572010-11-11 21:15:47 +00002
3.code 16
4
Owen Anderson410cb572010-11-11 21:15:47 +00005 vmul.i8 d16, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +00006 vmul.i16 d16, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +00007 vmul.i32 d16, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +00008 vmul.f32 d16, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +00009 vmul.i8 q8, q8, q9
Owen Anderson410cb572010-11-11 21:15:47 +000010 vmul.i16 q8, q8, q9
Owen Anderson410cb572010-11-11 21:15:47 +000011 vmul.i32 q8, q8, q9
Owen Anderson410cb572010-11-11 21:15:47 +000012 vmul.f32 q8, q8, q9
Owen Anderson410cb572010-11-11 21:15:47 +000013 vmul.p8 d16, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +000014 vmul.p8 q8, q8, q9
Jim Grosbach970f7872011-10-18 18:01:52 +000015 vmul.i16 d18, d8, d0[3]
Jim Grosbach9e7df4a2011-10-18 18:05:16 +000016
17@ CHECK: vmul.i8 d16, d16, d17 @ encoding: [0x40,0xef,0xb1,0x09]
18@ CHECK: vmul.i16 d16, d16, d17 @ encoding: [0x50,0xef,0xb1,0x09]
19@ CHECK: vmul.i32 d16, d16, d17 @ encoding: [0x60,0xef,0xb1,0x09]
20@ CHECK: vmul.f32 d16, d16, d17 @ encoding: [0x40,0xff,0xb1,0x0d]
21@ CHECK: vmul.i8 q8, q8, q9 @ encoding: [0x40,0xef,0xf2,0x09]
22@ CHECK: vmul.i16 q8, q8, q9 @ encoding: [0x50,0xef,0xf2,0x09]
23@ CHECK: vmul.i32 q8, q8, q9 @ encoding: [0x60,0xef,0xf2,0x09]
24@ CHECK: vmul.f32 q8, q8, q9 @ encoding: [0x40,0xff,0xf2,0x0d]
25@ CHECK: vmul.p8 d16, d16, d17 @ encoding: [0x40,0xff,0xb1,0x09]
26@ CHECK: vmul.p8 q8, q8, q9 @ encoding: [0x40,0xff,0xf2,0x09]
27@ CHECK: vmul.i16 d18, d8, d0[3] @ encoding: [0xd8,0xef,0x68,0x28]
28
29
30 vqdmulh.s16 d16, d16, d17
31 vqdmulh.s32 d16, d16, d17
32 vqdmulh.s16 q8, q8, q9
33 vqdmulh.s32 q8, q8, q9
Jim Grosbach0a037402011-10-18 18:12:09 +000034 vqdmulh.s16 d11, d2, d3[0]
Jim Grosbach970f7872011-10-18 18:01:52 +000035
Jim Grosbachd91f4e42010-12-03 22:31:40 +000036@ CHECK: vqdmulh.s16 d16, d16, d17 @ encoding: [0x50,0xef,0xa1,0x0b]
Jim Grosbachd91f4e42010-12-03 22:31:40 +000037@ CHECK: vqdmulh.s32 d16, d16, d17 @ encoding: [0x60,0xef,0xa1,0x0b]
Jim Grosbachd91f4e42010-12-03 22:31:40 +000038@ CHECK: vqdmulh.s16 q8, q8, q9 @ encoding: [0x50,0xef,0xe2,0x0b]
Jim Grosbachd91f4e42010-12-03 22:31:40 +000039@ CHECK: vqdmulh.s32 q8, q8, q9 @ encoding: [0x60,0xef,0xe2,0x0b]
Jim Grosbach0a037402011-10-18 18:12:09 +000040@ CHECK: vqdmulh.s16 d11, d2, d3[0] @ encoding: [0x92,0xef,0x43,0xbc]
Jim Grosbach9e7df4a2011-10-18 18:05:16 +000041
42
Owen Anderson410cb572010-11-11 21:15:47 +000043 vqrdmulh.s16 d16, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +000044 vqrdmulh.s32 d16, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +000045 vqrdmulh.s16 q8, q8, q9
Owen Anderson410cb572010-11-11 21:15:47 +000046 vqrdmulh.s32 q8, q8, q9
Jim Grosbach9e7df4a2011-10-18 18:05:16 +000047
48@ CHECK: vqrdmulh.s16 d16, d16, d17 @ encoding: [0x50,0xff,0xa1,0x0b]
49@ CHECK: vqrdmulh.s32 d16, d16, d17 @ encoding: [0x60,0xff,0xa1,0x0b]
50@ CHECK: vqrdmulh.s16 q8, q8, q9 @ encoding: [0x50,0xff,0xe2,0x0b]
51@ CHECK: vqrdmulh.s32 q8, q8, q9 @ encoding: [0x60,0xff,0xe2,0x0b]
52
53
Owen Anderson410cb572010-11-11 21:15:47 +000054 vmull.s8 q8, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +000055 vmull.s16 q8, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +000056 vmull.s32 q8, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +000057 vmull.u8 q8, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +000058 vmull.u16 q8, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +000059 vmull.u32 q8, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +000060 vmull.p8 q8, d16, d17
Jim Grosbach9e7df4a2011-10-18 18:05:16 +000061
62@ CHECK: vmull.s8 q8, d16, d17 @ encoding: [0xc0,0xef,0xa1,0x0c]
63@ CHECK: vmull.s16 q8, d16, d17 @ encoding: [0xd0,0xef,0xa1,0x0c]
64@ CHECK: vmull.s32 q8, d16, d17 @ encoding: [0xe0,0xef,0xa1,0x0c]
65@ CHECK: vmull.u8 q8, d16, d17 @ encoding: [0xc0,0xff,0xa1,0x0c]
66@ CHECK: vmull.u16 q8, d16, d17 @ encoding: [0xd0,0xff,0xa1,0x0c]
67@ CHECK: vmull.u32 q8, d16, d17 @ encoding: [0xe0,0xff,0xa1,0x0c]
68@ CHECK: vmull.p8 q8, d16, d17 @ encoding: [0xc0,0xef,0xa1,0x0e]
69
70
Owen Anderson410cb572010-11-11 21:15:47 +000071 vqdmull.s16 q8, d16, d17
Owen Anderson410cb572010-11-11 21:15:47 +000072 vqdmull.s32 q8, d16, d17
Jim Grosbach06d738c2011-12-20 23:20:00 +000073 vqdmull.s16 q1, d7, d1[1]
Owen Andersonde1ff7f2011-10-18 17:50:22 +000074
Jim Grosbach9e7df4a2011-10-18 18:05:16 +000075@ CHECK: vqdmull.s16 q8, d16, d17 @ encoding: [0xd0,0xef,0xa1,0x0d]
76@ CHECK: vqdmull.s32 q8, d16, d17 @ encoding: [0xe0,0xef,0xa1,0x0d]
Jim Grosbach06d738c2011-12-20 23:20:00 +000077@ CHECK: vqdmull.s16 q1, d7, d1[1] @ encoding: [0x97,0xef,0x49,0x2b]
Owen Andersone8692ed2011-10-18 18:23:03 +000078