Page MenuHomePhabricator

LiuChen3 (LiuChen)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 9 2019, 7:00 PM (28 w, 6 d)

Recent Activity

Mon, Mar 23

LiuChen3 added inline comments to D60748: Adds an option "malign-pass-aggregate" to make the alignment of the struct and union parameters compatible with the default gcc.
Mon, Mar 23, 5:59 PM · Restricted Project

Fri, Mar 20

LiuChen3 added inline comments to D60748: Adds an option "malign-pass-aggregate" to make the alignment of the struct and union parameters compatible with the default gcc.
Fri, Mar 20, 2:08 AM · Restricted Project

Thu, Mar 19

LiuChen3 added a comment to D60748: Adds an option "malign-pass-aggregate" to make the alignment of the struct and union parameters compatible with the default gcc.

I think at least the initial patch is correct.

Thu, Mar 19, 7:45 PM · Restricted Project
LiuChen3 added a comment to D60748: Adds an option "malign-pass-aggregate" to make the alignment of the struct and union parameters compatible with the default gcc.

Since the ABI this is trying to match is not documented literally anywhere, I think we need to have some confidence that what this implements is actually the same as what GCC does. While I wrote up what I think the algorithm is, without some sort of script to allow testing it against a bunch of examples, I wouldn't say I'm confident of its correctness.

I'm not sure if you can reverse-engineer what the alignment must have been from the assembly output, or from some debug flags. Or if maybe doing something silly like modifying the source to insert a printf would be the best method to test this.

Thu, Mar 19, 7:14 PM · Restricted Project
LiuChen3 updated the diff for D60748: Adds an option "malign-pass-aggregate" to make the alignment of the struct and union parameters compatible with the default gcc.

Add an option "malign-pass-aggregate" to compatible with gcc default passing struct and union.

Thu, Mar 19, 12:30 AM · Restricted Project

Mon, Mar 16

LiuChen3 added a comment to D60748: Adds an option "malign-pass-aggregate" to make the alignment of the struct and union parameters compatible with the default gcc.

Oh, I see you just updated your patch months ago without ever mentioning that it was ready for review.

It sounds to me like GCC retroactively added a switch specifying which version of the ABI to follow on this point, somewhat confusingly called -malign-data. That's probably the right move here for us, too, especially since FreeBSD says they'd like to use it. That also means the condition of when to use your new logic will have to change; basically, we need a CodeGenOption for this that will default to the old ABI, and the driver will pass down a different default on Linux.

Mon, Mar 16, 10:43 PM · Restricted Project

Sun, Mar 15

LiuChen3 added a comment to D60748: Adds an option "malign-pass-aggregate" to make the alignment of the struct and union parameters compatible with the default gcc.

Ping?

Sun, Mar 15, 11:25 PM · Restricted Project
LiuChen3 updated the diff for D60748: Adds an option "malign-pass-aggregate" to make the alignment of the struct and union parameters compatible with the default gcc.

rebase.

Sun, Mar 15, 11:25 PM · Restricted Project

Wed, Mar 4

LiuChen3 abandoned D75506: [X86] Fix bug: Scalar FMA intrinsics generate wrong result.

Has been correctly fix by D75526 .

Wed, Mar 4, 5:59 PM · Restricted Project

Tue, Mar 3

LiuChen3 added a comment to D75506: [X86] Fix bug: Scalar FMA intrinsics generate wrong result.

Doesn't the modifier {z} clean the upper 64 bits?

Tue, Mar 3, 2:37 AM · Restricted Project
LiuChen3 created D75506: [X86] Fix bug: Scalar FMA intrinsics generate wrong result.
Tue, Mar 3, 1:43 AM · Restricted Project

Feb 13 2020

LiuChen3 closed D74552: [X86] Fix bug that mm_mask_cvtsepi64_epi32 generates result without zero the upper 64bit.

rGec89335c47bf

