aboutsummaryrefslogtreecommitdiff
path: root/libphobos/src/std/algorithm
diff options
context:
space:
mode:
authorJeff Law <jlaw@ventanamicro.com>2025-01-18 13:44:33 -0700
committerJeff Law <jlaw@ventanamicro.com>2025-01-18 13:46:21 -0700
commitdeb3a4ae5dc04616dff893de074de0797594c98e (patch)
tree88efe72401b5d12964463f081cbb8fdb78b5ffa5 /libphobos/src/std/algorithm
parent557d1a44ece3b9cf0084a4ebcc2e50875d788393 (diff)
downloadgcc-deb3a4ae5dc04616dff893de074de0797594c98e.zip
gcc-deb3a4ae5dc04616dff893de074de0797594c98e.tar.gz
gcc-deb3a4ae5dc04616dff893de074de0797594c98e.tar.bz2
[RISC-V][PR target/116308] Fix generation of initial RTL for atomics
While this wasn't originally marked as a regression, it almost certainly is given that older versions of GCC would have used libatomic and would not have ICE'd on this code. Basically this is another case where we directly used simplify_gen_subreg when we should have used gen_lowpart. When I fixed a similar bug a while back I noted the code in question as needing another looksie. I think at that time my brain saw the mixed modes (SI & QI) and locked up. But the QI stuff is just the shift count, not some deeper issue. So fixing is trivial. We just replace the simplify_gen_subreg with a gen_lowpart and get on with our lives. Tested on rv64 and rv32 in my tester. Waiting on pre-commit testing for final verdict. PR target/116308 gcc/ * config/riscv/riscv.cc (riscv_lshift_subword): Use gen_lowpart rather than simplify_gen_subreg. gcc/testsuite/ * gcc.target/riscv/pr116308.c: New test.
Diffstat (limited to 'libphobos/src/std/algorithm')
0 files changed, 0 insertions, 0 deletions