diff options
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 632c4e2..9a32582 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -539,8 +539,9 @@ gen_reg_rtx (mode) if (no_new_pseudos) abort (); - if (GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT - || GET_MODE_CLASS (mode) == MODE_COMPLEX_INT) + if (generating_concat_p + && (GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT + || GET_MODE_CLASS (mode) == MODE_COMPLEX_INT)) { /* For complex modes, don't make a single pseudo. Instead, make a CONCAT of two pseudos. |