Porting GCC to new target, branch implementation

Savithri Venkatachalapathy snvpathy@yahoo.com
Fri Dec 12 00:15:00 GMT 2003


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/



More information about the Gcc-help mailing list