From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22882 invoked by alias); 11 Sep 2019 13:35:10 -0000 Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org Received: (qmail 22872 invoked by uid 89); 11 Sep 2019 13:35:10 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-9.8 required=5.0 tests=AWL,BAYES_00,ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_PASS,USER_IN_DEF_SPF_WL autolearn=ham version=3.3.1 spammy= X-HELO: mail-vs1-f49.google.com Received: from mail-vs1-f49.google.com (HELO mail-vs1-f49.google.com) (209.85.217.49) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 11 Sep 2019 13:35:09 +0000 Received: by mail-vs1-f49.google.com with SMTP id b11so13755978vsq.2 for ; Wed, 11 Sep 2019 06:35:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=8ZhFD45uZJbrsX09TMN/aUY/9enVeHWb4UVJWziaMG0=; b=lhaCko5YhZvy4hyqj4uvrPeERy93hQp790td5m1NYGy4nKYvUqhkeIeSILx46GHaNz oSMtbEQJ44VI0OIProC1cHdkgULDT7kI2Ymr/ajoFvWufTzmbTzZ9caADYO1RDplk28Z 7U6bM4+Zi1yJlQcOHmhVzLZdUf3uCP487MXBd30kefrNT3beuL+v5EvO4L9jrDGUo/Y+ cgklpsHq1UwNbPB8b/fk01Qjyx+b88hSeUhbO7LRDkuRDKazjOaPgM1+N0oqmfY8Rp0P bPVmdu1ccAnygqaHxzLDm25I7Sn6HXaQPg+OrjK7S+L2AtSklhR+4VZPR/JBMii6BaS+ Bo4g== MIME-Version: 1.0 References: In-Reply-To: From: "Ian Lance Taylor via gcc-help" Reply-To: Ian Lance Taylor Date: Wed, 11 Sep 2019 13:35:00 -0000 Message-ID: Subject: Re: Role of unspec or unspec_volatile in a machine description pattern To: William Tambe Cc: gcc-help Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2019-09/txt/msg00038.txt.bz2 On Wed, Sep 11, 2019 at 3:15 AM William Tambe wrote: > > What is the role of unspec or unspec_volatile in a machine description pattern ? They permit describing operations that otherwise cannot be described in RTL, or for which there is no advantage to describing in RTL. For example access to the TLS base pointer on x86, which is an offset from a segment register. There is no reason to describe the segment registers in RTL just to support this single instruction which always looks the same. Ian