[PATCH] D67128: [X86] Move x86_64 fp128 conversion to libcalls from type legalization to DAG legalization

Chih-Hung Hsieh via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 6 11:03:22 PDT 2019


chh added a comment.
Herald added a subscriber: ychen.

Craig, I tested your patch with some AOSP libm code.

The good news is that we found several codegen fatal errors
and they might be the same pattern. So I attached only one
preprocessed file, its compilation command, and the error dump.
You only need to replace the CLANG variable to your local clang
compiler and compare the output.  Please let me know if you have
trouble reproducing it or need more test cases.

The bad news is that I need to modify AOSP compilation flags,
to suppress new warnings from the latest clang compiler.
I haven't been able to compile all AOSP source code yet.
When you have a fix for this bug, I will try again your new patch.

The libm code has some very tricky f128 and i128 conversion code.
In the past, I usually found and fixed failures one after another.
I added unit tests from those found cases, but still we don't cover
all libm code patterns. Please add unit tests for the cases you found too.

We also need to check if output code size increases with this patch.
I compared with gcc f128 output before, and it sometimes take extra
llvm codegen tricks to generate comparable code.

Thanks.
F9933358: test.tgz <https://reviews.llvm.org/F9933358>


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67128/new/

https://reviews.llvm.org/D67128





More information about the llvm-commits mailing list