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
f680436b
Commit
f680436b
authored
May 20, 2008
by
Kai Tietz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Finally reverted parts of my escaped patch. (quilt sucks).
From-SVN: r135607
parent
d29899ba
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
44 deletions
+15
-44
gcc/config/i386/i386-protos.h
+0
-3
gcc/config/i386/i386.c
+15
-22
gcc/config/i386/i386.h
+0
-19
No files found.
gcc/config/i386/i386-protos.h
View file @
f680436b
...
...
@@ -134,10 +134,7 @@ extern rtx ix86_libcall_value (enum machine_mode);
extern
bool
ix86_function_value_regno_p
(
int
);
extern
bool
ix86_function_arg_regno_p
(
int
);
extern
int
ix86_function_arg_boundary
(
enum
machine_mode
,
tree
);
extern
bool
ix86_return_in_memory
(
const_tree
,
const_tree
);
extern
bool
ix86_sol10_return_in_memory
(
const_tree
,
const_tree
);
extern
bool
ix86_i386elf_return_in_memory
(
const_tree
,
const_tree
);
extern
bool
ix86_i386interix_return_in_memory
(
const_tree
,
const_tree
);
extern
rtx
ix86_force_to_memory
(
enum
machine_mode
,
rtx
);
extern
void
ix86_free_from_memory
(
enum
machine_mode
);
extern
void
ix86_split_fp_branch
(
enum
rtx_code
code
,
rtx
,
rtx
,
...
...
gcc/config/i386/i386.c
View file @
f680436b
...
...
@@ -4901,17 +4901,21 @@ return_in_memory_ms_64 (const_tree type, enum machine_mode mode)
return
(
size
!=
1
&&
size
!=
2
&&
size
!=
4
&&
size
!=
8
);
}
bool
static
bool
ix86_return_in_memory
(
const_tree
type
,
const_tree
fntype
ATTRIBUTE_UNUSED
)
{
const
enum
machine_mode
mode
=
type_natural_mode
(
type
);
#ifdef SUBTARGET_RETURN_IN_MEMORY
return
SUBTARGET_RETURN_IN_MEMORY
(
type
,
fntype
);
#else
const
enum
machine_mode
mode
=
type_natural_mode
(
type
);
if
(
TARGET_64BIT_MS_ABI
)
return
return_in_memory_ms_64
(
type
,
mode
);
else
if
(
TARGET_64BIT
)
return
return_in_memory_64
(
type
,
mode
);
else
return
return_in_memory_32
(
type
,
mode
);
return
return_in_memory_ms_64
(
type
,
mode
);
else
if
(
TARGET_64BIT
)
return
return_in_memory_64
(
type
,
mode
);
else
return
return_in_memory_32
(
type
,
mode
);
#endif
}
/* Return false iff TYPE is returned in memory. This version is used
...
...
@@ -4951,20 +4955,6 @@ ix86_sol10_return_in_memory (const_tree type, const_tree fntype ATTRIBUTE_UNUSED
return
size
>
12
;
}
bool
ix86_i386elf_return_in_memory
(
const_tree
type
,
const_tree
fntype
ATTRIBUTE_UNUSED
)
{
return
(
TYPE_MODE
(
type
)
==
BLKmode
||
(
VECTOR_MODE_P
(
TYPE_MODE
(
type
))
&&
int_size_in_bytes
(
type
)
==
8
));
}
bool
ix86_i386interix_return_in_memory
(
const_tree
type
,
const_tree
fntype
ATTRIBUTE_UNUSED
)
{
return
(
TYPE_MODE
(
type
)
==
BLKmode
||
(
AGGREGATE_TYPE_P
(
type
)
&&
int_size_in_bytes
(
type
)
>
8
));
}
/* When returning SSE vector types, we have a choice of either
(1) being abi incompatible with a -march switch, or
(2) generating an error.
...
...
@@ -25795,6 +25785,9 @@ x86_builtin_vectorization_cost (bool runtime_test)
}
/* Initialize the GCC target structure. */
#undef TARGET_RETURN_IN_MEMORY
#define TARGET_RETURN_IN_MEMORY ix86_return_in_memory
#undef TARGET_ATTRIBUTE_TABLE
#define TARGET_ATTRIBUTE_TABLE ix86_attribute_table
#if TARGET_DLLIMPORT_DECL_ATTRIBUTES
...
...
gcc/config/i386/i386.h
View file @
f680436b
...
...
@@ -1261,25 +1261,6 @@ do { \
#define GOT_SYMBOL_NAME "_GLOBAL_OFFSET_TABLE_"
/* A C expression which can inhibit the returning of certain function
values in registers, based on the type of value. A nonzero value
says to return the function value in memory, just as large
structures are always returned. Here TYPE will be a C expression
of type `tree', representing the data type of the value.
Note that values of mode `BLKmode' must be explicitly handled by
this macro. Also, the option `-fpcc-struct-return' takes effect
regardless of this macro. On most systems, it is possible to
leave the macro undefined; this causes a default definition to be
used, whose value is the constant 1 for `BLKmode' values, and 0
otherwise.
Do not use this macro to indicate that structures and unions
should always be returned in memory. You should instead use
`DEFAULT_PCC_STRUCT_RETURN' to indicate this. */
#define TARGET_RETURN_IN_MEMORY ix86_return_in_memory
/* This is overridden by <cygwin.h>. */
#define MS_AGGREGATE_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