From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3701 invoked by alias); 19 Mar 2012 05:18:26 -0000 Received: (qmail 3693 invoked by uid 22791); 19 Mar 2012 05:18:25 -0000 X-SWARE-Spam-Status: No, hits=-4.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp.gentoo.org (HELO smtp.gentoo.org) (140.211.166.183) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 19 Mar 2012 05:17:53 +0000 Received: from vapier.localnet (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id C79781B4023; Mon, 19 Mar 2012 05:17:52 +0000 (UTC) From: Mike Frysinger To: gdb-patches@sourceware.org Subject: [PATCH] sim: bfin: add tests for new shift behavior Date: Mon, 19 Mar 2012 05:18:00 -0000 User-Agent: KMail/1.13.7 (Linux/3.2.0; KDE/4.6.5; x86_64; ; ) Cc: Robin Getz References: <1332133480-23514-1-git-send-email-vapier@gentoo.org> In-Reply-To: <1332133480-23514-1-git-send-email-vapier@gentoo.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1754838.NBLB7raUIy"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <201203190117.55505.vapier@gentoo.org> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-03/txt/msg00686.txt.bz2 --nextPart1754838.NBLB7raUIy Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-length: 5124 and of course, need tests to make sure new behavior works -mike 2012-03-19 Robin Getz * random_0014.S, random_0015.S, random_0016.S: New tests for shifts. diff --git a/sim/testsuite/sim/bfin/random_0014.S b/sim/testsuite/sim/bfin/random_0014.S new file mode 100644 index 0000000..c77b305 --- /dev/null +++ b/sim/testsuite/sim/bfin/random_0014.S @@ -0,0 +1,82 @@ +# Test a few corner cases with various shift insns +# mach: bfin +#include "test.h" +.include "testutils.inc" + + start + + dmm32 ASTAT, (0x38404290 | _VS | _V | _AC1 | _AC0 | _V_COPY | _AC0_COPY | _AN); + dmm32 A0.w, 0xf53d356e; + dmm32 A0.x, 0xffffffff; + imm32 R5, 0xaa156b54; + A0 = ASHIFT A0 BY R5.L; + checkreg A0.w, 0x56e00000; + checkreg A0.x, 0xffffffd3; + checkreg ASTAT, (0x38404290 | _VS | _V | _AC1 | _AC0 | _V_COPY | _AC0_COPY | _AN); + + dmm32 ASTAT, (0x28e00410 | _VS | _V | _AV1S | _AV1 | _AC1 | _V_COPY); + dmm32 A0.w, 0x1dfd2a85; + dmm32 A0.x, 0xffffffbe; + imm32 R2, 0x4b7cf707; + A0 = LSHIFT A0 BY R2.L; + checkreg A0.w, 0xfe954280; + checkreg A0.x, 0x0000000e; + checkreg ASTAT, (0x28e00410 | _VS | _V | _AV1S | _AV1 | _AC1 | _V_COPY); + + dmm32 ASTAT, (0x60404e00 | _VS | _V | _AV1S | _AV0S | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN); + dmm32 A1.w, 0xd4aa6e10; + dmm32 A1.x, 0xffffffff; + imm32 R4, 0xb4bb3054; + A1 = ASHIFT A1 BY R4.L; + checkreg A1.w, 0xe1000000; + checkreg A1.x, 0xffffffa6; + checkreg ASTAT, (0x60404e00 | _VS | _V | _AV1S | _AV0S | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN); + + dmm32 ASTAT, (0x00608810 | _V | _AV1S | _AV0S | _V_COPY | _AC0_COPY | _AN); + dmm32 A1.w, 0x0dbadb4f; + dmm32 A1.x, 0x00000035; + imm32 R3, 0x3cc3f7db; + A1 = LSHIFT A1 BY R3.L; + checkreg A1.w, 0x78000000; + checkreg A1.x, 0xffffffda; + checkreg ASTAT, (0x00608810 | _V | _AV1S | _AV0S | _V_COPY | _AC0_COPY | _AN); + + dmm32 ASTAT, (0x14900e10 | _VS | _AC0 | _CC | _AC0_COPY); + imm32 R0, 0x6286ee56; + imm32 R7, 0x5cd969c5; + R0 = ASHIFT R0 BY R7.L; + checkreg R0, 0x50ddcac0; + checkreg ASTAT, (0x14900e10 | _VS | _V | _AC0 | _CC | _V_COPY | _AC0_COPY); + + dmm32 ASTAT, (0x28904a90 | _VS | _V | _AV0S | _V_COPY | _AZ); + imm32 R0, 0x00000000; + imm32 R5, 0x00008000; + imm32 R6, 0x03488f9a; + R0.L = ASHIFT R5.L BY R6.L; + checkreg ASTAT, (0x28904a90 | _VS | _V | _AV0S | _V_COPY | _AZ); + + dmm32 ASTAT, (0x3c10c890 | _VS | _AV1S | _AV0S | _AC0 | _AQ | _AC0_COPY); + imm32 R1, 0x29162006; + imm32 R3, 0xffff0345; + imm32 R4, 0x8ff5e6bb; + R1.H = ASHIFT R4.H BY R3.L; + checkreg R1, 0xfea02006; + checkreg ASTAT, (0x3c10c890 | _VS | _V | _AV1S | _AV0S | _AC0 | _AQ | _V_COPY | _AC0_COPY | _AN); + + dmm32 ASTAT, (0x78600e00 | _VS | _AV1S | _AV0S | _AC0 | _AQ | _CC); + imm32 R0, 0xd5b1804d; + imm32 R1, 0x522c817d; + imm32 R5, 0xfca6f990; + R1.H = ASHIFT R5.H BY R0.L; + checkreg R1, 0xc000817d; + checkreg ASTAT, (0x78600e00 | _VS | _V | _AV1S | _AV0S | _AC0 | _AQ | _CC | _V_COPY | _AN); + + dmm32 ASTAT, (0x64b04890 | _VS | _V | _AV0S | _AV0 | _AC1 | _AQ | _CC | _V_COPY | _AC0_COPY | _AN); + imm32 R4, 0x80000000; + imm32 R6, 0x4e840a3e; + imm32 R7, 0x20102e48; + R6.L = ASHIFT R4.H BY R7.L; + checkreg R6, 0x4e840000; + checkreg ASTAT, (0x64b04890 | _VS | _V | _AV0S | _AV0 | _AC1 | _AQ | _CC | _V_COPY | _AC0_COPY | _AZ); + + pass diff --git a/sim/testsuite/sim/bfin/random_0015.S b/sim/testsuite/sim/bfin/random_0015.S new file mode 100644 index 0000000..60d6317 --- /dev/null +++ b/sim/testsuite/sim/bfin/random_0015.S @@ -0,0 +1,25 @@ +# mach: bfin +#include "test.h" +.include "testutils.inc" + + start + + dmm32 ASTAT, (0x5c70c410 | _VS | _V | _AV0S | _AV0 | _AC1 | _V_COPY | _AN); + dmm32 A1.w, 0xb7cc6ddd; + dmm32 A1.x, 0x00000004; + imm32 R3, 0x3f225ae3; + A1 = ASHIFT A1 BY R3.L; + checkreg A1.w, 0x00000025; + checkreg A1.x, 0x00000000; + checkreg ASTAT, (0x5c70c410 | _VS | _V | _AV0S | _AV0 | _AC1 | _V_COPY); + + dmm32 ASTAT, (0x4810ca80 | _AV1S | _AV1 | _AV0S | _AV0 | _AC1 | _AC0 | _V_COPY | _AN); + dmm32 A1.w, 0x7396e11c; + dmm32 A1.x, 0xffffffba; + imm32 R3, 0x6e5f9f48; + A1 = ASHIFT A1 BY R3.L; + checkreg A1.w, 0x96e11c00; + checkreg A1.x, 0x00000073; + checkreg ASTAT, (0x4810ca80 | _AV1S | _AV0S | _AV0 | _AC1 | _AC0 | _V_COPY); + + pass diff --git a/sim/testsuite/sim/bfin/random_0016.S b/sim/testsuite/sim/bfin/random_0016.S new file mode 100644 index 0000000..0b45074 --- /dev/null +++ b/sim/testsuite/sim/bfin/random_0016.S @@ -0,0 +1,26 @@ +# Test LSHIFT values and ASTAT flags +# mach: bfin +#include "test.h" +.include "testutils.inc" + + start + + dmm32 ASTAT, (0x7ce00000 | _VS | _V | _AV0S | _AQ | _CC | _V_COPY | _AN); + dmm32 A0.w, 0xe1a3909e; + dmm32 A0.x, 0xffffffff; + imm32 R2, 0x214a26f6; + A0 = LSHIFT A0 BY R2.L; + checkreg A0.w, 0x3ff868e4; + checkreg A0.x, 0x00000000; + checkreg ASTAT, (0x7ce00000 | _VS | _V | _AV0S | _AQ | _CC | _V_COPY); + + dmm32 ASTAT, (0x64008a00 | _AV1 | _AV0S | _AV0 | _AC0 | _AQ | _CC | _AN); + dmm32 A0.w, 0x72af1593; + dmm32 A0.x, 0xfffffffd; + imm32 R2, 0x6505b40c; + A0 = LSHIFT A0 BY R2.L; + checkreg A0.w, 0xf1593000; + checkreg A0.x, 0x0000002a; + checkreg ASTAT, (0x64008a00 | _AV1 | _AV0S | _AC0 | _AQ | _CC); + + pass --nextPart1754838.NBLB7raUIy Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. Content-length: 836 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) iQIcBAABAgAGBQJPZsGDAAoJEEFjO5/oN/WBTKAQAJAaaALMDIxwcsstHFXY3wsf QyqxUL3IcNy16yW/eAoBwvnCN/yT85G5VgRFaBFoIUEtt5KyXwWPMyoIhePWBspu 3HCrKZ1pxxexJg4prRkviwRh+27izRBkfi6gouHHzN+Ww2X32guEp+8vgRQUXe/D AEQPOA0HyWpYFS3ZxByBbnME0a4Vcv7uHhwjmcRFCmIY4XmJj/X/ZxbgJasvIm1b mZbpn1jnNfFN1RbklSY0Q/SlXAGuNOEhn72MNvnbtknIhO/Kdw3tPLg0xasGtZ+s rjCSKWLQY/ukhl9SB1+zGqjH1A7wYTw1UpPtzOmHwy81ev3v4JSnW1Hafx6z6THm GRU+5L+dBdRDR5SvSEglJbWhunVwisJjGXQHjtr4YVE6sor1+qj8RgcbxKxOH7Q9 843pwIF01XbhMCHE5ezcdRqjwOe0DNej0PGlSSJbEuf5iuUtI+kyyajZxnjRucLD 0xY2Ty/oI/23GUo8f+vfdiMvHLenzO8q9W+YUxEpMKOmDTpHXbjTKgFWj/leJgT1 uS3/clroZ57oKwU8EJcxyZ1V7q+y5rrL5mVY4EVqvTtMfuOIeCXKiHqIiU9u2b3A pK2eYrnk3kJbl8buELZGKbS1o2fcruAOS/tsTfQqJoM4mj+Od7v9Upk+/bJdQ7lr 79ZXWUbR/o17IUIawi4D =IYUi -----END PGP SIGNATURE----- --nextPart1754838.NBLB7raUIy--