From: Dale Johannesen Date: Mon, 28 Oct 2002 20:39:53 +0000 (+0000) Subject: re PR target/7133 (PPC: unrecognizable insn) X-Git-Tag: releases/gcc-3.2.1~92 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f33c40c93d6e24f5f87a007348776f8dc43feb8d;p=thirdparty%2Fgcc.git re PR target/7133 (PPC: unrecognizable insn) 2002-10-21 Dale Johannesen PR target/7133 * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle unsafe math reversals correctly for RTL generation. (output_cbranch): Replace rs6000_reverse_condition call by its former definition. From-SVN: r58604 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a6ad5b75f7c7..9229d2adb427 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2002-10-21 Dale Johannesen + + PR target/7133 + * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle + unsafe math reversals correctly for RTL generation. + (output_cbranch): Replace rs6000_reverse_condition call + by its former definition. + Sun Oct 27 10:12:27 CET 2002 Jan Hubicka * linux64.h (DEFAULT_PCC_STRUCT_RETURN): Define. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index ad9df44dbc88..7d9ae2b28be5 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -6920,7 +6920,7 @@ rs6000_reverse_condition (mode, code) { /* Reversal of FP compares takes care -- an ordered compare becomes an unordered compare and vice versa. */ - if (mode == CCFPmode) + if (mode == CCFPmode && !flag_unsafe_math_optimizations) return reverse_condition_maybe_unordered (code); else return reverse_condition (code); @@ -7073,7 +7073,14 @@ output_cbranch (op, label, reversed, insn) reverse_condition_maybe_unordered here always but this makes the resulting assembler clearer. */ if (really_reversed) - code = rs6000_reverse_condition (mode, code); + { + /* Reversal of FP compares takes care -- an ordered compare + becomes an unordered compare and vice versa. */ + if (mode == CCFPmode) + code = reverse_condition_maybe_unordered (code); + else + code = reverse_condition (code); + } switch (code) {