[roll] Roll fuchsia [roll] Roll llvm-project/libc [libc][math] Implement an integer-only version of double precision sin and cos with 1 ULP errors. (#184752)
Size of `sin` for armv8m:
Before the patch:
```
$ ls -l libc/src/math/generic/CMakeFiles/libc.src.math.generic.sin.dir/
total 16
-rw-r----- 1 lntue primarygroup 13408 Mar 5 07:38 sin.cpp.obj
$ llvm-nm-19 --radix=d --print-size --size-sort --reverse-sort libc/src/math/generic/CMakeFiles/libc.src.math.generic.sin.dir/sin.cpp.obj
00000000 00002048 V _ZN22__llvm_libc_23_0_0_git4math31range_reduction_double_internal24ONE_TWENTY_EIGHT_OVER_PIE
00000000 00001632 W _ZN22__llvm_libc_23_0_0_git4math31range_reduction_double_internal19LargeRangeReduction4fastEdRNS_10NumberPairIdEE
00000000 00001412 W _ZN22__llvm_libc_23_0_0_git4math3sinEd
00000000 00001048 W _ZN22__llvm_libc_23_0_0_git4math20sincos_eval_internal11sincos_evalERKNS_10NumberPairIdEERS3_S6_
00000000 00001040 V _ZN22__llvm_libc_23_0_0_git4math31range_reduction_double_internal17SIN_K_PI_OVER_128E
00000000 00000528 W _ZN22__llvm_libc_23_0_0_git4math31range_reduction_double_internal21range_reduction_smallEdRNS_10NumberPairIdEE
00000000 00000004 T sin
00000000 00000004 V _ZZN22__llvm_libc_23_0_0_git6fputil7generic15quick_get_roundEvE1x
00000000 00000004 T _ZN22__llvm_libc_23_0_0_git3sinEd
U __aeabi_memclr8
U __aeabi_dsub
U __aeabi_dmul
U __aeabi_dcmplt
U __aeabi_dcmpgt
U __aeabi_dcmpeq
U __aeabi_dadd
U __aeabi_d2lz
```
After the patch:
```
$ ls -l libc/src/math/generic/CMakeFiles/libc.src.math.generic.sin.dir/
total 8
-rw-r----- 1 lntue primarygroup 5424 Mar 5 07:35 sin.cpp.obj
$ llvm-nm-19 --radix=d --print-size --size-sort --reverse-sort libc/src/math/generic/CMa
keFiles/libc.src.math.generic.sin.dir/sin.cpp.obj
00000000 00002408 W _ZN22__llvm_libc_23_0_0_git4math12integer_only3sinEd
00000000 00000332 W _ZNK22__llvm_libc_23_0_0_git4math12integer_only7Frac128mlERKS2_
00000000 00000167 r .L__const._ZN22__llvm_libc_23_0_0_git4math12integer_only3sinEd.TWO_OVER_PI
00000000 00000096 r .L__const._ZN22__llvm_libc_23_0_0_git4math12integer_only3sinEd.SIN_COEFF
00000000 00000096 r .L__const._ZN22__llvm_libc_23_0_0_git4math12integer_only3sinEd.COS_COEFF
00000000 00000004 T sin
00000000 00000004 T _ZN22__llvm_libc_23_0_0_git3sinEd
```
GitOrigin-RevId: 05d96d53559e0b2876dd6608152805f07ebcc195
Original-Revision: d67be5e0c9a29369e5358352e2eb2abbb668e148
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1534596
Original-Revision: cfbe21422441d8313a3372a8702ae13222ad852a
GitOrigin-RevId: b5f921e7b478d4d4a2d86fc7ae48871907adf065
Change-Id: I257ed59a6afe27ed49e1cc3c5ad9495ce34379d7
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.