]> git.ipfire.org Git - thirdparty/gcc.git/commit
[PATCH 1/2] ia64: Fix zero_call_used_regs for PRs [PR121535]
authorTomas Glozar <tglozar@gmail.com>
Wed, 7 Jan 2026 16:02:15 +0000 (09:02 -0700)
committerJeff Law <jeffrey.law@oss.qualcomm.com>
Wed, 7 Jan 2026 16:02:15 +0000 (09:02 -0700)
commitcdbe47a9f1c92842a240cbbbd0aa6590e84e2cb9
tree10dc79560dba2035c65fbf8d000d8ba239fb34b2
parentbb9cb9c7c0abb3bad257322f55b60293b7fecf27
[PATCH 1/2] ia64: Fix zero_call_used_regs for PRs [PR121535]

ia64 uses default_zero_call_used_regs(), which uses emit_move_insn()
to zero out registers. ia64 predicate registers use BImode, which is not
supported by emit_move_insn().

Implement ia64_zero_call_used_regs() to zero PRs by manually emitting
a CCImode move. default_zero_call_used_regs() is then called to handle
the remaining registers.

PR target/121535

gcc/ChangeLog:

* config/ia64/ia64.cc (TARGET_ZERO_CALL_USED_REGS): Override
function with target-specific one.
(struct gcc_target): Move to end of file.
(ia64_zero_call_used_regs): Add target-specific function.

gcc/testsuite/ChangeLog:

* gcc.target/ia64/pr121535.c: New test.

Signed-off-by: Tomas Glozar <tglozar@gmail.com>
gcc/config/ia64/ia64.cc
gcc/testsuite/gcc.target/ia64/pr121535.c [new file with mode: 0644]