1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/test/CodeGen/AArch64
Tim Northover 31e1362588 TableGen: fix operand counting for aliases
TableGen has a fairly dubious heuristic to decide whether an alias should be
printed: does the alias have lest operands than the real instruction. This is
bad enough (particularly with no way to override it), but it should at least be
calculated consistently for both strings.

This patch implements that logic: first get the *correct* string for the
variant, in the same way as the Matcher, without guessing; then count the
number of whitespace chars.

There are basically 4 changes this brings about after the previous
commits; all of these appear to be good, so I have changed the tests:

+ ARM64: we print "neg X, Y" instead of "sub X, xzr, Y".
+ ARM64: we skip implicit "uxtx" and "uxtw" modifiers.
+ Sparc: we print "mov A, B" instead of "or %g0, A, B".
+ Sparc: we print "fcmpX A, B" instead of "fcmpX %fcc0, A, B"

llvm-svn: 208969
2014-05-16 09:42:04 +00:00
..
128bit_load_store.ll ARM64: start porting regression test suite from AArch64 2014-04-14 12:50:41 +00:00
adc.ll [ARM64-BE] Make big endian (scalar) argument passing work correctly. 2014-05-07 11:28:36 +00:00
addsub_ext.ll ARM64: specify full triple in tests to pacify Windows. 2014-04-14 13:18:48 +00:00
addsub-shifted.ll TableGen: fix operand counting for aliases 2014-05-16 09:42:04 +00:00
addsub.ll AArch64/ARM64: use HS instead of CS & LO instead of CC. 2014-04-30 13:14:03 +00:00
alloca.ll ARM64: print canonical syntax for add/sub (imm) instructions. 2014-04-30 11:19:15 +00:00
analyze-branch.ll ARM64: enable more regression tests from AArch64 2014-04-14 12:50:58 +00:00
andCmpBrToTBZ.ll AArch64/ARM64: more testing from AArch64 to ARM64 2014-04-22 12:45:47 +00:00
assertion-rc-mismatch.ll ARM64: specify full triple in tests to pacify Windows. 2014-04-14 13:18:48 +00:00
atomic-ops-not-barriers.ll ARM64: enable more regression tests from AArch64 2014-04-14 12:50:58 +00:00
atomic-ops.ll AArch64/ARM64: port atomics test to ARM64. 2014-04-18 09:31:31 +00:00
basic-pic.ll ARM64: specify full triple in tests to pacify Windows. 2014-04-14 13:18:48 +00:00
bitfield-insert-0.ll ARM64: specify full triple in tests to pacify Windows. 2014-04-14 13:18:48 +00:00
bitfield-insert.ll AArch64/ARM64: print BFM instructions as BFI or BFXIL 2014-05-01 12:29:38 +00:00
bitfield.ll [ARM64] Print preferred aliases for SFBM/UBFM in InstPrinter 2014-04-25 10:25:29 +00:00
blockaddress.ll ARM64: enable more regression tests from AArch64 2014-04-14 12:50:58 +00:00
bool-loads.ll [ARM64] Print preferred aliases for SFBM/UBFM in InstPrinter 2014-04-25 10:25:29 +00:00
breg.ll ARM64: specify full triple in tests to pacify Windows. 2014-04-14 13:18:48 +00:00
callee-save.ll ARM64: specify full triple in tests to pacify Windows. 2014-04-14 13:18:48 +00:00
code-model-large-abs.ll ARM64: specify full triple in tests to pacify Windows. 2014-04-14 13:18:48 +00:00
compare-branch.ll ARM64: specify full triple in tests to pacify Windows. 2014-04-14 13:18:48 +00:00
complex-copy-noneon.ll AArch64/ARM64: run test on ARM64 too. 2014-05-07 10:47:04 +00:00
concatvector-bugs.ll AArch64/ARM64: more testing from AArch64 to ARM64 2014-04-22 12:45:47 +00:00
cond-sel.ll TableGen: use PrintMethods to print more aliases 2014-05-12 18:04:06 +00:00
cpus.ll AArch64/ARM64: enable various AArch64 tests on ARM64. 2014-04-22 10:10:26 +00:00
directcond.ll TableGen: use PrintMethods to print more aliases 2014-05-12 18:04:06 +00:00
dp1.ll AArch64/ARM64: add dp tests from AArch64 2014-04-15 13:59:40 +00:00
dp2.ll AArch64/ARM64: add dp tests from AArch64 2014-04-15 13:59:40 +00:00
dp-3source.ll AArch64/ARM64: add dp tests from AArch64 2014-04-15 13:59:40 +00:00
eliminate-trunc.ll [ARM64] Set default CPU to generic instead of cyclone. 2014-04-15 19:08:46 +00:00
extern-weak.ll AArch64/ARM64: add more arm64 lines to AArch64 regression tests 2014-04-15 13:59:44 +00:00
extract.ll TableGen: use PrintMethods to print more aliases 2014-05-12 18:04:06 +00:00
fastcc-reserved.ll [ARM64] Support aggressive fastcc/tailcallopt breaking ABI by popping out argument stack from callee. 2014-05-15 01:33:17 +00:00
fastcc.ll [ARM64] Support aggressive fastcc/tailcallopt breaking ABI by popping out argument stack from callee. 2014-05-15 01:33:17 +00:00
fcmp.ll AArch64/ARM64: add more arm64 lines to AArch64 regression tests 2014-04-15 13:59:44 +00:00
fcvt-fixed.ll AArch64/ARM64: copy patterns for fixed-point conversions 2014-04-15 13:59:57 +00:00
fcvt-int.ll AArch64/ARM64: enable more AArch64 tests on ARM64. 2014-04-15 14:00:29 +00:00
flags-multiuse.ll TableGen: use PrintMethods to print more aliases 2014-05-12 18:04:06 +00:00
floatdp_1source.ll AArch64/ARM64: add half as a storage type on ARM64. 2014-04-15 14:00:03 +00:00
floatdp_2source.ll [ARM64] Set default CPU to generic instead of cyclone. 2014-04-15 19:08:46 +00:00
fp128-folding.ll AArch64/ARM64: enable more AArch64 tests on ARM64. 2014-04-15 14:00:29 +00:00
fp128.ll TableGen: use PrintMethods to print more aliases 2014-05-12 18:04:06 +00:00
fp-cond-sel.ll [ARM64] Set default CPU to generic instead of cyclone. 2014-04-15 19:08:46 +00:00
fp-dp3.ll AArch64/ARM64: add patterns for various commutations of FNMADD. 2014-04-15 14:00:06 +00:00
fpimm.ll AArch64/ARM64: enable more AArch64 tests on ARM64. 2014-04-15 14:00:29 +00:00
frameaddr.ll AArch64/ARM64: enable more AArch64 tests on ARM64. 2014-04-15 14:00:29 +00:00
free-zext.ll AArch64/ARM64: enable more AArch64 tests on ARM64. 2014-04-15 14:00:29 +00:00
func-argpassing.ll [ARM64-BE] Make big endian (scalar) argument passing work correctly. 2014-05-07 11:28:36 +00:00
func-calls.ll TableGen/ARM64: print aliases even if they have syntax variants. 2014-05-15 11:16:32 +00:00
global-alignment.ll Special case aliases in GlobalValue::getAlignment. 2014-05-06 16:48:58 +00:00
global-merge.ll Implement global merge optimization for global variables. 2014-05-15 23:45:42 +00:00
got-abuse.ll AArch64/ARM64: enable more AArch64 tests on ARM64. 2014-04-15 14:00:29 +00:00
i128-align.ll ARM64: use 32-bit moves for constants where possible. 2014-04-16 11:52:51 +00:00
i128-shift.ll AArch64/ARM64: enable more AArch64 tests on ARM64. 2014-04-15 14:00:29 +00:00
illegal-float-ops.ll AArch64/ARM64: enable more AArch64 tests on ARM64. 2014-04-15 14:00:29 +00:00
init-array.ll AArch64/ARM64: enable more AArch64 tests on ARM64. 2014-04-15 14:00:29 +00:00
inline-asm-constraints-badI.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
inline-asm-constraints-badK2.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
inline-asm-constraints-badK.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
inline-asm-constraints-badL.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
inline-asm-constraints.ll Re-commit: Demote EmitRawText call in AsmPrinter::EmitInlineAsm() and remove hasRawTextSupport() call 2014-02-13 14:44:26 +00:00
inline-asm-modifiers.ll Re-commit: Demote EmitRawText call in AsmPrinter::EmitInlineAsm() and remove hasRawTextSupport() call 2014-02-13 14:44:26 +00:00
jump-table.ll AArch64/ARM64: add support for large code-model jump tables. 2014-04-15 14:00:11 +00:00
large-consts.ll AArch64/ARM64: only mangle MOVZ/MOVN during encoding when needed 2014-04-15 14:00:15 +00:00
large-frame.ll AArch64/ARM64: more testing from AArch64 to ARM64 2014-04-22 12:45:47 +00:00
ldst-regoffset.ll [ARM64] Add RUN lines for "–target arm64 –mattr=-fp-armv8" on AArch64 no-fp test. 2014-04-25 09:44:20 +00:00
ldst-unscaledimm.ll [ARM64] Add RUN lines for "–target arm64 –mattr=-fp-armv8" on AArch64 no-fp test. 2014-04-25 09:44:20 +00:00
ldst-unsignedimm.ll [ARM64] Add RUN lines for "–target arm64 –mattr=-fp-armv8" on AArch64 no-fp test. 2014-04-25 09:44:20 +00:00
lit.local.cfg ARM64: start porting regression test suite from AArch64 2014-04-14 12:50:41 +00:00
literal_pools_float.ll [ARM64] Add RUN lines for "–target arm64 –mattr=-fp-armv8" on AArch64 no-fp test. 2014-04-25 09:44:20 +00:00
literal_pools_int.ll AArch64/ARM64: enable more AArch64 tests on ARM64. 2014-04-15 14:00:29 +00:00
local_vars.ll AArch64/ARM64: more testing from AArch64 to ARM64 2014-04-22 12:45:47 +00:00
logical_shifted_reg.ll AArch64/ARM64: make use of ANDS and BICS instructions for comparisons. 2014-04-22 12:45:42 +00:00
logical-imm.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
mature-mc-support.ll ARM64: use the integrated assembler on ELF. 2014-04-16 11:52:40 +00:00
misched-basic-A53.ll AArch64/ARM64: enable various AArch64 tests on ARM64. 2014-04-22 10:10:26 +00:00
movw-consts.ll ARM64: use hex immediates for movz/movk instructions 2014-04-30 11:19:40 +00:00
movw-shift-encoding.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
mul-lohi.ll [ARM64-BE] Make big endian (scalar) argument passing work correctly. 2014-05-07 11:28:36 +00:00
named-reg-alloc.ll AArch64/ARM64: put annotation in test 2014-05-07 10:47:00 +00:00
named-reg-notareg.ll AArch64/ARM64: put annotation in test 2014-05-07 10:47:00 +00:00
neon-2velem-high.ll AArch64/ARM64: port some NEON tests to ARM64 2014-04-16 15:28:02 +00:00
neon-2velem.ll AArch64/ARM64: port some NEON tests to ARM64 2014-04-16 15:28:02 +00:00
neon-3vdiff.ll AArch64/ARM64: port some NEON tests to ARM64 2014-04-16 15:28:02 +00:00
neon-aba-abd.ll AArch64/ARM64: port some NEON tests to ARM64 2014-04-16 15:28:02 +00:00
neon-across.ll AArch64/ARM64: port some NEON tests to ARM64 2014-04-16 15:28:02 +00:00
neon-add-pairwise.ll AArch64/ARM64: port some NEON tests to ARM64 2014-04-16 15:28:02 +00:00
neon-add-sub.ll AArch64/ARM64: port some NEON tests to ARM64 2014-04-16 15:28:02 +00:00
neon-bitcast.ll AArch64/ARM64: port some NEON tests to ARM64 2014-04-16 15:28:02 +00:00
neon-bitwise-instructions.ll ARM64: print correct aliases for NEON mov & mvn instructions 2014-05-15 12:11:02 +00:00
neon-bsl.ll AArch64/ARM64: port BSL logic from AArch64 & enable test. 2014-04-18 09:31:01 +00:00
neon-compare-instructions.ll ARM64: print correct aliases for NEON mov & mvn instructions 2014-05-15 12:11:02 +00:00
neon-copy.ll AArch64/ARM64: spot a greater variety of concat_vector operations. 2014-04-18 09:31:27 +00:00
neon-copyPhysReg-tuple.ll TableGen/ARM64: print aliases even if they have syntax variants. 2014-05-15 11:16:32 +00:00
neon-crypto.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-diagnostics.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-extract.ll AArch64/ARM64: improve spotting of EXT instructions from VECTOR_SHUFFLE. 2014-04-18 12:50:58 +00:00
neon-facge-facgt.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-fma.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-fpround_f128.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-frsqrt-frecp.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-halving-add-sub.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-idiv.ll AArch64: Mark vector long multiplication as expand. 2014-04-29 09:37:54 +00:00
neon-load-store-v1i32.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-max-min-pairwise.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-max-min.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-misc-scalar.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-misc.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-mla-mls.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-mov.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-mul-div.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-or-combine.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-perm.ll TableGen/ARM64: print aliases even if they have syntax variants. 2014-05-15 11:16:32 +00:00
neon-rounding-halving-add.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-rounding-shift.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-saturating-add-sub.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-saturating-rounding-shift.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-saturating-shift.ll AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +00:00
neon-scalar-abs.ll AArch64/ARM64: enable various AArch64 tests on ARM64. 2014-04-22 10:10:26 +00:00
neon-scalar-add-sub.ll AArch64/ARM64: enable various AArch64 tests on ARM64. 2014-04-22 10:10:26 +00:00
neon-scalar-by-elem-fma.ll AArch64/ARM64: enable various AArch64 tests on ARM64. 2014-04-22 10:10:26 +00:00
neon-scalar-by-elem-mul.ll AArch64/ARM64: mark fmul intrinsic as commutative. 2014-04-22 10:10:14 +00:00
neon-scalar-compare.ll AArch64/ARM64: enable various AArch64 tests on ARM64. 2014-04-22 10:10:26 +00:00
neon-scalar-copy.ll AArch64/ARM64: add patterns for scalar_to_vector/extract pairs 2014-04-22 10:10:18 +00:00
neon-scalar-cvt.ll AArch64/ARM64: enable various AArch64 tests on ARM64. 2014-04-22 10:10:26 +00:00
neon-scalar-ext.ll AArch64/ARM64: enable various AArch64 tests on ARM64. 2014-04-22 10:10:26 +00:00
neon-scalar-extract-narrow.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-fabd.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-fcvt.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-fp-compare.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-mul.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-neg.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-recip.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-reduce-pairwise.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-rounding-shift.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-saturating-add-sub.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-saturating-rounding-shift.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-saturating-shift.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-shift-imm.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-scalar-shift.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-select_cc.ll TableGen: use PrintMethods to print more aliases 2014-05-12 18:04:06 +00:00
neon-shift-left-long.ll AArch64/ARM64: add more NEON tests. 2014-04-18 14:54:53 +00:00
neon-shift.ll AArch64/ARM64: add more NEON tests. 2014-04-18 14:54:53 +00:00
neon-shl-ashr-lshr.ll ARM64: add extra NEG pattern. 2014-04-18 14:54:35 +00:00
neon-simd-ldst-multi-elem.ll AArch64: print NEON lists with a space. 2014-04-24 14:06:20 +00:00
neon-simd-ldst-one.ll AArch64: print NEON lists with a space. 2014-04-24 14:06:20 +00:00
neon-simd-ldst.ll AArch64: print NEON lists with a space. 2014-04-24 14:06:20 +00:00
neon-simd-post-ldst-multi-elem.ll AArch64: print NEON lists with a space. 2014-04-24 14:06:20 +00:00
neon-simd-post-ldst-one.ll AArch64: print NEON lists with a space. 2014-04-24 14:06:20 +00:00
neon-simd-shift.ll AArch64/ARM64: enable various AArch64 tests on ARM64. 2014-04-22 10:10:26 +00:00
neon-simd-tbl.ll AArch64: print NEON lists with a space. 2014-04-24 14:06:20 +00:00
neon-simd-vget.ll AArch64/ARM64: enable various AArch64 tests on ARM64. 2014-04-22 10:10:26 +00:00
neon-spill-fpr8-fpr16.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
neon-truncStore-extLoad.ll AArch64: print NEON lists with a space. 2014-04-24 14:06:20 +00:00
neon-v1i1-setcc.ll AArch64/ARM64: port more tests 2014-04-24 12:11:46 +00:00
neon-vector-list-spill.ll AArch64/ARM64: add extra testing from AArch64 to ARM64 2014-04-22 12:45:32 +00:00
pic-eh-stubs.ll [ARM64] Ensure arm64_be is dealt with when emitting debug info. 2014-04-30 10:15:35 +00:00
ragreedy-csr.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
regress-bitcast-formals.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
regress-f128csel-flags.ll DAGCombiner: don't optimise non-existant litpool load 2014-04-16 09:03:09 +00:00
regress-fp128-livein.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
regress-tail-livereg.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
regress-tblgen-chains.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
regress-w29-reserved-with-fp.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
regress-wzr-allocatable.ll AArch64/ARM64: port more tests 2014-04-24 12:11:46 +00:00
returnaddr.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
setcc-takes-i32.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
sext_inreg.ll AArch64/ARM64: port more tests 2014-04-24 12:11:46 +00:00
sibling-call.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
sincos-expansion.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
sincospow-vector-expansion.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
stackpointer.ll AArch64/ARM64: put annotation in test 2014-05-07 10:47:00 +00:00
tail-call.ll [ARM64] Support aggressive fastcc/tailcallopt breaking ABI by popping out argument stack from callee. 2014-05-15 01:33:17 +00:00
tls-dynamic-together.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
tls-dynamics.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
tls-execs.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
tst-br.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
unaligned-vector-ld1-st1.ll AArch64: print NEON lists with a space. 2014-04-24 14:06:20 +00:00
variadic.ll AArch64/ARM64: enable various AArch64 tests on ARM64. 2014-04-22 10:10:26 +00:00
zero-reg.ll AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00