summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AMDGPU/fmax_legacy.f16.ll
Commit message (Collapse)AuthorAgeFilesLines
* [DAGCombine] narrowInsertExtractVectorBinOp - add CONCAT_VECTORS supportSimon Pilgrim2019-07-111-1/+1
| | | | | | | | | | | | | | We already split extract_subvector(binop(insert_subvector(v,x),insert_subvector(w,y))) -> binop(x,y). This patch adds support for extract_subvector(binop(concat_vectors(),concat_vectors())) cases as well. In particular this means we don't have to wait for X86 lowering to convert concat_vectors to insert_subvector chains, which helps avoid some cases where demandedelts/combine calls occur too late to split large vector ops. The fast-isel-store.ll load folding regression is annoying but I don't think is that critical. Differential Revision: https://reviews.llvm.org/D63653 llvm-svn: 365785
* DAG: Change behavior of fminnum/fmaxnum nodesMatt Arsenault2018-10-221-8/+8
| | | | | | | | | | | Introduce new versions that follow the IEEE semantics to help with legalization that may need quieted inputs. There are some regressions from inserting unnecessary canonicalizes when these are matched from fast math fcmp + select which should be fixed in a future commit. llvm-svn: 344914
* DAG: Handle odd vector sizes in calling conv splittingMatt Arsenault2018-09-101-1/+1
| | | | | | | | | | | | | | This already worked if only one register piece was used, but didn't if a type was split into multiple, unequal sized pieces. Fixes not splitting 3i16/v3f16 into two registers for AMDGPU. This will also allow fixing the ABI for 16-bit vectors in a future commit so that it's the same for all subtargets. llvm-svn: 341801
* AMDGPU: Restrict extract_vector_elt combine to loadsMatt Arsenault2018-08-311-172/+88
| | | | | | | | | | | The intention is to enable the extract_vector_elt load combine, and doing this for other operations interferes with more useful optimizations on vectors. Handle any type of load since in principle we should do the same combine for the various load intrinsics. llvm-svn: 341219
* DAG: Check transformed type for forming fminnum/fmaxnum from vselectMatt Arsenault2018-08-271-22/+6
| | | | | | Follow up to r340655 to fix vector types which are split. llvm-svn: 340766
* DAG: Allow matching fminnum/fmaxnum from vselectMatt Arsenault2018-08-241-0/+640
llvm-svn: 340655
OpenPOWER on IntegriCloud