[PATCH] D68021: [IntrinsicEmitter] Add overloaded type VecOfBitcastsToInt for SVE intrinsics

2019-09-30 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes accepted this revision. c-rhodes added a comment. This revision is now accepted and ready to land. LGTM Looks like a pretty straightforward change. Might be worth waiting a day or so before committing incase anyone else has any comments. CHANGES SINCE LAST ACTION

[PATCH] D68023: [AArch64][SVE] Implement int_aarch64_sve_cnt intrinsic

2019-09-30 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes accepted this revision. c-rhodes added a comment. This revision is now accepted and ready to land. LGTM Comment at: llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td:100-104 + defm CLS_ZPmZ : sve_int_un_pred_arit_1< 0b000, "cls", null_frag>; + defm CLZ_ZPmZ :

[PATCH] D68380: [Driver] NFC: Remove duplicate call to getLibGccType

2019-10-04 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL373712: [Driver] NFC: Remove duplicate call to getLibGccType (authored by c-rhodes, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D68380: [Driver] NFC: Remove duplicate call to getLibGccType

2019-10-03 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added a reviewer: saugustine. https://reviews.llvm.org/D68380 Files: clang/lib/Driver/ToolChains/CommonArgs.cpp Index: clang/lib/Driver/ToolChains/CommonArgs.cpp === ---

[PATCH] D74117: [AArch64][SVE] SVE2 intrinsics for character match & histogram generation

2020-02-07 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes accepted this revision. c-rhodes added a comment. This revision is now accepted and ready to land. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74117/new/ https://reviews.llvm.org/D74117

[PATCH] D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute

2020-09-01 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. In D85743#2244839 , @leonardchan wrote: >> The IR differences were caused by the new pass manager which is on by >> default for the Fuchsia builder. I've re-landed the patch with a fix for >>

[PATCH] D85128: [Prototype][SVE] Support arm_sve_vector_bits attribute

2020-09-02 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes abandoned this revision. c-rhodes added a comment. Closing this now the prototype has been split into separate patches that have landed. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85128/new/ https://reviews.llvm.org/D85128

[PATCH] D87463: [clang][aarch64] Fix mangling of bfloat16 neon vectors

2020-09-10 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, SjoerdMeijer, stuij. Herald added subscribers: danielkiss, kristof.beyls. Herald added a project: clang. c-rhodes requested review of this revision. The AAPCS64 specifies the internal type is used for c++ mangling. For bfloat16

[PATCH] D87358: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits

2020-09-09 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: efriedma, sdesmalen, rsandifo-arm. Herald added subscribers: kristof.beyls, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. c-rhodes requested review of this revision. The element types of scalable vectors are

[PATCH] D87358: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits

2020-09-11 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG002f5ab3b171: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits (authored by c-rhodes). Changed prior to commit: https://reviews.llvm.org/D87358?vs=290974=291168#toc Repository: rG LLVM Github

[PATCH] D87358: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits

2020-09-11 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/lib/AST/Type.cpp:2324 // scalable and fixed-length vectors. -return Ctx.UnsignedCharTy; - case BuiltinType::SveInt16: -return Ctx.ShortTy; - case BuiltinType::SveUint16: -return Ctx.UnsignedShortTy; - case

[PATCH] D87463: [clang][aarch64] Fix mangling of bfloat16 neon vectors

2020-09-11 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. In D87463#2267613 , @stuij wrote: > I'm not sure what the procedure is to get patches into LLVM 11, but I think > there's still time. Could you try to get this in there as well @c-rhodes ? Cherry-picked into LLVM 11, see:

[PATCH] D87463: [clang][aarch64] Fix mangling of bfloat16 neon vectors

2020-09-11 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGcabd60c26b5d: [clang][aarch64] Fix mangling of bfloat16 neon vectors (authored by c-rhodes). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87463/new/

[PATCH] D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors

2020-09-15 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:8522 + return VT->getElementType().getCanonicalType() == + getBuiltinVectorTypeInfo(BT).ElementType; } efriedma wrote: > We allow casting SVE fixed-width

[PATCH] D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors

