]> gcc.gnu.org Git - gcc.git/blob - gcc/testsuite/gcc.target/arm/mve/intrinsics/vqrdmulhq_m_s8.c
arm: improve tests for vqrdmulhq*
[gcc.git] / gcc / testsuite / gcc.target / arm / mve / intrinsics / vqrdmulhq_m_s8.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 #ifdef __cplusplus
9 extern "C" {
10 #endif
11
12 /*
13 **foo:
14 ** ...
15 ** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|)
16 ** ...
17 ** vpst(?: @.*|)
18 ** ...
19 ** vqrdmulht.s8 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|)
20 ** ...
21 */
22 int8x16_t
23 foo (int8x16_t inactive, int8x16_t a, int8x16_t b, mve_pred16_t p)
24 {
25 return vqrdmulhq_m_s8 (inactive, a, b, p);
26 }
27
28
29 /*
30 **foo1:
31 ** ...
32 ** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|)
33 ** ...
34 ** vpst(?: @.*|)
35 ** ...
36 ** vqrdmulht.s8 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|)
37 ** ...
38 */
39 int8x16_t
40 foo1 (int8x16_t inactive, int8x16_t a, int8x16_t b, mve_pred16_t p)
41 {
42 return vqrdmulhq_m (inactive, a, b, p);
43 }
44
45 #ifdef __cplusplus
46 }
47 #endif
48
49 /* { dg-final { scan-assembler-not "__ARM_undef" } } */
This page took 0.037057 seconds and 5 git commands to generate.