Add support for the VIS3 addxc instruction.
authorDavid S. Miller <davem@davemloft.net>
Fri, 28 Oct 2011 05:52:52 +0000 (05:52 +0000)
committerDavid S. Miller <davem@gcc.gnu.org>
Fri, 28 Oct 2011 05:52:52 +0000 (22:52 -0700)
commit1864ee35eb555ae6f0e956f8fad59958870350ea
tree282fd8d8aa553ae2b1dd8e3b41ec72721586aee8
parent0a940828f6dce12ae6e9b3e5c7317c086682974d
Add support for the VIS3 addxc instruction.

gcc/

* config/sparc/sparc.md (snedi_special): Only match when not VIS3.
(*snedi_zero): Likewise.
(*snedi_zero_trunc): Likewise.
(snedi_special_vis3): New expander.
(*snedi_zero_vis3): New insn.
(*snedi_zero_trunc_vis3): Likewise.
(*sltu_insn_vis3): Likewise.
(*sltu_insn_vis3_trunc): Likewise.
(addxc): Likewise.
(*addxc_trunc_sp64_vis3): Likewise.
* config/sparc/sparc.c (emit_scc_insn): When VIS3 use the
gen_snedi_special_vis3 expander, and try GTU/LTU addx based
sequences on DImode values.

gcc/testsuite/

* gcc.target/sparc/setcc-3.c: New test.

From-SVN: r180602
gcc/ChangeLog
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.md
gcc/testsuite/ChangeLog