Merge git://git.denx.de/u-boot-sunxi
[oweals/u-boot.git] / post / lib_powerpc / fpu / 20010114-2.c
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * Copyright (C) 2007
4  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5  */
6 /*
7  * This file is originally a part of the GCC testsuite.
8  */
9
10 #include <common.h>
11
12 #include <post.h>
13
14 GNU_FPOST_ATTR
15
16 #if CONFIG_POST & CONFIG_SYS_POST_FPU
17
18 static float rintf (float x)
19 {
20         volatile float TWO23 = 8388608.0;
21
22         if (__builtin_fabs (x) < TWO23)
23         {
24                 if (x > 0.0)
25                 {
26                         x += TWO23;
27                         x -= TWO23;
28                 }
29                 else if (x < 0.0)
30                 {
31                         x = TWO23 - x;
32                         x = -(x - TWO23);
33                 }
34         }
35
36         return x;
37 }
38
39 int fpu_post_test_math2 (void)
40 {
41         if (rintf (-1.5) != -2.0) {
42                 post_log ("Error in FPU math2 test\n");
43                 return -1;
44         }
45         return 0;
46 }
47
48 #endif /* CONFIG_POST & CONFIG_SYS_POST_FPU */