summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/machmode.def
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/machmode.def')
-rw-r--r--contrib/gcc/machmode.def21
1 files changed, 11 insertions, 10 deletions
diff --git a/contrib/gcc/machmode.def b/contrib/gcc/machmode.def
index 6212334..5013e1f 100644
--- a/contrib/gcc/machmode.def
+++ b/contrib/gcc/machmode.def
@@ -113,11 +113,10 @@ DEF_MACHMODE (CTImode, "CTI", MODE_COMPLEX_INT, BITS_PER_UNIT*32, 32, 16, COImod
DEF_MACHMODE (COImode, "COI", MODE_COMPLEX_INT, BITS_PER_UNIT*64, 64, 32, VOIDmode, OImode)
/* Vector modes. */
-/* There are no V1xx vector modes. These are equivalent to normal
- scalar modes. */
/* The wider mode field for vectors follows in order of increasing bit
size with QI coming before HI, HI before SI, and SI before DI
within same bit sizes. */
+DEF_MACHMODE (V1DImode, "V1DI", MODE_VECTOR_INT, BITS_PER_UNIT*8, 8, 8, V2QImode, DImode)
DEF_MACHMODE (V2QImode, "V2QI", MODE_VECTOR_INT, BITS_PER_UNIT*2, 2, 1, V4QImode, QImode)
DEF_MACHMODE (V2HImode, "V2HI", MODE_VECTOR_INT, BITS_PER_UNIT*4, 4, 2, V8QImode, HImode)
DEF_MACHMODE (V2SImode, "V2SI", MODE_VECTOR_INT, BITS_PER_UNIT*8, 8, 4, V16QImode, SImode)
@@ -151,18 +150,20 @@ DEF_MACHMODE (BLKmode, "BLK", MODE_RANDOM, 0, 0, 0, VOIDmode, VOIDmode)
/* The modes for representing the condition codes come last. CCmode
is always defined. Additional modes for the condition code can be
- specified in the EXTRA_CC_MODES macro. All MODE_CC modes are the
+ specified in the EXTRA_CC_MODES header. All MODE_CC modes are the
same width as SImode and have VOIDmode as their next wider mode. */
-#define CC(E, M) DEF_MACHMODE (E, M, MODE_CC, BITS_PER_UNIT*4, 4, 4, VOIDmode, VOIDmode)
-
-CC (CCmode, "CC")
-
-#ifdef EXTRA_CC_MODES
-EXTRA_CC_MODES
-#endif
+/* We do not use CC() for CCmode to avoid a warning about use of
+ function-like macros with no arguments. */
+DEF_MACHMODE (CCmode, "CC", MODE_CC, BITS_PER_UNIT*4, 4, 4, VOIDmode, VOIDmode)
+#ifdef EXTRA_MODES_FILE
+#define CC(N) \
+ DEF_MACHMODE (CONCAT2 (N,mode), STRINGX (N), \
+ MODE_CC, BITS_PER_UNIT*4, 4, 4, VOIDmode, VOIDmode)
+#include EXTRA_MODES_FILE
#undef CC
+#endif
/* The symbol Pmode stands for one of the above machine modes (usually SImode).
The tm file specifies which one. It is not a distinct mode. */
OpenPOWER on IntegriCloud