This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
How is REG_EQUAL interpreted?
- From: Kazu Hirata <kazu at cs dot umass dot edu>
- To: gcc at gcc dot gnu dot org
- Date: Sat, 28 Dec 2002 21:34:14 -0500 (EST)
- Subject: How is REG_EQUAL interpreted?
Hi,
gcc's internal manual explains the interpretation of REG_EQUAL note as
If the output of the single set is a strict_low_part expression, the
note refers to the register that is contained in SUBREG_REG of the
subreg expression.
Now is it OK to have a REG_EQUAL note like the following?
(insn 16 15 19 (nil) (set (subreg:HI (reg/v:DI 17) 6)
(mem/u/f:HI (reg/f:HI 21) [3 S2 A16])) -1 (nil)
(expr_list:REG_EQUAL (const_double 1 [0x1] 1 [0x1] 0 [0x0] 0 [0x0] 0 [0x0] 0 [0x0])
(nil)))
This does not have a strict_low_part, but the REG_EQUAL note here
seems to suggest that (reg:DI 17) is equal to (const_double ...).
I get the above insn as the last insn of a sequence emitted by
move_insn for a 64-bit move.
Thanks,
Kazu Hirata