Commit 1bd74ad9 by Sandra Loosemore Committed by Sandra Loosemore

optabs.c (prepare_float_lib_cmp): Test that the comparison...

2009-05-15  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* optabs.c (prepare_float_lib_cmp):  Test that the comparison,
	swapped, and reversed optabs exist before trying to use them.

From-SVN: r147578
parent dc34db56
2009-05-15 Sandra Loosemore <sandra@codesourcery.com>
* optabs.c (prepare_float_lib_cmp): Test that the comparison,
swapped, and reversed optabs exist before trying to use them.
2009-05-15 Paul Brook <paul@codesourcery.com> 2009-05-15 Paul Brook <paul@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/arm/arm.c (neon_vector_mem_operand): Handle element/structure * config/arm/arm.c (neon_vector_mem_operand): Handle element/structure
loads. Allow PRE_DEC. loads. Allow PRE_DEC.
(output_move_neon): Handle PRE_DEC. (output_move_neon): Handle PRE_DEC.
......
...@@ -4322,10 +4322,12 @@ prepare_float_lib_cmp (rtx x, rtx y, enum rtx_code comparison, ...@@ -4322,10 +4322,12 @@ prepare_float_lib_cmp (rtx x, rtx y, enum rtx_code comparison,
mode != VOIDmode; mode != VOIDmode;
mode = GET_MODE_WIDER_MODE (mode)) mode = GET_MODE_WIDER_MODE (mode))
{ {
if ((libfunc = optab_libfunc (code_to_optab[comparison], mode))) if (code_to_optab[comparison]
&& (libfunc = optab_libfunc (code_to_optab[comparison], mode)))
break; break;
if ((libfunc = optab_libfunc (code_to_optab[swapped] , mode))) if (code_to_optab[swapped]
&& (libfunc = optab_libfunc (code_to_optab[swapped], mode)))
{ {
rtx tmp; rtx tmp;
tmp = x; x = y; y = tmp; tmp = x; x = y; y = tmp;
...@@ -4333,7 +4335,8 @@ prepare_float_lib_cmp (rtx x, rtx y, enum rtx_code comparison, ...@@ -4333,7 +4335,8 @@ prepare_float_lib_cmp (rtx x, rtx y, enum rtx_code comparison,
break; break;
} }
if ((libfunc = optab_libfunc (code_to_optab[reversed], mode)) if (code_to_optab[reversed]
&& (libfunc = optab_libfunc (code_to_optab[reversed], mode))
&& FLOAT_LIB_COMPARE_RETURNS_BOOL (mode, reversed)) && FLOAT_LIB_COMPARE_RETURNS_BOOL (mode, reversed))
{ {
comparison = reversed; comparison = reversed;
......
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