arm: testsuite: remove some flaky code-size tests

Code size tests on Arm are notoriously flaky because there are
numerous ISA variants (Arm, Thumb-1 and Thumb-2) to consider in
addition to a number of other variants from multiple sub-architecture
and micro-architectural tuning options.  In combination this means
that we have continuous testsuite churn if the constraints are tight
enough to detect real regressions.

So this patch eliminates most of these checks, except where the code
size test is the only test that is done (other than the compilation
itself).  Where that is the case I've tightened the compiler options
to limit the test to one set of architecture flags, thereby
eliminating most of the sources of variation.

In some cases I've replaced a code-size check with some other test of
the output, based on the intent of the original patch that motivated
the test.  For example, the max-insns-skipped test now checks that an
IT instruction is not generated rather than checking the size of the
binary (which was a side-effect of not generating IT).

gcc/testsuite/ChangeLog:

	* lib/target-supports.exp: Add arm_arch_v7a_thumb.
	* gcc.target/arm/ifcvt-size-check.c: Add options to force thumb1.
	* gcc.target/arm/ivopts-2.c: Remove object size check.
	* gcc.target/arm/ivopts-3.c: Likewise.
	* gcc.target/arm/ivopts-4.c: Likewise.
	* gcc.target/arm/ivopts-5.c: Likewise.
	* gcc.target/arm/ivopts.c: Likewise.
	* gcc.target/arm/max-insns-skipped.c: Scan for absence of an IT
	instruction.  Remove object size check.  Use arm_arch_v7a_thumb.
	* gcc.target/arm/pr43597.c: Remove object size check and use
	arm_arch_v7a_thumb.
	* gcc.target/arm/pr63210.c: Use arm_arch_v5t_thumb options.
	* gcc.target/arm/split-live-ranges-for-shrink-wrap.c: Remove
	object size check and use arm_arch_v5t_thumb options.
11 files changed