- User Since
- May 18 2016, 6:13 AM (186 w, 1 d)
- Refactored SelectRDVLImm and SelectShiftImm into same function by adding a extra template argument for Shift.
- Added default to switch in IsSVECntIntrinsic
Wed, Dec 11
Tue, Dec 10
Mon, Dec 9
Fri, Dec 6
Thu, Dec 5
Added check to do nothing in combine if before legalisation.
Remove IR patterns for non-immediate forms.
SVE while intrinsics have been added in D69059, updated this patch to only add SVE2 while intrinsics.
Wed, Dec 4
Use LLVMMatchType in CNTP intrinsic definition.
Tue, Dec 3
@mgudim I've created a patch (D70909) also implementing these intrinsics but I was unaware of this patch, sorry about that. Can this be merged now? I can update D70909 to only add the SVE2 intrinsics .
Mon, Dec 2
Oct 4 2019
Oct 3 2019
Sep 30 2019
Looks like a pretty straightforward change. Might be worth waiting a day or so before committing incase anyone else has any comments.
Sep 9 2019
Sep 4 2019
- Rebased since parent patch landed.
- Moved SVE comment after @greened suggestion.
Sep 3 2019
Aug 27 2019
Aug 22 2019
- Used existing masked.load intrinsic in .ll test that checks the verifier catches bad type when passing a fixed-width vector where a scalable is expected.
- Removed definition of abs and neg intrinsics that were previously used in the above test, these are implemented in the follow-up patch.
- Updated call to CreateIntrinsic in IRBuilderTest to make types argument empty for call to fp-convert intrinsic, only required for overloaded types.
Aug 19 2019
Aug 16 2019
@greened sorry for the delayed response, thanks for taking a look at this.
- Moved the intrinsic implementation for abs/neg (without codegen) from D65931 so this patch can be tested.
- Added tests for IRBuilder to test scalable vectors work as expected when using intrinsics through the IRBuilder interface. This required implementing an intrinsic that is explicitly defined with scalable vectors, e.g. LLVMType<nxv4i32>, an SVE floating-point convert intrinsic was used for this. Also tested the behaviour of the overloaded type LLVMScalarOrSameVectorWidth with scalable vectors using the existing masked load intrinsic.
- Replace uses of getNumElements with getElementCount when handling intrinsic type LLVMScalarOrSameVectorWidth so it can correctly support scalable vectors.
- Added an .ll test to test the Verifier catches a bad intrinsic argument when passing a fixed-width predicate (mask) to the abs intrinsic where a scalable is expected.
Aug 8 2019
I've posted a follow-up patch (D65931) to Phabricator that tests this functionality by implementing intrinsics for a couple of SVE arithmetic instructions.
Aug 6 2019
Aug 5 2019
Aug 2 2019
@ostannard Thanks for review!
Jul 31 2019
- Improved tests
- Fixed up comments