Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #1074

Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design)

Path csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED!nerds-end
From Ivan Godard <ivan@ootbcomp.com>
Newsgroups comp.compilers
Subject Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design)
Date Wed, 08 Jan 2014 09:02:04 -0800
Organization A noiseless patient Spider
Lines 29
Sender johnl@iecc.com
Approved comp.compilers@iecc.com
Message-ID <14-01-007@comp.compilers> (permalink)
References <13-11-025@comp.compilers>
NNTP-Posting-Host news.iecc.com
Mime-Version 1.0
Content-Type text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding 7bit
X-Trace leila.iecc.com 1389204268 36984 64.57.183.58 (8 Jan 2014 18:04:28 GMT)
X-Complaints-To abuse@iecc.com
NNTP-Posting-Date Wed, 8 Jan 2014 18:04:28 +0000 (UTC)
Keywords design, architecture, arithmetic
Posted-Date 08 Jan 2014 13:04:28 EST
X-submission-address compilers@iecc.com
X-moderator-address compilers-request@iecc.com
X-FAQ-and-archives http://compilers.iecc.com
Xref csiph.com comp.compilers:1074

Show key headers only | View raw


On 11/20/2013 2:29 AM, Martin Ward wrote:

<snip>

> (2) CPU designers may choose to implement that behaviour in hardware
> on the next iteration of the CPU. Now the programs run fast on *all*
> CPUs.
>
> Everybody wins.
>
> -- Martin

I am such a CPU designer. We faced the "undefined" issue in our Mill
family of general-purpose CPUs (ootbcomp.com). Not only are languages
under-constraining, they are also sometimes over-constraining: signed
integer overflow is undefined in C but required to wrap in Java.

Our solution was to offer four hardware "overflow-behavior" options for
every operation for which overflow is possible: modulo (wraparound),
excepting, saturating, and double-width result (which cannot overflow).
It is up to the compiler to choose the behavior to match the desired or
mandated semantics. The other behaviors are also available via intrinsics.

We also have a tool-chain option to force all non-explicit overflow
behaviors to excepting throughout the program. It is truly astonishing
how often "working" programs experience unanticipated (and previously
unknown) overflow. For some value of "working".

Ivan

Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Implementation dependent behaviour (WAS: Re: Programming language and IDE design) Martin Ward <martin@gkc.org.uk> - 2013-11-20 10:29 +0000
  Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design) Joshua Cranmer 🐧 <Pidgeot18@verizon.net> - 2013-11-23 01:06 -0600
    Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design) glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2013-11-24 21:51 +0000
    Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design) Martin Ward <martin@gkc.org.uk> - 2014-01-06 19:23 +0000
  Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design) Kaz Kylheku <kaz@kylheku.com> - 2013-12-17 23:07 +0000
    Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design) Martin Ward <martin@gkc.org.uk> - 2014-01-06 19:32 +0000
  Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design) Ivan Godard <ivan@ootbcomp.com> - 2014-01-08 09:02 -0800
    Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design) Kaz Kylheku <kaz@kylheku.com> - 2014-01-08 18:21 +0000
      Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design) Ivan Godard <ivan@ootbcomp.com> - 2014-01-10 09:11 -0800
      Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design) glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-01-10 23:08 +0000
        Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design) Ivan Godard <ivan@ootbcomp.com> - 2014-01-13 12:47 -0800
        Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-01-14 14:16 +0000

csiph-web