Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

e-kud (Evgenii Kudriashov)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 15 2022, 6:55 AM (46 w, 1 d)

Recent Activity

Fri, Sep 15

e-kud added a comment to D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..

Post-selection code should not be tolerant of registers without a class. It is unequivocally a bug for a used register to pass selection without a class dead or not

Fri, Sep 15, 10:18 AM · Restricted Project, Restricted Project
e-kud updated the diff for D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..

Rebased and dropped comment change

Fri, Sep 15, 10:14 AM · Restricted Project, Restricted Project

Thu, Sep 14

e-kud added a comment to D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..

@qcolombet I've updated the comment. Do you think we still need to modify X86FastPreTileConfig? In the latest version we disable this pass for GlobalISel because it was intended for the code selected by FastISel. It's unclear whether we need it with GlobalISel in the future or not.

Thu, Sep 14, 7:19 PM · Restricted Project, Restricted Project
e-kud updated the diff for D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..

Updated a comment and rebased

Thu, Sep 14, 7:18 PM · Restricted Project, Restricted Project

Fri, Sep 8

e-kud added a comment to D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..

@qcolombet ping

Fri, Sep 8, 10:25 AM · Restricted Project, Restricted Project
e-kud updated the diff for D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..

Rebased

Fri, Sep 8, 10:11 AM · Restricted Project, Restricted Project

Aug 30 2023

e-kud abandoned D152332: [X86] Improve diagnostics for named registers.

I think the expected behavior is to diagnostic this problem from the front end. I didn't look into details, but guess you may be able to do it in SemaChecking.cpp.

Aug 30 2023, 11:49 AM · Restricted Project, Restricted Project
e-kud updated the diff for D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..

Rebased and updated a comment

Aug 30 2023, 9:40 AM · Restricted Project, Restricted Project
e-kud added a comment to D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..

Change the comment to say that only alive registers are guaranteed to have a regclass.

Aug 30 2023, 9:38 AM · Restricted Project, Restricted Project
e-kud retitled D157458: [X86] Run X86FastPreTileConfigPass only with FastISel. from [X86][AMX] Fix virtual register traversing in case of GlobalIsel to [X86] Run X86FastPreTileConfigPass only with FastISel..
Aug 30 2023, 9:36 AM · Restricted Project, Restricted Project

Aug 18 2023

e-kud added inline comments to D158053: [Legalizer] Expand fmaximum and fminimum.
Aug 18 2023, 9:07 AM · Restricted Project, Restricted Project

Aug 17 2023

e-kud added a comment to D157485: [X86][RFC] Support new feature AVX10.

Just curious, in RFC we have -mavx10.x-256/-mavx10.x-512 but here we refer to -mavx10.x/-mavx10.x,-mavx10-512bit. Is it compliant with GCC, or the revision is just for the illustrative purpose?

Aug 17 2023, 7:46 PM · Restricted Project, Restricted Project, Restricted Project

Aug 14 2023

e-kud updated the diff for D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..

Use X86FastPreTileConfigPass only with FastISel

Aug 14 2023, 3:27 PM · Restricted Project, Restricted Project

Aug 10 2023

e-kud added inline comments to D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..
Aug 10 2023, 5:53 PM · Restricted Project, Restricted Project
e-kud added inline comments to D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..
Aug 10 2023, 5:39 PM · Restricted Project, Restricted Project
e-kud added inline comments to D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..
Aug 10 2023, 5:09 PM · Restricted Project, Restricted Project

Aug 8 2023

e-kud updated the diff for D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..

Moved from a ll test to a more illustrative mir test.

Aug 8 2023, 5:52 PM · Restricted Project, Restricted Project
e-kud updated the diff for D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..

Typo

Aug 8 2023, 5:13 PM · Restricted Project, Restricted Project
e-kud requested review of D157458: [X86] Run X86FastPreTileConfigPass only with FastISel..
Aug 8 2023, 5:09 PM · Restricted Project, Restricted Project
e-kud requested review of D157396: [GlobalIsel][X86] Support G_GLOBAL_VALUE for global stub references.
Aug 8 2023, 7:21 AM · Restricted Project, Restricted Project

Jul 26 2023

e-kud updated the diff for D152926: [DAGCombine] Support truncated constants for fptosi.sat combining.

Return nounwind attribute missed during the last rebase.

Jul 26 2023, 8:16 AM · Restricted Project, Restricted Project
e-kud updated the diff for D152926: [DAGCombine] Support truncated constants for fptosi.sat combining.

