public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "schlie at comcast dot net" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c/18065] usual arithmetic conversion not applying correctly
Date: Wed, 20 Oct 2004 22:27:00 -0000	[thread overview]
Message-ID: <20041020222729.18185.qmail@sourceware.org> (raw)
In-Reply-To: <20041019202143.18065.schlie@comcast.net>


------- Additional Comments From schlie at comcast dot net  2004-10-20 22:27 -------
Subject: Re:  usual arithmetic conversion not applying
 correctly

Andrew,

It has nothing to do with "optimizing code", if the 3.X and 4.X front-ends
are promoting the size of anything other than bool, enum, or bit-field
operand values without explicit need, they're doing so in error, and in
contradiction to the standard's semantics.

(could you please check on this, as it should be clear that it's wrong,
 although may have gone unnoticed as most of GCC's targets are 32+ bit
 machines, and would have escaped detection, as on most larger machines
 most operations are converted by default to int as that's all they
 know about, it's only when the result is stored, does the operations
 required size express itself. It's a pretty major screw-up to presume
 all target machines are large, and then to encode that presumption into
 C's front end; not to mention it seems pretty stupid to do, and then
 worry about trying to optimize operand values into smaller sizes when
 subsequently realizing that their size promotion was not required, and
 calling it an optimization; the whole mess is more accurately a
 de-optimization, and perversion of C's semantics.)
 
Thanks, -paul-

> From: jsm at polyomino dot org dot uk <gcc-bugzilla@gcc.gnu.org>
> Reply-To: <gcc-bugzilla@gcc.gnu.org>
> Date: 20 Oct 2004 21:31:15 -0000
> To: <schlie@comcast.net>
> Subject: [Bug c/18065] usual arithmetic conversion not applying correctly
> 
> 
> ------- Additional Comments From jsm at polyomino dot org dot uk  2004-10-20
> 21:31 -------
> Subject: Re:  usual arithmetic conversion not applying correctly
> 
> On Wed, 20 Oct 2004, pinskia at gcc dot gnu dot org wrote:
> 
>> Otherwise, the integer promotions are performed on both operands. Then
>> the following rules are applied to the promoted operands: If both
>> operands have the same type, then no further conversion is needed.
> 
> The integer promotions are where signed char is promoted to int.  Only
> after then are types compared.
> 
> It is not the job of the front end to optimise code.  The front end should
> generate datastructures corresponding exactly to the specified semantics
> of the language, including the promotions in this case.  Subsequent
> passes, preferably on GIMPLE but maybe including fold at present, can deal
> with eliminating conversions not needed for code generation.
> 
> -- 
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18065
> 
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.




-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18065


  parent reply	other threads:[~2004-10-20 22:27 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-19 20:22 [Bug c/18065] New: wrong built-in functions selected schlie at comcast dot net
2004-10-19 20:27 ` [Bug c/18065] " schlie at comcast dot net
2004-10-19 20:39 ` [Bug target/18065] " pinskia at gcc dot gnu dot org
2004-10-19 21:18 ` schlie at comcast dot net
2004-10-19 21:31 ` schlie at comcast dot net
2004-10-19 21:39 ` [Bug target/18065] not using qi version of divmod pinskia at gcc dot gnu dot org
2004-10-19 21:53 ` schlie at comcast dot net
2004-10-19 22:08 ` ericw at evcohs dot com
2004-10-19 22:31 ` schlie at comcast dot net
2004-10-19 23:13 ` ericw at evcohs dot com
2004-10-20 18:34 ` schlie at comcast dot net
2004-10-20 18:50 ` [Bug c/18065] usual arithmetic conversion not applying correctly pinskia at gcc dot gnu dot org
2004-10-20 19:14 ` schlie at comcast dot net
2004-10-20 19:18 ` pinskia at gcc dot gnu dot org
2004-10-20 19:25 ` pinskia at gcc dot gnu dot org
2004-10-20 19:29 ` pinskia at gcc dot gnu dot org
2004-10-20 19:33 ` schlie at comcast dot net
2004-10-20 19:54 ` pinskia at gcc dot gnu dot org
2004-10-20 21:19 ` schlie at comcast dot net
2004-10-20 21:25 ` pinskia at gcc dot gnu dot org
2004-10-20 21:31 ` jsm at polyomino dot org dot uk
2004-10-20 21:46 ` schlie at comcast dot net
2004-10-20 22:27 ` schlie at comcast dot net [this message]
2004-10-20 22:31 ` [Bug tree-optimization/18065] " pinskia at gcc dot gnu dot org
2004-10-20 22:42 ` jsm at polyomino dot org dot uk
2004-10-20 23:03 ` jsm at polyomino dot org dot uk
2004-10-20 23:28 ` schlie at comcast dot net
2004-10-21  1:04 ` schlie at comcast dot net
2004-10-21  1:28 ` schlie at comcast dot net
2004-10-21 12:47 ` bangerth at dealii dot org
2004-12-21 20:50 ` schlie at comcast dot net
2005-01-16  1:39 ` pinskia at gcc dot gnu dot org
2005-01-16  7:17 ` schlie at comcast dot net
2005-01-16 17:39 ` schlie at comcast dot net

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=20041020222729.18185.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /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).