[compiler-rt] Fix extendhfxf2 test (PR #117665)

B I Mohammed Abbas via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 25 20:46:35 PST 2024


https://github.com/biabbas updated https://github.com/llvm/llvm-project/pull/117665

>From fdad6bc8330ecf3d2661cb96fca504c8a6c0796e Mon Sep 17 00:00:00 2001
From: B I Mohammed Abbas <bimohammadabbas at gmail.com>
Date: Tue, 26 Nov 2024 10:05:18 +0530
Subject: [PATCH] Fix extendhfxf2 test

---
 .../test/builtins/Unit/extendhfxf2_test.c        | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/compiler-rt/test/builtins/Unit/extendhfxf2_test.c b/compiler-rt/test/builtins/Unit/extendhfxf2_test.c
index 80e6f78cdd9c4f..bbcfb520d3bf18 100644
--- a/compiler-rt/test/builtins/Unit/extendhfxf2_test.c
+++ b/compiler-rt/test/builtins/Unit/extendhfxf2_test.c
@@ -5,15 +5,15 @@
 #include <math.h> // for isnan, isinf
 #include <stdio.h>
 
-#include "int_lib.h"
+#include "fp_test.h"
 
 #if HAS_80_BIT_LONG_DOUBLE && defined(COMPILER_RT_HAS_FLOAT16)
 
-long double __extendhfxf2(_Float16 f);
+long double __extendhfxf2(TYPE_FP16 f);
 
-int test_extendhfxf2(_Float16 a, long double expected) {
+int test_extendhfxf2(TYPE_FP16 a, long double expected) {
   long double x = __extendhfxf2(a);
-  __uint16_t *b = (void *)&a;
+  unsigned short *b = (void *)&a;
   int ret = !((isnan(x) && isnan(expected)) || x == expected);
   if (ret) {
     printf("error in test__extendhfxf2(%#.4x) = %.20Lf, "
@@ -23,8 +23,6 @@ int test_extendhfxf2(_Float16 a, long double expected) {
   return ret;
 }
 
-char assumption_1[sizeof(_Float16) * CHAR_BIT == 16] = {0};
-
 int main() {
   // Small positive value
   if (test_extendhfxf2(0.09997558593750000000f, 0.09997558593750000000L))
@@ -46,6 +44,7 @@ int main() {
   if (test_extendhfxf2(-0x1p-16f, -0x1p-16L))
     return 1;
 
+#  ifdef __builtin_huge_valf64x
   // Positive infinity
   if (test_extendhfxf2(__builtin_huge_valf16(), __builtin_huge_valf64x()))
     return 1;
@@ -55,11 +54,16 @@ int main() {
                        (long double)-__builtin_huge_valf64x()))
     return 1;
 
+#  endif
+
+#  ifdef __builtin_nanf64x
   // NaN
   if (test_extendhfxf2(__builtin_nanf16(""),
                        (long double)__builtin_nanf64x("")))
     return 1;
 
+#  endif
+
   return 0;
 }
 



More information about the llvm-commits mailing list