TomTan added a comment. In D60349#1476371 <https://reviews.llvm.org/D60349#1476371>, @efriedma wrote:
> It looks like there's some missing documentation in the ARM64 ABI document > involving homogeneous aggregates... in particular, it looks like non-POD > types are never homogeneous, or something along those lines. I guess we can > address that in a followup, though. > > @TomTan could you look into updating the ARM64 ABI documentation? > > Testcase: > > struct Pod { > double b[2]; > }; > struct NotAggregate { > NotAggregate(); > double b[2]; > }; > struct NotPod { > NotAggregate x; > }; > Pod copy(Pod *x) { return *x; } // ldp d0,d1,[x0] > NotAggregate copy(NotAggregate *x) { return *x; } // stp x8,x9,[x0] > NotPod copy(NotPod *x) { return *x; } // ldp x0,x1,[x8] > @efriedma from your test sample above, which part is missing in the ARM64 ABI document? For `NotPod`, it is aggregate which is specific in the document. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60349/new/ https://reviews.llvm.org/D60349 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits