Page MenuHomePhabricator

RKSimon (Simon Pilgrim)
User

Projects

User does not belong to any projects.

User Details

User Since
May 5 2014, 7:26 AM (267 w, 6 h)

Recent Activity

Today

RKSimon updated the diff for D63326: [X86] Replace any_extend* vector extensions with zero_extend* equivalents.

fix cut+paste typo

Mon, Jun 17, 12:01 PM · Restricted Project
RKSimon added inline comments to D63326: [X86] Replace any_extend* vector extensions with zero_extend* equivalents.
Mon, Jun 17, 11:39 AM · Restricted Project
RKSimon committed rG835999e48aa0: [X86][SSE] Scalarize under-aligned XMM vector nt-stores (PR42026) (authored by RKSimon).
[X86][SSE] Scalarize under-aligned XMM vector nt-stores (PR42026)
Mon, Jun 17, 11:27 AM
RKSimon committed rL363592: [X86][SSE] Scalarize under-aligned XMM vector nt-stores (PR42026).
[X86][SSE] Scalarize under-aligned XMM vector nt-stores (PR42026)
Mon, Jun 17, 11:24 AM
RKSimon added a comment to D59909: [X86] Add custom isel to select ADD/SUB/OR/XOR/AND to their non-immediate forms under optsize when the immediate has additional users..

Does it help https://bugs.llvm.org/show_bug.cgi?id=41151 ?

Mon, Jun 17, 11:14 AM · Restricted Project
RKSimon committed rGbb9adfdb4e86: [X86][AVX] Split under-aligned vector nt-stores. (authored by RKSimon).
[X86][AVX] Split under-aligned vector nt-stores.
Mon, Jun 17, 10:22 AM
RKSimon committed rL363582: [X86][AVX] Split under-aligned vector nt-stores..
[X86][AVX] Split under-aligned vector nt-stores.
Mon, Jun 17, 10:21 AM
RKSimon committed rG12cb792d7f42: [X86] combineLoad - begun making the load split code more generic. NFCI. (authored by RKSimon).
[X86] combineLoad - begun making the load split code more generic. NFCI.
Mon, Jun 17, 8:55 AM
RKSimon committed rL363570: [X86] combineLoad - begun making the load split code more generic. NFCI..
[X86] combineLoad - begun making the load split code more generic. NFCI.
Mon, Jun 17, 8:51 AM
RKSimon committed rG1c91e63897d8: [X86][SSE] Add tests for underaligned nt loads (authored by RKSimon).
[X86][SSE] Add tests for underaligned nt loads
Mon, Jun 17, 7:36 AM
RKSimon committed rL363565: [X86][SSE] Add tests for underaligned nt loads.
[X86][SSE] Add tests for underaligned nt loads
Mon, Jun 17, 7:35 AM
RKSimon committed rG454e6b9010fe: [X86][SSE] Prevent misaligned non-temporal vector load/store combines (authored by RKSimon).
[X86][SSE] Prevent misaligned non-temporal vector load/store combines
Mon, Jun 17, 7:25 AM
RKSimon committed rL363564: [X86][SSE] Prevent misaligned non-temporal vector load/store combines.
[X86][SSE] Prevent misaligned non-temporal vector load/store combines
Mon, Jun 17, 7:25 AM
RKSimon closed D63246: [X86][SSE] Prevent misaligned non-temporal vector load/store combines.
Mon, Jun 17, 7:25 AM · Restricted Project
RKSimon added a comment to D63373: [X86] Use vmovq for v4i64/v4f64/v8i64/v8f64 vzmovl..

PR34876 and PR34874 suggests we should prefer BLEND over MOVSD/MOVQ etc.?

Mon, Jun 17, 6:43 AM · Restricted Project
RKSimon updated the diff for D63246: [X86][SSE] Prevent misaligned non-temporal vector load/store combines.

cleaned up nt-load if() logic - rebased with nontemporal-3.ll tests

Mon, Jun 17, 5:48 AM · Restricted Project
RKSimon added a comment to D63246: [X86][SSE] Prevent misaligned non-temporal vector load/store combines.

