|
From: <sv...@va...> - 2010-09-22 01:00:16
|
Author: sewardj
Date: 2010-09-22 02:00:06 +0100 (Wed, 22 Sep 2010)
New Revision: 11372
Log:
Add more test cases for {U,S}{ADD,SUB}16.
Modified:
trunk/none/tests/arm/v6media.c
trunk/none/tests/arm/v6media.stdout.exp
Modified: trunk/none/tests/arm/v6media.c
===================================================================
--- trunk/none/tests/arm/v6media.c 2010-09-22 00:58:51 UTC (rev 11371)
+++ trunk/none/tests/arm/v6media.c 2010-09-22 01:00:06 UTC (rev 11372)
@@ -1022,6 +1022,23 @@
TESTINST3("uadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
TESTINST3("uadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
TESTINST3("uadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+
+ TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uadd16 r0, r1, r2", 0x00000001, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x00000001, r0, r1, r2, 0);
+ TESTINST3("uadd16 r0, r1, r2", 0x00000001, 0x00000001, r0, r1, r2, 0);
+ TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x0000ffff, r0, r1, r2, 0);
+ TESTINST3("uadd16 r0, r1, r2", 0x0000ffff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uadd16 r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
+
+ TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uadd16 r0, r1, r2", 0x00010000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x00010000, r0, r1, r2, 0);
+ TESTINST3("uadd16 r0, r1, r2", 0x00010000, 0x00010000, r0, r1, r2, 0);
+ TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0xffff0000, r0, r1, r2, 0);
+ TESTINST3("uadd16 r0, r1, r2", 0xffff0000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uadd16 r0, r1, r2", 0xffff0000, 0xffff0000, r0, r1, r2, 0);
+
TESTINST3("uadd16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
TESTINST3("uadd16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
TESTINST3("uadd16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
@@ -1078,6 +1095,23 @@
TESTINST3("sadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
TESTINST3("sadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
TESTINST3("sadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+
+ TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("sadd16 r0, r1, r2", 0x00000001, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x00000001, r0, r1, r2, 0);
+ TESTINST3("sadd16 r0, r1, r2", 0x00000001, 0x00000001, r0, r1, r2, 0);
+ TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x0000ffff, r0, r1, r2, 0);
+ TESTINST3("sadd16 r0, r1, r2", 0x0000ffff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("sadd16 r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
+
+ TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("sadd16 r0, r1, r2", 0x00010000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x00010000, r0, r1, r2, 0);
+ TESTINST3("sadd16 r0, r1, r2", 0x00010000, 0x00010000, r0, r1, r2, 0);
+ TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0xffff0000, r0, r1, r2, 0);
+ TESTINST3("sadd16 r0, r1, r2", 0xffff0000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("sadd16 r0, r1, r2", 0xffff0000, 0xffff0000, r0, r1, r2, 0);
+
TESTINST3("sadd16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
TESTINST3("sadd16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
TESTINST3("sadd16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
@@ -1135,6 +1169,23 @@
TESTINST3("usub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
TESTINST3("usub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
TESTINST3("usub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+
+ TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("usub16 r0, r1, r2", 0x00000001, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x00000001, r0, r1, r2, 0);
+ TESTINST3("usub16 r0, r1, r2", 0x00000001, 0x00000001, r0, r1, r2, 0);
+ TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x0000ffff, r0, r1, r2, 0);
+ TESTINST3("usub16 r0, r1, r2", 0x0000ffff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("usub16 r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
+
+ TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("usub16 r0, r1, r2", 0x00010000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x00010000, r0, r1, r2, 0);
+ TESTINST3("usub16 r0, r1, r2", 0x00010000, 0x00010000, r0, r1, r2, 0);
+ TESTINST3("usub16 r0, r1, r2", 0x00000000, 0xffff0000, r0, r1, r2, 0);
+ TESTINST3("usub16 r0, r1, r2", 0xffff0000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("usub16 r0, r1, r2", 0xffff0000, 0xffff0000, r0, r1, r2, 0);
+
TESTINST3("usub16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
TESTINST3("usub16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
TESTINST3("usub16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
@@ -1192,6 +1243,23 @@
TESTINST3("ssub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
TESTINST3("ssub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
TESTINST3("ssub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+
+ TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("ssub16 r0, r1, r2", 0x00000001, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x00000001, r0, r1, r2, 0);
+ TESTINST3("ssub16 r0, r1, r2", 0x00000001, 0x00000001, r0, r1, r2, 0);
+ TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x0000ffff, r0, r1, r2, 0);
+ TESTINST3("ssub16 r0, r1, r2", 0x0000ffff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("ssub16 r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
+
+ TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("ssub16 r0, r1, r2", 0x00010000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x00010000, r0, r1, r2, 0);
+ TESTINST3("ssub16 r0, r1, r2", 0x00010000, 0x00010000, r0, r1, r2, 0);
+ TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0xffff0000, r0, r1, r2, 0);
+ TESTINST3("ssub16 r0, r1, r2", 0xffff0000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("ssub16 r0, r1, r2", 0xffff0000, 0xffff0000, r0, r1, r2, 0);
+
TESTINST3("ssub16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
TESTINST3("ssub16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
TESTINST3("ssub16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
Modified: trunk/none/tests/arm/v6media.stdout.exp
===================================================================
--- trunk/none/tests/arm/v6media.stdout.exp 2010-09-22 00:58:51 UTC (rev 11371)
+++ trunk/none/tests/arm/v6media.stdout.exp 2010-09-22 01:00:06 UTC (rev 11372)
@@ -762,6 +762,20 @@
uadd16 r0, r1, r2 :: rd 0x00210002 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00030000 ge[3:0]=0011
uadd16 r0, r1, r2 :: rd 0x00020021 rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
uadd16 r0, r1, r2 :: rd 0x00020021 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uadd16 r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uadd16 r0, r1, r2 :: rd 0x00000001 rm 0x00000001, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uadd16 r0, r1, r2 :: rd 0x00000001 rm 0x00000000, rn 0x00000001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uadd16 r0, r1, r2 :: rd 0x00000002 rm 0x00000001, rn 0x00000001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uadd16 r0, r1, r2 :: rd 0x0000ffff rm 0x00000000, rn 0x0000ffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uadd16 r0, r1, r2 :: rd 0x0000ffff rm 0x0000ffff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uadd16 r0, r1, r2 :: rd 0x0000fffe rm 0x0000ffff, rn 0x0000ffff, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uadd16 r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uadd16 r0, r1, r2 :: rd 0x00010000 rm 0x00010000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uadd16 r0, r1, r2 :: rd 0x00010000 rm 0x00000000, rn 0x00010000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uadd16 r0, r1, r2 :: rd 0x00020000 rm 0x00010000, rn 0x00010000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uadd16 r0, r1, r2 :: rd 0xffff0000 rm 0x00000000, rn 0xffff0000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uadd16 r0, r1, r2 :: rd 0xffff0000 rm 0xffff0000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uadd16 r0, r1, r2 :: rd 0xfffe0000 rm 0xffff0000, rn 0xffff0000, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
uadd16 r0, r1, r2 :: rd 0xa299daa0 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
uadd16 r0, r1, r2 :: rd 0x5d604bd2 rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00030000 ge[3:0]=0011
uadd16 r0, r1, r2 :: rd 0x915a7c18 rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x00030000 ge[3:0]=0011
@@ -817,6 +831,20 @@
sadd16 r0, r1, r2 :: rd 0x00210002 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
sadd16 r0, r1, r2 :: rd 0x00020021 rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
sadd16 r0, r1, r2 :: rd 0x00020021 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+sadd16 r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+sadd16 r0, r1, r2 :: rd 0x00000001 rm 0x00000001, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+sadd16 r0, r1, r2 :: rd 0x00000001 rm 0x00000000, rn 0x00000001, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+sadd16 r0, r1, r2 :: rd 0x00000002 rm 0x00000001, rn 0x00000001, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+sadd16 r0, r1, r2 :: rd 0x0000ffff rm 0x00000000, rn 0x0000ffff, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+sadd16 r0, r1, r2 :: rd 0x0000ffff rm 0x0000ffff, rn 0x00000000, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+sadd16 r0, r1, r2 :: rd 0x0000fffe rm 0x0000ffff, rn 0x0000ffff, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+sadd16 r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+sadd16 r0, r1, r2 :: rd 0x00010000 rm 0x00010000, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+sadd16 r0, r1, r2 :: rd 0x00010000 rm 0x00000000, rn 0x00010000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+sadd16 r0, r1, r2 :: rd 0x00020000 rm 0x00010000, rn 0x00010000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+sadd16 r0, r1, r2 :: rd 0xffff0000 rm 0x00000000, rn 0xffff0000, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+sadd16 r0, r1, r2 :: rd 0xffff0000 rm 0xffff0000, rn 0x00000000, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+sadd16 r0, r1, r2 :: rd 0xfffe0000 rm 0xffff0000, rn 0xffff0000, carryin 0, cpsr 0x00030000 ge[3:0]=0011
sadd16 r0, r1, r2 :: rd 0xa299daa0 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x00000000 ge[3:0]=0000
sadd16 r0, r1, r2 :: rd 0x5d604bd2 rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
sadd16 r0, r1, r2 :: rd 0x915a7c18 rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
@@ -873,6 +901,20 @@
usub16 r0, r1, r2 :: rd 0x000f0004 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
usub16 r0, r1, r2 :: rd 0x0004000f rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00030000 ge[3:0]=0011
usub16 r0, r1, r2 :: rd 0xfffcfff1 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usub16 r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usub16 r0, r1, r2 :: rd 0x00000001 rm 0x00000001, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usub16 r0, r1, r2 :: rd 0x0000ffff rm 0x00000000, rn 0x00000001, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usub16 r0, r1, r2 :: rd 0x00000000 rm 0x00000001, rn 0x00000001, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usub16 r0, r1, r2 :: rd 0x00000001 rm 0x00000000, rn 0x0000ffff, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usub16 r0, r1, r2 :: rd 0x0000ffff rm 0x0000ffff, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usub16 r0, r1, r2 :: rd 0x00000000 rm 0x0000ffff, rn 0x0000ffff, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usub16 r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usub16 r0, r1, r2 :: rd 0x00010000 rm 0x00010000, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usub16 r0, r1, r2 :: rd 0xffff0000 rm 0x00000000, rn 0x00010000, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usub16 r0, r1, r2 :: rd 0x00000000 rm 0x00010000, rn 0x00010000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usub16 r0, r1, r2 :: rd 0x00010000 rm 0x00000000, rn 0xffff0000, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usub16 r0, r1, r2 :: rd 0xffff0000 rm 0xffff0000, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usub16 r0, r1, r2 :: rd 0x00000000 rm 0xffff0000, rn 0xffff0000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
usub16 r0, r1, r2 :: rd 0x0ddd2e96 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
usub16 r0, r1, r2 :: rd 0xbc54a9aa rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00030000 ge[3:0]=0011
usub16 r0, r1, r2 :: rd 0xbd1665e6 rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x00030000 ge[3:0]=0011
@@ -929,6 +971,20 @@
ssub16 r0, r1, r2 :: rd 0x000f0004 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
ssub16 r0, r1, r2 :: rd 0x0004000f rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
ssub16 r0, r1, r2 :: rd 0xfffcfff1 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+ssub16 r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssub16 r0, r1, r2 :: rd 0x00000001 rm 0x00000001, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssub16 r0, r1, r2 :: rd 0x0000ffff rm 0x00000000, rn 0x00000001, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssub16 r0, r1, r2 :: rd 0x00000000 rm 0x00000001, rn 0x00000001, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssub16 r0, r1, r2 :: rd 0x00000001 rm 0x00000000, rn 0x0000ffff, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssub16 r0, r1, r2 :: rd 0x0000ffff rm 0x0000ffff, rn 0x00000000, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssub16 r0, r1, r2 :: rd 0x00000000 rm 0x0000ffff, rn 0x0000ffff, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssub16 r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssub16 r0, r1, r2 :: rd 0x00010000 rm 0x00010000, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssub16 r0, r1, r2 :: rd 0xffff0000 rm 0x00000000, rn 0x00010000, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssub16 r0, r1, r2 :: rd 0x00000000 rm 0x00010000, rn 0x00010000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssub16 r0, r1, r2 :: rd 0x00010000 rm 0x00000000, rn 0xffff0000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssub16 r0, r1, r2 :: rd 0xffff0000 rm 0xffff0000, rn 0x00000000, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssub16 r0, r1, r2 :: rd 0x00000000 rm 0xffff0000, rn 0xffff0000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
ssub16 r0, r1, r2 :: rd 0x0ddd2e96 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
ssub16 r0, r1, r2 :: rd 0xbc54a9aa rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00000000 ge[3:0]=0000
ssub16 r0, r1, r2 :: rd 0xbd1665e6 rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x00030000 ge[3:0]=0011
|