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 (390 w, 1 d)

Recent Activity

Yesterday

craig.topper added a comment to D94903: [RISCV] Implement vlxseg intrinsics..

Does this need earlyclobber? The spec says "For vector indexed segment loads, the destination vector register groups cannot overlap the source vector register group (specified by vs2), else an illegal instruction exception is raised."

Wed, Jan 20, 9:49 PM · Restricted Project
craig.topper added inline comments to D94940: [RISCV] Implement vsxseg intrinsics..
Wed, Jan 20, 9:47 PM · Restricted Project
craig.topper accepted D95113: [RISCV] Add intrinsics for RVV v1.0 VFRSQRTE7 & VFRECE7.

LGTM

Wed, Jan 20, 8:09 PM · Restricted Project
craig.topper added inline comments to D94903: [RISCV] Implement vlxseg intrinsics..
Wed, Jan 20, 8:00 PM · Restricted Project
craig.topper updated the diff for D94286: [RISCV] Add a VL output to vleff intrinsics..

-Add tests for unused results on the masked intrinsic
-Make the masked intrinsic have "side effects"
-Use the default read/write memory property instead of IntrReadMem+IntrHasSideEffects which doesn't work correctly without tablegen changes.

Wed, Jan 20, 7:14 PM · Restricted Project
craig.topper committed rG6cab3f88ee4d: [RISCV] Use update_llc_test_checks.py to regenerate check lines in vleff-rv32. (authored by craig.topper).
[RISCV] Use update_llc_test_checks.py to regenerate check lines in vleff-rv32.
Wed, Jan 20, 6:54 PM
craig.topper added inline comments to D95016: [Clang][RISCV] Add custom TableGen backend for riscv-vector intrinsics..
Wed, Jan 20, 6:43 PM · Restricted Project, Restricted Project
craig.topper requested review of D95106: [RISCV] Add isel patterns for SH*ADD(.UW).
Wed, Jan 20, 4:59 PM · Restricted Project
craig.topper updated the diff for D94999: [RISCV] Add xperm.* instructions to Zbp extension..

Rebase

Wed, Jan 20, 3:55 PM · Restricted Project
craig.topper updated the diff for D94944: [RISCV] Add support for rev8 and orc.b to Zbb..

Rebase

Wed, Jan 20, 3:53 PM · Restricted Project
craig.topper updated the diff for D94818: [RISCV] Add zext.h instruction to Zbb..

Rebase

Wed, Jan 20, 3:52 PM · Restricted Project
craig.topper updated the diff for D94742: [RISCV] Move pack instructions to Zbp extension only..

Rebase

Wed, Jan 20, 3:50 PM · Restricted Project
craig.topper updated the diff for D94736: [RISCV] Change zext.w to be an alias of add.uw rd, rs1, x0 instead of pack..

Rebase

Wed, Jan 20, 3:49 PM · Restricted Project
craig.topper updated the diff for D95090: [RISCV] Modify add.uw patterns to put the masked operand in rs1 to match 0.93 bitmanip spec..

Rebase

Wed, Jan 20, 3:48 PM · Restricted Project
craig.topper updated the diff for D94653: [RISCV] Rename Zbs instructions to start with just 'b' instead of 'sb' to match 0.93 bitmanip spec..

Rebase

Wed, Jan 20, 3:46 PM · Restricted Project
craig.topper updated the diff for D94652: [RISCV] Move Shift Ones instructions from Zbb to Zbp to match 0.93 bitmanip spec..

Rebase

Wed, Jan 20, 3:44 PM · Restricted Project
craig.topper requested changes to D76127: [TableGen] Do not set ReadOnly attribute on intrinsics with side effects.

Revoking my approval

Wed, Jan 20, 3:42 PM · Restricted Project
craig.topper updated the diff for D94637: [RISCV] Add SH*ADD(.UW) instructions to Zba extension based on 0.93 bitmanip spec..

Rebase

