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]

machine description - 'high' meaning



   have tried to describe a double precision multiplication operation by a
define_expand. My problem is -I guess- that I don't know if (high)
expression really considers the high portion of a register, as I want to
specify.
  So I come into such dump fragment, where the REG_EQUAL note is totally
wrong with my intention.

(insn 13 12 14 (set (reg:SI 38)
        (mult:SI (zero_extend:SI (subreg:HI (reg:SI 35) 0))
            (zero_extend:SI (subreg:HI (reg:SI 36) 0)))) -1 (nil)
    (nil))

(insn 14 13 16 (set (reg:SI 37)
        (mult:SI (high:SI (reg:SI 35))
            (zero_extend:SI (subreg:HI (reg:SI 36) 0)))) -1 (nil)
    (expr_list:REG_EQUAL (mult:SI (reg:SI 35)
            (reg:SI 36))
        (nil)))

 In case my assumption about (high) is wrong, could you guide me please
through the right expression?

  Thank you so much,
  Adrian


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