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
4e430df8
Commit
4e430df8
authored
Jul 27, 1994
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(expand_divmod): Don't make REG_NOTE if last insn's destination isn't
QUOTIENT. From-SVN: r7798
parent
ad2e7dd0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
18 deletions
+24
-18
gcc/expmed.c
+24
-18
No files found.
gcc/expmed.c
View file @
4e430df8
...
...
@@ -2568,7 +2568,7 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
rtx
quotient
=
0
,
remainder
=
0
;
rtx
last
;
int
size
;
rtx
insn
;
rtx
insn
,
set
;
optab
optab1
,
optab2
;
int
op1_is_constant
,
op1_is_pow2
;
...
...
@@ -2813,10 +2813,13 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
}
insn
=
get_last_insn
();
REG_NOTES
(
insn
)
=
gen_rtx
(
EXPR_LIST
,
REG_EQUAL
,
gen_rtx
(
UDIV
,
compute_mode
,
op0
,
op1
),
REG_NOTES
(
insn
));
if
(
insn
!=
last
&&
(
set
=
single_set
(
insn
))
!=
0
&&
SET_DEST
(
set
)
==
quotient
)
REG_NOTES
(
insn
)
=
gen_rtx
(
EXPR_LIST
,
REG_EQUAL
,
gen_rtx
(
UDIV
,
compute_mode
,
op0
,
op1
),
REG_NOTES
(
insn
));
}
else
/* TRUNC_DIV, signed */
{
...
...
@@ -2878,11 +2881,14 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
if
(
d
<
0
)
{
insn
=
get_last_insn
();
REG_NOTES
(
insn
)
=
gen_rtx
(
EXPR_LIST
,
REG_EQUAL
,
gen_rtx
(
DIV
,
compute_mode
,
op0
,
GEN_INT
(
abs_d
)),
REG_NOTES
(
insn
));
if
(
insn
!=
last
&&
(
set
=
single_set
(
insn
))
!=
0
&&
SET_DEST
(
set
)
==
quotient
)
REG_NOTES
(
insn
)
=
gen_rtx
(
EXPR_LIST
,
REG_EQUAL
,
gen_rtx
(
DIV
,
compute_mode
,
op0
,
GEN_INT
(
abs_d
)),
REG_NOTES
(
insn
));
quotient
=
expand_unop
(
compute_mode
,
neg_optab
,
quotient
,
quotient
,
0
);
...
...
@@ -2935,14 +2941,14 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp)
}
}
i
f
(
quotient
!=
0
)
{
insn
=
get_last_insn
();
REG_NOTES
(
insn
)
=
gen_rtx
(
EXPR_LIST
,
REG_EQUAL
,
gen_rtx
(
DIV
,
compute_mode
,
op0
,
op1
)
,
REG_NOTES
(
insn
));
}
i
nsn
=
get_last_insn
();
if
(
insn
!=
last
&&
(
set
=
single_set
(
insn
))
!=
0
&&
SET_DEST
(
set
)
==
quotient
)
REG_NOTES
(
insn
)
=
gen_rtx
(
EXPR_LIST
,
REG_EQUAL
,
gen_rtx
(
DIV
,
compute_mode
,
op0
,
op1
),
REG_NOTES
(
insn
));
}
break
;
}
...
...
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