Page MenuHomePhabricator

c-rhodes (Cullen Rhodes)
User

Projects

User does not belong to any projects.

User Details

User Since
May 18 2016, 6:13 AM (186 w, 1 d)

Recent Activity

Yesterday

c-rhodes added inline comments to D71014: [AArc64][SVE] Fold constant multiply of element count.
Thu, Dec 12, 6:44 AM · Restricted Project
c-rhodes updated the diff for D71014: [AArc64][SVE] Fold constant multiply of element count.
  • Refactored SelectRDVLImm and SelectShiftImm into same function by adding a extra template argument for Shift.
  • Added default to switch in IsSVECntIntrinsic
Thu, Dec 12, 6:42 AM · Restricted Project
c-rhodes added inline comments to D71370: [AArch64][SVE] Add integer arithmetic with immediate instructions..
Thu, Dec 12, 5:10 AM · Restricted Project
c-rhodes committed rGbbd16b687641: [AArch64][SVE] Remove nxv1f32 and nxv1f64 as legal types (authored by c-rhodes).
[AArch64][SVE] Remove nxv1f32 and nxv1f64 as legal types
Thu, Dec 12, 1:50 AM
c-rhodes closed D71351: [AArch64][SVE] Remove nxv1f32 and nxv1f64 as legal types.
Thu, Dec 12, 1:50 AM · Restricted Project
c-rhodes created D71401: [AArch64][SVE] Add permutation and selection intrinsics.
Thu, Dec 12, 1:39 AM · Restricted Project

Wed, Dec 11

c-rhodes created D71351: [AArch64][SVE] Remove nxv1f32 and nxv1f64 as legal types.
Wed, Dec 11, 6:12 AM · Restricted Project
c-rhodes added a comment to D71298: [AArch64][SVE] Add patterns for scalable vselect.

On a sort of related note, AArch64ISelLowering.cpp says that MVT::nxv1f32 and MVT::nxv1f64 are also legal? Do we plan to implement isel patterns for them?

Wed, Dec 11, 5:40 AM · Restricted Project

Tue, Dec 10

c-rhodes committed rG1b9a608c8440: [AArch64][SVE] Add wide compare immediate patterns (authored by c-rhodes).
[AArch64][SVE] Add wide compare immediate patterns
Tue, Dec 10, 3:00 AM
c-rhodes closed D71009: [AArch64][SVE] Add wide compare immediate patterns.
Tue, Dec 10, 2:59 AM · Restricted Project

Mon, Dec 9

c-rhodes updated the diff for D71009: [AArch64][SVE] Add wide compare immediate patterns.

Refactor switch.

Mon, Dec 9, 3:46 AM · Restricted Project

Fri, Dec 6

c-rhodes committed rG2c63e8e36df0: [AArch64] Fix a bug with jump table generation (authored by c-rhodes).
[AArch64] Fix a bug with jump table generation
Fri, Dec 6, 6:39 AM
c-rhodes closed D70533: [AArch64] Fix a bug with jump table generation.
Fri, Dec 6, 6:38 AM · Restricted Project
c-rhodes committed rGb31a531f9bbf: [AArch64][SVE2] Implement while comparison intrinsics (authored by c-rhodes).
[AArch64][SVE2] Implement while comparison intrinsics
Fri, Dec 6, 3:44 AM
c-rhodes closed D70909: [AArch64][SVE2] Implement while comparison intrinsics.
Fri, Dec 6, 3:43 AM · Restricted Project
c-rhodes committed rGbb8c679f4bf2: [AArch64][SVE] Implement integer compare intrinsics (authored by c-rhodes).
[AArch64][SVE] Implement integer compare intrinsics
Fri, Dec 6, 3:16 AM
c-rhodes closed D70889: [AArch64][SVE] Implement integer compare intrinsics.
Fri, Dec 6, 3:16 AM · Restricted Project

Thu, Dec 5

c-rhodes added inline comments to D71009: [AArch64][SVE] Add wide compare immediate patterns.
Thu, Dec 5, 10:05 AM · Restricted Project
c-rhodes updated the diff for D71009: [AArch64][SVE] Add wide compare immediate patterns.