Wed, Jan 20, 3:41 PM · Restricted Project
craig.topper updated the diff for D94617: [RISCV] Add Zba feature and move add.uw and slli.uw to it..

Rebase

Wed, Jan 20, 3:35 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D94286: [RISCV] Add a VL output to vleff intrinsics..
Wed, Jan 20, 3:35 PM · Restricted Project
craig.topper updated the diff for D94582: [RISCV] Rename mnemonics slliu.w->slli.uw and addu.w->add.uw to match 0.93 bitmanip spec..

Remove Zba changes that accidentally got merged in the previous rebase

Wed, Jan 20, 3:32 PM · Restricted Project, Restricted Project
craig.topper updated the diff for D94637: [RISCV] Add SH*ADD(.UW) instructions to Zba extension based on 0.93 bitmanip spec..

Rebase

Wed, Jan 20, 3:18 PM · Restricted Project
craig.topper updated the diff for D94582: [RISCV] Rename mnemonics slliu.w->slli.uw and addu.w->add.uw to match 0.93 bitmanip spec..

Rebase

Wed, Jan 20, 3:16 PM · Restricted Project, Restricted Project
craig.topper updated the diff for D94582: [RISCV] Rename mnemonics slliu.w->slli.uw and addu.w->add.uw to match 0.93 bitmanip spec..

Rebase

Wed, Jan 20, 3:13 PM · Restricted Project, Restricted Project
craig.topper updated the diff for D94580: [RISCV] Swap encodings of max and minu to match 0.93 bitmanip spec..

Rebase

Wed, Jan 20, 3:09 PM · Restricted Project
craig.topper updated the diff for D94577: [RISCV] Remove addiwu, addwu, subwu, subuw, clmulw, clmulrw, clmulhw to match 0.93 bitmanip spec..

Rebase

Wed, Jan 20, 3:07 PM · Restricted Project
craig.topper updated the diff for D94568: [RISCV] Rename pcnt->cpop to match 0.93 bitmanip spec..

Rebase

Wed, Jan 20, 3:05 PM · Restricted Project
craig.topper committed rGe996f1d4194b: [RISCV] Add another isel pattern for slliu.w. (authored by craig.topper).
[RISCV] Add another isel pattern for slliu.w.
Wed, Jan 20, 2:56 PM
craig.topper committed rG0f8386c4f6aa: [RISCV] Add addu.w and slliu.w test that uses getelementptr with zero extended… (authored by craig.topper).
[RISCV] Add addu.w and slliu.w test that uses getelementptr with zero extended…
Wed, Jan 20, 2:56 PM
craig.topper requested review of D95090: [RISCV] Modify add.uw patterns to put the masked operand in rs1 to match 0.93 bitmanip spec..
Wed, Jan 20, 2:05 PM · Restricted Project
craig.topper updated the diff for D94736: [RISCV] Change zext.w to be an alias of add.uw rd, rs1, x0 instead of pack..

Rebase

Wed, Jan 20, 1:18 PM · Restricted Project
craig.topper updated the summary of D94286: [RISCV] Add a VL output to vleff intrinsics..
Wed, Jan 20, 12:51 PM · Restricted Project
craig.topper updated the diff for D94286: [RISCV] Add a VL output to vleff intrinsics..

Remove side effects from READ_VL portion. Allowing it to be deleted.

Wed, Jan 20, 12:49 PM · Restricted Project
craig.topper added inline comments to D76127: [TableGen] Do not set ReadOnly attribute on intrinsics with side effects.
Wed, Jan 20, 12:03 PM · Restricted Project
craig.topper added a comment to D76127: [TableGen] Do not set ReadOnly attribute on intrinsics with side effects.

TBH, I feel "X is readonly and has side effects" sends the wrong message to begin with. It is a contradiction (in the IR world) as basically shown by the need for this patch. Given that there are no examples in-tree I don't understand why one would mark a side-effect intrinsic as readonly (or similar). Long story short, I would argue this should be a loud error, not silently ignored.

Wed, Jan 20, 11:55 AM · Restricted Project
craig.topper accepted D76127: [TableGen] Do not set ReadOnly attribute on intrinsics with side effects.

Having just tripped over this bug again. I think we should fix this

Wed, Jan 20, 11:27 AM · Restricted Project
craig.topper accepted D95014: [RISCV] Add intrinsics for vrgatherei16 instruction.

LGTM

Wed, Jan 20, 10:45 AM · Restricted Project
craig.topper committed rG9d792fef5778: [RISCV] Remove unnecessary APInt copy. NFC (authored by craig.topper).
[RISCV] Remove unnecessary APInt copy. NFC
Wed, Jan 20, 10:34 AM
craig.topper accepted D94863: [RISCV] Implement vssseg intrinsics..

LGTM

Wed, Jan 20, 10:30 AM · Restricted Project
craig.topper accepted D94763: [RISCV] Implement vlsseg intrinsics..

LGTM

Wed, Jan 20, 10:27 AM · Restricted Project
craig.topper accepted D94688: [RISCV] Implement vsseg intrinsics..

LGTM

Wed, Jan 20, 10:22 AM · Restricted Project
craig.topper committed rGb11b6ab3e094: [RISCV] Add way to mark CompressPats that should only be used for compressing. (authored by craig.topper).
[RISCV] Add way to mark CompressPats that should only be used for compressing.
Wed, Jan 20, 9:43 AM
craig.topper closed D94894: [RISCV] Add way to mark CompressPats that should only be used for compressing..
Wed, Jan 20, 9:43 AM · Restricted Project
craig.topper added a comment to D94652: [RISCV] Move Shift Ones instructions from Zbb to Zbp to match 0.93 bitmanip spec..

Changes look good but, like you, I can't see that these instructions are in that section (or any section for that matter). We can keep an eye on the issue you filed and approve once it's confirmed?

Wed, Jan 20, 9:11 AM · Restricted Project
craig.topper added a comment to D94653: [RISCV] Rename Zbs instructions to start with just 'b' instead of 'sb' to match 0.93 bitmanip spec..

What are the implications of having the renamed Zbe instructions in what we'll advertise as 0.93?

Wed, Jan 20, 9:08 AM · Restricted Project
craig.topper added a comment to D94637: [RISCV] Add SH*ADD(.UW) instructions to Zba extension based on 0.93 bitmanip spec..

LGTM. I take it the patterns can come later?

Wed, Jan 20, 9:07 AM · Restricted Project

Tue, Jan 19

craig.topper accepted D94229: [RISCV] Implement vlseg intrinsics..

LGTM to me with that one comment.

Tue, Jan 19, 8:37 PM · Restricted Project
craig.topper added inline comments to D95016: [Clang][RISCV] Add custom TableGen backend for riscv-vector intrinsics..
Tue, Jan 19, 8:33 PM · Restricted Project, Restricted Project
craig.topper added inline comments to D95016: [Clang][RISCV] Add custom TableGen backend for riscv-vector intrinsics..
Tue, Jan 19, 8:19 PM · Restricted Project, Restricted Project
craig.topper added a comment to D95016: [Clang][RISCV] Add custom TableGen backend for riscv-vector intrinsics..

This is a very incomplete review, but I need to go eat dinner

Tue, Jan 19, 7:26 PM · Restricted Project, Restricted Project
craig.topper accepted D94951: [RISCV] refactor VPatBinary (NFC).

LGTM

Tue, Jan 19, 6:57 PM · Restricted Project
craig.topper added a comment to D94951: [RISCV] refactor VPatBinary (NFC).

I'm not sure I understand what's special about vrgathere16 that needs this refactor. Can you provide an explanation?

VPatBinary helps encode LMUL in the instruction name,
but for vrgatherei16 it needs to encode both LMUL & EMUL in the instruction name,
like PseudoVRGATHEREI16_VV_M1_M1, and PseudoVRGATHEREI16_VV_M1_M2.
Here is my patch for vrgatherei16 based on the NFC patch https://reviews.llvm.org/D95014

Tue, Jan 19, 6:57 PM · Restricted Project
craig.topper committed rGe75a4b6ea9e9: [RISCV] Remove NotHasStdExtZbb predicate from zext.h/sext.b/sext.h InstAliases. (authored by craig.topper).
[RISCV] Remove NotHasStdExtZbb predicate from zext.h/sext.b/sext.h InstAliases.
Tue, Jan 19, 2:37 PM
craig.topper requested review of D95002: [RISCV] Update B extension version to 0.93..
Tue, Jan 19, 2:16 PM · Restricted Project
craig.topper requested review of D94999: [RISCV] Add xperm.* instructions to Zbp extension..
Tue, Jan 19, 1:27 PM · Restricted Project
craig.topper updated the diff for D94944: [RISCV] Add support for rev8 and orc.b to Zbb..

Rebase

Tue, Jan 19, 12:33 PM · Restricted Project
craig.topper updated the diff for D94818: [RISCV] Add zext.h instruction to Zbb..

Fix comment

Tue, Jan 19, 12:32 PM · Restricted Project
craig.topper added a reviewer for D94944: [RISCV] Add support for rev8 and orc.b to Zbb.: kito-cheng.
Tue, Jan 19, 12:17 PM · Restricted Project
craig.topper updated the summary of D94818: [RISCV] Add zext.h instruction to Zbb..
Tue, Jan 19, 12:17 PM · Restricted Project
craig.topper updated the diff for D94818: [RISCV] Add zext.h instruction to Zbb..

Modify to use the same approach as rev8 and orc.b patch

Tue, Jan 19, 12:13 PM · Restricted Project
craig.topper committed rGce8b3937ddad: [RISCV] Add DAG combine to turn (setcc X, 1, setne) -> (setcc X, 0, seteq) if… (authored by craig.topper).
[RISCV] Add DAG combine to turn (setcc X, 1, setne) -> (setcc X, 0, seteq) if…
Tue, Jan 19, 11:23 AM
craig.topper closed D94730: [RISCV] Add DAG combine to turn (setcc X, 1, setne) -> (setcc X, 0, seteq) if we can prove X is 0/1..
Tue, Jan 19, 11:22 AM · Restricted Project
craig.topper updated the diff for D94894: [RISCV] Add way to mark CompressPats that should only be used for compressing..

Consistently use isCompressOnly = true

Tue, Jan 19, 10:58 AM · Restricted Project
craig.topper added inline comments to D94763: [RISCV] Implement vlsseg intrinsics..
Tue, Jan 19, 10:12 AM · Restricted Project
craig.topper added a comment to D94951: [RISCV] refactor VPatBinary (NFC).

I'm not sure I understand what's special about vrgathere16 that needs this refactor. Can you provide an explanation?

Tue, Jan 19, 10:08 AM · Restricted Project
craig.topper accepted D94590: [RISCV] Add ISel patterns for scalable mask exts & truncs.

LGTM with that one comment.

Tue, Jan 19, 10:00 AM · Restricted Project
craig.topper added reviewers for D94895: [X86] Add experimental option to separately tune alignment of innermost loops: pengfei, RKSimon.
Tue, Jan 19, 9:55 AM · Restricted Project
craig.topper added inline comments to D94894: [RISCV] Add way to mark CompressPats that should only be used for compressing..
Tue, Jan 19, 4:48 AM · Restricted Project

Mon, Jan 18

craig.topper added inline comments to D94688: [RISCV] Implement vsseg intrinsics..
Mon, Jan 18, 11:45 PM · Restricted Project
craig.topper added inline comments to D94229: [RISCV] Implement vlseg intrinsics..
Mon, Jan 18, 11:38 PM · Restricted Project
craig.topper added inline comments to D94229: [RISCV] Implement vlseg intrinsics..
Mon, Jan 18, 11:29 PM · Restricted Project
craig.topper accepted D94694: [RISCV] Add scalable-vector integer extension patterns.

LGTM

Mon, Jan 18, 11:29 PM · Restricted Project
craig.topper requested review of D94944: [RISCV] Add support for rev8 and orc.b to Zbb..
Mon, Jan 18, 9:24 PM · Restricted Project
craig.topper accepted D94589: [RISCV] Add intrinsics for vector AMO instructions.

LGTM

Mon, Jan 18, 7:30 PM · Restricted Project
craig.topper updated the diff for D94818: [RISCV] Add zext.h instruction to Zbb..

Check operands of zext.h in rv32zbb-valid.s

Mon, Jan 18, 6:04 PM · Restricted Project
craig.topper added a comment to D94894: [RISCV] Add way to mark CompressPats that should only be used for compressing..

My instinct is this should be a priority to match InstAlias; is there ever any overlap?

After this patch, uncompressing is a 1:1 mapping. In the compress direction there are multiple patterns that map to the same sequence. There are also multiple patterns that start from ADD for example. Overlaps seem to be handled by Register classes like GPRNoX0 and by immediate predicates. If a priority is needed, I believe it would be needed in the compress direction, not the uncompress direction.

Right, yes, which corresponds to the InstAlias direction that corresponds to the priority (InstAlias, at least to me, is conceptually the other way round to CompressPat). I wasn't particularly thinking; decompression is of course a (total) function, that's how a lot of cores implement decoding compressed instructions.

Mon, Jan 18, 6:00 PM · Restricted Project
craig.topper accepted D93767: [RISCV] Legalize select when Zbt extension available.

LGTM

Mon, Jan 18, 4:03 PM · Restricted Project
craig.topper committed rG1c3145915364: [RISCV] Remove empty Sched instantiations from the end of InstAlias defs. NFCI (authored by craig.topper).
[RISCV] Remove empty Sched instantiations from the end of InstAlias defs. NFCI
Mon, Jan 18, 2:22 PM
craig.topper updated the diff for D94286: [RISCV] Add a VL output to vleff intrinsics..

-Rebase
-Add PseudoReadVL expansion. Remove string from Pseudo in .td.

Mon, Jan 18, 12:05 PM · Restricted Project
craig.topper committed rG79e798aca38b: Recommit "[RISCV] Add a test of vector sadd.overflow to demonstrate intrinsics… (authored by craig.topper).
Recommit "[RISCV] Add a test of vector sadd.overflow to demonstrate intrinsics…
Mon, Jan 18, 11:17 AM
craig.topper added a reverting change for rG2c51bef76cbf: [RISCV] Add a test of vector sadd.overflow to demonstrate intrinsics with…: rG5d431c3d32c7: Revert "[RISCV] Add a test of vector sadd.overflow to demonstrate intrinsics….
Mon, Jan 18, 11:01 AM
craig.topper committed rG5d431c3d32c7: Revert "[RISCV] Add a test of vector sadd.overflow to demonstrate intrinsics… (authored by craig.topper).
Revert "[RISCV] Add a test of vector sadd.overflow to demonstrate intrinsics…
Mon, Jan 18, 11:01 AM
craig.topper added a reverting change for D94149: [RISCV] Add a partial test of vector sadd.overflow to demonstrate intrinsics with multiple scalable vector results.: rG5d431c3d32c7: Revert "[RISCV] Add a test of vector sadd.overflow to demonstrate intrinsics….
Mon, Jan 18, 11:01 AM · Restricted Project
craig.topper added a comment to D94149: [RISCV] Add a partial test of vector sadd.overflow to demonstrate intrinsics with multiple scalable vector results..

I've committed a modified version of this patch that uses both results.

