Summary: The spec for these functions says that they should return 0 in this case but this regressed in r234148. That revision essentially delegates the conversion to the hardware, but that has different behavior on different platforms (e.g. it is wrong on x86). Also fix a typo in the name of __fixunsdfti Test Plan: The existing unit tests now pass Reviewers: joerg, howard.hinnant Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9305 llvm-svn: 236319
24 lines
607 B
C
24 lines
607 B
C
/* ===-- fixunsdfti.c - Implement __fixunsdfti -----------------------------===
|
|
*
|
|
* The LLVM Compiler Infrastructure
|
|
*
|
|
* This file is dual licensed under the MIT and the University of Illinois Open
|
|
* Source Licenses. See LICENSE.TXT for details.
|
|
*
|
|
* ===----------------------------------------------------------------------===
|
|
*/
|
|
|
|
#include "int_lib.h"
|
|
|
|
#ifdef CRT_HAS_128BIT
|
|
#define DOUBLE_PRECISION
|
|
#include "fp_lib.h"
|
|
typedef tu_int fixuint_t;
|
|
#include "fp_fixuint_impl.inc"
|
|
|
|
COMPILER_RT_ABI tu_int
|
|
__fixunsdfti(fp_t a) {
|
|
return __fixuint(a);
|
|
}
|
|
#endif /* CRT_HAS_128BIT */
|