xref: /openbmc/u-boot/post/lib_powerpc/fpu/980619-1.c (revision ef64e782)
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 int fpu_post_test_math4 (void)
19 {
20 	volatile float reale = 1.0f;
21 	volatile float oneplus;
22 	int i;
23 
24 	if (sizeof (float) != 4)
25 		return 0;
26 
27 	for (i = 0; ; i++)
28 	{
29 		oneplus = 1.0f + reale;
30 		if (oneplus == 1.0f)
31 			break;
32 		reale = reale / 2.0f;
33 	}
34 	/* Assumes ieee754 accurate arithmetic above.  */
35 	if (i != 24) {
36 		post_log ("Error in FPU math4 test\n");
37 		return -1;
38 	}
39 	return 0;
40 }
41 
42 #endif /* CONFIG_POST & CONFIG_SYS_POST_FPU */
43