RKSimon (Simon Pilgrim)
User

Projects

User does not belong to any projects.

User Details

User Since
May 5 2014, 7:26 AM (171 w, 6 d)

Recent Activity

Fri, Aug 18

RKSimon committed rL311198: [X86][ADX] Regenerate ADX intrinsics tests.
[X86][ADX] Regenerate ADX intrinsics tests
Fri, Aug 18, 2:22 PM
RKSimon added a comment to D36845: [X86] Allow xacquire/xrelease prefixes.

Please can you add tests for the intel-syntax acquire/release as well?

Fri, Aug 18, 1:36 PM
RKSimon committed rL311171: [X86][BMI2] Added scheduling test for RORX/SARX/SHLX/SHRX instructions.
[X86][BMI2] Added scheduling test for RORX/SARX/SHLX/SHRX instructions
Fri, Aug 18, 9:27 AM
RKSimon committed rL311167: [X86][AES] Add scheduling latency/throughput tests for AES instructions.
[X86][AES] Add scheduling latency/throughput tests for AES instructions
Fri, Aug 18, 8:28 AM
RKSimon committed rL311166: [X86][PCLMUL] Add scheduling latency/throughput test for PCLMULQDQ instruction.
[X86][PCLMUL] Add scheduling latency/throughput test for PCLMULQDQ instruction
Fri, Aug 18, 8:09 AM
RKSimon committed rL311164: [X86][SHA] Add scheduling latency/throughput tests for SHA instructions.
[X86][SHA] Add scheduling latency/throughput tests for SHA instructions
Fri, Aug 18, 8:03 AM
RKSimon committed rL311163: [X86][MOVBE] Add scheduling latency/throughput tests for MOVBE instructions.
[X86][MOVBE] Add scheduling latency/throughput tests for MOVBE instructions
Fri, Aug 18, 7:46 AM
RKSimon accepted D36766: Reorder operands with provided Opcode.

Thanks for reducing this, LGTM with one minor. Also, as this is just a refactor at this point (make sure you rephrase the commit summary accordingly btw) you can probably drop the test case as its not doing anything any more.

Fri, Aug 18, 6:50 AM
RKSimon committed rL311159: [X86][BMI2] Added scheduling test for MULX instructions.
[X86][BMI2] Added scheduling test for MULX instructions
Fri, Aug 18, 6:25 AM
RKSimon added a comment to D36617: AMD Zen Scheduler Model Update.

Since its the only other AMD model, please can you add the SSE4A values?

Fri, Aug 18, 5:15 AM
RKSimon added inline comments to D36845: [X86] Allow xacquire/xrelease prefixes.
Fri, Aug 18, 4:14 AM

Thu, Aug 17

RKSimon added inline comments to D36837: [SLP] Fix for PR34219, part 1: Use minimal alignment for vectorized loads..
Thu, Aug 17, 10:38 AM
RKSimon added a comment to D35241: [DAGCombine] Fix for shuffle to vector extend for non power 2 vectors.

I don't have time to finish this off, but this further reduced version of the test case appears to still show the same issue - please can you confirm (and possibly see if you further reduce it)?

define amdgpu_ps void @main() local_unnamed_addr {
.entry:
  br i1 undef, label %bb12, label %bb
Thu, Aug 17, 6:59 AM
RKSimon committed rL311083: [DAGCombiner] Add support for non-uniform constant vectors to (mul x, (1 << c))….
[DAGCombiner] Add support for non-uniform constant vectors to (mul x, (1 << c))…
Thu, Aug 17, 6:04 AM
RKSimon accepted D36815: [X86] Remove memopmmx pattern fragment.

LGTM

Thu, Aug 17, 3:41 AM

Wed, Aug 16

RKSimon accepted D36651: [SelectionDAG] Teach the vector-types operand scalarizer about SETCC.

LGTM

Wed, Aug 16, 1:34 PM
RKSimon committed rL311016: [X86] Regenerate immediate store merging tests.
[X86] Regenerate immediate store merging tests
Wed, Aug 16, 9:25 AM
RKSimon committed rL311005: [CostModel][X86][XOP] Improve costs for XOP shuffles.
[CostModel][X86][XOP] Improve costs for XOP shuffles
Wed, Aug 16, 6:51 AM
RKSimon added a reviewer for D36706: DAGCombiner: Add form of isFPExtFree to check uses: RKSimon.

Given its limited use I don't see why we shouldn't just update the existing isFPExtFree to take Opcode, SrcVT and DstVT - all of which may be useful.

Wed, Aug 16, 6:08 AM
RKSimon added a reviewer for D36788: The issues with X86 prefixes: craig.topper.
Wed, Aug 16, 6:00 AM
RKSimon updated subscribers of D36783: [x86] Refactor the CMOV conversion pass to be more flexible..

Adding people from D36711

Wed, Aug 16, 3:03 AM
RKSimon added a comment to D36766: Reorder operands with provided Opcode.

Also, again the tests looks more complex than they should need to be for slpvectorizer

Wed, Aug 16, 2:54 AM
RKSimon added a comment to D36766: Reorder operands with provided Opcode.

Please can you commit reorder.ll to trunk now with the current trunk codegen, and update the patch so it shows the delta?

Wed, Aug 16, 2:53 AM
RKSimon added inline comments to D36774: DAG: Allow creating extract_vector_elt post-legalize.
Wed, Aug 16, 2:52 AM

Tue, Aug 15

RKSimon added a comment to D36581: [DAG] Fix Node Replacement in PromoteIntBinOp.
I also have a patch that more aggressively causes invalidation-based assertions where latent bugs may lie; I think it'll catch the lion share of the latent bugs.

Let me know if you need to run assertion patch through random testing (which finds all this cases I'm filing as bugs).

Tue, Aug 15, 8:16 AM
RKSimon added inline comments to D28907: [SLP] Fix for PR30787: Failure to beneficially vectorize 'copyable' elements in integer binary ops..
Tue, Aug 15, 3:50 AM
RKSimon added a comment to D27846: [SLP] Support for horizontal min/max reduction.

No more comments from me

Tue, Aug 15, 3:13 AM
RKSimon added a reviewer for D36612: [X86] Check for already emitted TEST pattern in EmitTest function.: spatel.
Tue, Aug 15, 3:03 AM
RKSimon accepted D35685: [X86] Refactoring of X86TargetLowering::EmitLoweredSelect. nfc..
Tue, Aug 15, 2:59 AM

Mon, Aug 14

RKSimon added a comment to D35685: [X86] Refactoring of X86TargetLowering::EmitLoweredSelect. nfc..

LGTM too

Mon, Aug 14, 2:21 PM
RKSimon updated subscribers of D36711: [X86] Combining CMOVs with [ANY,SIGN,ZERO]_EXTEND for cases where CMOV has constant arguments.

Please don't forget to include llvm-commits as a subscriber

Mon, Aug 14, 2:00 PM
RKSimon committed rL310830: Add braces to silence gcc dangling-else warnings. NFCI..
Add braces to silence gcc dangling-else warnings. NFCI.
Mon, Aug 14, 4:06 AM
RKSimon added inline comments to D35348: Adding all X86 Processor families which can help initializing several uArch properties.
Mon, Aug 14, 3:58 AM
RKSimon accepted D36518: [SLPVectorizer] Schedule bundle with different opcodes..

LGTM

Mon, Aug 14, 3:08 AM
RKSimon accepted D36654: [X86] Correct two places that seemed to be mishandling X86ISD::UMUL.

LGTM

Mon, Aug 14, 2:51 AM
RKSimon accepted D36657: [X86] Remove flag setting ISD nodes from computeKnownBitsForTargetNode.

LGTM

Mon, Aug 14, 2:48 AM

Sun, Aug 13

RKSimon accepted D36571: [DAGCombiner] combine vextract (v1iX extract_subvector(vNiX, Idx)) into vextract(vNiX,Idx)..

LGTM with a couple of minors

Sun, Aug 13, 2:21 PM
RKSimon added inline comments to D36651: [SelectionDAG] Teach the vector-types operand scalarizer about SETCC.
Sun, Aug 13, 2:17 PM
RKSimon committed rL310802: [X86][BMI] Add BEXTR demanded bits test cases (PR34042).
[X86][BMI] Add BEXTR demanded bits test cases (PR34042)
Sun, Aug 13, 1:36 PM
RKSimon added inline comments to D36654: [X86] Correct two places that seemed to be mishandling X86ISD::UMUL.
Sun, Aug 13, 1:22 PM
RKSimon added a comment to D36650: [X86] WIP support narrowing operations when only a subvector is demanded.

We also need to support matching horizontal binops from target shuffles in order to convert the final operation to HADD.

Sun, Aug 13, 6:23 AM
RKSimon added inline comments to D36650: [X86] WIP support narrowing operations when only a subvector is demanded.
Sun, Aug 13, 6:22 AM
RKSimon accepted D36649: [X86][ARM][TargetLowering] Add SrcVT to isExtractSubvectorCheap.

LGTM - one minor

Sun, Aug 13, 6:14 AM
RKSimon committed rL310791: [X86][AVX512] Added additional shuffle+trunc test case..
[X86][AVX512] Added additional shuffle+trunc test case.
Sun, Aug 13, 5:31 AM
RKSimon committed rL310790: [X86][TBM] Add tests showing failure to fold RFLAGS result into TBM….
[X86][TBM] Add tests showing failure to fold RFLAGS result into TBM…
Sun, Aug 13, 5:17 AM
RKSimon committed rL310788: [X86][TBM] Regenerate bextri intrinsics tests. NFCI..
[X86][TBM] Regenerate bextri intrinsics tests. NFCI.
Sun, Aug 13, 4:57 AM

Sat, Aug 12

RKSimon added a comment to D36518: [SLPVectorizer] Schedule bundle with different opcodes..

Thanks for the new tests - a few minor remarks.

Sat, Aug 12, 1:03 PM
RKSimon accepted D36645: [X86] When handling addcarry intrinsic, create the flag result with the correct type so we don't crash if we use a memory instruction.

Looks like it fixes PR33229. Probably will fix PR24943, PR22571 as well.

Sat, Aug 12, 12:56 PM
RKSimon committed rL310783: Fix Wdocumentation warning - typo in argument list. NFCI..
Fix Wdocumentation warning - typo in argument list. NFCI.
Sat, Aug 12, 11:51 AM
RKSimon added a reviewer for D36645: [X86] When handling addcarry intrinsic, create the flag result with the correct type so we don't crash if we use a memory instruction: spatel.
Sat, Aug 12, 11:16 AM
RKSimon added a comment to D36645: [X86] When handling addcarry intrinsic, create the flag result with the correct type so we don't crash if we use a memory instruction.

Is this PR33229?

Sat, Aug 12, 11:11 AM
RKSimon committed rL310782: [DAGCombiner] Extending pattern detection for vector shuffle (REAPPLIED).
[DAGCombiner] Extending pattern detection for vector shuffle (REAPPLIED)
Sat, Aug 12, 10:45 AM
RKSimon closed D35788: [DAGCombiner] Extending pattern detection for vector shuffle. by committing rL310782: [DAGCombiner] Extending pattern detection for vector shuffle (REAPPLIED).
Sat, Aug 12, 10:45 AM
RKSimon committed rL310780: [X86] Regenerate merge store tests. NFCI..
[X86] Regenerate merge store tests. NFCI.
Sat, Aug 12, 10:30 AM
RKSimon accepted D35788: [DAGCombiner] Extending pattern detection for vector shuffle..

@jbhateja Sorry for the delay - I highly recommend that you request commit rights yourself

Sat, Aug 12, 6:08 AM
RKSimon added a comment to D36638: [AVX512] Correct isExtractSubvectorCheap so that it will return true for extracting 128-bits from the upper 256-bits of a 512-bit vector.

I also wonder if this interface shouldn't take the source type as input. In case some other target has multiple legal vector sizes but can't extract a quarter of vector like x86 can.

Sat, Aug 12, 5:42 AM

Fri, Aug 11

RKSimon added inline comments to D36617: AMD Zen Scheduler Model Update.
Fri, Aug 11, 8:54 AM
RKSimon added a comment to D34571: [DAGCombine] Improve handling of insert_subvector of bitcast values.

@niravd Anything stopping this going in?

Fri, Aug 11, 5:36 AM
RKSimon added a comment to D34559: [X86][DAG] Switch X86 Target to post-legalized store merge.

@niravd Anything stopping this going in?

Fri, Aug 11, 5:36 AM
RKSimon accepted D36536: [X86][AVX512] Add combine for TESTM.

LGTM, thanks

Fri, Aug 11, 5:30 AM
RKSimon accepted D36601: [x86] Enable some support for lowerVectorShuffleWithUndefHalf with AVX-512.

LGTM

Fri, Aug 11, 5:21 AM
RKSimon added a comment to D36518: [SLPVectorizer] Schedule bundle with different opcodes..

As discussed offline, the test cases need to be much simpler

Fri, Aug 11, 5:19 AM
RKSimon accepted D36606: [AVX512] Remove and autoupgrade many of the broadcast intrinsics.

Do you think we should make SUBV_BROADCAST a memory intrinsic? Maybe BROADCAST as well, although that has reg implementations and splitting it into two may be awkward.

Fri, Aug 11, 4:05 AM
RKSimon committed rL310699: [DAGCombiner] Remove shuffle support from simplifyShuffleMask.
[DAGCombiner] Remove shuffle support from simplifyShuffleMask
Fri, Aug 11, 1:38 AM

Thu, Aug 10

RKSimon accepted D34569: [DAG] Relax type restriction for store merge.

LGTM - thanks

Thu, Aug 10, 12:37 PM
RKSimon committed rL310654: [CostModel][X86] Add SSE2 two-src shuffle costs.
[CostModel][X86] Add SSE2 two-src shuffle costs
Thu, Aug 10, 12:33 PM
RKSimon committed rL310650: [CostModel][X86] Add avx1 two-src shuffle costs.
[CostModel][X86] Add avx1 two-src shuffle costs
Thu, Aug 10, 12:03 PM
RKSimon committed rL310645: [CostModel][X86] Add avx2 two-src shuffle costs.
[CostModel][X86] Add avx2 two-src shuffle costs
Thu, Aug 10, 11:30 AM
RKSimon committed rL310641: [CostModel][X86] Extend two src shuffle cost tests.
[CostModel][X86] Extend two src shuffle cost tests
Thu, Aug 10, 11:03 AM
RKSimon added a comment to D30200: [SLP] Fix for PR31880: shuffle and vectorize repeated scalar ops on extracted elements.

@dorit I've implemented most of the x86 single source shuffle costs at rL310632, please can you see if this has improved things for you?

Thu, Aug 10, 10:37 AM
RKSimon committed rL310633: [CostModel][X86] Add avx512vbmi broadcast/reverse/single-src shuffle cost tests.
[CostModel][X86] Add avx512vbmi broadcast/reverse/single-src shuffle cost tests
Thu, Aug 10, 10:34 AM
RKSimon committed rL310632: [CostModel][X86] Improve single src shuffle costs.
[CostModel][X86] Improve single src shuffle costs
Thu, Aug 10, 10:28 AM
RKSimon committed rL310631: Fix 'not all control paths return' warning on windows builds. NFCI..
Fix 'not all control paths return' warning on windows builds. NFCI.
Thu, Aug 10, 10:21 AM
RKSimon committed rL310606: [CostModel][X86] Added v2f64/v2i64 single src shuffle model tests.
[CostModel][X86] Added v2f64/v2i64 single src shuffle model tests
Thu, Aug 10, 8:26 AM
RKSimon added inline comments to D36518: [SLPVectorizer] Schedule bundle with different opcodes..
Thu, Aug 10, 6:07 AM
RKSimon accepted D36506: [SelectionDAG] Allow constant folding for implicitly truncating BUILD_VECTOR nodes.

LGTM. The duplication between this and FoldConstantVectorArithmetic suggests that a merging is overdue - add a TODO comment?

Thu, Aug 10, 3:39 AM
RKSimon added inline comments to D36571: [DAGCombiner] combine vextract (v1iX extract_subvector(vNiX, Idx)) into vextract(vNiX,Idx)..
Thu, Aug 10, 3:23 AM

Wed, Aug 9

RKSimon added a reviewer for D36536: [X86][AVX512] Add combine for TESTM: RKSimon.
Wed, Aug 9, 1:58 PM
RKSimon added a reviewer for D36528: [X86] Keep dependencies when constructing loads in combineStore: davide.
Wed, Aug 9, 12:57 PM
RKSimon accepted D36511: [SelectionDAG] When scalarizing vselect, don't assert on a legal cond operand..

Thanks, LGTM

Wed, Aug 9, 8:20 AM
RKSimon accepted D36511: [SelectionDAG] When scalarizing vselect, don't assert on a legal cond operand..

LGTM, with one minor.

Wed, Aug 9, 7:47 AM
RKSimon added a comment to D36518: [SLPVectorizer] Schedule bundle with different opcodes..

Test cases?

Wed, Aug 9, 7:32 AM
RKSimon added inline comments to D34569: [DAG] Relax type restriction for store merge.
Wed, Aug 9, 7:21 AM
RKSimon added a comment to D27846: [SLP] Support for horizontal min/max reduction.

I think its almost there now, my only concern is that we're not discriminating between signed/unsigned in getMinMaxReductionCost calls - e.g. SSE is very inconsistent with support for these.

Wed, Aug 9, 7:11 AM
RKSimon added a reviewer for D36388: [X86][SandyBridge] Additional updates to the SNB instructions scheduling information : dim.

@dim What effect does this patch have on PR34080? The changes in pr34080.ll aren't looking hopeful

Wed, Aug 9, 2:14 AM

Tue, Aug 8

RKSimon committed rL310372: [DAGCombiner] simplifyShuffleMask - handle UNDEF inputs from shuffles as well….
[DAGCombiner] simplifyShuffleMask - handle UNDEF inputs from shuffles as well…
Tue, Aug 8, 9:11 AM
RKSimon committed rL310344: [DAGCombiner] Simplify shuffle mask index if the referenced input element is….
[DAGCombiner] Simplify shuffle mask index if the referenced input element is…
Tue, Aug 8, 4:04 AM
RKSimon closed D36393: [DAGCombiner] Simplify shuffle mask index if the referenced input element is UNDEF by committing rL310344: [DAGCombiner] Simplify shuffle mask index if the referenced input element is….
Tue, Aug 8, 4:04 AM
RKSimon added a reviewer for D35788: [DAGCombiner] Extending pattern detection for vector shuffle.: thakis.

Is there a suitable repro test from PR34073 that you can add?

Tue, Aug 8, 3:56 AM
RKSimon added a reviewer for D35587: [X86][ASM] Fixed assertion crash with inline asm (PR14393): coby.
Tue, Aug 8, 3:33 AM

Mon, Aug 7

RKSimon updated the diff for D36393: [DAGCombiner] Simplify shuffle mask index if the referenced input element is UNDEF.

Updated with second test that simplifies the mask based on both shuffle inputs (note: further improvements are possible on this shuffle in future patches).

Mon, Aug 7, 3:33 PM
RKSimon committed rL310317: [X86][AVX] Added test for broadcast shuffle from binary sources with undefs….
[X86][AVX] Added test for broadcast shuffle from binary sources with undefs…
Mon, Aug 7, 3:22 PM
RKSimon added inline comments to D36393: [DAGCombiner] Simplify shuffle mask index if the referenced input element is UNDEF.
Mon, Aug 7, 10:51 AM
RKSimon created D36414: [X86][X87] Ensure x87 instructions are tagged as altering the FPSW reg.
Mon, Aug 7, 10:10 AM
RKSimon committed rL310268: [X86][AVX] Add full test coverage of subvector_broadcasts from registers.
[X86][AVX] Add full test coverage of subvector_broadcasts from registers
Mon, Aug 7, 9:51 AM
RKSimon committed rL310265: [X86][AVX] Cleanup subvector broadcast tests - remove old prefixes..
[X86][AVX] Cleanup subvector broadcast tests - remove old prefixes.
Mon, Aug 7, 8:51 AM
RKSimon accepted D35846: [X86][Asm]Allow far jmp/call to be picked when using explicit FWORD size specifier.

LGTM

Mon, Aug 7, 8:36 AM
RKSimon added inline comments to D27846: [SLP] Support for horizontal min/max reduction.
Mon, Aug 7, 8:12 AM
RKSimon added a comment to D35846: [X86][Asm]Allow far jmp/call to be picked when using explicit FWORD size specifier.
In D35846#833693, @coby wrote:

Is this consistent with GNU assembler behavior? Or does GNU assembler accept both versions?

Both, as do we, via this change

Mon, Aug 7, 6:29 AM
RKSimon created D36393: [DAGCombiner] Simplify shuffle mask index if the referenced input element is UNDEF.
Mon, Aug 7, 5:45 AM