This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: PPC64 libmvec sincos/sincosf ABI
- From: Wilco Dijkstra <Wilco dot Dijkstra at arm dot com>
- To: 'GNU C Library' <libc-alpha at sourceware dot org>, "tnggil at protonmail dot com" <tnggil at protonmail dot com>, Joseph Myers <joseph at codesourcery dot com>
- Cc: nd <nd at arm dot com>
- Date: Tue, 6 Aug 2019 17:42:16 +0000
- Subject: Re: PPC64 libmvec sincos/sincosf ABI
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=K1aM1pLfofbM5PS5nHBctyKxPyTRWjXFVuWap9TG46M=; b=BV0FA9gVtvGNKiTIphXxulhGrRNmN4qzYaQJgyp6QlBTyOpE6Ap2SWu6ysB6aeaypulY5WM+Kd2Bsh8q3Z5HCyP/VLvz9ubGQKang8DbgPiBHqWqDzmC8YttR/nnHb8Y7hnuxQfT6e294Kke0+3aWKC3Jsed3tVmh/LbZjzkeS5Ztwf7TYyzGPwji+XAsimQXVzImb5nAuNjwVqcOOOP6azvRdSQuolGNYLLUlXzCyuNcoART+sQbCXnHTdhVpAGoi9h+G4w12Ss4/BvTxspTtEApFVjuOxXeTFFTA6L4pvLiVHtxtKIhL7LsO5HZl0svgOTaskt3IdWxvoCSwZ/Yw==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MrBRz/DNmmb6qrpypM/goD+HVGI0k9nQ5cv4Qdyh0y++ZUOYCnKblfkzS1ou/HMU92b0iGlaIfHN3DcbNnv1ZeRsyrP9hT9nRchMLaUYbrch3hfn/4srCNpGseQGNnyQWY3GrWBkqS68IcIlNsTHIyOgTaXB1Tr/7Yr7S+sarwP0p+ziirYfXVnXFc5nfaIOSK7NS17n9+nodWfYOb/oKAnNw4WVcnB55rtAezHSBubeXtiDBZ28szmjdNER0AJQa/2oQe6J9Vw9koe5RciV8oZJBZwZNSMQsz+XO7p+MwyZ6zbQDqYWyTelufF2OMXPE6e06F0Fv5murc9gzERGCQ==
- Original-authentication-results: spf=none (sender IP is ) smtp.mailfrom=Wilco dot Dijkstra at arm dot com;
Hi,
> 1. What is the best vector ABI (best performance) for sincos on PPC64?
> That may be a function of the particular vector instructions available on
> PPC64; the best choice of ABI on PPC64 need not correspond to the best
> choice on x86_64.
I don't think it is related to the target - the fastest ABI is one that avoids
unnecessary work. For example scalar sincos is slow due to the inefficient
ABI which forces the results through memory (fixing that gives a 50% speedup).
Similarly for the vector ABI I think returning 2 vectors in registers will be the
fastest option in all cases. The actual vector instructions shouldn't affect the
ABI beyond the vector widths that can be supported.
Wilco