Rebased

Jul 26 2023, 8:02 AM · Restricted Project, Restricted Project

Jul 11 2023

e-kud published D152332: [X86] Improve diagnostics for named registers for review.

Hi @pengfei @RKSimon, what do you think about such diagnostic improvement? It works perfectly with clang, however llc ignores errors in a handler and continues execution. It seems that we need a combination of diagnostic and report_fatal_error to stop both clang and llc. Or is it expected behavior of llc?

Jul 11 2023, 6:06 AM · Restricted Project, Restricted Project

Jun 16 2023

e-kud updated the diff for D152926: [DAGCombine] Support truncated constants for fptosi.sat combining.

Rebased and removed FIXME

Jun 16 2023, 8:26 AM · Restricted Project, Restricted Project

Jun 14 2023

e-kud requested review of D152926: [DAGCombine] Support truncated constants for fptosi.sat combining.
Jun 14 2023, 8:28 AM · Restricted Project, Restricted Project

May 15 2023

e-kud added inline comments to D146494: [X86] Combine constant vector inputs for FMA.
May 15 2023, 7:27 PM · Restricted Project, Restricted Project
e-kud updated the diff for D146494: [X86] Combine constant vector inputs for FMA.

Addressed the comments.

May 15 2023, 7:23 PM · Restricted Project, Restricted Project
e-kud added a comment to D146494: [X86] Combine constant vector inputs for FMA.

@e-kud do you want me to commit if for you? Or you are waiting for another approval?

May 15 2023, 5:11 PM · Restricted Project, Restricted Project

May 12 2023

e-kud updated the diff for D146494: [X86] Combine constant vector inputs for FMA.

Rebase. Spelling.

May 12 2023, 10:02 AM · Restricted Project, Restricted Project
e-kud updated the diff for D147017: [X86] Add a fneg test for fma with a splat constant vector.

Rebased

May 12 2023, 9:54 AM · Restricted Project, Restricted Project
e-kud accepted D150249: [X86] Improve handling on zero constant for fminimum/fmaximum lowering.

Great! Thanks. LGTM.

May 12 2023, 8:44 AM · Restricted Project, Restricted Project

May 11 2023

e-kud added inline comments to D150249: [X86] Improve handling on zero constant for fminimum/fmaximum lowering.
May 11 2023, 5:15 AM · Restricted Project, Restricted Project

May 10 2023

e-kud added inline comments to D150249: [X86] Improve handling on zero constant for fminimum/fmaximum lowering.
May 10 2023, 6:14 AM · Restricted Project, Restricted Project
e-kud accepted D149844: [X86] Add lowering of fminimum/fmaximum for vector operands.

LGTM. Thanks!

May 10 2023, 6:13 AM · Restricted Project, Restricted Project

May 8 2023

e-kud added inline comments to D149844: [X86] Add lowering of fminimum/fmaximum for vector operands.
May 8 2023, 8:57 AM · Restricted Project, Restricted Project

May 4 2023

e-kud added a comment to D149844: [X86] Add lowering of fminimum/fmaximum for vector operands.

Maybe a few more vector tests? Existing tests cover the no-nans and no-signed-zeros case, they were added to avoid bloat of scalarization. E.g. a test with all checks (generic vectorized version) and two test with constant vectors to eliminate a zero check and a NaN check.

May 4 2023, 7:49 PM · Restricted Project, Restricted Project
e-kud accepted D149812: [X86] Avoid usage constant -1 for fminimum/fmaximum lowering.

LGTM. Thank you!

May 4 2023, 7:31 PM · Restricted Project, Restricted Project
e-kud added inline comments to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.
May 4 2023, 6:40 AM · Restricted Project, Restricted Project
e-kud accepted D149729: [X86] Avoid usage constant NaN for fminimum/fmaximum lowering.

