Page MenuHomePhabricator

craig.topper (Craig Topper)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 30 2013, 7:58 PM (401 w, 6 d)

Recent Activity

Today

craig.topper added inline comments to D99565: [X86] Support replacing aligned vector moves with unaligned moves when avx is enabled..
Tue, Apr 13, 1:00 AM · Restricted Project, Restricted Project

Yesterday

craig.topper committed rG7c9bbbf7358c: [RISCV] Rename RISCVISD::SHFLI to RISCVISD::SHFL and don't require the second… (authored by craig.topper).
[RISCV] Rename RISCVISD::SHFLI to RISCVISD::SHFL and don't require the second…
Mon, Apr 12, 11:47 PM
craig.topper added inline comments to D100085: [X86] Support -march=rocketlake.
Mon, Apr 12, 6:07 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper added inline comments to D100280: [RISCV] Implement COPY for Zvlsseg registers.
Mon, Apr 12, 10:21 AM · Restricted Project
craig.topper accepted D100115: [RISCV] Add missing part of instruction vmsge {u}. VX.

LGTM

Mon, Apr 12, 10:09 AM · Restricted Project
craig.topper added a comment to D100288: [RISCV] Add vector types to GPR for P extension and explict type to codegen patterns.

Surely some of this can be inferred by TableGen? This is rather disruptive (especially with my downstream hat on...).

Mon, Apr 12, 10:07 AM · Restricted Project
craig.topper accepted D100266: [RISCV][Clang] Add vmv and vfmv series intrinsic functions..

LGTM

Mon, Apr 12, 10:00 AM · Restricted Project
craig.topper accepted D100085: [X86] Support -march=rocketlake.

LGTM

Mon, Apr 12, 9:55 AM · Restricted Project, Restricted Project, Restricted Project
craig.topper accepted D100288: [RISCV] Add vector types to GPR for P extension and explict type to codegen patterns.

LGTM

Mon, Apr 12, 9:50 AM · Restricted Project
craig.topper accepted D100096: [RISCV] Support vector SET[U]LT and SET[U]GE with splatted immediates.

LGTM

Mon, Apr 12, 9:37 AM · Restricted Project

Sun, Apr 11

craig.topper accepted D100279: [X86] Remove FeatureCLWB from FeaturesICLClient.

LGTM

Sun, Apr 11, 8:41 PM · Restricted Project, Restricted Project
craig.topper added a comment to D100085: [X86] Support -march=rocketlake.

Thanks. I also found this https://github.com/gcc-mirror/gcc/commit/c422e5f81f42a0fc197f0715f4fcd81f1be90bff can you create a new patch to do the same for llvm/clang and rebase this patch on top of it.

Sun, Apr 11, 7:24 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper added inline comments to D100085: [X86] Support -march=rocketlake.
Sun, Apr 11, 6:58 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper committed rGcb4c793e46bb: [RISCV] Update computeKnownBitsForTargetNode to treat READ_VLENB as being 16… (authored by craig.topper).
[RISCV] Update computeKnownBitsForTargetNode to treat READ_VLENB as being 16…
Sun, Apr 11, 6:42 PM
craig.topper added reviewers for D99833: [TableGen] generate `getRegBankFromRegClass`: arsenm, dsanders, paquette, qcolombet, aemerson.

Please upload the patch with full context using -U99999 as documented here https://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface

Sun, Apr 11, 6:03 PM · Restricted Project
craig.topper committed rGff902080a9fb: [RISCV] Use SLLI/SRLI instead of SLLIW/SRLIW for (srl (and X, 0xffff), C)… (authored by craig.topper).
[RISCV] Use SLLI/SRLI instead of SLLIW/SRLIW for (srl (and X, 0xffff), C)…
Sun, Apr 11, 2:00 PM
craig.topper committed rG3ae71226ef49: [RISCV] Drop earlyclobber constraint from vwadd(u).wx, vwsub(u).wx, vfwadd.wf… (authored by craig.topper).
[RISCV] Drop earlyclobber constraint from vwadd(u).wx, vwsub(u).wx, vfwadd.wf…
Sun, Apr 11, 10:28 AM
craig.topper closed D100217: [RISCV] Drop earlyclobber constraint from vwadd(u).wx, vwsub(u).wx, vfwadd.wf and vfwsub.wf..
Sun, Apr 11, 10:28 AM · Restricted Project
craig.topper committed rGbc0e0527305d: [RISCV] Teach targetShrinkDemandedConstant to preserve (and X, 0xffff) when… (authored by craig.topper).
[RISCV] Teach targetShrinkDemandedConstant to preserve (and X, 0xffff) when…
Sun, Apr 11, 10:19 AM
craig.topper committed rG48d69edadef1: [RISCV] Add i8 and i16 srli and srai tests to Zbb/Zbp test files. NFC (authored by craig.topper).
[RISCV] Add i8 and i16 srli and srai tests to Zbb/Zbp test files. NFC
Sun, Apr 11, 10:19 AM
craig.topper added inline comments to D100085: [X86] Support -march=rocketlake.
Sun, Apr 11, 9:15 AM · Restricted Project, Restricted Project, Restricted Project

