[PATCH] D66199: [docs] loop pragmas

2019-08-14 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer marked an inline comment as done. SjoerdMeijer added a comment. > Since this is user documentation, we should only add it here once it is true. Yep, good point, I also wanted to capture our discussions on the list. But yes, let's hold this back until we're ready with the pragmas.

[PATCH] D64564: Loop pragma parsing. NFC.

2019-08-14 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 215162. SjoerdMeijer added a comment. thanks for the suggestions; comments addressed. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64564/new/ https://reviews.llvm.org/D64564 Files: clang/lib/Parse/ParsePragma.cpp Index:

[PATCH] D66199: [docs] loop pragmas

2019-08-14 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer created this revision. SjoerdMeijer added reviewers: fhahn, Meinersbur, dorit, hsaito. Following our discussion on the cfe dev list (http://lists.llvm.org/pipermail/cfe-dev/2019-August/063054.html), I have added a paragraph that is explicit about transformation options implying the

[PATCH] D64564: Loop pragma parsing. NFC.

2019-08-13 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Sorry, should have done my std::string, StringRef, and Twine homework a lot better! Thanks for your help and suggestions, will fix this. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64564/new/ https://reviews.llvm.org/D64564

[PATCH] D65776: [Clang] Pragma vectorize_predicate implies vectorize

2019-08-13 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Thanks for your help! And I will wait a few days. After this, I will look at that PR, will have a look at diagnostics, and then at the LLVM side of things. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65776/new/ https://reviews.llvm.org/D65776

[PATCH] D64564: Loop pragma parsing. NFC.

2019-08-13 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. this is not important at all, but might be nice clean up, so friendly ping :-) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64564/new/ https://reviews.llvm.org/D64564 ___ cfe-commits mailing list

[PATCH] D65776: [Clang] Pragma vectorize_predicate implies vectorize

2019-08-13 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. thanks @Meinersbur and @fhahn for the discussions on this, also on the dev list. It looks like we are happy with this behaviour? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65776/new/ https://reviews.llvm.org/D65776

[PATCH] D65776: [Clang] Pragma vectorize_predicate implies vectorize

2019-08-07 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. > I do not know whether/how "setting a transformation option implicitly enables > the transformation" should be implemented, maybe we should discuss this. Yep, agreed. I've sent a mail to the dev list: http://lists.llvm.org/pipermail/cfe-dev/2019-August/063054.html

[PATCH] D65776: [Clang] Pragma vectorize_predicate implies vectorize

2019-08-06 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Hi Florian, thanks for your input! > IMO it would make sense to have the more specific pragmas imply > vectorize(enable) here (or update the docs accordingly). Yep, fully agree with that, as I also wrote in my previous comment. And thanks for digging up that PR.

[PATCH] D65776: [Clang] Pragma vectorize_predicate implies vectorize

2019-08-05 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Thanks for pointing this all out! I am not entirely sure yet what to think about all this as I am new to the loop pragma business, but I think it looks inconsistent to me! I think I find `allowReordering()` a little bit ugly, because it is also checking

[PATCH] D65776: [Clang] Pragma vectorize_predicate implies vectorize

2019-08-05 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Forgot that this requires a doc change too. Will add that once we're happy with the proposed behaviour. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65776/new/ https://reviews.llvm.org/D65776 ___ cfe-commits

[PATCH] D65776: [Clang] Pragma vectorize_predicate implies vectorize

2019-08-05 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer created this revision. SjoerdMeijer added reviewers: Meinersbur, hsaito, fhahn. New pragma "vectorize_predicate(enable)" now implies "vectorize(enable)", and it is ignored when vectorization is disabled with e.g. "vectorize(disable) vectorize_predicate(enable)".

[PATCH] D64564: Loop pragma parsing. NFC.

2019-08-01 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 212878. SjoerdMeijer added a comment. Fixed the string problems. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64564/new/ https://reviews.llvm.org/D64564 Files: clang/lib/Parse/ParsePragma.cpp Index: clang/lib/Parse/ParsePragma.cpp