2020-09-15 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 291891. c-rhodes edited the summary of this revision. c-rhodes added a comment. Added tests for implicit casts between GNU and fixed-length SVE vectors. I was planning to create a separate patch for this but since it's only tests and no functional changes

[PATCH] D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors

2020-09-15 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/test/Sema/attr-arm-sve-vector-bits.c:233-234 +svint64_t to_svint64_t__from_gnu_int32_t(gnu_int32_t x) { return x; } // expected-error-re {{returning 'gnu_int32_t' (vector of {{[0-9]+}} 'int32_t' values) from a function with

[PATCH] D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors

2020-09-15 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/test/Sema/attr-arm-sve-vector-bits.c:233-234 +svint64_t to_svint64_t__from_gnu_int32_t(gnu_int32_t x) { return x; } // expected-error-re {{returning 'gnu_int32_t' (vector of {{[0-9]+}} 'int32_t' values) from a function with

[PATCH] D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors

2020-09-16 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 292162. c-rhodes added a comment. Address comments CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87607/new/ https://reviews.llvm.org/D87607 Files: clang/lib/AST/ASTContext.cpp clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c

[PATCH] D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors

2020-09-16 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/test/Sema/attr-arm-sve-vector-bits.c:237 +// Test implicit conversion between SVE and GNU vector is invalid when +// __ARM_FEATURE_SVE_BITS != N +#if defined(__ARM_FEATURE_SVE_BITS) && __ARM_FEATURE_SVE_BITS == 512

[PATCH] D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors

2020-09-16 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:8522 + return VT->getElementType().getCanonicalType() == + getBuiltinVectorTypeInfo(BT).ElementType; } efriedma wrote: > c-rhodes wrote: > > efriedma wrote:

[PATCH] D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors

2020-09-14 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, efriedma, rsandifo-arm. Herald added subscribers: kristof.beyls, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. c-rhodes requested review of this revision. This patch adds support for implicit

[PATCH] D86720: [clang][aarch64] Drop experimental from __ARM_FEATURE_SVE_BITS macro

2020-09-03 Thread Cullen Rhodes 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 rGf9091e56d34f: [clang][aarch64] Drop experimental from __ARM_FEATURE_SVE_BITS macro (authored by c-rhodes). Changed prior to commit:

[PATCH] D87358: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits

2020-09-10 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 290974. c-rhodes edited the summary of this revision. c-rhodes added a comment. - Get the element type of scalable vectors from `getBuiltinVectorTypeInfo` when creating VLS types. This fixes the ABI issue since it calls `ASTContext::getIntTypeForBitwidth`

[PATCH] D87358: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits

2020-09-10 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/lib/AST/Type.cpp:2339 case BuiltinType::SveInt32: -return Ctx.IntTy; +return IsILP32 ? Ctx.LongTy : Ctx.IntTy; case BuiltinType::SveUint32: efriedma wrote: > sdesmalen wrote: > > Rather than

[PATCH] D86100: [Clang][SVE] NFC: Move info about ACLE types into separate function.

2020-08-18 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes accepted this revision. c-rhodes added a comment. This revision is now accepted and ready to land. LGTM, just one minor nit but seems like a nice improvement Comment at: clang/include/clang/AST/ASTContext.h:1318 + BuiltinVectorTypeInfo +

[PATCH] D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute

2020-08-28 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. In D85743#2243188 , @c-rhodes wrote: > In D85743#2242931 , @leonardchan > wrote: > >> Hi! The `attr-arm-sve-vector-bits-call.c` test seems to be failing on our >> clang builders: >> >>

[PATCH] D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute

2020-08-27 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 288250. c-rhodes added a comment. Address comments CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85736/new/ https://reviews.llvm.org/D85736 Files: clang/include/clang/AST/ASTContext.h clang/include/clang/AST/Type.h

[PATCH] D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute

2020-08-27 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGfeed5a7239d8: [Sema][AArch64] Support arm_sve_vector_bits attribute (authored by c-rhodes). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85736/new/

[PATCH] D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute

2020-08-27 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes marked 7 inline comments as done. c-rhodes added a comment. @rsandifo-arm @aaron.ballman thanks for reviewing! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85736/new/ https://reviews.llvm.org/D85736 ___ cfe-commits mailing list

