Problem with `unspec' construct
Nitin Jain
nitinj@cse.iitb.ac.in
Mon Apr 26 01:02:00 GMT 2004
Dear Sir,
I am trying to understand different constructs within .md file.
I have one problem with `unspec' construct. In the GCC manual, it is
written that it is used with respect to some machine specific operation.
For example (From i386.md)
-------------------------------------------------------------------------
(define_insn "ffssi_1"
[(set (match_operand:SI 0 "register_operand" "=r")
(unspec:SI [(match_operand:SI 1 "nonimmediate_operand" "rm")] 5))]
""
"* return AS2 (bsf%L0,%1,%0);")
-------------------------------------------------------------------------
So my doubt is
o To which operation, this `unspec' operation or construct will match at
compile time.
o What is the significance of `5' in `unspec' construct. Manual says that
this is index to some m/c specific operation. So is there some ordering
between those operation.
o And finally, are those operation are different from what defined in the
.md file. If yes then where those operation are defined and if not,
then what is the ordering between the operation defined in .md file.
I saw same problem in GCC mailing list but there is no satisfactory answer
to that question. That why i am mailing to this mail-ID.
Please clarify my doubt. Sorry for the inconvenience.
Thanks in advance.
Nitin
---------------------------
Nitin Jain (H-12/#A-415)
Computer Science and Engg,
IIT BOMBAY,
POWAI, MUMBAI 400076
Phone : 4748 (Lab)
---------------------------
More information about the Gcc
mailing list