LGTM. Glibc tests pass (I haven't checked correspondence of qnan/snan though).

May 4 2023, 5:27 AM · Restricted Project, Restricted Project

May 3 2023

e-kud added a comment to D149729: [X86] Avoid usage constant NaN for fminimum/fmaximum lowering.

Good catch! Missed that we don't need to check Y on NaN because it is already a result of min therefore we can get rid of NaN loading.

May 3 2023, 6:39 PM · Restricted Project, Restricted Project

Apr 26 2023

e-kud added inline comments to D146494: [X86] Combine constant vector inputs for FMA.
Apr 26 2023, 7:11 PM · Restricted Project, Restricted Project

Apr 25 2023

e-kud added a comment to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

I have a side question (not delaying landing this one)

It looks like this change lowers vectorized form of intrinsic in a non-optimal way.
So I wonder whether there are some plans to improve it as follow-up?

Yes, for sure. I've tried to find a way to implement vectorized version for SSE, but nothing's come to my mind. We need at least SSE2 for PCMPEQ{W,D} because all fp comparison instructions treat -0.0 and 0.0 as equal. It seems that pentium3 will suffer from not optimal fmaximum/fminimum...

Why we cannot do something like this https://godbolt.org/z/Yxfn3jTj1 ?
I mean at least for avx?

BTW. my measurements on micro benchmarking (I know micro might cause that branch predictor works good), the version https://godbolt.org/z/rEj9GPfnY is the best one for scalar but it cannot be implemented in SelectionDAG as has a CFG.

Both versions are incorrect. They don't work as expected in case of (-0.0, 0.0), (0.0, -0.0) inputs. Because comiss and max treat negative and positive zeros as equal.

Take a look carefully. In case of equality we check the sign of the first value. Thus comparison using ucommis is ok.

Apr 25 2023, 8:20 AM · Restricted Project, Restricted Project
e-kud added a comment to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

I have a side question (not delaying landing this one)

It looks like this change lowers vectorized form of intrinsic in a non-optimal way.
So I wonder whether there are some plans to improve it as follow-up?

Yes, for sure. I've tried to find a way to implement vectorized version for SSE, but nothing's come to my mind. We need at least SSE2 for PCMPEQ{W,D} because all fp comparison instructions treat -0.0 and 0.0 as equal. It seems that pentium3 will suffer from not optimal fmaximum/fminimum...

Why we cannot do something like this https://godbolt.org/z/Yxfn3jTj1 ?
I mean at least for avx?

BTW. my measurements on micro benchmarking (I know micro might cause that branch predictor works good), the version https://godbolt.org/z/rEj9GPfnY is the best one for scalar but it cannot be implemented in SelectionDAG as has a CFG.

Apr 25 2023, 6:29 AM · Restricted Project, Restricted Project
e-kud updated the diff for D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Fix single line if style.

Apr 25 2023, 6:29 AM · Restricted Project, Restricted Project

Apr 24 2023

e-kud added a comment to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

I have a side question (not delaying landing this one)

It looks like this change lowers vectorized form of intrinsic in a non-optimal way.
So I wonder whether there are some plans to improve it as follow-up?

Apr 24 2023, 7:37 PM · Restricted Project, Restricted Project
e-kud added a reviewer for D149114: [NFC][X86] Remove cfi instructions and unused attributes from half.ll test: RKSimon.
Apr 24 2023, 7:11 PM · Restricted Project, Restricted Project
e-kud requested review of D149114: [NFC][X86] Remove cfi instructions and unused attributes from half.ll test.
Apr 24 2023, 7:10 PM · Restricted Project, Restricted Project
e-kud updated the diff for D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Rebased.
Excluded refactor of half.ll.

Apr 24 2023, 6:46 PM · Restricted Project, Restricted Project

Apr 18 2023

e-kud updated the diff for D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Rebased.
Added nounwind attribute to tests.

Apr 18 2023, 5:20 PM · Restricted Project, Restricted Project
e-kud added inline comments to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.
Apr 18 2023, 5:19 PM · Restricted Project, Restricted Project

Apr 14 2023

e-kud added inline comments to D146494: [X86] Combine constant vector inputs for FMA.
Apr 14 2023, 8:04 PM · Restricted Project, Restricted Project
e-kud updated the diff for D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Rebased.
Uncommented existing tests for the intrinsics.
Addressed to comments.

Apr 14 2023, 7:49 PM · Restricted Project, Restricted Project
e-kud added inline comments to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.
Apr 14 2023, 7:49 PM · Restricted Project, Restricted Project

Apr 7 2023

e-kud requested review of D146494: [X86] Combine constant vector inputs for FMA.
Apr 7 2023, 5:33 PM · Restricted Project, Restricted Project
e-kud requested review of D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

@RKSimon @goldstein.w.n ping

Apr 7 2023, 5:29 PM · Restricted Project, Restricted Project
e-kud updated the diff for D146494: [X86] Combine constant vector inputs for FMA.

Rebase

Apr 7 2023, 5:20 PM · Restricted Project, Restricted Project
e-kud updated the diff for D147017: [X86] Add a fneg test for fma with a splat constant vector.

Rebased

Apr 7 2023, 4:56 PM · Restricted Project, Restricted Project
e-kud updated the diff for D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Rebased

Apr 7 2023, 4:34 PM · Restricted Project, Restricted Project

Apr 3 2023

e-kud updated the diff for D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Support i686 target: can't use integer representation of double -0.0

Apr 3 2023, 6:30 PM · Restricted Project, Restricted Project

Mar 31 2023

e-kud added inline comments to D146494: [X86] Combine constant vector inputs for FMA.
Mar 31 2023, 8:39 PM · Restricted Project, Restricted Project
e-kud updated the diff for D146494: [X86] Combine constant vector inputs for FMA.

Addressed comments.
Added comments.
Fixed negative value search in case of undefs.
Updated tests.

Mar 31 2023, 8:37 PM · Restricted Project, Restricted Project
e-kud updated the diff for D147017: [X86] Add a fneg test for fma with a splat constant vector.

Updated tests with undefs.
Use not only splat vector constants.

Mar 31 2023, 8:34 PM · Restricted Project, Restricted Project

Mar 30 2023

e-kud updated the diff for D146494: [X86] Combine constant vector inputs for FMA.

Addressed the comments.

Mar 30 2023, 7:31 PM · Restricted Project, Restricted Project
e-kud updated the diff for D147017: [X86] Add a fneg test for fma with a splat constant vector.

New tests

Mar 30 2023, 7:30 PM · Restricted Project, Restricted Project

Mar 28 2023

e-kud added inline comments to D146494: [X86] Combine constant vector inputs for FMA.
Mar 28 2023, 7:02 PM · Restricted Project, Restricted Project

Mar 27 2023

e-kud published D146494: [X86] Combine constant vector inputs for FMA for review.
Mar 27 2023, 7:09 PM · Restricted Project, Restricted Project
e-kud requested review of D147017: [X86] Add a fneg test for fma with a splat constant vector.
Mar 27 2023, 7:03 PM · Restricted Project, Restricted Project

Mar 19 2023

e-kud added a comment to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

@RKSimon @goldstein.w.n ping.

Mar 19 2023, 4:54 PM · Restricted Project, Restricted Project

Mar 15 2023

e-kud added a comment to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Do you have plan to support minimumNumber?

Sorry, I didn't get it. Could you be more specific?

It's accompanying function of minimum in IEEE-754 2019, it will be introduced in new C/C++ standard too. I thought you are working for that.

I can't find any lib calls or specific intrinsics for them. I'd like to add them separately if we have any users or needs of them, do we?

I heard glibc is supporting them. I'm fine with leaving it to the future. Do you have plan on the vector support?

Mar 15 2023, 8:12 PM · Restricted Project, Restricted Project
e-kud updated the diff for D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Addressed formatting comments.
Check f16 explicitly even if avx512f16 implies avx512dq for now.

Mar 15 2023, 7:56 PM · Restricted Project, Restricted Project

Mar 14 2023

e-kud updated the diff for D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Broke formatting for premerge checks

Mar 14 2023, 6:33 PM · Restricted Project, Restricted Project
e-kud retitled D145634: [X86] Support llvm.{min,max}imum.f{16,32,64} from [X86] Support llvm.{min,max}imum.f{32,64} to [X86] Support llvm.{min,max}imum.f{16,32,64}.
Mar 14 2023, 4:26 PM · Restricted Project, Restricted Project
e-kud added a comment to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Do you have plan to support minimumNumber?

Sorry, I didn't get it. Could you be more specific?

It's accompanying function of minimum in IEEE-754 2019, it will be introduced in new C/C++ standard too. I thought you are working for that.

Mar 14 2023, 4:21 PM · Restricted Project, Restricted Project
e-kud updated the diff for D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Rebased.
Moved from combine to lowering.
Supported f16 version.
Added optimization for avx512dq.
Added and updated tests.

Mar 14 2023, 4:16 PM · Restricted Project, Restricted Project

Mar 12 2023

e-kud added a comment to D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Do you have plan to support minimumNumber?

Mar 12 2023, 7:26 PM · Restricted Project, Restricted Project

Mar 9 2023

e-kud added a reviewer for D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}: RKSimon.
Mar 9 2023, 7:11 PM · Restricted Project, Restricted Project
e-kud updated the diff for D145634: [X86] Support llvm.{min,max}imum.f{16,32,64}.

