aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorDorit Nuzman <dorit@gcc.gnu.org>2004-08-18 11:09:36 +0000
committerDorit Nuzman <dorit@gcc.gnu.org>2004-08-18 11:09:36 +0000
commit0bf4330958042e3e499c6dc5f37e120354c58319 (patch)
treeb8f338ca9f689ef477a8d1671fd7d9d1a1f0f140 /gcc/config
parent389fdba06a4469967a53ea92ffa86d1d090e3a7f (diff)
downloadgcc-0bf4330958042e3e499c6dc5f37e120354c58319.zip
gcc-0bf4330958042e3e499c6dc5f37e120354c58319.tar.gz
gcc-0bf4330958042e3e499c6dc5f37e120354c58319.tar.bz2
Part of the vectorizer patch that was accidently left out...:
* config/i386/i386.h (UNITS_PER_SIMD_WORD): Define. * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define. From-SVN: r86180
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.h3
-rw-r--r--gcc/config/rs6000/rs6000.h3
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 742575c..b4a7ed8 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -1080,6 +1080,9 @@ do { \
: VALID_MMX_REG_MODE (MODE) && TARGET_MMX ? 1 \
: VALID_MMX_REG_MODE_3DNOW (MODE) && TARGET_3DNOW ? 1 : 0)
+#define UNITS_PER_SIMD_WORD \
+ (TARGET_SSE ? 16 : TARGET_MMX || TARGET_3DNOW ? 8 : 0)
+
#define VALID_FP_MODE_P(MODE) \
((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode \
|| (MODE) == SCmode || (MODE) == DCmode || (MODE) == XCmode) \
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 2ec4c71..6b3a36c 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -1031,6 +1031,9 @@ extern const char *rs6000_warn_altivec_long_switch;
((TARGET_SPE && SPE_VECTOR_MODE (MODE)) \
|| (TARGET_ALTIVEC && ALTIVEC_VECTOR_MODE (MODE)))
+#define UNITS_PER_SIMD_WORD \
+ (TARGET_ALTIVEC ? 16 : (TARGET_SPE ? 8 : 0) )
+
/* Value is TRUE if hard register REGNO can hold a value of
machine-mode MODE. */
#define HARD_REGNO_MODE_OK(REGNO, MODE) \