Re: CSE & compare/branch template problem

2009-12-26 Thread Paolo Bonzini
> There are some other quirks with the MicroBlaze architecture. > The cmp/cmpu instructions only take a register.  Other instructions > which can be used for equality or signed comparisons (xor or sub) > can take an immediate operand.  I'll see how they can be added. You can probably convince comb

Re: CSE & compare/branch template problem

2009-12-24 Thread Michael Eager
Paolo Bonzini wrote: On 12/21/2009 08:10 PM, Richard Henderson wrote: (define_insn_and_split "*cmp" [(set (match_operand:SI 0 "register_operand" "=r") (lt:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "register_operand" "r")))] "" "cmp %0,%1

Re: CSE & compare/branch template problem

2009-12-23 Thread Paolo Bonzini
On 12/21/2009 08:10 PM, Richard Henderson wrote: (define_insn_and_split "*cmp" [(set (match_operand:SI 0 "register_operand" "=r") (lt:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "register_operand" "r")))] "" "cmp %0,%1,%2\;andi $0,$0,1"

Re: CSE & compare/branch template problem

2009-12-21 Thread Richard Henderson
On 12/18/2009 03:18 PM, Michael Eager wrote: MicroBlaze has a bit unusual compare and branch architecture. There are no condition flags; comparison results are stored in a result register. This like Alpha or MIPS then. There's one branch instruction, which compares a register with zero and br

Re: CSE & compare/branch template problem

2009-12-20 Thread Paolo Bonzini
On 12/19/2009 01:07 AM, Joern Rennecke wrote: Quoting Michael Eager : Hi -- I'm working on creating the cstore and cbranch templates for the Xilinx MicroBlaze processor. In theory cstore / cbranch should be the future, but the last time I tried to use them, they didn't quite work right yet,

Re: CSE & compare/branch template problem

2009-12-19 Thread Michael Eager
Joern Rennecke wrote: Quoting Michael Eager : Hi -- I'm working on creating the cstore and cbranch templates for the Xilinx MicroBlaze processor. In theory cstore / cbranch should be the future, but the last time I tried to use them, they didn't quite work right yet, particularily if you hav

Re: CSE & compare/branch template problem

2009-12-18 Thread Joern Rennecke
Quoting Michael Eager : Hi -- I'm working on creating the cstore and cbranch templates for the Xilinx MicroBlaze processor. In theory cstore / cbranch should be the future, but the last time I tried to use them, they didn't quite work right yet, particularily if you have an incomplete compari

CSE & compare/branch template problem

2009-12-18 Thread Michael Eager
Hi -- I'm working on creating the cstore and cbranch templates for the Xilinx MicroBlaze processor. I've run into some problems and an unexpected interaction with CSE processing. Possibly, the insns I'm generating for comparisons are not what the CSE optimization expects. MicroBlaze has a bit u