public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Kevin Lawton <kevinlawton2001@yahoo.com>
To: Zack Weinberg <zack@codesourcery.com>, Michael Matz <matz@suse.de>
Cc: Jamie Lokier <egcs@tantalophile.demon.co.uk>,
	Kevin Lawton <kevinlawton2001@yahoo.com>,
	gcc@gcc.gnu.org
Subject: Re: Request of new __attribute__ for switch statements (elimination of the bounds check)
Date: Tue, 15 Oct 2002 21:16:00 -0000	[thread overview]
Message-ID: <20021016013810.22926.qmail@web80304.mail.yahoo.com> (raw)
In-Reply-To: <20021016004929.GO15067@codesourcery.com>


--- Zack Weinberg <zack@codesourcery.com> wrote:

> Sure.  The question is how _soon_ you will be screwed to the point
> that the program crashes.  Ideally this happens as soon after the
> actual data corruption event as possible.

The question is, will the compiler allow a coder to
eliminate the check or not.  The idea is that a coder
may have confidence in the case targets.  Thinking
past that doesn't solve anything.

If we wanted to stop people from shooting theirselves
in the feet, we wouldn't allow them to use C.  At
any rate, sometimes it's even possible to prove the
case targets are populated:

  switch (a & 0x3) {
    case 0: ...
    case 1: ...
    case 2: ...
    case 3: ...
    }

This is a request for a feature for high performance programs.
Basically, I want to be able to make my own decisions because
the compiler is too brain dead to.


> It's just that I see removing the bounds checks on a switch statement
> as a marginal optimization compared to the risk.  I've never seen a
> switch be the bottleneck in anything.

Listen, when you do it 10 million times a second, you start caring.

There's nothing marginal about it.  If people don't want to
use extensions, they shouldn't.  I see it as really that
simple.

-Kevin

__________________________________________________
Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!
http://sbc.yahoo.com

  parent reply	other threads:[~2002-10-16  1:38 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-11 13:20 Kevin Lawton
2002-10-12  4:18 ` Ralph Loader
2002-10-14  8:31 ` Richard Zidlicky
2002-10-14 10:09   ` Dale Johannesen
2002-10-14 21:11 ` Jamie Lokier
2002-10-14 22:01   ` Zack Weinberg
2002-10-15  8:12     ` Michael Matz
2002-10-15 19:15       ` Zack Weinberg
2002-10-15 19:18         ` Dale Johannesen
2002-10-16 14:07           ` Richard Henderson
2002-10-15 21:16         ` Kevin Lawton [this message]
2002-10-15 23:40           ` Tim Hollebeek
2002-10-16  3:40             ` Michael Matz
2002-10-16 13:38               ` Tim Hollebeek
2002-10-16 14:23                 ` Michael Matz
2002-10-16 13:27             ` Hartmut Schirmer
2002-10-16  3:25         ` Joseph S. Myers
2002-10-16  7:57           ` Fergus Henderson
2002-10-16 11:19           ` Daniel Jacobowitz
2002-10-15  7:54   ` Michael Matz
2002-10-15 13:29     ` Jamie Lokier
2002-10-15 14:06       ` Kevin Lawton
2002-10-15 15:32         ` Jamie Lokier
2002-10-15 14:28       ` Michael Matz
2002-10-15 15:19         ` Jamie Lokier
2002-10-11 13:22 Robert Dewar
2002-10-11 15:12 ` Kevin Lawton
2002-10-12 10:43   ` Alexandre Oliva
2002-10-15  6:43 Mattias Engdegård
2002-10-15 22:40 Robert Dewar
2002-10-15 23:57 ` Zack Weinberg
2002-10-16  9:19 Robert Dewar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20021016013810.22926.qmail@web80304.mail.yahoo.com \
    --to=kevinlawton2001@yahoo.com \
    --cc=egcs@tantalophile.demon.co.uk \
    --cc=gcc@gcc.gnu.org \
    --cc=matz@suse.de \
    --cc=zack@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).