[llvm] [X86] Use GFNI for vXi8 shifts/rotates (PR #89115)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 17 11:17:24 PDT 2024
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff c02ed29ec151d1d555c3735efef2ab215126ddbf 15ede923a0086f3b3d332fb49eb24af4d4c918f4 -- llvm/lib/Target/X86/X86ISelLowering.cpp llvm/lib/Target/X86/X86TargetTransformInfo.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
index fb6d81ea61..1b48a58854 100644
--- a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+++ b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
@@ -346,15 +346,15 @@ InstructionCost X86TTIImpl::getArithmeticInstrCost(
}
static const CostKindTblEntry GFNIUniformConstCostTable[] = {
- { ISD::SHL, MVT::v16i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { ISD::SRL, MVT::v16i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { ISD::SRA, MVT::v16i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { ISD::SHL, MVT::v32i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { ISD::SRL, MVT::v32i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { ISD::SRA, MVT::v32i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { ISD::SHL, MVT::v64i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { ISD::SRL, MVT::v64i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { ISD::SRA, MVT::v64i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
+ {ISD::SHL, MVT::v16i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {ISD::SRL, MVT::v16i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {ISD::SRA, MVT::v16i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {ISD::SHL, MVT::v32i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {ISD::SRL, MVT::v32i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {ISD::SRA, MVT::v32i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {ISD::SHL, MVT::v64i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {ISD::SRL, MVT::v64i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {ISD::SRA, MVT::v64i8, {1, 6, 1, 2}}, // gf2p8affineqb
};
if (Op2Info.isUniform() && Op2Info.isConstant() && ST->hasGFNI())
@@ -3862,25 +3862,25 @@ X86TTIImpl::getIntrinsicInstrCost(const IntrinsicCostAttributes &ICA,
{ ISD::FSQRT, MVT::v4f64, { 54, 54, 1, 3 } }, // vsqrtpd
};
static const CostKindTblEntry GFNICostTbl[] = {
- { ISD::BITREVERSE, MVT::i8, { 3, 3, 3, 4 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::i16, { 3, 3, 4, 6 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::i32, { 3, 3, 4, 5 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::i64, { 3, 3, 4, 6 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::v16i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::v32i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::v64i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::v8i16, { 1, 8, 2, 4 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::v16i16, { 1, 9, 2, 4 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::v32i16, { 1, 9, 2, 4 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::v4i32, { 1, 8, 2, 4 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::v8i32, { 1, 9, 2, 4 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::v16i32, { 1, 9, 2, 4 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::v2i64, { 1, 8, 2, 4 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::v4i64, { 1, 9, 2, 4 } }, // gf2p8affineqb
- { ISD::BITREVERSE, MVT::v8i64, { 1, 9, 2, 4 } }, // gf2p8affineqb
- { X86ISD::VROTLI, MVT::v16i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { X86ISD::VROTLI, MVT::v32i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
- { X86ISD::VROTLI, MVT::v64i8, { 1, 6, 1, 2 } }, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::i8, {3, 3, 3, 4}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::i16, {3, 3, 4, 6}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::i32, {3, 3, 4, 5}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::i64, {3, 3, 4, 6}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::v16i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::v32i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::v64i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::v8i16, {1, 8, 2, 4}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::v16i16, {1, 9, 2, 4}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::v32i16, {1, 9, 2, 4}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::v4i32, {1, 8, 2, 4}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::v8i32, {1, 9, 2, 4}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::v16i32, {1, 9, 2, 4}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::v2i64, {1, 8, 2, 4}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::v4i64, {1, 9, 2, 4}}, // gf2p8affineqb
+ {ISD::BITREVERSE, MVT::v8i64, {1, 9, 2, 4}}, // gf2p8affineqb
+ {X86ISD::VROTLI, MVT::v16i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {X86ISD::VROTLI, MVT::v32i8, {1, 6, 1, 2}}, // gf2p8affineqb
+ {X86ISD::VROTLI, MVT::v64i8, {1, 6, 1, 2}}, // gf2p8affineqb
};
static const CostKindTblEntry GLMCostTbl[] = {
{ ISD::FSQRT, MVT::f32, { 19, 20, 1, 1 } }, // sqrtss
``````````
</details>
https://github.com/llvm/llvm-project/pull/89115
More information about the llvm-commits
mailing list