On 8/2/21 2:18 PM, Maciej W. Rozycki wrote:
> On Mon, 2 Aug 2021, Philippe Mathieu-Daudé wrote:
> 
>>> Per the "Godson-2E User Manual v0.6", the Loongson 2E processor
>>> does not implement the MOVZ/MOVN instructions
>>
>> I'm confused because I can't find MOVZ/MOVN in the 2E manual and
>> the 2F explicits the difference. However looking at binutils,
>> these opcodes are also emited on the 2E:
>> https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=350cc38db21f1cd651a6d46687542a0fce5e0303;hp=569502941afa825c5278b320ccedeefc82e8ed0e
> 
>  I find the manual a bit messy.  It does say however:
> 
> "3.2.3 Instruction set mode
> 
> "Godson-2E processor implements a full feature MIPS III Instruction Set 
> Architecture (ISA) plus some MIPS IV ISA instructions, like paired single, 
> move condition and multiply add."
> 
>> Cc'ing Mark & Maciej in case they can enlighten me, and few
>> Loongson develeper in case they could check, because I don't
>> have 2E hardware to test.
> 
>  At least this trivial program:
> 
> int main(void)
> {
>       asm volatile(".set push; .set mips4; movn $0,$0,$0; .set pop");
>       return 0;
> }
> 
> does not trap on actual hardware.

Thank you very much for your time and testing!

> I may not be able to find time right 
> now for a more exhaustive test.

This is fine for me now, I'll add documentation to justify while the
the documentation doesn't describe MOVZ/MOVN, it mentions "implements
MIPS IV ISA instructions like move condition" so we assume they are,
also with your test not trapping.

Regards,

Phil.

Reply via email to