OSDN Git Service

* config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 21 May 2001 18:38:25 +0000 (18:38 +0000)
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 21 May 2001 18:38:25 +0000 (18:38 +0000)
commitba261041e21c972ad903894e121ca5bfffd12192
tree667dbd661b4a10753314fb19f89f5ebbdf5dd998
parentcd5abf5807df9227c877204f02b51a6a742de986
* config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
(maxsf3+1): Delete.
(minsf3): Use rs6000_emit_minmax.
(minsf3+1): Generalize to handle both SMIN and SMAX.  Use
rs6000_emit_minmax.
(movsfcc): Use rs6000_emit_cmove.
(fselsfsf4): Don't compare a CONST_INT with a floating-point value.
Don't generate emit_fselsfsf4.
(fseldfsf4): Likewise.
(maxdf3): Use rs6000_emit_minmax.
(maxdf3+1): Delete.
(mindf3): Use rs6000_emit_minmax.
(mindf3+1): Generalize to handle both SMIN and SMAX.  Use
rs6000_emit_minmax.
(movdfcc): Use rs6000_emit_cmove.
(fseldfdf4): Don't compare a CONST_INT with a floating-point value.
Don't generate emit_fselsfsf4.
(fselsfdf4): Likewise.
* config/rs6000/rs6000.c (zero_fp_constant): New predicate.
(min_max_operator): New predicate.
(rs6000_emit_cmove): New function.
(rs6000_emit_minmax): New function.
* config/rs6000/rs6000-protos.h: Prototype new functions.
* config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
and min_max_operator.

* config/rs6000/rs6000.c (output_cbranch): Handle all
conditional types in the switch statement.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42404 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/rs6000-protos.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/rs6000.md