aarch64-simd.md (vec_cmp<mode><v_cmp_result>): Init variable explicitly, also assert on it before use.

* config/aarch64/aarch64-simd.md (vec_cmp<mode><v_cmp_result>: Init
	variable explicitly, also assert on it before use.

From-SVN: r239358
This commit is contained in:
Bin Cheng 2016-08-11 10:01:03 +00:00 committed by Bin Cheng
parent 183ac6d0d2
commit bb2767763e
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2016-08-11 Bin Cheng <bin.cheng@arm.com>
* config/aarch64/aarch64-simd.md (vec_cmp<mode><v_cmp_result>: Init
variable explicitly, also assert on it before use.
2016-08-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/72772

View File

@ -2413,7 +2413,7 @@
enum rtx_code code = GET_CODE (operands[1]);
rtx tmp = gen_reg_rtx (<V_cmp_result>mode);
rtx (*comparison) (rtx, rtx, rtx);
rtx (*comparison) (rtx, rtx, rtx) = NULL;
switch (code)
{
@ -2495,6 +2495,7 @@
a UNLE b -> !(a GT b)
a UNLT b -> !(a GE b)
a NE b -> !(a EQ b) */
gcc_assert (comparison != NULL);
emit_insn (comparison (operands[0], operands[2], operands[3]));
emit_insn (gen_one_cmpl<v_cmp_result>2 (operands[0], operands[0]));
break;
@ -2511,6 +2512,7 @@
a LE b -> b GE a
a LT b -> b GT a
a EQ b -> a EQ b */
gcc_assert (comparison != NULL);
emit_insn (comparison (operands[0], operands[2], operands[3]));
break;