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
1862869d
Commit
1862869d
authored
Oct 29, 2002
by
Kazu Hirata
Committed by
Kazu Hirata
Oct 29, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
h8300.h (MASK_*): New.
* config/h8300/h8300.h (MASK_*): New. (TARGET_*): Use MASK_*. From-SVN: r58620
parent
216cd92c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
45 additions
and
28 deletions
+45
-28
gcc/ChangeLog
+5
-0
gcc/config/h8300/h8300.h
+40
-28
No files found.
gcc/ChangeLog
View file @
1862869d
2002
-
10
-
29
Kazu
Hirata
<
kazu
@cs
.
umass
.
edu
>
*
config
/
h8300
/
h8300
.
h
(
MASK_
*
)
:
New
.
(
TARGET_
*
)
:
Use
MASK_
*
.
2002
-
10
-
28
Jason
Thorpe
<
thorpej
@wasabisystems
.
com
>
2002
-
10
-
28
Jason
Thorpe
<
thorpej
@wasabisystems
.
com
>
*
config
.
gcc
(
*-*-
netbsd
*
)
:
Add
NETBSD_ENABLE_PTHREADS
to
*
config
.
gcc
(
*-*-
netbsd
*
)
:
Add
NETBSD_ENABLE_PTHREADS
to
...
...
gcc/config/h8300/h8300.h
View file @
1862869d
...
@@ -74,39 +74,51 @@ extern const char * const *h8_reg_names;
...
@@ -74,39 +74,51 @@ extern const char * const *h8_reg_names;
extern
int
target_flags
;
extern
int
target_flags
;
/* Masks for the -m switches. */
#define MASK_H8300S 0x00000001
#define MASK_MAC 0x00000002
#define MASK_INT32 0x00000008
#define MASK_ADDRESSES 0x00000040
#define MASK_QUICKCALL 0x00000080
#define MASK_SLOWBYTE 0x00000100
#define MASK_RELAX 0x00000400
#define MASK_RTL_DUMP 0x00000800
#define MASK_H8300H 0x00001000
#define MASK_ALIGN_300 0x00002000
/* Macros used in the machine description to test the flags. */
/* Macros used in the machine description to test the flags. */
/* Make int's 32 bits. */
/* Make int's 32 bits. */
#define TARGET_INT32 (target_flags &
8
)
#define TARGET_INT32 (target_flags &
MASK_INT32
)
/* Dump recorded insn lengths into the output file. This helps debug the
/* Dump recorded insn lengths into the output file. This helps debug the
md file. */
md file. */
#define TARGET_ADDRESSES (target_flags &
64
)
#define TARGET_ADDRESSES (target_flags &
MASK_ADDRESSES
)
/* Pass the first few arguments in registers. */
/* Pass the first few arguments in registers. */
#define TARGET_QUICKCALL (target_flags &
128
)
#define TARGET_QUICKCALL (target_flags &
MASK_QUICKCALL
)
/* Pretend byte accesses are slow. */
/* Pretend byte accesses are slow. */
#define TARGET_SLOWBYTE (target_flags &
256
)
#define TARGET_SLOWBYTE (target_flags &
MASK_SLOWBYTE
)
/* Dump each assembler insn's rtl into the output file.
/* Dump each assembler insn's rtl into the output file.
This is for debugging the compiler only. */
This is for debugging the compiler only. */
#define TARGET_RTL_DUMP (target_flags &
2048
)
#define TARGET_RTL_DUMP (target_flags &
MASK_RTL_DUMP
)
/* Select between the H8/300 and H8/300H CPUs. */
/* Select between the H8/300 and H8/300H CPUs. */
#define TARGET_H8300 (! TARGET_H8300H && ! TARGET_H8300S)
#define TARGET_H8300 (! TARGET_H8300H && ! TARGET_H8300S)
#define TARGET_H8300H (target_flags &
4096
)
#define TARGET_H8300H (target_flags &
MASK_H8300H
)
#define TARGET_H8300S (target_flags &
1
)
#define TARGET_H8300S (target_flags &
MASK_H8300S
)
/* mac register and relevant instructions are available. */
/* mac register and relevant instructions are available. */
#define TARGET_MAC (target_flags &
2
)
#define TARGET_MAC (target_flags &
MASK_MAC
)
/* Align all values on the H8/300H the same way as the H8/300. Specifically,
/* Align all values on the H8/300H the same way as the H8/300. Specifically,
32 bit and larger values are aligned on 16 bit boundaries.
32 bit and larger values are aligned on 16 bit boundaries.
This is all the hardware requires, but the default is 32 bits for the 300H.
This is all the hardware requires, but the default is 32 bits for the 300H.
??? Now watch someone add hardware floating point requiring 32 bit
??? Now watch someone add hardware floating point requiring 32 bit
alignment. */
alignment. */
#define TARGET_ALIGN_300 (target_flags &
8192
)
#define TARGET_ALIGN_300 (target_flags &
MASK_ALIGN_300
)
/* Macro to define tables used to set the flags.
/* Macro to define tables used to set the flags.
This is a list in braces of pairs in braces,
This is a list in braces of pairs in braces,
...
@@ -114,25 +126,25 @@ extern int target_flags;
...
@@ -114,25 +126,25 @@ extern int target_flags;
where VALUE is the bits to set or minus the bits to clear.
where VALUE is the bits to set or minus the bits to clear.
An empty string NAME is used to identify the default VALUE. */
An empty string NAME is used to identify the default VALUE. */
#define TARGET_SWITCHES \
#define TARGET_SWITCHES
\
{ {"s", 1, N_("Generate H8S code")},
\
{ {"s", MASK_H8300S, N_("Generate H8S code")},
\
{"no-s", -1, N_("Do not generate H8S code")},
\
{"no-s", -MASK_H8300S, N_("Do not generate H8S code")},
\
{"s2600", 2, N_("Generate H8S/2600 code")},
\
{"s2600", MASK_MAC, N_("Generate H8S/2600 code")},
\
{"no-s2600", -2,
N_("Do not generate H8S/2600 code")}, \
{"no-s2600", -MASK_MAC,
N_("Do not generate H8S/2600 code")}, \
{"int32", 8, N_("Make integers 32 bits wide")},
\
{"int32", MASK_INT32, N_("Make integers 32 bits wide")},
\
{"addresses", 64, NULL},
\
{"addresses", MASK_ADDRESSES, NULL},
\
{"quickcall", 128,
\
{"quickcall", MASK_QUICKCALL,
\
N_("Use registers for argument passing")},
\
N_("Use registers for argument passing")},
\
{"no-quickcall", -128,
\
{"no-quickcall", -MASK_QUICKCALL,
\
N_("Do not use registers for argument passing")},
\
N_("Do not use registers for argument passing")},
\
{"slowbyte", 256,
\
{"slowbyte", MASK_SLOWBYTE,
\
N_("Consider access to byte sized memory slow")},
\
N_("Consider access to byte sized memory slow")},
\
{"relax", 1024, N_("Enable linker relaxing")},
\
{"relax", MASK_RELAX, N_("Enable linker relaxing")},
\
{"rtl-dump", 2048, NULL},
\
{"rtl-dump", MASK_RTL_DUMP, NULL},
\
{"h", 4096, N_("Generate H8/300H code")},
\
{"h", MASK_H8300H, N_("Generate H8/300H code")},
\
{"no-h", -4096, N_("Do not generate H8/300H code")},
\
{"no-h", -MASK_H8300H, N_("Do not generate H8/300H code")},
\
{"align-300", 8192, N_("Use H8/300 alignment rules")},
\
{"align-300", MASK_ALIGN_300, N_("Use H8/300 alignment rules")},
\
{ "",
TARGET_DEFAULT, NULL}}
{ "",
TARGET_DEFAULT, NULL}}
#ifdef IN_LIBGCC2
#ifdef IN_LIBGCC2
#undef TARGET_H8300H
#undef TARGET_H8300H
...
...
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