This is the mail archive of the
mailing list for the GCC project.
Re: PATCH: PR target/39590: inline asm %z on amd64 says "ll" instead of "q"
H.J. Lu wrote:
I think that we should move special fild/fist handling out of 'z' intoWouldn't it be better to keep %zN as is and add %ZN which would expand
new 'Z' operand modifier. This simplifies code a lot, and enables all
sorts of special fild/fist handling to be handled in one place without
overloading (otherwise undocumented!) 'z' modifier too much.
to q instead of ll for 64-bit operand?
When a new modifier is added, I don't see any advantages of modifying the
behaviour of %zN.
This is in fact the core of the problem. People are using %z, and this
modifier will generate "ll" suffix when DImode memory operand is
processed. We are changing %z to avoid this, so %z will always
generate "q", no matter if assembler supports fildq or not.
Do we need a testcase for "%z"?
I think we can live without the testcase, since it is too much
complication to detect asm support in the testsuite for this mnemonic.
We can trust gcc that it can substitute "q" for "ll" in this case.