]> gcc.gnu.org Git - gcc.git/blob - gcc/testsuite/gcc.target/arm/mve/intrinsics/vqdmullbq_m_n_s16.c
arm: improve tests for vqdmul*
[gcc.git] / gcc / testsuite / gcc.target / arm / mve / intrinsics / vqdmullbq_m_n_s16.c
1 /* { dg-require-effective-target arm_v8_1m_mve_ok } */
2 /* { dg-add-options arm_v8_1m_mve } */
3 /* { dg-additional-options "-O2" } */
4 /* { dg-final { check-function-bodies "**" "" } } */
5
6 #include "arm_mve.h"
7
8 /*
9 **foo:
10 ** ...
11 ** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|)
12 ** ...
13 ** vpst(?: @.*|)
14 ** ...
15 ** vqdmullbt.s16 q[0-9]+, q[0-9]+, (?:ip|fp|r[0-9]+)(?: @.*|)
16 ** ...
17 */
18 int32x4_t
19 foo (int32x4_t inactive, int16x8_t a, int16_t b, mve_pred16_t p)
20 {
21 return vqdmullbq_m_n_s16 (inactive, a, b, p);
22 }
23
24
25 /*
26 **foo1:
27 ** ...
28 ** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|)
29 ** ...
30 ** vpst(?: @.*|)
31 ** ...
32 ** vqdmullbt.s16 q[0-9]+, q[0-9]+, (?:ip|fp|r[0-9]+)(?: @.*|)
33 ** ...
34 */
35 int32x4_t
36 foo1 (int32x4_t inactive, int16x8_t a, int16_t b, mve_pred16_t p)
37 {
38 return vqdmullbq_m (inactive, a, b, p);
39 }
40
41 /* { dg-final { scan-assembler-not "__ARM_undef" } } */
This page took 0.03797 seconds and 5 git commands to generate.