This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]