diff options
Diffstat (limited to 'gcc/config/s390/s390.c')
-rw-r--r-- | gcc/config/s390/s390.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 24a9290..5814694 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -6497,6 +6497,10 @@ s390_dwarf_frame_reg_mode (int regno) { machine_mode save_mode = default_dwarf_frame_reg_mode (regno); + /* Make sure not to return DImode for any GPR with -m31 -mzarch. */ + if (GENERAL_REGNO_P (regno)) + save_mode = Pmode; + /* The rightmost 64 bits of vector registers are call-clobbered. */ if (GET_MODE_SIZE (save_mode) > 8) save_mode = DImode; |