How is REG_EQUAL interpreted?
Kazu Hirata
kazu@cs.umass.edu
Sat Dec 28 20:53:00 GMT 2002
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
More information about the Gcc
mailing list