|
Message-ID: <87tufljlmv.fsf@oldenburg.str.redhat.com> Date: Tue, 07 Dec 2021 01:37:12 +0100 From: Florian Weimer <fweimer@...hat.com> To: Stijn Tintel <stijn@...ux-ipv6.be> Cc: musl@...ts.openwall.com Subject: Re: [PATCH] ppc64: check for AltiVec in setjmp/longjmp * Stijn Tintel: > diff --git a/src/setjmp/powerpc64/setjmp.s b/src/setjmp/powerpc64/setjmp.s > index 37683fda..32853693 100644 > --- a/src/setjmp/powerpc64/setjmp.s > +++ b/src/setjmp/powerpc64/setjmp.s > @@ -69,7 +69,17 @@ __setjmp_toc: > stfd 30, 38*8(3) > stfd 31, 39*8(3) > > - # 5) store vector registers v20-v31 > + # 5) store vector registers v20-v31 if hardware supports AltiVec > + mflr 0 > + bl 1f > + .hidden __hwcap > + .long __hwcap-. > +1: mflr 4 This de-balances the return stack and probably has quite severe performance impact. The ISA manual says to use bcl 20,31,$+4 and you'll have to store the __hwcap offset somewhere else. Thanks, Florian
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.