Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
1039fa46
Commit
1039fa46
authored
Sep 18, 1992
by
Tom Wood
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
From-SVN: r2152
parent
454e0348
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
50 additions
and
12 deletions
+50
-12
gcc/config/m88k/m88k.h
+50
-12
No files found.
gcc/config/m88k/m88k.h
View file @
1039fa46
...
...
@@ -83,6 +83,8 @@ enum m88k_instruction {
extern
char
*
m88k_pound_sign
;
extern
char
*
m88k_short_data
;
extern
char
*
m88k_version
;
extern
char
m88k_volatile_code
;
extern
int
m88k_gp_threshold
;
extern
int
m88k_prologue_done
;
...
...
@@ -90,6 +92,7 @@ extern int m88k_function_number;
extern
int
m88k_fp_offset
;
extern
int
m88k_stack_size
;
extern
int
m88k_case_index
;
extern
int
m88k_version_0300
;
extern
struct
rtx_def
*
m88k_compare_reg
;
extern
struct
rtx_def
*
m88k_compare_op0
;
...
...
@@ -206,9 +209,9 @@ extern char * reg_names[];
/* Print subsidiary information on the compiler version in use.
Redefined in m88kv4.h, and m88kluna.h. */
#define VERSION_INFO1 "88open OCS/BCS, "
#define VERSION_INFO2 "09/
01
/92"
#define VERSION_INFO2 "09/
18
/92"
#define VERSION_STRING version_string
#define TM_SCCS_ID "@(#)m88k.h 2.2.
7.7 09/01/92 17:32:13
"
#define TM_SCCS_ID "@(#)m88k.h 2.2.
12.2 09/18/92 06:21:09
"
/* Run-time compilation parameters selecting different hardware subsets. */
...
...
@@ -223,7 +226,6 @@ extern char * reg_names[];
#define MASK_OCS_DEBUG_INFO 0x00000004
/* Emit .tdesc info */
#define MASK_OCS_FRAME_POSITION 0x00000008
/* Debug frame = CFA, not r30 */
#define MASK_SVR4 0x00000010
/* Target is AT&T System V.4 */
#define MASK_VERSION_0300 0x00000020
/* Use version 03.00 syntax */
#define MASK_NO_UNDERSCORES 0x00000040
/* Don't emit a leading `_' */
#define MASK_BIG_PIC 0x00000080
/* PIC with large got-rel's -fPIC */
#define MASK_TRAP_LARGE_SHIFT 0x00000100
/* Trap if shift not <= 31 */
...
...
@@ -233,10 +235,13 @@ extern char * reg_names[];
#define MASK_IDENTIFY_REVISION 0x00001000
/* Emit ident, with GCC rev */
#define MASK_WARN_PASS_STRUCT 0x00002000
/* Warn about passed structs */
#define MASK_OPTIMIZE_ARG_AREA 0x00004000
/* Save stack space */
#define MASK_SERIALIZE_VOLATILE 0x00008000
/* Serialize volatile refs */
#define MASK_NO_SERIALIZE_VOLATILE 0x00010000
/* Don't serialize */
#define MASK_88000 (MASK_88100 | MASK_88110)
#define MASK_EITHER_LARGE_SHIFT (MASK_TRAP_LARGE_SHIFT | \
MASK_HANDLE_LARGE_SHIFT)
#define MASK_SERIALIZE (MASK_SERIALIZE_VOLATILE | MASK_NO_SERIALIZE_VOLATILE)
#define TARGET_88100 ((target_flags & MASK_88000) == MASK_88100)
#define TARGET_88110 ((target_flags & MASK_88000) == MASK_88110)
...
...
@@ -245,7 +250,6 @@ extern char * reg_names[];
#define TARGET_OCS_DEBUG_INFO (target_flags & MASK_OCS_DEBUG_INFO)
#define TARGET_OCS_FRAME_POSITION (target_flags & MASK_OCS_FRAME_POSITION)
#define TARGET_SVR4 (target_flags & MASK_SVR4)
#define TARGET_VERSION_0300 (target_flags & MASK_VERSION_0300)
#define TARGET_NO_UNDERSCORES (target_flags & MASK_NO_UNDERSCORES)
#define TARGET_BIG_PIC (target_flags & MASK_BIG_PIC)
#define TARGET_TRAP_LARGE_SHIFT (target_flags & MASK_TRAP_LARGE_SHIFT)
...
...
@@ -255,6 +259,7 @@ extern char * reg_names[];
#define TARGET_IDENTIFY_REVISION (target_flags & MASK_IDENTIFY_REVISION)
#define TARGET_WARN_PASS_STRUCT (target_flags & MASK_WARN_PASS_STRUCT)
#define TARGET_OPTIMIZE_ARG_AREA (target_flags & MASK_OPTIMIZE_ARG_AREA)
#define TARGET_SERIALIZE_VOLATILE (target_flags & MASK_SERIALIZE_VOLATILE)
#define TARGET_EITHER_LARGE_SHIFT (target_flags & MASK_EITHER_LARGE_SHIFT)
...
...
@@ -273,7 +278,6 @@ extern char * reg_names[];
{ "no-ocs-frame-position", -MASK_OCS_FRAME_POSITION }, \
{ "svr4", MASK_SVR4 }, \
{ "svr3", -MASK_SVR4 }, \
{ "version-03.00", MASK_VERSION_0300 }, \
{ "no-underscores", MASK_NO_UNDERSCORES }, \
{ "big-pic", MASK_BIG_PIC }, \
{ "trap-large-shift", MASK_TRAP_LARGE_SHIFT }, \
...
...
@@ -285,6 +289,8 @@ extern char * reg_names[];
{ "warn-passed-structs", MASK_WARN_PASS_STRUCT }, \
{ "optimize-arg-area", MASK_OPTIMIZE_ARG_AREA }, \
{ "no-optimize-arg-area", -MASK_OPTIMIZE_ARG_AREA }, \
{ "serialize-volatile", MASK_SERIALIZE_VOLATILE }, \
{ "no-serialize-volatile", MASK_NO_SERIALIZE_VOLATILE }, \
SUBTARGET_SWITCHES \
/* Default switches */
\
{ "", TARGET_DEFAULT }, \
...
...
@@ -295,7 +301,8 @@ extern char * reg_names[];
/* Macro to define table for command options with values. */
#define TARGET_OPTIONS { { "short-data-", &m88k_short_data } }
#define TARGET_OPTIONS { { "short-data-", &m88k_short_data }, \
{ "version-", &m88k_version } }
/* Do any checking or such that is needed after processing the -m switches. */
...
...
@@ -309,19 +316,36 @@ extern char * reg_names[];
m88k_cpu = (TARGET_88000 ? CPU_M88000 \
: (TARGET_88100 ? CPU_M88100 : CPU_M88110)); \
\
if (! TARGET_88100 && (target_flags & MASK_SERIALIZE) == 0) \
target_flags |= MASK_SERIALIZE_VOLATILE; \
\
if ((target_flags & MASK_NO_SERIALIZE_VOLATILE) != 0) \
target_flags &= ~MASK_SERIALIZE_VOLATILE; \
\
if (TARGET_BIG_PIC) \
flag_pic = 2; \
\
if ((target_flags & MASK_EITHER_LARGE_SHIFT) == MASK_EITHER_LARGE_SHIFT) \
error ("-mtrap-large-shift and -mhandle-large-shift are incompatible");\
\
m88k_version_0300 = (m88k_version != 0 \
&& strcmp (m88k_version, "03.00") >= 0); \
\
if (VERSION_0300_SYNTAX) \
{ \
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) \
reg_names[i]--; \
m88k_pound_sign = "#"; \
if (m88k_version == 0) \
m88k_version = "03.00"; \
else if (strcmp (m88k_version, "03.00") < 0) \
error ("Specified assembler version (%s) is less that 03.00", \
m88k_version); \
} \
\
m88k_version_0300 = (m88k_version != 0 \
&& strcmp (m88k_version, "03.00") >= 0); \
\
if (m88k_short_data) \
{ \
char *p = m88k_short_data; \
...
...
@@ -1482,11 +1506,23 @@ enum reg_class { NO_REGS, AP_REG, XRF_REGS, GENERAL_REGS, AGRF_REGS,
so give the MEM rtx word mode. */
#define FUNCTION_MODE SImode
/* A barrier will be aligned so account for the possible expansion. */
#define ADJUST_INSN_LENGTH(INSN, LENGTH) \
if (GET_CODE (INSN) == BARRIER) \
/* A barrier will be aligned so account for the possible expansion. A
volatile memory reference may be preceeded by a serializing instruction. */
#define ADJUST_INSN_LENGTH(RTX, LENGTH) \
if (GET_CODE (RTX) == BARRIER \
|| (TARGET_SERIALIZE_VOLATILE \
&& GET_CODE (RTX) == INSN \
&& GET_CODE (PATTERN (RTX)) == SET \
&& ((GET_CODE (SET_SRC (PATTERN (RTX))) == MEM \
&& MEM_VOLATILE_P (SET_SRC (PATTERN (RTX)))) \
|| (GET_CODE (SET_DEST (PATTERN (RTX))) == MEM \
&& MEM_VOLATILE_P (SET_DEST (PATTERN (RTX))))))) \
LENGTH += 1;
/* Track the state of the last volatile memory reference. Clear the
state with CC_STATUS_INIT for now. */
#define CC_STATUS_INIT m88k_volatile_code = '\0'
/* Compute the cost of computing a constant rtl expression RTX
whose rtx-code is CODE. The body of this macro is a portion
of a switch statement. If the code is computed here,
...
...
@@ -1699,8 +1735,8 @@ enum reg_class { NO_REGS, AP_REG, XRF_REGS, GENERAL_REGS, AGRF_REGS,
#define ASM_FIRST_LINE(FILE) \
do { \
if (
VERSION_0300_SYNTAX)
\
fprintf (FILE, "\t%s\t \"
03.00\"\n", VERSION_ASM_OP);
\
if (
m88k_version)
\
fprintf (FILE, "\t%s\t \"
%s\"\n", VERSION_ASM_OP, m88k_version);
\
} while (0)
/* Override svr[34].h. */
...
...
@@ -2315,7 +2351,8 @@ enum reg_class { NO_REGS, AP_REG, XRF_REGS, GENERAL_REGS, AGRF_REGS,
#define INIT_SECTION_FUNCTION
#define FINI_SECTION_FUNCTION
#elif defined(USING_SVR3_H)
#else
#if defined(USING_SVR3_H)
#define EXTRA_SECTIONS in_const, in_tdesc, in_sdata, in_ctors, in_dtors, \
in_init, in_fini
...
...
@@ -2335,6 +2372,7 @@ const_section () \
#define INIT_SECTION_FUNCTION
#define FINI_SECTION_FUNCTION
#endif
/* USING_SVR3_H */
#endif
/* USING_SVR4_H */
#undef EXTRA_SECTION_FUNCTIONS
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment