[PATCH] D48712: [X86] Lowering integer truncation intrinsics to native IR

2018-07-10 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC336643: [X86] Lowering integer truncation intrinsics to native IR (authored by mike.dvoretsky, committed by ). Changed prior to commit: https://reviews.llvm.org/D48712?vs=153471=154765#toc Repository:

[PATCH] D48712: [X86] Lowering integer truncation intrinsics to native IR

2018-06-29 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky added inline comments. Comment at: clang/lib/Headers/avx512vlbwintrin.h:1501 + (__v8qi){0, 0, 0, 0, 0, 0, 0, 0}, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15); } RKSimon wrote: > Are we happy with using illegal types like

[PATCH] D48712: [X86] Lowering integer truncation intrinsics to native IR

2018-06-29 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky updated this revision to Diff 153471. mike.dvoretsky marked 2 inline comments as done. mike.dvoretsky added a comment. Updated per comments. Typedefs for intermediate short vectors moved into the bodies of the functions using them. https://reviews.llvm.org/D48712 Files:

[PATCH] D48712: [X86] Lowering integer truncation intrinsics to native IR

2018-06-28 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky updated this revision to Diff 153277. mike.dvoretsky added a comment. Uploaded the correct diff. https://reviews.llvm.org/D48712 Files: clang/lib/Headers/avx512vlbwintrin.h clang/lib/Headers/avx512vlintrin.h clang/test/CodeGen/avx512vl-builtins.c

[PATCH] D48712: [X86] Lowering integer truncation intrinsics to native IR

2018-06-28 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky created this revision. mike.dvoretsky added a reviewer: craig.topper. Herald added a subscriber: cfe-commits. This patch lowers the _mm[256|512]_cvtepi{64|32|16}_epi{32|16|8} intrinsics to native IR in cases where the result's length is less than 128 bits. The resulting IR is

[PATCH] D45202: [X86] Replacing X86-specific floor and ceil vector intrinsics with generic LLVM intrinsics

2018-06-15 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky abandoned this revision. mike.dvoretsky added a comment. Abandoning this due to https://reviews.llvm.org/D48067 being accepted instead. https://reviews.llvm.org/D45202 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D45722: [X86] Lowering SAD (sum of absolute differences) intrinsics to native IR (clang side)

2018-06-05 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky abandoned this revision. mike.dvoretsky added a comment. Closing this due to failure of https://reviews.llvm.org/D45723. https://reviews.llvm.org/D45722 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D45720: [X86] Lowering PACK*S (pack with saturation) intrinsics to native IR (clang side)

2018-06-05 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky abandoned this revision. mike.dvoretsky added a comment. Closing this due to failure of https://reviews.llvm.org/D45721. https://reviews.llvm.org/D45720 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D45202: [X86] Replacing X86-specific floor and ceil vector intrinsics with generic LLVM intrinsics

2018-06-01 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky updated this revision to Diff 149484. mike.dvoretsky added a comment. Changed the scalar intrinsic lowering to work via extract-insert. https://reviews.llvm.org/D45203 contains tests for folding the resulting IR patterns. https://reviews.llvm.org/D45202 Files:

[PATCH] D46881: [X86][CET] Changing -fcf-protection behavior to comply with gcc (clang part)

2018-05-17 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky updated this revision to Diff 147292. mike.dvoretsky added a comment. Removed the unused HasIBT variable declaration from X86.h. https://reviews.llvm.org/D46881 Files: clang/docs/ClangCommandLineReference.rst clang/include/clang/Basic/DiagnosticCommonKinds.td

[PATCH] D46881: [X86][CET] Changing -fcf-protection behavior to comply with gcc (clang part)

2018-05-15 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky created this revision. mike.dvoretsky added a reviewer: craig.topper. Herald added a subscriber: cfe-commits. This patch aims to match the changes introduced in gcc by https://gcc.gnu.org/ml/gcc-cvs/2018-04/msg00534.html. The -mibt feature flag is being removed, and the

[PATCH] D45720: [X86] Lowering PACK*S (pack with saturation) intrinsics to native IR (clang side)

2018-04-26 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky updated this revision to Diff 144126. mike.dvoretsky added a comment. Changed the shuffle mask emission code to match https://reviews.llvm.org/D45721. https://reviews.llvm.org/D45720 Files: clang/lib/CodeGen/CGBuiltin.cpp clang/test/CodeGen/avx2-builtins.c

[PATCH] D45722: [X86] Lowering SAD (sum of absolute differences) intrinsics to native IR (clang side)

2018-04-25 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky updated this revision to Diff 143893. mike.dvoretsky marked 4 inline comments as done. mike.dvoretsky added a subscriber: ashlykov. mike.dvoretsky added a comment. Updated per comments. https://reviews.llvm.org/D45722 Files: clang/lib/CodeGen/CGBuiltin.cpp

[PATCH] D45722: [X86] Lowering SAD (sum of absolute differences) intrinsics to native IR (clang side)

2018-04-24 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky updated this revision to Diff 143715. mike.dvoretsky added a comment. Updated per comments. https://reviews.llvm.org/D45722 Files: clang/lib/CodeGen/CGBuiltin.cpp clang/test/CodeGen/avx2-builtins.c clang/test/CodeGen/avx512bw-builtins.c clang/test/CodeGen/sse2-builtins.c

[PATCH] D45722: [X86] Lowering SAD (sum of absolute differences) intrinsics to native IR (clang side)

2018-04-18 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky updated this revision to Diff 142914. mike.dvoretsky added a comment. Updated per comments. https://reviews.llvm.org/D45722 Files: clang/lib/CodeGen/CGBuiltin.cpp clang/test/CodeGen/avx2-builtins.c clang/test/CodeGen/avx512bw-builtins.c clang/test/CodeGen/sse2-builtins.c

[PATCH] D45720: [X86] Lowering PACK*S (pack with saturation) intrinsics to native IR (clang side)

2018-04-18 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky updated this revision to Diff 142899. mike.dvoretsky added a comment. Updated per comments. https://reviews.llvm.org/D45720 Files: clang/lib/CodeGen/CGBuiltin.cpp clang/test/CodeGen/avx2-builtins.c clang/test/CodeGen/avx512bw-builtins.c

[PATCH] D45720: [X86] Lowering PACK*S (pack with saturation) intrinsics to native IR (clang side)

2018-04-18 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky added inline comments. Comment at: lib/CodeGen/CGBuiltin.cpp:8443 + Value *MaxVec = llvm::ConstantInt::get(RTy, MaxVal); + Res = EmitX86MinMax(CGF, ICmpInst::ICMP_SLT, {Res, MaxVec}); + Res = EmitX86MinMax(CGF, ICmpInst::ICMP_SGT, {Res, MinVec});

[PATCH] D45722: [X86] Lowering SAD (sum of absolute differences) intrinsics to native IR (clang side)

2018-04-17 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky created this revision. mike.dvoretsky added reviewers: craig.topper, spatel. Herald added a subscriber: cfe-commits. This patch lowers the SAD intrinsics to native LLVM IR. Comes with an LLVM patch. Repository: rC Clang https://reviews.llvm.org/D45722 Files:

[PATCH] D45720: [X86] Lowering PACK*S (pack with saturation) intrinsics to native IR (clang side)

2018-04-17 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky created this revision. mike.dvoretsky added reviewers: craig.topper, spatel. Herald added a subscriber: cfe-commits. This patch lowers the X86 vector packing with saturation intrinsics to native LLVM IR. Comes with an LLVM patch. Repository: rC Clang

[PATCH] D45202: [X86] Replacing X86-specific floor and ceil vector intrinsics with generic LLVM intrinsics

2018-04-05 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky added inline comments. Comment at: clang/lib/CodeGen/CGBuiltin.cpp:8307 +Dst = Ops[0]; +Mask = llvm::ConstantInt::get(CGF.Builder.getInt32Ty(), 1); + } else { craig.topper wrote: > I'm not sure we should even try to emit a mask for the

[PATCH] D45202: [X86] Replacing X86-specific floor and ceil vector intrinsics with generic LLVM intrinsics

2018-04-04 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky updated this revision to Diff 140972. mike.dvoretsky edited the summary of this revision. mike.dvoretsky added a comment. On suggestion from @craig.topper moved all lowering to CGBuiltin.cpp with no new builtins added. Instead the existing builtins are lowered if their immediate

[PATCH] D45202: [X86] Replacing X86-specific floor and ceil vector intrinsics with generic LLVM intrinsics

2018-04-03 Thread Mikhail Dvoretckii via Phabricator via cfe-commits
mike.dvoretsky created this revision. mike.dvoretsky added reviewers: craig.topper, spatel, RKSimon. Herald added a subscriber: cfe-commits. Currently, X86 floor and ceil intrinsics for vectors are implemented as target-specific intrinsics that use the generic rounding instruction of the