Add COMPILER_RT_ABI attribute to declarations of builtin functions in unittests
Summary: This makes their local declarations match their definitions for ARM targets, where they have a different calling convention. This really only affects functions that use floating point types (since the runtime functions use soft-float, and some targets may default to hard-float) but it seemed good to make it uniform and do the int-only ones too. Differential Revision: http://reviews.llvm.org/D9062 llvm-svn: 235722
This commit is contained in:
parent
24a86df13e
commit
eb0ebc367e
|
@ -19,7 +19,7 @@
|
|||
|
||||
// Effects: aborts if abs(x) < 0
|
||||
|
||||
di_int __absvdi2(di_int a);
|
||||
COMPILER_RT_ABI di_int __absvdi2(di_int a);
|
||||
|
||||
int test__absvdi2(di_int a)
|
||||
{
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
// Effects: aborts if abs(x) < 0
|
||||
|
||||
si_int __absvsi2(si_int a);
|
||||
COMPILER_RT_ABI si_int __absvsi2(si_int a);
|
||||
|
||||
int test__absvsi2(si_int a)
|
||||
{
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
// Effects: aborts if abs(x) < 0
|
||||
|
||||
ti_int __absvti2(ti_int a);
|
||||
COMPILER_RT_ABI ti_int __absvti2(ti_int a);
|
||||
|
||||
int test__absvti2(ti_int a)
|
||||
{
|
||||
|
|
|
@ -11,13 +11,14 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
#if __arm__
|
||||
extern double __adddf3vfp(double a, double b);
|
||||
extern COMPILER_RT_ABI double __adddf3vfp(double a, double b);
|
||||
|
||||
int test__adddf3vfp(double a, double b)
|
||||
{
|
||||
|
|
|
@ -11,12 +11,13 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
extern float __addsf3vfp(float a, float b);
|
||||
extern COMPILER_RT_ABI float __addsf3vfp(float a, float b);
|
||||
|
||||
#if __arm__
|
||||
int test__addsf3vfp(float a, float b)
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#if __LDBL_MANT_DIG__ == 113
|
||||
|
@ -18,7 +19,7 @@
|
|||
#include "fp_test.h"
|
||||
|
||||
// Returns: a + b
|
||||
long double __addtf3(long double a, long double b);
|
||||
COMPILER_RT_ABI long double __addtf3(long double a, long double b);
|
||||
|
||||
int test__addtf3(long double a, long double b,
|
||||
uint64_t expectedHi, uint64_t expectedLo)
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Effects: aborts if a + b overflows
|
||||
|
||||
di_int __addvdi3(di_int a, di_int b);
|
||||
COMPILER_RT_ABI di_int __addvdi3(di_int a, di_int b);
|
||||
|
||||
int test__addvdi3(di_int a, di_int b)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Effects: aborts if a + b overflows
|
||||
|
||||
si_int __addvsi3(si_int a, si_int b);
|
||||
COMPILER_RT_ABI si_int __addvsi3(si_int a, si_int b);
|
||||
|
||||
int test__addvsi3(si_int a, si_int b)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
// Effects: aborts if a + b overflows
|
||||
|
||||
ti_int __addvti3(ti_int a, ti_int b);
|
||||
COMPILER_RT_ABI ti_int __addvti3(ti_int a, ti_int b);
|
||||
|
||||
int test__addvti3(ti_int a, ti_int b)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Precondition: 0 <= b < bits_in_dword
|
||||
|
||||
di_int __ashldi3(di_int a, si_int b);
|
||||
COMPILER_RT_ABI di_int __ashldi3(di_int a, si_int b);
|
||||
|
||||
int test__ashldi3(di_int a, si_int b, di_int expected)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
// Precondition: 0 <= b < bits_in_tword
|
||||
|
||||
ti_int __ashlti3(ti_int a, si_int b);
|
||||
COMPILER_RT_ABI ti_int __ashlti3(ti_int a, si_int b);
|
||||
|
||||
int test__ashlti3(ti_int a, si_int b, ti_int expected)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Precondition: 0 <= b < bits_in_dword
|
||||
|
||||
di_int __ashrdi3(di_int a, si_int b);
|
||||
COMPILER_RT_ABI di_int __ashrdi3(di_int a, si_int b);
|
||||
|
||||
int test__ashrdi3(di_int a, si_int b, di_int expected)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
// Precondition: 0 <= b < bits_in_tword
|
||||
|
||||
ti_int __ashrti3(ti_int a, si_int b);
|
||||
COMPILER_RT_ABI ti_int __ashrti3(ti_int a, si_int b);
|
||||
|
||||
int test__ashrti3(ti_int a, si_int b, ti_int expected)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Precondition: a != 0
|
||||
|
||||
si_int __clzdi2(di_int a);
|
||||
COMPILER_RT_ABI si_int __clzdi2(di_int a);
|
||||
|
||||
int test__clzdi2(di_int a, si_int expected)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Precondition: a != 0
|
||||
|
||||
si_int __clzsi2(si_int a);
|
||||
COMPILER_RT_ABI si_int __clzsi2(si_int a);
|
||||
|
||||
int test__clzsi2(si_int a, si_int expected)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
// Precondition: a != 0
|
||||
|
||||
si_int __clzti2(ti_int a);
|
||||
COMPILER_RT_ABI si_int __clzti2(ti_int a);
|
||||
|
||||
int test__clzti2(ti_int a, si_int expected)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
// if (a == b) returns 1
|
||||
// if (a > b) returns 2
|
||||
|
||||
si_int __cmpdi2(di_int a, di_int b);
|
||||
COMPILER_RT_ABI si_int __cmpdi2(di_int a, di_int b);
|
||||
|
||||
int test__cmpdi2(di_int a, di_int b, si_int expected)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
// if (a == b) returns 1
|
||||
// if (a > b) returns 2
|
||||
|
||||
si_int __cmpti2(ti_int a, ti_int b);
|
||||
COMPILER_RT_ABI si_int __cmpti2(ti_int a, ti_int b);
|
||||
|
||||
int test__cmpti2(ti_int a, ti_int b, si_int expected)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Precondition: a != 0
|
||||
|
||||
si_int __ctzdi2(di_int a);
|
||||
COMPILER_RT_ABI si_int __ctzdi2(di_int a);
|
||||
|
||||
int test__ctzdi2(di_int a, si_int expected)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Precondition: a != 0
|
||||
|
||||
si_int __ctzsi2(si_int a);
|
||||
COMPILER_RT_ABI si_int __ctzsi2(si_int a);
|
||||
|
||||
int test__ctzsi2(si_int a, si_int expected)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
// Precondition: a != 0
|
||||
|
||||
si_int __ctzti2(ti_int a);
|
||||
COMPILER_RT_ABI si_int __ctzti2(ti_int a);
|
||||
|
||||
int test__ctzti2(ti_int a, si_int expected)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,8 @@
|
|||
|
||||
// Returns: the quotient of (a + ib) / (c + id)
|
||||
|
||||
double _Complex __divdc3(double __a, double __b, double __c, double __d);
|
||||
COMPILER_RT_ABI double _Complex
|
||||
__divdc3(double __a, double __b, double __c, double __d);
|
||||
|
||||
enum {zero, non_zero, inf, NaN, non_zero_nan};
|
||||
|
||||
|
|
|
@ -11,13 +11,14 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
#if __arm__
|
||||
extern double __divdf3vfp(double a, double b);
|
||||
extern COMPILER_RT_ABI double __divdf3vfp(double a, double b);
|
||||
|
||||
int test__divdf3vfp(double a, double b)
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
// Returns: a / b
|
||||
|
||||
di_int __divdi3(di_int a, di_int b);
|
||||
COMPILER_RT_ABI di_int __divdi3(di_int a, di_int b);
|
||||
|
||||
int test__divdi3(di_int a, di_int b, di_int expected)
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
// Returns: a / b
|
||||
|
||||
extern si_int __divmodsi4(si_int a, si_int b, si_int* rem);
|
||||
extern COMPILER_RT_ABI si_int __divmodsi4(si_int a, si_int b, si_int* rem);
|
||||
|
||||
|
||||
int test__divmodsi4(si_int a, si_int b,
|
||||
|
|
|
@ -18,7 +18,8 @@
|
|||
|
||||
// Returns: the quotient of (a + ib) / (c + id)
|
||||
|
||||
float _Complex __divsc3(float __a, float __b, float __c, float __d);
|
||||
COMPILER_RT_ABI float _Complex
|
||||
__divsc3(float __a, float __b, float __c, float __d);
|
||||
|
||||
enum {zero, non_zero, inf, NaN, non_zero_nan};
|
||||
|
||||
|
|
|
@ -11,12 +11,13 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
extern float __divsf3vfp(float a, float b);
|
||||
extern COMPILER_RT_ABI float __divsf3vfp(float a, float b);
|
||||
|
||||
#if __arm__
|
||||
int test__divsf3vfp(float a, float b)
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
// Returns: a / b
|
||||
|
||||
si_int __divsi3(si_int a, si_int b);
|
||||
COMPILER_RT_ABI si_int __divsi3(si_int a, si_int b);
|
||||
|
||||
int test__divsi3(si_int a, si_int b, si_int expected)
|
||||
{
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
// Returns: the quotient of (a + ib) / (c + id)
|
||||
|
||||
long double _Complex
|
||||
COMPILER_RT_ABI long double _Complex
|
||||
__divtc3(long double __a, long double __b, long double __c, long double __d);
|
||||
|
||||
enum {zero, non_zero, inf, NaN, non_zero_nan};
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#if __LDBL_MANT_DIG__ == 113
|
||||
|
@ -18,7 +19,7 @@
|
|||
#include "fp_test.h"
|
||||
|
||||
// Returns: a / b
|
||||
long double __divtf3(long double a, long double b);
|
||||
COMPILER_RT_ABI long double __divtf3(long double a, long double b);
|
||||
|
||||
int test__divtf3(long double a, long double b,
|
||||
uint64_t expectedHi, uint64_t expectedLo)
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Returns: a / b
|
||||
|
||||
ti_int __divti3(ti_int a, ti_int b);
|
||||
COMPILER_RT_ABI ti_int __divti3(ti_int a, ti_int b);
|
||||
|
||||
int test__divti3(ti_int a, ti_int b, ti_int expected)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
// Returns: the quotient of (a + ib) / (c + id)
|
||||
|
||||
long double _Complex
|
||||
COMPILER_RT_ABI long double _Complex
|
||||
__divxc3(long double __a, long double __b, long double __c, long double __d);
|
||||
|
||||
enum {zero, non_zero, inf, NaN, non_zero_nan};
|
||||
|
|
|
@ -11,12 +11,13 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
extern double __extendsfdf2vfp(float a);
|
||||
extern COMPILER_RT_ABI double __extendsfdf2vfp(float a);
|
||||
|
||||
#if __arm__
|
||||
int test__extendsfdf2vfp(float a)
|
||||
|
|
|
@ -11,13 +11,14 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#if __LDBL_MANT_DIG__ == 113
|
||||
|
||||
#include "fp_test.h"
|
||||
|
||||
long double __extenddftf2(double a);
|
||||
COMPILER_RT_ABI long double __extenddftf2(double a);
|
||||
|
||||
int test__extenddftf2(double a, uint64_t expectedHi, uint64_t expectedLo)
|
||||
{
|
||||
|
|
|
@ -11,13 +11,14 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#if __LDBL_MANT_DIG__ == 113
|
||||
|
||||
#include "fp_test.h"
|
||||
|
||||
long double __extendsftf2(float a);
|
||||
COMPILER_RT_ABI long double __extendsftf2(float a);
|
||||
|
||||
int test__extendsftf2(float a, uint64_t expectedHi, uint64_t expectedLo)
|
||||
{
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
// Returns: the index of the least significant 1-bit in a, or
|
||||
// the value zero if a is zero. The least significant bit is index one.
|
||||
|
||||
si_int __ffsdi2(di_int a);
|
||||
COMPILER_RT_ABI si_int __ffsdi2(di_int a);
|
||||
|
||||
int test__ffsdi2(di_int a, si_int expected)
|
||||
{
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
// Returns: the index of the least significant 1-bit in a, or
|
||||
// the value zero if a is zero. The least significant bit is index one.
|
||||
|
||||
si_int __ffsti2(ti_int a);
|
||||
COMPILER_RT_ABI si_int __ffsti2(ti_int a);
|
||||
|
||||
int test__ffsti2(ti_int a, si_int expected)
|
||||
{
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
// seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
di_int __fixdfdi(double a);
|
||||
COMPILER_RT_ABI di_int __fixdfdi(double a);
|
||||
|
||||
int test__fixdfdi(double a, di_int expected)
|
||||
{
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
// seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
ti_int __fixdfti(double a);
|
||||
COMPILER_RT_ABI ti_int __fixdfti(double a);
|
||||
|
||||
int test__fixdfti(double a, ti_int expected)
|
||||
{
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
// seee eeee emmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
di_int __fixsfdi(float a);
|
||||
COMPILER_RT_ABI di_int __fixsfdi(float a);
|
||||
|
||||
int test__fixsfdi(float a, di_int expected)
|
||||
{
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
// seee eeee emmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
ti_int __fixsfti(float a);
|
||||
COMPILER_RT_ABI ti_int __fixsfti(float a);
|
||||
|
||||
int test__fixsfti(float a, ti_int expected)
|
||||
{
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
// seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
du_int __fixunsdfdi(double a);
|
||||
COMPILER_RT_ABI du_int __fixunsdfdi(double a);
|
||||
|
||||
int test__fixunsdfdi(double a, du_int expected)
|
||||
{
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
// seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
su_int __fixunsdfsi(double a);
|
||||
COMPILER_RT_ABI su_int __fixunsdfsi(double a);
|
||||
|
||||
int test__fixunsdfsi(double a, su_int expected)
|
||||
{
|
||||
|
|
|
@ -11,12 +11,13 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
extern unsigned int __fixunsdfsivfp(double a);
|
||||
extern COMPILER_RT_ABI unsigned int __fixunsdfsivfp(double a);
|
||||
|
||||
#if __arm__
|
||||
int test__fixunsdfsivfp(double a)
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
#ifdef CRT_HAS_128BIT
|
||||
|
||||
tu_int __fixunsdfti(double a);
|
||||
COMPILER_RT_ABI tu_int __fixunsdfti(double a);
|
||||
|
||||
int test__fixunsdfti(double a, tu_int expected)
|
||||
{
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
// seee eeee emmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
du_int __fixunssfdi(float a);
|
||||
COMPILER_RT_ABI du_int __fixunssfdi(float a);
|
||||
|
||||
int test__fixunssfdi(float a, du_int expected)
|
||||
{
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
// seee eeee emmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
su_int __fixunssfsi(float a);
|
||||
COMPILER_RT_ABI su_int __fixunssfsi(float a);
|
||||
|
||||
int test__fixunssfsi(float a, su_int expected)
|
||||
{
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
// seee eeee emmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
tu_int __fixunssfti(float a);
|
||||
COMPILER_RT_ABI tu_int __fixunssfti(float a);
|
||||
|
||||
int test__fixunssfti(float a, tu_int expected)
|
||||
{
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
// value in long double is representable in du_int or is negative
|
||||
// (no range checking performed)
|
||||
|
||||
du_int __fixunstfdi(long double a);
|
||||
COMPILER_RT_ABI du_int __fixunstfdi(long double a);
|
||||
|
||||
int test__fixunstfdi(long double a, du_int expected)
|
||||
{
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
// gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
|
||||
// 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
du_int __fixunsxfdi(long double a);
|
||||
COMPILER_RT_ABI du_int __fixunsxfdi(long double a);
|
||||
|
||||
int test__fixunsxfdi(long double a, du_int expected)
|
||||
{
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
// gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
|
||||
// 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
su_int __fixunsxfsi(long double a);
|
||||
COMPILER_RT_ABI su_int __fixunsxfsi(long double a);
|
||||
|
||||
int test__fixunsxfsi(long double a, su_int expected)
|
||||
{
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
// gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
|
||||
// 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
tu_int __fixunsxfti(long double a);
|
||||
COMPILER_RT_ABI tu_int __fixunsxfti(long double a);
|
||||
|
||||
int test__fixunsxfti(long double a, tu_int expected)
|
||||
{
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
// gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
|
||||
// 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
di_int __fixxfdi(long double a);
|
||||
COMPILER_RT_ABI di_int __sfixxfdi(long double a);
|
||||
|
||||
int test__fixxfdi(long double a, di_int expected)
|
||||
{
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
// gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
|
||||
// 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
ti_int __fixxfti(long double a);
|
||||
COMPILER_RT_ABI ti_int __fixxfti(long double a);
|
||||
|
||||
int test__fixxfti(long double a, ti_int expected)
|
||||
{
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
// seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
double __floatdidf(di_int a);
|
||||
COMPILER_RT_ABI double __floatdidf(di_int a);
|
||||
|
||||
int test__floatdidf(di_int a, double expected)
|
||||
{
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
// seee eeee emmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
float __floatdisf(di_int a);
|
||||
COMPILER_RT_ABI float __floatdisf(di_int a);
|
||||
|
||||
int test__floatdisf(di_int a, float expected)
|
||||
{
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
// gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
|
||||
// 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
long double __floatdixf(di_int a);
|
||||
long COMPILER_RT_ABI double __floatdixf(di_int a);
|
||||
|
||||
int test__floatdixf(di_int a, long double expected)
|
||||
{
|
||||
|
|
|
@ -11,12 +11,13 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
extern double __floatsidfvfp(int a);
|
||||
extern COMPILER_RT_ABI double __floatsidfvfp(int a);
|
||||
|
||||
#if __arm__
|
||||
int test__floatsidfvfp(int a)
|
||||
|
|
|
@ -11,12 +11,13 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
extern float __floatsisfvfp(int a);
|
||||
extern COMPILER_RT_ABI float __floatsisfvfp(int a);
|
||||
|
||||
#if __arm__
|
||||
int test__floatsisfvfp(int a)
|
||||
|
|
|
@ -11,13 +11,14 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#if __LDBL_MANT_DIG__ == 113
|
||||
|
||||
#include "fp_test.h"
|
||||
|
||||
long double __floatsitf(int a);
|
||||
long COMPILER_RT_ABI double __floatsitf(int a);
|
||||
|
||||
int test__floatsitf(int a, uint64_t expectedHi, uint64_t expectedLo)
|
||||
{
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
// seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
double __floattidf(ti_int a);
|
||||
COMPILER_RT_ABI double __floattidf(ti_int a);
|
||||
|
||||
int test__floattidf(ti_int a, double expected)
|
||||
{
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
// seee eeee emmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
float __floattisf(ti_int a);
|
||||
COMPILER_RT_ABI float __floattisf(ti_int a);
|
||||
|
||||
int test__floattisf(ti_int a, float expected)
|
||||
{
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
// gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
|
||||
// 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
long double __floattixf(ti_int a);
|
||||
COMPILER_RT_ABI long double __floattixf(ti_int a);
|
||||
|
||||
int test__floattixf(ti_int a, long double expected)
|
||||
{
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
// seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
double __floatundidf(du_int a);
|
||||
COMPILER_RT_ABI double __floatundidf(du_int a);
|
||||
|
||||
int test__floatundidf(di_int a, double expected)
|
||||
{
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
// seee eeee emmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
float __floatundisf(du_int a);
|
||||
COMPILER_RT_ABI float __floatundisf(du_int a);
|
||||
|
||||
int test__floatundisf(du_int a, float expected)
|
||||
{
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
// gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
|
||||
// 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
long double __floatundixf(du_int a);
|
||||
COMPILER_RT_ABI long double __floatundixf(du_int a);
|
||||
|
||||
int test__floatundixf(du_int a, long double expected)
|
||||
{
|
||||
|
|
|
@ -11,13 +11,14 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#if __LDBL_MANT_DIG__ == 113
|
||||
|
||||
#include "fp_test.h"
|
||||
|
||||
long double __floatunsitf(unsigned int a);
|
||||
COMPILER_RT_ABI long double __floatunsitf(unsigned int a);
|
||||
|
||||
int test__floatunsitf(unsigned int a, uint64_t expectedHi, uint64_t expectedLo)
|
||||
{
|
||||
|
|
|
@ -11,12 +11,13 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
extern double __floatunssidfvfp(unsigned int a);
|
||||
extern COMPILER_RT_ABI double __floatunssidfvfp(unsigned int a);
|
||||
|
||||
#if __arm__
|
||||
int test__floatunssidfvfp(unsigned int a)
|
||||
|
|
|
@ -14,9 +14,9 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
#include "int_lib.h"
|
||||
|
||||
|
||||
extern float __floatunssisfvfp(unsigned int a);
|
||||
extern COMPILER_RT_ABI float __floatunssisfvfp(unsigned int a);
|
||||
|
||||
#if __arm__
|
||||
int test__floatunssisfvfp(unsigned int a)
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
// seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
double __floatuntidf(tu_int a);
|
||||
COMPILER_RT_ABI double __floatuntidf(tu_int a);
|
||||
|
||||
int test__floatuntidf(tu_int a, double expected)
|
||||
{
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
// seee eeee emmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
float __floatuntisf(tu_int a);
|
||||
COMPILER_RT_ABI float __floatuntisf(tu_int a);
|
||||
|
||||
int test__floatuntisf(tu_int a, float expected)
|
||||
{
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
// gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee |
|
||||
// 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm
|
||||
|
||||
long double __floatuntixf(tu_int a);
|
||||
COMPILER_RT_ABI long double __floatuntixf(tu_int a);
|
||||
|
||||
int test__floatuntixf(tu_int a, long double expected)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Precondition: 0 <= b < bits_in_dword
|
||||
|
||||
di_int __lshrdi3(di_int a, si_int b);
|
||||
COMPILER_RT_ABI di_int __lshrdi3(di_int a, si_int b);
|
||||
|
||||
int test__lshrdi3(di_int a, si_int b, di_int expected)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
// Precondition: 0 <= b < bits_in_dword
|
||||
|
||||
ti_int __lshrti3(ti_int a, si_int b);
|
||||
COMPILER_RT_ABI ti_int __lshrti3(ti_int a, si_int b);
|
||||
|
||||
int test__lshrti3(ti_int a, si_int b, ti_int expected)
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
// Returns: a % b
|
||||
|
||||
di_int __moddi3(di_int a, di_int b);
|
||||
COMPILER_RT_ABI di_int __moddi3(di_int a, di_int b);
|
||||
|
||||
int test__moddi3(di_int a, di_int b, di_int expected)
|
||||
{
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
/* Returns: a % b */
|
||||
|
||||
si_int __modsi3(si_int a, si_int b);
|
||||
COMPILER_RT_ABI si_int __modsi3(si_int a, si_int b);
|
||||
|
||||
int test__modsi3(si_int a, si_int b, si_int expected) {
|
||||
si_int x = __modsi3(a, b);
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Returns: a % b
|
||||
|
||||
ti_int __modti3(ti_int a, ti_int b);
|
||||
COMPILER_RT_ABI ti_int __modti3(ti_int a, ti_int b);
|
||||
|
||||
int test__modti3(ti_int a, ti_int b, ti_int expected)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,8 @@
|
|||
|
||||
// Returns: the product of a + ib and c + id
|
||||
|
||||
double _Complex __muldc3(double __a, double __b, double __c, double __d);
|
||||
COMPILER_RT_ABI double _Complex
|
||||
__muldc3(double __a, double __b, double __c, double __d);
|
||||
|
||||
enum {zero, non_zero, inf, NaN, non_zero_nan};
|
||||
|
||||
|
|
|
@ -11,13 +11,14 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
#if __arm__
|
||||
extern double __muldf3vfp(double a, double b);
|
||||
extern COMPILER_RT_ABI double __muldf3vfp(double a, double b);
|
||||
|
||||
int test__muldf3vfp(double a, double b)
|
||||
{
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
|
||||
di_int __muldi3(di_int a, di_int b);
|
||||
COMPILER_RT_ABI di_int __muldi3(di_int a, di_int b);
|
||||
|
||||
int test__muldi3(di_int a, di_int b, di_int expected)
|
||||
{
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
|
||||
extern di_int __mulodi4(di_int a, di_int b, int* overflow);
|
||||
extern COMPILER_RT_ABI di_int __mulodi4(di_int a, di_int b, int* overflow);
|
||||
|
||||
int test__mulodi4(di_int a, di_int b, di_int expected, int expected_overflow)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Effects: aborts if a * b overflows
|
||||
|
||||
si_int __mulosi4(si_int a, si_int b, int *overflow);
|
||||
COMPILER_RT_ABI si_int __mulosi4(si_int a, si_int b, int *overflow);
|
||||
|
||||
int test__mulosi4(si_int a, si_int b, si_int expected, int expected_overflow)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
// Effects: sets overflow if a * b overflows
|
||||
|
||||
ti_int __muloti4(ti_int a, ti_int b, int *overflow);
|
||||
COMPILER_RT_ABI ti_int __muloti4(ti_int a, ti_int b, int *overflow);
|
||||
|
||||
int test__muloti4(ti_int a, ti_int b, ti_int expected, int expected_overflow)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,8 @@
|
|||
|
||||
// Returns: the product of a + ib and c + id
|
||||
|
||||
float _Complex __mulsc3(float __a, float __b, float __c, float __d);
|
||||
COMPILER_RT_ABI float _Complex
|
||||
__mulsc3(float __a, float __b, float __c, float __d);
|
||||
|
||||
enum {zero, non_zero, inf, NaN, non_zero_nan};
|
||||
|
||||
|
|
|
@ -11,12 +11,13 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
extern float __mulsf3vfp(float a, float b);
|
||||
extern COMPILER_RT_ABI float __mulsf3vfp(float a, float b);
|
||||
|
||||
#if __arm__
|
||||
int test__mulsf3vfp(float a, float b)
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
// Returns: the product of a + ib and c + id
|
||||
|
||||
long double _Complex
|
||||
COMPILER_RT_ABI long double _Complex
|
||||
__multc3(long double __a, long double __b, long double __c, long double __d);
|
||||
|
||||
enum {zero, non_zero, inf, NaN, non_zero_nan};
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#include "fp_test.h"
|
||||
|
||||
// Returns: a * b
|
||||
long double __multf3(long double a, long double b);
|
||||
COMPILER_RT_ABI long double __multf3(long double a, long double b);
|
||||
|
||||
int test__multf3(long double a, long double b,
|
||||
uint64_t expectedHi, uint64_t expectedLo)
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
#ifdef CRT_HAS_128BIT
|
||||
|
||||
ti_int __multi3(ti_int a, ti_int b);
|
||||
COMPILER_RT_ABI ti_int __multi3(ti_int a, ti_int b);
|
||||
|
||||
int test__multi3(ti_int a, ti_int b, ti_int expected)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Effects: aborts if a * b overflows
|
||||
|
||||
di_int __mulvdi3(di_int a, di_int b);
|
||||
COMPILER_RT_ABI di_int __mulvdi3(di_int a, di_int b);
|
||||
|
||||
int test__mulvdi3(di_int a, di_int b, di_int expected)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Effects: aborts if a * b overflows
|
||||
|
||||
si_int __mulvsi3(si_int a, si_int b);
|
||||
COMPILER_RT_ABI si_int __mulvsi3(si_int a, si_int b);
|
||||
|
||||
int test__mulvsi3(si_int a, si_int b, si_int expected)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
// Effects: aborts if a * b overflows
|
||||
|
||||
ti_int __mulvti3(ti_int a, ti_int b);
|
||||
COMPILER_RT_ABI ti_int __mulvti3(ti_int a, ti_int b);
|
||||
|
||||
int test__mulvti3(ti_int a, ti_int b, ti_int expected)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
// Returns: the product of a + ib and c + id
|
||||
|
||||
long double _Complex
|
||||
COMPILER_RT_ABI long double _Complex
|
||||
__mulxc3(long double __a, long double __b, long double __c, long double __d);
|
||||
|
||||
enum {zero, non_zero, inf, NaN, non_zero_nan};
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#include <math.h>
|
||||
|
||||
|
||||
extern double __negdf2vfp(double a);
|
||||
extern COMPILER_RT_ABI double __negdf2vfp(double a);
|
||||
|
||||
#if __arm__
|
||||
int test__negdf2vfp(double a)
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
// Returns: -a
|
||||
|
||||
di_int __negdi2(di_int a);
|
||||
COMPILER_RT_ABI di_int __negdi2(di_int a);
|
||||
|
||||
int test__negdi2(di_int a, di_int expected)
|
||||
{
|
||||
|
|
|
@ -11,12 +11,13 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "int_lib.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
|
||||
extern float __negsf2vfp(float a);
|
||||
extern COMPILER_RT_ABI float __negsf2vfp(float a);
|
||||
|
||||
#if __arm__
|
||||
int test__negsf2vfp(float a)
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Returns: -a
|
||||
|
||||
ti_int __negti2(ti_int a);
|
||||
COMPILER_RT_ABI ti_int __negti2(ti_int a);
|
||||
|
||||
int test__negti2(ti_int a, ti_int expected)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Effects: aborts if -a overflows
|
||||
|
||||
di_int __negvdi2(di_int a);
|
||||
COMPILER_RT_ABI di_int __negvdi2(di_int a);
|
||||
|
||||
int test__negvdi2(di_int a)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
// Effects: aborts if -a overflows
|
||||
|
||||
si_int __negvsi2(si_int a);
|
||||
COMPILER_RT_ABI si_int __negvsi2(si_int a);
|
||||
|
||||
int test__negvsi2(si_int a)
|
||||
{
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
|
||||
// Effects: aborts if -a overflows
|
||||
|
||||
ti_int __negvti2(ti_int a);
|
||||
ti_int __negti2(ti_int a);
|
||||
COMPILER_RT_ABI ti_int __negvti2(ti_int a);
|
||||
COMPILER_RT_ABI ti_int __negti2(ti_int a);
|
||||
|
||||
int test__negvti2(ti_int a)
|
||||
{
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
// Returns: 1 if number of bits is odd else returns 0
|
||||
|
||||
si_int __paritydi2(di_int a);
|
||||
COMPILER_RT_ABI si_int __paritydi2(di_int a);
|
||||
|
||||
int naive_parity(di_int a)
|
||||
{
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue