diff options
author | Steve Ellcey <sje@cup.hp.com> | 2002-10-23 18:18:31 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2002-10-23 18:18:31 +0000 |
commit | 16448fd4f0b1c5ef78e5b5e463cc77e8aec14c96 (patch) | |
tree | 8988a77a35f6f05ba8400b24b3d223dbd7a8b1ea | |
parent | 619703c61fa9764f0f5d234956b67d210f8822ce (diff) | |
download | gcc-16448fd4f0b1c5ef78e5b5e463cc77e8aec14c96.zip gcc-16448fd4f0b1c5ef78e5b5e463cc77e8aec14c96.tar.gz gcc-16448fd4f0b1c5ef78e5b5e463cc77e8aec14c96.tar.bz2 |
ia64.c (hfa_element_mode): Don't allow 128 bit floats in HFAs.
* config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
in HFAs.
From-SVN: r58464
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 20f3b34..96011b3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-10-23 Steve Ellcey <sje@cup.hp.com> + + * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats + in HFAs. + 2002-10-23 Richard Henderson <rth@redhat.com> * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True. diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 35db34b..a238507 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -3125,17 +3125,17 @@ hfa_element_mode (type, nested) gcc's COMPLEX_TYPEs as HFAs. We need to exclude the integral complex types though. */ case COMPLEX_TYPE: - if (GET_MODE_CLASS (TYPE_MODE (type)) == MODE_COMPLEX_FLOAT) + if (GET_MODE_CLASS (TYPE_MODE (type)) == MODE_COMPLEX_FLOAT + && (TYPE_MODE (type) != TCmode || INTEL_EXTENDED_IEEE_FORMAT)) return mode_for_size (GET_MODE_UNIT_SIZE (TYPE_MODE (type)) * BITS_PER_UNIT, MODE_FLOAT, 0); else return VOIDmode; case REAL_TYPE: - /* ??? Should exclude 128-bit long double here. */ /* We want to return VOIDmode for raw REAL_TYPEs, but the actual mode if this is contained within an aggregate. */ - if (nested) + if (nested && (TYPE_MODE (type) != TFmode || INTEL_EXTENDED_IEEE_FORMAT)) return TYPE_MODE (type); else return VOIDmode; |