Fri, Apr 9

craig.topper requested review of D100217: [RISCV] Drop earlyclobber constraint from vwadd(u).wx, vwsub(u).wx, vfwadd.wf and vfwsub.wf..
Fri, Apr 9, 10:42 AM · Restricted Project
craig.topper added inline comments to D100085: [X86] Support -march=rocketlake.
Fri, Apr 9, 9:48 AM · Restricted Project, Restricted Project, Restricted Project
craig.topper accepted D100190: [RISCV][NFC] Remove unneeded explict XLenVT type on codegen patterns.

LGTM

Fri, Apr 9, 9:39 AM · Restricted Project
craig.topper accepted D100120: [RISCV][Clang] Add all RVV Mask intrinsic functions..

LGTM

Fri, Apr 9, 9:38 AM · Restricted Project, Restricted Project
craig.topper added a comment to D100115: [RISCV] Add missing part of instruction vmsge {u}. VX.

Do we need this case? Case 4 is any vd. It means (vd == v0) || (vd != v0), right? These two cases are already covered by case 2 and case 3.

I think this is the case that a temp register is provided and the destination isn't v0. The user probably should use case 2 by not providing the temp register. But if they give the temp register should we accept it and match the spec or error for the destination not being v0(what we currently do)?

If the destination is not v0, case 2 is better than case 4. There should be no need to provide the temp register. I think the case 4 is useful when we could not determine vd is v0 or not, but it should not be the case in AsmParser. The registers in MCInst should be physical registers.

Fri, Apr 9, 9:33 AM · Restricted Project

Thu, Apr 8

craig.topper added a comment to D100115: [RISCV] Add missing part of instruction vmsge {u}. VX.

Do we need this case? Case 4 is any vd. It means (vd == v0) || (vd != v0), right? These two cases are already covered by case 2 and case 3.

Thu, Apr 8, 11:49 PM · Restricted Project
craig.topper added inline comments to D98136: [RISCV][RFC] Initially support the K-extension instructions on the LLVM MC layer.
Thu, Apr 8, 11:02 PM · Restricted Project
craig.topper accepted D100097: [RISCV][NFC] Replace explicit type i64 with riscv customized SDTypeProfile..

LGTM

Thu, Apr 8, 10:42 PM · Restricted Project
craig.topper added inline comments to D100085: [X86] Support -march=rocketlake.
Thu, Apr 8, 7:58 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper added inline comments to D100085: [X86] Support -march=rocketlake.
Thu, Apr 8, 7:46 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper added a comment to D99565: [X86] Support replacing aligned vector moves with unaligned moves when avx is enabled..

I think I wouldn't mind if we just didn't emit aligned loads/store instructions for AVX/AVX512 from isel and other places in the compiler in the first place. As noted, if the load gets folded the alignment check doesn't happen. That would reduce the size of the isel tables and remove branches, reducing complexity of the compiler. Adding a new step and a command line to undo the earlier decision increases complexity.

Thu, Apr 8, 3:40 PM · Restricted Project, Restricted Project
craig.topper committed rG872931e5d857: [RISCV] Use multiclass inheritance where possible for the VPat* multiclasses in… (authored by craig.topper).
[RISCV] Use multiclass inheritance where possible for the VPat* multiclasses in…
Thu, Apr 8, 3:17 PM
craig.topper committed rGac347a8a0fb4: [RISCV] Remove empty string after 'defm' at top level of vector .td files. NFC (authored by craig.topper).
[RISCV] Remove empty string after 'defm' at top level of vector .td files. NFC
Thu, Apr 8, 3:16 PM
craig.topper added inline comments to D64830: [Xtensa 4/10] Add basic *td files with Xtensa architecture description..
Thu, Apr 8, 3:01 PM · Restricted Project
craig.topper accepted D100127: [RISCV][Clang] Add some RVV Permutation intrinsic functions..

LGTM

