Related articles |
---|
[3 earlier articles] |
Re: Subtraction + comparison in one asm instruction? walter@bytecraft.com (Walter Banks) (2002-08-23) |
Re: Subtraction + comparison in one asm instruction? vincent+news@vinc17.org (Vincent Lefevre) (2002-08-23) |
Re: Subtraction + comparison in one asm instruction? gdr@soliton.integrable-solutions.net (Gabriel Dos Reis) (2002-09-03) |
Re: Subtraction + comparison in one asm instruction? vincent+news@vinc17.org (Vincent Lefevre) (2002-09-08) |
Re: Subtraction + comparison in one asm instruction? gdr@integrable-solutions.net (Gabriel Dos Reis) (2002-09-12) |
Re: Subtraction + comparison in one asm instruction? vbdis@aol.com (VBDis) (2002-09-12) |
Re: Subtraction + comparison in one asm instruction? gdr@integrable-solutions.net (Gabriel Dos Reis) (2002-09-12) |
Re: Subtraction + comparison in one asm instruction? vincent+news@vinc17.org (Vincent Lefevre) (2002-09-12) |
Re: Subtraction + comparison in one asm instruction? anton@mips.complang.tuwien.ac.at (Anton Ertl) (2002-09-14) |
Re: Subtraction + comparison in one asm instruction? vincent+news@vinc17.org (Vincent Lefevre) (2002-09-14) |
Re: Subtraction + comparison in one asm instruction? vbdis@aol.com (VBDis) (2002-09-19) |
Re: Subtraction + comparison in one asm instruction? anton@mips.complang.tuwien.ac.at (Anton Ertl) (2002-09-19) |
Re: Subtraction + comparison in one asm instruction? joachim_d@gmx.de (Joachim Durchholz) (2002-09-19) |
[3 later articles] |
From: | "Gabriel Dos Reis" <gdr@integrable-solutions.net> |
Newsgroups: | comp.compilers |
Date: | 12 Sep 2002 01:41:32 -0400 |
Organization: | Linux Private Site |
References: | 02-09-038 02-09-076 |
Keywords: | arithmetic |
Posted-Date: | 12 Sep 2002 01:41:32 EDT |
"VBDis" <vbdis@aol.com> writes:
> The conversion of formulas,
> according to algebraic rules, IMO is independent from the ranges of
> the data types which are used in actual source code.
No, that is not true in C, nor in C++ for example.
On a machine set up to trap when an overflow occurs, the behaviour for
the strict semantics of "(x + 1) - 1" is to trap when
x == INT_MAX for example, while the transformed version will not trap:
The net result is that the semantics of the transformed expression no
longr match that of the untouched one.
Now, the C or C++ language definition says that overflows trigger
undefined behaviour. So a compiler could use that excuse to do
whatever transformation that meets its understanding of
optimization. Another compiler may not touch the expression and hands
off the situation to whatever handlers may be installed by the user.
It is just a quality of implementation issue.
-- Gaby
Return to the
comp.compilers page.
Search the
comp.compilers archives again.