All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH bpf-next 12/13] bpf/tests: Add more BPF_END byte order conversion tests
Date: Fri, 03 Sep 2021 23:12:14 +0800	[thread overview]
Message-ID: <202109032313.fwDVujZp-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 760339 bytes --]

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210902185229.1840281-13-johan.almbladh@anyfinetworks.com>
References: <20210902185229.1840281-13-johan.almbladh@anyfinetworks.com>
TO: Johan Almbladh <johan.almbladh@anyfinetworks.com>
TO: ast(a)kernel.org
TO: daniel(a)iogearbox.net
TO: andrii(a)kernel.org
TO: iii(a)linux.ibm.com
CC: kafai(a)fb.com
CC: songliubraving(a)fb.com
CC: yhs(a)fb.com
CC: john.fastabend(a)gmail.com
CC: kpsingh(a)kernel.org
CC: netdev(a)vger.kernel.org

Hi Johan,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on bpf-next/master]

url:    https://github.com/0day-ci/linux/commits/Johan-Almbladh/bpf-tests-Extend-JIT-test-suite-coverage/20210903-025430
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
:::::: branch date: 20 hours ago
:::::: commit date: 20 hours ago
config: i386-randconfig-s001-20210903 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.4-rc1-dirty
        # https://github.com/0day-ci/linux/commit/b768dbbf26de9655b45775f5e760726336ed9bcf
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Johan-Almbladh/bpf-tests-Extend-JIT-test-suite-coverage/20210903-025430
        git checkout b768dbbf26de9655b45775f5e760726336ed9bcf
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
   lib/test_bpf.c:6722:25: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int [usertype] result @@     got restricted __be16 [usertype] @@
   lib/test_bpf.c:6722:25: sparse:     expected unsigned int [usertype] result
   lib/test_bpf.c:6722:25: sparse:     got restricted __be16 [usertype]
   lib/test_bpf.c:6736:24: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int [usertype] result @@     got restricted __be32 [usertype] @@
   lib/test_bpf.c:6736:24: sparse:     expected unsigned int [usertype] result
   lib/test_bpf.c:6736:24: sparse:     got restricted __be32 [usertype]
   lib/test_bpf.c:6747:25: sparse: sparse: cast from restricted __be64
>> lib/test_bpf.c:6759:31: sparse: sparse: restricted __be64 degrades to integer
   lib/test_bpf.c:6771:25: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int [usertype] result @@     got restricted __be16 [usertype] @@
   lib/test_bpf.c:6771:25: sparse:     expected unsigned int [usertype] result
   lib/test_bpf.c:6771:25: sparse:     got restricted __be16 [usertype]
   lib/test_bpf.c:6785:24: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int [usertype] result @@     got restricted __be32 [usertype] @@
   lib/test_bpf.c:6785:24: sparse:     expected unsigned int [usertype] result
   lib/test_bpf.c:6785:24: sparse:     got restricted __be32 [usertype]
   lib/test_bpf.c:6796:25: sparse: sparse: cast from restricted __be64
   lib/test_bpf.c:6808:31: sparse: sparse: restricted __be64 degrades to integer
   lib/test_bpf.c:6820:24: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int [usertype] result @@     got restricted __le16 [usertype] @@
   lib/test_bpf.c:6820:24: sparse:     expected unsigned int [usertype] result
   lib/test_bpf.c:6820:24: sparse:     got restricted __le16 [usertype]
   lib/test_bpf.c:6834:24: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int [usertype] result @@     got restricted __le32 [usertype] @@
   lib/test_bpf.c:6834:24: sparse:     expected unsigned int [usertype] result
   lib/test_bpf.c:6834:24: sparse:     got restricted __le32 [usertype]
   lib/test_bpf.c:6845:25: sparse: sparse: cast from restricted __le64
>> lib/test_bpf.c:6857:31: sparse: sparse: restricted __le64 degrades to integer
   lib/test_bpf.c:6869:25: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int [usertype] result @@     got restricted __le16 [usertype] @@
   lib/test_bpf.c:6869:25: sparse:     expected unsigned int [usertype] result
   lib/test_bpf.c:6869:25: sparse:     got restricted __le16 [usertype]
   lib/test_bpf.c:6883:24: sparse: sparse: incorrect type in initializer (different base types) @@     expected unsigned int [usertype] result @@     got restricted __le32 [usertype] @@
   lib/test_bpf.c:6883:24: sparse:     expected unsigned int [usertype] result
   lib/test_bpf.c:6883:24: sparse:     got restricted __le32 [usertype]
   lib/test_bpf.c:6894:25: sparse: sparse: cast from restricted __le64
   lib/test_bpf.c:6906:31: sparse: sparse: restricted __le64 degrades to integer
   lib/test_bpf.c:3525:25: sparse: sparse: cast truncates bits from constant value (fedcba9876543210 becomes 76543210)
   lib/test_bpf.c:3526:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:3531:25: sparse: sparse: cast truncates bits from constant value (fedcba9876543210 becomes 76543210)
   lib/test_bpf.c:3532:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:3537:25: sparse: sparse: cast truncates bits from constant value (fedcba9876543210 becomes 76543210)
   lib/test_bpf.c:3538:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:3543:25: sparse: sparse: cast truncates bits from constant value (fedcba9876543210 becomes 76543210)
   lib/test_bpf.c:3544:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:3549:25: sparse: sparse: cast truncates bits from constant value (fedcba9876543210 becomes 76543210)
   lib/test_bpf.c:3550:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:3555:25: sparse: sparse: cast truncates bits from constant value (fedcba9876543210 becomes 76543210)
   lib/test_bpf.c:3556:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:3561:25: sparse: sparse: cast truncates bits from constant value (fedcba9876543210 becomes 76543210)
   lib/test_bpf.c:3566:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:3571:25: sparse: sparse: cast truncates bits from constant value (fedcba9876543210 becomes 76543210)
   lib/test_bpf.c:3572:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:3945:25: sparse: sparse: cast truncates bits from constant value (567800001234 becomes 1234)
   lib/test_bpf.c:3956:25: sparse: sparse: cast truncates bits from constant value (1ffffffff becomes ffffffff)
   lib/test_bpf.c:4033:25: sparse: sparse: cast truncates bits from constant value (ffffffff0000 becomes ffff0000)
   lib/test_bpf.c:4111:25: sparse: sparse: cast truncates bits from constant value (ffffffff0000 becomes ffff0000)
   lib/test_bpf.c:4127:25: sparse: sparse: cast truncates bits from constant value (ffffffff0000 becomes ffff0000)
   lib/test_bpf.c:4252:25: sparse: sparse: cast truncates bits from constant value (100000000 becomes 0)
   lib/test_bpf.c:4430:25: sparse: sparse: cast truncates bits from constant value (100000000 becomes 0)
   lib/test_bpf.c:4740:25: sparse: sparse: cast truncates bits from constant value (fedcba987654321 becomes 87654321)
   lib/test_bpf.c:4741:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef0 becomes 9abcdef0)
   lib/test_bpf.c:4752:25: sparse: sparse: cast truncates bits from constant value (fedcba987654321 becomes 87654321)
   lib/test_bpf.c:4753:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef0 becomes 9abcdef0)
   lib/test_bpf.c:4875:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:4886:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5273:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5311:25: sparse: sparse: cast truncates bits from constant value (ffffffff0000 becomes ffff0000)
   lib/test_bpf.c:5327:25: sparse: sparse: cast truncates bits from constant value (ffffffff0000 becomes ffff0000)
   lib/test_bpf.c:5328:25: sparse: sparse: cast truncates bits from constant value (ffffffff0000 becomes ffff0000)
   lib/test_bpf.c:5359:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5375:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5376:25: sparse: sparse: cast truncates bits from constant value (123456780a0c0e0 becomes 80a0c0e0)
   lib/test_bpf.c:5485:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5523:25: sparse: sparse: cast truncates bits from constant value (ffffffff0000 becomes ffff0000)
   lib/test_bpf.c:5524:25: sparse: sparse: cast truncates bits from constant value (ffffffff0000 becomes ffff0000)
   lib/test_bpf.c:5539:25: sparse: sparse: cast truncates bits from constant value (ffffffff0000 becomes ffff0000)
   lib/test_bpf.c:5571:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5572:25: sparse: sparse: cast truncates bits from constant value (12345678fafcfef becomes 8fafcfef)
   lib/test_bpf.c:5587:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5697:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5735:25: sparse: sparse: cast truncates bits from constant value (ffffffff0000 becomes ffff0000)
   lib/test_bpf.c:5736:25: sparse: sparse: cast truncates bits from constant value (ffffffff0000 becomes ffff0000)
   lib/test_bpf.c:5751:25: sparse: sparse: cast truncates bits from constant value (ffffffff0000 becomes ffff0000)
   lib/test_bpf.c:5752:25: sparse: sparse: cast truncates bits from constant value (ffff00000000ffff becomes ffff)
   lib/test_bpf.c:5783:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5784:25: sparse: sparse: cast truncates bits from constant value (123456786a4c2e0 becomes 86a4c2e0)
   lib/test_bpf.c:5799:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5800:25: sparse: sparse: cast truncates bits from constant value (fedcba98795b3d1f becomes 795b3d1f)
   lib/test_bpf.c:5876:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5888:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5901:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5913:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5926:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5938:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5951:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:5963:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6043:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6054:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6066:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6077:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6089:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6100:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6112:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6184:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6196:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6209:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6221:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6234:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6246:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6259:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6271:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6351:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6362:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6374:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6385:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6397:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6408:25: sparse: sparse: cast truncates bits from constant value (8123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6420:25: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)
   lib/test_bpf.c:6444:25: sparse: sparse: cast truncates bits from constant value (ff00ff0000000000 becomes 0)
   lib/test_bpf.c:6456:25: sparse: sparse: too many warnings

vim +6759 lib/test_bpf.c

e1016e1586ff9b Johan Almbladh     2021-09-02   1988  
6b8730939624e5 Johan Almbladh     2021-09-02   1989  
64a8946b447e41 Alexei Starovoitov 2014-05-08   1990  static struct bpf_test tests[] = {
64a8946b447e41 Alexei Starovoitov 2014-05-08   1991  	{
64a8946b447e41 Alexei Starovoitov 2014-05-08   1992  		"TAX",
ece80490e2c1ce Andrew Morton      2014-05-22   1993  		.u.insns = {
64a8946b447e41 Alexei Starovoitov 2014-05-08   1994  			BPF_STMT(BPF_LD | BPF_IMM, 1),
64a8946b447e41 Alexei Starovoitov 2014-05-08   1995  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
64a8946b447e41 Alexei Starovoitov 2014-05-08   1996  			BPF_STMT(BPF_LD | BPF_IMM, 2),
64a8946b447e41 Alexei Starovoitov 2014-05-08   1997  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
64a8946b447e41 Alexei Starovoitov 2014-05-08   1998  			BPF_STMT(BPF_ALU | BPF_NEG, 0), /* A == -3 */
64a8946b447e41 Alexei Starovoitov 2014-05-08   1999  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
64a8946b447e41 Alexei Starovoitov 2014-05-08   2000  			BPF_STMT(BPF_LD | BPF_LEN, 0),
64a8946b447e41 Alexei Starovoitov 2014-05-08   2001  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
64a8946b447e41 Alexei Starovoitov 2014-05-08   2002  			BPF_STMT(BPF_MISC | BPF_TAX, 0), /* X == len - 3 */
64a8946b447e41 Alexei Starovoitov 2014-05-08   2003  			BPF_STMT(BPF_LD | BPF_B | BPF_IND, 1),
64a8946b447e41 Alexei Starovoitov 2014-05-08   2004  			BPF_STMT(BPF_RET | BPF_A, 0)
64a8946b447e41 Alexei Starovoitov 2014-05-08   2005  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2006  		CLASSIC,
64a8946b447e41 Alexei Starovoitov 2014-05-08   2007  		{ 10, 20, 30, 40, 50 },
64a8946b447e41 Alexei Starovoitov 2014-05-08   2008  		{ { 2, 10 }, { 3, 20 }, { 4, 30 } },
64a8946b447e41 Alexei Starovoitov 2014-05-08   2009  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2010  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2011  		"TXA",
ece80490e2c1ce Andrew Morton      2014-05-22   2012  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2013  			BPF_STMT(BPF_LDX | BPF_LEN, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2014  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2015  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2016  			BPF_STMT(BPF_RET | BPF_A, 0) /* A == len * 2 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2017  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2018  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2019  		{ 10, 20, 30, 40, 50 },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2020  		{ { 1, 2 }, { 3, 6 }, { 4, 8 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2021  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2022  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2023  		"ADD_SUB_MUL_K",
ece80490e2c1ce Andrew Morton      2014-05-22   2024  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2025  			BPF_STMT(BPF_LD | BPF_IMM, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2026  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2027  			BPF_STMT(BPF_LDX | BPF_IMM, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2028  			BPF_STMT(BPF_ALU | BPF_SUB | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2029  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 0xffffffff),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2030  			BPF_STMT(BPF_ALU | BPF_MUL | BPF_K, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2031  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2032  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2033  		CLASSIC | FLAG_NO_DATA,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2034  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2035  		{ { 0, 0xfffffffd } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2036  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2037  	{
6867b17b26d80c Denis Kirjanov     2014-12-01   2038  		"DIV_MOD_KX",
ece80490e2c1ce Andrew Morton      2014-05-22   2039  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2040  			BPF_STMT(BPF_LD | BPF_IMM, 8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2041  			BPF_STMT(BPF_ALU | BPF_DIV | BPF_K, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2042  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2043  			BPF_STMT(BPF_LD | BPF_IMM, 0xffffffff),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2044  			BPF_STMT(BPF_ALU | BPF_DIV | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2045  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2046  			BPF_STMT(BPF_LD | BPF_IMM, 0xffffffff),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2047  			BPF_STMT(BPF_ALU | BPF_DIV | BPF_K, 0x70000000),
6867b17b26d80c Denis Kirjanov     2014-12-01   2048  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
6867b17b26d80c Denis Kirjanov     2014-12-01   2049  			BPF_STMT(BPF_LD | BPF_IMM, 0xffffffff),
6867b17b26d80c Denis Kirjanov     2014-12-01   2050  			BPF_STMT(BPF_ALU | BPF_MOD | BPF_X, 0),
6867b17b26d80c Denis Kirjanov     2014-12-01   2051  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
6867b17b26d80c Denis Kirjanov     2014-12-01   2052  			BPF_STMT(BPF_LD | BPF_IMM, 0xffffffff),
6867b17b26d80c Denis Kirjanov     2014-12-01   2053  			BPF_STMT(BPF_ALU | BPF_MOD | BPF_K, 0x70000000),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2054  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2055  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2056  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2057  		CLASSIC | FLAG_NO_DATA,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2058  		{ },
6867b17b26d80c Denis Kirjanov     2014-12-01   2059  		{ { 0, 0x20000000 } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2060  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2061  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2062  		"AND_OR_LSH_K",
ece80490e2c1ce Andrew Morton      2014-05-22   2063  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2064  			BPF_STMT(BPF_LD | BPF_IMM, 0xff),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2065  			BPF_STMT(BPF_ALU | BPF_AND | BPF_K, 0xf0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2066  			BPF_STMT(BPF_ALU | BPF_LSH | BPF_K, 27),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2067  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2068  			BPF_STMT(BPF_LD | BPF_IMM, 0xf),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2069  			BPF_STMT(BPF_ALU | BPF_OR | BPF_K, 0xf0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2070  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2071  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2072  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2073  		CLASSIC | FLAG_NO_DATA,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2074  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2075  		{ { 0, 0x800000ff }, { 1, 0x800000ff } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2076  	},
e9d9450497f77e Chema Gonzalez     2014-05-30   2077  	{
e9d9450497f77e Chema Gonzalez     2014-05-30   2078  		"LD_IMM_0",
e9d9450497f77e Chema Gonzalez     2014-05-30   2079  		.u.insns = {
e9d9450497f77e Chema Gonzalez     2014-05-30   2080  			BPF_STMT(BPF_LD | BPF_IMM, 0), /* ld #0 */
e9d9450497f77e Chema Gonzalez     2014-05-30   2081  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0, 1, 0),
e9d9450497f77e Chema Gonzalez     2014-05-30   2082  			BPF_STMT(BPF_RET | BPF_K, 0),
e9d9450497f77e Chema Gonzalez     2014-05-30   2083  			BPF_STMT(BPF_RET | BPF_K, 1),
e9d9450497f77e Chema Gonzalez     2014-05-30   2084  		},
e9d9450497f77e Chema Gonzalez     2014-05-30   2085  		CLASSIC,
e9d9450497f77e Chema Gonzalez     2014-05-30   2086  		{ },
e9d9450497f77e Chema Gonzalez     2014-05-30   2087  		{ { 1, 1 } },
e9d9450497f77e Chema Gonzalez     2014-05-30   2088  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2089  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2090  		"LD_IND",
ece80490e2c1ce Andrew Morton      2014-05-22   2091  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2092  			BPF_STMT(BPF_LDX | BPF_LEN, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2093  			BPF_STMT(BPF_LD | BPF_H | BPF_IND, MAX_K),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2094  			BPF_STMT(BPF_RET | BPF_K, 1)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2095  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2096  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2097  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2098  		{ { 1, 0 }, { 10, 0 }, { 60, 0 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2099  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2100  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2101  		"LD_ABS",
ece80490e2c1ce Andrew Morton      2014-05-22   2102  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2103  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS, 1000),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2104  			BPF_STMT(BPF_RET | BPF_K, 1)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2105  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2106  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2107  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2108  		{ { 1, 0 }, { 10, 0 }, { 60, 0 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2109  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2110  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2111  		"LD_ABS_LL",
ece80490e2c1ce Andrew Morton      2014-05-22   2112  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2113  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, SKF_LL_OFF),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2114  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2115  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, SKF_LL_OFF + 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2116  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2117  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2118  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2119  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2120  		{ 1, 2, 3 },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2121  		{ { 1, 0 }, { 2, 3 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2122  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2123  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2124  		"LD_IND_LL",
ece80490e2c1ce Andrew Morton      2014-05-22   2125  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2126  			BPF_STMT(BPF_LD | BPF_IMM, SKF_LL_OFF - 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2127  			BPF_STMT(BPF_LDX | BPF_LEN, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2128  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2129  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2130  			BPF_STMT(BPF_LD | BPF_B | BPF_IND, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2131  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2132  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2133  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2134  		{ 1, 2, 3, 0xff },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2135  		{ { 1, 1 }, { 3, 3 }, { 4, 0xff } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2136  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2137  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2138  		"LD_ABS_NET",
ece80490e2c1ce Andrew Morton      2014-05-22   2139  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2140  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, SKF_NET_OFF),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2141  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2142  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, SKF_NET_OFF + 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2143  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2144  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2145  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2146  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2147  		{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3 },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2148  		{ { 15, 0 }, { 16, 3 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2149  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2150  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2151  		"LD_IND_NET",
ece80490e2c1ce Andrew Morton      2014-05-22   2152  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2153  			BPF_STMT(BPF_LD | BPF_IMM, SKF_NET_OFF - 15),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2154  			BPF_STMT(BPF_LDX | BPF_LEN, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2155  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2156  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2157  			BPF_STMT(BPF_LD | BPF_B | BPF_IND, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2158  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2159  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2160  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2161  		{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3 },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2162  		{ { 14, 0 }, { 15, 1 }, { 17, 3 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2163  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2164  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2165  		"LD_PKTTYPE",
ece80490e2c1ce Andrew Morton      2014-05-22   2166  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2167  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2168  				 SKF_AD_OFF + SKF_AD_PKTTYPE),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2169  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, SKB_TYPE, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2170  			BPF_STMT(BPF_RET | BPF_K, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2171  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2172  				 SKF_AD_OFF + SKF_AD_PKTTYPE),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2173  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, SKB_TYPE, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2174  			BPF_STMT(BPF_RET | BPF_K, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2175  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2176  				 SKF_AD_OFF + SKF_AD_PKTTYPE),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2177  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, SKB_TYPE, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2178  			BPF_STMT(BPF_RET | BPF_K, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2179  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2180  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2181  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2182  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2183  		{ { 1, 3 }, { 10, 3 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2184  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2185  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2186  		"LD_MARK",
ece80490e2c1ce Andrew Morton      2014-05-22   2187  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2188  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2189  				 SKF_AD_OFF + SKF_AD_MARK),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2190  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2191  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2192  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2193  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2194  		{ { 1, SKB_MARK}, { 10, SKB_MARK} },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2195  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2196  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2197  		"LD_RXHASH",
ece80490e2c1ce Andrew Morton      2014-05-22   2198  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2199  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2200  				 SKF_AD_OFF + SKF_AD_RXHASH),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2201  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2202  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2203  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2204  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2205  		{ { 1, SKB_HASH}, { 10, SKB_HASH} },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2206  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2207  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2208  		"LD_QUEUE",
ece80490e2c1ce Andrew Morton      2014-05-22   2209  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2210  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2211  				 SKF_AD_OFF + SKF_AD_QUEUE),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2212  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2213  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2214  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2215  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2216  		{ { 1, SKB_QUEUE_MAP }, { 10, SKB_QUEUE_MAP } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2217  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2218  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2219  		"LD_PROTOCOL",
ece80490e2c1ce Andrew Morton      2014-05-22   2220  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2221  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2222  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 20, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2223  			BPF_STMT(BPF_RET | BPF_K, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2224  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2225  				 SKF_AD_OFF + SKF_AD_PROTOCOL),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2226  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2227  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2228  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 30, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2229  			BPF_STMT(BPF_RET | BPF_K, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2230  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2231  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2232  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2233  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2234  		{ 10, 20, 30 },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2235  		{ { 10, ETH_P_IP }, { 100, ETH_P_IP } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2236  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2237  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2238  		"LD_VLAN_TAG",
ece80490e2c1ce Andrew Morton      2014-05-22   2239  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2240  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2241  				 SKF_AD_OFF + SKF_AD_VLAN_TAG),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2242  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2243  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2244  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2245  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2246  		{
0c4b2d370514cb Michał Mirosław    2018-11-10   2247  			{ 1, SKB_VLAN_TCI },
0c4b2d370514cb Michał Mirosław    2018-11-10   2248  			{ 10, SKB_VLAN_TCI }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2249  		},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2250  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2251  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2252  		"LD_VLAN_TAG_PRESENT",
ece80490e2c1ce Andrew Morton      2014-05-22   2253  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2254  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2255  				 SKF_AD_OFF + SKF_AD_VLAN_TAG_PRESENT),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2256  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2257  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2258  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2259  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2260  		{
0c4b2d370514cb Michał Mirosław    2018-11-10   2261  			{ 1, SKB_VLAN_PRESENT },
0c4b2d370514cb Michał Mirosław    2018-11-10   2262  			{ 10, SKB_VLAN_PRESENT }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2263  		},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2264  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2265  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2266  		"LD_IFINDEX",
ece80490e2c1ce Andrew Morton      2014-05-22   2267  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2268  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2269  				 SKF_AD_OFF + SKF_AD_IFINDEX),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2270  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2271  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2272  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2273  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2274  		{ { 1, SKB_DEV_IFINDEX }, { 10, SKB_DEV_IFINDEX } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2275  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2276  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2277  		"LD_HATYPE",
ece80490e2c1ce Andrew Morton      2014-05-22   2278  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2279  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2280  				 SKF_AD_OFF + SKF_AD_HATYPE),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2281  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2282  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2283  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2284  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2285  		{ { 1, SKB_DEV_TYPE }, { 10, SKB_DEV_TYPE } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2286  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2287  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2288  		"LD_CPU",
ece80490e2c1ce Andrew Morton      2014-05-22   2289  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2290  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2291  				 SKF_AD_OFF + SKF_AD_CPU),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2292  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2293  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2294  				 SKF_AD_OFF + SKF_AD_CPU),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2295  			BPF_STMT(BPF_ALU | BPF_SUB | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2296  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2297  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2298  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2299  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2300  		{ { 1, 0 }, { 10, 0 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2301  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2302  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2303  		"LD_NLATTR",
ece80490e2c1ce Andrew Morton      2014-05-22   2304  		.u.insns = {
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2305  			BPF_STMT(BPF_LDX | BPF_IMM, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2306  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2307  			BPF_STMT(BPF_LDX | BPF_IMM, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2308  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2309  				 SKF_AD_OFF + SKF_AD_NLATTR),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2310  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2311  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2312  		CLASSIC,
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2313  #ifdef __BIG_ENDIAN
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2314  		{ 0xff, 0xff, 0, 4, 0, 2, 0, 4, 0, 3 },
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2315  #else
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2316  		{ 0xff, 0xff, 4, 0, 2, 0, 4, 0, 3, 0 },
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2317  #endif
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2318  		{ { 4, 0 }, { 20, 6 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2319  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2320  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2321  		"LD_NLATTR_NEST",
ece80490e2c1ce Andrew Morton      2014-05-22   2322  		.u.insns = {
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2323  			BPF_STMT(BPF_LD | BPF_IMM, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2324  			BPF_STMT(BPF_LDX | BPF_IMM, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2325  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2326  				 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2327  			BPF_STMT(BPF_LD | BPF_IMM, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2328  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2329  				 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2330  			BPF_STMT(BPF_LD | BPF_IMM, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2331  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2332  				 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2333  			BPF_STMT(BPF_LD | BPF_IMM, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2334  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2335  				 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2336  			BPF_STMT(BPF_LD | BPF_IMM, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2337  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2338  				 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2339  			BPF_STMT(BPF_LD | BPF_IMM, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2340  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2341  				 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2342  			BPF_STMT(BPF_LD | BPF_IMM, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2343  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2344  				 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2345  			BPF_STMT(BPF_LD | BPF_IMM, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2346  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2347  				 SKF_AD_OFF + SKF_AD_NLATTR_NEST),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2348  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2349  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2350  		CLASSIC,
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2351  #ifdef __BIG_ENDIAN
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2352  		{ 0xff, 0xff, 0, 12, 0, 1, 0, 4, 0, 2, 0, 4, 0, 3 },
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2353  #else
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2354  		{ 0xff, 0xff, 12, 0, 1, 0, 4, 0, 2, 0, 4, 0, 3, 0 },
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2355  #endif
df6d0f983a59c3 Alexei Starovoitov 2014-06-06   2356  		{ { 4, 0 }, { 20, 10 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2357  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2358  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2359  		"LD_PAYLOAD_OFF",
ece80490e2c1ce Andrew Morton      2014-05-22   2360  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2361  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2362  				 SKF_AD_OFF + SKF_AD_PAY_OFFSET),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2363  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2364  				 SKF_AD_OFF + SKF_AD_PAY_OFFSET),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2365  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2366  				 SKF_AD_OFF + SKF_AD_PAY_OFFSET),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2367  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2368  				 SKF_AD_OFF + SKF_AD_PAY_OFFSET),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2369  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2370  				 SKF_AD_OFF + SKF_AD_PAY_OFFSET),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2371  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2372  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2373  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2374  		/* 00:00:00:00:00:00 > 00:00:00:00:00:00, ethtype IPv4 (0x0800),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2375  		 * length 98: 127.0.0.1 > 127.0.0.1: ICMP echo request,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2376  		 * id 9737, seq 1, length 64
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2377  		 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2378  		{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2379  		  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2380  		  0x08, 0x00,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2381  		  0x45, 0x00, 0x00, 0x54, 0xac, 0x8b, 0x40, 0x00, 0x40,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2382  		  0x01, 0x90, 0x1b, 0x7f, 0x00, 0x00, 0x01 },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2383  		{ { 30, 0 }, { 100, 42 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2384  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2385  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2386  		"LD_ANC_XOR",
ece80490e2c1ce Andrew Morton      2014-05-22   2387  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2388  			BPF_STMT(BPF_LD | BPF_IMM, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2389  			BPF_STMT(BPF_LDX | BPF_IMM, 300),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2390  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2391  				 SKF_AD_OFF + SKF_AD_ALU_XOR_X),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2392  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2393  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2394  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2395  		{ },
098454362a0602 Nathan Chancellor  2019-08-18   2396  		{ { 4, 0xA ^ 300 }, { 20, 0xA ^ 300 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2397  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2398  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2399  		"SPILL_FILL",
ece80490e2c1ce Andrew Morton      2014-05-22   2400  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2401  			BPF_STMT(BPF_LDX | BPF_LEN, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2402  			BPF_STMT(BPF_LD | BPF_IMM, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2403  			BPF_STMT(BPF_ALU | BPF_RSH, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2404  			BPF_STMT(BPF_ALU | BPF_XOR | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2405  			BPF_STMT(BPF_ST, 1), /* M1 = 1 ^ len */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2406  			BPF_STMT(BPF_ALU | BPF_XOR | BPF_K, 0x80000000),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2407  			BPF_STMT(BPF_ST, 2), /* M2 = 1 ^ len ^ 0x80000000 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2408  			BPF_STMT(BPF_STX, 15), /* M3 = len */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2409  			BPF_STMT(BPF_LDX | BPF_MEM, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2410  			BPF_STMT(BPF_LD | BPF_MEM, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2411  			BPF_STMT(BPF_ALU | BPF_XOR | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2412  			BPF_STMT(BPF_LDX | BPF_MEM, 15),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2413  			BPF_STMT(BPF_ALU | BPF_XOR | BPF_X, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2414  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2415  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2416  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2417  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2418  		{ { 1, 0x80000001 }, { 2, 0x80000002 }, { 60, 0x80000000 ^ 60 } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2419  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2420  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2421  		"JEQ",
ece80490e2c1ce Andrew Morton      2014-05-22   2422  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2423  			BPF_STMT(BPF_LDX | BPF_LEN, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2424  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2425  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_X, 0, 0, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2426  			BPF_STMT(BPF_RET | BPF_K, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2427  			BPF_STMT(BPF_RET | BPF_K, MAX_K)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2428  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2429  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2430  		{ 3, 3, 3, 3, 3 },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2431  		{ { 1, 0 }, { 3, 1 }, { 4, MAX_K } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2432  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2433  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2434  		"JGT",
ece80490e2c1ce Andrew Morton      2014-05-22   2435  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2436  			BPF_STMT(BPF_LDX | BPF_LEN, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2437  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2438  			BPF_JUMP(BPF_JMP | BPF_JGT | BPF_X, 0, 0, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2439  			BPF_STMT(BPF_RET | BPF_K, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2440  			BPF_STMT(BPF_RET | BPF_K, MAX_K)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2441  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2442  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2443  		{ 4, 4, 4, 3, 3 },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2444  		{ { 2, 0 }, { 3, 1 }, { 4, MAX_K } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2445  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   2446  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   2447  		"JGE (jt 0), test 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   2448  		.u.insns = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   2449  			BPF_STMT(BPF_LDX | BPF_LEN, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   2450  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   2451  			BPF_JUMP(BPF_JMP | BPF_JGE | BPF_X, 0, 0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   2452  			BPF_STMT(BPF_RET | BPF_K, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   2453  			BPF_STMT(BPF_RET | BPF_K, MAX_K)
92b31a9af73b3a Daniel Borkmann    2017-08-10   2454  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   2455  		CLASSIC,
92b31a9af73b3a Daniel Borkmann    2017-08-10   2456  		{ 4, 4, 4, 3, 3 },
92b31a9af73b3a Daniel Borkmann    2017-08-10   2457  		{ { 2, 0 }, { 3, 1 }, { 4, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   2458  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   2459  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   2460  		"JGE (jt 0), test 2",
92b31a9af73b3a Daniel Borkmann    2017-08-10   2461  		.u.insns = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   2462  			BPF_STMT(BPF_LDX | BPF_LEN, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   2463  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   2464  			BPF_JUMP(BPF_JMP | BPF_JGE | BPF_X, 0, 0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   2465  			BPF_STMT(BPF_RET | BPF_K, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   2466  			BPF_STMT(BPF_RET | BPF_K, MAX_K)
92b31a9af73b3a Daniel Borkmann    2017-08-10   2467  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   2468  		CLASSIC,
92b31a9af73b3a Daniel Borkmann    2017-08-10   2469  		{ 4, 4, 5, 3, 3 },
92b31a9af73b3a Daniel Borkmann    2017-08-10   2470  		{ { 4, 1 }, { 5, 1 }, { 6, MAX_K } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   2471  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2472  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2473  		"JGE",
ece80490e2c1ce Andrew Morton      2014-05-22   2474  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2475  			BPF_STMT(BPF_LDX | BPF_LEN, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2476  			BPF_STMT(BPF_LD | BPF_B | BPF_IND, MAX_K),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2477  			BPF_JUMP(BPF_JMP | BPF_JGE | BPF_K, 1, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2478  			BPF_STMT(BPF_RET | BPF_K, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2479  			BPF_JUMP(BPF_JMP | BPF_JGE | BPF_K, 2, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2480  			BPF_STMT(BPF_RET | BPF_K, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2481  			BPF_JUMP(BPF_JMP | BPF_JGE | BPF_K, 3, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2482  			BPF_STMT(BPF_RET | BPF_K, 30),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2483  			BPF_JUMP(BPF_JMP | BPF_JGE | BPF_K, 4, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2484  			BPF_STMT(BPF_RET | BPF_K, 40),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2485  			BPF_STMT(BPF_RET | BPF_K, MAX_K)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2486  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2487  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2488  		{ 1, 2, 3, 4, 5 },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2489  		{ { 1, 20 }, { 3, 40 }, { 5, MAX_K } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2490  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2491  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2492  		"JSET",
ece80490e2c1ce Andrew Morton      2014-05-22   2493  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2494  			BPF_JUMP(BPF_JMP | BPF_JA, 0, 0, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2495  			BPF_JUMP(BPF_JMP | BPF_JA, 1, 1, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2496  			BPF_JUMP(BPF_JMP | BPF_JA, 0, 0, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2497  			BPF_JUMP(BPF_JMP | BPF_JA, 0, 0, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2498  			BPF_STMT(BPF_LDX | BPF_LEN, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2499  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2500  			BPF_STMT(BPF_ALU | BPF_SUB | BPF_K, 4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2501  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2502  			BPF_STMT(BPF_LD | BPF_W | BPF_IND, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2503  			BPF_JUMP(BPF_JMP | BPF_JSET | BPF_K, 1, 0, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2504  			BPF_STMT(BPF_RET | BPF_K, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2505  			BPF_JUMP(BPF_JMP | BPF_JSET | BPF_K, 0x80000000, 0, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2506  			BPF_STMT(BPF_RET | BPF_K, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2507  			BPF_JUMP(BPF_JMP | BPF_JSET | BPF_K, 0xffffff, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2508  			BPF_STMT(BPF_RET | BPF_K, 30),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2509  			BPF_JUMP(BPF_JMP | BPF_JSET | BPF_K, 0xffffff, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2510  			BPF_STMT(BPF_RET | BPF_K, 30),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2511  			BPF_JUMP(BPF_JMP | BPF_JSET | BPF_K, 0xffffff, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2512  			BPF_STMT(BPF_RET | BPF_K, 30),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2513  			BPF_JUMP(BPF_JMP | BPF_JSET | BPF_K, 0xffffff, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2514  			BPF_STMT(BPF_RET | BPF_K, 30),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2515  			BPF_JUMP(BPF_JMP | BPF_JSET | BPF_K, 0xffffff, 1, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2516  			BPF_STMT(BPF_RET | BPF_K, 30),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2517  			BPF_STMT(BPF_RET | BPF_K, MAX_K)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2518  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2519  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2520  		{ 0, 0xAA, 0x55, 1 },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2521  		{ { 4, 10 }, { 5, 20 }, { 6, MAX_K } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2522  	},
64a8946b447e41 Alexei Starovoitov 2014-05-08   2523  	{
64a8946b447e41 Alexei Starovoitov 2014-05-08   2524  		"tcpdump port 22",
ece80490e2c1ce Andrew Morton      2014-05-22   2525  		.u.insns = {
ce25b68b74593b Daniel Borkmann    2014-05-26   2526  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 12),
ce25b68b74593b Daniel Borkmann    2014-05-26   2527  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x86dd, 0, 8), /* IPv6 */
ce25b68b74593b Daniel Borkmann    2014-05-26   2528  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, 20),
ce25b68b74593b Daniel Borkmann    2014-05-26   2529  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x84, 2, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2530  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x6, 1, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2531  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x11, 0, 17),
ce25b68b74593b Daniel Borkmann    2014-05-26   2532  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 54),
ce25b68b74593b Daniel Borkmann    2014-05-26   2533  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 22, 14, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2534  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 56),
ce25b68b74593b Daniel Borkmann    2014-05-26   2535  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 22, 12, 13),
ce25b68b74593b Daniel Borkmann    2014-05-26   2536  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x0800, 0, 12), /* IPv4 */
ce25b68b74593b Daniel Borkmann    2014-05-26   2537  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, 23),
ce25b68b74593b Daniel Borkmann    2014-05-26   2538  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x84, 2, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2539  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x6, 1, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2540  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x11, 0, 8),
ce25b68b74593b Daniel Borkmann    2014-05-26   2541  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 20),
ce25b68b74593b Daniel Borkmann    2014-05-26   2542  			BPF_JUMP(BPF_JMP | BPF_JSET | BPF_K, 0x1fff, 6, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2543  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 14),
ce25b68b74593b Daniel Borkmann    2014-05-26   2544  			BPF_STMT(BPF_LD | BPF_H | BPF_IND, 14),
ce25b68b74593b Daniel Borkmann    2014-05-26   2545  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 22, 2, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2546  			BPF_STMT(BPF_LD | BPF_H | BPF_IND, 16),
ce25b68b74593b Daniel Borkmann    2014-05-26   2547  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 22, 0, 1),
ce25b68b74593b Daniel Borkmann    2014-05-26   2548  			BPF_STMT(BPF_RET | BPF_K, 0xffff),
ce25b68b74593b Daniel Borkmann    2014-05-26   2549  			BPF_STMT(BPF_RET | BPF_K, 0),
64a8946b447e41 Alexei Starovoitov 2014-05-08   2550  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2551  		CLASSIC,
64a8946b447e41 Alexei Starovoitov 2014-05-08   2552  		/* 3c:07:54:43:e5:76 > 10:bf:48:d6:43:d6, ethertype IPv4(0x0800)
64a8946b447e41 Alexei Starovoitov 2014-05-08   2553  		 * length 114: 10.1.1.149.49700 > 10.1.2.10.22: Flags [P.],
64a8946b447e41 Alexei Starovoitov 2014-05-08   2554  		 * seq 1305692979:1305693027, ack 3650467037, win 65535,
64a8946b447e41 Alexei Starovoitov 2014-05-08   2555  		 * options [nop,nop,TS val 2502645400 ecr 3971138], length 48
64a8946b447e41 Alexei Starovoitov 2014-05-08   2556  		 */
64a8946b447e41 Alexei Starovoitov 2014-05-08   2557  		{ 0x10, 0xbf, 0x48, 0xd6, 0x43, 0xd6,
64a8946b447e41 Alexei Starovoitov 2014-05-08   2558  		  0x3c, 0x07, 0x54, 0x43, 0xe5, 0x76,
64a8946b447e41 Alexei Starovoitov 2014-05-08   2559  		  0x08, 0x00,
64a8946b447e41 Alexei Starovoitov 2014-05-08   2560  		  0x45, 0x10, 0x00, 0x64, 0x75, 0xb5,
64a8946b447e41 Alexei Starovoitov 2014-05-08   2561  		  0x40, 0x00, 0x40, 0x06, 0xad, 0x2e, /* IP header */
64a8946b447e41 Alexei Starovoitov 2014-05-08   2562  		  0x0a, 0x01, 0x01, 0x95, /* ip src */
64a8946b447e41 Alexei Starovoitov 2014-05-08   2563  		  0x0a, 0x01, 0x02, 0x0a, /* ip dst */
64a8946b447e41 Alexei Starovoitov 2014-05-08   2564  		  0xc2, 0x24,
64a8946b447e41 Alexei Starovoitov 2014-05-08   2565  		  0x00, 0x16 /* dst port */ },
64a8946b447e41 Alexei Starovoitov 2014-05-08   2566  		{ { 10, 0 }, { 30, 0 }, { 100, 65535 } },
64a8946b447e41 Alexei Starovoitov 2014-05-08   2567  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2568  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2569  		"tcpdump complex",
ece80490e2c1ce Andrew Morton      2014-05-22   2570  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2571  			/* tcpdump -nei eth0 'tcp port 22 and (((ip[2:2] -
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2572  			 * ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0) and
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2573  			 * (len > 115 or len < 30000000000)' -d
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2574  			 */
ce25b68b74593b Daniel Borkmann    2014-05-26   2575  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 12),
ce25b68b74593b Daniel Borkmann    2014-05-26   2576  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x86dd, 30, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2577  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x800, 0, 29),
ce25b68b74593b Daniel Borkmann    2014-05-26   2578  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, 23),
ce25b68b74593b Daniel Borkmann    2014-05-26   2579  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x6, 0, 27),
ce25b68b74593b Daniel Borkmann    2014-05-26   2580  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 20),
ce25b68b74593b Daniel Borkmann    2014-05-26   2581  			BPF_JUMP(BPF_JMP | BPF_JSET | BPF_K, 0x1fff, 25, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2582  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 14),
ce25b68b74593b Daniel Borkmann    2014-05-26   2583  			BPF_STMT(BPF_LD | BPF_H | BPF_IND, 14),
ce25b68b74593b Daniel Borkmann    2014-05-26   2584  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 22, 2, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2585  			BPF_STMT(BPF_LD | BPF_H | BPF_IND, 16),
ce25b68b74593b Daniel Borkmann    2014-05-26   2586  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 22, 0, 20),
ce25b68b74593b Daniel Borkmann    2014-05-26   2587  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 16),
ce25b68b74593b Daniel Borkmann    2014-05-26   2588  			BPF_STMT(BPF_ST, 1),
ce25b68b74593b Daniel Borkmann    2014-05-26   2589  			BPF_STMT(BPF_LD | BPF_B | BPF_ABS, 14),
ce25b68b74593b Daniel Borkmann    2014-05-26   2590  			BPF_STMT(BPF_ALU | BPF_AND | BPF_K, 0xf),
ce25b68b74593b Daniel Borkmann    2014-05-26   2591  			BPF_STMT(BPF_ALU | BPF_LSH | BPF_K, 2),
ce25b68b74593b Daniel Borkmann    2014-05-26   2592  			BPF_STMT(BPF_MISC | BPF_TAX, 0x5), /* libpcap emits K on TAX */
ce25b68b74593b Daniel Borkmann    2014-05-26   2593  			BPF_STMT(BPF_LD | BPF_MEM, 1),
ce25b68b74593b Daniel Borkmann    2014-05-26   2594  			BPF_STMT(BPF_ALU | BPF_SUB | BPF_X, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2595  			BPF_STMT(BPF_ST, 5),
ce25b68b74593b Daniel Borkmann    2014-05-26   2596  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 14),
ce25b68b74593b Daniel Borkmann    2014-05-26   2597  			BPF_STMT(BPF_LD | BPF_B | BPF_IND, 26),
ce25b68b74593b Daniel Borkmann    2014-05-26   2598  			BPF_STMT(BPF_ALU | BPF_AND | BPF_K, 0xf0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2599  			BPF_STMT(BPF_ALU | BPF_RSH | BPF_K, 2),
ce25b68b74593b Daniel Borkmann    2014-05-26   2600  			BPF_STMT(BPF_MISC | BPF_TAX, 0x9), /* libpcap emits K on TAX */
ce25b68b74593b Daniel Borkmann    2014-05-26   2601  			BPF_STMT(BPF_LD | BPF_MEM, 5),
ce25b68b74593b Daniel Borkmann    2014-05-26   2602  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_X, 0, 4, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2603  			BPF_STMT(BPF_LD | BPF_LEN, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2604  			BPF_JUMP(BPF_JMP | BPF_JGT | BPF_K, 0x73, 1, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2605  			BPF_JUMP(BPF_JMP | BPF_JGE | BPF_K, 0xfc23ac00, 1, 0),
ce25b68b74593b Daniel Borkmann    2014-05-26   2606  			BPF_STMT(BPF_RET | BPF_K, 0xffff),
ce25b68b74593b Daniel Borkmann    2014-05-26   2607  			BPF_STMT(BPF_RET | BPF_K, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2608  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2609  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2610  		{ 0x10, 0xbf, 0x48, 0xd6, 0x43, 0xd6,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2611  		  0x3c, 0x07, 0x54, 0x43, 0xe5, 0x76,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2612  		  0x08, 0x00,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2613  		  0x45, 0x10, 0x00, 0x64, 0x75, 0xb5,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2614  		  0x40, 0x00, 0x40, 0x06, 0xad, 0x2e, /* IP header */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2615  		  0x0a, 0x01, 0x01, 0x95, /* ip src */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2616  		  0x0a, 0x01, 0x02, 0x0a, /* ip dst */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2617  		  0xc2, 0x24,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2618  		  0x00, 0x16 /* dst port */ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2619  		{ { 10, 0 }, { 30, 0 }, { 100, 65535 } },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2620  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2621  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2622  		"RET_A",
ece80490e2c1ce Andrew Morton      2014-05-22   2623  		.u.insns = {
53b0fe36ab7c6e Zhen Lei           2021-07-07   2624  			/* check that uninitialized X and A contain zeros */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2625  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2626  			BPF_STMT(BPF_RET | BPF_A, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2627  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2628  		CLASSIC,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2629  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2630  		{ {1, 0}, {2, 0} },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2631  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2632  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2633  		"INT: ADD trivial",
ece80490e2c1ce Andrew Morton      2014-05-22   2634  		.u.insns_int = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2635  			BPF_ALU64_IMM(BPF_MOV, R1, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2636  			BPF_ALU64_IMM(BPF_ADD, R1, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2637  			BPF_ALU64_IMM(BPF_MOV, R2, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2638  			BPF_ALU64_REG(BPF_SUB, R1, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2639  			BPF_ALU64_IMM(BPF_ADD, R1, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2640  			BPF_ALU64_IMM(BPF_MUL, R1, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2641  			BPF_ALU64_REG(BPF_MOV, R0, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2642  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2643  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2644  		INTERNAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2645  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2646  		{ { 0, 0xfffffffd } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2647  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2648  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2649  		"INT: MUL_X",
ece80490e2c1ce Andrew Morton      2014-05-22   2650  		.u.insns_int = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2651  			BPF_ALU64_IMM(BPF_MOV, R0, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2652  			BPF_ALU64_IMM(BPF_MOV, R1, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2653  			BPF_ALU64_IMM(BPF_MOV, R2, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2654  			BPF_ALU64_REG(BPF_MUL, R1, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2655  			BPF_JMP_IMM(BPF_JEQ, R1, 0xfffffffd, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2656  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2657  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2658  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2659  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2660  		INTERNAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2661  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2662  		{ { 0, 1 } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2663  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2664  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2665  		"INT: MUL_X2",
ece80490e2c1ce Andrew Morton      2014-05-22   2666  		.u.insns_int = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2667  			BPF_ALU32_IMM(BPF_MOV, R0, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2668  			BPF_ALU32_IMM(BPF_MOV, R1, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2669  			BPF_ALU32_IMM(BPF_MOV, R2, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2670  			BPF_ALU64_REG(BPF_MUL, R1, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2671  			BPF_ALU64_IMM(BPF_RSH, R1, 8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2672  			BPF_JMP_IMM(BPF_JEQ, R1, 0x2ffffff, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2673  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2674  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2675  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2676  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2677  		INTERNAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2678  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2679  		{ { 0, 1 } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2680  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2681  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2682  		"INT: MUL32_X",
ece80490e2c1ce Andrew Morton      2014-05-22   2683  		.u.insns_int = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2684  			BPF_ALU32_IMM(BPF_MOV, R0, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2685  			BPF_ALU64_IMM(BPF_MOV, R1, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2686  			BPF_ALU32_IMM(BPF_MOV, R2, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2687  			BPF_ALU32_REG(BPF_MUL, R1, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2688  			BPF_ALU64_IMM(BPF_RSH, R1, 8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2689  			BPF_JMP_IMM(BPF_JEQ, R1, 0xffffff, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2690  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2691  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2692  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2693  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2694  		INTERNAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2695  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2696  		{ { 0, 1 } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2697  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2698  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2699  		/* Have to test all register combinations, since
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2700  		 * JITing of different registers will produce
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2701  		 * different asm code.
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2702  		 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2703  		"INT: ADD 64-bit",
ece80490e2c1ce Andrew Morton      2014-05-22   2704  		.u.insns_int = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2705  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2706  			BPF_ALU64_IMM(BPF_MOV, R1, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2707  			BPF_ALU64_IMM(BPF_MOV, R2, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2708  			BPF_ALU64_IMM(BPF_MOV, R3, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2709  			BPF_ALU64_IMM(BPF_MOV, R4, 4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2710  			BPF_ALU64_IMM(BPF_MOV, R5, 5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2711  			BPF_ALU64_IMM(BPF_MOV, R6, 6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2712  			BPF_ALU64_IMM(BPF_MOV, R7, 7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2713  			BPF_ALU64_IMM(BPF_MOV, R8, 8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2714  			BPF_ALU64_IMM(BPF_MOV, R9, 9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2715  			BPF_ALU64_IMM(BPF_ADD, R0, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2716  			BPF_ALU64_IMM(BPF_ADD, R1, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2717  			BPF_ALU64_IMM(BPF_ADD, R2, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2718  			BPF_ALU64_IMM(BPF_ADD, R3, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2719  			BPF_ALU64_IMM(BPF_ADD, R4, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2720  			BPF_ALU64_IMM(BPF_ADD, R5, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2721  			BPF_ALU64_IMM(BPF_ADD, R6, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2722  			BPF_ALU64_IMM(BPF_ADD, R7, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2723  			BPF_ALU64_IMM(BPF_ADD, R8, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2724  			BPF_ALU64_IMM(BPF_ADD, R9, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2725  			BPF_ALU64_IMM(BPF_SUB, R0, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2726  			BPF_ALU64_IMM(BPF_SUB, R1, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2727  			BPF_ALU64_IMM(BPF_SUB, R2, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2728  			BPF_ALU64_IMM(BPF_SUB, R3, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2729  			BPF_ALU64_IMM(BPF_SUB, R4, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2730  			BPF_ALU64_IMM(BPF_SUB, R5, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2731  			BPF_ALU64_IMM(BPF_SUB, R6, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2732  			BPF_ALU64_IMM(BPF_SUB, R7, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2733  			BPF_ALU64_IMM(BPF_SUB, R8, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2734  			BPF_ALU64_IMM(BPF_SUB, R9, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2735  			BPF_ALU64_REG(BPF_ADD, R0, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2736  			BPF_ALU64_REG(BPF_ADD, R0, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2737  			BPF_ALU64_REG(BPF_ADD, R0, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2738  			BPF_ALU64_REG(BPF_ADD, R0, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2739  			BPF_ALU64_REG(BPF_ADD, R0, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2740  			BPF_ALU64_REG(BPF_ADD, R0, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2741  			BPF_ALU64_REG(BPF_ADD, R0, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2742  			BPF_ALU64_REG(BPF_ADD, R0, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2743  			BPF_ALU64_REG(BPF_ADD, R0, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2744  			BPF_ALU64_REG(BPF_ADD, R0, R9), /* R0 == 155 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2745  			BPF_JMP_IMM(BPF_JEQ, R0, 155, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2746  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2747  			BPF_ALU64_REG(BPF_ADD, R1, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2748  			BPF_ALU64_REG(BPF_ADD, R1, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2749  			BPF_ALU64_REG(BPF_ADD, R1, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2750  			BPF_ALU64_REG(BPF_ADD, R1, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2751  			BPF_ALU64_REG(BPF_ADD, R1, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2752  			BPF_ALU64_REG(BPF_ADD, R1, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2753  			BPF_ALU64_REG(BPF_ADD, R1, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2754  			BPF_ALU64_REG(BPF_ADD, R1, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2755  			BPF_ALU64_REG(BPF_ADD, R1, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2756  			BPF_ALU64_REG(BPF_ADD, R1, R9), /* R1 == 456 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2757  			BPF_JMP_IMM(BPF_JEQ, R1, 456, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2758  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2759  			BPF_ALU64_REG(BPF_ADD, R2, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2760  			BPF_ALU64_REG(BPF_ADD, R2, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2761  			BPF_ALU64_REG(BPF_ADD, R2, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2762  			BPF_ALU64_REG(BPF_ADD, R2, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2763  			BPF_ALU64_REG(BPF_ADD, R2, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2764  			BPF_ALU64_REG(BPF_ADD, R2, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2765  			BPF_ALU64_REG(BPF_ADD, R2, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2766  			BPF_ALU64_REG(BPF_ADD, R2, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2767  			BPF_ALU64_REG(BPF_ADD, R2, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2768  			BPF_ALU64_REG(BPF_ADD, R2, R9), /* R2 == 1358 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2769  			BPF_JMP_IMM(BPF_JEQ, R2, 1358, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2770  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2771  			BPF_ALU64_REG(BPF_ADD, R3, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2772  			BPF_ALU64_REG(BPF_ADD, R3, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2773  			BPF_ALU64_REG(BPF_ADD, R3, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2774  			BPF_ALU64_REG(BPF_ADD, R3, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2775  			BPF_ALU64_REG(BPF_ADD, R3, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2776  			BPF_ALU64_REG(BPF_ADD, R3, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2777  			BPF_ALU64_REG(BPF_ADD, R3, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2778  			BPF_ALU64_REG(BPF_ADD, R3, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2779  			BPF_ALU64_REG(BPF_ADD, R3, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2780  			BPF_ALU64_REG(BPF_ADD, R3, R9), /* R3 == 4063 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2781  			BPF_JMP_IMM(BPF_JEQ, R3, 4063, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2782  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2783  			BPF_ALU64_REG(BPF_ADD, R4, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2784  			BPF_ALU64_REG(BPF_ADD, R4, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2785  			BPF_ALU64_REG(BPF_ADD, R4, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2786  			BPF_ALU64_REG(BPF_ADD, R4, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2787  			BPF_ALU64_REG(BPF_ADD, R4, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2788  			BPF_ALU64_REG(BPF_ADD, R4, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2789  			BPF_ALU64_REG(BPF_ADD, R4, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2790  			BPF_ALU64_REG(BPF_ADD, R4, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2791  			BPF_ALU64_REG(BPF_ADD, R4, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2792  			BPF_ALU64_REG(BPF_ADD, R4, R9), /* R4 == 12177 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2793  			BPF_JMP_IMM(BPF_JEQ, R4, 12177, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2794  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2795  			BPF_ALU64_REG(BPF_ADD, R5, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2796  			BPF_ALU64_REG(BPF_ADD, R5, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2797  			BPF_ALU64_REG(BPF_ADD, R5, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2798  			BPF_ALU64_REG(BPF_ADD, R5, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2799  			BPF_ALU64_REG(BPF_ADD, R5, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2800  			BPF_ALU64_REG(BPF_ADD, R5, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2801  			BPF_ALU64_REG(BPF_ADD, R5, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2802  			BPF_ALU64_REG(BPF_ADD, R5, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2803  			BPF_ALU64_REG(BPF_ADD, R5, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2804  			BPF_ALU64_REG(BPF_ADD, R5, R9), /* R5 == 36518 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2805  			BPF_JMP_IMM(BPF_JEQ, R5, 36518, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2806  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2807  			BPF_ALU64_REG(BPF_ADD, R6, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2808  			BPF_ALU64_REG(BPF_ADD, R6, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2809  			BPF_ALU64_REG(BPF_ADD, R6, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2810  			BPF_ALU64_REG(BPF_ADD, R6, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2811  			BPF_ALU64_REG(BPF_ADD, R6, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2812  			BPF_ALU64_REG(BPF_ADD, R6, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2813  			BPF_ALU64_REG(BPF_ADD, R6, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2814  			BPF_ALU64_REG(BPF_ADD, R6, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2815  			BPF_ALU64_REG(BPF_ADD, R6, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2816  			BPF_ALU64_REG(BPF_ADD, R6, R9), /* R6 == 109540 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2817  			BPF_JMP_IMM(BPF_JEQ, R6, 109540, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2818  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2819  			BPF_ALU64_REG(BPF_ADD, R7, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2820  			BPF_ALU64_REG(BPF_ADD, R7, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2821  			BPF_ALU64_REG(BPF_ADD, R7, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2822  			BPF_ALU64_REG(BPF_ADD, R7, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2823  			BPF_ALU64_REG(BPF_ADD, R7, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2824  			BPF_ALU64_REG(BPF_ADD, R7, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2825  			BPF_ALU64_REG(BPF_ADD, R7, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2826  			BPF_ALU64_REG(BPF_ADD, R7, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2827  			BPF_ALU64_REG(BPF_ADD, R7, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2828  			BPF_ALU64_REG(BPF_ADD, R7, R9), /* R7 == 328605 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2829  			BPF_JMP_IMM(BPF_JEQ, R7, 328605, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2830  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2831  			BPF_ALU64_REG(BPF_ADD, R8, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2832  			BPF_ALU64_REG(BPF_ADD, R8, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2833  			BPF_ALU64_REG(BPF_ADD, R8, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2834  			BPF_ALU64_REG(BPF_ADD, R8, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2835  			BPF_ALU64_REG(BPF_ADD, R8, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2836  			BPF_ALU64_REG(BPF_ADD, R8, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2837  			BPF_ALU64_REG(BPF_ADD, R8, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2838  			BPF_ALU64_REG(BPF_ADD, R8, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2839  			BPF_ALU64_REG(BPF_ADD, R8, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2840  			BPF_ALU64_REG(BPF_ADD, R8, R9), /* R8 == 985799 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2841  			BPF_JMP_IMM(BPF_JEQ, R8, 985799, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2842  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2843  			BPF_ALU64_REG(BPF_ADD, R9, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2844  			BPF_ALU64_REG(BPF_ADD, R9, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2845  			BPF_ALU64_REG(BPF_ADD, R9, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2846  			BPF_ALU64_REG(BPF_ADD, R9, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2847  			BPF_ALU64_REG(BPF_ADD, R9, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2848  			BPF_ALU64_REG(BPF_ADD, R9, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2849  			BPF_ALU64_REG(BPF_ADD, R9, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2850  			BPF_ALU64_REG(BPF_ADD, R9, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2851  			BPF_ALU64_REG(BPF_ADD, R9, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2852  			BPF_ALU64_REG(BPF_ADD, R9, R9), /* R9 == 2957380 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2853  			BPF_ALU64_REG(BPF_MOV, R0, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2854  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2855  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   2856  		INTERNAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2857  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2858  		{ { 0, 2957380 } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2859  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2860  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2861  		"INT: ADD 32-bit",
ece80490e2c1ce Andrew Morton      2014-05-22   2862  		.u.insns_int = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2863  			BPF_ALU32_IMM(BPF_MOV, R0, 20),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2864  			BPF_ALU32_IMM(BPF_MOV, R1, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2865  			BPF_ALU32_IMM(BPF_MOV, R2, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2866  			BPF_ALU32_IMM(BPF_MOV, R3, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2867  			BPF_ALU32_IMM(BPF_MOV, R4, 4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2868  			BPF_ALU32_IMM(BPF_MOV, R5, 5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2869  			BPF_ALU32_IMM(BPF_MOV, R6, 6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2870  			BPF_ALU32_IMM(BPF_MOV, R7, 7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2871  			BPF_ALU32_IMM(BPF_MOV, R8, 8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2872  			BPF_ALU32_IMM(BPF_MOV, R9, 9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2873  			BPF_ALU64_IMM(BPF_ADD, R1, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2874  			BPF_ALU64_IMM(BPF_ADD, R2, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2875  			BPF_ALU64_IMM(BPF_ADD, R3, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2876  			BPF_ALU64_IMM(BPF_ADD, R4, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2877  			BPF_ALU64_IMM(BPF_ADD, R5, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2878  			BPF_ALU64_IMM(BPF_ADD, R6, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2879  			BPF_ALU64_IMM(BPF_ADD, R7, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2880  			BPF_ALU64_IMM(BPF_ADD, R8, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2881  			BPF_ALU64_IMM(BPF_ADD, R9, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2882  			BPF_ALU32_REG(BPF_ADD, R0, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2883  			BPF_ALU32_REG(BPF_ADD, R0, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2884  			BPF_ALU32_REG(BPF_ADD, R0, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2885  			BPF_ALU32_REG(BPF_ADD, R0, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2886  			BPF_ALU32_REG(BPF_ADD, R0, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2887  			BPF_ALU32_REG(BPF_ADD, R0, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2888  			BPF_ALU32_REG(BPF_ADD, R0, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2889  			BPF_ALU32_REG(BPF_ADD, R0, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2890  			BPF_ALU32_REG(BPF_ADD, R0, R9), /* R0 == 155 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2891  			BPF_JMP_IMM(BPF_JEQ, R0, 155, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2892  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2893  			BPF_ALU32_REG(BPF_ADD, R1, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2894  			BPF_ALU32_REG(BPF_ADD, R1, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2895  			BPF_ALU32_REG(BPF_ADD, R1, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2896  			BPF_ALU32_REG(BPF_ADD, R1, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2897  			BPF_ALU32_REG(BPF_ADD, R1, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2898  			BPF_ALU32_REG(BPF_ADD, R1, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2899  			BPF_ALU32_REG(BPF_ADD, R1, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2900  			BPF_ALU32_REG(BPF_ADD, R1, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2901  			BPF_ALU32_REG(BPF_ADD, R1, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2902  			BPF_ALU32_REG(BPF_ADD, R1, R9), /* R1 == 456 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2903  			BPF_JMP_IMM(BPF_JEQ, R1, 456, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2904  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2905  			BPF_ALU32_REG(BPF_ADD, R2, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2906  			BPF_ALU32_REG(BPF_ADD, R2, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2907  			BPF_ALU32_REG(BPF_ADD, R2, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2908  			BPF_ALU32_REG(BPF_ADD, R2, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2909  			BPF_ALU32_REG(BPF_ADD, R2, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2910  			BPF_ALU32_REG(BPF_ADD, R2, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2911  			BPF_ALU32_REG(BPF_ADD, R2, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2912  			BPF_ALU32_REG(BPF_ADD, R2, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2913  			BPF_ALU32_REG(BPF_ADD, R2, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2914  			BPF_ALU32_REG(BPF_ADD, R2, R9), /* R2 == 1358 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2915  			BPF_JMP_IMM(BPF_JEQ, R2, 1358, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2916  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2917  			BPF_ALU32_REG(BPF_ADD, R3, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2918  			BPF_ALU32_REG(BPF_ADD, R3, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2919  			BPF_ALU32_REG(BPF_ADD, R3, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2920  			BPF_ALU32_REG(BPF_ADD, R3, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2921  			BPF_ALU32_REG(BPF_ADD, R3, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2922  			BPF_ALU32_REG(BPF_ADD, R3, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2923  			BPF_ALU32_REG(BPF_ADD, R3, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2924  			BPF_ALU32_REG(BPF_ADD, R3, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2925  			BPF_ALU32_REG(BPF_ADD, R3, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2926  			BPF_ALU32_REG(BPF_ADD, R3, R9), /* R3 == 4063 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2927  			BPF_JMP_IMM(BPF_JEQ, R3, 4063, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2928  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2929  			BPF_ALU32_REG(BPF_ADD, R4, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2930  			BPF_ALU32_REG(BPF_ADD, R4, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2931  			BPF_ALU32_REG(BPF_ADD, R4, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2932  			BPF_ALU32_REG(BPF_ADD, R4, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2933  			BPF_ALU32_REG(BPF_ADD, R4, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2934  			BPF_ALU32_REG(BPF_ADD, R4, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2935  			BPF_ALU32_REG(BPF_ADD, R4, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2936  			BPF_ALU32_REG(BPF_ADD, R4, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2937  			BPF_ALU32_REG(BPF_ADD, R4, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2938  			BPF_ALU32_REG(BPF_ADD, R4, R9), /* R4 == 12177 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2939  			BPF_JMP_IMM(BPF_JEQ, R4, 12177, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2940  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2941  			BPF_ALU32_REG(BPF_ADD, R5, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2942  			BPF_ALU32_REG(BPF_ADD, R5, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2943  			BPF_ALU32_REG(BPF_ADD, R5, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2944  			BPF_ALU32_REG(BPF_ADD, R5, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2945  			BPF_ALU32_REG(BPF_ADD, R5, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2946  			BPF_ALU32_REG(BPF_ADD, R5, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2947  			BPF_ALU32_REG(BPF_ADD, R5, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2948  			BPF_ALU32_REG(BPF_ADD, R5, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2949  			BPF_ALU32_REG(BPF_ADD, R5, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2950  			BPF_ALU32_REG(BPF_ADD, R5, R9), /* R5 == 36518 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2951  			BPF_JMP_IMM(BPF_JEQ, R5, 36518, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2952  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2953  			BPF_ALU32_REG(BPF_ADD, R6, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2954  			BPF_ALU32_REG(BPF_ADD, R6, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2955  			BPF_ALU32_REG(BPF_ADD, R6, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2956  			BPF_ALU32_REG(BPF_ADD, R6, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2957  			BPF_ALU32_REG(BPF_ADD, R6, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2958  			BPF_ALU32_REG(BPF_ADD, R6, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2959  			BPF_ALU32_REG(BPF_ADD, R6, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2960  			BPF_ALU32_REG(BPF_ADD, R6, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2961  			BPF_ALU32_REG(BPF_ADD, R6, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2962  			BPF_ALU32_REG(BPF_ADD, R6, R9), /* R6 == 109540 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2963  			BPF_JMP_IMM(BPF_JEQ, R6, 109540, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2964  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2965  			BPF_ALU32_REG(BPF_ADD, R7, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2966  			BPF_ALU32_REG(BPF_ADD, R7, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2967  			BPF_ALU32_REG(BPF_ADD, R7, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2968  			BPF_ALU32_REG(BPF_ADD, R7, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2969  			BPF_ALU32_REG(BPF_ADD, R7, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2970  			BPF_ALU32_REG(BPF_ADD, R7, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2971  			BPF_ALU32_REG(BPF_ADD, R7, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2972  			BPF_ALU32_REG(BPF_ADD, R7, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2973  			BPF_ALU32_REG(BPF_ADD, R7, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2974  			BPF_ALU32_REG(BPF_ADD, R7, R9), /* R7 == 328605 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2975  			BPF_JMP_IMM(BPF_JEQ, R7, 328605, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2976  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2977  			BPF_ALU32_REG(BPF_ADD, R8, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2978  			BPF_ALU32_REG(BPF_ADD, R8, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2979  			BPF_ALU32_REG(BPF_ADD, R8, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2980  			BPF_ALU32_REG(BPF_ADD, R8, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2981  			BPF_ALU32_REG(BPF_ADD, R8, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2982  			BPF_ALU32_REG(BPF_ADD, R8, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2983  			BPF_ALU32_REG(BPF_ADD, R8, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2984  			BPF_ALU32_REG(BPF_ADD, R8, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2985  			BPF_ALU32_REG(BPF_ADD, R8, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2986  			BPF_ALU32_REG(BPF_ADD, R8, R9), /* R8 == 985799 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2987  			BPF_JMP_IMM(BPF_JEQ, R8, 985799, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2988  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2989  			BPF_ALU32_REG(BPF_ADD, R9, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2990  			BPF_ALU32_REG(BPF_ADD, R9, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2991  			BPF_ALU32_REG(BPF_ADD, R9, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2992  			BPF_ALU32_REG(BPF_ADD, R9, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2993  			BPF_ALU32_REG(BPF_ADD, R9, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2994  			BPF_ALU32_REG(BPF_ADD, R9, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2995  			BPF_ALU32_REG(BPF_ADD, R9, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2996  			BPF_ALU32_REG(BPF_ADD, R9, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2997  			BPF_ALU32_REG(BPF_ADD, R9, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2998  			BPF_ALU32_REG(BPF_ADD, R9, R9), /* R9 == 2957380 */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   2999  			BPF_ALU32_REG(BPF_MOV, R0, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3000  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3001  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   3002  		INTERNAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3003  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3004  		{ { 0, 2957380 } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3005  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3006  	{	/* Mainly checking JIT here. */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3007  		"INT: SUB",
ece80490e2c1ce Andrew Morton      2014-05-22   3008  		.u.insns_int = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3009  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3010  			BPF_ALU64_IMM(BPF_MOV, R1, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3011  			BPF_ALU64_IMM(BPF_MOV, R2, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3012  			BPF_ALU64_IMM(BPF_MOV, R3, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3013  			BPF_ALU64_IMM(BPF_MOV, R4, 4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3014  			BPF_ALU64_IMM(BPF_MOV, R5, 5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3015  			BPF_ALU64_IMM(BPF_MOV, R6, 6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3016  			BPF_ALU64_IMM(BPF_MOV, R7, 7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3017  			BPF_ALU64_IMM(BPF_MOV, R8, 8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3018  			BPF_ALU64_IMM(BPF_MOV, R9, 9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3019  			BPF_ALU64_REG(BPF_SUB, R0, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3020  			BPF_ALU64_REG(BPF_SUB, R0, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3021  			BPF_ALU64_REG(BPF_SUB, R0, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3022  			BPF_ALU64_REG(BPF_SUB, R0, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3023  			BPF_ALU64_REG(BPF_SUB, R0, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3024  			BPF_ALU64_REG(BPF_SUB, R0, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3025  			BPF_ALU64_REG(BPF_SUB, R0, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3026  			BPF_ALU64_REG(BPF_SUB, R0, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3027  			BPF_ALU64_REG(BPF_SUB, R0, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3028  			BPF_ALU64_REG(BPF_SUB, R0, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3029  			BPF_ALU64_IMM(BPF_SUB, R0, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3030  			BPF_JMP_IMM(BPF_JEQ, R0, -55, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3031  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3032  			BPF_ALU64_REG(BPF_SUB, R1, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3033  			BPF_ALU64_REG(BPF_SUB, R1, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3034  			BPF_ALU64_REG(BPF_SUB, R1, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3035  			BPF_ALU64_REG(BPF_SUB, R1, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3036  			BPF_ALU64_REG(BPF_SUB, R1, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3037  			BPF_ALU64_REG(BPF_SUB, R1, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3038  			BPF_ALU64_REG(BPF_SUB, R1, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3039  			BPF_ALU64_REG(BPF_SUB, R1, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3040  			BPF_ALU64_REG(BPF_SUB, R1, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3041  			BPF_ALU64_IMM(BPF_SUB, R1, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3042  			BPF_ALU64_REG(BPF_SUB, R2, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3043  			BPF_ALU64_REG(BPF_SUB, R2, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3044  			BPF_ALU64_REG(BPF_SUB, R2, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3045  			BPF_ALU64_REG(BPF_SUB, R2, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3046  			BPF_ALU64_REG(BPF_SUB, R2, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3047  			BPF_ALU64_REG(BPF_SUB, R2, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3048  			BPF_ALU64_REG(BPF_SUB, R2, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3049  			BPF_ALU64_REG(BPF_SUB, R2, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3050  			BPF_ALU64_REG(BPF_SUB, R2, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3051  			BPF_ALU64_IMM(BPF_SUB, R2, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3052  			BPF_ALU64_REG(BPF_SUB, R3, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3053  			BPF_ALU64_REG(BPF_SUB, R3, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3054  			BPF_ALU64_REG(BPF_SUB, R3, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3055  			BPF_ALU64_REG(BPF_SUB, R3, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3056  			BPF_ALU64_REG(BPF_SUB, R3, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3057  			BPF_ALU64_REG(BPF_SUB, R3, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3058  			BPF_ALU64_REG(BPF_SUB, R3, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3059  			BPF_ALU64_REG(BPF_SUB, R3, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3060  			BPF_ALU64_REG(BPF_SUB, R3, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3061  			BPF_ALU64_IMM(BPF_SUB, R3, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3062  			BPF_ALU64_REG(BPF_SUB, R4, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3063  			BPF_ALU64_REG(BPF_SUB, R4, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3064  			BPF_ALU64_REG(BPF_SUB, R4, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3065  			BPF_ALU64_REG(BPF_SUB, R4, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3066  			BPF_ALU64_REG(BPF_SUB, R4, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3067  			BPF_ALU64_REG(BPF_SUB, R4, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3068  			BPF_ALU64_REG(BPF_SUB, R4, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3069  			BPF_ALU64_REG(BPF_SUB, R4, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3070  			BPF_ALU64_REG(BPF_SUB, R4, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3071  			BPF_ALU64_IMM(BPF_SUB, R4, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3072  			BPF_ALU64_REG(BPF_SUB, R5, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3073  			BPF_ALU64_REG(BPF_SUB, R5, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3074  			BPF_ALU64_REG(BPF_SUB, R5, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3075  			BPF_ALU64_REG(BPF_SUB, R5, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3076  			BPF_ALU64_REG(BPF_SUB, R5, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3077  			BPF_ALU64_REG(BPF_SUB, R5, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3078  			BPF_ALU64_REG(BPF_SUB, R5, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3079  			BPF_ALU64_REG(BPF_SUB, R5, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3080  			BPF_ALU64_REG(BPF_SUB, R5, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3081  			BPF_ALU64_IMM(BPF_SUB, R5, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3082  			BPF_ALU64_REG(BPF_SUB, R6, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3083  			BPF_ALU64_REG(BPF_SUB, R6, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3084  			BPF_ALU64_REG(BPF_SUB, R6, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3085  			BPF_ALU64_REG(BPF_SUB, R6, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3086  			BPF_ALU64_REG(BPF_SUB, R6, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3087  			BPF_ALU64_REG(BPF_SUB, R6, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3088  			BPF_ALU64_REG(BPF_SUB, R6, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3089  			BPF_ALU64_REG(BPF_SUB, R6, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3090  			BPF_ALU64_REG(BPF_SUB, R6, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3091  			BPF_ALU64_IMM(BPF_SUB, R6, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3092  			BPF_ALU64_REG(BPF_SUB, R7, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3093  			BPF_ALU64_REG(BPF_SUB, R7, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3094  			BPF_ALU64_REG(BPF_SUB, R7, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3095  			BPF_ALU64_REG(BPF_SUB, R7, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3096  			BPF_ALU64_REG(BPF_SUB, R7, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3097  			BPF_ALU64_REG(BPF_SUB, R7, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3098  			BPF_ALU64_REG(BPF_SUB, R7, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3099  			BPF_ALU64_REG(BPF_SUB, R7, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3100  			BPF_ALU64_REG(BPF_SUB, R7, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3101  			BPF_ALU64_IMM(BPF_SUB, R7, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3102  			BPF_ALU64_REG(BPF_SUB, R8, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3103  			BPF_ALU64_REG(BPF_SUB, R8, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3104  			BPF_ALU64_REG(BPF_SUB, R8, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3105  			BPF_ALU64_REG(BPF_SUB, R8, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3106  			BPF_ALU64_REG(BPF_SUB, R8, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3107  			BPF_ALU64_REG(BPF_SUB, R8, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3108  			BPF_ALU64_REG(BPF_SUB, R8, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3109  			BPF_ALU64_REG(BPF_SUB, R8, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3110  			BPF_ALU64_REG(BPF_SUB, R8, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3111  			BPF_ALU64_IMM(BPF_SUB, R8, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3112  			BPF_ALU64_REG(BPF_SUB, R9, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3113  			BPF_ALU64_REG(BPF_SUB, R9, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3114  			BPF_ALU64_REG(BPF_SUB, R9, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3115  			BPF_ALU64_REG(BPF_SUB, R9, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3116  			BPF_ALU64_REG(BPF_SUB, R9, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3117  			BPF_ALU64_REG(BPF_SUB, R9, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3118  			BPF_ALU64_REG(BPF_SUB, R9, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3119  			BPF_ALU64_REG(BPF_SUB, R9, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3120  			BPF_ALU64_REG(BPF_SUB, R9, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3121  			BPF_ALU64_IMM(BPF_SUB, R9, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3122  			BPF_ALU64_IMM(BPF_SUB, R0, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3123  			BPF_ALU64_IMM(BPF_NEG, R0, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3124  			BPF_ALU64_REG(BPF_SUB, R0, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3125  			BPF_ALU64_REG(BPF_SUB, R0, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3126  			BPF_ALU64_REG(BPF_SUB, R0, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3127  			BPF_ALU64_REG(BPF_SUB, R0, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3128  			BPF_ALU64_REG(BPF_SUB, R0, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3129  			BPF_ALU64_REG(BPF_SUB, R0, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3130  			BPF_ALU64_REG(BPF_SUB, R0, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3131  			BPF_ALU64_REG(BPF_SUB, R0, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3132  			BPF_ALU64_REG(BPF_SUB, R0, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3133  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3134  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   3135  		INTERNAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3136  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3137  		{ { 0, 11 } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3138  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3139  	{	/* Mainly checking JIT here. */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3140  		"INT: XOR",
ece80490e2c1ce Andrew Morton      2014-05-22   3141  		.u.insns_int = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3142  			BPF_ALU64_REG(BPF_SUB, R0, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3143  			BPF_ALU64_REG(BPF_XOR, R1, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3144  			BPF_JMP_REG(BPF_JEQ, R0, R1, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3145  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3146  			BPF_ALU64_IMM(BPF_MOV, R0, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3147  			BPF_ALU64_IMM(BPF_MOV, R1, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3148  			BPF_ALU64_REG(BPF_SUB, R1, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3149  			BPF_ALU64_REG(BPF_XOR, R2, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3150  			BPF_JMP_REG(BPF_JEQ, R1, R2, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3151  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3152  			BPF_ALU64_REG(BPF_SUB, R2, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3153  			BPF_ALU64_REG(BPF_XOR, R3, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3154  			BPF_ALU64_IMM(BPF_MOV, R0, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3155  			BPF_ALU64_IMM(BPF_MOV, R1, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3156  			BPF_JMP_REG(BPF_JEQ, R2, R3, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3157  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3158  			BPF_ALU64_REG(BPF_SUB, R3, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3159  			BPF_ALU64_REG(BPF_XOR, R4, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3160  			BPF_ALU64_IMM(BPF_MOV, R2, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3161  			BPF_ALU64_IMM(BPF_MOV, R5, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3162  			BPF_JMP_REG(BPF_JEQ, R3, R4, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3163  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3164  			BPF_ALU64_REG(BPF_SUB, R4, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3165  			BPF_ALU64_REG(BPF_XOR, R5, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3166  			BPF_ALU64_IMM(BPF_MOV, R3, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3167  			BPF_ALU64_IMM(BPF_MOV, R7, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3168  			BPF_JMP_REG(BPF_JEQ, R5, R4, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3169  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3170  			BPF_ALU64_IMM(BPF_MOV, R5, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3171  			BPF_ALU64_REG(BPF_SUB, R5, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3172  			BPF_ALU64_REG(BPF_XOR, R6, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3173  			BPF_ALU64_IMM(BPF_MOV, R1, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3174  			BPF_ALU64_IMM(BPF_MOV, R8, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3175  			BPF_JMP_REG(BPF_JEQ, R5, R6, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3176  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3177  			BPF_ALU64_REG(BPF_SUB, R6, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3178  			BPF_ALU64_REG(BPF_XOR, R7, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3179  			BPF_JMP_REG(BPF_JEQ, R7, R6, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3180  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3181  			BPF_ALU64_REG(BPF_SUB, R7, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3182  			BPF_ALU64_REG(BPF_XOR, R8, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3183  			BPF_JMP_REG(BPF_JEQ, R7, R8, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3184  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3185  			BPF_ALU64_REG(BPF_SUB, R8, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3186  			BPF_ALU64_REG(BPF_XOR, R9, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3187  			BPF_JMP_REG(BPF_JEQ, R9, R8, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3188  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3189  			BPF_ALU64_REG(BPF_SUB, R9, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3190  			BPF_ALU64_REG(BPF_XOR, R0, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3191  			BPF_JMP_REG(BPF_JEQ, R9, R0, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3192  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3193  			BPF_ALU64_REG(BPF_SUB, R1, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3194  			BPF_ALU64_REG(BPF_XOR, R0, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3195  			BPF_JMP_REG(BPF_JEQ, R9, R0, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3196  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3197  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3198  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3199  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3200  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   3201  		INTERNAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3202  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3203  		{ { 0, 1 } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3204  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3205  	{	/* Mainly checking JIT here. */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3206  		"INT: MUL",
ece80490e2c1ce Andrew Morton      2014-05-22   3207  		.u.insns_int = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3208  			BPF_ALU64_IMM(BPF_MOV, R0, 11),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3209  			BPF_ALU64_IMM(BPF_MOV, R1, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3210  			BPF_ALU64_IMM(BPF_MOV, R2, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3211  			BPF_ALU64_IMM(BPF_MOV, R3, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3212  			BPF_ALU64_IMM(BPF_MOV, R4, 4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3213  			BPF_ALU64_IMM(BPF_MOV, R5, 5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3214  			BPF_ALU64_IMM(BPF_MOV, R6, 6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3215  			BPF_ALU64_IMM(BPF_MOV, R7, 7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3216  			BPF_ALU64_IMM(BPF_MOV, R8, 8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3217  			BPF_ALU64_IMM(BPF_MOV, R9, 9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3218  			BPF_ALU64_REG(BPF_MUL, R0, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3219  			BPF_ALU64_REG(BPF_MUL, R0, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3220  			BPF_ALU64_REG(BPF_MUL, R0, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3221  			BPF_ALU64_REG(BPF_MUL, R0, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3222  			BPF_ALU64_REG(BPF_MUL, R0, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3223  			BPF_ALU64_REG(BPF_MUL, R0, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3224  			BPF_ALU64_REG(BPF_MUL, R0, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3225  			BPF_ALU64_REG(BPF_MUL, R0, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3226  			BPF_ALU64_REG(BPF_MUL, R0, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3227  			BPF_ALU64_REG(BPF_MUL, R0, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3228  			BPF_ALU64_IMM(BPF_MUL, R0, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3229  			BPF_JMP_IMM(BPF_JEQ, R0, 439084800, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3230  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3231  			BPF_ALU64_REG(BPF_MUL, R1, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3232  			BPF_ALU64_REG(BPF_MUL, R1, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3233  			BPF_ALU64_REG(BPF_MUL, R1, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3234  			BPF_ALU64_REG(BPF_MUL, R1, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3235  			BPF_ALU64_REG(BPF_MUL, R1, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3236  			BPF_ALU64_REG(BPF_MUL, R1, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3237  			BPF_ALU64_REG(BPF_MUL, R1, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3238  			BPF_ALU64_REG(BPF_MUL, R1, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3239  			BPF_ALU64_REG(BPF_MUL, R1, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3240  			BPF_ALU64_IMM(BPF_MUL, R1, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3241  			BPF_ALU64_REG(BPF_MOV, R2, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3242  			BPF_ALU64_IMM(BPF_RSH, R2, 32),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3243  			BPF_JMP_IMM(BPF_JEQ, R2, 0x5a924, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3244  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3245  			BPF_ALU64_IMM(BPF_LSH, R1, 32),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3246  			BPF_ALU64_IMM(BPF_ARSH, R1, 32),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3247  			BPF_JMP_IMM(BPF_JEQ, R1, 0xebb90000, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3248  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3249  			BPF_ALU64_REG(BPF_MUL, R2, R0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3250  			BPF_ALU64_REG(BPF_MUL, R2, R1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3251  			BPF_ALU64_REG(BPF_MUL, R2, R3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3252  			BPF_ALU64_REG(BPF_MUL, R2, R4),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3253  			BPF_ALU64_REG(BPF_MUL, R2, R5),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3254  			BPF_ALU64_REG(BPF_MUL, R2, R6),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3255  			BPF_ALU64_REG(BPF_MUL, R2, R7),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3256  			BPF_ALU64_REG(BPF_MUL, R2, R8),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3257  			BPF_ALU64_REG(BPF_MUL, R2, R9),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3258  			BPF_ALU64_IMM(BPF_MUL, R2, 10),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3259  			BPF_ALU64_IMM(BPF_RSH, R2, 32),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3260  			BPF_ALU64_REG(BPF_MOV, R0, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3261  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3262  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   3263  		INTERNAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3264  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3265  		{ { 0, 0x35d97ef2 } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3266  	},
9dd2af834dea13 Daniel Borkmann    2015-12-17   3267  	{	/* Mainly checking JIT here. */
9dd2af834dea13 Daniel Borkmann    2015-12-17   3268  		"MOV REG64",
9dd2af834dea13 Daniel Borkmann    2015-12-17   3269  		.u.insns_int = {
9dd2af834dea13 Daniel Borkmann    2015-12-17   3270  			BPF_LD_IMM64(R0, 0xffffffffffffffffLL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3271  			BPF_MOV64_REG(R1, R0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3272  			BPF_MOV64_REG(R2, R1),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3273  			BPF_MOV64_REG(R3, R2),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3274  			BPF_MOV64_REG(R4, R3),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3275  			BPF_MOV64_REG(R5, R4),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3276  			BPF_MOV64_REG(R6, R5),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3277  			BPF_MOV64_REG(R7, R6),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3278  			BPF_MOV64_REG(R8, R7),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3279  			BPF_MOV64_REG(R9, R8),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3280  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3281  			BPF_ALU64_IMM(BPF_MOV, R1, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3282  			BPF_ALU64_IMM(BPF_MOV, R2, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3283  			BPF_ALU64_IMM(BPF_MOV, R3, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3284  			BPF_ALU64_IMM(BPF_MOV, R4, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3285  			BPF_ALU64_IMM(BPF_MOV, R5, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3286  			BPF_ALU64_IMM(BPF_MOV, R6, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3287  			BPF_ALU64_IMM(BPF_MOV, R7, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3288  			BPF_ALU64_IMM(BPF_MOV, R8, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3289  			BPF_ALU64_IMM(BPF_MOV, R9, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3290  			BPF_ALU64_REG(BPF_ADD, R0, R0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3291  			BPF_ALU64_REG(BPF_ADD, R0, R1),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3292  			BPF_ALU64_REG(BPF_ADD, R0, R2),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3293  			BPF_ALU64_REG(BPF_ADD, R0, R3),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3294  			BPF_ALU64_REG(BPF_ADD, R0, R4),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3295  			BPF_ALU64_REG(BPF_ADD, R0, R5),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3296  			BPF_ALU64_REG(BPF_ADD, R0, R6),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3297  			BPF_ALU64_REG(BPF_ADD, R0, R7),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3298  			BPF_ALU64_REG(BPF_ADD, R0, R8),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3299  			BPF_ALU64_REG(BPF_ADD, R0, R9),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3300  			BPF_ALU64_IMM(BPF_ADD, R0, 0xfefe),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3301  			BPF_EXIT_INSN(),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3302  		},
9dd2af834dea13 Daniel Borkmann    2015-12-17   3303  		INTERNAL,
9dd2af834dea13 Daniel Borkmann    2015-12-17   3304  		{ },
9dd2af834dea13 Daniel Borkmann    2015-12-17   3305  		{ { 0, 0xfefe } }
9dd2af834dea13 Daniel Borkmann    2015-12-17   3306  	},
9dd2af834dea13 Daniel Borkmann    2015-12-17   3307  	{	/* Mainly checking JIT here. */
9dd2af834dea13 Daniel Borkmann    2015-12-17   3308  		"MOV REG32",
9dd2af834dea13 Daniel Borkmann    2015-12-17   3309  		.u.insns_int = {
9dd2af834dea13 Daniel Borkmann    2015-12-17   3310  			BPF_LD_IMM64(R0, 0xffffffffffffffffLL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3311  			BPF_MOV64_REG(R1, R0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3312  			BPF_MOV64_REG(R2, R1),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3313  			BPF_MOV64_REG(R3, R2),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3314  			BPF_MOV64_REG(R4, R3),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3315  			BPF_MOV64_REG(R5, R4),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3316  			BPF_MOV64_REG(R6, R5),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3317  			BPF_MOV64_REG(R7, R6),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3318  			BPF_MOV64_REG(R8, R7),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3319  			BPF_MOV64_REG(R9, R8),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3320  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3321  			BPF_ALU32_IMM(BPF_MOV, R1, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3322  			BPF_ALU32_IMM(BPF_MOV, R2, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3323  			BPF_ALU32_IMM(BPF_MOV, R3, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3324  			BPF_ALU32_IMM(BPF_MOV, R4, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3325  			BPF_ALU32_IMM(BPF_MOV, R5, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3326  			BPF_ALU32_IMM(BPF_MOV, R6, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3327  			BPF_ALU32_IMM(BPF_MOV, R7, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3328  			BPF_ALU32_IMM(BPF_MOV, R8, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3329  			BPF_ALU32_IMM(BPF_MOV, R9, 0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3330  			BPF_ALU64_REG(BPF_ADD, R0, R0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3331  			BPF_ALU64_REG(BPF_ADD, R0, R1),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3332  			BPF_ALU64_REG(BPF_ADD, R0, R2),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3333  			BPF_ALU64_REG(BPF_ADD, R0, R3),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3334  			BPF_ALU64_REG(BPF_ADD, R0, R4),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3335  			BPF_ALU64_REG(BPF_ADD, R0, R5),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3336  			BPF_ALU64_REG(BPF_ADD, R0, R6),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3337  			BPF_ALU64_REG(BPF_ADD, R0, R7),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3338  			BPF_ALU64_REG(BPF_ADD, R0, R8),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3339  			BPF_ALU64_REG(BPF_ADD, R0, R9),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3340  			BPF_ALU64_IMM(BPF_ADD, R0, 0xfefe),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3341  			BPF_EXIT_INSN(),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3342  		},
9dd2af834dea13 Daniel Borkmann    2015-12-17   3343  		INTERNAL,
9dd2af834dea13 Daniel Borkmann    2015-12-17   3344  		{ },
9dd2af834dea13 Daniel Borkmann    2015-12-17   3345  		{ { 0, 0xfefe } }
9dd2af834dea13 Daniel Borkmann    2015-12-17   3346  	},
9dd2af834dea13 Daniel Borkmann    2015-12-17   3347  	{	/* Mainly checking JIT here. */
9dd2af834dea13 Daniel Borkmann    2015-12-17   3348  		"LD IMM64",
9dd2af834dea13 Daniel Borkmann    2015-12-17   3349  		.u.insns_int = {
9dd2af834dea13 Daniel Borkmann    2015-12-17   3350  			BPF_LD_IMM64(R0, 0xffffffffffffffffLL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3351  			BPF_MOV64_REG(R1, R0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3352  			BPF_MOV64_REG(R2, R1),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3353  			BPF_MOV64_REG(R3, R2),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3354  			BPF_MOV64_REG(R4, R3),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3355  			BPF_MOV64_REG(R5, R4),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3356  			BPF_MOV64_REG(R6, R5),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3357  			BPF_MOV64_REG(R7, R6),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3358  			BPF_MOV64_REG(R8, R7),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3359  			BPF_MOV64_REG(R9, R8),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3360  			BPF_LD_IMM64(R0, 0x0LL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3361  			BPF_LD_IMM64(R1, 0x0LL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3362  			BPF_LD_IMM64(R2, 0x0LL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3363  			BPF_LD_IMM64(R3, 0x0LL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3364  			BPF_LD_IMM64(R4, 0x0LL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3365  			BPF_LD_IMM64(R5, 0x0LL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3366  			BPF_LD_IMM64(R6, 0x0LL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3367  			BPF_LD_IMM64(R7, 0x0LL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3368  			BPF_LD_IMM64(R8, 0x0LL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3369  			BPF_LD_IMM64(R9, 0x0LL),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3370  			BPF_ALU64_REG(BPF_ADD, R0, R0),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3371  			BPF_ALU64_REG(BPF_ADD, R0, R1),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3372  			BPF_ALU64_REG(BPF_ADD, R0, R2),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3373  			BPF_ALU64_REG(BPF_ADD, R0, R3),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3374  			BPF_ALU64_REG(BPF_ADD, R0, R4),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3375  			BPF_ALU64_REG(BPF_ADD, R0, R5),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3376  			BPF_ALU64_REG(BPF_ADD, R0, R6),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3377  			BPF_ALU64_REG(BPF_ADD, R0, R7),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3378  			BPF_ALU64_REG(BPF_ADD, R0, R8),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3379  			BPF_ALU64_REG(BPF_ADD, R0, R9),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3380  			BPF_ALU64_IMM(BPF_ADD, R0, 0xfefe),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3381  			BPF_EXIT_INSN(),
9dd2af834dea13 Daniel Borkmann    2015-12-17   3382  		},
9dd2af834dea13 Daniel Borkmann    2015-12-17   3383  		INTERNAL,
9dd2af834dea13 Daniel Borkmann    2015-12-17   3384  		{ },
9dd2af834dea13 Daniel Borkmann    2015-12-17   3385  		{ { 0, 0xfefe } }
9dd2af834dea13 Daniel Borkmann    2015-12-17   3386  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3387  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3388  		"INT: ALU MIX",
ece80490e2c1ce Andrew Morton      2014-05-22   3389  		.u.insns_int = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3390  			BPF_ALU64_IMM(BPF_MOV, R0, 11),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3391  			BPF_ALU64_IMM(BPF_ADD, R0, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3392  			BPF_ALU64_IMM(BPF_MOV, R2, 2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3393  			BPF_ALU64_IMM(BPF_XOR, R2, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3394  			BPF_ALU64_REG(BPF_DIV, R0, R2),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3395  			BPF_JMP_IMM(BPF_JEQ, R0, 10, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3396  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3397  			BPF_ALU64_IMM(BPF_MOD, R0, 3),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3398  			BPF_JMP_IMM(BPF_JEQ, R0, 1, 1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3399  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3400  			BPF_ALU64_IMM(BPF_MOV, R0, -1),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3401  			BPF_EXIT_INSN(),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3402  		},
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3403  		INTERNAL,
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3404  		{ },
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3405  		{ { 0, -1 } }
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3406  	},
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3407  	{
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3408  		"INT: shifts by register",
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3409  		.u.insns_int = {
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3410  			BPF_MOV64_IMM(R0, -1234),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3411  			BPF_MOV64_IMM(R1, 1),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3412  			BPF_ALU32_REG(BPF_RSH, R0, R1),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3413  			BPF_JMP_IMM(BPF_JEQ, R0, 0x7ffffd97, 1),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3414  			BPF_EXIT_INSN(),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3415  			BPF_MOV64_IMM(R2, 1),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3416  			BPF_ALU64_REG(BPF_LSH, R0, R2),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3417  			BPF_MOV32_IMM(R4, -1234),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3418  			BPF_JMP_REG(BPF_JEQ, R0, R4, 1),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3419  			BPF_EXIT_INSN(),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3420  			BPF_ALU64_IMM(BPF_AND, R4, 63),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3421  			BPF_ALU64_REG(BPF_LSH, R0, R4), /* R0 <= 46 */
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3422  			BPF_MOV64_IMM(R3, 47),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3423  			BPF_ALU64_REG(BPF_ARSH, R0, R3),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3424  			BPF_JMP_IMM(BPF_JEQ, R0, -617, 1),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3425  			BPF_EXIT_INSN(),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3426  			BPF_MOV64_IMM(R2, 1),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3427  			BPF_ALU64_REG(BPF_LSH, R4, R2), /* R4 = 46 << 1 */
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3428  			BPF_JMP_IMM(BPF_JEQ, R4, 92, 1),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3429  			BPF_EXIT_INSN(),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3430  			BPF_MOV64_IMM(R4, 4),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3431  			BPF_ALU64_REG(BPF_LSH, R4, R4), /* R4 = 4 << 4 */
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3432  			BPF_JMP_IMM(BPF_JEQ, R4, 64, 1),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3433  			BPF_EXIT_INSN(),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3434  			BPF_MOV64_IMM(R4, 5),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3435  			BPF_ALU32_REG(BPF_LSH, R4, R4), /* R4 = 5 << 5 */
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3436  			BPF_JMP_IMM(BPF_JEQ, R4, 160, 1),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3437  			BPF_EXIT_INSN(),
72b603ee8cfc6b Alexei Starovoitov 2014-08-25   3438  			BPF_MOV64_IMM(R0, -1),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3439  			BPF_EXIT_INSN(),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3440  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   3441  		INTERNAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3442  		{ },
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3443  		{ { 0, -1 } }
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3444  	},
84024a4e86d9b2 Johan Almbladh     2021-08-09   3445  	{
84024a4e86d9b2 Johan Almbladh     2021-08-09   3446  		/*
84024a4e86d9b2 Johan Almbladh     2021-08-09   3447  		 * Register (non-)clobbering test, in the case where a 32-bit
84024a4e86d9b2 Johan Almbladh     2021-08-09   3448  		 * JIT implements complex ALU64 operations via function calls.
84024a4e86d9b2 Johan Almbladh     2021-08-09   3449  		 * If so, the function call must be invisible in the eBPF
84024a4e86d9b2 Johan Almbladh     2021-08-09   3450  		 * registers. The JIT must then save and restore relevant
84024a4e86d9b2 Johan Almbladh     2021-08-09   3451  		 * registers during the call. The following tests check that
84024a4e86d9b2 Johan Almbladh     2021-08-09   3452  		 * the eBPF registers retain their values after such a call.
84024a4e86d9b2 Johan Almbladh     2021-08-09   3453  		 */
84024a4e86d9b2 Johan Almbladh     2021-08-09   3454  		"INT: Register clobbering, R1 updated",
84024a4e86d9b2 Johan Almbladh     2021-08-09   3455  		.u.insns_int = {
84024a4e86d9b2 Johan Almbladh     2021-08-09   3456  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3457  			BPF_ALU32_IMM(BPF_MOV, R1, 123456789),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3458  			BPF_ALU32_IMM(BPF_MOV, R2, 2),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3459  			BPF_ALU32_IMM(BPF_MOV, R3, 3),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3460  			BPF_ALU32_IMM(BPF_MOV, R4, 4),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3461  			BPF_ALU32_IMM(BPF_MOV, R5, 5),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3462  			BPF_ALU32_IMM(BPF_MOV, R6, 6),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3463  			BPF_ALU32_IMM(BPF_MOV, R7, 7),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3464  			BPF_ALU32_IMM(BPF_MOV, R8, 8),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3465  			BPF_ALU32_IMM(BPF_MOV, R9, 9),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3466  			BPF_ALU64_IMM(BPF_DIV, R1, 123456789),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3467  			BPF_JMP_IMM(BPF_JNE, R0, 0, 10),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3468  			BPF_JMP_IMM(BPF_JNE, R1, 1, 9),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3469  			BPF_JMP_IMM(BPF_JNE, R2, 2, 8),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3470  			BPF_JMP_IMM(BPF_JNE, R3, 3, 7),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3471  			BPF_JMP_IMM(BPF_JNE, R4, 4, 6),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3472  			BPF_JMP_IMM(BPF_JNE, R5, 5, 5),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3473  			BPF_JMP_IMM(BPF_JNE, R6, 6, 4),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3474  			BPF_JMP_IMM(BPF_JNE, R7, 7, 3),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3475  			BPF_JMP_IMM(BPF_JNE, R8, 8, 2),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3476  			BPF_JMP_IMM(BPF_JNE, R9, 9, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3477  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3478  			BPF_EXIT_INSN(),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3479  		},
84024a4e86d9b2 Johan Almbladh     2021-08-09   3480  		INTERNAL,
84024a4e86d9b2 Johan Almbladh     2021-08-09   3481  		{ },
84024a4e86d9b2 Johan Almbladh     2021-08-09   3482  		{ { 0, 1 } }
84024a4e86d9b2 Johan Almbladh     2021-08-09   3483  	},
84024a4e86d9b2 Johan Almbladh     2021-08-09   3484  	{
84024a4e86d9b2 Johan Almbladh     2021-08-09   3485  		"INT: Register clobbering, R2 updated",
84024a4e86d9b2 Johan Almbladh     2021-08-09   3486  		.u.insns_int = {
84024a4e86d9b2 Johan Almbladh     2021-08-09   3487  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3488  			BPF_ALU32_IMM(BPF_MOV, R1, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3489  			BPF_ALU32_IMM(BPF_MOV, R2, 2 * 123456789),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3490  			BPF_ALU32_IMM(BPF_MOV, R3, 3),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3491  			BPF_ALU32_IMM(BPF_MOV, R4, 4),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3492  			BPF_ALU32_IMM(BPF_MOV, R5, 5),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3493  			BPF_ALU32_IMM(BPF_MOV, R6, 6),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3494  			BPF_ALU32_IMM(BPF_MOV, R7, 7),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3495  			BPF_ALU32_IMM(BPF_MOV, R8, 8),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3496  			BPF_ALU32_IMM(BPF_MOV, R9, 9),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3497  			BPF_ALU64_IMM(BPF_DIV, R2, 123456789),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3498  			BPF_JMP_IMM(BPF_JNE, R0, 0, 10),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3499  			BPF_JMP_IMM(BPF_JNE, R1, 1, 9),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3500  			BPF_JMP_IMM(BPF_JNE, R2, 2, 8),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3501  			BPF_JMP_IMM(BPF_JNE, R3, 3, 7),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3502  			BPF_JMP_IMM(BPF_JNE, R4, 4, 6),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3503  			BPF_JMP_IMM(BPF_JNE, R5, 5, 5),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3504  			BPF_JMP_IMM(BPF_JNE, R6, 6, 4),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3505  			BPF_JMP_IMM(BPF_JNE, R7, 7, 3),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3506  			BPF_JMP_IMM(BPF_JNE, R8, 8, 2),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3507  			BPF_JMP_IMM(BPF_JNE, R9, 9, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3508  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3509  			BPF_EXIT_INSN(),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3510  		},
84024a4e86d9b2 Johan Almbladh     2021-08-09   3511  		INTERNAL,
84024a4e86d9b2 Johan Almbladh     2021-08-09   3512  		{ },
84024a4e86d9b2 Johan Almbladh     2021-08-09   3513  		{ { 0, 1 } }
84024a4e86d9b2 Johan Almbladh     2021-08-09   3514  	},
84024a4e86d9b2 Johan Almbladh     2021-08-09   3515  	{
84024a4e86d9b2 Johan Almbladh     2021-08-09   3516  		/*
84024a4e86d9b2 Johan Almbladh     2021-08-09   3517  		 * Test 32-bit JITs that implement complex ALU64 operations as
84024a4e86d9b2 Johan Almbladh     2021-08-09   3518  		 * function calls R0 = f(R1, R2), and must re-arrange operands.
84024a4e86d9b2 Johan Almbladh     2021-08-09   3519  		 */
84024a4e86d9b2 Johan Almbladh     2021-08-09   3520  #define NUMER 0xfedcba9876543210ULL
84024a4e86d9b2 Johan Almbladh     2021-08-09   3521  #define DENOM 0x0123456789abcdefULL
84024a4e86d9b2 Johan Almbladh     2021-08-09   3522  		"ALU64_DIV X: Operand register permutations",
84024a4e86d9b2 Johan Almbladh     2021-08-09   3523  		.u.insns_int = {
84024a4e86d9b2 Johan Almbladh     2021-08-09   3524  			/* R0 / R2 */
84024a4e86d9b2 Johan Almbladh     2021-08-09   3525  			BPF_LD_IMM64(R0, NUMER),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3526  			BPF_LD_IMM64(R2, DENOM),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3527  			BPF_ALU64_REG(BPF_DIV, R0, R2),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3528  			BPF_JMP_IMM(BPF_JEQ, R0, NUMER / DENOM, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3529  			BPF_EXIT_INSN(),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3530  			/* R1 / R0 */
84024a4e86d9b2 Johan Almbladh     2021-08-09   3531  			BPF_LD_IMM64(R1, NUMER),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3532  			BPF_LD_IMM64(R0, DENOM),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3533  			BPF_ALU64_REG(BPF_DIV, R1, R0),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3534  			BPF_JMP_IMM(BPF_JEQ, R1, NUMER / DENOM, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3535  			BPF_EXIT_INSN(),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3536  			/* R0 / R1 */
84024a4e86d9b2 Johan Almbladh     2021-08-09   3537  			BPF_LD_IMM64(R0, NUMER),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3538  			BPF_LD_IMM64(R1, DENOM),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3539  			BPF_ALU64_REG(BPF_DIV, R0, R1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3540  			BPF_JMP_IMM(BPF_JEQ, R0, NUMER / DENOM, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3541  			BPF_EXIT_INSN(),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3542  			/* R2 / R0 */
84024a4e86d9b2 Johan Almbladh     2021-08-09   3543  			BPF_LD_IMM64(R2, NUMER),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3544  			BPF_LD_IMM64(R0, DENOM),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3545  			BPF_ALU64_REG(BPF_DIV, R2, R0),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3546  			BPF_JMP_IMM(BPF_JEQ, R2, NUMER / DENOM, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3547  			BPF_EXIT_INSN(),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3548  			/* R2 / R1 */
84024a4e86d9b2 Johan Almbladh     2021-08-09   3549  			BPF_LD_IMM64(R2, NUMER),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3550  			BPF_LD_IMM64(R1, DENOM),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3551  			BPF_ALU64_REG(BPF_DIV, R2, R1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3552  			BPF_JMP_IMM(BPF_JEQ, R2, NUMER / DENOM, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3553  			BPF_EXIT_INSN(),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3554  			/* R1 / R2 */
84024a4e86d9b2 Johan Almbladh     2021-08-09   3555  			BPF_LD_IMM64(R1, NUMER),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3556  			BPF_LD_IMM64(R2, DENOM),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3557  			BPF_ALU64_REG(BPF_DIV, R1, R2),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3558  			BPF_JMP_IMM(BPF_JEQ, R1, NUMER / DENOM, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3559  			BPF_EXIT_INSN(),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3560  			/* R1 / R1 */
84024a4e86d9b2 Johan Almbladh     2021-08-09   3561  			BPF_LD_IMM64(R1, NUMER),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3562  			BPF_ALU64_REG(BPF_DIV, R1, R1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3563  			BPF_JMP_IMM(BPF_JEQ, R1, 1, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3564  			BPF_EXIT_INSN(),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3565  			/* R2 / R2 */
84024a4e86d9b2 Johan Almbladh     2021-08-09   3566  			BPF_LD_IMM64(R2, DENOM),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3567  			BPF_ALU64_REG(BPF_DIV, R2, R2),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3568  			BPF_JMP_IMM(BPF_JEQ, R2, 1, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3569  			BPF_EXIT_INSN(),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3570  			/* R3 / R4 */
84024a4e86d9b2 Johan Almbladh     2021-08-09   3571  			BPF_LD_IMM64(R3, NUMER),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3572  			BPF_LD_IMM64(R4, DENOM),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3573  			BPF_ALU64_REG(BPF_DIV, R3, R4),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3574  			BPF_JMP_IMM(BPF_JEQ, R3, NUMER / DENOM, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3575  			BPF_EXIT_INSN(),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3576  			/* Successful return */
84024a4e86d9b2 Johan Almbladh     2021-08-09   3577  			BPF_LD_IMM64(R0, 1),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3578  			BPF_EXIT_INSN(),
84024a4e86d9b2 Johan Almbladh     2021-08-09   3579  		},
84024a4e86d9b2 Johan Almbladh     2021-08-09   3580  		INTERNAL,
84024a4e86d9b2 Johan Almbladh     2021-08-09   3581  		{ },
84024a4e86d9b2 Johan Almbladh     2021-08-09   3582  		{ { 0, 1 } },
84024a4e86d9b2 Johan Almbladh     2021-08-09   3583  #undef NUMER
84024a4e86d9b2 Johan Almbladh     2021-08-09   3584  #undef DENOM
84024a4e86d9b2 Johan Almbladh     2021-08-09   3585  	},
53e33f9928cd61 Johan Almbladh     2021-08-09   3586  #ifdef CONFIG_32BIT
53e33f9928cd61 Johan Almbladh     2021-08-09   3587  	{
53e33f9928cd61 Johan Almbladh     2021-08-09   3588  		"INT: 32-bit context pointer word order and zero-extension",
53e33f9928cd61 Johan Almbladh     2021-08-09   3589  		.u.insns_int = {
53e33f9928cd61 Johan Almbladh     2021-08-09   3590  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
53e33f9928cd61 Johan Almbladh     2021-08-09   3591  			BPF_JMP32_IMM(BPF_JEQ, R1, 0, 3),
53e33f9928cd61 Johan Almbladh     2021-08-09   3592  			BPF_ALU64_IMM(BPF_RSH, R1, 32),
53e33f9928cd61 Johan Almbladh     2021-08-09   3593  			BPF_JMP32_IMM(BPF_JNE, R1, 0, 1),
53e33f9928cd61 Johan Almbladh     2021-08-09   3594  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
53e33f9928cd61 Johan Almbladh     2021-08-09   3595  			BPF_EXIT_INSN(),
53e33f9928cd61 Johan Almbladh     2021-08-09   3596  		},
53e33f9928cd61 Johan Almbladh     2021-08-09   3597  		INTERNAL,
53e33f9928cd61 Johan Almbladh     2021-08-09   3598  		{ },
53e33f9928cd61 Johan Almbladh     2021-08-09   3599  		{ { 0, 1 } }
53e33f9928cd61 Johan Almbladh     2021-08-09   3600  	},
53e33f9928cd61 Johan Almbladh     2021-08-09   3601  #endif
64a8946b447e41 Alexei Starovoitov 2014-05-08   3602  	{
64a8946b447e41 Alexei Starovoitov 2014-05-08   3603  		"check: missing ret",
ece80490e2c1ce Andrew Morton      2014-05-22   3604  		.u.insns = {
64a8946b447e41 Alexei Starovoitov 2014-05-08   3605  			BPF_STMT(BPF_LD | BPF_IMM, 1),
64a8946b447e41 Alexei Starovoitov 2014-05-08   3606  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   3607  		CLASSIC | FLAG_NO_DATA | FLAG_EXPECTED_FAIL,
64a8946b447e41 Alexei Starovoitov 2014-05-08   3608  		{ },
09584b40674241 Yonghong Song      2018-02-02   3609  		{ },
09584b40674241 Yonghong Song      2018-02-02   3610  		.fill_helper = NULL,
09584b40674241 Yonghong Song      2018-02-02   3611  		.expected_errcode = -EINVAL,
64a8946b447e41 Alexei Starovoitov 2014-05-08   3612  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3613  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3614  		"check: div_k_0",
ece80490e2c1ce Andrew Morton      2014-05-22   3615  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3616  			BPF_STMT(BPF_ALU | BPF_DIV | BPF_K, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3617  			BPF_STMT(BPF_RET | BPF_K, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3618  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   3619  		CLASSIC | FLAG_NO_DATA | FLAG_EXPECTED_FAIL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3620  		{ },
09584b40674241 Yonghong Song      2018-02-02   3621  		{ },
09584b40674241 Yonghong Song      2018-02-02   3622  		.fill_helper = NULL,
09584b40674241 Yonghong Song      2018-02-02   3623  		.expected_errcode = -EINVAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3624  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3625  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3626  		"check: unknown insn",
ece80490e2c1ce Andrew Morton      2014-05-22   3627  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3628  			/* seccomp insn, rejected in socket filter */
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3629  			BPF_STMT(BPF_LDX | BPF_W | BPF_ABS, 0),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3630  			BPF_STMT(BPF_RET | BPF_K, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3631  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   3632  		CLASSIC | FLAG_EXPECTED_FAIL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3633  		{ },
09584b40674241 Yonghong Song      2018-02-02   3634  		{ },
09584b40674241 Yonghong Song      2018-02-02   3635  		.fill_helper = NULL,
09584b40674241 Yonghong Song      2018-02-02   3636  		.expected_errcode = -EINVAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3637  	},
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3638  	{
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3639  		"check: out of range spill/fill",
ece80490e2c1ce Andrew Morton      2014-05-22   3640  		.u.insns = {
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3641  			BPF_STMT(BPF_STX, 16),
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3642  			BPF_STMT(BPF_RET | BPF_K, 0)
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3643  		},
10f18e0ba1ea7e Daniel Borkmann    2014-05-23   3644  		CLASSIC | FLAG_NO_DATA | FLAG_EXPECTED_FAIL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3645  		{ },
09584b40674241 Yonghong Song      2018-02-02   3646  		{ },
09584b40674241 Yonghong Song      2018-02-02   3647  		.fill_helper = NULL,
09584b40674241 Yonghong Song      2018-02-02   3648  		.expected_errcode = -EINVAL,
9def624afdf2a8 Alexei Starovoitov 2014-05-08   3649  	},
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3650  	{
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3651  		"JUMPS + HOLES",
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3652  		.u.insns = {
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3653  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3654  			BPF_JUMP(BPF_JMP | BPF_JGE, 0, 13, 15),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3655  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3656  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3657  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3658  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3659  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3660  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3661  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3662  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3663  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3664  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3665  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3666  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3667  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3668  			BPF_JUMP(BPF_JMP | BPF_JEQ, 0x90c2894d, 3, 4),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3669  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3670  			BPF_JUMP(BPF_JMP | BPF_JEQ, 0x90c2894d, 1, 2),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3671  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3672  			BPF_JUMP(BPF_JMP | BPF_JGE, 0, 14, 15),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3673  			BPF_JUMP(BPF_JMP | BPF_JGE, 0, 13, 14),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3674  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3675  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3676  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3677  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3678  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3679  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3680  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3681  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3682  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3683  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3684  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3685  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3686  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3687  			BPF_JUMP(BPF_JMP | BPF_JEQ, 0x2ac28349, 2, 3),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3688  			BPF_JUMP(BPF_JMP | BPF_JEQ, 0x2ac28349, 1, 2),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3689  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3690  			BPF_JUMP(BPF_JMP | BPF_JGE, 0, 14, 15),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3691  			BPF_JUMP(BPF_JMP | BPF_JGE, 0, 13, 14),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3692  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3693  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3694  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3695  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3696  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3697  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3698  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3699  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3700  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3701  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3702  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3703  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3704  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3705  			BPF_JUMP(BPF_JMP | BPF_JEQ, 0x90d2ff41, 2, 3),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3706  			BPF_JUMP(BPF_JMP | BPF_JEQ, 0x90d2ff41, 1, 2),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3707  			BPF_STMT(BPF_LD | BPF_H | BPF_ABS, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3708  			BPF_STMT(BPF_RET | BPF_A, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3709  			BPF_STMT(BPF_RET | BPF_A, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3710  		},
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3711  		CLASSIC,
ce25b68b74593b Daniel Borkmann    2014-05-26   3712  		{ 0x00, 0x1b, 0x21, 0x3c, 0x9d, 0xf8,
ce25b68b74593b Daniel Borkmann    2014-05-26   3713  		  0x90, 0xe2, 0xba, 0x0a, 0x56, 0xb4,
ce25b68b74593b Daniel Borkmann    2014-05-26   3714  		  0x08, 0x00,
ce25b68b74593b Daniel Borkmann    2014-05-26   3715  		  0x45, 0x00, 0x00, 0x28, 0x00, 0x00,
ce25b68b74593b Daniel Borkmann    2014-05-26   3716  		  0x20, 0x00, 0x40, 0x11, 0x00, 0x00, /* IP header */
ce25b68b74593b Daniel Borkmann    2014-05-26   3717  		  0xc0, 0xa8, 0x33, 0x01,
ce25b68b74593b Daniel Borkmann    2014-05-26   3718  		  0xc0, 0xa8, 0x33, 0x02,
ce25b68b74593b Daniel Borkmann    2014-05-26   3719  		  0xbb, 0xb6,
ce25b68b74593b Daniel Borkmann    2014-05-26   3720  		  0xa9, 0xfa,
ce25b68b74593b Daniel Borkmann    2014-05-26   3721  		  0x00, 0x14, 0x00, 0x00,
ce25b68b74593b Daniel Borkmann    2014-05-26   3722  		  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
ce25b68b74593b Daniel Borkmann    2014-05-26   3723  		  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
ce25b68b74593b Daniel Borkmann    2014-05-26   3724  		  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
ce25b68b74593b Daniel Borkmann    2014-05-26   3725  		  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
ce25b68b74593b Daniel Borkmann    2014-05-26   3726  		  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
ce25b68b74593b Daniel Borkmann    2014-05-26   3727  		  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
ce25b68b74593b Daniel Borkmann    2014-05-26   3728  		  0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
ce25b68b74593b Daniel Borkmann    2014-05-26   3729  		  0xcc, 0xcc, 0xcc, 0xcc },
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3730  		{ { 88, 0x001b } }
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3731  	},
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3732  	{
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3733  		"check: RET X",
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3734  		.u.insns = {
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3735  			BPF_STMT(BPF_RET | BPF_X, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3736  		},
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3737  		CLASSIC | FLAG_NO_DATA | FLAG_EXPECTED_FAIL,
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3738  		{ },
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3739  		{ },
09584b40674241 Yonghong Song      2018-02-02   3740  		.fill_helper = NULL,
09584b40674241 Yonghong Song      2018-02-02   3741  		.expected_errcode = -EINVAL,
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3742  	},
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3743  	{
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3744  		"check: LDX + RET X",
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3745  		.u.insns = {
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3746  			BPF_STMT(BPF_LDX | BPF_IMM, 42),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3747  			BPF_STMT(BPF_RET | BPF_X, 0),
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3748  		},
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3749  		CLASSIC | FLAG_NO_DATA | FLAG_EXPECTED_FAIL,
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3750  		{ },
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3751  		{ },
09584b40674241 Yonghong Song      2018-02-02   3752  		.fill_helper = NULL,
09584b40674241 Yonghong Song      2018-02-02   3753  		.expected_errcode = -EINVAL,
2e8a83c52ffa41 Daniel Borkmann    2014-05-23   3754  	},
108cc22a93e184 Daniel Borkmann    2014-05-26   3755  	{	/* Mainly checking JIT here. */
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3756  		"M[]: alt STX + LDX",
108cc22a93e184 Daniel Borkmann    2014-05-26   3757  		.u.insns = {
108cc22a93e184 Daniel Borkmann    2014-05-26   3758  			BPF_STMT(BPF_LDX | BPF_IMM, 100),
108cc22a93e184 Daniel Borkmann    2014-05-26   3759  			BPF_STMT(BPF_STX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3760  			BPF_STMT(BPF_LDX | BPF_MEM, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3761  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3762  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3763  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3764  			BPF_STMT(BPF_STX, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3765  			BPF_STMT(BPF_LDX | BPF_MEM, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3766  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3767  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3768  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3769  			BPF_STMT(BPF_STX, 2),
108cc22a93e184 Daniel Borkmann    2014-05-26   3770  			BPF_STMT(BPF_LDX | BPF_MEM, 2),
108cc22a93e184 Daniel Borkmann    2014-05-26   3771  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3772  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3773  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3774  			BPF_STMT(BPF_STX, 3),
108cc22a93e184 Daniel Borkmann    2014-05-26   3775  			BPF_STMT(BPF_LDX | BPF_MEM, 3),
108cc22a93e184 Daniel Borkmann    2014-05-26   3776  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3777  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3778  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3779  			BPF_STMT(BPF_STX, 4),
108cc22a93e184 Daniel Borkmann    2014-05-26   3780  			BPF_STMT(BPF_LDX | BPF_MEM, 4),
108cc22a93e184 Daniel Borkmann    2014-05-26   3781  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3782  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3783  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3784  			BPF_STMT(BPF_STX, 5),
108cc22a93e184 Daniel Borkmann    2014-05-26   3785  			BPF_STMT(BPF_LDX | BPF_MEM, 5),
108cc22a93e184 Daniel Borkmann    2014-05-26   3786  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3787  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3788  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3789  			BPF_STMT(BPF_STX, 6),
108cc22a93e184 Daniel Borkmann    2014-05-26   3790  			BPF_STMT(BPF_LDX | BPF_MEM, 6),
108cc22a93e184 Daniel Borkmann    2014-05-26   3791  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3792  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3793  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3794  			BPF_STMT(BPF_STX, 7),
108cc22a93e184 Daniel Borkmann    2014-05-26   3795  			BPF_STMT(BPF_LDX | BPF_MEM, 7),
108cc22a93e184 Daniel Borkmann    2014-05-26   3796  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3797  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3798  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3799  			BPF_STMT(BPF_STX, 8),
108cc22a93e184 Daniel Borkmann    2014-05-26   3800  			BPF_STMT(BPF_LDX | BPF_MEM, 8),
108cc22a93e184 Daniel Borkmann    2014-05-26   3801  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3802  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3803  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3804  			BPF_STMT(BPF_STX, 9),
108cc22a93e184 Daniel Borkmann    2014-05-26   3805  			BPF_STMT(BPF_LDX | BPF_MEM, 9),
108cc22a93e184 Daniel Borkmann    2014-05-26   3806  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3807  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3808  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3809  			BPF_STMT(BPF_STX, 10),
108cc22a93e184 Daniel Borkmann    2014-05-26   3810  			BPF_STMT(BPF_LDX | BPF_MEM, 10),
108cc22a93e184 Daniel Borkmann    2014-05-26   3811  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3812  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3813  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3814  			BPF_STMT(BPF_STX, 11),
108cc22a93e184 Daniel Borkmann    2014-05-26   3815  			BPF_STMT(BPF_LDX | BPF_MEM, 11),
108cc22a93e184 Daniel Borkmann    2014-05-26   3816  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3817  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3818  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3819  			BPF_STMT(BPF_STX, 12),
108cc22a93e184 Daniel Borkmann    2014-05-26   3820  			BPF_STMT(BPF_LDX | BPF_MEM, 12),
108cc22a93e184 Daniel Borkmann    2014-05-26   3821  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3822  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3823  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3824  			BPF_STMT(BPF_STX, 13),
108cc22a93e184 Daniel Borkmann    2014-05-26   3825  			BPF_STMT(BPF_LDX | BPF_MEM, 13),
108cc22a93e184 Daniel Borkmann    2014-05-26   3826  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3827  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3828  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3829  			BPF_STMT(BPF_STX, 14),
108cc22a93e184 Daniel Borkmann    2014-05-26   3830  			BPF_STMT(BPF_LDX | BPF_MEM, 14),
108cc22a93e184 Daniel Borkmann    2014-05-26   3831  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3832  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3833  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3834  			BPF_STMT(BPF_STX, 15),
108cc22a93e184 Daniel Borkmann    2014-05-26   3835  			BPF_STMT(BPF_LDX | BPF_MEM, 15),
108cc22a93e184 Daniel Borkmann    2014-05-26   3836  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3837  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 1),
108cc22a93e184 Daniel Borkmann    2014-05-26   3838  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3839  			BPF_STMT(BPF_RET | BPF_A, 0),
108cc22a93e184 Daniel Borkmann    2014-05-26   3840  		},
108cc22a93e184 Daniel Borkmann    2014-05-26   3841  		CLASSIC | FLAG_NO_DATA,
108cc22a93e184 Daniel Borkmann    2014-05-26   3842  		{ },
108cc22a93e184 Daniel Borkmann    2014-05-26   3843  		{ { 0, 116 } },
108cc22a93e184 Daniel Borkmann    2014-05-26   3844  	},
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3845  	{	/* Mainly checking JIT here. */
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3846  		"M[]: full STX + full LDX",
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3847  		.u.insns = {
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3848  			BPF_STMT(BPF_LDX | BPF_IMM, 0xbadfeedb),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3849  			BPF_STMT(BPF_STX, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3850  			BPF_STMT(BPF_LDX | BPF_IMM, 0xecabedae),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3851  			BPF_STMT(BPF_STX, 1),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3852  			BPF_STMT(BPF_LDX | BPF_IMM, 0xafccfeaf),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3853  			BPF_STMT(BPF_STX, 2),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3854  			BPF_STMT(BPF_LDX | BPF_IMM, 0xbffdcedc),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3855  			BPF_STMT(BPF_STX, 3),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3856  			BPF_STMT(BPF_LDX | BPF_IMM, 0xfbbbdccb),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3857  			BPF_STMT(BPF_STX, 4),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3858  			BPF_STMT(BPF_LDX | BPF_IMM, 0xfbabcbda),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3859  			BPF_STMT(BPF_STX, 5),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3860  			BPF_STMT(BPF_LDX | BPF_IMM, 0xaedecbdb),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3861  			BPF_STMT(BPF_STX, 6),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3862  			BPF_STMT(BPF_LDX | BPF_IMM, 0xadebbade),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3863  			BPF_STMT(BPF_STX, 7),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3864  			BPF_STMT(BPF_LDX | BPF_IMM, 0xfcfcfaec),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3865  			BPF_STMT(BPF_STX, 8),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3866  			BPF_STMT(BPF_LDX | BPF_IMM, 0xbcdddbdc),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3867  			BPF_STMT(BPF_STX, 9),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3868  			BPF_STMT(BPF_LDX | BPF_IMM, 0xfeefdfac),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3869  			BPF_STMT(BPF_STX, 10),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3870  			BPF_STMT(BPF_LDX | BPF_IMM, 0xcddcdeea),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3871  			BPF_STMT(BPF_STX, 11),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3872  			BPF_STMT(BPF_LDX | BPF_IMM, 0xaccfaebb),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3873  			BPF_STMT(BPF_STX, 12),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3874  			BPF_STMT(BPF_LDX | BPF_IMM, 0xbdcccdcf),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3875  			BPF_STMT(BPF_STX, 13),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3876  			BPF_STMT(BPF_LDX | BPF_IMM, 0xaaedecde),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3877  			BPF_STMT(BPF_STX, 14),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3878  			BPF_STMT(BPF_LDX | BPF_IMM, 0xfaeacdad),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3879  			BPF_STMT(BPF_STX, 15),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3880  			BPF_STMT(BPF_LDX | BPF_MEM, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3881  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3882  			BPF_STMT(BPF_LDX | BPF_MEM, 1),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3883  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3884  			BPF_STMT(BPF_LDX | BPF_MEM, 2),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3885  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3886  			BPF_STMT(BPF_LDX | BPF_MEM, 3),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3887  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3888  			BPF_STMT(BPF_LDX | BPF_MEM, 4),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3889  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3890  			BPF_STMT(BPF_LDX | BPF_MEM, 5),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3891  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3892  			BPF_STMT(BPF_LDX | BPF_MEM, 6),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3893  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3894  			BPF_STMT(BPF_LDX | BPF_MEM, 7),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3895  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3896  			BPF_STMT(BPF_LDX | BPF_MEM, 8),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3897  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3898  			BPF_STMT(BPF_LDX | BPF_MEM, 9),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3899  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3900  			BPF_STMT(BPF_LDX | BPF_MEM, 10),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3901  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3902  			BPF_STMT(BPF_LDX | BPF_MEM, 11),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3903  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3904  			BPF_STMT(BPF_LDX | BPF_MEM, 12),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3905  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3906  			BPF_STMT(BPF_LDX | BPF_MEM, 13),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3907  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3908  			BPF_STMT(BPF_LDX | BPF_MEM, 14),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3909  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3910  			BPF_STMT(BPF_LDX | BPF_MEM, 15),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3911  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3912  			BPF_STMT(BPF_RET | BPF_A, 0),
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3913  		},
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3914  		CLASSIC | FLAG_NO_DATA,
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3915  		{ },
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3916  		{ { 0, 0x2a5a5e5 } },
9fe13baad6b1e8 Daniel Borkmann    2014-05-29   3917  	},
d50bc157509625 Daniel Borkmann    2014-05-29   3918  	{
d50bc157509625 Daniel Borkmann    2014-05-29   3919  		"check: SKF_AD_MAX",
d50bc157509625 Daniel Borkmann    2014-05-29   3920  		.u.insns = {
d50bc157509625 Daniel Borkmann    2014-05-29   3921  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
d50bc157509625 Daniel Borkmann    2014-05-29   3922  				 SKF_AD_OFF + SKF_AD_MAX),
d50bc157509625 Daniel Borkmann    2014-05-29   3923  			BPF_STMT(BPF_RET | BPF_A, 0),
d50bc157509625 Daniel Borkmann    2014-05-29   3924  		},
d50bc157509625 Daniel Borkmann    2014-05-29   3925  		CLASSIC | FLAG_NO_DATA | FLAG_EXPECTED_FAIL,
d50bc157509625 Daniel Borkmann    2014-05-29   3926  		{ },
d50bc157509625 Daniel Borkmann    2014-05-29   3927  		{ },
09584b40674241 Yonghong Song      2018-02-02   3928  		.fill_helper = NULL,
09584b40674241 Yonghong Song      2018-02-02   3929  		.expected_errcode = -EINVAL,
d50bc157509625 Daniel Borkmann    2014-05-29   3930  	},
d50bc157509625 Daniel Borkmann    2014-05-29   3931  	{	/* Passes checker but fails during runtime. */
d50bc157509625 Daniel Borkmann    2014-05-29   3932  		"LD [SKF_AD_OFF-1]",
d50bc157509625 Daniel Borkmann    2014-05-29   3933  		.u.insns = {
d50bc157509625 Daniel Borkmann    2014-05-29   3934  			BPF_STMT(BPF_LD | BPF_W | BPF_ABS,
d50bc157509625 Daniel Borkmann    2014-05-29   3935  				 SKF_AD_OFF - 1),
d50bc157509625 Daniel Borkmann    2014-05-29   3936  			BPF_STMT(BPF_RET | BPF_K, 1),
d50bc157509625 Daniel Borkmann    2014-05-29   3937  		},
d50bc157509625 Daniel Borkmann    2014-05-29   3938  		CLASSIC,
d50bc157509625 Daniel Borkmann    2014-05-29   3939  		{ },
d50bc157509625 Daniel Borkmann    2014-05-29   3940  		{ { 1, 0 } },
d50bc157509625 Daniel Borkmann    2014-05-29   3941  	},
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3942  	{
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3943  		"load 64-bit immediate",
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3944  		.u.insns_int = {
25ee7327d04bc3 Alexei Starovoitov 2014-09-19   3945  			BPF_LD_IMM64(R1, 0x567800001234LL),
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3946  			BPF_MOV64_REG(R2, R1),
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3947  			BPF_MOV64_REG(R3, R2),
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3948  			BPF_ALU64_IMM(BPF_RSH, R2, 32),
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3949  			BPF_ALU64_IMM(BPF_LSH, R3, 32),
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3950  			BPF_ALU64_IMM(BPF_RSH, R3, 32),
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3951  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3952  			BPF_JMP_IMM(BPF_JEQ, R2, 0x5678, 1),
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3953  			BPF_EXIT_INSN(),
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3954  			BPF_JMP_IMM(BPF_JEQ, R3, 0x1234, 1),
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3955  			BPF_EXIT_INSN(),
986ccfdbd90a29 Xi Wang            2015-05-09   3956  			BPF_LD_IMM64(R0, 0x1ffffffffLL),
986ccfdbd90a29 Xi Wang            2015-05-09   3957  			BPF_ALU64_IMM(BPF_RSH, R0, 32), /* R0 = 1 */
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3958  			BPF_EXIT_INSN(),
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3959  		},
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3960  		INTERNAL,
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3961  		{ },
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3962  		{ { 0, 1 } }
02ab695bb37ee9 Alexei Starovoitov 2014-09-04   3963  	},
cffc642d93f932 Michael Holzheu    2015-05-11   3964  	/* BPF_ALU | BPF_MOV | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   3965  	{
cffc642d93f932 Michael Holzheu    2015-05-11   3966  		"ALU_MOV_X: dst = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   3967  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   3968  			BPF_ALU32_IMM(BPF_MOV, R1, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   3969  			BPF_ALU32_REG(BPF_MOV, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   3970  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   3971  		},
cffc642d93f932 Michael Holzheu    2015-05-11   3972  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   3973  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   3974  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   3975  	},
cffc642d93f932 Michael Holzheu    2015-05-11   3976  	{
cffc642d93f932 Michael Holzheu    2015-05-11   3977  		"ALU_MOV_X: dst = 4294967295",
cffc642d93f932 Michael Holzheu    2015-05-11   3978  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   3979  			BPF_ALU32_IMM(BPF_MOV, R1, 4294967295U),
cffc642d93f932 Michael Holzheu    2015-05-11   3980  			BPF_ALU32_REG(BPF_MOV, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   3981  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   3982  		},
cffc642d93f932 Michael Holzheu    2015-05-11   3983  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   3984  		{ },
56cbaa45dde235 Michael Holzheu    2015-05-13   3985  		{ { 0, 4294967295U } },
cffc642d93f932 Michael Holzheu    2015-05-11   3986  	},
cffc642d93f932 Michael Holzheu    2015-05-11   3987  	{
cffc642d93f932 Michael Holzheu    2015-05-11   3988  		"ALU64_MOV_X: dst = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   3989  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   3990  			BPF_ALU32_IMM(BPF_MOV, R1, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   3991  			BPF_ALU64_REG(BPF_MOV, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   3992  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   3993  		},
cffc642d93f932 Michael Holzheu    2015-05-11   3994  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   3995  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   3996  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   3997  	},
cffc642d93f932 Michael Holzheu    2015-05-11   3998  	{
cffc642d93f932 Michael Holzheu    2015-05-11   3999  		"ALU64_MOV_X: dst = 4294967295",
cffc642d93f932 Michael Holzheu    2015-05-11   4000  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4001  			BPF_ALU32_IMM(BPF_MOV, R1, 4294967295U),
cffc642d93f932 Michael Holzheu    2015-05-11   4002  			BPF_ALU64_REG(BPF_MOV, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4003  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4004  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4005  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4006  		{ },
56cbaa45dde235 Michael Holzheu    2015-05-13   4007  		{ { 0, 4294967295U } },
cffc642d93f932 Michael Holzheu    2015-05-11   4008  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4009  	/* BPF_ALU | BPF_MOV | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   4010  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4011  		"ALU_MOV_K: dst = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   4012  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4013  			BPF_ALU32_IMM(BPF_MOV, R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4014  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4015  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4016  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4017  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4018  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4019  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4020  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4021  		"ALU_MOV_K: dst = 4294967295",
cffc642d93f932 Michael Holzheu    2015-05-11   4022  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4023  			BPF_ALU32_IMM(BPF_MOV, R0, 4294967295U),
cffc642d93f932 Michael Holzheu    2015-05-11   4024  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4025  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4026  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4027  		{ },
56cbaa45dde235 Michael Holzheu    2015-05-13   4028  		{ { 0, 4294967295U } },
cffc642d93f932 Michael Holzheu    2015-05-11   4029  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4030  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4031  		"ALU_MOV_K: 0x0000ffffffff0000 = 0x00000000ffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   4032  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4033  			BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
56cbaa45dde235 Michael Holzheu    2015-05-13   4034  			BPF_LD_IMM64(R3, 0x00000000ffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   4035  			BPF_ALU32_IMM(BPF_MOV, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   4036  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4037  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4038  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4039  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4040  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4041  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4042  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4043  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4044  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4045  	},
565731acfcf28f Johan Almbladh     2021-08-09   4046  	{
565731acfcf28f Johan Almbladh     2021-08-09   4047  		"ALU_MOV_K: small negative",
565731acfcf28f Johan Almbladh     2021-08-09   4048  		.u.insns_int = {
565731acfcf28f Johan Almbladh     2021-08-09   4049  			BPF_ALU32_IMM(BPF_MOV, R0, -123),
565731acfcf28f Johan Almbladh     2021-08-09   4050  			BPF_EXIT_INSN(),
565731acfcf28f Johan Almbladh     2021-08-09   4051  		},
565731acfcf28f Johan Almbladh     2021-08-09   4052  		INTERNAL,
565731acfcf28f Johan Almbladh     2021-08-09   4053  		{ },
565731acfcf28f Johan Almbladh     2021-08-09   4054  		{ { 0, -123 } }
565731acfcf28f Johan Almbladh     2021-08-09   4055  	},
565731acfcf28f Johan Almbladh     2021-08-09   4056  	{
565731acfcf28f Johan Almbladh     2021-08-09   4057  		"ALU_MOV_K: small negative zero extension",
565731acfcf28f Johan Almbladh     2021-08-09   4058  		.u.insns_int = {
565731acfcf28f Johan Almbladh     2021-08-09   4059  			BPF_ALU32_IMM(BPF_MOV, R0, -123),
565731acfcf28f Johan Almbladh     2021-08-09   4060  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
565731acfcf28f Johan Almbladh     2021-08-09   4061  			BPF_EXIT_INSN(),
565731acfcf28f Johan Almbladh     2021-08-09   4062  		},
565731acfcf28f Johan Almbladh     2021-08-09   4063  		INTERNAL,
565731acfcf28f Johan Almbladh     2021-08-09   4064  		{ },
565731acfcf28f Johan Almbladh     2021-08-09   4065  		{ { 0, 0 } }
565731acfcf28f Johan Almbladh     2021-08-09   4066  	},
565731acfcf28f Johan Almbladh     2021-08-09   4067  	{
565731acfcf28f Johan Almbladh     2021-08-09   4068  		"ALU_MOV_K: large negative",
565731acfcf28f Johan Almbladh     2021-08-09   4069  		.u.insns_int = {
565731acfcf28f Johan Almbladh     2021-08-09   4070  			BPF_ALU32_IMM(BPF_MOV, R0, -123456789),
565731acfcf28f Johan Almbladh     2021-08-09   4071  			BPF_EXIT_INSN(),
565731acfcf28f Johan Almbladh     2021-08-09   4072  		},
565731acfcf28f Johan Almbladh     2021-08-09   4073  		INTERNAL,
565731acfcf28f Johan Almbladh     2021-08-09   4074  		{ },
565731acfcf28f Johan Almbladh     2021-08-09   4075  		{ { 0, -123456789 } }
565731acfcf28f Johan Almbladh     2021-08-09   4076  	},
565731acfcf28f Johan Almbladh     2021-08-09   4077  	{
565731acfcf28f Johan Almbladh     2021-08-09   4078  		"ALU_MOV_K: large negative zero extension",
565731acfcf28f Johan Almbladh     2021-08-09   4079  		.u.insns_int = {
565731acfcf28f Johan Almbladh     2021-08-09   4080  			BPF_ALU32_IMM(BPF_MOV, R0, -123456789),
565731acfcf28f Johan Almbladh     2021-08-09   4081  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
565731acfcf28f Johan Almbladh     2021-08-09   4082  			BPF_EXIT_INSN(),
565731acfcf28f Johan Almbladh     2021-08-09   4083  		},
565731acfcf28f Johan Almbladh     2021-08-09   4084  		INTERNAL,
565731acfcf28f Johan Almbladh     2021-08-09   4085  		{ },
565731acfcf28f Johan Almbladh     2021-08-09   4086  		{ { 0, 0 } }
565731acfcf28f Johan Almbladh     2021-08-09   4087  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4088  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4089  		"ALU64_MOV_K: dst = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   4090  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4091  			BPF_ALU64_IMM(BPF_MOV, R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4092  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4093  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4094  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4095  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4096  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4097  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4098  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4099  		"ALU64_MOV_K: dst = 2147483647",
cffc642d93f932 Michael Holzheu    2015-05-11   4100  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4101  			BPF_ALU64_IMM(BPF_MOV, R0, 2147483647),
cffc642d93f932 Michael Holzheu    2015-05-11   4102  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4103  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4104  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4105  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4106  		{ { 0, 2147483647 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4107  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4108  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4109  		"ALU64_OR_K: dst = 0x0",
cffc642d93f932 Michael Holzheu    2015-05-11   4110  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4111  			BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
cffc642d93f932 Michael Holzheu    2015-05-11   4112  			BPF_LD_IMM64(R3, 0x0),
cffc642d93f932 Michael Holzheu    2015-05-11   4113  			BPF_ALU64_IMM(BPF_MOV, R2, 0x0),
cffc642d93f932 Michael Holzheu    2015-05-11   4114  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4115  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4116  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4117  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4118  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4119  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4120  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4121  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4122  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4123  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4124  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4125  		"ALU64_MOV_K: dst = -1",
cffc642d93f932 Michael Holzheu    2015-05-11   4126  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4127  			BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
56cbaa45dde235 Michael Holzheu    2015-05-13   4128  			BPF_LD_IMM64(R3, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   4129  			BPF_ALU64_IMM(BPF_MOV, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   4130  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4131  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4132  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4133  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4134  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4135  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4136  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4137  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4138  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4139  	},
565731acfcf28f Johan Almbladh     2021-08-09   4140  	{
565731acfcf28f Johan Almbladh     2021-08-09   4141  		"ALU64_MOV_K: small negative",
565731acfcf28f Johan Almbladh     2021-08-09   4142  		.u.insns_int = {
565731acfcf28f Johan Almbladh     2021-08-09   4143  			BPF_ALU64_IMM(BPF_MOV, R0, -123),
565731acfcf28f Johan Almbladh     2021-08-09   4144  			BPF_EXIT_INSN(),
565731acfcf28f Johan Almbladh     2021-08-09   4145  		},
565731acfcf28f Johan Almbladh     2021-08-09   4146  		INTERNAL,
565731acfcf28f Johan Almbladh     2021-08-09   4147  		{ },
565731acfcf28f Johan Almbladh     2021-08-09   4148  		{ { 0, -123 } }
565731acfcf28f Johan Almbladh     2021-08-09   4149  	},
565731acfcf28f Johan Almbladh     2021-08-09   4150  	{
565731acfcf28f Johan Almbladh     2021-08-09   4151  		"ALU64_MOV_K: small negative sign extension",
565731acfcf28f Johan Almbladh     2021-08-09   4152  		.u.insns_int = {
565731acfcf28f Johan Almbladh     2021-08-09   4153  			BPF_ALU64_IMM(BPF_MOV, R0, -123),
565731acfcf28f Johan Almbladh     2021-08-09   4154  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
565731acfcf28f Johan Almbladh     2021-08-09   4155  			BPF_EXIT_INSN(),
565731acfcf28f Johan Almbladh     2021-08-09   4156  		},
565731acfcf28f Johan Almbladh     2021-08-09   4157  		INTERNAL,
565731acfcf28f Johan Almbladh     2021-08-09   4158  		{ },
565731acfcf28f Johan Almbladh     2021-08-09   4159  		{ { 0, 0xffffffff } }
565731acfcf28f Johan Almbladh     2021-08-09   4160  	},
565731acfcf28f Johan Almbladh     2021-08-09   4161  	{
565731acfcf28f Johan Almbladh     2021-08-09   4162  		"ALU64_MOV_K: large negative",
565731acfcf28f Johan Almbladh     2021-08-09   4163  		.u.insns_int = {
565731acfcf28f Johan Almbladh     2021-08-09   4164  			BPF_ALU64_IMM(BPF_MOV, R0, -123456789),
565731acfcf28f Johan Almbladh     2021-08-09   4165  			BPF_EXIT_INSN(),
565731acfcf28f Johan Almbladh     2021-08-09   4166  		},
565731acfcf28f Johan Almbladh     2021-08-09   4167  		INTERNAL,
565731acfcf28f Johan Almbladh     2021-08-09   4168  		{ },
565731acfcf28f Johan Almbladh     2021-08-09   4169  		{ { 0, -123456789 } }
565731acfcf28f Johan Almbladh     2021-08-09   4170  	},
565731acfcf28f Johan Almbladh     2021-08-09   4171  	{
565731acfcf28f Johan Almbladh     2021-08-09   4172  		"ALU64_MOV_K: large negative sign extension",
565731acfcf28f Johan Almbladh     2021-08-09   4173  		.u.insns_int = {
565731acfcf28f Johan Almbladh     2021-08-09   4174  			BPF_ALU64_IMM(BPF_MOV, R0, -123456789),
565731acfcf28f Johan Almbladh     2021-08-09   4175  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
565731acfcf28f Johan Almbladh     2021-08-09   4176  			BPF_EXIT_INSN(),
565731acfcf28f Johan Almbladh     2021-08-09   4177  		},
565731acfcf28f Johan Almbladh     2021-08-09   4178  		INTERNAL,
565731acfcf28f Johan Almbladh     2021-08-09   4179  		{ },
565731acfcf28f Johan Almbladh     2021-08-09   4180  		{ { 0, 0xffffffff } }
565731acfcf28f Johan Almbladh     2021-08-09   4181  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4182  	/* BPF_ALU | BPF_ADD | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   4183  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4184  		"ALU_ADD_X: 1 + 2 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4185  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4186  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4187  			BPF_ALU32_IMM(BPF_MOV, R1, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4188  			BPF_ALU32_REG(BPF_ADD, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4189  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4190  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4191  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4192  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4193  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4194  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4195  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4196  		"ALU_ADD_X: 1 + 4294967294 = 4294967295",
cffc642d93f932 Michael Holzheu    2015-05-11   4197  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4198  			BPF_LD_IMM64(R0, 1),
56cbaa45dde235 Michael Holzheu    2015-05-13   4199  			BPF_ALU32_IMM(BPF_MOV, R1, 4294967294U),
cffc642d93f932 Michael Holzheu    2015-05-11   4200  			BPF_ALU32_REG(BPF_ADD, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4201  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4202  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4203  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4204  		{ },
56cbaa45dde235 Michael Holzheu    2015-05-13   4205  		{ { 0, 4294967295U } },
cffc642d93f932 Michael Holzheu    2015-05-11   4206  	},
b64b50eac47046 Naveen N. Rao      2016-04-05   4207  	{
b64b50eac47046 Naveen N. Rao      2016-04-05   4208  		"ALU_ADD_X: 2 + 4294967294 = 0",
b64b50eac47046 Naveen N. Rao      2016-04-05   4209  		.u.insns_int = {
b64b50eac47046 Naveen N. Rao      2016-04-05   4210  			BPF_LD_IMM64(R0, 2),
b64b50eac47046 Naveen N. Rao      2016-04-05   4211  			BPF_LD_IMM64(R1, 4294967294U),
b64b50eac47046 Naveen N. Rao      2016-04-05   4212  			BPF_ALU32_REG(BPF_ADD, R0, R1),
b64b50eac47046 Naveen N. Rao      2016-04-05   4213  			BPF_JMP_IMM(BPF_JEQ, R0, 0, 2),
b64b50eac47046 Naveen N. Rao      2016-04-05   4214  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b64b50eac47046 Naveen N. Rao      2016-04-05   4215  			BPF_EXIT_INSN(),
b64b50eac47046 Naveen N. Rao      2016-04-05   4216  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
b64b50eac47046 Naveen N. Rao      2016-04-05   4217  			BPF_EXIT_INSN(),
b64b50eac47046 Naveen N. Rao      2016-04-05   4218  		},
b64b50eac47046 Naveen N. Rao      2016-04-05   4219  		INTERNAL,
b64b50eac47046 Naveen N. Rao      2016-04-05   4220  		{ },
b64b50eac47046 Naveen N. Rao      2016-04-05   4221  		{ { 0, 1 } },
b64b50eac47046 Naveen N. Rao      2016-04-05   4222  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4223  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4224  		"ALU64_ADD_X: 1 + 2 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4225  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4226  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4227  			BPF_ALU32_IMM(BPF_MOV, R1, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4228  			BPF_ALU64_REG(BPF_ADD, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4229  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4230  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4231  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4232  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4233  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4234  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4235  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4236  		"ALU64_ADD_X: 1 + 4294967294 = 4294967295",
cffc642d93f932 Michael Holzheu    2015-05-11   4237  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4238  			BPF_LD_IMM64(R0, 1),
56cbaa45dde235 Michael Holzheu    2015-05-13   4239  			BPF_ALU32_IMM(BPF_MOV, R1, 4294967294U),
cffc642d93f932 Michael Holzheu    2015-05-11   4240  			BPF_ALU64_REG(BPF_ADD, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4241  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4242  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4243  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4244  		{ },
56cbaa45dde235 Michael Holzheu    2015-05-13   4245  		{ { 0, 4294967295U } },
cffc642d93f932 Michael Holzheu    2015-05-11   4246  	},
b64b50eac47046 Naveen N. Rao      2016-04-05   4247  	{
b64b50eac47046 Naveen N. Rao      2016-04-05   4248  		"ALU64_ADD_X: 2 + 4294967294 = 4294967296",
b64b50eac47046 Naveen N. Rao      2016-04-05   4249  		.u.insns_int = {
b64b50eac47046 Naveen N. Rao      2016-04-05   4250  			BPF_LD_IMM64(R0, 2),
b64b50eac47046 Naveen N. Rao      2016-04-05   4251  			BPF_LD_IMM64(R1, 4294967294U),
b64b50eac47046 Naveen N. Rao      2016-04-05   4252  			BPF_LD_IMM64(R2, 4294967296ULL),
b64b50eac47046 Naveen N. Rao      2016-04-05   4253  			BPF_ALU64_REG(BPF_ADD, R0, R1),
b64b50eac47046 Naveen N. Rao      2016-04-05   4254  			BPF_JMP_REG(BPF_JEQ, R0, R2, 2),
b64b50eac47046 Naveen N. Rao      2016-04-05   4255  			BPF_MOV32_IMM(R0, 0),
b64b50eac47046 Naveen N. Rao      2016-04-05   4256  			BPF_EXIT_INSN(),
b64b50eac47046 Naveen N. Rao      2016-04-05   4257  			BPF_MOV32_IMM(R0, 1),
b64b50eac47046 Naveen N. Rao      2016-04-05   4258  			BPF_EXIT_INSN(),
b64b50eac47046 Naveen N. Rao      2016-04-05   4259  		},
b64b50eac47046 Naveen N. Rao      2016-04-05   4260  		INTERNAL,
b64b50eac47046 Naveen N. Rao      2016-04-05   4261  		{ },
b64b50eac47046 Naveen N. Rao      2016-04-05   4262  		{ { 0, 1 } },
b64b50eac47046 Naveen N. Rao      2016-04-05   4263  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4264  	/* BPF_ALU | BPF_ADD | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   4265  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4266  		"ALU_ADD_K: 1 + 2 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4267  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4268  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4269  			BPF_ALU32_IMM(BPF_ADD, R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4270  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4271  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4272  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4273  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4274  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4275  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4276  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4277  		"ALU_ADD_K: 3 + 0 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4278  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4279  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4280  			BPF_ALU32_IMM(BPF_ADD, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   4281  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4282  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4283  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4284  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4285  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4286  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4287  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4288  		"ALU_ADD_K: 1 + 4294967294 = 4294967295",
cffc642d93f932 Michael Holzheu    2015-05-11   4289  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4290  			BPF_LD_IMM64(R0, 1),
56cbaa45dde235 Michael Holzheu    2015-05-13   4291  			BPF_ALU32_IMM(BPF_ADD, R0, 4294967294U),
cffc642d93f932 Michael Holzheu    2015-05-11   4292  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4293  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4294  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4295  		{ },
56cbaa45dde235 Michael Holzheu    2015-05-13   4296  		{ { 0, 4294967295U } },
cffc642d93f932 Michael Holzheu    2015-05-11   4297  	},
b64b50eac47046 Naveen N. Rao      2016-04-05   4298  	{
b64b50eac47046 Naveen N. Rao      2016-04-05   4299  		"ALU_ADD_K: 4294967294 + 2 = 0",
b64b50eac47046 Naveen N. Rao      2016-04-05   4300  		.u.insns_int = {
b64b50eac47046 Naveen N. Rao      2016-04-05   4301  			BPF_LD_IMM64(R0, 4294967294U),
b64b50eac47046 Naveen N. Rao      2016-04-05   4302  			BPF_ALU32_IMM(BPF_ADD, R0, 2),
b64b50eac47046 Naveen N. Rao      2016-04-05   4303  			BPF_JMP_IMM(BPF_JEQ, R0, 0, 2),
b64b50eac47046 Naveen N. Rao      2016-04-05   4304  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b64b50eac47046 Naveen N. Rao      2016-04-05   4305  			BPF_EXIT_INSN(),
b64b50eac47046 Naveen N. Rao      2016-04-05   4306  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
b64b50eac47046 Naveen N. Rao      2016-04-05   4307  			BPF_EXIT_INSN(),
b64b50eac47046 Naveen N. Rao      2016-04-05   4308  		},
b64b50eac47046 Naveen N. Rao      2016-04-05   4309  		INTERNAL,
b64b50eac47046 Naveen N. Rao      2016-04-05   4310  		{ },
b64b50eac47046 Naveen N. Rao      2016-04-05   4311  		{ { 0, 1 } },
b64b50eac47046 Naveen N. Rao      2016-04-05   4312  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4313  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4314  		"ALU_ADD_K: 0 + (-1) = 0x00000000ffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   4315  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4316  			BPF_LD_IMM64(R2, 0x0),
cffc642d93f932 Michael Holzheu    2015-05-11   4317  			BPF_LD_IMM64(R3, 0x00000000ffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   4318  			BPF_ALU32_IMM(BPF_ADD, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   4319  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4320  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4321  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4322  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4323  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4324  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4325  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4326  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4327  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4328  	},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4329  	{
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4330  		"ALU_ADD_K: 0 + 0xffff = 0xffff",
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4331  		.u.insns_int = {
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4332  			BPF_LD_IMM64(R2, 0x0),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4333  			BPF_LD_IMM64(R3, 0xffff),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4334  			BPF_ALU32_IMM(BPF_ADD, R2, 0xffff),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4335  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4336  			BPF_MOV32_IMM(R0, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4337  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4338  			BPF_MOV32_IMM(R0, 1),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4339  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4340  		},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4341  		INTERNAL,
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4342  		{ },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4343  		{ { 0, 0x1 } },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4344  	},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4345  	{
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4346  		"ALU_ADD_K: 0 + 0x7fffffff = 0x7fffffff",
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4347  		.u.insns_int = {
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4348  			BPF_LD_IMM64(R2, 0x0),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4349  			BPF_LD_IMM64(R3, 0x7fffffff),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4350  			BPF_ALU32_IMM(BPF_ADD, R2, 0x7fffffff),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4351  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4352  			BPF_MOV32_IMM(R0, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4353  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4354  			BPF_MOV32_IMM(R0, 1),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4355  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4356  		},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4357  		INTERNAL,
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4358  		{ },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4359  		{ { 0, 0x1 } },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4360  	},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4361  	{
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4362  		"ALU_ADD_K: 0 + 0x80000000 = 0x80000000",
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4363  		.u.insns_int = {
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4364  			BPF_LD_IMM64(R2, 0x0),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4365  			BPF_LD_IMM64(R3, 0x80000000),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4366  			BPF_ALU32_IMM(BPF_ADD, R2, 0x80000000),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4367  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4368  			BPF_MOV32_IMM(R0, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4369  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4370  			BPF_MOV32_IMM(R0, 1),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4371  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4372  		},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4373  		INTERNAL,
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4374  		{ },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4375  		{ { 0, 0x1 } },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4376  	},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4377  	{
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4378  		"ALU_ADD_K: 0 + 0x80008000 = 0x80008000",
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4379  		.u.insns_int = {
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4380  			BPF_LD_IMM64(R2, 0x0),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4381  			BPF_LD_IMM64(R3, 0x80008000),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4382  			BPF_ALU32_IMM(BPF_ADD, R2, 0x80008000),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4383  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4384  			BPF_MOV32_IMM(R0, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4385  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4386  			BPF_MOV32_IMM(R0, 1),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4387  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4388  		},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4389  		INTERNAL,
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4390  		{ },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4391  		{ { 0, 0x1 } },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4392  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4393  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4394  		"ALU64_ADD_K: 1 + 2 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4395  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4396  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4397  			BPF_ALU64_IMM(BPF_ADD, R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4398  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4399  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4400  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4401  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4402  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4403  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4404  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4405  		"ALU64_ADD_K: 3 + 0 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4406  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4407  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4408  			BPF_ALU64_IMM(BPF_ADD, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   4409  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4410  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4411  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4412  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4413  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4414  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4415  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4416  		"ALU64_ADD_K: 1 + 2147483646 = 2147483647",
cffc642d93f932 Michael Holzheu    2015-05-11   4417  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4418  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4419  			BPF_ALU64_IMM(BPF_ADD, R0, 2147483646),
cffc642d93f932 Michael Holzheu    2015-05-11   4420  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4421  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4422  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4423  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4424  		{ { 0, 2147483647 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4425  	},
b64b50eac47046 Naveen N. Rao      2016-04-05   4426  	{
b64b50eac47046 Naveen N. Rao      2016-04-05   4427  		"ALU64_ADD_K: 4294967294 + 2 = 4294967296",
b64b50eac47046 Naveen N. Rao      2016-04-05   4428  		.u.insns_int = {
b64b50eac47046 Naveen N. Rao      2016-04-05   4429  			BPF_LD_IMM64(R0, 4294967294U),
b64b50eac47046 Naveen N. Rao      2016-04-05   4430  			BPF_LD_IMM64(R1, 4294967296ULL),
b64b50eac47046 Naveen N. Rao      2016-04-05   4431  			BPF_ALU64_IMM(BPF_ADD, R0, 2),
b64b50eac47046 Naveen N. Rao      2016-04-05   4432  			BPF_JMP_REG(BPF_JEQ, R0, R1, 2),
b64b50eac47046 Naveen N. Rao      2016-04-05   4433  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b64b50eac47046 Naveen N. Rao      2016-04-05   4434  			BPF_EXIT_INSN(),
b64b50eac47046 Naveen N. Rao      2016-04-05   4435  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
b64b50eac47046 Naveen N. Rao      2016-04-05   4436  			BPF_EXIT_INSN(),
b64b50eac47046 Naveen N. Rao      2016-04-05   4437  		},
b64b50eac47046 Naveen N. Rao      2016-04-05   4438  		INTERNAL,
b64b50eac47046 Naveen N. Rao      2016-04-05   4439  		{ },
b64b50eac47046 Naveen N. Rao      2016-04-05   4440  		{ { 0, 1 } },
b64b50eac47046 Naveen N. Rao      2016-04-05   4441  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4442  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4443  		"ALU64_ADD_K: 2147483646 + -2147483647 = -1",
cffc642d93f932 Michael Holzheu    2015-05-11   4444  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4445  			BPF_LD_IMM64(R0, 2147483646),
cffc642d93f932 Michael Holzheu    2015-05-11   4446  			BPF_ALU64_IMM(BPF_ADD, R0, -2147483647),
cffc642d93f932 Michael Holzheu    2015-05-11   4447  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4448  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4449  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4450  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4451  		{ { 0, -1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4452  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4453  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4454  		"ALU64_ADD_K: 1 + 0 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   4455  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4456  			BPF_LD_IMM64(R2, 0x1),
cffc642d93f932 Michael Holzheu    2015-05-11   4457  			BPF_LD_IMM64(R3, 0x1),
cffc642d93f932 Michael Holzheu    2015-05-11   4458  			BPF_ALU64_IMM(BPF_ADD, R2, 0x0),
cffc642d93f932 Michael Holzheu    2015-05-11   4459  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4460  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4461  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4462  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4463  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4464  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4465  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4466  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4467  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4468  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4469  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4470  		"ALU64_ADD_K: 0 + (-1) = 0xffffffffffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   4471  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4472  			BPF_LD_IMM64(R2, 0x0),
56cbaa45dde235 Michael Holzheu    2015-05-13   4473  			BPF_LD_IMM64(R3, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   4474  			BPF_ALU64_IMM(BPF_ADD, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   4475  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4476  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4477  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4478  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4479  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4480  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4481  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4482  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4483  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4484  	},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4485  	{
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4486  		"ALU64_ADD_K: 0 + 0xffff = 0xffff",
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4487  		.u.insns_int = {
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4488  			BPF_LD_IMM64(R2, 0x0),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4489  			BPF_LD_IMM64(R3, 0xffff),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4490  			BPF_ALU64_IMM(BPF_ADD, R2, 0xffff),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4491  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4492  			BPF_MOV32_IMM(R0, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4493  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4494  			BPF_MOV32_IMM(R0, 1),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4495  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4496  		},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4497  		INTERNAL,
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4498  		{ },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4499  		{ { 0, 0x1 } },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4500  	},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4501  	{
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4502  		"ALU64_ADD_K: 0 + 0x7fffffff = 0x7fffffff",
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4503  		.u.insns_int = {
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4504  			BPF_LD_IMM64(R2, 0x0),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4505  			BPF_LD_IMM64(R3, 0x7fffffff),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4506  			BPF_ALU64_IMM(BPF_ADD, R2, 0x7fffffff),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4507  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4508  			BPF_MOV32_IMM(R0, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4509  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4510  			BPF_MOV32_IMM(R0, 1),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4511  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4512  		},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4513  		INTERNAL,
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4514  		{ },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4515  		{ { 0, 0x1 } },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4516  	},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4517  	{
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4518  		"ALU64_ADD_K: 0 + 0x80000000 = 0xffffffff80000000",
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4519  		.u.insns_int = {
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4520  			BPF_LD_IMM64(R2, 0x0),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4521  			BPF_LD_IMM64(R3, 0xffffffff80000000LL),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4522  			BPF_ALU64_IMM(BPF_ADD, R2, 0x80000000),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4523  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4524  			BPF_MOV32_IMM(R0, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4525  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4526  			BPF_MOV32_IMM(R0, 1),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4527  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4528  		},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4529  		INTERNAL,
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4530  		{ },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4531  		{ { 0, 0x1 } },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4532  	},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4533  	{
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4534  		"ALU_ADD_K: 0 + 0x80008000 = 0xffffffff80008000",
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4535  		.u.insns_int = {
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4536  			BPF_LD_IMM64(R2, 0x0),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4537  			BPF_LD_IMM64(R3, 0xffffffff80008000LL),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4538  			BPF_ALU64_IMM(BPF_ADD, R2, 0x80008000),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4539  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4540  			BPF_MOV32_IMM(R0, 2),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4541  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4542  			BPF_MOV32_IMM(R0, 1),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4543  			BPF_EXIT_INSN(),
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4544  		},
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4545  		INTERNAL,
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4546  		{ },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4547  		{ { 0, 0x1 } },
9c94f6c8e0d3d4 Naveen N. Rao      2016-04-05   4548  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4549  	/* BPF_ALU | BPF_SUB | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   4550  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4551  		"ALU_SUB_X: 3 - 1 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   4552  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4553  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4554  			BPF_ALU32_IMM(BPF_MOV, R1, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4555  			BPF_ALU32_REG(BPF_SUB, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4556  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4557  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4558  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4559  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4560  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4561  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4562  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4563  		"ALU_SUB_X: 4294967295 - 4294967294 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   4564  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4565  			BPF_LD_IMM64(R0, 4294967295U),
56cbaa45dde235 Michael Holzheu    2015-05-13   4566  			BPF_ALU32_IMM(BPF_MOV, R1, 4294967294U),
cffc642d93f932 Michael Holzheu    2015-05-11   4567  			BPF_ALU32_REG(BPF_SUB, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4568  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4569  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4570  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4571  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4572  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4573  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4574  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4575  		"ALU64_SUB_X: 3 - 1 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   4576  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4577  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4578  			BPF_ALU32_IMM(BPF_MOV, R1, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4579  			BPF_ALU64_REG(BPF_SUB, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4580  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4581  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4582  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4583  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4584  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4585  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4586  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4587  		"ALU64_SUB_X: 4294967295 - 4294967294 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   4588  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4589  			BPF_LD_IMM64(R0, 4294967295U),
56cbaa45dde235 Michael Holzheu    2015-05-13   4590  			BPF_ALU32_IMM(BPF_MOV, R1, 4294967294U),
cffc642d93f932 Michael Holzheu    2015-05-11   4591  			BPF_ALU64_REG(BPF_SUB, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4592  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4593  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4594  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4595  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4596  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4597  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4598  	/* BPF_ALU | BPF_SUB | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   4599  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4600  		"ALU_SUB_K: 3 - 1 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   4601  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4602  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4603  			BPF_ALU32_IMM(BPF_SUB, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4604  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4605  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4606  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4607  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4608  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4609  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4610  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4611  		"ALU_SUB_K: 3 - 0 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4612  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4613  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4614  			BPF_ALU32_IMM(BPF_SUB, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   4615  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4616  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4617  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4618  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4619  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4620  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4621  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4622  		"ALU_SUB_K: 4294967295 - 4294967294 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   4623  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4624  			BPF_LD_IMM64(R0, 4294967295U),
56cbaa45dde235 Michael Holzheu    2015-05-13   4625  			BPF_ALU32_IMM(BPF_SUB, R0, 4294967294U),
cffc642d93f932 Michael Holzheu    2015-05-11   4626  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4627  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4628  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4629  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4630  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4631  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4632  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4633  		"ALU64_SUB_K: 3 - 1 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   4634  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4635  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4636  			BPF_ALU64_IMM(BPF_SUB, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4637  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4638  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4639  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4640  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4641  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4642  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4643  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4644  		"ALU64_SUB_K: 3 - 0 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4645  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4646  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4647  			BPF_ALU64_IMM(BPF_SUB, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   4648  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4649  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4650  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4651  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4652  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4653  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4654  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4655  		"ALU64_SUB_K: 4294967294 - 4294967295 = -1",
cffc642d93f932 Michael Holzheu    2015-05-11   4656  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4657  			BPF_LD_IMM64(R0, 4294967294U),
56cbaa45dde235 Michael Holzheu    2015-05-13   4658  			BPF_ALU64_IMM(BPF_SUB, R0, 4294967295U),
cffc642d93f932 Michael Holzheu    2015-05-11   4659  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4660  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4661  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4662  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4663  		{ { 0, -1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4664  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4665  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4666  		"ALU64_ADD_K: 2147483646 - 2147483647 = -1",
cffc642d93f932 Michael Holzheu    2015-05-11   4667  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4668  			BPF_LD_IMM64(R0, 2147483646),
cffc642d93f932 Michael Holzheu    2015-05-11   4669  			BPF_ALU64_IMM(BPF_SUB, R0, 2147483647),
cffc642d93f932 Michael Holzheu    2015-05-11   4670  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4671  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4672  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4673  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4674  		{ { 0, -1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4675  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4676  	/* BPF_ALU | BPF_MUL | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   4677  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4678  		"ALU_MUL_X: 2 * 3 = 6",
cffc642d93f932 Michael Holzheu    2015-05-11   4679  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4680  			BPF_LD_IMM64(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4681  			BPF_ALU32_IMM(BPF_MOV, R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4682  			BPF_ALU32_REG(BPF_MUL, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4683  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4684  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4685  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4686  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4687  		{ { 0, 6 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4688  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4689  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4690  		"ALU_MUL_X: 2 * 0x7FFFFFF8 = 0xFFFFFFF0",
cffc642d93f932 Michael Holzheu    2015-05-11   4691  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4692  			BPF_LD_IMM64(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4693  			BPF_ALU32_IMM(BPF_MOV, R1, 0x7FFFFFF8),
cffc642d93f932 Michael Holzheu    2015-05-11   4694  			BPF_ALU32_REG(BPF_MUL, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4695  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4696  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4697  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4698  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4699  		{ { 0, 0xFFFFFFF0 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4700  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4701  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4702  		"ALU_MUL_X: -1 * -1 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   4703  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4704  			BPF_LD_IMM64(R0, -1),
cffc642d93f932 Michael Holzheu    2015-05-11   4705  			BPF_ALU32_IMM(BPF_MOV, R1, -1),
cffc642d93f932 Michael Holzheu    2015-05-11   4706  			BPF_ALU32_REG(BPF_MUL, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4707  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4708  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4709  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4710  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4711  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4712  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4713  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4714  		"ALU64_MUL_X: 2 * 3 = 6",
cffc642d93f932 Michael Holzheu    2015-05-11   4715  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4716  			BPF_LD_IMM64(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4717  			BPF_ALU32_IMM(BPF_MOV, R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4718  			BPF_ALU64_REG(BPF_MUL, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4719  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4720  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4721  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4722  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4723  		{ { 0, 6 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4724  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4725  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4726  		"ALU64_MUL_X: 1 * 2147483647 = 2147483647",
cffc642d93f932 Michael Holzheu    2015-05-11   4727  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4728  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4729  			BPF_ALU32_IMM(BPF_MOV, R1, 2147483647),
cffc642d93f932 Michael Holzheu    2015-05-11   4730  			BPF_ALU64_REG(BPF_MUL, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4731  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4732  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4733  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4734  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4735  		{ { 0, 2147483647 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4736  	},
faa576253d5fe7 Johan Almbladh     2021-08-09   4737  	{
faa576253d5fe7 Johan Almbladh     2021-08-09   4738  		"ALU64_MUL_X: 64x64 multiply, low word",
faa576253d5fe7 Johan Almbladh     2021-08-09   4739  		.u.insns_int = {
faa576253d5fe7 Johan Almbladh     2021-08-09   4740  			BPF_LD_IMM64(R0, 0x0fedcba987654321LL),
faa576253d5fe7 Johan Almbladh     2021-08-09   4741  			BPF_LD_IMM64(R1, 0x123456789abcdef0LL),
faa576253d5fe7 Johan Almbladh     2021-08-09   4742  			BPF_ALU64_REG(BPF_MUL, R0, R1),
faa576253d5fe7 Johan Almbladh     2021-08-09   4743  			BPF_EXIT_INSN(),
faa576253d5fe7 Johan Almbladh     2021-08-09   4744  		},
faa576253d5fe7 Johan Almbladh     2021-08-09   4745  		INTERNAL,
faa576253d5fe7 Johan Almbladh     2021-08-09   4746  		{ },
faa576253d5fe7 Johan Almbladh     2021-08-09   4747  		{ { 0, 0xe5618cf0 } }
faa576253d5fe7 Johan Almbladh     2021-08-09   4748  	},
faa576253d5fe7 Johan Almbladh     2021-08-09   4749  	{
faa576253d5fe7 Johan Almbladh     2021-08-09   4750  		"ALU64_MUL_X: 64x64 multiply, high word",
faa576253d5fe7 Johan Almbladh     2021-08-09   4751  		.u.insns_int = {
faa576253d5fe7 Johan Almbladh     2021-08-09   4752  			BPF_LD_IMM64(R0, 0x0fedcba987654321LL),
faa576253d5fe7 Johan Almbladh     2021-08-09   4753  			BPF_LD_IMM64(R1, 0x123456789abcdef0LL),
faa576253d5fe7 Johan Almbladh     2021-08-09   4754  			BPF_ALU64_REG(BPF_MUL, R0, R1),
faa576253d5fe7 Johan Almbladh     2021-08-09   4755  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
faa576253d5fe7 Johan Almbladh     2021-08-09   4756  			BPF_EXIT_INSN(),
faa576253d5fe7 Johan Almbladh     2021-08-09   4757  		},
faa576253d5fe7 Johan Almbladh     2021-08-09   4758  		INTERNAL,
faa576253d5fe7 Johan Almbladh     2021-08-09   4759  		{ },
faa576253d5fe7 Johan Almbladh     2021-08-09   4760  		{ { 0, 0x2236d88f } }
faa576253d5fe7 Johan Almbladh     2021-08-09   4761  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4762  	/* BPF_ALU | BPF_MUL | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   4763  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4764  		"ALU_MUL_K: 2 * 3 = 6",
cffc642d93f932 Michael Holzheu    2015-05-11   4765  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4766  			BPF_LD_IMM64(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4767  			BPF_ALU32_IMM(BPF_MUL, R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4768  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4769  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4770  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4771  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4772  		{ { 0, 6 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4773  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4774  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4775  		"ALU_MUL_K: 3 * 1 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4776  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4777  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4778  			BPF_ALU32_IMM(BPF_MUL, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4779  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4780  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4781  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4782  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4783  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4784  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4785  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4786  		"ALU_MUL_K: 2 * 0x7FFFFFF8 = 0xFFFFFFF0",
cffc642d93f932 Michael Holzheu    2015-05-11   4787  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4788  			BPF_LD_IMM64(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4789  			BPF_ALU32_IMM(BPF_MUL, R0, 0x7FFFFFF8),
cffc642d93f932 Michael Holzheu    2015-05-11   4790  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4791  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4792  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4793  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4794  		{ { 0, 0xFFFFFFF0 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4795  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4796  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4797  		"ALU_MUL_K: 1 * (-1) = 0x00000000ffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   4798  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4799  			BPF_LD_IMM64(R2, 0x1),
cffc642d93f932 Michael Holzheu    2015-05-11   4800  			BPF_LD_IMM64(R3, 0x00000000ffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   4801  			BPF_ALU32_IMM(BPF_MUL, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   4802  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4803  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4804  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4805  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4806  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4807  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4808  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4809  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4810  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4811  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4812  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4813  		"ALU64_MUL_K: 2 * 3 = 6",
cffc642d93f932 Michael Holzheu    2015-05-11   4814  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4815  			BPF_LD_IMM64(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4816  			BPF_ALU64_IMM(BPF_MUL, R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4817  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4818  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4819  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4820  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4821  		{ { 0, 6 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4822  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4823  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4824  		"ALU64_MUL_K: 3 * 1 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4825  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4826  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4827  			BPF_ALU64_IMM(BPF_MUL, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4828  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4829  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4830  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4831  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4832  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4833  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4834  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4835  		"ALU64_MUL_K: 1 * 2147483647 = 2147483647",
cffc642d93f932 Michael Holzheu    2015-05-11   4836  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4837  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4838  			BPF_ALU64_IMM(BPF_MUL, R0, 2147483647),
cffc642d93f932 Michael Holzheu    2015-05-11   4839  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4840  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4841  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4842  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4843  		{ { 0, 2147483647 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4844  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4845  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4846  		"ALU64_MUL_K: 1 * -2147483647 = -2147483647",
cffc642d93f932 Michael Holzheu    2015-05-11   4847  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4848  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4849  			BPF_ALU64_IMM(BPF_MUL, R0, -2147483647),
cffc642d93f932 Michael Holzheu    2015-05-11   4850  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4851  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4852  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4853  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4854  		{ { 0, -2147483647 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4855  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4856  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4857  		"ALU64_MUL_K: 1 * (-1) = 0xffffffffffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   4858  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4859  			BPF_LD_IMM64(R2, 0x1),
56cbaa45dde235 Michael Holzheu    2015-05-13   4860  			BPF_LD_IMM64(R3, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   4861  			BPF_ALU64_IMM(BPF_MUL, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   4862  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4863  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4864  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4865  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4866  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4867  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4868  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4869  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4870  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4871  	},
faa576253d5fe7 Johan Almbladh     2021-08-09   4872  	{
faa576253d5fe7 Johan Almbladh     2021-08-09   4873  		"ALU64_MUL_K: 64x32 multiply, low word",
faa576253d5fe7 Johan Almbladh     2021-08-09   4874  		.u.insns_int = {
faa576253d5fe7 Johan Almbladh     2021-08-09   4875  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
faa576253d5fe7 Johan Almbladh     2021-08-09   4876  			BPF_ALU64_IMM(BPF_MUL, R0, 0x12345678),
faa576253d5fe7 Johan Almbladh     2021-08-09   4877  			BPF_EXIT_INSN(),
faa576253d5fe7 Johan Almbladh     2021-08-09   4878  		},
faa576253d5fe7 Johan Almbladh     2021-08-09   4879  		INTERNAL,
faa576253d5fe7 Johan Almbladh     2021-08-09   4880  		{ },
faa576253d5fe7 Johan Almbladh     2021-08-09   4881  		{ { 0, 0xe242d208 } }
faa576253d5fe7 Johan Almbladh     2021-08-09   4882  	},
faa576253d5fe7 Johan Almbladh     2021-08-09   4883  	{
faa576253d5fe7 Johan Almbladh     2021-08-09   4884  		"ALU64_MUL_K: 64x32 multiply, high word",
faa576253d5fe7 Johan Almbladh     2021-08-09   4885  		.u.insns_int = {
faa576253d5fe7 Johan Almbladh     2021-08-09   4886  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
faa576253d5fe7 Johan Almbladh     2021-08-09   4887  			BPF_ALU64_IMM(BPF_MUL, R0, 0x12345678),
faa576253d5fe7 Johan Almbladh     2021-08-09   4888  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
faa576253d5fe7 Johan Almbladh     2021-08-09   4889  			BPF_EXIT_INSN(),
faa576253d5fe7 Johan Almbladh     2021-08-09   4890  		},
faa576253d5fe7 Johan Almbladh     2021-08-09   4891  		INTERNAL,
faa576253d5fe7 Johan Almbladh     2021-08-09   4892  		{ },
faa576253d5fe7 Johan Almbladh     2021-08-09   4893  		{ { 0, 0xc28f5c28 } }
faa576253d5fe7 Johan Almbladh     2021-08-09   4894  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4895  	/* BPF_ALU | BPF_DIV | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   4896  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4897  		"ALU_DIV_X: 6 / 2 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4898  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4899  			BPF_LD_IMM64(R0, 6),
cffc642d93f932 Michael Holzheu    2015-05-11   4900  			BPF_ALU32_IMM(BPF_MOV, R1, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4901  			BPF_ALU32_REG(BPF_DIV, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4902  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4903  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4904  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4905  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4906  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4907  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4908  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4909  		"ALU_DIV_X: 4294967295 / 4294967295 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   4910  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4911  			BPF_LD_IMM64(R0, 4294967295U),
56cbaa45dde235 Michael Holzheu    2015-05-13   4912  			BPF_ALU32_IMM(BPF_MOV, R1, 4294967295U),
cffc642d93f932 Michael Holzheu    2015-05-11   4913  			BPF_ALU32_REG(BPF_DIV, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4914  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4915  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4916  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4917  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4918  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4919  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4920  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4921  		"ALU64_DIV_X: 6 / 2 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4922  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4923  			BPF_LD_IMM64(R0, 6),
cffc642d93f932 Michael Holzheu    2015-05-11   4924  			BPF_ALU32_IMM(BPF_MOV, R1, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4925  			BPF_ALU64_REG(BPF_DIV, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4926  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4927  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4928  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4929  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4930  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4931  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4932  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4933  		"ALU64_DIV_X: 2147483647 / 2147483647 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   4934  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4935  			BPF_LD_IMM64(R0, 2147483647),
cffc642d93f932 Michael Holzheu    2015-05-11   4936  			BPF_ALU32_IMM(BPF_MOV, R1, 2147483647),
cffc642d93f932 Michael Holzheu    2015-05-11   4937  			BPF_ALU64_REG(BPF_DIV, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   4938  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4939  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4940  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4941  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4942  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4943  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4944  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4945  		"ALU64_DIV_X: 0xffffffffffffffff / (-1) = 0x0000000000000001",
cffc642d93f932 Michael Holzheu    2015-05-11   4946  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4947  			BPF_LD_IMM64(R2, 0xffffffffffffffffLL),
56cbaa45dde235 Michael Holzheu    2015-05-13   4948  			BPF_LD_IMM64(R4, 0xffffffffffffffffLL),
56cbaa45dde235 Michael Holzheu    2015-05-13   4949  			BPF_LD_IMM64(R3, 0x0000000000000001LL),
cffc642d93f932 Michael Holzheu    2015-05-11   4950  			BPF_ALU64_REG(BPF_DIV, R2, R4),
cffc642d93f932 Michael Holzheu    2015-05-11   4951  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4952  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4953  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4954  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4955  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4956  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4957  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4958  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4959  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4960  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4961  	/* BPF_ALU | BPF_DIV | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   4962  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4963  		"ALU_DIV_K: 6 / 2 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4964  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4965  			BPF_LD_IMM64(R0, 6),
cffc642d93f932 Michael Holzheu    2015-05-11   4966  			BPF_ALU32_IMM(BPF_DIV, R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   4967  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4968  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4969  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4970  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4971  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4972  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4973  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4974  		"ALU_DIV_K: 3 / 1 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   4975  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   4976  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   4977  			BPF_ALU32_IMM(BPF_DIV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   4978  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4979  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4980  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4981  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4982  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4983  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4984  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4985  		"ALU_DIV_K: 4294967295 / 4294967295 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   4986  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4987  			BPF_LD_IMM64(R0, 4294967295U),
56cbaa45dde235 Michael Holzheu    2015-05-13   4988  			BPF_ALU32_IMM(BPF_DIV, R0, 4294967295U),
cffc642d93f932 Michael Holzheu    2015-05-11   4989  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   4990  		},
cffc642d93f932 Michael Holzheu    2015-05-11   4991  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   4992  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   4993  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   4994  	},
cffc642d93f932 Michael Holzheu    2015-05-11   4995  	{
cffc642d93f932 Michael Holzheu    2015-05-11   4996  		"ALU_DIV_K: 0xffffffffffffffff / (-1) = 0x1",
cffc642d93f932 Michael Holzheu    2015-05-11   4997  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   4998  			BPF_LD_IMM64(R2, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   4999  			BPF_LD_IMM64(R3, 0x1UL),
cffc642d93f932 Michael Holzheu    2015-05-11   5000  			BPF_ALU32_IMM(BPF_DIV, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5001  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5002  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5003  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5004  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5005  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5006  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5007  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5008  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5009  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5010  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5011  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5012  		"ALU64_DIV_K: 6 / 2 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   5013  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5014  			BPF_LD_IMM64(R0, 6),
cffc642d93f932 Michael Holzheu    2015-05-11   5015  			BPF_ALU64_IMM(BPF_DIV, R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5016  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5017  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5018  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5019  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5020  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5021  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5022  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5023  		"ALU64_DIV_K: 3 / 1 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   5024  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5025  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   5026  			BPF_ALU64_IMM(BPF_DIV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5027  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5028  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5029  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5030  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5031  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5032  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5033  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5034  		"ALU64_DIV_K: 2147483647 / 2147483647 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   5035  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5036  			BPF_LD_IMM64(R0, 2147483647),
cffc642d93f932 Michael Holzheu    2015-05-11   5037  			BPF_ALU64_IMM(BPF_DIV, R0, 2147483647),
cffc642d93f932 Michael Holzheu    2015-05-11   5038  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5039  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5040  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5041  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5042  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5043  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5044  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5045  		"ALU64_DIV_K: 0xffffffffffffffff / (-1) = 0x0000000000000001",
cffc642d93f932 Michael Holzheu    2015-05-11   5046  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   5047  			BPF_LD_IMM64(R2, 0xffffffffffffffffLL),
56cbaa45dde235 Michael Holzheu    2015-05-13   5048  			BPF_LD_IMM64(R3, 0x0000000000000001LL),
cffc642d93f932 Michael Holzheu    2015-05-11   5049  			BPF_ALU64_IMM(BPF_DIV, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5050  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5051  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5052  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5053  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5054  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5055  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5056  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5057  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5058  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5059  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5060  	/* BPF_ALU | BPF_MOD | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   5061  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5062  		"ALU_MOD_X: 3 % 2 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   5063  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5064  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   5065  			BPF_ALU32_IMM(BPF_MOV, R1, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5066  			BPF_ALU32_REG(BPF_MOD, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5067  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5068  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5069  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5070  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5071  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5072  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5073  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5074  		"ALU_MOD_X: 4294967295 % 4294967293 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   5075  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   5076  			BPF_LD_IMM64(R0, 4294967295U),
56cbaa45dde235 Michael Holzheu    2015-05-13   5077  			BPF_ALU32_IMM(BPF_MOV, R1, 4294967293U),
cffc642d93f932 Michael Holzheu    2015-05-11   5078  			BPF_ALU32_REG(BPF_MOD, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5079  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5080  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5081  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5082  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5083  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5084  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5085  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5086  		"ALU64_MOD_X: 3 % 2 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   5087  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5088  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   5089  			BPF_ALU32_IMM(BPF_MOV, R1, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5090  			BPF_ALU64_REG(BPF_MOD, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5091  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5092  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5093  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5094  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5095  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5096  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5097  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5098  		"ALU64_MOD_X: 2147483647 % 2147483645 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   5099  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5100  			BPF_LD_IMM64(R0, 2147483647),
cffc642d93f932 Michael Holzheu    2015-05-11   5101  			BPF_ALU32_IMM(BPF_MOV, R1, 2147483645),
cffc642d93f932 Michael Holzheu    2015-05-11   5102  			BPF_ALU64_REG(BPF_MOD, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5103  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5104  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5105  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5106  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5107  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5108  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5109  	/* BPF_ALU | BPF_MOD | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   5110  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5111  		"ALU_MOD_K: 3 % 2 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   5112  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5113  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   5114  			BPF_ALU32_IMM(BPF_MOD, R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5115  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5116  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5117  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5118  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5119  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5120  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5121  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5122  		"ALU_MOD_K: 3 % 1 = 0",
cffc642d93f932 Michael Holzheu    2015-05-11   5123  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5124  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   5125  			BPF_ALU32_IMM(BPF_MOD, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5126  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5127  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5128  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5129  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5130  		{ { 0, 0 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5131  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5132  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5133  		"ALU_MOD_K: 4294967295 % 4294967293 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   5134  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   5135  			BPF_LD_IMM64(R0, 4294967295U),
56cbaa45dde235 Michael Holzheu    2015-05-13   5136  			BPF_ALU32_IMM(BPF_MOD, R0, 4294967293U),
cffc642d93f932 Michael Holzheu    2015-05-11   5137  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5138  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5139  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5140  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5141  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5142  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5143  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5144  		"ALU64_MOD_K: 3 % 2 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   5145  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5146  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   5147  			BPF_ALU64_IMM(BPF_MOD, R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5148  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5149  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5150  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5151  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5152  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5153  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5154  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5155  		"ALU64_MOD_K: 3 % 1 = 0",
cffc642d93f932 Michael Holzheu    2015-05-11   5156  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5157  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   5158  			BPF_ALU64_IMM(BPF_MOD, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5159  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5160  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5161  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5162  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5163  		{ { 0, 0 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5164  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5165  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5166  		"ALU64_MOD_K: 2147483647 % 2147483645 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   5167  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5168  			BPF_LD_IMM64(R0, 2147483647),
cffc642d93f932 Michael Holzheu    2015-05-11   5169  			BPF_ALU64_IMM(BPF_MOD, R0, 2147483645),
cffc642d93f932 Michael Holzheu    2015-05-11   5170  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5171  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5172  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5173  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5174  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5175  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5176  	/* BPF_ALU | BPF_AND | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   5177  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5178  		"ALU_AND_X: 3 & 2 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   5179  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5180  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   5181  			BPF_ALU32_IMM(BPF_MOV, R1, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5182  			BPF_ALU32_REG(BPF_AND, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5183  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5184  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5185  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5186  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5187  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5188  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5189  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5190  		"ALU_AND_X: 0xffffffff & 0xffffffff = 0xffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5191  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5192  			BPF_LD_IMM64(R0, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5193  			BPF_ALU32_IMM(BPF_MOV, R1, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5194  			BPF_ALU32_REG(BPF_AND, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5195  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5196  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5197  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5198  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5199  		{ { 0, 0xffffffff } },
cffc642d93f932 Michael Holzheu    2015-05-11   5200  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5201  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5202  		"ALU64_AND_X: 3 & 2 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   5203  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5204  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   5205  			BPF_ALU32_IMM(BPF_MOV, R1, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5206  			BPF_ALU64_REG(BPF_AND, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5207  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5208  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5209  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5210  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5211  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5212  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5213  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5214  		"ALU64_AND_X: 0xffffffff & 0xffffffff = 0xffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5215  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5216  			BPF_LD_IMM64(R0, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5217  			BPF_ALU32_IMM(BPF_MOV, R1, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5218  			BPF_ALU64_REG(BPF_AND, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5219  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5220  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5221  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5222  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5223  		{ { 0, 0xffffffff } },
cffc642d93f932 Michael Holzheu    2015-05-11   5224  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5225  	/* BPF_ALU | BPF_AND | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   5226  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5227  		"ALU_AND_K: 3 & 2 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   5228  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5229  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   5230  			BPF_ALU32_IMM(BPF_AND, R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5231  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5232  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5233  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5234  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5235  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5236  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5237  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5238  		"ALU_AND_K: 0xffffffff & 0xffffffff = 0xffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5239  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5240  			BPF_LD_IMM64(R0, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5241  			BPF_ALU32_IMM(BPF_AND, R0, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5242  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5243  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5244  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5245  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5246  		{ { 0, 0xffffffff } },
cffc642d93f932 Michael Holzheu    2015-05-11   5247  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5248  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5249  		"ALU_AND_K: Small immediate",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5250  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5251  			BPF_ALU32_IMM(BPF_MOV, R0, 0x01020304),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5252  			BPF_ALU32_IMM(BPF_AND, R0, 15),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5253  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5254  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5255  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5256  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5257  		{ { 0, 4 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5258  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5259  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5260  		"ALU_AND_K: Large immediate",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5261  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5262  			BPF_ALU32_IMM(BPF_MOV, R0, 0xf1f2f3f4),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5263  			BPF_ALU32_IMM(BPF_AND, R0, 0xafbfcfdf),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5264  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5265  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5266  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5267  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5268  		{ { 0, 0xa1b2c3d4 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5269  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5270  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5271  		"ALU_AND_K: Zero extension",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5272  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5273  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5274  			BPF_LD_IMM64(R1, 0x0000000080a0c0e0LL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5275  			BPF_ALU32_IMM(BPF_AND, R0, 0xf0f0f0f0),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5276  			BPF_JMP_REG(BPF_JEQ, R0, R1, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5277  			BPF_MOV32_IMM(R0, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5278  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5279  			BPF_MOV32_IMM(R0, 1),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5280  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5281  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5282  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5283  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5284  		{ { 0, 1 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5285  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5286  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5287  		"ALU64_AND_K: 3 & 2 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   5288  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5289  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   5290  			BPF_ALU64_IMM(BPF_AND, R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5291  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5292  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5293  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5294  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5295  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5296  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5297  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5298  		"ALU64_AND_K: 0xffffffff & 0xffffffff = 0xffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5299  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5300  			BPF_LD_IMM64(R0, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5301  			BPF_ALU64_IMM(BPF_AND, R0, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5302  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5303  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5304  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5305  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5306  		{ { 0, 0xffffffff } },
cffc642d93f932 Michael Holzheu    2015-05-11   5307  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5308  	{
e92c813bf11932 Johan Almbladh     2021-08-09   5309  		"ALU64_AND_K: 0x0000ffffffff0000 & 0x0 = 0x0000000000000000",
cffc642d93f932 Michael Holzheu    2015-05-11   5310  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   5311  			BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
56cbaa45dde235 Michael Holzheu    2015-05-13   5312  			BPF_LD_IMM64(R3, 0x0000000000000000LL),
cffc642d93f932 Michael Holzheu    2015-05-11   5313  			BPF_ALU64_IMM(BPF_AND, R2, 0x0),
cffc642d93f932 Michael Holzheu    2015-05-11   5314  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5315  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5316  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5317  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5318  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5319  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5320  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5321  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5322  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5323  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5324  	{
e92c813bf11932 Johan Almbladh     2021-08-09   5325  		"ALU64_AND_K: 0x0000ffffffff0000 & -1 = 0x0000ffffffff0000",
cffc642d93f932 Michael Holzheu    2015-05-11   5326  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   5327  			BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
56cbaa45dde235 Michael Holzheu    2015-05-13   5328  			BPF_LD_IMM64(R3, 0x0000ffffffff0000LL),
cffc642d93f932 Michael Holzheu    2015-05-11   5329  			BPF_ALU64_IMM(BPF_AND, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5330  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5331  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5332  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5333  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5334  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5335  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5336  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5337  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5338  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5339  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5340  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5341  		"ALU64_AND_K: 0xffffffffffffffff & -1 = 0xffffffffffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5342  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   5343  			BPF_LD_IMM64(R2, 0xffffffffffffffffLL),
56cbaa45dde235 Michael Holzheu    2015-05-13   5344  			BPF_LD_IMM64(R3, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   5345  			BPF_ALU64_IMM(BPF_AND, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5346  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5347  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5348  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5349  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5350  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5351  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5352  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5353  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5354  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5355  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5356  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5357  		"ALU64_AND_K: Sign extension 1",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5358  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5359  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5360  			BPF_LD_IMM64(R1, 0x00000000090b0d0fLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5361  			BPF_ALU64_IMM(BPF_AND, R0, 0x0f0f0f0f),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5362  			BPF_JMP_REG(BPF_JEQ, R0, R1, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5363  			BPF_MOV32_IMM(R0, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5364  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5365  			BPF_MOV32_IMM(R0, 1),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5366  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5367  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5368  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5369  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5370  		{ { 0, 1 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5371  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5372  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5373  		"ALU64_AND_K: Sign extension 2",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5374  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5375  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5376  			BPF_LD_IMM64(R1, 0x0123456780a0c0e0LL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5377  			BPF_ALU64_IMM(BPF_AND, R0, 0xf0f0f0f0),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5378  			BPF_JMP_REG(BPF_JEQ, R0, R1, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5379  			BPF_MOV32_IMM(R0, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5380  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5381  			BPF_MOV32_IMM(R0, 1),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5382  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5383  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5384  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5385  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5386  		{ { 0, 1 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5387  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5388  	/* BPF_ALU | BPF_OR | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   5389  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5390  		"ALU_OR_X: 1 | 2 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   5391  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5392  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5393  			BPF_ALU32_IMM(BPF_MOV, R1, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5394  			BPF_ALU32_REG(BPF_OR, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5395  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5396  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5397  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5398  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5399  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5400  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5401  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5402  		"ALU_OR_X: 0x0 | 0xffffffff = 0xffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5403  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5404  			BPF_LD_IMM64(R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   5405  			BPF_ALU32_IMM(BPF_MOV, R1, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5406  			BPF_ALU32_REG(BPF_OR, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5407  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5408  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5409  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5410  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5411  		{ { 0, 0xffffffff } },
cffc642d93f932 Michael Holzheu    2015-05-11   5412  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5413  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5414  		"ALU64_OR_X: 1 | 2 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   5415  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5416  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5417  			BPF_ALU32_IMM(BPF_MOV, R1, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5418  			BPF_ALU64_REG(BPF_OR, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5419  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5420  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5421  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5422  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5423  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5424  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5425  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5426  		"ALU64_OR_X: 0 | 0xffffffff = 0xffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5427  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5428  			BPF_LD_IMM64(R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   5429  			BPF_ALU32_IMM(BPF_MOV, R1, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5430  			BPF_ALU64_REG(BPF_OR, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5431  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5432  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5433  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5434  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5435  		{ { 0, 0xffffffff } },
cffc642d93f932 Michael Holzheu    2015-05-11   5436  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5437  	/* BPF_ALU | BPF_OR | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   5438  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5439  		"ALU_OR_K: 1 | 2 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   5440  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5441  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5442  			BPF_ALU32_IMM(BPF_OR, R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5443  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5444  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5445  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5446  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5447  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5448  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5449  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5450  		"ALU_OR_K: 0 & 0xffffffff = 0xffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5451  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5452  			BPF_LD_IMM64(R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   5453  			BPF_ALU32_IMM(BPF_OR, R0, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5454  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5455  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5456  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5457  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5458  		{ { 0, 0xffffffff } },
cffc642d93f932 Michael Holzheu    2015-05-11   5459  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5460  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5461  		"ALU_OR_K: Small immediate",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5462  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5463  			BPF_ALU32_IMM(BPF_MOV, R0, 0x01020304),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5464  			BPF_ALU32_IMM(BPF_OR, R0, 1),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5465  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5466  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5467  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5468  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5469  		{ { 0, 0x01020305 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5470  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5471  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5472  		"ALU_OR_K: Large immediate",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5473  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5474  			BPF_ALU32_IMM(BPF_MOV, R0, 0x01020304),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5475  			BPF_ALU32_IMM(BPF_OR, R0, 0xa0b0c0d0),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5476  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5477  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5478  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5479  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5480  		{ { 0, 0xa1b2c3d4 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5481  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5482  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5483  		"ALU_OR_K: Zero extension",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5484  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5485  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5486  			BPF_LD_IMM64(R1, 0x00000000f9fbfdffLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5487  			BPF_ALU32_IMM(BPF_OR, R0, 0xf0f0f0f0),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5488  			BPF_JMP_REG(BPF_JEQ, R0, R1, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5489  			BPF_MOV32_IMM(R0, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5490  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5491  			BPF_MOV32_IMM(R0, 1),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5492  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5493  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5494  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5495  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5496  		{ { 0, 1 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5497  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5498  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5499  		"ALU64_OR_K: 1 | 2 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   5500  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5501  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5502  			BPF_ALU64_IMM(BPF_OR, R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5503  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5504  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5505  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5506  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5507  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5508  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5509  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5510  		"ALU64_OR_K: 0 & 0xffffffff = 0xffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5511  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5512  			BPF_LD_IMM64(R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   5513  			BPF_ALU64_IMM(BPF_OR, R0, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5514  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5515  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5516  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5517  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5518  		{ { 0, 0xffffffff } },
cffc642d93f932 Michael Holzheu    2015-05-11   5519  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5520  	{
e92c813bf11932 Johan Almbladh     2021-08-09   5521  		"ALU64_OR_K: 0x0000ffffffff0000 | 0x0 = 0x0000ffffffff0000",
cffc642d93f932 Michael Holzheu    2015-05-11   5522  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   5523  			BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
56cbaa45dde235 Michael Holzheu    2015-05-13   5524  			BPF_LD_IMM64(R3, 0x0000ffffffff0000LL),
cffc642d93f932 Michael Holzheu    2015-05-11   5525  			BPF_ALU64_IMM(BPF_OR, R2, 0x0),
cffc642d93f932 Michael Holzheu    2015-05-11   5526  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5527  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5528  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5529  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5530  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5531  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5532  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5533  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5534  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5535  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5536  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5537  		"ALU64_OR_K: 0x0000ffffffff0000 | -1 = 0xffffffffffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5538  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   5539  			BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
56cbaa45dde235 Michael Holzheu    2015-05-13   5540  			BPF_LD_IMM64(R3, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   5541  			BPF_ALU64_IMM(BPF_OR, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5542  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5543  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5544  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5545  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5546  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5547  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5548  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5549  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5550  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5551  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5552  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5553  		"ALU64_OR_K: 0x000000000000000 | -1 = 0xffffffffffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5554  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   5555  			BPF_LD_IMM64(R2, 0x0000000000000000LL),
56cbaa45dde235 Michael Holzheu    2015-05-13   5556  			BPF_LD_IMM64(R3, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   5557  			BPF_ALU64_IMM(BPF_OR, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5558  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5559  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5560  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5561  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5562  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5563  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5564  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5565  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5566  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5567  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5568  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5569  		"ALU64_OR_K: Sign extension 1",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5570  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5571  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5572  			BPF_LD_IMM64(R1, 0x012345678fafcfefLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5573  			BPF_ALU64_IMM(BPF_OR, R0, 0x0f0f0f0f),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5574  			BPF_JMP_REG(BPF_JEQ, R0, R1, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5575  			BPF_MOV32_IMM(R0, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5576  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5577  			BPF_MOV32_IMM(R0, 1),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5578  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5579  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5580  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5581  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5582  		{ { 0, 1 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5583  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5584  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5585  		"ALU64_OR_K: Sign extension 2",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5586  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5587  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5588  			BPF_LD_IMM64(R1, 0xfffffffff9fbfdffLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5589  			BPF_ALU64_IMM(BPF_OR, R0, 0xf0f0f0f0),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5590  			BPF_JMP_REG(BPF_JEQ, R0, R1, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5591  			BPF_MOV32_IMM(R0, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5592  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5593  			BPF_MOV32_IMM(R0, 1),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5594  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5595  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5596  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5597  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5598  		{ { 0, 1 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5599  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5600  	/* BPF_ALU | BPF_XOR | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   5601  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5602  		"ALU_XOR_X: 5 ^ 6 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   5603  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5604  			BPF_LD_IMM64(R0, 5),
cffc642d93f932 Michael Holzheu    2015-05-11   5605  			BPF_ALU32_IMM(BPF_MOV, R1, 6),
cffc642d93f932 Michael Holzheu    2015-05-11   5606  			BPF_ALU32_REG(BPF_XOR, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5607  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5608  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5609  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5610  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5611  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5612  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5613  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5614  		"ALU_XOR_X: 0x1 ^ 0xffffffff = 0xfffffffe",
cffc642d93f932 Michael Holzheu    2015-05-11   5615  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5616  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5617  			BPF_ALU32_IMM(BPF_MOV, R1, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5618  			BPF_ALU32_REG(BPF_XOR, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5619  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5620  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5621  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5622  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5623  		{ { 0, 0xfffffffe } },
cffc642d93f932 Michael Holzheu    2015-05-11   5624  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5625  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5626  		"ALU64_XOR_X: 5 ^ 6 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   5627  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5628  			BPF_LD_IMM64(R0, 5),
cffc642d93f932 Michael Holzheu    2015-05-11   5629  			BPF_ALU32_IMM(BPF_MOV, R1, 6),
cffc642d93f932 Michael Holzheu    2015-05-11   5630  			BPF_ALU64_REG(BPF_XOR, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5631  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5632  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5633  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5634  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5635  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5636  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5637  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5638  		"ALU64_XOR_X: 1 ^ 0xffffffff = 0xfffffffe",
cffc642d93f932 Michael Holzheu    2015-05-11   5639  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5640  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5641  			BPF_ALU32_IMM(BPF_MOV, R1, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5642  			BPF_ALU64_REG(BPF_XOR, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5643  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5644  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5645  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5646  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5647  		{ { 0, 0xfffffffe } },
cffc642d93f932 Michael Holzheu    2015-05-11   5648  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5649  	/* BPF_ALU | BPF_XOR | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   5650  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5651  		"ALU_XOR_K: 5 ^ 6 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   5652  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5653  			BPF_LD_IMM64(R0, 5),
cffc642d93f932 Michael Holzheu    2015-05-11   5654  			BPF_ALU32_IMM(BPF_XOR, R0, 6),
cffc642d93f932 Michael Holzheu    2015-05-11   5655  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5656  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5657  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5658  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5659  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5660  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5661  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5662  		"ALU_XOR_K: 1 ^ 0xffffffff = 0xfffffffe",
cffc642d93f932 Michael Holzheu    2015-05-11   5663  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5664  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5665  			BPF_ALU32_IMM(BPF_XOR, R0, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5666  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5667  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5668  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5669  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5670  		{ { 0, 0xfffffffe } },
cffc642d93f932 Michael Holzheu    2015-05-11   5671  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5672  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5673  		"ALU_XOR_K: Small immediate",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5674  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5675  			BPF_ALU32_IMM(BPF_MOV, R0, 0x01020304),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5676  			BPF_ALU32_IMM(BPF_XOR, R0, 15),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5677  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5678  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5679  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5680  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5681  		{ { 0, 0x0102030b } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5682  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5683  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5684  		"ALU_XOR_K: Large immediate",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5685  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5686  			BPF_ALU32_IMM(BPF_MOV, R0, 0xf1f2f3f4),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5687  			BPF_ALU32_IMM(BPF_XOR, R0, 0xafbfcfdf),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5688  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5689  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5690  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5691  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5692  		{ { 0, 0x5e4d3c2b } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5693  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5694  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5695  		"ALU_XOR_K: Zero extension",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5696  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5697  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5698  			BPF_LD_IMM64(R1, 0x00000000795b3d1fLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5699  			BPF_ALU32_IMM(BPF_XOR, R0, 0xf0f0f0f0),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5700  			BPF_JMP_REG(BPF_JEQ, R0, R1, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5701  			BPF_MOV32_IMM(R0, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5702  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5703  			BPF_MOV32_IMM(R0, 1),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5704  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5705  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5706  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5707  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5708  		{ { 0, 1 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5709  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5710  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5711  		"ALU64_XOR_K: 5 ^ 6 = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   5712  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5713  			BPF_LD_IMM64(R0, 5),
cffc642d93f932 Michael Holzheu    2015-05-11   5714  			BPF_ALU64_IMM(BPF_XOR, R0, 6),
cffc642d93f932 Michael Holzheu    2015-05-11   5715  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5716  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5717  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5718  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5719  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5720  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5721  	{
e92c813bf11932 Johan Almbladh     2021-08-09   5722  		"ALU64_XOR_K: 1 ^ 0xffffffff = 0xfffffffe",
cffc642d93f932 Michael Holzheu    2015-05-11   5723  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5724  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5725  			BPF_ALU64_IMM(BPF_XOR, R0, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5726  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5727  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5728  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5729  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5730  		{ { 0, 0xfffffffe } },
cffc642d93f932 Michael Holzheu    2015-05-11   5731  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5732  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5733  		"ALU64_XOR_K: 0x0000ffffffff0000 ^ 0x0 = 0x0000ffffffff0000",
cffc642d93f932 Michael Holzheu    2015-05-11   5734  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   5735  			BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
56cbaa45dde235 Michael Holzheu    2015-05-13   5736  			BPF_LD_IMM64(R3, 0x0000ffffffff0000LL),
cffc642d93f932 Michael Holzheu    2015-05-11   5737  			BPF_ALU64_IMM(BPF_XOR, R2, 0x0),
cffc642d93f932 Michael Holzheu    2015-05-11   5738  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5739  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5740  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5741  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5742  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5743  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5744  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5745  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5746  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5747  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5748  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5749  		"ALU64_XOR_K: 0x0000ffffffff0000 ^ -1 = 0xffff00000000ffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5750  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   5751  			BPF_LD_IMM64(R2, 0x0000ffffffff0000LL),
56cbaa45dde235 Michael Holzheu    2015-05-13   5752  			BPF_LD_IMM64(R3, 0xffff00000000ffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   5753  			BPF_ALU64_IMM(BPF_XOR, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5754  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5755  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5756  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5757  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5758  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5759  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5760  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5761  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5762  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5763  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5764  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5765  		"ALU64_XOR_K: 0x000000000000000 ^ -1 = 0xffffffffffffffff",
cffc642d93f932 Michael Holzheu    2015-05-11   5766  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   5767  			BPF_LD_IMM64(R2, 0x0000000000000000LL),
56cbaa45dde235 Michael Holzheu    2015-05-13   5768  			BPF_LD_IMM64(R3, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   5769  			BPF_ALU64_IMM(BPF_XOR, R2, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   5770  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5771  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   5772  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5773  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5774  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5775  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5776  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5777  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5778  		{ { 0, 0x1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5779  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5780  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5781  		"ALU64_XOR_K: Sign extension 1",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5782  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5783  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5784  			BPF_LD_IMM64(R1, 0x0123456786a4c2e0LL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5785  			BPF_ALU64_IMM(BPF_XOR, R0, 0x0f0f0f0f),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5786  			BPF_JMP_REG(BPF_JEQ, R0, R1, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5787  			BPF_MOV32_IMM(R0, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5788  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5789  			BPF_MOV32_IMM(R0, 1),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5790  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5791  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5792  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5793  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5794  		{ { 0, 1 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5795  	},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5796  	{
ba89bcf78fba8f Johan Almbladh     2021-08-09   5797  		"ALU64_XOR_K: Sign extension 2",
ba89bcf78fba8f Johan Almbladh     2021-08-09   5798  		.u.insns_int = {
ba89bcf78fba8f Johan Almbladh     2021-08-09   5799  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5800  			BPF_LD_IMM64(R1, 0xfedcba98795b3d1fLL),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5801  			BPF_ALU64_IMM(BPF_XOR, R0, 0xf0f0f0f0),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5802  			BPF_JMP_REG(BPF_JEQ, R0, R1, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5803  			BPF_MOV32_IMM(R0, 2),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5804  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5805  			BPF_MOV32_IMM(R0, 1),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5806  			BPF_EXIT_INSN(),
ba89bcf78fba8f Johan Almbladh     2021-08-09   5807  		},
ba89bcf78fba8f Johan Almbladh     2021-08-09   5808  		INTERNAL,
ba89bcf78fba8f Johan Almbladh     2021-08-09   5809  		{ },
ba89bcf78fba8f Johan Almbladh     2021-08-09   5810  		{ { 0, 1 } }
ba89bcf78fba8f Johan Almbladh     2021-08-09   5811  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5812  	/* BPF_ALU | BPF_LSH | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   5813  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5814  		"ALU_LSH_X: 1 << 1 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   5815  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5816  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5817  			BPF_ALU32_IMM(BPF_MOV, R1, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5818  			BPF_ALU32_REG(BPF_LSH, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5819  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5820  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5821  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5822  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5823  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5824  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5825  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5826  		"ALU_LSH_X: 1 << 31 = 0x80000000",
cffc642d93f932 Michael Holzheu    2015-05-11   5827  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5828  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5829  			BPF_ALU32_IMM(BPF_MOV, R1, 31),
cffc642d93f932 Michael Holzheu    2015-05-11   5830  			BPF_ALU32_REG(BPF_LSH, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5831  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5832  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5833  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5834  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5835  		{ { 0, 0x80000000 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5836  	},
0f2fca1ab18319 Johan Almbladh     2021-08-09   5837  	{
0f2fca1ab18319 Johan Almbladh     2021-08-09   5838  		"ALU_LSH_X: 0x12345678 << 12 = 0x45678000",
0f2fca1ab18319 Johan Almbladh     2021-08-09   5839  		.u.insns_int = {
0f2fca1ab18319 Johan Almbladh     2021-08-09   5840  			BPF_ALU32_IMM(BPF_MOV, R0, 0x12345678),
0f2fca1ab18319 Johan Almbladh     2021-08-09   5841  			BPF_ALU32_IMM(BPF_MOV, R1, 12),
0f2fca1ab18319 Johan Almbladh     2021-08-09   5842  			BPF_ALU32_REG(BPF_LSH, R0, R1),
0f2fca1ab18319 Johan Almbladh     2021-08-09   5843  			BPF_EXIT_INSN(),
0f2fca1ab18319 Johan Almbladh     2021-08-09   5844  		},
0f2fca1ab18319 Johan Almbladh     2021-08-09   5845  		INTERNAL,
0f2fca1ab18319 Johan Almbladh     2021-08-09   5846  		{ },
0f2fca1ab18319 Johan Almbladh     2021-08-09   5847  		{ { 0, 0x45678000 } }
0f2fca1ab18319 Johan Almbladh     2021-08-09   5848  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5849  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5850  		"ALU64_LSH_X: 1 << 1 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   5851  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5852  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5853  			BPF_ALU32_IMM(BPF_MOV, R1, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5854  			BPF_ALU64_REG(BPF_LSH, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5855  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5856  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5857  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5858  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5859  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5860  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5861  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5862  		"ALU64_LSH_X: 1 << 31 = 0x80000000",
cffc642d93f932 Michael Holzheu    2015-05-11   5863  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5864  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5865  			BPF_ALU32_IMM(BPF_MOV, R1, 31),
cffc642d93f932 Michael Holzheu    2015-05-11   5866  			BPF_ALU64_REG(BPF_LSH, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   5867  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5868  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5869  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5870  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5871  		{ { 0, 0x80000000 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5872  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   5873  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   5874  		"ALU64_LSH_X: Shift < 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   5875  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   5876  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   5877  			BPF_ALU32_IMM(BPF_MOV, R1, 12),
3b9890ef80f428 Johan Almbladh     2021-08-09   5878  			BPF_ALU64_REG(BPF_LSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   5879  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   5880  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   5881  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   5882  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   5883  		{ { 0, 0xbcdef000 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   5884  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   5885  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   5886  		"ALU64_LSH_X: Shift < 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   5887  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   5888  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   5889  			BPF_ALU32_IMM(BPF_MOV, R1, 12),
3b9890ef80f428 Johan Almbladh     2021-08-09   5890  			BPF_ALU64_REG(BPF_LSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   5891  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   5892  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   5893  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   5894  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   5895  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   5896  		{ { 0, 0x3456789a } }
3b9890ef80f428 Johan Almbladh     2021-08-09   5897  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   5898  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   5899  		"ALU64_LSH_X: Shift > 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   5900  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   5901  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   5902  			BPF_ALU32_IMM(BPF_MOV, R1, 36),
3b9890ef80f428 Johan Almbladh     2021-08-09   5903  			BPF_ALU64_REG(BPF_LSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   5904  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   5905  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   5906  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   5907  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   5908  		{ { 0, 0 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   5909  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   5910  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   5911  		"ALU64_LSH_X: Shift > 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   5912  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   5913  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   5914  			BPF_ALU32_IMM(BPF_MOV, R1, 36),
3b9890ef80f428 Johan Almbladh     2021-08-09   5915  			BPF_ALU64_REG(BPF_LSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   5916  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   5917  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   5918  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   5919  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   5920  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   5921  		{ { 0, 0x9abcdef0 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   5922  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   5923  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   5924  		"ALU64_LSH_X: Shift == 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   5925  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   5926  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   5927  			BPF_ALU32_IMM(BPF_MOV, R1, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   5928  			BPF_ALU64_REG(BPF_LSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   5929  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   5930  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   5931  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   5932  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   5933  		{ { 0, 0 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   5934  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   5935  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   5936  		"ALU64_LSH_X: Shift == 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   5937  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   5938  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   5939  			BPF_ALU32_IMM(BPF_MOV, R1, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   5940  			BPF_ALU64_REG(BPF_LSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   5941  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   5942  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   5943  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   5944  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   5945  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   5946  		{ { 0, 0x89abcdef } }
3b9890ef80f428 Johan Almbladh     2021-08-09   5947  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   5948  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   5949  		"ALU64_LSH_X: Zero shift, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   5950  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   5951  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   5952  			BPF_ALU32_IMM(BPF_MOV, R1, 0),
3b9890ef80f428 Johan Almbladh     2021-08-09   5953  			BPF_ALU64_REG(BPF_LSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   5954  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   5955  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   5956  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   5957  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   5958  		{ { 0, 0x89abcdef } }
3b9890ef80f428 Johan Almbladh     2021-08-09   5959  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   5960  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   5961  		"ALU64_LSH_X: Zero shift, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   5962  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   5963  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   5964  			BPF_ALU32_IMM(BPF_MOV, R1, 0),
3b9890ef80f428 Johan Almbladh     2021-08-09   5965  			BPF_ALU64_REG(BPF_LSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   5966  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   5967  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   5968  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   5969  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   5970  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   5971  		{ { 0, 0x01234567 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   5972  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5973  	/* BPF_ALU | BPF_LSH | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   5974  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5975  		"ALU_LSH_K: 1 << 1 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   5976  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5977  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5978  			BPF_ALU32_IMM(BPF_LSH, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5979  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5980  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5981  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5982  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5983  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5984  	},
cffc642d93f932 Michael Holzheu    2015-05-11   5985  	{
cffc642d93f932 Michael Holzheu    2015-05-11   5986  		"ALU_LSH_K: 1 << 31 = 0x80000000",
cffc642d93f932 Michael Holzheu    2015-05-11   5987  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   5988  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   5989  			BPF_ALU32_IMM(BPF_LSH, R0, 31),
cffc642d93f932 Michael Holzheu    2015-05-11   5990  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   5991  		},
cffc642d93f932 Michael Holzheu    2015-05-11   5992  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   5993  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   5994  		{ { 0, 0x80000000 } },
cffc642d93f932 Michael Holzheu    2015-05-11   5995  	},
0f2fca1ab18319 Johan Almbladh     2021-08-09   5996  	{
0f2fca1ab18319 Johan Almbladh     2021-08-09   5997  		"ALU_LSH_K: 0x12345678 << 12 = 0x45678000",
0f2fca1ab18319 Johan Almbladh     2021-08-09   5998  		.u.insns_int = {
0f2fca1ab18319 Johan Almbladh     2021-08-09   5999  			BPF_ALU32_IMM(BPF_MOV, R0, 0x12345678),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6000  			BPF_ALU32_IMM(BPF_LSH, R0, 12),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6001  			BPF_EXIT_INSN(),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6002  		},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6003  		INTERNAL,
0f2fca1ab18319 Johan Almbladh     2021-08-09   6004  		{ },
0f2fca1ab18319 Johan Almbladh     2021-08-09   6005  		{ { 0, 0x45678000 } }
0f2fca1ab18319 Johan Almbladh     2021-08-09   6006  	},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6007  	{
0f2fca1ab18319 Johan Almbladh     2021-08-09   6008  		"ALU_LSH_K: 0x12345678 << 0 = 0x12345678",
0f2fca1ab18319 Johan Almbladh     2021-08-09   6009  		.u.insns_int = {
0f2fca1ab18319 Johan Almbladh     2021-08-09   6010  			BPF_ALU32_IMM(BPF_MOV, R0, 0x12345678),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6011  			BPF_ALU32_IMM(BPF_LSH, R0, 0),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6012  			BPF_EXIT_INSN(),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6013  		},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6014  		INTERNAL,
0f2fca1ab18319 Johan Almbladh     2021-08-09   6015  		{ },
0f2fca1ab18319 Johan Almbladh     2021-08-09   6016  		{ { 0, 0x12345678 } }
0f2fca1ab18319 Johan Almbladh     2021-08-09   6017  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6018  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6019  		"ALU64_LSH_K: 1 << 1 = 2",
cffc642d93f932 Michael Holzheu    2015-05-11   6020  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6021  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   6022  			BPF_ALU64_IMM(BPF_LSH, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   6023  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6024  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6025  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6026  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6027  		{ { 0, 2 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6028  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6029  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6030  		"ALU64_LSH_K: 1 << 31 = 0x80000000",
cffc642d93f932 Michael Holzheu    2015-05-11   6031  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6032  			BPF_LD_IMM64(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   6033  			BPF_ALU64_IMM(BPF_LSH, R0, 31),
cffc642d93f932 Michael Holzheu    2015-05-11   6034  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6035  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6036  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6037  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6038  		{ { 0, 0x80000000 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6039  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6040  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6041  		"ALU64_LSH_K: Shift < 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6042  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6043  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6044  			BPF_ALU64_IMM(BPF_LSH, R0, 12),
3b9890ef80f428 Johan Almbladh     2021-08-09   6045  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6046  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6047  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6048  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6049  		{ { 0, 0xbcdef000 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6050  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6051  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6052  		"ALU64_LSH_K: Shift < 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6053  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6054  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6055  			BPF_ALU64_IMM(BPF_LSH, R0, 12),
3b9890ef80f428 Johan Almbladh     2021-08-09   6056  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6057  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6058  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6059  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6060  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6061  		{ { 0, 0x3456789a } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6062  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6063  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6064  		"ALU64_LSH_K: Shift > 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6065  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6066  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6067  			BPF_ALU64_IMM(BPF_LSH, R0, 36),
3b9890ef80f428 Johan Almbladh     2021-08-09   6068  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6069  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6070  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6071  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6072  		{ { 0, 0 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6073  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6074  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6075  		"ALU64_LSH_K: Shift > 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6076  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6077  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6078  			BPF_ALU64_IMM(BPF_LSH, R0, 36),
3b9890ef80f428 Johan Almbladh     2021-08-09   6079  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6080  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6081  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6082  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6083  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6084  		{ { 0, 0x9abcdef0 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6085  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6086  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6087  		"ALU64_LSH_K: Shift == 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6088  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6089  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6090  			BPF_ALU64_IMM(BPF_LSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6091  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6092  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6093  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6094  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6095  		{ { 0, 0 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6096  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6097  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6098  		"ALU64_LSH_K: Shift == 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6099  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6100  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6101  			BPF_ALU64_IMM(BPF_LSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6102  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6103  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6104  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6105  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6106  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6107  		{ { 0, 0x89abcdef } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6108  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6109  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6110  		"ALU64_LSH_K: Zero shift",
3b9890ef80f428 Johan Almbladh     2021-08-09   6111  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6112  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6113  			BPF_ALU64_IMM(BPF_LSH, R0, 0),
3b9890ef80f428 Johan Almbladh     2021-08-09   6114  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6115  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6116  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6117  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6118  		{ { 0, 0x89abcdef } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6119  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6120  	/* BPF_ALU | BPF_RSH | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   6121  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6122  		"ALU_RSH_X: 2 >> 1 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   6123  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6124  			BPF_LD_IMM64(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   6125  			BPF_ALU32_IMM(BPF_MOV, R1, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   6126  			BPF_ALU32_REG(BPF_RSH, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   6127  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6128  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6129  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6130  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6131  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6132  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6133  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6134  		"ALU_RSH_X: 0x80000000 >> 31 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   6135  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6136  			BPF_LD_IMM64(R0, 0x80000000),
cffc642d93f932 Michael Holzheu    2015-05-11   6137  			BPF_ALU32_IMM(BPF_MOV, R1, 31),
cffc642d93f932 Michael Holzheu    2015-05-11   6138  			BPF_ALU32_REG(BPF_RSH, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   6139  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6140  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6141  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6142  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6143  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6144  	},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6145  	{
0f2fca1ab18319 Johan Almbladh     2021-08-09   6146  		"ALU_RSH_X: 0x12345678 >> 20 = 0x123",
0f2fca1ab18319 Johan Almbladh     2021-08-09   6147  		.u.insns_int = {
0f2fca1ab18319 Johan Almbladh     2021-08-09   6148  			BPF_ALU32_IMM(BPF_MOV, R0, 0x12345678),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6149  			BPF_ALU32_IMM(BPF_MOV, R1, 20),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6150  			BPF_ALU32_REG(BPF_RSH, R0, R1),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6151  			BPF_EXIT_INSN(),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6152  		},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6153  		INTERNAL,
0f2fca1ab18319 Johan Almbladh     2021-08-09   6154  		{ },
0f2fca1ab18319 Johan Almbladh     2021-08-09   6155  		{ { 0, 0x123 } }
0f2fca1ab18319 Johan Almbladh     2021-08-09   6156  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6157  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6158  		"ALU64_RSH_X: 2 >> 1 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   6159  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6160  			BPF_LD_IMM64(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   6161  			BPF_ALU32_IMM(BPF_MOV, R1, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   6162  			BPF_ALU64_REG(BPF_RSH, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   6163  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6164  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6165  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6166  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6167  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6168  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6169  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6170  		"ALU64_RSH_X: 0x80000000 >> 31 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   6171  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6172  			BPF_LD_IMM64(R0, 0x80000000),
cffc642d93f932 Michael Holzheu    2015-05-11   6173  			BPF_ALU32_IMM(BPF_MOV, R1, 31),
cffc642d93f932 Michael Holzheu    2015-05-11   6174  			BPF_ALU64_REG(BPF_RSH, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   6175  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6176  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6177  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6178  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6179  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6180  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6181  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6182  		"ALU64_RSH_X: Shift < 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6183  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6184  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6185  			BPF_ALU32_IMM(BPF_MOV, R1, 12),
3b9890ef80f428 Johan Almbladh     2021-08-09   6186  			BPF_ALU64_REG(BPF_RSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6187  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6188  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6189  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6190  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6191  		{ { 0, 0x56789abc } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6192  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6193  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6194  		"ALU64_RSH_X: Shift < 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6195  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6196  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6197  			BPF_ALU32_IMM(BPF_MOV, R1, 12),
3b9890ef80f428 Johan Almbladh     2021-08-09   6198  			BPF_ALU64_REG(BPF_RSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6199  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6200  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6201  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6202  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6203  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6204  		{ { 0, 0x00081234 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6205  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6206  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6207  		"ALU64_RSH_X: Shift > 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6208  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6209  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6210  			BPF_ALU32_IMM(BPF_MOV, R1, 36),
3b9890ef80f428 Johan Almbladh     2021-08-09   6211  			BPF_ALU64_REG(BPF_RSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6212  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6213  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6214  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6215  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6216  		{ { 0, 0x08123456 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6217  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6218  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6219  		"ALU64_RSH_X: Shift > 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6220  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6221  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6222  			BPF_ALU32_IMM(BPF_MOV, R1, 36),
3b9890ef80f428 Johan Almbladh     2021-08-09   6223  			BPF_ALU64_REG(BPF_RSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6224  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6225  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6226  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6227  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6228  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6229  		{ { 0, 0 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6230  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6231  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6232  		"ALU64_RSH_X: Shift == 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6233  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6234  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6235  			BPF_ALU32_IMM(BPF_MOV, R1, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6236  			BPF_ALU64_REG(BPF_RSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6237  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6238  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6239  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6240  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6241  		{ { 0, 0x81234567 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6242  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6243  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6244  		"ALU64_RSH_X: Shift == 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6245  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6246  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6247  			BPF_ALU32_IMM(BPF_MOV, R1, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6248  			BPF_ALU64_REG(BPF_RSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6249  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6250  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6251  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6252  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6253  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6254  		{ { 0, 0 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6255  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6256  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6257  		"ALU64_RSH_X: Zero shift, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6258  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6259  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6260  			BPF_ALU32_IMM(BPF_MOV, R1, 0),
3b9890ef80f428 Johan Almbladh     2021-08-09   6261  			BPF_ALU64_REG(BPF_RSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6262  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6263  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6264  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6265  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6266  		{ { 0, 0x89abcdef } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6267  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6268  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6269  		"ALU64_RSH_X: Zero shift, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6270  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6271  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6272  			BPF_ALU32_IMM(BPF_MOV, R1, 0),
3b9890ef80f428 Johan Almbladh     2021-08-09   6273  			BPF_ALU64_REG(BPF_RSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6274  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6275  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6276  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6277  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6278  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6279  		{ { 0, 0x81234567 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6280  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6281  	/* BPF_ALU | BPF_RSH | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   6282  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6283  		"ALU_RSH_K: 2 >> 1 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   6284  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6285  			BPF_LD_IMM64(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   6286  			BPF_ALU32_IMM(BPF_RSH, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   6287  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6288  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6289  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6290  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6291  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6292  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6293  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6294  		"ALU_RSH_K: 0x80000000 >> 31 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   6295  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6296  			BPF_LD_IMM64(R0, 0x80000000),
cffc642d93f932 Michael Holzheu    2015-05-11   6297  			BPF_ALU32_IMM(BPF_RSH, R0, 31),
cffc642d93f932 Michael Holzheu    2015-05-11   6298  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6299  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6300  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6301  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6302  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6303  	},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6304  	{
0f2fca1ab18319 Johan Almbladh     2021-08-09   6305  		"ALU_RSH_K: 0x12345678 >> 20 = 0x123",
0f2fca1ab18319 Johan Almbladh     2021-08-09   6306  		.u.insns_int = {
0f2fca1ab18319 Johan Almbladh     2021-08-09   6307  			BPF_ALU32_IMM(BPF_MOV, R0, 0x12345678),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6308  			BPF_ALU32_IMM(BPF_RSH, R0, 20),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6309  			BPF_EXIT_INSN(),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6310  		},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6311  		INTERNAL,
0f2fca1ab18319 Johan Almbladh     2021-08-09   6312  		{ },
0f2fca1ab18319 Johan Almbladh     2021-08-09   6313  		{ { 0, 0x123 } }
0f2fca1ab18319 Johan Almbladh     2021-08-09   6314  	},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6315  	{
0f2fca1ab18319 Johan Almbladh     2021-08-09   6316  		"ALU_RSH_K: 0x12345678 >> 0 = 0x12345678",
0f2fca1ab18319 Johan Almbladh     2021-08-09   6317  		.u.insns_int = {
0f2fca1ab18319 Johan Almbladh     2021-08-09   6318  			BPF_ALU32_IMM(BPF_MOV, R0, 0x12345678),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6319  			BPF_ALU32_IMM(BPF_RSH, R0, 0),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6320  			BPF_EXIT_INSN(),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6321  		},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6322  		INTERNAL,
0f2fca1ab18319 Johan Almbladh     2021-08-09   6323  		{ },
0f2fca1ab18319 Johan Almbladh     2021-08-09   6324  		{ { 0, 0x12345678 } }
0f2fca1ab18319 Johan Almbladh     2021-08-09   6325  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6326  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6327  		"ALU64_RSH_K: 2 >> 1 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   6328  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6329  			BPF_LD_IMM64(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   6330  			BPF_ALU64_IMM(BPF_RSH, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   6331  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6332  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6333  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6334  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6335  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6336  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6337  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6338  		"ALU64_RSH_K: 0x80000000 >> 31 = 1",
cffc642d93f932 Michael Holzheu    2015-05-11   6339  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6340  			BPF_LD_IMM64(R0, 0x80000000),
cffc642d93f932 Michael Holzheu    2015-05-11   6341  			BPF_ALU64_IMM(BPF_RSH, R0, 31),
cffc642d93f932 Michael Holzheu    2015-05-11   6342  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6343  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6344  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6345  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6346  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6347  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6348  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6349  		"ALU64_RSH_K: Shift < 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6350  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6351  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6352  			BPF_ALU64_IMM(BPF_RSH, R0, 12),
3b9890ef80f428 Johan Almbladh     2021-08-09   6353  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6354  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6355  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6356  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6357  		{ { 0, 0x56789abc } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6358  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6359  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6360  		"ALU64_RSH_K: Shift < 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6361  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6362  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6363  			BPF_ALU64_IMM(BPF_RSH, R0, 12),
3b9890ef80f428 Johan Almbladh     2021-08-09   6364  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6365  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6366  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6367  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6368  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6369  		{ { 0, 0x00081234 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6370  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6371  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6372  		"ALU64_RSH_K: Shift > 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6373  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6374  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6375  			BPF_ALU64_IMM(BPF_RSH, R0, 36),
3b9890ef80f428 Johan Almbladh     2021-08-09   6376  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6377  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6378  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6379  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6380  		{ { 0, 0x08123456 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6381  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6382  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6383  		"ALU64_RSH_K: Shift > 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6384  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6385  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6386  			BPF_ALU64_IMM(BPF_RSH, R0, 36),
3b9890ef80f428 Johan Almbladh     2021-08-09   6387  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6388  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6389  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6390  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6391  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6392  		{ { 0, 0 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6393  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6394  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6395  		"ALU64_RSH_K: Shift == 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6396  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6397  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6398  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6399  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6400  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6401  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6402  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6403  		{ { 0, 0x81234567 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6404  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6405  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6406  		"ALU64_RSH_K: Shift == 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6407  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6408  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6409  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6410  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6411  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6412  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6413  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6414  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6415  		{ { 0, 0 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6416  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6417  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6418  		"ALU64_RSH_K: Zero shift",
3b9890ef80f428 Johan Almbladh     2021-08-09   6419  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6420  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6421  			BPF_ALU64_IMM(BPF_RSH, R0, 0),
3b9890ef80f428 Johan Almbladh     2021-08-09   6422  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6423  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6424  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6425  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6426  		{ { 0, 0x89abcdef } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6427  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6428  	/* BPF_ALU | BPF_ARSH | BPF_X */
0f2fca1ab18319 Johan Almbladh     2021-08-09   6429  	{
0f2fca1ab18319 Johan Almbladh     2021-08-09   6430  		"ALU32_ARSH_X: -1234 >> 7 = -10",
0f2fca1ab18319 Johan Almbladh     2021-08-09   6431  		.u.insns_int = {
0f2fca1ab18319 Johan Almbladh     2021-08-09   6432  			BPF_ALU32_IMM(BPF_MOV, R0, -1234),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6433  			BPF_ALU32_IMM(BPF_MOV, R1, 7),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6434  			BPF_ALU32_REG(BPF_ARSH, R0, R1),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6435  			BPF_EXIT_INSN(),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6436  		},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6437  		INTERNAL,
0f2fca1ab18319 Johan Almbladh     2021-08-09   6438  		{ },
0f2fca1ab18319 Johan Almbladh     2021-08-09   6439  		{ { 0, -10 } }
0f2fca1ab18319 Johan Almbladh     2021-08-09   6440  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6441  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6442  		"ALU64_ARSH_X: 0xff00ff0000000000 >> 40 = 0xffffffffffff00ff",
cffc642d93f932 Michael Holzheu    2015-05-11   6443  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6444  			BPF_LD_IMM64(R0, 0xff00ff0000000000LL),
cffc642d93f932 Michael Holzheu    2015-05-11   6445  			BPF_ALU32_IMM(BPF_MOV, R1, 40),
cffc642d93f932 Michael Holzheu    2015-05-11   6446  			BPF_ALU64_REG(BPF_ARSH, R0, R1),
cffc642d93f932 Michael Holzheu    2015-05-11   6447  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6448  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6449  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6450  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6451  		{ { 0, 0xffff00ff } },
cffc642d93f932 Michael Holzheu    2015-05-11   6452  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6453  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6454  		"ALU64_ARSH_X: Shift < 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6455  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6456  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6457  			BPF_ALU32_IMM(BPF_MOV, R1, 12),
3b9890ef80f428 Johan Almbladh     2021-08-09   6458  			BPF_ALU64_REG(BPF_ARSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6459  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6460  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6461  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6462  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6463  		{ { 0, 0x56789abc } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6464  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6465  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6466  		"ALU64_ARSH_X: Shift < 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6467  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6468  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6469  			BPF_ALU32_IMM(BPF_MOV, R1, 12),
3b9890ef80f428 Johan Almbladh     2021-08-09   6470  			BPF_ALU64_REG(BPF_ARSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6471  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6472  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6473  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6474  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6475  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6476  		{ { 0, 0xfff81234 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6477  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6478  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6479  		"ALU64_ARSH_X: Shift > 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6480  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6481  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6482  			BPF_ALU32_IMM(BPF_MOV, R1, 36),
3b9890ef80f428 Johan Almbladh     2021-08-09   6483  			BPF_ALU64_REG(BPF_ARSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6484  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6485  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6486  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6487  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6488  		{ { 0, 0xf8123456 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6489  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6490  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6491  		"ALU64_ARSH_X: Shift > 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6492  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6493  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6494  			BPF_ALU32_IMM(BPF_MOV, R1, 36),
3b9890ef80f428 Johan Almbladh     2021-08-09   6495  			BPF_ALU64_REG(BPF_ARSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6496  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6497  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6498  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6499  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6500  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6501  		{ { 0, -1 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6502  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6503  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6504  		"ALU64_ARSH_X: Shift == 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6505  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6506  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6507  			BPF_ALU32_IMM(BPF_MOV, R1, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6508  			BPF_ALU64_REG(BPF_ARSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6509  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6510  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6511  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6512  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6513  		{ { 0, 0x81234567 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6514  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6515  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6516  		"ALU64_ARSH_X: Shift == 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6517  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6518  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6519  			BPF_ALU32_IMM(BPF_MOV, R1, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6520  			BPF_ALU64_REG(BPF_ARSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6521  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6522  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6523  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6524  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6525  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6526  		{ { 0, -1 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6527  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6528  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6529  		"ALU64_ARSH_X: Zero shift, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6530  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6531  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6532  			BPF_ALU32_IMM(BPF_MOV, R1, 0),
3b9890ef80f428 Johan Almbladh     2021-08-09   6533  			BPF_ALU64_REG(BPF_ARSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6534  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6535  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6536  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6537  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6538  		{ { 0, 0x89abcdef } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6539  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6540  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6541  		"ALU64_ARSH_X: Zero shift, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6542  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6543  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6544  			BPF_ALU32_IMM(BPF_MOV, R1, 0),
3b9890ef80f428 Johan Almbladh     2021-08-09   6545  			BPF_ALU64_REG(BPF_ARSH, R0, R1),
3b9890ef80f428 Johan Almbladh     2021-08-09   6546  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6547  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6548  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6549  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6550  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6551  		{ { 0, 0x81234567 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6552  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6553  	/* BPF_ALU | BPF_ARSH | BPF_K */
0f2fca1ab18319 Johan Almbladh     2021-08-09   6554  	{
0f2fca1ab18319 Johan Almbladh     2021-08-09   6555  		"ALU32_ARSH_K: -1234 >> 7 = -10",
0f2fca1ab18319 Johan Almbladh     2021-08-09   6556  		.u.insns_int = {
0f2fca1ab18319 Johan Almbladh     2021-08-09   6557  			BPF_ALU32_IMM(BPF_MOV, R0, -1234),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6558  			BPF_ALU32_IMM(BPF_ARSH, R0, 7),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6559  			BPF_EXIT_INSN(),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6560  		},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6561  		INTERNAL,
0f2fca1ab18319 Johan Almbladh     2021-08-09   6562  		{ },
0f2fca1ab18319 Johan Almbladh     2021-08-09   6563  		{ { 0, -10 } }
0f2fca1ab18319 Johan Almbladh     2021-08-09   6564  	},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6565  	{
0f2fca1ab18319 Johan Almbladh     2021-08-09   6566  		"ALU32_ARSH_K: -1234 >> 0 = -1234",
0f2fca1ab18319 Johan Almbladh     2021-08-09   6567  		.u.insns_int = {
0f2fca1ab18319 Johan Almbladh     2021-08-09   6568  			BPF_ALU32_IMM(BPF_MOV, R0, -1234),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6569  			BPF_ALU32_IMM(BPF_ARSH, R0, 0),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6570  			BPF_EXIT_INSN(),
0f2fca1ab18319 Johan Almbladh     2021-08-09   6571  		},
0f2fca1ab18319 Johan Almbladh     2021-08-09   6572  		INTERNAL,
0f2fca1ab18319 Johan Almbladh     2021-08-09   6573  		{ },
0f2fca1ab18319 Johan Almbladh     2021-08-09   6574  		{ { 0, -1234 } }
0f2fca1ab18319 Johan Almbladh     2021-08-09   6575  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6576  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6577  		"ALU64_ARSH_K: 0xff00ff0000000000 >> 40 = 0xffffffffffff00ff",
cffc642d93f932 Michael Holzheu    2015-05-11   6578  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6579  			BPF_LD_IMM64(R0, 0xff00ff0000000000LL),
cffc642d93f932 Michael Holzheu    2015-05-11   6580  			BPF_ALU64_IMM(BPF_ARSH, R0, 40),
cffc642d93f932 Michael Holzheu    2015-05-11   6581  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6582  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6583  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6584  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6585  		{ { 0, 0xffff00ff } },
cffc642d93f932 Michael Holzheu    2015-05-11   6586  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6587  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6588  		"ALU64_ARSH_K: Shift < 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6589  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6590  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6591  			BPF_ALU64_IMM(BPF_RSH, R0, 12),
3b9890ef80f428 Johan Almbladh     2021-08-09   6592  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6593  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6594  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6595  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6596  		{ { 0, 0x56789abc } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6597  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6598  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6599  		"ALU64_ARSH_K: Shift < 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6600  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6601  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6602  			BPF_ALU64_IMM(BPF_ARSH, R0, 12),
3b9890ef80f428 Johan Almbladh     2021-08-09   6603  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6604  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6605  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6606  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6607  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6608  		{ { 0, 0xfff81234 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6609  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6610  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6611  		"ALU64_ARSH_K: Shift > 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6612  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6613  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6614  			BPF_ALU64_IMM(BPF_ARSH, R0, 36),
3b9890ef80f428 Johan Almbladh     2021-08-09   6615  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6616  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6617  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6618  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6619  		{ { 0, 0xf8123456 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6620  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6621  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6622  		"ALU64_ARSH_K: Shift > 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6623  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6624  			BPF_LD_IMM64(R0, 0xf123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6625  			BPF_ALU64_IMM(BPF_ARSH, R0, 36),
3b9890ef80f428 Johan Almbladh     2021-08-09   6626  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6627  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6628  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6629  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6630  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6631  		{ { 0, -1 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6632  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6633  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6634  		"ALU64_ARSH_K: Shift == 32, low word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6635  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6636  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6637  			BPF_ALU64_IMM(BPF_ARSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6638  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6639  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6640  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6641  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6642  		{ { 0, 0x81234567 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6643  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6644  	{
3b9890ef80f428 Johan Almbladh     2021-08-09   6645  		"ALU64_ARSH_K: Shift == 32, high word",
3b9890ef80f428 Johan Almbladh     2021-08-09   6646  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6647  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6648  			BPF_ALU64_IMM(BPF_ARSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6649  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
3b9890ef80f428 Johan Almbladh     2021-08-09   6650  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6651  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6652  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6653  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6654  		{ { 0, -1 } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6655  	},
3b9890ef80f428 Johan Almbladh     2021-08-09   6656  	{
1bda52f8047126 Colin Ian King     2021-08-15   6657  		"ALU64_ARSH_K: Zero shift",
3b9890ef80f428 Johan Almbladh     2021-08-09   6658  		.u.insns_int = {
3b9890ef80f428 Johan Almbladh     2021-08-09   6659  			BPF_LD_IMM64(R0, 0x8123456789abcdefLL),
3b9890ef80f428 Johan Almbladh     2021-08-09   6660  			BPF_ALU64_IMM(BPF_ARSH, R0, 0),
3b9890ef80f428 Johan Almbladh     2021-08-09   6661  			BPF_EXIT_INSN(),
3b9890ef80f428 Johan Almbladh     2021-08-09   6662  		},
3b9890ef80f428 Johan Almbladh     2021-08-09   6663  		INTERNAL,
3b9890ef80f428 Johan Almbladh     2021-08-09   6664  		{ },
3b9890ef80f428 Johan Almbladh     2021-08-09   6665  		{ { 0, 0x89abcdef } }
3b9890ef80f428 Johan Almbladh     2021-08-09   6666  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6667  	/* BPF_ALU | BPF_NEG */
cffc642d93f932 Michael Holzheu    2015-05-11   6668  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6669  		"ALU_NEG: -(3) = -3",
cffc642d93f932 Michael Holzheu    2015-05-11   6670  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6671  			BPF_ALU32_IMM(BPF_MOV, R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   6672  			BPF_ALU32_IMM(BPF_NEG, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   6673  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6674  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6675  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6676  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6677  		{ { 0, -3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6678  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6679  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6680  		"ALU_NEG: -(-3) = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   6681  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6682  			BPF_ALU32_IMM(BPF_MOV, R0, -3),
cffc642d93f932 Michael Holzheu    2015-05-11   6683  			BPF_ALU32_IMM(BPF_NEG, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   6684  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6685  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6686  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6687  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6688  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6689  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6690  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6691  		"ALU64_NEG: -(3) = -3",
cffc642d93f932 Michael Holzheu    2015-05-11   6692  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6693  			BPF_LD_IMM64(R0, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   6694  			BPF_ALU64_IMM(BPF_NEG, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   6695  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6696  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6697  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6698  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6699  		{ { 0, -3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6700  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6701  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6702  		"ALU64_NEG: -(-3) = 3",
cffc642d93f932 Michael Holzheu    2015-05-11   6703  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6704  			BPF_LD_IMM64(R0, -3),
cffc642d93f932 Michael Holzheu    2015-05-11   6705  			BPF_ALU64_IMM(BPF_NEG, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   6706  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6707  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6708  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6709  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6710  		{ { 0, 3 } },
cffc642d93f932 Michael Holzheu    2015-05-11   6711  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6712  	/* BPF_ALU | BPF_END | BPF_FROM_BE */
cffc642d93f932 Michael Holzheu    2015-05-11   6713  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6714  		"ALU_END_FROM_BE 16: 0x0123456789abcdef -> 0xcdef",
cffc642d93f932 Michael Holzheu    2015-05-11   6715  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6716  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
cffc642d93f932 Michael Holzheu    2015-05-11   6717  			BPF_ENDIAN(BPF_FROM_BE, R0, 16),
cffc642d93f932 Michael Holzheu    2015-05-11   6718  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6719  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6720  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6721  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11  @6722  		{ { 0,  cpu_to_be16(0xcdef) } },
cffc642d93f932 Michael Holzheu    2015-05-11   6723  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6724  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6725  		"ALU_END_FROM_BE 32: 0x0123456789abcdef -> 0x89abcdef",
cffc642d93f932 Michael Holzheu    2015-05-11   6726  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6727  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
cffc642d93f932 Michael Holzheu    2015-05-11   6728  			BPF_ENDIAN(BPF_FROM_BE, R0, 32),
ba29becd770ffe Xi Wang            2015-07-08   6729  			BPF_ALU64_REG(BPF_MOV, R1, R0),
ba29becd770ffe Xi Wang            2015-07-08   6730  			BPF_ALU64_IMM(BPF_RSH, R1, 32),
ba29becd770ffe Xi Wang            2015-07-08   6731  			BPF_ALU32_REG(BPF_ADD, R0, R1), /* R1 = 0 */
cffc642d93f932 Michael Holzheu    2015-05-11   6732  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6733  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6734  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6735  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6736  		{ { 0, cpu_to_be32(0x89abcdef) } },
cffc642d93f932 Michael Holzheu    2015-05-11   6737  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6738  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6739  		"ALU_END_FROM_BE 64: 0x0123456789abcdef -> 0x89abcdef",
cffc642d93f932 Michael Holzheu    2015-05-11   6740  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6741  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
cffc642d93f932 Michael Holzheu    2015-05-11   6742  			BPF_ENDIAN(BPF_FROM_BE, R0, 64),
cffc642d93f932 Michael Holzheu    2015-05-11   6743  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6744  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6745  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6746  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6747  		{ { 0, (u32) cpu_to_be64(0x0123456789abcdefLL) } },
cffc642d93f932 Michael Holzheu    2015-05-11   6748  	},
b768dbbf26de96 Johan Almbladh     2021-09-02   6749  	{
b768dbbf26de96 Johan Almbladh     2021-09-02   6750  		"ALU_END_FROM_BE 64: 0x0123456789abcdef >> 32 -> 0x01234567",
b768dbbf26de96 Johan Almbladh     2021-09-02   6751  		.u.insns_int = {
b768dbbf26de96 Johan Almbladh     2021-09-02   6752  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
b768dbbf26de96 Johan Almbladh     2021-09-02   6753  			BPF_ENDIAN(BPF_FROM_BE, R0, 64),
b768dbbf26de96 Johan Almbladh     2021-09-02   6754  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
b768dbbf26de96 Johan Almbladh     2021-09-02   6755  			BPF_EXIT_INSN(),
b768dbbf26de96 Johan Almbladh     2021-09-02   6756  		},
b768dbbf26de96 Johan Almbladh     2021-09-02   6757  		INTERNAL,
b768dbbf26de96 Johan Almbladh     2021-09-02   6758  		{ },
b768dbbf26de96 Johan Almbladh     2021-09-02  @6759  		{ { 0, (u32) (cpu_to_be64(0x0123456789abcdefLL) >> 32) } },
b768dbbf26de96 Johan Almbladh     2021-09-02   6760  	},
b768dbbf26de96 Johan Almbladh     2021-09-02   6761  	/* BPF_ALU | BPF_END | BPF_FROM_BE, reversed */
b768dbbf26de96 Johan Almbladh     2021-09-02   6762  	{
b768dbbf26de96 Johan Almbladh     2021-09-02   6763  		"ALU_END_FROM_BE 16: 0xfedcba9876543210 -> 0x3210",
b768dbbf26de96 Johan Almbladh     2021-09-02   6764  		.u.insns_int = {
b768dbbf26de96 Johan Almbladh     2021-09-02   6765  			BPF_LD_IMM64(R0, 0xfedcba9876543210ULL),
b768dbbf26de96 Johan Almbladh     2021-09-02   6766  			BPF_ENDIAN(BPF_FROM_BE, R0, 16),
b768dbbf26de96 Johan Almbladh     2021-09-02   6767  			BPF_EXIT_INSN(),
b768dbbf26de96 Johan Almbladh     2021-09-02   6768  		},
b768dbbf26de96 Johan Almbladh     2021-09-02   6769  		INTERNAL,
b768dbbf26de96 Johan Almbladh     2021-09-02   6770  		{ },
b768dbbf26de96 Johan Almbladh     2021-09-02   6771  		{ { 0,  cpu_to_be16(0x3210) } },
b768dbbf26de96 Johan Almbladh     2021-09-02   6772  	},
b768dbbf26de96 Johan Almbladh     2021-09-02   6773  	{
b768dbbf26de96 Johan Almbladh     2021-09-02   6774  		"ALU_END_FROM_BE 32: 0xfedcba9876543210 -> 0x76543210",
b768dbbf26de96 Johan Almbladh     2021-09-02   6775  		.u.insns_int = {
b768dbbf26de96 Johan Almbladh     2021-09-02   6776  			BPF_LD_IMM64(R0, 0xfedcba9876543210ULL),
b768dbbf26de96 Johan Almbladh     2021-09-02   6777  			BPF_ENDIAN(BPF_FROM_BE, R0, 32),
b768dbbf26de96 Johan Almbladh     2021-09-02   6778  			BPF_ALU64_REG(BPF_MOV, R1, R0),
b768dbbf26de96 Johan Almbladh     2021-09-02   6779  			BPF_ALU64_IMM(BPF_RSH, R1, 32),
b768dbbf26de96 Johan Almbladh     2021-09-02   6780  			BPF_ALU32_REG(BPF_ADD, R0, R1), /* R1 = 0 */
b768dbbf26de96 Johan Almbladh     2021-09-02   6781  			BPF_EXIT_INSN(),
b768dbbf26de96 Johan Almbladh     2021-09-02   6782  		},
b768dbbf26de96 Johan Almbladh     2021-09-02   6783  		INTERNAL,
b768dbbf26de96 Johan Almbladh     2021-09-02   6784  		{ },
b768dbbf26de96 Johan Almbladh     2021-09-02   6785  		{ { 0, cpu_to_be32(0x76543210) } },
b768dbbf26de96 Johan Almbladh     2021-09-02   6786  	},
b768dbbf26de96 Johan Almbladh     2021-09-02   6787  	{
b768dbbf26de96 Johan Almbladh     2021-09-02   6788  		"ALU_END_FROM_BE 64: 0xfedcba9876543210 -> 0x76543210",
b768dbbf26de96 Johan Almbladh     2021-09-02   6789  		.u.insns_int = {
b768dbbf26de96 Johan Almbladh     2021-09-02   6790  			BPF_LD_IMM64(R0, 0xfedcba9876543210ULL),
b768dbbf26de96 Johan Almbladh     2021-09-02   6791  			BPF_ENDIAN(BPF_FROM_BE, R0, 64),
b768dbbf26de96 Johan Almbladh     2021-09-02   6792  			BPF_EXIT_INSN(),
b768dbbf26de96 Johan Almbladh     2021-09-02   6793  		},
b768dbbf26de96 Johan Almbladh     2021-09-02   6794  		INTERNAL,
b768dbbf26de96 Johan Almbladh     2021-09-02   6795  		{ },
b768dbbf26de96 Johan Almbladh     2021-09-02  @6796  		{ { 0, (u32) cpu_to_be64(0xfedcba9876543210ULL) } },
b768dbbf26de96 Johan Almbladh     2021-09-02   6797  	},
b768dbbf26de96 Johan Almbladh     2021-09-02   6798  	{
b768dbbf26de96 Johan Almbladh     2021-09-02   6799  		"ALU_END_FROM_BE 64: 0xfedcba9876543210 >> 32 -> 0xfedcba98",
b768dbbf26de96 Johan Almbladh     2021-09-02   6800  		.u.insns_int = {
b768dbbf26de96 Johan Almbladh     2021-09-02   6801  			BPF_LD_IMM64(R0, 0xfedcba9876543210ULL),
b768dbbf26de96 Johan Almbladh     2021-09-02   6802  			BPF_ENDIAN(BPF_FROM_BE, R0, 64),
b768dbbf26de96 Johan Almbladh     2021-09-02   6803  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
b768dbbf26de96 Johan Almbladh     2021-09-02   6804  			BPF_EXIT_INSN(),
b768dbbf26de96 Johan Almbladh     2021-09-02   6805  		},
b768dbbf26de96 Johan Almbladh     2021-09-02   6806  		INTERNAL,
b768dbbf26de96 Johan Almbladh     2021-09-02   6807  		{ },
b768dbbf26de96 Johan Almbladh     2021-09-02   6808  		{ { 0, (u32) (cpu_to_be64(0xfedcba9876543210ULL) >> 32) } },
b768dbbf26de96 Johan Almbladh     2021-09-02   6809  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6810  	/* BPF_ALU | BPF_END | BPF_FROM_LE */
cffc642d93f932 Michael Holzheu    2015-05-11   6811  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6812  		"ALU_END_FROM_LE 16: 0x0123456789abcdef -> 0xefcd",
cffc642d93f932 Michael Holzheu    2015-05-11   6813  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6814  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
cffc642d93f932 Michael Holzheu    2015-05-11   6815  			BPF_ENDIAN(BPF_FROM_LE, R0, 16),
cffc642d93f932 Michael Holzheu    2015-05-11   6816  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6817  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6818  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6819  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6820  		{ { 0, cpu_to_le16(0xcdef) } },
cffc642d93f932 Michael Holzheu    2015-05-11   6821  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6822  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6823  		"ALU_END_FROM_LE 32: 0x0123456789abcdef -> 0xefcdab89",
cffc642d93f932 Michael Holzheu    2015-05-11   6824  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6825  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
cffc642d93f932 Michael Holzheu    2015-05-11   6826  			BPF_ENDIAN(BPF_FROM_LE, R0, 32),
ba29becd770ffe Xi Wang            2015-07-08   6827  			BPF_ALU64_REG(BPF_MOV, R1, R0),
ba29becd770ffe Xi Wang            2015-07-08   6828  			BPF_ALU64_IMM(BPF_RSH, R1, 32),
ba29becd770ffe Xi Wang            2015-07-08   6829  			BPF_ALU32_REG(BPF_ADD, R0, R1), /* R1 = 0 */
cffc642d93f932 Michael Holzheu    2015-05-11   6830  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6831  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6832  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6833  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6834  		{ { 0, cpu_to_le32(0x89abcdef) } },
cffc642d93f932 Michael Holzheu    2015-05-11   6835  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6836  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6837  		"ALU_END_FROM_LE 64: 0x0123456789abcdef -> 0x67452301",
cffc642d93f932 Michael Holzheu    2015-05-11   6838  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6839  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
cffc642d93f932 Michael Holzheu    2015-05-11   6840  			BPF_ENDIAN(BPF_FROM_LE, R0, 64),
cffc642d93f932 Michael Holzheu    2015-05-11   6841  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6842  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6843  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6844  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6845  		{ { 0, (u32) cpu_to_le64(0x0123456789abcdefLL) } },
cffc642d93f932 Michael Holzheu    2015-05-11   6846  	},
b768dbbf26de96 Johan Almbladh     2021-09-02   6847  	{
b768dbbf26de96 Johan Almbladh     2021-09-02   6848  		"ALU_END_FROM_LE 64: 0x0123456789abcdef >> 32 -> 0xefcdab89",
b768dbbf26de96 Johan Almbladh     2021-09-02   6849  		.u.insns_int = {
b768dbbf26de96 Johan Almbladh     2021-09-02   6850  			BPF_LD_IMM64(R0, 0x0123456789abcdefLL),
b768dbbf26de96 Johan Almbladh     2021-09-02   6851  			BPF_ENDIAN(BPF_FROM_LE, R0, 64),
b768dbbf26de96 Johan Almbladh     2021-09-02   6852  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
b768dbbf26de96 Johan Almbladh     2021-09-02   6853  			BPF_EXIT_INSN(),
b768dbbf26de96 Johan Almbladh     2021-09-02   6854  		},
b768dbbf26de96 Johan Almbladh     2021-09-02   6855  		INTERNAL,
b768dbbf26de96 Johan Almbladh     2021-09-02   6856  		{ },
b768dbbf26de96 Johan Almbladh     2021-09-02  @6857  		{ { 0, (u32) (cpu_to_le64(0x0123456789abcdefLL) >> 32) } },
b768dbbf26de96 Johan Almbladh     2021-09-02   6858  	},
b768dbbf26de96 Johan Almbladh     2021-09-02   6859  	/* BPF_ALU | BPF_END | BPF_FROM_LE, reversed */
b768dbbf26de96 Johan Almbladh     2021-09-02   6860  	{
b768dbbf26de96 Johan Almbladh     2021-09-02   6861  		"ALU_END_FROM_LE 16: 0xfedcba9876543210 -> 0x1032",
b768dbbf26de96 Johan Almbladh     2021-09-02   6862  		.u.insns_int = {
b768dbbf26de96 Johan Almbladh     2021-09-02   6863  			BPF_LD_IMM64(R0, 0xfedcba9876543210ULL),
b768dbbf26de96 Johan Almbladh     2021-09-02   6864  			BPF_ENDIAN(BPF_FROM_LE, R0, 16),
b768dbbf26de96 Johan Almbladh     2021-09-02   6865  			BPF_EXIT_INSN(),
b768dbbf26de96 Johan Almbladh     2021-09-02   6866  		},
b768dbbf26de96 Johan Almbladh     2021-09-02   6867  		INTERNAL,
b768dbbf26de96 Johan Almbladh     2021-09-02   6868  		{ },
b768dbbf26de96 Johan Almbladh     2021-09-02   6869  		{ { 0,  cpu_to_le16(0x3210) } },
b768dbbf26de96 Johan Almbladh     2021-09-02   6870  	},
b768dbbf26de96 Johan Almbladh     2021-09-02   6871  	{
b768dbbf26de96 Johan Almbladh     2021-09-02   6872  		"ALU_END_FROM_LE 32: 0xfedcba9876543210 -> 0x10325476",
b768dbbf26de96 Johan Almbladh     2021-09-02   6873  		.u.insns_int = {
b768dbbf26de96 Johan Almbladh     2021-09-02   6874  			BPF_LD_IMM64(R0, 0xfedcba9876543210ULL),
b768dbbf26de96 Johan Almbladh     2021-09-02   6875  			BPF_ENDIAN(BPF_FROM_LE, R0, 32),
b768dbbf26de96 Johan Almbladh     2021-09-02   6876  			BPF_ALU64_REG(BPF_MOV, R1, R0),
b768dbbf26de96 Johan Almbladh     2021-09-02   6877  			BPF_ALU64_IMM(BPF_RSH, R1, 32),
b768dbbf26de96 Johan Almbladh     2021-09-02   6878  			BPF_ALU32_REG(BPF_ADD, R0, R1), /* R1 = 0 */
b768dbbf26de96 Johan Almbladh     2021-09-02   6879  			BPF_EXIT_INSN(),
b768dbbf26de96 Johan Almbladh     2021-09-02   6880  		},
b768dbbf26de96 Johan Almbladh     2021-09-02   6881  		INTERNAL,
b768dbbf26de96 Johan Almbladh     2021-09-02   6882  		{ },
b768dbbf26de96 Johan Almbladh     2021-09-02   6883  		{ { 0, cpu_to_le32(0x76543210) } },
b768dbbf26de96 Johan Almbladh     2021-09-02   6884  	},
b768dbbf26de96 Johan Almbladh     2021-09-02   6885  	{
b768dbbf26de96 Johan Almbladh     2021-09-02   6886  		"ALU_END_FROM_LE 64: 0xfedcba9876543210 -> 0x10325476",
b768dbbf26de96 Johan Almbladh     2021-09-02   6887  		.u.insns_int = {
b768dbbf26de96 Johan Almbladh     2021-09-02   6888  			BPF_LD_IMM64(R0, 0xfedcba9876543210ULL),
b768dbbf26de96 Johan Almbladh     2021-09-02   6889  			BPF_ENDIAN(BPF_FROM_LE, R0, 64),
b768dbbf26de96 Johan Almbladh     2021-09-02   6890  			BPF_EXIT_INSN(),
b768dbbf26de96 Johan Almbladh     2021-09-02   6891  		},
b768dbbf26de96 Johan Almbladh     2021-09-02   6892  		INTERNAL,
b768dbbf26de96 Johan Almbladh     2021-09-02   6893  		{ },
b768dbbf26de96 Johan Almbladh     2021-09-02   6894  		{ { 0, (u32) cpu_to_le64(0xfedcba9876543210ULL) } },
b768dbbf26de96 Johan Almbladh     2021-09-02   6895  	},
b768dbbf26de96 Johan Almbladh     2021-09-02   6896  	{
b768dbbf26de96 Johan Almbladh     2021-09-02   6897  		"ALU_END_FROM_LE 64: 0xfedcba9876543210 >> 32 -> 0x98badcfe",
b768dbbf26de96 Johan Almbladh     2021-09-02   6898  		.u.insns_int = {
b768dbbf26de96 Johan Almbladh     2021-09-02   6899  			BPF_LD_IMM64(R0, 0xfedcba9876543210ULL),
b768dbbf26de96 Johan Almbladh     2021-09-02   6900  			BPF_ENDIAN(BPF_FROM_LE, R0, 64),
b768dbbf26de96 Johan Almbladh     2021-09-02   6901  			BPF_ALU64_IMM(BPF_RSH, R0, 32),
b768dbbf26de96 Johan Almbladh     2021-09-02   6902  			BPF_EXIT_INSN(),
b768dbbf26de96 Johan Almbladh     2021-09-02   6903  		},
b768dbbf26de96 Johan Almbladh     2021-09-02   6904  		INTERNAL,
b768dbbf26de96 Johan Almbladh     2021-09-02   6905  		{ },
b768dbbf26de96 Johan Almbladh     2021-09-02   6906  		{ { 0, (u32) (cpu_to_le64(0xfedcba9876543210ULL) >> 32) } },
b768dbbf26de96 Johan Almbladh     2021-09-02   6907  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6908  	/* BPF_ST(X) | BPF_MEM | BPF_B/H/W/DW */
cffc642d93f932 Michael Holzheu    2015-05-11   6909  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6910  		"ST_MEM_B: Store/Load byte: max negative",
cffc642d93f932 Michael Holzheu    2015-05-11   6911  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6912  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   6913  			BPF_ST_MEM(BPF_B, R10, -40, 0xff),
cffc642d93f932 Michael Holzheu    2015-05-11   6914  			BPF_LDX_MEM(BPF_B, R0, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   6915  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6916  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6917  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6918  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6919  		{ { 0, 0xff } },
105c03614bff2d Alexei Starovoitov 2017-05-30   6920  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   6921  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6922  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6923  		"ST_MEM_B: Store/Load byte: max positive",
cffc642d93f932 Michael Holzheu    2015-05-11   6924  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6925  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   6926  			BPF_ST_MEM(BPF_H, R10, -40, 0x7f),
cffc642d93f932 Michael Holzheu    2015-05-11   6927  			BPF_LDX_MEM(BPF_H, R0, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   6928  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6929  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6930  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6931  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6932  		{ { 0, 0x7f } },
105c03614bff2d Alexei Starovoitov 2017-05-30   6933  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   6934  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6935  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6936  		"STX_MEM_B: Store/Load byte: max negative",
cffc642d93f932 Michael Holzheu    2015-05-11   6937  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6938  			BPF_LD_IMM64(R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   6939  			BPF_LD_IMM64(R1, 0xffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   6940  			BPF_STX_MEM(BPF_B, R10, R1, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   6941  			BPF_LDX_MEM(BPF_B, R0, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   6942  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6943  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6944  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6945  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6946  		{ { 0, 0xff } },
105c03614bff2d Alexei Starovoitov 2017-05-30   6947  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   6948  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6949  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6950  		"ST_MEM_H: Store/Load half word: max negative",
cffc642d93f932 Michael Holzheu    2015-05-11   6951  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6952  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   6953  			BPF_ST_MEM(BPF_H, R10, -40, 0xffff),
cffc642d93f932 Michael Holzheu    2015-05-11   6954  			BPF_LDX_MEM(BPF_H, R0, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   6955  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6956  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6957  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6958  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6959  		{ { 0, 0xffff } },
105c03614bff2d Alexei Starovoitov 2017-05-30   6960  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   6961  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6962  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6963  		"ST_MEM_H: Store/Load half word: max positive",
cffc642d93f932 Michael Holzheu    2015-05-11   6964  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6965  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   6966  			BPF_ST_MEM(BPF_H, R10, -40, 0x7fff),
cffc642d93f932 Michael Holzheu    2015-05-11   6967  			BPF_LDX_MEM(BPF_H, R0, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   6968  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6969  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6970  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6971  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6972  		{ { 0, 0x7fff } },
105c03614bff2d Alexei Starovoitov 2017-05-30   6973  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   6974  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6975  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6976  		"STX_MEM_H: Store/Load half word: max negative",
cffc642d93f932 Michael Holzheu    2015-05-11   6977  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6978  			BPF_LD_IMM64(R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   6979  			BPF_LD_IMM64(R1, 0xffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   6980  			BPF_STX_MEM(BPF_H, R10, R1, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   6981  			BPF_LDX_MEM(BPF_H, R0, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   6982  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6983  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6984  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6985  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6986  		{ { 0, 0xffff } },
105c03614bff2d Alexei Starovoitov 2017-05-30   6987  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   6988  	},
cffc642d93f932 Michael Holzheu    2015-05-11   6989  	{
cffc642d93f932 Michael Holzheu    2015-05-11   6990  		"ST_MEM_W: Store/Load word: max negative",
cffc642d93f932 Michael Holzheu    2015-05-11   6991  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   6992  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   6993  			BPF_ST_MEM(BPF_W, R10, -40, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   6994  			BPF_LDX_MEM(BPF_W, R0, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   6995  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   6996  		},
cffc642d93f932 Michael Holzheu    2015-05-11   6997  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   6998  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   6999  		{ { 0, 0xffffffff } },
105c03614bff2d Alexei Starovoitov 2017-05-30   7000  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   7001  	},
cffc642d93f932 Michael Holzheu    2015-05-11   7002  	{
cffc642d93f932 Michael Holzheu    2015-05-11   7003  		"ST_MEM_W: Store/Load word: max positive",
cffc642d93f932 Michael Holzheu    2015-05-11   7004  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   7005  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   7006  			BPF_ST_MEM(BPF_W, R10, -40, 0x7fffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   7007  			BPF_LDX_MEM(BPF_W, R0, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   7008  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   7009  		},
cffc642d93f932 Michael Holzheu    2015-05-11   7010  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   7011  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   7012  		{ { 0, 0x7fffffff } },
105c03614bff2d Alexei Starovoitov 2017-05-30   7013  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   7014  	},
cffc642d93f932 Michael Holzheu    2015-05-11   7015  	{
cffc642d93f932 Michael Holzheu    2015-05-11   7016  		"STX_MEM_W: Store/Load word: max negative",
cffc642d93f932 Michael Holzheu    2015-05-11   7017  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   7018  			BPF_LD_IMM64(R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   7019  			BPF_LD_IMM64(R1, 0xffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   7020  			BPF_STX_MEM(BPF_W, R10, R1, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   7021  			BPF_LDX_MEM(BPF_W, R0, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   7022  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   7023  		},
cffc642d93f932 Michael Holzheu    2015-05-11   7024  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   7025  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   7026  		{ { 0, 0xffffffff } },
105c03614bff2d Alexei Starovoitov 2017-05-30   7027  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   7028  	},
cffc642d93f932 Michael Holzheu    2015-05-11   7029  	{
cffc642d93f932 Michael Holzheu    2015-05-11   7030  		"ST_MEM_DW: Store/Load double word: max negative",
cffc642d93f932 Michael Holzheu    2015-05-11   7031  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   7032  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   7033  			BPF_ST_MEM(BPF_DW, R10, -40, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   7034  			BPF_LDX_MEM(BPF_DW, R0, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   7035  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   7036  		},
cffc642d93f932 Michael Holzheu    2015-05-11   7037  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   7038  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   7039  		{ { 0, 0xffffffff } },
105c03614bff2d Alexei Starovoitov 2017-05-30   7040  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   7041  	},
cffc642d93f932 Michael Holzheu    2015-05-11   7042  	{
cffc642d93f932 Michael Holzheu    2015-05-11   7043  		"ST_MEM_DW: Store/Load double word: max negative 2",
cffc642d93f932 Michael Holzheu    2015-05-11   7044  		.u.insns_int = {
56cbaa45dde235 Michael Holzheu    2015-05-13   7045  			BPF_LD_IMM64(R2, 0xffff00000000ffffLL),
56cbaa45dde235 Michael Holzheu    2015-05-13   7046  			BPF_LD_IMM64(R3, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   7047  			BPF_ST_MEM(BPF_DW, R10, -40, 0xffffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   7048  			BPF_LDX_MEM(BPF_DW, R2, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   7049  			BPF_JMP_REG(BPF_JEQ, R2, R3, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   7050  			BPF_MOV32_IMM(R0, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   7051  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   7052  			BPF_MOV32_IMM(R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   7053  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   7054  		},
cffc642d93f932 Michael Holzheu    2015-05-11   7055  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   7056  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   7057  		{ { 0, 0x1 } },
105c03614bff2d Alexei Starovoitov 2017-05-30   7058  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   7059  	},
cffc642d93f932 Michael Holzheu    2015-05-11   7060  	{
cffc642d93f932 Michael Holzheu    2015-05-11   7061  		"ST_MEM_DW: Store/Load double word: max positive",
cffc642d93f932 Michael Holzheu    2015-05-11   7062  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   7063  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   7064  			BPF_ST_MEM(BPF_DW, R10, -40, 0x7fffffff),
cffc642d93f932 Michael Holzheu    2015-05-11   7065  			BPF_LDX_MEM(BPF_DW, R0, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   7066  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   7067  		},
cffc642d93f932 Michael Holzheu    2015-05-11   7068  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   7069  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   7070  		{ { 0, 0x7fffffff } },
105c03614bff2d Alexei Starovoitov 2017-05-30   7071  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   7072  	},
cffc642d93f932 Michael Holzheu    2015-05-11   7073  	{
cffc642d93f932 Michael Holzheu    2015-05-11   7074  		"STX_MEM_DW: Store/Load double word: max negative",
cffc642d93f932 Michael Holzheu    2015-05-11   7075  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   7076  			BPF_LD_IMM64(R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   7077  			BPF_LD_IMM64(R1, 0xffffffffffffffffLL),
ae7f47041d928b Johan Almbladh     2021-07-21   7078  			BPF_STX_MEM(BPF_DW, R10, R1, -40),
ae7f47041d928b Johan Almbladh     2021-07-21   7079  			BPF_LDX_MEM(BPF_DW, R0, R10, -40),
cffc642d93f932 Michael Holzheu    2015-05-11   7080  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   7081  		},
cffc642d93f932 Michael Holzheu    2015-05-11   7082  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   7083  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   7084  		{ { 0, 0xffffffff } },
105c03614bff2d Alexei Starovoitov 2017-05-30   7085  		.stack_depth = 40,
cffc642d93f932 Michael Holzheu    2015-05-11   7086  	},
e5009b4636cb59 Johan Almbladh     2021-08-09   7087  	{
e5009b4636cb59 Johan Almbladh     2021-08-09   7088  		"STX_MEM_DW: Store double word: first word in memory",
e5009b4636cb59 Johan Almbladh     2021-08-09   7089  		.u.insns_int = {
e5009b4636cb59 Johan Almbladh     2021-08-09   7090  			BPF_LD_IMM64(R0, 0),
e5009b4636cb59 Johan Almbladh     2021-08-09   7091  			BPF_LD_IMM64(R1, 0x0123456789abcdefLL),
e5009b4636cb59 Johan Almbladh     2021-08-09   7092  			BPF_STX_MEM(BPF_DW, R10, R1, -40),
e5009b4636cb59 Johan Almbladh     2021-08-09   7093  			BPF_LDX_MEM(BPF_W, R0, R10, -40),
e5009b4636cb59 Johan Almbladh     2021-08-09   7094  			BPF_EXIT_INSN(),
e5009b4636cb59 Johan Almbladh     2021-08-09   7095  		},
e5009b4636cb59 Johan Almbladh     2021-08-09   7096  		INTERNAL,
e5009b4636cb59 Johan Almbladh     2021-08-09   7097  		{ },
e5009b4636cb59 Johan Almbladh     2021-08-09   7098  #ifdef __BIG_ENDIAN
e5009b4636cb59 Johan Almbladh     2021-08-09   7099  		{ { 0, 0x01234567 } },
e5009b4636cb59 Johan Almbladh     2021-08-09   7100  #else
e5009b4636cb59 Johan Almbladh     2021-08-09   7101  		{ { 0, 0x89abcdef } },
e5009b4636cb59 Johan Almbladh     2021-08-09   7102  #endif
e5009b4636cb59 Johan Almbladh     2021-08-09   7103  		.stack_depth = 40,
e5009b4636cb59 Johan Almbladh     2021-08-09   7104  	},
e5009b4636cb59 Johan Almbladh     2021-08-09   7105  	{
e5009b4636cb59 Johan Almbladh     2021-08-09   7106  		"STX_MEM_DW: Store double word: second word in memory",
e5009b4636cb59 Johan Almbladh     2021-08-09   7107  		.u.insns_int = {
e5009b4636cb59 Johan Almbladh     2021-08-09   7108  			BPF_LD_IMM64(R0, 0),
e5009b4636cb59 Johan Almbladh     2021-08-09   7109  			BPF_LD_IMM64(R1, 0x0123456789abcdefLL),
e5009b4636cb59 Johan Almbladh     2021-08-09   7110  			BPF_STX_MEM(BPF_DW, R10, R1, -40),
e5009b4636cb59 Johan Almbladh     2021-08-09   7111  			BPF_LDX_MEM(BPF_W, R0, R10, -36),
e5009b4636cb59 Johan Almbladh     2021-08-09   7112  			BPF_EXIT_INSN(),
e5009b4636cb59 Johan Almbladh     2021-08-09   7113  		},
e5009b4636cb59 Johan Almbladh     2021-08-09   7114  		INTERNAL,
e5009b4636cb59 Johan Almbladh     2021-08-09   7115  		{ },
e5009b4636cb59 Johan Almbladh     2021-08-09   7116  #ifdef __BIG_ENDIAN
e5009b4636cb59 Johan Almbladh     2021-08-09   7117  		{ { 0, 0x89abcdef } },
e5009b4636cb59 Johan Almbladh     2021-08-09   7118  #else
e5009b4636cb59 Johan Almbladh     2021-08-09   7119  		{ { 0, 0x01234567 } },
e5009b4636cb59 Johan Almbladh     2021-08-09   7120  #endif
e5009b4636cb59 Johan Almbladh     2021-08-09   7121  		.stack_depth = 40,
e5009b4636cb59 Johan Almbladh     2021-08-09   7122  	},
91c960b0056672 Brendan Jackman    2021-01-14   7123  	/* BPF_STX | BPF_ATOMIC | BPF_W/DW */
85f68fe8983205 Daniel Borkmann    2017-05-01   7124  	{
85f68fe8983205 Daniel Borkmann    2017-05-01   7125  		"STX_XADD_W: X + 1 + 1 + 1 + ...",
85f68fe8983205 Daniel Borkmann    2017-05-01   7126  		{ },
85f68fe8983205 Daniel Borkmann    2017-05-01   7127  		INTERNAL,
85f68fe8983205 Daniel Borkmann    2017-05-01   7128  		{ },
85f68fe8983205 Daniel Borkmann    2017-05-01   7129  		{ { 0, 4134 } },
85f68fe8983205 Daniel Borkmann    2017-05-01   7130  		.fill_helper = bpf_fill_stxw,
85f68fe8983205 Daniel Borkmann    2017-05-01   7131  	},
85f68fe8983205 Daniel Borkmann    2017-05-01   7132  	{
85f68fe8983205 Daniel Borkmann    2017-05-01   7133  		"STX_XADD_DW: X + 1 + 1 + 1 + ...",
85f68fe8983205 Daniel Borkmann    2017-05-01   7134  		{ },
85f68fe8983205 Daniel Borkmann    2017-05-01   7135  		INTERNAL,
85f68fe8983205 Daniel Borkmann    2017-05-01   7136  		{ },
85f68fe8983205 Daniel Borkmann    2017-05-01   7137  		{ { 0, 4134 } },
85f68fe8983205 Daniel Borkmann    2017-05-01   7138  		.fill_helper = bpf_fill_stxdw,
85f68fe8983205 Daniel Borkmann    2017-05-01   7139  	},
e4517b3637c648 Johan Almbladh     2021-08-09   7140  	/*
e4517b3637c648 Johan Almbladh     2021-08-09   7141  	 * Exhaustive tests of atomic operation variants.
e4517b3637c648 Johan Almbladh     2021-08-09   7142  	 * Individual tests are expanded from template macros for all
e4517b3637c648 Johan Almbladh     2021-08-09   7143  	 * combinations of ALU operation, word size and fetching.
e4517b3637c648 Johan Almbladh     2021-08-09   7144  	 */
e4517b3637c648 Johan Almbladh     2021-08-09   7145  #define BPF_ATOMIC_OP_TEST1(width, op, logic, old, update, result)	\
e4517b3637c648 Johan Almbladh     2021-08-09   7146  {									\
e4517b3637c648 Johan Almbladh     2021-08-09   7147  	"BPF_ATOMIC | " #width ", " #op ": Test: "			\
e4517b3637c648 Johan Almbladh     2021-08-09   7148  		#old " " #logic " " #update " = " #result,		\
e4517b3637c648 Johan Almbladh     2021-08-09   7149  	.u.insns_int = {						\
e4517b3637c648 Johan Almbladh     2021-08-09   7150  		BPF_ALU32_IMM(BPF_MOV, R5, update),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7151  		BPF_ST_MEM(width, R10, -40, old),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7152  		BPF_ATOMIC_OP(width, op, R10, R5, -40),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7153  		BPF_LDX_MEM(width, R0, R10, -40),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7154  		BPF_EXIT_INSN(),					\
e4517b3637c648 Johan Almbladh     2021-08-09   7155  	},								\
e4517b3637c648 Johan Almbladh     2021-08-09   7156  	INTERNAL,							\
e4517b3637c648 Johan Almbladh     2021-08-09   7157  	{ },								\
e4517b3637c648 Johan Almbladh     2021-08-09   7158  	{ { 0, result } },						\
e4517b3637c648 Johan Almbladh     2021-08-09   7159  	.stack_depth = 40,						\
e4517b3637c648 Johan Almbladh     2021-08-09   7160  }
e4517b3637c648 Johan Almbladh     2021-08-09   7161  #define BPF_ATOMIC_OP_TEST2(width, op, logic, old, update, result)	\
e4517b3637c648 Johan Almbladh     2021-08-09   7162  {									\
e4517b3637c648 Johan Almbladh     2021-08-09   7163  	"BPF_ATOMIC | " #width ", " #op ": Test side effects, r10: "	\
e4517b3637c648 Johan Almbladh     2021-08-09   7164  		#old " " #logic " " #update " = " #result,		\
e4517b3637c648 Johan Almbladh     2021-08-09   7165  	.u.insns_int = {						\
e4517b3637c648 Johan Almbladh     2021-08-09   7166  		BPF_ALU64_REG(BPF_MOV, R1, R10),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7167  		BPF_ALU32_IMM(BPF_MOV, R0, update),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7168  		BPF_ST_MEM(BPF_W, R10, -40, old),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7169  		BPF_ATOMIC_OP(width, op, R10, R0, -40),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7170  		BPF_ALU64_REG(BPF_MOV, R0, R10),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7171  		BPF_ALU64_REG(BPF_SUB, R0, R1),				\
e4517b3637c648 Johan Almbladh     2021-08-09   7172  		BPF_EXIT_INSN(),					\
e4517b3637c648 Johan Almbladh     2021-08-09   7173  	},								\
e4517b3637c648 Johan Almbladh     2021-08-09   7174  	INTERNAL,							\
e4517b3637c648 Johan Almbladh     2021-08-09   7175  	{ },								\
e4517b3637c648 Johan Almbladh     2021-08-09   7176  	{ { 0, 0 } },							\
e4517b3637c648 Johan Almbladh     2021-08-09   7177  	.stack_depth = 40,						\
e4517b3637c648 Johan Almbladh     2021-08-09   7178  }
e4517b3637c648 Johan Almbladh     2021-08-09   7179  #define BPF_ATOMIC_OP_TEST3(width, op, logic, old, update, result)	\
e4517b3637c648 Johan Almbladh     2021-08-09   7180  {									\
e4517b3637c648 Johan Almbladh     2021-08-09   7181  	"BPF_ATOMIC | " #width ", " #op ": Test side effects, r0: "	\
e4517b3637c648 Johan Almbladh     2021-08-09   7182  		#old " " #logic " " #update " = " #result,		\
e4517b3637c648 Johan Almbladh     2021-08-09   7183  	.u.insns_int = {						\
e4517b3637c648 Johan Almbladh     2021-08-09   7184  		BPF_ALU64_REG(BPF_MOV, R0, R10),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7185  		BPF_ALU32_IMM(BPF_MOV, R1, update),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7186  		BPF_ST_MEM(width, R10, -40, old),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7187  		BPF_ATOMIC_OP(width, op, R10, R1, -40),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7188  		BPF_ALU64_REG(BPF_SUB, R0, R10),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7189  		BPF_EXIT_INSN(),					\
e4517b3637c648 Johan Almbladh     2021-08-09   7190  	},								\
e4517b3637c648 Johan Almbladh     2021-08-09   7191  	INTERNAL,                                                       \
e4517b3637c648 Johan Almbladh     2021-08-09   7192  	{ },                                                            \
e4517b3637c648 Johan Almbladh     2021-08-09   7193  	{ { 0, 0 } },                                                   \
e4517b3637c648 Johan Almbladh     2021-08-09   7194  	.stack_depth = 40,                                              \
e4517b3637c648 Johan Almbladh     2021-08-09   7195  }
e4517b3637c648 Johan Almbladh     2021-08-09   7196  #define BPF_ATOMIC_OP_TEST4(width, op, logic, old, update, result)	\
e4517b3637c648 Johan Almbladh     2021-08-09   7197  {									\
e4517b3637c648 Johan Almbladh     2021-08-09   7198  	"BPF_ATOMIC | " #width ", " #op ": Test fetch: "		\
e4517b3637c648 Johan Almbladh     2021-08-09   7199  		#old " " #logic " " #update " = " #result,		\
e4517b3637c648 Johan Almbladh     2021-08-09   7200  	.u.insns_int = {						\
e4517b3637c648 Johan Almbladh     2021-08-09   7201  		BPF_ALU32_IMM(BPF_MOV, R3, update),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7202  		BPF_ST_MEM(width, R10, -40, old),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7203  		BPF_ATOMIC_OP(width, op, R10, R3, -40),			\
e4517b3637c648 Johan Almbladh     2021-08-09   7204  		BPF_ALU64_REG(BPF_MOV, R0, R3),                         \
e4517b3637c648 Johan Almbladh     2021-08-09   7205  		BPF_EXIT_INSN(),					\
e4517b3637c648 Johan Almbladh     2021-08-09   7206  	},								\
e4517b3637c648 Johan Almbladh     2021-08-09   7207  	INTERNAL,                                                       \
e4517b3637c648 Johan Almbladh     2021-08-09   7208  	{ },                                                            \
e4517b3637c648 Johan Almbladh     2021-08-09   7209  	{ { 0, (op) & BPF_FETCH ? old : update } },			\
e4517b3637c648 Johan Almbladh     2021-08-09   7210  	.stack_depth = 40,                                              \
e4517b3637c648 Johan Almbladh     2021-08-09   7211  }
e4517b3637c648 Johan Almbladh     2021-08-09   7212  	/* BPF_ATOMIC | BPF_W: BPF_ADD */
e4517b3637c648 Johan Almbladh     2021-08-09   7213  	BPF_ATOMIC_OP_TEST1(BPF_W, BPF_ADD, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7214  	BPF_ATOMIC_OP_TEST2(BPF_W, BPF_ADD, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7215  	BPF_ATOMIC_OP_TEST3(BPF_W, BPF_ADD, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7216  	BPF_ATOMIC_OP_TEST4(BPF_W, BPF_ADD, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7217  	/* BPF_ATOMIC | BPF_W: BPF_ADD | BPF_FETCH */
e4517b3637c648 Johan Almbladh     2021-08-09   7218  	BPF_ATOMIC_OP_TEST1(BPF_W, BPF_ADD | BPF_FETCH, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7219  	BPF_ATOMIC_OP_TEST2(BPF_W, BPF_ADD | BPF_FETCH, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7220  	BPF_ATOMIC_OP_TEST3(BPF_W, BPF_ADD | BPF_FETCH, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7221  	BPF_ATOMIC_OP_TEST4(BPF_W, BPF_ADD | BPF_FETCH, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7222  	/* BPF_ATOMIC | BPF_DW: BPF_ADD */
e4517b3637c648 Johan Almbladh     2021-08-09   7223  	BPF_ATOMIC_OP_TEST1(BPF_DW, BPF_ADD, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7224  	BPF_ATOMIC_OP_TEST2(BPF_DW, BPF_ADD, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7225  	BPF_ATOMIC_OP_TEST3(BPF_DW, BPF_ADD, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7226  	BPF_ATOMIC_OP_TEST4(BPF_DW, BPF_ADD, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7227  	/* BPF_ATOMIC | BPF_DW: BPF_ADD | BPF_FETCH */
e4517b3637c648 Johan Almbladh     2021-08-09   7228  	BPF_ATOMIC_OP_TEST1(BPF_DW, BPF_ADD | BPF_FETCH, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7229  	BPF_ATOMIC_OP_TEST2(BPF_DW, BPF_ADD | BPF_FETCH, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7230  	BPF_ATOMIC_OP_TEST3(BPF_DW, BPF_ADD | BPF_FETCH, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7231  	BPF_ATOMIC_OP_TEST4(BPF_DW, BPF_ADD | BPF_FETCH, +, 0x12, 0xab, 0xbd),
e4517b3637c648 Johan Almbladh     2021-08-09   7232  	/* BPF_ATOMIC | BPF_W: BPF_AND */
e4517b3637c648 Johan Almbladh     2021-08-09   7233  	BPF_ATOMIC_OP_TEST1(BPF_W, BPF_AND, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7234  	BPF_ATOMIC_OP_TEST2(BPF_W, BPF_AND, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7235  	BPF_ATOMIC_OP_TEST3(BPF_W, BPF_AND, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7236  	BPF_ATOMIC_OP_TEST4(BPF_W, BPF_AND, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7237  	/* BPF_ATOMIC | BPF_W: BPF_AND | BPF_FETCH */
e4517b3637c648 Johan Almbladh     2021-08-09   7238  	BPF_ATOMIC_OP_TEST1(BPF_W, BPF_AND | BPF_FETCH, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7239  	BPF_ATOMIC_OP_TEST2(BPF_W, BPF_AND | BPF_FETCH, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7240  	BPF_ATOMIC_OP_TEST3(BPF_W, BPF_AND | BPF_FETCH, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7241  	BPF_ATOMIC_OP_TEST4(BPF_W, BPF_AND | BPF_FETCH, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7242  	/* BPF_ATOMIC | BPF_DW: BPF_AND */
e4517b3637c648 Johan Almbladh     2021-08-09   7243  	BPF_ATOMIC_OP_TEST1(BPF_DW, BPF_AND, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7244  	BPF_ATOMIC_OP_TEST2(BPF_DW, BPF_AND, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7245  	BPF_ATOMIC_OP_TEST3(BPF_DW, BPF_AND, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7246  	BPF_ATOMIC_OP_TEST4(BPF_DW, BPF_AND, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7247  	/* BPF_ATOMIC | BPF_DW: BPF_AND | BPF_FETCH */
e4517b3637c648 Johan Almbladh     2021-08-09   7248  	BPF_ATOMIC_OP_TEST1(BPF_DW, BPF_AND | BPF_FETCH, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7249  	BPF_ATOMIC_OP_TEST2(BPF_DW, BPF_AND | BPF_FETCH, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7250  	BPF_ATOMIC_OP_TEST3(BPF_DW, BPF_AND | BPF_FETCH, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7251  	BPF_ATOMIC_OP_TEST4(BPF_DW, BPF_AND | BPF_FETCH, &, 0x12, 0xab, 0x02),
e4517b3637c648 Johan Almbladh     2021-08-09   7252  	/* BPF_ATOMIC | BPF_W: BPF_OR */
e4517b3637c648 Johan Almbladh     2021-08-09   7253  	BPF_ATOMIC_OP_TEST1(BPF_W, BPF_OR, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7254  	BPF_ATOMIC_OP_TEST2(BPF_W, BPF_OR, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7255  	BPF_ATOMIC_OP_TEST3(BPF_W, BPF_OR, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7256  	BPF_ATOMIC_OP_TEST4(BPF_W, BPF_OR, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7257  	/* BPF_ATOMIC | BPF_W: BPF_OR | BPF_FETCH */
e4517b3637c648 Johan Almbladh     2021-08-09   7258  	BPF_ATOMIC_OP_TEST1(BPF_W, BPF_OR | BPF_FETCH, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7259  	BPF_ATOMIC_OP_TEST2(BPF_W, BPF_OR | BPF_FETCH, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7260  	BPF_ATOMIC_OP_TEST3(BPF_W, BPF_OR | BPF_FETCH, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7261  	BPF_ATOMIC_OP_TEST4(BPF_W, BPF_OR | BPF_FETCH, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7262  	/* BPF_ATOMIC | BPF_DW: BPF_OR */
e4517b3637c648 Johan Almbladh     2021-08-09   7263  	BPF_ATOMIC_OP_TEST1(BPF_DW, BPF_OR, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7264  	BPF_ATOMIC_OP_TEST2(BPF_DW, BPF_OR, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7265  	BPF_ATOMIC_OP_TEST3(BPF_DW, BPF_OR, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7266  	BPF_ATOMIC_OP_TEST4(BPF_DW, BPF_OR, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7267  	/* BPF_ATOMIC | BPF_DW: BPF_OR | BPF_FETCH */
e4517b3637c648 Johan Almbladh     2021-08-09   7268  	BPF_ATOMIC_OP_TEST1(BPF_DW, BPF_OR | BPF_FETCH, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7269  	BPF_ATOMIC_OP_TEST2(BPF_DW, BPF_OR | BPF_FETCH, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7270  	BPF_ATOMIC_OP_TEST3(BPF_DW, BPF_OR | BPF_FETCH, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7271  	BPF_ATOMIC_OP_TEST4(BPF_DW, BPF_OR | BPF_FETCH, |, 0x12, 0xab, 0xbb),
e4517b3637c648 Johan Almbladh     2021-08-09   7272  	/* BPF_ATOMIC | BPF_W: BPF_XOR */
e4517b3637c648 Johan Almbladh     2021-08-09   7273  	BPF_ATOMIC_OP_TEST1(BPF_W, BPF_XOR, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7274  	BPF_ATOMIC_OP_TEST2(BPF_W, BPF_XOR, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7275  	BPF_ATOMIC_OP_TEST3(BPF_W, BPF_XOR, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7276  	BPF_ATOMIC_OP_TEST4(BPF_W, BPF_XOR, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7277  	/* BPF_ATOMIC | BPF_W: BPF_XOR | BPF_FETCH */
e4517b3637c648 Johan Almbladh     2021-08-09   7278  	BPF_ATOMIC_OP_TEST1(BPF_W, BPF_XOR | BPF_FETCH, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7279  	BPF_ATOMIC_OP_TEST2(BPF_W, BPF_XOR | BPF_FETCH, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7280  	BPF_ATOMIC_OP_TEST3(BPF_W, BPF_XOR | BPF_FETCH, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7281  	BPF_ATOMIC_OP_TEST4(BPF_W, BPF_XOR | BPF_FETCH, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7282  	/* BPF_ATOMIC | BPF_DW: BPF_XOR */
e4517b3637c648 Johan Almbladh     2021-08-09   7283  	BPF_ATOMIC_OP_TEST1(BPF_DW, BPF_XOR, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7284  	BPF_ATOMIC_OP_TEST2(BPF_DW, BPF_XOR, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7285  	BPF_ATOMIC_OP_TEST3(BPF_DW, BPF_XOR, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7286  	BPF_ATOMIC_OP_TEST4(BPF_DW, BPF_XOR, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7287  	/* BPF_ATOMIC | BPF_DW: BPF_XOR | BPF_FETCH */
e4517b3637c648 Johan Almbladh     2021-08-09   7288  	BPF_ATOMIC_OP_TEST1(BPF_DW, BPF_XOR | BPF_FETCH, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7289  	BPF_ATOMIC_OP_TEST2(BPF_DW, BPF_XOR | BPF_FETCH, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7290  	BPF_ATOMIC_OP_TEST3(BPF_DW, BPF_XOR | BPF_FETCH, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7291  	BPF_ATOMIC_OP_TEST4(BPF_DW, BPF_XOR | BPF_FETCH, ^, 0x12, 0xab, 0xb9),
e4517b3637c648 Johan Almbladh     2021-08-09   7292  	/* BPF_ATOMIC | BPF_W: BPF_XCHG */
e4517b3637c648 Johan Almbladh     2021-08-09   7293  	BPF_ATOMIC_OP_TEST1(BPF_W, BPF_XCHG, xchg, 0x12, 0xab, 0xab),
e4517b3637c648 Johan Almbladh     2021-08-09   7294  	BPF_ATOMIC_OP_TEST2(BPF_W, BPF_XCHG, xchg, 0x12, 0xab, 0xab),
e4517b3637c648 Johan Almbladh     2021-08-09   7295  	BPF_ATOMIC_OP_TEST3(BPF_W, BPF_XCHG, xchg, 0x12, 0xab, 0xab),
e4517b3637c648 Johan Almbladh     2021-08-09   7296  	BPF_ATOMIC_OP_TEST4(BPF_W, BPF_XCHG, xchg, 0x12, 0xab, 0xab),
e4517b3637c648 Johan Almbladh     2021-08-09   7297  	/* BPF_ATOMIC | BPF_DW: BPF_XCHG */
e4517b3637c648 Johan Almbladh     2021-08-09   7298  	BPF_ATOMIC_OP_TEST1(BPF_DW, BPF_XCHG, xchg, 0x12, 0xab, 0xab),
e4517b3637c648 Johan Almbladh     2021-08-09   7299  	BPF_ATOMIC_OP_TEST2(BPF_DW, BPF_XCHG, xchg, 0x12, 0xab, 0xab),
e4517b3637c648 Johan Almbladh     2021-08-09   7300  	BPF_ATOMIC_OP_TEST3(BPF_DW, BPF_XCHG, xchg, 0x12, 0xab, 0xab),
e4517b3637c648 Johan Almbladh     2021-08-09   7301  	BPF_ATOMIC_OP_TEST4(BPF_DW, BPF_XCHG, xchg, 0x12, 0xab, 0xab),
e4517b3637c648 Johan Almbladh     2021-08-09   7302  #undef BPF_ATOMIC_OP_TEST1
e4517b3637c648 Johan Almbladh     2021-08-09   7303  #undef BPF_ATOMIC_OP_TEST2
e4517b3637c648 Johan Almbladh     2021-08-09   7304  #undef BPF_ATOMIC_OP_TEST3
e4517b3637c648 Johan Almbladh     2021-08-09   7305  #undef BPF_ATOMIC_OP_TEST4
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7306  	/* BPF_ATOMIC | BPF_W, BPF_CMPXCHG */
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7307  	{
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7308  		"BPF_ATOMIC | BPF_W, BPF_CMPXCHG: Test successful return",
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7309  		.u.insns_int = {
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7310  			BPF_ST_MEM(BPF_W, R10, -40, 0x01234567),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7311  			BPF_ALU32_IMM(BPF_MOV, R0, 0x01234567),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7312  			BPF_ALU32_IMM(BPF_MOV, R3, 0x89abcdef),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7313  			BPF_ATOMIC_OP(BPF_W, BPF_CMPXCHG, R10, R3, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7314  			BPF_EXIT_INSN(),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7315  		},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7316  		INTERNAL,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7317  		{ },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7318  		{ { 0, 0x01234567 } },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7319  		.stack_depth = 40,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7320  	},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7321  	{
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7322  		"BPF_ATOMIC | BPF_W, BPF_CMPXCHG: Test successful store",
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7323  		.u.insns_int = {
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7324  			BPF_ST_MEM(BPF_W, R10, -40, 0x01234567),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7325  			BPF_ALU32_IMM(BPF_MOV, R0, 0x01234567),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7326  			BPF_ALU32_IMM(BPF_MOV, R3, 0x89abcdef),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7327  			BPF_ATOMIC_OP(BPF_W, BPF_CMPXCHG, R10, R3, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7328  			BPF_LDX_MEM(BPF_W, R0, R10, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7329  			BPF_EXIT_INSN(),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7330  		},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7331  		INTERNAL,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7332  		{ },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7333  		{ { 0, 0x89abcdef } },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7334  		.stack_depth = 40,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7335  	},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7336  	{
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7337  		"BPF_ATOMIC | BPF_W, BPF_CMPXCHG: Test failure return",
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7338  		.u.insns_int = {
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7339  			BPF_ST_MEM(BPF_W, R10, -40, 0x01234567),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7340  			BPF_ALU32_IMM(BPF_MOV, R0, 0x76543210),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7341  			BPF_ALU32_IMM(BPF_MOV, R3, 0x89abcdef),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7342  			BPF_ATOMIC_OP(BPF_W, BPF_CMPXCHG, R10, R3, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7343  			BPF_EXIT_INSN(),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7344  		},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7345  		INTERNAL,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7346  		{ },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7347  		{ { 0, 0x01234567 } },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7348  		.stack_depth = 40,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7349  	},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7350  	{
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7351  		"BPF_ATOMIC | BPF_W, BPF_CMPXCHG: Test failure store",
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7352  		.u.insns_int = {
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7353  			BPF_ST_MEM(BPF_W, R10, -40, 0x01234567),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7354  			BPF_ALU32_IMM(BPF_MOV, R0, 0x76543210),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7355  			BPF_ALU32_IMM(BPF_MOV, R3, 0x89abcdef),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7356  			BPF_ATOMIC_OP(BPF_W, BPF_CMPXCHG, R10, R3, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7357  			BPF_LDX_MEM(BPF_W, R0, R10, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7358  			BPF_EXIT_INSN(),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7359  		},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7360  		INTERNAL,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7361  		{ },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7362  		{ { 0, 0x01234567 } },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7363  		.stack_depth = 40,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7364  	},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7365  	{
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7366  		"BPF_ATOMIC | BPF_W, BPF_CMPXCHG: Test side effects",
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7367  		.u.insns_int = {
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7368  			BPF_ST_MEM(BPF_W, R10, -40, 0x01234567),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7369  			BPF_ALU32_IMM(BPF_MOV, R0, 0x01234567),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7370  			BPF_ALU32_IMM(BPF_MOV, R3, 0x89abcdef),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7371  			BPF_ATOMIC_OP(BPF_W, BPF_CMPXCHG, R10, R3, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7372  			BPF_ATOMIC_OP(BPF_W, BPF_CMPXCHG, R10, R3, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7373  			BPF_ALU32_REG(BPF_MOV, R0, R3),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7374  			BPF_EXIT_INSN(),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7375  		},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7376  		INTERNAL,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7377  		{ },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7378  		{ { 0, 0x89abcdef } },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7379  		.stack_depth = 40,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7380  	},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7381  	/* BPF_ATOMIC | BPF_DW, BPF_CMPXCHG */
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7382  	{
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7383  		"BPF_ATOMIC | BPF_DW, BPF_CMPXCHG: Test successful return",
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7384  		.u.insns_int = {
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7385  			BPF_LD_IMM64(R1, 0x0123456789abcdefULL),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7386  			BPF_LD_IMM64(R2, 0xfecdba9876543210ULL),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7387  			BPF_ALU64_REG(BPF_MOV, R0, R1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7388  			BPF_STX_MEM(BPF_DW, R10, R1, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7389  			BPF_ATOMIC_OP(BPF_DW, BPF_CMPXCHG, R10, R2, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7390  			BPF_JMP_REG(BPF_JNE, R0, R1, 1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7391  			BPF_ALU64_REG(BPF_SUB, R0, R1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7392  			BPF_EXIT_INSN(),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7393  		},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7394  		INTERNAL,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7395  		{ },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7396  		{ { 0, 0 } },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7397  		.stack_depth = 40,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7398  	},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7399  	{
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7400  		"BPF_ATOMIC | BPF_DW, BPF_CMPXCHG: Test successful store",
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7401  		.u.insns_int = {
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7402  			BPF_LD_IMM64(R1, 0x0123456789abcdefULL),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7403  			BPF_LD_IMM64(R2, 0xfecdba9876543210ULL),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7404  			BPF_ALU64_REG(BPF_MOV, R0, R1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7405  			BPF_STX_MEM(BPF_DW, R10, R0, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7406  			BPF_ATOMIC_OP(BPF_DW, BPF_CMPXCHG, R10, R2, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7407  			BPF_LDX_MEM(BPF_DW, R0, R10, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7408  			BPF_JMP_REG(BPF_JNE, R0, R2, 1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7409  			BPF_ALU64_REG(BPF_SUB, R0, R2),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7410  			BPF_EXIT_INSN(),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7411  		},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7412  		INTERNAL,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7413  		{ },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7414  		{ { 0, 0 } },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7415  		.stack_depth = 40,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7416  	},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7417  	{
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7418  		"BPF_ATOMIC | BPF_DW, BPF_CMPXCHG: Test failure return",
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7419  		.u.insns_int = {
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7420  			BPF_LD_IMM64(R1, 0x0123456789abcdefULL),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7421  			BPF_LD_IMM64(R2, 0xfecdba9876543210ULL),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7422  			BPF_ALU64_REG(BPF_MOV, R0, R1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7423  			BPF_ALU64_IMM(BPF_ADD, R0, 1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7424  			BPF_STX_MEM(BPF_DW, R10, R1, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7425  			BPF_ATOMIC_OP(BPF_DW, BPF_CMPXCHG, R10, R2, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7426  			BPF_JMP_REG(BPF_JNE, R0, R1, 1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7427  			BPF_ALU64_REG(BPF_SUB, R0, R1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7428  			BPF_EXIT_INSN(),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7429  		},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7430  		INTERNAL,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7431  		{ },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7432  		{ { 0, 0 } },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7433  		.stack_depth = 40,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7434  	},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7435  	{
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7436  		"BPF_ATOMIC | BPF_DW, BPF_CMPXCHG: Test failure store",
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7437  		.u.insns_int = {
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7438  			BPF_LD_IMM64(R1, 0x0123456789abcdefULL),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7439  			BPF_LD_IMM64(R2, 0xfecdba9876543210ULL),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7440  			BPF_ALU64_REG(BPF_MOV, R0, R1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7441  			BPF_ALU64_IMM(BPF_ADD, R0, 1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7442  			BPF_STX_MEM(BPF_DW, R10, R1, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7443  			BPF_ATOMIC_OP(BPF_DW, BPF_CMPXCHG, R10, R2, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7444  			BPF_LDX_MEM(BPF_DW, R0, R10, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7445  			BPF_JMP_REG(BPF_JNE, R0, R1, 1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7446  			BPF_ALU64_REG(BPF_SUB, R0, R1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7447  			BPF_EXIT_INSN(),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7448  		},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7449  		INTERNAL,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7450  		{ },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7451  		{ { 0, 0 } },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7452  		.stack_depth = 40,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7453  	},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7454  	{
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7455  		"BPF_ATOMIC | BPF_DW, BPF_CMPXCHG: Test side effects",
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7456  		.u.insns_int = {
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7457  			BPF_LD_IMM64(R1, 0x0123456789abcdefULL),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7458  			BPF_LD_IMM64(R2, 0xfecdba9876543210ULL),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7459  			BPF_ALU64_REG(BPF_MOV, R0, R1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7460  			BPF_STX_MEM(BPF_DW, R10, R1, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7461  			BPF_ATOMIC_OP(BPF_DW, BPF_CMPXCHG, R10, R2, -40),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7462  			BPF_LD_IMM64(R0, 0xfecdba9876543210ULL),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7463  			BPF_JMP_REG(BPF_JNE, R0, R2, 1),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7464  			BPF_ALU64_REG(BPF_SUB, R0, R2),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7465  			BPF_EXIT_INSN(),
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7466  		},
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7467  		INTERNAL,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7468  		{ },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7469  		{ { 0, 0 } },
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7470  		.stack_depth = 40,
6a3b24ca489ea0 Johan Almbladh     2021-08-09   7471  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7472  	/* BPF_JMP32 | BPF_JEQ | BPF_K */
b55dfa85001545 Johan Almbladh     2021-08-09   7473  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7474  		"JMP32_JEQ_K: Small immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7475  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7476  			BPF_ALU32_IMM(BPF_MOV, R0, 123),
b55dfa85001545 Johan Almbladh     2021-08-09   7477  			BPF_JMP32_IMM(BPF_JEQ, R0, 321, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7478  			BPF_JMP32_IMM(BPF_JEQ, R0, 123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7479  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7480  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7481  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7482  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7483  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7484  		{ { 0, 123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7485  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7486  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7487  		"JMP32_JEQ_K: Large immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7488  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7489  			BPF_ALU32_IMM(BPF_MOV, R0, 12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7490  			BPF_JMP32_IMM(BPF_JEQ, R0, 12345678 & 0xffff, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7491  			BPF_JMP32_IMM(BPF_JEQ, R0, 12345678, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7492  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7493  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7494  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7495  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7496  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7497  		{ { 0, 12345678 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7498  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7499  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7500  		"JMP32_JEQ_K: negative immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7501  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7502  			BPF_ALU32_IMM(BPF_MOV, R0, -123),
b55dfa85001545 Johan Almbladh     2021-08-09   7503  			BPF_JMP32_IMM(BPF_JEQ, R0,  123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7504  			BPF_JMP32_IMM(BPF_JEQ, R0, -123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7505  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7506  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7507  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7508  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7509  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7510  		{ { 0, -123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7511  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7512  	/* BPF_JMP32 | BPF_JEQ | BPF_X */
b55dfa85001545 Johan Almbladh     2021-08-09   7513  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7514  		"JMP32_JEQ_X",
b55dfa85001545 Johan Almbladh     2021-08-09   7515  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7516  			BPF_ALU32_IMM(BPF_MOV, R0, 1234),
b55dfa85001545 Johan Almbladh     2021-08-09   7517  			BPF_ALU32_IMM(BPF_MOV, R1, 4321),
b55dfa85001545 Johan Almbladh     2021-08-09   7518  			BPF_JMP32_REG(BPF_JEQ, R0, R1, 2),
b55dfa85001545 Johan Almbladh     2021-08-09   7519  			BPF_ALU32_IMM(BPF_MOV, R1, 1234),
b55dfa85001545 Johan Almbladh     2021-08-09   7520  			BPF_JMP32_REG(BPF_JEQ, R0, R1, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7521  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7522  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7523  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7524  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7525  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7526  		{ { 0, 1234 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7527  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7528  	/* BPF_JMP32 | BPF_JNE | BPF_K */
b55dfa85001545 Johan Almbladh     2021-08-09   7529  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7530  		"JMP32_JNE_K: Small immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7531  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7532  			BPF_ALU32_IMM(BPF_MOV, R0, 123),
b55dfa85001545 Johan Almbladh     2021-08-09   7533  			BPF_JMP32_IMM(BPF_JNE, R0, 123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7534  			BPF_JMP32_IMM(BPF_JNE, R0, 321, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7535  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7536  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7537  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7538  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7539  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7540  		{ { 0, 123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7541  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7542  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7543  		"JMP32_JNE_K: Large immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7544  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7545  			BPF_ALU32_IMM(BPF_MOV, R0, 12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7546  			BPF_JMP32_IMM(BPF_JNE, R0, 12345678, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7547  			BPF_JMP32_IMM(BPF_JNE, R0, 12345678 & 0xffff, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7548  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7549  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7550  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7551  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7552  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7553  		{ { 0, 12345678 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7554  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7555  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7556  		"JMP32_JNE_K: negative immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7557  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7558  			BPF_ALU32_IMM(BPF_MOV, R0, -123),
b55dfa85001545 Johan Almbladh     2021-08-09   7559  			BPF_JMP32_IMM(BPF_JNE, R0, -123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7560  			BPF_JMP32_IMM(BPF_JNE, R0,  123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7561  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7562  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7563  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7564  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7565  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7566  		{ { 0, -123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7567  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7568  	/* BPF_JMP32 | BPF_JNE | BPF_X */
b55dfa85001545 Johan Almbladh     2021-08-09   7569  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7570  		"JMP32_JNE_X",
b55dfa85001545 Johan Almbladh     2021-08-09   7571  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7572  			BPF_ALU32_IMM(BPF_MOV, R0, 1234),
b55dfa85001545 Johan Almbladh     2021-08-09   7573  			BPF_ALU32_IMM(BPF_MOV, R1, 1234),
b55dfa85001545 Johan Almbladh     2021-08-09   7574  			BPF_JMP32_REG(BPF_JNE, R0, R1, 2),
b55dfa85001545 Johan Almbladh     2021-08-09   7575  			BPF_ALU32_IMM(BPF_MOV, R1, 4321),
b55dfa85001545 Johan Almbladh     2021-08-09   7576  			BPF_JMP32_REG(BPF_JNE, R0, R1, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7577  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7578  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7579  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7580  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7581  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7582  		{ { 0, 1234 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7583  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7584  	/* BPF_JMP32 | BPF_JSET | BPF_K */
b55dfa85001545 Johan Almbladh     2021-08-09   7585  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7586  		"JMP32_JSET_K: Small immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7587  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7588  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7589  			BPF_JMP32_IMM(BPF_JSET, R0, 2, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7590  			BPF_JMP32_IMM(BPF_JSET, R0, 3, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7591  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7592  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7593  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7594  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7595  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7596  		{ { 0, 1 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7597  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7598  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7599  		"JMP32_JSET_K: Large immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7600  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7601  			BPF_ALU32_IMM(BPF_MOV, R0, 0x40000000),
b55dfa85001545 Johan Almbladh     2021-08-09   7602  			BPF_JMP32_IMM(BPF_JSET, R0, 0x3fffffff, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7603  			BPF_JMP32_IMM(BPF_JSET, R0, 0x60000000, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7604  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7605  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7606  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7607  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7608  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7609  		{ { 0, 0x40000000 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7610  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7611  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7612  		"JMP32_JSET_K: negative immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7613  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7614  			BPF_ALU32_IMM(BPF_MOV, R0, -123),
b55dfa85001545 Johan Almbladh     2021-08-09   7615  			BPF_JMP32_IMM(BPF_JSET, R0, -1, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7616  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7617  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7618  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7619  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7620  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7621  		{ { 0, -123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7622  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7623  	/* BPF_JMP32 | BPF_JSET | BPF_X */
b55dfa85001545 Johan Almbladh     2021-08-09   7624  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7625  		"JMP32_JSET_X",
b55dfa85001545 Johan Almbladh     2021-08-09   7626  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7627  			BPF_ALU32_IMM(BPF_MOV, R0, 8),
b55dfa85001545 Johan Almbladh     2021-08-09   7628  			BPF_ALU32_IMM(BPF_MOV, R1, 7),
b55dfa85001545 Johan Almbladh     2021-08-09   7629  			BPF_JMP32_REG(BPF_JSET, R0, R1, 2),
b55dfa85001545 Johan Almbladh     2021-08-09   7630  			BPF_ALU32_IMM(BPF_MOV, R1, 8 | 2),
b55dfa85001545 Johan Almbladh     2021-08-09   7631  			BPF_JMP32_REG(BPF_JNE, R0, R1, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7632  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7633  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7634  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7635  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7636  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7637  		{ { 0, 8 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7638  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7639  	/* BPF_JMP32 | BPF_JGT | BPF_K */
b55dfa85001545 Johan Almbladh     2021-08-09   7640  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7641  		"JMP32_JGT_K: Small immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7642  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7643  			BPF_ALU32_IMM(BPF_MOV, R0, 123),
b55dfa85001545 Johan Almbladh     2021-08-09   7644  			BPF_JMP32_IMM(BPF_JGT, R0, 123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7645  			BPF_JMP32_IMM(BPF_JGT, R0, 122, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7646  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7647  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7648  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7649  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7650  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7651  		{ { 0, 123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7652  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7653  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7654  		"JMP32_JGT_K: Large immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7655  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7656  			BPF_ALU32_IMM(BPF_MOV, R0, 0xfffffffe),
b55dfa85001545 Johan Almbladh     2021-08-09   7657  			BPF_JMP32_IMM(BPF_JGT, R0, 0xffffffff, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7658  			BPF_JMP32_IMM(BPF_JGT, R0, 0xfffffffd, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7659  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7660  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7661  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7662  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7663  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7664  		{ { 0, 0xfffffffe } }
b55dfa85001545 Johan Almbladh     2021-08-09   7665  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7666  	/* BPF_JMP32 | BPF_JGT | BPF_X */
b55dfa85001545 Johan Almbladh     2021-08-09   7667  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7668  		"JMP32_JGT_X",
b55dfa85001545 Johan Almbladh     2021-08-09   7669  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7670  			BPF_ALU32_IMM(BPF_MOV, R0, 0xfffffffe),
b55dfa85001545 Johan Almbladh     2021-08-09   7671  			BPF_ALU32_IMM(BPF_MOV, R1, 0xffffffff),
b55dfa85001545 Johan Almbladh     2021-08-09   7672  			BPF_JMP32_REG(BPF_JGT, R0, R1, 2),
b55dfa85001545 Johan Almbladh     2021-08-09   7673  			BPF_ALU32_IMM(BPF_MOV, R1, 0xfffffffd),
b55dfa85001545 Johan Almbladh     2021-08-09   7674  			BPF_JMP32_REG(BPF_JGT, R0, R1, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7675  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7676  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7677  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7678  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7679  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7680  		{ { 0, 0xfffffffe } }
b55dfa85001545 Johan Almbladh     2021-08-09   7681  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7682  	/* BPF_JMP32 | BPF_JGE | BPF_K */
b55dfa85001545 Johan Almbladh     2021-08-09   7683  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7684  		"JMP32_JGE_K: Small immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7685  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7686  			BPF_ALU32_IMM(BPF_MOV, R0, 123),
b55dfa85001545 Johan Almbladh     2021-08-09   7687  			BPF_JMP32_IMM(BPF_JGE, R0, 124, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7688  			BPF_JMP32_IMM(BPF_JGE, R0, 123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7689  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7690  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7691  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7692  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7693  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7694  		{ { 0, 123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7695  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7696  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7697  		"JMP32_JGE_K: Large immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7698  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7699  			BPF_ALU32_IMM(BPF_MOV, R0, 0xfffffffe),
b55dfa85001545 Johan Almbladh     2021-08-09   7700  			BPF_JMP32_IMM(BPF_JGE, R0, 0xffffffff, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7701  			BPF_JMP32_IMM(BPF_JGE, R0, 0xfffffffe, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7702  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7703  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7704  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7705  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7706  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7707  		{ { 0, 0xfffffffe } }
b55dfa85001545 Johan Almbladh     2021-08-09   7708  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7709  	/* BPF_JMP32 | BPF_JGE | BPF_X */
b55dfa85001545 Johan Almbladh     2021-08-09   7710  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7711  		"JMP32_JGE_X",
b55dfa85001545 Johan Almbladh     2021-08-09   7712  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7713  			BPF_ALU32_IMM(BPF_MOV, R0, 0xfffffffe),
b55dfa85001545 Johan Almbladh     2021-08-09   7714  			BPF_ALU32_IMM(BPF_MOV, R1, 0xffffffff),
b55dfa85001545 Johan Almbladh     2021-08-09   7715  			BPF_JMP32_REG(BPF_JGE, R0, R1, 2),
b55dfa85001545 Johan Almbladh     2021-08-09   7716  			BPF_ALU32_IMM(BPF_MOV, R1, 0xfffffffe),
b55dfa85001545 Johan Almbladh     2021-08-09   7717  			BPF_JMP32_REG(BPF_JGE, R0, R1, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7718  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7719  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7720  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7721  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7722  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7723  		{ { 0, 0xfffffffe } }
b55dfa85001545 Johan Almbladh     2021-08-09   7724  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7725  	/* BPF_JMP32 | BPF_JLT | BPF_K */
b55dfa85001545 Johan Almbladh     2021-08-09   7726  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7727  		"JMP32_JLT_K: Small immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7728  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7729  			BPF_ALU32_IMM(BPF_MOV, R0, 123),
b55dfa85001545 Johan Almbladh     2021-08-09   7730  			BPF_JMP32_IMM(BPF_JLT, R0, 123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7731  			BPF_JMP32_IMM(BPF_JLT, R0, 124, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7732  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7733  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7734  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7735  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7736  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7737  		{ { 0, 123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7738  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7739  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7740  		"JMP32_JLT_K: Large immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7741  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7742  			BPF_ALU32_IMM(BPF_MOV, R0, 0xfffffffe),
b55dfa85001545 Johan Almbladh     2021-08-09   7743  			BPF_JMP32_IMM(BPF_JLT, R0, 0xfffffffd, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7744  			BPF_JMP32_IMM(BPF_JLT, R0, 0xffffffff, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7745  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7746  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7747  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7748  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7749  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7750  		{ { 0, 0xfffffffe } }
b55dfa85001545 Johan Almbladh     2021-08-09   7751  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7752  	/* BPF_JMP32 | BPF_JLT | BPF_X */
b55dfa85001545 Johan Almbladh     2021-08-09   7753  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7754  		"JMP32_JLT_X",
b55dfa85001545 Johan Almbladh     2021-08-09   7755  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7756  			BPF_ALU32_IMM(BPF_MOV, R0, 0xfffffffe),
b55dfa85001545 Johan Almbladh     2021-08-09   7757  			BPF_ALU32_IMM(BPF_MOV, R1, 0xfffffffd),
b55dfa85001545 Johan Almbladh     2021-08-09   7758  			BPF_JMP32_REG(BPF_JLT, R0, R1, 2),
b55dfa85001545 Johan Almbladh     2021-08-09   7759  			BPF_ALU32_IMM(BPF_MOV, R1, 0xffffffff),
b55dfa85001545 Johan Almbladh     2021-08-09   7760  			BPF_JMP32_REG(BPF_JLT, R0, R1, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7761  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7762  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7763  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7764  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7765  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7766  		{ { 0, 0xfffffffe } }
b55dfa85001545 Johan Almbladh     2021-08-09   7767  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7768  	/* BPF_JMP32 | BPF_JLE | BPF_K */
b55dfa85001545 Johan Almbladh     2021-08-09   7769  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7770  		"JMP32_JLE_K: Small immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7771  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7772  			BPF_ALU32_IMM(BPF_MOV, R0, 123),
b55dfa85001545 Johan Almbladh     2021-08-09   7773  			BPF_JMP32_IMM(BPF_JLE, R0, 122, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7774  			BPF_JMP32_IMM(BPF_JLE, R0, 123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7775  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7776  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7777  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7778  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7779  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7780  		{ { 0, 123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7781  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7782  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7783  		"JMP32_JLE_K: Large immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7784  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7785  			BPF_ALU32_IMM(BPF_MOV, R0, 0xfffffffe),
b55dfa85001545 Johan Almbladh     2021-08-09   7786  			BPF_JMP32_IMM(BPF_JLE, R0, 0xfffffffd, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7787  			BPF_JMP32_IMM(BPF_JLE, R0, 0xfffffffe, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7788  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7789  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7790  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7791  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7792  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7793  		{ { 0, 0xfffffffe } }
b55dfa85001545 Johan Almbladh     2021-08-09   7794  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7795  	/* BPF_JMP32 | BPF_JLE | BPF_X */
b55dfa85001545 Johan Almbladh     2021-08-09   7796  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7797  		"JMP32_JLE_X",
b55dfa85001545 Johan Almbladh     2021-08-09   7798  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7799  			BPF_ALU32_IMM(BPF_MOV, R0, 0xfffffffe),
b55dfa85001545 Johan Almbladh     2021-08-09   7800  			BPF_ALU32_IMM(BPF_MOV, R1, 0xfffffffd),
b55dfa85001545 Johan Almbladh     2021-08-09   7801  			BPF_JMP32_REG(BPF_JLE, R0, R1, 2),
b55dfa85001545 Johan Almbladh     2021-08-09   7802  			BPF_ALU32_IMM(BPF_MOV, R1, 0xfffffffe),
b55dfa85001545 Johan Almbladh     2021-08-09   7803  			BPF_JMP32_REG(BPF_JLE, R0, R1, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7804  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7805  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7806  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7807  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7808  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7809  		{ { 0, 0xfffffffe } }
b55dfa85001545 Johan Almbladh     2021-08-09   7810  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7811  	/* BPF_JMP32 | BPF_JSGT | BPF_K */
b55dfa85001545 Johan Almbladh     2021-08-09   7812  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7813  		"JMP32_JSGT_K: Small immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7814  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7815  			BPF_ALU32_IMM(BPF_MOV, R0, -123),
b55dfa85001545 Johan Almbladh     2021-08-09   7816  			BPF_JMP32_IMM(BPF_JSGT, R0, -123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7817  			BPF_JMP32_IMM(BPF_JSGT, R0, -124, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7818  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7819  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7820  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7821  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7822  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7823  		{ { 0, -123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7824  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7825  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7826  		"JMP32_JSGT_K: Large immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7827  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7828  			BPF_ALU32_IMM(BPF_MOV, R0, -12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7829  			BPF_JMP32_IMM(BPF_JSGT, R0, -12345678, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7830  			BPF_JMP32_IMM(BPF_JSGT, R0, -12345679, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7831  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7832  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7833  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7834  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7835  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7836  		{ { 0, -12345678 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7837  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7838  	/* BPF_JMP32 | BPF_JSGT | BPF_X */
b55dfa85001545 Johan Almbladh     2021-08-09   7839  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7840  		"JMP32_JSGT_X",
b55dfa85001545 Johan Almbladh     2021-08-09   7841  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7842  			BPF_ALU32_IMM(BPF_MOV, R0, -12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7843  			BPF_ALU32_IMM(BPF_MOV, R1, -12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7844  			BPF_JMP32_REG(BPF_JSGT, R0, R1, 2),
b55dfa85001545 Johan Almbladh     2021-08-09   7845  			BPF_ALU32_IMM(BPF_MOV, R1, -12345679),
b55dfa85001545 Johan Almbladh     2021-08-09   7846  			BPF_JMP32_REG(BPF_JSGT, R0, R1, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7847  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7848  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7849  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7850  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7851  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7852  		{ { 0, -12345678 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7853  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7854  	/* BPF_JMP32 | BPF_JSGE | BPF_K */
b55dfa85001545 Johan Almbladh     2021-08-09   7855  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7856  		"JMP32_JSGE_K: Small immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7857  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7858  			BPF_ALU32_IMM(BPF_MOV, R0, -123),
b55dfa85001545 Johan Almbladh     2021-08-09   7859  			BPF_JMP32_IMM(BPF_JSGE, R0, -122, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7860  			BPF_JMP32_IMM(BPF_JSGE, R0, -123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7861  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7862  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7863  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7864  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7865  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7866  		{ { 0, -123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7867  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7868  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7869  		"JMP32_JSGE_K: Large immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7870  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7871  			BPF_ALU32_IMM(BPF_MOV, R0, -12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7872  			BPF_JMP32_IMM(BPF_JSGE, R0, -12345677, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7873  			BPF_JMP32_IMM(BPF_JSGE, R0, -12345678, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7874  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7875  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7876  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7877  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7878  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7879  		{ { 0, -12345678 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7880  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7881  	/* BPF_JMP32 | BPF_JSGE | BPF_X */
b55dfa85001545 Johan Almbladh     2021-08-09   7882  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7883  		"JMP32_JSGE_X",
b55dfa85001545 Johan Almbladh     2021-08-09   7884  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7885  			BPF_ALU32_IMM(BPF_MOV, R0, -12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7886  			BPF_ALU32_IMM(BPF_MOV, R1, -12345677),
b55dfa85001545 Johan Almbladh     2021-08-09   7887  			BPF_JMP32_REG(BPF_JSGE, R0, R1, 2),
b55dfa85001545 Johan Almbladh     2021-08-09   7888  			BPF_ALU32_IMM(BPF_MOV, R1, -12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7889  			BPF_JMP32_REG(BPF_JSGE, R0, R1, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7890  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7891  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7892  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7893  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7894  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7895  		{ { 0, -12345678 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7896  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7897  	/* BPF_JMP32 | BPF_JSLT | BPF_K */
b55dfa85001545 Johan Almbladh     2021-08-09   7898  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7899  		"JMP32_JSLT_K: Small immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7900  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7901  			BPF_ALU32_IMM(BPF_MOV, R0, -123),
b55dfa85001545 Johan Almbladh     2021-08-09   7902  			BPF_JMP32_IMM(BPF_JSLT, R0, -123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7903  			BPF_JMP32_IMM(BPF_JSLT, R0, -122, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7904  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7905  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7906  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7907  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7908  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7909  		{ { 0, -123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7910  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7911  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7912  		"JMP32_JSLT_K: Large immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7913  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7914  			BPF_ALU32_IMM(BPF_MOV, R0, -12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7915  			BPF_JMP32_IMM(BPF_JSLT, R0, -12345678, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7916  			BPF_JMP32_IMM(BPF_JSLT, R0, -12345677, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7917  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7918  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7919  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7920  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7921  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7922  		{ { 0, -12345678 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7923  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7924  	/* BPF_JMP32 | BPF_JSLT | BPF_X */
b55dfa85001545 Johan Almbladh     2021-08-09   7925  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7926  		"JMP32_JSLT_X",
b55dfa85001545 Johan Almbladh     2021-08-09   7927  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7928  			BPF_ALU32_IMM(BPF_MOV, R0, -12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7929  			BPF_ALU32_IMM(BPF_MOV, R1, -12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7930  			BPF_JMP32_REG(BPF_JSLT, R0, R1, 2),
b55dfa85001545 Johan Almbladh     2021-08-09   7931  			BPF_ALU32_IMM(BPF_MOV, R1, -12345677),
b55dfa85001545 Johan Almbladh     2021-08-09   7932  			BPF_JMP32_REG(BPF_JSLT, R0, R1, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7933  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7934  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7935  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7936  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7937  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7938  		{ { 0, -12345678 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7939  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7940  	/* BPF_JMP32 | BPF_JSLE | BPF_K */
b55dfa85001545 Johan Almbladh     2021-08-09   7941  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7942  		"JMP32_JSLE_K: Small immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7943  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7944  			BPF_ALU32_IMM(BPF_MOV, R0, -123),
b55dfa85001545 Johan Almbladh     2021-08-09   7945  			BPF_JMP32_IMM(BPF_JSLE, R0, -124, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7946  			BPF_JMP32_IMM(BPF_JSLE, R0, -123, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7947  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7948  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7949  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7950  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7951  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7952  		{ { 0, -123 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7953  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7954  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7955  		"JMP32_JSLE_K: Large immediate",
b55dfa85001545 Johan Almbladh     2021-08-09   7956  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7957  			BPF_ALU32_IMM(BPF_MOV, R0, -12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7958  			BPF_JMP32_IMM(BPF_JSLE, R0, -12345679, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7959  			BPF_JMP32_IMM(BPF_JSLE, R0, -12345678, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7960  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7961  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7962  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7963  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7964  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7965  		{ { 0, -12345678 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7966  	},
b55dfa85001545 Johan Almbladh     2021-08-09   7967  	/* BPF_JMP32 | BPF_JSLE | BPF_K */
b55dfa85001545 Johan Almbladh     2021-08-09   7968  	{
b55dfa85001545 Johan Almbladh     2021-08-09   7969  		"JMP32_JSLE_X",
b55dfa85001545 Johan Almbladh     2021-08-09   7970  		.u.insns_int = {
b55dfa85001545 Johan Almbladh     2021-08-09   7971  			BPF_ALU32_IMM(BPF_MOV, R0, -12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7972  			BPF_ALU32_IMM(BPF_MOV, R1, -12345679),
b55dfa85001545 Johan Almbladh     2021-08-09   7973  			BPF_JMP32_REG(BPF_JSLE, R0, R1, 2),
b55dfa85001545 Johan Almbladh     2021-08-09   7974  			BPF_ALU32_IMM(BPF_MOV, R1, -12345678),
b55dfa85001545 Johan Almbladh     2021-08-09   7975  			BPF_JMP32_REG(BPF_JSLE, R0, R1, 1),
b55dfa85001545 Johan Almbladh     2021-08-09   7976  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
b55dfa85001545 Johan Almbladh     2021-08-09   7977  			BPF_EXIT_INSN(),
b55dfa85001545 Johan Almbladh     2021-08-09   7978  		},
b55dfa85001545 Johan Almbladh     2021-08-09   7979  		INTERNAL,
b55dfa85001545 Johan Almbladh     2021-08-09   7980  		{ },
b55dfa85001545 Johan Almbladh     2021-08-09   7981  		{ { 0, -12345678 } }
b55dfa85001545 Johan Almbladh     2021-08-09   7982  	},
cffc642d93f932 Michael Holzheu    2015-05-11   7983  	/* BPF_JMP | BPF_EXIT */
cffc642d93f932 Michael Holzheu    2015-05-11   7984  	{
cffc642d93f932 Michael Holzheu    2015-05-11   7985  		"JMP_EXIT",
cffc642d93f932 Michael Holzheu    2015-05-11   7986  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   7987  			BPF_ALU32_IMM(BPF_MOV, R0, 0x4711),
cffc642d93f932 Michael Holzheu    2015-05-11   7988  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   7989  			BPF_ALU32_IMM(BPF_MOV, R0, 0x4712),
cffc642d93f932 Michael Holzheu    2015-05-11   7990  		},
cffc642d93f932 Michael Holzheu    2015-05-11   7991  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   7992  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   7993  		{ { 0, 0x4711 } },
cffc642d93f932 Michael Holzheu    2015-05-11   7994  	},
cffc642d93f932 Michael Holzheu    2015-05-11   7995  	/* BPF_JMP | BPF_JA */
cffc642d93f932 Michael Holzheu    2015-05-11   7996  	{
cffc642d93f932 Michael Holzheu    2015-05-11   7997  		"JMP_JA: Unconditional jump: if (true) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   7998  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   7999  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8000  			BPF_JMP_IMM(BPF_JA, 0, 0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8001  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8002  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8003  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8004  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8005  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8006  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8007  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8008  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8009  	/* BPF_JMP | BPF_JSLT | BPF_K */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8010  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8011  		"JMP_JSLT_K: Signed jump: if (-2 < -1) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8012  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8013  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8014  			BPF_LD_IMM64(R1, 0xfffffffffffffffeLL),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8015  			BPF_JMP_IMM(BPF_JSLT, R1, -1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8016  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8017  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8018  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8019  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8020  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8021  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8022  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8023  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8024  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8025  		"JMP_JSLT_K: Signed jump: if (-1 < -1) return 0",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8026  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8027  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8028  			BPF_LD_IMM64(R1, 0xffffffffffffffffLL),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8029  			BPF_JMP_IMM(BPF_JSLT, R1, -1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8030  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8031  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8032  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8033  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8034  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8035  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8036  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8037  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8038  	/* BPF_JMP | BPF_JSGT | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   8039  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8040  		"JMP_JSGT_K: Signed jump: if (-1 > -2) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8041  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8042  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8043  			BPF_LD_IMM64(R1, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   8044  			BPF_JMP_IMM(BPF_JSGT, R1, -2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8045  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8046  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8047  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8048  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8049  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8050  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8051  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8052  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8053  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8054  		"JMP_JSGT_K: Signed jump: if (-1 > -1) return 0",
cffc642d93f932 Michael Holzheu    2015-05-11   8055  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8056  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8057  			BPF_LD_IMM64(R1, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   8058  			BPF_JMP_IMM(BPF_JSGT, R1, -1, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8059  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8060  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8061  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8062  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8063  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8064  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8065  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8066  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8067  	/* BPF_JMP | BPF_JSLE | BPF_K */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8068  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8069  		"JMP_JSLE_K: Signed jump: if (-2 <= -1) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8070  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8071  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8072  			BPF_LD_IMM64(R1, 0xfffffffffffffffeLL),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8073  			BPF_JMP_IMM(BPF_JSLE, R1, -1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8074  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8075  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8076  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8077  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8078  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8079  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8080  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8081  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8082  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8083  		"JMP_JSLE_K: Signed jump: if (-1 <= -1) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8084  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8085  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8086  			BPF_LD_IMM64(R1, 0xffffffffffffffffLL),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8087  			BPF_JMP_IMM(BPF_JSLE, R1, -1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8088  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8089  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8090  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8091  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8092  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8093  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8094  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8095  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8096  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8097  		"JMP_JSLE_K: Signed jump: value walk 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8098  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8099  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8100  			BPF_LD_IMM64(R1, 3),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8101  			BPF_JMP_IMM(BPF_JSLE, R1, 0, 6),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8102  			BPF_ALU64_IMM(BPF_SUB, R1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8103  			BPF_JMP_IMM(BPF_JSLE, R1, 0, 4),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8104  			BPF_ALU64_IMM(BPF_SUB, R1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8105  			BPF_JMP_IMM(BPF_JSLE, R1, 0, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8106  			BPF_ALU64_IMM(BPF_SUB, R1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8107  			BPF_JMP_IMM(BPF_JSLE, R1, 0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8108  			BPF_EXIT_INSN(),		/* bad exit */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8109  			BPF_ALU32_IMM(BPF_MOV, R0, 1),	/* good exit */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8110  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8111  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8112  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8113  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8114  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8115  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8116  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8117  		"JMP_JSLE_K: Signed jump: value walk 2",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8118  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8119  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8120  			BPF_LD_IMM64(R1, 3),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8121  			BPF_JMP_IMM(BPF_JSLE, R1, 0, 4),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8122  			BPF_ALU64_IMM(BPF_SUB, R1, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8123  			BPF_JMP_IMM(BPF_JSLE, R1, 0, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8124  			BPF_ALU64_IMM(BPF_SUB, R1, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8125  			BPF_JMP_IMM(BPF_JSLE, R1, 0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8126  			BPF_EXIT_INSN(),		/* bad exit */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8127  			BPF_ALU32_IMM(BPF_MOV, R0, 1),	/* good exit */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8128  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8129  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8130  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8131  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8132  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8133  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8134  	/* BPF_JMP | BPF_JSGE | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   8135  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8136  		"JMP_JSGE_K: Signed jump: if (-1 >= -2) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8137  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8138  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8139  			BPF_LD_IMM64(R1, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   8140  			BPF_JMP_IMM(BPF_JSGE, R1, -2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8141  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8142  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8143  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8144  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8145  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8146  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8147  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8148  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8149  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8150  		"JMP_JSGE_K: Signed jump: if (-1 >= -1) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8151  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8152  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8153  			BPF_LD_IMM64(R1, 0xffffffffffffffffLL),
cffc642d93f932 Michael Holzheu    2015-05-11   8154  			BPF_JMP_IMM(BPF_JSGE, R1, -1, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8155  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8156  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8157  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8158  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8159  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8160  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8161  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8162  	},
791caeb084c57e David Daney        2017-05-24   8163  	{
791caeb084c57e David Daney        2017-05-24   8164  		"JMP_JSGE_K: Signed jump: value walk 1",
791caeb084c57e David Daney        2017-05-24   8165  		.u.insns_int = {
791caeb084c57e David Daney        2017-05-24   8166  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
791caeb084c57e David Daney        2017-05-24   8167  			BPF_LD_IMM64(R1, -3),
791caeb084c57e David Daney        2017-05-24   8168  			BPF_JMP_IMM(BPF_JSGE, R1, 0, 6),
791caeb084c57e David Daney        2017-05-24   8169  			BPF_ALU64_IMM(BPF_ADD, R1, 1),
791caeb084c57e David Daney        2017-05-24   8170  			BPF_JMP_IMM(BPF_JSGE, R1, 0, 4),
791caeb084c57e David Daney        2017-05-24   8171  			BPF_ALU64_IMM(BPF_ADD, R1, 1),
791caeb084c57e David Daney        2017-05-24   8172  			BPF_JMP_IMM(BPF_JSGE, R1, 0, 2),
791caeb084c57e David Daney        2017-05-24   8173  			BPF_ALU64_IMM(BPF_ADD, R1, 1),
791caeb084c57e David Daney        2017-05-24   8174  			BPF_JMP_IMM(BPF_JSGE, R1, 0, 1),
791caeb084c57e David Daney        2017-05-24   8175  			BPF_EXIT_INSN(),		/* bad exit */
791caeb084c57e David Daney        2017-05-24   8176  			BPF_ALU32_IMM(BPF_MOV, R0, 1),	/* good exit */
791caeb084c57e David Daney        2017-05-24   8177  			BPF_EXIT_INSN(),
791caeb084c57e David Daney        2017-05-24   8178  		},
791caeb084c57e David Daney        2017-05-24   8179  		INTERNAL,
791caeb084c57e David Daney        2017-05-24   8180  		{ },
791caeb084c57e David Daney        2017-05-24   8181  		{ { 0, 1 } },
791caeb084c57e David Daney        2017-05-24   8182  	},
791caeb084c57e David Daney        2017-05-24   8183  	{
791caeb084c57e David Daney        2017-05-24   8184  		"JMP_JSGE_K: Signed jump: value walk 2",
791caeb084c57e David Daney        2017-05-24   8185  		.u.insns_int = {
791caeb084c57e David Daney        2017-05-24   8186  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
791caeb084c57e David Daney        2017-05-24   8187  			BPF_LD_IMM64(R1, -3),
791caeb084c57e David Daney        2017-05-24   8188  			BPF_JMP_IMM(BPF_JSGE, R1, 0, 4),
791caeb084c57e David Daney        2017-05-24   8189  			BPF_ALU64_IMM(BPF_ADD, R1, 2),
791caeb084c57e David Daney        2017-05-24   8190  			BPF_JMP_IMM(BPF_JSGE, R1, 0, 2),
791caeb084c57e David Daney        2017-05-24   8191  			BPF_ALU64_IMM(BPF_ADD, R1, 2),
791caeb084c57e David Daney        2017-05-24   8192  			BPF_JMP_IMM(BPF_JSGE, R1, 0, 1),
791caeb084c57e David Daney        2017-05-24   8193  			BPF_EXIT_INSN(),		/* bad exit */
791caeb084c57e David Daney        2017-05-24   8194  			BPF_ALU32_IMM(BPF_MOV, R0, 1),	/* good exit */
791caeb084c57e David Daney        2017-05-24   8195  			BPF_EXIT_INSN(),
791caeb084c57e David Daney        2017-05-24   8196  		},
791caeb084c57e David Daney        2017-05-24   8197  		INTERNAL,
791caeb084c57e David Daney        2017-05-24   8198  		{ },
791caeb084c57e David Daney        2017-05-24   8199  		{ { 0, 1 } },
791caeb084c57e David Daney        2017-05-24   8200  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8201  	/* BPF_JMP | BPF_JGT | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   8202  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8203  		"JMP_JGT_K: if (3 > 2) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8204  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8205  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8206  			BPF_LD_IMM64(R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8207  			BPF_JMP_IMM(BPF_JGT, R1, 2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8208  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8209  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8210  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8211  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8212  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8213  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8214  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8215  	},
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8216  	{
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8217  		"JMP_JGT_K: Unsigned jump: if (-1 > 1) return 1",
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8218  		.u.insns_int = {
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8219  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8220  			BPF_LD_IMM64(R1, -1),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8221  			BPF_JMP_IMM(BPF_JGT, R1, 1, 1),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8222  			BPF_EXIT_INSN(),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8223  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8224  			BPF_EXIT_INSN(),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8225  		},
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8226  		INTERNAL,
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8227  		{ },
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8228  		{ { 0, 1 } },
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8229  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8230  	/* BPF_JMP | BPF_JLT | BPF_K */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8231  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8232  		"JMP_JLT_K: if (2 < 3) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8233  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8234  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8235  			BPF_LD_IMM64(R1, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8236  			BPF_JMP_IMM(BPF_JLT, R1, 3, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8237  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8238  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8239  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8240  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8241  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8242  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8243  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8244  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8245  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8246  		"JMP_JGT_K: Unsigned jump: if (1 < -1) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8247  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8248  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8249  			BPF_LD_IMM64(R1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8250  			BPF_JMP_IMM(BPF_JLT, R1, -1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8251  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8252  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8253  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8254  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8255  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8256  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8257  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8258  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8259  	/* BPF_JMP | BPF_JGE | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   8260  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8261  		"JMP_JGE_K: if (3 >= 2) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8262  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8263  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8264  			BPF_LD_IMM64(R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8265  			BPF_JMP_IMM(BPF_JGE, R1, 2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8266  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8267  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8268  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8269  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8270  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8271  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8272  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8273  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8274  	/* BPF_JMP | BPF_JLE | BPF_K */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8275  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8276  		"JMP_JLE_K: if (2 <= 3) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8277  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8278  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8279  			BPF_LD_IMM64(R1, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8280  			BPF_JMP_IMM(BPF_JLE, R1, 3, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8281  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8282  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8283  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8284  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8285  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8286  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8287  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8288  	},
fe593844957a7c Michael Holzheu    2015-05-22   8289  	/* BPF_JMP | BPF_JGT | BPF_K jump backwards */
fe593844957a7c Michael Holzheu    2015-05-22   8290  	{
fe593844957a7c Michael Holzheu    2015-05-22   8291  		"JMP_JGT_K: if (3 > 2) return 1 (jump backwards)",
fe593844957a7c Michael Holzheu    2015-05-22   8292  		.u.insns_int = {
fe593844957a7c Michael Holzheu    2015-05-22   8293  			BPF_JMP_IMM(BPF_JA, 0, 0, 2), /* goto start */
fe593844957a7c Michael Holzheu    2015-05-22   8294  			BPF_ALU32_IMM(BPF_MOV, R0, 1), /* out: */
fe593844957a7c Michael Holzheu    2015-05-22   8295  			BPF_EXIT_INSN(),
fe593844957a7c Michael Holzheu    2015-05-22   8296  			BPF_ALU32_IMM(BPF_MOV, R0, 0), /* start: */
fe593844957a7c Michael Holzheu    2015-05-22   8297  			BPF_LD_IMM64(R1, 3), /* note: this takes 2 insns */
fe593844957a7c Michael Holzheu    2015-05-22   8298  			BPF_JMP_IMM(BPF_JGT, R1, 2, -6), /* goto out */
fe593844957a7c Michael Holzheu    2015-05-22   8299  			BPF_EXIT_INSN(),
fe593844957a7c Michael Holzheu    2015-05-22   8300  		},
fe593844957a7c Michael Holzheu    2015-05-22   8301  		INTERNAL,
fe593844957a7c Michael Holzheu    2015-05-22   8302  		{ },
fe593844957a7c Michael Holzheu    2015-05-22   8303  		{ { 0, 1 } },
fe593844957a7c Michael Holzheu    2015-05-22   8304  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8305  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8306  		"JMP_JGE_K: if (3 >= 3) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8307  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8308  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8309  			BPF_LD_IMM64(R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8310  			BPF_JMP_IMM(BPF_JGE, R1, 3, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8311  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8312  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8313  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8314  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8315  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8316  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8317  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8318  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8319  	/* BPF_JMP | BPF_JLT | BPF_K jump backwards */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8320  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8321  		"JMP_JGT_K: if (2 < 3) return 1 (jump backwards)",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8322  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8323  			BPF_JMP_IMM(BPF_JA, 0, 0, 2), /* goto start */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8324  			BPF_ALU32_IMM(BPF_MOV, R0, 1), /* out: */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8325  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8326  			BPF_ALU32_IMM(BPF_MOV, R0, 0), /* start: */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8327  			BPF_LD_IMM64(R1, 2), /* note: this takes 2 insns */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8328  			BPF_JMP_IMM(BPF_JLT, R1, 3, -6), /* goto out */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8329  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8330  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8331  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8332  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8333  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8334  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8335  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8336  		"JMP_JLE_K: if (3 <= 3) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8337  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8338  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8339  			BPF_LD_IMM64(R1, 3),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8340  			BPF_JMP_IMM(BPF_JLE, R1, 3, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8341  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8342  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8343  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8344  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8345  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8346  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8347  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8348  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8349  	/* BPF_JMP | BPF_JNE | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   8350  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8351  		"JMP_JNE_K: if (3 != 2) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8352  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8353  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8354  			BPF_LD_IMM64(R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8355  			BPF_JMP_IMM(BPF_JNE, R1, 2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8356  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8357  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8358  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8359  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8360  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8361  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8362  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8363  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8364  	/* BPF_JMP | BPF_JEQ | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   8365  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8366  		"JMP_JEQ_K: if (3 == 3) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8367  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8368  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8369  			BPF_LD_IMM64(R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8370  			BPF_JMP_IMM(BPF_JEQ, R1, 3, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8371  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8372  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8373  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8374  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8375  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8376  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8377  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8378  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8379  	/* BPF_JMP | BPF_JSET | BPF_K */
cffc642d93f932 Michael Holzheu    2015-05-11   8380  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8381  		"JMP_JSET_K: if (0x3 & 0x2) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8382  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8383  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8384  			BPF_LD_IMM64(R1, 3),
9f134c34fbce58 Naveen N. Rao      2016-04-05   8385  			BPF_JMP_IMM(BPF_JSET, R1, 2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8386  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8387  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8388  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8389  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8390  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8391  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8392  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8393  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8394  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8395  		"JMP_JSET_K: if (0x3 & 0xffffffff) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8396  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8397  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8398  			BPF_LD_IMM64(R1, 3),
9f134c34fbce58 Naveen N. Rao      2016-04-05   8399  			BPF_JMP_IMM(BPF_JSET, R1, 0xffffffff, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8400  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8401  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8402  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8403  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8404  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8405  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8406  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8407  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8408  	/* BPF_JMP | BPF_JSGT | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   8409  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8410  		"JMP_JSGT_X: Signed jump: if (-1 > -2) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8411  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8412  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8413  			BPF_LD_IMM64(R1, -1),
cffc642d93f932 Michael Holzheu    2015-05-11   8414  			BPF_LD_IMM64(R2, -2),
cffc642d93f932 Michael Holzheu    2015-05-11   8415  			BPF_JMP_REG(BPF_JSGT, R1, R2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8416  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8417  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8418  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8419  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8420  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8421  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8422  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8423  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8424  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8425  		"JMP_JSGT_X: Signed jump: if (-1 > -1) return 0",
cffc642d93f932 Michael Holzheu    2015-05-11   8426  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8427  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8428  			BPF_LD_IMM64(R1, -1),
cffc642d93f932 Michael Holzheu    2015-05-11   8429  			BPF_LD_IMM64(R2, -1),
cffc642d93f932 Michael Holzheu    2015-05-11   8430  			BPF_JMP_REG(BPF_JSGT, R1, R2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8431  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8432  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8433  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8434  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8435  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8436  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8437  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8438  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8439  	/* BPF_JMP | BPF_JSLT | BPF_X */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8440  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8441  		"JMP_JSLT_X: Signed jump: if (-2 < -1) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8442  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8443  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8444  			BPF_LD_IMM64(R1, -1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8445  			BPF_LD_IMM64(R2, -2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8446  			BPF_JMP_REG(BPF_JSLT, R2, R1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8447  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8448  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8449  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8450  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8451  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8452  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8453  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8454  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8455  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8456  		"JMP_JSLT_X: Signed jump: if (-1 < -1) return 0",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8457  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8458  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8459  			BPF_LD_IMM64(R1, -1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8460  			BPF_LD_IMM64(R2, -1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8461  			BPF_JMP_REG(BPF_JSLT, R1, R2, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8462  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8463  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8464  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8465  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8466  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8467  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8468  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8469  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8470  	/* BPF_JMP | BPF_JSGE | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   8471  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8472  		"JMP_JSGE_X: Signed jump: if (-1 >= -2) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8473  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8474  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8475  			BPF_LD_IMM64(R1, -1),
cffc642d93f932 Michael Holzheu    2015-05-11   8476  			BPF_LD_IMM64(R2, -2),
cffc642d93f932 Michael Holzheu    2015-05-11   8477  			BPF_JMP_REG(BPF_JSGE, R1, R2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8478  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8479  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8480  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8481  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8482  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8483  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8484  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8485  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8486  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8487  		"JMP_JSGE_X: Signed jump: if (-1 >= -1) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8488  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8489  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8490  			BPF_LD_IMM64(R1, -1),
cffc642d93f932 Michael Holzheu    2015-05-11   8491  			BPF_LD_IMM64(R2, -1),
cffc642d93f932 Michael Holzheu    2015-05-11   8492  			BPF_JMP_REG(BPF_JSGE, R1, R2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8493  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8494  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8495  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8496  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8497  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8498  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8499  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8500  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8501  	/* BPF_JMP | BPF_JSLE | BPF_X */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8502  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8503  		"JMP_JSLE_X: Signed jump: if (-2 <= -1) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8504  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8505  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8506  			BPF_LD_IMM64(R1, -1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8507  			BPF_LD_IMM64(R2, -2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8508  			BPF_JMP_REG(BPF_JSLE, R2, R1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8509  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8510  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8511  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8512  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8513  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8514  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8515  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8516  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8517  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8518  		"JMP_JSLE_X: Signed jump: if (-1 <= -1) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8519  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8520  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8521  			BPF_LD_IMM64(R1, -1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8522  			BPF_LD_IMM64(R2, -1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8523  			BPF_JMP_REG(BPF_JSLE, R1, R2, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8524  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8525  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8526  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8527  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8528  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8529  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8530  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8531  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8532  	/* BPF_JMP | BPF_JGT | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   8533  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8534  		"JMP_JGT_X: if (3 > 2) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8535  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8536  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8537  			BPF_LD_IMM64(R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8538  			BPF_LD_IMM64(R2, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   8539  			BPF_JMP_REG(BPF_JGT, R1, R2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8540  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8541  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8542  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8543  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8544  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8545  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8546  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8547  	},
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8548  	{
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8549  		"JMP_JGT_X: Unsigned jump: if (-1 > 1) return 1",
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8550  		.u.insns_int = {
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8551  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8552  			BPF_LD_IMM64(R1, -1),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8553  			BPF_LD_IMM64(R2, 1),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8554  			BPF_JMP_REG(BPF_JGT, R1, R2, 1),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8555  			BPF_EXIT_INSN(),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8556  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8557  			BPF_EXIT_INSN(),
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8558  		},
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8559  		INTERNAL,
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8560  		{ },
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8561  		{ { 0, 1 } },
c7395d6bd7cc1c Naveen N. Rao      2016-04-05   8562  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8563  	/* BPF_JMP | BPF_JLT | BPF_X */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8564  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8565  		"JMP_JLT_X: if (2 < 3) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8566  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8567  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8568  			BPF_LD_IMM64(R1, 3),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8569  			BPF_LD_IMM64(R2, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8570  			BPF_JMP_REG(BPF_JLT, R2, R1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8571  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8572  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8573  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8574  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8575  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8576  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8577  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8578  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8579  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8580  		"JMP_JLT_X: Unsigned jump: if (1 < -1) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8581  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8582  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8583  			BPF_LD_IMM64(R1, -1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8584  			BPF_LD_IMM64(R2, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8585  			BPF_JMP_REG(BPF_JLT, R2, R1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8586  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8587  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8588  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8589  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8590  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8591  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8592  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8593  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8594  	/* BPF_JMP | BPF_JGE | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   8595  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8596  		"JMP_JGE_X: if (3 >= 2) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8597  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8598  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8599  			BPF_LD_IMM64(R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8600  			BPF_LD_IMM64(R2, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   8601  			BPF_JMP_REG(BPF_JGE, R1, R2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8602  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8603  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8604  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8605  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8606  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8607  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8608  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8609  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8610  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8611  		"JMP_JGE_X: if (3 >= 3) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8612  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8613  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8614  			BPF_LD_IMM64(R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8615  			BPF_LD_IMM64(R2, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8616  			BPF_JMP_REG(BPF_JGE, R1, R2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8617  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8618  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8619  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8620  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8621  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8622  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8623  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8624  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8625  	/* BPF_JMP | BPF_JLE | BPF_X */
92b31a9af73b3a Daniel Borkmann    2017-08-10   8626  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8627  		"JMP_JLE_X: if (2 <= 3) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8628  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8629  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8630  			BPF_LD_IMM64(R1, 3),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8631  			BPF_LD_IMM64(R2, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8632  			BPF_JMP_REG(BPF_JLE, R2, R1, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8633  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8634  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8635  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8636  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8637  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8638  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8639  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8640  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8641  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8642  		"JMP_JLE_X: if (3 <= 3) return 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8643  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8644  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8645  			BPF_LD_IMM64(R1, 3),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8646  			BPF_LD_IMM64(R2, 3),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8647  			BPF_JMP_REG(BPF_JLE, R1, R2, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8648  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8649  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8650  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8651  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8652  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8653  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8654  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8655  	},
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8656  	{
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8657  		/* Mainly testing JIT + imm64 here. */
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8658  		"JMP_JGE_X: ldimm64 test 1",
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8659  		.u.insns_int = {
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8660  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8661  			BPF_LD_IMM64(R1, 3),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8662  			BPF_LD_IMM64(R2, 2),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8663  			BPF_JMP_REG(BPF_JGE, R1, R2, 2),
86f8e247b960d6 Geert Uytterhoeven 2017-05-03   8664  			BPF_LD_IMM64(R0, 0xffffffffffffffffULL),
86f8e247b960d6 Geert Uytterhoeven 2017-05-03   8665  			BPF_LD_IMM64(R0, 0xeeeeeeeeeeeeeeeeULL),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8666  			BPF_EXIT_INSN(),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8667  		},
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8668  		INTERNAL,
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8669  		{ },
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8670  		{ { 0, 0xeeeeeeeeU } },
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8671  	},
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8672  	{
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8673  		"JMP_JGE_X: ldimm64 test 2",
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8674  		.u.insns_int = {
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8675  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8676  			BPF_LD_IMM64(R1, 3),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8677  			BPF_LD_IMM64(R2, 2),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8678  			BPF_JMP_REG(BPF_JGE, R1, R2, 0),
86f8e247b960d6 Geert Uytterhoeven 2017-05-03   8679  			BPF_LD_IMM64(R0, 0xffffffffffffffffULL),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8680  			BPF_EXIT_INSN(),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8681  		},
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8682  		INTERNAL,
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8683  		{ },
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8684  		{ { 0, 0xffffffffU } },
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8685  	},
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8686  	{
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8687  		"JMP_JGE_X: ldimm64 test 3",
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8688  		.u.insns_int = {
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8689  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8690  			BPF_LD_IMM64(R1, 3),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8691  			BPF_LD_IMM64(R2, 2),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8692  			BPF_JMP_REG(BPF_JGE, R1, R2, 4),
86f8e247b960d6 Geert Uytterhoeven 2017-05-03   8693  			BPF_LD_IMM64(R0, 0xffffffffffffffffULL),
86f8e247b960d6 Geert Uytterhoeven 2017-05-03   8694  			BPF_LD_IMM64(R0, 0xeeeeeeeeeeeeeeeeULL),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8695  			BPF_EXIT_INSN(),
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8696  		},
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8697  		INTERNAL,
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8698  		{ },
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8699  		{ { 0, 1 } },
ddc665a4bb4b72 Daniel Borkmann    2017-05-02   8700  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8701  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8702  		"JMP_JLE_X: ldimm64 test 1",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8703  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8704  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8705  			BPF_LD_IMM64(R1, 3),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8706  			BPF_LD_IMM64(R2, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8707  			BPF_JMP_REG(BPF_JLE, R2, R1, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8708  			BPF_LD_IMM64(R0, 0xffffffffffffffffULL),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8709  			BPF_LD_IMM64(R0, 0xeeeeeeeeeeeeeeeeULL),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8710  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8711  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8712  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8713  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8714  		{ { 0, 0xeeeeeeeeU } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8715  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8716  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8717  		"JMP_JLE_X: ldimm64 test 2",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8718  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8719  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8720  			BPF_LD_IMM64(R1, 3),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8721  			BPF_LD_IMM64(R2, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8722  			BPF_JMP_REG(BPF_JLE, R2, R1, 0),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8723  			BPF_LD_IMM64(R0, 0xffffffffffffffffULL),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8724  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8725  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8726  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8727  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8728  		{ { 0, 0xffffffffU } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8729  	},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8730  	{
92b31a9af73b3a Daniel Borkmann    2017-08-10   8731  		"JMP_JLE_X: ldimm64 test 3",
92b31a9af73b3a Daniel Borkmann    2017-08-10   8732  		.u.insns_int = {
92b31a9af73b3a Daniel Borkmann    2017-08-10   8733  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8734  			BPF_LD_IMM64(R1, 3),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8735  			BPF_LD_IMM64(R2, 2),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8736  			BPF_JMP_REG(BPF_JLE, R2, R1, 4),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8737  			BPF_LD_IMM64(R0, 0xffffffffffffffffULL),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8738  			BPF_LD_IMM64(R0, 0xeeeeeeeeeeeeeeeeULL),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8739  			BPF_EXIT_INSN(),
92b31a9af73b3a Daniel Borkmann    2017-08-10   8740  		},
92b31a9af73b3a Daniel Borkmann    2017-08-10   8741  		INTERNAL,
92b31a9af73b3a Daniel Borkmann    2017-08-10   8742  		{ },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8743  		{ { 0, 1 } },
92b31a9af73b3a Daniel Borkmann    2017-08-10   8744  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8745  	/* BPF_JMP | BPF_JNE | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   8746  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8747  		"JMP_JNE_X: if (3 != 2) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8748  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8749  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8750  			BPF_LD_IMM64(R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8751  			BPF_LD_IMM64(R2, 2),
cffc642d93f932 Michael Holzheu    2015-05-11   8752  			BPF_JMP_REG(BPF_JNE, R1, R2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8753  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8754  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8755  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8756  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8757  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8758  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8759  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8760  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8761  	/* BPF_JMP | BPF_JEQ | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   8762  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8763  		"JMP_JEQ_X: if (3 == 3) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8764  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8765  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8766  			BPF_LD_IMM64(R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8767  			BPF_LD_IMM64(R2, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8768  			BPF_JMP_REG(BPF_JEQ, R1, R2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8769  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8770  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8771  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8772  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8773  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8774  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8775  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8776  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8777  	/* BPF_JMP | BPF_JSET | BPF_X */
cffc642d93f932 Michael Holzheu    2015-05-11   8778  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8779  		"JMP_JSET_X: if (0x3 & 0x2) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8780  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8781  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8782  			BPF_LD_IMM64(R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8783  			BPF_LD_IMM64(R2, 2),
9f134c34fbce58 Naveen N. Rao      2016-04-05   8784  			BPF_JMP_REG(BPF_JSET, R1, R2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8785  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8786  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8787  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8788  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8789  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8790  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8791  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8792  	},
cffc642d93f932 Michael Holzheu    2015-05-11   8793  	{
cffc642d93f932 Michael Holzheu    2015-05-11   8794  		"JMP_JSET_X: if (0x3 & 0xffffffff) return 1",
cffc642d93f932 Michael Holzheu    2015-05-11   8795  		.u.insns_int = {
cffc642d93f932 Michael Holzheu    2015-05-11   8796  			BPF_ALU32_IMM(BPF_MOV, R0, 0),
cffc642d93f932 Michael Holzheu    2015-05-11   8797  			BPF_LD_IMM64(R1, 3),
cffc642d93f932 Michael Holzheu    2015-05-11   8798  			BPF_LD_IMM64(R2, 0xffffffff),
9f134c34fbce58 Naveen N. Rao      2016-04-05   8799  			BPF_JMP_REG(BPF_JSET, R1, R2, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8800  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8801  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
cffc642d93f932 Michael Holzheu    2015-05-11   8802  			BPF_EXIT_INSN(),
cffc642d93f932 Michael Holzheu    2015-05-11   8803  		},
cffc642d93f932 Michael Holzheu    2015-05-11   8804  		INTERNAL,
cffc642d93f932 Michael Holzheu    2015-05-11   8805  		{ },
cffc642d93f932 Michael Holzheu    2015-05-11   8806  		{ { 0, 1 } },
cffc642d93f932 Michael Holzheu    2015-05-11   8807  	},
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8808  	{
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8809  		"JMP_JA: Jump, gap, jump, ...",
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8810  		{ },
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8811  		CLASSIC | FLAG_NO_DATA,
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8812  		{ },
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8813  		{ { 0, 0xababcbac } },
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8814  		.fill_helper = bpf_fill_ja,
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8815  	},
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8816  	{	/* Mainly checking JIT here. */
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8817  		"BPF_MAXINSNS: Maximum possible literals",
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8818  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8819  		CLASSIC | FLAG_NO_DATA,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8820  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8821  		{ { 0, 0xffffffff } },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8822  		.fill_helper = bpf_fill_maxinsns1,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8823  	},
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8824  	{	/* Mainly checking JIT here. */
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8825  		"BPF_MAXINSNS: Single literal",
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8826  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8827  		CLASSIC | FLAG_NO_DATA,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8828  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8829  		{ { 0, 0xfefefefe } },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8830  		.fill_helper = bpf_fill_maxinsns2,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8831  	},
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8832  	{	/* Mainly checking JIT here. */
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8833  		"BPF_MAXINSNS: Run/add until end",
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8834  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8835  		CLASSIC | FLAG_NO_DATA,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8836  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8837  		{ { 0, 0x947bf368 } },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8838  		.fill_helper = bpf_fill_maxinsns3,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8839  	},
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8840  	{
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8841  		"BPF_MAXINSNS: Too many instructions",
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8842  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8843  		CLASSIC | FLAG_NO_DATA | FLAG_EXPECTED_FAIL,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8844  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8845  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8846  		.fill_helper = bpf_fill_maxinsns4,
09584b40674241 Yonghong Song      2018-02-02   8847  		.expected_errcode = -EINVAL,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8848  	},
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8849  	{	/* Mainly checking JIT here. */
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8850  		"BPF_MAXINSNS: Very long jump",
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8851  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8852  		CLASSIC | FLAG_NO_DATA,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8853  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8854  		{ { 0, 0xabababab } },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8855  		.fill_helper = bpf_fill_maxinsns5,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8856  	},
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8857  	{	/* Mainly checking JIT here. */
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8858  		"BPF_MAXINSNS: Ctx heavy transformations",
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8859  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8860  		CLASSIC,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8861  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8862  		{
0c4b2d370514cb Michał Mirosław    2018-11-10   8863  			{  1, SKB_VLAN_PRESENT },
0c4b2d370514cb Michał Mirosław    2018-11-10   8864  			{ 10, SKB_VLAN_PRESENT }
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8865  		},
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8866  		.fill_helper = bpf_fill_maxinsns6,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8867  	},
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8868  	{	/* Mainly checking JIT here. */
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8869  		"BPF_MAXINSNS: Call heavy transformations",
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8870  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8871  		CLASSIC | FLAG_NO_DATA,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8872  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8873  		{ { 1, 0 }, { 10, 0 } },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8874  		.fill_helper = bpf_fill_maxinsns7,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8875  	},
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8876  	{	/* Mainly checking JIT here. */
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8877  		"BPF_MAXINSNS: Jump heavy test",
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8878  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8879  		CLASSIC | FLAG_NO_DATA,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8880  		{ },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8881  		{ { 0, 0xffffffff } },
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8882  		.fill_helper = bpf_fill_maxinsns8,
a4afd37b26f4b9 Daniel Borkmann    2015-05-13   8883  	},
3b52960266a36f Daniel Borkmann    2015-05-23   8884  	{	/* Mainly checking JIT here. */
3b52960266a36f Daniel Borkmann    2015-05-23   8885  		"BPF_MAXINSNS: Very long jump backwards",
3b52960266a36f Daniel Borkmann    2015-05-23   8886  		{ },
3b52960266a36f Daniel Borkmann    2015-05-23   8887  		INTERNAL | FLAG_NO_DATA,
3b52960266a36f Daniel Borkmann    2015-05-23   8888  		{ },
3b52960266a36f Daniel Borkmann    2015-05-23   8889  		{ { 0, 0xcbababab } },
3b52960266a36f Daniel Borkmann    2015-05-23   8890  		.fill_helper = bpf_fill_maxinsns9,
3b52960266a36f Daniel Borkmann    2015-05-23   8891  	},
3b52960266a36f Daniel Borkmann    2015-05-23   8892  	{	/* Mainly checking JIT here. */
3b52960266a36f Daniel Borkmann    2015-05-23   8893  		"BPF_MAXINSNS: Edge hopping nuthouse",
3b52960266a36f Daniel Borkmann    2015-05-23   8894  		{ },
3b52960266a36f Daniel Borkmann    2015-05-23   8895  		INTERNAL | FLAG_NO_DATA,
3b52960266a36f Daniel Borkmann    2015-05-23   8896  		{ },
3b52960266a36f Daniel Borkmann    2015-05-23   8897  		{ { 0, 0xabababac } },
3b52960266a36f Daniel Borkmann    2015-05-23   8898  		.fill_helper = bpf_fill_maxinsns10,
3b52960266a36f Daniel Borkmann    2015-05-23   8899  	},
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8900  	{
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8901  		"BPF_MAXINSNS: Jump, gap, jump, ...",
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8902  		{ },
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8903  		CLASSIC | FLAG_NO_DATA,
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8904  		{ },
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8905  		{ { 0, 0xababcbac } },
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8906  		.fill_helper = bpf_fill_maxinsns11,
bde28bc6ad0c57 Daniel Borkmann    2015-05-26   8907  	},
be08815c5d3b25 Daniel Borkmann    2018-06-02   8908  	{
be08815c5d3b25 Daniel Borkmann    2018-06-02   8909  		"BPF_MAXINSNS: jump over MSH",
be08815c5d3b25 Daniel Borkmann    2018-06-02   8910  		{ },
be08815c5d3b25 Daniel Borkmann    2018-06-02   8911  		CLASSIC | FLAG_EXPECTED_FAIL,
be08815c5d3b25 Daniel Borkmann    2018-06-02   8912  		{ 0xfa, 0xfb, 0xfc, 0xfd, },
be08815c5d3b25 Daniel Borkmann    2018-06-02   8913  		{ { 4, 0xabababab } },
be08815c5d3b25 Daniel Borkmann    2018-06-02   8914  		.fill_helper = bpf_fill_maxinsns12,
be08815c5d3b25 Daniel Borkmann    2018-06-02   8915  		.expected_errcode = -EINVAL,
be08815c5d3b25 Daniel Borkmann    2018-06-02   8916  	},
be08815c5d3b25 Daniel Borkmann    2018-06-02   8917  	{
be08815c5d3b25 Daniel Borkmann    2018-06-02   8918  		"BPF_MAXINSNS: exec all MSH",
be08815c5d3b25 Daniel Borkmann    2018-06-02   8919  		{ },
be08815c5d3b25 Daniel Borkmann    2018-06-02   8920  		CLASSIC,
be08815c5d3b25 Daniel Borkmann    2018-06-02   8921  		{ 0xfa, 0xfb, 0xfc, 0xfd, },
be08815c5d3b25 Daniel Borkmann    2018-06-02   8922  		{ { 4, 0xababab83 } },
be08815c5d3b25 Daniel Borkmann    2018-06-02   8923  		.fill_helper = bpf_fill_maxinsns13,
be08815c5d3b25 Daniel Borkmann    2018-06-02   8924  	},
4d9c5c53ac99e4 Alexei Starovoitov 2015-07-20   8925  	{
4d9c5c53ac99e4 Alexei Starovoitov 2015-07-20   8926  		"BPF_MAXINSNS: ld_abs+get_processor_id",
4d9c5c53ac99e4 Alexei Starovoitov 2015-07-20   8927  		{ },
4d9c5c53ac99e4 Alexei Starovoitov 2015-07-20   8928  		CLASSIC,
4d9c5c53ac99e4 Alexei Starovoitov 2015-07-20   8929  		{ },
4d9c5c53ac99e4 Alexei Starovoitov 2015-07-20   8930  		{ { 1, 0xbee } },
4d9c5c53ac99e4 Alexei Starovoitov 2015-07-20   8931  		.fill_helper = bpf_fill_ld_abs_get_processor_id,
4d9c5c53ac99e4 Alexei Starovoitov 2015-07-20   8932  	},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8933  	/*
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8934  	 * LD_IND / LD_ABS on fragmented SKBs
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8935  	 */
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8936  	{
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8937  		"LD_IND byte frag",
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8938  		.u.insns = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8939  			BPF_STMT(BPF_LDX | BPF_IMM, 0x40),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8940  			BPF_STMT(BPF_LD | BPF_IND | BPF_B, 0x0),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8941  			BPF_STMT(BPF_RET | BPF_A, 0x0),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8942  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8943  		CLASSIC | FLAG_SKB_FRAG,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8944  		{ },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8945  		{ {0x40, 0x42} },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8946  		.frag_data = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8947  			0x42, 0x00, 0x00, 0x00,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8948  			0x43, 0x44, 0x00, 0x00,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8949  			0x21, 0x07, 0x19, 0x83,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8950  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8951  	},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8952  	{
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8953  		"LD_IND halfword frag",
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8954  		.u.insns = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8955  			BPF_STMT(BPF_LDX | BPF_IMM, 0x40),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8956  			BPF_STMT(BPF_LD | BPF_IND | BPF_H, 0x4),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8957  			BPF_STMT(BPF_RET | BPF_A, 0x0),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8958  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8959  		CLASSIC | FLAG_SKB_FRAG,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8960  		{ },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8961  		{ {0x40, 0x4344} },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8962  		.frag_data = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8963  			0x42, 0x00, 0x00, 0x00,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8964  			0x43, 0x44, 0x00, 0x00,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8965  			0x21, 0x07, 0x19, 0x83,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8966  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8967  	},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8968  	{
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8969  		"LD_IND word frag",
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8970  		.u.insns = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8971  			BPF_STMT(BPF_LDX | BPF_IMM, 0x40),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8972  			BPF_STMT(BPF_LD | BPF_IND | BPF_W, 0x8),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8973  			BPF_STMT(BPF_RET | BPF_A, 0x0),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8974  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8975  		CLASSIC | FLAG_SKB_FRAG,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8976  		{ },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8977  		{ {0x40, 0x21071983} },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8978  		.frag_data = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8979  			0x42, 0x00, 0x00, 0x00,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8980  			0x43, 0x44, 0x00, 0x00,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8981  			0x21, 0x07, 0x19, 0x83,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8982  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8983  	},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8984  	{
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8985  		"LD_IND halfword mixed head/frag",
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8986  		.u.insns = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8987  			BPF_STMT(BPF_LDX | BPF_IMM, 0x40),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8988  			BPF_STMT(BPF_LD | BPF_IND | BPF_H, -0x1),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8989  			BPF_STMT(BPF_RET | BPF_A, 0x0),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8990  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8991  		CLASSIC | FLAG_SKB_FRAG,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8992  		{ [0x3e] = 0x25, [0x3f] = 0x05, },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8993  		{ {0x40, 0x0519} },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8994  		.frag_data = { 0x19, 0x82 },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8995  	},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8996  	{
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8997  		"LD_IND word mixed head/frag",
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8998  		.u.insns = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   8999  			BPF_STMT(BPF_LDX | BPF_IMM, 0x40),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9000  			BPF_STMT(BPF_LD | BPF_IND | BPF_W, -0x2),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9001  			BPF_STMT(BPF_RET | BPF_A, 0x0),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9002  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9003  		CLASSIC | FLAG_SKB_FRAG,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9004  		{ [0x3e] = 0x25, [0x3f] = 0x05, },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9005  		{ {0x40, 0x25051982} },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9006  		.frag_data = { 0x19, 0x82 },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9007  	},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9008  	{
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9009  		"LD_ABS byte frag",
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9010  		.u.insns = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9011  			BPF_STMT(BPF_LD | BPF_ABS | BPF_B, 0x40),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9012  			BPF_STMT(BPF_RET | BPF_A, 0x0),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9013  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9014  		CLASSIC | FLAG_SKB_FRAG,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9015  		{ },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9016  		{ {0x40, 0x42} },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9017  		.frag_data = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9018  			0x42, 0x00, 0x00, 0x00,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9019  			0x43, 0x44, 0x00, 0x00,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9020  			0x21, 0x07, 0x19, 0x83,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9021  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9022  	},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9023  	{
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9024  		"LD_ABS halfword frag",
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9025  		.u.insns = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9026  			BPF_STMT(BPF_LD | BPF_ABS | BPF_H, 0x44),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9027  			BPF_STMT(BPF_RET | BPF_A, 0x0),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9028  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9029  		CLASSIC | FLAG_SKB_FRAG,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9030  		{ },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9031  		{ {0x40, 0x4344} },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9032  		.frag_data = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9033  			0x42, 0x00, 0x00, 0x00,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9034  			0x43, 0x44, 0x00, 0x00,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9035  			0x21, 0x07, 0x19, 0x83,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9036  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9037  	},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9038  	{
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9039  		"LD_ABS word frag",
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9040  		.u.insns = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9041  			BPF_STMT(BPF_LD | BPF_ABS | BPF_W, 0x48),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9042  			BPF_STMT(BPF_RET | BPF_A, 0x0),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9043  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9044  		CLASSIC | FLAG_SKB_FRAG,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9045  		{ },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9046  		{ {0x40, 0x21071983} },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9047  		.frag_data = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9048  			0x42, 0x00, 0x00, 0x00,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9049  			0x43, 0x44, 0x00, 0x00,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9050  			0x21, 0x07, 0x19, 0x83,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9051  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9052  	},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9053  	{
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9054  		"LD_ABS halfword mixed head/frag",
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9055  		.u.insns = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9056  			BPF_STMT(BPF_LD | BPF_ABS | BPF_H, 0x3f),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9057  			BPF_STMT(BPF_RET | BPF_A, 0x0),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9058  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9059  		CLASSIC | FLAG_SKB_FRAG,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9060  		{ [0x3e] = 0x25, [0x3f] = 0x05, },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9061  		{ {0x40, 0x0519} },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9062  		.frag_data = { 0x19, 0x82 },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9063  	},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9064  	{
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9065  		"LD_ABS word mixed head/frag",
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9066  		.u.insns = {
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9067  			BPF_STMT(BPF_LD | BPF_ABS | BPF_W, 0x3e),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9068  			BPF_STMT(BPF_RET | BPF_A, 0x0),
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9069  		},
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9070  		CLASSIC | FLAG_SKB_FRAG,
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9071  		{ [0x3e] = 0x25, [0x3f] = 0x05, },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9072  		{ {0x40, 0x25051982} },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9073  		.frag_data = { 0x19, 0x82 },
2cf1ad759307f4 Nicolas Schichan   2015-08-04   9074  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9075  	/*
08fcb08fc06758 Nicolas Schichan   2015-08-04   9076  	 * LD_IND / LD_ABS on non fragmented SKBs
08fcb08fc06758 Nicolas Schichan   2015-08-04   9077  	 */
08fcb08fc06758 Nicolas Schichan   2015-08-04   9078  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9079  		/*
08fcb08fc06758 Nicolas Schichan   2015-08-04   9080  		 * this tests that the JIT/interpreter correctly resets X
08fcb08fc06758 Nicolas Schichan   2015-08-04   9081  		 * before using it in an LD_IND instruction.
08fcb08fc06758 Nicolas Schichan   2015-08-04   9082  		 */
08fcb08fc06758 Nicolas Schichan   2015-08-04   9083  		"LD_IND byte default X",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9084  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9085  			BPF_STMT(BPF_LD | BPF_IND | BPF_B, 0x1),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9086  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9087  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9088  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9089  		{ [0x1] = 0x42 },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9090  		{ {0x40, 0x42 } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9091  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9092  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9093  		"LD_IND byte positive offset",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9094  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9095  			BPF_STMT(BPF_LDX | BPF_IMM, 0x3e),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9096  			BPF_STMT(BPF_LD | BPF_IND | BPF_B, 0x1),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9097  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9098  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9099  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9100  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9101  		{ {0x40, 0x82 } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9102  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9103  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9104  		"LD_IND byte negative offset",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9105  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9106  			BPF_STMT(BPF_LDX | BPF_IMM, 0x3e),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9107  			BPF_STMT(BPF_LD | BPF_IND | BPF_B, -0x1),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9108  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9109  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9110  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9111  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9112  		{ {0x40, 0x05 } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9113  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9114  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9115  		"LD_IND byte positive offset, all ff",
93731ef086cee9 Daniel Borkmann    2018-05-04   9116  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9117  			BPF_STMT(BPF_LDX | BPF_IMM, 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9118  			BPF_STMT(BPF_LD | BPF_IND | BPF_B, 0x1),
93731ef086cee9 Daniel Borkmann    2018-05-04   9119  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9120  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9121  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9122  		{ [0x3c] = 0xff, [0x3d] = 0xff,  [0x3e] = 0xff, [0x3f] = 0xff },
93731ef086cee9 Daniel Borkmann    2018-05-04   9123  		{ {0x40, 0xff } },
93731ef086cee9 Daniel Borkmann    2018-05-04   9124  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9125  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9126  		"LD_IND byte positive offset, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9127  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9128  			BPF_STMT(BPF_LDX | BPF_IMM, 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9129  			BPF_STMT(BPF_LD | BPF_IND | BPF_B, 0x1),
93731ef086cee9 Daniel Borkmann    2018-05-04   9130  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9131  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9132  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9133  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9134  		{ {0x3f, 0 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9135  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9136  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9137  		"LD_IND byte negative offset, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9138  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9139  			BPF_STMT(BPF_LDX | BPF_IMM, 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9140  			BPF_STMT(BPF_LD | BPF_IND | BPF_B, -0x3f),
93731ef086cee9 Daniel Borkmann    2018-05-04   9141  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9142  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9143  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9144  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9145  		{ {0x3f, 0 } },
93731ef086cee9 Daniel Borkmann    2018-05-04   9146  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9147  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9148  		"LD_IND byte negative offset, multiple calls",
93731ef086cee9 Daniel Borkmann    2018-05-04   9149  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9150  			BPF_STMT(BPF_LDX | BPF_IMM, 0x3b),
93731ef086cee9 Daniel Borkmann    2018-05-04   9151  			BPF_STMT(BPF_LD | BPF_IND | BPF_B, SKF_LL_OFF + 1),
93731ef086cee9 Daniel Borkmann    2018-05-04   9152  			BPF_STMT(BPF_LD | BPF_IND | BPF_B, SKF_LL_OFF + 2),
93731ef086cee9 Daniel Borkmann    2018-05-04   9153  			BPF_STMT(BPF_LD | BPF_IND | BPF_B, SKF_LL_OFF + 3),
93731ef086cee9 Daniel Borkmann    2018-05-04   9154  			BPF_STMT(BPF_LD | BPF_IND | BPF_B, SKF_LL_OFF + 4),
93731ef086cee9 Daniel Borkmann    2018-05-04   9155  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9156  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9157  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9158  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9159  		{ {0x40, 0x82 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9160  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9161  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9162  		"LD_IND halfword positive offset",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9163  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9164  			BPF_STMT(BPF_LDX | BPF_IMM, 0x20),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9165  			BPF_STMT(BPF_LD | BPF_IND | BPF_H, 0x2),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9166  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9167  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9168  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9169  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9170  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9171  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9172  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9173  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9174  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9175  		{ {0x40, 0xdd88 } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9176  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9177  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9178  		"LD_IND halfword negative offset",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9179  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9180  			BPF_STMT(BPF_LDX | BPF_IMM, 0x20),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9181  			BPF_STMT(BPF_LD | BPF_IND | BPF_H, -0x2),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9182  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9183  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9184  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9185  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9186  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9187  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9188  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9189  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9190  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9191  		{ {0x40, 0xbb66 } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9192  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9193  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9194  		"LD_IND halfword unaligned",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9195  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9196  			BPF_STMT(BPF_LDX | BPF_IMM, 0x20),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9197  			BPF_STMT(BPF_LD | BPF_IND | BPF_H, -0x1),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9198  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9199  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9200  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9201  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9202  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9203  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9204  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9205  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9206  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9207  		{ {0x40, 0x66cc } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9208  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9209  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9210  		"LD_IND halfword positive offset, all ff",
93731ef086cee9 Daniel Borkmann    2018-05-04   9211  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9212  			BPF_STMT(BPF_LDX | BPF_IMM, 0x3d),
93731ef086cee9 Daniel Borkmann    2018-05-04   9213  			BPF_STMT(BPF_LD | BPF_IND | BPF_H, 0x1),
93731ef086cee9 Daniel Borkmann    2018-05-04   9214  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9215  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9216  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9217  		{ [0x3c] = 0xff, [0x3d] = 0xff,  [0x3e] = 0xff, [0x3f] = 0xff },
93731ef086cee9 Daniel Borkmann    2018-05-04   9218  		{ {0x40, 0xffff } },
93731ef086cee9 Daniel Borkmann    2018-05-04   9219  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9220  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9221  		"LD_IND halfword positive offset, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9222  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9223  			BPF_STMT(BPF_LDX | BPF_IMM, 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9224  			BPF_STMT(BPF_LD | BPF_IND | BPF_H, 0x1),
93731ef086cee9 Daniel Borkmann    2018-05-04   9225  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9226  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9227  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9228  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9229  		{ {0x3f, 0 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9230  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9231  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9232  		"LD_IND halfword negative offset, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9233  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9234  			BPF_STMT(BPF_LDX | BPF_IMM, 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9235  			BPF_STMT(BPF_LD | BPF_IND | BPF_H, -0x3f),
93731ef086cee9 Daniel Borkmann    2018-05-04   9236  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9237  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9238  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9239  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9240  		{ {0x3f, 0 } },
93731ef086cee9 Daniel Borkmann    2018-05-04   9241  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9242  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9243  		"LD_IND word positive offset",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9244  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9245  			BPF_STMT(BPF_LDX | BPF_IMM, 0x20),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9246  			BPF_STMT(BPF_LD | BPF_IND | BPF_W, 0x4),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9247  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9248  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9249  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9250  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9251  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9252  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9253  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9254  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9255  			[0x24] = 0xee, [0x25] = 0x99,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9256  			[0x26] = 0xff, [0x27] = 0xaa,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9257  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9258  		{ {0x40, 0xee99ffaa } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9259  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9260  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9261  		"LD_IND word negative offset",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9262  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9263  			BPF_STMT(BPF_LDX | BPF_IMM, 0x20),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9264  			BPF_STMT(BPF_LD | BPF_IND | BPF_W, -0x4),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9265  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9266  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9267  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9268  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9269  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9270  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9271  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9272  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9273  			[0x24] = 0xee, [0x25] = 0x99,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9274  			[0x26] = 0xff, [0x27] = 0xaa,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9275  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9276  		{ {0x40, 0xaa55bb66 } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9277  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9278  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9279  		"LD_IND word unaligned (addr & 3 == 2)",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9280  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9281  			BPF_STMT(BPF_LDX | BPF_IMM, 0x20),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9282  			BPF_STMT(BPF_LD | BPF_IND | BPF_W, -0x2),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9283  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9284  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9285  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9286  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9287  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9288  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9289  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9290  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9291  			[0x24] = 0xee, [0x25] = 0x99,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9292  			[0x26] = 0xff, [0x27] = 0xaa,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9293  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9294  		{ {0x40, 0xbb66cc77 } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9295  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9296  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9297  		"LD_IND word unaligned (addr & 3 == 1)",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9298  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9299  			BPF_STMT(BPF_LDX | BPF_IMM, 0x20),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9300  			BPF_STMT(BPF_LD | BPF_IND | BPF_W, -0x3),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9301  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9302  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9303  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9304  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9305  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9306  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9307  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9308  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9309  			[0x24] = 0xee, [0x25] = 0x99,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9310  			[0x26] = 0xff, [0x27] = 0xaa,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9311  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9312  		{ {0x40, 0x55bb66cc } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9313  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9314  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9315  		"LD_IND word unaligned (addr & 3 == 3)",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9316  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9317  			BPF_STMT(BPF_LDX | BPF_IMM, 0x20),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9318  			BPF_STMT(BPF_LD | BPF_IND | BPF_W, -0x1),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9319  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9320  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9321  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9322  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9323  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9324  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9325  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9326  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9327  			[0x24] = 0xee, [0x25] = 0x99,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9328  			[0x26] = 0xff, [0x27] = 0xaa,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9329  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9330  		{ {0x40, 0x66cc77dd } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9331  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9332  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9333  		"LD_IND word positive offset, all ff",
93731ef086cee9 Daniel Borkmann    2018-05-04   9334  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9335  			BPF_STMT(BPF_LDX | BPF_IMM, 0x3b),
93731ef086cee9 Daniel Borkmann    2018-05-04   9336  			BPF_STMT(BPF_LD | BPF_IND | BPF_W, 0x1),
93731ef086cee9 Daniel Borkmann    2018-05-04   9337  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9338  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9339  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9340  		{ [0x3c] = 0xff, [0x3d] = 0xff,  [0x3e] = 0xff, [0x3f] = 0xff },
93731ef086cee9 Daniel Borkmann    2018-05-04   9341  		{ {0x40, 0xffffffff } },
93731ef086cee9 Daniel Borkmann    2018-05-04   9342  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9343  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9344  		"LD_IND word positive offset, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9345  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9346  			BPF_STMT(BPF_LDX | BPF_IMM, 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9347  			BPF_STMT(BPF_LD | BPF_IND | BPF_W, 0x1),
93731ef086cee9 Daniel Borkmann    2018-05-04   9348  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9349  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9350  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9351  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9352  		{ {0x3f, 0 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9353  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9354  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9355  		"LD_IND word negative offset, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9356  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9357  			BPF_STMT(BPF_LDX | BPF_IMM, 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9358  			BPF_STMT(BPF_LD | BPF_IND | BPF_W, -0x3f),
93731ef086cee9 Daniel Borkmann    2018-05-04   9359  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9360  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9361  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9362  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9363  		{ {0x3f, 0 } },
93731ef086cee9 Daniel Borkmann    2018-05-04   9364  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9365  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9366  		"LD_ABS byte",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9367  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9368  			BPF_STMT(BPF_LD | BPF_ABS | BPF_B, 0x20),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9369  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9370  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9371  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9372  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9373  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9374  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9375  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9376  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9377  			[0x24] = 0xee, [0x25] = 0x99,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9378  			[0x26] = 0xff, [0x27] = 0xaa,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9379  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9380  		{ {0x40, 0xcc } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9381  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9382  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9383  		"LD_ABS byte positive offset, all ff",
93731ef086cee9 Daniel Borkmann    2018-05-04   9384  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9385  			BPF_STMT(BPF_LD | BPF_ABS | BPF_B, 0x3f),
93731ef086cee9 Daniel Borkmann    2018-05-04   9386  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9387  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9388  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9389  		{ [0x3c] = 0xff, [0x3d] = 0xff,  [0x3e] = 0xff, [0x3f] = 0xff },
93731ef086cee9 Daniel Borkmann    2018-05-04   9390  		{ {0x40, 0xff } },
93731ef086cee9 Daniel Borkmann    2018-05-04   9391  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9392  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9393  		"LD_ABS byte positive offset, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9394  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9395  			BPF_STMT(BPF_LD | BPF_ABS | BPF_B, 0x3f),
93731ef086cee9 Daniel Borkmann    2018-05-04   9396  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9397  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9398  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9399  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9400  		{ {0x3f, 0 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9401  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9402  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9403  		"LD_ABS byte negative offset, out of bounds load",
93731ef086cee9 Daniel Borkmann    2018-05-04   9404  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9405  			BPF_STMT(BPF_LD | BPF_ABS | BPF_B, -1),
93731ef086cee9 Daniel Borkmann    2018-05-04   9406  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9407  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9408  		CLASSIC | FLAG_EXPECTED_FAIL,
93731ef086cee9 Daniel Borkmann    2018-05-04   9409  		.expected_errcode = -EINVAL,
93731ef086cee9 Daniel Borkmann    2018-05-04   9410  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9411  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9412  		"LD_ABS byte negative offset, in bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9413  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9414  			BPF_STMT(BPF_LD | BPF_ABS | BPF_B, SKF_LL_OFF + 0x3f),
93731ef086cee9 Daniel Borkmann    2018-05-04   9415  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9416  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9417  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9418  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9419  		{ {0x40, 0x82 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9420  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9421  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9422  		"LD_ABS byte negative offset, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9423  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9424  			BPF_STMT(BPF_LD | BPF_ABS | BPF_B, SKF_LL_OFF + 0x3f),
93731ef086cee9 Daniel Borkmann    2018-05-04   9425  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9426  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9427  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9428  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9429  		{ {0x3f, 0 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9430  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9431  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9432  		"LD_ABS byte negative offset, multiple calls",
93731ef086cee9 Daniel Borkmann    2018-05-04   9433  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9434  			BPF_STMT(BPF_LD | BPF_ABS | BPF_B, SKF_LL_OFF + 0x3c),
93731ef086cee9 Daniel Borkmann    2018-05-04   9435  			BPF_STMT(BPF_LD | BPF_ABS | BPF_B, SKF_LL_OFF + 0x3d),
93731ef086cee9 Daniel Borkmann    2018-05-04   9436  			BPF_STMT(BPF_LD | BPF_ABS | BPF_B, SKF_LL_OFF + 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9437  			BPF_STMT(BPF_LD | BPF_ABS | BPF_B, SKF_LL_OFF + 0x3f),
93731ef086cee9 Daniel Borkmann    2018-05-04   9438  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9439  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9440  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9441  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9442  		{ {0x40, 0x82 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9443  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9444  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9445  		"LD_ABS halfword",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9446  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9447  			BPF_STMT(BPF_LD | BPF_ABS | BPF_H, 0x22),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9448  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9449  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9450  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9451  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9452  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9453  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9454  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9455  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9456  			[0x24] = 0xee, [0x25] = 0x99,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9457  			[0x26] = 0xff, [0x27] = 0xaa,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9458  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9459  		{ {0x40, 0xdd88 } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9460  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9461  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9462  		"LD_ABS halfword unaligned",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9463  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9464  			BPF_STMT(BPF_LD | BPF_ABS | BPF_H, 0x25),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9465  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9466  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9467  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9468  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9469  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9470  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9471  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9472  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9473  			[0x24] = 0xee, [0x25] = 0x99,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9474  			[0x26] = 0xff, [0x27] = 0xaa,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9475  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9476  		{ {0x40, 0x99ff } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9477  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9478  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9479  		"LD_ABS halfword positive offset, all ff",
93731ef086cee9 Daniel Borkmann    2018-05-04   9480  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9481  			BPF_STMT(BPF_LD | BPF_ABS | BPF_H, 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9482  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9483  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9484  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9485  		{ [0x3c] = 0xff, [0x3d] = 0xff,  [0x3e] = 0xff, [0x3f] = 0xff },
93731ef086cee9 Daniel Borkmann    2018-05-04   9486  		{ {0x40, 0xffff } },
93731ef086cee9 Daniel Borkmann    2018-05-04   9487  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9488  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9489  		"LD_ABS halfword positive offset, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9490  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9491  			BPF_STMT(BPF_LD | BPF_ABS | BPF_H, 0x3f),
93731ef086cee9 Daniel Borkmann    2018-05-04   9492  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9493  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9494  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9495  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9496  		{ {0x3f, 0 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9497  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9498  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9499  		"LD_ABS halfword negative offset, out of bounds load",
93731ef086cee9 Daniel Borkmann    2018-05-04   9500  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9501  			BPF_STMT(BPF_LD | BPF_ABS | BPF_H, -1),
93731ef086cee9 Daniel Borkmann    2018-05-04   9502  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9503  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9504  		CLASSIC | FLAG_EXPECTED_FAIL,
93731ef086cee9 Daniel Borkmann    2018-05-04   9505  		.expected_errcode = -EINVAL,
93731ef086cee9 Daniel Borkmann    2018-05-04   9506  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9507  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9508  		"LD_ABS halfword negative offset, in bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9509  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9510  			BPF_STMT(BPF_LD | BPF_ABS | BPF_H, SKF_LL_OFF + 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9511  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9512  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9513  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9514  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9515  		{ {0x40, 0x1982 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9516  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9517  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9518  		"LD_ABS halfword negative offset, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9519  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9520  			BPF_STMT(BPF_LD | BPF_ABS | BPF_H, SKF_LL_OFF + 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9521  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9522  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9523  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9524  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9525  		{ {0x3f, 0 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9526  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9527  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9528  		"LD_ABS word",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9529  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9530  			BPF_STMT(BPF_LD | BPF_ABS | BPF_W, 0x1c),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9531  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9532  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9533  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9534  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9535  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9536  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9537  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9538  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9539  			[0x24] = 0xee, [0x25] = 0x99,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9540  			[0x26] = 0xff, [0x27] = 0xaa,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9541  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9542  		{ {0x40, 0xaa55bb66 } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9543  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9544  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9545  		"LD_ABS word unaligned (addr & 3 == 2)",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9546  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9547  			BPF_STMT(BPF_LD | BPF_ABS | BPF_W, 0x22),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9548  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9549  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9550  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9551  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9552  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9553  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9554  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9555  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9556  			[0x24] = 0xee, [0x25] = 0x99,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9557  			[0x26] = 0xff, [0x27] = 0xaa,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9558  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9559  		{ {0x40, 0xdd88ee99 } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9560  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9561  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9562  		"LD_ABS word unaligned (addr & 3 == 1)",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9563  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9564  			BPF_STMT(BPF_LD | BPF_ABS | BPF_W, 0x21),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9565  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9566  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9567  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9568  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9569  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9570  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9571  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9572  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9573  			[0x24] = 0xee, [0x25] = 0x99,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9574  			[0x26] = 0xff, [0x27] = 0xaa,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9575  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9576  		{ {0x40, 0x77dd88ee } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9577  	},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9578  	{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9579  		"LD_ABS word unaligned (addr & 3 == 3)",
08fcb08fc06758 Nicolas Schichan   2015-08-04   9580  		.u.insns = {
08fcb08fc06758 Nicolas Schichan   2015-08-04   9581  			BPF_STMT(BPF_LD | BPF_ABS | BPF_W, 0x23),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9582  			BPF_STMT(BPF_RET | BPF_A, 0x0),
08fcb08fc06758 Nicolas Schichan   2015-08-04   9583  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9584  		CLASSIC,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9585  		{
08fcb08fc06758 Nicolas Schichan   2015-08-04   9586  			[0x1c] = 0xaa, [0x1d] = 0x55,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9587  			[0x1e] = 0xbb, [0x1f] = 0x66,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9588  			[0x20] = 0xcc, [0x21] = 0x77,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9589  			[0x22] = 0xdd, [0x23] = 0x88,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9590  			[0x24] = 0xee, [0x25] = 0x99,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9591  			[0x26] = 0xff, [0x27] = 0xaa,
08fcb08fc06758 Nicolas Schichan   2015-08-04   9592  		},
08fcb08fc06758 Nicolas Schichan   2015-08-04   9593  		{ {0x40, 0x88ee99ff } },
08fcb08fc06758 Nicolas Schichan   2015-08-04   9594  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9595  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9596  		"LD_ABS word positive offset, all ff",
93731ef086cee9 Daniel Borkmann    2018-05-04   9597  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9598  			BPF_STMT(BPF_LD | BPF_ABS | BPF_W, 0x3c),
93731ef086cee9 Daniel Borkmann    2018-05-04   9599  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9600  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9601  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9602  		{ [0x3c] = 0xff, [0x3d] = 0xff,  [0x3e] = 0xff, [0x3f] = 0xff },
93731ef086cee9 Daniel Borkmann    2018-05-04   9603  		{ {0x40, 0xffffffff } },
93731ef086cee9 Daniel Borkmann    2018-05-04   9604  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9605  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9606  		"LD_ABS word positive offset, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9607  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9608  			BPF_STMT(BPF_LD | BPF_ABS | BPF_W, 0x3f),
93731ef086cee9 Daniel Borkmann    2018-05-04   9609  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9610  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9611  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9612  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9613  		{ {0x3f, 0 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9614  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9615  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9616  		"LD_ABS word negative offset, out of bounds load",
93731ef086cee9 Daniel Borkmann    2018-05-04   9617  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9618  			BPF_STMT(BPF_LD | BPF_ABS | BPF_W, -1),
93731ef086cee9 Daniel Borkmann    2018-05-04   9619  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9620  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9621  		CLASSIC | FLAG_EXPECTED_FAIL,
93731ef086cee9 Daniel Borkmann    2018-05-04   9622  		.expected_errcode = -EINVAL,
93731ef086cee9 Daniel Borkmann    2018-05-04   9623  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9624  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9625  		"LD_ABS word negative offset, in bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9626  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9627  			BPF_STMT(BPF_LD | BPF_ABS | BPF_W, SKF_LL_OFF + 0x3c),
93731ef086cee9 Daniel Borkmann    2018-05-04   9628  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9629  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9630  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9631  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9632  		{ {0x40, 0x25051982 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9633  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9634  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9635  		"LD_ABS word negative offset, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9636  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9637  			BPF_STMT(BPF_LD | BPF_ABS | BPF_W, SKF_LL_OFF + 0x3c),
93731ef086cee9 Daniel Borkmann    2018-05-04   9638  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9639  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9640  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9641  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9642  		{ {0x3f, 0 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9643  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9644  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9645  		"LDX_MSH standalone, preserved A",
93731ef086cee9 Daniel Borkmann    2018-05-04   9646  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9647  			BPF_STMT(BPF_LD | BPF_IMM, 0xffeebbaa),
93731ef086cee9 Daniel Borkmann    2018-05-04   9648  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 0x3c),
93731ef086cee9 Daniel Borkmann    2018-05-04   9649  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9650  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9651  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9652  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9653  		{ {0x40, 0xffeebbaa }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9654  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9655  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9656  		"LDX_MSH standalone, preserved A 2",
93731ef086cee9 Daniel Borkmann    2018-05-04   9657  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9658  			BPF_STMT(BPF_LD | BPF_IMM, 0x175e9d63),
93731ef086cee9 Daniel Borkmann    2018-05-04   9659  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 0x3c),
93731ef086cee9 Daniel Borkmann    2018-05-04   9660  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 0x3d),
93731ef086cee9 Daniel Borkmann    2018-05-04   9661  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9662  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 0x3f),
93731ef086cee9 Daniel Borkmann    2018-05-04   9663  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9664  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9665  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9666  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9667  		{ {0x40, 0x175e9d63 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9668  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9669  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9670  		"LDX_MSH standalone, test result 1",
93731ef086cee9 Daniel Borkmann    2018-05-04   9671  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9672  			BPF_STMT(BPF_LD | BPF_IMM, 0xffeebbaa),
93731ef086cee9 Daniel Borkmann    2018-05-04   9673  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 0x3c),
93731ef086cee9 Daniel Borkmann    2018-05-04   9674  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9675  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9676  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9677  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9678  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9679  		{ {0x40, 0x14 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9680  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9681  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9682  		"LDX_MSH standalone, test result 2",
93731ef086cee9 Daniel Borkmann    2018-05-04   9683  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9684  			BPF_STMT(BPF_LD | BPF_IMM, 0xffeebbaa),
93731ef086cee9 Daniel Borkmann    2018-05-04   9685  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9686  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9687  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9688  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9689  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9690  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9691  		{ {0x40, 0x24 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9692  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9693  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9694  		"LDX_MSH standalone, negative offset",
93731ef086cee9 Daniel Borkmann    2018-05-04   9695  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9696  			BPF_STMT(BPF_LD | BPF_IMM, 0xffeebbaa),
93731ef086cee9 Daniel Borkmann    2018-05-04   9697  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, -1),
93731ef086cee9 Daniel Borkmann    2018-05-04   9698  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9699  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9700  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9701  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9702  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9703  		{ {0x40, 0 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9704  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9705  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9706  		"LDX_MSH standalone, negative offset 2",
93731ef086cee9 Daniel Borkmann    2018-05-04   9707  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9708  			BPF_STMT(BPF_LD | BPF_IMM, 0xffeebbaa),
93731ef086cee9 Daniel Borkmann    2018-05-04   9709  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, SKF_LL_OFF + 0x3e),
93731ef086cee9 Daniel Borkmann    2018-05-04   9710  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9711  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9712  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9713  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9714  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9715  		{ {0x40, 0x24 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9716  	},
93731ef086cee9 Daniel Borkmann    2018-05-04   9717  	{
93731ef086cee9 Daniel Borkmann    2018-05-04   9718  		"LDX_MSH standalone, out of bounds",
93731ef086cee9 Daniel Borkmann    2018-05-04   9719  		.u.insns = {
93731ef086cee9 Daniel Borkmann    2018-05-04   9720  			BPF_STMT(BPF_LD | BPF_IMM, 0xffeebbaa),
93731ef086cee9 Daniel Borkmann    2018-05-04   9721  			BPF_STMT(BPF_LDX | BPF_B | BPF_MSH, 0x40),
93731ef086cee9 Daniel Borkmann    2018-05-04   9722  			BPF_STMT(BPF_MISC | BPF_TXA, 0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9723  			BPF_STMT(BPF_RET | BPF_A, 0x0),
93731ef086cee9 Daniel Borkmann    2018-05-04   9724  		},
93731ef086cee9 Daniel Borkmann    2018-05-04   9725  		CLASSIC,
93731ef086cee9 Daniel Borkmann    2018-05-04   9726  		{ [0x3c] = 0x25, [0x3d] = 0x05,  [0x3e] = 0x19, [0x3f] = 0x82 },
93731ef086cee9 Daniel Borkmann    2018-05-04   9727  		{ {0x40, 0 }, },
93731ef086cee9 Daniel Borkmann    2018-05-04   9728  	},
86bf1721b22636 Nicolas Schichan   2015-08-04   9729  	/*
86bf1721b22636 Nicolas Schichan   2015-08-04   9730  	 * verify that the interpreter or JIT correctly sets A and X
86bf1721b22636 Nicolas Schichan   2015-08-04   9731  	 * to 0.
86bf1721b22636 Nicolas Schichan   2015-08-04   9732  	 */
86bf1721b22636 Nicolas Schichan   2015-08-04   9733  	{
86bf1721b22636 Nicolas Schichan   2015-08-04   9734  		"ADD default X",
86bf1721b22636 Nicolas Schichan   2015-08-04   9735  		.u.insns = {
86bf1721b22636 Nicolas Schichan   2015-08-04   9736  			/*
86bf1721b22636 Nicolas Schichan   2015-08-04   9737  			 * A = 0x42
86bf1721b22636 Nicolas Schichan   2015-08-04   9738  			 * A = A + X
86bf1721b22636 Nicolas Schichan   2015-08-04   9739  			 * ret A
86bf1721b22636 Nicolas Schichan   2015-08-04   9740  			 */
86bf1721b22636 Nicolas Schichan   2015-08-04   9741  			BPF_STMT(BPF_LD | BPF_IMM, 0x42),
86bf1721b22636 Nicolas Schichan   2015-08-04   9742  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0),
86bf1721b22636 Nicolas Schichan   2015-08-04   9743  			BPF_STMT(BPF_RET | BPF_A, 0x0),
86bf1721b22636 Nicolas Schichan   2015-08-04   9744  		},
86bf1721b22636 Nicolas Schichan   2015-08-04   9745  		CLASSIC | FLAG_NO_DATA,
86bf1721b22636 Nicolas Schichan   2015-08-04   9746  		{},
86bf1721b22636 Nicolas Schichan   2015-08-04   9747  		{ {0x1, 0x42 } },
86bf1721b22636 Nicolas Schichan   2015-08-04   9748  	},
86bf1721b22636 Nicolas Schichan   2015-08-04   9749  	{
86bf1721b22636 Nicolas Schichan   2015-08-04   9750  		"ADD default A",
86bf1721b22636 Nicolas Schichan   2015-08-04   9751  		.u.insns = {
86bf1721b22636 Nicolas Schichan   2015-08-04   9752  			/*
86bf1721b22636 Nicolas Schichan   2015-08-04   9753  			 * A = A + 0x42
86bf1721b22636 Nicolas Schichan   2015-08-04   9754  			 * ret A
86bf1721b22636 Nicolas Schichan   2015-08-04   9755  			 */
86bf1721b22636 Nicolas Schichan   2015-08-04   9756  			BPF_STMT(BPF_ALU | BPF_ADD | BPF_K, 0x42),
86bf1721b22636 Nicolas Schichan   2015-08-04   9757  			BPF_STMT(BPF_RET | BPF_A, 0x0),
86bf1721b22636 Nicolas Schichan   2015-08-04   9758  		},
86bf1721b22636 Nicolas Schichan   2015-08-04   9759  		CLASSIC | FLAG_NO_DATA,
86bf1721b22636 Nicolas Schichan   2015-08-04   9760  		{},
86bf1721b22636 Nicolas Schichan   2015-08-04   9761  		{ {0x1, 0x42 } },
86bf1721b22636 Nicolas Schichan   2015-08-04   9762  	},
86bf1721b22636 Nicolas Schichan   2015-08-04   9763  	{
86bf1721b22636 Nicolas Schichan   2015-08-04   9764  		"SUB default X",
86bf1721b22636 Nicolas Schichan   2015-08-04   9765  		.u.insns = {
86bf1721b22636 Nicolas Schichan   2015-08-04   9766  			/*
86bf1721b22636 Nicolas Schichan   2015-08-04   9767  			 * A = 0x66
86bf1721b22636 Nicolas Schichan   2015-08-04   9768  			 * A = A - X
86bf1721b22636 Nicolas Schichan   2015-08-04   9769  			 * ret A
86bf1721b22636 Nicolas Schichan   2015-08-04   9770  			 */
86bf1721b22636 Nicolas Schichan   2015-08-04   9771  			BPF_STMT(BPF_LD | BPF_IMM, 0x66),
86bf1721b22636 Nicolas Schichan   2015-08-04   9772  			BPF_STMT(BPF_ALU | BPF_SUB | BPF_X, 0),
86bf1721b22636 Nicolas Schichan   2015-08-04   9773  			BPF_STMT(BPF_RET | BPF_A, 0x0),
86bf1721b22636 Nicolas Schichan   2015-08-04   9774  		},
86bf1721b22636 Nicolas Schichan   2015-08-04   9775  		CLASSIC | FLAG_NO_DATA,
86bf1721b22636 Nicolas Schichan   2015-08-04   9776  		{},
86bf1721b22636 Nicolas Schichan   2015-08-04   9777  		{ {0x1, 0x66 } },
86bf1721b22636 Nicolas Schichan   2015-08-04   9778  	},
86bf1721b22636 Nicolas Schichan   2015-08-04   9779  	{
86bf1721b22636 Nicolas Schichan   2015-08-04   9780  		"SUB default A",
86bf1721b22636 Nicolas Schichan   2015-08-04   9781  		.u.insns = {
86bf1721b22636 Nicolas Schichan   2015-08-04   9782  			/*
86bf1721b22636 Nicolas Schichan   2015-08-04   9783  			 * A = A - -0x66
86bf1721b22636 Nicolas Schichan   2015-08-04   9784  			 * ret A
86bf1721b22636 Nicolas Schichan   2015-08-04   9785  			 */
86bf1721b22636 Nicolas Schichan   2015-08-04   9786  			BPF_STMT(BPF_ALU | BPF_SUB | BPF_K, -0x66),
86bf1721b22636 Nicolas Schichan   2015-08-04   9787  			BPF_STMT(BPF_RET | BPF_A, 0x0),
86bf1721b22636 Nicolas Schichan   2015-08-04   9788  		},
86bf1721b22636 Nicolas Schichan   2015-08-04   9789  		CLASSIC | FLAG_NO_DATA,
86bf1721b22636 Nicolas Schichan   2015-08-04   9790  		{},
86bf1721b22636 Nicolas Schichan   2015-08-04   9791  		{ {0x1, 0x66 } },
86bf1721b22636 Nicolas Schichan   2015-08-04   9792  	},
86bf1721b22636 Nicolas Schichan   2015-08-04   9793  	{
86bf1721b22636 Nicolas Schichan   2015-08-04   9794  		"MUL default X",
86bf1721b22636 Nicolas Schichan   2015-08-04   9795  		.u.insns = {
86bf1721b22636 Nicolas Schichan   2015-08-04   9796  			/*
86bf1721b22636 Nicolas Schichan   2015-08-04   9797  			 * A = 0x42
86bf1721b22636 Nicolas Schichan   2015-08-04   9798  			 * A = A * X
86bf1721b22636 Nicolas Schichan   2015-08-04   9799  			 * ret A
86bf1721b22636 Nicolas Schichan   2015-08-04   9800  			 */
86bf1721b22636 Nicolas Schichan   2015-08-04   9801  			BPF_STMT(BPF_LD | BPF_IMM, 0x42),
86bf1721b22636 Nicolas Schichan   2015-08-04   9802  			BPF_STMT(BPF_ALU | BPF_MUL | BPF_X, 0),
86bf1721b22636 Nicolas Schichan   2015-08-04   9803  			BPF_STMT(BPF_RET | BPF_A, 0x0),
86bf1721b22636 Nicolas Schichan   2015-08-04   9804  		},
86bf1721b22636 Nicolas Schichan   2015-08-04   9805  		CLASSIC | FLAG_NO_DATA,
86bf1721b22636 Nicolas Schichan   2015-08-04   9806  		{},
86bf1721b22636 Nicolas Schichan   2015-08-04   9807  		{ {0x1, 0x0 } },
86bf1721b22636 Nicolas Schichan   2015-08-04   9808  	},
86bf1721b22636 Nicolas Schichan   2015-08-04   9809  	{
86bf1721b22636 Nicolas Schichan   2015-08-04   9810  		"MUL default A",
86bf1721b22636 Nicolas Schichan   2015-08-04   9811  		.u.insns = {
86bf1721b22636 Nicolas Schichan   2015-08-04   9812  			/*
86bf1721b22636 Nicolas Schichan   2015-08-04   9813  			 * A = A * 0x66
86bf1721b22636 Nicolas Schichan   2015-08-04   9814  			 * ret A
86bf1721b22636 Nicolas Schichan   2015-08-04   9815  			 */
86bf1721b22636 Nicolas Schichan   2015-08-04   9816  			BPF_STMT(BPF_ALU | BPF_MUL | BPF_K, 0x66),
86bf1721b22636 Nicolas Schichan   2015-08-04   9817  			BPF_STMT(BPF_RET | BPF_A, 0x0),
86bf1721b22636 Nicolas Schichan   2015-08-04   9818  		},
86bf1721b22636 Nicolas Schichan   2015-08-04   9819  		CLASSIC | FLAG_NO_DATA,
86bf1721b22636 Nicolas Schichan   2015-08-04   9820  		{},
86bf1721b22636 Nicolas Schichan   2015-08-04   9821  		{ {0x1, 0x0 } },
86bf1721b22636 Nicolas Schichan   2015-08-04   9822  	},
86bf1721b22636 Nicolas Schichan   2015-08-04   9823  	{
86bf1721b22636 Nicolas Schichan   2015-08-04   9824  		"DIV default X",
86bf1721b22636 Nicolas Schichan   2015-08-04   9825  		.u.insns = {
86bf1721b22636 Nicolas Schichan   2015-08-04   9826  			/*
86bf1721b22636 Nicolas Schichan   2015-08-04   9827  			 * A = 0x42
86bf1721b22636 Nicolas Schichan   2015-08-04   9828  			 * A = A / X ; this halt the filter execution if X is 0
86bf1721b22636 Nicolas Schichan   2015-08-04   9829  			 * ret 0x42
86bf1721b22636 Nicolas Schichan   2015-08-04   9830  			 */
86bf1721b22636 Nicolas Schichan   2015-08-04   9831  			BPF_STMT(BPF_LD | BPF_IMM, 0x42),
86bf1721b22636 Nicolas Schichan   2015-08-04   9832  			BPF_STMT(BPF_ALU | BPF_DIV | BPF_X, 0),
86bf1721b22636 Nicolas Schichan   2015-08-04   9833  			BPF_STMT(BPF_RET | BPF_K, 0x42),
86bf1721b22636 Nicolas Schichan   2015-08-04   9834  		},
86bf1721b22636 Nicolas Schichan   2015-08-04   9835  		CLASSIC | FLAG_NO_DATA,
86bf1721b22636 Nicolas Schichan   2015-08-04   9836  		{},
86bf1721b22636 Nicolas Schichan   2015-08-04   9837  		{ {0x1, 0x0 } },
86bf1721b22636 Nicolas Schichan   2015-08-04   9838  	},
86bf1721b22636 Nicolas Schichan   2015-08-04   9839  	{
86bf1721b22636 Nicolas Schichan   2015-08-04   9840  		"DIV default A",
86bf1721b22636 Nicolas Schichan   2015-08-04   9841  		.u.insns = {
86bf1721b22636 Nicolas Schichan   2015-08-04   9842  			/*
86bf1721b22636 Nicolas Schichan   2015-08-04   9843  			 * A = A / 1
86bf1721b22636 Nicolas Schichan   2015-08-04   9844  			 * ret A
86bf1721b22636 Nicolas Schichan   2015-08-04   9845  			 */
86bf1721b22636 Nicolas Schichan   2015-08-04   9846  			BPF_STMT(BPF_ALU | BPF_DIV | BPF_K, 0x1),
86bf1721b22636 Nicolas Schichan   2015-08-04   9847  			BPF_STMT(BPF_RET | BPF_A, 0x0),
86bf1721b22636 Nicolas Schichan   2015-08-04   9848  		},
86bf1721b22636 Nicolas Schichan   2015-08-04   9849  		CLASSIC | FLAG_NO_DATA,
86bf1721b22636 Nicolas Schichan   2015-08-04   9850  		{},
86bf1721b22636 Nicolas Schichan   2015-08-04   9851  		{ {0x1, 0x0 } },
86bf1721b22636 Nicolas Schichan   2015-08-04   9852  	},
d4e4bc16102cb1 Yang Shi           2015-11-04   9853  	{
d4e4bc16102cb1 Yang Shi           2015-11-04   9854  		"MOD default X",
d4e4bc16102cb1 Yang Shi           2015-11-04   9855  		.u.insns = {
d4e4bc16102cb1 Yang Shi           2015-11-04   9856  			/*
d4e4bc16102cb1 Yang Shi           2015-11-04   9857  			 * A = 0x42
d4e4bc16102cb1 Yang Shi           2015-11-04   9858  			 * A = A mod X ; this halt the filter execution if X is 0
d4e4bc16102cb1 Yang Shi           2015-11-04   9859  			 * ret 0x42
d4e4bc16102cb1 Yang Shi           2015-11-04   9860  			 */
d4e4bc16102cb1 Yang Shi           2015-11-04   9861  			BPF_STMT(BPF_LD | BPF_IMM, 0x42),
d4e4bc16102cb1 Yang Shi           2015-11-04   9862  			BPF_STMT(BPF_ALU | BPF_MOD | BPF_X, 0),
d4e4bc16102cb1 Yang Shi           2015-11-04   9863  			BPF_STMT(BPF_RET | BPF_K, 0x42),
d4e4bc16102cb1 Yang Shi           2015-11-04   9864  		},
d4e4bc16102cb1 Yang Shi           2015-11-04   9865  		CLASSIC | FLAG_NO_DATA,
d4e4bc16102cb1 Yang Shi           2015-11-04   9866  		{},
d4e4bc16102cb1 Yang Shi           2015-11-04   9867  		{ {0x1, 0x0 } },
d4e4bc16102cb1 Yang Shi           2015-11-04   9868  	},
d4e4bc16102cb1 Yang Shi           2015-11-04   9869  	{
d4e4bc16102cb1 Yang Shi           2015-11-04   9870  		"MOD default A",
d4e4bc16102cb1 Yang Shi           2015-11-04   9871  		.u.insns = {
d4e4bc16102cb1 Yang Shi           2015-11-04   9872  			/*
d4e4bc16102cb1 Yang Shi           2015-11-04   9873  			 * A = A mod 1
d4e4bc16102cb1 Yang Shi           2015-11-04   9874  			 * ret A
d4e4bc16102cb1 Yang Shi           2015-11-04   9875  			 */
d4e4bc16102cb1 Yang Shi           2015-11-04   9876  			BPF_STMT(BPF_ALU | BPF_MOD | BPF_K, 0x1),
d4e4bc16102cb1 Yang Shi           2015-11-04   9877  			BPF_STMT(BPF_RET | BPF_A, 0x0),
d4e4bc16102cb1 Yang Shi           2015-11-04   9878  		},
d4e4bc16102cb1 Yang Shi           2015-11-04   9879  		CLASSIC | FLAG_NO_DATA,
d4e4bc16102cb1 Yang Shi           2015-11-04   9880  		{},
d4e4bc16102cb1 Yang Shi           2015-11-04   9881  		{ {0x1, 0x0 } },
d4e4bc16102cb1 Yang Shi           2015-11-04   9882  	},
86bf1721b22636 Nicolas Schichan   2015-08-04   9883  	{
86bf1721b22636 Nicolas Schichan   2015-08-04   9884  		"JMP EQ default A",
86bf1721b22636 Nicolas Schichan   2015-08-04   9885  		.u.insns = {
86bf1721b22636 Nicolas Schichan   2015-08-04   9886  			/*
86bf1721b22636 Nicolas Schichan   2015-08-04   9887  			 * cmp A, 0x0, 0, 1
86bf1721b22636 Nicolas Schichan   2015-08-04   9888  			 * ret 0x42
86bf1721b22636 Nicolas Schichan   2015-08-04   9889  			 * ret 0x66
86bf1721b22636 Nicolas Schichan   2015-08-04   9890  			 */
86bf1721b22636 Nicolas Schichan   2015-08-04   9891  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0x0, 0, 1),
86bf1721b22636 Nicolas Schichan   2015-08-04   9892  			BPF_STMT(BPF_RET | BPF_K, 0x42),
86bf1721b22636 Nicolas Schichan   2015-08-04   9893  			BPF_STMT(BPF_RET | BPF_K, 0x66),
86bf1721b22636 Nicolas Schichan   2015-08-04   9894  		},
86bf1721b22636 Nicolas Schichan   2015-08-04   9895  		CLASSIC | FLAG_NO_DATA,
86bf1721b22636 Nicolas Schichan   2015-08-04   9896  		{},
86bf1721b22636 Nicolas Schichan   2015-08-04   9897  		{ {0x1, 0x42 } },
86bf1721b22636 Nicolas Schichan   2015-08-04   9898  	},
86bf1721b22636 Nicolas Schichan   2015-08-04   9899  	{
86bf1721b22636 Nicolas Schichan   2015-08-04   9900  		"JMP EQ default X",
86bf1721b22636 Nicolas Schichan   2015-08-04   9901  		.u.insns = {
86bf1721b22636 Nicolas Schichan   2015-08-04   9902  			/*
86bf1721b22636 Nicolas Schichan   2015-08-04   9903  			 * A = 0x0
86bf1721b22636 Nicolas Schichan   2015-08-04   9904  			 * cmp A, X, 0, 1
86bf1721b22636 Nicolas Schichan   2015-08-04   9905  			 * ret 0x42
86bf1721b22636 Nicolas Schichan   2015-08-04   9906  			 * ret 0x66
86bf1721b22636 Nicolas Schichan   2015-08-04   9907  			 */
86bf1721b22636 Nicolas Schichan   2015-08-04   9908  			BPF_STMT(BPF_LD | BPF_IMM, 0x0),
86bf1721b22636 Nicolas Schichan   2015-08-04   9909  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_X, 0x0, 0, 1),
86bf1721b22636 Nicolas Schichan   2015-08-04   9910  			BPF_STMT(BPF_RET | BPF_K, 0x42),
86bf1721b22636 Nicolas Schichan   2015-08-04   9911  			BPF_STMT(BPF_RET | BPF_K, 0x66),
86bf1721b22636 Nicolas Schichan   2015-08-04   9912  		},
86bf1721b22636 Nicolas Schichan   2015-08-04   9913  		CLASSIC | FLAG_NO_DATA,
86bf1721b22636 Nicolas Schichan   2015-08-04   9914  		{},
86bf1721b22636 Nicolas Schichan   2015-08-04   9915  		{ {0x1, 0x42 } },
86bf1721b22636 Nicolas Schichan   2015-08-04   9916  	},
fcd1c917719548 Daniel Borkmann    2018-01-20   9917  	/* Checking interpreter vs JIT wrt signed extended imms. */
fcd1c917719548 Daniel Borkmann    2018-01-20   9918  	{
fcd1c917719548 Daniel Borkmann    2018-01-20   9919  		"JNE signed compare, test 1",
fcd1c917719548 Daniel Borkmann    2018-01-20   9920  		.u.insns_int = {
fcd1c917719548 Daniel Borkmann    2018-01-20   9921  			BPF_ALU32_IMM(BPF_MOV, R1, 0xfefbbc12),
fcd1c917719548 Daniel Borkmann    2018-01-20   9922  			BPF_ALU32_IMM(BPF_MOV, R3, 0xffff0000),
fcd1c917719548 Daniel Borkmann    2018-01-20   9923  			BPF_MOV64_REG(R2, R1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9924  			BPF_ALU64_REG(BPF_AND, R2, R3),
fcd1c917719548 Daniel Borkmann    2018-01-20   9925  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9926  			BPF_JMP_IMM(BPF_JNE, R2, -17104896, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9927  			BPF_ALU32_IMM(BPF_MOV, R0, 2),
fcd1c917719548 Daniel Borkmann    2018-01-20   9928  			BPF_EXIT_INSN(),
fcd1c917719548 Daniel Borkmann    2018-01-20   9929  		},
fcd1c917719548 Daniel Borkmann    2018-01-20   9930  		INTERNAL,
fcd1c917719548 Daniel Borkmann    2018-01-20   9931  		{ },
fcd1c917719548 Daniel Borkmann    2018-01-20   9932  		{ { 0, 1 } },
fcd1c917719548 Daniel Borkmann    2018-01-20   9933  	},
fcd1c917719548 Daniel Borkmann    2018-01-20   9934  	{
fcd1c917719548 Daniel Borkmann    2018-01-20   9935  		"JNE signed compare, test 2",
fcd1c917719548 Daniel Borkmann    2018-01-20   9936  		.u.insns_int = {
fcd1c917719548 Daniel Borkmann    2018-01-20   9937  			BPF_ALU32_IMM(BPF_MOV, R1, 0xfefbbc12),
fcd1c917719548 Daniel Borkmann    2018-01-20   9938  			BPF_ALU32_IMM(BPF_MOV, R3, 0xffff0000),
fcd1c917719548 Daniel Borkmann    2018-01-20   9939  			BPF_MOV64_REG(R2, R1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9940  			BPF_ALU64_REG(BPF_AND, R2, R3),
fcd1c917719548 Daniel Borkmann    2018-01-20   9941  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9942  			BPF_JMP_IMM(BPF_JNE, R2, 0xfefb0000, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9943  			BPF_ALU32_IMM(BPF_MOV, R0, 2),
fcd1c917719548 Daniel Borkmann    2018-01-20   9944  			BPF_EXIT_INSN(),
fcd1c917719548 Daniel Borkmann    2018-01-20   9945  		},
fcd1c917719548 Daniel Borkmann    2018-01-20   9946  		INTERNAL,
fcd1c917719548 Daniel Borkmann    2018-01-20   9947  		{ },
fcd1c917719548 Daniel Borkmann    2018-01-20   9948  		{ { 0, 1 } },
fcd1c917719548 Daniel Borkmann    2018-01-20   9949  	},
fcd1c917719548 Daniel Borkmann    2018-01-20   9950  	{
fcd1c917719548 Daniel Borkmann    2018-01-20   9951  		"JNE signed compare, test 3",
fcd1c917719548 Daniel Borkmann    2018-01-20   9952  		.u.insns_int = {
fcd1c917719548 Daniel Borkmann    2018-01-20   9953  			BPF_ALU32_IMM(BPF_MOV, R1, 0xfefbbc12),
fcd1c917719548 Daniel Borkmann    2018-01-20   9954  			BPF_ALU32_IMM(BPF_MOV, R3, 0xffff0000),
fcd1c917719548 Daniel Borkmann    2018-01-20   9955  			BPF_ALU32_IMM(BPF_MOV, R4, 0xfefb0000),
fcd1c917719548 Daniel Borkmann    2018-01-20   9956  			BPF_MOV64_REG(R2, R1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9957  			BPF_ALU64_REG(BPF_AND, R2, R3),
fcd1c917719548 Daniel Borkmann    2018-01-20   9958  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9959  			BPF_JMP_REG(BPF_JNE, R2, R4, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9960  			BPF_ALU32_IMM(BPF_MOV, R0, 2),
fcd1c917719548 Daniel Borkmann    2018-01-20   9961  			BPF_EXIT_INSN(),
fcd1c917719548 Daniel Borkmann    2018-01-20   9962  		},
fcd1c917719548 Daniel Borkmann    2018-01-20   9963  		INTERNAL,
fcd1c917719548 Daniel Borkmann    2018-01-20   9964  		{ },
fcd1c917719548 Daniel Borkmann    2018-01-20   9965  		{ { 0, 2 } },
fcd1c917719548 Daniel Borkmann    2018-01-20   9966  	},
fcd1c917719548 Daniel Borkmann    2018-01-20   9967  	{
fcd1c917719548 Daniel Borkmann    2018-01-20   9968  		"JNE signed compare, test 4",
fcd1c917719548 Daniel Borkmann    2018-01-20   9969  		.u.insns_int = {
fcd1c917719548 Daniel Borkmann    2018-01-20   9970  			BPF_LD_IMM64(R1, -17104896),
fcd1c917719548 Daniel Borkmann    2018-01-20   9971  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9972  			BPF_JMP_IMM(BPF_JNE, R1, -17104896, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9973  			BPF_ALU32_IMM(BPF_MOV, R0, 2),
fcd1c917719548 Daniel Borkmann    2018-01-20   9974  			BPF_EXIT_INSN(),
fcd1c917719548 Daniel Borkmann    2018-01-20   9975  		},
fcd1c917719548 Daniel Borkmann    2018-01-20   9976  		INTERNAL,
fcd1c917719548 Daniel Borkmann    2018-01-20   9977  		{ },
fcd1c917719548 Daniel Borkmann    2018-01-20   9978  		{ { 0, 2 } },
fcd1c917719548 Daniel Borkmann    2018-01-20   9979  	},
fcd1c917719548 Daniel Borkmann    2018-01-20   9980  	{
fcd1c917719548 Daniel Borkmann    2018-01-20   9981  		"JNE signed compare, test 5",
fcd1c917719548 Daniel Borkmann    2018-01-20   9982  		.u.insns_int = {
fcd1c917719548 Daniel Borkmann    2018-01-20   9983  			BPF_LD_IMM64(R1, 0xfefb0000),
fcd1c917719548 Daniel Borkmann    2018-01-20   9984  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9985  			BPF_JMP_IMM(BPF_JNE, R1, 0xfefb0000, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9986  			BPF_ALU32_IMM(BPF_MOV, R0, 2),
fcd1c917719548 Daniel Borkmann    2018-01-20   9987  			BPF_EXIT_INSN(),
fcd1c917719548 Daniel Borkmann    2018-01-20   9988  		},
fcd1c917719548 Daniel Borkmann    2018-01-20   9989  		INTERNAL,
fcd1c917719548 Daniel Borkmann    2018-01-20   9990  		{ },
fcd1c917719548 Daniel Borkmann    2018-01-20   9991  		{ { 0, 1 } },
fcd1c917719548 Daniel Borkmann    2018-01-20   9992  	},
fcd1c917719548 Daniel Borkmann    2018-01-20   9993  	{
fcd1c917719548 Daniel Borkmann    2018-01-20   9994  		"JNE signed compare, test 6",
fcd1c917719548 Daniel Borkmann    2018-01-20   9995  		.u.insns_int = {
fcd1c917719548 Daniel Borkmann    2018-01-20   9996  			BPF_LD_IMM64(R1, 0x7efb0000),
fcd1c917719548 Daniel Borkmann    2018-01-20   9997  			BPF_ALU32_IMM(BPF_MOV, R0, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9998  			BPF_JMP_IMM(BPF_JNE, R1, 0x7efb0000, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20   9999  			BPF_ALU32_IMM(BPF_MOV, R0, 2),
fcd1c917719548 Daniel Borkmann    2018-01-20  10000  			BPF_EXIT_INSN(),
fcd1c917719548 Daniel Borkmann    2018-01-20  10001  		},
fcd1c917719548 Daniel Borkmann    2018-01-20  10002  		INTERNAL,
fcd1c917719548 Daniel Borkmann    2018-01-20  10003  		{ },
fcd1c917719548 Daniel Borkmann    2018-01-20  10004  		{ { 0, 2 } },
fcd1c917719548 Daniel Borkmann    2018-01-20  10005  	},
fcd1c917719548 Daniel Borkmann    2018-01-20  10006  	{
fcd1c917719548 Daniel Borkmann    2018-01-20  10007  		"JNE signed compare, test 7",
fcd1c917719548 Daniel Borkmann    2018-01-20  10008  		.u.insns = {
fcd1c917719548 Daniel Borkmann    2018-01-20  10009  			BPF_STMT(BPF_LD | BPF_IMM, 0xffff0000),
fcd1c917719548 Daniel Borkmann    2018-01-20  10010  			BPF_STMT(BPF_MISC | BPF_TAX, 0),
fcd1c917719548 Daniel Borkmann    2018-01-20  10011  			BPF_STMT(BPF_LD | BPF_IMM, 0xfefbbc12),
fcd1c917719548 Daniel Borkmann    2018-01-20  10012  			BPF_STMT(BPF_ALU | BPF_AND | BPF_X, 0),
fcd1c917719548 Daniel Borkmann    2018-01-20  10013  			BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0xfefb0000, 1, 0),
fcd1c917719548 Daniel Borkmann    2018-01-20  10014  			BPF_STMT(BPF_RET | BPF_K, 1),
fcd1c917719548 Daniel Borkmann    2018-01-20  10015  			BPF_STMT(BPF_RET | BPF_K, 2),
fcd1c917719548 Daniel Borkmann    2018-01-20  10016  		},
fcd1c917719548 Daniel Borkmann    2018-01-20  10017  		CLASSIC | FLAG_NO_DATA,
fcd1c917719548 Daniel Borkmann    2018-01-20  10018  		{},
fcd1c917719548 Daniel Borkmann    2018-01-20  10019  		{ { 0, 2 } },
fcd1c917719548 Daniel Borkmann    2018-01-20  10020  	},
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10021  	/* Exhaustive test of ALU64 shift operations */
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10022  	{
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10023  		"ALU64_LSH_K: all shift values",
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10024  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10025  		INTERNAL | FLAG_NO_DATA,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10026  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10027  		{ { 0, 1 } },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10028  		.fill_helper = bpf_fill_alu_lsh_imm,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10029  	},
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10030  	{
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10031  		"ALU64_RSH_K: all shift values",
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10032  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10033  		INTERNAL | FLAG_NO_DATA,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10034  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10035  		{ { 0, 1 } },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10036  		.fill_helper = bpf_fill_alu_rsh_imm,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10037  	},
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10038  	{
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10039  		"ALU64_ARSH_K: all shift values",
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10040  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10041  		INTERNAL | FLAG_NO_DATA,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10042  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10043  		{ { 0, 1 } },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10044  		.fill_helper = bpf_fill_alu_arsh_imm,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10045  	},
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10046  	{
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10047  		"ALU64_LSH_X: all shift values",
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10048  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10049  		INTERNAL | FLAG_NO_DATA,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10050  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10051  		{ { 0, 1 } },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10052  		.fill_helper = bpf_fill_alu_lsh_reg,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10053  	},
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10054  	{
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10055  		"ALU64_RSH_X: all shift values",
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10056  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10057  		INTERNAL | FLAG_NO_DATA,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10058  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10059  		{ { 0, 1 } },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10060  		.fill_helper = bpf_fill_alu_rsh_reg,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10061  	},
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10062  	{
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10063  		"ALU64_ARSH_X: all shift values",
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10064  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10065  		INTERNAL | FLAG_NO_DATA,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10066  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10067  		{ { 0, 1 } },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10068  		.fill_helper = bpf_fill_alu_arsh_reg,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10069  	},
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10070  	/* Exhaustive test of ALU32 shift operations */
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10071  	{
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10072  		"ALU32_LSH_K: all shift values",
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10073  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10074  		INTERNAL | FLAG_NO_DATA,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10075  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10076  		{ { 0, 1 } },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10077  		.fill_helper = bpf_fill_alu32_lsh_imm,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10078  	},
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10079  	{
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10080  		"ALU32_RSH_K: all shift values",
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10081  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10082  		INTERNAL | FLAG_NO_DATA,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10083  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10084  		{ { 0, 1 } },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10085  		.fill_helper = bpf_fill_alu32_rsh_imm,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10086  	},
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10087  	{
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10088  		"ALU32_ARSH_K: all shift values",
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10089  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10090  		INTERNAL | FLAG_NO_DATA,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10091  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10092  		{ { 0, 1 } },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10093  		.fill_helper = bpf_fill_alu32_arsh_imm,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10094  	},
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10095  	{
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10096  		"ALU32_LSH_X: all shift values",
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10097  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10098  		INTERNAL | FLAG_NO_DATA,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10099  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10100  		{ { 0, 1 } },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10101  		.fill_helper = bpf_fill_alu32_lsh_reg,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10102  	},
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10103  	{
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10104  		"ALU32_RSH_X: all shift values",
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10105  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10106  		INTERNAL | FLAG_NO_DATA,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10107  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10108  		{ { 0, 1 } },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10109  		.fill_helper = bpf_fill_alu32_rsh_reg,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10110  	},
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10111  	{
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10112  		"ALU32_ARSH_X: all shift values",
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10113  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10114  		INTERNAL | FLAG_NO_DATA,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10115  		{ },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10116  		{ { 0, 1 } },
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10117  		.fill_helper = bpf_fill_alu32_arsh_reg,
ceabc579a2dfd5 Johan Almbladh     2021-09-02  10118  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10119  	/* ALU64 immediate magnitudes */
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10120  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10121  		"ALU64_MOV_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10122  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10123  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10124  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10125  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10126  		.fill_helper = bpf_fill_alu64_mov_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10127  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10128  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10129  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10130  		"ALU64_AND_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10131  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10132  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10133  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10134  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10135  		.fill_helper = bpf_fill_alu64_and_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10136  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10137  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10138  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10139  		"ALU64_OR_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10140  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10141  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10142  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10143  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10144  		.fill_helper = bpf_fill_alu64_or_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10145  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10146  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10147  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10148  		"ALU64_XOR_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10149  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10150  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10151  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10152  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10153  		.fill_helper = bpf_fill_alu64_xor_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10154  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10155  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10156  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10157  		"ALU64_ADD_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10158  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10159  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10160  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10161  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10162  		.fill_helper = bpf_fill_alu64_add_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10163  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10164  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10165  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10166  		"ALU64_SUB_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10167  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10168  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10169  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10170  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10171  		.fill_helper = bpf_fill_alu64_sub_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10172  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10173  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10174  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10175  		"ALU64_MUL_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10176  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10177  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10178  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10179  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10180  		.fill_helper = bpf_fill_alu64_mul_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10181  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10182  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10183  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10184  		"ALU64_DIV_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10185  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10186  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10187  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10188  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10189  		.fill_helper = bpf_fill_alu64_div_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10190  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10191  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10192  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10193  		"ALU64_MOD_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10194  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10195  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10196  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10197  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10198  		.fill_helper = bpf_fill_alu64_mod_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10199  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10200  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10201  	/* ALU32 immediate magnitudes */
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10202  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10203  		"ALU32_MOV_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10204  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10205  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10206  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10207  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10208  		.fill_helper = bpf_fill_alu32_mov_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10209  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10210  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10211  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10212  		"ALU32_AND_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10213  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10214  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10215  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10216  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10217  		.fill_helper = bpf_fill_alu32_and_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10218  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10219  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10220  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10221  		"ALU32_OR_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10222  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10223  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10224  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10225  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10226  		.fill_helper = bpf_fill_alu32_or_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10227  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10228  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10229  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10230  		"ALU32_XOR_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10231  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10232  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10233  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10234  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10235  		.fill_helper = bpf_fill_alu32_xor_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10236  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10237  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10238  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10239  		"ALU32_ADD_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10240  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10241  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10242  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10243  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10244  		.fill_helper = bpf_fill_alu32_add_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10245  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10246  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10247  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10248  		"ALU32_SUB_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10249  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10250  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10251  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10252  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10253  		.fill_helper = bpf_fill_alu32_sub_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10254  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10255  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10256  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10257  		"ALU32_MUL_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10258  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10259  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10260  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10261  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10262  		.fill_helper = bpf_fill_alu32_mul_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10263  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10264  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10265  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10266  		"ALU32_DIV_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10267  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10268  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10269  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10270  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10271  		.fill_helper = bpf_fill_alu32_div_imm,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10272  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10273  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10274  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10275  		"ALU32_MOD_K: all immediate value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10276  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10277  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10278  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10279  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10280  		.fill_helper = bpf_fill_alu32_mod_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10281  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10282  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10283  	/* ALU64 register magnitudes */
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10284  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10285  		"ALU64_MOV_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10286  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10287  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10288  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10289  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10290  		.fill_helper = bpf_fill_alu64_mov_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10291  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10292  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10293  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10294  		"ALU64_AND_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10295  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10296  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10297  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10298  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10299  		.fill_helper = bpf_fill_alu64_and_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10300  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10301  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10302  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10303  		"ALU64_OR_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10304  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10305  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10306  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10307  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10308  		.fill_helper = bpf_fill_alu64_or_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10309  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10310  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10311  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10312  		"ALU64_XOR_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10313  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10314  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10315  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10316  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10317  		.fill_helper = bpf_fill_alu64_xor_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10318  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10319  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10320  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10321  		"ALU64_ADD_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10322  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10323  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10324  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10325  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10326  		.fill_helper = bpf_fill_alu64_add_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10327  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10328  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10329  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10330  		"ALU64_SUB_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10331  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10332  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10333  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10334  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10335  		.fill_helper = bpf_fill_alu64_sub_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10336  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10337  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10338  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10339  		"ALU64_MUL_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10340  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10341  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10342  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10343  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10344  		.fill_helper = bpf_fill_alu64_mul_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10345  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10346  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10347  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10348  		"ALU64_DIV_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10349  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10350  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10351  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10352  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10353  		.fill_helper = bpf_fill_alu64_div_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10354  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10355  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10356  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10357  		"ALU64_MOD_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10358  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10359  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10360  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10361  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10362  		.fill_helper = bpf_fill_alu64_mod_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10363  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10364  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10365  	/* ALU32 register magnitudes */
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10366  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10367  		"ALU32_MOV_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10368  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10369  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10370  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10371  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10372  		.fill_helper = bpf_fill_alu32_mov_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10373  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10374  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10375  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10376  		"ALU32_AND_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10377  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10378  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10379  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10380  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10381  		.fill_helper = bpf_fill_alu32_and_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10382  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10383  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10384  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10385  		"ALU32_OR_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10386  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10387  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10388  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10389  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10390  		.fill_helper = bpf_fill_alu32_or_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10391  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10392  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10393  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10394  		"ALU32_XOR_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10395  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10396  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10397  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10398  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10399  		.fill_helper = bpf_fill_alu32_xor_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10400  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10401  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10402  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10403  		"ALU32_ADD_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10404  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10405  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10406  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10407  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10408  		.fill_helper = bpf_fill_alu32_add_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10409  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10410  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10411  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10412  		"ALU32_SUB_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10413  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10414  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10415  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10416  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10417  		.fill_helper = bpf_fill_alu32_sub_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10418  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10419  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10420  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10421  		"ALU32_MUL_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10422  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10423  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10424  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10425  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10426  		.fill_helper = bpf_fill_alu32_mul_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10427  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10428  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10429  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10430  		"ALU32_DIV_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10431  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10432  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10433  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10434  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10435  		.fill_helper = bpf_fill_alu32_div_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10436  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10437  	},
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10438  	{
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10439  		"ALU32_MOD_X: all register value magnitudes",
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10440  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10441  		INTERNAL | FLAG_NO_DATA,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10442  		{ },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10443  		{ { 0, 1 } },
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10444  		.fill_helper = bpf_fill_alu32_mod_reg,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10445  		.nr_testruns = NR_PATTERN_RUNS,
c3eecf482bd5f1 Johan Almbladh     2021-09-02  10446  	},
36b493e5eb7466 Johan Almbladh     2021-09-02  10447  	/* LD_IMM64 immediate magnitudes */
36b493e5eb7466 Johan Almbladh     2021-09-02  10448  	{
36b493e5eb7466 Johan Almbladh     2021-09-02  10449  		"LD_IMM64: all immediate value magnitudes",
36b493e5eb7466 Johan Almbladh     2021-09-02  10450  		{ },
36b493e5eb7466 Johan Almbladh     2021-09-02  10451  		INTERNAL | FLAG_NO_DATA,
36b493e5eb7466 Johan Almbladh     2021-09-02  10452  		{ },
36b493e5eb7466 Johan Almbladh     2021-09-02  10453  		{ { 0, 1 } },
36b493e5eb7466 Johan Almbladh     2021-09-02  10454  		.fill_helper = bpf_fill_ld_imm64,
36b493e5eb7466 Johan Almbladh     2021-09-02  10455  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10456  	/* JMP immediate magnitudes */
6b8730939624e5 Johan Almbladh     2021-09-02  10457  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10458  		"JMP_JSET_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10459  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10460  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10461  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10462  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10463  		.fill_helper = bpf_fill_jmp_jset_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10464  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10465  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10466  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10467  		"JMP_JEQ_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10468  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10469  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10470  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10471  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10472  		.fill_helper = bpf_fill_jmp_jeq_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10473  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10474  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10475  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10476  		"JMP_JNE_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10477  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10478  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10479  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10480  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10481  		.fill_helper = bpf_fill_jmp_jne_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10482  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10483  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10484  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10485  		"JMP_JGT_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10486  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10487  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10488  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10489  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10490  		.fill_helper = bpf_fill_jmp_jgt_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10491  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10492  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10493  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10494  		"JMP_JGE_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10495  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10496  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10497  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10498  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10499  		.fill_helper = bpf_fill_jmp_jge_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10500  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10501  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10502  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10503  		"JMP_JLT_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10504  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10505  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10506  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10507  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10508  		.fill_helper = bpf_fill_jmp_jlt_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10509  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10510  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10511  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10512  		"JMP_JLE_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10513  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10514  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10515  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10516  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10517  		.fill_helper = bpf_fill_jmp_jle_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10518  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10519  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10520  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10521  		"JMP_JSGT_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10522  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10523  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10524  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10525  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10526  		.fill_helper = bpf_fill_jmp_jsgt_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10527  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10528  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10529  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10530  		"JMP_JSGE_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10531  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10532  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10533  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10534  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10535  		.fill_helper = bpf_fill_jmp_jsge_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10536  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10537  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10538  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10539  		"JMP_JSLT_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10540  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10541  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10542  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10543  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10544  		.fill_helper = bpf_fill_jmp_jslt_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10545  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10546  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10547  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10548  		"JMP_JSLE_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10549  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10550  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10551  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10552  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10553  		.fill_helper = bpf_fill_jmp_jsle_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10554  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10555  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10556  	/* JMP register magnitudes */
6b8730939624e5 Johan Almbladh     2021-09-02  10557  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10558  		"JMP_JSET_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10559  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10560  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10561  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10562  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10563  		.fill_helper = bpf_fill_jmp_jset_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10564  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10565  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10566  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10567  		"JMP_JEQ_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10568  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10569  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10570  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10571  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10572  		.fill_helper = bpf_fill_jmp_jeq_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10573  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10574  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10575  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10576  		"JMP_JNE_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10577  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10578  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10579  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10580  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10581  		.fill_helper = bpf_fill_jmp_jne_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10582  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10583  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10584  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10585  		"JMP_JGT_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10586  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10587  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10588  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10589  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10590  		.fill_helper = bpf_fill_jmp_jgt_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10591  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10592  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10593  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10594  		"JMP_JGE_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10595  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10596  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10597  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10598  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10599  		.fill_helper = bpf_fill_jmp_jge_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10600  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10601  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10602  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10603  		"JMP_JLT_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10604  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10605  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10606  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10607  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10608  		.fill_helper = bpf_fill_jmp_jlt_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10609  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10610  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10611  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10612  		"JMP_JLE_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10613  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10614  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10615  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10616  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10617  		.fill_helper = bpf_fill_jmp_jle_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10618  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10619  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10620  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10621  		"JMP_JSGT_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10622  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10623  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10624  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10625  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10626  		.fill_helper = bpf_fill_jmp_jsgt_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10627  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10628  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10629  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10630  		"JMP_JSGE_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10631  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10632  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10633  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10634  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10635  		.fill_helper = bpf_fill_jmp_jsge_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10636  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10637  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10638  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10639  		"JMP_JSLT_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10640  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10641  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10642  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10643  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10644  		.fill_helper = bpf_fill_jmp_jslt_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10645  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10646  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10647  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10648  		"JMP_JSLE_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10649  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10650  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10651  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10652  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10653  		.fill_helper = bpf_fill_jmp_jsle_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10654  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10655  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10656  	/* JMP32 immediate magnitudes */
6b8730939624e5 Johan Almbladh     2021-09-02  10657  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10658  		"JMP32_JSET_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10659  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10660  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10661  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10662  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10663  		.fill_helper = bpf_fill_jmp32_jset_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10664  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10665  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10666  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10667  		"JMP32_JEQ_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10668  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10669  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10670  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10671  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10672  		.fill_helper = bpf_fill_jmp32_jeq_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10673  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10674  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10675  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10676  		"JMP32_JNE_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10677  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10678  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10679  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10680  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10681  		.fill_helper = bpf_fill_jmp32_jne_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10682  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10683  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10684  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10685  		"JMP32_JGT_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10686  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10687  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10688  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10689  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10690  		.fill_helper = bpf_fill_jmp32_jgt_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10691  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10692  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10693  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10694  		"JMP32_JGE_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10695  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10696  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10697  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10698  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10699  		.fill_helper = bpf_fill_jmp32_jge_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10700  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10701  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10702  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10703  		"JMP32_JLT_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10704  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10705  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10706  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10707  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10708  		.fill_helper = bpf_fill_jmp32_jlt_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10709  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10710  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10711  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10712  		"JMP32_JLE_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10713  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10714  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10715  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10716  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10717  		.fill_helper = bpf_fill_jmp32_jle_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10718  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10719  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10720  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10721  		"JMP32_JSGT_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10722  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10723  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10724  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10725  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10726  		.fill_helper = bpf_fill_jmp32_jsgt_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10727  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10728  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10729  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10730  		"JMP32_JSGE_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10731  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10732  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10733  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10734  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10735  		.fill_helper = bpf_fill_jmp32_jsge_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10736  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10737  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10738  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10739  		"JMP32_JSLT_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10740  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10741  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10742  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10743  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10744  		.fill_helper = bpf_fill_jmp32_jslt_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10745  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10746  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10747  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10748  		"JMP32_JSLE_K: all immediate value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10749  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10750  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10751  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10752  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10753  		.fill_helper = bpf_fill_jmp32_jsle_imm,
6b8730939624e5 Johan Almbladh     2021-09-02  10754  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10755  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10756  	/* JMP32 register magnitudes */
6b8730939624e5 Johan Almbladh     2021-09-02  10757  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10758  		"JMP32_JSET_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10759  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10760  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10761  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10762  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10763  		.fill_helper = bpf_fill_jmp32_jset_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10764  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10765  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10766  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10767  		"JMP32_JEQ_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10768  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10769  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10770  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10771  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10772  		.fill_helper = bpf_fill_jmp32_jeq_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10773  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10774  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10775  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10776  		"JMP32_JNE_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10777  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10778  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10779  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10780  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10781  		.fill_helper = bpf_fill_jmp32_jne_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10782  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10783  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10784  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10785  		"JMP32_JGT_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10786  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10787  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10788  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10789  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10790  		.fill_helper = bpf_fill_jmp32_jgt_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10791  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10792  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10793  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10794  		"JMP32_JGE_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10795  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10796  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10797  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10798  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10799  		.fill_helper = bpf_fill_jmp32_jge_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10800  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10801  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10802  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10803  		"JMP32_JLT_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10804  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10805  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10806  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10807  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10808  		.fill_helper = bpf_fill_jmp32_jlt_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10809  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10810  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10811  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10812  		"JMP32_JLE_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10813  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10814  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10815  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10816  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10817  		.fill_helper = bpf_fill_jmp32_jle_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10818  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10819  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10820  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10821  		"JMP32_JSGT_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10822  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10823  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10824  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10825  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10826  		.fill_helper = bpf_fill_jmp32_jsgt_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10827  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10828  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10829  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10830  		"JMP32_JSGE_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10831  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10832  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10833  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10834  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10835  		.fill_helper = bpf_fill_jmp32_jsge_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10836  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10837  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10838  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10839  		"JMP32_JSLT_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10840  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10841  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10842  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10843  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10844  		.fill_helper = bpf_fill_jmp32_jslt_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10845  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10846  	},
6b8730939624e5 Johan Almbladh     2021-09-02  10847  	{
6b8730939624e5 Johan Almbladh     2021-09-02  10848  		"JMP32_JSLE_X: all register value magnitudes",
6b8730939624e5 Johan Almbladh     2021-09-02  10849  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10850  		INTERNAL | FLAG_NO_DATA,
6b8730939624e5 Johan Almbladh     2021-09-02  10851  		{ },
6b8730939624e5 Johan Almbladh     2021-09-02  10852  		{ { 0, 1 } },
6b8730939624e5 Johan Almbladh     2021-09-02  10853  		.fill_helper = bpf_fill_jmp32_jsle_reg,
6b8730939624e5 Johan Almbladh     2021-09-02  10854  		.nr_testruns = NR_PATTERN_RUNS,
6b8730939624e5 Johan Almbladh     2021-09-02  10855  	},
31973d209ca680 Johan Almbladh     2021-09-02  10856  	/* Conditional jumps with constant decision */
31973d209ca680 Johan Almbladh     2021-09-02  10857  	{
31973d209ca680 Johan Almbladh     2021-09-02  10858  		"JMP_JSET_K: imm = 0 -> never taken",
31973d209ca680 Johan Almbladh     2021-09-02  10859  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  10860  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10861  			BPF_JMP_IMM(BPF_JSET, R1, 0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10862  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  10863  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  10864  		},
31973d209ca680 Johan Almbladh     2021-09-02  10865  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  10866  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  10867  		{ { 0, 0 } },
31973d209ca680 Johan Almbladh     2021-09-02  10868  	},
31973d209ca680 Johan Almbladh     2021-09-02  10869  	{
31973d209ca680 Johan Almbladh     2021-09-02  10870  		"JMP_JLT_K: imm = 0 -> never taken",
31973d209ca680 Johan Almbladh     2021-09-02  10871  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  10872  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10873  			BPF_JMP_IMM(BPF_JLT, R1, 0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10874  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  10875  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  10876  		},
31973d209ca680 Johan Almbladh     2021-09-02  10877  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  10878  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  10879  		{ { 0, 0 } },
31973d209ca680 Johan Almbladh     2021-09-02  10880  	},
31973d209ca680 Johan Almbladh     2021-09-02  10881  	{
31973d209ca680 Johan Almbladh     2021-09-02  10882  		"JMP_JGE_K: imm = 0 -> always taken",
31973d209ca680 Johan Almbladh     2021-09-02  10883  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  10884  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10885  			BPF_JMP_IMM(BPF_JGE, R1, 0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10886  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  10887  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  10888  		},
31973d209ca680 Johan Almbladh     2021-09-02  10889  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  10890  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  10891  		{ { 0, 1 } },
31973d209ca680 Johan Almbladh     2021-09-02  10892  	},
31973d209ca680 Johan Almbladh     2021-09-02  10893  	{
31973d209ca680 Johan Almbladh     2021-09-02  10894  		"JMP_JGT_K: imm = 0xffffffff -> never taken",
31973d209ca680 Johan Almbladh     2021-09-02  10895  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  10896  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10897  			BPF_JMP_IMM(BPF_JGT, R1, U32_MAX, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10898  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  10899  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  10900  		},
31973d209ca680 Johan Almbladh     2021-09-02  10901  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  10902  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  10903  		{ { 0, 0 } },
31973d209ca680 Johan Almbladh     2021-09-02  10904  	},
31973d209ca680 Johan Almbladh     2021-09-02  10905  	{
31973d209ca680 Johan Almbladh     2021-09-02  10906  		"JMP_JLE_K: imm = 0xffffffff -> always taken",
31973d209ca680 Johan Almbladh     2021-09-02  10907  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  10908  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10909  			BPF_JMP_IMM(BPF_JLE, R1, U32_MAX, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10910  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  10911  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  10912  		},
31973d209ca680 Johan Almbladh     2021-09-02  10913  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  10914  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  10915  		{ { 0, 1 } },
31973d209ca680 Johan Almbladh     2021-09-02  10916  	},
31973d209ca680 Johan Almbladh     2021-09-02  10917  	{
31973d209ca680 Johan Almbladh     2021-09-02  10918  		"JMP32_JSGT_K: imm = 0x7fffffff -> never taken",
31973d209ca680 Johan Almbladh     2021-09-02  10919  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  10920  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10921  			BPF_JMP32_IMM(BPF_JSGT, R1, S32_MAX, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10922  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  10923  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  10924  		},
31973d209ca680 Johan Almbladh     2021-09-02  10925  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  10926  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  10927  		{ { 0, 0 } },
31973d209ca680 Johan Almbladh     2021-09-02  10928  	},
31973d209ca680 Johan Almbladh     2021-09-02  10929  	{
31973d209ca680 Johan Almbladh     2021-09-02  10930  		"JMP32_JSGE_K: imm = -0x80000000 -> always taken",
31973d209ca680 Johan Almbladh     2021-09-02  10931  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  10932  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10933  			BPF_JMP32_IMM(BPF_JSGE, R1, S32_MIN, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10934  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  10935  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  10936  		},
31973d209ca680 Johan Almbladh     2021-09-02  10937  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  10938  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  10939  		{ { 0, 1 } },
31973d209ca680 Johan Almbladh     2021-09-02  10940  	},
31973d209ca680 Johan Almbladh     2021-09-02  10941  	{
31973d209ca680 Johan Almbladh     2021-09-02  10942  		"JMP32_JSLT_K: imm = -0x80000000 -> never taken",
31973d209ca680 Johan Almbladh     2021-09-02  10943  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  10944  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10945  			BPF_JMP32_IMM(BPF_JSLT, R1, S32_MIN, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10946  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  10947  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  10948  		},
31973d209ca680 Johan Almbladh     2021-09-02  10949  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  10950  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  10951  		{ { 0, 0 } },
31973d209ca680 Johan Almbladh     2021-09-02  10952  	},
31973d209ca680 Johan Almbladh     2021-09-02  10953  	{
31973d209ca680 Johan Almbladh     2021-09-02  10954  		"JMP32_JSLE_K: imm = 0x7fffffff -> always taken",
31973d209ca680 Johan Almbladh     2021-09-02  10955  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  10956  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10957  			BPF_JMP32_IMM(BPF_JSLE, R1, S32_MAX, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10958  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  10959  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  10960  		},
31973d209ca680 Johan Almbladh     2021-09-02  10961  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  10962  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  10963  		{ { 0, 1 } },
31973d209ca680 Johan Almbladh     2021-09-02  10964  	},
31973d209ca680 Johan Almbladh     2021-09-02  10965  	{
31973d209ca680 Johan Almbladh     2021-09-02  10966  		"JMP_JEQ_X: dst = src -> always taken",
31973d209ca680 Johan Almbladh     2021-09-02  10967  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  10968  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10969  			BPF_JMP_REG(BPF_JEQ, R1, R1, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10970  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  10971  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  10972  		},
31973d209ca680 Johan Almbladh     2021-09-02  10973  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  10974  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  10975  		{ { 0, 1 } },
31973d209ca680 Johan Almbladh     2021-09-02  10976  	},
31973d209ca680 Johan Almbladh     2021-09-02  10977  	{
31973d209ca680 Johan Almbladh     2021-09-02  10978  		"JMP_JGE_X: dst = src -> always taken",
31973d209ca680 Johan Almbladh     2021-09-02  10979  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  10980  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10981  			BPF_JMP_REG(BPF_JGE, R1, R1, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10982  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  10983  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  10984  		},
31973d209ca680 Johan Almbladh     2021-09-02  10985  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  10986  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  10987  		{ { 0, 1 } },
31973d209ca680 Johan Almbladh     2021-09-02  10988  	},
31973d209ca680 Johan Almbladh     2021-09-02  10989  	{
31973d209ca680 Johan Almbladh     2021-09-02  10990  		"JMP_JLE_X: dst = src -> always taken",
31973d209ca680 Johan Almbladh     2021-09-02  10991  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  10992  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10993  			BPF_JMP_REG(BPF_JLE, R1, R1, 1),
31973d209ca680 Johan Almbladh     2021-09-02  10994  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  10995  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  10996  		},
31973d209ca680 Johan Almbladh     2021-09-02  10997  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  10998  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  10999  		{ { 0, 1 } },
31973d209ca680 Johan Almbladh     2021-09-02  11000  	},
31973d209ca680 Johan Almbladh     2021-09-02  11001  	{
31973d209ca680 Johan Almbladh     2021-09-02  11002  		"JMP_JSGE_X: dst = src -> always taken",
31973d209ca680 Johan Almbladh     2021-09-02  11003  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  11004  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11005  			BPF_JMP_REG(BPF_JSGE, R1, R1, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11006  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  11007  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  11008  		},
31973d209ca680 Johan Almbladh     2021-09-02  11009  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  11010  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  11011  		{ { 0, 1 } },
31973d209ca680 Johan Almbladh     2021-09-02  11012  	},
31973d209ca680 Johan Almbladh     2021-09-02  11013  	{
31973d209ca680 Johan Almbladh     2021-09-02  11014  		"JMP_JSLE_X: dst = src -> always taken",
31973d209ca680 Johan Almbladh     2021-09-02  11015  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  11016  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11017  			BPF_JMP_REG(BPF_JSLE, R1, R1, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11018  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  11019  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  11020  		},
31973d209ca680 Johan Almbladh     2021-09-02  11021  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  11022  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  11023  		{ { 0, 1 } },
31973d209ca680 Johan Almbladh     2021-09-02  11024  	},
31973d209ca680 Johan Almbladh     2021-09-02  11025  	{
31973d209ca680 Johan Almbladh     2021-09-02  11026  		"JMP_JNE_X: dst = src -> never taken",
31973d209ca680 Johan Almbladh     2021-09-02  11027  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  11028  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11029  			BPF_JMP_REG(BPF_JNE, R1, R1, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11030  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  11031  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  11032  		},
31973d209ca680 Johan Almbladh     2021-09-02  11033  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  11034  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  11035  		{ { 0, 0 } },
31973d209ca680 Johan Almbladh     2021-09-02  11036  	},
31973d209ca680 Johan Almbladh     2021-09-02  11037  	{
31973d209ca680 Johan Almbladh     2021-09-02  11038  		"JMP_JGT_X: dst = src -> never taken",
31973d209ca680 Johan Almbladh     2021-09-02  11039  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  11040  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11041  			BPF_JMP_REG(BPF_JGT, R1, R1, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11042  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  11043  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  11044  		},
31973d209ca680 Johan Almbladh     2021-09-02  11045  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  11046  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  11047  		{ { 0, 0 } },
31973d209ca680 Johan Almbladh     2021-09-02  11048  	},
31973d209ca680 Johan Almbladh     2021-09-02  11049  	{
31973d209ca680 Johan Almbladh     2021-09-02  11050  		"JMP_JLT_X: dst = src -> never taken",
31973d209ca680 Johan Almbladh     2021-09-02  11051  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  11052  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11053  			BPF_JMP_REG(BPF_JLT, R1, R1, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11054  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  11055  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  11056  		},
31973d209ca680 Johan Almbladh     2021-09-02  11057  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  11058  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  11059  		{ { 0, 0 } },
31973d209ca680 Johan Almbladh     2021-09-02  11060  	},
31973d209ca680 Johan Almbladh     2021-09-02  11061  	{
31973d209ca680 Johan Almbladh     2021-09-02  11062  		"JMP_JSGT_X: dst = src -> never taken",
31973d209ca680 Johan Almbladh     2021-09-02  11063  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  11064  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11065  			BPF_JMP_REG(BPF_JSGT, R1, R1, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11066  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  11067  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  11068  		},
31973d209ca680 Johan Almbladh     2021-09-02  11069  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  11070  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  11071  		{ { 0, 0 } },
31973d209ca680 Johan Almbladh     2021-09-02  11072  	},
31973d209ca680 Johan Almbladh     2021-09-02  11073  	{
31973d209ca680 Johan Almbladh     2021-09-02  11074  		"JMP_JSLT_X: dst = src -> never taken",
31973d209ca680 Johan Almbladh     2021-09-02  11075  		.u.insns_int = {
31973d209ca680 Johan Almbladh     2021-09-02  11076  			BPF_ALU64_IMM(BPF_MOV, R0, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11077  			BPF_JMP_REG(BPF_JSLT, R1, R1, 1),
31973d209ca680 Johan Almbladh     2021-09-02  11078  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
31973d209ca680 Johan Almbladh     2021-09-02  11079  			BPF_EXIT_INSN(),
31973d209ca680 Johan Almbladh     2021-09-02  11080  		},
31973d209ca680 Johan Almbladh     2021-09-02  11081  		INTERNAL | FLAG_NO_DATA,
31973d209ca680 Johan Almbladh     2021-09-02  11082  		{ },
31973d209ca680 Johan Almbladh     2021-09-02  11083  		{ { 0, 0 } },
31973d209ca680 Johan Almbladh     2021-09-02  11084  	},
f771f59673c9d8 Johan Almbladh     2021-09-02  11085  	/* Short relative jumps */
f771f59673c9d8 Johan Almbladh     2021-09-02  11086  	{
f771f59673c9d8 Johan Almbladh     2021-09-02  11087  		"Short relative jump: offset=0",
f771f59673c9d8 Johan Almbladh     2021-09-02  11088  		.u.insns_int = {
f771f59673c9d8 Johan Almbladh     2021-09-02  11089  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
f771f59673c9d8 Johan Almbladh     2021-09-02  11090  			BPF_JMP_IMM(BPF_JEQ, R0, 0, 0),
f771f59673c9d8 Johan Almbladh     2021-09-02  11091  			BPF_EXIT_INSN(),
f771f59673c9d8 Johan Almbladh     2021-09-02  11092  			BPF_ALU32_IMM(BPF_MOV, R0, -1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11093  		},
f771f59673c9d8 Johan Almbladh     2021-09-02  11094  		INTERNAL | FLAG_NO_DATA | FLAG_VERIFIER_ZEXT,
f771f59673c9d8 Johan Almbladh     2021-09-02  11095  		{ },
f771f59673c9d8 Johan Almbladh     2021-09-02  11096  		{ { 0, 0 } },
f771f59673c9d8 Johan Almbladh     2021-09-02  11097  	},
f771f59673c9d8 Johan Almbladh     2021-09-02  11098  	{
f771f59673c9d8 Johan Almbladh     2021-09-02  11099  		"Short relative jump: offset=1",
f771f59673c9d8 Johan Almbladh     2021-09-02  11100  		.u.insns_int = {
f771f59673c9d8 Johan Almbladh     2021-09-02  11101  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
f771f59673c9d8 Johan Almbladh     2021-09-02  11102  			BPF_JMP_IMM(BPF_JEQ, R0, 0, 1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11103  			BPF_ALU32_IMM(BPF_ADD, R0, 1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11104  			BPF_EXIT_INSN(),
f771f59673c9d8 Johan Almbladh     2021-09-02  11105  			BPF_ALU32_IMM(BPF_MOV, R0, -1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11106  		},
f771f59673c9d8 Johan Almbladh     2021-09-02  11107  		INTERNAL | FLAG_NO_DATA | FLAG_VERIFIER_ZEXT,
f771f59673c9d8 Johan Almbladh     2021-09-02  11108  		{ },
f771f59673c9d8 Johan Almbladh     2021-09-02  11109  		{ { 0, 0 } },
f771f59673c9d8 Johan Almbladh     2021-09-02  11110  	},
f771f59673c9d8 Johan Almbladh     2021-09-02  11111  	{
f771f59673c9d8 Johan Almbladh     2021-09-02  11112  		"Short relative jump: offset=2",
f771f59673c9d8 Johan Almbladh     2021-09-02  11113  		.u.insns_int = {
f771f59673c9d8 Johan Almbladh     2021-09-02  11114  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
f771f59673c9d8 Johan Almbladh     2021-09-02  11115  			BPF_JMP_IMM(BPF_JEQ, R0, 0, 2),
f771f59673c9d8 Johan Almbladh     2021-09-02  11116  			BPF_ALU32_IMM(BPF_ADD, R0, 1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11117  			BPF_ALU32_IMM(BPF_ADD, R0, 1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11118  			BPF_EXIT_INSN(),
f771f59673c9d8 Johan Almbladh     2021-09-02  11119  			BPF_ALU32_IMM(BPF_MOV, R0, -1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11120  		},
f771f59673c9d8 Johan Almbladh     2021-09-02  11121  		INTERNAL | FLAG_NO_DATA | FLAG_VERIFIER_ZEXT,
f771f59673c9d8 Johan Almbladh     2021-09-02  11122  		{ },
f771f59673c9d8 Johan Almbladh     2021-09-02  11123  		{ { 0, 0 } },
f771f59673c9d8 Johan Almbladh     2021-09-02  11124  	},
f771f59673c9d8 Johan Almbladh     2021-09-02  11125  	{
f771f59673c9d8 Johan Almbladh     2021-09-02  11126  		"Short relative jump: offset=3",
f771f59673c9d8 Johan Almbladh     2021-09-02  11127  		.u.insns_int = {
f771f59673c9d8 Johan Almbladh     2021-09-02  11128  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
f771f59673c9d8 Johan Almbladh     2021-09-02  11129  			BPF_JMP_IMM(BPF_JEQ, R0, 0, 3),
f771f59673c9d8 Johan Almbladh     2021-09-02  11130  			BPF_ALU32_IMM(BPF_ADD, R0, 1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11131  			BPF_ALU32_IMM(BPF_ADD, R0, 1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11132  			BPF_ALU32_IMM(BPF_ADD, R0, 1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11133  			BPF_EXIT_INSN(),
f771f59673c9d8 Johan Almbladh     2021-09-02  11134  			BPF_ALU32_IMM(BPF_MOV, R0, -1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11135  		},
f771f59673c9d8 Johan Almbladh     2021-09-02  11136  		INTERNAL | FLAG_NO_DATA | FLAG_VERIFIER_ZEXT,
f771f59673c9d8 Johan Almbladh     2021-09-02  11137  		{ },
f771f59673c9d8 Johan Almbladh     2021-09-02  11138  		{ { 0, 0 } },
f771f59673c9d8 Johan Almbladh     2021-09-02  11139  	},
f771f59673c9d8 Johan Almbladh     2021-09-02  11140  	{
f771f59673c9d8 Johan Almbladh     2021-09-02  11141  		"Short relative jump: offset=4",
f771f59673c9d8 Johan Almbladh     2021-09-02  11142  		.u.insns_int = {
f771f59673c9d8 Johan Almbladh     2021-09-02  11143  			BPF_ALU64_IMM(BPF_MOV, R0, 0),
f771f59673c9d8 Johan Almbladh     2021-09-02  11144  			BPF_JMP_IMM(BPF_JEQ, R0, 0, 4),
f771f59673c9d8 Johan Almbladh     2021-09-02  11145  			BPF_ALU32_IMM(BPF_ADD, R0, 1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11146  			BPF_ALU32_IMM(BPF_ADD, R0, 1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11147  			BPF_ALU32_IMM(BPF_ADD, R0, 1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11148  			BPF_ALU32_IMM(BPF_ADD, R0, 1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11149  			BPF_EXIT_INSN(),
f771f59673c9d8 Johan Almbladh     2021-09-02  11150  			BPF_ALU32_IMM(BPF_MOV, R0, -1),
f771f59673c9d8 Johan Almbladh     2021-09-02  11151  		},
f771f59673c9d8 Johan Almbladh     2021-09-02  11152  		INTERNAL | FLAG_NO_DATA | FLAG_VERIFIER_ZEXT,
f771f59673c9d8 Johan Almbladh     2021-09-02  11153  		{ },
f771f59673c9d8 Johan Almbladh     2021-09-02  11154  		{ { 0, 0 } },
f771f59673c9d8 Johan Almbladh     2021-09-02  11155  	},
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11156  	/* Conditional branch conversions */
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11157  	{
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11158  		"Long conditional jump: taken at runtime",
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11159  		{ },
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11160  		INTERNAL | FLAG_NO_DATA,
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11161  		{ },
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11162  		{ { 0, 1 } },
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11163  		.fill_helper = bpf_fill_max_jmp_taken,
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11164  	},
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11165  	{
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11166  		"Long conditional jump: not taken at runtime",
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11167  		{ },
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11168  		INTERNAL | FLAG_NO_DATA,
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11169  		{ },
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11170  		{ { 0, 2 } },
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11171  		.fill_helper = bpf_fill_max_jmp_not_taken,
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11172  	},
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11173  	{
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11174  		"Long conditional jump: always taken, known at JIT time",
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11175  		{ },
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11176  		INTERNAL | FLAG_NO_DATA,
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11177  		{ },
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11178  		{ { 0, 1 } },
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11179  		.fill_helper = bpf_fill_max_jmp_always_taken,
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11180  	},
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11181  	{
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11182  		"Long conditional jump: never taken, known at JIT time",
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11183  		{ },
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11184  		INTERNAL | FLAG_NO_DATA,
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11185  		{ },
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11186  		{ { 0, 2 } },
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11187  		.fill_helper = bpf_fill_max_jmp_never_taken,
0b0177d5a1dd1d Johan Almbladh     2021-09-02  11188  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11189  	/* Staggered jump sequences, immediate */
e1016e1586ff9b Johan Almbladh     2021-09-02  11190  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11191  		"Staggered jumps: JMP_JA",
e1016e1586ff9b Johan Almbladh     2021-09-02  11192  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11193  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11194  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11195  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11196  		.fill_helper = bpf_fill_staggered_ja,
e1016e1586ff9b Johan Almbladh     2021-09-02  11197  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11198  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11199  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11200  		"Staggered jumps: JMP_JEQ_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11201  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11202  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11203  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11204  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11205  		.fill_helper = bpf_fill_staggered_jeq_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11206  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11207  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11208  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11209  		"Staggered jumps: JMP_JNE_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11210  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11211  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11212  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11213  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11214  		.fill_helper = bpf_fill_staggered_jne_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11215  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11216  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11217  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11218  		"Staggered jumps: JMP_JSET_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11219  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11220  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11221  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11222  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11223  		.fill_helper = bpf_fill_staggered_jset_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11224  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11225  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11226  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11227  		"Staggered jumps: JMP_JGT_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11228  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11229  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11230  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11231  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11232  		.fill_helper = bpf_fill_staggered_jgt_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11233  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11234  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11235  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11236  		"Staggered jumps: JMP_JGE_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11237  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11238  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11239  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11240  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11241  		.fill_helper = bpf_fill_staggered_jge_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11242  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11243  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11244  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11245  		"Staggered jumps: JMP_JLT_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11246  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11247  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11248  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11249  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11250  		.fill_helper = bpf_fill_staggered_jlt_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11251  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11252  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11253  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11254  		"Staggered jumps: JMP_JLE_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11255  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11256  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11257  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11258  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11259  		.fill_helper = bpf_fill_staggered_jle_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11260  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11261  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11262  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11263  		"Staggered jumps: JMP_JSGT_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11264  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11265  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11266  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11267  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11268  		.fill_helper = bpf_fill_staggered_jsgt_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11269  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11270  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11271  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11272  		"Staggered jumps: JMP_JSGE_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11273  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11274  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11275  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11276  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11277  		.fill_helper = bpf_fill_staggered_jsge_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11278  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11279  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11280  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11281  		"Staggered jumps: JMP_JSLT_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11282  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11283  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11284  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11285  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11286  		.fill_helper = bpf_fill_staggered_jslt_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11287  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11288  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11289  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11290  		"Staggered jumps: JMP_JSLE_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11291  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11292  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11293  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11294  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11295  		.fill_helper = bpf_fill_staggered_jsle_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11296  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11297  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11298  	/* Staggered jump sequences, register */
e1016e1586ff9b Johan Almbladh     2021-09-02  11299  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11300  		"Staggered jumps: JMP_JEQ_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11301  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11302  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11303  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11304  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11305  		.fill_helper = bpf_fill_staggered_jeq_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11306  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11307  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11308  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11309  		"Staggered jumps: JMP_JNE_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11310  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11311  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11312  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11313  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11314  		.fill_helper = bpf_fill_staggered_jne_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11315  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11316  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11317  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11318  		"Staggered jumps: JMP_JSET_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11319  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11320  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11321  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11322  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11323  		.fill_helper = bpf_fill_staggered_jset_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11324  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11325  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11326  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11327  		"Staggered jumps: JMP_JGT_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11328  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11329  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11330  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11331  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11332  		.fill_helper = bpf_fill_staggered_jgt_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11333  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11334  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11335  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11336  		"Staggered jumps: JMP_JGE_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11337  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11338  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11339  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11340  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11341  		.fill_helper = bpf_fill_staggered_jge_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11342  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11343  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11344  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11345  		"Staggered jumps: JMP_JLT_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11346  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11347  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11348  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11349  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11350  		.fill_helper = bpf_fill_staggered_jlt_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11351  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11352  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11353  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11354  		"Staggered jumps: JMP_JLE_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11355  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11356  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11357  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11358  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11359  		.fill_helper = bpf_fill_staggered_jle_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11360  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11361  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11362  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11363  		"Staggered jumps: JMP_JSGT_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11364  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11365  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11366  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11367  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11368  		.fill_helper = bpf_fill_staggered_jsgt_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11369  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11370  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11371  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11372  		"Staggered jumps: JMP_JSGE_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11373  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11374  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11375  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11376  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11377  		.fill_helper = bpf_fill_staggered_jsge_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11378  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11379  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11380  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11381  		"Staggered jumps: JMP_JSLT_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11382  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11383  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11384  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11385  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11386  		.fill_helper = bpf_fill_staggered_jslt_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11387  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11388  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11389  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11390  		"Staggered jumps: JMP_JSLE_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11391  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11392  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11393  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11394  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11395  		.fill_helper = bpf_fill_staggered_jsle_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11396  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11397  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11398  	/* Staggered jump sequences, JMP32 immediate */
e1016e1586ff9b Johan Almbladh     2021-09-02  11399  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11400  		"Staggered jumps: JMP32_JEQ_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11401  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11402  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11403  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11404  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11405  		.fill_helper = bpf_fill_staggered_jeq32_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11406  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11407  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11408  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11409  		"Staggered jumps: JMP32_JNE_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11410  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11411  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11412  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11413  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11414  		.fill_helper = bpf_fill_staggered_jne32_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11415  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11416  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11417  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11418  		"Staggered jumps: JMP32_JSET_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11419  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11420  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11421  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11422  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11423  		.fill_helper = bpf_fill_staggered_jset32_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11424  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11425  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11426  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11427  		"Staggered jumps: JMP32_JGT_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11428  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11429  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11430  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11431  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11432  		.fill_helper = bpf_fill_staggered_jgt32_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11433  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11434  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11435  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11436  		"Staggered jumps: JMP32_JGE_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11437  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11438  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11439  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11440  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11441  		.fill_helper = bpf_fill_staggered_jge32_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11442  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11443  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11444  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11445  		"Staggered jumps: JMP32_JLT_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11446  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11447  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11448  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11449  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11450  		.fill_helper = bpf_fill_staggered_jlt32_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11451  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11452  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11453  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11454  		"Staggered jumps: JMP32_JLE_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11455  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11456  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11457  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11458  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11459  		.fill_helper = bpf_fill_staggered_jle32_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11460  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11461  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11462  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11463  		"Staggered jumps: JMP32_JSGT_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11464  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11465  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11466  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11467  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11468  		.fill_helper = bpf_fill_staggered_jsgt32_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11469  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11470  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11471  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11472  		"Staggered jumps: JMP32_JSGE_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11473  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11474  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11475  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11476  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11477  		.fill_helper = bpf_fill_staggered_jsge32_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11478  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11479  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11480  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11481  		"Staggered jumps: JMP32_JSLT_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11482  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11483  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11484  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11485  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11486  		.fill_helper = bpf_fill_staggered_jslt32_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11487  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11488  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11489  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11490  		"Staggered jumps: JMP32_JSLE_K",
e1016e1586ff9b Johan Almbladh     2021-09-02  11491  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11492  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11493  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11494  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11495  		.fill_helper = bpf_fill_staggered_jsle32_imm,
e1016e1586ff9b Johan Almbladh     2021-09-02  11496  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11497  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11498  	/* Staggered jump sequences, JMP32 register */
e1016e1586ff9b Johan Almbladh     2021-09-02  11499  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11500  		"Staggered jumps: JMP32_JEQ_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11501  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11502  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11503  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11504  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11505  		.fill_helper = bpf_fill_staggered_jeq32_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11506  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11507  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11508  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11509  		"Staggered jumps: JMP32_JNE_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11510  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11511  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11512  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11513  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11514  		.fill_helper = bpf_fill_staggered_jne32_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11515  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11516  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11517  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11518  		"Staggered jumps: JMP32_JSET_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11519  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11520  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11521  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11522  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11523  		.fill_helper = bpf_fill_staggered_jset32_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11524  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11525  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11526  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11527  		"Staggered jumps: JMP32_JGT_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11528  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11529  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11530  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11531  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11532  		.fill_helper = bpf_fill_staggered_jgt32_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11533  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11534  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11535  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11536  		"Staggered jumps: JMP32_JGE_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11537  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11538  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11539  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11540  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11541  		.fill_helper = bpf_fill_staggered_jge32_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11542  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11543  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11544  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11545  		"Staggered jumps: JMP32_JLT_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11546  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11547  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11548  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11549  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11550  		.fill_helper = bpf_fill_staggered_jlt32_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11551  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11552  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11553  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11554  		"Staggered jumps: JMP32_JLE_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11555  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11556  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11557  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11558  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11559  		.fill_helper = bpf_fill_staggered_jle32_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11560  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11561  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11562  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11563  		"Staggered jumps: JMP32_JSGT_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11564  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11565  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11566  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11567  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11568  		.fill_helper = bpf_fill_staggered_jsgt32_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11569  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11570  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11571  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11572  		"Staggered jumps: JMP32_JSGE_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11573  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11574  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11575  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11576  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11577  		.fill_helper = bpf_fill_staggered_jsge32_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11578  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11579  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11580  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11581  		"Staggered jumps: JMP32_JSLT_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11582  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11583  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11584  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11585  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11586  		.fill_helper = bpf_fill_staggered_jslt32_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11587  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11588  	},
e1016e1586ff9b Johan Almbladh     2021-09-02  11589  	{
e1016e1586ff9b Johan Almbladh     2021-09-02  11590  		"Staggered jumps: JMP32_JSLE_X",
e1016e1586ff9b Johan Almbladh     2021-09-02  11591  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11592  		INTERNAL | FLAG_NO_DATA,
e1016e1586ff9b Johan Almbladh     2021-09-02  11593  		{ },
e1016e1586ff9b Johan Almbladh     2021-09-02  11594  		{ { 0, MAX_STAGGERED_JMP_SIZE + 1 } },
e1016e1586ff9b Johan Almbladh     2021-09-02  11595  		.fill_helper = bpf_fill_staggered_jsle32_reg,
e1016e1586ff9b Johan Almbladh     2021-09-02  11596  		.nr_testruns = NR_STAGGERED_JMP_RUNS,
e1016e1586ff9b Johan Almbladh     2021-09-02  11597  	},
64a8946b447e41 Alexei Starovoitov 2014-05-08  11598  };
64a8946b447e41 Alexei Starovoitov 2014-05-08  11599  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33807 bytes --]

             reply	other threads:[~2021-09-03 15:12 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-03 15:12 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-09-02 18:52 [PATCH bpf-next 00/13] bpf/tests: Extend JIT test suite coverage Johan Almbladh
2021-09-02 18:52 ` [PATCH bpf-next 12/13] bpf/tests: Add more BPF_END byte order conversion tests Johan Almbladh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202109032313.fwDVujZp-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.