[PATCH] D64564: Loop pragma parsing. NFC.

2019-07-30 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer marked an inline comment as done. SjoerdMeijer added inline comments. Comment at: lib/Parse/ParsePragma.cpp:1011 + Str = llvm::StringSwitch(Str) + .Case("loop", "clang loop " + Str.str()) + .Case("unroll_and_jam", Str)

[PATCH] D64744: #pragma clang loop vectorize_predicate(enable|disable)

2019-07-25 Thread Sjoerd Meijer via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL366989: [Clang] New loop pragma vectorize_predicate (authored by SjoerdMeijer, committed by ). Changed prior to commit: https://reviews.llvm.org/D64744?vs=211096=211678#toc Repository: rL LLVM

[PATCH] D64744: #pragma clang loop vectorize_predicate(enable|disable)

2019-07-25 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Many thanks for reviewing! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64744/new/ https://reviews.llvm.org/D64744 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D64744: #pragma clang loop vectorize_predicate(enable|disable)

2019-07-23 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Apologies for the early ping! Bu I'm off next weeks, so it would be nice to get this in before that if there are no further comments. Tomorrow, I will upload another diff that builds on top D64916 , which enables code-generation

[PATCH] D64744: #pragma clang loop vectorize_predicate(enable|disable)

2019-07-22 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 211096. SjoerdMeijer added a comment. More doc changes added to `AttrDocs.td` and `LangRef.rst` CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64744/new/ https://reviews.llvm.org/D64744 Files: clang/docs/LanguageExtensions.rst

[PATCH] D64744: #pragma clang loop vectorize_predicate(enable|disable)

2019-07-22 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. > Is it intentional that this review has no reviewers listed (like, is this a > work in progress you don't expect review on yet)? No, sorry about this, that's not intentional. It started indeed as a work-in-progress patch when I wrote to the clang/llvm with an

[PATCH] D64744: #pragma clang loop vectorize_predicate(enable|disable)

2019-07-22 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 211042. SjoerdMeijer added a comment. Herald added a project: LLVM. Herald added a subscriber: llvm-commits. - Moved the codegen test to a separate file - Added a langref description for this new metadata node. CHANGES SINCE LAST ACTION

[PATCH] D64744: #pragma clang loop vectorize_predicate(enable|disable)

2019-07-19 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 210857. SjoerdMeijer added a comment. Removed the separate function that created the loop.llvm.vectorize.predicate metadata. This is now just part of function `createLoopVectorizeMetadata`, that creates all other vectorize metadata. CHANGES SINCE

[PATCH] D64744: #pragma clang loop vectorize_predicate(enable|disable)

2019-07-19 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 210774. SjoerdMeijer retitled this revision from " #pragma clang loop predicate(enable|disable)" to " #pragma clang loop vectorize_predicate(enable|disable)". SjoerdMeijer edited the summary of this revision. SjoerdMeijer added a comment. Hi Michael,

[PATCH] D64744: #pragma clang loop predicate(enable|disable)

2019-07-17 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. So I went for: predicate(enable) as I think that is most general, best capturing it, but I am of course completely open to bikeshedding names :-) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64744/new/ https://reviews.llvm.org/D64744

[PATCH] D64744: #pragma clang loop predicate(enable|disable)

2019-07-17 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 210314. SjoerdMeijer retitled this revision from "Loop #pragma tail_predicate" to " #pragma clang loop predicate(enable|disable)". SjoerdMeijer edited the summary of this revision. Herald added a subscriber: zzheng. CHANGES SINCE LAST ACTION

[PATCH] D64744: Loop #pragma tail_predicate

2019-07-16 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Thanks for taking a look and your suggestions! I noticed your comment here after I replied to the list. As I wrote there, and long story short, I thought I could kill 2 birds with 1 stone, but that doesn't seem to be the case. I agree that for the vectorizer an

[PATCH] D64744: Loop #pragma tail_predicate

