OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [config/] [arm/] [arm-modes.def] - Blame information for rev 709

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 709 jeremybenn
/* Definitions of target machine for GNU compiler, for ARM.
2
   Copyright (C) 2002, 2004, 2007, 2010 Free Software Foundation, Inc.
3
   Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
4
   and Martin Simmons (@harleqn.co.uk).
5
   More major hacks by Richard Earnshaw (rearnsha@arm.com)
6
   Minor hacks by Nick Clifton (nickc@cygnus.com)
7
 
8
   This file is part of GCC.
9
 
10
   GCC is free software; you can redistribute it and/or modify it
11
   under the terms of the GNU General Public License as published
12
   by the Free Software Foundation; either version 3, or (at your
13
   option) any later version.
14
 
15
   GCC is distributed in the hope that it will be useful, but WITHOUT
16
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
18
   License for more details.
19
 
20
   You should have received a copy of the GNU General Public License
21
   along with GCC; see the file COPYING3.  If not see
22
   .  */
23
 
24
/* Extended precision floating point.
25
   FIXME What format is this?  */
26
FLOAT_MODE (XF, 12, 0);
27
 
28
/* Half-precision floating point */
29
FLOAT_MODE (HF, 2, 0);
30
ADJUST_FLOAT_FORMAT (HF, ((arm_fp16_format == ARM_FP16_FORMAT_ALTERNATIVE)
31
                          ? &arm_half_format : &ieee_half_format));
32
 
33
/* CCFPEmode should be used with floating inequalities,
34
   CCFPmode should be used with floating equalities.
35
   CC_NOOVmode should be used with SImode integer equalities.
36
   CC_Zmode should be used if only the Z flag is set correctly
37
   CC_Cmode should be used if only the C flag is set correctly, after an
38
     addition.
39
   CC_Nmode should be used if only the N (sign) flag is set correctly
40
   CC_CZmode should be used if only the C and Z flags are correct
41
   (used for DImode unsigned comparisons).
42
   CC_NCVmode should be used if only the N, C, and V flags are correct
43
   (used for DImode signed comparisons).
44
   CCmode should be used otherwise.  */
45
 
46
CC_MODE (CC_NOOV);
47
CC_MODE (CC_Z);
48
CC_MODE (CC_CZ);
49
CC_MODE (CC_NCV);
50
CC_MODE (CC_SWP);
51
CC_MODE (CCFP);
52
CC_MODE (CCFPE);
53
CC_MODE (CC_DNE);
54
CC_MODE (CC_DEQ);
55
CC_MODE (CC_DLE);
56
CC_MODE (CC_DLT);
57
CC_MODE (CC_DGE);
58
CC_MODE (CC_DGT);
59
CC_MODE (CC_DLEU);
60
CC_MODE (CC_DLTU);
61
CC_MODE (CC_DGEU);
62
CC_MODE (CC_DGTU);
63
CC_MODE (CC_C);
64
CC_MODE (CC_N);
65
 
66
/* Vector modes.  */
67
VECTOR_MODES (INT, 4);        /*            V4QI V2HI */
68
VECTOR_MODES (INT, 8);        /*       V8QI V4HI V2SI */
69
VECTOR_MODES (INT, 16);       /* V16QI V8HI V4SI V2DI */
70
VECTOR_MODES (FLOAT, 8);      /*            V4HF V2SF */
71
VECTOR_MODES (FLOAT, 16);     /*       V8HF V4SF V2DF */
72
 
73
/* Fraction and accumulator vector modes.  */
74
VECTOR_MODES (FRACT, 4);      /* V4QQ  V2HQ */
75
VECTOR_MODES (UFRACT, 4);     /* V4UQQ V2UHQ */
76
VECTOR_MODES (ACCUM, 4);      /*       V2HA */
77
VECTOR_MODES (UACCUM, 4);     /*       V2UHA */
78
 
79
/* Opaque integer modes for 3, 4, 6 or 8 Neon double registers (2 is
80
   TImode).  */
81
INT_MODE (EI, 24);
82
INT_MODE (OI, 32);
83
INT_MODE (CI, 48);
84
INT_MODE (XI, 64);

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.