This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Customer lowering of CTPOP to SIMD should check for NEON availability
ClosedPublic

Authored by weimingz on Nov 17 2014, 2:19 PM.

Details

Summary

When passing -mgeneral-regs-only, compiler crashes as it tries to lower CTPOP to "cnt v0.8b..." unless -mno-implicit-float presents. But users may not aware the -mno-implicit-float flag and ICE is not good.

Diff Detail

Event Timeline

weimingz updated this revision to Diff 16306.Nov 17 2014, 2:19 PM
weimingz retitled this revision from to [AArch64] Customer lowering of CTPOP to SIMD should check for NEON availability.
weimingz updated this object.
weimingz edited the test plan for this revision. (Show Details)
weimingz added a reviewer: apazos.
weimingz added a subscriber: Unknown Object (MLST).

Hi,

The change itself looks reasonable, but I think the tests could be improved:

test/CodeGen/AArch64/arm64-popcnt.ll
12

Can we check that what actually is produced is sensible? Purely negative tests are discouraged when alternatives are possible.

weimingz updated this revision to Diff 16350.Nov 18 2014, 2:10 PM

Add more check in unit test.

Hi Weiming,

Are you sure you updated the patch? It's showing up the same for me.

Cheers.

Tim.

mcrosier edited edge metadata.Nov 18 2014, 3:06 PM

Are you sure you updated the patch? It's showing up the same for me.

Same here.

weimingz updated this revision to Diff 16355.Nov 18 2014, 3:38 PM
weimingz edited edge metadata.

Sorry. I uploaded the wrong file in patch set 2.

t.p.northover accepted this revision.Nov 18 2014, 4:03 PM
t.p.northover added a reviewer: t.p.northover.

Thanks Weiming. I think this looks OK.

Tim.

This revision is now accepted and ready to land.Nov 18 2014, 4:03 PM

Hi Tim,

Nice. Thanks for reviewing.
I will commit the change

Weiming

mcrosier closed this revision.Nov 18 2014, 6:12 PM

Committed in r222292.