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

            Bug ID: 106888
           Summary: [RISCV] Excess andi instructions are generated  in
                    gcc.dg/pr90838.c
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: regression
          Assignee: unassigned at gcc dot gnu.org
          Reporter: shihua at iscas dot ac.cn
  Target Milestone: ---

After this patch(
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=c23a9c87cc62bd177fd0d4db6ad34b34e1b9a31f),gcc.dg/pr90838.c
failed.

Before:


        .attribute arch, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zbb1p0"
        .attribute unaligned_access, 0
        .attribute stack_align, 16
        .text

        .align  1
        .globl  ctz2
        .type   ctz2, @function
ctz2:
        ctzw    a0,a0
        ret
        .size   ctz2, .-ctz2
        .align  1
        .globl  ctz3
        .type   ctz3, @function
ctz3:
        ctzw    a0,a0
        ret
        .size   ctz3, .-ctz3


After:

        .attribute arch, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_zbb1p0"
        .attribute unaligned_access, 0
        .attribute stack_align, 16
        .text
        .align  1
        .globl  ctz1
        .type   ctz1, @function
ctz2:
        ctzw    a0,a0
        andi    a0,a0,127
        ret
        .size   ctz2, .-ctz2
        .align  1
        .globl  ctz3
        .type   ctz3, @function
ctz3:
        ctzw    a0,a0
        andi    a0,a0,127
        ret
        .size   ctz3, .-ctz3

Reply via email to