This is an archive of the discontinued LLVM Phabricator instance.

Revert "[AArch64] Use LL for 64-bit intrinsic arguments"
ClosedPublic

Authored by phosek on Jan 24 2019, 5:11 PM.

Details

Summary

This reverts commit r351740: this broke on platforms where unsigned long
long isn't the same as uint64_t which is what ACLE specifies for the
return value of rsr64.

Diff Detail

Repository
rC Clang

Event Timeline

phosek created this revision.Jan 24 2019, 5:11 PM

Oh, rsr and wsr are macros, not functions... I was confused how it would break.

The correct signature for __builtin_arm_rsr64 is "WUicC*", I think.

Is it OK with you to land this revert, followed by D57210, and then reland this with the appropriate fix?

rnk added a comment.Jan 24 2019, 5:32 PM

I'd say go for it, it's basically already EOD Pacific time, and I don't think anyone has set up a continuous Windows ARM64 build with ToT clang anywhere in the world yet.

This revision was not accepted when it landed; it landed in state Needs Review.Jan 24 2019, 6:16 PM
This revision was automatically updated to reflect the committed changes.
In D57209#1370608, @rnk wrote:

and I don't think anyone has set up a continuous Windows ARM64 build with ToT clang anywhere in the world yet.

Not sure if it qualifies as a proper continuous Windows ARM64 build, but I build latest llvm+mingw-w64+compiler-rt+libcxx nightly and test build a bunch of video-related projects including VLC on it (for all 4 current architectures, i686/x86_64/armv7/aarch64), and run a bunch of tests of projects built with that compiler in wine. But I'm pretty sure none of the projects I test use these intrinsics.

rnk added a comment.Jan 25 2019, 10:30 AM
In D57209#1370608, @rnk wrote:

and I don't think anyone has set up a continuous Windows ARM64 build with ToT clang anywhere in the world yet.

Not sure if it qualifies as a proper continuous Windows ARM64 build, but I build latest llvm+mingw-w64+compiler-rt+libcxx nightly and test build a bunch of video-related projects including VLC on it (for all 4 current architectures, i686/x86_64/armv7/aarch64), and run a bunch of tests of projects built with that compiler in wine. But I'm pretty sure none of the projects I test use these intrinsics.

Fair, my mistake, I should have qualified it with something along the lines of "... build that depends on these intrinsic changes ... yet".