]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
regtest arm64: fixes for arm64 clang, part 2
authorPaul Floyd <pjfloyd@wanadoo.fr>
Fri, 12 Apr 2024 18:14:18 +0000 (20:14 +0200)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Fri, 12 Apr 2024 18:14:18 +0000 (20:14 +0200)
More clang moans about using int where long long is expected
Also clang assembler refuses to accept opcodes like sub x21,x22,x23,sxtb
According to the arm manual it is right and it should be
sub x21,x22,w23,sxtb.
I asked on the LLVM discourse and they said they preferred to be strict
and unambiguous.

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

index ae3880bf4de57b685a6a0f7fee28143bf91d04db..210dab0e6aa5412929f4cc7e5a602e0396d947fa 100644 (file)
@@ -160,14 +160,14 @@ static __attribute__((noinline)) void test_arith ( void )
 {
 printf("misc ad-hoc tests\n");
 
-TESTINST3("add x3, x4, x5", 12345, 6789, x3, x4, x5, 0);
-TESTINST3("add w3, w4, w5", 12345, 6789, x3, x4, x5, 0);
+TESTINST3("add x3, x4, x5", 12345LL, 6789LL, x3, x4, x5, 0);
+TESTINST3("add w3, w4, w5", 12345LL, 6789LL, x3, x4, x5, 0);
 
 
-TESTINST3("adc x3, x4, x5", 12345, 6789,                          x3,x4,x5,0);
-TESTINST3("adc x3, x4, x5", 12345, 6789,                          x3,x4,x5,1);
-TESTINST3("adc x3, x4, x5", 0, 0xffffffffffffffffULL,             x3,x4,x5,0);
-TESTINST3("adc x3, x4, x5", 0, 0xffffffffffffffffULL,             x3,x4,x5,1);
+TESTINST3("adc x3, x4, x5", 12345LL, 6789LL,                      x3,x4,x5,0);
+TESTINST3("adc x3, x4, x5", 12345LL, 6789LL,                      x3,x4,x5,1);
+TESTINST3("adc x3, x4, x5", 0LL, 0xffffffffffffffffULL,           x3,x4,x5,0);
+TESTINST3("adc x3, x4, x5", 0LL, 0xffffffffffffffffULL,           x3,x4,x5,1);
 TESTINST3("adc x3, x4, x5", 0x31415927ULL<<32, 0x27181728ULL<<32, x3,x4,x5,0);
 TESTINST3("adc x3, x4, x5", 0x31415927ULL<<32, 0x27181728ULL<<32, x3,x4,x5,1);
 TESTINST3("adc x3, x4, x5", 0x00000000ULL<<32, 0x00000000ULL<<32, x3,x4,x5,0);
@@ -183,30 +183,30 @@ TESTINST3("adc x3, x4, x5", 0x00000000ULL<<32, 0x80000000ULL<<32, x3,x4,x5,1);
 TESTINST3("adc x3, x4, x5", 0x80000000ULL<<32, 0x80000000ULL<<32, x3,x4,x5,0);
 TESTINST3("adc x3, x4, x5", 0x80000000ULL<<32, 0x80000000ULL<<32, x3,x4,x5,1);
 
-TESTINST3("adc w3, w4, w5", 12345, 6789,            x3,x4,x5, 0);
-TESTINST3("adc w3, w4, w5", 12345, 6789,            x3,x4,x5, 1);
-TESTINST3("adc w3, w4, w5", 0, 0xffffffffULL,       x3,x4,x5, 0);
-TESTINST3("adc w3, w4, w5", 0, 0xffffffffULL,       x3,x4,x5, 1);
-TESTINST3("adc w3, w4, w5", 0x31415927, 0x27181728, x3,x4,x5, 0);
-TESTINST3("adc w3, w4, w5", 0x31415927, 0x27181728, x3,x4,x5, 1);
-TESTINST3("adc w3, w4, w5", 0x00000000, 0x00000000, x3,x4,x5, 0);
-TESTINST3("adc w3, w4, w5", 0x00000000, 0x00000000, x3,x4,x5, 1);
-TESTINST3("adc w3, w4, w5", 0x00000001, 0x00000000, x3,x4,x5, 0);
-TESTINST3("adc w3, w4, w5", 0x00000001, 0x00000000, x3,x4,x5, 1);
-TESTINST3("adc w3, w4, w5", 0x00000000, 0x00000001, x3,x4,x5, 0);
-TESTINST3("adc w3, w4, w5", 0x00000000, 0x00000001, x3,x4,x5, 1);
-TESTINST3("adc w3, w4, w5", 0x80000000, 0x00000000, x3,x4,x5, 0);
-TESTINST3("adc w3, w4, w5", 0x80000000, 0x00000000, x3,x4,x5, 1);
-TESTINST3("adc w3, w4, w5", 0x00000000, 0x80000000, x3,x4,x5, 0);
-TESTINST3("adc w3, w4, w5", 0x00000000, 0x80000000, x3,x4,x5, 1);
-TESTINST3("adc w3, w4, w5", 0x80000000, 0x80000000, x3,x4,x5, 0);
-TESTINST3("adc w3, w4, w5", 0x80000000, 0x80000000, x3,x4,x5, 1);
-
-
-TESTINST3("adcs x3, x4, x5", 12345, 6789,                          x3,x4,x5,0);
-TESTINST3("adcs x3, x4, x5", 12345, 6789,                          x3,x4,x5,1);
-TESTINST3("adcs x3, x4, x5", 0, 0xffffffffffffffffULL,             x3,x4,x5,0);
-TESTINST3("adcs x3, x4, x5", 0, 0xffffffffffffffffULL,             x3,x4,x5,1);
+TESTINST3("adc w3, w4, w5", 12345LL, 6789LL,            x3,x4,x5, 0);
+TESTINST3("adc w3, w4, w5", 12345LL, 6789LL,            x3,x4,x5, 1);
+TESTINST3("adc w3, w4, w5", 0LL, 0xffffffffULL,         x3,x4,x5, 0);
+TESTINST3("adc w3, w4, w5", 0LL, 0xffffffffULL,         x3,x4,x5, 1);
+TESTINST3("adc w3, w4, w5", 0x31415927LL, 0x27181728LL, x3,x4,x5, 0);
+TESTINST3("adc w3, w4, w5", 0x31415927LL, 0x27181728LL, x3,x4,x5, 1);
+TESTINST3("adc w3, w4, w5", 0x00000000LL, 0x00000000LL, x3,x4,x5, 0);
+TESTINST3("adc w3, w4, w5", 0x00000000LL, 0x00000000LL, x3,x4,x5, 1);
+TESTINST3("adc w3, w4, w5", 0x00000001LL, 0x00000000LL, x3,x4,x5, 0);
+TESTINST3("adc w3, w4, w5", 0x00000001LL, 0x00000000LL, x3,x4,x5, 1);
+TESTINST3("adc w3, w4, w5", 0x00000000LL, 0x00000001LL, x3,x4,x5, 0);
+TESTINST3("adc w3, w4, w5", 0x00000000LL, 0x00000001LL, x3,x4,x5, 1);
+TESTINST3("adc w3, w4, w5", 0x80000000LL, 0x00000000LL, x3,x4,x5, 0);
+TESTINST3("adc w3, w4, w5", 0x80000000LL, 0x00000000LL, x3,x4,x5, 1);
+TESTINST3("adc w3, w4, w5", 0x00000000LL, 0x80000000LL, x3,x4,x5, 0);
+TESTINST3("adc w3, w4, w5", 0x00000000LL, 0x80000000LL, x3,x4,x5, 1);
+TESTINST3("adc w3, w4, w5", 0x80000000LL, 0x80000000LL, x3,x4,x5, 0);
+TESTINST3("adc w3, w4, w5", 0x80000000LL, 0x80000000LL, x3,x4,x5, 1);
+
+
+TESTINST3("adcs x3, x4, x5", 12345LL, 6789LL,                       x3,x4,x5,0);
+TESTINST3("adcs x3, x4, x5", 12345LL, 6789LL,                       x3,x4,x5,1);
+TESTINST3("adcs x3, x4, x5", 0LL, 0xffffffffffffffffULL,            x3,x4,x5,0);
+TESTINST3("adcs x3, x4, x5", 0LL, 0xffffffffffffffffULL,            x3,x4,x5,1);
 TESTINST3("adcs x3, x4, x5", 0x31415927ULL<<32, 0x27181728ULL<<32, x3,x4,x5,0);
 TESTINST3("adcs x3, x4, x5", 0x31415927ULL<<32, 0x27181728ULL<<32, x3,x4,x5,1);
 TESTINST3("adcs x3, x4, x5", 0x00000000ULL<<32, 0x00000000ULL<<32, x3,x4,x5,0);
@@ -222,30 +222,30 @@ TESTINST3("adcs x3, x4, x5", 0x00000000ULL<<32, 0x80000000ULL<<32, x3,x4,x5,1);
 TESTINST3("adcs x3, x4, x5", 0x80000000ULL<<32, 0x80000000ULL<<32, x3,x4,x5,0);
 TESTINST3("adcs x3, x4, x5", 0x80000000ULL<<32, 0x80000000ULL<<32, x3,x4,x5,1);
 
-TESTINST3("adcs w3, w4, w5", 12345, 6789,            x3,x4,x5, 0);
-TESTINST3("adcs w3, w4, w5", 12345, 6789,            x3,x4,x5, 1);
-TESTINST3("adcs w3, w4, w5", 0, 0xffffffffULL,       x3,x4,x5, 0);
-TESTINST3("adcs w3, w4, w5", 0, 0xffffffffULL,       x3,x4,x5, 1);
-TESTINST3("adcs w3, w4, w5", 0x31415927, 0x27181728, x3,x4,x5, 0);
-TESTINST3("adcs w3, w4, w5", 0x31415927, 0x27181728, x3,x4,x5, 1);
-TESTINST3("adcs w3, w4, w5", 0x00000000, 0x00000000, x3,x4,x5, 0);
-TESTINST3("adcs w3, w4, w5", 0x00000000, 0x00000000, x3,x4,x5, 1);
-TESTINST3("adcs w3, w4, w5", 0x00000001, 0x00000000, x3,x4,x5, 0);
-TESTINST3("adcs w3, w4, w5", 0x00000001, 0x00000000, x3,x4,x5, 1);
-TESTINST3("adcs w3, w4, w5", 0x00000000, 0x00000001, x3,x4,x5, 0);
-TESTINST3("adcs w3, w4, w5", 0x00000000, 0x00000001, x3,x4,x5, 1);
-TESTINST3("adcs w3, w4, w5", 0x80000000, 0x00000000, x3,x4,x5, 0);
-TESTINST3("adcs w3, w4, w5", 0x80000000, 0x00000000, x3,x4,x5, 1);
-TESTINST3("adcs w3, w4, w5", 0x00000000, 0x80000000, x3,x4,x5, 0);
-TESTINST3("adcs w3, w4, w5", 0x00000000, 0x80000000, x3,x4,x5, 1);
-TESTINST3("adcs w3, w4, w5", 0x80000000, 0x80000000, x3,x4,x5, 0);
-TESTINST3("adcs w3, w4, w5", 0x80000000, 0x80000000, x3,x4,x5, 1);
-
-
-TESTINST3("sbc x3, x4, x5", 12345, 6789,                          x3,x4,x5,0);
-TESTINST3("sbc x3, x4, x5", 12345, 6789,                          x3,x4,x5,1);
-TESTINST3("sbc x3, x4, x5", 0, 0xffffffffffffffffULL,             x3,x4,x5,0);
-TESTINST3("sbc x3, x4, x5", 0, 0xffffffffffffffffULL,             x3,x4,x5,1);
+TESTINST3("adcs w3, w4, w5", 12345LL, 6789LL,            x3,x4,x5, 0);
+TESTINST3("adcs w3, w4, w5", 12345LL, 6789LL,            x3,x4,x5, 1);
+TESTINST3("adcs w3, w4, w5", 0LL, 0xffffffffULL,        x3,x4,x5, 0);
+TESTINST3("adcs w3, w4, w5", 0LL, 0xffffffffULL,        x3,x4,x5, 1);
+TESTINST3("adcs w3, w4, w5", 0x31415927LL, 0x27181728LL, x3,x4,x5, 0);
+TESTINST3("adcs w3, w4, w5", 0x31415927LL, 0x27181728LL, x3,x4,x5, 1);
+TESTINST3("adcs w3, w4, w5", 0x00000000LL, 0x00000000LL, x3,x4,x5, 0);
+TESTINST3("adcs w3, w4, w5", 0x00000000LL, 0x00000000LL, x3,x4,x5, 1);
+TESTINST3("adcs w3, w4, w5", 0x00000001LL, 0x00000000LL, x3,x4,x5, 0);
+TESTINST3("adcs w3, w4, w5", 0x00000001LL, 0x00000000LL, x3,x4,x5, 1);
+TESTINST3("adcs w3, w4, w5", 0x00000000LL, 0x00000001LL, x3,x4,x5, 0);
+TESTINST3("adcs w3, w4, w5", 0x00000000LL, 0x00000001LL, x3,x4,x5, 1);
+TESTINST3("adcs w3, w4, w5", 0x80000000LL, 0x00000000LL, x3,x4,x5, 0);
+TESTINST3("adcs w3, w4, w5", 0x80000000LL, 0x00000000LL, x3,x4,x5, 1);
+TESTINST3("adcs w3, w4, w5", 0x00000000LL, 0x80000000LL, x3,x4,x5, 0);
+TESTINST3("adcs w3, w4, w5", 0x00000000LL, 0x80000000LL, x3,x4,x5, 1);
+TESTINST3("adcs w3, w4, w5", 0x80000000LL, 0x80000000LL, x3,x4,x5, 0);
+TESTINST3("adcs w3, w4, w5", 0x80000000LL, 0x80000000LL, x3,x4,x5, 1);
+
+
+TESTINST3("sbc x3, x4, x5", 12345LL, 6789LL,                      x3,x4,x5,0);
+TESTINST3("sbc x3, x4, x5", 12345LL, 6789LL,                      x3,x4,x5,1);
+TESTINST3("sbc x3, x4, x5", 0LL, 0xffffffffffffffffULL,           x3,x4,x5,0);
+TESTINST3("sbc x3, x4, x5", 0LL, 0xffffffffffffffffULL,           x3,x4,x5,1);
 TESTINST3("sbc x3, x4, x5", 0x31415927ULL<<32, 0x27181728ULL<<32, x3,x4,x5,0);
 TESTINST3("sbc x3, x4, x5", 0x31415927ULL<<32, 0x27181728ULL<<32, x3,x4,x5,1);
 TESTINST3("sbc x3, x4, x5", 0x00000000ULL<<32, 0x00000000ULL<<32, x3,x4,x5,0);
@@ -261,30 +261,30 @@ TESTINST3("sbc x3, x4, x5", 0x00000000ULL<<32, 0x80000000ULL<<32, x3,x4,x5,1);
 TESTINST3("sbc x3, x4, x5", 0x80000000ULL<<32, 0x80000000ULL<<32, x3,x4,x5,0);
 TESTINST3("sbc x3, x4, x5", 0x80000000ULL<<32, 0x80000000ULL<<32, x3,x4,x5,1);
 
-TESTINST3("sbc w3, w4, w5", 12345, 6789,            x3,x4,x5, 0);
-TESTINST3("sbc w3, w4, w5", 12345, 6789,            x3,x4,x5, 1);
-TESTINST3("sbc w3, w4, w5", 0, 0xffffffffULL,       x3,x4,x5, 0);
-TESTINST3("sbc w3, w4, w5", 0, 0xffffffffULL,       x3,x4,x5, 1);
-TESTINST3("sbc w3, w4, w5", 0x31415927, 0x27181728, x3,x4,x5, 0);
-TESTINST3("sbc w3, w4, w5", 0x31415927, 0x27181728, x3,x4,x5, 1);
-TESTINST3("sbc w3, w4, w5", 0x00000000, 0x00000000, x3,x4,x5, 0);
-TESTINST3("sbc w3, w4, w5", 0x00000000, 0x00000000, x3,x4,x5, 1);
-TESTINST3("sbc w3, w4, w5", 0x00000001, 0x00000000, x3,x4,x5, 0);
-TESTINST3("sbc w3, w4, w5", 0x00000001, 0x00000000, x3,x4,x5, 1);
-TESTINST3("sbc w3, w4, w5", 0x00000000, 0x00000001, x3,x4,x5, 0);
-TESTINST3("sbc w3, w4, w5", 0x00000000, 0x00000001, x3,x4,x5, 1);
-TESTINST3("sbc w3, w4, w5", 0x80000000, 0x00000000, x3,x4,x5, 0);
-TESTINST3("sbc w3, w4, w5", 0x80000000, 0x00000000, x3,x4,x5, 1);
-TESTINST3("sbc w3, w4, w5", 0x00000000, 0x80000000, x3,x4,x5, 0);
-TESTINST3("sbc w3, w4, w5", 0x00000000, 0x80000000, x3,x4,x5, 1);
-TESTINST3("sbc w3, w4, w5", 0x80000000, 0x80000000, x3,x4,x5, 0);
-TESTINST3("sbc w3, w4, w5", 0x80000000, 0x80000000, x3,x4,x5, 1);
-
-
-TESTINST3("sbcs x3, x4, x5", 12345, 6789,                          x3,x4,x5,0);
-TESTINST3("sbcs x3, x4, x5", 12345, 6789,                          x3,x4,x5,1);
-TESTINST3("sbcs x3, x4, x5", 0, 0xffffffffffffffffULL,             x3,x4,x5,0);
-TESTINST3("sbcs x3, x4, x5", 0, 0xffffffffffffffffULL,             x3,x4,x5,1);
+TESTINST3("sbc w3, w4, w5", 12345LL, 6789LL,            x3,x4,x5, 0);
+TESTINST3("sbc w3, w4, w5", 12345LL, 6789LL,            x3,x4,x5, 1);
+TESTINST3("sbc w3, w4, w5", 0LL, 0xffffffffULL,         x3,x4,x5, 0);
+TESTINST3("sbc w3, w4, w5", 0LL, 0xffffffffULL,         x3,x4,x5, 1);
+TESTINST3("sbc w3, w4, w5", 0x31415927LL, 0x27181728LL, x3,x4,x5, 0);
+TESTINST3("sbc w3, w4, w5", 0x31415927LL, 0x27181728LL, x3,x4,x5, 1);
+TESTINST3("sbc w3, w4, w5", 0x00000000LL, 0x00000000LL, x3,x4,x5, 0);
+TESTINST3("sbc w3, w4, w5", 0x00000000LL, 0x00000000LL, x3,x4,x5, 1);
+TESTINST3("sbc w3, w4, w5", 0x00000001LL, 0x00000000LL, x3,x4,x5, 0);
+TESTINST3("sbc w3, w4, w5", 0x00000001LL, 0x00000000LL, x3,x4,x5, 1);
+TESTINST3("sbc w3, w4, w5", 0x00000000LL, 0x00000001LL, x3,x4,x5, 0);
+TESTINST3("sbc w3, w4, w5", 0x00000000LL, 0x00000001LL, x3,x4,x5, 1);
+TESTINST3("sbc w3, w4, w5", 0x80000000LL, 0x00000000LL, x3,x4,x5, 0);
+TESTINST3("sbc w3, w4, w5", 0x80000000LL, 0x00000000LL, x3,x4,x5, 1);
+TESTINST3("sbc w3, w4, w5", 0x00000000LL, 0x80000000LL, x3,x4,x5, 0);
+TESTINST3("sbc w3, w4, w5", 0x00000000LL, 0x80000000LL, x3,x4,x5, 1);
+TESTINST3("sbc w3, w4, w5", 0x80000000L, 0x80000000LL, x3,x4,x5, 0);
+TESTINST3("sbc w3, w4, w5", 0x80000000LL, 0x80000000LL, x3,x4,x5, 1);
+
+
+TESTINST3("sbcs x3, x4, x5", 12345ULL, 6789ULL,                    x3,x4,x5,0);
+TESTINST3("sbcs x3, x4, x5", 12345ULL, 6789ULL,                    x3,x4,x5,1);
+TESTINST3("sbcs x3, x4, x5", 0ULL, 0xffffffffffffffffULL,          x3,x4,x5,0);
+TESTINST3("sbcs x3, x4, x5", 0ULL, 0xffffffffffffffffULL,          x3,x4,x5,1);
 TESTINST3("sbcs x3, x4, x5", 0x31415927ULL<<32, 0x27181728ULL<<32, x3,x4,x5,0);
 TESTINST3("sbcs x3, x4, x5", 0x31415927ULL<<32, 0x27181728ULL<<32, x3,x4,x5,1);
 TESTINST3("sbcs x3, x4, x5", 0x00000000ULL<<32, 0x00000000ULL<<32, x3,x4,x5,0);
@@ -300,31 +300,31 @@ TESTINST3("sbcs x3, x4, x5", 0x00000000ULL<<32, 0x80000000ULL<<32, x3,x4,x5,1);
 TESTINST3("sbcs x3, x4, x5", 0x80000000ULL<<32, 0x80000000ULL<<32, x3,x4,x5,0);
 TESTINST3("sbcs x3, x4, x5", 0x80000000ULL<<32, 0x80000000ULL<<32, x3,x4,x5,1);
 
-TESTINST3("sbcs w3, w4, w5", 12345, 6789,            x3,x4,x5, 0);
-TESTINST3("sbcs w3, w4, w5", 12345, 6789,            x3,x4,x5, 1);
-TESTINST3("sbcs w3, w4, w5", 0, 0xffffffffULL,       x3,x4,x5, 0);
-TESTINST3("sbcs w3, w4, w5", 0, 0xffffffffULL,       x3,x4,x5, 1);
-TESTINST3("sbcs w3, w4, w5", 0x31415927, 0x27181728, x3,x4,x5, 0);
-TESTINST3("sbcs w3, w4, w5", 0x31415927, 0x27181728, x3,x4,x5, 1);
-TESTINST3("sbcs w3, w4, w5", 0x00000000, 0x00000000, x3,x4,x5, 0);
-TESTINST3("sbcs w3, w4, w5", 0x00000000, 0x00000000, x3,x4,x5, 1);
-TESTINST3("sbcs w3, w4, w5", 0x00000001, 0x00000000, x3,x4,x5, 0);
-TESTINST3("sbcs w3, w4, w5", 0x00000001, 0x00000000, x3,x4,x5, 1);
-TESTINST3("sbcs w3, w4, w5", 0x00000000, 0x00000001, x3,x4,x5, 0);
-TESTINST3("sbcs w3, w4, w5", 0x00000000, 0x00000001, x3,x4,x5, 1);
-TESTINST3("sbcs w3, w4, w5", 0x80000000, 0x00000000, x3,x4,x5, 0);
-TESTINST3("sbcs w3, w4, w5", 0x80000000, 0x00000000, x3,x4,x5, 1);
-TESTINST3("sbcs w3, w4, w5", 0x00000000, 0x80000000, x3,x4,x5, 0);
-TESTINST3("sbcs w3, w4, w5", 0x00000000, 0x80000000, x3,x4,x5, 1);
-TESTINST3("sbcs w3, w4, w5", 0x80000000, 0x80000000, x3,x4,x5, 0);
-TESTINST3("sbcs w3, w4, w5", 0x80000000, 0x80000000, x3,x4,x5, 1);
+TESTINST3("sbcs w3, w4, w5", 12345ULL, 6789ULL,            x3,x4,x5, 0);
+TESTINST3("sbcs w3, w4, w5", 12345ULL, 6789ULL,            x3,x4,x5, 1);
+TESTINST3("sbcs w3, w4, w5", 0ULL, 0xffffffffULL,          x3,x4,x5, 0);
+TESTINST3("sbcs w3, w4, w5", 0ULL, 0xffffffffULL,          x3,x4,x5, 1);
+TESTINST3("sbcs w3, w4, w5", 0x31415927ULL, 0x27181728ULL, x3,x4,x5, 0);
+TESTINST3("sbcs w3, w4, w5", 0x31415927ULL, 0x27181728ULL, x3,x4,x5, 1);
+TESTINST3("sbcs w3, w4, w5", 0x00000000ULL, 0x00000000ULL, x3,x4,x5, 0);
+TESTINST3("sbcs w3, w4, w5", 0x00000000ULL, 0x00000000ULL, x3,x4,x5, 1);
+TESTINST3("sbcs w3, w4, w5", 0x00000001ULL, 0x00000000ULL, x3,x4,x5, 0);
+TESTINST3("sbcs w3, w4, w5", 0x00000001ULL, 0x00000000ULL, x3,x4,x5, 1);
+TESTINST3("sbcs w3, w4, w5", 0x00000000ULL, 0x00000001ULL, x3,x4,x5, 0);
+TESTINST3("sbcs w3, w4, w5", 0x00000000ULL, 0x00000001ULL, x3,x4,x5, 1);
+TESTINST3("sbcs w3, w4, w5", 0x80000000ULL, 0x00000000ULL, x3,x4,x5, 0);
+TESTINST3("sbcs w3, w4, w5", 0x80000000ULL, 0x00000000ULL, x3,x4,x5, 1);
+TESTINST3("sbcs w3, w4, w5", 0x00000000ULL, 0x80000000ULL, x3,x4,x5, 0);
+TESTINST3("sbcs w3, w4, w5", 0x00000000ULL, 0x80000000ULL, x3,x4,x5, 1);
+TESTINST3("sbcs w3, w4, w5", 0x80000000ULL, 0x80000000ULL, x3,x4,x5, 0);
+TESTINST3("sbcs w3, w4, w5", 0x80000000ULL, 0x80000000ULL, x3,x4,x5, 1);
 
 
 TESTINST2("bfm x2, x4, #0, #63", 0x5555555555555555, x2, x4, 0);
 TESTINST2("bfm x2, x4, #0, #63", 0xaaaaaaaaaaaaaaaa, x2, x4, 0);
 
-TESTINST3("cmp x4, x5 ; cset x3, ne", 12345, 6789, x3, x4, x5, 0);
-TESTINST3("cmp x4, x5 ; cset x3, eq", 12345, 6789, x3, x4, x5, 0);
+TESTINST3("cmp x4, x5 ; cset x3, ne", 12345LL, 6789LL, x3, x4, x5, 0);
+TESTINST3("cmp x4, x5 ; cset x3, eq", 12345LL, 6789LL, x3, x4, x5, 0);
   
 TESTINST3("cmp w4, w5 ; cset x3, ne",
           0xAB12345678, 0xCD12345678, x3, x4, x5, 0);
@@ -472,12 +472,12 @@ TESTINST2("subs w3, w4, #0xD87, lsl #0", 0x64d2462680000d86, x3, x4, 0);
 TESTINST2("subs w3, w4, #0xD87, lsl #0", 0x64d2462680000d87, x3, x4, 0);
 TESTINST2("subs w3, w4, #0xD87, lsl #0", 0x64d2462680000d88, x3, x4, 0);
 
-TESTINST2("subs x3, x4, #0xD87, lsl #0", 0x0000000000000d86, x3, x4, 0);
-TESTINST2("subs x3, x4, #0xD87, lsl #0", 0x0000000000000d87, x3, x4, 0);
-TESTINST2("subs x3, x4, #0xD87, lsl #0", 0x0000000000000d88, x3, x4, 0);
-TESTINST2("subs x3, x4, #0xD87, lsl #0", 0x8000000000000d86, x3, x4, 0);
-TESTINST2("subs x3, x4, #0xD87, lsl #0", 0x8000000000000d87, x3, x4, 0);
-TESTINST2("subs x3, x4, #0xD87, lsl #0", 0x8000000000000d88, x3, x4, 0);
+TESTINST2("subs x3, x4, #0xD87, lsl #0", 0x0000000000000d86ULL, x3, x4, 0);
+TESTINST2("subs x3, x4, #0xD87, lsl #0", 0x0000000000000d87ULL, x3, x4, 0);
+TESTINST2("subs x3, x4, #0xD87, lsl #0", 0x0000000000000d88ULL, x3, x4, 0);
+TESTINST2("subs x3, x4, #0xD87, lsl #0", 0x8000000000000d86ULL, x3, x4, 0);
+TESTINST2("subs x3, x4, #0xD87, lsl #0", 0x8000000000000d87ULL, x3, x4, 0);
+TESTINST2("subs x3, x4, #0xD87, lsl #0", 0x8000000000000d88ULL, x3, x4, 0);
 
 ////////////////////////////////////////////////////////////////
 printf("ADR/ADRP MISSING (results are PC dependant)\n");
@@ -9354,23 +9354,23 @@ printf("ADD/SUB(extended reg)(64)\n");
 #define NN8 0x2e10f2a4055bec0e
 #define NN9 0x77f3b8dcc730b96a
 
-TESTINST3("add x21,x22,x23,uxtb #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,uxtb #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,uxtb #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,uxtb #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,uxtb #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxtb #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxtb #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxtb #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxtb #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxtb #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("add x21,x22,x23,uxth #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,uxth #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,uxth #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,uxth #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,uxth #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxth #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxth #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxth #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxth #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxth #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("add x21,x22,x23,uxtw #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,uxtw #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,uxtw #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,uxtw #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,uxtw #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxtw #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxtw #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxtw #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxtw #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,uxtw #4", NN8, NN9, x21,x22,x23,0);
 
 TESTINST3("add x21,x22,x23,uxtx #0", NN0, NN1, x21,x22,x23,0);
 TESTINST3("add x21,x22,x23,uxtx #1", NN2, NN3, x21,x22,x23,0);
@@ -9378,23 +9378,23 @@ TESTINST3("add x21,x22,x23,uxtx #2", NN4, NN5, x21,x22,x23,0);
 TESTINST3("add x21,x22,x23,uxtx #3", NN6, NN7, x21,x22,x23,0);
 TESTINST3("add x21,x22,x23,uxtx #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("add x21,x22,x23,sxtb #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,sxtb #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,sxtb #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,sxtb #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,sxtb #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxtb #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxtb #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxtb #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxtb #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxtb #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("add x21,x22,x23,sxth #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,sxth #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,sxth #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,sxth #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,sxth #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxth #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxth #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxth #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxth #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxth #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("add x21,x22,x23,sxtw #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,sxtw #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,sxtw #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,sxtw #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("add x21,x22,x23,sxtw #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxtw #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxtw #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxtw #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxtw #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("add x21,x22,w23,sxtw #4", NN8, NN9, x21,x22,x23,0);
 
 TESTINST3("add x21,x22,x23,sxtx #0", NN0, NN1, x21,x22,x23,0);
 TESTINST3("add x21,x22,x23,sxtx #1", NN2, NN3, x21,x22,x23,0);
@@ -9403,23 +9403,23 @@ TESTINST3("add x21,x22,x23,sxtx #3", NN6, NN7, x21,x22,x23,0);
 TESTINST3("add x21,x22,x23,sxtx #4", NN8, NN9, x21,x22,x23,0);
 
 
-TESTINST3("adds x21,x22,x23,uxtb #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,uxtb #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,uxtb #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,uxtb #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,uxtb #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxtb #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxtb #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxtb #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxtb #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxtb #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("adds x21,x22,x23,uxth #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,uxth #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,uxth #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,uxth #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,uxth #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxth #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxth #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxth #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxth #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxth #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("adds x21,x22,x23,uxtw #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,uxtw #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,uxtw #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,uxtw #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,uxtw #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxtw #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxtw #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxtw #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxtw #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,uxtw #4", NN8, NN9, x21,x22,x23,0);
 
 TESTINST3("adds x21,x22,x23,uxtx #0", NN0, NN1, x21,x22,x23,0);
 TESTINST3("adds x21,x22,x23,uxtx #1", NN2, NN3, x21,x22,x23,0);
@@ -9427,23 +9427,23 @@ TESTINST3("adds x21,x22,x23,uxtx #2", NN4, NN5, x21,x22,x23,0);
 TESTINST3("adds x21,x22,x23,uxtx #3", NN6, NN7, x21,x22,x23,0);
 TESTINST3("adds x21,x22,x23,uxtx #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("adds x21,x22,x23,sxtb #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,sxtb #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,sxtb #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,sxtb #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,sxtb #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxtb #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxtb #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxtb #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxtb #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxtb #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("adds x21,x22,x23,sxth #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,sxth #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,sxth #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,sxth #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,sxth #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxth #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxth #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxth #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxth #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxth #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("adds x21,x22,x23,sxtw #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,sxtw #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,sxtw #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,sxtw #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("adds x21,x22,x23,sxtw #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxtw #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxtw #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxtw #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxtw #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("adds x21,x22,w23,sxtw #4", NN8, NN9, x21,x22,x23,0);
 
 TESTINST3("adds x21,x22,x23,sxtx #0", NN0, NN1, x21,x22,x23,0);
 TESTINST3("adds x21,x22,x23,sxtx #1", NN2, NN3, x21,x22,x23,0);
@@ -9452,23 +9452,23 @@ TESTINST3("adds x21,x22,x23,sxtx #3", NN6, NN7, x21,x22,x23,0);
 TESTINST3("adds x21,x22,x23,sxtx #4", NN8, NN9, x21,x22,x23,0);
 
 
-TESTINST3("sub x21,x22,x23,uxtb #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,uxtb #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,uxtb #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,uxtb #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,uxtb #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxtb #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxtb #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxtb #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxtb #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxtb #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("sub x21,x22,x23,uxth #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,uxth #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,uxth #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,uxth #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,uxth #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxth #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxth #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxth #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxth #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxth #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("sub x21,x22,x23,uxtw #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,uxtw #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,uxtw #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,uxtw #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,uxtw #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxtw #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxtw #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxtw #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxtw #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,uxtw #4", NN8, NN9, x21,x22,x23,0);
 
 TESTINST3("sub x21,x22,x23,uxtx #0", NN0, NN1, x21,x22,x23,0);
 TESTINST3("sub x21,x22,x23,uxtx #1", NN2, NN3, x21,x22,x23,0);
@@ -9476,23 +9476,23 @@ TESTINST3("sub x21,x22,x23,uxtx #2", NN4, NN5, x21,x22,x23,0);
 TESTINST3("sub x21,x22,x23,uxtx #3", NN6, NN7, x21,x22,x23,0);
 TESTINST3("sub x21,x22,x23,uxtx #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("sub x21,x22,x23,sxtb #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,sxtb #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,sxtb #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,sxtb #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,sxtb #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxtb #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxtb #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxtb #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxtb #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxtb #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("sub x21,x22,x23,sxth #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,sxth #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,sxth #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,sxth #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,sxth #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxth #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxth #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxth #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxth #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxth #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("sub x21,x22,x23,sxtw #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,sxtw #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,sxtw #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,sxtw #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("sub x21,x22,x23,sxtw #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxtw #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxtw #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxtw #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxtw #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("sub x21,x22,w23,sxtw #4", NN8, NN9, x21,x22,x23,0);
 
 TESTINST3("sub x21,x22,x23,sxtx #0", NN0, NN1, x21,x22,x23,0);
 TESTINST3("sub x21,x22,x23,sxtx #1", NN2, NN3, x21,x22,x23,0);
@@ -9501,23 +9501,23 @@ TESTINST3("sub x21,x22,x23,sxtx #3", NN6, NN7, x21,x22,x23,0);
 TESTINST3("sub x21,x22,x23,sxtx #4", NN8, NN9, x21,x22,x23,0);
 
 
-TESTINST3("subs x21,x22,x23,uxtb #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,uxtb #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,uxtb #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,uxtb #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,uxtb #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxtb #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxtb #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxtb #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxtb #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxtb #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("subs x21,x22,x23,uxth #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,uxth #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,uxth #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,uxth #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,uxth #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxth #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxth #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxth #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxth #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxth #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("subs x21,x22,x23,uxtw #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,uxtw #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,uxtw #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,uxtw #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,uxtw #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxtw #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxtw #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxtw #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxtw #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,uxtw #4", NN8, NN9, x21,x22,x23,0);
 
 TESTINST3("subs x21,x22,x23,uxtx #0", NN0, NN1, x21,x22,x23,0);
 TESTINST3("subs x21,x22,x23,uxtx #1", NN2, NN3, x21,x22,x23,0);
@@ -9525,23 +9525,23 @@ TESTINST3("subs x21,x22,x23,uxtx #2", NN4, NN5, x21,x22,x23,0);
 TESTINST3("subs x21,x22,x23,uxtx #3", NN6, NN7, x21,x22,x23,0);
 TESTINST3("subs x21,x22,x23,uxtx #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("subs x21,x22,x23,sxtb #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,sxtb #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,sxtb #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,sxtb #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,sxtb #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxtb #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxtb #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxtb #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxtb #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxtb #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("subs x21,x22,x23,sxth #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,sxth #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,sxth #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,sxth #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,sxth #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxth #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxth #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxth #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxth #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxth #4", NN8, NN9, x21,x22,x23,0);
 
-TESTINST3("subs x21,x22,x23,sxtw #0", NN0, NN1, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,sxtw #1", NN2, NN3, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,sxtw #2", NN4, NN5, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,sxtw #3", NN6, NN7, x21,x22,x23,0);
-TESTINST3("subs x21,x22,x23,sxtw #4", NN8, NN9, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxtw #0", NN0, NN1, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxtw #1", NN2, NN3, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxtw #2", NN4, NN5, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxtw #3", NN6, NN7, x21,x22,x23,0);
+TESTINST3("subs x21,x22,w23,sxtw #4", NN8, NN9, x21,x22,x23,0);
 
 TESTINST3("subs x21,x22,x23,sxtx #0", NN0, NN1, x21,x22,x23,0);
 TESTINST3("subs x21,x22,x23,sxtx #1", NN2, NN3, x21,x22,x23,0);
@@ -9763,140 +9763,140 @@ printf("CCMP/CCMN(imm)(64)\n");
    TESTINST3(PRE "ccmn x25,#" #argR_value ",#" #iffalse_nzcv "," #cond POST, \
               (initial_nzcv<<28), argL_value, x23,x24,x25 ,0)
 
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0x0);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0x1);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0x2);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0x3);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0x4);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0x5);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0x6);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0x7);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0x8);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0x9);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0xA);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0xB);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0xC);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0xD);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0xE);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0xF);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0x0);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0x1);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0x2);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0x3);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0x4);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0x5);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0x6);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0x7);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0x8);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0x9);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0xA);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0xB);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0xC);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0xD);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0xE);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0xF);
 printf("\n");
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0x0);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0x1);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0x2);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0x3);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0x4);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0x5);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0x6);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0x7);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0x8);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0x9);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0xA);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0xB);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0xC);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0xD);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0xE);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0xF);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0x0);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0x1);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0x2);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0x3);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0x4);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0x5);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0x6);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0x7);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0x8);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0x9);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0xA);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0xB);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0xC);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0xD);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0xE);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0xF);
 printf("\n");
-TEST_CCMP_X_imm(0x1, eq, 17, 17, 0x6);
-TEST_CCMP_X_imm(0x2, eq, 17, 17, 0x5);
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0x3);
-TEST_CCMP_X_imm(0x8, eq, 17, 17, 0x7);
-TEST_CCMP_X_imm(0x1, lt, 17, 17, 0x6);
-TEST_CCMP_X_imm(0x2, lt, 17, 17, 0x5);
-TEST_CCMP_X_imm(0x4, lt, 17, 17, 0x3);
-TEST_CCMP_X_imm(0x8, lt, 17, 17, 0x7);
-TEST_CCMP_X_imm(0x1, gt, 17, 17, 0x6);
-TEST_CCMP_X_imm(0x2, gt, 17, 17, 0x5);
-TEST_CCMP_X_imm(0x4, gt, 17, 17, 0x3);
-TEST_CCMP_X_imm(0x8, gt, 17, 17, 0x7);
-TEST_CCMP_X_imm(0x1, ne, 17, 17, 0x6);
-TEST_CCMP_X_imm(0x2, ne, 17, 17, 0x5);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0x3);
-TEST_CCMP_X_imm(0x8, ne, 17, 17, 0x7);
-TEST_CCMP_X_imm(0x1, eq, 17, 18, 0x6);
-TEST_CCMP_X_imm(0x2, eq, 17, 18, 0x5);
-TEST_CCMP_X_imm(0x4, eq, 17, 18, 0x3);
-TEST_CCMP_X_imm(0x8, eq, 17, 18, 0x7);
-TEST_CCMP_X_imm(0x1, lt, 17, 18, 0x6);
-TEST_CCMP_X_imm(0x2, lt, 17, 18, 0x5);
-TEST_CCMP_X_imm(0x4, lt, 17, 18, 0x3);
-TEST_CCMP_X_imm(0x8, lt, 17, 18, 0x7);
-TEST_CCMP_X_imm(0x1, gt, 17, 18, 0x6);
-TEST_CCMP_X_imm(0x2, gt, 17, 18, 0x5);
-TEST_CCMP_X_imm(0x4, gt, 17, 18, 0x3);
-TEST_CCMP_X_imm(0x8, gt, 17, 18, 0x7);
-TEST_CCMP_X_imm(0x1, ne, 17, 18, 0x6);
-TEST_CCMP_X_imm(0x2, ne, 17, 18, 0x5);
-TEST_CCMP_X_imm(0x4, ne, 17, 18, 0x3);
-TEST_CCMP_X_imm(0x8, ne, 17, 18, 0x7);
-
-
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0x0);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0x1);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0x2);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0x3);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0x4);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0x5);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0x6);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0x7);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0x8);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0x9);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0xA);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0xB);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0xC);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0xD);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0xE);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0xF);
+TEST_CCMP_X_imm(0x1LL, eq, 17LL, 17, 0x6);
+TEST_CCMP_X_imm(0x2LL, eq, 17LL, 17, 0x5);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0x3);
+TEST_CCMP_X_imm(0x8LL, eq, 17LL, 17, 0x7);
+TEST_CCMP_X_imm(0x1LL, lt, 17LL, 17, 0x6);
+TEST_CCMP_X_imm(0x2LL, lt, 17LL, 17, 0x5);
+TEST_CCMP_X_imm(0x4LL, lt, 17LL, 17, 0x3);
+TEST_CCMP_X_imm(0x8LL, lt, 17LL, 17, 0x7);
+TEST_CCMP_X_imm(0x1LL, gt, 17LL, 17, 0x6);
+TEST_CCMP_X_imm(0x2LL, gt, 17LL, 17, 0x5);
+TEST_CCMP_X_imm(0x4LL, gt, 17LL, 17, 0x3);
+TEST_CCMP_X_imm(0x8LL, gt, 17LL, 17, 0x7);
+TEST_CCMP_X_imm(0x1LL, ne, 17LL, 17, 0x6);
+TEST_CCMP_X_imm(0x2LL, ne, 17LL, 17, 0x5);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0x3);
+TEST_CCMP_X_imm(0x8LL, ne, 17LL, 17, 0x7);
+TEST_CCMP_X_imm(0x1LL, eq, 17LL, 18, 0x6);
+TEST_CCMP_X_imm(0x2LL, eq, 17LL, 18, 0x5);
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 18, 0x3);
+TEST_CCMP_X_imm(0x8LL, eq, 17LL, 18, 0x7);
+TEST_CCMP_X_imm(0x1LL, lt, 17LL, 18, 0x6);
+TEST_CCMP_X_imm(0x2LL, lt, 17LL, 18, 0x5);
+TEST_CCMP_X_imm(0x4LL, lt, 17LL, 18, 0x3);
+TEST_CCMP_X_imm(0x8LL, lt, 17LL, 18, 0x7);
+TEST_CCMP_X_imm(0x1LL, gt, 17LL, 18, 0x6);
+TEST_CCMP_X_imm(0x2LL, gt, 17LL, 18, 0x5);
+TEST_CCMP_X_imm(0x4LL, gt, 17LL, 18, 0x3);
+TEST_CCMP_X_imm(0x8LL, gt, 17LL, 18, 0x7);
+TEST_CCMP_X_imm(0x1LL, ne, 17LL, 18, 0x6);
+TEST_CCMP_X_imm(0x2LL, ne, 17LL, 18, 0x5);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 18, 0x3);
+TEST_CCMP_X_imm(0x8LL, ne, 17LL, 18, 0x7);
+
+
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0x0);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0x1);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0x2);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0x3);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0x4);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0x5);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0x6);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0x7);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0x8);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0x9);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0xA);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0xB);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0xC);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0xD);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0xE);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0xF);
 printf("\n");
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0x0);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0x1);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0x2);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0x3);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0x4);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0x5);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0x6);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0x7);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0x8);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0x9);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0xA);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0xB);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0xC);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0xD);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0xE);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0xF);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0x0);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0x1);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0x2);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0x3);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0x4);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0x5);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0x6);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0x7);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0x8);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0x9);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0xA);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0xB);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0xC);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0xD);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0xE);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0xF);
 printf("\n");