[PATCH] D86720: [clang][aarch64] Drop experimental from __ARM_FEATURE_SVE_BITS macro

2020-08-27 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, david-arm, efriedma. Herald added subscribers: danielkiss, kristof.beyls, tschuett. Herald added a reviewer: rengolin. Herald added a reviewer: aaron.ballman. Herald added a project: clang. c-rhodes requested review of this

[PATCH] D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute

2020-08-27 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. In D85743#2219215 , @efriedma wrote: > LGTM > > Like I mentioned on the review for the prototype, I still think we should try > to implement a scheme that makes CK_BItCast between fixed and scalable types > trivial. Doing

[PATCH] D85743: [CodeGen][AArch64] Support arm_sve_vector_bits attribute

2020-08-27 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. In D85743#2242931 , @leonardchan wrote: > Hi! The `attr-arm-sve-vector-bits-call.c` test seems to be failing on our > clang builders: > > Could you take a look? Thanks. > > Builder: >

[PATCH] D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute

2020-08-24 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. ping CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85736/new/ https://reviews.llvm.org/D85736 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D87607: [clang][aarch64] Support implicit casts between GNU and SVE vectors

2020-09-17 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG9218f9283802: [clang][aarch64] ACLE: Support implicit casts between GNU and SVE vectors (authored by c-rhodes). Changed prior to commit: https://reviews.llvm.org/D87607?vs=292162=292441#toc

[PATCH] D88233: [clang][aarch64] Address various fixed-length SVE vector operations

2020-09-24 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, efriedma, rsandifo-arm. Herald added subscribers: kristof.beyls, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. c-rhodes requested review of this revision. This patch adds tests and support for

[PATCH] D83550: [PATCH 1/4][Sema][AArch64] Add parsing support for arm_sve_vector_bits attribute

2020-07-15 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes marked 6 inline comments as done. c-rhodes added inline comments. Comment at: clang/test/Sema/arm-feature-sve-bits-macro.c:3 + +#include + aaron.ballman wrote: > c-rhodes wrote: > > aaron.ballman wrote: > > > This should not be using a system include

[PATCH] D83550: [PATCH 1/4][Sema][AArch64] Add parsing support for arm_sve_vector_bits attribute

2020-07-15 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 278249. c-rhodes added a comment. - Add a note to docs explaining this feature is a WIP. - `s/__ARM_FEATURE_SVE_BITS__EXPERIMENTAL/__ARM_FEATURE_SVE_BITS_EXPERIMENTAL`. - `s/validIntegerConstantExpr/verifyValidIntegerConstantExpr`. - Removed unrelated

[PATCH] D83551: [PATCH 2/4][Sema][AArch64] Add semantics for arm_sve_vector_bits attribute

2020-07-21 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. In D83551#2164984 , @aaron.ballman wrote: > The attribute bits LGTM, thanks! Thanks for reviewing! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83551/new/ https://reviews.llvm.org/D83551

[PATCH] D83553: [PATCH 3/4][Sema][AArch64] Add codegen for arm_sve_vector_bits attribute

2020-08-03 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes abandoned this revision. c-rhodes added a comment. I've posted a prototype D85128 with an alternative implementation, given it's quite different to this patch I've posted it as a separate patch and am abandoning this one. See new patch for more

[PATCH] D85128: [Prototype][SVE] Support arm_sve_vector_bits attribute

2020-08-04 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. In D85128#2191401 , @efriedma wrote: > Not going to write detailed review comments, but this looks like the right > approach in general. Thanks for taking a look! I'll split this up into separate patches soon. > One high-level

[PATCH] D85128: [Prototype][SVE] Support arm_sve_vector_bits attribute

2020-08-04 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. In D85128#2191108 , @tschuett wrote: > Stupid questions. > > - Is it for convenience? You get arrays, global variables, structs, ... . > Vectorization becomes easier ... Yes, this allows the definition of types that can be used

[PATCH] D85128: [Prototype][SVE] Support arm_sve_vector_bits attribute

