| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Reapply "compiler-rt: Introduce runtime functions for emulated PAC." This reverts commit 0c0aa56cdcf1fe3970a5f3875db412530512fc07. This time with the following fixes for buildbot failures: - Add underscore prefixes to symbol names on Apple platforms. - Modify the test so that it skips the crash tests on platforms where they are not expected to pass: - Platforms that implement FEAT_PAuth but not FEAT_FPAC (e.g. Apple M1, Cortex-A78C) - Platforms where DA key is disabled (e.g. older Linux kernels, Linux kernels with PAC disabled, likely Windows) Original commit message follows: The emulated PAC runtime functions emulate the ARMv8.3a pointer authentication instructions and are intended for use in heterogeneous testing environments. For more information, see the associated RFC: https://discourse.llvm.org/t/rfc-emulated-pac/85557 Reviewers: mstorsjo, pawosm-arm, atrosinenko Reviewed By: atrosinenko Pull Request: https://github.com/llvm/llvm-project/pull/148094 | 1 年前 | |
[compiler-rt] Fix tests of __aeabi_(idivmod|uidivmod|uldivmod) to support big endian (#126277) This patch makes these functions' tests work in big endian mode: - __aeabi_idivmod. - __aeabi_uidivmod. - __aeabi_uldivmod. The three functions return a struct containing two fields, quotient and remainder, via *value in regs* calling convention. They differ in the integer type of each field. In the tests of the first two, a 64-bit integer is used as the return type of the call. And as consequence of the ABI rules for structs (Composite Types), the quotient resides in r0 and the remainder in r1 regardless of endianness. So, in order to access each component from the 64-bit integer in the caller code, care must be taken to access the correct bits as they do depend on endianness in this case. In the test of the third one, the caller code has inline assembly to access the components. This assembly code assumed little endian, so it had to be made flexible for big endian as well. _YUGA_BIG_ENDIAN is defined in int_endianness.h. It's a macro internal to compiler-rt that's in theory compatible with more toolchains than gcc and clang. | 1 年前 | |
[compiler-rt] Delete unused test shell scripts (#100889) This patch deletes two shell scripts in compiler-rt/builtiins/Unit that seemed to have been used to run the tests at some point, but not anymore. They were originally copied over in 8c1441f86037d62f8e164cc458dff8b91d015998, but have only been updated once since in what seemed like a simple grep. These files also got lit testing support about seven years ago in 9b7bbeca48b10a0eb81708650777703ce41e67d7 that I believe makes these scripts completely redundant. | 2 年前 | |
[AArch64] Implement __builtin_cpu_supports, compiler-rt tests. (#82378) The patch complements https://github.com/llvm/llvm-project/pull/68919 and adds AArch64 support for builtin __builtin_cpu_supports("feature1+...+featureN") which return true if all specified CPU features in argument are detected. Also compiler-rt aarch64 native run tests for features detection mechanism were added and 'cpu_model' check was fixed after its refactor merged https://github.com/llvm/llvm-project/pull/75635 Original RFC was https://reviews.llvm.org/D153153 | 2 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[compiler-rt] Fix addtf3_test.c being skipped due to misplaced include (#134106) [compiler-rt] The test addtf3_test.c is currently guarded by #if defined(CRT_HAS_IEEE_TF), a macro that is declared in int_lib.h. However, int_lib.h is included *after* the preprocessor check, which results in the macro not being defined in time and causes the test to always be skipped. This patch moves the includes of fp_test.h and int_lib.h to the top of the file so that CRT_HAS_IEEE_TF is defined before it is checked. Co-authored-by: Kostiantyn Lazukin <koslaz01@ip-10-252-21-142.eu-west-1.compute.internal> | 1 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins] Support architectures with 16-bit int in __ashlti3, __ashrti3 and __lshrti3 The amount to shift should be specified by the int type not a 32-bit integer type. This patch change the functions for 128-bit shifts in compiler-rt the same way as was done for 64-bit shifts in D78662. The README.txt is updated with the shift builtins signatures from this patch and D78662. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D146960 | 3 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins] Support architectures with 16-bit int in __ashlti3, __ashrti3 and __lshrti3 The amount to shift should be specified by the int type not a 32-bit integer type. This patch change the functions for 128-bit shifts in compiler-rt the same way as was done for 64-bit shifts in D78662. The README.txt is updated with the shift builtins signatures from this patch and D78662. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D146960 | 3 年前 | |
[compiler-rt][tests] Make this test case pass on AArch64 (#117628) See also D92832 and GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80878 | 1 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[compiler-rt/builtins] Convert tests to check 'target=...' Part of the project to eliminate special handling for triples in lit expressions. | 3 年前 | |
[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 | 6 年前 | |
[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 | 6 年前 | |
[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 | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
Reland "[builtins] Define fmax and scalbn inline" This reverts commit 680f836c2fa72166badd594a52b3f41b2ad074d2. Disable the non-default-rounding-mode scalbn[f] tests when we're using the MSVC libraries. Differential Revision: https://reviews.llvm.org/D91841 | 5 年前 | |
[builtins] Support building the 128-bit float functions on ld80 platforms (#68132) GCC provides these functions (e.g. __addtf3, etc.) in libgcc on x86_64. Since Clang supports float128, we can also enable the existing code by using float128 for fp_t if either __FLOAT128__ or __SIZEOF_FLOAT128__ is defined instead of only supporting these builtins for platforms with 128-bit IEEE long doubles. This commit defines a new tf_float typedef that matches a float with attribute((mode(TF)) on each given architecture. There are more tests that could be enabled for x86, but to keep the diff smaller, I restricted test changes to ones that started failing as part of this refactoring. This change has been tested on x86 (natively) and aarch64,powerpc64,riscv64 and sparc64 via qemu-user. This supersedes https://reviews.llvm.org/D98261 and should also cover the changes from https://github.com/llvm/llvm-project/pull/68041. | 2 年前 | |
[VE] Disable incompatible compiler-rt tests Some compiler-rt tests are inherently incompatible with VE because.. * No consistent denormal support on VE. We skip denormal fp inputs in builtin tests. * madvise unsupported on VE. * Instruction alignment requirements. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D113093 | 4 年前 | |
[VE] Disable incompatible compiler-rt tests Some compiler-rt tests are inherently incompatible with VE because.. * No consistent denormal support on VE. We skip denormal fp inputs in builtin tests. * madvise unsupported on VE. * Instruction alignment requirements. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D113093 | 4 年前 | |
[builtins] Support building the 128-bit float functions on ld80 platforms (#68132) GCC provides these functions (e.g. __addtf3, etc.) in libgcc on x86_64. Since Clang supports float128, we can also enable the existing code by using float128 for fp_t if either __FLOAT128__ or __SIZEOF_FLOAT128__ is defined instead of only supporting these builtins for platforms with 128-bit IEEE long doubles. This commit defines a new tf_float typedef that matches a float with attribute((mode(TF)) on each given architecture. There are more tests that could be enabled for x86, but to keep the diff smaller, I restricted test changes to ones that started failing as part of this refactoring. This change has been tested on x86 (natively) and aarch64,powerpc64,riscv64 and sparc64 via qemu-user. This supersedes https://reviews.llvm.org/D98261 and should also cover the changes from https://github.com/llvm/llvm-project/pull/68041. | 2 年前 | |
[compiler-rt] [test] Apply the MSVC scalbn test exceptions to MinGW too (#70776) MinGW mode can also use the MSVC/UCRT math functions. On ARM/ARM64, mingw-w64 has always used the UCRT scalbn function. On x86, mingw-w64 recently changed to prefer the UCRT version for a large number of math functions. | 2 年前 | |
[compiler-rt] [test] Apply the MSVC scalbn test exceptions to MinGW too (#70776) MinGW mode can also use the MSVC/UCRT math functions. On ARM/ARM64, mingw-w64 has always used the UCRT scalbn function. On x86, mingw-w64 recently changed to prefer the UCRT version for a large number of math functions. | 2 年前 | |
[builtins] Support building the 128-bit float functions on ld80 platforms (#68132) GCC provides these functions (e.g. __addtf3, etc.) in libgcc on x86_64. Since Clang supports float128, we can also enable the existing code by using float128 for fp_t if either __FLOAT128__ or __SIZEOF_FLOAT128__ is defined instead of only supporting these builtins for platforms with 128-bit IEEE long doubles. This commit defines a new tf_float typedef that matches a float with attribute((mode(TF)) on each given architecture. There are more tests that could be enabled for x86, but to keep the diff smaller, I restricted test changes to ones that started failing as part of this refactoring. This change has been tested on x86 (natively) and aarch64,powerpc64,riscv64 and sparc64 via qemu-user. This supersedes https://reviews.llvm.org/D98261 and should also cover the changes from https://github.com/llvm/llvm-project/pull/68041. | 2 年前 | |
[AArch64] Implement __builtin_cpu_supports, compiler-rt tests. (#82378) The patch complements https://github.com/llvm/llvm-project/pull/68919 and adds AArch64 support for builtin __builtin_cpu_supports("feature1+...+featureN") which return true if all specified CPU features in argument are detected. Also compiler-rt aarch64 native run tests for features detection mechanism were added and 'cpu_model' check was fixed after its refactor merged https://github.com/llvm/llvm-project/pull/75635 Original RFC was https://reviews.llvm.org/D153153 | 2 年前 | |
[compiler-rt][profile] Add support for LLVM profile for Haiku (#107575) Haiku uses typical UNIX interfaces. All tests pass except instrprof-error.c Posix/gcov-dlopen.c Posix/gcov-destructor.c Posix/instrprof-dlopen-norpath.test --------- Co-authored-by: Petr Hosek <phosek@google.com> | 1 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[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 | 6 年前 | |
[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 | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[compiler-rt] Fix a bug in fp_div_impl when an intermediate result is out of expected range. (#119449) Before this fix, 1.0L / (1.0L - 0x1.0p-113L) will return 2 * (1 + eps(1)). | 1 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[compiler-rt] [test] Remove a leftover XFAIL This test succeeds on aarch64 windows now (tested both in mingw mode and with clang-cl), most probably since commit ccd96b3e03e18653e909852bfef105fc10782acb / D146667 ([builtins][test] Fix divmodti4_test.c on Windows). Differential Revision: https://reviews.llvm.org/D148000 | 3 年前 | |
[compiler-rt][builtins]Adjust complex division for aarch64 (#106664) Adjust __divsc3 to ensure consistent behavior across x86_64 and AArch64 when the divisor should be treated as infinity if one of its components is a NaN (including signaling NaNs). Test plan: ninja check-all | 1 年前 | |
[compiler-rt][ARM] Optimized mulsf3 and divsf3 (#168394) (Reland of #161546, fixing three build and test issues) This commit adds optimized assembly versions of single-precision float multiplication and division. Both functions are implemented in a style that can be assembled as either of Arm and Thumb2; for multiplication, a separate implementation is provided for Thumb1. Also, extensive new tests are added for multiplication and division. These implementations can be removed from the build by defining the cmake variable COMPILER_RT_ARM_OPTIMIZED_FP=OFF. Outlying parts of the functionality which are not on the fast path, such as NaN handling and underflow, are handled in helper functions written in C. These can be shared between the Arm/Thumb2 and Thumb1 implementations, and also reused by other optimized assembly functions we hope to add in future. | 8 个月前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Don't XFAIL divtc3_test.c on 32-bit Solaris/sparc fo… (#72403) As detailed in Issue #72398, the recent builtins rework and 77d75dc9be5c4bb1d9986a475e1c661718067c6a caused Builtins-sparc-sunos:: divtc3_test.c to XPASS on 32-bit Solaris/SPARC. Since there are several underlying issues, un-XFAIL the test for now until those are resolved, to turn the Solaris/sparcv9 buildbot green again after 5 days. Tested on sparcv9-sun-solaris2.11 and x86_64-pc-linux-gnu. | 2 年前 | |
[compiler-rt] Fix a bug in fp_div_impl when an intermediate result is out of expected range. (#119449) Before this fix, 1.0L / (1.0L - 0x1.0p-113L) will return 2 * (1 + eps(1)). | 1 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[compiler-rt/builtins] Convert tests to check 'target=...' Part of the project to eliminate special handling for triples in lit expressions. | 3 年前 | |
[compiler-rt][profile] Add support for LLVM profile for Haiku (#107575) Haiku uses typical UNIX interfaces. All tests pass except instrprof-error.c Posix/gcov-dlopen.c Posix/gcov-destructor.c Posix/instrprof-dlopen-norpath.test --------- Co-authored-by: Petr Hosek <phosek@google.com> | 1 年前 | |
[compiler-rt] Add initial ARM64EC builtins support (#139279) Use the aarch64 variants of assembly functions. Co-authored-by: Billy Laws <blaws05@gmail.com> | 1 年前 | |
[compiler-rt] Remove mentions of AuroraUX in code comments and docs. AuroraUX was an operating system project based on an OpenSolaris kernel and an Ada userland. There appear to be no public code or release available online anymore. The project page on Wikipedia [1] was deleted in January 2012, and a news item [2] from November 2012 has more details. [1] https://en.wikipedia.org/w/index.php?title=Special:Log/delete&page=AuroraUX [2] https://www.phoronix.com/scan.php?page=news_item&px=MTIyMTI | 4 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[compiler-rt] Fix src_rep_t_clz and clz_in_sig_frac This is a follow-up to 910a4bf5b. 1. __builtin_clz takes unsigned int, thus for uint16_t src_rep_t_clz can't use it directly but should subtract 16 (leading 16 bits of the promoted argument are zero). 2. Fix (and simplify) clz_in_sig_frac. Test plan: ninja check-compiler-rt (extendhfsf2_test.c and extenddftf2_test.c) | 2 年前 | |
[SystemZ] Add support for 16-bit floating point. (#109164) - _Float16 is now accepted by Clang. - The half IR type is fully handled by the backend. - These values are passed in FP registers and converted to/from float around each operation. - Compiler-rt conversion functions are now built for s390x including the missing extendhfdf2 which was added. Fixes #50374 | 1 年前 | |
[compiler-rt] [builtins] Use _Float16 on extendhfsf2, truncdfhf2 __truncsfhf2 if available On AArch64 it allows use the native FP16 ABI (although libcalls are not emitted for fptrunc/fpext lowering), while on other architectures the expected current semantic is preserved (arm for instance). For testing the _Float16 usage is enabled by architecture base, currently only for arm, aarch64, and arm64. This re-enabled revert done by https://reviews.llvm.org/rGb534beabeed3ba1777cd0ff9ce552d077e496726 Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D92241 | 5 年前 | |
[compiler-rt] Implement __extendxftf2 and __trunctfxf2 for x86_64 (#66918) This patch implements __extendxftf2 (long double -> f128) and __trunctfxf2 (f128 -> long double) on x86_64. This is a preparation to unblock https://reviews.llvm.org/D53608, We intentionally do not modify compiler-rt/lib/builtins/fp_lib.h in this PR (in particular, to limit the scope and avoid exposing other functions on X86_64 in this PR). Instead, TODOs were added to use fp_lib.h once it is available. Test plan: 1. ninja check-compiler-rt (verified on X86_64 and on Aarch64) In particular, new tests (extendxftf2_test.c and trunctfxf2_test.c) were added. 2. compared the results of conversions with what other compilers (gcc) produce. | 2 年前 | |
[compiler-rt] Allow running extendhfxf2_test without int128 support We don't need 128-bit integers here, instead rewrite the fp_test.h helpers to avoid the need for __int128. Also change the high argument for compareResultF80() and F80FromRep80() to be uint16_t since values greater than this do not make any sense. This should allow the compiler to detect accidentally swapping the arguments. Reviewed By: biabbas, alexander-shaposhnikov Pull Request: https://github.com/llvm/llvm-project/pull/117818 | 1 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[compiler-rt] Implement __extendxftf2 and __trunctfxf2 for x86_64 (#66918) This patch implements __extendxftf2 (long double -> f128) and __trunctfxf2 (f128 -> long double) on x86_64. This is a preparation to unblock https://reviews.llvm.org/D53608, We intentionally do not modify compiler-rt/lib/builtins/fp_lib.h in this PR (in particular, to limit the scope and avoid exposing other functions on X86_64 in this PR). Instead, TODOs were added to use fp_lib.h once it is available. Test plan: 1. ninja check-compiler-rt (verified on X86_64 and on Aarch64) In particular, new tests (extendxftf2_test.c and trunctfxf2_test.c) were added. 2. compared the results of conversions with what other compilers (gcc) produce. | 2 年前 | |
[builtins] Support building the 128-bit float functions on ld80 platforms (#68132) GCC provides these functions (e.g. __addtf3, etc.) in libgcc on x86_64. Since Clang supports float128, we can also enable the existing code by using float128 for fp_t if either __FLOAT128__ or __SIZEOF_FLOAT128__ is defined instead of only supporting these builtins for platforms with 128-bit IEEE long doubles. This commit defines a new tf_float typedef that matches a float with attribute((mode(TF)) on each given architecture. There are more tests that could be enabled for x86, but to keep the diff smaller, I restricted test changes to ones that started failing as part of this refactoring. This change has been tested on x86 (natively) and aarch64,powerpc64,riscv64 and sparc64 via qemu-user. This supersedes https://reviews.llvm.org/D98261 and should also cover the changes from https://github.com/llvm/llvm-project/pull/68041. | 2 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[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 | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins] Fix signed integer overflows in fp_fixint_impl.inc When compiling the builtins with the undefined behavior sanitizer and running testcases you end up with the following warning: UBSan: fp_fixint_impl.inc:39:42: left shift of 8388608 by 40 places cannot be represented in type 'fixint_t' (aka 'long long') UBSan: fp_fixint_impl.inc:39:17: signed integer overflow: -1 * -9223372036854775808 cannot be represented in type 'fixint_t' (aka 'long long') This can be avoided by doing the shift and the multiplication in a matching unsigned variant of the type. The added test only trigger the intended signed overflow case when the builtins are built with -D__SOFTFP__. This was found in an out of tree target. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D159069 | 2 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[compiler-rt] Disable tests for unavailable builtins (#161275) The builtins __fixunstfdi and __multc3 may be removed by the preprocessor depending on configuration flags. When this happens, the corresponding tests fail at link time due to missing definitions. Disable these tests when the builtins are not available. Also remove the XFAILs for aarch64 windows. As this test now became a no-op on platforms that lack CRT_HAS_128BIT or CRT_HAS_F128 (aarch64 windows lacks the latter), it no longer fails. This reapplies e9e166e54354330c474457711a8e7a7ca2efd731 and 656707086e5f6fccd2eb57f5aaf987c328c0f4f1 after fixing declarations of the builtins in the tests in b54250940c2cd70f911386b02239b50c165e5354. rdar://159705803 rdar://159705705 --------- Co-authored-by: Martin Storsjö <martin@martin.st> | 10 个月前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[compiler-rt/builtins] Convert tests to check 'target=...' Part of the project to eliminate special handling for triples in lit expressions. | 3 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins] Support building the 128-bit float functions on ld80 platforms (#68132) GCC provides these functions (e.g. __addtf3, etc.) in libgcc on x86_64. Since Clang supports float128, we can also enable the existing code by using float128 for fp_t if either __FLOAT128__ or __SIZEOF_FLOAT128__ is defined instead of only supporting these builtins for platforms with 128-bit IEEE long doubles. This commit defines a new tf_float typedef that matches a float with attribute((mode(TF)) on each given architecture. There are more tests that could be enabled for x86, but to keep the diff smaller, I restricted test changes to ones that started failing as part of this refactoring. This change has been tested on x86 (natively) and aarch64,powerpc64,riscv64 and sparc64 via qemu-user. This supersedes https://reviews.llvm.org/D98261 and should also cover the changes from https://github.com/llvm/llvm-project/pull/68041. | 2 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[compiler-rt] Implement __extendxftf2 and __trunctfxf2 for x86_64 (#66918) This patch implements __extendxftf2 (long double -> f128) and __trunctfxf2 (f128 -> long double) on x86_64. This is a preparation to unblock https://reviews.llvm.org/D53608, We intentionally do not modify compiler-rt/lib/builtins/fp_lib.h in this PR (in particular, to limit the scope and avoid exposing other functions on X86_64 in this PR). Instead, TODOs were added to use fp_lib.h once it is available. Test plan: 1. ninja check-compiler-rt (verified on X86_64 and on Aarch64) In particular, new tests (extendxftf2_test.c and trunctfxf2_test.c) were added. 2. compared the results of conversions with what other compilers (gcc) produce. | 2 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins] Support building the 128-bit float functions on ld80 platforms (#68132) GCC provides these functions (e.g. __addtf3, etc.) in libgcc on x86_64. Since Clang supports float128, we can also enable the existing code by using float128 for fp_t if either __FLOAT128__ or __SIZEOF_FLOAT128__ is defined instead of only supporting these builtins for platforms with 128-bit IEEE long doubles. This commit defines a new tf_float typedef that matches a float with attribute((mode(TF)) on each given architecture. There are more tests that could be enabled for x86, but to keep the diff smaller, I restricted test changes to ones that started failing as part of this refactoring. This change has been tested on x86 (natively) and aarch64,powerpc64,riscv64 and sparc64 via qemu-user. This supersedes https://reviews.llvm.org/D98261 and should also cover the changes from https://github.com/llvm/llvm-project/pull/68041. | 2 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins] Support building the 128-bit float functions on ld80 platforms (#68132) GCC provides these functions (e.g. __addtf3, etc.) in libgcc on x86_64. Since Clang supports float128, we can also enable the existing code by using float128 for fp_t if either __FLOAT128__ or __SIZEOF_FLOAT128__ is defined instead of only supporting these builtins for platforms with 128-bit IEEE long doubles. This commit defines a new tf_float typedef that matches a float with attribute((mode(TF)) on each given architecture. There are more tests that could be enabled for x86, but to keep the diff smaller, I restricted test changes to ones that started failing as part of this refactoring. This change has been tested on x86 (natively) and aarch64,powerpc64,riscv64 and sparc64 via qemu-user. This supersedes https://reviews.llvm.org/D98261 and should also cover the changes from https://github.com/llvm/llvm-project/pull/68041. | 2 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins] Support building the 128-bit float functions on ld80 platforms (#68132) GCC provides these functions (e.g. __addtf3, etc.) in libgcc on x86_64. Since Clang supports float128, we can also enable the existing code by using float128 for fp_t if either __FLOAT128__ or __SIZEOF_FLOAT128__ is defined instead of only supporting these builtins for platforms with 128-bit IEEE long doubles. This commit defines a new tf_float typedef that matches a float with attribute((mode(TF)) on each given architecture. There are more tests that could be enabled for x86, but to keep the diff smaller, I restricted test changes to ones that started failing as part of this refactoring. This change has been tested on x86 (natively) and aarch64,powerpc64,riscv64 and sparc64 via qemu-user. This supersedes https://reviews.llvm.org/D98261 and should also cover the changes from https://github.com/llvm/llvm-project/pull/68041. | 2 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins] Support building the 128-bit float functions on ld80 platforms (#68132) GCC provides these functions (e.g. __addtf3, etc.) in libgcc on x86_64. Since Clang supports float128, we can also enable the existing code by using float128 for fp_t if either __FLOAT128__ or __SIZEOF_FLOAT128__ is defined instead of only supporting these builtins for platforms with 128-bit IEEE long doubles. This commit defines a new tf_float typedef that matches a float with attribute((mode(TF)) on each given architecture. There are more tests that could be enabled for x86, but to keep the diff smaller, I restricted test changes to ones that started failing as part of this refactoring. This change has been tested on x86 (natively) and aarch64,powerpc64,riscv64 and sparc64 via qemu-user. This supersedes https://reviews.llvm.org/D98261 and should also cover the changes from https://github.com/llvm/llvm-project/pull/68041. | 2 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[compiler-rt] Allow running extendhfxf2_test without int128 support We don't need 128-bit integers here, instead rewrite the fp_test.h helpers to avoid the need for __int128. Also change the high argument for compareResultF80() and F80FromRep80() to be uint16_t since values greater than this do not make any sense. This should allow the compiler to detect accidentally swapping the arguments. Reviewed By: biabbas, alexander-shaposhnikov Pull Request: https://github.com/llvm/llvm-project/pull/117818 | 1 年前 | |
These compiler-rt tests should be UNSUPPORTED instead of XFAIL. These compiler-rt tests should be UNSUPPORTED instead of XFAIL, which seems to be the real intent of the authors. Reviewed By: vvereschaka Differential Revision: https://reviews.llvm.org/D89840 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
Rename config.host_os to config.target_os. config.host_os is derived from CMAKE_SYSTEM_NAME which specifies the target. See: https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_NAME.html To reduce confusion, rename it to config.target_os. The variable name config.target_os was already being used by the Orc tests. Rename it to config.orc_test_target_os with a FIXME to remove. Reviewers: JDevlieghere, MaskRay Reviewed By: MaskRay Pull Request: https://github.com/llvm/llvm-project/pull/149015 | 1 年前 | |
[CMake] Use COMPILER_RT_BUILD_CRT in the condition for test Unlike COMPILER_RT_HAS_CRT this handles the case where CRT is available but has been disabled by setting COMPILER_RT_BUILD_CRT. This addresses an issue reported on D153989. Differential Revision: https://reviews.llvm.org/D155126 | 3 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins] Support architectures with 16-bit int in __ashlti3, __ashrti3 and __lshrti3 The amount to shift should be specified by the int type not a 32-bit integer type. This patch change the functions for 128-bit shifts in compiler-rt the same way as was done for 64-bit shifts in D78662. The README.txt is updated with the shift builtins signatures from this patch and D78662. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D146960 | 3 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
Relax muldc3 test to avoid precision issue (#151663) | 1 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[compiler-rt][builtins][RISCV] Always include __mul[sd]i3 builtin definitions The RISC-V implementations of the __mulsi3, __muldi3 builtins were conditionally compiling the actual function definitions depending on whether the M extension was present or not. This caused Compiler-RT testing failures for RISC-V targets with the M extension, as when these sources were included the librt_has_mul*i3 features were still being defined. These librt_has_* definitions are used to conditionally run the respective tests. Since the actual functions were not being compiled-in, the generic test for __muldi3 would fail. This patch makes these implementations follow the normal Compiler-RT convention of always including the definition, and conditionally running the respective tests by using the lit conditional REQUIRES: librt_has_*. Since the mulsi3_test.c wasn't actually RISC-V-specific, this patch also moves it out of the riscv directory. It now only depends on librt_has_mulsi3 to run. Differential Revision: https://reviews.llvm.org/D86457 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[compiler-rt][ARM] Optimized mulsf3 and divsf3 (#168394) (Reland of #161546, fixing three build and test issues) This commit adds optimized assembly versions of single-precision float multiplication and division. Both functions are implemented in a style that can be assembled as either of Arm and Thumb2; for multiplication, a separate implementation is provided for Thumb1. Also, extensive new tests are added for multiplication and division. These implementations can be removed from the build by defining the cmake variable COMPILER_RT_ARM_OPTIMIZED_FP=OFF. Outlying parts of the functionality which are not on the fast path, such as NaN handling and underflow, are handled in helper functions written in C. These can be shared between the Arm/Thumb2 and Thumb1 implementations, and also reused by other optimized assembly functions we hope to add in future. | 8 个月前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[compiler-rt][builtins][RISCV] Always include __mul[sd]i3 builtin definitions The RISC-V implementations of the __mulsi3, __muldi3 builtins were conditionally compiling the actual function definitions depending on whether the M extension was present or not. This caused Compiler-RT testing failures for RISC-V targets with the M extension, as when these sources were included the librt_has_mul*i3 features were still being defined. These librt_has_* definitions are used to conditionally run the respective tests. Since the actual functions were not being compiled-in, the generic test for __muldi3 would fail. This patch makes these implementations follow the normal Compiler-RT convention of always including the definition, and conditionally running the respective tests by using the lit conditional REQUIRES: librt_has_*. Since the mulsi3_test.c wasn't actually RISC-V-specific, this patch also moves it out of the riscv directory. It now only depends on librt_has_mulsi3 to run. Differential Revision: https://reviews.llvm.org/D86457 | 5 年前 | |
[compiler-rt] Disable tests for unavailable builtins (#161275) The builtins __fixunstfdi and __multc3 may be removed by the preprocessor depending on configuration flags. When this happens, the corresponding tests fail at link time due to missing definitions. Disable these tests when the builtins are not available. Also remove the XFAILs for aarch64 windows. As this test now became a no-op on platforms that lack CRT_HAS_128BIT or CRT_HAS_F128 (aarch64 windows lacks the latter), it no longer fails. This reapplies e9e166e54354330c474457711a8e7a7ca2efd731 and 656707086e5f6fccd2eb57f5aaf987c328c0f4f1 after fixing declarations of the builtins in the tests in b54250940c2cd70f911386b02239b50c165e5354. rdar://159705803 rdar://159705705 --------- Co-authored-by: Martin Storsjö <martin@martin.st> | 10 个月前 | |
[compiler-rt] Add missing carry to 128x128->256 wide multiply (#97257) | 1 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[compiler-rt/builtins] Convert tests to check 'target=...' Part of the project to eliminate special handling for triples in lit expressions. | 3 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[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 | 6 年前 | |
[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 | 6 年前 | |
[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 | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[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 | 6 年前 | |
[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 | 6 年前 | |
[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 | 6 年前 | |
[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 | 6 年前 | |
[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 | 6 年前 | |
[compiler-rt/builtins] Convert tests to check 'target=...' Part of the project to eliminate special handling for triples in lit expressions. | 3 年前 | |
[AArch64][compiler-rt] Add memcpy, memset, memmove, memchr builtins. (#77496) Add naive implementation of memcpy, memset, memmove, memchr for SME targets. Co-authored-by: David Sherwood <david.sherwood@arm.com> | 2 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[compiler-rt] Implement __extendxftf2 and __trunctfxf2 for x86_64 (#66918) This patch implements __extendxftf2 (long double -> f128) and __trunctfxf2 (f128 -> long double) on x86_64. This is a preparation to unblock https://reviews.llvm.org/D53608, We intentionally do not modify compiler-rt/lib/builtins/fp_lib.h in this PR (in particular, to limit the scope and avoid exposing other functions on X86_64 in this PR). Instead, TODOs were added to use fp_lib.h once it is available. Test plan: 1. ninja check-compiler-rt (verified on X86_64 and on Aarch64) In particular, new tests (extendxftf2_test.c and trunctfxf2_test.c) were added. 2. compared the results of conversions with what other compilers (gcc) produce. | 2 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[AArch64] fix trampoline implementation: use X15 (#126743) AAPCS64 reserves any of X9-X15 for a compiler to choose to use for this purpose, and says not to use X16 or X18 like GCC (and the previous implementation) chose to use. The X18 register may need to get used by the kernel in some circumstances, as specified by the platform ABI, so it is generally an unwise choice. Simply choosing a different register fixes the problem of this being broken on any platform that actually follows the platform ABI (which is all of them except EABI, if I am reading this linux kernel bug correctly https://lkml2.uits.iu.edu/hypermail/linux/kernel/2001.2/01502.html). As a side benefit, also generate slightly better code and avoids needing the compiler-rt to be present. I did that by following the XCore implementation instead of PPC (although in hindsight, following the RISCV might have been slightly more readable). That X18 is wrong to use for this purpose has been known for many years (e.g. https://www.mail-archive.com/gcc@gcc.gnu.org/msg76934.html) and also known that fixing this to use one of the correct registers is not an ABI break, since this only appears inside of a translation unit. Some of the other temporary registers (e.g. X9) are already reserved inside llvm for internal use as a generic temporary register in the prologue before saving registers, while X15 was already used in rare cases as a scratch register in the prologue as well, so I felt that seemed the most logical choice to choose here. | 1 年前 | |
[builtins] Fix building trunc*fhf2_test with GCC GCC does not support __fp16, use the TYPE_FP16 macro instead. Differential Revision: https://reviews.llvm.org/D153813 | 3 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins] Fix building trunc*fhf2_test with GCC GCC does not support __fp16, use the TYPE_FP16 macro instead. Differential Revision: https://reviews.llvm.org/D153813 | 3 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
Revert "[compiler-rt] [builtins] Detect _Float16 support at compile time" This reverts commit ce6d40f5c23923a807388c58b82b4c343eced0ce. Revert due to it broke the sanitizer-windows buildbot: https://lab.llvm.org/buildbot/#/builders/127/builds/33583/steps/4/logs/stdio | 3 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins] Support building the 128-bit float functions on ld80 platforms (#68132) GCC provides these functions (e.g. __addtf3, etc.) in libgcc on x86_64. Since Clang supports float128, we can also enable the existing code by using float128 for fp_t if either __FLOAT128__ or __SIZEOF_FLOAT128__ is defined instead of only supporting these builtins for platforms with 128-bit IEEE long doubles. This commit defines a new tf_float typedef that matches a float with attribute((mode(TF)) on each given architecture. There are more tests that could be enabled for x86, but to keep the diff smaller, I restricted test changes to ones that started failing as part of this refactoring. This change has been tested on x86 (natively) and aarch64,powerpc64,riscv64 and sparc64 via qemu-user. This supersedes https://reviews.llvm.org/D98261 and should also cover the changes from https://github.com/llvm/llvm-project/pull/68041. | 2 年前 | |
| 1 年前 | ||
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__. This patch fixes builtins' CMakeLists.txt and their VFP tests to check the standard macro defined in the ACLE for VFP support. It also enables the tests to be built and run for single-precision-only targets while builtins were built with double-precision support. Differential revision: https://reviews.llvm.org/D92497 | 5 年前 | |
[builtins][test] Delete unneeded file headers We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames. | 6 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 1 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 10 个月前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 1 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 1 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 8 个月前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 |