[PATCH] D62835: support -march=cooperlake (clang part)

2019-06-03 Thread Kan Shengchen via Phabricator via cfe-commits
skan created this revision. skan added reviewers: craig.topper, LuoYuanke, xiangzhangllvm, pengfei. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rC Clang https://reviews.llvm.org/D62835 Files: include/clang/Basic/X86Target.def lib/Basic/Targets/X86.cpp

[PATCH] D62363: [X86] Enable intrinsics that convert float and bf16 data to each other

2019-06-05 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 203170. skan added a comment. When target feature `avx512bf16` is enabled, `avx512vl` is not enabled implicity for some reasons by now. But `_mm_cvtness_sbh`, `_mm256_cvtpbh_ps` , `_mm256_maskz_cvtpbh_ps` , `_mm256_mask_cvtpbh_ps` need `avx512vl` feature. So I

[PATCH] D62835: [X86] -march=cooperlake (clang)

2019-06-06 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 203327. skan added a comment. avoid implicit type conversion for intrinsic parameter CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62835/new/ https://reviews.llvm.org/D62835 Files: include/clang/Basic/BuiltinsX86.def lib/CodeGen/CGBuiltin.cpp li

[PATCH] D62835: [X86] -march=cooperlake (clang)

2019-06-06 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 203329. skan added a comment. uploaded a unrelated patch last time CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62835/new/ https://reviews.llvm.org/D62835 Files: include/clang/Basic/X86Target.def lib/Basic/Targets/X86.cpp test/Driver/x86-march

[PATCH] D62363: [X86] Enable intrinsics that convert float and bf16 data to each other

2019-06-06 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 203330. skan added a comment. avoid implicit type conversion for intrinsic parameter CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62363/new/ https://reviews.llvm.org/D62363 Files: include/clang/Basic/BuiltinsX86.def lib/CodeGen/CGBuiltin.cpp li

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-06-07 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 203664. skan added a comment. make macro more compact CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62115/new/ https://reviews.llvm.org/D62115 Files: lib/Frontend/HeaderIncludeGen.cpp test/Frontend/clang_H_opt.c Index: test/Frontend/clang_H_opt.

[PATCH] D62363: [X86] Enable intrinsics that convert float and bf16 data to each other

2019-06-09 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 203762. skan added a comment. change mask paramater' s name from `__M` to `__U` in order to be consistent with other intrinsics in the file CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62363/new/ https://reviews.llvm.org/D62363 Files: include/clan

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-06-17 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 205001. skan added a comment. move test case to print-header-includes.c CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62115/new/ https://reviews.llvm.org/D62115 Files: lib/Frontend/HeaderIncludeGen.cpp test/Frontend/print-header-includes.c Index

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-06-17 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. In D62115#1538631 , @kimgr wrote: > I think the test needs a bit more work. It's essentially checking the same > thing twice to exercise the Windows path separators. > > It looks like there's already a test for `-H` in > `FrontEnd/p

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-06-18 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. In D62115#1547698 , @kimgr wrote: > This looks good to me, thanks! Could you help accept this patch? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62115/new/ https://reviews.llvm.org/D62115

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-05-19 Thread Kan Shengchen via Phabricator via cfe-commits
skan created this revision. skan added reviewers: xiangzhangllvm, LuoYuanke, craig.topper. Herald added a project: clang. Herald added a subscriber: cfe-commits. clang behaves differently with gcc when compiling a file with -H option, gcc will omit the "./", but clang will not. I fix it to make cl

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-05-20 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 200212. skan added a comment. remove ";" and format the code CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62115/new/ https://reviews.llvm.org/D62115 Files: lib/Frontend/HeaderIncludeGen.cpp test/Driver/clang_H_opt.c test/Driver/clang_H_opt.h

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-05-20 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked 2 inline comments as done. skan added inline comments. Comment at: lib/Frontend/HeaderIncludeGen.cpp:55 + // Simplify Filename that starts with "./" + if (Filename.startswith("./")); +Filename=Filename.substr(2); lebedev.ri wrote: > xiangzhangll

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-05-20 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked an inline comment as done. skan added inline comments. Comment at: lib/Frontend/HeaderIncludeGen.cpp:55 + // Simplify Filename that starts with "./" + if (Filename.startswith("./")); +Filename=Filename.substr(2); craig.topper wrote: > skan wrote

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-05-21 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. In D62115#1509536 , @kimgr wrote: > Should you also consider Windows path separators here? Do you mean "\\" separator? i build llvm on windows, and use clang to complie file with -H option. The output pathname also use "/" as path

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-05-21 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked an inline comment as done. skan added inline comments. Comment at: lib/Frontend/HeaderIncludeGen.cpp:55 + // Simplify Filename that starts with "./" + if (Filename.startswith("./")); +Filename=Filename.substr(2); lebedev.ri wrote: > skan wrote:

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-05-21 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 200634. skan added a comment. add a test for including headfile outside current directory. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62115/new/ https://reviews.llvm.org/D62115 Files: lib/Frontend/HeaderIncludeGen.cpp test/Frontend/clang_H_opt.

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-05-21 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked an inline comment as done. skan added inline comments. Comment at: lib/Frontend/HeaderIncludeGen.cpp:55 + // Simplify Filename that starts with "./" + if (Filename.startswith("./")); +Filename=Filename.substr(2); lebedev.ri wrote: > skan wrote:

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-05-22 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. In D62115#1511407 , @kimgr wrote: > Also, consider `././Inputs/empty.h`. Firstly, on linux write the `clang_H_opt.c` file as #include "../Index/Inputs/empty.h" #include "Inputs/empty.h" #include "./Inputs/empty.h" #include

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-05-23 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 200878. skan added a comment. make test case consider Windows path separators CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62115/new/ https://reviews.llvm.org/D62115 Files: lib/Frontend/HeaderIncludeGen.cpp test/Frontend/clang_H_opt.c Index: t