Also, judging by the LHS of the diffs, there isn't anything to split those loads/stores currently?

Mon, Jun 17, 5:47 AM · Restricted Project
RKSimon committed rGf1e2827170b3: [X86][SSE] Avoid unnecessary stack codegen in NT store codegen tests. (authored by RKSimon).
[X86][SSE] Avoid unnecessary stack codegen in NT store codegen tests.
Mon, Jun 17, 5:33 AM
RKSimon committed rL363552: [X86][SSE] Avoid unnecessary stack codegen in NT store codegen tests..
[X86][SSE] Avoid unnecessary stack codegen in NT store codegen tests.
Mon, Jun 17, 5:33 AM
RKSimon updated the diff for D63141: [DAGCombine] GetNegatedExpression - add FMA\FMAD support.

updated to match FMUL/FDIV approach.

Mon, Jun 17, 4:31 AM · Restricted Project
RKSimon accepted D63189: Test forward references in IntrinsicEmitter on Neon LD(2|3|4).

is it worth committing the test file with current (trunk) output so this patch shows the diff?

The output is expected not to change from this patch. I ran this test with current trunk and it passes, which confirms the behaviour doesn't change with this patch applied.
Not sure if there is still any benefit in committing this test separately then?

Mon, Jun 17, 4:30 AM · Restricted Project
RKSimon added a comment to D63391: [CodeGen] [SelectionDAG] More efficient code for X % C == 0 (UREM case) (try 2).

I'm submitting a new revision since i don't understand how to reclaim/reopen/take over the existing one, D50222.
There is no such action in "Add Action" menu...
Original patch D50222 by @hermord (Dmytro Shynkevych)

Mon, Jun 17, 4:29 AM · Restricted Project
RKSimon updated the summary of D63326: [X86] Replace any_extend* vector extensions with zero_extend* equivalents.
Mon, Jun 17, 3:50 AM · Restricted Project
RKSimon updated the diff for D63326: [X86] Replace any_extend* vector extensions with zero_extend* equivalents.

Merged SS41I_pmovx_avx2_patterns_base into SS41I_pmovx_avx2_patterns

Mon, Jun 17, 3:50 AM · Restricted Project
RKSimon committed rGef78e55205e1: [SelectionDAG] Fold insert_subvector(undef, extract_subvector(v, c), c) -> v in… (authored by RKSimon).
[SelectionDAG] Fold insert_subvector(undef, extract_subvector(v, c), c) -> v in…
Mon, Jun 17, 3:13 AM
RKSimon committed rL363542: [SelectionDAG] Fold insert_subvector(undef, extract_subvector(v, c), c) -> v in….
[SelectionDAG] Fold insert_subvector(undef, extract_subvector(v, c), c) -> v in…
Mon, Jun 17, 3:13 AM

Yesterday

RKSimon added a reviewer for D63385: [ConstantFolding] Add constant folding for smul.fix and smul.fix.sat: RKSimon.
Sun, Jun 16, 12:50 PM · Restricted Project
RKSimon committed rGfcffc2faccf1: [X86] CombineShuffleWithExtract - handle cases with different vector extract… (authored by RKSimon).
[X86] CombineShuffleWithExtract - handle cases with different vector extract…
Sun, Jun 16, 12:58 AM
RKSimon committed rL363507: [X86] CombineShuffleWithExtract - handle cases with different vector extract….
[X86] CombineShuffleWithExtract - handle cases with different vector extract…
Sun, Jun 16, 12:58 AM

Sat, Jun 15

RKSimon committed rG456ca5d7f703: [X86] CombineShuffleWithExtract - assert all src ops types are multiples of… (authored by RKSimon).
[X86] CombineShuffleWithExtract - assert all src ops types are multiples of…
Sat, Jun 15, 12:14 PM
RKSimon committed rL363501: [X86] CombineShuffleWithExtract - assert all src ops types are multiples of….
[X86] CombineShuffleWithExtract - assert all src ops types are multiples of…
Sat, Jun 15, 12:10 PM
RKSimon committed rG90e87af303ac: [X86][AVX] Handle lane-crossing shuffle(extract_subvector(x,c1)… (authored by RKSimon).
[X86][AVX] Handle lane-crossing shuffle(extract_subvector(x,c1)…
Sat, Jun 15, 11:28 AM
RKSimon committed rL363500: [X86][AVX] Handle lane-crossing shuffle(extract_subvector(x,c1)….
[X86][AVX] Handle lane-crossing shuffle(extract_subvector(x,c1)…
Sat, Jun 15, 11:27 AM
RKSimon committed rG990f3ceb6767: [X86][AVX] Decode constant bits from insert_subvector(c1, c2, c3) (authored by RKSimon).
[X86][AVX] Decode constant bits from insert_subvector(c1, c2, c3)
Sat, Jun 15, 10:05 AM
RKSimon committed rL363499: [X86][AVX] Decode constant bits from insert_subvector(c1, c2, c3).
[X86][AVX] Decode constant bits from insert_subvector(c1, c2, c3)
Sat, Jun 15, 10:05 AM
RKSimon added a comment to rL363497: [NFC][MCA][X86] Add baseline test coverage for AMD Barcelona (aka K10, fam10h).

Given that this would be completely overwritten by whatever model you commit I'm dubious of its use right now....

Sat, Jun 15, 10:01 AM
RKSimon added reviewers for D63145: [NFC] Improve triple match of scripts that update tests: MaskRay, gbedwell.

The logic looks fine, but somebody who knows python might know a better way to do this?

Sat, Jun 15, 6:45 AM · Restricted Project
RKSimon added a comment to D62327: [X86][CodeGen][NFC] Delay `combineIncDecVector()` from DAGCombine to X86DAGToDAGISel.

Could we use a isrematerializable test instead in the (sub x, c) -> (add x, -c) folds to avoid needing this?

Sat, Jun 15, 6:39 AM · Restricted Project
RKSimon added a comment to D59909: [X86] Add custom isel to select ADD/SUB/OR/XOR/AND to their non-immediate forms under optsize when the immediate has additional users..

@spatel @andreadb Any comments?

Sat, Jun 15, 6:28 AM · Restricted Project
RKSimon added inline comments to D62896: [X86] Add missing properties on llvm.x86.sse.{st,ld}mxcsr.
Sat, Jun 15, 6:25 AM · Restricted Project
RKSimon accepted D63364: [x86] split 256-bit vector selects if operands are vector concats.

LGTM but there are a couple of cases that are bordering on regression that need investigating (llvm-mca comparisons, TODO comments, bug report, whatever).

Sat, Jun 15, 5:54 AM · Restricted Project
RKSimon added inline comments to D63281: [TargetLowering] Add SimplifyMultipleUseDemandedBits.
Sat, Jun 15, 4:01 AM · Restricted Project
RKSimon accepted D63233: [CodeGenPrepare] shift both sides of a vector select when profitable.

LGTM - cheers

Sat, Jun 15, 3:35 AM · Restricted Project

Fri, Jun 14

RKSimon created D63326: [X86] Replace any_extend* vector extensions with zero_extend* equivalents.
Fri, Jun 14, 3:47 AM · Restricted Project
RKSimon added a comment to D63189: Test forward references in IntrinsicEmitter on Neon LD(2|3|4).

is it worth committing the test file with current (trunk) output so this patch shows the diff?

Fri, Jun 14, 2:28 AM · Restricted Project

Thu, Jun 13

RKSimon created D63281: [TargetLowering] Add SimplifyMultipleUseDemandedBits.
Thu, Jun 13, 10:02 AM · Restricted Project
RKSimon committed rG757a2f13fd97: [X86] Use fresh MemOps when emitting VAARG64 (authored by RKSimon).
[X86] Use fresh MemOps when emitting VAARG64
Thu, Jun 13, 7:03 AM
RKSimon committed rL363268: [X86] Use fresh MemOps when emitting VAARG64.
[X86] Use fresh MemOps when emitting VAARG64
Thu, Jun 13, 7:03 AM
RKSimon committed rG6b56ad164ced: [CodeGen] Add getMachineMemOperand + MachineMemOperand::Flags allocator helper… (authored by RKSimon).
[CodeGen] Add getMachineMemOperand + MachineMemOperand::Flags allocator helper…
Thu, Jun 13, 5:57 AM
RKSimon committed rL363257: [CodeGen] Add getMachineMemOperand + MachineMemOperand::Flags allocator helper….
[CodeGen] Add getMachineMemOperand + MachineMemOperand::Flags allocator helper…
Thu, Jun 13, 5:55 AM
RKSimon added a comment to D62726: [X86] Use fresh MemOps when emitting VAARG64.

@RKSimon I don't have commit access, would you be able to do this?

Thu, Jun 13, 4:41 AM · Restricted Project
RKSimon committed rGa284f4fa7ca1: [X86][AVX] Add broadcast(v4f64 hadd) test (authored by RKSimon).
[X86][AVX] Add broadcast(v4f64 hadd) test
Thu, Jun 13, 4:40 AM
RKSimon committed rL363252: [X86][AVX] Add broadcast(v4f64 hadd) test.
[X86][AVX] Add broadcast(v4f64 hadd) test
Thu, Jun 13, 4:40 AM
RKSimon committed rG0baf136a4d0d: [X86][SSE] Avoid assert for broadcast(horiz-op()) cases for non-f64 cases. (authored by RKSimon).
[X86][SSE] Avoid assert for broadcast(horiz-op()) cases for non-f64 cases.
Thu, Jun 13, 4:24 AM
RKSimon committed rL363251: [X86][SSE] Avoid assert for broadcast(horiz-op()) cases for non-f64 cases..
[X86][SSE] Avoid assert for broadcast(horiz-op()) cases for non-f64 cases.
Thu, Jun 13, 4:24 AM
RKSimon accepted D62726: [X86] Use fresh MemOps when emitting VAARG64.

LGTM - please pre-commit the MachineFunction.h/MachineFunction.cpp/X86InstrInfo.cpp change and then this patch's X86ISelLowering.cpp change.

Thu, Jun 13, 3:54 AM · Restricted Project
RKSimon committed rGa6b87aa7ee1c: [X86][SSE] Add tests for underaligned nt stores (authored by RKSimon).
[X86][SSE] Add tests for underaligned nt stores
Thu, Jun 13, 3:40 AM
RKSimon committed rL363249: [X86][SSE] Add tests for underaligned nt stores.
[X86][SSE] Add tests for underaligned nt stores
Thu, Jun 13, 3:40 AM
RKSimon committed rGe1aea8589683: [X86][SSE] Add SSE4A nt store tests on X86 as well as X64 (authored by RKSimon).
[X86][SSE] Add SSE4A nt store tests on X86 as well as X64
Thu, Jun 13, 3:28 AM
RKSimon committed rL363247: [X86][SSE] Add SSE4A nt store tests on X86 as well as X64.
[X86][SSE] Add SSE4A nt store tests on X86 as well as X64
Thu, Jun 13, 3:27 AM
RKSimon created D63246: [X86][SSE] Prevent misaligned non-temporal vector load/store combines.
Thu, Jun 13, 3:02 AM · Restricted Project
RKSimon added inline comments to D62726: [X86] Use fresh MemOps when emitting VAARG64.
Thu, Jun 13, 2:11 AM · Restricted Project
RKSimon added a comment to D62938: [SLP] Forbid to vectorize bundles with same opcode but different IR flags.

Please can you add a better explanation of the problem to the description of the patch?
I'm not sure what the problem is, you are allowed to drop nuw/nsw flags: https://rise4fun.com/Alive/plNm
So the new vectorized binop should simply take the smallest common subset of flags, which likely most often means no flags.

@dtemirbulatov It might be worth adding tests that check that we do retain the common subset?

done with Committed revision 363218.

Thu, Jun 13, 12:36 AM

Wed, Jun 12

RKSimon committed rGef7d4fbe809b: [X86][SSE] Avoid unnecessary stack codegen in NT merge-consecutive-stores… (authored by RKSimon).
[X86][SSE] Avoid unnecessary stack codegen in NT merge-consecutive-stores…
Wed, Jun 12, 10:27 AM
RKSimon committed rL363181: [X86][SSE] Avoid unnecessary stack codegen in NT merge-consecutive-stores….
[X86][SSE] Avoid unnecessary stack codegen in NT merge-consecutive-stores…
Wed, Jun 12, 10:26 AM
RKSimon committed rG4e0648a541f7: [TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests… (authored by RKSimon).
[TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests…
Wed, Jun 12, 10:11 AM
RKSimon committed rL363179: [TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests….
[TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests…
Wed, Jun 12, 10:11 AM
RKSimon closed D63075: [TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests (PR42123).
Wed, Jun 12, 10:11 AM · Restricted Project
RKSimon committed rG5b0e0dd709f9: [X86][AVX] Fold concat(vpermilps(x,c),vpermilps(y,c)) -> vpermilps(concat(x,y)… (authored by RKSimon).
[X86][AVX] Fold concat(vpermilps(x,c),vpermilps(y,c)) -> vpermilps(concat(x,y)…
Wed, Jun 12, 9:36 AM
RKSimon committed rL363178: [X86][AVX] Fold concat(vpermilps(x,c),vpermilps(y,c)) -> vpermilps(concat(x,y)….
[X86][AVX] Fold concat(vpermilps(x,c),vpermilps(y,c)) -> vpermilps(concat(x,y)…
Wed, Jun 12, 9:35 AM
RKSimon committed rGa4db4bb0238c: [X86][AVX] Tests showing missing concat(shuffle,shuffle) -> shuffle(concat)… (authored by RKSimon).
[X86][AVX] Tests showing missing concat(shuffle,shuffle) -> shuffle(concat)…
Wed, Jun 12, 5:39 AM
RKSimon committed rL363153: [X86][AVX] Tests showing missing concat(shuffle,shuffle) -> shuffle(concat)….
[X86][AVX] Tests showing missing concat(shuffle,shuffle) -> shuffle(concat)…
Wed, Jun 12, 5:39 AM
RKSimon updated the diff for D63075: [TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests (PR42123).

rebase after XCore cleanup - any more comments please?

Wed, Jun 12, 4:35 AM · Restricted Project
RKSimon committed rGca39de71997f: [XCore] CombineSTORE - Use allowsMemoryAccess wrapper. NFCI. (authored by RKSimon).
[XCore] CombineSTORE - Use allowsMemoryAccess wrapper. NFCI.
Wed, Jun 12, 4:08 AM
RKSimon committed rL363141: [XCore] CombineSTORE - Use allowsMemoryAccess wrapper. NFCI..
[XCore] CombineSTORE - Use allowsMemoryAccess wrapper. NFCI.
Wed, Jun 12, 4:05 AM
RKSimon committed rG32c1e7360365: [XCore] LowerLOAD/LowerSTORE - Use allowsMemoryAccess wrapper. NFCI. (authored by RKSimon).
[XCore] LowerLOAD/LowerSTORE - Use allowsMemoryAccess wrapper. NFCI.
Wed, Jun 12, 3:44 AM
RKSimon committed rL363137: [XCore] LowerLOAD/LowerSTORE - Use allowsMemoryAccess wrapper. NFCI..
[XCore] LowerLOAD/LowerSTORE - Use allowsMemoryAccess wrapper. NFCI.
Wed, Jun 12, 3:44 AM
RKSimon accepted D61764: [LV] Suppress vectorization in some nontemporal cases.

Thanks @wristow LGTM with one minor

Wed, Jun 12, 2:55 AM · Restricted Project

Tue, Jun 11

RKSimon accepted D63138: [Analysis] add isSplatValue() for vectors in IR.

LGTM

Tue, Jun 11, 10:08 AM · Restricted Project
RKSimon committed rGf370831885c6: [X86] Regenerate CmpISel test for future patch (authored by RKSimon).
[X86] Regenerate CmpISel test for future patch
Tue, Jun 11, 8:11 AM
RKSimon committed rL363077: [X86] Regenerate CmpISel test for future patch.
[X86] Regenerate CmpISel test for future patch
Tue, Jun 11, 8:11 AM
RKSimon planned changes to D63141: [DAGCombine] GetNegatedExpression - add FMA\FMAD support.

Seeing a weird EXPENSIVE_CHECKS failure that I need to get to the bottom of

Tue, Jun 11, 7:53 AM · Restricted Project
RKSimon created D63141: [DAGCombine] GetNegatedExpression - add FMA\FMAD support.
Tue, Jun 11, 7:48 AM · Restricted Project
RKSimon added inline comments to D63138: [Analysis] add isSplatValue() for vectors in IR.
Tue, Jun 11, 7:36 AM · Restricted Project
RKSimon added inline comments to D63075: [TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests (PR42123).
Tue, Jun 11, 6:37 AM · Restricted Project
RKSimon updated the diff for D63075: [TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests (PR42123).

rebase after rL363048

Tue, Jun 11, 5:57 AM · Restricted Project
RKSimon committed rG266f43964e9a: [TargetLowering] Add allowsMemoryAccess(MachineMemOperand) helper wrapper. NFCI. (authored by RKSimon).
[TargetLowering] Add allowsMemoryAccess(MachineMemOperand) helper wrapper. NFCI.
Tue, Jun 11, 4:01 AM
RKSimon committed rL363048: [TargetLowering] Add allowsMemoryAccess(MachineMemOperand) helper wrapper. NFCI..
[TargetLowering] Add allowsMemoryAccess(MachineMemOperand) helper wrapper. NFCI.
Tue, Jun 11, 3:57 AM
RKSimon committed rG287e78c82bd7: [DAGCombine] GetNegatedExpression - constant float vector support (PR42105) (authored by RKSimon).
[DAGCombine] GetNegatedExpression - constant float vector support (PR42105)
Tue, Jun 11, 2:42 AM
RKSimon committed rL363040: [DAGCombine] GetNegatedExpression - constant float vector support (PR42105).
[DAGCombine] GetNegatedExpression - constant float vector support (PR42105)
Tue, Jun 11, 2:41 AM
RKSimon closed D62963: [DAGCombine] GetNegatedExpression - constant float vector support (PR42105).
Tue, Jun 11, 2:41 AM · Restricted Project

Mon, Jun 10

RKSimon updated the diff for D63075: [TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests (PR42123).

Add TargetLoweringBase::allowsMemoryAccess helper wrapper - if people are OK with this I can add this wrapper (and the accompanying NFC refactor) as pre-commit.

Mon, Jun 10, 7:14 AM · Restricted Project
RKSimon added inline comments to D63075: [TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests (PR42123).
Mon, Jun 10, 6:12 AM · Restricted Project
RKSimon updated the diff for D63075: [TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests (PR42123).

Add missing flags to AMDGPUTargetLowering::performStoreCombine

Mon, Jun 10, 6:09 AM · Restricted Project
RKSimon created D63075: [TargetLowering] Add MachineMemOperand::Flags to allowsMemoryAccess tests (PR42123).
Mon, Jun 10, 5:37 AM · Restricted Project
RKSimon committed rGc6a930e4b4cd: Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFCI. (authored by RKSimon).
Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFCI.
Mon, Jun 10, 3:13 AM
RKSimon committed rL362927: Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFCI..
Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFCI.
Mon, Jun 10, 3:13 AM
RKSimon accepted D63018: [X86] Attempt to make the Intel core CPU inheritance a little more readable and maintainable.

LGTM - the goto is unfortunate but more maintainable and less confusing then the current state of things

Mon, Jun 10, 2:28 AM · Restricted Project
RKSimon added a reviewer for D62726: [X86] Use fresh MemOps when emitting VAARG64: niravd.
Mon, Jun 10, 12:39 AM · Restricted Project

Sun, Jun 9

RKSimon accepted D62897: [DAGCombine] Initialize the bytes offset vector as INT64_MAX to avoid inference the endian check.

LGTM cheers

Sun, Jun 9, 2:46 PM · Restricted Project