Mon, Jan 18, 10:44 AM · Restricted Project
craig.topper committed rG2c51bef76cbf: [RISCV] Add a test of vector sadd.overflow to demonstrate intrinsics with… (authored by craig.topper).
[RISCV] Add a test of vector sadd.overflow to demonstrate intrinsics with…
Mon, Jan 18, 10:44 AM
craig.topper closed D94149: [RISCV] Add a partial test of vector sadd.overflow to demonstrate intrinsics with multiple scalable vector results..
Mon, Jan 18, 10:43 AM · Restricted Project
craig.topper accepted D94916: [ScalarizeMaskedMemIntrin] Add missing dependency.

LGTM

Mon, Jan 18, 10:25 AM · Restricted Project
craig.topper added inline comments to D94590: [RISCV] Add ISel patterns for scalable mask exts & truncs.
Mon, Jan 18, 10:21 AM · Restricted Project
craig.topper added a comment to D94894: [RISCV] Add way to mark CompressPats that should only be used for compressing..

My instinct is this should be a priority to match InstAlias; is there ever any overlap?

Mon, Jan 18, 9:33 AM · Restricted Project
craig.topper committed rG383b6501ffed: [RISCV] Use tail agnostic policy for instructions with tied defs if the use… (authored by craig.topper).
[RISCV] Use tail agnostic policy for instructions with tied defs if the use…
Mon, Jan 18, 12:14 AM
craig.topper closed D94566: [RISCV] Use tail agnostic policy for instructions with tied defs if the use operand is IMPLICIT_DEF..
Mon, Jan 18, 12:13 AM · Restricted Project

Sun, Jan 17

craig.topper committed rGcfec6cd50c36: [IR] Allow scalable vectors in structs to support intrinsics returning multiple… (authored by craig.topper).
[IR] Allow scalable vectors in structs to support intrinsics returning multiple…
Sun, Jan 17, 11:46 PM
craig.topper closed D94142: [IR] Allow scalable vectors in structs to support intrinsics returning multiple values..
Sun, Jan 17, 11:46 PM · Restricted Project
craig.topper added inline comments to D94883: [CodeGen][SelectionDAG]Add new intrinsic experimental.vector.reverse.
Sun, Jan 17, 9:29 PM · Restricted Project
craig.topper updated the diff for D94894: [RISCV] Add way to mark CompressPats that should only be used for compressing..

Add test updates

Sun, Jan 17, 9:17 PM · Restricted Project
craig.topper requested review of D94894: [RISCV] Add way to mark CompressPats that should only be used for compressing..
Sun, Jan 17, 9:15 PM · Restricted Project
craig.topper added a comment to D93789: Add accessors for MCSubtargetInfo CPU and Feature tables.

I’m not against this, but do want to mention the help text is incorrect for x86-64. It lists CPUs that don’t support 64-bit. Using one of those CPUs will trigger a fatal error. A better list is fillValidCPUList from X86TargetParser.cpp in lib/Support. It takes a mode argument. That’s the interface clang uses.

Sun, Jan 17, 9:17 AM · Restricted Project

Sat, Jan 16

craig.topper committed rG061f681c0dfa: [RISCV] Remove an extra map lookup from RISCVCompressInstEmitter. NFC (authored by craig.topper).
[RISCV] Remove an extra map lookup from RISCVCompressInstEmitter. NFC
Sat, Jan 16, 9:30 PM
craig.topper committed rG1327c730bb9a: [RISCV] Few more minor cleanups to RISCVCompressInstEmitter. NFC (authored by craig.topper).
[RISCV] Few more minor cleanups to RISCVCompressInstEmitter. NFC
Sat, Jan 16, 9:30 PM
craig.topper committed rG2b6a92625fdf: [RISCV] Simplify mergeCondAndCode in RISCVCompressInstEmitter.cpp. NFC (authored by craig.topper).
[RISCV] Simplify mergeCondAndCode in RISCVCompressInstEmitter.cpp. NFC
Sat, Jan 16, 9:30 PM