-TEST_CCMN_X_imm(0x1, eq, -17, 17, 0x6);
-TEST_CCMN_X_imm(0x2, eq, -17, 17, 0x5);
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0x3);
-TEST_CCMN_X_imm(0x8, eq, -17, 17, 0x7);
-TEST_CCMN_X_imm(0x1, lt, -17, 17, 0x6);
-TEST_CCMN_X_imm(0x2, lt, -17, 17, 0x5);
-TEST_CCMN_X_imm(0x4, lt, -17, 17, 0x3);
-TEST_CCMN_X_imm(0x8, lt, -17, 17, 0x7);
-TEST_CCMN_X_imm(0x1, gt, -17, 17, 0x6);
-TEST_CCMN_X_imm(0x2, gt, -17, 17, 0x5);
-TEST_CCMN_X_imm(0x4, gt, -17, 17, 0x3);
-TEST_CCMN_X_imm(0x8, gt, -17, 17, 0x7);
-TEST_CCMN_X_imm(0x1, ne, -17, 17, 0x6);
-TEST_CCMN_X_imm(0x2, ne, -17, 17, 0x5);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0x3);
-TEST_CCMN_X_imm(0x8, ne, -17, 17, 0x7);
-TEST_CCMN_X_imm(0x1, eq, -17, 18, 0x6);
-TEST_CCMN_X_imm(0x2, eq, -17, 18, 0x5);
-TEST_CCMN_X_imm(0x4, eq, -17, 18, 0x3);
-TEST_CCMN_X_imm(0x8, eq, -17, 18, 0x7);
-TEST_CCMN_X_imm(0x1, lt, -17, 18, 0x6);
-TEST_CCMN_X_imm(0x2, lt, -17, 18, 0x5);
-TEST_CCMN_X_imm(0x4, lt, -17, 18, 0x3);
-TEST_CCMN_X_imm(0x8, lt, -17, 18, 0x7);
-TEST_CCMN_X_imm(0x1, gt, -17, 18, 0x6);
-TEST_CCMN_X_imm(0x2, gt, -17, 18, 0x5);
-TEST_CCMN_X_imm(0x4, gt, -17, 18, 0x3);
-TEST_CCMN_X_imm(0x8, gt, -17, 18, 0x7);
-TEST_CCMN_X_imm(0x1, ne, -17, 18, 0x6);
-TEST_CCMN_X_imm(0x2, ne, -17, 18, 0x5);
-TEST_CCMN_X_imm(0x4, ne, -17, 18, 0x3);
-TEST_CCMN_X_imm(0x8, ne, -17, 18, 0x7);
+TEST_CCMN_X_imm(0x1LL, eq, -17LL, 17, 0x6);
+TEST_CCMN_X_imm(0x2LL, eq, -17LL, 17, 0x5);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0x3);
+TEST_CCMN_X_imm(0x8LL, eq, -17LL, 17, 0x7);
+TEST_CCMN_X_imm(0x1LL, lt, -17LL, 17, 0x6);
+TEST_CCMN_X_imm(0x2LL, lt, -17LL, 17, 0x5);
+TEST_CCMN_X_imm(0x4LL, lt, -17LL, 17, 0x3);
+TEST_CCMN_X_imm(0x8LL, lt, -17LL, 17, 0x7);
+TEST_CCMN_X_imm(0x1LL, gt, -17LL, 17, 0x6);
+TEST_CCMN_X_imm(0x2LL, gt, -17LL, 17, 0x5);
+TEST_CCMN_X_imm(0x4LL, gt, -17LL, 17, 0x3);
+TEST_CCMN_X_imm(0x8LL, gt, -17LL, 17, 0x7);
+TEST_CCMN_X_imm(0x1LL, ne, -17LL, 17, 0x6);
+TEST_CCMN_X_imm(0x2LL, ne, -17LL, 17, 0x5);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0x3);
+TEST_CCMN_X_imm(0x8LL, ne, -17LL, 17, 0x7);
+TEST_CCMN_X_imm(0x1LL, eq, -17LL, 18, 0x6);
+TEST_CCMN_X_imm(0x2LL, eq, -17LL, 18, 0x5);
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 18, 0x3);
+TEST_CCMN_X_imm(0x8LL, eq, -17LL, 18, 0x7);
+TEST_CCMN_X_imm(0x1LL, lt, -17LL, 18, 0x6);
+TEST_CCMN_X_imm(0x2LL, lt, -17LL, 18, 0x5);
+TEST_CCMN_X_imm(0x4LL, lt, -17LL, 18, 0x3);
+TEST_CCMN_X_imm(0x8LL, lt, -17LL, 18, 0x7);
+TEST_CCMN_X_imm(0x1LL, gt, -17LL, 18, 0x6);
+TEST_CCMN_X_imm(0x2LL, gt, -17LL, 18, 0x5);
+TEST_CCMN_X_imm(0x4LL, gt, -17LL, 18, 0x3);
+TEST_CCMN_X_imm(0x8LL, gt, -17LL, 18, 0x7);
+TEST_CCMN_X_imm(0x1LL, ne, -17LL, 18, 0x6);
+TEST_CCMN_X_imm(0x2LL, ne, -17LL, 18, 0x5);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 18, 0x3);
+TEST_CCMN_X_imm(0x8LL, ne, -17LL, 18, 0x7);
 
 
 ////////////////////////////////////////////////////////////////
@@ -9913,160 +9913,160 @@ printf("CCMP/CCMN(imm)(32)\n");
    TESTINST3(PRE "ccmn w25,#" #argR_value ",#" #iffalse_nzcv "," #cond POST, \
               (initial_nzcv<<28), argL_value, x23,x24,x25 ,0)
 
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0xF);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0xF);
-TEST_CCMP_W_imm(0x4, eq, 17+(17ULL<<32), 17, 0xF);
-TEST_CCMP_W_imm(0x4, ne, 17+(17ULL<<32), 17, 0xF);
-
-TEST_CCMP_X_imm(0x4, eq, 17, 17, 0xF);
-TEST_CCMP_X_imm(0x4, ne, 17, 17, 0xF);
-TEST_CCMP_X_imm(0x4, eq, 17+(17ULL<<32), 17, 0xF);
-TEST_CCMP_X_imm(0x4, ne, 17+(17ULL<<32), 17, 0xF);
-
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0x0);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0x1);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0x2);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0x3);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0x4);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0x5);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0x6);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0x7);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0x8);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0x9);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0xA);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0xB);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0xC);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0xD);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0xE);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0xF);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0xF);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0xF);
+TEST_CCMP_W_imm(0x4LL, eq, 17+(17ULL<<32), 17, 0xF);
+TEST_CCMP_W_imm(0x4LL, ne, 17+(17ULL<<32), 17, 0xF);
+
+TEST_CCMP_X_imm(0x4LL, eq, 17LL, 17, 0xF);
+TEST_CCMP_X_imm(0x4LL, ne, 17LL, 17, 0xF);
+TEST_CCMP_X_imm(0x4LL, eq, 17+(17ULL<<32), 17, 0xF);
+TEST_CCMP_X_imm(0x4LL, ne, 17+(17ULL<<32), 17, 0xF);
+
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0x0);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0x1);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0x2);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0x3);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0x4);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0x5);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0x6);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0x7);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0x8);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0x9);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0xA);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0xB);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0xC);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0xD);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0xE);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0xF);
 printf("\n");
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0x0);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0x1);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0x2);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0x3);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0x4);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0x5);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0x6);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0x7);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0x8);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0x9);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0xA);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0xB);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0xC);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0xD);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0xE);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0xF);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0x0);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0x1);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0x2);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0x3);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0x4);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0x5);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0x6);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0x7);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0x8);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0x9);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0xA);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0xB);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0xC);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0xD);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0xE);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0xF);
 printf("\n");
-TEST_CCMP_W_imm(0x1, eq, 17, 17, 0x6);
-TEST_CCMP_W_imm(0x2, eq, 17, 17, 0x5);
-TEST_CCMP_W_imm(0x4, eq, 17, 17, 0x3);
-TEST_CCMP_W_imm(0x8, eq, 17, 17, 0x7);
-TEST_CCMP_W_imm(0x1, lt, 17, 17, 0x6);
-TEST_CCMP_W_imm(0x2, lt, 17, 17, 0x5);
-TEST_CCMP_W_imm(0x4, lt, 17, 17, 0x3);
-TEST_CCMP_W_imm(0x8, lt, 17, 17, 0x7);
-TEST_CCMP_W_imm(0x1, gt, 17, 17, 0x6);
-TEST_CCMP_W_imm(0x2, gt, 17, 17, 0x5);
-TEST_CCMP_W_imm(0x4, gt, 17, 17, 0x3);
-TEST_CCMP_W_imm(0x8, gt, 17, 17, 0x7);
-TEST_CCMP_W_imm(0x1, ne, 17, 17, 0x6);
-TEST_CCMP_W_imm(0x2, ne, 17, 17, 0x5);
-TEST_CCMP_W_imm(0x4, ne, 17, 17, 0x3);
-TEST_CCMP_W_imm(0x8, ne, 17, 17, 0x7);
-TEST_CCMP_W_imm(0x1, eq, 17, 18, 0x6);
-TEST_CCMP_W_imm(0x2, eq, 17, 18, 0x5);
-TEST_CCMP_W_imm(0x4, eq, 17, 18, 0x3);
-TEST_CCMP_W_imm(0x8, eq, 17, 18, 0x7);
-TEST_CCMP_W_imm(0x1, lt, 17, 18, 0x6);
-TEST_CCMP_W_imm(0x2, lt, 17, 18, 0x5);
-TEST_CCMP_W_imm(0x4, lt, 17, 18, 0x3);
-TEST_CCMP_W_imm(0x8, lt, 17, 18, 0x7);
-TEST_CCMP_W_imm(0x1, gt, 17, 18, 0x6);
-TEST_CCMP_W_imm(0x2, gt, 17, 18, 0x5);
-TEST_CCMP_W_imm(0x4, gt, 17, 18, 0x3);
-TEST_CCMP_W_imm(0x8, gt, 17, 18, 0x7);
-TEST_CCMP_W_imm(0x1, ne, 17, 18, 0x6);
-TEST_CCMP_W_imm(0x2, ne, 17, 18, 0x5);
-TEST_CCMP_W_imm(0x4, ne, 17, 18, 0x3);
-TEST_CCMP_W_imm(0x8, ne, 17, 18, 0x7);
-
-
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0xF);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0xF);
-TEST_CCMN_W_imm(0x4, eq, -(17+(17ULL<<32)), 17, 0xF);
-TEST_CCMN_W_imm(0x4, ne, -(17+(17ULL<<32)), 17, 0xF);
-
-TEST_CCMN_X_imm(0x4, eq, -17, 17, 0xF);
-TEST_CCMN_X_imm(0x4, ne, -17, 17, 0xF);
-TEST_CCMN_X_imm(0x4, eq, -(17+(17ULL<<32)), 17, 0xF);
-TEST_CCMN_X_imm(0x4, ne, -(17+(17ULL<<32)), 17, 0xF);
-
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0x0);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0x1);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0x2);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0x3);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0x4);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0x5);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0x6);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0x7);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0x8);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0x9);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0xA);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0xB);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0xC);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0xD);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0xE);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0xF);
+TEST_CCMP_W_imm(0x1LL, eq, 17LL, 17, 0x6);
+TEST_CCMP_W_imm(0x2LL, eq, 17LL, 17, 0x5);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 17, 0x3);
+TEST_CCMP_W_imm(0x8LL, eq, 17LL, 17, 0x7);
+TEST_CCMP_W_imm(0x1LL, lt, 17LL, 17, 0x6);
+TEST_CCMP_W_imm(0x2LL, lt, 17LL, 17, 0x5);
+TEST_CCMP_W_imm(0x4LL, lt, 17LL, 17, 0x3);
+TEST_CCMP_W_imm(0x8LL, lt, 17LL, 17, 0x7);
+TEST_CCMP_W_imm(0x1LL, gt, 17LL, 17, 0x6);
+TEST_CCMP_W_imm(0x2LL, gt, 17LL, 17, 0x5);
+TEST_CCMP_W_imm(0x4LL, gt, 17LL, 17, 0x3);
+TEST_CCMP_W_imm(0x8LL, gt, 17LL, 17, 0x7);
+TEST_CCMP_W_imm(0x1LL, ne, 17LL, 17, 0x6);
+TEST_CCMP_W_imm(0x2LL, ne, 17LL, 17, 0x5);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 17, 0x3);
+TEST_CCMP_W_imm(0x8LL, ne, 17LL, 17, 0x7);
+TEST_CCMP_W_imm(0x1LL, eq, 17LL, 18, 0x6);
+TEST_CCMP_W_imm(0x2LL, eq, 17LL, 18, 0x5);
+TEST_CCMP_W_imm(0x4LL, eq, 17LL, 18, 0x3);
+TEST_CCMP_W_imm(0x8LL, eq, 17LL, 18, 0x7);
+TEST_CCMP_W_imm(0x1LL, lt, 17LL, 18, 0x6);
+TEST_CCMP_W_imm(0x2LL, lt, 17LL, 18, 0x5);
+TEST_CCMP_W_imm(0x4LL, lt, 17LL, 18, 0x3);
+TEST_CCMP_W_imm(0x8LL, lt, 17LL, 18, 0x7);
+TEST_CCMP_W_imm(0x1LL, gt, 17LL, 18, 0x6);
+TEST_CCMP_W_imm(0x2LL, gt, 17LL, 18, 0x5);
+TEST_CCMP_W_imm(0x4LL, gt, 17LL, 18, 0x3);
+TEST_CCMP_W_imm(0x8LL, gt, 17LL, 18, 0x7);
+TEST_CCMP_W_imm(0x1LL, ne, 17LL, 18, 0x6);
+TEST_CCMP_W_imm(0x2LL, ne, 17LL, 18, 0x5);
+TEST_CCMP_W_imm(0x4LL, ne, 17LL, 18, 0x3);
+TEST_CCMP_W_imm(0x8LL, ne, 17LL, 18, 0x7);
+
+
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0xF);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0xF);
+TEST_CCMN_W_imm(0x4LL, eq, -(17+(17ULL<<32)), 17, 0xF);
+TEST_CCMN_W_imm(0x4LL, ne, -(17+(17ULL<<32)), 17, 0xF);
+
+TEST_CCMN_X_imm(0x4LL, eq, -17LL, 17, 0xF);
+TEST_CCMN_X_imm(0x4LL, ne, -17LL, 17, 0xF);
+TEST_CCMN_X_imm(0x4LL, eq, -(17+(17ULL<<32)), 17, 0xF);
+TEST_CCMN_X_imm(0x4LL, ne, -(17+(17ULL<<32)), 17, 0xF);
+
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0x0);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0x1);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0x2);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0x3);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0x4);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0x5);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0x6);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0x7);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0x8);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0x9);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0xA);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0xB);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0xC);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0xD);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0xE);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0xF);
 printf("\n");
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0x0);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0x1);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0x2);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0x3);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0x4);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0x5);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0x6);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0x7);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0x8);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0x9);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0xA);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0xB);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0xC);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0xD);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0xE);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0xF);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0x0);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0x1);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0x2);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0x3);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0x4);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0x5);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0x6);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0x7);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0x8);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0x9);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0xA);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0xB);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0xC);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0xD);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0xE);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0xF);
 printf("\n");
-TEST_CCMN_W_imm(0x1, eq, -17, 17, 0x6);
-TEST_CCMN_W_imm(0x2, eq, -17, 17, 0x5);
-TEST_CCMN_W_imm(0x4, eq, -17, 17, 0x3);
-TEST_CCMN_W_imm(0x8, eq, -17, 17, 0x7);
-TEST_CCMN_W_imm(0x1, lt, -17, 17, 0x6);
-TEST_CCMN_W_imm(0x2, lt, -17, 17, 0x5);
-TEST_CCMN_W_imm(0x4, lt, -17, 17, 0x3);
-TEST_CCMN_W_imm(0x8, lt, -17, 17, 0x7);
-TEST_CCMN_W_imm(0x1, gt, -17, 17, 0x6);
-TEST_CCMN_W_imm(0x2, gt, -17, 17, 0x5);
-TEST_CCMN_W_imm(0x4, gt, -17, 17, 0x3);
-TEST_CCMN_W_imm(0x8, gt, -17, 17, 0x7);
-TEST_CCMN_W_imm(0x1, ne, -17, 17, 0x6);
-TEST_CCMN_W_imm(0x2, ne, -17, 17, 0x5);
-TEST_CCMN_W_imm(0x4, ne, -17, 17, 0x3);
-TEST_CCMN_W_imm(0x8, ne, -17, 17, 0x7);
-TEST_CCMN_W_imm(0x1, eq, -17, 18, 0x6);
-TEST_CCMN_W_imm(0x2, eq, -17, 18, 0x5);
-TEST_CCMN_W_imm(0x4, eq, -17, 18, 0x3);
-TEST_CCMN_W_imm(0x8, eq, -17, 18, 0x7);
-TEST_CCMN_W_imm(0x1, lt, -17, 18, 0x6);
-TEST_CCMN_W_imm(0x2, lt, -17, 18, 0x5);
-TEST_CCMN_W_imm(0x4, lt, -17, 18, 0x3);
-TEST_CCMN_W_imm(0x8, lt, -17, 18, 0x7);
-TEST_CCMN_W_imm(0x1, gt, -17, 18, 0x6);
-TEST_CCMN_W_imm(0x2, gt, -17, 18, 0x5);
-TEST_CCMN_W_imm(0x4, gt, -17, 18, 0x3);
-TEST_CCMN_W_imm(0x8, gt, -17, 18, 0x7);
-TEST_CCMN_W_imm(0x1, ne, -17, 18, 0x6);
-TEST_CCMN_W_imm(0x2, ne, -17, 18, 0x5);
-TEST_CCMN_W_imm(0x4, ne, -17, 18, 0x3);
-TEST_CCMN_W_imm(0x8, ne, -17, 18, 0x7);
+TEST_CCMN_W_imm(0x1LL, eq, -17LL, 17, 0x6);
+TEST_CCMN_W_imm(0x2LL, eq, -17LL, 17, 0x5);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 17, 0x3);
+TEST_CCMN_W_imm(0x8LL, eq, -17LL, 17, 0x7);
+TEST_CCMN_W_imm(0x1LL, lt, -17LL, 17, 0x6);
+TEST_CCMN_W_imm(0x2LL, lt, -17LL, 17, 0x5);
+TEST_CCMN_W_imm(0x4LL, lt, -17LL, 17, 0x3);
+TEST_CCMN_W_imm(0x8LL, lt, -17LL, 17, 0x7);
+TEST_CCMN_W_imm(0x1LL, gt, -17LL, 17, 0x6);
+TEST_CCMN_W_imm(0x2LL, gt, -17LL, 17, 0x5);
+TEST_CCMN_W_imm(0x4LL, gt, -17LL, 17, 0x3);
+TEST_CCMN_W_imm(0x8LL, gt, -17LL, 17, 0x7);
+TEST_CCMN_W_imm(0x1LL, ne, -17LL, 17, 0x6);
+TEST_CCMN_W_imm(0x2LL, ne, -17LL, 17, 0x5);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 17, 0x3);
+TEST_CCMN_W_imm(0x8LL, ne, -17LL, 17, 0x7);
+TEST_CCMN_W_imm(0x1LL, eq, -17LL, 18, 0x6);
+TEST_CCMN_W_imm(0x2LL, eq, -17LL, 18, 0x5);
+TEST_CCMN_W_imm(0x4LL, eq, -17LL, 18, 0x3);
+TEST_CCMN_W_imm(0x8LL, eq, -17LL, 18, 0x7);
+TEST_CCMN_W_imm(0x1LL, lt, -17LL, 18, 0x6);
+TEST_CCMN_W_imm(0x2LL, lt, -17LL, 18, 0x5);
+TEST_CCMN_W_imm(0x4LL, lt, -17LL, 18, 0x3);
+TEST_CCMN_W_imm(0x8LL, lt, -17LL, 18, 0x7);
+TEST_CCMN_W_imm(0x1LL, gt, -17LL, 18, 0x6);
+TEST_CCMN_W_imm(0x2LL, gt, -17LL, 18, 0x5);
+TEST_CCMN_W_imm(0x4LL, gt, -17LL, 18, 0x3);
+TEST_CCMN_W_imm(0x8LL, gt, -17LL, 18, 0x7);
+TEST_CCMN_W_imm(0x1LL, ne, -17LL, 18, 0x6);
+TEST_CCMN_W_imm(0x2LL, ne, -17LL, 18, 0x5);
+TEST_CCMN_W_imm(0x4LL, ne, -17LL, 18, 0x3);
+TEST_CCMN_W_imm(0x8LL, ne, -17LL, 18, 0x7);
 
 
 ////////////////////////////////////////////////////////////////
@@ -10083,140 +10083,140 @@ printf("CCMP/CCMN(reg)(64)\n");
    TESTINST4(PRE "ccmn x25,x26,#" #iffalse_nzcv "," #cond POST, \
               (initial_nzcv<<28), argL_value, argR_value, x23,x24,x25,x26 ,0)
 
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0x0);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0x1);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0x2);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0x3);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0x4);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0x5);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0x6);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0x7);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0x8);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0x9);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0xA);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0xB);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0xC);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0xD);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0xE);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0xF);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0x0);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0x1);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0x2);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0x3);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0x4);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0x5);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0x6);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0x7);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0x8);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0x9);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0xA);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0xB);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0xC);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0xD);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0xE);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0xF);
 printf("\n");
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0x0);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0x1);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0x2);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0x3);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0x4);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0x5);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0x6);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0x7);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0x8);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0x9);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0xA);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0xB);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0xC);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0xD);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0xE);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0xF);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0x0);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0x1);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0x2);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0x3);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0x4);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0x5);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0x6);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0x7);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0x8);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0x9);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0xA);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0xB);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0xC);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0xD);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0xE);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0xF);
 printf("\n");
-TEST_CCMP_X_reg(0x1, eq, 17, 17, 0x6);
-TEST_CCMP_X_reg(0x2, eq, 17, 17, 0x5);
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0x3);
-TEST_CCMP_X_reg(0x8, eq, 17, 17, 0x7);
-TEST_CCMP_X_reg(0x1, lt, 17, 17, 0x6);
-TEST_CCMP_X_reg(0x2, lt, 17, 17, 0x5);
-TEST_CCMP_X_reg(0x4, lt, 17, 17, 0x3);
-TEST_CCMP_X_reg(0x8, lt, 17, 17, 0x7);
-TEST_CCMP_X_reg(0x1, gt, 17, 17, 0x6);
-TEST_CCMP_X_reg(0x2, gt, 17, 17, 0x5);
-TEST_CCMP_X_reg(0x4, gt, 17, 17, 0x3);
-TEST_CCMP_X_reg(0x8, gt, 17, 17, 0x7);
-TEST_CCMP_X_reg(0x1, ne, 17, 17, 0x6);
-TEST_CCMP_X_reg(0x2, ne, 17, 17, 0x5);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0x3);
-TEST_CCMP_X_reg(0x8, ne, 17, 17, 0x7);
-TEST_CCMP_X_reg(0x1, eq, 17, 18, 0x6);
-TEST_CCMP_X_reg(0x2, eq, 17, 18, 0x5);
-TEST_CCMP_X_reg(0x4, eq, 17, 18, 0x3);
-TEST_CCMP_X_reg(0x8, eq, 17, 18, 0x7);
-TEST_CCMP_X_reg(0x1, lt, 17, 18, 0x6);
-TEST_CCMP_X_reg(0x2, lt, 17, 18, 0x5);
-TEST_CCMP_X_reg(0x4, lt, 17, 18, 0x3);
-TEST_CCMP_X_reg(0x8, lt, 17, 18, 0x7);
-TEST_CCMP_X_reg(0x1, gt, 17, 18, 0x6);
-TEST_CCMP_X_reg(0x2, gt, 17, 18, 0x5);
-TEST_CCMP_X_reg(0x4, gt, 17, 18, 0x3);
-TEST_CCMP_X_reg(0x8, gt, 17, 18, 0x7);
-TEST_CCMP_X_reg(0x1, ne, 17, 18, 0x6);
-TEST_CCMP_X_reg(0x2, ne, 17, 18, 0x5);
-TEST_CCMP_X_reg(0x4, ne, 17, 18, 0x3);
-TEST_CCMP_X_reg(0x8, ne, 17, 18, 0x7);
-
-
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0x0);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0x1);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0x2);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0x3);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0x4);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0x5);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0x6);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0x7);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0x8);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0x9);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0xA);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0xB);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0xC);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0xD);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0xE);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0xF);
+TEST_CCMP_X_reg(0x1LL, eq, 17LL, 17LL, 0x6);
+TEST_CCMP_X_reg(0x2LL, eq, 17LL, 17LL, 0x5);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0x3);
+TEST_CCMP_X_reg(0x8LL, eq, 17LL, 17LL, 0x7);
+TEST_CCMP_X_reg(0x1LL, lt, 17LL, 17LL, 0x6);
+TEST_CCMP_X_reg(0x2LL, lt, 17LL, 17LL, 0x5);
+TEST_CCMP_X_reg(0x4LL, lt, 17LL, 17LL, 0x3);
+TEST_CCMP_X_reg(0x8LL, lt, 17LL, 17LL, 0x7);
+TEST_CCMP_X_reg(0x1LL, gt, 17LL, 17LL, 0x6);
+TEST_CCMP_X_reg(0x2LL, gt, 17LL, 17LL, 0x5);
+TEST_CCMP_X_reg(0x4LL, gt, 17LL, 17LL, 0x3);
+TEST_CCMP_X_reg(0x8LL, gt, 17LL, 17LL, 0x7);
+TEST_CCMP_X_reg(0x1LL, ne, 17LL, 17LL, 0x6);
+TEST_CCMP_X_reg(0x2LL, ne, 17LL, 17LL, 0x5);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0x3);
+TEST_CCMP_X_reg(0x8LL, ne, 17LL, 17LL, 0x7);
+TEST_CCMP_X_reg(0x1LL, eq, 17LL, 18LL, 0x6);
+TEST_CCMP_X_reg(0x2LL, eq, 17LL, 18LL, 0x5);
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 18LL, 0x3);
+TEST_CCMP_X_reg(0x8LL, eq, 17LL, 18LL, 0x7);
+TEST_CCMP_X_reg(0x1LL, lt, 17LL, 18LL, 0x6);
+TEST_CCMP_X_reg(0x2LL, lt, 17LL, 18LL, 0x5);
+TEST_CCMP_X_reg(0x4LL, lt, 17LL, 18LL, 0x3);
+TEST_CCMP_X_reg(0x8LL, lt, 17LL, 18LL, 0x7);
+TEST_CCMP_X_reg(0x1LL, gt, 17LL, 18LL, 0x6);
+TEST_CCMP_X_reg(0x2LL, gt, 17LL, 18LL, 0x5);
+TEST_CCMP_X_reg(0x4LL, gt, 17LL, 18LL, 0x3);
+TEST_CCMP_X_reg(0x8LL, gt, 17LL, 18LL, 0x7);
+TEST_CCMP_X_reg(0x1LL, ne, 17LL, 18LL, 0x6);
+TEST_CCMP_X_reg(0x2LL, ne, 17LL, 18LL, 0x5);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 18LL, 0x3);
+TEST_CCMP_X_reg(0x8LL, ne, 17LL, 18LL, 0x7);
+
+
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0x0);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0x1);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0x2);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0x3);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0x4);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0x5);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0x6);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0x7);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0x8);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0x9);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0xA);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0xB);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0xC);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0xD);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0xE);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0xF);
 printf("\n");
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0x0);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0x1);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0x2);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0x3);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0x4);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0x5);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0x6);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0x7);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0x8);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0x9);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0xA);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0xB);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0xC);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0xD);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0xE);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0xF);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0x0);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0x1);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0x2);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0x3);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0x4);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0x5);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0x6);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0x7);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0x8);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0x9);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0xA);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0xB);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0xC);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0xD);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0xE);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0xF);
 printf("\n");
-TEST_CCMN_X_reg(0x1, eq, -17, 17, 0x6);
-TEST_CCMN_X_reg(0x2, eq, -17, 17, 0x5);
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0x3);
-TEST_CCMN_X_reg(0x8, eq, -17, 17, 0x7);
-TEST_CCMN_X_reg(0x1, lt, -17, 17, 0x6);
-TEST_CCMN_X_reg(0x2, lt, -17, 17, 0x5);
-TEST_CCMN_X_reg(0x4, lt, -17, 17, 0x3);
-TEST_CCMN_X_reg(0x8, lt, -17, 17, 0x7);
-TEST_CCMN_X_reg(0x1, gt, -17, 17, 0x6);
-TEST_CCMN_X_reg(0x2, gt, -17, 17, 0x5);
-TEST_CCMN_X_reg(0x4, gt, -17, 17, 0x3);
-TEST_CCMN_X_reg(0x8, gt, -17, 17, 0x7);
-TEST_CCMN_X_reg(0x1, ne, -17, 17, 0x6);
-TEST_CCMN_X_reg(0x2, ne, -17, 17, 0x5);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0x3);
-TEST_CCMN_X_reg(0x8, ne, -17, 17, 0x7);
-TEST_CCMN_X_reg(0x1, eq, -17, 18, 0x6);
-TEST_CCMN_X_reg(0x2, eq, -17, 18, 0x5);
-TEST_CCMN_X_reg(0x4, eq, -17, 18, 0x3);
-TEST_CCMN_X_reg(0x8, eq, -17, 18, 0x7);
-TEST_CCMN_X_reg(0x1, lt, -17, 18, 0x6);
-TEST_CCMN_X_reg(0x2, lt, -17, 18, 0x5);
-TEST_CCMN_X_reg(0x4, lt, -17, 18, 0x3);
-TEST_CCMN_X_reg(0x8, lt, -17, 18, 0x7);
-TEST_CCMN_X_reg(0x1, gt, -17, 18, 0x6);
-TEST_CCMN_X_reg(0x2, gt, -17, 18, 0x5);
-TEST_CCMN_X_reg(0x4, gt, -17, 18, 0x3);
-TEST_CCMN_X_reg(0x8, gt, -17, 18, 0x7);
-TEST_CCMN_X_reg(0x1, ne, -17, 18, 0x6);
-TEST_CCMN_X_reg(0x2, ne, -17, 18, 0x5);
-TEST_CCMN_X_reg(0x4, ne, -17, 18, 0x3);
-TEST_CCMN_X_reg(0x8, ne, -17, 18, 0x7);
+TEST_CCMN_X_reg(0x1LL, eq, -17LL, 17LL, 0x6);
+TEST_CCMN_X_reg(0x2LL, eq, -17LL, 17LL, 0x5);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0x3);
+TEST_CCMN_X_reg(0x8LL, eq, -17LL, 17LL, 0x7);
+TEST_CCMN_X_reg(0x1LL, lt, -17LL, 17LL, 0x6);
+TEST_CCMN_X_reg(0x2LL, lt, -17LL, 17LL, 0x5);
+TEST_CCMN_X_reg(0x4LL, lt, -17LL, 17LL, 0x3);
+TEST_CCMN_X_reg(0x8LL, lt, -17LL, 17LL, 0x7);
+TEST_CCMN_X_reg(0x1LL, gt, -17LL, 17LL, 0x6);
+TEST_CCMN_X_reg(0x2LL, gt, -17LL, 17LL, 0x5);
+TEST_CCMN_X_reg(0x4LL, gt, -17LL, 17LL, 0x3);
+TEST_CCMN_X_reg(0x8LL, gt, -17LL, 17LL, 0x7);
+TEST_CCMN_X_reg(0x1LL, ne, -17LL, 17LL, 0x6);
+TEST_CCMN_X_reg(0x2LL, ne, -17LL, 17LL, 0x5);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0x3);
+TEST_CCMN_X_reg(0x8LL, ne, -17LL, 17LL, 0x7);
+TEST_CCMN_X_reg(0x1LL, eq, -17LL, 18LL, 0x6);
+TEST_CCMN_X_reg(0x2LL, eq, -17LL, 18LL, 0x5);
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 18LL, 0x3);
+TEST_CCMN_X_reg(0x8LL, eq, -17LL, 18LL, 0x7);
+TEST_CCMN_X_reg(0x1LL, lt, -17LL, 18LL, 0x6);
+TEST_CCMN_X_reg(0x2LL, lt, -17LL, 18LL, 0x5);
+TEST_CCMN_X_reg(0x4LL, lt, -17LL, 18LL, 0x3);
+TEST_CCMN_X_reg(0x8LL, lt, -17LL, 18LL, 0x7);
+TEST_CCMN_X_reg(0x1LL, gt, -17LL, 18LL, 0x6);
+TEST_CCMN_X_reg(0x2LL, gt, -17LL, 18LL, 0x5);
+TEST_CCMN_X_reg(0x4LL, gt, -17LL, 18LL, 0x3);
+TEST_CCMN_X_reg(0x8LL, gt, -17LL, 18LL, 0x7);
+TEST_CCMN_X_reg(0x1LL, ne, -17LL, 18LL, 0x6);
+TEST_CCMN_X_reg(0x2LL, ne, -17LL, 18LL, 0x5);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 18LL, 0x3);
+TEST_CCMN_X_reg(0x8LL, ne, -17LL, 18LL, 0x7);
 
 
 ////////////////////////////////////////////////////////////////
