machine description - 'high' meaning

Dragos Badea badrian@ss.pub.ro
Wed Apr 12 10:43:00 GMT 2000


   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



More information about the Gcc mailing list