Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect instruction group information #2539

Open
JoelYYoung opened this issue Nov 8, 2024 · 2 comments
Open

Incorrect instruction group information #2539

JoelYYoung opened this issue Nov 8, 2024 · 2 comments
Labels

Comments

@JoelYYoung
Copy link

JoelYYoung commented Nov 8, 2024

Work environment

Questions Answers
OS/arch/bits MacOS AArch64
Architecture x86
Source of Capstone git clone
Version/git commit v6.0.0

Expected behavior

Instruction group should be correctly assigned in X86MappingInsn.inc file.

Actual behavior

The groups for some instructions are incorrect. E.g., PABSW should be an SSSE3 instruction, however, its instruction group is empty in the corresponding item in X86MappingInsn.inc file.

@JoelYYoung JoelYYoung changed the title Incorrect jnstruction group information Incorrect instruction group information Nov 8, 2024
@Rot127 Rot127 added bug X86 Arch labels Nov 9, 2024
@Rot127
Copy link
Collaborator

Rot127 commented Nov 9, 2024

Can you please provide a ``cstool x32` (or similar command) so we have the bytes for this instruction?

@JoelYYoung
Copy link
Author

JoelYYoung commented Nov 12, 2024

Thanks for your reply. Here is the output of cstool:

➜  ~ cstool -d x64 660F381d45F0
 0  66 0f 38 1d 45 f0                                pabsw      xmm0, xmmword ptr [rbp - 0x10]
        ID: 384 (pabsw)
        Prefix:0x00 0x00 0x66 0x00
        Opcode:0x0f 0x1d 0x00 0x00
        rex: 0x0
        addr_size: 8
        modrm: 0x45
        disp: 0xfffffffffffffff0
        sib: 0x0
        op_count: 2
                operands[0].type: REG = xmm0
                operands[0].size: 16
                operands[0].access: WRITE
                operands[1].type: MEM
                        operands[1].mem.base: REG = rbp
                        operands[1].mem.disp: 0xfffffffffffffff0
                operands[1].size: 16
                operands[1].access: READ
        Registers read: rbp
        Registers modified: xmm0

And here is the brief of pabsw in the Intel 64 and IA-32 Architectures Software Developer's Manual.

doc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants