Re: [PATCH V2] LoongArch: Add unaligned access support
From: WANG Xuerui
Date: Tue Oct 18 2022 - 04:09:38 EST
On 2022/10/18 15:48, David Laight wrote:
From: Huacai Chen
Sent: 18 October 2022 08:33
...
What about my more structured approach in another reply that avoids the
huge else-if conditions? Both the terrible line wraps and codegen could
be avoided.
...
OK, let me try.
I suspect you can mask out some 'operand size' bits from the
instructions - instead of checking each opcode.
Technically LoongArch instruction formats don't contain any "operand
size bit", because most current opcodes seem to be simply sequentially
allocated. While there seem to exist a certain pattern in e.g. encodings
of {LD,ST,FLD,FST}.{B,H,W,D}, I believe it's just coincidence (e.g. bits
23:22 of those instructions seem to represent "B/H/W/D"; but other
instructions clearly don't follow such a pattern, not even the
{LD,ST}.{BU,HU,WU} ones).
For now I'd personally prefer readability and maintainability over
performance, because traps are already expensive enough that
optimizations like this don't really matter.
--
WANG "xen0n" Xuerui
Linux/LoongArch mailing list: https://lore.kernel.org/loongarch/