diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2005-05-13 19:52:39 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2005-05-13 19:52:39 +0000 |
commit | c2dba4ab4059335b9efb8f3da7e1887c347ff210 (patch) | |
tree | 66f18ff36acc6deeb1d28c0128a4a9e5605f8515 /gcc | |
parent | 326a31e9513774c3088ed46f4d7b2ee54dd18c5b (diff) | |
download | gcc-c2dba4ab4059335b9efb8f3da7e1887c347ff210.zip gcc-c2dba4ab4059335b9efb8f3da7e1887c347ff210.tar.gz gcc-c2dba4ab4059335b9efb8f3da7e1887c347ff210.tar.bz2 |
sysv4.opt (mlittle): Handle.
* config/rs6000/sysv4.opt (mlittle): Handle.
* config/rs6000/rs6000.c (rs6000_handle_option): Set
target_flags_explicit when appropriate.
From-SVN: r99675
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 48 | ||||
-rw-r--r-- | gcc/config/rs6000/sysv4.opt | 7 |
3 files changed, 49 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2c4c492..dd923ac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2005-05-11 Aldy Hernandez <aldyh@redhat.com> + + * config/rs6000/sysv4.opt (mlittle): Handle. + + * config/rs6000/rs6000.c (rs6000_handle_option): Set + target_flags_explicit when appropriate. + 2005-05-13 J"orn Rennecke <joern.rennecke@st.com> PR middle-end/20714: diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index dcf9afe..5ea21a0 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1553,18 +1553,25 @@ rs6000_handle_option (size_t code, const char *arg, int value) case OPT_mno_power: target_flags &= ~(MASK_POWER | MASK_POWER2 | MASK_MULTIPLE | MASK_STRING); + target_flags_explicit |= (MASK_POWER | MASK_POWER2 + | MASK_MULTIPLE | MASK_STRING); break; case OPT_mno_powerpc: target_flags &= ~(MASK_POWERPC | MASK_PPC_GPOPT | MASK_PPC_GFXOPT | MASK_POWERPC64); + target_flags_explicit |= (MASK_POWERPC | MASK_PPC_GPOPT + | MASK_PPC_GFXOPT | MASK_POWERPC64); break; case OPT_mfull_toc: target_flags &= ~(MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC); + target_flags_explicit |= (MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC + | MASK_NO_SUM_IN_TOC); #ifdef TARGET_USES_SYSV4_OPT /* Note, V.4 no longer uses a normal TOC, so make -mfull-toc, be just the same as -mminimal-toc. */ target_flags |= MASK_MINIMAL_TOC; + target_flags_explicit |= MASK_MINIMAL_TOC; #endif break; @@ -1572,6 +1579,7 @@ rs6000_handle_option (size_t code, const char *arg, int value) case OPT_mtoc: /* Make -mtoc behave like -mminimal-toc. */ target_flags |= MASK_MINIMAL_TOC; + target_flags_explicit |= MASK_MINIMAL_TOC; break; #endif @@ -1581,6 +1589,8 @@ rs6000_handle_option (size_t code, const char *arg, int value) case OPT_m64: #endif target_flags |= MASK_POWERPC64 | MASK_POWERPC | MASK_PPC_GFXOPT; + target_flags_explicit |= MASK_POWERPC64 | MASK_POWERPC + | MASK_PPC_GFXOPT; break; #ifdef TARGET_USES_AIX64_OPT @@ -1589,6 +1599,7 @@ rs6000_handle_option (size_t code, const char *arg, int value) case OPT_m32: #endif target_flags &= ~MASK_POWERPC64; + target_flags_explicit |= MASK_POWERPC64; break; case OPT_minsert_sched_nops_: @@ -1598,25 +1609,34 @@ rs6000_handle_option (size_t code, const char *arg, int value) case OPT_mminimal_toc: if (value == 1) { - target_flags &= ~MASK_NO_FP_IN_TOC; - target_flags &= ~MASK_NO_SUM_IN_TOC; + target_flags &= ~(MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC); + target_flags_explicit |= (MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC); } break; case OPT_mpower: if (value == 1) - target_flags |= (MASK_MULTIPLE | MASK_STRING); + { + target_flags |= (MASK_MULTIPLE | MASK_STRING); + target_flags_explicit |= (MASK_MULTIPLE | MASK_STRING); + } break; case OPT_mpower2: if (value == 1) - target_flags |= (MASK_POWER | MASK_MULTIPLE | MASK_STRING); + { + target_flags |= (MASK_POWER | MASK_MULTIPLE | MASK_STRING); + target_flags_explicit |= (MASK_POWER | MASK_MULTIPLE | MASK_STRING); + } break; case OPT_mpowerpc_gpopt: case OPT_mpowerpc_gfxopt: if (value == 1) - target_flags |= MASK_POWERPC; + { + target_flags |= MASK_POWERPC; + target_flags_explicit |= MASK_POWERPC; + } break; #if TARGET_ALTIVEC_VRSAVE != 0 @@ -1657,15 +1677,25 @@ rs6000_handle_option (size_t code, const char *arg, int value) case OPT_mrelocatable: if (value == 1) - target_flags |= MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC; + { + target_flags |= MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC; + target_flags_explicit |= MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC; + } break; case OPT_mrelocatable_lib: if (value == 1) - target_flags |= MASK_RELOCATABLE | MASK_MINIMAL_TOC - | MASK_NO_FP_IN_TOC; + { + target_flags |= MASK_RELOCATABLE | MASK_MINIMAL_TOC + | MASK_NO_FP_IN_TOC; + target_flags_explicit |= MASK_RELOCATABLE | MASK_MINIMAL_TOC + | MASK_NO_FP_IN_TOC; + } else - target_flags &= ~MASK_RELOCATABLE; + { + target_flags &= ~MASK_RELOCATABLE; + target_flags_explicit |= MASK_RELOCATABLE; + } break; #endif diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt index 29dc62d..d826c55 100644 --- a/gcc/config/rs6000/sysv4.opt +++ b/gcc/config/rs6000/sysv4.opt @@ -53,10 +53,9 @@ mlittle-endian Target Report RejectNegative Mask(LITTLE_ENDIAN) Produce little endian code -; FIXME: Need a way to specify an alias. -;mlittle -;Target Report RejectNegative Mask(LITTLE_ENDIAN) -;Produce little endian code +mlittle +Target Report RejectNegative Mask(LITTLE_ENDIAN) MaskExists +Produce little endian code mbig-endian Target Report RejectNegative InverseMask(LITTLE_ENDIAN) |