]> gcc.gnu.org Git - gcc.git/blob - gcc/testsuite/gcc.target/arm/mve/intrinsics/vsubq_x_n_f32.c
libgcc, Darwin: Don't build legacy libgcc_s.1 on macOS 14 [PR116809]
[gcc.git] / gcc / testsuite / gcc.target / arm / mve / intrinsics / vsubq_x_n_f32.c
1 /* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */
2 /* { dg-add-options arm_v8_1m_mve_fp } */
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 ** vsubt.f32 q[0-9]+, q[0-9]+, (?:ip|fp|r[0-9]+)(?: @.*|)
20 ** ...
21 */
22 float32x4_t
23 foo (float32x4_t a, float32_t b, mve_pred16_t p)
24 {
25 return vsubq_x_n_f32 (a, b, p);
26 }
27
28
29 /*
30 **foo1:
31 ** ...
32 ** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|)
33 ** ...
34 ** vpst(?: @.*|)
35 ** ...
36 ** vsubt.f32 q[0-9]+, q[0-9]+, (?:ip|fp|r[0-9]+)(?: @.*|)
37 ** ...
38 */
39 float32x4_t
40 foo1 (float32x4_t a, float32_t b, mve_pred16_t p)
41 {
42 return vsubq_x (a, b, p);
43 }
44
45 /*
46 **foo2:
47 ** ...
48 ** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|)
49 ** ...
50 ** vpst(?: @.*|)
51 ** ...
52 ** vsubt.f32 q[0-9]+, q[0-9]+, (?:ip|fp|r[0-9]+)(?: @.*|)
53 ** ...
54 */
55 float32x4_t
56 foo2 (float32x4_t a, mve_pred16_t p)
57 {
58 return vsubq_x (a, 1.1, p);
59 }
60
61 #ifdef __cplusplus
62 }
63 #endif
64
65 /* { dg-final { scan-assembler-not "__ARM_undef" } } */
This page took 0.044583 seconds and 6 git commands to generate.