aboutsummaryrefslogtreecommitdiff
path: root/test/builtins/Unit/fixunstfdi_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/builtins/Unit/fixunstfdi_test.c')
-rw-r--r--test/builtins/Unit/fixunstfdi_test.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/test/builtins/Unit/fixunstfdi_test.c b/test/builtins/Unit/fixunstfdi_test.c
index 60ea503d2778..817c59b2d5d4 100644
--- a/test/builtins/Unit/fixunstfdi_test.c
+++ b/test/builtins/Unit/fixunstfdi_test.c
@@ -13,14 +13,14 @@
#include <stdio.h>
-#if _ARCH_PPC
+#if _ARCH_PPC || __aarch64__
#include "int_lib.h"
// Returns: convert a to a unsigned long long, rounding toward zero.
// Negative values all become zero.
-// Assumption: long double is a ppc 128 bit floating point type
+// Assumption: long double is a 128 bit floating point type
// du_int is a 64 bit integral type
// value in long double is representable in du_int or is negative
// (no range checking performed)
@@ -44,7 +44,7 @@ char assumption_3[sizeof(long double)*CHAR_BIT == 128] = {0};
int main()
{
-#if _ARCH_PPC
+#if _ARCH_PPC || __aarch64__
if (test__fixunstfdi(0.0, 0))
return 1;
@@ -107,6 +107,8 @@ int main()
return 1;
if (test__fixunstfdi(0x1.FFFFFFFFFFFFFFF8p+62L, 0x7FFFFFFFFFFFFFFELL))
return 1;
+ if (test__fixunstfdi(0x1.p+64L, 0xFFFFFFFFFFFFFFFFLL))
+ return 1;
if (test__fixunstfdi(-0x1.0000000000000000p+63L, 0))
return 1;