On Thu, Oct 3, 2019 at 2:08 PM John Fastabend <john.fastabend@xxxxxxxxx> wrote: > > Song Liu wrote: > > On Wed, Oct 2, 2019 at 5:30 PM Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote: > > > > > > Replace 'cmp reg, 0' with 'test reg, reg' for comparisons against > > > zero. Saves 1 byte of instruction encoding per occurrence. The flag > > > results of test 'reg, reg' are identical to 'cmp reg, 0' in all > > > cases except for AF which we don't use/care about. In terms of > > > macro-fusibility in combination with a subsequent conditional jump > > > instruction, both have the same properties for the jumps used in > > > the JIT translation. For example, same JITed Cilium program can > > > shrink a bit from e.g. 12,455 to 12,317 bytes as tests with 0 are > > > used quite frequently. > > > > > > Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> > > > > Acked-by: Song Liu <songliubraving@xxxxxx> > > Bonus points for causing me to spend the morning remembering the > differences between cmd, and, or, and test. > > Also wonder if at some point we should clean up the jit a bit and > add some defines/helpers for all the open coded opcodes and such. > > Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Applied both. Thanks