[PATCH v1 1/2] LoongArch: Fix pcaddi format string

Xi Ruoyao xry111@xry111.site
Wed Aug 9 11:37:31 GMT 2023


On Wed, 2023-08-09 at 09:39 +0800, mengqinggang wrote:
> Add "<<2" for pcaddi format string
> ---
>  opcodes/loongarch-opc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/opcodes/loongarch-opc.c b/opcodes/loongarch-opc.c
> index 2f02e33dbec..7d110683e93 100644
> --- a/opcodes/loongarch-opc.c
> +++ b/opcodes/loongarch-opc.c
> @@ -564,7 +564,7 @@ static struct loongarch_opcode loongarch_imm_opcodes[] =
>    { 0x10000000, 0xfc000000,    "addu16i.d",    "r0:5,r5:5,s10:16",             0,                      0,      0,      0 },
>    { 0x14000000, 0xfe000000,    "lu12i.w",      "r0:5,s5:20",                   0,                      0,      0,      0 },
>    { 0x16000000, 0xfe000000,    "lu32i.d",      "r0:5,s5:20",                   0,                      0,      0,      0 },
> -  { 0x18000000, 0xfe000000,    "pcaddi",       "r0:5,s5:20",                   0,                      0,      0,      0 },
> +  { 0x18000000, 0xfe000000,    "pcaddi",       "r0:5,s5:20<<2",                0,                      0,      0,      0 },

The Linux kernel already uses things like "pcaddi t0, 4".  To me this
change will break them completely, and fixing it on the kernel side will
be difficult (we'll need to create some nasty gas version check).

So I don't think we should make such a backward incompatible change
without a very compelling reason.  You may argue that "<<2" has a better
readability, but if we really need the readability we can write

pcaddi t0, 4 # << 2

in the code anyway.

>    { 0x1a000000, 0xfe000000,    "pcalau12i",    "r0:5,s5:20",                   0,                      0,      0,      0 },
>    { 0x1c000000, 0xfe000000,    "pcaddu12i",    "r0:5,s5:20",                   0,                      0,      0,      0 },
>    { 0x1e000000, 0xfe000000,    "pcaddu18i",    "r0:5,s5:20",                   0,                      0,      0,      0 },

-- 
Xi Ruoyao <xry111@xry111.site>
School of Aerospace Science and Technology, Xidian University


More information about the Binutils mailing list