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 19:14:00 -0000	[thread overview]
Message-ID: <20041020191418.16896.qmail@sourceware.org> (raw)
In-Reply-To: <20041019202143.18065.schlie@comcast.net>


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

Please read rule 1:

 "If both operands have the same type, then no further conversion is
  needed." (no promotion to int is specified or implied as being required)

Seems plain enough to me, what makes you think that:

  char + char  => int + int ?
 short + short => int + int ?

That would imply, QI mode (and HI mode typical of shorts on 32 bit machines)
rtl instruction definitions are meaningless which isn't the case; as their
definition defines the char and short operand rtl operator -> code
transformation.

The front end has no business promoting all char and short arithmetic
operands to ints, and in fact it doesn't; so am not sure what your thinking?

-paul-

> From: pinskia at gcc dot gnu dot org <gcc-bugzilla@gcc.gnu.org>
> Reply-To: <gcc-bugzilla@gcc.gnu.org>
> Date: 20 Oct 2004 18:50:01 -0000
> To: <schlie@comcast.net>
> Subject: [Bug c/18065] usual arithmetic conversion not applying correctly
> 
> 
> ------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-20
> 18:50 -------
> From C99
> (6.5.5/3): The usual arithmetic conversions are performed on the operands.
> 
> 6.3.1.8 Usual arithmetic conversions
> 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. Otherwise, if both operands have signed integer types or both have
> unsigned integer types, the
> operand with the type of lesser integer conversion rank is converted to the
> type of the operand with
> greater rank. Otherwise, if the operand that has unsigned integer type has
> rank greater or equal to the
> rank of the type of the other operand, then the operand with signed integer
> type is converted to the
> type of the operand with unsigned integer type. Otherwise, if the type of the
> operand with signed
> integer type can represent all of the values of the type of the operand with
> unsigned integer type, then
> the operand with unsigned integer type is converted to the type of the operand
> with signed integer
> type. Otherwise, both operands are converted to the unsigned integer type
> corresponding to the type of
> the operand with signed integer type.
> 
> This is still not wrong code as signed char signed extended to int is still
> the same number but this is
> not a target problem but a front-end problem now.
> 
> To make sure that I read the statement correctly from the standard, it says if
> the types are the same
> there is no need to promote the value at all.
> 
> -- 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>            Severity|minor                       |normal
>           Component|target                      |c
>             Summary|not using qi version of     |usual arithmetic conversion
>                    |divmod                      |not applying correctly
> 
> 
> 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 19:14 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 [this message]
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
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=20041020191418.16896.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).