Feb 13 2020, 5:52 PM · Restricted Project
LiuChen3 committed rGec89335c47bf: [X86] Fix the bug that _mm_mask_cvtsepi64_epi32 generates result without zero… (authored by LiuChen3).
[X86] Fix the bug that _mm_mask_cvtsepi64_epi32 generates result without zero…
Feb 13 2020, 5:34 PM
LiuChen3 updated the summary of D74552: [X86] Fix bug that mm_mask_cvtsepi64_epi32 generates result without zero the upper 64bit.
Feb 13 2020, 7:21 AM · Restricted Project
LiuChen3 created D74552: [X86] Fix bug that mm_mask_cvtsepi64_epi32 generates result without zero the upper 64bit.
Feb 13 2020, 5:59 AM · Restricted Project
LiuChen3 retitled D74552: [X86] Fix bug that mm_mask_cvtsepi64_epi32 generates result without zero the upper 64bit from [X86] Fixx bug that mm_mask_cvtsepi64_epi32 generates result without zero the upper 64bit to [X86] Fix bug that mm_mask_cvtsepi64_epi32 generates result without zero the upper 64bit.
Feb 13 2020, 5:59 AM · Restricted Project

Jan 15 2020

LiuChen3 committed rG8fdafb7dced8: Insert wait instruction after X87 instructions which could raise float-point… (authored by LiuChen3).
Insert wait instruction after X87 instructions which could raise float-point…
Jan 15 2020, 8:16 PM
LiuChen3 closed D72750: [X86] Insert wait instruction after X87 instructions which could raise float-point exception..
Jan 15 2020, 8:16 PM · Restricted Project
LiuChen3 updated the diff for D72750: [X86] Insert wait instruction after X87 instructions which could raise float-point exception..

remove redundant header files.

Jan 15 2020, 12:55 AM · Restricted Project
LiuChen3 added inline comments to D72750: [X86] Insert wait instruction after X87 instructions which could raise float-point exception..
Jan 15 2020, 12:55 AM · Restricted Project

Jan 14 2020

LiuChen3 updated the diff for D72750: [X86] Insert wait instruction after X87 instructions which could raise float-point exception..

Fix format problems.

Jan 14 2020, 11:21 PM · Restricted Project
LiuChen3 created D72750: [X86] Insert wait instruction after X87 instructions which could raise float-point exception..
Jan 14 2020, 11:12 PM · Restricted Project

Jan 5 2020

LiuChen3 committed rGca3bf289a7f3: [NFC] Modify the format: Drop the else since we alerady returned in the if. (authored by LiuChen3).
[NFC] Modify the format: Drop the else since we alerady returned in the if.
Jan 5 2020, 5:39 PM

Jan 1 2020

LiuChen3 committed rG8af492ade1bc: add strict float for round operation (authored by LiuChen3).
add strict float for round operation
Jan 1 2020, 4:48 AM
LiuChen3 closed D72026: [X86] Add strict float for round operation.
Jan 1 2020, 4:48 AM · Restricted Project

Dec 31 2019

LiuChen3 added inline comments to D72026: [X86] Add strict float for round operation.
Dec 31 2019, 1:31 AM · Restricted Project
LiuChen3 added inline comments to D72026: [X86] Add strict float for round operation.
Dec 31 2019, 1:29 AM · Restricted Project

Dec 30 2019

LiuChen3 updated the diff for D72026: [X86] Add strict float for round operation.

Address comments

Dec 30 2019, 8:23 PM · Restricted Project
LiuChen3 added a comment to D72026: [X86] Add strict float for round operation.

Can you replace “scale” with “round” in the review title and the test name. These aren’t scale instructions except that avx512 has vrndscale, but we aren’t using the scaling part

Dec 30 2019, 8:23 PM · Restricted Project
LiuChen3 created D72026: [X86] Add strict float for round operation.
Dec 30 2019, 7:46 PM · Restricted Project

Dec 26 2019

