blob: dfbb66712fa56affc79fc4d27978d557e66ab3a9 [file] [log] [blame]
Bob Wilsonc3ff5382010-12-15 22:14:01 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s
Owen Andersona56a2e12010-11-11 21:15:47 +00002
3.code 16
4
Owen Andersona56a2e12010-11-11 21:15:47 +00005 vmul.i8 d16, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +00006 vmul.i16 d16, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +00007 vmul.i32 d16, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +00008 vmul.f32 d16, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +00009 vmul.i8 q8, q8, q9
Owen Andersona56a2e12010-11-11 21:15:47 +000010 vmul.i16 q8, q8, q9
Owen Andersona56a2e12010-11-11 21:15:47 +000011 vmul.i32 q8, q8, q9
Owen Andersona56a2e12010-11-11 21:15:47 +000012 vmul.f32 q8, q8, q9
Owen Andersona56a2e12010-11-11 21:15:47 +000013 vmul.p8 d16, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +000014 vmul.p8 q8, q8, q9
Jim Grosbache6fbca32011-10-18 18:01:52 +000015 vmul.i16 d18, d8, d0[3]
Jim Grosbachb3ecff72011-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 Grosbachc8eff032011-10-18 18:12:09 +000034 vqdmulh.s16 d11, d2, d3[0]
Jim Grosbache6fbca32011-10-18 18:01:52 +000035
Jim Grosbach567ebd0c2010-12-03 22:31:40 +000036@ CHECK: vqdmulh.s16 d16, d16, d17 @ encoding: [0x50,0xef,0xa1,0x0b]
Jim Grosbach567ebd0c2010-12-03 22:31:40 +000037@ CHECK: vqdmulh.s32 d16, d16, d17 @ encoding: [0x60,0xef,0xa1,0x0b]
Jim Grosbach567ebd0c2010-12-03 22:31:40 +000038@ CHECK: vqdmulh.s16 q8, q8, q9 @ encoding: [0x50,0xef,0xe2,0x0b]
Jim Grosbach567ebd0c2010-12-03 22:31:40 +000039@ CHECK: vqdmulh.s32 q8, q8, q9 @ encoding: [0x60,0xef,0xe2,0x0b]
Jim Grosbachc8eff032011-10-18 18:12:09 +000040@ CHECK: vqdmulh.s16 d11, d2, d3[0] @ encoding: [0x92,0xef,0x43,0xbc]
Jim Grosbachb3ecff72011-10-18 18:05:16 +000041
42
Owen Andersona56a2e12010-11-11 21:15:47 +000043 vqrdmulh.s16 d16, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +000044 vqrdmulh.s32 d16, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +000045 vqrdmulh.s16 q8, q8, q9
Owen Andersona56a2e12010-11-11 21:15:47 +000046 vqrdmulh.s32 q8, q8, q9
Jim Grosbachb3ecff72011-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 Andersona56a2e12010-11-11 21:15:47 +000054 vmull.s8 q8, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +000055 vmull.s16 q8, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +000056 vmull.s32 q8, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +000057 vmull.u8 q8, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +000058 vmull.u16 q8, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +000059 vmull.u32 q8, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +000060 vmull.p8 q8, d16, d17
Jim Grosbachb3ecff72011-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 Andersona56a2e12010-11-11 21:15:47 +000071 vqdmull.s16 q8, d16, d17
Owen Andersona56a2e12010-11-11 21:15:47 +000072 vqdmull.s32 q8, d16, d17
Jim Grosbach6ac54af2011-12-20 23:20:00 +000073 vqdmull.s16 q1, d7, d1[1]
Owen Anderson2a498c12011-10-18 17:50:22 +000074
Jim Grosbachb3ecff72011-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 Grosbach6ac54af2011-12-20 23:20:00 +000077@ CHECK: vqdmull.s16 q1, d7, d1[1] @ encoding: [0x97,0xef,0x49,0x2b]
Owen Anderson40ec1da2011-10-18 18:23:03 +000078