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
7a846a6c
Commit
7a846a6c
authored
Aug 24, 1999
by
Nick Clifton
Committed by
Nick Clifton
Aug 24, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Handle DFmode and DImode constant addresses.
From-SVN: r28823
parent
69277eec
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
47 additions
and
35 deletions
+47
-35
gcc/ChangeLog
+12
-0
gcc/config/v850/v850.c
+5
-2
gcc/config/v850/v850.h
+28
-33
gcc/configure
+1
-0
gcc/configure.in
+1
-0
No files found.
gcc/ChangeLog
View file @
7a846a6c
1999
-
08
-
24
Nick
Clifton
<
nickc
@cygnus
.
com
>
*
configure
.
in
:
Define
target_cpu_default
for
v850
targets
.
*
configure
:
Regenerate
*
config
/
v850
/
v850
.
h
(
TARGET_CPU_generic
)
:
Define
.
(
GO_IF_LEGITIMATE_ADDRESS
)
:
Insist
that
SImode
and
larger
constant
addresses
are
4
byte
aligned
.
*
config
/
v850
/
v850
.
c
(
print_operand
)
:
Cope
with
'R'
format
DFmode
addresses
.
Tue
Aug
24
09
:
32
:
07
1999
Kaveh
R
.
Ghazi
<
ghazi
@caip
.
rutgers
.
edu
>
*
genattr
.
c
(
function_unit_desc
)
:
Constify
a
char
*
.
Add
prototype
.
...
...
gcc/config/v850/v850.c
View file @
7a846a6c
...
...
@@ -38,6 +38,7 @@ Boston, MA 02111-1307, USA. */
#include "function.h"
#include "obstack.h"
#include "toplev.h"
#include "function.h"
#ifndef streq
#define streq(a,b) (strcmp (a, b) == 0)
...
...
@@ -509,8 +510,10 @@ print_operand (file, x, code)
fprintf
(
file
,
reg_names
[
REGNO
(
x
)
+
1
]);
break
;
case
MEM
:
print_operand_address
(
file
,
XEXP
(
adj_offsettable_operand
(
x
,
4
),
0
));
x
=
XEXP
(
adj_offsettable_operand
(
x
,
4
),
0
);
print_operand_address
(
file
,
x
);
if
(
GET_CODE
(
x
)
==
CONST_INT
)
fprintf
(
file
,
"[r0]"
);
break
;
default
:
...
...
gcc/config/v850/v850.h
View file @
7a846a6c
...
...
@@ -21,28 +21,36 @@ Boston, MA 02111-1307, USA. */
#include "svr4.h"
/* Automatically does #undef CPP_PREDEFINES */
#undef ASM_SPEC
#define ASM_SPEC "%{mv*:-mv%*}"
#ifndef CPP_SPEC
#define CPP_SPEC "-D__v850__"
#endif
/* These are defiend in svr4.h but we want to override them. */
#undef ASM_FINAL_SPEC
#undef LIB_SPEC
#undef ENDFILE_SPEC
#undef LINK_SPEC
#undef STARTFILE_SPEC
#undef ASM_SPEC
/* Names to predefine in the preprocessor for this target machine. */
#define CPP_PREDEFINES "-D__v851__ -D__v850"
/* Print subsidiary information on the compiler version in use. */
#define TARGET_CPU_generic 1
#ifndef TARGET_
VERSION
#define TARGET_
VERSION fprintf (stderr, " (NEC V850)");
#ifndef TARGET_
CPU_DEFAULT
#define TARGET_
CPU_DEFAULT TARGET_CPU_generic
#endif
#define MASK_DEFAULT MASK_V850
#define SUBTARGET_ASM_SPEC "%{!mv*:-mv850}"
#define SUBTARGET_CPP_SPEC "%{!mv*:-D__v850__}"
#define TARGET_VERSION fprintf (stderr, " (NEC V850)");
#define ASM_SPEC "%{mv*:-mv%*}"
#define CPP_SPEC "%{mv850ea:-D__v850ea__} %{mv850e:-D__v850e__} %{mv850:-D__v850__} %(subtarget_cpp_spec)"
#define EXTRA_SPECS \
{ "subtarget_asm_spec", SUBTARGET_ASM_SPEC }, \
{ "subtarget_cpp_spec", SUBTARGET_CPP_SPEC }
/* Names to predefine in the preprocessor for this target machine. */
#define CPP_PREDEFINES "-D__v851__ -D__v850"
/* Run-time compilation parameters selecting different hardware subsets. */
...
...
@@ -60,13 +68,6 @@ extern int target_flags;
#define MASK_BIG_SWITCH 0x00000100
#ifndef MASK_DEFAULT
#define MASK_DEFAULT MASK_V850
#endif
#define TARGET_V850 ((target_flags & MASK_CPU) == MASK_V850)
/* Macros used in the machine description to test the flags. */
/* The GHS calling convention support doesn't really work,
...
...
@@ -99,6 +100,8 @@ extern int target_flags;
/* Whether to call out-of-line functions to save registers or not. */
#define TARGET_PROLOG_FUNCTION (target_flags & MASK_PROLOG_FUNCTION)
#define TARGET_V850 ((target_flags & MASK_CPU) == MASK_V850)
/* Whether to emit 2 byte per entry or 4 byte per entry switch tables. */
#define TARGET_BIG_SWITCH (target_flags & MASK_BIG_SWITCH)
...
...
@@ -131,16 +134,7 @@ extern int target_flags;
{ "v850", -(MASK_V850 ^ MASK_CPU), "" }, \
{ "big-switch", MASK_BIG_SWITCH, \
"Use 4 byte entries in switch tables" },\
EXTRA_SWITCHES \
{ "", TARGET_DEFAULT, ""}}
#ifndef EXTRA_SWITCHES
#define EXTRA_SWITCHES
#endif
#ifndef TARGET_DEFAULT
#define TARGET_DEFAULT MASK_DEFAULT
#endif
{ "", MASK_DEFAULT, ""}}
/* Information about the various small memory areas. */
struct
small_memory_info
{
...
...
@@ -301,8 +295,8 @@ extern struct small_memory_info small_memory[(int)SMALL_MEMORY_max];
/* Define this if move instructions will actually fail to work
when given unaligned data. */
#ifndef STRICT_ALIGNMENT
1
#define STRICT_ALIGNMENT
1
#ifndef STRICT_ALIGNMENT
#define STRICT_ALIGNMENT
TARGET_V850
#endif
/* Define this as 1 if `char' should by default be signed; else as 0.
...
...
@@ -919,7 +913,8 @@ extern int current_function_anonymous_args;
do { \
if (RTX_OK_FOR_BASE_P (X)) goto ADDR; \
if (CONSTANT_ADDRESS_P (X) \
&& (MODE == QImode || INTVAL (X) % 2 == 0)) \
&& (MODE == QImode || INTVAL (X) % 2 == 0) \
&& (GET_MODE_SIZE (MODE) <= 4 || INTVAL (X) % 4 == 0)) \
goto ADDR; \
if (GET_CODE (X) == LO_SUM \
&& GET_CODE (XEXP (X, 0)) == REG \
...
...
@@ -1342,7 +1337,7 @@ do { char dstr[30]; \
#undef ASM_OUTPUT_LABELREF
#define ASM_OUTPUT_LABELREF(FILE, NAME) \
do { \
const char
* real_name;
\
const char
* real_name;
\
STRIP_NAME_ENCODING (real_name, (NAME)); \
fprintf (FILE, "_%s", real_name); \
} while (0)
...
...
gcc/configure
View file @
7a846a6c
...
...
@@ -5668,6 +5668,7 @@ for machine in $build $host $target; do
# use_collect2=yes
# ;;
v850-
*
-
*
)
target_cpu_default
=
"TARGET_CPU_generic"
cpu_type
=
v850
tm_file
=
"v850/v850.h"
xm_file
=
"v850/xm-v850.h"
...
...
gcc/configure.in
View file @
7a846a6c
...
...
@@ -3370,6 +3370,7 @@ changequote([,])dnl
# use_collect2=yes
# ;;
v850-*-*)
target_cpu_default="TARGET_CPU_generic"
cpu_type=v850
tm_file="v850/v850.h"
xm_file="v850/xm-v850.h"
...
...
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