]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add test cases for CLS x_x, w_w.
authorJulian Seward <jseward@acm.org>
Tue, 25 Nov 2014 15:51:31 +0000 (15:51 +0000)
committerJulian Seward <jseward@acm.org>
Tue, 25 Nov 2014 15:51:31 +0000 (15:51 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14783

none/tests/arm64/integer.c
none/tests/arm64/integer.stdout.exp

index 0280ccbc0ab8e5a02e36135a1fd7e0e875ee02a5..b55ad781beb9130b8ab9ebd292976cfce6d1dc17 100644 (file)
@@ -10445,6 +10445,95 @@ TESTINST2("clz w17, w22", 0ULL, x17, x22, 0);
 TESTINST2("clz w17, w22", 0x0070FFFF01FFFFFFULL, x17, x22, 0);
 
 
+////////////////////////////////////////////////////////////////
+printf("CLS\n");
+
+TESTINST2("cls x17, x22", 0x0FFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x1FFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x2FFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x3FFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x4FFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x5FFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x6FFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x7FFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x8FFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x9FFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xAFFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xBFFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xCFFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xDFFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xEFFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFFFULL, x17, x22, 0);
+
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFF0ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFF1ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFF2ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFF3ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFF4ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFF5ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFF6ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFF7ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFF8ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFF9ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFFAULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFFBULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFFCULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFFDULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFFEULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xFFFFFFFFFFFFFFFFULL, x17, x22, 0);
+
+TESTINST2("cls x17, x22", 0x0000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x1000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x2000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x3000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x4000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x5000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x6000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x7000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x8000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x9000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xA000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xB000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xC000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xD000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xE000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0xF000000000000000ULL, x17, x22, 0);
+
+TESTINST2("cls x17, x22", 0x0000000000000000ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x0000000000000001ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x0000000000000002ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x0000000000000003ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x0000000000000004ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x0000000000000005ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x0000000000000006ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x0000000000000007ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x0000000000000008ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x0000000000000009ULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x000000000000000AULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x000000000000000BULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x000000000000000CULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x000000000000000DULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x000000000000000EULL, x17, x22, 0);
+TESTINST2("cls x17, x22", 0x000000000000000FULL, x17, x22, 0);
+
+TESTINST2("cls x17, x22", 0x0070FFFF01FFFFFFULL, x17, x22, 0);
+
+TESTINST2("cls w17, w22", 0xFFFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls w17, w22", 0xFFFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls w17, w22", 0xFFFFFFFF5FFFFFFFULL, x17, x22, 0);
+TESTINST2("cls w17, w22", 0xFFFFFFFFAFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls w17, w22", 0xFFFFFFFF0FFFFFFFULL, x17, x22, 0);
+
+TESTINST2("cls w17, w22", 0xFFFFFFFFFFFFFFFFULL, x17, x22, 0);
+TESTINST2("cls w17, w22", 0xFFFFFFFFFFFFFFF5ULL, x17, x22, 0);
+TESTINST2("cls w17, w22", 0xFFFFFFFFFFFFFFFAULL, x17, x22, 0);
+TESTINST2("cls w17, w22", 0xFFFFFFFFFFFFFFF0ULL, x17, x22, 0);
+
+TESTINST2("cls w17, w22", 0x0000000000000000ULL, x17, x22, 0);
+
+TESTINST2("cls w17, w22", 0x0070FFFF01FFFFFFULL, x17, x22, 0);
+
+
 ////////////////////////////////////////////////////////////////
 printf("LSLV/LSRV/ASRV\n");
 
index 60fc241821cf5bf64638bd7ac592114fad47ab4f..dee47c2f88de75e842600beeb6e44c265a6e4934 100644 (file)
@@ -1831,6 +1831,83 @@ clz x17, x22 :: rd 0000000000000009 rn 0070ffff01ffffff, cin 0, nzcv 00000000
 clz w17, w22 :: rd 0000000000000000 rn ffffffffffffffff, cin 0, nzcv 00000000     
 clz w17, w22 :: rd 0000000000000020 rn 0000000000000000, cin 0, nzcv 00000000     
 clz w17, w22 :: rd 0000000000000007 rn 0070ffff01ffffff, cin 0, nzcv 00000000     
+CLS
+cls x17, x22 :: rd 0000000000000003 rn 0fffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000002 rn 1fffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000001 rn 2fffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000001 rn 3fffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn 4fffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn 5fffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn 6fffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn 7fffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn 8fffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn 9fffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn afffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn bfffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000001 rn cfffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000001 rn dfffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000002 rn efffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003f rn ffffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn fffffffffffffff0, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn fffffffffffffff1, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn fffffffffffffff2, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn fffffffffffffff3, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn fffffffffffffff4, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn fffffffffffffff5, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn fffffffffffffff6, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn fffffffffffffff7, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003c rn fffffffffffffff8, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003c rn fffffffffffffff9, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003c rn fffffffffffffffa, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003c rn fffffffffffffffb, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003d rn fffffffffffffffc, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003d rn fffffffffffffffd, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003e rn fffffffffffffffe, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003f rn ffffffffffffffff, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003f rn 0000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000002 rn 1000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000001 rn 2000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000001 rn 3000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn 4000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn 5000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn 6000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn 7000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn 8000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn 9000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn a000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000000 rn b000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000001 rn c000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000001 rn d000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000002 rn e000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000003 rn f000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003f rn 0000000000000000, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003e rn 0000000000000001, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003d rn 0000000000000002, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003d rn 0000000000000003, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003c rn 0000000000000004, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003c rn 0000000000000005, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003c rn 0000000000000006, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003c rn 0000000000000007, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn 0000000000000008, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn 0000000000000009, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn 000000000000000a, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn 000000000000000b, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn 000000000000000c, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn 000000000000000d, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn 000000000000000e, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 000000000000003b rn 000000000000000f, cin 0, nzcv 00000000     
+cls x17, x22 :: rd 0000000000000008 rn 0070ffff01ffffff, cin 0, nzcv 00000000     
+cls w17, w22 :: rd 000000000000001f rn ffffffffffffffff, cin 0, nzcv 00000000     
+cls w17, w22 :: rd 000000000000001f rn ffffffffffffffff, cin 0, nzcv 00000000     
+cls w17, w22 :: rd 0000000000000000 rn ffffffff5fffffff, cin 0, nzcv 00000000     
+cls w17, w22 :: rd 0000000000000000 rn ffffffffafffffff, cin 0, nzcv 00000000     
+cls w17, w22 :: rd 0000000000000003 rn ffffffff0fffffff, cin 0, nzcv 00000000     
+cls w17, w22 :: rd 000000000000001f rn ffffffffffffffff, cin 0, nzcv 00000000     
+cls w17, w22 :: rd 000000000000001b rn fffffffffffffff5, cin 0, nzcv 00000000     
+cls w17, w22 :: rd 000000000000001c rn fffffffffffffffa, cin 0, nzcv 00000000     
+cls w17, w22 :: rd 000000000000001b rn fffffffffffffff0, cin 0, nzcv 00000000     
+cls w17, w22 :: rd 000000000000001f rn 0000000000000000, cin 0, nzcv 00000000     
+cls w17, w22 :: rd 0000000000000006 rn 0070ffff01ffffff, cin 0, nzcv 00000000     
 LSLV/LSRV/ASRV
 lslv x21,x20,x19 :: rd 2a8227efa64a2800 rm 4b154113f7d32514, rn cce230caafbf9cc9, cin 0, nzcv 00000000     
 lslv x21,x20,x19 :: rd 75655c8753c4c000 rm 33d5d595721d4f13, rn f4509311f443a7ce, cin 0, nzcv 00000000