1 /*
2  * Function wrappers for mathbench.
3  *
4  * Copyright (c) 2022-2023, Arm Limited.
5  * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
6  */
7 
8 #ifdef __vpcs
9 
10 __vpcs static v_float
11 xy_Z_powf (v_float x)
12 {
13   return _ZGVnN4vv_powf (x, x);
14 }
15 
16 __vpcs static v_double
17 xy_Z_pow (v_double x)
18 {
19   return _ZGVnN2vv_pow (x, x);
20 }
21 
22 #endif
23 
24 static double
25 xypow (double x)
26 {
27   return pow (x, x);
28 }
29 
30 static float
31 xypowf (float x)
32 {
33   return powf (x, x);
34 }
35 
36 static double
37 xpow (double x)
38 {
39   return pow (x, 23.4);
40 }
41 
42 static float
43 xpowf (float x)
44 {
45   return powf (x, 23.4f);
46 }
47 
48 static double
49 ypow (double x)
50 {
51   return pow (2.34, x);
52 }
53 
54 static float
55 ypowf (float x)
56 {
57   return powf (2.34f, x);
58 }
59 
60 static float
61 sincosf_wrap (float x)
62 {
63   float s, c;
64   sincosf (x, &s, &c);
65   return s + c;
66 }
67