This is an archive of the discontinued LLVM Phabricator instance.

[NEON] Fix combining of vldx_dup intrinsics with updating of base addresses
ClosedPublic

Authored by kosarev on Jul 4 2018, 1:29 AM.

Diff Detail

Repository
rL LLVM

Event Timeline

kosarev created this revision.Jul 4 2018, 1:29 AM

Hi Ivan,
The patch fixes the crash, but I would like to know if the desired updates aren't already done, just needing to copy paste them?
Cheers
Diogo

lib/Target/ARM/ARMISelLowering.cpp
11492 ↗(On Diff #154062)

Perhaps I got something wrong, but the desired actions for these 3 intrinsics aren't already defined in the "else" statement below, where it already receives the desired node type? Just need to define isLane=true and NumVecs and NewOpc accordingly.

11518–11521 ↗(On Diff #154062)

Actions defined here.

kosarev added inline comments.Jul 4 2018, 2:51 AM
lib/Target/ARM/ARMISelLowering.cpp
11492 ↗(On Diff #154062)

Yes, we have the VLDxDUP_UPD nodes, but they are not supported for 256-bit vectors (q versions of the intrinsics) yet.

dnsampaio accepted this revision.Jul 4 2018, 3:56 AM

Seems good to me.

This revision is now accepted and ready to land.Jul 4 2018, 3:56 AM
This revision was automatically updated to reflect the committed changes.