simoll created this revision. Herald added subscribers: llvm-commits, openmp-commits, libcxx-commits, Sanitizers, cfe-commits, jdoerfert, s.egerton, jfb, arphaman, dexonsmith, christof, simoncook, fedor.sergeev, aheejin, hiraditya, krytarowski, mgorny, dschuff, qcolombet. Herald added a reviewer: jdoerfert. Herald added projects: clang, Sanitizers, libc++, OpenMP, LLVM.
This is patch #4 in the patch series for the VE backend for NEC-SX Aurora. This patch builds on the runtime library patch of https://reviews.llvm.org/D71340 This patch implements vel intrinsics for SX-Aurora. These target-specific vector intrinsics are documented here <https://sx-aurora-dev.github.io/velintrin.html>. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D71341 Files: clang/include/clang/Basic/BuiltinsVE.def clang/include/clang/Basic/BuiltinsVEVL.gen.def clang/include/clang/Basic/TargetBuiltins.h clang/include/clang/Driver/Options.td clang/include/clang/module.modulemap clang/lib/Basic/CMakeLists.txt clang/lib/Basic/Targets.cpp clang/lib/Basic/Targets/VE.cpp clang/lib/Basic/Targets/VE.h clang/lib/CodeGen/TargetInfo.cpp clang/lib/Driver/CMakeLists.txt clang/lib/Driver/Driver.cpp clang/lib/Driver/ToolChains/Arch/VE.cpp clang/lib/Driver/ToolChains/Arch/VE.h clang/lib/Driver/ToolChains/Clang.cpp clang/lib/Driver/ToolChains/Clang.h clang/lib/Driver/ToolChains/CommonArgs.cpp clang/lib/Driver/ToolChains/Gnu.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/lib/Driver/ToolChains/VE.cpp clang/lib/Driver/ToolChains/VE.h clang/lib/Frontend/CompilerInvocation.cpp clang/lib/Headers/CMakeLists.txt clang/lib/Headers/velintrin.h clang/lib/Headers/velintrin_approx.h clang/lib/Headers/velintrin_gen.h clang/test/Driver/ve-features.c compiler-rt/cmake/Modules/CompilerRTUtils.cmake compiler-rt/cmake/base-config-ix.cmake compiler-rt/cmake/builtin-config-ix.cmake compiler-rt/cmake/config-ix.cmake compiler-rt/lib/builtins/CMakeLists.txt compiler-rt/lib/builtins/ve/llvm_grow_stack.S libcxx/src/filesystem/operations.cpp libcxxabi/cmake/config-ix.cmake libunwind/include/__libunwind_config.h libunwind/include/libunwind.h libunwind/src/Registers.hpp libunwind/src/Unwind-sjlj.c libunwind/src/libunwind.cpp llvm/CODE_OWNERS.TXT llvm/docs/VE/VectorLength.rst llvm/include/llvm/ADT/Triple.h llvm/include/llvm/BinaryFormat/ELF.h llvm/include/llvm/CodeGen/Passes.h llvm/include/llvm/CodeGen/ValueTypes.h llvm/include/llvm/CodeGen/ValueTypes.td llvm/include/llvm/IR/CallingConv.h llvm/include/llvm/IR/Intrinsics.td llvm/include/llvm/IR/IntrinsicsVE.td llvm/include/llvm/IR/IntrinsicsVEVL.gen.td llvm/include/llvm/Support/MachineValueType.h llvm/lib/CodeGen/SjLjEHPrepare.cpp llvm/lib/CodeGen/TargetPassConfig.cpp llvm/lib/CodeGen/ValueTypes.cpp llvm/lib/IR/Function.cpp llvm/lib/Support/Triple.cpp llvm/lib/Target/LLVMBuild.txt llvm/lib/Target/VE/AsmParser/CMakeLists.txt llvm/lib/Target/VE/AsmParser/LLVMBuild.txt llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp llvm/lib/Target/VE/CMakeLists.txt llvm/lib/Target/VE/InstPrinter/CMakeLists.txt llvm/lib/Target/VE/InstPrinter/LLVMBuild.txt llvm/lib/Target/VE/InstPrinter/VEInstPrinter.cpp llvm/lib/Target/VE/InstPrinter/VEInstPrinter.h llvm/lib/Target/VE/LLVMBuild.txt llvm/lib/Target/VE/LVLGen.cpp llvm/lib/Target/VE/MCTargetDesc/CMakeLists.txt llvm/lib/Target/VE/MCTargetDesc/LLVMBuild.txt llvm/lib/Target/VE/MCTargetDesc/VEFixupKinds.h llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.h llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.cpp llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.h llvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.cpp llvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.h llvm/lib/Target/VE/TargetInfo/CMakeLists.txt llvm/lib/Target/VE/TargetInfo/LLVMBuild.txt llvm/lib/Target/VE/TargetInfo/VETargetInfo.cpp llvm/lib/Target/VE/VE.h llvm/lib/Target/VE/VE.td llvm/lib/Target/VE/VEAsmPrinter.cpp llvm/lib/Target/VE/VECallingConv.td llvm/lib/Target/VE/VEFrameLowering.cpp llvm/lib/Target/VE/VEFrameLowering.h llvm/lib/Target/VE/VEISelDAGToDAG.cpp llvm/lib/Target/VE/VEISelLowering.cpp llvm/lib/Target/VE/VEISelLowering.h llvm/lib/Target/VE/VEInstrBuilder.h llvm/lib/Target/VE/VEInstrFormats.td llvm/lib/Target/VE/VEInstrInfo.cpp llvm/lib/Target/VE/VEInstrInfo.h llvm/lib/Target/VE/VEInstrInfo.td llvm/lib/Target/VE/VEInstrIntrinsicVL.gen.td llvm/lib/Target/VE/VEInstrIntrinsicVL.td llvm/lib/Target/VE/VEInstrPatternsVec.td llvm/lib/Target/VE/VEInstrVec.td llvm/lib/Target/VE/VEInstrVecVL.gen.td llvm/lib/Target/VE/VEInstrVecVL.td llvm/lib/Target/VE/VEMCInstLower.cpp llvm/lib/Target/VE/VEMachineFunctionInfo.cpp llvm/lib/Target/VE/VEMachineFunctionInfo.h llvm/lib/Target/VE/VERegisterInfo.cpp llvm/lib/Target/VE/VERegisterInfo.h llvm/lib/Target/VE/VERegisterInfo.td llvm/lib/Target/VE/VESchedule.td llvm/lib/Target/VE/VESubtarget.cpp llvm/lib/Target/VE/VESubtarget.h llvm/lib/Target/VE/VETargetMachine.cpp llvm/lib/Target/VE/VETargetMachine.h llvm/lib/Target/VE/VETargetTransformInfo.h llvm/lib/Target/VE/gen-veintrin.sh llvm/lib/Target/VE/veintrin.py llvm/lib/Target/VE/vl-index.inc llvm/lib/Transforms/Vectorize/LoopVectorize.cpp llvm/test/CodeGen/VE/add.ll llvm/test/CodeGen/VE/addition.ll llvm/test/CodeGen/VE/alloca.ll llvm/test/CodeGen/VE/atomic.ll llvm/test/CodeGen/VE/atomic_unaligned.ll llvm/test/CodeGen/VE/bitcast.ll llvm/test/CodeGen/VE/bitreverse.ll llvm/test/CodeGen/VE/branch1.ll llvm/test/CodeGen/VE/branch2.ll llvm/test/CodeGen/VE/broadcast.ll llvm/test/CodeGen/VE/broadcast_add.ll llvm/test/CodeGen/VE/broadcast_div.ll llvm/test/CodeGen/VE/broadcast_fma.ll llvm/test/CodeGen/VE/broadcast_mul.ll llvm/test/CodeGen/VE/broadcast_shift.ll llvm/test/CodeGen/VE/broadcast_sub.ll llvm/test/CodeGen/VE/bswap.ll llvm/test/CodeGen/VE/build_vec.ll llvm/test/CodeGen/VE/build_vec_2.ll llvm/test/CodeGen/VE/builtin_sjlj.ll llvm/test/CodeGen/VE/call.ll llvm/test/CodeGen/VE/callstruct.ll llvm/test/CodeGen/VE/cast.ll llvm/test/CodeGen/VE/combinestore.ll llvm/test/CodeGen/VE/constant.ll llvm/test/CodeGen/VE/constantvr.ll llvm/test/CodeGen/VE/copy.ll llvm/test/CodeGen/VE/ctlz.ll llvm/test/CodeGen/VE/ctpop.ll llvm/test/CodeGen/VE/cttz.ll llvm/test/CodeGen/VE/div.ll llvm/test/CodeGen/VE/extload.ll llvm/test/CodeGen/VE/extract_insert_vector_elt.ll llvm/test/CodeGen/VE/faddd.ll llvm/test/CodeGen/VE/fma.ll llvm/test/CodeGen/VE/fp_add.ll llvm/test/CodeGen/VE/fp_div.ll llvm/test/CodeGen/VE/fp_mul.ll llvm/test/CodeGen/VE/fp_sub.ll llvm/test/CodeGen/VE/fp_to_int.ll llvm/test/CodeGen/VE/func-epilogue.ll llvm/test/CodeGen/VE/func-prologue.ll llvm/test/CodeGen/VE/function_prologue_epilogue.ll llvm/test/CodeGen/VE/gen-velintrin-andm_mmm.ll llvm/test/CodeGen/VE/gen-velintrin-eqvm_mmm.ll llvm/test/CodeGen/VE/gen-velintrin-negm_mm.ll llvm/test/CodeGen/VE/gen-velintrin-nndm_mmm.ll llvm/test/CodeGen/VE/gen-velintrin-orm_mmm.ll llvm/test/CodeGen/VE/gen-velintrin-pvadds_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvadds_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvadds_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvadds_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvaddu_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvaddu_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvaddu_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvaddu_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvand_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvand_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvand_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvand_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvbrd_vsMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvbrd_vsl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcmps_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcmps_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcmps_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcmps_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcmpu_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcmpu_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcmpu_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcmpu_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcvtsw_vvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcvtws_vvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcvtws_vvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcvtwsrz_vvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvcvtwsrz_vvl.ll llvm/test/CodeGen/VE/gen-velintrin-pveqv_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pveqv_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pveqv_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pveqv_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfadd_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfadd_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfadd_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfadd_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfcmp_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfcmp_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfcmp_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfcmp_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmad_vsvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmad_vsvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmad_vvsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmad_vvsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmad_vvvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmad_vvvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmax_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmax_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmax_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmax_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmin_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmin_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmin_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmin_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmsb_vsvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmsb_vsvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmsb_vvsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmsb_vvsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmsb_vvvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmsb_vvvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmul_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmul_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmul_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfmul_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfnmad_vsvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfnmad_vsvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfnmad_vvsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfnmad_vvsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfnmad_vvvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfnmad_vvvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfnmsb_vsvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfnmsb_vsvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfnmsb_vvsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfnmsb_vvsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfnmsb_vvvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfnmsb_vvvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfsub_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfsub_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfsub_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvfsub_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvmaxs_vsvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvmaxs_vsvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvmaxs_vvvMvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvmaxs_vvvl.ll llvm/test/CodeGen/VE/gen-velintrin-pvmins_vsvMvl.ll (576 more files...) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits