Re: [PATCH bpf-next v2 00/15] bpf: Support new insns from cpu v4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> Hi Yonghong.
>>
>>>>>>    . sign extended load
>>>>>>    . sign extended mov
>>>>>>    . bswap
>>>>>>    . signed div/mod
>>>>>>    . ja with 32-bit offset
>>
>> I am adding the V4 BPF instructions to binutils.  Where is the precise
>> "pseudo-c" syntax used by the new instructions documented?
>
> I looked at the tests in https://reviews.llvm.org/D144829 and:
>
>> For ALU sdiv/smod we are using:
>>
>>    rd s/= rs
>>    rd s%= rs
>
> Looks like I chose wisely, just by chance 8-)
>
>> For ALU movs instruction I just made up:
>>
>>    rd s= (i8) rs
>>    rd s= (i16) rs
>>    rd s= (i32) rs
>
> Just changed that in binutils [1] to
>
>   rd = (s8) rs
>   rd = (s16) rs
>   rd = (s32) rs
>
>> For ALU32 movs I just made up:
>>
>>    wd s= (i8) ws
>>    wd s= (i16) ws
>>    wd s= (i32) ws
>
> Just changed that in binutils [1] to
>
>   wd = (s8) ws
>   wd = (s16) ws
>   wd = (s32) ws
>
> [1] https://sourceware.org/pipermail/binutils/2023-July/128544.html

And finally for byte swap instructions:

    rd = bswap16 rd
    rd = bswap32 rd
    rd = bswap64 rd

https://sourceware.org/pipermail/binutils/2023-July/128546.html

So, at this point we should have support for all the new BPF V4
instructions in the binutils opcodes, assembler and disassembler.

We are working now in getting GCC making good use of them.
Salud!




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux