From: Julian Seward Date: Wed, 8 Sep 2010 08:46:15 +0000 (+0000) Subject: Add tests for RBIT (bit-reverse) instruction (Thumb only). X-Git-Tag: svn/VALGRIND_3_6_0~113 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3758af4949ea1c1e51214282e3a2c5786bd51fe;p=thirdparty%2Fvalgrind.git Add tests for RBIT (bit-reverse) instruction (Thumb only). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11344 --- diff --git a/none/tests/arm/v6intThumb.c b/none/tests/arm/v6intThumb.c index a1961e8b0b..e3d030b539 100644 --- a/none/tests/arm/v6intThumb.c +++ b/none/tests/arm/v6intThumb.c @@ -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(); diff --git a/none/tests/arm/v6intThumb.stdout.exp b/none/tests/arm/v6intThumb.stdout.exp index 7a4d4dcc8a..35b49cc5ed 100644 --- a/none/tests/arm/v6intThumb.stdout.exp +++ b/none/tests/arm/v6intThumb.stdout.exp @@ -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