You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/target/arm
Stephen Longfield b2ba5ff272 target/arm: Use uint32_t in t32_expandimm_imm()
In t32_expandimm_imm(), we take an 8 bit value XY and construct a
32-bit value which might be of the form XY, 00XY00XY, XY00XY00, or
XYXYXYXY.  We do this with multiplications, and we use an 'int' type.
For the cases where we're setting the high byte of the 32-bit value
to XY, this means that we do an integer multiplication that might
overflow, and rely on the -fwrapv semantics to keep this from being
undefined behaviour.

It's clearer to use an unsigned type here, because we're really
doing operations on the value considered as a set of bits. The
result is the same.

The return value from the function remains 'int', because this
is a decodetree !function function, and follows the API for those
functions.

Signed-off-by: Stephen Longfield <slongfield@google.com>
Signed-off-by: Roque Arcudia Hernandez <roqueh@google.com>
Message-id: 20250219165534.3387376-1-slongfield@google.com
[PMM: Rewrote the commit message]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2 days ago
..
hvf include: Rename sysemu/ -> system/ 2 months ago
tcg target/arm: Use uint32_t in t32_expandimm_imm() 2 days ago
Kconfig kconfig: express dependency of individual boards on libfdt 10 months ago
arch_dump.c include: Rename sysemu/ -> system/ 2 months ago
arm-powerctl.c include: Rename sysemu/ -> system/ 2 months ago
arm-powerctl.h
arm-qmp-cmds.c qapi: Move include/qapi/qmp/ to include/qobject/ 2 weeks ago
common-semi-target.h target/arm/common-semi-target.h: Remove unnecessary boot.h include 1 year ago
cortex-regs.c
cpregs.h target/arm: Rename CP_ACCESS_TRAP_UNCATEGORIZED to CP_ACCESS_UNDEFINED 2 days ago
cpu-features.h target/arm: Plumb FEAT_RPRES frecpe and frsqrte through to new helper 2 weeks ago
cpu-param.h target/*: Remove TARGET_LONG_BITS from cpu-param.h 2 weeks ago
cpu-qom.h target/arm: Add support for Non-maskable Interrupt 10 months ago
cpu.c target/arm: Remove fp_status_a32 2 weeks ago
cpu.h target/arm: Honour SDCR.TDCC and SCR.TERR in AArch32 EL3 non-Monitor modes 2 days ago
cpu64.c target/arm: change default pauth algorithm to impdef 1 month ago
debug_helper.c target/arm: Use CP_ACCESS_TRAP_EL1 for traps that are always to EL1 2 days ago
gdbstub.c include: Rename sysemu/ -> system/ 2 months ago
gdbstub64.c gdbstub: Add support for MTE in system mode 5 months ago
gtimer.h target/arm: Move GTimer definitions to new 'gtimer.h' header 1 year ago
helper.c target/arm: Rename CP_ACCESS_TRAP_UNCATEGORIZED to CP_ACCESS_UNDEFINED 2 days ago
helper.h target/arm: Plumb FEAT_RPRES frecpe and frsqrte through to new helper 2 weeks ago
hvf_arm.h hvf: arm: Implement and use hvf_get_physical_address_range 5 months ago
hyp_gdbstub.c target/arm: remove break after g_assert_not_reached() 5 months ago
idau.h
internals.h target/arm: Set up float_status to use for FPCR.AH=1 behaviour 2 weeks ago
kvm-consts.h exec: Rename NEED_CPU_H -> COMPILING_PER_TARGET 10 months ago
kvm-stub.c
kvm.c acpi/ghes: better name GHES memory error function 1 month ago
kvm_arm.h include: Rename sysemu/ -> system/ 2 months ago
machine.c include: Rename sysemu/ -> system/ 2 months ago
meson.build target/arm: Move v7m-related code from cpu32.c into a separate file 12 months ago
multiprocessing.h target/arm: Expose arm_cpu_mp_affinity() in 'multiprocessing.h' header 1 year ago
ptw.c tcg: Remove TCG_OVERSIZED_GUEST 4 days ago
syndrome.h target/arm: fix exception syndrome for AArch32 bkpt insn 1 year ago
tcg-stubs.c target/arm: Move some TLBI insns to their own source file 2 months ago
trace-events target/arm: Implement FEAT_ECV CNTPOFF_EL2 handling 12 months ago
trace.h
vfp_helper.c target/arm: Simplify DO_VFP_cmp in vfp_helper.c 2 weeks ago