Page MenuHomePhabricator

sdesmalen (Sander de Smalen)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 21 2016, 1:19 AM (142 w, 5 d)

Recent Activity

Today

sdesmalen added a comment to D64739: [SVE][Inline-Asm] Add support to clang for SVE inline assembly.

Functionally the patch looks good, but the title suggests this adds full inline-asm support for SVE (which would require the ACLE types proposed in D62960, as well as other changes), where this patch only adds support to specify SVE registers in the clobber list.

Wed, Jul 17, 9:24 AM · Restricted Project

Tue, Jul 2

sdesmalen accepted D64079: Scalable Vector IR Type (Try 3).

LGTM.

Tue, Jul 2, 11:56 PM · Restricted Project

Thu, Jun 27

sdesmalen added a comment to D63507: Teach TableGen Intrin Emitter to handle LLVMPointerType<llvm_any_ty>.

The patch already landed, but also adding my LGTM. It seems like a case that I missed in my previous patch, thanks for fixing!

Thu, Jun 27, 8:40 AM · Restricted Project

Thu, Jun 20

sdesmalen added a comment to D63507: Teach TableGen Intrin Emitter to handle LLVMPointerType<llvm_any_ty>.

Can someone take a look at this?
@sdesmalen in particular, I'd love it if you could take a look since you're the author of this code.

Thanks, I definitely want to take a look but I’m currently traveling without access to my laptop, so I won’t be able to properly review it until Wednesday.

Thu, Jun 20, 3:22 PM · Restricted Project

Jun 17 2019

sdesmalen updated the diff for D59259: [AArch64] Use faddp to implement fadd reductions..
  • Rebased patch.
  • Following D60261, the scalar accumulator is either folded away or added separately as a scalar value, and so this patch only needs to focus on optimising the vector reduction itself.
Jun 17 2019, 5:12 AM
sdesmalen added a comment to D63189: Test forward references in IntrinsicEmitter on Neon LD(2|3|4).

Agreed - lets keep it in a single commit - thanks for checking. LGTM

Thanks @RKSimon!

Jun 17 2019, 4:59 AM · Restricted Project
sdesmalen committed rG74ac20158a06: Test forward references in IntrinsicEmitter on Neon LD(2|3|4) (authored by sdesmalen).
Test forward references in IntrinsicEmitter on Neon LD(2|3|4)
Jun 17 2019, 4:59 AM
sdesmalen accepted D63321: [SVE][IR] Scalable Vector IR Type with pr42210 fix.

Removing the recursion solves the compile-time issue and still catches all invalid cases.
LGTM.

Jun 17 2019, 4:07 AM · Restricted Project
sdesmalen committed rG5d6ee76c1634: Describe stack-id as an enum (authored by sdesmalen).
Describe stack-id as an enum
Jun 17 2019, 2:12 AM

Jun 14 2019

sdesmalen added a comment to D63189: Test forward references in IntrinsicEmitter on Neon LD(2|3|4).

is it worth committing the test file with current (trunk) output so this patch shows the diff?

The output is expected not to change from this patch. I ran this test with current trunk and it passes, which confirms the behaviour doesn't change with this patch applied.
Not sure if there is still any benefit in committing this test separately then?

Jun 14 2019, 2:48 AM · Restricted Project

Jun 13 2019

sdesmalen committed rG51c2fa0e2ac1: Improve reduction intrinsics by overloading result value. (authored by sdesmalen).
Improve reduction intrinsics by overloading result value.
Jun 13 2019, 2:37 AM
sdesmalen added a comment to D62995: [IntrinsicEmitter] Extend argument overloading with forward references..

LGTM with nit

Thanks for the review!

Jun 13 2019, 1:18 AM · Restricted Project
sdesmalen committed rG7957fc6547e1: [IntrinsicEmitter] Extend argument overloading with forward references. (authored by sdesmalen).
[IntrinsicEmitter] Extend argument overloading with forward references.
Jun 13 2019, 1:18 AM

Jun 12 2019

