https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118026

            Bug ID: 118026
           Summary: RISC-V Vector Intrinsic "__riscv_vfwadd_wv_f64m2_tu"
                    generates redundant vmv instructions
           Product: gcc
           Version: 14.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: liutong2020 at iscas dot ac.cn
  Target Milestone: ---

g++ -v info:
Using built-in specs.
COLLECT_GCC=/wafer/share/gcc-1420/bin/riscv64-unknown-linux-gnu-g++
COLLECT_LTO_WRAPPER=/wafer/share/gcc-1420/libexec/gcc/riscv64-unknown-linux-gnu/14.2.0/lto-wrapper
Target: riscv64-unknown-linux-gnu
Configured with: /wafer/hanliutong/tools/riscv-gnu-toolchain/gcc/configure
--target=riscv64-unknown-linux-gnu --prefix=/wafer/share/gcc-1420
--with-sysroot=/wafer/share/gcc-1420/sysroot --with-pkgversion=g04696df0963
--with-system-zlib --enable-shared --enable-tls
--enable-languages=c,c++,fortran --disable-libmudflap --disable-libssp
--disable-libquadmath --disable-libsanitizer --disable-nls --disable-bootstrap
--src=.././gcc --disable-multilib --with-abi=lp64d --with-arch=rv64imafdc
--with-tune=rocket --with-isa-spec=20191213 'CFLAGS_FOR_TARGET=-O2   
-mcmodel=medlow' 'CXXFLAGS_FOR_TARGET=-O2    -mcmodel=medlow'
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.2.0 (g04696df0963)

$ riscv64-unknown-linux-gnu-g++ -march=rv64gcv -O3 <foo.cpp>

source file: https://godbolt.org/z/a6qsorrfn

expected behavior: No redundant "vmv" instruction generation, like clang
actual behavior: Generated redundant "vmv" instructions in 38 lines(vmv2r.v
v4,v2)

Reply via email to