llvm-project/llvm/test/CodeGen/AArch64
Hao Liu 774cabb538 [AArch64]Fix the pattern match failure for v1i8/v1i16/v1i32 types.
Currently we have such types as legal vector types. The DAG combiner may generate some DAG nodes having such types but we don't have patterns to match them.
E.g. a load i32 and a bitcast i32 to v1i32 will be combined into a load v1i32:
     bitcast (load i32) to v1i32 -> load v1i32.
So this patch fixes such problems for load/dup instructions.
If v1i8/v1i16/v1i32 are not legal any more, the code in this patch can be deleted. So I also add some FIXME.

llvm-svn: 197361
2013-12-16 02:51:28 +00:00
..
128bit_load_store.ll [AArch64 NEON] Support poly128_t and implement relevant intrinsic. 2013-12-10 06:48:35 +00:00
adc.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
addsub-shifted.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
addsub.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
addsub_ext.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
alloca.ll [AArch64] Make the use of FP instructions optional, but enabled by default. 2013-10-31 09:32:11 +00:00
analyze-branch.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
assertion-rc-mismatch.ll Fix an over-constrained assertion in MachineFunction::addLiveIn. 2013-12-12 00:15:47 +00:00
atomic-ops-not-barriers.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
atomic-ops.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
basic-pic.ll Convert a llc -filetype=obj test into a llvm-mc test. 2013-10-28 20:40:20 +00:00
bitfield-insert-0.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
bitfield-insert.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
bitfield.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
blockaddress.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
bool-loads.ll
breg.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
callee-save.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
code-model-large-abs.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
compare-branch.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
complex-copy-noneon.ll AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
cond-sel.ll [AArch64] Make the use of FP instructions optional, but enabled by default. 2013-10-31 09:32:11 +00:00
directcond.ll [AArch64] Make the use of FP instructions optional, but enabled by default. 2013-10-31 09:32:11 +00:00
dp-3source.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
dp1.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
dp2.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
extern-weak.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
extract.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
fastcc-reserved.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
fastcc.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
fcmp.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
fcvt-fixed.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
fcvt-int.ll AArch64: enable MISched by default. 2013-10-09 07:53:57 +00:00
flags-multiuse.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
floatdp_1source.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
floatdp_2source.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
fp-cond-sel.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
fp-dp3.ll AArch64: enable MISched by default. 2013-10-09 07:53:57 +00:00
fp128-folding.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
fp128.ll AArch64: enable MISched by default. 2013-10-09 07:53:57 +00:00
fpimm.ll AArch64: enable MISched by default. 2013-10-09 07:53:57 +00:00
frameaddr.ll add test cases for frameaddr and returnaddr for aarch64 2013-10-29 17:01:29 +00:00
func-argpassing.ll [AArch64] Make the use of FP instructions optional, but enabled by default. 2013-10-31 09:32:11 +00:00
func-calls.ll [AArch64] Make the use of FP instructions optional, but enabled by default. 2013-10-31 09:32:11 +00:00
global-alignment.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
got-abuse.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
i128-align.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
illegal-float-ops.ll Start using CHECK-LABEL in some tests. 2013-07-12 14:54:12 +00:00
init-array.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
inline-asm-constraints-badI.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
inline-asm-constraints-badK.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
inline-asm-constraints-badK2.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
inline-asm-constraints-badL.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
inline-asm-constraints.ll AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
inline-asm-modifiers.ll AArch64: use default asm operand printing when modifier inapplicable 2013-11-04 23:04:07 +00:00
jump-table.ll Convert another llc -filetype=obj test. 2013-10-28 20:59:41 +00:00
large-consts.ll AArch64: add llc-based tests for previous commit. 2013-07-25 16:23:55 +00:00
large-frame.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
ldst-regoffset.ll [AArch64] Make the use of FP instructions optional, but enabled by default. 2013-10-31 09:32:11 +00:00
ldst-unscaledimm.ll [AArch64] Make the use of FP instructions optional, but enabled by default. 2013-10-31 09:32:11 +00:00
ldst-unsignedimm.ll [AArch64] Make the use of FP instructions optional, but enabled by default. 2013-10-31 09:32:11 +00:00
lit.local.cfg [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
literal_pools.ll [AArch64] Make the use of FP instructions optional, but enabled by default. 2013-10-31 09:32:11 +00:00
local_vars.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
logical-imm.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
logical_shifted_reg.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
movw-consts.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
movw-shift-encoding.ll AArch64: correct CodeGen of MOVZ/MOVK combinations. 2013-07-01 19:23:10 +00:00
neon-2velem-high.ll Add some missing pattern matches for AArch64 Neon intrinsics like vmull_high_n_s16 and friends. 2013-12-03 01:29:32 +00:00
neon-2velem.ll Fix the AArch64 NEON bug exposed by checking constant integer argument range of ACLE intrinsics. 2013-11-27 14:02:25 +00:00
neon-3vdiff.ll [AArch64 NEON] Support poly128_t and implement relevant intrinsic. 2013-12-10 06:48:35 +00:00
neon-aba-abd.ll Fix pattern match for movi with 0D result 2013-12-09 19:29:14 +00:00
neon-across.ll [AArch64] Refactor NEON floating-point Max/Min/Maxnm/Minnm across vector AArch64 2013-12-11 23:21:25 +00:00
neon-add-pairwise.ll [AArch64]Add missing pair intrinsics such as: 2013-12-09 03:51:42 +00:00
neon-add-sub.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-bitcast.ll [AArch64] Removed unnecessary copy patterns with v1fx types. 2013-12-12 15:46:29 +00:00
neon-bitwise-instructions.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-bsl.ll Add missing test case for bsl_f64 support of AArch64 NEON. 2013-11-29 01:38:08 +00:00
neon-compare-instructions.ll Implement aarch64 neon instruction class SIMD misc. 2013-11-14 02:44:13 +00:00
neon-copy.ll [AArch64]Fix the pattern match failure for v1i8/v1i16/v1i32 types. 2013-12-16 02:51:28 +00:00
neon-crypto.ll Add predicate for AArch64 crypto instructions. 2013-11-19 01:38:31 +00:00
neon-diagnostics.ll AArch64: The pattern match should check the range of the immediate value. 2013-11-29 02:11:22 +00:00
neon-extract.ll Implement AArch64 Neon instruction set Bitwise Extract. 2013-11-06 02:25:49 +00:00
neon-facge-facgt.ll AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
neon-fma.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-frsqrt-frecp.ll AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
neon-halving-add-sub.ll AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
neon-max-min-pairwise.ll [AArch64]Add missing pair intrinsics such as: 2013-12-09 03:51:42 +00:00
neon-max-min.ll AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
neon-misc-scalar.ll Add some missing pattern matches for AArch64 Neon intrinsics like vuqadd_s64 and friends. 2013-12-03 01:33:52 +00:00
neon-misc.ll [AArch64] Refactor the Neon vector/scalar floating-point convert intrinsics so 2013-12-10 16:11:39 +00:00
neon-mla-mls.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-mov.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-mul-div.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-perm.ll Refactored the implementation of AArch64 NEON instruction ZIP, UZP 2013-11-26 03:26:47 +00:00
neon-rounding-halving-add.ll AArch64: add initial NEON support 2013-08-01 09:20:35 +00:00
neon-rounding-shift.ll Initial support for Neon scalar instructions. 2013-09-24 02:47:27 +00:00
neon-saturating-add-sub.ll Initial support for Neon scalar instructions. 2013-09-24 02:47:27 +00:00
neon-saturating-rounding-shift.ll Initial support for Neon scalar instructions. 2013-09-24 02:47:27 +00:00
neon-saturating-shift.ll Initial support for Neon scalar instructions. 2013-09-24 02:47:27 +00:00
neon-scalar-abs.ll [AArch64] Add support for NEON scalar absolute value instruction. 2013-10-16 21:04:34 +00:00
neon-scalar-add-sub.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-scalar-by-elem-fma.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-scalar-by-elem-mul.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-scalar-compare.ll [AArch64 NEON] Add missing compare intrinsics. 2013-12-04 07:53:28 +00:00
neon-scalar-copy.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-scalar-cvt.ll [AArch64] Refactor the NEON signed/unsigned floating-point convert to fixed-point 2013-12-10 21:33:56 +00:00
neon-scalar-extract-narrow.ll [AArch64] Add support for NEON scalar extract narrow instructions. 2013-10-18 14:03:24 +00:00
neon-scalar-fabd.ll [AArch64] Refactor the NEON floating-point absolute difference LLVM AArch64 2013-12-10 21:33:59 +00:00
neon-scalar-fcvt.ll [AArch64] Refactor the Neon vector/scalar floating-point convert intrinsics so 2013-12-10 16:11:39 +00:00
neon-scalar-fp-compare.ll [AArch64] Add NEON scalar floating-point compare LLVM AArch64 intrinsics that 2013-12-11 21:03:46 +00:00
neon-scalar-mul.ll Implemented Neon scalar by element intrinsics. 2013-11-21 07:37:04 +00:00
neon-scalar-neg.ll [AArch64] Add support for NEON scalar negate instruction. 2013-10-16 21:04:39 +00:00
neon-scalar-recip.ll [AArch64] Refactor the NEON scalar floating-point reciprocal step and 2013-12-11 21:03:43 +00:00
neon-scalar-reduce-pairwise.ll [AArch64] Refactor the NEON scalar reduce pairwise intrinsics, so that they use 2013-12-09 22:47:38 +00:00
neon-scalar-rounding-shift.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-scalar-saturating-add-sub.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-scalar-saturating-rounding-shift.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-scalar-saturating-shift.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-scalar-shift-imm.ll AArch64: The pattern match should check the range of the immediate value. 2013-11-29 02:11:22 +00:00
neon-scalar-shift.ll Fix Incorrect CHECK message [0-31]+ in test case. 2013-12-12 02:19:13 +00:00
neon-shift-left-long.ll Clang and AArch64 backend patches to support shll/shl and vmovl instructions and ACLE functions 2013-08-15 08:26:11 +00:00
neon-shift.ll Initial support for Neon scalar instructions. 2013-09-24 02:47:27 +00:00
neon-simd-ldst-multi-elem.ll Fix the bugs about AArch64 Load/Store vector types and bitcast between i64 and vector types. 2013-11-22 08:47:22 +00:00
neon-simd-ldst-one.ll Implement AArch64 neon instructions class SIMD lsone and SIMD lone-post. 2013-11-19 02:17:05 +00:00
neon-simd-ldst.ll For AArch64, add missing register cost calculation for big value types like v4i64 and v8i64. 2013-12-05 02:12:01 +00:00
neon-simd-post-ldst-multi-elem.ll Implement the newly added ACLE functions for ld1/st1 with 2/3/4 vectors. 2013-11-18 06:31:53 +00:00
neon-simd-post-ldst-one.ll Implement AArch64 neon instructions class SIMD lsone and SIMD lone-post. 2013-11-19 02:17:05 +00:00
neon-simd-shift.ll [AArch64]Add missing floating point convert, round and misc intrinsics. 2013-12-03 06:06:55 +00:00
neon-simd-tbl.ll Implement AArch64 NEON instruction set AdvSIMD (table). 2013-11-14 01:57:32 +00:00
neon-simd-vget.ll For AArch64 back-end instruction selection, lower Neon_Lowxxx with EXTRCT_SUBREG. 2013-11-22 02:45:13 +00:00
neon-truncStore-extLoad.ll [AArch64]Pattern match failures for truncate store and extend load 2013-12-09 03:34:08 +00:00
pic-eh-stubs.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
regress-bitcast-formals.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
regress-f128csel-flags.ll
regress-fp128-livein.ll [AArch64] Fix NZCV reg live-in bug in F128CSEL codegen. 2013-10-24 08:28:24 +00:00
regress-tail-livereg.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
regress-tblgen-chains.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
regress-w29-reserved-with-fp.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
regress-wzr-allocatable.ll
returnaddr.ll add test cases for frameaddr and returnaddr for aarch64 2013-10-29 17:01:29 +00:00
setcc-takes-i32.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +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 Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
tail-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
tls-dynamic-together.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
tls-dynamics.ll AArch64: enable MISched by default. 2013-10-09 07:53:57 +00:00
tls-execs.ll AArch64: add llc-based tests for previous commit. 2013-07-25 16:23:55 +00:00
tst-br.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
variadic.ll [AArch64] Make the use of FP instructions optional, but enabled by default. 2013-10-31 09:32:11 +00:00
zero-reg.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00