sparc.md (cpu): New attribute.
* sparc/sparc.md (cpu): New attribute. (type attribute): New value cmove (conditional moves). (cmpdi): New pattern for v9. (seq*, sne*): Add v9 support. (sgt,slt,sge,sle): Explicitly restrict operand 0 to the integer registers. Try emitting a conditional move for v9. (sgtu,sltu,sgeu,sleu): Likewise. (comparison insns): Add v9 versions. (scc insns): Add DImode versions for v9. (beq, bne, bgt, blt, bge, ble): If comparing DImode with 0 on v9, use brxx insns. Use emit_jump_insn, not emit_insn, as the latter mishandles brxx insns. (branch insns): Update calls to output_cbranch. Add v9 versions to support multiple floating point condition code regs. Add v9 versions to support brxx insns. (lo_sum, high, pic): Add v9 support. (symbolic move patterns): Disable for v9. (DImode, DFmode, TFmode moves): Add v9 support. (conditional move insns): Define for v9. (zero_extendqidi2, extendqidi2, zero_extendhidi2, extendhidi2, zero_extendsidi2, extendsidi2, floatdisf2, floatdidf2, floatditf2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2, muldi3, divdi3, udivdi3, ashldi3, ashrdi3, lshrdi3, ffsdi2): New patterns for v9. (bitfield compare insn): Add DImode version for v9. (adddi3, subdi3, negdi2, anddi3, iordi3, xordi3, one_cmpldi2, mixed mode fp mult insns, negdf2, negtf2, absdf2, abstf2, tablejump, call, call_value, untyped_call, untyped_return, indirect_jump, flush_register_windows, flush): Add v9 support. (ldd peep holes): Disable for v9. (set/compare peep hole): Define DImode version for v9. (sign extend/compare peep hole): Likewise. (return peep holes): Add v9 support. (call/jump peep holes): Add v9 support. From-SVN: r7487
This commit is contained in:
parent
61a55e8b09
commit
a8d2b75275