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

Fix Issues 23130, 19528 : Inline asm was too liberal about operand si… #14152

Open
wants to merge 1 commit into
base: stable
Choose a base branch
from

Conversation

maxhaton
Copy link
Member

…zes.

A 8-byte type was only considered 8 bytes in 64 bit code, for some reason.
This led to inconsistent compilation of extended asm.

I tried to add an error message suggesting the use of an instruction like movsx
but this code is spaghetti.

@dlang-bot
Copy link
Contributor

dlang-bot commented May 21, 2022

Thanks for your pull request, @maxhaton!

Bugzilla references

Auto-close Bugzilla Severity Description
19528 blocker asm ptoblem
23130 normal Inline asm lets you mov to half a variable.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "stable + dmd#14152"

@thewilsonator
Copy link
Contributor

Stable?

@maxhaton
Copy link
Member Author

I can but the bug was probably misfiled.

…zes.

A 8-byte type was only considered 8 bytes in 64 bit code, for some reason.
This led to inconsistent compilation of extended asm.

I tried to add an error message suggesting the use of an instruction like movsx
but this code is spaghetti.
@maxhaton maxhaton changed the base branch from master to stable May 21, 2022 00:56
@thewilsonator
Copy link
Contributor

I can but the bug was probably misfiled.

OK, master is fine if it is easier to get green.

@ghost
Copy link

ghost commented May 21, 2022

this breaks -m32 LEA and when performed on values with size > 4. This case should be supported as mov REG, dword ptr [value], i.e get address of value.

@maxhaton
Copy link
Member Author

this breaks -m32 LEA and when performed on values with size > 4. This case should be supported as mov REG, dword ptr [value], i.e get address of value.

Let me take a look.

@RazvanN7
Copy link
Contributor

RazvanN7 commented Jul 8, 2022

@maxhaton any progress on this?

@ibuclaw
Copy link
Member

ibuclaw commented Jan 15, 2023

@maxhaton still pursuing or close?

@maxhaton
Copy link
Member Author

maxhaton commented Jan 15, 2023 via email

@RazvanN7
Copy link
Contributor

@maxhaton is this still on your radar?

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