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
98166149
Commit
98166149
authored
Oct 12, 1992
by
James Van Artsdalen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(cmpstrM patterns): Compare strings of unsigned chars, not strings of
signed chars. From-SVN: r2414
parent
b329456e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
6 deletions
+11
-6
gcc/config/i386/i386.md
+11
-6
No files found.
gcc/config/i386/i386.md
View file @
98166149
...
...
@@ -3976,7 +3976,7 @@
}")
(define_expand "cmpstrsi"
[(parallel [(set (match_operand:
Q
I 0 "general_operand" "")
[(parallel [(set (match_operand:
S
I 0 "general_operand" "")
(compare:CC (match_operand:BLK 1 "general_operand" "")
(match_operand:BLK 2 "general_operand" "")))
(use (match_operand:SI 3 "general_operand" ""))
...
...
@@ -4013,7 +4013,7 @@
;; code to handle zero-length compares.
(define_insn ""
[
(set (match_operand:
QI 0 "general_operand" "=&q
")
[
(set (match_operand:
SI 0 "general_operand" "=&r
")
(compare:CC (mem:BLK (match_operand:SI 1 "address_operand" "S"))
(mem:BLK (match_operand:SI 2 "address_operand" "D"))))
(use (match_operand:SI 3 "register_operand" "c"))
...
...
@@ -4024,12 +4024,12 @@
""
"
*
{
rtx xops
[
3
]
, label;
rtx xops
[
4
]
, label;
label = gen_label_rtx ();
output_asm_insn (
\"
cld
\"
, operands);
output_asm_insn (AS2 (xor%
B
0,%0,%0), operands);
output_asm_insn (AS2 (xor%
L
0,%0,%0), operands);
output_asm_insn (
\"
repz
\;
cmps%B2
\"
, operands);
output_asm_insn (
\"
je %l0
\"
,
&label);
...
...
@@ -4038,9 +4038,12 @@
gen_rtx (PLUS, SImode, operands
[
1
]
, constm1_rtx));
xops
[
2
]
= gen_rtx (MEM, QImode,
gen_rtx (PLUS, SImode, operands
[
2
]
, constm1_rtx));
xops
[
3
]
= operands
[
3
]
;
output_asm_insn (AS2 (mov%B0,%1,%b0), xops);
output_asm_insn (AS2 (sub%B0,%2,%b0), xops);
output_asm_insn (AS2 (movz%B1%L0,%1,%0), xops);
output_asm_insn (AS2 (movz%B2%L3,%2,%3), xops);
output_asm_insn (AS2 (sub%L0,%3,%0), xops);
ASM_OUTPUT_INTERNAL_LABEL (asm_out_file,
\"
L
\"
, CODE_LABEL_NUMBER (label));
RET;
}")
...
...
@@ -4059,6 +4062,8 @@
{
rtx xops
[
2
]
;
cc_status.flags |= CC_NOT_SIGNED;
xops
[
0
]
= gen_rtx (REG, QImode, 0);
xops
[
1
]
= CONST0_RTX (QImode);
...
...
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