This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Patch: rs6000-specific ICE


On Friday, October 18, 2002, at 01:17  PM, David Edelsohn wrote:

Dale Johannesen writes:

It assumes that for any branch_comparison_operator,
either it or its reversal qualifies as a
branch_positive_comparison_operator.
This is not the case for floating LE, for example.
Isn't this statement too general? That assumption is correct as
long as flag_unsafe_math_optimizations is not enabled. The problem arises
if unordered condition code appears because unordered gets flipped along
with the comparison.

Is the new test too strong? Should it only restrict the test if
flag_unsafe_math_optimizations is enabled?
It's true I couldn't make it fail without -ffast-math, but there is no
dependency on that in the pattern or the matching functions.  I'll need
to look further to convince myself the problem inputs never arise
without -ffast-math.

	Also, isn't the "&& 1" in the splitter unnecessary?
No, I tried it.  That's needed to make the splitter look
at the main condition; without &&1 the splitter condition is null.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]