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
e01a2cec
Commit
e01a2cec
authored
Nov 16, 1996
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(operand_subword): Avoid confusion if sizeof (float) is less than a
full word. From-SVN: r13194
parent
60814f40
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
0 deletions
+17
-0
gcc/emit-rtl.c
+17
-0
No files found.
gcc/emit-rtl.c
View file @
e01a2cec
...
@@ -1254,6 +1254,7 @@ operand_subword (op, i, validate_address, mode)
...
@@ -1254,6 +1254,7 @@ operand_subword (op, i, validate_address, mode)
if
(((
HOST_FLOAT_FORMAT
==
TARGET_FLOAT_FORMAT
if
(((
HOST_FLOAT_FORMAT
==
TARGET_FLOAT_FORMAT
&&
HOST_BITS_PER_WIDE_INT
==
BITS_PER_WORD
)
&&
HOST_BITS_PER_WIDE_INT
==
BITS_PER_WORD
)
||
flag_pretend_float
)
||
flag_pretend_float
)
&&
sizeof
(
float
)
*
8
==
HOST_BITS_PER_WIDE_INT
&&
GET_MODE_CLASS
(
mode
)
==
MODE_FLOAT
&&
GET_MODE_CLASS
(
mode
)
==
MODE_FLOAT
&&
GET_MODE_SIZE
(
mode
)
==
UNITS_PER_WORD
&&
GET_MODE_SIZE
(
mode
)
==
UNITS_PER_WORD
&&
GET_CODE
(
op
)
==
CONST_DOUBLE
)
&&
GET_CODE
(
op
)
==
CONST_DOUBLE
)
...
@@ -1266,6 +1267,22 @@ operand_subword (op, i, validate_address, mode)
...
@@ -1266,6 +1267,22 @@ operand_subword (op, i, validate_address, mode)
u
.
f
=
d
;
u
.
f
=
d
;
return
GEN_INT
(
u
.
i
);
return
GEN_INT
(
u
.
i
);
}
}
if
(((
HOST_FLOAT_FORMAT
==
TARGET_FLOAT_FORMAT
&&
HOST_BITS_PER_WIDE_INT
==
BITS_PER_WORD
)
||
flag_pretend_float
)
&&
sizeof
(
double
)
*
8
==
HOST_BITS_PER_WIDE_INT
&&
GET_MODE_CLASS
(
mode
)
==
MODE_FLOAT
&&
GET_MODE_SIZE
(
mode
)
==
UNITS_PER_WORD
&&
GET_CODE
(
op
)
==
CONST_DOUBLE
)
{
double
d
;
union
{
double
d
;
HOST_WIDE_INT
i
;
}
u
;
REAL_VALUE_FROM_CONST_DOUBLE
(
d
,
op
);
u
.
d
=
d
;
return
GEN_INT
(
u
.
i
);
}
#endif
/* no REAL_ARITHMETIC */
#endif
/* no REAL_ARITHMETIC */
/* The only remaining cases that we can handle are integers.
/* The only remaining cases that we can handle are integers.
...
...
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