Thu, Apr 8, 12:15 PM · Restricted Project
craig.topper committed rG461b55499981: [RISCV] Add InstAlias for Zbb Zbp and Zbs extension (authored by LevyHsu).
[RISCV] Add InstAlias for Zbb Zbp and Zbs extension
Thu, Apr 8, 11:52 AM
craig.topper closed D100083: [RISCV] Add InstAlias for Zbb Zbp and Zbs extension.
Thu, Apr 8, 11:52 AM · Restricted Project
craig.topper committed rG02ef9963e1ad: [RISCV] Prevent __builtin_riscv_orc_b_64 from being compiled RV32 target. (authored by craig.topper).
[RISCV] Prevent __builtin_riscv_orc_b_64 from being compiled RV32 target.
Thu, Apr 8, 11:36 AM
craig.topper closed D99984: [RISCV] Prevent __builtin_riscv_orc_b_64 from being compiled RV32 target..
Thu, Apr 8, 11:36 AM · Restricted Project
craig.topper added a comment to D100115: [RISCV] Add missing part of instruction vmsge {u}. VX.

Upload patches with full context using git diff -U99999 as documented here https://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface

Thu, Apr 8, 11:13 AM · Restricted Project
craig.topper accepted D100083: [RISCV] Add InstAlias for Zbb Zbp and Zbs extension.

LGTM This matches what we do for immediate instructions in the base ISA.

Thu, Apr 8, 11:02 AM · Restricted Project
craig.topper added inline comments to D100085: [X86] Support -march=rocketlake.
Thu, Apr 8, 10:20 AM · Restricted Project, Restricted Project, Restricted Project
craig.topper added a comment to D100091: [X86] Fix wrong handle with "-mno-x87".

What about cases that use x87 to do float/double conversions? I think it’s i64 conversions in 32-bit mode. But maybe other cases. Does gcc disable those with -mno-80387?

You are right! GCC can do the conversions: https://godbolt.org/z/87ez838oc .
With this patch, llvm will fail in ISEL. I want to make another patch to do this.

Thu, Apr 8, 10:09 AM · Restricted Project
craig.topper added a comment to D100120: [RISCV][Clang] Add all RVV Mask intrinsic functions..

LGTM other than that inheritance question

Thu, Apr 8, 10:02 AM · Restricted Project, Restricted Project
craig.topper added inline comments to D100096: [RISCV] Support vector SET[U]LT and SET[U]GE with splatted immediates.
Thu, Apr 8, 9:55 AM · Restricted Project
craig.topper added inline comments to D100097: [RISCV][NFC] Replace explicit type i64 with riscv customized SDTypeProfile..
Thu, Apr 8, 9:24 AM · Restricted Project
craig.topper accepted D100089: [RISCV][NFC] Add explicit type i64 to RV64 only patterns..

LGTM

Thu, Apr 8, 9:16 AM · Restricted Project
craig.topper added inline comments to D99984: [RISCV] Prevent __builtin_riscv_orc_b_64 from being compiled RV32 target..
Thu, Apr 8, 9:11 AM · Restricted Project
craig.topper added inline comments to D99984: [RISCV] Prevent __builtin_riscv_orc_b_64 from being compiled RV32 target..
Thu, Apr 8, 8:25 AM · Restricted Project

Wed, Apr 7

craig.topper added a comment to D100091: [X86] Fix wrong handle with "-mno-x87".

What about cases that use x87 to do float/double conversions? I think it’s i64 conversions in 32-bit mode. But maybe other cases. Does gcc disable those with -mno-80387?

Wed, Apr 7, 11:41 PM · Restricted Project
craig.topper added inline comments to D100085: [X86] Support -march=rocketlake.
Wed, Apr 7, 10:00 PM · Restricted Project, Restricted Project, Restricted Project
craig.topper added inline comments to D99083: [RISCV] Introduce floating point control and state registers.
Wed, Apr 7, 9:46 PM · Restricted Project
craig.topper committed rG5f6b3d1833fd: [RISCV] Use multiclass inheritance to simplify some of riscv_vector.td. NFCI (authored by craig.topper).
[RISCV] Use multiclass inheritance to simplify some of riscv_vector.td. NFCI
Wed, Apr 7, 5:36 PM
craig.topper closed D100074: [RISCV] Use multiclass inheritance to simplify some of riscv_vector.td. NFCI.
Wed, Apr 7, 5:36 PM · Restricted Project
craig.topper requested review of D100074: [RISCV] Use multiclass inheritance to simplify some of riscv_vector.td. NFCI.
Wed, Apr 7, 4:05 PM · Restricted Project
craig.topper added inline comments to D99750: [LV, VP] RFC: VP intrinsics support for the Loop Vectorizer (Proof-of-Concept).
Wed, Apr 7, 2:39 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D99355: Implementation of intrinsic and SDNode definitions for VP load, store, gather, scatter..
Wed, Apr 7, 2:13 PM · Restricted Project, Restricted Project
craig.topper added a comment to D98169: [PoC][IR] Permit load/store/alloca for struct with the same scalable vectors..

@HsiangKai can you rebase this on trunk. Some of the TrailingObjects changes would go away.

Wed, Apr 7, 1:57 PM · Restricted Project
craig.topper accepted D99965: [RISCV][Clang] Add more RVV load/store intrinsic functions..

LGTM

Wed, Apr 7, 1:53 PM · Restricted Project
craig.topper committed rG56ea2e2fdd69: [RISCV] Add a special case to lowerSELECT for select of 2 constants with a… (authored by craig.topper).
[RISCV] Add a special case to lowerSELECT for select of 2 constants with a…
Wed, Apr 7, 1:47 PM
craig.topper closed D99021: [RISCV] Add a special case to lowerSELECT for select of 2 constants with a SETLT condition..
Wed, Apr 7, 1:47 PM · Restricted Project
craig.topper committed rG989528519116: [RISCV] Replace 'return ReplaceNode' with 'ReplaceNode; return;' NFC (authored by craig.topper).
[RISCV] Replace 'return ReplaceNode' with 'ReplaceNode; return;' NFC
Wed, Apr 7, 12:19 PM
craig.topper accepted D100030: [RISCV] Support OR/XOR/AND reductions on vector masks.

LGTM

Wed, Apr 7, 12:06 PM · Restricted Project
craig.topper accepted D99964: [RISCV][Clang] Add all RVV Reduction intrinsic functions..

LGTM

Wed, Apr 7, 11:53 AM · Restricted Project
craig.topper added inline comments to D100030: [RISCV] Support OR/XOR/AND reductions on vector masks.
Wed, Apr 7, 11:37 AM · Restricted Project
craig.topper added inline comments to D99083: [RISCV] Introduce floating point control and state registers.
Wed, Apr 7, 11:34 AM · Restricted Project
craig.topper accepted D98936: [RISCV] DAG nodes and pseudo instructions for CSR access.

LGTM

Wed, Apr 7, 11:30 AM · Restricted Project
craig.topper added inline comments to D99509: [RISCV] Add legality check for vectoring reduction.
Wed, Apr 7, 11:28 AM · Restricted Project
craig.topper added inline comments to D100030: [RISCV] Support OR/XOR/AND reductions on vector masks.
Wed, Apr 7, 11:19 AM · Restricted Project
craig.topper committed rGf087d7544a41: [RISCV] Support vslide1up/down intrinsics for SEW=64 on RV32. (authored by craig.topper).
[RISCV] Support vslide1up/down intrinsics for SEW=64 on RV32.
Wed, Apr 7, 10:45 AM
craig.topper closed D99910: [RISCV] Support vslide1up/down intrinsics for SEW=64 on RV32..
Wed, Apr 7, 10:45 AM · Restricted Project
hazem-hosny awarded rG67953311e2e3: [SelectionDAG] Teach SelectionDAG::FoldConstantArithmetic to handle SPLAT_VECTOR a Pirate Logo token.
Wed, Apr 7, 10:18 AM
craig.topper committed rG67953311e2e3: [SelectionDAG] Teach SelectionDAG::FoldConstantArithmetic to handle SPLAT_VECTOR (authored by craig.topper).
[SelectionDAG] Teach SelectionDAG::FoldConstantArithmetic to handle SPLAT_VECTOR
Wed, Apr 7, 10:13 AM
craig.topper closed D99682: [SelectionDAG] Teach SelectionDAG::FoldConstantArithmetic to handle SPLAT_VECTOR.
Wed, Apr 7, 10:13 AM · Restricted Project
craig.topper accepted D99526: [RISCV][Clang] Add RVV Widening Integer Add/Subtract intrinsic functions..

LGTM

Wed, Apr 7, 10:07 AM · Restricted Project
craig.topper accepted D99669: [RISCV][Clang] Add more RVV Floating-Point intrinsic functions..

LGTM

Wed, Apr 7, 10:06 AM · Restricted Project
craig.topper committed rG5fc0e98d9a06: [LoopIdiomRecognize] Minor cleanups to the FFS idiom matching. NFC (authored by craig.topper).
[LoopIdiomRecognize] Minor cleanups to the FFS idiom matching. NFC
Wed, Apr 7, 10:03 AM
craig.topper added inline comments to D99910: [RISCV] Support vslide1up/down intrinsics for SEW=64 on RV32..
Wed, Apr 7, 10:01 AM · Restricted Project

Tue, Apr 6

craig.topper committed rG01a23dccb1a1: [RISCV] Add an assertion to the ReplaceNodeResults handling of bitcasts to make… (authored by craig.topper).
[RISCV] Add an assertion to the ReplaceNodeResults handling of bitcasts to make…
Tue, Apr 6, 4:49 PM
craig.topper committed rG2641c1f15ea5: [RISCV] Don't custom type legalize fixed vector to scalar integer bitcasts if… (authored by craig.topper).
[RISCV] Don't custom type legalize fixed vector to scalar integer bitcasts if…
Tue, Apr 6, 3:01 PM
craig.topper committed rG0d6dd23ca9a3: [MachineValueTypes] Add blank lines between floating point vectors with… (authored by craig.topper).
[MachineValueTypes] Add blank lines between floating point vectors with…
Tue, Apr 6, 2:52 PM
craig.topper added inline comments to D98936: [RISCV] DAG nodes and pseudo instructions for CSR access.
Tue, Apr 6, 1:51 PM · Restricted Project
craig.topper requested review of D99984: [RISCV] Prevent __builtin_riscv_orc_b_64 from being compiled RV32 target..
Tue, Apr 6, 12:19 PM · Restricted Project
craig.topper added inline comments to D99952: [X86] Initialize TargetOptions::StackProtectorGuardOffset member to its default value.
Tue, Apr 6, 10:59 AM · Restricted Project
craig.topper added a comment to D99682: [SelectionDAG] Teach SelectionDAG::FoldConstantArithmetic to handle SPLAT_VECTOR.

@david-arm, you wrote LGTM, but didn't accept the revision. Do I need someone else to approve?

Tue, Apr 6, 10:51 AM · Restricted Project
craig.topper accepted D99742: [RISCV][Clang] Add RVV Type-Convert intrinsic functions..

LGTM

Tue, Apr 6, 10:48 AM · Restricted Project
craig.topper accepted D99963: [RISCV][Clang] Add RVV merge intrinsic functions..

LGTM

Tue, Apr 6, 10:29 AM · Restricted Project
craig.topper accepted D99741: [RISCV][Clang] Add some RVV Floating-Point intrinsic functions. (vfclass, vfmerge, vfrec7, vfrsqrt7, vfsqrt).

LGTM

Tue, Apr 6, 10:22 AM · Restricted Project
craig.topper added inline comments to D99669: [RISCV][Clang] Add more RVV Floating-Point intrinsic functions..
Tue, Apr 6, 10:15 AM · Restricted Project
craig.topper added inline comments to D99526: [RISCV][Clang] Add RVV Widening Integer Add/Subtract intrinsic functions..
Tue, Apr 6, 10:06 AM · Restricted Project
craig.topper updated the diff for D99682: [SelectionDAG] Teach SelectionDAG::FoldConstantArithmetic to handle SPLAT_VECTOR.

Remove stale TODO

Tue, Apr 6, 10:00 AM · Restricted Project
craig.topper added inline comments to D99682: [SelectionDAG] Teach SelectionDAG::FoldConstantArithmetic to handle SPLAT_VECTOR.
Tue, Apr 6, 10:00 AM · Restricted Project
craig.topper added inline comments to D99708: [X86] Enable compilation of user interrupt handlers..
Tue, Apr 6, 9:57 AM · Restricted Project, Restricted Project
craig.topper added inline comments to D95588: [RISCV] Implement the MC layer support of P extension.
Tue, Apr 6, 9:55 AM · Restricted Project, Restricted Project
craig.topper committed rG3ae03f67fe41: [RISCV] Add helper function to share some of the code for isel of vector… (authored by craig.topper).
[RISCV] Add helper function to share some of the code for isel of vector…
Tue, Apr 6, 9:54 AM
craig.topper closed D99923: [RISCV] Add helper function to share some of the code for isel of vector load/store intrinsics..
Tue, Apr 6, 9:54 AM · Restricted Project
craig.topper added inline comments to D95588: [RISCV] Implement the MC layer support of P extension.
Tue, Apr 6, 9:50 AM · Restricted Project, Restricted Project
craig.topper added inline comments to D99158: [RISCV][WIP] Implement intrinsics for P extension.
Tue, Apr 6, 9:48 AM · Restricted Project, Restricted Project

Mon, Apr 5

craig.topper requested review of D99923: [RISCV] Add helper function to share some of the code for isel of vector load/store intrinsics..
Mon, Apr 5, 10:27 PM · Restricted Project