sdesmalen added a parent revision for D63189: Test forward references in IntrinsicEmitter on Neon LD(2|3|4): D62995: [IntrinsicEmitter] Extend argument overloading with forward references..
Jun 12 2019, 2:28 AM · Restricted Project
sdesmalen added a child revision for D62995: [IntrinsicEmitter] Extend argument overloading with forward references.: D63189: Test forward references in IntrinsicEmitter on Neon LD(2|3|4).
Jun 12 2019, 2:28 AM · Restricted Project
sdesmalen created D63189: Test forward references in IntrinsicEmitter on Neon LD(2|3|4).
Jun 12 2019, 2:28 AM · Restricted Project
sdesmalen updated the diff for D62995: [IntrinsicEmitter] Extend argument overloading with forward references..
  • Changed: return IsDeferredCheck ? true : DeferCheck(Ty); => return IsDeferredCheck || DeferCheck(Ty);
  • Use DeferredChecks.size() to determine what MatchIntrinsicTypesResult to return, instead of incorrectly relying on DeferredChecks.end() iterator.
  • Removed 'dummy' intrinsics. I will post a separate patch that tests the behaviour tested with llvm.experimental.dummy.forward.struct.ret on existing intrinsics.
Jun 12 2019, 2:20 AM · Restricted Project

Jun 11 2019

sdesmalen added inline comments to D62995: [IntrinsicEmitter] Extend argument overloading with forward references..
Jun 11 2019, 9:22 AM · Restricted Project
sdesmalen committed rG9d51fa5508ce: Fix docs build issue introduced by r363035 (authored by sdesmalen).
Fix docs build issue introduced by r363035
Jun 11 2019, 8:26 AM
sdesmalen added a comment to D60261: Change semantics of fadd/fmul vector reductions..

It looks like the documentation change may have broken the sphinx doc job (though I'm not certain it was this change, but the error comes from one of the lines this file touched): http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/32236

Thanks for pointing out, for some reason I did not get an automated email about this failure.

Jun 11 2019, 7:30 AM · Restricted Project
sdesmalen committed rGcbeb563cfb17: Change semantics of fadd/fmul vector reductions. (authored by sdesmalen).
Change semantics of fadd/fmul vector reductions.
Jun 11 2019, 1:21 AM
sdesmalen added a comment to D60261: Change semantics of fadd/fmul vector reductions..

Thanks for the review!

Jun 11 2019, 1:21 AM · Restricted Project

Jun 8 2019

sdesmalen added inline comments to D60261: Change semantics of fadd/fmul vector reductions..
Jun 8 2019, 6:40 AM · Restricted Project
sdesmalen updated the diff for D60261: Change semantics of fadd/fmul vector reductions..
  • Fixed ExpandReductions pass to use the accumulator value and updated corresponding tests.
Jun 8 2019, 6:40 AM · Restricted Project

Jun 7 2019

sdesmalen added inline comments to D62995: [IntrinsicEmitter] Extend argument overloading with forward references..
Jun 7 2019, 7:00 AM · Restricted Project
sdesmalen abandoned D59356: [SelectionDAGBuilder] Use accumulator value in VECREDUCE_FADD/FMUL.

Superseded by D60261.

Jun 7 2019, 5:30 AM
sdesmalen abandoned D60262: [Option B] Create explicit ordered/unordered reduction intrinsics for fadd/fmul..

Abandoning this revision to move ahead with D60261 instead.

Jun 7 2019, 1:16 AM
sdesmalen retitled D60261: Change semantics of fadd/fmul vector reductions. from [Option A] Change semantics of fadd/fmul vector reductions. to Change semantics of fadd/fmul vector reductions..
Jun 7 2019, 1:15 AM · Restricted Project
sdesmalen added a parent revision for D62996: Improve reduction intrinsics by overloading result value.: D62995: [IntrinsicEmitter] Extend argument overloading with forward references..
Jun 7 2019, 1:09 AM · Restricted Project
sdesmalen added a child revision for D62995: [IntrinsicEmitter] Extend argument overloading with forward references.: D62996: Improve reduction intrinsics by overloading result value..
Jun 7 2019, 1:09 AM · Restricted Project
sdesmalen created D62996: Improve reduction intrinsics by overloading result value..
Jun 7 2019, 1:08 AM · Restricted Project
sdesmalen created D62995: [IntrinsicEmitter] Extend argument overloading with forward references..
Jun 7 2019, 1:08 AM · Restricted Project

May 20 2019

sdesmalen committed rGf83cccf917c1: Match types of accumulator and result for llvm.experimental.vector.reduce. (authored by sdesmalen).
Match types of accumulator and result for llvm.experimental.vector.reduce.
May 20 2019, 2:54 AM

May 17 2019

sdesmalen added a comment to D60260: Match types of accumulator and result for llvm.experimental.vector.reduce.fadd/fmul.

This looks good, but please also update existing tests that specify three types in the intrinstic name. Here's ones I found:

  • test/CodeGen/X86/haddsub.ll
  • test/CodeGen/X86/vector-reduce-fadd-fast.ll
  • test/CodeGen/X86/vector-reduce-fadd.ll
  • test/CodeGen/X86/vector-reduce-fmul-fast.ll
  • test/CodeGen/X86/vector-reduce-fmul.ll

Good spot! I've updated these tests now.

May 17 2019, 3:21 AM · Restricted Project
sdesmalen updated the diff for D60260: Match types of accumulator and result for llvm.experimental.vector.reduce.fadd/fmul.
  • Updated more tests.
May 17 2019, 3:21 AM · Restricted Project

May 16 2019

sdesmalen added a comment to D61437: [AArch64] Static (de)allocation of SVE stack objects..

This sounds like it will report the wrong stack size in PEI for the StackSize remark and the stack size warning. Is that expected?

For now the answer is yes. One of our primary concerns at the moment is adding basic SVE spill/fill support and we appreciate the caveat that nothing in LLVM really supports the concept of scalable types yet, including offsets and sizes.

May 16 2019, 8:05 AM
sdesmalen added a comment to D61437: [AArch64] Static (de)allocation of SVE stack objects..

If the SVE spill area is below the CSRs, you can leverage the existing checks to handle stack realignment, so I don't think it's that complicated to implement. But maybe your approach requires changing fewer places.

I think you've made some compelling reasons to try the change in layout! I'll actually try this out downstream first before updating this patch, so I can run it through our SVE testing and see if there is any impact on performance or if I run into anything unexpected.

May 16 2019, 7:17 AM
sdesmalen added a comment to D61437: [AArch64] Static (de)allocation of SVE stack objects..

Ignore the bit about Windows unwinding. I remembered how it actually works; the Microsoft document is just wrong, and it's not actually necessary to allocate the frame record in any particular position on WIndows (except that it has to be somewhere that isn't allocated using _chkstk... but that wouldn't happen anyway with the layout I'm suggesting).

Thanks for clarifying!

May 16 2019, 7:17 AM
sdesmalen added a comment to D60261: Change semantics of fadd/fmul vector reductions..

Rereading the ML discussion just now, it looks like the consensus is to go with this option. Move forward?

Thanks for the prod! I've sent an update to the ML.

May 16 2019, 5:55 AM · Restricted Project

May 10 2019

sdesmalen added a comment to D32530: [SVE][IR] Scalable Vector IR Type.

What's the status of this? It seems like discussion has died down a bit. I think Graham's idea to change from <scalable 2 x float> to <vscale x 2 x float> will make the IR more readable/understandable but it's not a show-stopper for me.

While I don't want to hold up this patch, a name change to the type will be difficult to get through once the type is in and the terminology has settled, so it may be worth getting it right from the start. Personally I think <vscale x 16 x i8> is more explicit (and therefore easier to understand for those new to the type) than <scalable 16 x i8>. And now that we all have a better understanding and clear definition of scalable types, I wonder if <n x 16 x i8> instead of <vscale x 16 x i8> is worth considering again, since it is much easier to read in tests.

May 10 2019, 9:45 AM · Restricted Project
sdesmalen added a comment to D61437: [AArch64] Static (de)allocation of SVE stack objects..

Thanks for your suggestions @efriedma!

May 10 2019, 6:33 AM

May 7 2019

sdesmalen added a comment to D61435: [AArch64] NFC: Add generic StackOffset to describe scalable offsets..

I'd also add a unit test for StackOffset.

May 7 2019, 5:16 AM
sdesmalen updated the diff for D61437: [AArch64] Static (de)allocation of SVE stack objects..
  • Added more unittests for StackOffset.
May 7 2019, 5:08 AM
sdesmalen updated the diff for D61435: [AArch64] NFC: Add generic StackOffset to describe scalable offsets..
  • Added unit tests for StackOffset.
  • Moved around file comments in AArch64StackOffset.h and fixed typo.
May 7 2019, 5:04 AM

May 3 2019

sdesmalen added a comment to D61437: [AArch64] Static (de)allocation of SVE stack objects..

We've actually experimented with various layouts and eventually chose this layout for our HPC compiler.

May 3 2019, 8:52 AM
sdesmalen added inline comments to D61436: [AArch64] NFC: Generalize emitFrameOffset to support more than byte offsets..
May 3 2019, 8:25 AM
sdesmalen updated the diff for D61436: [AArch64] NFC: Generalize emitFrameOffset to support more than byte offsets..

Added several asserts.

