Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
binutils-gdb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
redox-os
binutils-gdb
Commits
32546502
Commit
32546502
authored
Mar 22, 2018
by
Jan Beulich
Committed by
Jan Beulich
Mar 22, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x86: use local variable in check_VecOperands()
This is just to make a subsequent change a little easier to read.
parent
b8c169f3
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
7 deletions
+13
-7
gas/ChangeLog
gas/ChangeLog
+5
-0
gas/config/tc-i386.c
gas/config/tc-i386.c
+8
-7
No files found.
gas/ChangeLog
View file @
32546502
2018-03-22 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (check_VecOperands): Latch
i.broadcast->operand into op.
2018-03-22 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (match_template): Special case base opcode
...
...
gas/config/tc-i386.c
View file @
32546502
...
...
@@ -5053,14 +5053,15 @@ check_VecOperands (const insn_template *t)
/* Check if specified broadcast is supported in this instruction,
and it's applied to memory operand of DWORD or QWORD type,
depending on VecESize. */
op
=
i
.
broadcast
->
operand
;
if
(
i
.
broadcast
->
type
!=
t
->
opcode_modifier
.
broadcast
||
!
i
.
types
[
i
.
broadcast
->
operand
].
bitfield
.
mem
||
!
i
.
types
[
op
].
bitfield
.
mem
||
(
t
->
opcode_modifier
.
vecesize
==
0
&&
!
i
.
types
[
i
.
broadcast
->
operand
].
bitfield
.
dword
&&
!
i
.
types
[
i
.
broadcast
->
operand
].
bitfield
.
unspecified
)
&&
!
i
.
types
[
op
].
bitfield
.
dword
&&
!
i
.
types
[
op
].
bitfield
.
unspecified
)
||
(
t
->
opcode_modifier
.
vecesize
==
1
&&
!
i
.
types
[
i
.
broadcast
->
operand
].
bitfield
.
qword
&&
!
i
.
types
[
i
.
broadcast
->
operand
].
bitfield
.
unspecified
))
&&
!
i
.
types
[
op
].
bitfield
.
qword
&&
!
i
.
types
[
op
].
bitfield
.
unspecified
))
goto
bad_broadcast
;
broadcasted_opnd_size
=
t
->
opcode_modifier
.
vecesize
?
64
:
32
;
...
...
@@ -5076,9 +5077,9 @@ check_VecOperands (const insn_template *t)
goto
bad_broadcast
;
if
((
broadcasted_opnd_size
==
256
&&
!
t
->
operand_types
[
i
.
broadcast
->
operand
].
bitfield
.
ymmword
)
&&
!
t
->
operand_types
[
op
].
bitfield
.
ymmword
)
||
(
broadcasted_opnd_size
==
512
&&
!
t
->
operand_types
[
i
.
broadcast
->
operand
].
bitfield
.
zmmword
))
&&
!
t
->
operand_types
[
op
].
bitfield
.
zmmword
))
{
bad_broadcast:
i
.
error
=
unsupported_broadcast
;
...
...
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