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
d2f2cb19
Commit
d2f2cb19
authored
May 15, 1998
by
John Wehle
Committed by
Jeff Law
May 15, 1998
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
From-SVN: r19786
parent
51bcf661
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
31 additions
and
23 deletions
+31
-23
gcc/ChangeLog
+4
-0
gcc/config/i386/i386.md
+27
-23
No files found.
gcc/ChangeLog
View file @
d2f2cb19
Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
* i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
* tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
...
...
gcc/config/i386/i386.md
View file @
d2f2cb19
...
...
@@ -1633,36 +1633,40 @@
}")
(define_insn ""
[
(set (match_operand:DI 0 "push_operand" "=<,<,<,<")
(match_operand:DI 1 "general_operand" "riF,o,o,o"))
(clobber (match_scratch:SI 2 "=X,&r,&r,X"))
(clobber (match_scratch:SI 3 "=X,&r,X,X"))]
[
(set (match_operand:DI 0 "push_operand" "=<")
(match_operand:DI 1 "general_operand" "riF"))]
""
"
*
{
if (GET_CODE (operands
[
1
]
) != MEM)
return output_move_double (operands);
"
*
return output_move_double (operands);")
else
return output_move_pushmem (operands, insn, GET_MODE_SIZE (DImode), 2, 4);
}")
(define_insn ""
[
(set (match_operand:DI 0 "push_operand" "=<")
(match_operand:DI 1 "memory_operand" "o"))]
"TARGET_PUSH_MEMORY"
"
*
return output_move_pushmem (operands, insn, GET_MODE_SIZE (DImode),0,0);")
(define_insn "movdi"
[
(set (match_operand:DI 0 "general_operand" "=o,o,r,rm")
(match_operand:DI 1 "general_operand" "o,o,m,riF"))
(clobber (match_scratch:SI 2 "=&r,&r,X,X"))
(clobber (match_scratch:SI 3 "=&r,X,X,X"))]
(define_expand "movdi"
[
(set (match_operand:DI 0 "general_operand" "")
(match_operand:DI 1 "general_operand" ""))]
""
"
*
"
{
rtx low
[
2
]
, high
[
2
]
, xop
[
6
]
;
if (GET_CODE (operands
[
0
]
) != MEM || GET_CODE (operands
[
1
]
) != MEM)
return output_move_double (operands);
else
return output_move_memory (operands, insn, GET_MODE_SIZE (DImode), 2, 4);
/
* Don't generate memory->memory moves, go through a register *
/
if (TARGET_MOVE
&& (reload_in_progress | reload_completed) == 0
&& GET_CODE (operands
[
0
]
) == MEM
&& GET_CODE (operands
[
1
]
) == MEM)
{
operands
[
1
]
= force_reg (DImode, operands
[
1
]
);
}
}")
(define_insn ""
[
(set (match_operand:DI 0 "general_operand" "=g,r")
(match_operand:DI 1 "general_operand" "riF,m"))]
"(!TARGET_MOVE || GET_CODE (operands
[
0
]
) != MEM)
|| (GET_CODE (operands
[
1
]
) != MEM)"
"
*
return output_move_double (operands);")
;;- conversion instructions
;;- NONE
...
...
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