Message ID | 20210909213645.11605-1-david.faust@oracle.com |
---|---|
Headers | show |
Series | bpf: add -mcpu and related feature options | expand |
Hi David. > New instructions have been added over time to the eBPF ISA, but > previously there has been no good method to select which version to > target in GCC. > > This patch adds the following options to the BPF backend: > > -mcpu={v1, v2, v3} > Select which version of the eBPF ISA to target. This enables or > disables generation of certain instructions. The default is v3. > > -mjmpext > Enable extra conditional branch instructions. > Enabled for CPU v2 and above. > > -mjmp32 > Enable 32-bit jump/branch instructions. > Enabled for CPU v3 and above. > > -malu32 > Enable 32-bit ALU instructions. > Enabled for CPU v3 and above. > > Negative versions of -mjmpext, -mjmp32, and -malu32 options are also > supported. The series is OK. Thanks! > > David Faust (3): > bpf: add -mcpu and related feature options > bpf testsuite: add tests for new feature options > doc: document BPF -mcpu and related options > > gcc/config/bpf/bpf-opts.h | 7 ++++ > gcc/config/bpf/bpf-protos.h | 1 + > gcc/config/bpf/bpf.c | 41 ++++++++++++++++++++ > gcc/config/bpf/bpf.md | 44 +++++++++++---------- > gcc/config/bpf/bpf.opt | 29 ++++++++++++++ > gcc/doc/invoke.texi | 39 ++++++++++++++++++- > gcc/testsuite/gcc.target/bpf/alu-1.c | 56 +++++++++++++++++++++++++++ > gcc/testsuite/gcc.target/bpf/jmp-1.c | 57 ++++++++++++++++++++++++++++ > 8 files changed, 253 insertions(+), 21 deletions(-) > create mode 100644 gcc/testsuite/gcc.target/bpf/alu-1.c > create mode 100644 gcc/testsuite/gcc.target/bpf/jmp-1.c