1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/CodeGen/AArch64
Renato Golin 8a9a382ab2 Implememting named register intrinsics
This patch implements the infrastructure to use named register constructs in
programs that need access to specific registers (bare metal, kernels, etc).

So far, only the stack pointer is supported as a technology preview, but as it
is, the intrinsic can already support all non-allocatable registers from any
architecture.

llvm-svn: 208104
2014-05-06 16:51:25 +00:00
..
128bit_load_store.ll
adc.ll ARM64: specify full triple in tests to pacify Windows. 2014-04-14 13:18:48 +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 ARM64: specify full triple in tests to pacify Windows. 2014-04-14 13:18:48 +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
concatvector-bugs.ll AArch64/ARM64: more testing from AArch64 to ARM64 2014-04-22 12:45:47 +00:00
cond-sel.ll ARM64: use hex immediates for movz/movk instructions 2014-04-30 11:19:40 +00:00
cpus.ll AArch64/ARM64: enable various AArch64 tests on ARM64. 2014-04-22 10:10:26 +00:00
directcond.ll [ARM64] Add RUN lines for "–target arm64 –mattr=-fp-armv8" on AArch64 no-fp test. 2014-04-25 09:44:20 +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 AArch64/ARM64: add more arm64 lines to AArch64 regression tests 2014-04-15 13:59:44 +00:00
fastcc-reserved.ll
fastcc.ll
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 AArch64/ARM64: enable more AArch64 tests on ARM64. 2014-04-15 14:00:29 +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 AArch64/ARM64: make use of ANDS and BICS instructions for comparisons. 2014-04-22 12:45:42 +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] Add RUN lines for "–target arm64 –mattr=-fp-armv8" on AArch64 no-fp test. 2014-04-25 09:44:20 +00:00
func-calls.ll ARM64: use hex immediates for movz/movk instructions 2014-04-30 11:19:40 +00:00
global_merge_1.ll [AArch64] Enable global merge pass. 2014-04-22 03:33:26 +00:00
global-alignment.ll Special case aliases in GlobalValue::getAlignment. 2014-05-06 16:48:58 +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
inline-asm-modifiers.ll
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
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 AArch64/ARM64: add another set of tests from AArch64 2014-04-16 11:53:07 +00:00
named-reg-alloc.ll Implememting named register intrinsics 2014-05-06 16:51:25 +00:00
named-reg-notareg.ll Implememting named register intrinsics 2014-05-06 16:51:25 +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 AArch64/ARM64: port BSL logic from AArch64 & enable test. 2014-04-18 09:31:01 +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 AArch64/ARM64: emit all vector FP comparisons as such. 2014-04-18 09:31:07 +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 AArch64: print NEON lists with a space. 2014-04-24 14:06:20 +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 AArch64/ARM64: port more AArch64 tests to ARM64. 2014-04-18 13:16:55 +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
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
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 Implememting named register intrinsics 2014-05-06 16:51:25 +00:00
tail-call.ll
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