Hi,
GCC gives spurious -Wmaybe-uninitialized message which breaks bootstrap. This
patch fixes it by explicitly initializing. Also I file PR72355 in order to
tracking the wrong warning message.
Compilation log checked. Applied as obvious.
Thanks,
bin
2016-08-11 Bin Cheng <bin.ch...@arm.com>
* config/aarch64/aarch64-simd.md (vec_cmp<mode><v_cmp_result>: Init
variable explicitly, also assert on it before use.
diff --git a/gcc/config/aarch64/aarch64-simd.md
b/gcc/config/aarch64/aarch64-simd.md
index 37d397c..3817895 100644
--- a/gcc/config/aarch64/aarch64-simd.md
+++ b/gcc/config/aarch64/aarch64-simd.md
@@ -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;