public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Patrick O'Neill <patrick@rivosinc.com>
To: Tsukasa OI <research_trasio@irq.a4lg.com>,
	Jeff Law <jeffreyalaw@gmail.com>
Cc: gcc-patches@gcc.gnu.org, Kito Cheng <kito.cheng@gmail.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Andrew Waterman <andrew@sifive.com>,
	Jim Wilson <jim.wilson.gcc@gmail.com>
Subject: Re: [PATCH v1 1/1] RISC-V: Initial RV64E and LP64E support
Date: Wed, 29 Nov 2023 13:15:27 -0800	[thread overview]
Message-ID: <51968bc0-36a3-4a99-b7da-a788cfc4764e@rivosinc.com> (raw)
In-Reply-To: <e7836aa028e374b3d127fcd4ab01655697db94be.1700821042.git.research_trasio@irq.a4lg.com>

[-- Attachment #1: Type: text/plain, Size: 4593 bytes --]

Hi Tsukasa,

I'm seeing a new regression across all tested riscv targets:
https://github.com/patrick-rivos/gcc-postcommit-ci/issues/224

Regression:

|FAIL: gcc.target/riscv/predef-13.c -O0 (test for excess errors) FAIL: 
gcc.target/riscv/predef-13.c -O1 (test for excess errors) FAIL: 
gcc.target/riscv/predef-13.c -O2 (test for excess errors) FAIL: 
gcc.target/riscv/predef-13.c -O2 -flto -fno-use-linker-plugin 
-flto-partition=none (test for excess errors) FAIL: 
gcc.target/riscv/predef-13.c -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects (test for excess errors) FAIL: 
gcc.target/riscv/predef-13.c -O3 -g (test for excess errors) FAIL: 
gcc.target/riscv/predef-13.c -Os (test for excess errors)|

Debug log:

Executing on host: /home/runner/work/gcc-postcommit-ci/gcc-postcommit-ci/riscv-gnu-toolchain/build/build-gcc-linux-stage2/gcc/xgcc -B/home/runner/work/gcc-postcommit-ci/gcc-postcommit-ci/riscv-gnu-toolchain/build/build-gcc-linux-stage2/gcc/  /home/runner/work/gcc-postcommit-ci/gcc-postcommit-ci/riscv-gnu-toolchain/gcc/gcc/testsuite/gcc.target/riscv/predef-13.c  -march=rv32gc -mabi=ilp32d -mcmodel=medlow   -fdiagnostics-plain-output    -O0  -march=rv32e -mabi=ilp32e -mcmodel=medlow -misa-spec=2.2 -S   -o predef-13.s    (timeout = 600)
spawn -ignore SIGHUP /home/runner/work/gcc-postcommit-ci/gcc-postcommit-ci/riscv-gnu-toolchain/build/build-gcc-linux-stage2/gcc/xgcc -B/home/runner/work/gcc-postcommit-ci/gcc-postcommit-ci/riscv-gnu-toolchain/build/build-gcc-linux-stage2/gcc/ /home/runner/work/gcc-postcommit-ci/gcc-postcommit-ci/riscv-gnu-toolchain/gcc/gcc/testsuite/gcc.target/riscv/predef-13.c -march=rv32gc -mabi=ilp32d -mcmodel=medlow -fdiagnostics-plain-output -O0 -march=rv32e -mabi=ilp32e -mcmodel=medlow -misa-spec=2.2 -S -o predef-13.s
/home/runner/work/gcc-postcommit-ci/gcc-postcommit-ci/riscv-gnu-toolchain/gcc/gcc/testsuite/gcc.target/riscv/predef-13.c: In function 'main':
/home/runner/work/gcc-postcommit-ci/gcc-postcommit-ci/riscv-gnu-toolchain/gcc/gcc/testsuite/gcc.target/riscv/predef-13.c:23:2: error: #error "__riscv_e"
compiler exited with status 1
FAIL: gcc.target/riscv/predef-13.c   -O0  (test for excess errors)
Excess errors:
/home/runner/work/gcc-postcommit-ci/gcc-postcommit-ci/riscv-gnu-toolchain/gcc/gcc/testsuite/gcc.target/riscv/predef-13.c:23:2: error: #error "__riscv_e"

I bisected it locally to commit 006e90e13441c3716b40616282b200a0ef689376 
(this patch):

> ./bin/riscv64-unknown-linux-gnu-gcc -march=rv32e -mabi=ilp32e -S ../gcc/gcc/testsuite/gcc.target/riscv/predef-13.c
../gcc/gcc/testsuite/gcc.target/riscv/predef-13.c: In function 'main':
../gcc/gcc/testsuite/gcc.target/riscv/predef-13.c:23:2: error: #error "__riscv_e"
    23 | #error "__riscv_e"
       |  ^~~~~

Let me know if you need any additional info/investigation from me.

Thanks,
Patrick

On 11/24/23 02:18, Tsukasa OI wrote:
> From: Tsukasa OI<research_trasio@irq.a4lg.com>
>
> Along with RV32E, RV64E is ratified.  Though ILP32E and LP64E ABIs are
> still draft, it's worth supporting it.
>
> gcc/ChangeLog:
>
> 	* common/config/riscv/riscv-common.cc
> 	(riscv_ext_version_table): Set version to ratified 2.0.
> 	(riscv_subset_list::parse_std_ext): Allow RV64E.
> 	* config.gcc: Parse base ISA 'rv64e' and ABI 'lp64e'.
> 	* config/riscv/arch-canonicalize: Parse base ISA 'rv64e'.
> 	* config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins):
> 	Define different macro per XLEN.  Add handling for ABI_LP64E.
> 	* config/riscv/riscv-d.cc (riscv_d_handle_target_float_abi):
> 	Add handling for ABI_LP64E.
> 	* config/riscv/riscv-opts.h (enum riscv_abi_type): Add ABI_LP64E.
> 	* config/riscv/riscv.cc (riscv_option_override): Enhance error
> 	handling to support RV64E and LP64E.
> 	(riscv_conditional_register_usage): Change "RV32E" in a comment
> 	to "RV32E/RV64E".
> 	* config/riscv/riscv.h
> 	(UNITS_PER_FP_ARG): Add handling for ABI_LP64E.
> 	(STACK_BOUNDARY): Ditto.
> 	(ABI_STACK_BOUNDARY): Ditto.
> 	(MAX_ARGS_IN_REGISTERS): Ditto.
> 	(ABI_SPEC): Add support for "lp64e".
> 	* config/riscv/riscv.opt: Parse -mabi=lp64e as ABI_LP64E.
> 	* doc/invoke.texi: Add documentation of the LP64E ABI.
>
> gcc/testsuite/ChangeLog:
>
> 	* gcc.target/riscv/predef-1.c: Test for __riscv_64e.
> 	* gcc.target/riscv/predef-2.c: Ditto.
> 	* gcc.target/riscv/predef-3.c: Ditto.
> 	* gcc.target/riscv/predef-4.c: Ditto.
> 	* gcc.target/riscv/predef-5.c: Ditto.
> 	* gcc.target/riscv/predef-6.c: Ditto.
> 	* gcc.target/riscv/predef-7.c: Ditto.
> 	* gcc.target/riscv/predef-8.c: Ditto.
> 	* gcc.target/riscv/predef-9.c: New test for RV64E and LP64E,
> 	based on predef-7.c.
> ---

  parent reply	other threads:[~2023-11-29 21:15 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-22  3:49 [RFC PATCH] " Tsukasa OI
2023-11-24 10:18 ` [PATCH v1 0/1] " Tsukasa OI
2023-11-24 10:18   ` [PATCH v1 1/1] " Tsukasa OI
2023-11-27  6:08     ` Jeff Law
2023-11-29 21:15     ` Patrick O'Neill [this message]
2023-11-29 22:07       ` Tsukasa OI
2023-11-30  1:24         ` Kito Cheng

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=51968bc0-36a3-4a99-b7da-a788cfc4764e@rivosinc.com \
    --to=patrick@rivosinc.com \
    --cc=andrew@sifive.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jeffreyalaw@gmail.com \
    --cc=jim.wilson.gcc@gmail.com \
    --cc=kito.cheng@gmail.com \
    --cc=palmer@dabbelt.com \
    --cc=research_trasio@irq.a4lg.com \
    /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).