Looks like AMD might have another CPU erratum on its hands.
DragonFly BSD creator Matthew Dillon wrote about the problem (and outlined his debugging efforts) last December. Yesterday, Dillon said he received confirmation from AMD that the issue he reported is, indeed, due to an erratum. His latest posting includes the following quote, attributed to AMD:
"AMD has taken your example and also analyzed the segmentation fault and the fill_sons_in_loop code. We confirm that you have found an erratum with som e [sic] AMD processor families. The specific compiled version of the fill_sons_in_loop code, through a very specific sequence of consecutive back-to-back pops and (near) return instructions, can create a condition where the process or incorrectly updates the stack pointer."
Dillon managed to reproduce the problem on systems with Phenom II X4 820 and Opteron 6168 processors. According to his December posting, the erratum leads to "a segmentation fault, bus fault, or other fault related to corrupt program state, causing the compiler to report an internal compiler failure." Dillon witnessed the problem when running the cc1 compiler from the gcc-4.4.7 system. (Thanks to Slashdot for the links.)