This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

Could any one 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/

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]