Rebased.
Supported cases with nsz and nnan.
Updated tests.

Mar 9 2023, 7:07 PM · Restricted Project, Restricted Project

Mar 8 2023

e-kud published D145634: [X86] Support llvm.{min,max}imum.f{16,32,64} for review.
Mar 8 2023, 5:10 PM · Restricted Project, Restricted Project

Mar 6 2023

e-kud requested review of D145417: [docs] Fix gc.statepoint signature according to Intrinsics.td.
Mar 6 2023, 1:10 PM · Restricted Project, Restricted Project

Feb 24 2023

e-kud accepted D143787: [X86] Add new pass `X86FixupInstTuning` for fixing up machine-instruction selection..

LGTM. I second that masked versions should be handled as well. I thought they have TP equal to perms but I've double checked and it seems that masked shuffles have TP=0.5 comparing to perms.

Feb 24 2023, 7:16 AM · Restricted Project, Restricted Project

Dec 21 2022

e-kud updated the diff for D138521: [X86] Support ANDNP combine through vector_shuffle.

Rebased.

Dec 21 2022, 4:44 AM · Restricted Project, Restricted Project

Dec 18 2022

e-kud published D140268: [CMake] Make libLLVM functionable for Android for review.
Dec 18 2022, 2:53 PM · Restricted Project, Restricted Project

