Page MenuHomePhabricator

simon_tatham (Simon Tatham)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 12 2017, 1:23 AM (102 w, 21 h)

Recent Activity

Today

simon_tatham created D63814: [TableGen] Allow DAG isel patterns to override default operands..
Wed, Jun 26, 5:23 AM · Restricted Project
simon_tatham added inline comments to D60709: [ARM] Support inline assembler constraints for MVE..
Wed, Jun 26, 1:31 AM · Restricted Project, Restricted Project

Yesterday

simon_tatham committed rGe8de8ba6a637: [ARM] Support inline assembler constraints for MVE. (authored by simon_tatham).
[ARM] Support inline assembler constraints for MVE.
Tue, Jun 25, 9:51 AM
simon_tatham committed rGa4b415a6839b: [ARM] Code-generation infrastructure for MVE. (authored by simon_tatham).
[ARM] Code-generation infrastructure for MVE.
Tue, Jun 25, 9:50 AM
simon_tatham updated the summary of D60708: [ARM] Code-generation infrastructure for MVE..
Tue, Jun 25, 8:11 AM · Restricted Project
simon_tatham updated the diff for D60709: [ARM] Support inline assembler constraints for MVE..

Rebased this patch to current trunk, and also fixed a test failure by adding arm_aapcs_vfpcc to the test functions that use MVE vector types (since we can't support passing vector types in GPRs until we get all the operations like build_vector and insert_element fully supported).

Tue, Jun 25, 8:11 AM · Restricted Project, Restricted Project
simon_tatham updated the diff for D60708: [ARM] Code-generation infrastructure for MVE..

Revised this patch to work properly with all the other MVE-related changes we've been making.

Tue, Jun 25, 8:11 AM · Restricted Project
simon_tatham committed rGec18f0f64c54: [ARM] Re-enable misspelled RUN: lines in fullfp16.s. (authored by simon_tatham).
[ARM] Re-enable misspelled RUN: lines in fullfp16.s.
Tue, Jun 25, 6:20 AM
simon_tatham committed rG287f0403e310: [ARM] Fix buildbot failure due to -Werror. (authored by simon_tatham).
[ARM] Fix buildbot failure due to -Werror.
Tue, Jun 25, 5:26 AM
simon_tatham committed rGd9654723ad85: [ARM] Extra MVE-related testing. (authored by simon_tatham).
[ARM] Extra MVE-related testing.
Tue, Jun 25, 4:31 AM
simon_tatham committed rG4cf18c284955: [ARM] Explicit lowering of half <-> double conversions. (authored by simon_tatham).
[ARM] Explicit lowering of half <-> double conversions.
Tue, Jun 25, 4:31 AM
simon_tatham committed rG86b7a1e660b5: [ARM] Add remaining miscellaneous MVE instructions. (authored by simon_tatham).
[ARM] Add remaining miscellaneous MVE instructions.
Tue, Jun 25, 4:26 AM
simon_tatham committed rGe6824160dd6f: [ARM] Add MVE vector load/store instructions. (authored by simon_tatham).
[ARM] Add MVE vector load/store instructions.
Tue, Jun 25, 4:25 AM
simon_tatham updated the diff for D62681: [ARM] Add remaining miscellaneous MVE instructions..

Addressed all review comments.

Tue, Jun 25, 2:28 AM · Restricted Project
simon_tatham added inline comments to D62681: [ARM] Add remaining miscellaneous MVE instructions..
Tue, Jun 25, 2:27 AM · Restricted Project
simon_tatham updated the diff for D62680: [ARM] Add MVE vector load/store instructions..

Addressed all review comments, I think.

Tue, Jun 25, 1:51 AM · Restricted Project
simon_tatham added inline comments to D62680: [ARM] Add MVE vector load/store instructions..
Tue, Jun 25, 1:51 AM · Restricted Project

Mon, Jun 24

simon_tatham closed D63650: [ARM] Add MVE interleaving load/store family..

I committed this this morning as rL364172, but accidentally left off the Phabricator footer (sorry). Now closing.

Mon, Jun 24, 9:10 AM · Restricted Project
simon_tatham updated the diff for D62680: [ARM] Add MVE vector load/store instructions..

Minor revisions to this patch: changed a couple of legacy t2rGPR into rGPR (after the former was withdrawn during code review of D63650). Also added a small knock-on fix in checkTargetMatchPredicate, preventing an assertion failure in a check that was specific to rGPR.

Mon, Jun 24, 9:08 AM · Restricted Project
simon_tatham added an edge to rGfe8017621ea5: [ARM] Add MVE interleaving load/store family.: D63650: [ARM] Add MVE interleaving load/store family..
Mon, Jun 24, 9:08 AM
simon_tatham added 1 commit(s) for D63650: [ARM] Add MVE interleaving load/store family.: rGfe8017621ea5: [ARM] Add MVE interleaving load/store family..
Mon, Jun 24, 9:08 AM · Restricted Project
simon_tatham updated the diff for D62680: [ARM] Add MVE vector load/store instructions..

Reworked the remaining loads and stores to address review comments, implement consistent naming of instruction ids, and tidy up the Tablegen so that it's hopefully halfway readable.

Mon, Jun 24, 5:56 AM · Restricted Project
simon_tatham updated the diff for D62681: [ARM] Add remaining miscellaneous MVE instructions..

Updated instruction spellings in line with intended consistent MVE practice, and also reworked the WLSTP/DLSTP and LETP/LCTP definitions to remove pointless !if from the base classes. (In particular, the instructions that don't have a label field in the encoding now don't have one in their Tablegen defs either.)

Mon, Jun 24, 4:04 AM · Restricted Project
simon_tatham committed rGfe8017621ea5: [ARM] Add MVE interleaving load/store family. (authored by simon_tatham).
[ARM] Add MVE interleaving load/store family.
Mon, Jun 24, 3:04 AM

Fri, Jun 21

simon_tatham updated the diff for D63650: [ARM] Add MVE interleaving load/store family..

Addressed all review comments.

Fri, Jun 21, 9:00 AM · Restricted Project
simon_tatham added inline comments to D63650: [ARM] Add MVE interleaving load/store family..
Fri, Jun 21, 9:00 AM · Restricted Project
simon_tatham added a comment to D62680: [ARM] Add MVE vector load/store instructions..

I've decided this patch is too large to manage all in one go. Also, the interleaving family of loads (VLD20 and friends) share essentially no infrastructure with the VLDR family, so that seems like a natural place to split the patch in two.

Fri, Jun 21, 7:30 AM · Restricted Project
simon_tatham created D63650: [ARM] Add MVE interleaving load/store family..
Fri, Jun 21, 7:29 AM · Restricted Project
simon_tatham committed rG0c7af66450ba: [ARM] Add MVE 64-bit GPR <-> vector move instructions. (authored by simon_tatham).
[ARM] Add MVE 64-bit GPR <-> vector move instructions.
Fri, Jun 21, 6:18 AM
simon_tatham committed rGbafb105e9697: [ARM] Add MVE vector instructions that take a scalar input. (authored by simon_tatham).
[ARM] Add MVE vector instructions that take a scalar input.
Fri, Jun 21, 6:18 AM
simon_tatham closed D62679: [ARM] Add MVE 64-bit GPR <-> vector move instructions..
Fri, Jun 21, 6:18 AM · Restricted Project
simon_tatham closed D62678: [ARM] Add MVE vector instructions that take a scalar input..
Fri, Jun 21, 6:18 AM · Restricted Project
simon_tatham updated the diff for D62678: [ARM] Add MVE vector instructions that take a scalar input..

Revised the VIDUP immediate operand handling so as to draw a distinction between the general concept 'power of 2 which is encoded as a left-shift count in the instruction', and the specific case used in VIDUP which takes a fixed range of inputs and has a custom DiagnosticString as you suggested that explains what it's used for.

Fri, Jun 21, 5:35 AM · Restricted Project
simon_tatham committed rGa6b6a15701c8: [ARM] Add a batch of similarly encoded MVE instructions. (authored by simon_tatham).
[ARM] Add a batch of similarly encoded MVE instructions.
Fri, Jun 21, 5:14 AM
simon_tatham updated the diff for D62677: [ARM] Add a batch of similarly encoded MVE instructions..

Addressed review comment about Mnemonic.startswith("vmul"), and also updated this patch to use the existing NEON complex rotation operands (with matching change in the test to expect the new nicer error messages).

Fri, Jun 21, 4:43 AM · Restricted Project
simon_tatham committed rG7d76f8acf00b: [ARM] Add MVE vector compare instructions. (authored by simon_tatham).
[ARM] Add MVE vector compare instructions.
Fri, Jun 21, 4:12 AM
simon_tatham updated the diff for D62676: [ARM] Add MVE vector compare instructions..

Added tests for invalid condition codes, and also added custom DiagnosticStrings that improve the error messages.

Fri, Jun 21, 3:03 AM · Restricted Project
simon_tatham committed rGc9b2cd4674c0: [ARM] Add a batch of MVE floating-point instructions. (authored by simon_tatham).
[ARM] Add a batch of MVE floating-point instructions.
Fri, Jun 21, 2:34 AM
simon_tatham closed D62675: [ARM] Add a batch of MVE floating-point instructions..
Fri, Jun 21, 2:33 AM · Restricted Project
simon_tatham updated the diff for D62675: [ARM] Add a batch of MVE floating-point instructions..

Removed the new operand classes for complex rotation, and added new operand classes for fixed-point VCVT immediates which do the error checking.

Fri, Jun 21, 1:48 AM · Restricted Project
simon_tatham added inline comments to D62675: [ARM] Add a batch of MVE floating-point instructions..
Fri, Jun 21, 1:46 AM · Restricted Project

Thu, Jun 20

simon_tatham committed rG232db1102048: [ARM] Add a batch of MVE integer instructions. (authored by simon_tatham).
[ARM] Add a batch of MVE integer instructions.
Thu, Jun 20, 8:15 AM
simon_tatham closed D62674: [ARM] Add a batch of MVE integer instructions..
Thu, Jun 20, 8:15 AM · Restricted Project
simon_tatham added a comment to D62680: [ARM] Add MVE vector load/store instructions..

(I'm still working on the rest of your review comments)

Thu, Jun 20, 6:37 AM · Restricted Project
simon_tatham updated the diff for D62679: [ARM] Add MVE 64-bit GPR <-> vector move instructions..

Updated instruction id naming in line with intended MVE policy. Also added a comment explaining the complicated MC operand-juggling for these instructions with tricky asm syntax.

Thu, Jun 20, 5:53 AM · Restricted Project
simon_tatham updated the diff for D62678: [ARM] Add MVE vector instructions that take a scalar input..

Renamed instruction records in line with the intended MVE naming policy. Also generally tidied up while I was going along, by creating multiclasses and merging pairs of base classes where it saved space.

Thu, Jun 20, 5:36 AM · Restricted Project
simon_tatham updated the diff for D62677: [ARM] Add a batch of similarly encoded MVE instructions..

Updated to rename instruction classes in line with the general MVE policy. Also, I spotted some instructions lurking in the middle of this section of ARMInstrMVE.td which aren't derived from the MVE_qDest_qSrc base class, so they should have been part of earlier patches. Moved them into D62674 and D62675 where they belong.

Thu, Jun 20, 5:02 AM · Restricted Project
simon_tatham updated the diff for D62675: [ARM] Add a batch of MVE floating-point instructions..

Added the floating-point VMINNMA / VMAXNMA instructions to this patch, which were mistakenly included in D62677 despite not being derived from the latter patch's shared base class.

Thu, Jun 20, 5:00 AM · Restricted Project
simon_tatham updated the diff for D62674: [ARM] Add a batch of MVE integer instructions..

Added the integer VMINA / VMAXA instructions to this patch, which were
mistakenly included in D62677 despite not being derived from the
latter patch's shared base class.

Thu, Jun 20, 4:59 AM · Restricted Project
simon_tatham updated the diff for D62676: [ARM] Add MVE vector compare instructions..

Updated to rename instruction classes in line with the general MVE policy. Also improved the custom decoder function for the VCMP family, by eliminating the huge secondary switch inside it on the opcode (instead we now pass in template parameters from Tablegen, which already knew what the opcode should be) and adding a comment explaining why that function even needs to be there.

Thu, Jun 20, 3:01 AM · Restricted Project
simon_tatham updated the diff for D62675: [ARM] Add a batch of MVE floating-point instructions..

Renamed instruction ids in line with the new policy (start with MVE_ and don't refer to opaque ArmARM encoding indices).

Thu, Jun 20, 2:55 AM · Restricted Project
simon_tatham updated the diff for D62674: [ARM] Add a batch of MVE integer instructions..

Addressed all review comments. In particular, completely removed the mve.fp test run from the mve-integer.s test file, because it was only there due to copy and paste error (I split all these tests out of one far-too-big input file with a single set of run commands).

Thu, Jun 20, 2:49 AM · Restricted Project
simon_tatham added inline comments to D62674: [ARM] Add a batch of MVE integer instructions..
Thu, Jun 20, 2:48 AM · Restricted Project

Wed, Jun 19

simon_tatham committed rG2f5188fd5894: [ARM] Add MVE vector bit-operations (register inputs). (authored by simon_tatham).
[ARM] Add MVE vector bit-operations (register inputs).
Wed, Jun 19, 9:43 AM
simon_tatham updated the diff for D62673: [ARM] Add MVE vector bit-operations (register inputs)..

Addressed minor review comments (isVectorIndex family, pointless
suffixes on size{1-0} and similar). Also, fixed the incomprehensible
mess of MVE vector indices by rewriting the MVE_VMOV_lane class
hierarchy completely: by splitting it up in the other order (first by
lane size, then by transfer direction) I managed to arrange that the
lane index operand becomes a perfectly normal integer which doesn't
even need custom encode/decode methods at all.

Wed, Jun 19, 8:58 AM · Restricted Project
simon_tatham added inline comments to D62673: [ARM] Add MVE vector bit-operations (register inputs)..
Wed, Jun 19, 7:53 AM · Restricted Project
simon_tatham updated the diff for D62674: [ARM] Add a batch of MVE integer instructions..

Updated to current trunk, and renamed instruction ids in line with new
consistent MVE_ prefix.

Wed, Jun 19, 2:08 AM · Restricted Project
simon_tatham updated the diff for D62673: [ARM] Add MVE vector bit-operations (register inputs)..

Updated to current trunk, and renamed all the instruction classes in line with the new policy of having them all begin MVE_ for consistency.

Wed, Jun 19, 1:33 AM · Restricted Project

Tue, Jun 18

simon_tatham committed rGcfc70782d7e1: [ARM] Add MVE vector shift instructions. (authored by simon_tatham).
[ARM] Add MVE vector shift instructions.
Tue, Jun 18, 9:19 AM
simon_tatham committed rGfaaf1a536631: [ARM] Add MVE integer vector min/max instructions. (authored by simon_tatham).
[ARM] Add MVE integer vector min/max instructions.
Tue, Jun 18, 8:50 AM
simon_tatham added a comment to D63255: [ARM] Select MVE add and sub.

Simon already mentioned that we could put the patterns into the instructions if we can sort out things like default class parameters.

Tue, Jun 18, 8:19 AM · Restricted Project
simon_tatham committed rGed4a60251529: [ARM] Rename MVE instructions in Tablegen for consistency. (authored by simon_tatham).
[ARM] Rename MVE instructions in Tablegen for consistency.
Tue, Jun 18, 8:05 AM
simon_tatham updated the diff for D62672: [ARM] Add MVE vector shift instructions..

Renamed all instructions for consistency; removed the unnecessary intermediate class; reworked VSHLL to manage without a custom C++ decoder function.

Tue, Jun 18, 7:14 AM · Restricted Project
simon_tatham added inline comments to D62672: [ARM] Add MVE vector shift instructions..
Tue, Jun 18, 7:11 AM · Restricted Project
simon_tatham updated the diff for D62671: [ARM] Add MVE integer vector min/max instructions..

Renamed the instructions' Tablegen ids for consistency, in line with a
review comment @ostannard made on the followup patch D62672.

Tue, Jun 18, 6:39 AM · Restricted Project
simon_tatham created D63492: [ARM] Rename MVE instructions in Tablegen for consistency..
Tue, Jun 18, 6:36 AM · Restricted Project
simon_tatham updated the diff for D62671: [ARM] Add MVE integer vector min/max instructions..

Reinstated RUN: lines that vanished in a rebase error (sorry)

Tue, Jun 18, 2:25 AM · Restricted Project
simon_tatham updated the diff for D62671: [ARM] Add MVE integer vector min/max instructions..
  • Removed the pointless startswith (which I'll have to do in a lot of the rest of the series too)
  • Added multiclass as suggested
Tue, Jun 18, 2:00 AM · Restricted Project

Fri, Jun 14

simon_tatham added inline comments to D63247: [ARM] MVE VPT Block Pass.
Fri, Jun 14, 1:26 AM · Restricted Project

Thu, Jun 13

simon_tatham committed rG286e1d2c2d62: [ARM] Set up infrastructure for MVE vector instructions. (authored by simon_tatham).
[ARM] Set up infrastructure for MVE vector instructions.
Thu, Jun 13, 6:13 AM
simon_tatham updated the diff for D62669: [ARM] Set up infrastructure for MVE vector instructions..

I think this revision addresses all the previous review comments. In
particular, IT and VPT mask handling is now identical, because
IT handling was simplified by D63219 (which also introduced that
helper function @ostannard asked for to do the mask bit extraction).

Thu, Jun 13, 3:48 AM · Restricted Project
simon_tatham added a comment to D63219: [ARM] Refactor handling of IT mask operands..

(The patch as committed differs from the reviewed one by one trivial change: I spotted a compiler warning that I must have missed yesterday, and removed a no-longer-needed variable initialisation.)

Thu, Jun 13, 3:02 AM · Restricted Project
simon_tatham committed rG848d3d0d2c45: [ARM] Refactor handling of IT mask operands. (authored by simon_tatham).
[ARM] Refactor handling of IT mask operands.
Thu, Jun 13, 2:59 AM

Wed, Jun 12

simon_tatham created D63219: [ARM] Refactor handling of IT mask operands..
Wed, Jun 12, 9:36 AM · Restricted Project
simon_tatham added inline comments to D62669: [ARM] Set up infrastructure for MVE vector instructions..
Wed, Jun 12, 2:28 AM · Restricted Project

Tue, Jun 11

simon_tatham added inline comments to D62669: [ARM] Set up infrastructure for MVE vector instructions..
Tue, Jun 11, 7:59 AM · Restricted Project
simon_tatham updated the diff for D60709: [ARM] Support inline assembler constraints for MVE..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:30 AM · Restricted Project, Restricted Project
simon_tatham updated the diff for D60708: [ARM] Code-generation infrastructure for MVE..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:30 AM · Restricted Project
simon_tatham updated the diff for D60692: [ARM] Explicit lowering of half <-> double conversions..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:30 AM · Restricted Project
simon_tatham updated the diff for D62681: [ARM] Add remaining miscellaneous MVE instructions..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:30 AM · Restricted Project
simon_tatham updated the diff for D62682: [ARM] Extra MVE-related testing..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:30 AM · Restricted Project
simon_tatham updated the diff for D62679: [ARM] Add MVE 64-bit GPR <-> vector move instructions..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:30 AM · Restricted Project
simon_tatham updated the diff for D62680: [ARM] Add MVE vector load/store instructions..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:30 AM · Restricted Project
simon_tatham updated the diff for D62678: [ARM] Add MVE vector instructions that take a scalar input..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:27 AM · Restricted Project
simon_tatham updated the diff for D62677: [ARM] Add a batch of similarly encoded MVE instructions..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:27 AM · Restricted Project
simon_tatham updated the diff for D62676: [ARM] Add MVE vector compare instructions..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:27 AM · Restricted Project
simon_tatham updated the diff for D62675: [ARM] Add a batch of MVE floating-point instructions..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:27 AM · Restricted Project
simon_tatham updated the diff for D62674: [ARM] Add a batch of MVE integer instructions..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:27 AM · Restricted Project
simon_tatham updated the diff for D62671: [ARM] Add MVE integer vector min/max instructions..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:27 AM · Restricted Project
simon_tatham updated the diff for D62672: [ARM] Add MVE vector shift instructions..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:27 AM · Restricted Project
simon_tatham updated the diff for D62670: [ARM] Add MVE horizontal accumulation instructions..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:27 AM · Restricted Project
simon_tatham updated the diff for D62673: [ARM] Add MVE vector bit-operations (register inputs)..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:27 AM · Restricted Project
simon_tatham updated the diff for D62669: [ARM] Set up infrastructure for MVE vector instructions..

Remastered patch to apply cleanly against current trunk.

Tue, Jun 11, 5:27 AM · Restricted Project
simon_tatham committed rG14241378d3ce: [ARM] Fix unused-variable warning in rL363039. (authored by simon_tatham).
[ARM] Fix unused-variable warning in rL363039.
Tue, Jun 11, 3:07 AM
simon_tatham committed rG8c865cacda64: [ARM] Add the non-MVE instructions in Arm v8.1-M. (authored by simon_tatham).
[ARM] Add the non-MVE instructions in Arm v8.1-M.
Tue, Jun 11, 2:27 AM
simon_tatham updated the diff for D62667: [ARM] Add the non-MVE instructions in Arm v8.1-M..

Right. Sorry about the mess. I've reopened this review, and uploaded a
fresh patch which adds the missing pieces of the AddrModeT2_i7s4
addressing mode so that the vldr and vstr instructions won't cause
a build failure. Also addressed Sam's remaining review comment by
refactoring reasonForFixupRelaxation.

Tue, Jun 11, 1:52 AM · Restricted Project

Mon, Jun 10

simon_tatham reopened D62667: [ARM] Add the non-MVE instructions in Arm v8.1-M..

I had to revert this work because it was missing a piece which caused build failures. (Sorry about that – next time I'll check more carefully which other patches I have in my local git checkout when I run the tests before pushing.)

Mon, Jun 10, 9:28 AM · Restricted Project
simon_tatham committed rG67065c5c7055: Revert rL362953 and its followup rL362955. (authored by simon_tatham).
Revert rL362953 and its followup rL362955.
Mon, Jun 10, 8:58 AM
simon_tatham added inline comments to D62667: [ARM] Add the non-MVE instructions in Arm v8.1-M..
Mon, Jun 10, 8:46 AM · Restricted Project
simon_tatham committed rG42078d41d592: [ARM] Add the non-MVE instructions in Arm v8.1-M. (authored by simon_tatham).
[ARM] Add the non-MVE instructions in Arm v8.1-M.
Mon, Jun 10, 8:42 AM