llvm-6502/test/CodeGen/R600
Tim Northover 3e61ccdded CodeGen: extend f16 conversions to permit types > float.
This makes the two intrinsics @llvm.convert.from.f16 and
@llvm.convert.to.f16 accept types other than simple "float". This is
only strictly needed for the truncate operation, since otherwise
double rounding occurs and there's no way to represent the strict IEEE
conversion. However, for symmetry we allow larger types in the extend
too.

During legalization, we can expand an "fp16_to_double" operation into
two extends for convenience, but abort when the truncate isn't legal. A new
libcall is probably needed here.

Even after this commit, various target tweaks are needed to actually use the
extended intrinsics. I've put these into separate commits for clarity, so there
are no actual tests of f64 conversion here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213248 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-17 10:51:23 +00:00
..
32-bit-local-address-space.ll R600/SI: Print more immediates in hex format 2014-04-15 22:32:49 +00:00
64bit-kernel-args.ll R600/SI: Print more immediates in hex format 2014-04-15 22:32:49 +00:00
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/SI: Fix select on i1 2014-07-15 21:44:37 +00:00
anyext.ll R600/SI: Add a pattern for i32 anyext 2014-02-13 23:34:13 +00:00
array-ptr-calc-i32.ll R600: Run more tests with promote alloca disabled. 2014-07-13 02:46:17 +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 R600: Add failing control flow tests. 2014-03-01 21:45:41 +00:00
basic-loop.ll R600: Add failing control flow tests. 2014-03-01 21:45:41 +00:00
bfe_uint.ll R600: Disable the BFE pattern 2014-01-23 18:49:33 +00:00
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 R600: Recommit 199842: Add work-around for the CF stack entry HW bug 2014-01-23 16:18:02 +00:00
codegen-prepare-addrmode-sext.ll [CodeGenPrepare] Fix the check of the legality of an instruction. 2014-02-22 01:06:41 +00:00
combine_vloads.ll
complex-folding.ll
copy-illegal-type.ll R600: Add dag combine for copy of an illegal type. 2014-07-15 02:06:31 +00:00
ctlz_zero_undef.ll R600: Implement zero undef variants of ctlz/cttz 2014-07-15 15:51:09 +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: Implement zero undef variants of ctlz/cttz 2014-07-15 15:51:09 +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: Add denormal handling subtarget features. 2014-07-14 23:40:49 +00:00
disconnected-predset-break-bug.ll
dot4-folding.ll
elf.ll
elf.r600.ll R600: Refactor stack size calculation 2014-01-22 21:55:43 +00:00
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 R600/SI: Expand all v8[if]32 operations 2014-02-13 23:34:15 +00:00
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 R600/SI: Print more immediates in hex format 2014-04-15 22:32:49 +00:00
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 R600/SI: Implement less wrong f32 fdiv 2014-07-15 20:18:31 +00:00
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 R600/SI: Fix fneg for 0.0 2014-02-04 07:12:38 +00:00
fneg.ll R600/SI: Fold fabs/fneg into src input modifier 2014-05-10 19:18:39 +00:00
fp16_to_fp32.ll CodeGen: extend f16 conversions to permit types > float. 2014-07-17 10:51:23 +00:00
fp32_to_fp16.ll CodeGen: extend f16 conversions to permit types > float. 2014-07-17 10:51:23 +00:00
fp64_to_sint.ll
fp_to_sint.ll R600: Implement float to long/ulong 2014-07-10 22:40:21 +00:00
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 R600: Implement float to long/ulong 2014-07-10 22:40:21 +00:00
fpext.ll
fptrunc.ll R600/SI: Use -verify-machineinstrs for most tests 2013-10-10 17:11:46 +00:00
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: Add dag combine for copy of an illegal type. 2014-07-15 02:06:31 +00:00
infinite-loop-evergreen.ll R600: Add failing control flow tests. 2014-03-01 21:45:41 +00:00
infinite-loop.ll R600/SI: Print more immediates in hex format 2014-04-15 22:32:49 +00:00
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 R600/SI: Print more immediates in hex format 2014-04-15 22:32:49 +00:00
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 R600: LDS instructions shouldn't implicitly define OQAP 2014-03-13 17:13:04 +00:00
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.global.ll R600: Add missing tests for some intrinsics 2014-07-12 00:36:19 +00:00
llvm.AMDGPU.barrier.local.ll R600: Add missing tests for some intrinsics 2014-07-12 00:36:19 +00:00
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 R600: Add BFE, BFI, and BFM intrinsics to help with writing tests. 2014-03-31 18:21:18 +00:00
llvm.AMDGPU.bfm.ll R600: Add BFE, BFI, and BFM intrinsics to help with writing tests. 2014-03-31 18:21:18 +00:00
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.dp4.ll R600: Add missing tests for some intrinsics 2014-07-12 00:36:19 +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 R600/SI: Move instruction patterns to scalar versions. 2014-03-21 18:01:18 +00:00
llvm.AMDGPU.imin.ll R600/SI: Move instruction patterns to scalar versions. 2014-03-21 18:01:18 +00:00
llvm.AMDGPU.imul24.ll R600: Expand mul24 for GPUs without it 2014-05-22 18:00:24 +00:00
llvm.AMDGPU.kill.ll R600: Add missing tests for some intrinsics 2014-07-12 00:36:19 +00:00
llvm.amdgpu.kilp.ll R600: Add missing tests for some intrinsics 2014-07-12 00:36:19 +00:00
llvm.AMDGPU.legacy.rsq.ll R600: Fix inconsistency in rsq instructions. 2014-06-24 22:13:39 +00:00
llvm.amdgpu.lrp.ll R600: Add missing tests for some intrinsics 2014-07-12 00:36:19 +00:00
llvm.AMDGPU.mul.ll
llvm.AMDGPU.rcp.f64.ll R600/SI: Allow using f32 rcp / rsq when denormals not handled. 2014-07-15 23:50:10 +00:00
llvm.AMDGPU.rcp.ll R600/SI: Allow using f32 rcp / rsq when denormals not handled. 2014-07-15 23:50:10 +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 R600: Compute masked bits for min and max 2014-03-31 19:35:33 +00:00
llvm.AMDGPU.umin.ll R600: Compute masked bits for min and max 2014-03-31 19:35:33 +00:00
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 R600: Enable vector fpow. 2014-02-04 17:18:37 +00:00
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.image.ll R600/SI: Use i32 vectors for resources and samplers 2014-07-11 17:11:52 +00:00
llvm.SI.image.sample.ll R600/SI: Use i32 vectors for resources and samplers 2014-07-11 17:11:52 +00:00
llvm.SI.image.sample.o.ll R600/SI: Use i32 vectors for resources and samplers 2014-07-11 17:11:52 +00:00
llvm.SI.imageload.ll
llvm.SI.load.dword.ll R600/SI: Add intrinsic for BUFFER_LOAD_DWORD* instructions 2014-01-27 07:20:51 +00:00
llvm.SI.resinfo.ll
llvm.SI.sample-masked.ll R600/SI: Add ShaderType attribute to some tests 2014-02-13 23:34:07 +00:00
llvm.SI.sample.ll R600/SI: Add ShaderType attribute to some tests 2014-02-13 23:34:07 +00:00
llvm.SI.sampled.ll R600/SI: Add ShaderType attribute to some tests 2014-02-13 23:34:07 +00:00
llvm.SI.sendmsg.ll R600/SI: Add intrinsic for S_SENDMSG instruction 2014-01-27 07:20:44 +00:00
llvm.SI.tbuffer.store.ll R600/SI: Print more immediates in hex format 2014-04-15 22:32:49 +00:00
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: Add dag combine for copy of an illegal type. 2014-07-15 02:06:31 +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 R600: Match 24-bit arithmetic patterns in a Target DAGCombine 2014-04-07 19:45:41 +00:00
mad_uint24.ll R600: Match 24-bit arithmetic patterns in a Target DAGCombine 2014-04-07 19:45:41 +00:00
max-literals.ll
mubuf.ll R600/SI: Print more immediates in hex format 2014-04-15 22:32:49 +00:00
mul_int24.ll R600: Match 24-bit arithmetic patterns in a Target DAGCombine 2014-04-07 19:45:41 +00:00
mul_uint24.ll SelectionDAG: Use helper function to improve legalization of ISD::MUL 2014-04-11 16:12:01 +00:00
mul.ll R600: Fix test. Using wrong check prefix. 2014-06-05 08:00:36 +00:00
mulhu.ll R600/SI: Print more immediates in hex format 2014-04-15 22:32:49 +00:00
no-initializer-constant-addrspace.ll R600: Fix asserts related to constant initializers 2014-06-14 04:26:05 +00:00
or.ll R600/SI: Fix select on i1 2014-07-15 21:44:37 +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: Run private-memory test with and without alloca promote 2014-07-13 02:18:06 +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: Allow using f32 rcp / rsq when denormals not handled. 2014-07-15 23:50:10 +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 Revert "Revert r212640, "Add trunc (select c, a, b) -> select c (trunc a), (trunc b) combine."" 2014-07-10 18:21:04 +00:00
select-i1.ll R600/SI: Fix select on i1 2014-07-15 21:44:37 +00:00
select-vectors.ll R600/SI: Expand selects on vectors. 2014-03-06 17:34:03 +00:00
select.ll R600/SI: Fix select on i1 2014-07-15 21:44:37 +00:00
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: Run more tests with promote alloca disabled. 2014-07-13 02:46:17 +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 R600: Add failing testcase for <3 x i32> stores. 2014-03-25 16:50:55 +00:00
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 R600/SI: Print more immediates in hex format 2014-04-15 22:32:49 +00:00
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 R600: Add failing control flow tests. 2014-03-01 21:45:41 +00:00
unroll.ll R600: Unconditionally unroll loops that contain GEPs with alloca pointers 2014-01-23 18:49:28 +00:00
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 R600: Match sign_extend_inreg to BFE instructions 2014-03-17 18:58:11 +00:00
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: Run more tests with promote alloca disabled. 2014-07-13 02:46:17 +00:00
vertex-fetch-encoding.ll
vselect64.ll
vselect.ll
vtx-fetch-branch.ll R600: Correctly handle vertex fetch clauses the precede ENDIFs 2014-01-23 18:49:31 +00:00
vtx-schedule.ll
wait.ll
work-item-intrinsics.ll R600/SI: Print more immediates in hex format 2014-04-15 22:32:49 +00:00
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 R600/SI: Use SReg_64 instead of VSrc_64 when selecting BUILD_PAIR 2014-04-18 00:36:21 +00:00

+==============================================================================+
| 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.