This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Porting GCC to new target, branch implementation
- From: Savithri Venkatachalapathy <snvpathy at yahoo dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Thu, 11 Dec 2003 16:15:25 -0800 (PST)
- Subject: Porting GCC to new target, branch implementation
Hi,
I have a question regarding branch implementation in
the .md file.
I have a cmpsi instructiosn which stores the operands
0 and 1 in static variables branch_op0 and branch_op1
and stores the result of compare(op0,op1) in register
cc0.
And in the branch instruction definition operand0 is
the label. I want to concatenate the variable
branch_op0 with the label and output as: b_eq
branch_op0 label
So I am using:
char buffer[80] =\"\" ;
rtx xoperands[1];
L1: xoperands[0] = operands[0];
...
..
...
strcat(buffer,\"%!b_%b1\");
L2: operands[0] = branch_op[0];
strcat(buffer,\" %0\");
L3: operands[0] = xoperands[0];
strcat(buffer,\" %0\");
output_asm_insn (buffer, operands);
I was expecting the output to be:
b_eq branch_op label (as per Line1, 2 and 3) instead
the output is: b_eq label label
Please tell me, how to get this right.
Thanks in advance,
savi
=====
-------------------------------------------------------------------------------
?Personality is born out of pain. It is the fire shut up in the flint.? --- Yeats
--------------------------------------------------------------------------------
__________________________________
Do you Yahoo!?
New Yahoo! Photos - easier uploading and sharing.
http://photos.yahoo.com/