]>
Commit | Line | Data |
---|---|---|
532e9e24 SP |
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" } */ | |
9b8dc637 | 4 | /* { dg-final { check-function-bodies "**" "" } } */ |
532e9e24 SP |
5 | |
6 | #include "arm_mve.h" | |
7 | ||
9b8dc637 AC |
8 | /* |
9 | **foo: | |
10 | ** ... | |
11 | ** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) | |
12 | ** ... | |
13 | ** vpst(?: @.*|) | |
14 | ** ... | |
15 | ** vsubt.f16 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) | |
16 | ** ... | |
17 | */ | |
532e9e24 SP |
18 | float16x8_t |
19 | foo (float16x8_t inactive, float16x8_t a, float16x8_t b, mve_pred16_t p) | |
20 | { | |
21 | return vsubq_m_f16 (inactive, a, b, p); | |
22 | } | |
23 | ||
532e9e24 | 24 | |
9b8dc637 AC |
25 | /* |
26 | **foo1: | |
27 | ** ... | |
28 | ** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|) | |
29 | ** ... | |
30 | ** vpst(?: @.*|) | |
31 | ** ... | |
32 | ** vsubt.f16 q[0-9]+, q[0-9]+, q[0-9]+(?: @.*|) | |
33 | ** ... | |
34 | */ | |
532e9e24 SP |
35 | float16x8_t |
36 | foo1 (float16x8_t inactive, float16x8_t a, float16x8_t b, mve_pred16_t p) | |
37 | { | |
38 | return vsubq_m (inactive, a, b, p); | |
39 | } | |
40 | ||
9b8dc637 | 41 | /* { dg-final { scan-assembler-not "__ARM_undef" } } */ |