1 /* 2 * Copyright (C) 2007 3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4 * 5 * SPDX-License-Identifier: GPL-2.0+ 6 */ 7 /* 8 * This file is originally a part of the GCC testsuite. 9 */ 10 11 #include <common.h> 12 13 #include <post.h> 14 15 GNU_FPOST_ATTR 16 17 #if CONFIG_POST & CONFIG_SYS_POST_FPU 18 19 int fpu_post_test_math4 (void) 20 { 21 volatile float reale = 1.0f; 22 volatile float oneplus; 23 int i; 24 25 if (sizeof (float) != 4) 26 return 0; 27 28 for (i = 0; ; i++) 29 { 30 oneplus = 1.0f + reale; 31 if (oneplus == 1.0f) 32 break; 33 reale = reale / 2.0f; 34 } 35 /* Assumes ieee754 accurate arithmetic above. */ 36 if (i != 24) { 37 post_log ("Error in FPU math4 test\n"); 38 return -1; 39 } 40 return 0; 41 } 42 43 #endif /* CONFIG_POST & CONFIG_SYS_POST_FPU */ 44