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
50d38551
Commit
50d38551
authored
May 24, 2013
by
Ian Bolton
Committed by
Ian Bolton
May 24, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
AArch64 - allow insv_imm to handle bigger immediates via masking to 16 bits
From-SVN: r199293
parent
f746a029
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
5 deletions
+11
-5
gcc/ChangeLog
+7
-0
gcc/config/aarch64/aarch64.c
+2
-2
gcc/config/aarch64/aarch64.md
+2
-3
No files found.
gcc/ChangeLog
View file @
50d38551
2013-05-24 Ian Bolton <ian.bolton@arm.com>
* config/aarch64/aarch64.c (aarch64_print_operand): Change the
X format specifier to only display bottom 16 bits.
* config/aarch64/aarch64.md (insv_imm<mode>): Allow any size of
immediate to match for operand 2, since it will be masked.
2013-05-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/57287
...
...
gcc/config/aarch64/aarch64.c
View file @
50d38551
...
...
@@ -3428,13 +3428,13 @@ aarch64_print_operand (FILE *f, rtx x, char code)
break
;
case
'X'
:
/* Print integer constant in hex. */
/* Print
bottom 16 bits of
integer constant in hex. */
if
(
GET_CODE
(
x
)
!=
CONST_INT
)
{
output_operand_lossage
(
"invalid operand for '%%%c'"
,
code
);
return
;
}
asm_fprintf
(
f
,
"0x%wx"
,
UINTVAL
(
x
));
asm_fprintf
(
f
,
"0x%wx"
,
UINTVAL
(
x
)
&
0xffff
);
break
;
case
'w'
:
...
...
gcc/config/aarch64/aarch64.md
View file @
50d38551
...
...
@@ -858,9 +858,8 @@
(const_int 16)
(match_operand:GPI 1 "const_int_operand" "n"))
(match_operand:GPI 2 "const_int_operand" "n"))]
"INTVAL (operands
[
1
]
)
<
GET
_MODE_BITSIZE
(<
MODE
>
mode)
&& INTVAL (operands
[
1
]
) % 16 == 0
&& UINTVAL (operands
[
2
]
) <= 0xffff"
"UINTVAL (operands
[
1
]
)
<
GET
_MODE_BITSIZE
(<
MODE
>
mode)
&& UINTVAL (operands
[
1
]
) % 16 == 0"
"movk
\\
t%
<w>
0, %X2, lsl %1"
[
(set_attr "v8type" "movk")
(set_attr "mode" "
<MODE>
")]
...
...
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