"t" had got switched to "x" during the conversion. This showed up in one of the alpha g++.dg tests.
Applied as obvious. Richard Index: gcc/simplify-rtx.c =================================================================== --- gcc/simplify-rtx.c 2013-11-03 13:01:39.083385620 +0000 +++ gcc/simplify-rtx.c 2013-11-03 20:22:41.115469359 +0000 @@ -1819,7 +1819,8 @@ simplify_const_unary_operation (enum rtx if (REAL_VALUES_LESS (t, x)) return immed_wide_int_const (wmax, mode); - return immed_wide_int_const (real_to_integer (&t, &fail, width), mode); + return immed_wide_int_const (real_to_integer (&x, &fail, width), + mode); break; default: