This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Wrong REG_UNUSED notes for PARALLEL insns?


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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]