Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming > #2325
| From | BGB <cr88192@hotmail.com> |
|---|---|
| Newsgroups | comp.programming |
| Subject | Re: 64 bit code |
| Date | 2012-10-11 11:17 -0500 |
| Organization | albasani.net |
| Message-ID | <k56rl2$98d$1@news.albasani.net> (permalink) |
| References | (3 earlier) <k54kd4$g1o$1@speranza.aioe.org> <k54n8b$i3u$1@dont-email.me> <adm8sjFja8tU1@mid.individual.net> <k55cjk$joa$1@news.albasani.net> <k56d2i$2vq$1@dont-email.me> |
On 10/11/2012 7:11 AM, BartC wrote: > > > "BGB" <cr88192@hotmail.com> wrote in message > news:k55cjk$joa$1@news.albasani.net... >> On 10/10/2012 4:50 PM, Ian Collins wrote: >>> On 10/11/12 09:52, BartC wrote: >>>> >>>> With the x86-64, it seems to be all or nothing: either run >>>> everything as >>>> 64-bits, or run in compatible 32-bit mode, where you don't have access >>>> to >>>> the extra, wider registers, nor to 64-bit arithmetic. >>> >>> Which equates to a net loss of nothing and net gain of the 64 bit mode! >>> >>> Now you have the ability to build and test 32 and 64 bit versions of >>> your code to see which performs best. >>> >> >> it is worth noting that there is also the x32 ABI, which is basically a >> 32-bit sub-mode of x86-64 (mostly off in Linux land, it is based on the >> SysV/AMD64 ABI). >> >> in this sub-mode, basically the extended registers and arithmetic are >> still available, but there is an ABI-level convention to only use 32-bit >> pointers and stay within the low 4GB of memory. > > Is this mode supported by the hardware, or does it depend on software > zero-extending pointers as needed to the 64-bits that are expected? > > I suspect the latter, from what I have been able to find out. > it is implemented in software, but it does make use of a little quirk that exists in x86-64, namely that whenever a 32-bit operation is performed, the register is automatically zero-extended. this allows the code to essentially largely ignore the upper 32-bits, which are then basically automatically cleared by any arithmetic ops. there are a few cases where things may need to be handled specially, as, since the CPU doesn't actually "know" that the space is supposed to wraparound after 4GB, it is possible for code to "accidentally" go outside the 4GB window in certain cases. this can generally be handled by using an extra step using a register (we load the target address in a register and then use this to access memory, rather than doing it directly). or such...
Back to comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
64 bit code bob <bob@coolfone.comze.com> - 2012-10-10 08:22 -0700
Re: 64 bit code Jongware <jongware@no-spam.plz> - 2012-10-10 17:35 +0200
Re: 64 bit code "BartC" <bc@freeuk.com> - 2012-10-10 17:37 +0100
Re: 64 bit code Robert Wessel <robertwessel2@yahoo.com> - 2012-10-10 12:54 -0500
Re: 64 bit code Fritz Wuehler <fritz@spamexpire-201210.rodent.frell.theremailer.net> - 2012-10-10 21:37 +0200
Re: 64 bit code BGB <cr88192@hotmail.com> - 2012-10-10 21:46 -0500
Re: 64 bit code Rui Maciel <rui.maciel@gmail.com> - 2012-10-10 20:43 +0100
Re: 64 bit code "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2012-10-12 08:40 +0100
Re: 64 bit code BGB <cr88192@hotmail.com> - 2012-10-12 12:36 -0500
Re: 64 bit code Rui Maciel <rui.maciel@gmail.com> - 2012-10-12 20:57 +0100
Re: 64 bit code "BartC" <bc@freeuk.com> - 2012-10-12 21:30 +0100
Re: 64 bit code BGB <cr88192@hotmail.com> - 2012-10-12 16:33 -0500
Re: 64 bit code "BartC" <bc@freeuk.com> - 2012-10-13 00:44 +0100
Re: 64 bit code Ben Pfaff <blp@cs.stanford.edu> - 2012-10-12 20:07 -0700
Re: 64 bit code Rui Maciel <rui.maciel@gmail.com> - 2012-10-13 11:11 +0100
Re: 64 bit code "BartC" <bc@freeuk.com> - 2012-10-13 13:11 +0100
Re: 64 bit code Willem <willem@turtle.stack.nl> - 2012-10-13 12:34 +0000
Re: 64 bit code BGB <cr88192@hotmail.com> - 2012-10-13 09:50 -0500
Re: 64 bit code "BartC" <bc@freeuk.com> - 2012-10-13 17:25 +0100
Re: 64 bit code Rui Maciel <rui.maciel@gmail.com> - 2012-10-13 17:53 +0100
Re: 64 bit code Rui Maciel <rui.maciel@gmail.com> - 2012-10-13 17:05 +0100
Re: 64 bit code "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-10-13 10:37 +0200
Re: 64 bit code "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2012-10-27 12:18 +0100
Re: 64 bit code "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2012-10-27 12:54 +0100
Re: 64 bit code "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-10-27 15:13 +0200
Re: 64 bit code Robert Miles <milesrf@Usenet-News.net> - 2012-10-28 04:12 -0500
Re: 64 bit code "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-10-28 13:10 +0100
Re: 64 bit code "LudovicoVan" <julio@diegidio.name> - 2012-10-29 04:38 +0000
Re: 64 bit code "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-10-29 09:30 +0100
Re: 64 bit code "LudovicoVan" <julio@diegidio.name> - 2012-10-30 22:09 +0000
Re: 64 bit code "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-10-31 09:47 +0100
Re: 64 bit code "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-10-31 09:55 +0100
Re: 64 bit code "LudovicoVan" <julio@diegidio.name> - 2012-10-31 14:32 +0000
Re: 64 bit code Patricia Shanahan <pats@acm.org> - 2012-10-27 08:51 -0700
Re: 64 bit code "LudovicoVan" <julio@diegidio.name> - 2012-10-27 17:23 +0100
Re: 64 bit code "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-10-27 20:43 +0200
Re: 64 bit code "LudovicoVan" <julio@diegidio.name> - 2012-10-30 22:16 +0000
Re: 64 bit code "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-10-31 09:53 +0100
Re: 64 bit code "LudovicoVan" <julio@diegidio.name> - 2012-10-31 14:33 +0000
Re: 64 bit code Fritz Wuehler <fritz@spamexpire-201211.rodent.frell.theremailer.net> - 2012-11-01 00:25 +0100
Re: 64 bit code Rui Maciel <rui.maciel@gmail.com> - 2012-10-10 21:04 +0100
Re: 64 bit code "BartC" <bc@freeuk.com> - 2012-10-10 21:52 +0100
Re: 64 bit code Ian Collins <ian-news@hotmail.com> - 2012-10-11 10:50 +1300
Re: 64 bit code BGB <cr88192@hotmail.com> - 2012-10-10 21:54 -0500
Re: 64 bit code "BartC" <bc@freeuk.com> - 2012-10-11 13:11 +0100
Re: 64 bit code BGB <cr88192@hotmail.com> - 2012-10-11 11:17 -0500
Re: 64 bit code Ben Pfaff <blp@cs.stanford.edu> - 2012-10-10 13:17 -0700
Re: 64 bit code Fritz Wuehler <fritz@spamexpire-201210.rodent.frell.theremailer.net> - 2012-10-11 19:36 +0200
Re: 64 bit code Ben Pfaff <blp@cs.stanford.edu> - 2012-10-12 08:13 -0700
Re: 64 bit code Rui Maciel <rui.maciel@gmail.com> - 2012-10-10 20:38 +0100
Re: 64 bit code Robin Vowels <robin.vowels@gmail.com> - 2012-10-10 15:22 -0700
Re: 64 bit code Robert Miles <milesrf@Usenet-News.net> - 2012-10-12 02:13 -0500
csiph-web