[builtins] Change si_int to int in some helper declarations
This patch changes types of some integer function arguments or return values from `si_int` to the default `int` type to make it more compatible with `libgcc`.
The compiler-rt/lib/builtins/README.txt has a link to the [libgcc specification](http://gcc.gnu.org/onlinedocs/gccint/Libgcc.html#Libgcc). This specification has an explicit note on `int`, `float` and other such types being just illustrations in some cases while the actual types are expressed with machine modes.
Such usage of always-32-bit-wide integer type may lead to issues on 16-bit platforms such as MSP430. Provided [libgcc2.h](https://gcc.gnu.org/git/?p=gcc.git;a=blob_plain;f=libgcc/libgcc2.h;hb=HEAD) can be used as a reference for all targets supported by the libgcc, this patch fixes some existing differences in helper declarations.
This patch is expected to not change behavior at all for targets with 32-bit `int` type.
Differential Revision: https://reviews.llvm.org/D81285
diff --git a/compiler-rt/test/builtins/Unit/clzdi2_test.c b/compiler-rt/test/builtins/Unit/clzdi2_test.c
index 3cbfb4b..962f1df 100644
--- a/compiler-rt/test/builtins/Unit/clzdi2_test.c
+++ b/compiler-rt/test/builtins/Unit/clzdi2_test.c
@@ -8,11 +8,11 @@
// Precondition: a != 0
-COMPILER_RT_ABI si_int __clzdi2(di_int a);
+COMPILER_RT_ABI int __clzdi2(di_int a);
-int test__clzdi2(di_int a, si_int expected)
+int test__clzdi2(di_int a, int expected)
{
- si_int x = __clzdi2(a);
+ int x = __clzdi2(a);
if (x != expected)
printf("error in __clzdi2(0x%llX) = %d, expected %d\n", a, x, expected);
return x != expected;
diff --git a/compiler-rt/test/builtins/Unit/clzsi2_test.c b/compiler-rt/test/builtins/Unit/clzsi2_test.c
index d12c59c..57562c4 100644
--- a/compiler-rt/test/builtins/Unit/clzsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/clzsi2_test.c
@@ -8,11 +8,11 @@
// Precondition: a != 0
-COMPILER_RT_ABI si_int __clzsi2(si_int a);
+COMPILER_RT_ABI int __clzsi2(si_int a);
-int test__clzsi2(si_int a, si_int expected)
+int test__clzsi2(si_int a, int expected)
{
- si_int x = __clzsi2(a);
+ int x = __clzsi2(a);
if (x != expected)
printf("error in __clzsi2(0x%X) = %d, expected %d\n", a, x, expected);
return x != expected;
diff --git a/compiler-rt/test/builtins/Unit/clzti2_test.c b/compiler-rt/test/builtins/Unit/clzti2_test.c
index 3dbf907..13e0e69 100644
--- a/compiler-rt/test/builtins/Unit/clzti2_test.c
+++ b/compiler-rt/test/builtins/Unit/clzti2_test.c
@@ -11,11 +11,11 @@
// Precondition: a != 0
-COMPILER_RT_ABI si_int __clzti2(ti_int a);
+COMPILER_RT_ABI int __clzti2(ti_int a);
-int test__clzti2(ti_int a, si_int expected)
+int test__clzti2(ti_int a, int expected)
{
- si_int x = __clzti2(a);
+ int x = __clzti2(a);
if (x != expected)
{
twords at;
diff --git a/compiler-rt/test/builtins/Unit/ctzsi2_test.c b/compiler-rt/test/builtins/Unit/ctzsi2_test.c
index 96db339..db6d4ce 100644
--- a/compiler-rt/test/builtins/Unit/ctzsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/ctzsi2_test.c
@@ -8,11 +8,11 @@
// Precondition: a != 0
-COMPILER_RT_ABI si_int __ctzsi2(si_int a);
+COMPILER_RT_ABI int __ctzsi2(si_int a);
-int test__ctzsi2(si_int a, si_int expected)
+int test__ctzsi2(si_int a, int expected)
{
- si_int x = __ctzsi2(a);
+ int x = __ctzsi2(a);
if (x != expected)
printf("error in __ctzsi2(0x%X) = %d, expected %d\n", a, x, expected);
return x != expected;
diff --git a/compiler-rt/test/builtins/Unit/ctzti2_test.c b/compiler-rt/test/builtins/Unit/ctzti2_test.c
index a19de13..054776e 100644
--- a/compiler-rt/test/builtins/Unit/ctzti2_test.c
+++ b/compiler-rt/test/builtins/Unit/ctzti2_test.c
@@ -11,11 +11,11 @@
// Precondition: a != 0
-COMPILER_RT_ABI si_int __ctzti2(ti_int a);
+COMPILER_RT_ABI int __ctzti2(ti_int a);
-int test__ctzti2(ti_int a, si_int expected)
+int test__ctzti2(ti_int a, int expected)
{
- si_int x = __ctzti2(a);
+ int x = __ctzti2(a);
if (x != expected)
{
twords at;
diff --git a/compiler-rt/test/builtins/Unit/ffsti2_test.c b/compiler-rt/test/builtins/Unit/ffsti2_test.c
index 3ec7f02..446b16f 100644
--- a/compiler-rt/test/builtins/Unit/ffsti2_test.c
+++ b/compiler-rt/test/builtins/Unit/ffsti2_test.c
@@ -10,11 +10,11 @@
// 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.
-COMPILER_RT_ABI si_int __ffsti2(ti_int a);
+COMPILER_RT_ABI int __ffsti2(ti_int a);
-int test__ffsti2(ti_int a, si_int expected)
+int test__ffsti2(ti_int a, int expected)
{
- si_int x = __ffsti2(a);
+ int x = __ffsti2(a);
if (x != expected)
{
twords at;
diff --git a/compiler-rt/test/builtins/Unit/paritydi2_test.c b/compiler-rt/test/builtins/Unit/paritydi2_test.c
index 13218a9..2ea1ddc 100644
--- a/compiler-rt/test/builtins/Unit/paritydi2_test.c
+++ b/compiler-rt/test/builtins/Unit/paritydi2_test.c
@@ -7,7 +7,7 @@
// Returns: 1 if number of bits is odd else returns 0
-COMPILER_RT_ABI si_int __paritydi2(di_int a);
+COMPILER_RT_ABI int __paritydi2(di_int a);
int naive_parity(di_int a)
{
diff --git a/compiler-rt/test/builtins/Unit/paritysi2_test.c b/compiler-rt/test/builtins/Unit/paritysi2_test.c
index 7aae131..2bed010 100644
--- a/compiler-rt/test/builtins/Unit/paritysi2_test.c
+++ b/compiler-rt/test/builtins/Unit/paritysi2_test.c
@@ -7,7 +7,7 @@
// Returns: 1 if number of bits is odd else returns 0
-COMPILER_RT_ABI si_int __paritysi2(si_int a);
+COMPILER_RT_ABI int __paritysi2(si_int a);
int naive_parity(si_int a)
{
diff --git a/compiler-rt/test/builtins/Unit/parityti2_test.c b/compiler-rt/test/builtins/Unit/parityti2_test.c
index 6644ee0..ec4cf45 100644
--- a/compiler-rt/test/builtins/Unit/parityti2_test.c
+++ b/compiler-rt/test/builtins/Unit/parityti2_test.c
@@ -10,7 +10,7 @@
// Returns: 1 if number of bits is odd else returns 0
-COMPILER_RT_ABI si_int __parityti2(ti_int a);
+COMPILER_RT_ABI int __parityti2(ti_int a);
int naive_parity(ti_int a)
{
diff --git a/compiler-rt/test/builtins/Unit/popcountsi2_test.c b/compiler-rt/test/builtins/Unit/popcountsi2_test.c
index 731e621..7689267 100644
--- a/compiler-rt/test/builtins/Unit/popcountsi2_test.c
+++ b/compiler-rt/test/builtins/Unit/popcountsi2_test.c
@@ -7,7 +7,7 @@
// Returns: count of 1 bits
-COMPILER_RT_ABI si_int __popcountsi2(si_int a);
+COMPILER_RT_ABI int __popcountsi2(si_int a);
int naive_popcount(si_int a)
{
diff --git a/compiler-rt/test/builtins/Unit/popcountti2_test.c b/compiler-rt/test/builtins/Unit/popcountti2_test.c
index 53edd8c..c3919dc 100644
--- a/compiler-rt/test/builtins/Unit/popcountti2_test.c
+++ b/compiler-rt/test/builtins/Unit/popcountti2_test.c
@@ -10,7 +10,7 @@
// Returns: count of 1 bits
-COMPILER_RT_ABI si_int __popcountti2(ti_int a);
+COMPILER_RT_ABI int __popcountti2(ti_int a);
int naive_popcount(ti_int a)
{
diff --git a/compiler-rt/test/builtins/Unit/powidf2_test.c b/compiler-rt/test/builtins/Unit/powidf2_test.c
index 0c4e213..aa16b85 100644
--- a/compiler-rt/test/builtins/Unit/powidf2_test.c
+++ b/compiler-rt/test/builtins/Unit/powidf2_test.c
@@ -7,9 +7,9 @@
// Returns: a ^ b
-COMPILER_RT_ABI double __powidf2(double a, si_int b);
+COMPILER_RT_ABI double __powidf2(double a, int b);
-int test__powidf2(double a, si_int b, double expected)
+int test__powidf2(double a, int b, double expected)
{
double x = __powidf2(a, b);
int correct = (x == expected) && (signbit(x) == signbit(expected));
@@ -51,9 +51,9 @@
return 1;
if (test__powidf2(0, 4, 0))
return 1;
- if (test__powidf2(0, 0x7FFFFFFE, 0))
+ if (test__powidf2(0, INT_MAX - 1, 0))
return 1;
- if (test__powidf2(0, 0x7FFFFFFF, 0))
+ if (test__powidf2(0, INT_MAX, 0))
return 1;
if (test__powidf2(-0., 1, -0.))
@@ -64,9 +64,9 @@
return 1;
if (test__powidf2(-0., 4, 0))
return 1;
- if (test__powidf2(-0., 0x7FFFFFFE, 0))
+ if (test__powidf2(-0., INT_MAX - 1, 0))
return 1;
- if (test__powidf2(-0., 0x7FFFFFFF, -0.))
+ if (test__powidf2(-0., INT_MAX, -0.))
return 1;
if (test__powidf2(1, 1, 1))
@@ -77,9 +77,9 @@
return 1;
if (test__powidf2(1, 4, 1))
return 1;
- if (test__powidf2(1, 0x7FFFFFFE, 1))
+ if (test__powidf2(1, INT_MAX - 1, 1))
return 1;
- if (test__powidf2(1, 0x7FFFFFFF, 1))
+ if (test__powidf2(1, INT_MAX, 1))
return 1;
if (test__powidf2(INFINITY, 1, INFINITY))
@@ -90,9 +90,9 @@
return 1;
if (test__powidf2(INFINITY, 4, INFINITY))
return 1;
- if (test__powidf2(INFINITY, 0x7FFFFFFE, INFINITY))
+ if (test__powidf2(INFINITY, INT_MAX - 1, INFINITY))
return 1;
- if (test__powidf2(INFINITY, 0x7FFFFFFF, INFINITY))
+ if (test__powidf2(INFINITY, INT_MAX, INFINITY))
return 1;
if (test__powidf2(-INFINITY, 1, -INFINITY))
@@ -103,9 +103,9 @@
return 1;
if (test__powidf2(-INFINITY, 4, INFINITY))
return 1;
- if (test__powidf2(-INFINITY, 0x7FFFFFFE, INFINITY))
+ if (test__powidf2(-INFINITY, INT_MAX - 1, INFINITY))
return 1;
- if (test__powidf2(-INFINITY, 0x7FFFFFFF, -INFINITY))
+ if (test__powidf2(-INFINITY, INT_MAX, -INFINITY))
return 1;
if (test__powidf2(0, -1, INFINITY))
@@ -116,11 +116,11 @@
return 1;
if (test__powidf2(0, -4, INFINITY))
return 1;
- if (test__powidf2(0, 0x80000002, INFINITY))
+ if (test__powidf2(0, INT_MIN + 2, INFINITY))
return 1;
- if (test__powidf2(0, 0x80000001, INFINITY))
+ if (test__powidf2(0, INT_MIN + 1, INFINITY))
return 1;
- if (test__powidf2(0, 0x80000000, INFINITY))
+ if (test__powidf2(0, INT_MIN, INFINITY))
return 1;
if (test__powidf2(-0., -1, -INFINITY))
@@ -131,11 +131,11 @@
return 1;
if (test__powidf2(-0., -4, INFINITY))
return 1;
- if (test__powidf2(-0., 0x80000002, INFINITY))
+ if (test__powidf2(-0., INT_MIN + 2, INFINITY))
return 1;
- if (test__powidf2(-0., 0x80000001, -INFINITY))
+ if (test__powidf2(-0., INT_MIN + 1, -INFINITY))
return 1;
- if (test__powidf2(-0., 0x80000000, INFINITY))
+ if (test__powidf2(-0., INT_MIN, INFINITY))
return 1;
if (test__powidf2(1, -1, 1))
@@ -146,11 +146,11 @@
return 1;
if (test__powidf2(1, -4, 1))
return 1;
- if (test__powidf2(1, 0x80000002, 1))
+ if (test__powidf2(1, INT_MIN + 2, 1))
return 1;
- if (test__powidf2(1, 0x80000001, 1))
+ if (test__powidf2(1, INT_MIN + 1, 1))
return 1;
- if (test__powidf2(1, 0x80000000, 1))
+ if (test__powidf2(1, INT_MIN, 1))
return 1;
if (test__powidf2(INFINITY, -1, 0))
@@ -161,11 +161,11 @@
return 1;
if (test__powidf2(INFINITY, -4, 0))
return 1;
- if (test__powidf2(INFINITY, 0x80000002, 0))
+ if (test__powidf2(INFINITY, INT_MIN + 2, 0))
return 1;
- if (test__powidf2(INFINITY, 0x80000001, 0))
+ if (test__powidf2(INFINITY, INT_MIN + 1, 0))
return 1;
- if (test__powidf2(INFINITY, 0x80000000, 0))
+ if (test__powidf2(INFINITY, INT_MIN, 0))
return 1;
if (test__powidf2(-INFINITY, -1, -0.))
@@ -176,11 +176,11 @@
return 1;
if (test__powidf2(-INFINITY, -4, 0))
return 1;
- if (test__powidf2(-INFINITY, 0x80000002, 0))
+ if (test__powidf2(-INFINITY, INT_MIN + 2, 0))
return 1;
- if (test__powidf2(-INFINITY, 0x80000001, -0.))
+ if (test__powidf2(-INFINITY, INT_MIN + 1, -0.))
return 1;
- if (test__powidf2(-INFINITY, 0x80000000, 0))
+ if (test__powidf2(-INFINITY, INT_MIN, 0))
return 1;
if (test__powidf2(2, 10, 1024.))
diff --git a/compiler-rt/test/builtins/Unit/powisf2_test.c b/compiler-rt/test/builtins/Unit/powisf2_test.c
index e86901d..6da42d9 100644
--- a/compiler-rt/test/builtins/Unit/powisf2_test.c
+++ b/compiler-rt/test/builtins/Unit/powisf2_test.c
@@ -7,9 +7,9 @@
// Returns: a ^ b
-COMPILER_RT_ABI float __powisf2(float a, si_int b);
+COMPILER_RT_ABI float __powisf2(float a, int b);
-int test__powisf2(float a, si_int b, float expected)
+int test__powisf2(float a, int b, float expected)
{
float x = __powisf2(a, b);
int correct = (x == expected) && (signbit(x) == signbit(expected));
@@ -51,9 +51,9 @@
return 1;
if (test__powisf2(0, 4, 0))
return 1;
- if (test__powisf2(0, 0x7FFFFFFE, 0))
+ if (test__powisf2(0, INT_MAX -1, 0))
return 1;
- if (test__powisf2(0, 0x7FFFFFFF, 0))
+ if (test__powisf2(0, INT_MAX, 0))
return 1;
if (test__powisf2(-0., 1, -0.))
@@ -64,9 +64,9 @@
return 1;
if (test__powisf2(-0., 4, 0))
return 1;
- if (test__powisf2(-0., 0x7FFFFFFE, 0))
+ if (test__powisf2(-0., INT_MAX - 1, 0))
return 1;
- if (test__powisf2(-0., 0x7FFFFFFF, -0.))
+ if (test__powisf2(-0., INT_MAX, -0.))
return 1;
if (test__powisf2(1, 1, 1))
@@ -77,9 +77,9 @@
return 1;
if (test__powisf2(1, 4, 1))
return 1;
- if (test__powisf2(1, 0x7FFFFFFE, 1))
+ if (test__powisf2(1, INT_MAX - 1, 1))
return 1;
- if (test__powisf2(1, 0x7FFFFFFF, 1))
+ if (test__powisf2(1, INT_MAX, 1))
return 1;
if (test__powisf2(INFINITY, 1, INFINITY))
@@ -90,9 +90,9 @@
return 1;
if (test__powisf2(INFINITY, 4, INFINITY))
return 1;
- if (test__powisf2(INFINITY, 0x7FFFFFFE, INFINITY))
+ if (test__powisf2(INFINITY, INT_MAX - 1, INFINITY))
return 1;
- if (test__powisf2(INFINITY, 0x7FFFFFFF, INFINITY))
+ if (test__powisf2(INFINITY, INT_MAX, INFINITY))
return 1;
if (test__powisf2(-INFINITY, 1, -INFINITY))
@@ -103,9 +103,9 @@
return 1;
if (test__powisf2(-INFINITY, 4, INFINITY))
return 1;
- if (test__powisf2(-INFINITY, 0x7FFFFFFE, INFINITY))
+ if (test__powisf2(-INFINITY, INT_MAX - 1, INFINITY))
return 1;
- if (test__powisf2(-INFINITY, 0x7FFFFFFF, -INFINITY))
+ if (test__powisf2(-INFINITY, INT_MAX, -INFINITY))
return 1;
if (test__powisf2(0, -1, INFINITY))
@@ -116,11 +116,11 @@
return 1;
if (test__powisf2(0, -4, INFINITY))
return 1;
- if (test__powisf2(0, 0x80000002, INFINITY))
+ if (test__powisf2(0, INT_MIN + 2, INFINITY))
return 1;
- if (test__powisf2(0, 0x80000001, INFINITY))
+ if (test__powisf2(0, INT_MIN + 1, INFINITY))
return 1;
- if (test__powisf2(0, 0x80000000, INFINITY))
+ if (test__powisf2(0, INT_MIN, INFINITY))
return 1;
if (test__powisf2(-0., -1, -INFINITY))
@@ -131,11 +131,11 @@
return 1;
if (test__powisf2(-0., -4, INFINITY))
return 1;
- if (test__powisf2(-0., 0x80000002, INFINITY))
+ if (test__powisf2(-0., INT_MIN + 2, INFINITY))
return 1;
- if (test__powisf2(-0., 0x80000001, -INFINITY))
+ if (test__powisf2(-0., INT_MIN + 1, -INFINITY))
return 1;
- if (test__powisf2(-0., 0x80000000, INFINITY))
+ if (test__powisf2(-0., INT_MIN, INFINITY))
return 1;
if (test__powisf2(1, -1, 1))
@@ -146,11 +146,11 @@
return 1;
if (test__powisf2(1, -4, 1))
return 1;
- if (test__powisf2(1, 0x80000002, 1))
+ if (test__powisf2(1, INT_MIN + 2, 1))
return 1;
- if (test__powisf2(1, 0x80000001, 1))
+ if (test__powisf2(1, INT_MIN + 1, 1))
return 1;
- if (test__powisf2(1, 0x80000000, 1))
+ if (test__powisf2(1, INT_MIN, 1))
return 1;
if (test__powisf2(INFINITY, -1, 0))
@@ -161,11 +161,11 @@
return 1;
if (test__powisf2(INFINITY, -4, 0))
return 1;
- if (test__powisf2(INFINITY, 0x80000002, 0))
+ if (test__powisf2(INFINITY, INT_MIN + 2, 0))
return 1;
- if (test__powisf2(INFINITY, 0x80000001, 0))
+ if (test__powisf2(INFINITY, INT_MIN + 1, 0))
return 1;
- if (test__powisf2(INFINITY, 0x80000000, 0))
+ if (test__powisf2(INFINITY, INT_MIN, 0))
return 1;
if (test__powisf2(-INFINITY, -1, -0.))
@@ -176,11 +176,11 @@
return 1;
if (test__powisf2(-INFINITY, -4, 0))
return 1;
- if (test__powisf2(-INFINITY, 0x80000002, 0))
+ if (test__powisf2(-INFINITY, INT_MIN + 2, 0))
return 1;
- if (test__powisf2(-INFINITY, 0x80000001, -0.))
+ if (test__powisf2(-INFINITY, INT_MIN + 1, -0.))
return 1;
- if (test__powisf2(-INFINITY, 0x80000000, 0))
+ if (test__powisf2(-INFINITY, INT_MIN, 0))
return 1;
if (test__powisf2(2, 10, 1024.))
diff --git a/compiler-rt/test/builtins/Unit/powitf2_test.c b/compiler-rt/test/builtins/Unit/powitf2_test.c
index be16c5f..8133109 100644
--- a/compiler-rt/test/builtins/Unit/powitf2_test.c
+++ b/compiler-rt/test/builtins/Unit/powitf2_test.c
@@ -10,9 +10,9 @@
// Returns: a ^ b
-COMPILER_RT_ABI long double __powitf2(long double a, si_int b);
+COMPILER_RT_ABI long double __powitf2(long double a, int b);
-int test__powitf2(long double a, si_int b, long double expected)
+int test__powitf2(long double a, int b, long double expected)
{
long double x = __powitf2(a, b);
int correct = (x == expected) && (signbit(x) == signbit(expected));
@@ -57,9 +57,9 @@
return 1;
if (test__powitf2(0, 4, 0))
return 1;
- if (test__powitf2(0, 0x7FFFFFFE, 0))
+ if (test__powitf2(0, INT_MAX - 1, 0))
return 1;
- if (test__powitf2(0, 0x7FFFFFFF, 0))
+ if (test__powitf2(0, INT_MAX, 0))
return 1;
if (test__powitf2(-0., 1, -0.))
@@ -70,9 +70,9 @@
return 1;
if (test__powitf2(-0., 4, 0))
return 1;
- if (test__powitf2(-0., 0x7FFFFFFE, 0))
+ if (test__powitf2(-0., INT_MAX - 1, 0))
return 1;
- if (test__powitf2(-0., 0x7FFFFFFF, -0.))
+ if (test__powitf2(-0., INT_MAX, -0.))
return 1;
if (test__powitf2(1, 1, 1))
@@ -83,9 +83,9 @@
return 1;
if (test__powitf2(1, 4, 1))
return 1;
- if (test__powitf2(1, 0x7FFFFFFE, 1))
+ if (test__powitf2(1, INT_MAX - 1, 1))
return 1;
- if (test__powitf2(1, 0x7FFFFFFF, 1))
+ if (test__powitf2(1, INT_MAX, 1))
return 1;
if (test__powitf2(INFINITY, 1, INFINITY))
@@ -96,9 +96,9 @@
return 1;
if (test__powitf2(INFINITY, 4, INFINITY))
return 1;
- if (test__powitf2(INFINITY, 0x7FFFFFFE, INFINITY))
+ if (test__powitf2(INFINITY, INT_MAX - 1, INFINITY))
return 1;
- if (test__powitf2(INFINITY, 0x7FFFFFFF, INFINITY))
+ if (test__powitf2(INFINITY, INT_MAX, INFINITY))
return 1;
if (test__powitf2(-INFINITY, 1, -INFINITY))
@@ -109,9 +109,9 @@
return 1;
if (test__powitf2(-INFINITY, 4, INFINITY))
return 1;
- if (test__powitf2(-INFINITY, 0x7FFFFFFE, INFINITY))
+ if (test__powitf2(-INFINITY, INT_MAX - 1, INFINITY))
return 1;
- if (test__powitf2(-INFINITY, 0x7FFFFFFF, -INFINITY))
+ if (test__powitf2(-INFINITY, INT_MAX, -INFINITY))
return 1;
if (test__powitf2(0, -1, INFINITY))
@@ -122,11 +122,11 @@
return 1;
if (test__powitf2(0, -4, INFINITY))
return 1;
- if (test__powitf2(0, 0x80000002, INFINITY))
+ if (test__powitf2(0, INT_MIN + 2, INFINITY))
return 1;
- if (test__powitf2(0, 0x80000001, INFINITY))
+ if (test__powitf2(0, INT_MIN + 1, INFINITY))
return 1;
- if (test__powitf2(0, 0x80000000, INFINITY))
+ if (test__powitf2(0, INT_MIN, INFINITY))
return 1;
if (test__powitf2(-0., -1, -INFINITY))
@@ -137,11 +137,11 @@
return 1;
if (test__powitf2(-0., -4, INFINITY))
return 1;
- if (test__powitf2(-0., 0x80000002, INFINITY))
+ if (test__powitf2(-0., INT_MIN + 2, INFINITY))
return 1;
- if (test__powitf2(-0., 0x80000001, -INFINITY))
+ if (test__powitf2(-0., INT_MIN + 1, -INFINITY))
return 1;
- if (test__powitf2(-0., 0x80000000, INFINITY))
+ if (test__powitf2(-0., INT_MIN, INFINITY))
return 1;
if (test__powitf2(1, -1, 1))
@@ -152,11 +152,11 @@
return 1;
if (test__powitf2(1, -4, 1))
return 1;
- if (test__powitf2(1, 0x80000002, 1))
+ if (test__powitf2(1, INT_MIN + 2, 1))
return 1;
- if (test__powitf2(1, 0x80000001, 1))
+ if (test__powitf2(1, INT_MIN + 1, 1))
return 1;
- if (test__powitf2(1, 0x80000000, 1))
+ if (test__powitf2(1, INT_MIN, 1))
return 1;
if (test__powitf2(INFINITY, -1, 0))
@@ -167,11 +167,11 @@
return 1;
if (test__powitf2(INFINITY, -4, 0))
return 1;
- if (test__powitf2(INFINITY, 0x80000002, 0))
+ if (test__powitf2(INFINITY, INT_MIN + 2, 0))
return 1;
- if (test__powitf2(INFINITY, 0x80000001, 0))
+ if (test__powitf2(INFINITY, INT_MIN + 1, 0))
return 1;
- if (test__powitf2(INFINITY, 0x80000000, 0))
+ if (test__powitf2(INFINITY, INT_MIN, 0))
return 1;
if (test__powitf2(-INFINITY, -1, -0.))
@@ -182,11 +182,11 @@
return 1;
if (test__powitf2(-INFINITY, -4, 0))
return 1;
- if (test__powitf2(-INFINITY, 0x80000002, 0))
+ if (test__powitf2(-INFINITY, INT_MIN + 2, 0))
return 1;
- if (test__powitf2(-INFINITY, 0x80000001, -0.))
+ if (test__powitf2(-INFINITY, INT_MIN + 1, -0.))
return 1;
- if (test__powitf2(-INFINITY, 0x80000000, 0))
+ if (test__powitf2(-INFINITY, INT_MIN, 0))
return 1;
if (test__powitf2(2, 10, 1024.))
diff --git a/compiler-rt/test/builtins/Unit/powixf2_test.c b/compiler-rt/test/builtins/Unit/powixf2_test.c
index 5ce3e52..856012a 100644
--- a/compiler-rt/test/builtins/Unit/powixf2_test.c
+++ b/compiler-rt/test/builtins/Unit/powixf2_test.c
@@ -11,9 +11,9 @@
// Returns: a ^ b
-COMPILER_RT_ABI long double __powixf2(long double a, si_int b);
+COMPILER_RT_ABI long double __powixf2(long double a, int b);
-int test__powixf2(long double a, si_int b, long double expected)
+int test__powixf2(long double a, int b, long double expected)
{
long double x = __powixf2(a, b);
int correct = (x == expected) && (signbit(x) == signbit(expected));
@@ -58,9 +58,9 @@
return 1;
if (test__powixf2(0, 4, 0))
return 1;
- if (test__powixf2(0, 0x7FFFFFFE, 0))
+ if (test__powixf2(0, INT_MAX - 1, 0))
return 1;
- if (test__powixf2(0, 0x7FFFFFFF, 0))
+ if (test__powixf2(0, INT_MAX, 0))
return 1;
if (test__powixf2(-0., 1, -0.))
@@ -71,9 +71,9 @@
return 1;
if (test__powixf2(-0., 4, 0))
return 1;
- if (test__powixf2(-0., 0x7FFFFFFE, 0))
+ if (test__powixf2(-0., INT_MAX - 1, 0))
return 1;
- if (test__powixf2(-0., 0x7FFFFFFF, -0.))
+ if (test__powixf2(-0., INT_MAX, -0.))
return 1;
if (test__powixf2(1, 1, 1))
@@ -84,9 +84,9 @@
return 1;
if (test__powixf2(1, 4, 1))
return 1;
- if (test__powixf2(1, 0x7FFFFFFE, 1))
+ if (test__powixf2(1, INT_MAX - 1, 1))
return 1;
- if (test__powixf2(1, 0x7FFFFFFF, 1))
+ if (test__powixf2(1, INT_MAX, 1))
return 1;
if (test__powixf2(INFINITY, 1, INFINITY))
@@ -97,9 +97,9 @@
return 1;
if (test__powixf2(INFINITY, 4, INFINITY))
return 1;
- if (test__powixf2(INFINITY, 0x7FFFFFFE, INFINITY))
+ if (test__powixf2(INFINITY, INT_MAX - 1, INFINITY))
return 1;
- if (test__powixf2(INFINITY, 0x7FFFFFFF, INFINITY))
+ if (test__powixf2(INFINITY, INT_MAX, INFINITY))
return 1;
if (test__powixf2(-INFINITY, 1, -INFINITY))
@@ -110,9 +110,9 @@
return 1;
if (test__powixf2(-INFINITY, 4, INFINITY))
return 1;
- if (test__powixf2(-INFINITY, 0x7FFFFFFE, INFINITY))
+ if (test__powixf2(-INFINITY, INT_MAX - 1, INFINITY))
return 1;
- if (test__powixf2(-INFINITY, 0x7FFFFFFF, -INFINITY))
+ if (test__powixf2(-INFINITY, INT_MAX, -INFINITY))
return 1;
if (test__powixf2(0, -1, INFINITY))
@@ -123,11 +123,11 @@
return 1;
if (test__powixf2(0, -4, INFINITY))
return 1;
- if (test__powixf2(0, 0x80000002, INFINITY))
+ if (test__powixf2(0, INT_MIN + 2, INFINITY))
return 1;
- if (test__powixf2(0, 0x80000001, INFINITY))
+ if (test__powixf2(0, INT_MIN + 1, INFINITY))
return 1;
- if (test__powixf2(0, 0x80000000, INFINITY))
+ if (test__powixf2(0, INT_MIN, INFINITY))
return 1;
if (test__powixf2(-0., -1, -INFINITY))
@@ -138,11 +138,11 @@
return 1;
if (test__powixf2(-0., -4, INFINITY))
return 1;
- if (test__powixf2(-0., 0x80000002, INFINITY))
+ if (test__powixf2(-0., INT_MIN + 2, INFINITY))
return 1;
- if (test__powixf2(-0., 0x80000001, -INFINITY))
+ if (test__powixf2(-0., INT_MIN + 1, -INFINITY))
return 1;
- if (test__powixf2(-0., 0x80000000, INFINITY))
+ if (test__powixf2(-0., INT_MIN, INFINITY))
return 1;
if (test__powixf2(1, -1, 1))
@@ -153,11 +153,11 @@
return 1;
if (test__powixf2(1, -4, 1))
return 1;
- if (test__powixf2(1, 0x80000002, 1))
+ if (test__powixf2(1, INT_MIN + 2, 1))
return 1;
- if (test__powixf2(1, 0x80000001, 1))
+ if (test__powixf2(1, INT_MIN + 1, 1))
return 1;
- if (test__powixf2(1, 0x80000000, 1))
+ if (test__powixf2(1, INT_MIN, 1))
return 1;
if (test__powixf2(INFINITY, -1, 0))
@@ -168,11 +168,11 @@
return 1;
if (test__powixf2(INFINITY, -4, 0))
return 1;
- if (test__powixf2(INFINITY, 0x80000002, 0))
+ if (test__powixf2(INFINITY, INT_MIN + 2, 0))
return 1;
- if (test__powixf2(INFINITY, 0x80000001, 0))
+ if (test__powixf2(INFINITY, INT_MIN + 1, 0))
return 1;
- if (test__powixf2(INFINITY, 0x80000000, 0))
+ if (test__powixf2(INFINITY, INT_MIN, 0))
return 1;
if (test__powixf2(-INFINITY, -1, -0.))
@@ -183,11 +183,11 @@
return 1;
if (test__powixf2(-INFINITY, -4, 0))
return 1;
- if (test__powixf2(-INFINITY, 0x80000002, 0))
+ if (test__powixf2(-INFINITY, INT_MIN + 2, 0))
return 1;
- if (test__powixf2(-INFINITY, 0x80000001, -0.))
+ if (test__powixf2(-INFINITY, INT_MIN + 1, -0.))
return 1;
- if (test__powixf2(-INFINITY, 0x80000000, 0))
+ if (test__powixf2(-INFINITY, INT_MIN, 0))
return 1;
if (test__powixf2(2, 10, 1024.))