diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2002-06-12 00:27:03 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2002-06-12 00:27:03 +0000 |
commit | 5dc8d5361697ad7378b9ff360aaaec980091d6b4 (patch) | |
tree | 0c602a8e78c7e125321e4c564bea10ab0235bb82 /gcc | |
parent | 169274cd2e214ea06a3478bd9dc14d83acd7fb9f (diff) | |
download | gcc-5dc8d5361697ad7378b9ff360aaaec980091d6b4.zip gcc-5dc8d5361697ad7378b9ff360aaaec980091d6b4.tar.gz gcc-5dc8d5361697ad7378b9ff360aaaec980091d6b4.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 11 |
2 files changed, 14 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ae0e26d..5b18311 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +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> * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 6dbb7e0..00f9aa7 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -7534,12 +7534,19 @@ rs6000_emit_minmax (dest, code, op0, op1) rtx op1; { enum machine_mode mode = GET_MODE (op0); + enum rtx_code c; rtx target; + + if (code == SMAX || code == SMIN) + c = GE; + else + c = GEU; + 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); else - target = emit_conditional_move (dest, GE, op0, op1, mode, + target = emit_conditional_move (dest, c, op0, op1, mode, op1, op0, mode, 0); if (target == NULL_RTX) abort (); |