forked from OSchip/llvm-project
[CostModel][X86] Add AVX512VL vector shift cost tests.
llvm-svn: 291585
This commit is contained in:
parent
bcd03e7f3b
commit
b6d4fa6551
|
@ -7,6 +7,9 @@
|
|||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512F
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512dq -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512F
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512bw -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512BW
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512vl -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512VL
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512dq,+avx512vl -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512VL
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512bw,+avx512vl -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512BWVL
|
||||
|
||||
; Verify the cost of vector arithmetic shift right instructions.
|
||||
|
||||
|
@ -121,6 +124,8 @@ define <32 x i16> @var_shift_v32i16(<32 x i16> %a, <32 x i16> %b) {
|
|||
; AVX2: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 1 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 1 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 8 for instruction: %shift
|
||||
%shift = ashr <32 x i16> %a, %b
|
||||
ret <32 x i16> %shift
|
||||
|
@ -146,6 +151,8 @@ define <32 x i8> @var_shift_v32i8(<32 x i8> %a, <32 x i8> %b) {
|
|||
; AVX2: Found an estimated cost of 24 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 24 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 24 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 24 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 24 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 4 for instruction: %shift
|
||||
%shift = ashr <32 x i8> %a, %b
|
||||
ret <32 x i8> %shift
|
||||
|
@ -159,6 +166,8 @@ define <64 x i8> @var_shift_v64i8(<64 x i8> %a, <64 x i8> %b) {
|
|||
; AVX2: Found an estimated cost of 48 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 48 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 48 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 2 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 8 for instruction: %shift
|
||||
%shift = ashr <64 x i8> %a, %b
|
||||
ret <64 x i8> %shift
|
||||
|
@ -283,6 +292,8 @@ define <32 x i16> @splatvar_shift_v32i16(<32 x i16> %a, <32 x i16> %b) {
|
|||
; AVX2: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 1 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 1 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 8 for instruction: %shift
|
||||
%splat = shufflevector <32 x i16> %b, <32 x i16> undef, <32 x i32> zeroinitializer
|
||||
%shift = ashr <32 x i16> %a, %splat
|
||||
|
@ -323,6 +334,8 @@ define <64 x i8> @splatvar_shift_v64i8(<64 x i8> %a, <64 x i8> %b) {
|
|||
; AVX2: Found an estimated cost of 48 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 48 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 48 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 2 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 8 for instruction: %shift
|
||||
%splat = shufflevector <64 x i8> %b, <64 x i8> undef, <64 x i32> zeroinitializer
|
||||
%shift = ashr <64 x i8> %a, %splat
|
||||
|
@ -440,6 +453,8 @@ define <32 x i16> @constant_shift_v32i16(<32 x i16> %a) {
|
|||
; AVX2: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 1 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 1 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 8 for instruction: %shift
|
||||
%shift = ashr <32 x i16> %a, <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7>
|
||||
ret <32 x i16> %shift
|
||||
|
@ -477,6 +492,8 @@ define <64 x i8> @constant_shift_v64i8(<64 x i8> %a) {
|
|||
; AVX2: Found an estimated cost of 48 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 48 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 48 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 2 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 8 for instruction: %shift
|
||||
%shift = ashr <64 x i8> %a, <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0>
|
||||
ret <64 x i8> %shift
|
||||
|
@ -593,6 +610,8 @@ define <32 x i16> @splatconstant_shift_v32i16(<32 x i16> %a) {
|
|||
; AVX2: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 1 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 1 for instruction: %shift
|
||||
; XOPAVX: Found an estimated cost of 8 for instruction: %shift
|
||||
; XOPAVX2: Found an estimated cost of 2 for instruction: %shift
|
||||
%shift = ashr <32 x i16> %a, <i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3>
|
||||
|
@ -632,6 +651,8 @@ define <64 x i8> @splatconstant_shift_v64i8(<64 x i8> %a) {
|
|||
; AVX2: Found an estimated cost of 8 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 8 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 4 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 8 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 4 for instruction: %shift
|
||||
; XOPAVX: Found an estimated cost of 16 for instruction: %shift
|
||||
; XOPAVX2: Found an estimated cost of 8 for instruction: %shift
|
||||
%shift = ashr <64 x i8> %a, <i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3>
|
||||
|
|
|
@ -7,6 +7,9 @@
|
|||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512F
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512dq -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512F
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512bw -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512BW
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512vl -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512VL
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512dq,+avx512vl -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512VL
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512bw,+avx512vl -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512BWVL
|
||||
|
||||
; Verify the cost of vector logical shift right instructions.
|
||||
|
||||
|
@ -124,6 +127,8 @@ define <32 x i16> @var_shift_v32i16(<32 x i16> %a, <32 x i16> %b) {
|
|||
; AVX2: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 1 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 1 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 8 for instruction: %shift
|
||||
%shift = lshr <32 x i16> %a, %b
|
||||
ret <32 x i16> %shift
|
||||
|
@ -161,6 +166,8 @@ define <64 x i8> @var_shift_v64i8(<64 x i8> %a, <64 x i8> %b) {
|
|||
; AVX2: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 2 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 8 for instruction: %shift
|
||||
%shift = lshr <64 x i8> %a, %b
|
||||
ret <64 x i8> %shift
|
||||
|
@ -288,6 +295,8 @@ define <32 x i16> @splatvar_shift_v32i16(<32 x i16> %a, <32 x i16> %b) {
|
|||
; AVX2: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 1 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 1 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 8 for instruction: %shift
|
||||
%splat = shufflevector <32 x i16> %b, <32 x i16> undef, <32 x i32> zeroinitializer
|
||||
%shift = lshr <32 x i16> %a, %splat
|
||||
|
@ -328,6 +337,8 @@ define <64 x i8> @splatvar_shift_v64i8(<64 x i8> %a, <64 x i8> %b) {
|
|||
; AVX2: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 2 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 8 for instruction: %shift
|
||||
%splat = shufflevector <64 x i8> %b, <64 x i8> undef, <64 x i32> zeroinitializer
|
||||
%shift = lshr <64 x i8> %a, %splat
|
||||
|
@ -448,6 +459,8 @@ define <32 x i16> @constant_shift_v32i16(<32 x i16> %a) {
|
|||
; AVX2: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 1 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 1 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 8 for instruction: %shift
|
||||
%shift = lshr <32 x i16> %a, <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7>
|
||||
ret <32 x i16> %shift
|
||||
|
@ -485,6 +498,8 @@ define <64 x i8> @constant_shift_v64i8(<64 x i8> %a) {
|
|||
; AVX2: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 2 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 8 for instruction: %shift
|
||||
%shift = lshr <64 x i8> %a, <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0>
|
||||
ret <64 x i8> %shift
|
||||
|
@ -603,6 +618,8 @@ define <32 x i16> @splatconstant_shift_v32i16(<32 x i16> %a) {
|
|||
; AVX2: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 1 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 1 for instruction: %shift
|
||||
; XOPAVX: Found an estimated cost of 8 for instruction: %shift
|
||||
; XOPAVX2: Found an estimated cost of 2 for instruction: %shift
|
||||
%shift = lshr <32 x i16> %a, <i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3>
|
||||
|
@ -642,6 +659,8 @@ define <64 x i8> @splatconstant_shift_v64i8(<64 x i8> %a) {
|
|||
; AVX2: Found an estimated cost of 4 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 4 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 4 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 2 for instruction: %shift
|
||||
; XOPAVX: Found an estimated cost of 8 for instruction: %shift
|
||||
; XOPAVX2: Found an estimated cost of 4 for instruction: %shift
|
||||
%shift = lshr <64 x i8> %a, <i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3>
|
||||
|
|
|
@ -7,6 +7,9 @@
|
|||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512F
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512dq -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512F
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512bw -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512BW
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512vl -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512VL
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512dq,+avx512vl -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512VL
|
||||
; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512bw,+avx512vl -cost-model -analyze | FileCheck %s --check-prefix=CHECK --check-prefix=AVX512 --check-prefix=AVX512BWVL
|
||||
|
||||
; Verify the cost of vector shift left instructions.
|
||||
|
||||
|
@ -162,6 +165,8 @@ define <64 x i8> @var_shift_v64i8(<64 x i8> %a, <64 x i8> %b) {
|
|||
; AVX2: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 2 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 4 for instruction: %shift
|
||||
%shift = shl <64 x i8> %a, %b
|
||||
ret <64 x i8> %shift
|
||||
|
@ -289,6 +294,8 @@ define <32 x i16> @splatvar_shift_v32i16(<32 x i16> %a, <32 x i16> %b) {
|
|||
; AVX2: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 1 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 20 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 1 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 4 for instruction: %shift
|
||||
%splat = shufflevector <32 x i16> %b, <32 x i16> undef, <32 x i32> zeroinitializer
|
||||
%shift = shl <32 x i16> %a, %splat
|
||||
|
@ -329,6 +336,8 @@ define <64 x i8> @splatvar_shift_v64i8(<64 x i8> %a, <64 x i8> %b) {
|
|||
; AVX2: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 2 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 4 for instruction: %shift
|
||||
%splat = shufflevector <64 x i8> %b, <64 x i8> undef, <64 x i32> zeroinitializer
|
||||
%shift = shl <64 x i8> %a, %splat
|
||||
|
@ -450,6 +459,8 @@ define <32 x i16> @constant_shift_v32i16(<32 x i16> %a) {
|
|||
; AVX2: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 1 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 1 for instruction: %shift
|
||||
; XOPAVX: Found an estimated cost of 4 for instruction: %shift
|
||||
; XOPAVX2: Found an estimated cost of 2 for instruction: %shift
|
||||
%shift = shl <32 x i16> %a, <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7>
|
||||
|
@ -488,6 +499,8 @@ define <64 x i8> @constant_shift_v64i8(<64 x i8> %a) {
|
|||
; AVX2: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 22 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 2 for instruction: %shift
|
||||
; XOP: Found an estimated cost of 4 for instruction: %shift
|
||||
%shift = shl <64 x i8> %a, <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0>
|
||||
ret <64 x i8> %shift
|
||||
|
@ -608,6 +621,8 @@ define <32 x i16> @splatconstant_shift_v32i16(<32 x i16> %a) {
|
|||
; AVX2: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 1 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 1 for instruction: %shift
|
||||
; XOPAVX: Found an estimated cost of 4 for instruction: %shift
|
||||
; XOPAVX2: Found an estimated cost of 2 for instruction: %shift
|
||||
%shift = shl <32 x i16> %a, <i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3, i16 3>
|
||||
|
@ -647,6 +662,8 @@ define <64 x i8> @splatconstant_shift_v64i8(<64 x i8> %a) {
|
|||
; AVX2: Found an estimated cost of 4 for instruction: %shift
|
||||
; AVX512F: Found an estimated cost of 4 for instruction: %shift
|
||||
; AVX512BW: Found an estimated cost of 2 for instruction: %shift
|
||||
; AVX512VL: Found an estimated cost of 4 for instruction: %shift
|
||||
; AVX512BWVL: Found an estimated cost of 2 for instruction: %shift
|
||||
; XOPAVX: Found an estimated cost of 8 for instruction: %shift
|
||||
; XOPAVX2: Found an estimated cost of 4 for instruction: %shift
|
||||
%shift = shl <64 x i8> %a, <i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3, i8 3>
|
||||
|
|
Loading…
Reference in New Issue