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
f8e0b2ea
Commit
f8e0b2ea
authored
Jan 31, 1996
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
({adddi,subdi}_sexthishl32): 'a' and 'd' versions merged and fixed; do
not generate 'add/sub a,m'. From-SVN: r11127
parent
ad92f794
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
37 deletions
+26
-37
gcc/config/m68k/m68k.md
+26
-37
No files found.
gcc/config/m68k/m68k.md
View file @
f8e0b2ea
...
@@ -2014,31 +2014,25 @@
...
@@ -2014,31 +2014,25 @@
return
\"
sub%.l %2,%3
\;
subx%.l %2,%0
\"
;
return
\"
sub%.l %2,%3
\;
subx%.l %2,%0
\"
;
}")
}")
(define_insn "adddi
a
_sexthishl32"
(define_insn "adddi_sexthishl32"
[
(set (match_operand:DI 0 "
register_operand" "+
a")
[
(set (match_operand:DI 0 "
general_operand" "=o,d,
a")
(plus:DI (ashift:DI (sign_extend:DI
(plus:DI (ashift:DI (sign_extend:DI
(match_operand:HI 1 "general_operand" "rm"))
(match_operand:HI 1 "general_operand" "rm
,rm,rm
"))
(const_int 32))
(const_int 32))
(match_dup 0)))]
(match_operand:DI 2 "general_operand" "0,0,0")))
(clobber (match_scratch:SI 3 "=&d
*a,a*
d,X"))]
""
""
"
*
"
*
{
{
CC_STATUS_INIT;
CC_STATUS_INIT;
return
\"
add%.w %1,%0
\"
;
if (ADDRESS_REG_P (operands
[
0
]
))
} ")
return
\"
add%.w %1,%0
\"
;
else if (DATA_REG_P (operands
[
3
]
))
(define_insn "adddid_sexthishl32"
return
\"
move%.w %1,%3
\;
ext%.l %3
\;
add%.l %3,%0
\"
;
[
(set (match_operand:DI 0 "general_operand" "+ro")
else if (DATA_REG_P (operands
[
0
]
))
(plus:DI (ashift:DI (sign_extend:DI
return
\"
move%.w %1,%3
\;
add%.l %3,%0
\"
;
(match_operand:HI 1 "general_operand" "rm"))
else
(const_int 32))
return
\"
move%.l %0,%3
\;
add%.w %1,%3
\;
mov%.l %3,%0
\"
;
(match_dup 0)))
(clobber (match_scratch:SI 2 "=a"))]
""
"
*
{
CC_STATUS_INIT;
return
\"
move%.w %1,%2
\;
add%.l %2,%0
\"
;
} ")
} ")
(define_insn "adddi_dilshr32"
(define_insn "adddi_dilshr32"
...
@@ -2627,29 +2621,24 @@
...
@@ -2627,29 +2621,24 @@
;; subtract instructions
;; subtract instructions
(define_insn "subdia_sexthishl32"
(define_insn "subdi_sexthishl32"
[
(set (match_operand:DI 0 "register_operand" "+a")
[
(set (match_operand:DI 0 "general_operand" "=o,d,a")
(minus:DI (match_dup 0)
(minus:DI (match_operand:DI 1 "general_operand" "0,0,0")
(ashift:DI (sign_extend:DI (match_operand:HI 1 "general_operand" "rm"))
(ashift:DI (sign_extend:DI (match_operand:HI 2 "general_operand" "rm,rm,rm"))
(const_int 32))))]
""
"
*
{
CC_STATUS_INIT;
return
\"
sub%.w %1,%0
\"
;
} ")
(define_insn "subdid_sexthishl32"
[
(set (match_operand:DI 0 "general_operand" "+ro")
(minus:DI (match_dup 0)
(ashift:DI (sign_extend:DI (match_operand:HI 1 "general_operand" "rm"))
(const_int 32))))
(const_int 32))))
(clobber (match_scratch:SI
2 "=a
"))]
(clobber (match_scratch:SI
3 "=&d
*a,a*
d,X
"))]
""
""
"
*
"
*
{
{
CC_STATUS_INIT;
CC_STATUS_INIT;
return
\"
move%.w %1,%2
\;
sub%.l %2,%0
\"
;
if (ADDRESS_REG_P (operands
[
0
]
))
return
\"
sub%.w %2,%0
\"
;
else if (DATA_REG_P (operands
[
3
]
))
return
\"
move%.w %2,%3
\;
ext%.l %3
\;
sub%.l %3,%0
\"
;
else if (DATA_REG_P (operands
[
0
]
))
return
\"
move%.w %2,%3
\;
sub%.l %3,%0
\"
;
else
return
\"
move%.l %0,%3
\;
sub%.w %2,%3
\;
mov%.l %3,%0
\"
;
} ")
} ")
(define_insn "subdi_dishl32"
(define_insn "subdi_dishl32"
...
...
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