[PATCH] D153560: [Clang] Allow C++11 style initialisation of SVE types.

2023-06-22 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm updated this revision to Diff 533629. paulwalker-arm added a comment. Moved C++ test into CodeGenCXX. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153560/new/ https://reviews.llvm.org/D153560 Files: clang/lib/CodeGen/CGExprScalar

[PATCH] D153560: [Clang] Allow C++11 style initialisation of SVE types.

2023-06-22 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm updated this revision to Diff 533631. paulwalker-arm added a comment. Renamed test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153560/new/ https://reviews.llvm.org/D153560 Files: clang/lib/CodeGen/CGExprScalar.cpp clang/test/

[PATCH] D153560: [Clang] Allow C++11 style initialisation of SVE types.

2023-06-26 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm added inline comments. Comment at: clang/lib/CodeGen/CGExprScalar.cpp:1878 + +llvm_unreachable("Unexpected initialization of a scalable vector!"); + } efriedma wrote: > I can see why you can't have more than one element... but both zero and on

[PATCH] D153560: [Clang] Allow C++11 style initialisation of SVE types.

2023-06-26 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm added inline comments. Comment at: clang/lib/CodeGen/CGExprScalar.cpp:1878 + +llvm_unreachable("Unexpected initialization of a scalable vector!"); + } efriedma wrote: > paulwalker-arm wrote: > > efriedma wrote: > > > I can see why you can't ha

[PATCH] D153560: [Clang] Allow C++11 style initialisation of SVE types.

2023-06-27 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm updated this revision to Diff 534914. paulwalker-arm added a comment. Rebased and updated to allow copy initialisation. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153560/new/ https://reviews.llvm.org/D153560 Files: clang/lib/Co

[PATCH] D153560: [Clang] Allow C++11 style initialisation of SVE types.

2023-06-29 Thread Paul Walker via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG989879f8fded: [Clang] Allow C++11 style initialisation of SVE types. (authored by paulwalker-arm). Repository: rG LLVM Github Monorepo CHANGES SI

[PATCH] D143767: [SVE][Builtins] Lower X forms of fp binop/mla arithmetic builtins to dedicated intrinsics

2023-02-20 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm added a comment. In D143767#4138049 , @dewen wrote: > Hi, thank you. When will this patch be pushed to the master?@paulwalker-arm I expect to push the patch to main in the next day or so. I just need to look over some recent InstCombine

[PATCH] D150553: [SVE ACLE] Change the lowering of SVE integer mla_u/mls_u builtins

2023-05-16 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm accepted this revision. paulwalker-arm added a comment. This revision is now accepted and ready to land. The commit message is incorrect because the SVE Clang builtins are not named `mla_u` and so should read `SVE integer mla_x/mls_x builtins` Other than that the patch looks good

[PATCH] D148919: [Clang][Sema] Fix invalid cast when validating SVE types within CheckVariableDeclarationType.

2023-04-21 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm created this revision. Herald added a subscriber: tschuett. Herald added a project: All. paulwalker-arm requested review of this revision. Herald added a reviewer: jdoerfert. Herald added subscribers: cfe-commits, jplehr, sstefan1. Herald added a project: clang. Fixes #62087 Repos

[PATCH] D148919: [Clang][Sema] Fix invalid cast when validating SVE types within CheckVariableDeclarationType.

2023-04-21 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm added reviewers: dmgreen, sdesmalen. paulwalker-arm added a comment. This is not my area so I don't know if replacing `isFunctionOrMethod()` rather than just extending the if clause is a bad idea, but all the tests still pass including the new one that would trigger an assert prio

[PATCH] D148919: [Clang][Sema] Fix invalid cast when validating SVE types within CheckVariableDeclarationType.

2023-04-24 Thread Paul Walker via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG2bb7e00b098c: [Clang][Sema] Fix invalid cast when validating SVE types within… (authored by paulwalker-arm). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D14

[PATCH] D138788: [SVE] Change some bfloat lane intrinsics to use i32 immediates

2022-12-05 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm added inline comments. Comment at: llvm/include/llvm/IR/IntrinsicsAArch64.td:2527 -def int_aarch64_sve_bfdot_lane : SVE_4Vec_BF16_Indexed; -def int_aarch64_sve_bfmlalb_lane : SVE_4Vec_BF16_Indexed; -def int_aarch64_sve_bfmlalt_lane : SVE_4Vec_BF16_Indexed; +def

