From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTP id 4D0A7DDD01 for ; Wed, 21 Nov 2007 20:12:42 +1100 (EST) Subject: Re: [PATCH] [POWERPC] Emulate isel (Integer Select) instruction From: Benjamin Herrenschmidt To: Kumar Gala In-Reply-To: References: <20071120175416.GA4389@loki.buserror.net> Content-Type: text/plain Date: Wed, 21 Nov 2007 20:12:27 +1100 Message-Id: <1195636347.6970.80.camel@pasglop> Mime-Version: 1.0 Cc: linuxppc-dev@ozlabs.org Reply-To: benh@kernel.crashing.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Tue, 2007-11-20 at 15:01 -0600, Kumar Gala wrote: > > Given that the instruction is meant to be a performance enhancement, > > we should probably warn the first few times it's emulated, so the > user > > knows they should change their toolchain setup if possible. > > The same is true of mcrxr, popcntb, and possibly string ld/st. > > Feel free to submit a patch that warns about their usage. At least we should keep counters... best would be per-task counters in /proc but that sounds harder :-) I remember in the early days of powerpc, it wasn't uncommon to have apps with issues because they used 601 only bits on 603/4 that had to be emulated (such as old POWER opcodes). On MacOS, we used to have a system-wide counter of the number of emulated instructions we could use to detect these things. Ben.