public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Lulu Cheng <chenglulu@loongson.cn>
To: gcc-patches@gcc.gnu.org
Cc: xry111@xry111.site, i@xen0n.name, xuchenghua@loongson.cn
Subject: Re: [pushed][PATCH] wwwdocs: gcc-14/changes.html: Add Loongarch changes.
Date: Thu, 25 Apr 2024 09:19:45 +0800	[thread overview]
Message-ID: <19ee1906-7bea-3c7b-0b61-efc615d01633@loongson.cn> (raw)
In-Reply-To: <20240423034327.1510-1-chenglulu@loongson.cn>


在 2024/4/23 上午11:43, Lulu Cheng 写道:
> ---
>   htdocs/gcc-14/changes.html | 156 +++++++++++++++++++++++++++++++++++++
>   1 file changed, 156 insertions(+)
>
> diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html
> index 9509487c..f0f0efe0 100644
> --- a/htdocs/gcc-14/changes.html
> +++ b/htdocs/gcc-14/changes.html
> @@ -877,6 +877,162 @@ __asm (".global __flmap_lock"  "\n\t"
>     </li>
>   </ul>
>   
> +<h3 id="loongarch">LoongArch</h3>
> +<ul>
> +  <li>Support for the following
> +      <a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-march-7">
> +      <code>-march</code></a> parameters has been added:
> +      <ul>
> +        <li><code>la64v1.0</code></li>
> +        <li><code>la64v1.1</code></li>
> +        <li><code>la664</code></li>
> +      </ul>
> +      It is now recommended to use <code>-march=la64v1.0</code> as the only
> +      compiler option to describe the target ISA when building binaries for
> +      distribution. For more information on LoongArch ISA versions, see
> +      <a href="https://github.com/loongson/la-toolchain-conventions/">
> +      Toolchain Conventions of the LoongArch™ Architecture</a>.
> +  </li>
> +  <li>Support for the following
> +      <a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mtune-8">
> +      <code>-mtune</code></a> parameters has been added:
> +      <ul>
> +        <li><code>generic</code></li>
> +        <li><code>la664</code></li>
> +      </ul>
> +  </li>
> +  <li>New ISA Extension
> +    <ul>
> +      <li>LSX (Loongson SIMD Extension): Support 128-bit vector instructions
> +          and the intrinsics.
> +      </li>
> +      <li>LASX (Loongson Advanced SIMD Extension): Support 256-bit vector
> +          instructions and the intrinsics.
> +      </li>
> +      <li>FRECIPE: Support <code>frecipe.{s/d}</code> and
> +          <code>frsqrte.{s/d}</code> instructions and the intrinsics.
> +      </li>
> +      <li>DIV32: Support <code>div.w[u]</code> and <code>mod.w[u]</code>
> +          instructions with inputs not sign-extended.
> +      </li>
> +      <li>LAM_BH: Support <code>am{swap/add}[_db].{b/h}</code> instructions.
> +      </li>
> +      <li>LAMCAS: Support <code>amcas[_db].{b/h/w/d}</code> instructions.
> +      </li>
> +    </ul>
> +  </li>
> +  <li>New Built-in Macros
> +    <ul>
> +      <li><code>__loongarch_arch</code>: Target ISA preset as specified by
> +          <code>-march=</code>. For example, compiling with
> +          <code>-march=la64v1.0</code>, the value of <code>__loongarch_arch</code>
> +          is <code>"la64v1.0"</code>.
> +      </li>
> +      <li><code>__loongarch_tune</code>: Processor model as specified by
> +          <code>-mtune</code> or its default value.
> +      </li>
> +      <li><code>__loongarch_{simd,sx,asx}</code>: These macros are not defined,
> +          or defined as 1.
> +      </li>
> +      <li><code>__loongarch_simd_width</code>: The maximum SIMD bit-width
> +          enabled by the compiler. (128 for lsx, and 256 for lasx).
> +      </li>
> +      <li><code>__loongarch_frecipe</code>: It's defined to 1 or undefined.
> +      </li>
> +      <li><code>__loongarch_div32</code>: It's defined to 1 or undefined.</li>
> +      <li><code>__loongarch_lam_bh</code>: It's defined to 1 or undefined.</li>
> +      <li><code>__loongarch_lamcas</code>: It's defined to 1 or undefined.</li>
> +      <li><code>__loongarch_ld_seq_sa</code>: It's defined to 1 or undefined.
> +      </li>
> +      <li><code>__loongarch_version_major</code>:
> +          The minimally required LoongArch ISA version (major) to run the
> +          compiled program, defined to 1 or undefined (iff no such version is
> +          known to the compiler).
> +      </li>
> +      <li><code>__loongarch_version_minor</code>:
> +          The minimally required LoongArch ISA version (minor) to run the
> +          compiled program, defined to 0 1 or undefined (iff
> +          <code>__loongarch_version_major</code> is undefined).
> +      </li>
> +      <li><code>__FLOAT128_TYPE</code>: It's defined to 1.</li>
> +    </ul>
> +  </li>
> +  <li>New Intrinsics
> +    <ul>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Base-Built-in-Functions.html">
> +          <code>__builtin_thread_pointer</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-SX-Vector-Intrinsics.html">
> +          <code>__lsx_*</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-ASX-Vector-Intrinsics.html">
> +          <code>__lasx_*</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Base-Built-in-Functions.html">
> +          <code>__frecipe_{s/d}</code> and <code>__frsqrte_{s/d}</code></a>
> +      </li>
> +    </ul>
> +  </li>
> +  <li>New Compiler Option
> +    <ul>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-ml_005ba_005dsx">
> +          <code>-m[no-]lsx</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-ml_005ba_005dsx">
> +          <code>-m[no-]lasx</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mfrecipe">
> +          <code>-m[no-]frecipe</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mdiv32">
> +          <code>-m[no-]div32</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mlam-bh">
> +          <code>-m[no-]lam-bh</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mlamcas">
> +          <code>-m[no-]lamcas</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mld-seq-sa">
> +          <code>-m[no-]ld-seq-sa</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mrecip_003dopt">
> +          <code>-mrecip=</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mrecip">
> +          <code>-m[no-]recip</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mexplicit-relocs-1">
> +          <code>-mexplicit-relocs={none,always,auto}</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mrelax-2">
> +          <code>-m[no-]relax</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mpass-mrelax-to-as">
> +          <code>-m[no-]pass-mrelax-to-as</code></a>
> +      </li>
> +      <li><a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mtls-dialect-1">
> +          <code>-mtls-dialect={trad,desc}</code></a>
> +      </li>
> +    </ul>
> +  </li>
> +  <li>Support for Ada and D.</li>
> +  <li>Support for libffi.</li>
> +  <li>Enable <code>-free</code> by default at <code>-O2</code> or higher.</li>
> +  <li>Enable <code>-fsched-pressure</code> by default at <code>-O1</code> or
> +      higher.
> +  </li>
> +  <li>Support the <code>extreme</code> code model using macro instructions
> +     (under -mno-explicit-relocs).</li>
> +  <li>Support <code>call36</code>.</li>
> +  <li>Optimizing built-in functions for memory-model-aware atomic operations
> +      using hierarchical dbar instructions.</li>
> +  <li>TLS descriptors support. It is not enabled by default, and can be enabled
> +      with <a href="https://gcc.gnu.org/onlinedocs/gcc/LoongArch-Options.html#index-mtls-dialect-1">
> +      <code>-mtls-dialect=desc</code></a>. The default behavior can be
> +      configured with <code>--with-tls=[trad|desc]</code>.</li>
> +</ul>
> +
>   <!-- <h3 id="mips">MIPS</h3> -->
>   
>   <!-- <h3 id="mep">MeP</h3> -->


      reply	other threads:[~2024-04-25  1:19 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-23  3:43 [PATCH] " Lulu Cheng
2024-04-25  1:19 ` Lulu Cheng [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19ee1906-7bea-3c7b-0b61-efc615d01633@loongson.cn \
    --to=chenglulu@loongson.cn \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=i@xen0n.name \
    --cc=xry111@xry111.site \
    --cc=xuchenghua@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).