Added check to do nothing in combine if before legalisation.

Thu, Dec 5, 9:57 AM · Restricted Project
c-rhodes updated the diff for D70889: [AArch64][SVE] Implement integer compare intrinsics.

Remove IR patterns for non-immediate forms.

Thu, Dec 5, 8:37 AM · Restricted Project
c-rhodes added a comment to D70889: [AArch64][SVE] Implement integer compare intrinsics.

No testcases for the "IR" (setcc) patterns?

Thu, Dec 5, 8:28 AM · Restricted Project
c-rhodes updated the diff for D70909: [AArch64][SVE2] Implement while comparison intrinsics.

SVE while intrinsics have been added in D69059, updated this patch to only add SVE2 while intrinsics.

Thu, Dec 5, 4:41 AM · Restricted Project
c-rhodes committed rGf0355bc4d151: [AArch64][SVE] Implement element count intrinsics (authored by c-rhodes).
[AArch64][SVE] Implement element count intrinsics
Thu, Dec 5, 2:30 AM
c-rhodes closed D70967: [AArch64][SVE] Implement element count intrinsics.
Thu, Dec 5, 2:30 AM · Restricted Project

Wed, Dec 4

c-rhodes added a parent revision for D71014: [AArc64][SVE] Fold constant multiply of element count: D70967: [AArch64][SVE] Implement element count intrinsics.
Wed, Dec 4, 6:43 AM · Restricted Project
c-rhodes created D71014: [AArc64][SVE] Fold constant multiply of element count.
Wed, Dec 4, 6:43 AM · Restricted Project
c-rhodes added a child revision for D70967: [AArch64][SVE] Implement element count intrinsics: D71014: [AArc64][SVE] Fold constant multiply of element count.
Wed, Dec 4, 6:43 AM · Restricted Project
c-rhodes added a parent revision for D71009: [AArch64][SVE] Add wide compare immediate patterns: D70889: [AArch64][SVE] Implement integer compare intrinsics.
Wed, Dec 4, 5:48 AM · Restricted Project
c-rhodes created D71009: [AArch64][SVE] Add wide compare immediate patterns.
Wed, Dec 4, 5:48 AM · Restricted Project
c-rhodes added a child revision for D70889: [AArch64][SVE] Implement integer compare intrinsics: D71009: [AArch64][SVE] Add wide compare immediate patterns.
Wed, Dec 4, 5:48 AM · Restricted Project
c-rhodes updated the diff for D70967: [AArch64][SVE] Implement element count intrinsics.

Use LLVMMatchType in CNTP intrinsic definition.

Wed, Dec 4, 4:52 AM · Restricted Project
c-rhodes added inline comments to D70967: [AArch64][SVE] Implement element count intrinsics.
Wed, Dec 4, 4:25 AM · Restricted Project
c-rhodes committed rG201d91daad4f: [AArch64][SVE] Implement reversal intrinsics (authored by c-rhodes).
[AArch64][SVE] Implement reversal intrinsics
Wed, Dec 4, 4:07 AM
c-rhodes closed D70960: [AArch64][SVE] Implement reversal intrinsics.
Wed, Dec 4, 4:07 AM · Restricted Project
c-rhodes committed rG17e537bc580b: [NFC] Use default case in EVT::getEVTString (authored by c-rhodes).
[NFC] Use default case in EVT::getEVTString
Wed, Dec 4, 3:12 AM
c-rhodes closed D70955: [NFC] Use default case in EVT::getEVTString.
Wed, Dec 4, 3:11 AM · Restricted Project

Tue, Dec 3

c-rhodes created D70967: [AArch64][SVE] Implement element count intrinsics.
Tue, Dec 3, 9:18 AM · Restricted Project
c-rhodes added a comment to D69059: [SVE][AArch64] Adding patterns for while intrinsics.

@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 .

Tue, Dec 3, 6:31 AM · Restricted Project
c-rhodes created D70960: [AArch64][SVE] Implement reversal intrinsics.
Tue, Dec 3, 6:04 AM · Restricted Project
c-rhodes created D70955: [NFC] Use default case in EVT::getEVTString.
Tue, Dec 3, 4:59 AM · Restricted Project

Mon, Dec 2

c-rhodes created D70909: [AArch64][SVE2] Implement while comparison intrinsics.
Mon, Dec 2, 9:02 AM · Restricted Project
c-rhodes created D70889: [AArch64][SVE] Implement integer compare intrinsics.
Mon, Dec 2, 3:09 AM · Restricted Project

Oct 4 2019

c-rhodes committed rGeae7ed479b7a: [Driver] NFC: Remove duplicate call to getLibGccType (authored by c-rhodes).
[Driver] NFC: Remove duplicate call to getLibGccType
Oct 4 2019, 1:27 AM
c-rhodes committed rL373712: [Driver] NFC: Remove duplicate call to getLibGccType.
[Driver] NFC: Remove duplicate call to getLibGccType
Oct 4 2019, 1:26 AM
c-rhodes closed D68380: [Driver] NFC: Remove duplicate call to getLibGccType.
Oct 4 2019, 1:26 AM · Restricted Project, Restricted Project

Oct 3 2019

c-rhodes set the repository for D68380: [Driver] NFC: Remove duplicate call to getLibGccType to rC Clang.
Oct 3 2019, 2:14 AM · Restricted Project, Restricted Project
c-rhodes created D68380: [Driver] NFC: Remove duplicate call to getLibGccType.
Oct 3 2019, 2:13 AM · Restricted Project, Restricted Project

Sep 30 2019

c-rhodes accepted D68023: [AArch64][SVE] Implement int_aarch64_sve_cnt intrinsic.

LGTM

Sep 30 2019, 8:27 AM · Restricted Project
c-rhodes accepted D68021: [IntrinsicEmitter] Add overloaded type VecOfBitcastsToInt for SVE intrinsics.

Looks like a pretty straightforward change. Might be worth waiting a day or so before committing incase anyone else has any comments.

Sep 30 2019, 8:04 AM · Restricted Project

Sep 9 2019

c-rhodes committed rG55244beeee8a: [AArch64][SVE] Implement abs and neg intrinsics (authored by c-rhodes).
[AArch64][SVE] Implement abs and neg intrinsics
Sep 9 2019, 4:22 AM
c-rhodes committed rL371388: [AArch64][SVE] Implement abs and neg intrinsics.
[AArch64][SVE] Implement abs and neg intrinsics
Sep 9 2019, 4:20 AM
c-rhodes closed D65931: [AArch64][SVE] Implement abs and neg intrinsics.
Sep 9 2019, 4:19 AM · Restricted Project

Sep 4 2019

c-rhodes added inline comments to D65931: [AArch64][SVE] Implement abs and neg intrinsics.
Sep 4 2019, 2:19 AM · Restricted Project
c-rhodes updated the diff for D65931: [AArch64][SVE] Implement abs and neg intrinsics.
  • Rebased since parent patch landed.
  • Moved SVE comment after @greened suggestion.
Sep 4 2019, 2:16 AM · Restricted Project

Sep 3 2019

c-rhodes committed rL370747: Request commit access for c-rhodes.
Request commit access for c-rhodes
Sep 3 2019, 4:52 AM

Aug 27 2019

c-rhodes committed rL370053: [IntrinsicEmitter] Support scalable vectors in intrinsics.
[IntrinsicEmitter] Support scalable vectors in intrinsics
Aug 27 2019, 6:08 AM
c-rhodes committed rG2ba5d64a80d0: [IntrinsicEmitter] Support scalable vectors in intrinsics (authored by c-rhodes).
[IntrinsicEmitter] Support scalable vectors in intrinsics
Aug 27 2019, 5:58 AM
c-rhodes closed D65930: [IntrinsicEmitter] Support scalable vectors in intrinsics.
Aug 27 2019, 5:58 AM · Restricted Project

Aug 22 2019

c-rhodes added inline comments to D65930: [IntrinsicEmitter] Support scalable vectors in intrinsics.
Aug 22 2019, 7:59 AM · Restricted Project
c-rhodes updated the diff for D65930: [IntrinsicEmitter] Support scalable vectors in intrinsics.
  • 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 22 2019, 7:29 AM · Restricted Project
c-rhodes added inline comments to D65930: [IntrinsicEmitter] Support scalable vectors in intrinsics.
Aug 22 2019, 3:50 AM · Restricted Project

Aug 19 2019

c-rhodes added a comment to D65931: [AArch64][SVE] Implement abs and neg intrinsics.

Is it worth adding in ISD::ABS support here ?

Aug 19 2019, 9:00 AM · Restricted Project

Aug 16 2019

c-rhodes added a comment to D65931: [AArch64][SVE] Implement abs and neg intrinsics.

@greened sorry for the delayed response, thanks for taking a look at this.

Aug 16 2019, 3:48 AM · Restricted Project
c-rhodes updated the diff for D65930: [IntrinsicEmitter] Support scalable vectors in intrinsics.
  • 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 16 2019, 3:41 AM · Restricted Project

Aug 8 2019

c-rhodes added a comment to D65930: [IntrinsicEmitter] Support scalable vectors in intrinsics.

Specifically to assert that passing a fixed-width vector where a scalable vector is expected (and vice-versa), fails.

Aug 8 2019, 6:45 AM · Restricted Project
c-rhodes added a comment to D65930: [IntrinsicEmitter] Support scalable vectors in intrinsics.

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 8 2019, 2:38 AM · Restricted Project
c-rhodes added a child revision for D65930: [IntrinsicEmitter] Support scalable vectors in intrinsics: D65931: [AArch64][SVE] Implement abs and neg intrinsics.
Aug 8 2019, 2:32 AM · Restricted Project
c-rhodes added a parent revision for D65931: [AArch64][SVE] Implement abs and neg intrinsics: D65930: [IntrinsicEmitter] Support scalable vectors in intrinsics.
Aug 8 2019, 2:32 AM · Restricted Project
c-rhodes created D65930: [IntrinsicEmitter] Support scalable vectors in intrinsics.
Aug 8 2019, 2:31 AM · Restricted Project
c-rhodes created D65931: [AArch64][SVE] Implement abs and neg intrinsics.
Aug 8 2019, 2:31 AM · Restricted Project

Aug 6 2019

c-rhodes committed rGced419f4d76a: [SelectionDAG] Extend base addressing modes supported by MGATHER/MSCATTER (authored by c-rhodes).
[SelectionDAG] Extend base addressing modes supported by MGATHER/MSCATTER
Aug 6 2019, 2:49 AM
c-rhodes committed rL368008: [SelectionDAG] Extend base addressing modes supported by MGATHER/MSCATTER.
[SelectionDAG] Extend base addressing modes supported by MGATHER/MSCATTER
Aug 6 2019, 2:49 AM
c-rhodes closed D65636: [SelectionDAG] Extend base addressing modes supported by MGATHER/MSCATTER.
Aug 6 2019, 2:49 AM · Restricted Project

Aug 5 2019

c-rhodes committed rG2a4817637350: [AArch64] Implement initial SVE calling convention support (authored by c-rhodes).
[AArch64] Implement initial SVE calling convention support
Aug 5 2019, 6:46 AM
c-rhodes committed rL367859: [AArch64] Implement initial SVE calling convention support.
[AArch64] Implement initial SVE calling convention support
Aug 5 2019, 6:43 AM
c-rhodes closed D65448: [AArch64] Implement initial SVE calling convention support.
Aug 5 2019, 6:43 AM · Restricted Project

Aug 2 2019

c-rhodes added a comment to D65448: [AArch64] Implement initial SVE calling convention support.

@ostannard Thanks for review!

Aug 2 2019, 1:28 AM · Restricted Project
c-rhodes created D65636: [SelectionDAG] Extend base addressing modes supported by MGATHER/MSCATTER.
Aug 2 2019, 1:22 AM · Restricted Project

Jul 31 2019

c-rhodes updated the diff for D65448: [AArch64] Implement initial SVE calling convention support.
  • Improved tests
  • Fixed up comments
Jul 31 2019, 8:15 AM · Restricted Project
c-rhodes committed rG1518c88a7d44: [AArch64][SVE2] Load/store instruction fixes (authored by c-rhodes).
[AArch64][SVE2] Load/store instruction fixes
Jul 31 2019, 2:11 AM
c-rhodes committed rL367398: [AArch64][SVE2] Load/store instruction fixes.
[AArch64][SVE2] Load/store instruction fixes
Jul 31 2019, 2:11 AM
c-rhodes closed D65392: [AArch64][SVE2] Load/store instruction fixes.
Jul 31 2019, 2:11 AM · Restricted Project
c-rhodes committed rG17230e026df7: [AArch64][SVE2] Minor refactoring and cleanup (authored by c-rhodes).
[AArch64][SVE2] Minor refactoring and cleanup
Jul 31 2019, 1:59 AM
c-rhodes committed rL367396: [AArch64][SVE2] Minor refactoring and cleanup.
[AArch64][SVE2] Minor refactoring and cleanup
Jul 31 2019, 1:58 AM
c-rhodes closed D65390: [AArch64][SVE2] Minor refactoring and cleanup.
Jul 31 2019, 1:57 AM · Restricted Project
c-rhodes committed rGe8eb8b9c3adb: [AArch64][SVE2] Use destination register as source register (authored by c-rhodes).
[AArch64][SVE2] Use destination register as source register
Jul 31 2019, 1:47 AM
c-rhodes committed rL367394: [AArch64][SVE2] Use destination register as source register.
[AArch64][SVE2] Use destination register as source register
Jul 31 2019, 1:45 AM
c-rhodes closed D65389: [AArch64][SVE2] Use destination register as source register.
Jul 31 2019, 1:45 AM · Restricted Project

Jul 30 2019

c-rhodes created D65448: [AArch64] Implement initial SVE calling convention support.
Jul 30 2019, 6:50 AM · Restricted Project
c-rhodes added a child revision for D47770: [MVT][SVE] Add EVT strings and Type mapping: D65448: [AArch64] Implement initial SVE calling convention support.
Jul 30 2019, 6:50 AM · Restricted Project
c-rhodes added a parent revision for D65448: [AArch64] Implement initial SVE calling convention support: D47770: [MVT][SVE] Add EVT strings and Type mapping.
Jul 30 2019, 6:50 AM · Restricted Project
c-rhodes committed rG3db0ad8a3035: [AArch64][AsmParser] Remove SVE and SVE2 from ARMTargetParser (authored by c-rhodes).
[AArch64][AsmParser] Remove SVE and SVE2 from ARMTargetParser
Jul 30 2019, 12:50 AM
c-rhodes committed rL367292: [AArch64][AsmParser] Remove SVE and SVE2 from ARMTargetParser.
[AArch64][AsmParser] Remove SVE and SVE2 from ARMTargetParser
Jul 30 2019, 12:48 AM
c-rhodes closed D65385: [AArch64][AsmParser] Remove SVE and SVE2 from ARMTargetParser.
Jul 30 2019, 12:48 AM · Restricted Project
c-rhodes added a comment to D65385: [AArch64][AsmParser] Remove SVE and SVE2 from ARMTargetParser.

Right, ArchExtKind was supposed to be shared between Arm and AArch64, but that ship has sailed a long time ago. LGTM, thanks!

Jul 30 2019, 12:28 AM · Restricted Project

Jul 29 2019

c-rhodes created D65392: [AArch64][SVE2] Load/store instruction fixes.
Jul 29 2019, 7:36 AM · Restricted Project
c-rhodes created D65390: [AArch64][SVE2] Minor refactoring and cleanup.
Jul 29 2019, 7:36 AM · Restricted Project
Herald added a reviewer for D65385: [AArch64][AsmParser] Remove SVE and SVE2 from ARMTargetParser: rengolin.
Jul 29 2019, 7:36 AM · Restricted Project
c-rhodes created D65389: [AArch64][SVE2] Use destination register as source register.
Jul 29 2019, 7:36 AM · Restricted Project

Jul 26 2019

c-rhodes committed rG2cde8b5db62c: [AArch64][SVE2] Rename bitperm feature to sve2-bitperm (authored by c-rhodes).
[AArch64][SVE2] Rename bitperm feature to sve2-bitperm
Jul 26 2019, 8:59 AM