llvm-mirror/test/CodeGen/R600
Matt Arsenault f39a57f581 R600: Fix mishandling of load / store chains.
Fixes various bugs with reordering loads and stores.
Scalarized vector loads weren't collecting the chains
at all.

llvm-svn: 212473
2014-07-07 18:34:45 +00:00
..
32-bit-local-address-space.ll
64bit-kernel-args.ll
128bit-kernel-args.ll
add_i64.ll R600: Promote i64 loads to v2i32 2014-07-02 20:53:54 +00:00
add.ll R600/SI: Only use SALU instructions for 64-bit add in a block of CF depth 0 2014-05-15 14:41:54 +00:00
address-space.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
and.ll R600: Add more and testcases 2014-06-09 08:36:53 +00:00
anyext.ll
array-ptr-calc-i32.ll R600: Use LDS and vectors for private memory 2014-06-17 16:53:14 +00:00
array-ptr-calc-i64.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
atomic_cmp_swap_local.ll IR: add "cmpxchg weak" variant to support permitted failure. 2014-06-13 14:24:07 +00:00
atomic_load_add.ll R600/SI: Fix backwards names for local atomic instructions. 2014-06-11 18:08:37 +00:00
atomic_load_sub.ll R600/SI: Fix backwards names for local atomic instructions. 2014-06-11 18:08:37 +00:00
basic-branch.ll
basic-loop.ll
bfe_uint.ll
bfi_int.ll
big_alu.ll R600/SI: Add intrinsics for various math instructions. 2014-06-19 01:19:19 +00:00
bitcast.ll R600/SI: Fix bitcast between v2i32 and f64 2014-06-11 19:31:13 +00:00
bswap.ll R600: Fix selection failure for vector bswap 2014-06-09 16:20:25 +00:00
build_vector.ll
call_fs.ll
call.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
cayman-loop-bug.ll
cf_end.ll
cf-stack-bug.ll
codegen-prepare-addrmode-sext.ll
combine_vloads.ll
complex-folding.ll
ctlz_zero_undef.ll R600/SI: Match ctlz_zero_undef 2014-06-17 17:36:24 +00:00
ctpop64.ll R600/SI: Add patterns for ctpop inside a branch 2014-06-20 17:06:11 +00:00
ctpop.ll R600/SI: Add patterns for ctpop inside a branch 2014-06-20 17:06:11 +00:00
cttz_zero_undef.ll R600/SI: Match cttz_zero_undef 2014-06-17 17:36:27 +00:00
cvt_f32_ubyte.ll R600/SI: Use v_cvt_f32_ubyte* instructions 2014-06-11 17:50:44 +00:00
dagcombiner-bug-illegal-vec4-int-to-fp.ll
default-fp-mode.ll R600/SI: Add FP mode bits to binary. 2014-06-26 17:22:30 +00:00
disconnected-predset-break-bug.ll
dot4-folding.ll
elf.ll
elf.r600.ll
extload.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
extract_vector_elt_i16.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
fabs.ll R600/SI: Fold fabs/fneg into src input modifier 2014-05-10 19:18:39 +00:00
fadd64.ll
fadd.ll
fceil64.ll R600: Expand vector fceil 2014-06-18 17:57:29 +00:00
fceil.ll R600: Expand vector fceil 2014-06-18 17:57:29 +00:00
fcmp64.ll
fcmp-cnd.ll
fcmp-cnde-int-args.ll
fcmp.ll
fconst64.ll
fcopysign.f32.ll R600: Handle fcopysign 2014-06-10 19:00:20 +00:00
fcopysign.f64.ll R600: Handle fcopysign 2014-06-10 19:00:20 +00:00
fdiv64.ll
fdiv.ll
fetch-limits.r600.ll
fetch-limits.r700+.ll
ffloor.ll R600: Implement f64 ftrunc, ffloor and fceil. 2014-06-18 17:05:30 +00:00
floor.ll
fma.ll R600: Fix vector FMA 2014-06-26 01:28:05 +00:00
fmad.ll
fmax.ll
fmin.ll
fmul64.ll
fmul.ll
fmuladd.ll
fnearbyint.ll R600: Handle fnearbyint 2014-06-18 22:03:45 +00:00
fneg-fabs.ll
fneg.ll R600/SI: Fold fabs/fneg into src input modifier 2014-05-10 19:18:39 +00:00
fp64_to_sint.ll
fp_to_sint_i64.ll SelectionDAG: Expand i64 = FP_TO_SINT i32 2014-06-17 16:53:07 +00:00
fp_to_sint.ll
fp_to_uint.f64.ll R600/SI: Match fp_to_uint / uint_to_fp for f64 2014-05-22 03:20:30 +00:00
fp_to_uint.ll
fpext.ll
fptrunc.ll
fsqrt.ll
fsub64.ll R600/SI: Prettier operand printing for 64-bit ops. 2014-06-18 17:13:51 +00:00
fsub.ll
ftrunc.ll R600/SI: Add a pattern for f32 ftrunc 2014-06-20 17:06:09 +00:00
gep-address-space.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
gv-const-addrspace-fail.ll R600: Partially fix constant initializers for structs and vectors. 2014-05-21 22:42:42 +00:00
gv-const-addrspace.ll Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
i8-to-double-to-float.ll
icmp64.ll
icmp-select-sete-reverse-args.ll
imm.ll
indirect-addressing-si.ll
indirect-private-64.ll R600: Use LDS and vectors for private memory 2014-06-17 16:53:14 +00:00
infinite-loop-evergreen.ll
infinite-loop.ll
input-mods.ll R600: Expand vector fexp2 2014-06-20 17:06:05 +00:00
insert_vector_elt_f64.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
insert_vector_elt.ll R600/SI: Fix verifier error with pseudo store instructions. 2014-05-01 16:37:52 +00:00
jump-address.ll
kcache-fold.ll
kernel-args.ll
large-alloca.ll R600: Use LDS and vectors for private memory 2014-06-17 16:53:14 +00:00
large-constant-initializer.ll Don't expect tests always crashing. Add "REQUIRES:asserts". 2014-06-15 01:01:11 +00:00
lds-oqap-crash.ll
lds-output-queue.ll Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
lds-size.ll Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
legalizedag-bug-expand-setcc.ll
lit.local.cfg Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
literals.ll
llvm.AMDGPU.abs.ll R600: Add a few tests I forgot to add. 2014-06-19 04:24:43 +00:00
llvm.AMDGPU.barrier.local.ll
llvm.AMDGPU.bfe.i32.ll R600: Try to convert BFE back to standard bit ops when possible. 2014-05-22 18:09:12 +00:00
llvm.AMDGPU.bfe.u32.ll R600: Try to convert BFE back to standard bit ops when possible. 2014-05-22 18:09:12 +00:00
llvm.AMDGPU.bfi.ll
llvm.AMDGPU.bfm.ll
llvm.AMDGPU.brev.ll R600/SI: Add intrinsics for brev instructions 2014-06-18 17:13:57 +00:00
llvm.AMDGPU.clamp.ll R600: Add a few tests I forgot to add. 2014-06-19 04:24:43 +00:00
llvm.AMDGPU.cube.ll
llvm.AMDGPU.cvt_f32_ubyte.ll R600/SI: Use v_cvt_f32_ubyte* instructions 2014-06-11 17:50:44 +00:00
llvm.AMDGPU.div_fixup.ll R600/SI: Add intrinsics for various math instructions. 2014-06-19 01:19:19 +00:00
llvm.AMDGPU.div_fmas.ll R600/SI: Add intrinsics for various math instructions. 2014-06-19 01:19:19 +00:00
llvm.AMDGPU.div_scale.ll R600/SI: Fix div_scale intrinsic. 2014-06-23 18:28:28 +00:00
llvm.AMDGPU.fract.ll R600: Add a few tests I forgot to add. 2014-06-19 04:24:43 +00:00
llvm.AMDGPU.imad24.ll R600: Expand mad24 for GPUs without it 2014-05-22 18:00:20 +00:00
llvm.AMDGPU.imax.ll
llvm.AMDGPU.imin.ll
llvm.AMDGPU.imul24.ll R600: Expand mul24 for GPUs without it 2014-05-22 18:00:24 +00:00
llvm.AMDGPU.kill.ll
llvm.AMDGPU.legacy.rsq.ll R600: Fix inconsistency in rsq instructions. 2014-06-24 22:13:39 +00:00
llvm.AMDGPU.mul.ll
llvm.AMDGPU.rcp.ll R600/SI: Add intrinsics for various math instructions. 2014-06-19 01:19:19 +00:00
llvm.AMDGPU.rsq.clamped.f64.ll R600: Fix inconsistency in rsq instructions. 2014-06-24 22:13:39 +00:00
llvm.AMDGPU.rsq.clamped.ll R600: Fix inconsistency in rsq instructions. 2014-06-24 22:13:39 +00:00
llvm.AMDGPU.rsq.ll R600: Fix inconsistency in rsq instructions. 2014-06-24 22:13:39 +00:00
llvm.AMDGPU.tex.ll
llvm.AMDGPU.trig_preop.ll R600/SI: Add intrinsics for various math instructions. 2014-06-19 01:19:19 +00:00
llvm.AMDGPU.trunc.ll
llvm.AMDGPU.umad24.ll R600: Expand mad24 for GPUs without it 2014-05-22 18:00:20 +00:00
llvm.AMDGPU.umax.ll
llvm.AMDGPU.umin.ll
llvm.AMDGPU.umul24.ll R600: Expand mul24 for GPUs without it 2014-05-22 18:00:24 +00:00
llvm.cos.ll R600: Expand vector sin and cos. 2014-05-02 15:41:47 +00:00
llvm.exp2.ll R600: Expand vector fexp2 2014-06-20 17:06:05 +00:00
llvm.floor.ll
llvm.log2.ll R600: Expand vector flog2 2014-06-20 17:06:07 +00:00
llvm.pow.ll
llvm.rint.f64.ll R600: Custom lower f64 frint for pre-CI 2014-06-18 17:05:26 +00:00
llvm.rint.ll R600: Mostly remove remaining AMDIL intrinsics. 2014-06-12 21:15:44 +00:00
llvm.round.ll
llvm.SI.fs.interp.constant.ll
llvm.SI.gather4.ll R600/SI: add gather4 and getlod intrinsics (v3) 2014-06-18 22:00:29 +00:00
llvm.SI.getlod.ll R600/SI: add gather4 and getlod intrinsics (v3) 2014-06-18 22:00:29 +00:00
llvm.SI.imageload.ll
llvm.SI.load.dword.ll
llvm.SI.resinfo.ll
llvm.SI.sample-masked.ll
llvm.SI.sample.ll
llvm.SI.sampled.ll
llvm.SI.sendmsg.ll
llvm.SI.tbuffer.store.ll
llvm.SI.tid.ll
llvm.sin.ll R600: Expand vector sin and cos. 2014-05-02 15:41:47 +00:00
llvm.sqrt.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
llvm.trunc.ll
load64.ll
load-i1.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
load-input-fold.ll
load.ll R600: Promote i64 loads to v2i32 2014-07-02 20:53:54 +00:00
load.vec.ll
local-64.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
local-atomics64.ll R600/SI: Use a register set to -1 for data0 on ds_inc*/ds_dec* 2014-06-12 08:21:54 +00:00
local-atomics.ll R600/SI: Use a register set to -1 for data0 on ds_inc*/ds_dec* 2014-06-12 08:21:54 +00:00
local-memory-two-objects.ll Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
local-memory.ll Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
loop-address.ll
loop-idiom.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
lshl.ll
lshr.ll
mad_int24.ll
mad_uint24.ll
max-literals.ll
mubuf.ll
mul_int24.ll
mul_uint24.ll
mul.ll R600: Fix test. Using wrong check prefix. 2014-06-05 08:00:36 +00:00
mulhu.ll
no-initializer-constant-addrspace.ll R600: Fix asserts related to constant initializers 2014-06-14 04:26:05 +00:00
or.ll R600: Promote i64 loads to v2i32 2014-07-02 20:53:54 +00:00
packetizer.ll
parallelandifcollapse.ll R600: Use LDS and vectors for private memory 2014-06-17 16:53:14 +00:00
parallelorifcollapse.ll R600: Use LDS and vectors for private memory 2014-06-17 16:53:14 +00:00
predicate-dp4.ll
predicates.ll
private-memory-atomics.ll R600: Don't crash on unhandled instruction in promote alloca 2014-06-27 16:52:49 +00:00
private-memory-broken.ll Revert "Temporary hack to try cleaning extra .s file from bots." 2014-06-27 23:11:26 +00:00
private-memory.ll R600: Don't crash on unhandled instruction in promote alloca 2014-06-27 16:52:49 +00:00
pv-packing.ll
pv.ll R600/SI: Add intrinsics for various math instructions. 2014-06-19 01:19:19 +00:00
r600-encoding.ll
r600-export-fix.ll
r600-infinite-loop-bug-while-reorganizing-vector.ll
r600cfg.ll
README
reciprocal.ll
register-count-comments.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
reorder-stores.ll R600: Fix mishandling of load / store chains. 2014-07-07 18:34:45 +00:00
rotl.i64.ll R600/SI: Fix selection error on i64 rotl / rotr. 2014-06-13 04:00:30 +00:00
rotl.ll R600/SI: Fix selection error on i64 rotl / rotr. 2014-06-13 04:00:30 +00:00
rotr.i64.ll R600: Add a rotr testcase I forgot to add 2014-06-15 21:09:00 +00:00
rotr.ll R600/SI: Fix selection error on i64 rotl / rotr. 2014-06-13 04:00:30 +00:00
rsq.ll R600/SI: Match rsq instructions 2014-06-05 00:15:55 +00:00
rv7x0_count3.ll
saddo.ll R600: Move add/sub with overflow out of AMDILISelLowering 2014-06-23 18:00:49 +00:00
salu-to-valu.ll R600/SI: Teach SIInstrInfo::moveToVALU() how to move S_LOAD_*_IMM instructions 2014-05-09 16:42:22 +00:00
scalar_to_vector.ll R600/SI: Fix selection failure on scalar_to_vector 2014-06-11 17:40:32 +00:00
schedule-fs-loop-nested-if.ll
schedule-fs-loop-nested.ll
schedule-fs-loop.ll
schedule-if-2.ll
schedule-if.ll
schedule-vs-if-nested-loop-failure.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
schedule-vs-if-nested-loop.ll
sdiv.ll R600: Fix assert on vector sdiv 2014-06-15 21:08:54 +00:00
select64.ll
select-vectors.ll
select.ll
selectcc-cnd.ll
selectcc-cnde-int.ll
selectcc-icmp-select-float.ll
selectcc-opt.ll
selectcc.ll R600: Expand i64 SELECT_CC 2014-05-09 16:42:19 +00:00
set-dx10.ll
setcc64.ll R600/SI: Use VALU instructions for i1 ops 2014-05-15 14:41:50 +00:00
setcc-equivalent.ll Revert "SelectionDAG: Enable (and (setcc x), (setcc y)) -> (setcc (and x, y)) for vectors" 2014-06-12 16:04:47 +00:00
setcc.ll R600/SI: Use VALU instructions for i1 ops 2014-05-15 14:41:50 +00:00
seto.ll R600/SI: Prettier display of input modifiers 2014-05-10 19:18:33 +00:00
setuo.ll R600/SI: Prettier display of input modifiers 2014-05-10 19:18:33 +00:00
sext-in-reg.ll R600: Try to convert BFE back to standard bit ops when possible. 2014-05-22 18:09:12 +00:00
sgpr-control-flow.ll R600/SI: Only select SALU instructions in the entry or exit block 2014-04-29 23:12:48 +00:00
sgpr-copy-duplicate-operand.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
sgpr-copy.ll R600/SI: Add intrinsics for various math instructions. 2014-06-19 01:19:19 +00:00
shared-op-cycle.ll
shl.ll R600: Implement 64bit SHL 2014-06-18 12:27:13 +00:00
si-annotate-cf-assertion.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
si-lod-bias.ll
si-sgpr-spill.ll R600/SI: Add intrinsics for various math instructions. 2014-06-19 01:19:19 +00:00
si-vector-hang.ll
sign_extend.ll R600/SI: Handle sign_extend and zero_extend to i64 with patterns. 2014-06-10 18:54:59 +00:00
simplify-demanded-bits-build-pair.ll R600: Use LDS and vectors for private memory 2014-06-17 16:53:14 +00:00
sint_to_fp64.ll SelectionDAG: Expand SELECT_CC to SELECT + SETCC 2014-06-10 16:01:22 +00:00
sint_to_fp.ll R600/SI: Fix [s|u]int_to_fp for i1 2014-05-31 06:47:42 +00:00
smrd.ll R600/SI: Fix SMRD pattern for offsets > 32 bits 2014-05-09 16:42:21 +00:00
sra.ll R600: Implement 64bit SRA 2014-06-18 12:27:17 +00:00
srem.ll R600: Remove a few more things from AMDILISelLowering 2014-06-15 21:08:58 +00:00
srl.ll R600: Implement 64bit SRL 2014-06-18 12:27:15 +00:00
ssubo.ll R600: Move add/sub with overflow out of AMDILISelLowering 2014-06-23 18:00:49 +00:00
store-v3i32.ll
store-v3i64.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
store-vector-ptrs.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
store.ll R600: Promote i64 stores to v2i32 2014-06-24 23:33:04 +00:00
store.r600.ll
structurize1.ll
structurize.ll
sub.ll R600/SI: Handle i64 sub. 2014-06-23 18:00:38 +00:00
swizzle-export.ll
tex-clause-antidep.ll
texture-input-merge.ll
trunc-store-i1.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
trunc-vector-store-assertion-failure.ll
trunc.ll
uaddo.ll R600: Move add/sub with overflow out of AMDILISelLowering 2014-06-23 18:00:49 +00:00
udiv.ll
udivrem64.ll R600: Try to convert BFE back to standard bit ops when possible. 2014-05-22 18:09:12 +00:00
udivrem.ll R600: Add udivrem test 2014-06-22 21:42:58 +00:00
uint_to_fp.f64.ll SelectionDAG: Expand SELECT_CC to SELECT + SETCC 2014-06-10 16:01:22 +00:00
uint_to_fp.ll R600/SI: Fix [s|u]int_to_fp for i1 2014-05-31 06:47:42 +00:00
unaligned-load-store.ll R600/SI: Custom lower SI_IF and SI_ELSE to avoid machine verifier errors 2014-04-29 23:12:53 +00:00
unhandled-loop-condition-assertion.ll
unroll.ll
unsupported-cc.ll
urecip.ll
urem.ll
usubo.ll R600: Move add/sub with overflow out of AMDILISelLowering 2014-06-23 18:00:49 +00:00
v1i64-kernel-arg.ll
v_cndmask.ll R600/SI: Promote f32 SELECT to i32 2014-05-16 20:56:41 +00:00
valu-i1.ll R600/SI: Use VALU instructions for copying i1 values 2014-04-30 15:31:33 +00:00
vector-alloca.ll R600: Use LDS and vectors for private memory 2014-06-17 16:53:14 +00:00
vertex-fetch-encoding.ll
vselect64.ll
vselect.ll
vtx-fetch-branch.ll
vtx-schedule.ll
wait.ll
work-item-intrinsics.ll
wrong-transalu-pos-fix.ll
xor.ll R600/SI: Add a VALU pattern for i64 xor 2014-06-20 17:05:57 +00:00
zero_extend.ll

+==============================================================================+
| How to organize the lit tests                                                |
+==============================================================================+

- If you write a test for matching a single DAG opcode or intrinsic, it should
  go in a file called {opcode_name,intrinsic_name}.ll (e.g. fadd.ll)

- If you write a test that matches several DAG opcodes and checks for a single
  ISA instruction, then that test should go in a file called {ISA_name}.ll (e.g.
  bfi_int.ll

- For all other tests, use your best judgement for organizing tests and naming
  the files.

+==============================================================================+
| Naming conventions                                                           |
+==============================================================================+

- Use dash '-' and not underscore '_' to separate words in file names, unless
  the file is named after a DAG opcode or ISA instruction that has an
  underscore '_' in its name.