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

Load Vector Element Integer Indexed instructions seems to be broken #2200

Open
6 of 7 tasks
Goatman13 opened this issue Jun 4, 2023 · 0 comments
Open
6 of 7 tasks

Comments

@Goatman13
Copy link

Validation

Describe what's going wrong

Opcodes lvebx/lvehx/lvewx seems to use wrong ea alignment. According to Altivec manual b/h/w should have ea byte/half/word alignment, while ppc_emit_altivec.cc align ea to quadword for them. Additionally i'm not really sure if whole implementation is correct at all, because it seems to load whole 128 bits from address instead of byte/half/word.

Sorry i'm not familiar with this emitter or with x360 cpu at all, so this issue could be invalid. But looking at store implementations of those opcodes, loads just seems to do wrong thing.

That also should explain #746 "V524 ppc_emit_altivec.cc 73,81 It is odd that the body of 'InstrEmit_lvehx' function is fully equivalent to the body of 'InstrEmit_lvebx' function".

Describe what should happen

Assuming that i'm correct, instructions should load byte/half/word integers from correctly aligned addresses.

If applicable, provide a callstack here, especially for crashes

No response

If applicable, upload a logfile and link it here

No response

@Goatman13 Goatman13 added the bug label Jun 4, 2023
@Margen67 Margen67 added the cpu label Aug 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants