Message ID | 1527034517-7851-18-git-send-email-mjc@sifive.com |
---|---|
State | New |
Headers | show |
Series | QEMU 2.13 RISC-V updates | expand |
On 05/22/2018 09:15 PM, Michael Clark wrote: > The mode variable only uses the lower 4-bits (M,H,S,U) so > replace the GCC specific __builtin_popcount with ctpop8. > > Cc: Palmer Dabbelt <palmer@sifive.com> > Cc: Sagar Karandikar <sagark@eecs.berkeley.edu> > Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> > Cc: Alistair Francis <Alistair.Francis@wdc.com> > Signed-off-by: Michael Clark <mjc@sifive.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > hw/riscv/sifive_plic.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c > index b267ff88902d..dc6f4924e282 100644 > --- a/hw/riscv/sifive_plic.c > +++ b/hw/riscv/sifive_plic.c > @@ -383,7 +383,7 @@ static void parse_hart_config(SiFivePLICState *plic) > p = plic->hart_config; > while ((c = *p++)) { > if (c == ',') { > - addrid += __builtin_popcount(modes); > + addrid += ctpop8(modes); > modes = 0; > hartid++; > } else { > @@ -397,7 +397,7 @@ static void parse_hart_config(SiFivePLICState *plic) > } > } > if (modes) { > - addrid += __builtin_popcount(modes); > + addrid += ctpop8(modes); > } > hartid++; > >
On Tue, May 22, 2018 at 5:15 PM, Michael Clark <mjc@sifive.com> wrote: > The mode variable only uses the lower 4-bits (M,H,S,U) so > replace the GCC specific __builtin_popcount with ctpop8. > > Cc: Palmer Dabbelt <palmer@sifive.com> > Cc: Sagar Karandikar <sagark@eecs.berkeley.edu> > Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> > Cc: Alistair Francis <Alistair.Francis@wdc.com> > Signed-off-by: Michael Clark <mjc@sifive.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > hw/riscv/sifive_plic.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c > index b267ff88902d..dc6f4924e282 100644 > --- a/hw/riscv/sifive_plic.c > +++ b/hw/riscv/sifive_plic.c > @@ -383,7 +383,7 @@ static void parse_hart_config(SiFivePLICState *plic) > p = plic->hart_config; > while ((c = *p++)) { > if (c == ',') { > - addrid += __builtin_popcount(modes); > + addrid += ctpop8(modes); > modes = 0; > hartid++; > } else { > @@ -397,7 +397,7 @@ static void parse_hart_config(SiFivePLICState *plic) > } > } > if (modes) { > - addrid += __builtin_popcount(modes); > + addrid += ctpop8(modes); > } > hartid++; > > -- > 2.7.0 > >
diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c index b267ff88902d..dc6f4924e282 100644 --- a/hw/riscv/sifive_plic.c +++ b/hw/riscv/sifive_plic.c @@ -383,7 +383,7 @@ static void parse_hart_config(SiFivePLICState *plic) p = plic->hart_config; while ((c = *p++)) { if (c == ',') { - addrid += __builtin_popcount(modes); + addrid += ctpop8(modes); modes = 0; hartid++; } else { @@ -397,7 +397,7 @@ static void parse_hart_config(SiFivePLICState *plic) } } if (modes) { - addrid += __builtin_popcount(modes); + addrid += ctpop8(modes); } hartid++;
The mode variable only uses the lower 4-bits (M,H,S,U) so replace the GCC specific __builtin_popcount with ctpop8. Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Sagar Karandikar <sagark@eecs.berkeley.edu> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Cc: Alistair Francis <Alistair.Francis@wdc.com> Signed-off-by: Michael Clark <mjc@sifive.com> --- hw/riscv/sifive_plic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)