]> gcc.gnu.org Git - gcc.git/blame - gcc/testsuite/gcc.target/arm/mve/intrinsics/vsubq_m_n_f32.c
arm: improve tests and fix vsubq*
[gcc.git] / gcc / testsuite / gcc.target / arm / mve / intrinsics / vsubq_m_n_f32.c
CommitLineData
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.f32 q[0-9]+, q[0-9]+, (?:ip|fp|r[0-9]+)(?: @.*|)
16** ...
17*/
532e9e24
SP
18float32x4_t
19foo (float32x4_t inactive, float32x4_t a, float32_t b, mve_pred16_t p)
20{
21 return vsubq_m_n_f32 (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.f32 q[0-9]+, q[0-9]+, (?:ip|fp|r[0-9]+)(?: @.*|)
33** ...
34*/
532e9e24
SP
35float32x4_t
36foo1 (float32x4_t inactive, float32x4_t a, float32_t b, mve_pred16_t p)
37{
38 return vsubq_m (inactive, a, b, p);
39}
40
9b8dc637
AC
41/*
42**foo2:
43** ...
44** vmsr p0, (?:ip|fp|r[0-9]+)(?: @.*|)
45** ...
46** vpst(?: @.*|)
47** ...
48** vsubt.f32 q[0-9]+, q[0-9]+, (?:ip|fp|r[0-9]+)(?: @.*|)
49** ...
50*/
51float32x4_t
52foo2 (float32x4_t inactive, float32x4_t a, mve_pred16_t p)
53{
54 return vsubq_m (inactive, a, 1.1, p);
55}
56
57/* { dg-final { scan-assembler-not "__ARM_undef" } } */
This page took 2.283958 seconds and 5 git commands to generate.