OSDN Git Service

* config/rs6000/rs6000.c (rs6000_emit_sISEL): Let rs6000_emit_int_cmove
authorfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Jul 2010 15:25:43 +0000 (15:25 +0000)
committerfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Jul 2010 15:25:43 +0000 (15:25 +0000)
commit3336fc85d29202e4d33cbd9b23f56332ea7ea383
treeb6415535bcf129a547077d04dde2e0785807981c
parent0909fdbe966e10653c05fa0e6eee3ce375ab3846
* config/rs6000/rs6000.c (rs6000_emit_sISEL): Let rs6000_emit_int_cmove
do all the work.
(rs6000_emit_int_cmove): Use function pointers for insn generation.
Don't force values into registers unnecessarily.
(output_isel): Assert that we're not given conditions we can't handle.
Delete corresponding code.
* config/rs6000/rs6000.md (isel_signed_<mode>): Use
scc_comparison_operator constraint.  Permit 0 for the consequent
operand.  Permit any GPR for the alternative operand.
(isel_unsigned_<mode>): Likewise.

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