10963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik//===-- extendsfdf2vfp_test.c - Test __extendsfdf2vfp ---------------------===// 20963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik// 30963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik// The LLVM Compiler Infrastructure 40963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik// 59ad441ffec97db647fee3725b3424284fb913e14Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open 69ad441ffec97db647fee3725b3424284fb913e14Howard Hinnant// Source Licenses. See LICENSE.TXT for details. 70963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik// 80963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik//===----------------------------------------------------------------------===// 90963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik// 100963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik// This file tests __extendsfdf2vfp for the compiler_rt library. 110963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik// 120963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik//===----------------------------------------------------------------------===// 130963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik 140963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik#include <stdio.h> 150963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik#include <stdlib.h> 160963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik#include <math.h> 170963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik 180963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik 190963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzikextern double __extendsfdf2vfp(float a); 200963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik 210963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik#if __arm__ 220963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzikint test__extendsfdf2vfp(float a) 230963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik{ 240963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik double actual = __extendsfdf2vfp(a); 250963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik double expected = a; 260963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik if (actual != expected) 270963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik printf("error in test__extendsfdf2vfp(%f) = %f, expected %f\n", 280963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik a, actual, expected); 290963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik return actual != expected; 300963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik} 310963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik#endif 320963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik 330963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzikint main() 340963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik{ 350963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik#if __arm__ 360963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik if (test__extendsfdf2vfp(0.0)) 370963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik return 1; 380963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik if (test__extendsfdf2vfp(1.0)) 390963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik return 1; 400963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik if (test__extendsfdf2vfp(-1.0)) 410963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik return 1; 420963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik if (test__extendsfdf2vfp(3.1415926535)) 430963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik return 1; 447482815716cd9b87931d82dca7298fc3c707229fJoerg Sonnenberger#else 457482815716cd9b87931d82dca7298fc3c707229fJoerg Sonnenberger printf("skipped\n"); 460963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik#endif 470963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik return 0; 480963c9e8ea7f97732b0fce419fa6f2e96d951969Nick Kledzik} 49