[PATCH] x86/APX: optimize MOVBE

Jan Beulich jbeulich@suse.com
Fri Jan 12 12:28:20 GMT 2024


On 12.01.2024 13:00, Jan Beulich wrote:
> --- a/opcodes/i386-opc.tbl
> +++ b/opcodes/i386-opc.tbl
> @@ -210,6 +210,9 @@ mov, 0xf24, i386&No64, D|RegMem|IgnoreSi
>  // Move after swapping the bytes
>  movbe, 0x0f38f0, Movbe, D|Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Word|Dword|Qword|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
>  movbe, 0x60, Movbe&APX_F, D|Modrm|CheckOperandSize|No_bSuf|No_sSuf|EVexMap4, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
> +// This really is BSWAP, but wants "duplicating" here for easy EVEX -> REX2
> +// conversion, restarting with the next sequential template.
> +movbe, 0xfc8, Movbe&APX_F, No_bSuf|No_wSuf|No_sSuf, { Reg32|Reg64 }

Thinking of it - while not the end of the world, it would certainly be nice
if this new template wasn't available for "ordinary" use. I'll see if I can
come up with something.

Jan


More information about the Binutils mailing list