Deutsch English Français Italiano |
<5f3e52b25a5638669178fb26f8b8a943@www.novabbs.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail From: mitchalsup@aol.com (MitchAlsup1) Newsgroups: comp.arch Subject: Re: binary128 implementation Date: Fri, 24 May 2024 23:29:13 +0000 Organization: Rocksolid Light Message-ID: <5f3e52b25a5638669178fb26f8b8a943@www.novabbs.org> References: <abe04jhkngt2uun1e7ict8vmf1fq8p7rnm@4ax.com> <memo.20240512203459.16164W@jgd.cix.co.uk> <v1rab7$2vt3u$1@dont-email.me> <20240513151647.0000403f@yahoo.com> <v1to2h$3km86$1@dont-email.me> <20240514221659.00001094@yahoo.com> <v234nr$12p27$1@dont-email.me> <20240516001628.00001031@yahoo.com> <v2cn4l$3bpov$1@dont-email.me> <v2d9sv$3fda0$1@dont-email.me> <20240519203403.00003e9b@yahoo.com> <2024May20.125648@mips.complang.tuwien.ac.at> <v2ffm2$3vs0t$1@dont-email.me> <v2o76h$1thju$1@dont-email.me> <c5bd7e224b89fb92ab3bcf20a4ec05b3@www.novabbs.org> <v2pebo$27hme$1@dont-email.me> <v2r0e5$2ggiu$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: i2pn2.org; logging-data="2126588"; mail-complaints-to="usenet@i2pn2.org"; posting-account="65wTazMNTleAJDh/pRqmKE7ADni/0wesT78+pyiDW8A"; User-Agent: Rocksolid Light X-Rslight-Site: $2y$10$lHW9p9EXdeW2o7gq9Vt7l.0UIyZYzeQ/qT7tQiyMvpaBR1BMMar1m X-Spam-Checker-Version: SpamAssassin 4.0.0 X-Rslight-Posting-User: ac58ceb75ea22753186dae54d967fed894c3dce8 Bytes: 2957 Lines: 37 BGB-Alt wrote: Don't you EVER snip useless crap off the top of your posts ?? > In my case, BGBCC supports __int128 operations whether or not the ALUX > instructions are enabled (along with _BitInt, *1). I am guessing that your CPU does not do 128, 256, 384 bit calculations natively, but the compiler supports those by emitting sequences of instructions. > *1: > _BitInt(56) x0; //maps to 64-bit > _BitInt(64) x1; //maps to 64-bit > _BitInt(80) x2; //maps to 128-bit > _BitInt(128) x3; //maps to 128-bit > _BitInt(160) x4; //maps to 256-bit > _BitInt(256) x5; //maps to 256-bit > _BitInt(272) x6; //maps to 384-bit > ... > All sizes beyond 256 bit mapping to the next integer multiple of 128 > bits. The 256-bit type is special, in that it has its own dedicated > logic, but exists via the _BitInt type. For 384 and beyond, generic > logic is used that deals with any size value, but is slower. > Can note that in my implementation, BitInt does not enforce modulo > behavior in the case of overflow (it is modulo only to the size of the > container; enforcing odd-bit modulo behavior would add a fair bit of > cost to using them). The multi-precision arithmetic in My 66000 supports rather arbitrary width calculations, although only those 256-bits and smaller can be considered fast and/or efficient. In addition, both signed and unsigned multi-precision arithmetic is available. >> Terje >>