[PATCH] D138788: [SVE] Change some bfloat lane intrinsics to use i32 immediates

2022-12-06 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm accepted this revision. paulwalker-arm added inline comments. This revision is now accepted and ready to land. Comment at: llvm/include/llvm/IR/IntrinsicsAArch64.td:1517 -class SVE_4Vec_BF16_Indexed +class SVE_4Vec_BF16_Indexed_V2 : DefaultAttrsIntrinsic<[ll

[PATCH] D107290: [RISCV] Add support for the vscale_range attribute

2022-01-25 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm added a comment. Does this mean `RISCVTTIImpl::getMaxVScale()` can be removed? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107290/new/ https://reviews.llvm.org/D107290 ___ cfe-commits ma

[PATCH] D113294: [IR] Remove unbounded as possible value for vscale_range minimum

2021-12-06 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm accepted this revision. paulwalker-arm added a comment. This revision is now accepted and ready to land. One minor issue but otherwise looks good. Comment at: clang/lib/Basic/Targets/AArch64.cpp:482 +return std::pair( +LangOpts.VScaleMin ? LangOpts.VS

[PATCH] D115924: [ConstantFolding] Unify handling of load from uniform value

2021-12-18 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm added a comment. This patch looks to be breaking the clang-aarch64-sve-vla-2stage buildbot (and probably also clang-aarch64-sve-vls-2stage). I've checked this using `./bin/clang -DNDEBUG -O3 -w -Werror=date-time -w pr19687.c && ./a.out && echo "success"`, which works before this

[PATCH] D98487: [AArch64][SVE/NEON] Add support for FROUNDEVEN for both NEON and fixed length SVE

2021-03-16 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm accepted this revision. paulwalker-arm added a comment. Mainly focused on the SVE side of things, which looks good to me. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98487/new/ https://reviews.llvm.org/D98487 _

[PATCH] D98856: Always emit error for wrong interfaces to scalable vectors, unless cmdline flag is passed.

2021-03-19 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:5052-5055 + if (isa(JA)) { +CmdArgs.push_back("-mllvm"); +CmdArgs.push_back("-treat-scalable-fixed-error-as-warning"); + } Are there any concerns related to LTO here

[PATCH] D98856: Always emit error for wrong interfaces to scalable vectors, unless cmdline flag is passed.

2021-03-25 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm accepted this revision. paulwalker-arm added inline comments. Comment at: llvm/include/llvm/Support/TypeSize.h:30 +/// Reports a diagnostic message to indicate a invalid size request has been +/// done on a scalable vector. This function may not return. -

[PATCH] D111790: [AArch64][Driver][SVE] Allow -msve-vector-bits=+ syntax to mean no maximum vscale

2021-10-14 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm added a comment. Are the references to "128-bit chunks" for the vscale flags necessary? That's really a nuisance of SVE that LLVM IR should not need to worry about. Can we speak exclusively in terms of vscale or is the "multiples of 128" required somewhere? Perhaps we're missi

[PATCH] D111790: [AArch64][Driver][SVE] Allow -msve-vector-bits=+ syntax to mean no maximum vscale

2021-10-15 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm added inline comments. Comment at: clang/lib/Sema/SemaType.cpp:7893 // Attribute is unsupported if '-msve-vector-bits=' isn't specified. - if (!S.getLangOpts().ArmSveVectorBits) { + if (!S.getLangOpts().VScaleMin) { S.Diag(Attr.getLoc(), diag::err_attribu

[PATCH] D111790: [AArch64][Driver][SVE] Allow -msve-vector-bits=+ syntax to mean no maximum vscale

2021-10-21 Thread Paul Walker via Phabricator via cfe-commits
paulwalker-arm added inline comments. Comment at: clang/lib/Basic/Targets/AArch64.cpp:454 - if (Opts.ArmSveVectorBits) { -Builder.defineMacro("__ARM_FEATURE_SVE_BITS", Twine(Opts.ArmSveVectorBits)); + if (Opts.VScaleMin) { +Builder.defineMacro("__ARM_FEATURE_SVE_BITS

<    1   2