]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add tests for RBIT (bit-reverse) instruction (Thumb only).
authorJulian Seward <jseward@acm.org>
Wed, 8 Sep 2010 08:46:15 +0000 (08:46 +0000)
committerJulian Seward <jseward@acm.org>
Wed, 8 Sep 2010 08:46:15 +0000 (08:46 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11344

none/tests/arm/v6intThumb.c
none/tests/arm/v6intThumb.stdout.exp

index a1961e8b0bec107ba4327223f2f3a9b4e2b9602d..e3d030b539e8828ff796efd91a43bc4da8152b9e 100644 (file)
@@ -5396,6 +5396,26 @@ int main ( void )
    TESTINST1("mvn.w   r9, 0x00000043", r9, cv);
    TESTCARRYEND
 
+   printf("(T1) RBIT Rd, Rm\n");
+       TESTINST2("rbit r0, r1", 0x00000000, r0, r1, 0);
+       TESTINST2("rbit r0, r1", 0xFFFFFFFF, r0, r1, 0);
+       TESTINST2("rbit r0, r1", 0x80000000, r0, r1, 0);
+       TESTINST2("rbit r0, r1", 0x00000001, r0, r1, 0);
+       TESTINST2("rbit r0, r1", 0x31415927, r0, r1, 0);
+       TESTINST2("rbit r0, r1", 0x14141562, r0, r1, 0);
+   TESTINST2("rbit r0, r1", 0xabe8391f, r0, r1, 0);
+   TESTINST2("rbit r0, r1", 0x9028aa80, r0, r1, 0);
+   TESTINST2("rbit r0, r1", 0xead1fc6d, r0, r1, 0);
+   TESTINST2("rbit r0, r1", 0x35c98c55, r0, r1, 0);
+   TESTINST2("rbit r0, r1", 0x534af1eb, r0, r1, 0);
+   TESTINST2("rbit r0, r1", 0x45511b08, r0, r1, 0);
+   TESTINST2("rbit r0, r1", 0x90077f71, r0, r1, 0);
+   TESTINST2("rbit r0, r1", 0xde8ca84b, r0, r1, 0);
+   TESTINST2("rbit r0, r1", 0xe37a0dda, r0, r1, 0);
+   TESTINST2("rbit r0, r1", 0xe5b83d4b, r0, r1, 0);
+   TESTINST2("rbit r0, r1", 0xbb6d14ec, r0, r1, 0);
+   TESTINST2("rbit r0, r1", 0x68983cc9, r0, r1, 0);
+
    // plus whatever stuff we can throw in from the old ARM test program
    old_main();
 
index 7a4d4dcc8a099b1ac02da4970738c21f0877ac80..35b49cc5ed753dffac0fb0faf2f150960d6d59c0 100644 (file)
@@ -15189,6 +15189,25 @@ mvn.w   r9, 0x00000930 :: rd 0xfffff6cf, c:v-in 3, cpsr 0xf0000000 NZCV
 mvn.w   r9, 0x00000430 :: rd 0xfffffbcf, c:v-in 3, cpsr 0xf0000000 NZCV
 mvn.w   r9, 0x00000093 :: rd 0xffffff6c, c:v-in 3, cpsr 0xf0000000 NZCV
 mvn.w   r9, 0x00000043 :: rd 0xffffffbc, c:v-in 3, cpsr 0xf0000000 NZCV
+(T1) RBIT Rd, Rm
+rbit r0, r1 :: rd 0x00000000 rm 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0xffffffff rm 0xffffffff, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0x00000001 rm 0x80000000, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0x80000000 rm 0x00000001, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0xe49a828c rm 0x31415927, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0x46a82828 rm 0x14141562, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0xf89c17d5 rm 0xabe8391f, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0x01551409 rm 0x9028aa80, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0xb63f8b57 rm 0xead1fc6d, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0xaa3193ac rm 0x35c98c55, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0xd78f52ca rm 0x534af1eb, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0x10d88aa2 rm 0x45511b08, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0x8efee009 rm 0x90077f71, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0xd215317b rm 0xde8ca84b, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0x5bb05ec7 rm 0xe37a0dda, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0xd2bc1da7 rm 0xe5b83d4b, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0x3728b6dd rm 0xbb6d14ec, c:v-in 0, cpsr 0xc0000000 NZ  
+rbit r0, r1 :: rd 0x933c1916 rm 0x68983cc9, c:v-in 0, cpsr 0xc0000000 NZ  
 MOV
 mov  r0, r1 :: rd 0x00000001 rm 0x00000001, c:v-in 0, cpsr 0xc0000000 NZ  
 cpy  r0, r1 :: rd 0x00000001 rm 0x00000001, c:v-in 0, cpsr 0xc0000000 NZ