Sander De Smalen via llvm-dev
2017-Oct-19 15:42 UTC
[llvm-dev] RFC: AArch64 SVE Assembler/Disassembler patches
Thanks Alex! We thought it would be good to start sharing the more mechanical parts of our SVE work, separate from more involved topics like IR and Codegen. Hopefully the assembler/disassembler patches will give some visibility into the available instructions (other than just pointing to specification/documentation). Most of these assembler/disassembler patches are functionally quite simple, the only thing is that there is a quite a lot of them, so it may take some time before all are reviewed/merged. Perhaps one of the things I'm hoping to get feedback is if these patches are of the right size and have the right level of description. For instance, I wasn't sure if splitting out e.g. patch 4 (out of 5) is any useful. But I’m open to any feedback people may have. Other than that, I also wanted to inform about the series of patches that I’ll be putting on Phabricator the coming months with some pointers to the SVE spec (for reference). Sander On 19/10/2017, 14:44, "Alex Bradbury" <asb at lowrisc.org> wrote: On 19 October 2017 at 05:12, Sander De Smalen via llvm-dev <llvm-dev at lists.llvm.org> wrote: > Hi, > > > > Probably a lot of you are attending interesting talks at LLVM Dev meeting > this week, so I hope this message isn't completely lost in all the > excitement. > > > > In the past month we have carved off our changes to LLVM's > assembler/disassembler that implement the AArch64 SVE instruction set [1]. > These changes are split these up into individual patches that purely focus > on the assembler and disassembler and have no link to the IR (yet). We would > like to start sharing these patches with upstream LLVM. > > > > I have made a best effort to split these changes into small, manageable > patches (or patch sets) that can be reviewed and applied individually over > time, where each patch/patch-set aims to add a new instruction (or variant > or addressing mode for an instruction). Each patch-set has corresponding > tests to cover the added instruction. > > > > A first set of patches that implement SVE (unpredicated) ADD/SUB > instructions can be found in Phabricator: > > - https://reviews.llvm.org/D39087 > > - https://reviews.llvm.org/D39088 > > - https://reviews.llvm.org/D39089 > > - https://reviews.llvm.org/D39090 > > - https://reviews.llvm.org/D39091 > > > > Please let me know if you have any comments or suggestions to make > sharing/reviewing these patches easier. I'm open to any feedback to get > patches in the right shape! Hi Sander, I'm glad to see progress towards getting SVE support upstream. Compared to codegen, I would hope it's really quite easy to get these reviewed and merged (i.e. I don't see any reason why it should be more difficult than the AArch64v8.3 additions). From a quick skim of the patchset, it seems sensible (AArch64 regulars can review the fine details - I added a few comments on the last patch). Was there a specific aspect of the patches + approach taken that you were looking for feedback on? Best, Alex IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Florian Hahn via llvm-dev
2017-Oct-19 16:58 UTC
[llvm-dev] RFC: AArch64 SVE Assembler/Disassembler patches
Hi, Thanks for sharing the initial patches Sander and thanks Alex for taking a look already! Also, Graham and myself will host a Hackers Lab table to discuss how to best add support for SVE to LLVM today from 4:40pm - 6:25pm. On 19/10/2017 16:42, Sander De Smalen via llvm-dev wrote:> Thanks Alex! > > We thought it would be good to start sharing the more mechanical parts of our SVE work, separate from more involved topics like IR and Codegen. Hopefully the assembler/disassembler patches will give some visibility into the available instructions (other than just pointing to specification/documentation). Most of these assembler/disassembler patches are functionally quite simple, the only thing is that there is a quite a lot of them, so it may take some time before all are reviewed/merged. > > Perhaps one of the things I'm hoping to get feedback is if these patches are of the right size and have the right level of description. For instance, I wasn't sure if splitting out e.g. patch 4 (out of 5) is any useful. But I’m open to any feedback people may have.I think it would be good to give a description/explanation of the change in the review description.> Other than that, I also wanted to inform about the series of patches that I’ll be putting on Phabricator the coming months with some pointers to the SVE spec (for reference). >Cheers, Florian
Renato Golin via llvm-dev
2017-Oct-20 20:39 UTC
[llvm-dev] RFC: AArch64 SVE Assembler/Disassembler patches
On 19 October 2017 at 17:58, Florian Hahn via llvm-dev <llvm-dev at lists.llvm.org> wrote:> I think it would be good to give a description/explanation of the change in > the review description.+1, it's really hard to understand the intention just by the title. A few tips: - Add links between the patchs in phab, helps review the whole series in one go. (Edit Related Revisions). - Describe what the single patch does. If there are things that it should do but are in another patch, mention that. - In the first patch, you can be a bit more creative. Describe what the series do in addition to the first one. Add the following patches numbers in the comments, too, so people can click directly at the header. cheers, --renato