LiuChen3 committed rG1a7b69f5dd32: add custom operation for strict fpextend/fpround (authored by LiuChen3).
add custom operation for strict fpextend/fpround
Dec 26 2019, 4:50 PM
LiuChen3 closed D71892: [X86] Adding custom operation for strict fpextend/fpround.
Dec 26 2019, 4:50 PM · Restricted Project
LiuChen3 created D71892: [X86] Adding custom operation for strict fpextend/fpround.
Dec 26 2019, 2:22 AM · Restricted Project

Dec 25 2019

LiuChen3 abandoned D71864: [X86] Set all bits of zmm register to 1 before fp_to_int when target only supports avx512dq.
Dec 25 2019, 5:01 PM · Restricted Project
LiuChen3 committed rG8304781cae97: Add missing strict_fp_to_int (authored by LiuChen3).
Add missing strict_fp_to_int
Dec 25 2019, 12:15 AM
LiuChen3 closed D71867: [X86] Complete missing strict_fp_to_int.
Dec 25 2019, 12:14 AM · Restricted Project

Dec 24 2019

LiuChen3 created D71867: [X86] Complete missing strict_fp_to_int.
Dec 24 2019, 11:11 PM · Restricted Project
LiuChen3 added reviewers for D71864: [X86] Set all bits of zmm register to 1 before fp_to_int when target only supports avx512dq: pengfei, craig.topper, uweigand, RKSimon, andrew.w.kaylor.
Dec 24 2019, 9:12 PM · Restricted Project
LiuChen3 added inline comments to D71864: [X86] Set all bits of zmm register to 1 before fp_to_int when target only supports avx512dq.
Dec 24 2019, 9:12 PM · Restricted Project
LiuChen3 created D71864: [X86] Set all bits of zmm register to 1 before fp_to_int when target only supports avx512dq.
Dec 24 2019, 9:03 PM · Restricted Project

Dec 23 2019

LiuChen3 abandoned D71691: [x86] Solve the problem caused by strict and non-strict FP-TO-S/UINT sharing CVTTP2SI/CVTTP2UI nodes.

Since D71850 has separated strict and non-strict node.

Dec 23 2019, 9:47 PM · Restricted Project

Dec 19 2019

LiuChen3 updated the diff for D71691: [x86] Solve the problem caused by strict and non-strict FP-TO-S/UINT sharing CVTTP2SI/CVTTP2UI nodes.

Simplified test cases

Dec 19 2019, 1:28 AM · Restricted Project
LiuChen3 added a child revision for D71590: [LegalizeTypes][LegalDAG][X86] Copy SDNodeFlags or at least fpexcept flag when legalizing strict fp nodes: D71691: [x86] Solve the problem caused by strict and non-strict FP-TO-S/UINT sharing CVTTP2SI/CVTTP2UI nodes.
Dec 19 2019, 12:46 AM · Restricted Project
LiuChen3 created D71691: [x86] Solve the problem caused by strict and non-strict FP-TO-S/UINT sharing CVTTP2SI/CVTTP2UI nodes.
Dec 19 2019, 12:46 AM · Restricted Project
LiuChen3 added a parent revision for D71691: [x86] Solve the problem caused by strict and non-strict FP-TO-S/UINT sharing CVTTP2SI/CVTTP2UI nodes: D71590: [LegalizeTypes][LegalDAG][X86] Copy SDNodeFlags or at least fpexcept flag when legalizing strict fp nodes.
Dec 19 2019, 12:46 AM · Restricted Project

Dec 18 2019

LiuChen3 committed rG2f932b57296a: Enable STRICT_FP_TO_SINT/UINT on X86 backend This patch is mainly for custom… (authored by LiuChen3).
Enable STRICT_FP_TO_SINT/UINT on X86 backend This patch is mainly for custom…
Dec 18 2019, 10:53 PM
LiuChen3 closed D71592: [X86] Enable STRICT_FP_TO_SINT/UINT on X86 backend. .
Dec 18 2019, 10:53 PM · Restricted Project
LiuChen3 added inline comments to D71592: [X86] Enable STRICT_FP_TO_SINT/UINT on X86 backend. .
Dec 18 2019, 4:52 PM · Restricted Project
LiuChen3 added inline comments to D71592: [X86] Enable STRICT_FP_TO_SINT/UINT on X86 backend. .
Dec 18 2019, 2:12 AM · Restricted Project