2020-08-05 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. In D85128#2193309 , @tschuett wrote: > Sorry. I meant ABI. Can link GCC .o files with Clang .o files using the > attributes? Yes they should be compatible. The machine-level ABI distinguishes 4 types of SVE vector [1]: -

[PATCH] D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute

2020-08-13 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 285285. c-rhodes marked an inline comment as not done. c-rhodes added a comment. Address @rsandifo-arm comments. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85736/new/ https://reviews.llvm.org/D85736 Files:

[PATCH] D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute

2020-08-13 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes marked 4 inline comments as done. c-rhodes added inline comments. Comment at: clang/lib/AST/ASTContext.cpp:1941 +// Adjust the alignment for fixed-length SVE predicates. +if (VT->getVectorKind() == VectorType::SveFixedLengthPredicateVector) + Align = 16;

[PATCH] D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute

2020-08-12 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 285124. c-rhodes added a comment. Added missing implicit conversions for C++. I considered handling this with the existing implicit vector conversion although one side of the conversion will be an SVE builtin, so instead I've added a new conversion

[PATCH] D85128: [Prototype][SVE] Support arm_sve_vector_bits attribute

2020-08-04 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. In D85128#2192867 , @c-rhodes wrote: > In D85128#2191108 , @tschuett wrote: > >> - Is it compatible with GCC? > > Support for this attribute landed in GCC 10 and it's more complete than

[PATCH] D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute

2020-08-11 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: efriedma, sdesmalen, rsandifo-arm, aaron.ballman, paulwalker-arm. Herald added subscribers: danielkiss, kristof.beyls, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. c-rhodes requested review of this revision.

[PATCH] D83550: [PATCH 1/4][Sema][AArch64] Add parsing support for arm_sve_vector_bits attribute

2020-07-10 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, rsandifo-arm, efriedma, ctetreau, cameron.mcinally. Herald added subscribers: danielkiss, kristof.beyls, tschuett. Herald added a reviewer: rengolin. Herald added a reviewer: aaron.ballman. Herald added a project: clang. This

[PATCH] D83553: [PATCH 3/4][Sema][AArch64] Add codegen for arm_sve_vector_bits attribute

2020-07-10 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, rsandifo-arm, efriedma, cameron.mcinally, ctetreau. Herald added subscribers: danielkiss, kristof.beyls, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. This patch implements codegen for the

[PATCH] D83551: [PATCH 2/4][Sema][AArch64] Add semantics for arm_sve_vector_bits attribute

2020-07-10 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, rsandifo-arm, efriedma, cameron.mcinally, ctetreau. Herald added subscribers: danielkiss, kristof.beyls, tschuett. Herald added a reviewer: rengolin. Herald added a reviewer: aaron.ballman. Herald added a project: clang. This

[PATCH] D83553: [PATCH 3/4][Sema][AArch64] Add codegen for arm_sve_vector_bits attribute

2020-07-10 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 277043. c-rhodes added a comment. Changes: - Use fixed-length instead of fixed-width in naming. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83553/new/ https://reviews.llvm.org/D83553 Files: clang/lib/CodeGen/CGExpr.cpp

[PATCH] D83550: [PATCH 1/4][Sema][AArch64] Add parsing support for arm_sve_vector_bits attribute

2020-07-14 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 277853. c-rhodes added a comment. Address @sdesmalen comments CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83550/new/ https://reviews.llvm.org/D83550 Files: clang/include/clang/AST/Type.h clang/include/clang/Basic/Attr.td

[PATCH] D83550: [PATCH 1/4][Sema][AArch64] Add parsing support for arm_sve_vector_bits attribute

2020-07-14 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes marked 6 inline comments as done. c-rhodes added inline comments. Comment at: clang/lib/Sema/SemaType.cpp:7784 + // The __ARM_FEATURE_SVE_BITS macro must be defined when using this attribute. + auto = S.getPreprocessor(); + if

[PATCH] D83550: [PATCH 1/4][Sema][AArch64] Add parsing support for arm_sve_vector_bits attribute

2020-07-14 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes marked 6 inline comments as done. c-rhodes added a comment. @aaron.ballman thanks for comments! I've updated the patch Comment at: clang/include/clang/Basic/Attr.td:1538 + let Args = [IntArgument<"NumBits">]; + let Documentation = [Undocumented]; +}

[PATCH] D83550: [PATCH 1/4][Sema][AArch64] Add parsing support for arm_sve_vector_bits attribute

2020-07-14 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 278009. c-rhodes marked 2 inline comments as done and an inline comment as not done. c-rhodes added a comment. Address @aaron.ballman comments CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83550/new/ https://reviews.llvm.org/D83550 Files:

[PATCH] D83550: [PATCH 1/4][Sema][AArch64] Add parsing support for arm_sve_vector_bits attribute

2020-07-14 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/lib/Sema/SemaType.cpp:7784 + // The __ARM_FEATURE_SVE_BITS macro must be defined when using this attribute. + auto = S.getPreprocessor(); + if (!PP.isMacroDefined("__ARM_FEATURE_SVE_BITS")) { sdesmalen

[PATCH] D83551: [PATCH 2/4][Sema][AArch64] Add semantics for arm_sve_vector_bits attribute

2020-07-14 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/include/clang/Basic/Attr.td:1541 +def ArmSveVectorBits128 : TypeAttr { + let Spellings = []; sdesmalen wrote: > aaron.ballman wrote: > > sdesmalen wrote: > > > nit: Can you add a comment saying why these are

[PATCH] D83550: [PATCH 1/4][Sema][AArch64] Add parsing support for arm_sve_vector_bits attribute

2020-07-15 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 278218. c-rhodes edited the summary of this revision. c-rhodes added a comment. Herald added a subscriber: dang. Added `-msve-vector-bits=` flag. If specified the `__ARM_FEATURE_SVE_BITS__EXPERIMENTAL` macro is defined and a language option

[PATCH] D82345: [sve][acle] Implement some of the C intrinsics for brain float.

2020-06-29 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. @fpetrogalli thanks for updating, LGTM! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82345/new/ https://reviews.llvm.org/D82345 ___ cfe-commits mailing list

[PATCH] D82668: [AArch64][SVE] clang: Add missing svbfloat16_t tests

2020-06-29 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/test/CodeGenCXX/aarch64-sve-typeinfo.cpp:4 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu %s -emit-llvm -o - \ -// RUN: -target-feature +sve | FileCheck %s +// RUN: -target-feature +sve,+bf16 | FileCheck %s

[PATCH] D82665: [AArch64][SVE] Add bfloat16 to outstanding tuple vector intrinsics

2020-06-29 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 274081. c-rhodes added a comment. Changes: - Cover all indexes in get/set ACLE tests CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82665/new/ https://reviews.llvm.org/D82665 Files: clang/include/clang/Basic/arm_sve.td

[PATCH] D82665: [AArch64][SVE] Add bfloat16 to outstanding tuple vector intrinsics

2020-06-29 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 274138. c-rhodes added a comment. Changes: - Use function attribute for `+bf16` target feature. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82665/new/ https://reviews.llvm.org/D82665 Files: clang/include/clang/Basic/arm_sve.td

[PATCH] D82665: [AArch64][SVE] Add bfloat16 to outstanding tuple vector intrinsics

2020-06-29 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: llvm/test/CodeGen/AArch64/sve-intrinsics-create-tuple.ll:100 + +define @test_svcreate2_bf16_vec0(i1 %p, %z0, %z1) local_unnamed_addr #0 { +; CHECK-LABEL: test_svcreate2_bf16_vec0: fpetrogalli wrote: > nit: remove

[PATCH] D82668: [AArch64][SVE] clang: Add missing svbfloat16_t tests

2020-06-29 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG1ef75f53e9e6: [AArch64][SVE] clang: Add missing svbfloat16_t tests (authored by c-rhodes). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82668/new/

[PATCH] D82665: [AArch64][SVE] Add bfloat16 to outstanding tuple vector intrinsics

2020-06-29 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGe73c3bb06b5a: [AArch64][SVE] Add bfloat16 to outstanding tuple vector intrinsics (authored by c-rhodes). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D82391: [AArch64][SVE] Add bfloat16 support to svext intrinsic

2020-06-29 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd5fc592b7c26: [AArch64][SVE] Add bfloat16 support to svext intrinsic (authored by c-rhodes). Changed prior to commit: https://reviews.llvm.org/D82391?vs=273685=274052#toc Repository: rG LLVM Github

[PATCH] D82665: [AArch64][SVE] Add bfloat16 to outstanding tuple vector intrinsics

2020-06-29 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c:9 +// A simple used,unused... macro, long enough to represent any SVE builtin. +#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3 +#else

[PATCH] D82178: [AArch64][SVE] Guard svbfloat16_t with feature macro in ACLE

2020-06-19 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, efriedma, stuij, fpetrogalli. Herald added subscribers: cfe-commits, danielkiss, psnobl, rkruppe, kristof.beyls, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. sdesmalen added inline comments.

[PATCH] D82182: [AArch64][SVE] Add bfloat16 support to perm and select intrinsics

2020-06-19 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, efriedma, stuij, david-arm, fpetrogalli, kmclaughlin. Herald added subscribers: danielkiss, psnobl, rkruppe, hiraditya, kristof.beyls, tschuett. Herald added projects: clang, LLVM. Added for following intrinsics: - zip1,

[PATCH] D82186: [AArch64][SVE] Add bfloat16 support to svlen intrinsic

2020-06-19 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len.c:2 // REQUIRES: aarch64-registered-target -// RUN: %clang_cc1 -D__ARM_FEATURE_SVE -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -S -O1

[PATCH] D82178: [AArch64][SVE] Guard svbfloat16_t with feature macro in ACLE

2020-06-19 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 272043. c-rhodes added a comment. Changes: - Error if `__ARM_FEATURE_BF16_SCALAR_ARITHMETIC` not defined when defining `__ARM_FEATURE_SVE_BF16`. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82178/new/ https://reviews.llvm.org/D82178 Files:

[PATCH] D82186: [AArch64][SVE] Add bfloat16 support to svlen intrinsic

2020-06-19 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, efriedma, david-arm, fpetrogalli, stuij. Herald added subscribers: danielkiss, psnobl, rkruppe, kristof.beyls, tschuett. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D82186

[PATCH] D82178: [AArch64][SVE] Guard svbfloat16_t with feature macro in ACLE

2020-06-19 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 272091. c-rhodes added a comment. Changes: - Include `arm_bf16.h` if `__ARM_FEATURE_BF16_SCALAR_ARITHMETIC` is defined. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82178/new/ https://reviews.llvm.org/D82178 Files:

[PATCH] D82182: [AArch64][SVE] Add bfloat16 support to perm and select intrinsics

2020-06-23 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel.c:2 // REQUIRES: aarch64-registered-target -// RUN: %clang_cc1 -D__ARM_FEATURE_SVE -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -S -O1

[PATCH] D82178: [AArch64][SVE] Guard svbfloat16_t with feature macro in ACLE

2020-06-23 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGc8fae2bb4afe: [AArch64][SVE] Guard svbfloat16_t with feature macro in ACLE (authored by c-rhodes). Changed prior to commit: https://reviews.llvm.org/D82178?vs=272091=272664#toc Repository: rG LLVM

[PATCH] D82369: [SveEmitter] Add verify-checks to Clang bfloat16 tests

2020-06-23 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfdot.c:3-6 +// RUN: %clang_cc1 -D__ARM_FEATURE_SVE -D__ARM_FEATURE_SVE_BF16 -D__ARM_FEATURE_BF16_SCALAR_ARITHMETIC -triple aarch64-none-linux-gnu -target-feature +sve

[PATCH] D82178: [AArch64][SVE] Guard svbfloat16_t with feature macro in ACLE

2020-06-23 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. In D82178#2106847 , @fpetrogalli wrote: > LGTM! Thanks. Thanks for reviewing! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82178/new/ https://reviews.llvm.org/D82178

[PATCH] D82182: [AArch64][SVE] Add bfloat16 support to perm and select intrinsics

2020-06-23 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/include/clang/Basic/arm_sve.td:1115 +let ArchGuard = "defined(__ARM_FEATURE_SVE_BF16)" in { +def SVREV_BF16: SInst<"svrev[_{d}]","dd", "b", MergeNone, "aarch64_sve_rev">; c-rhodes wrote: >

[PATCH] D82182: [AArch64][SVE] Add bfloat16 support to perm and select intrinsics

2020-06-23 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 272745. c-rhodes added a comment. Changes: - Moved bfloat tests to separate files. - Added checks to test intrinsics are guarded by feature flag, this is by omitting the feature macro `__ARM_FEATURE_SVE_BF16` for now but will eventually be updated to omit

[PATCH] D82186: [AArch64][SVE] Add bfloat16 support to svlen intrinsic

2020-06-23 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 272753. c-rhodes added a comment. Changes: - Rebased. - Moved bfloat test to separate file. - Added checks to test intrinsics are guarded by feature flag, this is by omitting the feature macro `__ARM_FEATURE_SVE_BF16` for now but will eventually be

[PATCH] D82391: [AArch64][SVE] Add bfloat16 support to svext intrinsic

2020-06-23 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, kmclaughlin, efriedma, david-arm, fpetrogalli. Herald added subscribers: danielkiss, psnobl, rkruppe, hiraditya, kristof.beyls, tschuett. Herald added projects: clang, LLVM. Repository: rG LLVM Github Monorepo

[PATCH] D82399: [AArch64][SVE2] Add bfloat16 support to whilerw/whilewr intrinsics

2020-06-23 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, efriedma, kmclaughlin, david-arm, fpetrogalli, stuij. Herald added subscribers: danielkiss, kristof.beyls, tschuett. Herald added projects: clang, LLVM. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D82399

[PATCH] D82182: [AArch64][SVE] Add bfloat16 support to perm and select intrinsics

2020-06-24 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG26502ad60922: [AArch64][SVE] Add bfloat16 support to perm and select intrinsics (authored by c-rhodes). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D82399: [AArch64][SVE2] Add bfloat16 support to whilerw/whilewr intrinsics

2020-06-24 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG05e10ee0aee0: [AArch64][SVE2] Add bfloat16 support to whilerw/whilewr intrinsics (authored by c-rhodes). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D82450: [AArch64][SVE] Add multiclass for bfloat16 intrinsic definitions

2020-06-24 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, fpetrogalli, kmclaughlin, efriedma. Herald added subscribers: danielkiss, psnobl, rkruppe, kristof.beyls, tschuett. Herald added a project: clang. Patch implements a multiclass 'SInstBF16', a wrapper around SInst that also

[PATCH] D82182: [AArch64][SVE] Add bfloat16 support to perm and select intrinsics

2020-06-24 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: llvm/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll:809 +define @rev_bf16( %a) { +; CHECK-LABEL: rev_bf16 sdesmalen wrote: > Does this test not need the `+bf16` attribute to work? (which implies the > patterns

[PATCH] D82186: [AArch64][SVE] Add bfloat16 support to svlen intrinsic

2020-06-24 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGfd2c4b899932: [AArch64][SVE] Add bfloat16 support to svlen intrinsic (authored by c-rhodes). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82186/new/

[PATCH] D82182: [AArch64][SVE] Add bfloat16 support to perm and select intrinsics

2020-06-24 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes marked an inline comment as done. c-rhodes added inline comments. Comment at: clang/include/clang/Basic/arm_sve.td:1115 +let ArchGuard = "defined(__ARM_FEATURE_SVE_BF16)" in { +def SVREV_BF16: SInst<"svrev[_{d}]","dd", "b", MergeNone, "aarch64_sve_rev">;

[PATCH] D82391: [AArch64][SVE] Add bfloat16 support to svext intrinsic

2020-06-25 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 273365. c-rhodes added a comment. Changes: - Guard patterns on `+bf16`. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82391/new/ https://reviews.llvm.org/D82391 Files: clang/include/clang/Basic/arm_sve.td

[PATCH] D82429: [sve][acle] Add some C intrinsics for brain float types.

2020-06-25 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes accepted this revision. c-rhodes added inline comments. This revision is now accepted and ready to land. Comment at: clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c:7 +// RUN: %clang_cc1 -D__ARM_FEATURE_SVE -D__ARM_FEATURE_SVE2

[PATCH] D82578: [AArch64][SVE2] Guard while intrinsics on scalar bfloat feature macro

2020-06-25 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, fpetrogalli, kmclaughlin. Herald added subscribers: danielkiss, kristof.beyls, tschuett. Herald added a reviewer: rengolin. Herald added a reviewer: efriedma. Herald added a project: clang. `svwhilerw_bf16` and `svwhilewr_bf16`

[PATCH] D82182: [AArch64][SVE] Add bfloat16 support to perm and select intrinsics

2020-06-24 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/include/clang/Basic/arm_sve.td:1115 +let ArchGuard = "defined(__ARM_FEATURE_SVE_BF16)" in { +def SVREV_BF16: SInst<"svrev[_{d}]","dd", "b", MergeNone, "aarch64_sve_rev">; fpetrogalli wrote: >

[PATCH] D82429: [sve][acle] Add some C intrinsics for brain float types.

2020-06-24 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c:4-5 +// RUN: %clang_cc1 -D__ARM_FEATURE_SVE -D__ARM_FEATURE_SVE2 -D__ARM_FEATURE_SVE_BF16 -D__ARM_FEATURE_BF16_SCALAR_ARITHMETIC -DSVE_OVERLOADED_FORMS -triple

[PATCH] D82345: [sve][acle] Implement some of the C intrinsics for brain float.

2020-06-26 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. @fpetrogalli thanks for updating! I have a few more comments, sorry I missed a few things yesterday Comment at: clang/include/clang/Basic/arm_sve.td:725-727 + def NAME : SInst; + let ArchGuard = "defined(__ARM_FEATURE_SVE_BF16)" in { +def

[PATCH] D82391: [AArch64][SVE] Add bfloat16 support to svext intrinsic

2020-06-26 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes updated this revision to Diff 273685. c-rhodes added a comment. Changes: - Add tests for bfloat bitcast patterns. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82391/new/ https://reviews.llvm.org/D82391 Files: clang/include/clang/Basic/arm_sve.td

[PATCH] D82578: [AArch64][SVE2] Guard while intrinsics on scalar bfloat feature macro

2020-06-26 Thread Cullen Rhodes via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd45cf9105b5a: [AArch64][SVE2] Guard while intrinsics on scalar bfloat feature macro (authored by c-rhodes). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D82665: [AArch64][SVE] Add bfloat16 to outstanding tuple vector intrinsics

2020-06-26 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, kmclaughlin, fpetrogalli. Herald added subscribers: danielkiss, psnobl, rkruppe, kristof.beyls, tschuett. Herald added a reviewer: efriedma. Herald added projects: clang, LLVM. - svget2/3/4 - svset2/3/4 - svcreate2/3/4 -

[PATCH] D82668: [AArch64][SVE] clang: Add missing svbfloat16_t tests

2020-06-26 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes created this revision. c-rhodes added reviewers: sdesmalen, kmclaughlin, fpetrogalli. Herald added subscribers: danielkiss, psnobl, rkruppe, kristof.beyls, tschuett. Herald added a reviewer: efriedma. Herald added a project: clang. Patch adds tests for mangling of svbfloat16_t and

[PATCH] D82182: [AArch64][SVE] Add bfloat16 support to perm and select intrinsics

2020-06-19 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added inline comments. Comment at: clang/include/clang/Basic/arm_sve.td:1115 +let ArchGuard = "defined(__ARM_FEATURE_SVE_BF16)" in { +def SVREV_BF16: SInst<"svrev[_{d}]","dd", "b", MergeNone, "aarch64_sve_rev">; fpetrogalli wrote: > nit:

[PATCH] D82345: [sve][acle] Implement some of the C intrinsics for brain float.

2020-06-25 Thread Cullen Rhodes via Phabricator via cfe-commits
c-rhodes added a comment. We need to guard the LLVM patterns on the +bf16 feature as we've done in other patches Comment at: clang/include/clang/Basic/arm_sve.td:694 def SVDUPQ_16 : SInst<"svdupq[_n]_{d}", "d", "sUsh", MergeNone>; +let ArchGuard =

  1   2   >