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
989f090c
Commit
989f090c
authored
Jun 04, 1998
by
Richard Henderson
Committed by
Richard Henderson
Jun 04, 1998
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* alpha.md (insxh-1): New insxl pattern for combine.
From-SVN: r20239
parent
b9e199ac
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
37 additions
and
0 deletions
+37
-0
gcc/ChangeLog
+4
-0
gcc/config/alpha/alpha.md
+33
-0
No files found.
gcc/ChangeLog
View file @
989f090c
Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com>
* alpha.md (insxh-1): New insxl pattern for combine.
Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org)
* i386/i386.c (output_fp_conditional_move): New function
* i386/i386.c (output_fp_conditional_move): New function
...
...
gcc/config/alpha/alpha.md
View file @
989f090c
...
@@ -1614,6 +1614,39 @@
...
@@ -1614,6 +1614,39 @@
"insql %1,%2,%0"
"insql %1,%2,%0"
[
(set_attr "type" "shift")
]
)
[
(set_attr "type" "shift")
]
)
;; Combine has this sometimes habit of moving the and outside of the
;; shift, making life more interesting.
(define_insn ""
[
(set (match_operand:DI 0 "register_operand" "=r")
(and:DI (ashift:DI (match_operand:DI 1 "register_operand" "r")
(match_operand:DI 2 "mul8_operand" "I"))
(match_operand:DI 3 "immediate_operand" "i")))]
"HOST_BITS_PER_WIDE_INT == 64
&& GET_CODE (operands
[
3
]
) == CONST_INT
&& (((unsigned HOST_WIDE_INT) 0xff << INTVAL (operands
[
2
]
)
== INTVAL (operands
[
3
]
))
|| ((unsigned HOST_WIDE_INT) 0xffff << INTVAL (operands
[
2
]
)
== INTVAL (operands
[
3
]
))
|| ((unsigned HOST_WIDE_INT) 0xffffffff << INTVAL (operands
[
2
]
)
== INTVAL (operands
[
3
]
)))"
"
*
{
#if HOST_BITS_PER_WIDE_INT == 64
if ((unsigned HOST_WIDE_INT) 0xff << INTVAL (operands
[
2
]
)
== INTVAL (operands
[
3
]
))
return
\"
insbl %1,%s2,%0
\"
;
if ((unsigned HOST_WIDE_INT) 0xffff << INTVAL (operands
[
2
]
)
== INTVAL (operands
[
3
]
))
return
\"
inswl %1,%s2,%0
\"
;
if ((unsigned HOST_WIDE_INT) 0xffffffff << INTVAL (operands
[
2
]
)
== INTVAL (operands
[
3
]
))
return
\"
insll %1,%s2,%0
\"
;
#endif
abort();
}"
[
(set_attr "type" "shift")
]
)
;; We do not include the insXh insns because they are complex to express
;; We do not include the insXh insns because they are complex to express
;; and it does not appear that we would ever want to generate them.
;; and it does not appear that we would ever want to generate them.
;;
;;
...
...
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