Dec 17 2019

LiuChen3 updated the diff for D71592: [X86] Enable STRICT_FP_TO_SINT/UINT on X86 backend. .

update testcase

Dec 17 2019, 9:53 PM · Restricted Project
LiuChen3 added inline comments to D71592: [X86] Enable STRICT_FP_TO_SINT/UINT on X86 backend. .
Dec 17 2019, 9:53 PM · Restricted Project
LiuChen3 updated the diff for D71592: [X86] Enable STRICT_FP_TO_SINT/UINT on X86 backend. .

Modify as comments.
Add check for avx512dq

Dec 17 2019, 9:34 PM · Restricted Project
LiuChen3 added inline comments to D71592: [X86] Enable STRICT_FP_TO_SINT/UINT on X86 backend. .
Dec 17 2019, 9:34 PM · Restricted Project
LiuChen3 updated the diff for D71592: [X86] Enable STRICT_FP_TO_SINT/UINT on X86 backend. .

Add promotion for TRICT_FP_TO_SINT/UINT.
Modify as comment

Dec 17 2019, 6:55 PM · Restricted Project
LiuChen3 added inline comments to D71592: [X86] Enable STRICT_FP_TO_SINT/UINT on X86 backend. .
Dec 17 2019, 6:55 PM · Restricted Project
LiuChen3 created D71592: [X86] Enable STRICT_FP_TO_SINT/UINT on X86 backend. .
Dec 17 2019, 1:35 AM · Restricted Project

Dec 9 2019

LiuChen3 committed rGbbf7860b9371: add support for strict operation fpextend/fpround/fsqrt on X86 backend (authored by LiuChen3).
add support for strict operation fpextend/fpround/fsqrt on X86 backend
Dec 9 2019, 5:07 PM
LiuChen3 closed D71184: [X86] Add supports for strict float operation fpextend/fpround/fsqrt.
Dec 9 2019, 5:07 PM · Restricted Project
LiuChen3 added a comment to D71184: [X86] Add supports for strict float operation fpextend/fpround/fsqrt.

Forgot click Accept I guess. Please fix those two comments before committing

Dec 9 2019, 5:01 PM · Restricted Project
LiuChen3 updated the diff for D71184: [X86] Add supports for strict float operation fpextend/fpround/fsqrt.

Modify as comments.

Dec 9 2019, 5:01 PM · Restricted Project
LiuChen3 created D71184: [X86] Add supports for strict float operation fpextend/fpround/fsqrt.
Dec 9 2019, 12:50 AM · Restricted Project

Dec 5 2019

LiuChen3 committed rG3041434450e6: Add strict fp support for instructions fadd/fsub/fmul/fdiv (authored by LiuChen3).
Add strict fp support for instructions fadd/fsub/fmul/fdiv
Dec 5 2019, 5:48 PM
LiuChen3 closed D68757: [X86] Add strict fp support for instructions fadd/fsub/fmul/fdiv.
Dec 5 2019, 5:48 PM · Restricted Project

Dec 1 2019

LiuChen3 updated the diff for D68757: [X86] Add strict fp support for instructions fadd/fsub/fmul/fdiv.

Adding testcase for scalar_math_patterns and AVX512_scalar_math_fp_patterns.
Moving setOperationAction(ISD::STRICT_FADD/STRICT_FSUB/STRICT_FDIV/STRICT_FMUL, MVT::v2f64, Legal) into SSE2 judgment statement.

Dec 1 2019, 9:49 PM · Restricted Project

Nov 26 2019

LiuChen3 updated the diff for D68757: [X86] Add strict fp support for instructions fadd/fsub/fmul/fdiv.

Rebase.
Add option to the tests.