@@ -10233,160 +10233,160 @@ printf("CCMP/CCMN(reg)(32)\n");
    TESTINST4(PRE "ccmn w25,w26,#" #iffalse_nzcv "," #cond POST, \
               (initial_nzcv<<28), argL_value, argR_value, x23,x24,x25,x26 ,0)
 
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0xF);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0xF);
-TEST_CCMP_W_reg(0x4, eq, 17+(17ULL<<32), 17, 0xF);
-TEST_CCMP_W_reg(0x4, ne, 17+(17ULL<<32), 17, 0xF);
-
-TEST_CCMP_X_reg(0x4, eq, 17, 17, 0xF);
-TEST_CCMP_X_reg(0x4, ne, 17, 17, 0xF);
-TEST_CCMP_X_reg(0x4, eq, 17+(17ULL<<32), 17, 0xF);
-TEST_CCMP_X_reg(0x4, ne, 17+(17ULL<<32), 17, 0xF);
-
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0x0);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0x1);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0x2);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0x3);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0x4);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0x5);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0x6);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0x7);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0x8);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0x9);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0xA);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0xB);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0xC);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0xD);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0xE);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0xF);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0xF);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0xF);
+TEST_CCMP_W_reg(0x4LL, eq, 17+(17ULL<<32), 17LL, 0xF);
+TEST_CCMP_W_reg(0x4LL, ne, 17+(17ULL<<32), 17LL, 0xF);
+
+TEST_CCMP_X_reg(0x4LL, eq, 17LL, 17LL, 0xF);
+TEST_CCMP_X_reg(0x4LL, ne, 17LL, 17LL, 0xF);
+TEST_CCMP_X_reg(0x4LL, eq, 17+(17ULL<<32), 17LL, 0xF);
+TEST_CCMP_X_reg(0x4LL, ne, 17+(17ULL<<32), 17LL, 0xF);
+
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0x0);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0x1);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0x2);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0x3);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0x4);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0x5);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0x6);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0x7);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0x8);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0x9);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0xA);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0xB);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0xC);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0xD);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0xE);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0xF);
 printf("\n");
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0x0);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0x1);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0x2);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0x3);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0x4);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0x5);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0x6);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0x7);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0x8);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0x9);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0xA);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0xB);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0xC);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0xD);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0xE);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0xF);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0x0);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0x1);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0x2);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0x3);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0x4);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0x5);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0x6);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0x7);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0x8);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0x9);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0xA);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0xB);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0xC);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0xD);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0xE);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0xF);
 printf("\n");
-TEST_CCMP_W_reg(0x1, eq, 17, 17, 0x6);
-TEST_CCMP_W_reg(0x2, eq, 17, 17, 0x5);
-TEST_CCMP_W_reg(0x4, eq, 17, 17, 0x3);
-TEST_CCMP_W_reg(0x8, eq, 17, 17, 0x7);
-TEST_CCMP_W_reg(0x1, lt, 17, 17, 0x6);
-TEST_CCMP_W_reg(0x2, lt, 17, 17, 0x5);
-TEST_CCMP_W_reg(0x4, lt, 17, 17, 0x3);
-TEST_CCMP_W_reg(0x8, lt, 17, 17, 0x7);
-TEST_CCMP_W_reg(0x1, gt, 17, 17, 0x6);
-TEST_CCMP_W_reg(0x2, gt, 17, 17, 0x5);
-TEST_CCMP_W_reg(0x4, gt, 17, 17, 0x3);
-TEST_CCMP_W_reg(0x8, gt, 17, 17, 0x7);
-TEST_CCMP_W_reg(0x1, ne, 17, 17, 0x6);
-TEST_CCMP_W_reg(0x2, ne, 17, 17, 0x5);
-TEST_CCMP_W_reg(0x4, ne, 17, 17, 0x3);
-TEST_CCMP_W_reg(0x8, ne, 17, 17, 0x7);
-TEST_CCMP_W_reg(0x1, eq, 17, 18, 0x6);
-TEST_CCMP_W_reg(0x2, eq, 17, 18, 0x5);
-TEST_CCMP_W_reg(0x4, eq, 17, 18, 0x3);
-TEST_CCMP_W_reg(0x8, eq, 17, 18, 0x7);
-TEST_CCMP_W_reg(0x1, lt, 17, 18, 0x6);
-TEST_CCMP_W_reg(0x2, lt, 17, 18, 0x5);
-TEST_CCMP_W_reg(0x4, lt, 17, 18, 0x3);
-TEST_CCMP_W_reg(0x8, lt, 17, 18, 0x7);
-TEST_CCMP_W_reg(0x1, gt, 17, 18, 0x6);
-TEST_CCMP_W_reg(0x2, gt, 17, 18, 0x5);
-TEST_CCMP_W_reg(0x4, gt, 17, 18, 0x3);
-TEST_CCMP_W_reg(0x8, gt, 17, 18, 0x7);
-TEST_CCMP_W_reg(0x1, ne, 17, 18, 0x6);
-TEST_CCMP_W_reg(0x2, ne, 17, 18, 0x5);
-TEST_CCMP_W_reg(0x4, ne, 17, 18, 0x3);
-TEST_CCMP_W_reg(0x8, ne, 17, 18, 0x7);
-
-
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0xF);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0xF);
-TEST_CCMN_W_reg(0x4, eq, -(17+(17ULL<<32)), 17, 0xF);
-TEST_CCMN_W_reg(0x4, ne, -(17+(17ULL<<32)), 17, 0xF);
-
-TEST_CCMN_X_reg(0x4, eq, -17, 17, 0xF);
-TEST_CCMN_X_reg(0x4, ne, -17, 17, 0xF);
-TEST_CCMN_X_reg(0x4, eq, -(17+(17ULL<<32)), 17, 0xF);
-TEST_CCMN_X_reg(0x4, ne, -(17+(17ULL<<32)), 17, 0xF);
-
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0x0);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0x1);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0x2);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0x3);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0x4);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0x5);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0x6);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0x7);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0x8);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0x9);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0xA);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0xB);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0xC);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0xD);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0xE);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0xF);
+TEST_CCMP_W_reg(0x1LL, eq, 17LL, 17LL, 0x6);
+TEST_CCMP_W_reg(0x2LL, eq, 17LL, 17LL, 0x5);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 17LL, 0x3);
+TEST_CCMP_W_reg(0x8LL, eq, 17LL, 17LL, 0x7);
+TEST_CCMP_W_reg(0x1LL, lt, 17LL, 17LL, 0x6);
+TEST_CCMP_W_reg(0x2LL, lt, 17LL, 17LL, 0x5);
+TEST_CCMP_W_reg(0x4LL, lt, 17LL, 17LL, 0x3);
+TEST_CCMP_W_reg(0x8LL, lt, 17LL, 17LL, 0x7);
+TEST_CCMP_W_reg(0x1LL, gt, 17LL, 17LL, 0x6);
+TEST_CCMP_W_reg(0x2LL, gt, 17LL, 17LL, 0x5);
+TEST_CCMP_W_reg(0x4LL, gt, 17LL, 17LL, 0x3);
+TEST_CCMP_W_reg(0x8LL, gt, 17LL, 17LL, 0x7);
+TEST_CCMP_W_reg(0x1LL, ne, 17LL, 17LL, 0x6);
+TEST_CCMP_W_reg(0x2LL, ne, 17LL, 17LL, 0x5);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 17LL, 0x3);
+TEST_CCMP_W_reg(0x8LL, ne, 17LL, 17LL, 0x7);
+TEST_CCMP_W_reg(0x1LL, eq, 17LL, 18LL, 0x6);
+TEST_CCMP_W_reg(0x2LL, eq, 17LL, 18LL, 0x5);
+TEST_CCMP_W_reg(0x4LL, eq, 17LL, 18LL, 0x3);
+TEST_CCMP_W_reg(0x8LL, eq, 17LL, 18LL, 0x7);
+TEST_CCMP_W_reg(0x1LL, lt, 17LL, 18LL, 0x6);
+TEST_CCMP_W_reg(0x2LL, lt, 17LL, 18LL, 0x5);
+TEST_CCMP_W_reg(0x4LL, lt, 17LL, 18LL, 0x3);
+TEST_CCMP_W_reg(0x8LL, lt, 17LL, 18LL, 0x7);
+TEST_CCMP_W_reg(0x1LL, gt, 17LL, 18LL, 0x6);
+TEST_CCMP_W_reg(0x2LL, gt, 17LL, 18LL, 0x5);
+TEST_CCMP_W_reg(0x4LL, gt, 17LL, 18LL, 0x3);
+TEST_CCMP_W_reg(0x8LL, gt, 17LL, 18LL, 0x7);
+TEST_CCMP_W_reg(0x1LL, ne, 17LL, 18LL, 0x6);
+TEST_CCMP_W_reg(0x2LL, ne, 17LL, 18LL, 0x5);
+TEST_CCMP_W_reg(0x4LL, ne, 17LL, 18LL, 0x3);
+TEST_CCMP_W_reg(0x8LL, ne, 17LL, 18LL, 0x7);
+
+
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0xF);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0xF);
+TEST_CCMN_W_reg(0x4LL, eq, -(17+(17ULL<<32)), 17LL, 0xF);
+TEST_CCMN_W_reg(0x4LL, ne, -(17+(17ULL<<32)), 17LL, 0xF);
+
+TEST_CCMN_X_reg(0x4LL, eq, -17LL, 17LL, 0xF);
+TEST_CCMN_X_reg(0x4LL, ne, -17LL, 17LL, 0xF);
+TEST_CCMN_X_reg(0x4LL, eq, -(17+(17ULL<<32)), 17LL, 0xF);
+TEST_CCMN_X_reg(0x4LL, ne, -(17+(17ULL<<32)), 17LL, 0xF);
+
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0x0);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0x1);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0x2);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0x3);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0x4);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0x5);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0x6);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0x7);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0x8);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0x9);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0xA);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0xB);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0xC);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0xD);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0xE);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0xF);
 printf("\n");
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0x0);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0x1);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0x2);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0x3);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0x4);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0x5);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0x6);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0x7);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0x8);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0x9);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0xA);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0xB);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0xC);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0xD);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0xE);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0xF);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0x0);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0x1);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0x2);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0x3);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0x4);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0x5);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0x6);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0x7);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0x8);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0x9);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0xA);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0xB);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0xC);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0xD);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0xE);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0xF);
 printf("\n");
-TEST_CCMN_W_reg(0x1, eq, -17, 17, 0x6);
-TEST_CCMN_W_reg(0x2, eq, -17, 17, 0x5);
-TEST_CCMN_W_reg(0x4, eq, -17, 17, 0x3);
-TEST_CCMN_W_reg(0x8, eq, -17, 17, 0x7);
-TEST_CCMN_W_reg(0x1, lt, -17, 17, 0x6);
-TEST_CCMN_W_reg(0x2, lt, -17, 17, 0x5);
-TEST_CCMN_W_reg(0x4, lt, -17, 17, 0x3);
-TEST_CCMN_W_reg(0x8, lt, -17, 17, 0x7);
-TEST_CCMN_W_reg(0x1, gt, -17, 17, 0x6);
-TEST_CCMN_W_reg(0x2, gt, -17, 17, 0x5);
-TEST_CCMN_W_reg(0x4, gt, -17, 17, 0x3);
-TEST_CCMN_W_reg(0x8, gt, -17, 17, 0x7);
-TEST_CCMN_W_reg(0x1, ne, -17, 17, 0x6);
-TEST_CCMN_W_reg(0x2, ne, -17, 17, 0x5);
-TEST_CCMN_W_reg(0x4, ne, -17, 17, 0x3);
-TEST_CCMN_W_reg(0x8, ne, -17, 17, 0x7);
-TEST_CCMN_W_reg(0x1, eq, -17, 18, 0x6);
-TEST_CCMN_W_reg(0x2, eq, -17, 18, 0x5);
-TEST_CCMN_W_reg(0x4, eq, -17, 18, 0x3);
-TEST_CCMN_W_reg(0x8, eq, -17, 18, 0x7);
-TEST_CCMN_W_reg(0x1, lt, -17, 18, 0x6);
-TEST_CCMN_W_reg(0x2, lt, -17, 18, 0x5);
-TEST_CCMN_W_reg(0x4, lt, -17, 18, 0x3);
-TEST_CCMN_W_reg(0x8, lt, -17, 18, 0x7);
-TEST_CCMN_W_reg(0x1, gt, -17, 18, 0x6);
-TEST_CCMN_W_reg(0x2, gt, -17, 18, 0x5);
-TEST_CCMN_W_reg(0x4, gt, -17, 18, 0x3);
-TEST_CCMN_W_reg(0x8, gt, -17, 18, 0x7);
-TEST_CCMN_W_reg(0x1, ne, -17, 18, 0x6);
-TEST_CCMN_W_reg(0x2, ne, -17, 18, 0x5);
-TEST_CCMN_W_reg(0x4, ne, -17, 18, 0x3);
-TEST_CCMN_W_reg(0x8, ne, -17, 18, 0x7);
+TEST_CCMN_W_reg(0x1LL, eq, -17LL, 17LL, 0x6);
+TEST_CCMN_W_reg(0x2LL, eq, -17LL, 17LL, 0x5);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 17LL, 0x3);
+TEST_CCMN_W_reg(0x8LL, eq, -17LL, 17LL, 0x7);
+TEST_CCMN_W_reg(0x1LL, lt, -17LL, 17LL, 0x6);
+TEST_CCMN_W_reg(0x2LL, lt, -17LL, 17LL, 0x5);
+TEST_CCMN_W_reg(0x4LL, lt, -17LL, 17LL, 0x3);
+TEST_CCMN_W_reg(0x8LL, lt, -17LL, 17LL, 0x7);
+TEST_CCMN_W_reg(0x1LL, gt, -17LL, 17LL, 0x6);
+TEST_CCMN_W_reg(0x2LL, gt, -17LL, 17LL, 0x5);
+TEST_CCMN_W_reg(0x4LL, gt, -17LL, 17LL, 0x3);
+TEST_CCMN_W_reg(0x8LL, gt, -17LL, 17LL, 0x7);
+TEST_CCMN_W_reg(0x1LL, ne, -17LL, 17LL, 0x6);
+TEST_CCMN_W_reg(0x2LL, ne, -17LL, 17LL, 0x5);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 17LL, 0x3);
+TEST_CCMN_W_reg(0x8LL, ne, -17LL, 17LL, 0x7);
+TEST_CCMN_W_reg(0x1LL, eq, -17LL, 18LL, 0x6);
+TEST_CCMN_W_reg(0x2LL, eq, -17LL, 18LL, 0x5);
+TEST_CCMN_W_reg(0x4LL, eq, -17LL, 18LL, 0x3);
+TEST_CCMN_W_reg(0x8LL, eq, -17LL, 18LL, 0x7);
+TEST_CCMN_W_reg(0x1LL, lt, -17LL, 18LL, 0x6);
+TEST_CCMN_W_reg(0x2LL, lt, -17LL, 18LL, 0x5);
+TEST_CCMN_W_reg(0x4LL, lt, -17LL, 18LL, 0x3);
+TEST_CCMN_W_reg(0x8LL, lt, -17LL, 18LL, 0x7);
+TEST_CCMN_W_reg(0x1LL, gt, -17LL, 18LL, 0x6);
+TEST_CCMN_W_reg(0x2LL, gt, -17LL, 18LL, 0x5);
+TEST_CCMN_W_reg(0x4LL, gt, -17LL, 18LL, 0x3);
+TEST_CCMN_W_reg(0x8LL, gt, -17LL, 18LL, 0x7);
+TEST_CCMN_W_reg(0x1LL, ne, -17LL, 18LL, 0x6);
+TEST_CCMN_W_reg(0x2LL, ne, -17LL, 18LL, 0x5);
+TEST_CCMN_W_reg(0x4LL, ne, -17LL, 18LL, 0x3);
+TEST_CCMN_W_reg(0x8LL, ne, -17LL, 18LL, 0x7);
 
 
 ////////////////////////////////////////////////////////////////
