From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25470 invoked by alias); 7 Feb 2004 18:25:36 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 25451 invoked from network); 7 Feb 2004 18:25:34 -0000 Received: from unknown (HELO host1.kbnet.net) (81.26.107.2) by sources.redhat.com with SMTP; 7 Feb 2004 18:25:34 -0000 Received: from meolyon.local (adsl-dyn-111-161.kbnet.net [81.26.111.161]) by host1.kbnet.net (8.11.6/8.11.6) with ESMTP id i17IKNY13450; Sat, 7 Feb 2004 18:20:23 GMT Received: from meolyon.local (localhost [127.0.0.1]) by meolyon.local (8.12.6/8.12.6/SuSE Linux 0.6) with ESMTP id i17IVRvL001696; Sat, 7 Feb 2004 18:31:27 GMT Received: (from amylaar@localhost) by meolyon.local (8.12.6/8.12.6/Submit) id i17IVRLD001695; Sat, 7 Feb 2004 18:31:27 GMT From: Joern Rennecke Message-Id: <200402071831.i17IVRLD001695@meolyon.local> Subject: Re: [RFA] sh-sim: free up some room in jump_table To: msnyder@redhat.com (Michael Snyder) Date: Sat, 07 Feb 2004 18:25:00 -0000 Cc: amylaar@fairadsl.co.uk (Joern Rennecke), joern.rennecke@superh.com, gdb-patches@sources.redhat.com In-Reply-To: <40243150.9040603@redhat.com> from "Michael Snyder" at Feb 06, 2004 04:29:04 PM MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2004-02/txt/msg00150.txt.bz2 > ! printf (" if (target_dsp && \n"); > ! printf (" (iword & 0xf000) == 0xf000)\n"); > ! printf (" switch (sh_dsp_table[iword & 0xfff]) {\n"); > gensim_caselist (movsxy_tab); > ! printf (" else switch (jump_table[iword]) {\n"); You have changed a straight dispatch into an if-then-else with two dispatches, and the integer and fpu arithmetic path goes the long way round the dsp dispatch; this seems to be a surefire way to make the simulator slower. We don't relly care much about the total size of the simulator, but we care about its working set size, so why don't you generate two separate simulator main loops, to be compiler into separate *.o files, one with the FPU instructions, and the other one with the dsp instructions?