2019-07-15 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer created this revision. https://reviews.llvm.org/D64744 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Parse/Parser.h clang/lib/CodeGen/CGLoopInfo.cpp clang/lib/CodeGen/CGLoopInfo.h clang/lib/Parse/ParsePragma.cpp clang/lib/Sema/SemaStmtAttr.cpp

[PATCH] D64564: Loop pragma parsing. NFC.

2019-07-11 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. oh no, the diff got messed up here. I.e. Phab shows 2 modified files, because the first patch set was created in a monorepo, and the 2nd patch set in a another and separate clang repo. Just for clarity, file `lib/Parse/ParsePragma.cpp` is the latest with the

[PATCH] D64564: Loop pragma parsing. NFC.

2019-07-11 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 209299. SjoerdMeijer marked an inline comment as not done. SjoerdMeijer added a comment. thanks for taking a look and the suggestions! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64564/new/ https://reviews.llvm.org/D64564 Files:

[PATCH] D64564: Loop pragma parsing. NFC.

2019-07-11 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer marked an inline comment as done. SjoerdMeijer added inline comments. Comment at: clang/lib/Parse/ParsePragma.cpp:1015 + .Default(""); + assert(Str.size() && "Unexpected pragma name"); + return Str; I guess this does behave slightly

[PATCH] D64564: Loop pragma parsing. NFC.

2019-07-11 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer created this revision. SjoerdMeijer added reviewers: samparker, dmgreen, Meinersbur. Yesterday I was a bit distracted by loop pragma parsing (D64471 ), but still am a bit today too (this patch). https://reviews.llvm.org/D64564 Files:

[PATCH] D64495: [AArch64] Implement __jcvt intrinsic from Armv8.3-A

2019-07-10 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. Looks like a good change to me, some nits inlined. It shouldn't be difficult to request an account and commit it yourself, which might be useful if you maybe intend to submit more

[PATCH] D64495: [AArch64] Implement __jcvt intrinsic from Armv8.3-A

2019-07-10 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.td:720 def FJCVTZS : BaseFPToIntegerUnscaled<0b01, 0b11, 0b110, FPR64, GPR32, - "fjcvtzs", []> { + "fjcvtzs",

[PATCH] D64495: [AArch64] Implement __jcvt intrinsic from Armv8.3-A

2019-07-10 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: clang/lib/Basic/Targets/AArch64.cpp:237 +break; + case llvm::AArch64::ArchKind::ARMV8_4A: +getTargetDefinesARMV84A(Opts, Builder); SjoerdMeijer wrote: > It is a good change, but I think you should either

[PATCH] D64495: [AArch64] Implement __jcvt intrinsic from Armv8.3-A

2019-07-10 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: clang/lib/Basic/Targets/AArch64.cpp:237 +break; + case llvm::AArch64::ArchKind::ARMV8_4A: +getTargetDefinesARMV84A(Opts, Builder); It is a good change, but I think you should either add tests for these

[PATCH] D64471: Loop pragma parsing. NFC.

2019-07-10 Thread Sjoerd Meijer via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL365629: Loop pragma parsing. NFC. (authored by SjoerdMeijer, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D64471: Loop pragma parsing. NFC.

2019-07-10 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer created this revision. SjoerdMeijer added reviewers: Meinersbur, dmgreen, samparker. I would like to add some pragma handling here, but couldn't resist a little NFC and tidy up first. https://reviews.llvm.org/D64471 Files: clang/lib/Sema/SemaStmtAttr.cpp Index:

[PATCH] D63936: [ARM] Minor fixes in command line option parsing

2019-07-01 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. I will let Oliver finish the review (I am off for a few days), just some drive-by comments. Comment at: llvm/lib/Support/ARMTargetParser.cpp:412 - if (Extensions & AEK_CRC) -Features.push_back("+crc"); - else -

[PATCH] D60710: [ARM] Add ACLE feature macros for MVE.

2019-06-07 Thread Sjoerd Meijer via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL362806: [ARM] Add ACLE feature macros for MVE (authored by SjoerdMeijer, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D60710: [ARM] Add ACLE feature macros for MVE.

2019-06-07 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Thanks for reviewing! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60710/new/ https://reviews.llvm.org/D60710 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D60710: [ARM] Add ACLE feature macros for MVE.

2019-06-07 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 203555. SjoerdMeijer added a comment. Yep, sorry, missed that one. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60710/new/ https://reviews.llvm.org/D60710 Files: clang/lib/Basic/Targets/ARM.cpp clang/lib/Basic/Targets/ARM.h

[PATCH] D62998: [ARM] Fix bugs introduced by the fp64/d32 rework.

2019-06-07 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Cheers, LGTM too. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62998/new/ https://reviews.llvm.org/D62998 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D60710: [ARM] Add ACLE feature macros for MVE.

2019-06-07 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 203522. SjoerdMeijer added a comment. Set FullFP16 for +mve.fp CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60710/new/ https://reviews.llvm.org/D60710 Files: clang/lib/Basic/Targets/ARM.cpp clang/lib/Basic/Targets/ARM.h

[PATCH] D60710: [ARM] Add ACLE feature macros for MVE.

2019-06-07 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer marked an inline comment as done. SjoerdMeijer added inline comments. Comment at: clang/lib/Basic/Targets/ARM.cpp:465 + MVE |= MVE_INT | MVE_FP; + HW_FP |= HW_FP_SP | HW_FP_HP; } ostannard wrote: > Does this also need to set FPU and

[PATCH] D62998: [ARM] Fix bugs introduced by the fp64/d32 rework.

2019-06-07 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/ARM.cpp:103 std::vector , + std::vector , const llvm::Triple ) { Nitpick: can you comment in

[PATCH] D60710: [ARM] Add ACLE feature macros for MVE.

2019-06-07 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 203507. SjoerdMeijer added a comment. Added tests CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60710/new/ https://reviews.llvm.org/D60710 Files: clang/lib/Basic/Targets/ARM.cpp clang/lib/Basic/Targets/ARM.h

[PATCH] D60697: [ARM] Allow "-march=foo+fp" to vary with foo.

2019-06-05 Thread Sjoerd Meijer via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL362600: [ARM] Allow -march=foo+fp to vary with foo (authored by SjoerdMeijer, committed by ). Herald added a subscriber: kristina. Changed prior to commit:

[PATCH] D60697: [ARM] Allow "-march=foo+fp" to vary with foo.

2019-06-04 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 202934. SjoerdMeijer added a comment. Hi Oliver, thanks for your comments! This was the easy one, they have been added: > I also don't see any tests for the negated forms of either feature. The trouble begun with this: > +fp.dp, but the FPU is

[PATCH] D60697: [ARM] Allow "-march=foo+fp" to vary with foo.

2019-05-31 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 202433. SjoerdMeijer added a comment. This time with tests. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60697/new/ https://reviews.llvm.org/D60697 Files: clang/lib/Driver/ToolChains/Arch/ARM.cpp clang/lib/Driver/ToolChains/Arch/ARM.h

[PATCH] D60697: [ARM] Allow "-march=foo+fp" to vary with foo.

2019-05-31 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer marked an inline comment as done. SjoerdMeijer added a comment. Ah yes, the school boy error! ;-) Actually, there was a test, but in a different patch; I will move it to here. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60697/new/ https://reviews.llvm.org/D60697

[PATCH] D60697: [ARM] Allow "-march=foo+fp" to vary with foo.

2019-05-31 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 202388. SjoerdMeijer added a comment. This addresses @t.p.northover comment. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60697/new/ https://reviews.llvm.org/D60697 Files: clang/lib/Driver/ToolChains/Arch/ARM.cpp

[PATCH] D60699: [ARM] add CLI support for 8.1-M and MVE.

2019-05-30 Thread Sjoerd Meijer via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL362096: [ARM] Add CLI support for Armv8.1-M and MVE (authored by SjoerdMeijer, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D60691: [ARM] Replace fp-only-sp and d16 with fp64 and d32.

2019-05-28 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. There already was consensus that this is was a good change, and also that we don't care about auto-upgrading. With the last minor comments addressed, this looks good I think.

[PATCH] D61717: Fix arm_neon.h to be clean under -fno-lax-vector-conversions.

2019-05-09 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. Looks okay to me. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61717/new/ https://reviews.llvm.org/D61717

[PATCH] D60699: [ARM] add CLI support for 8.1-M and MVE.

2019-04-15 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: clang/test/Driver/armv8.1m.main.c:1 +// RUN: %clang -target arm-arm-none-eabi -march=armv8.1-m.main+dsp -### %s 2> %t +// RUN: FileCheck --check-prefix=CHECK-DSP < %t %s It doesn't really matter, I guess, but we

[PATCH] D53633: [AArch64] Implement FP16FML intrinsics

2019-04-02 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. FYI: a new ACLE version has been published, please find it here: https://developer.arm.com/architectures/system-architectures/software-standards/acle The "Neon Intrinsics" section contains these new intrinsics. Repository: rL LLVM CHANGES SINCE LAST ACTION

[PATCH] D58306: [AArch64] Change size suffix for FP16FML intrinsics.

2019-02-19 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. LGTM The ACLE has been updated and a new version with change included will be released soon. Repository: rC Clang CHANGES SINCE LAST ACTION

[PATCH] D58306: [AArch64] Change size suffix for FP16FML intrinsics.

2019-02-17 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. I am discussing this with our GCC team as we would like both Clang/GCC implementation to be the same. But you're right that _f16 looks like to be the more consistent choice. I will let you know as soon I know more. Repository: rC Clang CHANGES SINCE LAST

[PATCH] D53633: [AArch64] Implement FP16FML intrinsics

2019-02-15 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: cfe/trunk/test/CodeGen/aarch64-neon-fp16fml.c:12 + +float32x2_t test_vfmlal_low_u32(float32x2_t a, float16x4_t b, float16x4_t c) { +// CHECK-LABEL: define <2 x float> @test_vfmlal_low_u32(<2 x float> %a, <4 x half> %b, <4 x half>

[PATCH] D53633: [AArch64] Implement FP16FML intrinsics

2019-02-15 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: cfe/trunk/test/CodeGen/aarch64-neon-fp16fml.c:12 + +float32x2_t test_vfmlal_low_u32(float32x2_t a, float16x4_t b, float16x4_t c) { +// CHECK-LABEL: define <2 x float> @test_vfmlal_low_u32(<2 x float> %a, <4 x half> %b, <4 x half>

[PATCH] D57577: Make predefined FLT16 macros conditional on support for the type

2019-02-08 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. Looks okay to me, with one nit inline. Comment at: test/Preprocessor/init.c:9169 // WEBASSEMBLY-NEXT:#define __FLOAT128__ 1 -// WEBASSEMBLY-NEXT:#define

[PATCH] D57188: Disable _Float16 for non ARM/SPIR Targets

2019-01-25 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: include/clang/Basic/TargetInfo.h:66 bool HasFloat128; + bool HasFloat16; unsigned char PointerWidth, PointerAlign; I think this is the same as `HasLegalHalfType`, and we can (re)use that. Or, at least,

[PATCH] D50179: [AArch64][ARM] Context sensitive meaning of option "crypto"

2018-10-04 Thread Sjoerd Meijer via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL343758: [AArch64][ARM] Context sensitive meaning of crypto (authored by SjoerdMeijer, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D50179: [AArch64][ARM] Context sensitive meaning of option "crypto"

2018-10-04 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Thanks! https://reviews.llvm.org/D50179 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D50179: [AArch64][ARM] Context sensitive meaning of option "crypto"

2018-10-02 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. @efriedma : apologies for the ping, but does this look reasonable? https://reviews.llvm.org/D50179 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D52493: [AArch64][v8.5A] Test clang option for the Memory Tagging Extension

2018-09-26 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. LGTM Repository: rC Clang https://reviews.llvm.org/D52493 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D52492: [AArch64][v8.5A] Test optional Armv8.5-A random number extension

2018-09-26 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. LGTM Repository: rC Clang https://reviews.llvm.org/D52492 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D52491: [ARM/AArch64][v8.5A] Add Armv8.5-A target

2018-09-25 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. Looks okay to me Comment at: test/Driver/arm-cortex-cpus.c:338 + +// RUN: %clang -target armv8a-linux-eabi -march=armv8.5-a+fp16 -### -c %s 2>&1 | FileCheck

[PATCH] D50229: [ARM][AArch64] Add feature +fp16fml

2018-09-24 Thread Sjoerd Meijer via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC342862: [ARM][AArch64] Add feature +fp16fml (authored by SjoerdMeijer, committed by ). Repository: rC Clang https://reviews.llvm.org/D50229 Files: lib/Driver/ToolChains/Arch/AArch64.cpp

[PATCH] D50179: [AArch64][ARM] Context sensitive meaning of option "crypto"

2018-09-24 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 166643. SjoerdMeijer added a comment. Added FIXMEs, like in https://reviews.llvm.org/D50229, that this needs reimplementation too after the TargerParser rewrite. About v8.5, the ISA description is now available here:

[PATCH] D50229: [ARM][AArch64] Add feature +fp16fml

2018-09-21 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 166439. SjoerdMeijer retitled this revision from "+fp16fml feature for ARM and AArch64" to "[ARM][AArch64] Add feature +fp16fml". SjoerdMeijer edited the summary of this revision. SjoerdMeijer added a comment. Added FIXMEs.

[PATCH] D50229: +fp16fml feature for ARM and AArch64

2018-09-21 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Ah, and just for your info, the proposal was just sent to the dev list: http://lists.llvm.org/pipermail/llvm-dev/2018-September/126346.html Repository: rC Clang https://reviews.llvm.org/D50229 ___ cfe-commits

[PATCH] D50229: +fp16fml feature for ARM and AArch64

2018-09-21 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. (I am now picking this up, and will try to progress this patch and also https://reviews.llvm.org/D50179) > Do you expect that the regression tests will be affected by the TargetParser > fixes? No, and that's exactly the reason why it would be nice to get this in.

[PATCH] D51429: [AArch64] Return Address Signing B Key Support

2018-09-12 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: test/CodeGen/aarch64-sign-return-address.c:3 // RUN: %clang -target aarch64-arm-none-eabi -S -emit-llvm -o - -msign-return-address=non-leaf %s | FileCheck %s --check-prefix=CHECK-PARTIAL // RUN: %clang -target

[PATCH] D51093: [ARM] Set __ARM_FEATURE_SIMD32 for +dsp cores

2018-08-23 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. Looks reasonable to me. https://reviews.llvm.org/D51093 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D50179: [AArch64][ARM] Context sensitive meaning of option "crypto"

2018-08-09 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 159991. https://reviews.llvm.org/D50179 Files: lib/Driver/ToolChains/Arch/AArch64.cpp lib/Driver/ToolChains/Arch/ARM.cpp test/Driver/arm-features.c test/Preprocessor/aarch64-target-features.c Index: test/Preprocessor/aarch64-target-features.c

[PATCH] D50179: [AArch64][ARM] Context sensitive meaning of option "crypto"

2018-08-09 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 159979. SjoerdMeijer added a comment. fixed typo https://reviews.llvm.org/D50179 Files: lib/Driver/ToolChains/Arch/AArch64.cpp lib/Driver/ToolChains/Arch/ARM.cpp test/Driver/arm-features.c test/Preprocessor/aarch64-target-features.c Index:

[PATCH] D50179: [AArch64][ARM] Context sensitive meaning of option "crypto"

2018-08-09 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: lib/Driver/ToolChains/Arch/ARM.cpp:430 + if (ArchName.find_lower("+noaes") == StringRef::npos) +Features.push_back("+aes"); +} else if (ArchName.find_lower("-crypto") != StringRef::npos) { efriedma

[PATCH] D50175: [AArch64][NFC] better matching of AArch64 target in aarch64-cpus.c tests

2018-08-09 Thread Sjoerd Meijer via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL339347: [AArch64][NFC] better matching of AArch64 target in aarch64-cpus.c tests (authored by SjoerdMeijer, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D50175: [AArch64][NFC] better matching of AArch64 target in aarch64-cpus.c tests

2018-08-09 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 159915. SjoerdMeijer added a comment. Addressed comments. https://reviews.llvm.org/D50175 Files: test/Driver/aarch64-cpus.c Index: test/Driver/aarch64-cpus.c === ---

[PATCH] D50175: [AArch64][NFC] better matching of AArch64 target in aarch64-cpus.c tests

2018-08-09 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: test/Driver/aarch64-cpus.c:10 +// GENERIC: "-cc1"{{.*}} "-triple" "aarch64"{{.*}} "-target-cpu" "generic" +// GENERIC-LE: "-cc1"{{.*}} "-triple" "aarch64--"{{.*}} "-target-cpu" "generic" olista01 wrote: >

[PATCH] D50175: [AArch64][NFC] better matching of AArch64 target in aarch64-cpus.c tests

2018-08-08 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer updated this revision to Diff 159715. SjoerdMeijer added a comment. Addressed comments. https://reviews.llvm.org/D50175 Files: test/Driver/aarch64-cpus.c Index: test/Driver/aarch64-cpus.c === ---

[PATCH] D50175: [AArch64][NFC] better matching of AArch64 target in aarch64-cpus.c tests

2018-08-08 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: test/Driver/aarch64-cpus.c:10 +// GENERIC: "-cc1"{{.*}} "-triple" "aarch64"{{.*}} "-target-cpu" "generic" +// GENERIC-LE: "-cc1"{{.*}} "-triple" "aarch64--"{{.*}} "-target-cpu" "generic" olista01 wrote: > Why do

[PATCH] D49075: [NEON] Define fp16 vld and vst intrinsics conditionally

2018-08-06 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. Thanks, LGTM. https://reviews.llvm.org/D49075 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D50179: [AArch64][ARM] Context sensitive meaning of option "crypto"

2018-08-03 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Hi Eli, thanks for the feedback. > Yes, this logic should be in TargetParser, not here. Trying to rewrite the > target features afterwards is messy at best. (Actually, the target feature > list generated by TargetParser probably shouldn't contain the string

[PATCH] D50179: [AArch64][ARM] Context sensitive meaning of option "crypto"

2018-08-02 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer created this revision. SjoerdMeijer added reviewers: olista01, samparker, john.brawn, ab, t.p.northover. Herald added a reviewer: javed.absar. Herald added subscribers: chrib, kristof.beyls. For AArch64: 1. Crypto means sm4 + sha3 + sha2 + aes for Armv8.4-A and up, 2. and sha2 +

[PATCH] D50175: [AArch64][NFC] better matching of AArch64 target in aarch64-cpus.c tests

2018-08-02 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer created this revision. SjoerdMeijer added reviewers: olista01, ab. Herald added a reviewer: javed.absar. Herald added a subscriber: kristof.beyls. In https://reviews.llvm.org/D50068, @ab noticed that it would be better to match aarch64-{{.*}} for tests that use "-target aarch64_be

[PATCH] D50068: [AArch64][ARM] Add Armv8.4-A tests

2018-08-01 Thread Sjoerd Meijer via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC338525: [AArch64][ARM] Add Armv8.4-A tests (authored by SjoerdMeijer, committed by ). Repository: rC Clang https://reviews.llvm.org/D50068 Files: lib/Basic/Targets/ARM.cpp

[PATCH] D50068: [AArch64][ARM] Add Armv8.4-A tests

2018-08-01 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: test/Driver/aarch64-cpus.c:9 // RUN: %clang -target aarch64_be -mlittle-endian -mcpu=generic -### -c %s 2>&1 | FileCheck -check-prefix=GENERIC %s // GENERIC: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-cpu" "generic"

[PATCH] D50068: [AArch64][ARM] Add Armv8.4-A tests

2018-07-31 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer created this revision. SjoerdMeijer added reviewers: samparker, olista01, john.brawn, ab, t.p.northover. Herald added a reviewer: javed.absar. Herald added subscribers: chrib, kristof.beyls. This adds tests for Armv8.4-A, and also some v8.2 and v8.3 tests that were missed in

[PATCH] D49376: [NEON] Define half-precision vrnd intrinsics only when available

2018-07-23 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: include/clang/Basic/arm_neon.td:1419 // Vector rounding - def FRINTZH : SInst<"vrnd", "dd", "hQh">; - def FRINTNH : SInst<"vrndn", "dd", "hQh">; - def FRINTAH : SInst<"vrnda", "dd", "hQh">; - def FRINTPH

[PATCH] D49375: [NEON] Define half-precision vmaxnm intrinsics only when available

2018-07-23 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added inline comments. Comment at: include/clang/Basic/arm_neon.td:1466 def VMINH : SInst<"vmin", "ddd", "hQh">; - def FMAXNMH : SInst<"vmaxnm", "ddd", "hQh">; - def FMINNMH : SInst<"vminnm", "ddd", "hQh">; + let ArchGuard = "__ARM_ARCH >=

[PATCH] D48829: [NEON] Fix support for vrndi_f32(), vrndiq_f32() and vrndns_f32() intrinsics

2018-07-23 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. LGTM https://reviews.llvm.org/D48829 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D49075: [NEON] Define fp16 vld and vst intrinsics conditionally

2018-07-23 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. Now that they are conditionally defined, do we need negative tests (in test/Sema/arm-no-fp16.c?) to check that they are not available when fp16 is not enabled? https://reviews.llvm.org/D49075 ___ cfe-commits mailing

[PATCH] D49375: [NEON] Define half-precision vmaxnm intrinsics only when available

2018-07-23 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. LGTM Comment at: include/clang/Basic/arm_neon.td:1466 def VMINH : SInst<"vmin", "ddd", "hQh">; - def FMAXNMH : SInst<"vmaxnm", "ddd", "hQh">; -

[PATCH] D49376: [NEON] Define half-precision vrnd intrinsics only when available

2018-07-23 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. LGTM Comment at: include/clang/Basic/arm_neon.td:1419 // Vector rounding - def FRINTZH : SInst<"vrnd", "dd", "hQh">; - def FRINTNH :

[PATCH] D48440: [NEON] Support vldNq intrinsics in AArch32 (Clang part)

2018-06-27 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. Looks OK to me. But file "test/CodeGen/vld_dup.c" looks weird/empty. I guess you're removing it? https://reviews.llvm.org/D48440 ___

[PATCH] D48188: [SPIR] Prevent SPIR targets from using half conversion intrinsics

2018-06-20 Thread Sjoerd Meijer via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC335111: [SPIR] Prevent SPIR targets from using half conversion intrinsics (authored by SjoerdMeijer, committed by ). Changed prior to commit: https://reviews.llvm.org/D48188?vs=151938=152045#toc

[PATCH] D48188: [SPIR] Prevent SPIR targets from using half conversion intrinsics

2018-06-20 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. No problem, will commit this today. https://reviews.llvm.org/D48188 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D48188: [SPIR] Prevent SPIR targets from using half conversion intrinsics

2018-06-19 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer accepted this revision. SjoerdMeijer added a comment. This revision is now accepted and ready to land. Looks OK to me. Comment at: test/CodeGen/spir-half-type.cpp:89 + +_Float16 fadd() { + _Float16 a = 1.0f16; Nit: let one of these functions take

[PATCH] D48188: [SPIR] Prevent SPIR targets from using half conversion intrinsics

2018-06-15 Thread Sjoerd Meijer via Phabricator via cfe-commits
SjoerdMeijer added a comment. I know very little about SPIR, and Initially didn't understand this: > The SPIR target currently allows for half precision floating point types to > use the LLVM intrinsic functions to convert to floats and doubles. This is > illegal in SPIR as the only intrinsic

<    1   2   3   4   >