rs6000: Remove "O" alternative from lshrsi3

Nothing will ever generate RTL matching this alternative.  Maybe long
ago this was needed, but not anymore.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211875 138bc75d-0d04-0410-961f-82ee72b054a4
rs6000: Merge lshrsi3 and lshrdi3

For this create a new mode_attr "hH".

Also change "i" constraints on the shift amount to "n", which better
describes what it really is (GCC takes the integer value of these
operands and does arithmetic on them; symbolic constants will not work
here).

Also merge the "dot" insns with the corresponding splitters.  To do
this, don't allow the dot insns for CBE non-microcode mode at all
(it previously would just split it back always).


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211876 138bc75d-0d04-0410-961f-82ee72b054a4
Merge ashlsi3 and ashldi3


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211877 138bc75d-0d04-0410-961f-82ee72b054a4
rs6000: Merge rotlsi3 and rotldi3

This uses the rotl* extended mnemonics instead of the rlw*nm and rld*cl
mnemonics, because they are shorter and more importantly they look the
same for 32-bit and 64-bit.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211878 138bc75d-0d04-0410-961f-82ee72b054a4
rs6000: Merge ashrsi3 and ashrdi3


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211879 138bc75d-0d04-0410-961f-82ee72b054a4
rs6000: Merge the var_shift yes/no alternatives

All instructions that are "var_shift" for some alternative have the shift
amount as operands[2].

This patch introduces an attribute "maybe_var_shift".  If that is set to
"yes", the default value of "var_shift" is set based on the operands[2]
value.

With that, we can merge the var_shift yes/no cases everywhere.  Do so.

Also change some more "i" to "n".


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211880 138bc75d-0d04-0410-961f-82ee72b054a4
PR target/61565

* compare-elim.c (struct comparison): Add eh_note.
(find_comparison_dom_walker::before_dom_children): Don't eliminate
a redundant comparison in a different EH region.  Purge EH edges if
necessary.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211881 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211884 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-23  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* loop-invariant.c (pre_check_invariant_p): New function.
	(find_invariant_insn): Call pre_check_invariant_p.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211885 138bc75d-0d04-0410-961f-82ee72b054a4
	* lto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority
	directly.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211886 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Implement ADD in vector registers for 32-bit scalar values.

gcc/

	* config/aarch64/aarch64.md (*addsi3_aarch64): Add alternative in
	vector registers.

gcc/testsuite/

	* gcc.target/aarch64/scalar_shift_1.c: Fix expected assembler.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211887 138bc75d-0d04-0410-961f-82ee72b054a4
Merge remote-tracking branch 'parent/master' into ipa-ref-refactoring

Conflicts:
	gcc/ChangeLog