Dec 14 2022

e-kud published D139991: [X86] combine-and.ll - add 256 and 512 bit test coverage for scalar broadcast for review.
Dec 14 2022, 7:14 PM · Restricted Project, Restricted Project
e-kud retitled D138521: [X86] Support ANDNP combine through vector_shuffle from [X86] Support ANDNP combine through broadcast instructions with scalar input to [X86] Support ANDNP combine through vector_shuffle.
Dec 14 2022, 7:13 PM · Restricted Project, Restricted Project
e-kud added inline comments to D138521: [X86] Support ANDNP combine through vector_shuffle.
Dec 14 2022, 7:10 PM · Restricted Project, Restricted Project
e-kud updated the diff for D138521: [X86] Support ANDNP combine through vector_shuffle.

Rebased and added a bitcast of IsNOT.

Dec 14 2022, 7:05 PM · Restricted Project, Restricted Project

Dec 13 2022

e-kud updated the diff for D138521: [X86] Support ANDNP combine through vector_shuffle.

Added vector splitting

Dec 13 2022, 7:32 PM · Restricted Project, Restricted Project

Dec 6 2022

e-kud added a comment to D138521: [X86] Support ANDNP combine through vector_shuffle.

Do we have any 256/512 bit test coverage?

Dec 6 2022, 1:14 PM · Restricted Project, Restricted Project

Dec 5 2022

e-kud updated the diff for D138521: [X86] Support ANDNP combine through vector_shuffle.

Propose more generic approach using vector_shuffle

Dec 5 2022, 5:35 PM · Restricted Project, Restricted Project

Nov 28 2022

e-kud updated the diff for D138521: [X86] Support ANDNP combine through vector_shuffle.

Rebased on precommit tests

Nov 28 2022, 3:47 PM · Restricted Project, Restricted Project
e-kud updated the diff for D138734: [X86] combine-and.ll - add test coverage for scalar broadcast.

Update tests with old codegen

Nov 28 2022, 3:14 PM · Restricted Project, Restricted Project
e-kud published D138734: [X86] combine-and.ll - add test coverage for scalar broadcast for review.
Nov 28 2022, 3:54 AM · Restricted Project, Restricted Project

Nov 27 2022

e-kud updated the diff for D138521: [X86] Support ANDNP combine through vector_shuffle.

Add peeking through bitcasts for BROADCAST as well.

Nov 27 2022, 3:19 PM · Restricted Project, Restricted Project

Nov 25 2022

e-kud updated the diff for D138521: [X86] Support ANDNP combine through vector_shuffle.

Address to comments and put tests into https://reviews.llvm.org/D138734

Nov 25 2022, 2:03 PM · Restricted Project, Restricted Project

Nov 24 2022

e-kud added inline comments to D138521: [X86] Support ANDNP combine through vector_shuffle.
Nov 24 2022, 2:28 PM · Restricted Project, Restricted Project

Nov 23 2022

e-kud published D138521: [X86] Support ANDNP combine through vector_shuffle for review.
Nov 23 2022, 9:04 AM · Restricted Project, Restricted Project