From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 95061 invoked by alias); 29 Sep 2015 18:50:22 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 94851 invoked by uid 89); 29 Sep 2015 18:50:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: resqmta-po-07v.sys.comcast.net Received: from resqmta-po-07v.sys.comcast.net (HELO resqmta-po-07v.sys.comcast.net) (96.114.154.166) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 29 Sep 2015 18:50:16 +0000 Received: from resomta-po-16v.sys.comcast.net ([96.114.154.240]) by resqmta-po-07v.sys.comcast.net with comcast id P6oU1r0035BUCh4016qECj; Tue, 29 Sep 2015 18:50:14 +0000 Received: from [IPv6:2001:558:6045:a4:40c6:7199:cd03:b02d] ([IPv6:2001:558:6045:a4:40c6:7199:cd03:b02d]) by resomta-po-16v.sys.comcast.net with comcast id P6qC1r0042ztT3H016qDey; Tue, 29 Sep 2015 18:50:13 +0000 Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: [PATCH] x86 interrupt attribute From: Mike Stump In-Reply-To: Date: Tue, 29 Sep 2015 19:49:00 -0000 Cc: gcc-patches@gcc.gnu.org, ubizjak@gmail.com, hongjiu.lu@intel.com Content-Transfer-Encoding: quoted-printable Message-Id: <2AB9494F-91EC-4CF6-945B-0CB03A583513@comcast.net> References: To: Yulia Koval X-IsSubscribed: yes X-SW-Source: 2015-09/txt/msg02250.txt.bz2 To be feature complete, it would be nice to have two styles of interrupt fu= nctions, one that returns with iret, and one that returns with ret. The po= int is that the user might want to call functions from a interrupt handler = and not save and restore all call clobbered registers. By allowing a ret s= tyle interrupt handler, calls to a ret style interrupt routine can avoid sa= ving and restoring all call clobbered registers. Oh, and I wish that all the port independent code for interrupt functions w= as shared across all ports, as redoing all this code for each port is silly= (sad). And example of this would be the sibcall code, the fact that all c= all saved registers need to be saved is another. The EPILOGUE_USES or the = gen_rtx_USE is yet another. Type checking the return type to ensure the re= turn type is void, likely another. One last comment, most folks use EPILOGUE_USES and mark up the registers as= used. You don=92t. I=92m not sure if both ways work equally well, or if = there is a reason to prefer one over the other. Maybe someone could commen= t on this, as in my port I use EPILOGUE_USES and it seems to work just fine. On Sep 29, 2015, at 6:49 AM, Yulia Koval wrote: > + /* Always need to save SSE registrers in interrupt handler. */ Spelling registrers -> registers. Not in your code, but I noticed it: > /* All pointer bounds argumntas are handled separately here. */ Spelling argumntas -> arguments?