This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: PATCH: PR gas/1874: mwait/monitor don't work in 64bit
On Wed, Nov 16, 2005 at 05:12:24PM +0100, Jan Beulich wrote:
> >-{"monitor", 3, 0x0f01, 0xc8, CpuPNI, NoSuf|ImmExt, { Reg32, Reg32,
> Reg32} },
> >+{"monitor", 3, 0x0f01, 0xc8, CpuPNI|CpuNo64, NoSuf|ImmExt, { Reg32,
> Reg32, Reg32 } },
> >+/* Need to ensure only "monitor %rax,%ecx,%edx" is accepted. */
> >+{"monitor", 3, 0x0f01, 0xc8, CpuPNI|Cpu64,
> NoSuf|ImmExt|NoRex64, { Reg64, Reg32, Reg32 } },
>
> I'm afraid this isn't correct. While it took your Premier Support folks
> several months to come up with an obviously wrong answer (experiments
> show that the first operand's size is determined by the address size in
> effect), they still didn't manage to get me a correct answer. However,
I will try to get the correct answer this time :-).
> as already said, the operand size is controlled by the address size (and
> thus without prefixes, and hence implicitly also without operands)
> everything is correct, the 32-bit first-operand-form is still valid (and
> thus shouldn't be disallowed).
>
Are you saying "monitor %eax,%ecx,%edx" should be allowed in 64bit
mode? Why? How will it be used?
H.J.