Nov 26 2019, 9:46 PM · Restricted Project
LiuChen3 commandeered D68757: [X86] Add strict fp support for instructions fadd/fsub/fmul/fdiv.
Nov 26 2019, 9:46 PM · Restricted Project
LiuChen3 updated the diff for D70706: [X86][NFC] Modify the testcase name.
Nov 26 2019, 1:29 AM · Restricted Project
LiuChen3 created D70706: [X86][NFC] Modify the testcase name.
Nov 26 2019, 1:29 AM · Restricted Project
LiuChen3 added inline comments to D68857: [X86] Add strict fp support for operations of X87 instructions.
Nov 26 2019, 1:02 AM · Restricted Project

Nov 25 2019

LiuChen3 added inline comments to D68857: [X86] Add strict fp support for operations of X87 instructions.
Nov 25 2019, 11:39 PM · Restricted Project
LiuChen3 updated the diff for D68857: [X86] Add strict fp support for operations of X87 instructions.

Pengfei has helped me commit the test cases.
I rebase and add the option "-disable-strictnode-mutation" to the test case.

Nov 25 2019, 11:20 PM · Restricted Project
LiuChen3 added a comment to D68857: [X86] Add strict fp support for operations of X87 instructions.

Please pre-commit the test modifications with the old codegen and rebase this patch.

Nov 25 2019, 9:06 PM · Restricted Project
LiuChen3 added inline comments to D68857: [X86] Add strict fp support for operations of X87 instructions.
Nov 25 2019, 9:00 PM · Restricted Project
LiuChen3 updated the diff for D68857: [X86] Add strict fp support for operations of X87 instructions.

Rebase.
STRICT_FP_ROUND has been set as custom so I remove setting it as legal. When entering the custom processing function, if the operand type is legal,the function behaves the same as setOperationAction(ISD:STRICT_FP_ROUND, TYPE, legal)
Modify the test case. Since we do not disable sse, we can pass float-pointer value by register instead of passing by pointer.

Nov 25 2019, 8:38 PM · Restricted Project
LiuChen3 added inline comments to D68857: [X86] Add strict fp support for operations of X87 instructions.
Nov 25 2019, 4:37 PM · Restricted Project
LiuChen3 added a comment to D68857: [X86] Add strict fp support for operations of X87 instructions.

The new tests and test renames can be done as an NFC commit - then please rebase this patch

Sorry, I am not clear of what you mean. Do you mean I should make a new patch to add these tests? The tests in my current patch is not just renamed, but also doing functional test. I think it's better to keep them together.
And I think make a new patch to rename the tests is reasonable.

I've updated/added the tests in rG5aaca2355ec2 (matching Craig's changes in rG0cc12b8a8310) - the changes were an NFC cleanup and don't require a new patch. Please can you now rebase?

Nov 25 2019, 12:05 AM · Restricted Project
LiuChen3 updated the diff for D68857: [X86] Add strict fp support for operations of X87 instructions.

Rebase

Nov 25 2019, 12:05 AM · Restricted Project

Nov 21 2019

LiuChen3 added a comment to D68857: [X86] Add strict fp support for operations of X87 instructions.

The new tests and test renames can be done as an NFC commit - then please rebase this patch

Nov 21 2019, 11:19 PM · Restricted Project
LiuChen3 added a comment to D70226: Add an option to disable strict float node mutating to an normal float node.

Thanks for all of your help.

Nov 21 2019, 4:37 PM · Restricted Project

Nov 20 2019

LiuChen3 added a comment to D70226: Add an option to disable strict float node mutating to an normal float node.

@uweigand Thank you, now I get clear of the logic there. I add some of your comment to the original comments in the code, I think it may helps us understand this code better. Or we still keep the previous comments?

Nov 20 2019, 8:32 PM · Restricted Project
LiuChen3 updated the diff for D70226: Add an option to disable strict float node mutating to an normal float node.

update comments and fix a bug

Nov 20 2019, 8:23 PM · Restricted Project
LiuChen3 added inline comments to D70226: Add an option to disable strict float node mutating to an normal float node.
Nov 20 2019, 7:28 AM · Restricted Project
LiuChen3 updated the diff for D70226: Add an option to disable strict float node mutating to an normal float node.

update the comments

Nov 20 2019, 7:08 AM · Restricted Project
LiuChen3 added a comment to D70226: Add an option to disable strict float node mutating to an normal float node.
Nov 20 2019, 7:08 AM · Restricted Project

Nov 19 2019

LiuChen3 added a comment to D70226: Add an option to disable strict float node mutating to an normal float node.

@uweigand Thanks for your help.

Nov 19 2019, 4:32 PM · Restricted Project
LiuChen3 updated the diff for D70226: Add an option to disable strict float node mutating to an normal float node.

Modify comment

Nov 19 2019, 4:32 PM · Restricted Project

Nov 18 2019

LiuChen3 updated the diff for D70226: Add an option to disable strict float node mutating to an normal float node.

Fix format problem.

Nov 18 2019, 6:46 PM · Restricted Project
LiuChen3 updated the diff for D70226: Add an option to disable strict float node mutating to an normal float node.

Update as comments.

Nov 18 2019, 6:37 PM · Restricted Project
LiuChen3 added inline comments to D70226: Add an option to disable strict float node mutating to an normal float node.
Nov 18 2019, 5:09 AM · Restricted Project
LiuChen3 added a comment to D70226: Add an option to disable strict float node mutating to an normal float node.

I'm not sure if there's a possibility: some normal float operations of a backend is not Expand,
but they may think expanding strict-float operation can meet their requirements.
Although I haven't found a case yet.

Nov 18 2019, 4:25 AM · Restricted Project
LiuChen3 added inline comments to D70226: Add an option to disable strict float node mutating to an normal float node.
Nov 18 2019, 4:17 AM · Restricted Project
LiuChen3 updated the diff for D70226: Add an option to disable strict float node mutating to an normal float node.

Binding the value of DisableStrictNodeMutation to flag IsStrictFPEnabled, updating as comments.

Nov 18 2019, 4:08 AM · Restricted Project

Nov 17 2019

LiuChen3 updated subscribers of D70226: Add an option to disable strict float node mutating to an normal float node.
Nov 17 2019, 9:25 PM · Restricted Project

Nov 15 2019

LiuChen3 added a comment to D70226: Add an option to disable strict float node mutating to an normal float node.

@uweigand Thanks for your review. I have added information to see if the target supports strict float, so systemZ can disable strictnode mutation as default.

Nov 15 2019, 12:55 AM · Restricted Project
LiuChen3 updated the diff for D70226: Add an option to disable strict float node mutating to an normal float node.

This patch add an variable EnableStrictNode to the TargetLoweringBase to determine whether the target already supports the strict float operation.
Modify the patch @uweigand's suggestion.

Nov 15 2019, 12:46 AM · Restricted Project

Nov 14 2019

LiuChen3 created D70226: Add an option to disable strict float node mutating to an normal float node.
Nov 14 2019, 2:40 AM · Restricted Project

Nov 13 2019

LiuChen3 added a comment to D70214: [X86] Add custom type legalization and lowering for scalar STRICT_FP_TO_SINT/UINT.

I am working on STRICT_FP_TO_SINT/UINT, too. For now, Pengfei and I thought we can set promotion as custom so we can promote the type in x86 without affecting other backend. What do you think?

Nov 13 2019, 5:53 PM · Restricted Project

Nov 12 2019

LiuChen3 added a comment to D68857: [X86] Add strict fp support for operations of X87 instructions.

OK, I 'll make a try.

Nov 12 2019, 9:50 PM · Restricted Project
LiuChen3 updated the diff for D68857: [X86] Add strict fp support for operations of X87 instructions.

Modify the name of tests

Nov 12 2019, 6:26 PM · Restricted Project
LiuChen3 updated the diff for D68857: [X86] Add strict fp support for operations of X87 instructions.

Modify the name of tests and delete some RUN line in fp80-strict-scalar.ll.

Nov 12 2019, 6:17 PM · Restricted Project