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
387fd02d
Commit
387fd02d
authored
Mar 21, 1994
by
Jim Wilson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(seq, sne, sgt, slt, sge, sle): Add support for
!TARGET_HARD_QUAD. From-SVN: r6839
parent
ce0e109b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
52 additions
and
6 deletions
+52
-6
gcc/config/sparc/sparc.md
+52
-6
No files found.
gcc/config/sparc/sparc.md
View file @
387fd02d
...
...
@@ -264,12 +264,19 @@
(eq:SI (match_dup 1) (const_int 0)))]
""
"
{ if (GET_MODE (sparc_compare_op0) == SImode)
{
if (GET_MODE (sparc_compare_op0) == SImode)
{
emit_insn (gen_seq_special (operands
[
0
]
, sparc_compare_op0,
sparc_compare_op1));
DONE;
}
else if (GET_MODE (sparc_compare_op0) == TFmode && ! TARGET_HARD_QUAD)
{
emit_float_lib_cmp (sparc_compare_op0, sparc_compare_op1, EQ);
emit_insn (gen_sne (operands
[
0
]
));
DONE;
}
else
operands
[
1
]
= gen_compare_reg (EQ, sparc_compare_op0, sparc_compare_op1);
}")
...
...
@@ -279,12 +286,19 @@
(ne:SI (match_dup 1) (const_int 0)))]
""
"
{ if (GET_MODE (sparc_compare_op0) == SImode)
{
if (GET_MODE (sparc_compare_op0) == SImode)
{
emit_insn (gen_sne_special (operands
[
0
]
, sparc_compare_op0,
sparc_compare_op1));
DONE;
}
else if (GET_MODE (sparc_compare_op0) == TFmode && ! TARGET_HARD_QUAD)
{
emit_float_lib_cmp (sparc_compare_op0, sparc_compare_op1, NE);
emit_insn (gen_sne (operands
[
0
]
));
DONE;
}
else
operands
[
1
]
= gen_compare_reg (NE, sparc_compare_op0, sparc_compare_op1);
}")
...
...
@@ -294,28 +308,60 @@
(gt:SI (match_dup 1) (const_int 0)))]
""
"
{ operands
[
1
]
= gen_compare_reg (GT, sparc_compare_op0, sparc_compare_op1); }")
{
if (GET_MODE (sparc_compare_op0) == TFmode && ! TARGET_HARD_QUAD)
{
emit_float_lib_cmp (sparc_compare_op0, sparc_compare_op1, GT);
emit_insn (gen_sne (operands
[
0
]
));
DONE;
}
operands
[
1
]
= gen_compare_reg (GT, sparc_compare_op0, sparc_compare_op1);
}")
(define_expand "slt"
[
(set (match_operand:SI 0 "register_operand" "")
(lt:SI (match_dup 1) (const_int 0)))]
""
"
{ operands
[
1
]
= gen_compare_reg (LT, sparc_compare_op0, sparc_compare_op1); }")
{
if (GET_MODE (sparc_compare_op0) == TFmode && ! TARGET_HARD_QUAD)
{
emit_float_lib_cmp (sparc_compare_op0, sparc_compare_op1, LT);
emit_insn (gen_sne (operands
[
0
]
));
DONE;
}
operands
[
1
]
= gen_compare_reg (LT, sparc_compare_op0, sparc_compare_op1);
}")
(define_expand "sge"
[
(set (match_operand:SI 0 "register_operand" "")
(ge:SI (match_dup 1) (const_int 0)))]
""
"
{ operands
[
1
]
= gen_compare_reg (GE, sparc_compare_op0, sparc_compare_op1); }")
{
if (GET_MODE (sparc_compare_op0) == TFmode && ! TARGET_HARD_QUAD)
{
emit_float_lib_cmp (sparc_compare_op0, sparc_compare_op1, GE);
emit_insn (gen_sne (operands
[
0
]
));
DONE;
}
operands
[
1
]
= gen_compare_reg (GE, sparc_compare_op0, sparc_compare_op1);
}")
(define_expand "sle"
[
(set (match_operand:SI 0 "register_operand" "")
(le:SI (match_dup 1) (const_int 0)))]
""
"
{ operands
[
1
]
= gen_compare_reg (LE, sparc_compare_op0, sparc_compare_op1); }")
{
if (GET_MODE (sparc_compare_op0) == TFmode && ! TARGET_HARD_QUAD)
{
emit_float_lib_cmp (sparc_compare_op0, sparc_compare_op1, LE);
emit_insn (gen_sne (operands
[
0
]
));
DONE;
}
operands
[
1
]
= gen_compare_reg (LE, sparc_compare_op0, sparc_compare_op1);
}")
(define_expand "sgtu"
[
(set (match_operand:SI 0 "register_operand" "")
...
...
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