https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64081
--- Comment #37 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- The patch that causes the bootstrap problem to go away is: commit 42b45e81de1263454d6df22ca745db858c19e5b5 Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed Aug 12 14:27:40 2015 +0000 2015-08-12 Richard Biener <rguent...@suse.de> * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize comparison operand order and commutative ternary op operand order. (sccvn_dom_walker::cond_stack): New state to track temporary expressions. (sccvn_dom_walker::after_dom_children): Remove tempoary expressions no longer valid. (sccvn_dom_walker::record_cond): Add a single temporary conditional expression. (sccvn_dom_walker::record_conds): Add a temporary conditional expressions and all related expressions also true/false. (sccvn_dom_walker::before_dom_children): Record temporary expressions based on the controlling condition of a single predecessor. When trying to simplify a conditional statement lookup expressions we might have inserted earlier. Unfortunately, this is not a simple bugfix, but an optimization. So, it seems to me we can't easily glean from the above what caused the original patch to bootstrap on AIX. Perhaps Richi has ideas as to the interaction between his patch and the patch in comment 8. In the meantime, I will try to narrow down the bootstrap failure further. p.s. I will be posting details next on what changes were needed to the sources to get this to reproduce on AIX 7.2 (gcc119 on the compile farm), as AIX required some hand-holding.