Commit 5dc8d536 by Aldy Hernandez Committed by Aldy Hernandez

rs6000.c (rs6000_emit_minmax): Treat unsigned max/mins as unsigned GE compares.

2002-06-11  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
        max/mins as unsigned GE compares.

From-SVN: r54539
parent 169274cd
2002-06-11 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
max/mins as unsigned GE compares.
2002-06-11 Jason Thorpe <thorpej@wasabisystems.com> 2002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
* config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}. * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
......
...@@ -7534,12 +7534,19 @@ rs6000_emit_minmax (dest, code, op0, op1) ...@@ -7534,12 +7534,19 @@ rs6000_emit_minmax (dest, code, op0, op1)
rtx op1; rtx op1;
{ {
enum machine_mode mode = GET_MODE (op0); enum machine_mode mode = GET_MODE (op0);
enum rtx_code c;
rtx target; rtx target;
if (code == SMAX || code == SMIN)
c = GE;
else
c = GEU;
if (code == SMAX || code == UMAX) if (code == SMAX || code == UMAX)
target = emit_conditional_move (dest, GE, op0, op1, mode, target = emit_conditional_move (dest, c, op0, op1, mode,
op0, op1, mode, 0); op0, op1, mode, 0);
else else
target = emit_conditional_move (dest, GE, op0, op1, mode, target = emit_conditional_move (dest, c, op0, op1, mode,
op1, op0, mode, 0); op1, op0, mode, 0);
if (target == NULL_RTX) if (target == NULL_RTX)
abort (); abort ();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment