From fc54d10f02ba9ecfb9cafd9e30f12b5b53d7432a Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Mon, 8 Mar 2010 15:09:06 +0000 Subject: [PATCH] Add tests for UXTAB and SXTAH. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11084 --- none/tests/arm/v6int.c | 50 +++++++++++++++++++++++++++++---- none/tests/arm/v6int.stdout.exp | 30 ++++++++++++++++---- 2 files changed, 68 insertions(+), 12 deletions(-) diff --git a/none/tests/arm/v6int.c b/none/tests/arm/v6int.c index 7b1cd67662..bc3254a1f5 100644 --- a/none/tests/arm/v6int.c +++ b/none/tests/arm/v6int.c @@ -762,23 +762,61 @@ int main(int argc, char **argv) TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, r0, r1, r2, 0); + printf("------------ UXTAB ------------\n"); + TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, + r0, r1, r2, 0); + TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, + r0, r1, r2, 0); + TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, + r0, r1, r2, 0); + TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, + r0, r1, r2, 0); + + TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, + r0, r1, r2, 0); + TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, + r0, r1, r2, 0); + TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, + r0, r1, r2, 0); + TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, + r0, r1, r2, 0); + + printf("------------ SXTAH ------------\n"); + TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, + r0, r1, r2, 0); + TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, + r0, r1, r2, 0); + TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, + r0, r1, r2, 0); + TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, + r0, r1, r2, 0); + + TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, + r0, r1, r2, 0); + TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, + r0, r1, r2, 0); + TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, + r0, r1, r2, 0); + TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, + r0, r1, r2, 0); + printf("------------ UXTAH ------------\n"); TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0); TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0); - TESTINST3("uxtah r0, r1, r2, ROR #8", 0x31415927, 0x27182819, + TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, r0, r1, r2, 0); - TESTINST3("uxtah r0, r1, r2, ROR #0", 0x31415927, 0x27182819, + TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, r0, r1, r2, 0); - TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182899, + TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, r0, r1, r2, 0); - TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182899, + TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, r0, r1, r2, 0); - TESTINST3("uxtah r0, r1, r2, ROR #8", 0x31415927, 0x27182899, + TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, r0, r1, r2, 0); - TESTINST3("uxtah r0, r1, r2, ROR #0", 0x31415927, 0x27182899, + TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, r0, r1, r2, 0); printf("------------ PLD/PLDW (begin) ------------\n"); diff --git a/none/tests/arm/v6int.stdout.exp b/none/tests/arm/v6int.stdout.exp index 24d43f5424..064b52672f 100644 --- a/none/tests/arm/v6int.stdout.exp +++ b/none/tests/arm/v6int.stdout.exp @@ -706,15 +706,33 @@ sxtab r0, r1, r2, ROR #24 :: rd 0x3141594e rm 0x31415927, rn 0x27182899, carryin sxtab r0, r1, r2, ROR #16 :: rd 0x3141593f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 sxtab r0, r1, r2, ROR #8 :: rd 0x3141594f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 sxtab r0, r1, r2, ROR #0 :: rd 0x314158c0 rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 +------------ UXTAB ------------ +uxtab r0, r1, r2, ROR #24 :: rd 0x3141594e rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 +uxtab r0, r1, r2, ROR #16 :: rd 0x3141593f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 +uxtab r0, r1, r2, ROR #8 :: rd 0x3141594f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 +uxtab r0, r1, r2, ROR #0 :: rd 0x31415940 rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 +uxtab r0, r1, r2, ROR #24 :: rd 0x3141594e rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 +uxtab r0, r1, r2, ROR #16 :: rd 0x3141593f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 +uxtab r0, r1, r2, ROR #8 :: rd 0x3141594f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 +uxtab r0, r1, r2, ROR #0 :: rd 0x314159c0 rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 +------------ SXTAH ------------ +sxtah r0, r1, r2, ROR #24 :: rd 0x3141724e rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 +sxtah r0, r1, r2, ROR #16 :: rd 0x3141803f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 +sxtah r0, r1, r2, ROR #8 :: rd 0x3141714f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 +sxtah r0, r1, r2, ROR #0 :: rd 0x31418140 rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 +sxtah r0, r1, r2, ROR #24 :: rd 0x3141724e rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000 +sxtah r0, r1, r2, ROR #16 :: rd 0x3141803f rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000 +sxtah r0, r1, r2, ROR #8 :: rd 0x314171bf rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000 +sxtah r0, r1, r2, ROR #0 :: rd 0x3140f140 rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000 ------------ UXTAH ------------ uxtah r0, r1, r2, ROR #24 :: rd 0x3141724e rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 uxtah r0, r1, r2, ROR #16 :: rd 0x3141803f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 -uxtah r0, r1, r2, ROR #8 :: rd 0x3141714f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 -uxtah r0, r1, r2, ROR #0 :: rd 0x31418140 rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 -uxtah r0, r1, r2, ROR #24 :: rd 0x3141f24e rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 -uxtah r0, r1, r2, ROR #16 :: rd 0x3141803f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 -uxtah r0, r1, r2, ROR #8 :: rd 0x3141714f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 -uxtah r0, r1, r2, ROR #0 :: rd 0x314181c0 rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 +uxtah r0, r1, r2, ROR #8 :: rd 0x3141714f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 +uxtah r0, r1, r2, ROR #0 :: rd 0x31418140 rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 +uxtah r0, r1, r2, ROR #24 :: rd 0x3141724e rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000 +uxtah r0, r1, r2, ROR #16 :: rd 0x3141803f rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000 +uxtah r0, r1, r2, ROR #8 :: rd 0x314171bf rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000 +uxtah r0, r1, r2, ROR #0 :: rd 0x3141f140 rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000 ------------ PLD/PLDW (begin) ------------ pld reg +/- imm12 cases pld reg +/- shifted reg cases -- 2.47.2