[PATCH] D62363: Enable intrinsics that convert float and bf16 data to each other

2019-05-23 Thread Kan Shengchen via Phabricator via cfe-commits
skan created this revision. skan added reviewers: xiangzhangllvm, LuoYuanke, craig.topper. Herald added a project: clang. Herald added a subscriber: cfe-commits. Scalar version : `_mm_cvtsbh_ss` , `_mm_cvtness_sbh` Vector version: `_mm512_cvtpbh_ps` , `_mm256_cvtpbh_ps` `_mm512_maskz_cvtpbh_ps

[PATCH] D62363: [X86] Enable intrinsics that convert float and bf16 data to each other

2019-05-27 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 201601. skan added a comment. rm clang-format fix in this patch CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62363/new/ https://reviews.llvm.org/D62363 Files: include/clang/Basic/BuiltinsX86.def lib/CodeGen/CGBuiltin.cpp lib/Headers/avx512bf16i

[PATCH] D62363: [X86] Enable intrinsics that convert float and bf16 data to each other

2019-05-27 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked 3 inline comments as done. skan added inline comments. Comment at: lib/Headers/avx512bf16intrin.h:52 +/// +/// \headerfile +/// RKSimon wrote: > \headerfile fixed in updated patch Comment at: lib/Headers/avx512bf16intrin.h:66 +///

[PATCH] D62363: [X86] Enable intrinsics that convert float and bf16 data to each other

2019-05-27 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked an inline comment as done. skan added inline comments. Comment at: lib/Headers/avx512bf16intrin.h:37 +/// +/// This intrinsic corresponds to the EmitX86CvtBF16ToFloatExpr +/// function. craig.topper wrote: > This needs to be a comment that's useful

[PATCH] D62363: [X86] Enable intrinsics that convert float and bf16 data to each other

2019-05-27 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 201605. skan added a comment. make comments for `_mm_cvtsbh_ss` and `_mm_cvtness_sbh` better CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62363/new/ https://reviews.llvm.org/D62363 Files: include/clang/Basic/BuiltinsX86.def lib/CodeGen/CGBuilti

[PATCH] D62115: fix a issue that clang is incompatible with gcc with -H option.

2019-05-28 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. ping CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62115/new/ https://reviews.llvm.org/D62115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D80289: [Driver][X86] Support branch align options with LTO

2020-05-20 Thread Kan Shengchen via Phabricator via cfe-commits
skan created this revision. Herald added subscribers: cfe-commits, dexonsmith, steven_wu, hiraditya, inglorion. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D80289 Files: clang/lib/Driver/ToolChains/CommonArgs.cpp clang/test/Driver/lto.c Ind

[PATCH] D80289: [Driver][X86] Support branch align options with LTO

2020-05-20 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 265408. skan marked an inline comment as done. skan added a comment. Move tests to x86-malign-branch.c Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80289/new/ https://reviews.llvm.org/D80289 Files: clang/lib/D

[PATCH] D80289: [Driver][X86] Support branch align options with LTO

2020-05-20 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 265423. skan marked an inline comment as done. skan added a comment. Refactor addX86AlignBranchArgs to be reused in CommonArgs.cpp Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80289/new/ https://reviews.llvm.org/

[PATCH] D80289: [Driver][X86] Support branch align options with LTO

2020-05-22 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80289/new/ https://reviews.llvm.org/D80289 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-b

[PATCH] D80289: [Driver][X86] Support branch align options with LTO

2020-05-27 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked an inline comment as done. skan added inline comments. Comment at: clang/test/Driver/x86-malign-branch.c:6 // BOUNDARY: "-mllvm" "-x86-align-branch-boundary=16" +// RUN: %clang -target x86_64-unknown-linux -malign-branch-boundary=16 -flto %s -### 2>&1 | FileCheck %s

[PATCH] D80289: [Driver][X86] Support branch align options with LTO

2020-05-27 Thread Kan Shengchen via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. skan marked an inline comment as done. Closed by commit rG495444999549: [Driver][X86] Support branch align options with LTO (authored by skan). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://revi

[PATCH] D77628: [Driver][X86] Add -mpad-max-prefix-size

2020-04-06 Thread Kan Shengchen via Phabricator via cfe-commits
skan created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. skan edited the summary of this revision. The option `-mpad-max-prefix-size` performs some checking and delegate to MC option `-x86-pad-max-prefix-size`. This option is designed for eliminate NOPs

[PATCH] D77628: [Driver][X86] Add -mpad-max-prefix-size

2020-04-06 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 255583. skan added a comment. format the patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77628/new/ https://reviews.llvm.org/D77628 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/ToolChains

[PATCH] D77628: [Driver][X86] Add -mpad-max-prefix-size

2020-04-06 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. The remote build failed due to a bug of Pre-merge checks, which tried to apply a landed patch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77628/new/ https://reviews.llvm.org/D77628 __

[PATCH] D77628: [Driver][X86] Add -mpad-max-prefix-size

2020-04-08 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 255953. skan added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77628/new/ https://reviews.llvm.org/D77628 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/ToolChains/Clang.cpp

[PATCH] D77728: [Driver][X86] Add an alias for -mpad-max-prefix-size

2020-04-08 Thread Kan Shengchen via Phabricator via cfe-commits
skan created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. skan added a parent revision: D77628: [Driver][X86] Add -mpad-max-prefix-size. Make -malign-branch-prefix-size an alias for -mpad-max-prefix-size (For GCC compatibility) Repository: rG LLVM Githu

[PATCH] D77728: [Driver][X86] Add an alias for -mpad-max-prefix-size

2020-04-08 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. In D77728#1969788 , @MaskRay wrote: > > Make -malign-branch-prefix-size an alias for -mpad-max-prefix-size (For GCC > > compatibility) > > I cannot find a discussion on -mpad-max-prefix-size. Is it a planned GNU as > option or GCC d

[PATCH] D77628: [Driver][X86] Add -mpad-max-prefix-size

2020-04-08 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. In D77628#1969856 , @MaskRay wrote: > This looks like it requires more thorough discussions, doesn't it? We will > also need discussions with the binutils side. We requested a GCC compiler > driver option long ago but we do not re

[PATCH] D77628: [Driver][X86] Add -mpad-max-prefix-size

2020-04-08 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 256164. skan added a comment. Remove the limit "max padding prefix size <=5" since MC doesn't have this limit. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77628/new/ https://reviews.llvm.org/D77628 Files: cla

[PATCH] D77728: [Driver][X86] Add an alias for -mpad-max-prefix-size

2020-04-08 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. In D77728#1970922 , @MaskRay wrote: > In D77728#1970912 , @skan wrote: > > > In D77728#1969788 , @MaskRay wrote: > > > > > > Make -malign-branch-prefix-

[PATCH] D77628: [Driver][X86] Add -mpad-max-prefix-size

2020-04-09 Thread Kan Shengchen via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG792b10978dfd: [Driver][X86] Add -mpad-max-prefix-size (authored by skan). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77628/new/ https://reviews.llvm.org/

[PATCH] D77728: [Driver][X86] Add an alias for -mpad-max-prefix-size

2020-04-09 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 256250. skan added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77728/new/ https://reviews.llvm.org/D77728 Files: clang/include/clang/Driver/Options.td clang/test/Driver/x86-malign-branch.c

[PATCH] D77728: [Driver][X86] Add an alias for -mpad-max-prefix-size

2020-04-09 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 256268. skan edited the summary of this revision. skan added a comment. Rebase(didn't rebase correctly last time) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77728/new/ https://reviews.llvm.org/D77728 Files:

[PATCH] D77728: [Driver][X86] Add an alias for -mpad-max-prefix-size

2020-04-09 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 256308. skan added a comment. Fix the tests after rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77728/new/ https://reviews.llvm.org/D77728 Files: clang/include/clang/Driver/Options.td clang/test/Driver

[PATCH] D77728: [Driver][X86] Add an alias for -mpad-max-prefix-size

2020-04-12 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. After careful consideration, I agree with @MaskRay ’s point of view that this alias is incorrect since they do different things. If there is no objection, I plan to abandon this revision. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.l

[PATCH] D81388: [TEST] TreeTest.cpp - Add a comma to avoid build error with -werror

2020-06-08 Thread Kan Shengchen via Phabricator via cfe-commits
skan created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. skan added reviewers: gribozavr, hlopko, eduucaldas. The macro `INSTANTIATE_TEST_CASE_P` is defined as \# define INSTANTIATE_TEST_CASE_P(prefix, test_case_name, generator, ...) \ ... If we buil

[PATCH] D81388: [TEST] TreeTest.cpp - Add a comma to avoid build error with -werror

2020-06-08 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. Related revision: D80822 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81388/new/ https://reviews.llvm.org/D81388 ___ cfe-commits mailing list cf

[PATCH] D81388: [TEST] TreeTest.cpp - Add a comma to avoid build error with -werror

2020-06-08 Thread Kan Shengchen via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG2c63ea6eded3: [TEST] TreeTest.cpp - Add a comma to avoid build error with -werror (authored by skan). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81388/new

[PATCH] D120395: [X86] Prohibit arithmetic operations on type `__bfloat16`

2022-03-16 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. In D120395#3365622 , @craig.topper wrote: >> So at this point we have these options: >> >> 1. Make the `__m[128|256|512]bh` types aliases of `__m[128|256|512]i` >> 2. Deprecate the `__m[128|256|512]bh` types and replace them with >

[PATCH] D119846: [NFC][MC] remove unused argument `MCRegisterInfo` in `MCCodeEmitter`

2022-02-15 Thread Kan Shengchen via Phabricator via cfe-commits
skan accepted this revision. skan added a comment. This revision is now accepted and ready to land. `MCRegisterInfo` is not used b/c it can be got from `MCContext`. It makes sense to remove it in the parameters. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.

[PATCH] D119846: [NFC][MC] remove unused argument `MCRegisterInfo` in `MCCodeEmitter`

2022-02-15 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. @achieveartificialintelligence Please explain why a patch is reverted in the commit message next time. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119846/new/ https://reviews.llvm.org/D119846 _

[PATCH] D124435: [X86] Always extend the integer parameters in callee

2022-04-26 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. Should we update the `clang/docs/ReleaseNotes.rst` for this? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124435/new/ https://reviews.llvm.org/D124435 ___ cfe-commits mailing list

[PATCH] D107082: [X86][RFC][WIP] Enable `_Float16` type support on X86 following the psABI

2022-05-24 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: llvm/docs/ReleaseNotes.rst:136 -* ... +* Support ``half`` type on SSE2 and above targets. Just for curiosity, why is SSE2? Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:593 +// Half type w

[PATCH] D72227: Add options for clang to align branches within 32B boundary

2020-01-05 Thread Kan Shengchen via Phabricator via cfe-commits
skan created this revision. skan added reviewers: craig.topper, LuoYuanke, annita.zhang, jyknight, reames, MaskRay. Herald added a project: clang. Herald added a subscriber: cfe-commits. Add an option -mbranches-within-32B-boundaries to align branches within a 32-Byte boundary to reduce the p

[PATCH] D72227: Add options for clang to align branches within 32B boundary

2020-01-05 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 236280. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72227/new/ https://reviews.llvm.org/D72227 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/intel-align-branch.c Index: clang/test/Driver/in

[PATCH] D72247: Add Triple::isX86()

2020-01-06 Thread Kan Shengchen via Phabricator via cfe-commits
skan accepted this revision. skan 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/D72247/new/ https://reviews.llvm.org/D72247 ___ cfe

[PATCH] D72227: Add options for clang to align branches within 32B boundary

2020-01-06 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 236329. skan marked 5 inline comments as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72227/new/ https://reviews.llvm.org/D72227 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/intel-alig

[PATCH] D72227: Add options for clang to align branches within 32B boundary

2020-01-06 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:2012 + ArgStringList &CmdArgs) { + if (const Arg *A = Args.getLastArg(options::OPT_malign_branch_boundary_EQ)) { +StringRef Value = A->getValue(); M

[PATCH] D72227: Add options for clang to align branches within 32B boundary

2020-01-07 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 236547. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72227/new/ https://reviews.llvm.org/D72227 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/intel-align-branch.c Index: clang/test/Driver/in

[PATCH] D72227: Add options for clang to align branches within 32B boundary

2020-01-07 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked 5 inline comments as done. skan added inline comments. Comment at: clang/include/clang/Driver/Options.td:2217 + HelpText<"Specify the maximum number of prefixes on an instruction to " + "align branches. The number should be between 0 and 4.">; +def

[PATCH] D72227: Add options for clang to align branches within 32B boundary

2020-01-08 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 236945. skan marked an inline comment as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72227/new/ https://reviews.llvm.org/D72227 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/intel-alig

[PATCH] D72227: Add options for clang to align branches within 32B boundary

2020-01-09 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 237019. skan marked 5 inline comments as done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72227/new/ https://reviews.llvm.org/D72227 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/intel-alig

[PATCH] D72227: Add options for clang to align branches within 32B boundary

2020-01-09 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 237245. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72227/new/ https://reviews.llvm.org/D72227 Files: clang/include/clang/Driver/Options.td clang/lib/Driver/ToolChains/Clang.cpp clang/test/Driver/x86-malign-branch.c Index: clang/test/Driver/x86

[PATCH] D72227: Add options for clang to align branches within 32B boundary

2020-01-09 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked an inline comment as done. skan added inline comments. Comment at: clang/include/clang/Driver/Options.td:2200 + "Control how the assembler should align branches with NOP or segment " + "override prefix. If the boundary's size is not 0, it should be

[PATCH] D72227: Add options for clang to align branches within 32B boundary

2020-01-09 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked an inline comment as done and an inline comment as not done. skan added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:2045 + + if (Args.hasFlag(options::OPT_mbranches_within_32B_boundaries, + options::OPT_mno_branches_within_32B

[PATCH] D72463: [Driver][X86] Add -malign-branch* and -malign-branch-within-32B-boundaries

2020-01-10 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. In D72227 you wrote > I think options should follow these principles: > > 1. Different options are position independent. -mA -mB should be the same as > -mB -mA. > 2. -mA and -mno-A are position dependent and the last one wins. Sometimes,

[PATCH] D72463: [Driver][X86] Add -malign-branch* and -malign-branch-within-32B-boundaries

2020-01-10 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. Add revison D72225 as parent? Comment at: clang/lib/Driver/ToolChains/Clang.cpp:2028 +if (Value.getAsInteger(10, AlignBranchBoundary) || +AlignBranchBoundary < 16 || !llvm::isPowerOf2_64(AlignBranchBoundary)) +

[PATCH] D72463: [Driver][X86] Add -malign-branch* and -malign-branch-within-32B-boundaries

2020-01-10 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:2040 +if (Value.getAsInteger(10, AlignBranchBoundary) || +AlignBranchBoundary < 16 || !llvm::isPowerOf2_64(AlignBranchBoundary)) { + D.Diag(diag::err_drv_invalid_argument_to_option) --

[PATCH] D72463: [Driver][X86] Add -malign-branch* and -malign-branch-within-32B-boundaries

2020-01-10 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. In D72463#1813669 , @MaskRay wrote: > The commutative property (independence of options) makes option composition > easier. clangDriver makes heavy use of `getLastArg` and `hasArg`. Without the > commutative property, it would now b

[PATCH] D72463: [Driver][X86] Add -malign-branch* and -malign-branch-within-32B-boundaries

2020-01-10 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: clang/include/clang/Basic/DiagnosticDriverKinds.td:254 +def err_drv_invalid_malign_branch_EQ : Error< + "invalid argument '%0' to -malign-branch=; must be one of: %1">; + skan wrote: > The error information "must be one of

[PATCH] D72227: [Driver][X86] Add -malign-branch* and -malign-branch-within-32B-boundaries

2020-01-11 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 237491. skan retitled this revision from "Add options for clang to align branches within 32B boundary" to "[Driver][X86] Add -malign-branch* and -malign-branch-within-32B-boundaries". skan edited the summary of this revision. CHANGES SINCE LAST ACTION https:/

[PATCH] D72463: [Driver][X86] Add -malign-branch* and -malign-branch-within-32B-boundaries

2020-01-14 Thread Kan Shengchen via Phabricator via cfe-commits
skan accepted this revision. skan added a comment. This revision is now accepted and ready to land. LGTM The principle of override here is consistent with MC (D72738 ). So I think this patch is better than D72227 . Repository:

[PATCH] D72227: [Driver][X86] Add -malign-branch* and -malign-branch-within-32B-boundaries

2020-01-14 Thread Kan Shengchen via Phabricator via cfe-commits
skan abandoned this revision. skan added a comment. The override principle of driver should keep same with MC (D72738 ). D72463 is better, so I prefer to abandon this revision. CHANGES SINCE LAST ACTION https://reviews.llvm.o

[PATCH] D113096: [X86][MS-InlineAsm] Add constraint *m for memory access w/ global var

2021-11-03 Thread Kan Shengchen via Phabricator via cfe-commits
skan created this revision. Herald added subscribers: pengfei, hiraditya. skan requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Constraint `*m` should be used when the address of a variable is passed as a value. And the con

[PATCH] D113096: [X86][MS-InlineAsm] Add constraint *m for memory access w/ global var

2021-11-03 Thread Kan Shengchen via Phabricator via cfe-commits
skan updated this revision to Diff 384401. skan added a comment. clang-format the diff Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D113096/new/ https://reviews.llvm.org/D113096 Files: clang/test/CodeGen/X86/ms_fmul.c clang/test/CodeGen/ms-inl

[PATCH] D113096: [X86][MS-InlineAsm] Add constraint *m for memory access w/ global var

2021-11-03 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked 3 inline comments as done. skan added inline comments. Comment at: clang/test/CodeGen/ms-inline-asm-static-variable.c:8 + // CHECK: @arr = internal global [10 x i32] + // CHECK: call void asm sideeffect inteldialect "mov dword ptr $0[edx * $$4],edx", "=*m,{{.*}}([1

[PATCH] D113096: [X86][MS-InlineAsm] Add constraint *m for memory access w/ global var

2021-11-03 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked 2 inline comments as done. skan added inline comments. Comment at: llvm/test/CodeGen/X86/ms-inline-asm-array.ll:15-22 +!llvm.module.flags = !{!0, !1, !2} +!llvm.ident = !{!3} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"uwtable", i32 1} +!2 = !{i32 7, !"fra

[PATCH] D113096: [X86][MS-InlineAsm] Add constraint *m for memory access w/ global var

2021-11-03 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked 3 inline comments as done. skan added inline comments. Comment at: clang/test/CodeGen/ms-inline-asm-static-variable.c:8 + // CHECK: @arr = internal global [10 x i32] + // CHECK: call void asm sideeffect inteldialect "mov dword ptr $0[edx * $$4],edx", "=*m,{{.*}}([1

[PATCH] D113096: [X86][MS-InlineAsm] Add constraint *m for memory access w/ global var

2021-11-04 Thread Kan Shengchen via Phabricator via cfe-commits
skan marked 3 inline comments as done. skan added inline comments. Comment at: llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp:1759 // It is widely common for MS InlineAsm to use a global variable and one/two // registers in a mmory expression, and though unaccessible via ri

[PATCH] D113096: [X86][MS-InlineAsm] Add constraint *m for memory access w/ global var

2021-11-04 Thread Kan Shengchen via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGbe08e452f366: [X86][MS-InlineAsm] Add constraint *m for memory access w/ global var (authored by skan). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D113096/

[PATCH] D113096: [X86][MS-InlineAsm] Add constraint *m for memory access w/ global var

2021-11-04 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. In D113096#3110507 , @thakis wrote: > Looks like this breaks tests on Mac: http://45.33.8.238/mac/38266/step_11.txt > > Please take a look and revert for now if it takes a while to fix. I can quickly fix it. It's the issue of ambig

[PATCH] D113096: [X86][MS-InlineAsm] Add constraint *m for memory access w/ global var

2021-11-04 Thread Kan Shengchen via Phabricator via cfe-commits
skan added a comment. In D113096#3110546 , @skan wrote: > In D113096#3110507 , @thakis wrote: > >> Looks like this breaks tests on Mac: http://45.33.8.238/mac/38266/step_11.txt >> >> Please take a look and revert

[PATCH] D135937: [X86] Support -march=raptorlake, meteorlake

2022-10-20 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: compiler-rt/lib/builtins/cpu_model.c:110 INTEL_COREI7_ROCKETLAKE, + ZHAOXIN_FAM7H_LUJIAZUI, + INTEL_COREI7_RAPTORLAKE, typo ? (ZHAOXIN_FAM7H_LUJIAZUI) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D135933: [X86] Add CMPCCXADD instructions.

2022-10-21 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:28251 + SDLoc DL(Op); + SDVTList VTs = DAG.getVTList(MVT::i32, MVT::Other); + SDValue Chain = Op.getOperand(0); Unused? Comment at: llvm/lib/Target/X

[PATCH] D135933: [X86] Add CMPCCXADD instructions.

2022-10-21 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: llvm/lib/Target/X86/X86InstrInfo.td:3028 + (ins i32mem:$dstsrc1, GR32:$dstsrc2, GR32:$src3, ccode:$cond), + "cmp${cond}xadd\t{$src3, $dst, $dstsrc1|$dstsrc1, $dst, $src3}", + [(set GR32:$dst, (X86cmpccxadd addr:$d

[PATCH] D135937: [WIP][X86] Support -march=raptorlake, meteorlake

2022-10-21 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: compiler-rt/lib/builtins/cpu_model.c:111 + ZHAOXIN_FAM7H_LUJIAZUI, + INTEL_COREI7_RAPTORLAKE, + INTEL_COREI7_METEORLAKE, I see. But if possible, could we split "ZHAOXIN_FAM7H_LUJIAZUI" to another patch? Repository:

[PATCH] D135932: [X86] Add AVX-IFMA instructions.

2022-10-21 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: clang/lib/Basic/Targets/X86.cpp:781 +Builder.defineMacro("__AVXIFMA__"); + Builder.defineMacro("__AVXIFMA_SUPPORTED__"); if (HasAVXVNNI) Why do we need this line? Repository: rG LLVM Github Monorepo CHANGES SIN

[PATCH] D135933: [X86] Add CMPCCXADD instructions.

2022-10-23 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: llvm/lib/Target/X86/X86InstrInfo.td:3035 + "cmp${cond}xadd\t{$src3, $dst, $dstsrc1|$dstsrc1, $dst, $src3}", + [(set GR64:$dst, (X86cmpccxadd addr:$dstsrc1, GR64:$dstsrc2, GR64:$src3, timm:$cond))]>, + VEX_4V, VEX

[PATCH] D135933: [X86] Add CMPCCXADD instructions.

2022-10-23 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: clang/lib/Headers/cmpccxaddintrin.h:19-34 + _CMPCCX_O, /* Overflow. */ + _CMPCCX_NO, /* No overflow. */ + _CMPCCX_B, /* Below. */ + _CMPCCX_NB, /* Not below. */ + _CMPCCX_Z, /* Zero. */ + _CMPCCX_NZ, /* Not zero. */ +

[PATCH] D135938: [X86] Add AVX-VNNI-INT8 instructions.

2022-10-23 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: llvm/include/llvm/Support/X86TargetParser.def:205 X86_FEATURE (AVX512FP16, "avx512fp16") +X86_FEATURE (AVXVNNIINT8, "avxvnniint8") X86_FEATURE (AVXVNNI, "avxvnni") Move it after AVXVNNI

[PATCH] D135933: [X86] Add CMPCCXADD instructions.

2022-10-24 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp:32 int64_t Imm = MI->getOperand(Op).getImm(); + bool flavor = MI->getOpcode() == X86::CMPCCXADDmr32 || X86::CMPCCXADDmr64; switch (Imm) { Capitalize 1st char

[PATCH] D135933: [X86] Add CMPCCXADD instructions.

2022-10-24 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: llvm/lib/Target/X86/X86InstrInfo.td:3027 +def CMPCCXADDmr32 : I<0xe0, MRMDestMem4VOp3CC, (outs GR32:$dst), + (ins GR32:$dstsrc2, i32mem:$dstsrc1, GR32:$src3, ccode:$cond), + "cmp${cond}xadd\t{$src3, $dst, $dstsrc1|$dstsrc1

[PATCH] D135933: [X86] Add CMPCCXADD instructions.

2022-10-24 Thread Kan Shengchen via Phabricator via cfe-commits
skan accepted this revision. skan added a comment. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135933/new/ https://reviews.llvm.org/D135933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D135932: [X86] Add AVX-IFMA instructions.

2022-10-27 Thread Kan Shengchen via Phabricator via cfe-commits
skan accepted this revision. skan added a comment. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135932/new/ https://reviews.llvm.org/D135932 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D135938: [X86] Add AVX-VNNI-INT8 instructions.

2022-10-27 Thread Kan Shengchen via Phabricator via cfe-commits
skan accepted this revision. skan added a comment. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135938/new/ https://reviews.llvm.org/D135938 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D140531: [X86] Add reduce_*_ep[i|u]8/16 series intrinsics.

2022-12-22 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: clang/docs/ReleaseNotes.rst:806 - Lift _BitInt() supported max width from 128 to 8388608. +- Support *_reduce_*_ep[i|u]8/16 series intrinsics. This is not clear to me, try sth like "mm*_reduce_(add|and|max)_epi" and put

[PATCH] D140531: [X86] Add reduce_*_ep[i|u]8/16 series intrinsics.

2022-12-22 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: clang/lib/Headers/avx512vlbwintrin.h:2997 + +static __inline__ char __DEFAULT_FN_ATTRS128 +_mm_reduce_or_epi8(__m128i __W) { Should we update here too? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION ht

[PATCH] D140531: [X86] Add reduce_*_ep[i|u]8/16 series intrinsics.

2022-12-22 Thread Kan Shengchen via Phabricator via cfe-commits
skan added inline comments. Comment at: clang/test/CodeGen/X86/avx512vlbw-reduceIntrin.c:115 + +char test_mm_reduce_mul_epi8(__m128i __W){ +// CHECK-LABEL: @test_mm_reduce_mul_epi8( skan wrote: > char has different meaning on different platforms. Should we use "s

[PATCH] D140531: [X86] Add reduce_*_ep[i|u]8/16 series intrinsics.

2022-12-22 Thread Kan Shengchen via Phabricator via cfe-commits
skan accepted this revision. skan added inline comments. Comment at: clang/test/CodeGen/X86/avx512vlbw-reduceIntrin.c:115 + +char test_mm_reduce_mul_epi8(__m128i __W){ +// CHECK-LABEL: @test_mm_reduce_mul_epi8( FreddyYe wrote: > skan wrote: > > skan wrote: > > >

  1   2   >