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

--- Comment #10 from Nick Hudson <skrll at netbsd dot org> ---
(In reply to Jeffrey A. Law from comment #9)
> So I was looking at this for riscv.  While I think the code can clearly be
> improved, the path for doing so is far from obvious.

Thanks for looking.

Is my candidate fix not usable? It changes the output of the test program for
riscv as follows

-- riscv64.foo.s       2025-12-08 08:25:17.259616639 +0000
+++ riscv64.foo.s.new   2025-12-08 08:47:53.751282204 +0000
@@ -10,11 +10,9 @@
 foo:
 .LFB0:
        .cfi_startproc
-       li      a5,16777216
-       addi    a5,a5,-256
-       and     a0,a0,a5
-       li      a5,255
-       sgtu    a0,a0,a5
+       slli    a0,a0,40
+       srli    a0,a0,48
+       snez    a0,a0
        ret
        .cfi_endproc
 .LFE0:

Reply via email to