gcc/ 2012-11-15 David S. Miller <davem@davemloft.net> * configure.ac: Add check for assembler SPARC4 instruction support. * configure: Rebuild. * config.in: Add HAVE_AS_SPARC4 section. * config/sparc/sparc.opt (mcbcond): New option. * doc/invoke.texi: Document it. * config/sparc/constraints.md: New constraint 'A' for 5-bit signed immediates. * doc/md.texi: Document it. * config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_CBCOND. (sparc_option_override): Likewise. (emit_cbcond_insn): New function. (emit_conditional_branch_insn): Call it. (emit_cbcond_nop): New function. (output_ubranch): Use cbcond, remove label arg. (output_cbcond): New function. * config/sparc/sparc-protos.h (output_ubranch): Update. (output_cbcond): Declare it. (emit_cbcond_nop): Likewise. * config/sparc/sparc.md (type attribute): New types 'cbcond' and uncond_cbcond. (emit_cbcond_nop): New attribute. (length attribute): Handle cbcond and uncond_cbcond. (in_call_delay attribute): Reject cbcond and uncond_cbcond. (in_branch_delay attribute): Likewise. (in_uncond_branch_delay attribute): Likewise. (in_annul_branch_delay attribute): Likewise. (*cbcond_sp32, *cbcond_sp64): New insn patterns. (jump): Rewrite into an expander. (*jump_ubranch, *jump_cbcond): New patterns. * config/sparc/niagara4.md: Match 'cbcond' in 'n4_cti'. * config/sparc/sparc.h (AS_NIAGARA4_FLAG): New macro, use it when target default is niagara4. (SPARC_SIMM5_P): Define. * config/sparc/sol2.h (AS_SPARC64_FLAG): Adjust. (AS_SPARC32_FLAG): Define. (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Use AS_NIAGARA4_FLAG as needed. From-SVN: r193543
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
biarch64.h | Loading commit data... | |
constraints.md | Loading commit data... | |
cypress.md | Loading commit data... | |
default-64.h | Loading commit data... | |
driver-sparc.c | Loading commit data... | |
freebsd.h | Loading commit data... | |
hypersparc.md | Loading commit data... | |
leon.md | Loading commit data... | |
linux.h | Loading commit data... | |
linux64.h | Loading commit data... | |
long-double-switch.opt | Loading commit data... | |
netbsd-elf.h | Loading commit data... | |
niagara.md | Loading commit data... | |
niagara2.md | Loading commit data... | |
niagara4.md | Loading commit data... | |
openbsd1-64.h | Loading commit data... | |
openbsd64.h | Loading commit data... | |
predicates.md | Loading commit data... | |
rtemself.h | Loading commit data... | |
sol2.h | Loading commit data... | |
sp-elf.h | Loading commit data... | |
sp64-elf.h | Loading commit data... | |
sparc-c.c | Loading commit data... | |
sparc-modes.def | Loading commit data... | |
sparc-opts.h | Loading commit data... | |
sparc-protos.h | Loading commit data... | |
sparc.c | Loading commit data... | |
sparc.h | Loading commit data... | |
sparc.md | Loading commit data... | |
sparc.opt | Loading commit data... | |
sparclet.md | Loading commit data... | |
supersparc.md | Loading commit data... | |
sync.md | Loading commit data... | |
sysv4.h | Loading commit data... | |
t-elf | Loading commit data... | |
t-leon | Loading commit data... | |
t-leon3 | Loading commit data... | |
t-linux | Loading commit data... | |
t-linux64 | Loading commit data... | |
t-netbsd64 | Loading commit data... | |
t-rtems | Loading commit data... | |
t-rtems-64 | Loading commit data... | |
t-sol2-64 | Loading commit data... | |
t-sparc | Loading commit data... | |
t-vxworks | Loading commit data... | |
tso.h | Loading commit data... | |
ultra1_2.md | Loading commit data... | |
ultra3.md | Loading commit data... | |
visintrin.h | Loading commit data... | |
vxworks.h | Loading commit data... | |
x-sparc | Loading commit data... |