[Patch, microblaze]: Adjustments to pcmp instruction generation

Michael Eager eager@eagerm.com
Wed Feb 27 17:22:00 GMT 2013


On 02/10/2013 10:40 PM, David Holsgrove wrote:
> Adjustments to pcmp instruction generation
>
> avoid pcmpe insns when not valuable
>
> For pure in and equality comparisions, xor is better,
> Xor is a one cycle insn as pcmp.
>
> Pattern insns will still be used when you need to
> conditionally set something to one or zero, e.g
>
> if (a)
>    return 1;
> else
>    return 0;
>
> Define contraint for first operand in insn matching
> fcmp as general register
>
> Add a constraint to the cstoresf pattern forcing the use of
> general regs for the operands. This avoids an ICE where the
> compiler would crash on late usage of pseudo registers.
>
> Changelog
>
> 2013-02-11  Edgar E. Iglesias <edgar.iglesias@gmail.com>
>
>    * config/microblaze/microblaze.c (microblaze_emit_compare):
>       Use xor for EQ/NE comparisions
>    * config/microblaze/microblaze.md (cstoresf4): Add constraints
>       (cbranchsf4): Adjust operator to comparison_operator

Committed revision 196315.


-- 
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077



More information about the Gcc-patches mailing list