blob: 111a2013fb58d6785a4ef5a21c205cd67e8705c3 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Sergei Poselenov3190dbe2007-07-05 08:17:37 +02002/*
3 * Copyright (C) 2007
4 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
Sergei Poselenov3190dbe2007-07-05 08:17:37 +02005 */
6/*
7 * This file is originally a part of the GCC testsuite.
8 */
9
10#include <common.h>
11
Sergei Poselenov3190dbe2007-07-05 08:17:37 +020012#include <post.h>
13
Yuri Tikhonov7ed66f72008-12-20 14:54:21 +030014GNU_FPOST_ATTR
15
Tom Rini3dd5d4a2022-12-04 10:14:17 -050016#if CFG_POST & CFG_SYS_POST_FPU
Kumar Galafe6555b2011-01-25 03:00:08 -060017
Sergei Poselenov3190dbe2007-07-05 08:17:37 +020018int 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
Tom Rini3dd5d4a2022-12-04 10:14:17 -050042#endif /* CFG_POST & CFG_SYS_POST_FPU */