aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/s390/s390.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/s390/s390.cc')
-rw-r--r--gcc/config/s390/s390.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/config/s390/s390.cc b/gcc/config/s390/s390.cc
index d4e849b..0ff3fd5 100644
--- a/gcc/config/s390/s390.cc
+++ b/gcc/config/s390/s390.cc
@@ -11173,8 +11173,8 @@ s390_hard_regno_mode_ok (unsigned int regno, machine_mode mode)
}
break;
case ADDR_REGS:
- if (FRAME_REGNO_P (regno) && mode == Pmode)
- return true;
+ if (FRAME_REGNO_P (regno))
+ return mode == Pmode;
/* fallthrough */
case GENERAL_REGS:
@@ -16246,7 +16246,12 @@ s390_option_override_internal (struct gcc_options *opts,
{
/* Architecture mode defaults according to ABI. */
if (!(opts_set->x_target_flags & MASK_ZARCH))
- opts->x_target_flags |= MASK_ZARCH;
+ {
+ if (TARGET_64BIT)
+ opts->x_target_flags |= MASK_ZARCH;
+ else
+ opts->x_target_flags &= ~MASK_ZARCH;
+ }
/* Set the march default in case it hasn't been specified on cmdline. */
if (!opts_set->x_s390_arch)