@@ -10628,18 +10628,18 @@ TESTINST3("sdiv x21,x20,x19", 0xfbb5c64ed1b044c6, 0x33ca4c4fb3960326, x21,x20,x1
 TESTINST3("sdiv x21,x20,x19", 0x2b7c5939d7c0f528, 0xb73870a5a6630162, x21,x20,x19, 0);
 TESTINST3("sdiv x21,x20,x19", 0x02fe41918ac5cdba, 0x48e0815289728f05, x21,x20,x19, 0);
 TESTINST3("sdiv x21,x20,x19", 0xb60a8f381f187bae, 0x008c208cc413ff72, x21,x20,x19, 0);
-TESTINST3("sdiv x21,x20,x19", 101, 20, x21,x20,x19, 0);
-TESTINST3("sdiv x21,x20,x19", 100, 20, x21,x20,x19, 0);
-TESTINST3("sdiv x21,x20,x19",  99, 20, x21,x20,x19, 0);
-TESTINST3("sdiv x21,x20,x19",  98, 20, x21,x20,x19, 0);
-TESTINST3("sdiv x21,x20,x19", -101LL, 20, x21,x20,x19, 0);
-TESTINST3("sdiv x21,x20,x19", -100LL, 20, x21,x20,x19, 0);
-TESTINST3("sdiv x21,x20,x19",  -99LL, 20, x21,x20,x19, 0);
-TESTINST3("sdiv x21,x20,x19",  -98LL, 20, x21,x20,x19, 0);
-TESTINST3("sdiv x21,x20,x19", 101, -20LL, x21,x20,x19, 0);
-TESTINST3("sdiv x21,x20,x19", 100, -20LL, x21,x20,x19, 0);
-TESTINST3("sdiv x21,x20,x19",  99, -20LL, x21,x20,x19, 0);
-TESTINST3("sdiv x21,x20,x19",  98, -20LL, x21,x20,x19, 0);
+TESTINST3("sdiv x21,x20,x19", 101LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv x21,x20,x19", 100LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv x21,x20,x19",  99LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv x21,x20,x19",  98LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv x21,x20,x19", -101LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv x21,x20,x19", -100LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv x21,x20,x19",  -99LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv x21,x20,x19",  -98LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv x21,x20,x19", 101LL, -20LL, x21,x20,x19, 0);
+TESTINST3("sdiv x21,x20,x19", 100LL, -20LL, x21,x20,x19, 0);
+TESTINST3("sdiv x21,x20,x19",  99LL, -20LL, x21,x20,x19, 0);
+TESTINST3("sdiv x21,x20,x19",  98LL, -20LL, x21,x20,x19, 0);
 TESTINST3("sdiv x21,x20,x19", -101LL, -20LL, x21,x20,x19, 0);
 TESTINST3("sdiv x21,x20,x19", -100LL, -20LL, x21,x20,x19, 0);
 TESTINST3("sdiv x21,x20,x19",  -99LL, -20LL, x21,x20,x19, 0);
@@ -10656,18 +10656,18 @@ TESTINST3("sdiv w21,w20,w19", 0xfbb5c64ed1b044c6, 0x33ca4c4fb3960326, x21,x20,x1
 TESTINST3("sdiv w21,w20,w19", 0x2b7c5939d7c0f528, 0xb73870a5a6630162, x21,x20,x19, 0);
 TESTINST3("sdiv w21,w20,w19", 0x02fe41918ac5cdba, 0x48e0815289728f05, x21,x20,x19, 0);
 TESTINST3("sdiv w21,w20,w19", 0xb60a8f381f187bae, 0x008c208cc413ff72, x21,x20,x19, 0);
-TESTINST3("sdiv w21,w20,w19", 101, 20, x21,x20,x19, 0);
-TESTINST3("sdiv w21,w20,w19", 100, 20, x21,x20,x19, 0);
-TESTINST3("sdiv w21,w20,w19",  99, 20, x21,x20,x19, 0);
-TESTINST3("sdiv w21,w20,w19",  98, 20, x21,x20,x19, 0);
-TESTINST3("sdiv w21,w20,w19", -101LL, 20, x21,x20,x19, 0);
-TESTINST3("sdiv w21,w20,w19", -100LL, 20, x21,x20,x19, 0);
-TESTINST3("sdiv w21,w20,w19",  -99LL, 20, x21,x20,x19, 0);
-TESTINST3("sdiv w21,w20,w19",  -98LL, 20, x21,x20,x19, 0);
-TESTINST3("sdiv w21,w20,w19", 101, -20LL, x21,x20,x19, 0);
-TESTINST3("sdiv w21,w20,w19", 100, -20LL, x21,x20,x19, 0);
-TESTINST3("sdiv w21,w20,w19",  99, -20LL, x21,x20,x19, 0);
-TESTINST3("sdiv w21,w20,w19",  98, -20LL, x21,x20,x19, 0);
+TESTINST3("sdiv w21,w20,w19", 101LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv w21,w20,w19", 100LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv w21,w20,w19",  99LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv w21,w20,w19",  98LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv w21,w20,w19", -101LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv w21,w20,w19", -100LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv w21,w20,w19",  -99LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv w21,w20,w19",  -98LL, 20LL, x21,x20,x19, 0);
+TESTINST3("sdiv w21,w20,w19", 101LL, -20LL, x21,x20,x19, 0);
+TESTINST3("sdiv w21,w20,w19", 100LL, -20LL, x21,x20,x19, 0);
+TESTINST3("sdiv w21,w20,w19",  99LL, -20LL, x21,x20,x19, 0);
+TESTINST3("sdiv w21,w20,w19",  98LL, -20LL, x21,x20,x19, 0);
 TESTINST3("sdiv w21,w20,w19", -101LL, -20LL, x21,x20,x19, 0);
 TESTINST3("sdiv w21,w20,w19", -100LL, -20LL, x21,x20,x19, 0);
 TESTINST3("sdiv w21,w20,w19",  -99LL, -20LL, x21,x20,x19, 0);
@@ -10684,18 +10684,18 @@ TESTINST3("udiv x21,x20,x19", 0xfbb5c64ed1b044c6, 0x33ca4c4fb3960326, x21,x20,x1
 TESTINST3("udiv x21,x20,x19", 0x2b7c5939d7c0f528, 0xb73870a5a6630162, x21,x20,x19, 0);
 TESTINST3("udiv x21,x20,x19", 0x02fe41918ac5cdba, 0x48e0815289728f05, x21,x20,x19, 0);
 TESTINST3("udiv x21,x20,x19", 0xb60a8f381f187bae, 0x008c208cc413ff72, x21,x20,x19, 0);
-TESTINST3("udiv x21,x20,x19", 101, 20, x21,x20,x19, 0);
-TESTINST3("udiv x21,x20,x19", 100, 20, x21,x20,x19, 0);
-TESTINST3("udiv x21,x20,x19",  99, 20, x21,x20,x19, 0);
-TESTINST3("udiv x21,x20,x19",  98, 20, x21,x20,x19, 0);
-TESTINST3("udiv x21,x20,x19", -101LL, 20, x21,x20,x19, 0);
-TESTINST3("udiv x21,x20,x19", -100LL, 20, x21,x20,x19, 0);
-TESTINST3("udiv x21,x20,x19",  -99LL, 20, x21,x20,x19, 0);
-TESTINST3("udiv x21,x20,x19",  -98LL, 20, x21,x20,x19, 0);
-TESTINST3("udiv x21,x20,x19", 101, -20LL, x21,x20,x19, 0);
-TESTINST3("udiv x21,x20,x19", 100, -20LL, x21,x20,x19, 0);
-TESTINST3("udiv x21,x20,x19",  99, -20LL, x21,x20,x19, 0);
-TESTINST3("udiv x21,x20,x19",  98, -20LL, x21,x20,x19, 0);
+TESTINST3("udiv x21,x20,x19", 101LL, 20LL, x21,x20,x19, 0);
+TESTINST3("udiv x21,x20,x19", 100LL, 20LL, x21,x20,x19, 0);
+TESTINST3("udiv x21,x20,x19",  99LL, 20LL, x21,x20,x19, 0);
+TESTINST3("udiv x21,x20,x19",  98LL, 20LL, x21,x20,x19, 0);
+TESTINST3("udiv x21,x20,x19", -101LL, 20LL, x21,x20,x19, 0);
+TESTINST3("udiv x21,x20,x19", -100LL, 20LL, x21,x20,x19, 0);
+TESTINST3("udiv x21,x20,x19",  -99LL, 20LL, x21,x20,x19, 0);
+TESTINST3("udiv x21,x20,x19",  -98LL, 20LL, x21,x20,x19, 0);
+TESTINST3("udiv x21,x20,x19", 101LL, -20LL, x21,x20,x19, 0);
+TESTINST3("udiv x21,x20,x19", 100LL, -20LL, x21,x20,x19, 0);
+TESTINST3("udiv x21,x20,x19",  99LL, -20LL, x21,x20,x19, 0);
+TESTINST3("udiv x21,x20,x19",  98LL, -20LL, x21,x20,x19, 0);
 TESTINST3("udiv x21,x20,x19", -101LL, -20LL, x21,x20,x19, 0);
 TESTINST3("udiv x21,x20,x19", -100LL, -20LL, x21,x20,x19, 0);
 TESTINST3("udiv x21,x20,x19",  -99LL, -20LL, x21,x20,x19, 0);
@@ -10712,18 +10712,18 @@ TESTINST3("udiv w21,w20,w19", 0xfbb5c64ed1b044c6, 0x33ca4c4fb3960326, x21,x20,x1
 TESTINST3("udiv w21,w20,w19", 0x2b7c5939d7c0f528, 0xb73870a5a6630162, x21,x20,x19, 0);
 TESTINST3("udiv w21,w20,w19", 0x02fe41918ac5cdba, 0x48e0815289728f05, x21,x20,x19, 0);
 TESTINST3("udiv w21,w20,w19", 0xb60a8f381f187bae, 0x008c208cc413ff72, x21,x20,x19, 0);
-TESTINST3("udiv w21,w20,w19", 101, 20, x21,x20,x19, 0);
-TESTINST3("udiv w21,w20,w19", 100, 20, x21,x20,x19, 0);
-TESTINST3("udiv w21,w20,w19",  99, 20, x21,x20,x19, 0);
-TESTINST3("udiv w21,w20,w19",  98, 20, x21,x20,x19, 0);
-TESTINST3("udiv w21,w20,w19", -101LL, 20, x21,x20,x19, 0);
-TESTINST3("udiv w21,w20,w19", -100LL, 20, x21,x20,x19, 0);
-TESTINST3("udiv w21,w20,w19",  -99LL, 20, x21,x20,x19, 0);
-TESTINST3("udiv w21,w20,w19",  -98LL, 20, x21,x20,x19, 0);
-TESTINST3("udiv w21,w20,w19", 101, -20LL, x21,x20,x19, 0);
-TESTINST3("udiv w21,w20,w19", 100, -20LL, x21,x20,x19, 0);
-TESTINST3("udiv w21,w20,w19",  99, -20LL, x21,x20,x19, 0);
-TESTINST3("udiv w21,w20,w19",  98, -20LL, x21,x20,x19, 0);
+TESTINST3("udiv w21,w20,w19",  101LL,  20LL, x21,x20,x19, 0);
+TESTINST3("udiv w21,w20,w19",  100LL,  20LL, x21,x20,x19, 0);
+TESTINST3("udiv w21,w20,w19",   99LL,  20LL, x21,x20,x19, 0);
+TESTINST3("udiv w21,w20,w19",   98LL,  20LL, x21,x20,x19, 0);
+TESTINST3("udiv w21,w20,w19", -101LL,  20LL, x21,x20,x19, 0);
+TESTINST3("udiv w21,w20,w19", -100LL,  20LL, x21,x20,x19, 0);
+TESTINST3("udiv w21,w20,w19",  -99LL,  20LL, x21,x20,x19, 0);
+TESTINST3("udiv w21,w20,w19",  -98LL,  20LL, x21,x20,x19, 0);
+TESTINST3("udiv w21,w20,w19",  101LL, -20LL, x21,x20,x19, 0);
+TESTINST3("udiv w21,w20,w19",  100LL, -20LL, x21,x20,x19, 0);
+TESTINST3("udiv w21,w20,w19",   99LL, -20LL, x21,x20,x19, 0);
+TESTINST3("udiv w21,w20,w19",   98LL, -20LL, x21,x20,x19, 0);
 TESTINST3("udiv w21,w20,w19", -101LL, -20LL, x21,x20,x19, 0);
 TESTINST3("udiv w21,w20,w19", -100LL, -20LL, x21,x20,x19, 0);
 TESTINST3("udiv w21,w20,w19",  -99LL, -20LL, x21,x20,x19, 0);
index 4ec1a2060d9cafbc9ef769ee109adca08d8ab54b..f24dc80d7282470318daf1890ebab03d3e364f07 100644 (file)
@@ -914,161 +914,161 @@ cmp w17,w18 ; csneg w16,w17,w18,pl :: rd 00000000aedb9b6b rm afa6ef803bc9291c, r
 cmp w17,w18 ; csneg w16,w17,w18,vc :: rd 000000003bc9291c rm afa6ef803bc9291c, rn 7a6c3d1a51246495, cin 0, nzcv 80000000 N   
 cmp w17,w18 ; csneg w16,w17,w18,vs :: rd 00000000aedb9b6b rm afa6ef803bc9291c, rn 7a6c3d1a51246495, cin 0, nzcv 80000000 N   
 ADD/SUB(extended reg)(64)
-add x21,x22,x23,uxtb #0 :: rd a3ca7e66297c4707 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
-add x21,x22,x23,uxtb #1 :: rd 09fb0ab6a60b350b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-add x21,x22,x23,uxtb #2 :: rd 52d448b3d56f5615 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-add x21,x22,x23,uxtb #3 :: rd a7e754e8ff3a5596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
-add x21,x22,x23,uxtb #4 :: rd 2e10f2a4055bf2ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-add x21,x22,x23,uxth #0 :: rd a3ca7e66297ca007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
-add x21,x22,x23,uxth #1 :: rd 09fb0ab6a60b470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-add x21,x22,x23,uxth #2 :: rd 52d448b3d5712e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-add x21,x22,x23,uxth #3 :: rd a7e754e8ff3ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
-add x21,x22,x23,uxth #4 :: rd 2e10f2a4056782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-add x21,x22,x23,uxtw #0 :: rd a3ca7e670aa2a007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
-add x21,x22,x23,uxtw #1 :: rd 09fb0ab7b7bd470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-add x21,x22,x23,uxtw #2 :: rd 52d448b67c512e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-add x21,x22,x23,uxtw #3 :: rd a7e754e9135ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
-add x21,x22,x23,uxtw #4 :: rd 2e10f2b0786782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+add x21,x22,w23,uxtb #0 :: rd a3ca7e66297c4707 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
+add x21,x22,w23,uxtb #1 :: rd 09fb0ab6a60b350b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+add x21,x22,w23,uxtb #2 :: rd 52d448b3d56f5615 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+add x21,x22,w23,uxtb #3 :: rd a7e754e8ff3a5596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
+add x21,x22,w23,uxtb #4 :: rd 2e10f2a4055bf2ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+add x21,x22,w23,uxth #0 :: rd a3ca7e66297ca007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
+add x21,x22,w23,uxth #1 :: rd 09fb0ab6a60b470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+add x21,x22,w23,uxth #2 :: rd 52d448b3d5712e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+add x21,x22,w23,uxth #3 :: rd a7e754e8ff3ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
+add x21,x22,w23,uxth #4 :: rd 2e10f2a4056782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+add x21,x22,w23,uxtw #0 :: rd a3ca7e670aa2a007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
+add x21,x22,w23,uxtw #1 :: rd 09fb0ab7b7bd470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+add x21,x22,w23,uxtw #2 :: rd 52d448b67c512e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+add x21,x22,w23,uxtw #3 :: rd a7e754e9135ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
+add x21,x22,w23,uxtw #4 :: rd 2e10f2b0786782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
 add x21,x22,x23,uxtx #0 :: rd 4a48881f0aa2a007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
 add x21,x22,x23,uxtx #1 :: rd 550438d7b7bd470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
 add x21,x22,x23,uxtx #2 :: rd b908c93e7c512e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
 add x21,x22,x23,uxtx #3 :: rd 7d79e501135ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
 add x21,x22,x23,uxtx #4 :: rd ad4c8070786782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-add x21,x22,x23,sxtb #0 :: rd a3ca7e66297c4707 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
-add x21,x22,x23,sxtb #1 :: rd 09fb0ab6a60b350b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-add x21,x22,x23,sxtb #2 :: rd 52d448b3d56f5215 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-add x21,x22,x23,sxtb #3 :: rd a7e754e8ff3a5596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
-add x21,x22,x23,sxtb #4 :: rd 2e10f2a4055bf2ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-add x21,x22,x23,sxth #0 :: rd a3ca7e66297ca007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
-add x21,x22,x23,sxth #1 :: rd 09fb0ab6a60b470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-add x21,x22,x23,sxth #2 :: rd 52d448b3d5712e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-add x21,x22,x23,sxth #3 :: rd a7e754e8ff36f596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
-add x21,x22,x23,sxth #4 :: rd 2e10f2a4055782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-add x21,x22,x23,sxtw #0 :: rd a3ca7e660aa2a007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
-add x21,x22,x23,sxtw #1 :: rd 09fb0ab5b7bd470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-add x21,x22,x23,sxtw #2 :: rd 52d448b27c512e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-add x21,x22,x23,sxtw #3 :: rd a7e754e9135ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
-add x21,x22,x23,sxtw #4 :: rd 2e10f2a0786782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+add x21,x22,w23,sxtb #0 :: rd a3ca7e66297c4707 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
+add x21,x22,w23,sxtb #1 :: rd 09fb0ab6a60b350b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+add x21,x22,w23,sxtb #2 :: rd 52d448b3d56f5215 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+add x21,x22,w23,sxtb #3 :: rd a7e754e8ff3a5596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
+add x21,x22,w23,sxtb #4 :: rd 2e10f2a4055bf2ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+add x21,x22,w23,sxth #0 :: rd a3ca7e66297ca007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
+add x21,x22,w23,sxth #1 :: rd 09fb0ab6a60b470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+add x21,x22,w23,sxth #2 :: rd 52d448b3d5712e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+add x21,x22,w23,sxth #3 :: rd a7e754e8ff36f596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
+add x21,x22,w23,sxth #4 :: rd 2e10f2a4055782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+add x21,x22,w23,sxtw #0 :: rd a3ca7e660aa2a007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
+add x21,x22,w23,sxtw #1 :: rd 09fb0ab5b7bd470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+add x21,x22,w23,sxtw #2 :: rd 52d448b27c512e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+add x21,x22,w23,sxtw #3 :: rd a7e754e9135ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
+add x21,x22,w23,sxtw #4 :: rd 2e10f2a0786782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
 add x21,x22,x23,sxtx #0 :: rd 4a48881f0aa2a007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
 add x21,x22,x23,sxtx #1 :: rd 550438d7b7bd470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
 add x21,x22,x23,sxtx #2 :: rd b908c93e7c512e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
 add x21,x22,x23,sxtx #3 :: rd 7d79e501135ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
 add x21,x22,x23,sxtx #4 :: rd ad4c8070786782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-adds x21,x22,x23,uxtb #0 :: rd a3ca7e66297c4707 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
-adds x21,x22,x23,uxtb #1 :: rd 09fb0ab6a60b350b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-adds x21,x22,x23,uxtb #2 :: rd 52d448b3d56f5615 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-adds x21,x22,x23,uxtb #3 :: rd a7e754e8ff3a5596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
-adds x21,x22,x23,uxtb #4 :: rd 2e10f2a4055bf2ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-adds x21,x22,x23,uxth #0 :: rd a3ca7e66297ca007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
-adds x21,x22,x23,uxth #1 :: rd 09fb0ab6a60b470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-adds x21,x22,x23,uxth #2 :: rd 52d448b3d5712e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-adds x21,x22,x23,uxth #3 :: rd a7e754e8ff3ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
-adds x21,x22,x23,uxth #4 :: rd 2e10f2a4056782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-adds x21,x22,x23,uxtw #0 :: rd a3ca7e670aa2a007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
-adds x21,x22,x23,uxtw #1 :: rd 09fb0ab7b7bd470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-adds x21,x22,x23,uxtw #2 :: rd 52d448b67c512e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-adds x21,x22,x23,uxtw #3 :: rd a7e754e9135ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
-adds x21,x22,x23,uxtw #4 :: rd 2e10f2b0786782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+adds x21,x22,w23,uxtb #0 :: rd a3ca7e66297c4707 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
+adds x21,x22,w23,uxtb #1 :: rd 09fb0ab6a60b350b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+adds x21,x22,w23,uxtb #2 :: rd 52d448b3d56f5615 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+adds x21,x22,w23,uxtb #3 :: rd a7e754e8ff3a5596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
+adds x21,x22,w23,uxtb #4 :: rd 2e10f2a4055bf2ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+adds x21,x22,w23,uxth #0 :: rd a3ca7e66297ca007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
+adds x21,x22,w23,uxth #1 :: rd 09fb0ab6a60b470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+adds x21,x22,w23,uxth #2 :: rd 52d448b3d5712e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+adds x21,x22,w23,uxth #3 :: rd a7e754e8ff3ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
+adds x21,x22,w23,uxth #4 :: rd 2e10f2a4056782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+adds x21,x22,w23,uxtw #0 :: rd a3ca7e670aa2a007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
+adds x21,x22,w23,uxtw #1 :: rd 09fb0ab7b7bd470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+adds x21,x22,w23,uxtw #2 :: rd 52d448b67c512e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+adds x21,x22,w23,uxtw #3 :: rd a7e754e9135ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
+adds x21,x22,w23,uxtw #4 :: rd 2e10f2b0786782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
 adds x21,x22,x23,uxtx #0 :: rd 4a48881f0aa2a007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 30000000   CV
 adds x21,x22,x23,uxtx #1 :: rd 550438d7b7bd470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
 adds x21,x22,x23,uxtx #2 :: rd b908c93e7c512e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 90000000 N  V
 adds x21,x22,x23,uxtx #3 :: rd 7d79e501135ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 30000000   CV
 adds x21,x22,x23,uxtx #4 :: rd ad4c8070786782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 90000000 N  V
-adds x21,x22,x23,sxtb #0 :: rd a3ca7e66297c4707 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
-adds x21,x22,x23,sxtb #1 :: rd 09fb0ab6a60b350b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-adds x21,x22,x23,sxtb #2 :: rd 52d448b3d56f5215 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 20000000   C 
-adds x21,x22,x23,sxtb #3 :: rd a7e754e8ff3a5596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
-adds x21,x22,x23,sxtb #4 :: rd 2e10f2a4055bf2ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-adds x21,x22,x23,sxth #0 :: rd a3ca7e66297ca007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
-adds x21,x22,x23,sxth #1 :: rd 09fb0ab6a60b470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-adds x21,x22,x23,sxth #2 :: rd 52d448b3d5712e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-adds x21,x22,x23,sxth #3 :: rd a7e754e8ff36f596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv a0000000 N C 
-adds x21,x22,x23,sxth #4 :: rd 2e10f2a4055782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 20000000   C 
-adds x21,x22,x23,sxtw #0 :: rd a3ca7e660aa2a007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv a0000000 N C 
-adds x21,x22,x23,sxtw #1 :: rd 09fb0ab5b7bd470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 20000000   C 
-adds x21,x22,x23,sxtw #2 :: rd 52d448b27c512e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 20000000   C 
-adds x21,x22,x23,sxtw #3 :: rd a7e754e9135ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
-adds x21,x22,x23,sxtw #4 :: rd 2e10f2a0786782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 20000000   C 
+adds x21,x22,w23,sxtb #0 :: rd a3ca7e66297c4707 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
+adds x21,x22,w23,sxtb #1 :: rd 09fb0ab6a60b350b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+adds x21,x22,w23,sxtb #2 :: rd 52d448b3d56f5215 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 20000000   C 
+adds x21,x22,w23,sxtb #3 :: rd a7e754e8ff3a5596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
+adds x21,x22,w23,sxtb #4 :: rd 2e10f2a4055bf2ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+adds x21,x22,w23,sxth #0 :: rd a3ca7e66297ca007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
+adds x21,x22,w23,sxth #1 :: rd 09fb0ab6a60b470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+adds x21,x22,w23,sxth #2 :: rd 52d448b3d5712e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+adds x21,x22,w23,sxth #3 :: rd a7e754e8ff36f596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv a0000000 N C 
+adds x21,x22,w23,sxth #4 :: rd 2e10f2a4055782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 20000000   C 
+adds x21,x22,w23,sxtw #0 :: rd a3ca7e660aa2a007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv a0000000 N C 
+adds x21,x22,w23,sxtw #1 :: rd 09fb0ab5b7bd470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 20000000   C 
+adds x21,x22,w23,sxtw #2 :: rd 52d448b27c512e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 20000000   C 
+adds x21,x22,w23,sxtw #3 :: rd a7e754e9135ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
+adds x21,x22,w23,sxtw #4 :: rd 2e10f2a0786782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 20000000   C 
 adds x21,x22,x23,sxtx #0 :: rd 4a48881f0aa2a007 rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 30000000   CV
 adds x21,x22,x23,sxtx #1 :: rd 550438d7b7bd470b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
 adds x21,x22,x23,sxtx #2 :: rd b908c93e7c512e15 rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 90000000 N  V
 adds x21,x22,x23,sxtx #3 :: rd 7d79e501135ef596 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 30000000   CV
 adds x21,x22,x23,sxtx #4 :: rd ad4c8070786782ae rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 90000000 N  V
-sub x21,x22,x23,uxtb #0 :: rd a3ca7e66297c462f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxtb #1 :: rd 09fb0ab6a60b347b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxtb #2 :: rd 52d448b3d56f50bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxtb #3 :: rd a7e754e8ff3a5506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxtb #4 :: rd 2e10f2a4055be56e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxth #0 :: rd a3ca7e66297bed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxth #1 :: rd 09fb0ab6a60b227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxth #2 :: rd 52d448b3d56d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxth #3 :: rd a7e754e8ff35b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxth #4 :: rd 2e10f2a40550556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxtw #0 :: rd a3ca7e654855ed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxtw #1 :: rd 09fb0ab59459227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxtw #2 :: rd 52d448b12e8d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxtw #3 :: rd a7e754e8eb15b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
-sub x21,x22,x23,uxtw #4 :: rd 2e10f2979250556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxtb #0 :: rd a3ca7e66297c462f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxtb #1 :: rd 09fb0ab6a60b347b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxtb #2 :: rd 52d448b3d56f50bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxtb #3 :: rd a7e754e8ff3a5506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxtb #4 :: rd 2e10f2a4055be56e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxth #0 :: rd a3ca7e66297bed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxth #1 :: rd 09fb0ab6a60b227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxth #2 :: rd 52d448b3d56d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxth #3 :: rd a7e754e8ff35b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxth #4 :: rd 2e10f2a40550556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxtw #0 :: rd a3ca7e654855ed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxtw #1 :: rd 09fb0ab59459227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxtw #2 :: rd 52d448b12e8d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxtw #3 :: rd a7e754e8eb15b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
+sub x21,x22,w23,uxtw #4 :: rd 2e10f2979250556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
 sub x21,x22,x23,uxtx #0 :: rd fd4c74ad4855ed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
 sub x21,x22,x23,uxtx #1 :: rd bef1dc959459227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
 sub x21,x22,x23,uxtx #2 :: rd ec9fc8292e8d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
 sub x21,x22,x23,uxtx #3 :: rd d254c4d0eb15b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
 sub x21,x22,x23,uxtx #4 :: rd aed564d79250556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxtb #0 :: rd a3ca7e66297c462f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxtb #1 :: rd 09fb0ab6a60b347b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxtb #2 :: rd 52d448b3d56f54bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxtb #3 :: rd a7e754e8ff3a5506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxtb #4 :: rd 2e10f2a4055be56e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxth #0 :: rd a3ca7e66297bed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxth #1 :: rd 09fb0ab6a60b227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxth #2 :: rd 52d448b3d56d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxth #3 :: rd a7e754e8ff3db506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxth #4 :: rd 2e10f2a40560556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxtw #0 :: rd a3ca7e664855ed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxtw #1 :: rd 09fb0ab79459227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxtw #2 :: rd 52d448b52e8d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxtw #3 :: rd a7e754e8eb15b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
-sub x21,x22,x23,sxtw #4 :: rd 2e10f2a79250556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxtb #0 :: rd a3ca7e66297c462f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxtb #1 :: rd 09fb0ab6a60b347b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxtb #2 :: rd 52d448b3d56f54bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxtb #3 :: rd a7e754e8ff3a5506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxtb #4 :: rd 2e10f2a4055be56e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxth #0 :: rd a3ca7e66297bed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxth #1 :: rd 09fb0ab6a60b227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxth #2 :: rd 52d448b3d56d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxth #3 :: rd a7e754e8ff3db506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxth #4 :: rd 2e10f2a40560556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxtw #0 :: rd a3ca7e664855ed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxtw #1 :: rd 09fb0ab79459227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxtw #2 :: rd 52d448b52e8d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxtw #3 :: rd a7e754e8eb15b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
+sub x21,x22,w23,sxtw #4 :: rd 2e10f2a79250556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
 sub x21,x22,x23,sxtx #0 :: rd fd4c74ad4855ed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 00000000     
 sub x21,x22,x23,sxtx #1 :: rd bef1dc959459227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
 sub x21,x22,x23,sxtx #2 :: rd ec9fc8292e8d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
 sub x21,x22,x23,sxtx #3 :: rd d254c4d0eb15b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 00000000     
 sub x21,x22,x23,sxtx #4 :: rd aed564d79250556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-subs x21,x22,x23,uxtb #0 :: rd a3ca7e66297c462f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv a0000000 N C 
-subs x21,x22,x23,uxtb #1 :: rd 09fb0ab6a60b347b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 20000000   C 
-subs x21,x22,x23,uxtb #2 :: rd 52d448b3d56f50bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 20000000   C 
-subs x21,x22,x23,uxtb #3 :: rd a7e754e8ff3a5506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv a0000000 N C 
-subs x21,x22,x23,uxtb #4 :: rd 2e10f2a4055be56e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 20000000   C 
-subs x21,x22,x23,uxth #0 :: rd a3ca7e66297bed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv a0000000 N C 
-subs x21,x22,x23,uxth #1 :: rd 09fb0ab6a60b227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 20000000   C 
-subs x21,x22,x23,uxth #2 :: rd 52d448b3d56d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 20000000   C 
-subs x21,x22,x23,uxth #3 :: rd a7e754e8ff35b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv a0000000 N C 
-subs x21,x22,x23,uxth #4 :: rd 2e10f2a40550556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 20000000   C 
-subs x21,x22,x23,uxtw #0 :: rd a3ca7e654855ed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv a0000000 N C 
-subs x21,x22,x23,uxtw #1 :: rd 09fb0ab59459227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 20000000   C 
-subs x21,x22,x23,uxtw #2 :: rd 52d448b12e8d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 20000000   C 
-subs x21,x22,x23,uxtw #3 :: rd a7e754e8eb15b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv a0000000 N C 
-subs x21,x22,x23,uxtw #4 :: rd 2e10f2979250556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,uxtb #0 :: rd a3ca7e66297c462f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv a0000000 N C 
+subs x21,x22,w23,uxtb #1 :: rd 09fb0ab6a60b347b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,uxtb #2 :: rd 52d448b3d56f50bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,uxtb #3 :: rd a7e754e8ff3a5506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv a0000000 N C 
+subs x21,x22,w23,uxtb #4 :: rd 2e10f2a4055be56e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,uxth #0 :: rd a3ca7e66297bed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv a0000000 N C 
+subs x21,x22,w23,uxth #1 :: rd 09fb0ab6a60b227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,uxth #2 :: rd 52d448b3d56d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,uxth #3 :: rd a7e754e8ff35b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv a0000000 N C 
+subs x21,x22,w23,uxth #4 :: rd 2e10f2a40550556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,uxtw #0 :: rd a3ca7e654855ed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv a0000000 N C 
+subs x21,x22,w23,uxtw #1 :: rd 09fb0ab59459227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,uxtw #2 :: rd 52d448b12e8d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,uxtw #3 :: rd a7e754e8eb15b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv a0000000 N C 
+subs x21,x22,w23,uxtw #4 :: rd 2e10f2979250556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 20000000   C 
 subs x21,x22,x23,uxtx #0 :: rd fd4c74ad4855ed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
 subs x21,x22,x23,uxtx #1 :: rd bef1dc959459227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 80000000 N   
 subs x21,x22,x23,uxtx #2 :: rd ec9fc8292e8d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 80000000 N   
 subs x21,x22,x23,uxtx #3 :: rd d254c4d0eb15b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
 subs x21,x22,x23,uxtx #4 :: rd aed564d79250556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 80000000 N   
-subs x21,x22,x23,sxtb #0 :: rd a3ca7e66297c462f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv a0000000 N C 
-subs x21,x22,x23,sxtb #1 :: rd 09fb0ab6a60b347b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 20000000   C 
-subs x21,x22,x23,sxtb #2 :: rd 52d448b3d56f54bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-subs x21,x22,x23,sxtb #3 :: rd a7e754e8ff3a5506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv a0000000 N C 
-subs x21,x22,x23,sxtb #4 :: rd 2e10f2a4055be56e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 20000000   C 
-subs x21,x22,x23,sxth #0 :: rd a3ca7e66297bed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv a0000000 N C 
-subs x21,x22,x23,sxth #1 :: rd 09fb0ab6a60b227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 20000000   C 
-subs x21,x22,x23,sxth #2 :: rd 52d448b3d56d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 20000000   C 
-subs x21,x22,x23,sxth #3 :: rd a7e754e8ff3db506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
-subs x21,x22,x23,sxth #4 :: rd 2e10f2a40560556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
-subs x21,x22,x23,sxtw #0 :: rd a3ca7e664855ed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
-subs x21,x22,x23,sxtw #1 :: rd 09fb0ab79459227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
-subs x21,x22,x23,sxtw #2 :: rd 52d448b52e8d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
-subs x21,x22,x23,sxtw #3 :: rd a7e754e8eb15b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv a0000000 N C 
-subs x21,x22,x23,sxtw #4 :: rd 2e10f2a79250556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+subs x21,x22,w23,sxtb #0 :: rd a3ca7e66297c462f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv a0000000 N C 
+subs x21,x22,w23,sxtb #1 :: rd 09fb0ab6a60b347b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,sxtb #2 :: rd 52d448b3d56f54bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+subs x21,x22,w23,sxtb #3 :: rd a7e754e8ff3a5506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv a0000000 N C 
+subs x21,x22,w23,sxtb #4 :: rd 2e10f2a4055be56e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,sxth #0 :: rd a3ca7e66297bed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv a0000000 N C 
+subs x21,x22,w23,sxth #1 :: rd 09fb0ab6a60b227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,sxth #2 :: rd 52d448b3d56d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 20000000   C 
+subs x21,x22,w23,sxth #3 :: rd a7e754e8ff3db506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv 80000000 N   
+subs x21,x22,w23,sxth #4 :: rd 2e10f2a40560556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
+subs x21,x22,w23,sxtw #0 :: rd a3ca7e664855ed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
+subs x21,x22,w23,sxtw #1 :: rd 09fb0ab79459227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 00000000     
+subs x21,x22,w23,sxtw #2 :: rd 52d448b52e8d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 00000000     
+subs x21,x22,w23,sxtw #3 :: rd a7e754e8eb15b506 rm a7e754e8ff3a554e, rn 7ab2520302849409, cin 0, nzcv a0000000 N C 
+subs x21,x22,w23,sxtw #4 :: rd 2e10f2a79250556e rm 2e10f2a4055bec0e, rn 77f3b8dcc730b96a, cin 0, nzcv 00000000     
 subs x21,x22,x23,sxtx #0 :: rd fd4c74ad4855ed2f rm a3ca7e66297c469b, rn a67e09b8e126596c, cin 0, nzcv 80000000 N   
 subs x21,x22,x23,sxtx #1 :: rd bef1dc959459227b rm 09fb0ab6a60b34c3, rn 2584971088d90924, cin 0, nzcv 80000000 N   
 subs x21,x22,x23,sxtx #2 :: rd ec9fc8292e8d78bd rm 52d448b3d56f5369, rn d98d2022a9b876ab, cin 0, nzcv 80000000 N   
@@ -1273,51 +1273,51 @@ msr nzcv,x24; ccmp x25,#17,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 00000
 msr nzcv,x24; ccmp x25,#17,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,#17,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp x25,#17,#0x3,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
-msr nzcv,x24; ccmp x25,#17,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp x25,#17,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp x25,#17,#0x6,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,#17,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp x25,#17,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp x25,#17,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmp x25,#17,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,#17,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,#17,#0x5,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,#17,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp x25,#17,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp x25,#17,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp x25,#17,#0x6,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,#17,#0x5,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,#17,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp x25,#17,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmp x25,#17,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,#18,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,#18,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp x25,#18,#0x3,eq; mrs x23,nzcv :: rd 0000000080000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
-msr nzcv,x24; ccmp x25,#18,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp x25,#18,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp x25,#18,#0x6,lt; mrs x23,nzcv :: rd 0000000080000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp x25,#18,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp x25,#18,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp x25,#18,#0x7,lt; mrs x23,nzcv :: rd 0000000080000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
+msr nzcv,x24; ccmp x25,#18,#0x7,lt; mrs x23,nzcv :: rd 0000000080000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp x25,#18,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,#18,#0x5,gt; mrs x23,nzcv :: rd 0000000080000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp x25,#18,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp x25,#18,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp x25,#18,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp x25,#18,#0x6,ne; mrs x23,nzcv :: rd 0000000080000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp x25,#18,#0x5,ne; mrs x23,nzcv :: rd 0000000080000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp x25,#18,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp x25,#18,#0x7,ne; mrs x23,nzcv :: rd 0000000080000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
-msr nzcv,x24; ccmn x25,#17,#0x0,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0x1,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0x2,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0x3,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0x4,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0x5,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0x6,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0x7,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0x8,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0x9,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0xA,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0xB,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0xC,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0xD,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0xE,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0xF,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmp x25,#18,#0x7,ne; mrs x23,nzcv :: rd 0000000080000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
+msr nzcv,x24; ccmn x25,#17,#0x0,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0x1,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0x2,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0x3,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0x4,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0x5,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0x7,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0x8,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0x9,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0xA,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0xB,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0xC,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0xD,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0xE,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0xF,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 
 msr nzcv,x24; ccmn x25,#17,#0x0,ne; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
 msr nzcv,x24; ccmn x25,#17,#0x1,ne; mrs x23,nzcv :: rd 0000000010000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 10000000    V
@@ -1338,36 +1338,36 @@ msr nzcv,x24; ccmn x25,#17,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 00000
 
 msr nzcv,x24; ccmn x25,#17,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,#17,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 50000000  Z V
-msr nzcv,x24; ccmn x25,#17,#0x3,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
-msr nzcv,x24; ccmn x25,#17,#0x6,lt; mrs x23,nzcv :: rd 0000000000000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,#17,#0x3,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn x25,#17,#0x6,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,#17,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmn x25,#17,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn x25,#17,#0x7,lt; mrs x23,nzcv :: rd 0000000000000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,#17,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,#17,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
-msr nzcv,x24; ccmn x25,#17,#0x5,gt; mrs x23,nzcv :: rd 0000000000000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,#17,#0x5,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,#17,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn x25,#17,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
-msr nzcv,x24; ccmn x25,#17,#0x6,ne; mrs x23,nzcv :: rd 0000000000000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#17,#0x5,ne; mrs x23,nzcv :: rd 0000000000000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,#17,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn x25,#17,#0x6,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,#17,#0x5,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,#17,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn x25,#17,#0x7,ne; mrs x23,nzcv :: rd 0000000000000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,#17,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,#18,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,#18,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 50000000  Z V
-msr nzcv,x24; ccmn x25,#18,#0x3,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#18,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
-msr nzcv,x24; ccmn x25,#18,#0x6,lt; mrs x23,nzcv :: rd 0000000000000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,#18,#0x3,eq; mrs x23,nzcv :: rd 0000000020000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
+msr nzcv,x24; ccmn x25,#18,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn x25,#18,#0x6,lt; mrs x23,nzcv :: rd 0000000020000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn x25,#18,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmn x25,#18,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn x25,#18,#0x7,lt; mrs x23,nzcv :: rd 0000000000000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,#18,#0x7,lt; mrs x23,nzcv :: rd 0000000020000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn x25,#18,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
-msr nzcv,x24; ccmn x25,#18,#0x5,gt; mrs x23,nzcv :: rd 0000000000000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,#18,#0x5,gt; mrs x23,nzcv :: rd 0000000020000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn x25,#18,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn x25,#18,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
-msr nzcv,x24; ccmn x25,#18,#0x6,ne; mrs x23,nzcv :: rd 0000000000000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,#18,#0x5,ne; mrs x23,nzcv :: rd 0000000000000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,#18,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn x25,#18,#0x6,ne; mrs x23,nzcv :: rd 0000000020000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
+msr nzcv,x24; ccmn x25,#18,#0x5,ne; mrs x23,nzcv :: rd 0000000020000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn x25,#18,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn x25,#18,#0x7,ne; mrs x23,nzcv :: rd 0000000000000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,#18,#0x7,ne; mrs x23,nzcv :: rd 0000000020000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
 CCMP/CCMN(imm)(32)
 msr nzcv,x24; ccmp w25,#17,#0xF,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,#17,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv f0000000 NZCV
@@ -1414,40 +1414,40 @@ msr nzcv,x24; ccmp w25,#17,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 00000
 msr nzcv,x24; ccmp w25,#17,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,#17,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp w25,#17,#0x3,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
-msr nzcv,x24; ccmp w25,#17,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp w25,#17,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp w25,#17,#0x6,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,#17,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp w25,#17,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp w25,#17,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmp w25,#17,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,#17,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,#17,#0x5,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,#17,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp w25,#17,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp w25,#17,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp w25,#17,#0x6,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,#17,#0x5,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,#17,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp w25,#17,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmp w25,#17,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,#18,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,#18,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp w25,#18,#0x3,eq; mrs x23,nzcv :: rd 0000000080000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
-msr nzcv,x24; ccmp w25,#18,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp w25,#18,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp w25,#18,#0x6,lt; mrs x23,nzcv :: rd 0000000080000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp w25,#18,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp w25,#18,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp w25,#18,#0x7,lt; mrs x23,nzcv :: rd 0000000080000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
+msr nzcv,x24; ccmp w25,#18,#0x7,lt; mrs x23,nzcv :: rd 0000000080000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp w25,#18,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,#18,#0x5,gt; mrs x23,nzcv :: rd 0000000080000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp w25,#18,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp w25,#18,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp w25,#18,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp w25,#18,#0x6,ne; mrs x23,nzcv :: rd 0000000080000000 rm 0000000010000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp w25,#18,#0x5,ne; mrs x23,nzcv :: rd 0000000080000000 rm 0000000020000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp w25,#18,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp w25,#18,#0x7,ne; mrs x23,nzcv :: rd 0000000080000000 rm ffffffff80000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
+msr nzcv,x24; ccmp w25,#18,#0x7,ne; mrs x23,nzcv :: rd 0000000080000000 rm 0000000080000000, rn 0000000000000011, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmn w25,#17,#0xF,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,#17,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv f0000000 NZCV
 msr nzcv,x24; ccmn w25,#17,#0xF,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffeeffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,#17,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 0000000040000000, rn ffffffeeffffffef, cin 0, nzcv f0000000 NZCV
-msr nzcv,x24; ccmn x25,#17,#0xF,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,#17,#0xF,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,#17,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv f0000000 NZCV
 msr nzcv,x24; ccmn x25,#17,#0xF,eq; mrs x23,nzcv :: rd 0000000080000000 rm 0000000040000000, rn ffffffeeffffffef, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmn x25,#17,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 0000000040000000, rn ffffffeeffffffef, cin 0, nzcv f0000000 NZCV
@@ -1488,35 +1488,35 @@ msr nzcv,x24; ccmn w25,#17,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 00000
 msr nzcv,x24; ccmn w25,#17,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,#17,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmn w25,#17,#0x3,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
-msr nzcv,x24; ccmn w25,#17,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn w25,#17,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmn w25,#17,#0x6,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,#17,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmn w25,#17,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn w25,#17,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn w25,#17,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,#17,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,#17,#0x5,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,#17,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn w25,#17,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn w25,#17,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmn w25,#17,#0x6,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,#17,#0x5,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,#17,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn w25,#17,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn w25,#17,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,#18,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,#18,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmn w25,#18,#0x3,eq; mrs x23,nzcv :: rd 0000000020000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
-msr nzcv,x24; ccmn w25,#18,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn w25,#18,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmn w25,#18,#0x6,lt; mrs x23,nzcv :: rd 0000000020000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn w25,#18,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmn w25,#18,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn w25,#18,#0x7,lt; mrs x23,nzcv :: rd 0000000020000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
+msr nzcv,x24; ccmn w25,#18,#0x7,lt; mrs x23,nzcv :: rd 0000000020000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn w25,#18,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,#18,#0x5,gt; mrs x23,nzcv :: rd 0000000020000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn w25,#18,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn w25,#18,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn w25,#18,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmn w25,#18,#0x6,ne; mrs x23,nzcv :: rd 0000000020000000 rm 0000000010000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn w25,#18,#0x5,ne; mrs x23,nzcv :: rd 0000000020000000 rm 0000000020000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn w25,#18,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn w25,#18,#0x7,ne; mrs x23,nzcv :: rd 0000000020000000 rm ffffffff80000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
+msr nzcv,x24; ccmn w25,#18,#0x7,ne; mrs x23,nzcv :: rd 0000000020000000 rm 0000000080000000, rn ffffffffffffffef, cin 0, nzcv 20000000   C 
 CCMP/CCMN(reg)(64)
 msr nzcv,x24; ccmp x25,x26,#0x0,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,x26,#0x1,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
@@ -1555,51 +1555,51 @@ msr nzcv,x24; ccmp x25,x26,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 00000
 msr nzcv,x24; ccmp x25,x26,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,x26,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp x25,x26,#0x3,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
-msr nzcv,x24; ccmp x25,x26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp x25,x26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp x25,x26,#0x6,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,x26,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp x25,x26,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp x25,x26,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmp x25,x26,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,x26,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,x26,#0x5,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,x26,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp x25,x26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp x25,x26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp x25,x26,#0x6,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,x26,#0x5,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,x26,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp x25,x26,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmp x25,x26,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,x26,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,x26,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp x25,x26,#0x3,eq; mrs x23,nzcv :: rd 0000000080000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
-msr nzcv,x24; ccmp x25,x26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp x25,x26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp x25,x26,#0x6,lt; mrs x23,nzcv :: rd 0000000080000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp x25,x26,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp x25,x26,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp x25,x26,#0x7,lt; mrs x23,nzcv :: rd 0000000080000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
+msr nzcv,x24; ccmp x25,x26,#0x7,lt; mrs x23,nzcv :: rd 0000000080000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp x25,x26,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp x25,x26,#0x5,gt; mrs x23,nzcv :: rd 0000000080000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp x25,x26,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp x25,x26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp x25,x26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp x25,x26,#0x6,ne; mrs x23,nzcv :: rd 0000000080000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp x25,x26,#0x5,ne; mrs x23,nzcv :: rd 0000000080000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp x25,x26,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp x25,x26,#0x7,ne; mrs x23,nzcv :: rd 0000000080000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
-msr nzcv,x24; ccmn x25,x26,#0x0,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x1,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x2,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x3,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x4,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x5,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x6,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x7,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x8,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x9,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0xA,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0xB,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0xC,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0xD,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0xE,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0xF,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmp x25,x26,#0x7,ne; mrs x23,nzcv :: rd 0000000080000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
+msr nzcv,x24; ccmn x25,x26,#0x0,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0x1,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0x2,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0x3,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0x4,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0x5,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0x7,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0x8,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0x9,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0xA,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0xB,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0xC,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0xD,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0xE,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0xF,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 
 msr nzcv,x24; ccmn x25,x26,#0x0,ne; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
 msr nzcv,x24; ccmn x25,x26,#0x1,ne; mrs x23,nzcv :: rd 0000000010000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 10000000    V
@@ -1620,36 +1620,36 @@ msr nzcv,x24; ccmn x25,x26,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 00000
 
 msr nzcv,x24; ccmn x25,x26,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,x26,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 50000000  Z V
-msr nzcv,x24; ccmn x25,x26,#0x3,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
-msr nzcv,x24; ccmn x25,x26,#0x6,lt; mrs x23,nzcv :: rd 0000000000000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,x26,#0x3,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn x25,x26,#0x6,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,x26,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmn x25,x26,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn x25,x26,#0x7,lt; mrs x23,nzcv :: rd 0000000000000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,x26,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,x26,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
-msr nzcv,x24; ccmn x25,x26,#0x5,gt; mrs x23,nzcv :: rd 0000000000000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,x26,#0x5,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,x26,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn x25,x26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
-msr nzcv,x24; ccmn x25,x26,#0x6,ne; mrs x23,nzcv :: rd 0000000000000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x5,ne; mrs x23,nzcv :: rd 0000000000000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,x26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn x25,x26,#0x6,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn x25,x26,#0x5,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,x26,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn x25,x26,#0x7,ne; mrs x23,nzcv :: rd 0000000000000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,x26,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,x26,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,x26,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 50000000  Z V
-msr nzcv,x24; ccmn x25,x26,#0x3,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
-msr nzcv,x24; ccmn x25,x26,#0x6,lt; mrs x23,nzcv :: rd 0000000000000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,x26,#0x3,eq; mrs x23,nzcv :: rd 0000000020000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
+msr nzcv,x24; ccmn x25,x26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn x25,x26,#0x6,lt; mrs x23,nzcv :: rd 0000000020000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn x25,x26,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmn x25,x26,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn x25,x26,#0x7,lt; mrs x23,nzcv :: rd 0000000000000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,x26,#0x7,lt; mrs x23,nzcv :: rd 0000000020000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn x25,x26,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 60000000  ZC 
-msr nzcv,x24; ccmn x25,x26,#0x5,gt; mrs x23,nzcv :: rd 0000000000000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,x26,#0x5,gt; mrs x23,nzcv :: rd 0000000020000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn x25,x26,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn x25,x26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
-msr nzcv,x24; ccmn x25,x26,#0x6,ne; mrs x23,nzcv :: rd 0000000000000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 00000000     
-msr nzcv,x24; ccmn x25,x26,#0x5,ne; mrs x23,nzcv :: rd 0000000000000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,x26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn x25,x26,#0x6,ne; mrs x23,nzcv :: rd 0000000020000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
+msr nzcv,x24; ccmn x25,x26,#0x5,ne; mrs x23,nzcv :: rd 0000000020000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn x25,x26,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn x25,x26,#0x7,ne; mrs x23,nzcv :: rd 0000000000000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,x26,#0x7,ne; mrs x23,nzcv :: rd 0000000020000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
 CCMP/CCMN(reg)(32)
 msr nzcv,x24; ccmp w25,w26,#0xF,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,w26,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv f0000000 NZCV
@@ -1696,40 +1696,40 @@ msr nzcv,x24; ccmp w25,w26,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 00000
 msr nzcv,x24; ccmp w25,w26,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,w26,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp w25,w26,#0x3,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
-msr nzcv,x24; ccmp w25,w26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp w25,w26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp w25,w26,#0x6,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,w26,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp w25,w26,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp w25,w26,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmp w25,w26,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,w26,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,w26,#0x5,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,w26,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp w25,w26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp w25,w26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp w25,w26,#0x6,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,w26,#0x5,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,w26,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp w25,w26,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmp w25,w26,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,w26,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,w26,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp w25,w26,#0x3,eq; mrs x23,nzcv :: rd 0000000080000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
-msr nzcv,x24; ccmp w25,w26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp w25,w26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp w25,w26,#0x6,lt; mrs x23,nzcv :: rd 0000000080000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp w25,w26,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmp w25,w26,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp w25,w26,#0x7,lt; mrs x23,nzcv :: rd 0000000080000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
+msr nzcv,x24; ccmp w25,w26,#0x7,lt; mrs x23,nzcv :: rd 0000000080000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp w25,w26,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmp w25,w26,#0x5,gt; mrs x23,nzcv :: rd 0000000080000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp w25,w26,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp w25,w26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmp w25,w26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmp w25,w26,#0x6,ne; mrs x23,nzcv :: rd 0000000080000000 rm 0000000010000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp w25,w26,#0x5,ne; mrs x23,nzcv :: rd 0000000080000000 rm 0000000020000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmp w25,w26,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmp w25,w26,#0x7,ne; mrs x23,nzcv :: rd 0000000080000000 rm ffffffff80000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
+msr nzcv,x24; ccmp w25,w26,#0x7,ne; mrs x23,nzcv :: rd 0000000080000000 rm 0000000080000000, rn 0000000000000011, ra 0000000000000012, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmn w25,w26,#0xF,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,w26,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv f0000000 NZCV
 msr nzcv,x24; ccmn w25,w26,#0xF,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffeeffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,w26,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 0000000040000000, rn ffffffeeffffffef, ra 0000000000000011, cin 0, nzcv f0000000 NZCV
-msr nzcv,x24; ccmn x25,x26,#0xF,eq; mrs x23,nzcv :: rd 0000000000000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 00000000     
+msr nzcv,x24; ccmn x25,x26,#0xF,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn x25,x26,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv f0000000 NZCV
 msr nzcv,x24; ccmn x25,x26,#0xF,eq; mrs x23,nzcv :: rd 0000000080000000 rm 0000000040000000, rn ffffffeeffffffef, ra 0000000000000011, cin 0, nzcv 80000000 N   
 msr nzcv,x24; ccmn x25,x26,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 0000000040000000, rn ffffffeeffffffef, ra 0000000000000011, cin 0, nzcv f0000000 NZCV
@@ -1770,35 +1770,35 @@ msr nzcv,x24; ccmn w25,w26,#0xF,ne; mrs x23,nzcv :: rd 00000000f0000000 rm 00000
 msr nzcv,x24; ccmn w25,w26,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,w26,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmn w25,w26,#0x3,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
-msr nzcv,x24; ccmn w25,w26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn w25,w26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmn w25,w26,#0x6,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,w26,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmn w25,w26,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn w25,w26,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn w25,w26,#0x7,lt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,w26,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,w26,#0x5,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,w26,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn w25,w26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn w25,w26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmn w25,w26,#0x6,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,w26,#0x5,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,w26,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn w25,w26,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
+msr nzcv,x24; ccmn w25,w26,#0x7,ne; mrs x23,nzcv :: rd 0000000060000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000011, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,w26,#0x6,eq; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,w26,#0x5,eq; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmn w25,w26,#0x3,eq; mrs x23,nzcv :: rd 0000000020000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
-msr nzcv,x24; ccmn w25,w26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn w25,w26,#0x7,eq; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmn w25,w26,#0x6,lt; mrs x23,nzcv :: rd 0000000020000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn w25,w26,#0x5,lt; mrs x23,nzcv :: rd 0000000050000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 50000000  Z V
 msr nzcv,x24; ccmn w25,w26,#0x3,lt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn w25,w26,#0x7,lt; mrs x23,nzcv :: rd 0000000020000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
+msr nzcv,x24; ccmn w25,w26,#0x7,lt; mrs x23,nzcv :: rd 0000000020000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn w25,w26,#0x6,gt; mrs x23,nzcv :: rd 0000000060000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 60000000  ZC 
 msr nzcv,x24; ccmn w25,w26,#0x5,gt; mrs x23,nzcv :: rd 0000000020000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn w25,w26,#0x3,gt; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn w25,w26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
+msr nzcv,x24; ccmn w25,w26,#0x7,gt; mrs x23,nzcv :: rd 0000000070000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 70000000  ZCV
 msr nzcv,x24; ccmn w25,w26,#0x6,ne; mrs x23,nzcv :: rd 0000000020000000 rm 0000000010000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn w25,w26,#0x5,ne; mrs x23,nzcv :: rd 0000000020000000 rm 0000000020000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
 msr nzcv,x24; ccmn w25,w26,#0x3,ne; mrs x23,nzcv :: rd 0000000030000000 rm 0000000040000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 30000000   CV
-msr nzcv,x24; ccmn w25,w26,#0x7,ne; mrs x23,nzcv :: rd 0000000020000000 rm ffffffff80000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
+msr nzcv,x24; ccmn w25,w26,#0x7,ne; mrs x23,nzcv :: rd 0000000020000000 rm 0000000080000000, rn ffffffffffffffef, ra 0000000000000012, cin 0, nzcv 20000000   C 
 REV
 rev x11,x23 :: rd 88b450e5aeba79fd rn fd79baaee550b488, cin 0, nzcv 00000000     
 rev x11,x23 :: rd 73174245095461e8 rn e861540945421773, cin 0, nzcv 00000000