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
9aefc7b6
Commit
9aefc7b6
authored
Sep 22, 1993
by
Jan Brittenson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initial revision
From-SVN: r5393
parent
422e2ed3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
149 additions
and
0 deletions
+149
-0
gcc/bc-optab.h
+74
-0
gcc/bc-typecd.def
+21
-0
gcc/bi-arity.c
+54
-0
No files found.
gcc/bc-optab.h
0 → 100644
View file @
9aefc7b6
/* Bytecode token definitions for GNU C-compiler.
Copyright (C) 1993 Free Software Foundation, Inc.
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
extern
void
bc_expand_conversion
();
extern
void
bc_expand_truth_conversion
();
extern
void
bc_expand_binary_operation
();
extern
void
bc_expand_unary_operation
();
struct
binary_operator
{
enum
bytecode_opcode
opcode
;
enum
typecode
result
;
enum
typecode
arg0
;
enum
typecode
arg1
;
};
extern
struct
binary_operator
optab_plus_expr
[];
extern
struct
binary_operator
optab_minus_expr
[];
extern
struct
binary_operator
optab_mult_expr
[];
extern
struct
binary_operator
optab_trunc_div_expr
[];
extern
struct
binary_operator
optab_trunc_mod_expr
[];
extern
struct
binary_operator
optab_rdiv_expr
[];
extern
struct
binary_operator
optab_bit_and_expr
[];
extern
struct
binary_operator
optab_bit_ior_expr
[];
extern
struct
binary_operator
optab_bit_xor_expr
[];
extern
struct
binary_operator
optab_lshift_expr
[];
extern
struct
binary_operator
optab_rshift_expr
[];
extern
struct
binary_operator
optab_truth_and_expr
[];
extern
struct
binary_operator
optab_truth_or_expr
[];
extern
struct
binary_operator
optab_lt_expr
[];
extern
struct
binary_operator
optab_le_expr
[];
extern
struct
binary_operator
optab_ge_expr
[];
extern
struct
binary_operator
optab_gt_expr
[];
extern
struct
binary_operator
optab_eq_expr
[];
extern
struct
binary_operator
optab_ne_expr
[];
struct
unary_operator
{
enum
bytecode_opcode
opcode
;
enum
typecode
result
;
enum
typecode
arg0
;
};
extern
struct
unary_operator
optab_negate_expr
[];
extern
struct
unary_operator
optab_bit_not_expr
[];
extern
struct
unary_operator
optab_truth_not_expr
[];
struct
increment_operator
{
enum
bytecode_opcode
opcode
;
enum
typecode
arg
;
};
extern
struct
increment_operator
optab_predecrement_expr
[];
extern
struct
increment_operator
optab_preincrement_expr
[];
extern
struct
increment_operator
optab_postdecrement_expr
[];
extern
struct
increment_operator
optab_postincrement_expr
[];
gcc/bc-typecd.def
0 → 100644
View file @
9aefc7b6
/* Typecodes used by the interpreter and their related
machine modes and types.
The last argument is used for retrieving the given
type from a varargs list. Due to a bug in varargs,
the type has to be the generic machine type of
larger. */
DEFTYPECODE (QIcode, "QI", QImode, SItype)
DEFTYPECODE (QUcode, "QU", QImode, SUtype)
DEFTYPECODE (HIcode, "HI", HImode, SItype)
DEFTYPECODE (HUcode, "HU", HImode, SUtype)
DEFTYPECODE (SIcode, "SI", SImode, SItype)
DEFTYPECODE (SUcode, "SU", SImode, SUtype)
DEFTYPECODE (DIcode, "DI", DImode, DItype)
DEFTYPECODE (DUcode, "DU", DImode, DUtype)
DEFTYPECODE (SFcode, "SF", SFmode, SFtype)
DEFTYPECODE (DFcode, "DF", DFmode, DFtype)
DEFTYPECODE (XFcode, "XF", XFmode, XFtype)
DEFTYPECODE (Pcode, "P", PSImode, Ptype)
DEFTYPECODE (Tcode, "T", SImode, SItype)
gcc/bi-arity.c
0 → 100644
View file @
9aefc7b6
/* Bytecode Interpreter utility to generate arity table.
Copyright (C) 1993 Free Software Foundation, Inc.
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "bi-defs.h"
int
length
(
n
)
struct
node
*
n
;
{
int
k
;
for
(
k
=
0
;
n
;
n
=
n
->
next
)
++
k
;
return
k
;
}
int
main
()
{
struct
def
*
d
;
struct
variation
*
v
;
struct
node
*
n
;
yyparse
();
reverse
();
for
(
d
=
defs
;
d
;
d
=
d
->
next
)
for
(
v
=
d
->
variations
;
v
;
v
=
v
->
next
)
{
printf
(
"{ %d, %d, %d, {"
,
length
(
v
->
inputs
),
length
(
v
->
outputs
),
length
(
v
->
literals
));
for
(
n
=
v
->
literals
;
n
;
n
=
n
->
next
)
printf
(
"%scode, "
,
n
->
text
);
printf
(
"}},
\n
"
);
}
return
0
;
}
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