Porting GCC to new target, branch implementation

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


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

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];
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,

 “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.

More information about the Gcc-help mailing list