This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: PPro patch for egcs


>	* config/i386/i386.c (output_fp_conditional_move): New function
>	to output floating point conditional move.
>	(output_int_conditional_move): New function to output integer
>	conditional move.
>
>	* config/i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
>	output_int_conditional_move () to output int conditional move.
>	(movsfcc+5, movdfcc+5, movxfcc+5): Call
>	output_fp_conditional_move () to output floating point
>	conditional move.

I don't understand why you are checking for which_alternative == 3
in output_fp_conditional_move.  The define_insn for the floating
point conditional moves should only result in which_alternative
equaling 0, 1, or 2.  Any other value should cause an abort.

The special case handling of DImode in output_int_conditional_move
seems more complicated than the original code associated with the
define_insn for the DImode integer conditional move.  What is the
advantage of creating a complicated function?

You might consider starting with the original code associated with
the define_insn if you feel compelled to create separate functions.

-- John
-------------------------------------------------------------------------
|   Feith Systems  |   Voice: 1-215-646-8000  |  Email: john@feith.com  |
|    John Wehle    |     Fax: 1-215-540-5495  |                         |
-------------------------------------------------------------------------



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]