May 3 2019, 8:20 AM

May 2 2019

sdesmalen added parent revisions for D61437: [AArch64] Static (de)allocation of SVE stack objects.: D61436: [AArch64] NFC: Generalize emitFrameOffset to support more than byte offsets., D61435: [AArch64] NFC: Add generic StackOffset to describe scalable offsets..
May 2 2019, 5:39 AM
sdesmalen added a child revision for D61435: [AArch64] NFC: Add generic StackOffset to describe scalable offsets.: D61437: [AArch64] Static (de)allocation of SVE stack objects..
May 2 2019, 5:39 AM
sdesmalen added a child revision for D61436: [AArch64] NFC: Generalize emitFrameOffset to support more than byte offsets.: D61437: [AArch64] Static (de)allocation of SVE stack objects..
May 2 2019, 5:39 AM
sdesmalen added a child revision for D61435: [AArch64] NFC: Add generic StackOffset to describe scalable offsets.: D61436: [AArch64] NFC: Generalize emitFrameOffset to support more than byte offsets..
May 2 2019, 5:39 AM
sdesmalen added a parent revision for D61436: [AArch64] NFC: Generalize emitFrameOffset to support more than byte offsets.: D61435: [AArch64] NFC: Add generic StackOffset to describe scalable offsets..
May 2 2019, 5:39 AM
sdesmalen created D61437: [AArch64] Static (de)allocation of SVE stack objects..
May 2 2019, 5:38 AM
sdesmalen created D61435: [AArch64] NFC: Add generic StackOffset to describe scalable offsets..
May 2 2019, 5:38 AM
sdesmalen created D61436: [AArch64] NFC: Generalize emitFrameOffset to support more than byte offsets..
May 2 2019, 5:38 AM

Apr 30 2019

sdesmalen added a comment to D61262: [AArch64] Implement MC support for Scalable Vector Extension 2 (SVE2).

@SjoerdMeijer Yes the patch is indeed quite substantial in size :) In contrast to the original SVE MC patches though, these changes are only new TableGen instruction definitions and encoding classes, corresponding (dis)assembler tests and a few flags. For example, there aren't any code changes to e.g. implement/parse new operand types.

Apr 30 2019, 1:33 AM · Restricted Project

Apr 12 2019

sdesmalen accepted D60545: [DAGCombiner] narrow shuffle of concatenated vectors.

LGTM. The compiler will have more opportunity to use cheaper shuffles if part of the (sub)vector is undef, so this looks like a general improvement.

Apr 12 2019, 6:32 AM · Restricted Project

Apr 11 2019

sdesmalen added a comment to D60545: [DAGCombiner] narrow shuffle of concatenated vectors.

From looking at the A57 scheduler model in LLVM this seems like an improvement, with for example VUZPq taking twice as long as VUZPd. But in general I could imagine shuffles on shorter vectors to be cheaper.
It will probably also be easier to spot that one of concatenated subvectors becomes fully undef after doing the shuffling on the subvector first.

Apr 11 2019, 9:05 AM · Restricted Project
sdesmalen committed rG4f5d2df48d57: [ValueTracking] Change if-else chain into switch in computeKnownBitsFromAssume (authored by sdesmalen).
[ValueTracking] Change if-else chain into switch in computeKnownBitsFromAssume
Apr 11 2019, 6:03 AM

Apr 10 2019

sdesmalen committed rG0e66db5d7718: Improve compile-time performance in computeKnownBitsFromAssume. (authored by sdesmalen).
Improve compile-time performance in computeKnownBitsFromAssume.
Apr 10 2019, 9:24 AM
sdesmalen added a comment to D60504: NFC: Improve pattern matching in computeKnownBitsFromAssume..

Thanks @spatel. I'll also create a follow-up patch to use a switch statement as you suggested!

Apr 10 2019, 9:23 AM · Restricted Project
sdesmalen updated the diff for D60504: NFC: Improve pattern matching in computeKnownBitsFromAssume..
  • Removed redundant checks for predicate value.
  • Renamed ArgV to Cmp
Apr 10 2019, 8:36 AM · Restricted Project
sdesmalen added a comment to D60504: NFC: Improve pattern matching in computeKnownBitsFromAssume..

We found a case where repeated calls into computeKnownBits(FromAssume) skyrocketed our build-times after we added a call to llvm.assume after vectorized loops to describe the range of a newly introduced induction variable, causing some builds to time-out.
Because the 'less then' or 'less then equal' case was way down this list in this function, it had to go through all the matching calls. Unfortunately I don't have any real numbers to back this up, because we did this work a while ago.

Apr 10 2019, 8:36 AM · Restricted Project
sdesmalen created D60504: NFC: Improve pattern matching in computeKnownBitsFromAssume..
Apr 10 2019, 4:48 AM · Restricted Project

Apr 5 2019

sdesmalen added a comment to D59259: [AArch64] Use faddp to implement fadd reductions..

ping!

Apr 5 2019, 8:57 AM

Apr 4 2019

sdesmalen updated the diff for D60137: Describe stack-id as an enum.
  • Renamed sgpr_spill -> sgpr-spill.
  • Renamed TargetStackID::SGPR_Spill -> TargetStackID::SGPRSpill.
Apr 4 2019, 8:48 AM · Restricted Project
sdesmalen created D60262: [Option B] Create explicit ordered/unordered reduction intrinsics for fadd/fmul..
Apr 4 2019, 5:51 AM
sdesmalen created D60261: Change semantics of fadd/fmul vector reductions..
Apr 4 2019, 5:51 AM · Restricted Project
sdesmalen created D60260: Match types of accumulator and result for llvm.experimental.vector.reduce.fadd/fmul.
Apr 4 2019, 5:26 AM · Restricted Project
sdesmalen committed rG772e4734d9d6: [AArch64][AsmParser] Fix .arch_extension directive parsing (authored by sdesmalen).
[AArch64][AsmParser] Fix .arch_extension directive parsing
Apr 4 2019, 2:12 AM

Apr 3 2019

sdesmalen added inline comments to D60137: Describe stack-id as an enum.
Apr 3 2019, 4:55 AM · Restricted Project
sdesmalen added a comment to D60137: Describe stack-id as an enum.

This is definitely nicer, thanks for working on it.

I have two concerns about this though:

  • we're going from a target-specific "namespace" to a target-independent one, which means in this case that no other target can use the stack id 1
  • we're exposing target-specific names and enums in the target-independent code

Thanks! Yes, you're right that exposing the target-specific names/enums in target-independent code is less desirable, although note that this happens in some other places in LLVM as well; think for example of the enum in CallingConv. I made the trade-off to use the enum for several reasons:

  • By using an enum way we don't get target-specific MIR parsing of common properties.
  • If we want to make it target-independent, we'll need to manually parse it as a string and we lose out on out-of-the box YAML parsing, printing, verification and diagnostics of having an enum value.
  • If the value needs to be a string, it will have ugly quotes around it :)
  • At the moment there seems to be only very limited use of stack-id, in trunk only the AMDGPU target as far as I know. Unless we care deeply about allowing to programatically generate a range of stack-ids at compile-time (with their meaning only known at compile-time), I don't think it is much of a limitation to have a single namespace.
Apr 3 2019, 4:55 AM · Restricted Project

Apr 2 2019

sdesmalen created D60137: Describe stack-id as an enum.
Apr 2 2019, 9:29 AM · Restricted Project
sdesmalen committed rG7f23e0a62fc9: Enforce StackID definition in PEI (authored by sdesmalen).
Enforce StackID definition in PEI
Apr 2 2019, 2:47 AM
sdesmalen added a comment to D60062: Enforce StackID definition in PEI.

Thanks!

Apr 2 2019, 2:43 AM · Restricted Project

Apr 1 2019

sdesmalen created D60062: Enforce StackID definition in PEI.
Apr 1 2019, 5:46 AM · Restricted Project

Mar 27 2019

sdesmalen removed 2 commit(s) for D59636: [AArch64][SVE] Asm: error on unexpected SVE vector register type suffix: rG90d1b551e19a: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal, rL357064: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal.
Mar 27 2019, 10:30 AM · Restricted Project
sdesmalen removed an edge from rL357064: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal: D59636: [AArch64][SVE] Asm: error on unexpected SVE vector register type suffix.
Mar 27 2019, 10:30 AM
sdesmalen removed an edge from rG90d1b551e19a: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal: D59636: [AArch64][SVE] Asm: error on unexpected SVE vector register type suffix.
Mar 27 2019, 10:30 AM
sdesmalen closed D59635: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal.

Closing this patch manually. I accidentally changed the last digit to be D59636 when I committed this patch :)

Mar 27 2019, 10:26 AM
sdesmalen committed rGe1eab42f65f2: [AArch64][SVE] Asm: error on unexpected SVE vector register type suffix (authored by sdesmalen).
[AArch64][SVE] Asm: error on unexpected SVE vector register type suffix
Mar 27 2019, 10:25 AM
sdesmalen added 1 commit(s) for D59635: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal: rG90d1b551e19a: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal.
Mar 27 2019, 10:24 AM
sdesmalen added an edge to rG90d1b551e19a: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal: D59635: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal.
Mar 27 2019, 10:24 AM
sdesmalen committed rG90d1b551e19a: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal (authored by sdesmalen).
[AArch64] NFC: Cleanup isAArch64FrameOffsetLegal
Mar 27 2019, 6:17 AM
sdesmalen committed rG46edefe3c498: [AArch64] Adds cases for LDRSHWui and LDRSHXui to getMemOpInfo (authored by sdesmalen).
[AArch64] Adds cases for LDRSHWui and LDRSHXui to getMemOpInfo
Mar 27 2019, 3:38 AM

Mar 25 2019

sdesmalen added inline comments to D59635: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal.
Mar 25 2019, 1:28 PM
sdesmalen added inline comments to D59635: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal.
Mar 25 2019, 10:18 AM
sdesmalen updated the diff for D59635: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal.
  • This patch now uses Optional<unsigned> for getUnscaledLdSt()
  • Separate out the non-functional changes from the functional change (the added cases in AArch64InstrInfo::getMemOpInfo)
  • Some more simplification of the arithmetic in isAArch64FrameOffsetLegal.
Mar 25 2019, 10:17 AM
sdesmalen accepted D59636: [AArch64][SVE] Asm: error on unexpected SVE vector register type suffix.

Thanks @c-rhodes, LGTM.

Mar 25 2019, 2:59 AM · Restricted Project
sdesmalen added inline comments to D59636: [AArch64][SVE] Asm: error on unexpected SVE vector register type suffix.
Mar 25 2019, 2:41 AM · Restricted Project

Mar 22 2019

sdesmalen added a comment to D59635: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal.

(not sure why Phabricator marked these comments as 'done' since they're not done yet)

Mar 22 2019, 10:30 AM
sdesmalen added inline comments to D59635: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal.
Mar 22 2019, 10:24 AM
sdesmalen accepted D59636: [AArch64][SVE] Asm: error on unexpected SVE vector register type suffix.

Thanks @c-rhodes, this was indeed a mismatch with the SVE spec. Minor nit: the SVE spill/fill instructions also take ZPRAny operands, you could add some tests for those instructions as well to ensure it is not limited to movprfx alone.

Mar 22 2019, 9:51 AM · Restricted Project

Mar 21 2019

sdesmalen created D59635: [AArch64] NFC: Cleanup isAArch64FrameOffsetLegal.
Mar 21 2019, 4:34 AM

Mar 14 2019

sdesmalen added a comment to D59356: [SelectionDAGBuilder] Use accumulator value in VECREDUCE_FADD/FMUL.

@nikic thanks for pointing me to that discussion! I clearly misread the LangRef for this change :)
I agree it makes more sense to change these intrinsics and to make its accumulator argument always relevant (regardless of what flags are set) and AutoUpgrading older IR. Given that I'm currently working on this, I'd be happy to move this forward with patches and a proposal/discussion on the mailing list to change the experimental reduction intrinsics. @aemerson you expressed an intention to work on it later this year, do you have any objection to me moving forward with this now?

Mar 14 2019, 11:02 AM
sdesmalen added a parent revision for D59356: [SelectionDAGBuilder] Use accumulator value in VECREDUCE_FADD/FMUL: D59259: [AArch64] Use faddp to implement fadd reductions..
Mar 14 2019, 4:21 AM
sdesmalen added a child revision for D59259: [AArch64] Use faddp to implement fadd reductions.: D59356: [SelectionDAGBuilder] Use accumulator value in VECREDUCE_FADD/FMUL.
Mar 14 2019, 4:21 AM
sdesmalen created D59356: [SelectionDAGBuilder] Use accumulator value in VECREDUCE_FADD/FMUL.
Mar 14 2019, 4:21 AM
sdesmalen updated the diff for D59259: [AArch64] Use faddp to implement fadd reductions..

Updated the tests to use a scalar accumulator value (instead of a vector accumulator value, which was wrong, but seemed to be completely ignored by SelectionDAGBuilder).

Mar 14 2019, 4:18 AM

Mar 13 2019

sdesmalen added inline comments to D59259: [AArch64] Use faddp to implement fadd reductions..
Mar 13 2019, 4:01 PM