Commit 370df7db by Josh Conner Committed by Josh Conner

re PR target/30485 (ICE in rs6000_emit_vector_compare when building with -fno-trapping-math)

2007-01-18  Josh Conner  <jconner@apple.com>

	PR target/30485
	* config/rs6000/rs6000.c (rs6000_emit_vector_compare): Add
	support for UNLE, UNLT, UNGE, and UNGT.

From-SVN: r120902
parent 1b4aced6
2007-01-18 Josh Conner <jconner@apple.com>
PR target/30485
* config/rs6000/rs6000.c (rs6000_emit_vector_compare): Add
support for UNLE, UNLT, UNGE, and UNGT.
2007-01-18 Jan Hubicka <jh@suse.cz>
* tree-vrp.c (finalize_jump_threads): Do not call cleanup_cfg by hand.
......
......@@ -11890,10 +11890,18 @@ rs6000_emit_vector_compare (enum rtx_code rcode,
try_again = true;
break;
case NE:
/* Treat A != B as ~(A==B). */
case UNLE:
case UNLT:
case UNGE:
case UNGT:
/* Invert condition and try again.
e.g., A != B becomes ~(A==B). */
{
enum rtx_code rev_code;
enum insn_code nor_code;
rtx eq_rtx = rs6000_emit_vector_compare (EQ, op0, op1,
rev_code = reverse_condition_maybe_unordered (rcode);
rtx eq_rtx = rs6000_emit_vector_compare (rev_code, op0, op1,
dest_mode);
nor_code = one_cmpl_optab->handlers[(int)dest_mode].insn_code;
......
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