User Details
- User Since
- Sep 9 2019, 7:00 PM (141 w, 3 d)
Mon, May 16
Thanks, @rjmccall . I'm sorry I don't have much time on this patch recently. I will update it later.
Fri, May 6
Use -mextend-small-integers=<arg> instead of boolean option
Apr 27 2022
add one missing comment
Address comments
Apr 26 2022
fix bug
Apr 20 2022
Apr 19 2022
I think you need to add a new ConservativeExtend kind to ABIArgInfo and make X86_64ABIInfo::classifyArgumentType (and classifyReturnType?) use that instead of Extend.
According to our internal tests, the performance of most of the tests is not affected. The most affected test performance dropped by %0.76. Average performance dropped 0.25%. This matches our expectations
Apr 18 2022
If there is no better solution, I hope this patch merge in. This is a bug that needs to be fixed.
rebase
Apr 13 2022
Address Phoebe's comments: remove 32-bit target check.
Apr 11 2022
Ping? This bug will cause correctness issues, we need to fix it. I think it is possible to fix in the backend in the current situation.
Is there any other better method, @jyknight @lebedev.ri
Apr 7 2022
It seems we all agree we should extend the parameter both in caller and in callee. This is also the behavior of gcc.
For now, the front-end doesn't have an accurate attribute that describes what we're expecting right now and doesn't know whether the function is external linked. By default clang will do the extension only in the caller. This forced us to do some workarounds on the backend.
We also thought about setting these attributes correctly in the IPO, but is there any possibility that IPO won't do in some cases?
D112942 introduces a new parameter attribute NoExt might help us. But this still means that by default, we will do extension in both caller and callee. And only in some optimization cases, we will do extension in caller or callee. Still not the ideal method that lebedev.ri expected.
Besides, I think that as an ABI issue, the correctness should be guaranteed first, optimization is not always guaranteed.
@lebedev.ri, is there any better approach to fix this issue?
Address Shenchen's comment
Apr 6 2022
Address Yuanke's comments: do the extension only if the function isn't local linked.
Apr 1 2022
Jan 24 2022
Sep 27 2021
Thanks for you review.
Can you take a review again and +1 if no problem? I missed changing some testcases. Thanks.
Fix check-all fail.
Sep 23 2021
Thanks for you review. The order of operand is changed in final commit: The addend of FMA builtin is moved from the first to the third.
Sep 22 2021
Address comments.
- Remove redundant option checkRemove redundant option check.
- Reformat.
Distinguish 0.0 and -0.0 in FMA.
Sep 17 2021
Adress comments
Adress comments.
Adress comments.
Address comments
Sep 9 2021
Thanks for reviewing this patch!
Aug 23 2021
Address pengfei's comments.
Aug 1 2021
Jul 31 2021
Jul 29 2021
Jul 28 2021
Apr 22 2021
What is the usage model you’re trying to enable? This has been broken for a long time. Why is it important now?
Apr 21 2021
Apr 20 2021
Apr 19 2021
Fix format issue.
- Rebase.
- Adding _mm512_i32loscatter_epi64 and _mm512_mask_i32loscatter_epi64.
Apr 14 2021
Thanks for your review. Hope this patch won't cause too many ABI issues in the future.
Apr 13 2021
Address Craig's comments
Address Simon's comments