This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Wrong REG_UNUSED notes for PARALLEL insns?
- From: Richard Henderson <rth at redhat dot com>
- To: Georg-Johann Lay <avr at gjlay dot de>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 17 Feb 2012 09:51:27 -0800
- Subject: Re: Wrong REG_UNUSED notes for PARALLEL insns?
- References: <4F3E6E23.3010802@gjlay.de>
On 02/17/12 07:11, Georg-Johann Lay wrote:
> ; (insn 13 12 8 (parallel [
> ; (set (reg:SI 22 r22)
> ; (mem:SI (lo_sum:PSI (reg:QI 21 r21)
> ; (reg:HI 30 r30)) [0 S4 A8 AS7]))
> ; (clobber (reg:QI 21 r21))
> ; (clobber (reg:HI 30 r30))
> ; ]) movmem.c:42 15 {xload_si_libgcc}
> ; (expr_list:REG_DEAD (reg:QI 21 r21)
> ; (expr_list:REG_DEAD (reg:QI 31 r31)
> ; (expr_list:REG_UNUSED (reg:QI 21 r21)
> ; (expr_list:REG_UNUSED (reg:HI 30 r30)
> ; (nil))))))
> rcall __xload_4 ; 13 xload_si_libgcc [length = 1]
>
> Notice the REG_UNUSED for R21 and R30 which are wrong.
No, that's correct.
REG_UNUSED isn't about inputs, it's about outputs.
R21 and R30 are set (clobbered) by this insn, and their
results are (of course) UNUSED.
r~