llvm-project/llvm/test/CodeGen/Mips/msa
Craig Topper c7506b28c1 [DAGCombiner][AMDGPU][Mips] Fold bitcast with volatile loads if the resulting load is legal for the target.
Summary:
I'm not sure if this patch is correct or if it needs more qualifying somehow. Bitcast shouldn't change the size of the load so it should be ok? We already do something similar for stores. We'll change the type of a volatile store if the resulting store is Legal or Custom. I'm not sure we should be allowing Custom there...

I was playing around with converting X86 atomic loads/stores(except seq_cst) into regular volatile loads and stores during lowering. This would allow some special RMW isel patterns in X86InstrCompiler.td to be removed. But there's some floating point patterns in there that didn't work because we don't fold (f64 (bitconvert (i64 volatile load))) or (f32 (bitconvert (i32 volatile load))).

Reviewers: efriedma, atanasyan, arsenm

Reviewed By: efriedma

Subscribers: jvesely, arsenm, sdardis, kzhuravl, wdng, yaxunl, dstuttard, tpr, t-tye, arichardson, jrtc27, atanasyan, jfb, llvm-commits

Differential Revision: https://reviews.llvm.org/D50491

llvm-svn: 340797
2018-08-28 03:47:20 +00:00
..
2r.ll
2r_vector_scalar.ll
2rf.ll
2rf_exup.ll
2rf_float_int.ll
2rf_fq.ll
2rf_int_float.ll
2rf_tq.ll
3r-a.ll
3r-b.ll
3r-c.ll
3r-d.ll
3r-i.ll
3r-m.ll
3r-p.ll
3r-s.ll
3r-v.ll
3r_4r.ll
3r_4r_widen.ll [mips][msa] Prevent output operand from commuting for dpadd_[su].df ins 2017-03-31 14:31:55 +00:00
3r_splat.ll [mips][msa] Pattern match the splat.d instruction 2018-05-08 15:12:29 +00:00
3rf.ll
3rf_4rf.ll
3rf_4rf_q.ll
3rf_exdo.ll
3rf_float_int.ll
3rf_int_float.ll
3rf_q.ll
arithmetic.ll
arithmetic_float.ll [mips] Fix how compiler fuse instructions to fmadd/fmsub 2018-04-27 13:30:27 +00:00
basic_operations.ll [FileCheck] Add -allow-deprecated-dag-overlap to failing llvm tests 2018-07-11 20:25:49 +00:00
basic_operations_float.ll
bit.ll
bitcast.ll [DAGCombiner][AMDGPU][Mips] Fold bitcast with volatile loads if the resulting load is legal for the target. 2018-08-28 03:47:20 +00:00
bitwise.ll [mips][msa] Fix generation of bm(n)zi and bins[lr]i instructions 2017-04-07 13:31:36 +00:00
bmzi_bmnzi.ll Elide stores which are overwritten without being observed. 2017-05-16 19:43:56 +00:00
cc_without_nan.ll [mips] Handle missing CondCodes 2018-08-22 09:34:44 +00:00
compare.ll [Mips][AMDGPU] Update test cases to not use vector lt/gt compares that can be simplified to an equality/inequality or to always true/false. 2018-02-07 00:51:37 +00:00
compare_float.ll
elm_copy.ll
elm_cxcmsa.ll
elm_insv.ll
elm_move.ll
elm_shift_slide.ll
emergency-spill.mir [MIR] Add support for debug metadata for fixed stack objects 2018-04-25 18:58:06 +00:00
endian.ll
f16-llvm-ir.ll [mips] Alter register classes for MSA pseudo f16 instructions 2017-07-18 12:05:35 +00:00
fexuprl.ll [mips] Add tests for half precision floating point support. 2016-11-21 20:34:10 +00:00
frameindex.ll [mips] Use register scavenging with MSA. 2017-11-02 12:47:22 +00:00
i5-a.ll
i5-b.ll [mips][msa] Fix generation of bm(n)zi and bins[lr]i instructions 2017-04-07 13:31:36 +00:00
i5-c.ll
i5-m.ll
i5-s.ll
i5_ld_st.ll In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
i8.ll
i10.ll
immediates-bad.ll [mips] Fix Mips MSA instrinsics 2017-01-10 16:40:57 +00:00
immediates.ll [mips][msa] Fix generation of bm(n)zi and bins[lr]i instructions 2017-04-07 13:31:36 +00:00
inline-asm.ll
llvm-stress-s449609655-simplified.ll
llvm-stress-s525530439.ll
llvm-stress-s997348632.ll
llvm-stress-s1704963983.ll
llvm-stress-s1935737938.ll
llvm-stress-s2090927243-simplified.ll
llvm-stress-s2501752154-simplified.ll
llvm-stress-s2704903805.ll
llvm-stress-s3861334421.ll
llvm-stress-s3926023935.ll
llvm-stress-s3997499501.ll
llvm-stress-sz1-s742806235.ll
msa-nooddspreg.ll [mips] Honour -mno-odd-spreg for vector splat (again) 2017-01-10 15:53:10 +00:00
shift-dagcombine.ll
shift_constant_pool.ll [mips][msa] Mask vectors holding shift amounts 2017-04-20 13:26:46 +00:00
shift_no_and.ll [mips][msa] Mask vectors holding shift amounts 2017-04-20 13:26:46 +00:00
shuffle.ll
special.ll
spill.ll
vec.ll
vecs10.ll