[compiler-rt] r292257 - [test] [builtins] Remove obsolete/UB tests in __fixuns?fdi based

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 15 11:18:48 PST 2017


Merged to 4.0 in r295217.

On Tue, Jan 17, 2017 at 1:08 PM, Michal Gorny via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: mgorny
> Date: Tue Jan 17 15:08:25 2017
> New Revision: 292257
>
> URL: http://llvm.org/viewvc/llvm-project?rev=292257&view=rev
> Log:
> [test] [builtins] Remove obsolete/UB tests in __fixuns?fdi based
>
> Remove the failing tests for __fixunssfdi() and __fixunsdfdi() that
> relied on undefined (and most likely obsolete in terms of compiler-rt
> implementation behavior).
>
> Both tests presumed that 0x1.p+64 would be converted to
> 0xFFFFFFFFFFFFFFFFLL, that is the largest value in uint64 range.
> However, the C/C++ standards do not specify the behavior for converting
> a floating-point value to an integer of smaller range, and in this case
> both libgcc and compiler-rt implementations return 0 instead.
>
> Since the current behavior is correct with regards to standards
> and there is no good way of expressing 0xFFFFFFFFFFFFFFFFLL in single-
> or double-precision float, I've removed the failing test altogether.
>
> Differential Revision: https://reviews.llvm.org/D28146
>
> Modified:
>     compiler-rt/trunk/test/builtins/Unit/fixunsdfdi_test.c
>     compiler-rt/trunk/test/builtins/Unit/fixunssfdi_test.c
>
> Modified: compiler-rt/trunk/test/builtins/Unit/fixunsdfdi_test.c
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/builtins/Unit/fixunsdfdi_test.c?rev=292257&r1=292256&r2=292257&view=diff
> ==============================================================================
> --- compiler-rt/trunk/test/builtins/Unit/fixunsdfdi_test.c (original)
> +++ compiler-rt/trunk/test/builtins/Unit/fixunsdfdi_test.c Tue Jan 17 15:08:25 2017
> @@ -95,9 +95,6 @@ int main()
>      if (test__fixunsdfdi(0x1.FFFFFFFFFFFFEp+62, 0x7FFFFFFFFFFFF800LL))
>          return 1;
>
> -    if (test__fixunsdfdi(0x1.p+64, 0xFFFFFFFFFFFFFFFFLL))
> -        return 1;
> -
>  #if !TARGET_LIBGCC
>      if (test__fixunsdfdi(-0x1.FFFFFFFFFFFFFp+62, 0))
>          return 1;
>
> Modified: compiler-rt/trunk/test/builtins/Unit/fixunssfdi_test.c
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/builtins/Unit/fixunssfdi_test.c?rev=292257&r1=292256&r2=292257&view=diff
> ==============================================================================
> --- compiler-rt/trunk/test/builtins/Unit/fixunssfdi_test.c (original)
> +++ compiler-rt/trunk/test/builtins/Unit/fixunssfdi_test.c Tue Jan 17 15:08:25 2017
> @@ -79,8 +79,6 @@ int main()
>          return 1;
>      if (test__fixunssfdi(0x1.000000p+63F, 0x8000000000000000LL))
>          return 1;
> -    if (test__fixunssfdi(0x1.000000p+64F, 0xFFFFFFFFFFFFFFFFLL))
> -        return 1;
>      if (test__fixunssfdi(0x1.FFFFFEp+62F, 0x7FFFFF8000000000LL))
>          return 1;
>      if (test__fixunssfdi(0x1.FFFFFCp+62F, 0x7FFFFF0000000000LL))
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list