1151 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py2; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE,SSSE33; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+sse4.2 | FileCheck %s --check-prefixes=SSE,SSE424; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx | FileCheck %s --check-prefixes=AVX,AVX15; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX26; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx512f | FileCheck %s --check-prefixes=AVX512,AVX512F7; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefixes=AVX512,AVX512BW8; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mattr=+avx512f,+avx512dq | FileCheck %s --check-prefixes=AVX512,AVX512DQ9;10; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mcpu=slm | FileCheck %s --check-prefixes=SSE,SLM11; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mcpu=goldmont | FileCheck %s --check-prefixes=SSE,GLM12; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -cost-kind=all -mtriple=x86_64-- -mcpu=btver2 | FileCheck %s --check-prefixes=AVX,AVX113 14define i32 @add(i32 %arg) {15; SSSE3-LABEL: 'add'16; SSSE3-NEXT: Cost Model: Found costs of 1 for: %I64 = add i64 undef, undef17; SSSE3-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:2 SizeLat:2 for: %V2I64 = add <2 x i64> undef, undef18; SSSE3-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:4 SizeLat:4 for: %V4I64 = add <4 x i64> undef, undef19; SSSE3-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:8 SizeLat:8 for: %V8I64 = add <8 x i64> undef, undef20; SSSE3-NEXT: Cost Model: Found costs of 1 for: %I32 = add i32 undef, undef21; SSSE3-NEXT: Cost Model: Found costs of 1 for: %V4I32 = add <4 x i32> undef, undef22; SSSE3-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I32 = add <8 x i32> undef, undef23; SSSE3-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V16I32 = add <16 x i32> undef, undef24; SSSE3-NEXT: Cost Model: Found costs of 1 for: %I16 = add i16 undef, undef25; SSSE3-NEXT: Cost Model: Found costs of 1 for: %V8I16 = add <8 x i16> undef, undef26; SSSE3-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V16I16 = add <16 x i16> undef, undef27; SSSE3-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V32I16 = add <32 x i16> undef, undef28; SSSE3-NEXT: Cost Model: Found costs of 1 for: %I8 = add i8 undef, undef29; SSSE3-NEXT: Cost Model: Found costs of 1 for: %V16I8 = add <16 x i8> undef, undef30; SSSE3-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V32I8 = add <32 x i8> undef, undef31; SSSE3-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V64I8 = add <64 x i8> undef, undef32; SSSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef33;34; SSE42-LABEL: 'add'35; SSE42-NEXT: Cost Model: Found costs of 1 for: %I64 = add i64 undef, undef36; SSE42-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:2 SizeLat:2 for: %V2I64 = add <2 x i64> undef, undef37; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:4 SizeLat:4 for: %V4I64 = add <4 x i64> undef, undef38; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:8 SizeLat:8 for: %V8I64 = add <8 x i64> undef, undef39; SSE42-NEXT: Cost Model: Found costs of 1 for: %I32 = add i32 undef, undef40; SSE42-NEXT: Cost Model: Found costs of 1 for: %V4I32 = add <4 x i32> undef, undef41; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I32 = add <8 x i32> undef, undef42; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V16I32 = add <16 x i32> undef, undef43; SSE42-NEXT: Cost Model: Found costs of 1 for: %I16 = add i16 undef, undef44; SSE42-NEXT: Cost Model: Found costs of 1 for: %V8I16 = add <8 x i16> undef, undef45; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V16I16 = add <16 x i16> undef, undef46; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V32I16 = add <32 x i16> undef, undef47; SSE42-NEXT: Cost Model: Found costs of 1 for: %I8 = add i8 undef, undef48; SSE42-NEXT: Cost Model: Found costs of 1 for: %V16I8 = add <16 x i8> undef, undef49; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V32I8 = add <32 x i8> undef, undef50; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V64I8 = add <64 x i8> undef, undef51; SSE42-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef52;53; AVX1-LABEL: 'add'54; AVX1-NEXT: Cost Model: Found costs of 1 for: %I64 = add i64 undef, undef55; AVX1-NEXT: Cost Model: Found costs of 1 for: %V2I64 = add <2 x i64> undef, undef56; AVX1-NEXT: Cost Model: Found costs of RThru:4 CodeSize:5 Lat:2 SizeLat:6 for: %V4I64 = add <4 x i64> undef, undef57; AVX1-NEXT: Cost Model: Found costs of RThru:8 CodeSize:10 Lat:4 SizeLat:12 for: %V8I64 = add <8 x i64> undef, undef58; AVX1-NEXT: Cost Model: Found costs of 1 for: %I32 = add i32 undef, undef59; AVX1-NEXT: Cost Model: Found costs of 1 for: %V4I32 = add <4 x i32> undef, undef60; AVX1-NEXT: Cost Model: Found costs of RThru:4 CodeSize:5 Lat:2 SizeLat:6 for: %V8I32 = add <8 x i32> undef, undef61; AVX1-NEXT: Cost Model: Found costs of RThru:8 CodeSize:10 Lat:4 SizeLat:12 for: %V16I32 = add <16 x i32> undef, undef62; AVX1-NEXT: Cost Model: Found costs of 1 for: %I16 = add i16 undef, undef63; AVX1-NEXT: Cost Model: Found costs of 1 for: %V8I16 = add <8 x i16> undef, undef64; AVX1-NEXT: Cost Model: Found costs of RThru:4 CodeSize:5 Lat:2 SizeLat:6 for: %V16I16 = add <16 x i16> undef, undef65; AVX1-NEXT: Cost Model: Found costs of RThru:8 CodeSize:10 Lat:4 SizeLat:12 for: %V32I16 = add <32 x i16> undef, undef66; AVX1-NEXT: Cost Model: Found costs of 1 for: %I8 = add i8 undef, undef67; AVX1-NEXT: Cost Model: Found costs of 1 for: %V16I8 = add <16 x i8> undef, undef68; AVX1-NEXT: Cost Model: Found costs of RThru:4 CodeSize:5 Lat:2 SizeLat:6 for: %V32I8 = add <32 x i8> undef, undef69; AVX1-NEXT: Cost Model: Found costs of RThru:8 CodeSize:10 Lat:4 SizeLat:12 for: %V64I8 = add <64 x i8> undef, undef70; AVX1-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef71;72; AVX2-LABEL: 'add'73; AVX2-NEXT: Cost Model: Found costs of 1 for: %I64 = add i64 undef, undef74; AVX2-NEXT: Cost Model: Found costs of 1 for: %V2I64 = add <2 x i64> undef, undef75; AVX2-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V4I64 = add <4 x i64> undef, undef76; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V8I64 = add <8 x i64> undef, undef77; AVX2-NEXT: Cost Model: Found costs of 1 for: %I32 = add i32 undef, undef78; AVX2-NEXT: Cost Model: Found costs of 1 for: %V4I32 = add <4 x i32> undef, undef79; AVX2-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V8I32 = add <8 x i32> undef, undef80; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V16I32 = add <16 x i32> undef, undef81; AVX2-NEXT: Cost Model: Found costs of 1 for: %I16 = add i16 undef, undef82; AVX2-NEXT: Cost Model: Found costs of 1 for: %V8I16 = add <8 x i16> undef, undef83; AVX2-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V16I16 = add <16 x i16> undef, undef84; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V32I16 = add <32 x i16> undef, undef85; AVX2-NEXT: Cost Model: Found costs of 1 for: %I8 = add i8 undef, undef86; AVX2-NEXT: Cost Model: Found costs of 1 for: %V16I8 = add <16 x i8> undef, undef87; AVX2-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V32I8 = add <32 x i8> undef, undef88; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V64I8 = add <64 x i8> undef, undef89; AVX2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef90;91; AVX512F-LABEL: 'add'92; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I64 = add i64 undef, undef93; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V2I64 = add <2 x i64> undef, undef94; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V4I64 = add <4 x i64> undef, undef95; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I64 = add <8 x i64> undef, undef96; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I32 = add i32 undef, undef97; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V4I32 = add <4 x i32> undef, undef98; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V8I32 = add <8 x i32> undef, undef99; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I32 = add <16 x i32> undef, undef100; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I16 = add i16 undef, undef101; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I16 = add <8 x i16> undef, undef102; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V16I16 = add <16 x i16> undef, undef103; AVX512F-NEXT: Cost Model: Found costs of RThru:3 CodeSize:5 Lat:7 SizeLat:5 for: %V32I16 = add <32 x i16> undef, undef104; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I8 = add i8 undef, undef105; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I8 = add <16 x i8> undef, undef106; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V32I8 = add <32 x i8> undef, undef107; AVX512F-NEXT: Cost Model: Found costs of RThru:3 CodeSize:5 Lat:7 SizeLat:5 for: %V64I8 = add <64 x i8> undef, undef108; AVX512F-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef109;110; AVX512BW-LABEL: 'add'111; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I64 = add i64 undef, undef112; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V2I64 = add <2 x i64> undef, undef113; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I64 = add <4 x i64> undef, undef114; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I64 = add <8 x i64> undef, undef115; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I32 = add i32 undef, undef116; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I32 = add <4 x i32> undef, undef117; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I32 = add <8 x i32> undef, undef118; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I32 = add <16 x i32> undef, undef119; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I16 = add i16 undef, undef120; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I16 = add <8 x i16> undef, undef121; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I16 = add <16 x i16> undef, undef122; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I16 = add <32 x i16> undef, undef123; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I8 = add i8 undef, undef124; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I8 = add <16 x i8> undef, undef125; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I8 = add <32 x i8> undef, undef126; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V64I8 = add <64 x i8> undef, undef127; AVX512BW-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef128;129; AVX512DQ-LABEL: 'add'130; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I64 = add i64 undef, undef131; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V2I64 = add <2 x i64> undef, undef132; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V4I64 = add <4 x i64> undef, undef133; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I64 = add <8 x i64> undef, undef134; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I32 = add i32 undef, undef135; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V4I32 = add <4 x i32> undef, undef136; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V8I32 = add <8 x i32> undef, undef137; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I32 = add <16 x i32> undef, undef138; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I16 = add i16 undef, undef139; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I16 = add <8 x i16> undef, undef140; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V16I16 = add <16 x i16> undef, undef141; AVX512DQ-NEXT: Cost Model: Found costs of RThru:3 CodeSize:5 Lat:7 SizeLat:5 for: %V32I16 = add <32 x i16> undef, undef142; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I8 = add i8 undef, undef143; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I8 = add <16 x i8> undef, undef144; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V32I8 = add <32 x i8> undef, undef145; AVX512DQ-NEXT: Cost Model: Found costs of RThru:3 CodeSize:5 Lat:7 SizeLat:5 for: %V64I8 = add <64 x i8> undef, undef146; AVX512DQ-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef147;148; SLM-LABEL: 'add'149; SLM-NEXT: Cost Model: Found costs of 1 for: %I64 = add i64 undef, undef150; SLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:2 SizeLat:2 for: %V2I64 = add <2 x i64> undef, undef151; SLM-NEXT: Cost Model: Found costs of RThru:8 CodeSize:2 Lat:4 SizeLat:4 for: %V4I64 = add <4 x i64> undef, undef152; SLM-NEXT: Cost Model: Found costs of RThru:16 CodeSize:4 Lat:8 SizeLat:8 for: %V8I64 = add <8 x i64> undef, undef153; SLM-NEXT: Cost Model: Found costs of 1 for: %I32 = add i32 undef, undef154; SLM-NEXT: Cost Model: Found costs of 1 for: %V4I32 = add <4 x i32> undef, undef155; SLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I32 = add <8 x i32> undef, undef156; SLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V16I32 = add <16 x i32> undef, undef157; SLM-NEXT: Cost Model: Found costs of 1 for: %I16 = add i16 undef, undef158; SLM-NEXT: Cost Model: Found costs of 1 for: %V8I16 = add <8 x i16> undef, undef159; SLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V16I16 = add <16 x i16> undef, undef160; SLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V32I16 = add <32 x i16> undef, undef161; SLM-NEXT: Cost Model: Found costs of 1 for: %I8 = add i8 undef, undef162; SLM-NEXT: Cost Model: Found costs of 1 for: %V16I8 = add <16 x i8> undef, undef163; SLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V32I8 = add <32 x i8> undef, undef164; SLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V64I8 = add <64 x i8> undef, undef165; SLM-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef166;167; GLM-LABEL: 'add'168; GLM-NEXT: Cost Model: Found costs of 1 for: %I64 = add i64 undef, undef169; GLM-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:2 SizeLat:2 for: %V2I64 = add <2 x i64> undef, undef170; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:4 SizeLat:4 for: %V4I64 = add <4 x i64> undef, undef171; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:8 SizeLat:8 for: %V8I64 = add <8 x i64> undef, undef172; GLM-NEXT: Cost Model: Found costs of 1 for: %I32 = add i32 undef, undef173; GLM-NEXT: Cost Model: Found costs of 1 for: %V4I32 = add <4 x i32> undef, undef174; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I32 = add <8 x i32> undef, undef175; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V16I32 = add <16 x i32> undef, undef176; GLM-NEXT: Cost Model: Found costs of 1 for: %I16 = add i16 undef, undef177; GLM-NEXT: Cost Model: Found costs of 1 for: %V8I16 = add <8 x i16> undef, undef178; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V16I16 = add <16 x i16> undef, undef179; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V32I16 = add <32 x i16> undef, undef180; GLM-NEXT: Cost Model: Found costs of 1 for: %I8 = add i8 undef, undef181; GLM-NEXT: Cost Model: Found costs of 1 for: %V16I8 = add <16 x i8> undef, undef182; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V32I8 = add <32 x i8> undef, undef183; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V64I8 = add <64 x i8> undef, undef184; GLM-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef185;186 %I64 = add i64 undef, undef187 %V2I64 = add <2 x i64> undef, undef188 %V4I64 = add <4 x i64> undef, undef189 %V8I64 = add <8 x i64> undef, undef190 191 %I32 = add i32 undef, undef192 %V4I32 = add <4 x i32> undef, undef193 %V8I32 = add <8 x i32> undef, undef194 %V16I32 = add <16 x i32> undef, undef195 196 %I16 = add i16 undef, undef197 %V8I16 = add <8 x i16> undef, undef198 %V16I16 = add <16 x i16> undef, undef199 %V32I16 = add <32 x i16> undef, undef200 201 %I8 = add i8 undef, undef202 %V16I8 = add <16 x i8> undef, undef203 %V32I8 = add <32 x i8> undef, undef204 %V64I8 = add <64 x i8> undef, undef205 206 ret i32 undef207}208 209define i32 @sub(i32 %arg) {210; SSSE3-LABEL: 'sub'211; SSSE3-NEXT: Cost Model: Found costs of 1 for: %I64 = sub i64 undef, undef212; SSSE3-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:2 SizeLat:2 for: %V2I64 = sub <2 x i64> undef, undef213; SSSE3-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:4 SizeLat:4 for: %V4I64 = sub <4 x i64> undef, undef214; SSSE3-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:8 SizeLat:8 for: %V8I64 = sub <8 x i64> undef, undef215; SSSE3-NEXT: Cost Model: Found costs of 1 for: %I32 = sub i32 undef, undef216; SSSE3-NEXT: Cost Model: Found costs of 1 for: %V4I32 = sub <4 x i32> undef, undef217; SSSE3-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I32 = sub <8 x i32> undef, undef218; SSSE3-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V16I32 = sub <16 x i32> undef, undef219; SSSE3-NEXT: Cost Model: Found costs of 1 for: %I16 = sub i16 undef, undef220; SSSE3-NEXT: Cost Model: Found costs of 1 for: %V8I16 = sub <8 x i16> undef, undef221; SSSE3-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V16I16 = sub <16 x i16> undef, undef222; SSSE3-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V32I16 = sub <32 x i16> undef, undef223; SSSE3-NEXT: Cost Model: Found costs of 1 for: %I8 = sub i8 undef, undef224; SSSE3-NEXT: Cost Model: Found costs of 1 for: %V16I8 = sub <16 x i8> undef, undef225; SSSE3-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V32I8 = sub <32 x i8> undef, undef226; SSSE3-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V64I8 = sub <64 x i8> undef, undef227; SSSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef228;229; SSE42-LABEL: 'sub'230; SSE42-NEXT: Cost Model: Found costs of 1 for: %I64 = sub i64 undef, undef231; SSE42-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:2 SizeLat:2 for: %V2I64 = sub <2 x i64> undef, undef232; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:4 SizeLat:4 for: %V4I64 = sub <4 x i64> undef, undef233; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:8 SizeLat:8 for: %V8I64 = sub <8 x i64> undef, undef234; SSE42-NEXT: Cost Model: Found costs of 1 for: %I32 = sub i32 undef, undef235; SSE42-NEXT: Cost Model: Found costs of 1 for: %V4I32 = sub <4 x i32> undef, undef236; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I32 = sub <8 x i32> undef, undef237; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V16I32 = sub <16 x i32> undef, undef238; SSE42-NEXT: Cost Model: Found costs of 1 for: %I16 = sub i16 undef, undef239; SSE42-NEXT: Cost Model: Found costs of 1 for: %V8I16 = sub <8 x i16> undef, undef240; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V16I16 = sub <16 x i16> undef, undef241; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V32I16 = sub <32 x i16> undef, undef242; SSE42-NEXT: Cost Model: Found costs of 1 for: %I8 = sub i8 undef, undef243; SSE42-NEXT: Cost Model: Found costs of 1 for: %V16I8 = sub <16 x i8> undef, undef244; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V32I8 = sub <32 x i8> undef, undef245; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V64I8 = sub <64 x i8> undef, undef246; SSE42-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef247;248; AVX1-LABEL: 'sub'249; AVX1-NEXT: Cost Model: Found costs of 1 for: %I64 = sub i64 undef, undef250; AVX1-NEXT: Cost Model: Found costs of 1 for: %V2I64 = sub <2 x i64> undef, undef251; AVX1-NEXT: Cost Model: Found costs of RThru:4 CodeSize:5 Lat:2 SizeLat:6 for: %V4I64 = sub <4 x i64> undef, undef252; AVX1-NEXT: Cost Model: Found costs of RThru:8 CodeSize:10 Lat:4 SizeLat:12 for: %V8I64 = sub <8 x i64> undef, undef253; AVX1-NEXT: Cost Model: Found costs of 1 for: %I32 = sub i32 undef, undef254; AVX1-NEXT: Cost Model: Found costs of 1 for: %V4I32 = sub <4 x i32> undef, undef255; AVX1-NEXT: Cost Model: Found costs of RThru:4 CodeSize:5 Lat:2 SizeLat:6 for: %V8I32 = sub <8 x i32> undef, undef256; AVX1-NEXT: Cost Model: Found costs of RThru:8 CodeSize:10 Lat:4 SizeLat:12 for: %V16I32 = sub <16 x i32> undef, undef257; AVX1-NEXT: Cost Model: Found costs of 1 for: %I16 = sub i16 undef, undef258; AVX1-NEXT: Cost Model: Found costs of 1 for: %V8I16 = sub <8 x i16> undef, undef259; AVX1-NEXT: Cost Model: Found costs of RThru:4 CodeSize:5 Lat:2 SizeLat:6 for: %V16I16 = sub <16 x i16> undef, undef260; AVX1-NEXT: Cost Model: Found costs of RThru:8 CodeSize:10 Lat:4 SizeLat:12 for: %V32I16 = sub <32 x i16> undef, undef261; AVX1-NEXT: Cost Model: Found costs of 1 for: %I8 = sub i8 undef, undef262; AVX1-NEXT: Cost Model: Found costs of 1 for: %V16I8 = sub <16 x i8> undef, undef263; AVX1-NEXT: Cost Model: Found costs of RThru:4 CodeSize:5 Lat:2 SizeLat:6 for: %V32I8 = sub <32 x i8> undef, undef264; AVX1-NEXT: Cost Model: Found costs of RThru:8 CodeSize:10 Lat:4 SizeLat:12 for: %V64I8 = sub <64 x i8> undef, undef265; AVX1-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef266;267; AVX2-LABEL: 'sub'268; AVX2-NEXT: Cost Model: Found costs of 1 for: %I64 = sub i64 undef, undef269; AVX2-NEXT: Cost Model: Found costs of 1 for: %V2I64 = sub <2 x i64> undef, undef270; AVX2-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V4I64 = sub <4 x i64> undef, undef271; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V8I64 = sub <8 x i64> undef, undef272; AVX2-NEXT: Cost Model: Found costs of 1 for: %I32 = sub i32 undef, undef273; AVX2-NEXT: Cost Model: Found costs of 1 for: %V4I32 = sub <4 x i32> undef, undef274; AVX2-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V8I32 = sub <8 x i32> undef, undef275; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V16I32 = sub <16 x i32> undef, undef276; AVX2-NEXT: Cost Model: Found costs of 1 for: %I16 = sub i16 undef, undef277; AVX2-NEXT: Cost Model: Found costs of 1 for: %V8I16 = sub <8 x i16> undef, undef278; AVX2-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V16I16 = sub <16 x i16> undef, undef279; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V32I16 = sub <32 x i16> undef, undef280; AVX2-NEXT: Cost Model: Found costs of 1 for: %I8 = sub i8 undef, undef281; AVX2-NEXT: Cost Model: Found costs of 1 for: %V16I8 = sub <16 x i8> undef, undef282; AVX2-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V32I8 = sub <32 x i8> undef, undef283; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V64I8 = sub <64 x i8> undef, undef284; AVX2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef285;286; AVX512F-LABEL: 'sub'287; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I64 = sub i64 undef, undef288; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V2I64 = sub <2 x i64> undef, undef289; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V4I64 = sub <4 x i64> undef, undef290; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I64 = sub <8 x i64> undef, undef291; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I32 = sub i32 undef, undef292; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V4I32 = sub <4 x i32> undef, undef293; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V8I32 = sub <8 x i32> undef, undef294; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I32 = sub <16 x i32> undef, undef295; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I16 = sub i16 undef, undef296; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I16 = sub <8 x i16> undef, undef297; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V16I16 = sub <16 x i16> undef, undef298; AVX512F-NEXT: Cost Model: Found costs of RThru:3 CodeSize:5 Lat:7 SizeLat:5 for: %V32I16 = sub <32 x i16> undef, undef299; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I8 = sub i8 undef, undef300; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I8 = sub <16 x i8> undef, undef301; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V32I8 = sub <32 x i8> undef, undef302; AVX512F-NEXT: Cost Model: Found costs of RThru:3 CodeSize:5 Lat:7 SizeLat:5 for: %V64I8 = sub <64 x i8> undef, undef303; AVX512F-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef304;305; AVX512BW-LABEL: 'sub'306; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I64 = sub i64 undef, undef307; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V2I64 = sub <2 x i64> undef, undef308; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I64 = sub <4 x i64> undef, undef309; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I64 = sub <8 x i64> undef, undef310; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I32 = sub i32 undef, undef311; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I32 = sub <4 x i32> undef, undef312; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I32 = sub <8 x i32> undef, undef313; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I32 = sub <16 x i32> undef, undef314; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I16 = sub i16 undef, undef315; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I16 = sub <8 x i16> undef, undef316; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I16 = sub <16 x i16> undef, undef317; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I16 = sub <32 x i16> undef, undef318; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I8 = sub i8 undef, undef319; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I8 = sub <16 x i8> undef, undef320; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I8 = sub <32 x i8> undef, undef321; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V64I8 = sub <64 x i8> undef, undef322; AVX512BW-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef323;324; AVX512DQ-LABEL: 'sub'325; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I64 = sub i64 undef, undef326; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V2I64 = sub <2 x i64> undef, undef327; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V4I64 = sub <4 x i64> undef, undef328; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I64 = sub <8 x i64> undef, undef329; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I32 = sub i32 undef, undef330; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V4I32 = sub <4 x i32> undef, undef331; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V8I32 = sub <8 x i32> undef, undef332; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I32 = sub <16 x i32> undef, undef333; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I16 = sub i16 undef, undef334; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I16 = sub <8 x i16> undef, undef335; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V16I16 = sub <16 x i16> undef, undef336; AVX512DQ-NEXT: Cost Model: Found costs of RThru:3 CodeSize:5 Lat:7 SizeLat:5 for: %V32I16 = sub <32 x i16> undef, undef337; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I8 = sub i8 undef, undef338; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I8 = sub <16 x i8> undef, undef339; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V32I8 = sub <32 x i8> undef, undef340; AVX512DQ-NEXT: Cost Model: Found costs of RThru:3 CodeSize:5 Lat:7 SizeLat:5 for: %V64I8 = sub <64 x i8> undef, undef341; AVX512DQ-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef342;343; SLM-LABEL: 'sub'344; SLM-NEXT: Cost Model: Found costs of 1 for: %I64 = sub i64 undef, undef345; SLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:2 SizeLat:2 for: %V2I64 = sub <2 x i64> undef, undef346; SLM-NEXT: Cost Model: Found costs of RThru:8 CodeSize:2 Lat:4 SizeLat:4 for: %V4I64 = sub <4 x i64> undef, undef347; SLM-NEXT: Cost Model: Found costs of RThru:16 CodeSize:4 Lat:8 SizeLat:8 for: %V8I64 = sub <8 x i64> undef, undef348; SLM-NEXT: Cost Model: Found costs of 1 for: %I32 = sub i32 undef, undef349; SLM-NEXT: Cost Model: Found costs of 1 for: %V4I32 = sub <4 x i32> undef, undef350; SLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I32 = sub <8 x i32> undef, undef351; SLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V16I32 = sub <16 x i32> undef, undef352; SLM-NEXT: Cost Model: Found costs of 1 for: %I16 = sub i16 undef, undef353; SLM-NEXT: Cost Model: Found costs of 1 for: %V8I16 = sub <8 x i16> undef, undef354; SLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V16I16 = sub <16 x i16> undef, undef355; SLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V32I16 = sub <32 x i16> undef, undef356; SLM-NEXT: Cost Model: Found costs of 1 for: %I8 = sub i8 undef, undef357; SLM-NEXT: Cost Model: Found costs of 1 for: %V16I8 = sub <16 x i8> undef, undef358; SLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V32I8 = sub <32 x i8> undef, undef359; SLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V64I8 = sub <64 x i8> undef, undef360; SLM-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef361;362; GLM-LABEL: 'sub'363; GLM-NEXT: Cost Model: Found costs of 1 for: %I64 = sub i64 undef, undef364; GLM-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:2 SizeLat:2 for: %V2I64 = sub <2 x i64> undef, undef365; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:4 SizeLat:4 for: %V4I64 = sub <4 x i64> undef, undef366; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:8 SizeLat:8 for: %V8I64 = sub <8 x i64> undef, undef367; GLM-NEXT: Cost Model: Found costs of 1 for: %I32 = sub i32 undef, undef368; GLM-NEXT: Cost Model: Found costs of 1 for: %V4I32 = sub <4 x i32> undef, undef369; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V8I32 = sub <8 x i32> undef, undef370; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V16I32 = sub <16 x i32> undef, undef371; GLM-NEXT: Cost Model: Found costs of 1 for: %I16 = sub i16 undef, undef372; GLM-NEXT: Cost Model: Found costs of 1 for: %V8I16 = sub <8 x i16> undef, undef373; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V16I16 = sub <16 x i16> undef, undef374; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V32I16 = sub <32 x i16> undef, undef375; GLM-NEXT: Cost Model: Found costs of 1 for: %I8 = sub i8 undef, undef376; GLM-NEXT: Cost Model: Found costs of 1 for: %V16I8 = sub <16 x i8> undef, undef377; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V32I8 = sub <32 x i8> undef, undef378; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %V64I8 = sub <64 x i8> undef, undef379; GLM-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef380;381 %I64 = sub i64 undef, undef382 %V2I64 = sub <2 x i64> undef, undef383 %V4I64 = sub <4 x i64> undef, undef384 %V8I64 = sub <8 x i64> undef, undef385 386 %I32 = sub i32 undef, undef387 %V4I32 = sub <4 x i32> undef, undef388 %V8I32 = sub <8 x i32> undef, undef389 %V16I32 = sub <16 x i32> undef, undef390 391 %I16 = sub i16 undef, undef392 %V8I16 = sub <8 x i16> undef, undef393 %V16I16 = sub <16 x i16> undef, undef394 %V32I16 = sub <32 x i16> undef, undef395 396 %I8 = sub i8 undef, undef397 %V16I8 = sub <16 x i8> undef, undef398 %V32I8 = sub <32 x i8> undef, undef399 %V64I8 = sub <64 x i8> undef, undef400 401 ret i32 undef402}403 404define i32 @or(i32 %arg) {405; SSE-LABEL: 'or'406; SSE-NEXT: Cost Model: Found costs of 1 for: %I64 = or i64 undef, undef407; SSE-NEXT: Cost Model: Found costs of 1 for: %V2I64 = or <2 x i64> undef, undef408; SSE-NEXT: Cost Model: Found costs of 2 for: %V4I64 = or <4 x i64> undef, undef409; SSE-NEXT: Cost Model: Found costs of 4 for: %V8I64 = or <8 x i64> undef, undef410; SSE-NEXT: Cost Model: Found costs of 1 for: %I32 = or i32 undef, undef411; SSE-NEXT: Cost Model: Found costs of 1 for: %V4I32 = or <4 x i32> undef, undef412; SSE-NEXT: Cost Model: Found costs of 2 for: %V8I32 = or <8 x i32> undef, undef413; SSE-NEXT: Cost Model: Found costs of 4 for: %V16I32 = or <16 x i32> undef, undef414; SSE-NEXT: Cost Model: Found costs of 1 for: %I16 = or i16 undef, undef415; SSE-NEXT: Cost Model: Found costs of 1 for: %V8I16 = or <8 x i16> undef, undef416; SSE-NEXT: Cost Model: Found costs of 2 for: %V16I16 = or <16 x i16> undef, undef417; SSE-NEXT: Cost Model: Found costs of 4 for: %V32I16 = or <32 x i16> undef, undef418; SSE-NEXT: Cost Model: Found costs of 1 for: %I8 = or i8 undef, undef419; SSE-NEXT: Cost Model: Found costs of 1 for: %V16I8 = or <16 x i8> undef, undef420; SSE-NEXT: Cost Model: Found costs of 2 for: %V32I8 = or <32 x i8> undef, undef421; SSE-NEXT: Cost Model: Found costs of 4 for: %V64I8 = or <64 x i8> undef, undef422; SSE-NEXT: Cost Model: Found costs of 1 for: %I1 = or i1 undef, undef423; SSE-NEXT: Cost Model: Found costs of 1 for: %V2I1 = or <2 x i1> undef, undef424; SSE-NEXT: Cost Model: Found costs of 1 for: %V4I1 = or <4 x i1> undef, undef425; SSE-NEXT: Cost Model: Found costs of 1 for: %V8I1 = or <8 x i1> undef, undef426; SSE-NEXT: Cost Model: Found costs of 1 for: %V16I1 = or <16 x i1> undef, undef427; SSE-NEXT: Cost Model: Found costs of 2 for: %V32I1 = or <32 x i1> undef, undef428; SSE-NEXT: Cost Model: Found costs of 4 for: %V64I1 = or <64 x i1> undef, undef429; SSE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef430;431; AVX-LABEL: 'or'432; AVX-NEXT: Cost Model: Found costs of 1 for: %I64 = or i64 undef, undef433; AVX-NEXT: Cost Model: Found costs of 1 for: %V2I64 = or <2 x i64> undef, undef434; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V4I64 = or <4 x i64> undef, undef435; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V8I64 = or <8 x i64> undef, undef436; AVX-NEXT: Cost Model: Found costs of 1 for: %I32 = or i32 undef, undef437; AVX-NEXT: Cost Model: Found costs of 1 for: %V4I32 = or <4 x i32> undef, undef438; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V8I32 = or <8 x i32> undef, undef439; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V16I32 = or <16 x i32> undef, undef440; AVX-NEXT: Cost Model: Found costs of 1 for: %I16 = or i16 undef, undef441; AVX-NEXT: Cost Model: Found costs of 1 for: %V8I16 = or <8 x i16> undef, undef442; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V16I16 = or <16 x i16> undef, undef443; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V32I16 = or <32 x i16> undef, undef444; AVX-NEXT: Cost Model: Found costs of 1 for: %I8 = or i8 undef, undef445; AVX-NEXT: Cost Model: Found costs of 1 for: %V16I8 = or <16 x i8> undef, undef446; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V32I8 = or <32 x i8> undef, undef447; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V64I8 = or <64 x i8> undef, undef448; AVX-NEXT: Cost Model: Found costs of 1 for: %I1 = or i1 undef, undef449; AVX-NEXT: Cost Model: Found costs of 1 for: %V2I1 = or <2 x i1> undef, undef450; AVX-NEXT: Cost Model: Found costs of 1 for: %V4I1 = or <4 x i1> undef, undef451; AVX-NEXT: Cost Model: Found costs of 1 for: %V8I1 = or <8 x i1> undef, undef452; AVX-NEXT: Cost Model: Found costs of 1 for: %V16I1 = or <16 x i1> undef, undef453; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V32I1 = or <32 x i1> undef, undef454; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V64I1 = or <64 x i1> undef, undef455; AVX-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef456;457; AVX512F-LABEL: 'or'458; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I64 = or i64 undef, undef459; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V2I64 = or <2 x i64> undef, undef460; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V4I64 = or <4 x i64> undef, undef461; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I64 = or <8 x i64> undef, undef462; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I32 = or i32 undef, undef463; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V4I32 = or <4 x i32> undef, undef464; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I32 = or <8 x i32> undef, undef465; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I32 = or <16 x i32> undef, undef466; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I16 = or i16 undef, undef467; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I16 = or <8 x i16> undef, undef468; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I16 = or <16 x i16> undef, undef469; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V32I16 = or <32 x i16> undef, undef470; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I8 = or i8 undef, undef471; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I8 = or <16 x i8> undef, undef472; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V32I8 = or <32 x i8> undef, undef473; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V64I8 = or <64 x i8> undef, undef474; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I1 = or i1 undef, undef475; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V2I1 = or <2 x i1> undef, undef476; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V4I1 = or <4 x i1> undef, undef477; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I1 = or <8 x i1> undef, undef478; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I1 = or <16 x i1> undef, undef479; AVX512F-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:1 SizeLat:1 for: %V32I1 = or <32 x i1> undef, undef480; AVX512F-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:1 SizeLat:1 for: %V64I1 = or <64 x i1> undef, undef481; AVX512F-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef482;483; AVX512BW-LABEL: 'or'484; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I64 = or i64 undef, undef485; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V2I64 = or <2 x i64> undef, undef486; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I64 = or <4 x i64> undef, undef487; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I64 = or <8 x i64> undef, undef488; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I32 = or i32 undef, undef489; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I32 = or <4 x i32> undef, undef490; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I32 = or <8 x i32> undef, undef491; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I32 = or <16 x i32> undef, undef492; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I16 = or i16 undef, undef493; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I16 = or <8 x i16> undef, undef494; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I16 = or <16 x i16> undef, undef495; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I16 = or <32 x i16> undef, undef496; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I8 = or i8 undef, undef497; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I8 = or <16 x i8> undef, undef498; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I8 = or <32 x i8> undef, undef499; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V64I8 = or <64 x i8> undef, undef500; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I1 = or i1 undef, undef501; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V2I1 = or <2 x i1> undef, undef502; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I1 = or <4 x i1> undef, undef503; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I1 = or <8 x i1> undef, undef504; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I1 = or <16 x i1> undef, undef505; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I1 = or <32 x i1> undef, undef506; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V64I1 = or <64 x i1> undef, undef507; AVX512BW-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef508;509; AVX512DQ-LABEL: 'or'510; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I64 = or i64 undef, undef511; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V2I64 = or <2 x i64> undef, undef512; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V4I64 = or <4 x i64> undef, undef513; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I64 = or <8 x i64> undef, undef514; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I32 = or i32 undef, undef515; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V4I32 = or <4 x i32> undef, undef516; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I32 = or <8 x i32> undef, undef517; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I32 = or <16 x i32> undef, undef518; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I16 = or i16 undef, undef519; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I16 = or <8 x i16> undef, undef520; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I16 = or <16 x i16> undef, undef521; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V32I16 = or <32 x i16> undef, undef522; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I8 = or i8 undef, undef523; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I8 = or <16 x i8> undef, undef524; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V32I8 = or <32 x i8> undef, undef525; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V64I8 = or <64 x i8> undef, undef526; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I1 = or i1 undef, undef527; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V2I1 = or <2 x i1> undef, undef528; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V4I1 = or <4 x i1> undef, undef529; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I1 = or <8 x i1> undef, undef530; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I1 = or <16 x i1> undef, undef531; AVX512DQ-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:1 SizeLat:1 for: %V32I1 = or <32 x i1> undef, undef532; AVX512DQ-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:1 SizeLat:1 for: %V64I1 = or <64 x i1> undef, undef533; AVX512DQ-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef534;535 %I64 = or i64 undef, undef536 %V2I64 = or <2 x i64> undef, undef537 %V4I64 = or <4 x i64> undef, undef538 %V8I64 = or <8 x i64> undef, undef539 540 %I32 = or i32 undef, undef541 %V4I32 = or <4 x i32> undef, undef542 %V8I32 = or <8 x i32> undef, undef543 %V16I32 = or <16 x i32> undef, undef544 545 %I16 = or i16 undef, undef546 %V8I16 = or <8 x i16> undef, undef547 %V16I16 = or <16 x i16> undef, undef548 %V32I16 = or <32 x i16> undef, undef549 550 %I8 = or i8 undef, undef551 %V16I8 = or <16 x i8> undef, undef552 %V32I8 = or <32 x i8> undef, undef553 %V64I8 = or <64 x i8> undef, undef554 555 %I1 = or i1 undef, undef556 %V2I1 = or <2 x i1> undef, undef557 %V4I1 = or <4 x i1> undef, undef558 %V8I1 = or <8 x i1> undef, undef559 %V16I1 = or <16 x i1> undef, undef560 %V32I1 = or <32 x i1> undef, undef561 %V64I1 = or <64 x i1> undef, undef562 563 ret i32 undef564}565 566define i32 @xor(i32 %arg) {567; SSE-LABEL: 'xor'568; SSE-NEXT: Cost Model: Found costs of 1 for: %I64 = xor i64 undef, undef569; SSE-NEXT: Cost Model: Found costs of 1 for: %V2I64 = xor <2 x i64> undef, undef570; SSE-NEXT: Cost Model: Found costs of 2 for: %V4I64 = xor <4 x i64> undef, undef571; SSE-NEXT: Cost Model: Found costs of 4 for: %V8I64 = xor <8 x i64> undef, undef572; SSE-NEXT: Cost Model: Found costs of 1 for: %I32 = xor i32 undef, undef573; SSE-NEXT: Cost Model: Found costs of 1 for: %V4I32 = xor <4 x i32> undef, undef574; SSE-NEXT: Cost Model: Found costs of 2 for: %V8I32 = xor <8 x i32> undef, undef575; SSE-NEXT: Cost Model: Found costs of 4 for: %V16I32 = xor <16 x i32> undef, undef576; SSE-NEXT: Cost Model: Found costs of 1 for: %I16 = xor i16 undef, undef577; SSE-NEXT: Cost Model: Found costs of 1 for: %V8I16 = xor <8 x i16> undef, undef578; SSE-NEXT: Cost Model: Found costs of 2 for: %V16I16 = xor <16 x i16> undef, undef579; SSE-NEXT: Cost Model: Found costs of 4 for: %V32I16 = xor <32 x i16> undef, undef580; SSE-NEXT: Cost Model: Found costs of 1 for: %I8 = xor i8 undef, undef581; SSE-NEXT: Cost Model: Found costs of 1 for: %V16I8 = xor <16 x i8> undef, undef582; SSE-NEXT: Cost Model: Found costs of 2 for: %V32I8 = xor <32 x i8> undef, undef583; SSE-NEXT: Cost Model: Found costs of 4 for: %V64I8 = xor <64 x i8> undef, undef584; SSE-NEXT: Cost Model: Found costs of 1 for: %I1 = xor i1 undef, undef585; SSE-NEXT: Cost Model: Found costs of 1 for: %V2I1 = xor <2 x i1> undef, undef586; SSE-NEXT: Cost Model: Found costs of 1 for: %V4I1 = xor <4 x i1> undef, undef587; SSE-NEXT: Cost Model: Found costs of 1 for: %V8I1 = xor <8 x i1> undef, undef588; SSE-NEXT: Cost Model: Found costs of 1 for: %V16I1 = xor <16 x i1> undef, undef589; SSE-NEXT: Cost Model: Found costs of 2 for: %V32I1 = xor <32 x i1> undef, undef590; SSE-NEXT: Cost Model: Found costs of 4 for: %V64I1 = xor <64 x i1> undef, undef591; SSE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef592;593; AVX-LABEL: 'xor'594; AVX-NEXT: Cost Model: Found costs of 1 for: %I64 = xor i64 undef, undef595; AVX-NEXT: Cost Model: Found costs of 1 for: %V2I64 = xor <2 x i64> undef, undef596; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V4I64 = xor <4 x i64> undef, undef597; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V8I64 = xor <8 x i64> undef, undef598; AVX-NEXT: Cost Model: Found costs of 1 for: %I32 = xor i32 undef, undef599; AVX-NEXT: Cost Model: Found costs of 1 for: %V4I32 = xor <4 x i32> undef, undef600; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V8I32 = xor <8 x i32> undef, undef601; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V16I32 = xor <16 x i32> undef, undef602; AVX-NEXT: Cost Model: Found costs of 1 for: %I16 = xor i16 undef, undef603; AVX-NEXT: Cost Model: Found costs of 1 for: %V8I16 = xor <8 x i16> undef, undef604; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V16I16 = xor <16 x i16> undef, undef605; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V32I16 = xor <32 x i16> undef, undef606; AVX-NEXT: Cost Model: Found costs of 1 for: %I8 = xor i8 undef, undef607; AVX-NEXT: Cost Model: Found costs of 1 for: %V16I8 = xor <16 x i8> undef, undef608; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V32I8 = xor <32 x i8> undef, undef609; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V64I8 = xor <64 x i8> undef, undef610; AVX-NEXT: Cost Model: Found costs of 1 for: %I1 = xor i1 undef, undef611; AVX-NEXT: Cost Model: Found costs of 1 for: %V2I1 = xor <2 x i1> undef, undef612; AVX-NEXT: Cost Model: Found costs of 1 for: %V4I1 = xor <4 x i1> undef, undef613; AVX-NEXT: Cost Model: Found costs of 1 for: %V8I1 = xor <8 x i1> undef, undef614; AVX-NEXT: Cost Model: Found costs of 1 for: %V16I1 = xor <16 x i1> undef, undef615; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V32I1 = xor <32 x i1> undef, undef616; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V64I1 = xor <64 x i1> undef, undef617; AVX-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef618;619; AVX512F-LABEL: 'xor'620; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I64 = xor i64 undef, undef621; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V2I64 = xor <2 x i64> undef, undef622; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V4I64 = xor <4 x i64> undef, undef623; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I64 = xor <8 x i64> undef, undef624; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I32 = xor i32 undef, undef625; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V4I32 = xor <4 x i32> undef, undef626; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I32 = xor <8 x i32> undef, undef627; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I32 = xor <16 x i32> undef, undef628; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I16 = xor i16 undef, undef629; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I16 = xor <8 x i16> undef, undef630; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I16 = xor <16 x i16> undef, undef631; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V32I16 = xor <32 x i16> undef, undef632; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I8 = xor i8 undef, undef633; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I8 = xor <16 x i8> undef, undef634; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V32I8 = xor <32 x i8> undef, undef635; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V64I8 = xor <64 x i8> undef, undef636; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I1 = xor i1 undef, undef637; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V2I1 = xor <2 x i1> undef, undef638; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V4I1 = xor <4 x i1> undef, undef639; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I1 = xor <8 x i1> undef, undef640; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I1 = xor <16 x i1> undef, undef641; AVX512F-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:1 SizeLat:1 for: %V32I1 = xor <32 x i1> undef, undef642; AVX512F-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:1 SizeLat:1 for: %V64I1 = xor <64 x i1> undef, undef643; AVX512F-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef644;645; AVX512BW-LABEL: 'xor'646; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I64 = xor i64 undef, undef647; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V2I64 = xor <2 x i64> undef, undef648; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I64 = xor <4 x i64> undef, undef649; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I64 = xor <8 x i64> undef, undef650; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I32 = xor i32 undef, undef651; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I32 = xor <4 x i32> undef, undef652; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I32 = xor <8 x i32> undef, undef653; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I32 = xor <16 x i32> undef, undef654; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I16 = xor i16 undef, undef655; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I16 = xor <8 x i16> undef, undef656; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I16 = xor <16 x i16> undef, undef657; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I16 = xor <32 x i16> undef, undef658; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I8 = xor i8 undef, undef659; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I8 = xor <16 x i8> undef, undef660; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I8 = xor <32 x i8> undef, undef661; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V64I8 = xor <64 x i8> undef, undef662; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I1 = xor i1 undef, undef663; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V2I1 = xor <2 x i1> undef, undef664; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I1 = xor <4 x i1> undef, undef665; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I1 = xor <8 x i1> undef, undef666; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I1 = xor <16 x i1> undef, undef667; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I1 = xor <32 x i1> undef, undef668; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V64I1 = xor <64 x i1> undef, undef669; AVX512BW-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef670;671; AVX512DQ-LABEL: 'xor'672; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I64 = xor i64 undef, undef673; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V2I64 = xor <2 x i64> undef, undef674; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V4I64 = xor <4 x i64> undef, undef675; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I64 = xor <8 x i64> undef, undef676; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I32 = xor i32 undef, undef677; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V4I32 = xor <4 x i32> undef, undef678; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I32 = xor <8 x i32> undef, undef679; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I32 = xor <16 x i32> undef, undef680; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I16 = xor i16 undef, undef681; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I16 = xor <8 x i16> undef, undef682; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I16 = xor <16 x i16> undef, undef683; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V32I16 = xor <32 x i16> undef, undef684; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I8 = xor i8 undef, undef685; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I8 = xor <16 x i8> undef, undef686; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V32I8 = xor <32 x i8> undef, undef687; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V64I8 = xor <64 x i8> undef, undef688; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I1 = xor i1 undef, undef689; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V2I1 = xor <2 x i1> undef, undef690; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V4I1 = xor <4 x i1> undef, undef691; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I1 = xor <8 x i1> undef, undef692; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I1 = xor <16 x i1> undef, undef693; AVX512DQ-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:1 SizeLat:1 for: %V32I1 = xor <32 x i1> undef, undef694; AVX512DQ-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:1 SizeLat:1 for: %V64I1 = xor <64 x i1> undef, undef695; AVX512DQ-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef696;697 %I64 = xor i64 undef, undef698 %V2I64 = xor <2 x i64> undef, undef699 %V4I64 = xor <4 x i64> undef, undef700 %V8I64 = xor <8 x i64> undef, undef701 702 %I32 = xor i32 undef, undef703 %V4I32 = xor <4 x i32> undef, undef704 %V8I32 = xor <8 x i32> undef, undef705 %V16I32 = xor <16 x i32> undef, undef706 707 %I16 = xor i16 undef, undef708 %V8I16 = xor <8 x i16> undef, undef709 %V16I16 = xor <16 x i16> undef, undef710 %V32I16 = xor <32 x i16> undef, undef711 712 %I8 = xor i8 undef, undef713 %V16I8 = xor <16 x i8> undef, undef714 %V32I8 = xor <32 x i8> undef, undef715 %V64I8 = xor <64 x i8> undef, undef716 717 %I1 = xor i1 undef, undef718 %V2I1 = xor <2 x i1> undef, undef719 %V4I1 = xor <4 x i1> undef, undef720 %V8I1 = xor <8 x i1> undef, undef721 %V16I1 = xor <16 x i1> undef, undef722 %V32I1 = xor <32 x i1> undef, undef723 %V64I1 = xor <64 x i1> undef, undef724 725 ret i32 undef726}727 728define i32 @and(i32 %arg) {729; SSE-LABEL: 'and'730; SSE-NEXT: Cost Model: Found costs of 1 for: %I64 = and i64 undef, undef731; SSE-NEXT: Cost Model: Found costs of 1 for: %V2I64 = and <2 x i64> undef, undef732; SSE-NEXT: Cost Model: Found costs of 2 for: %V4I64 = and <4 x i64> undef, undef733; SSE-NEXT: Cost Model: Found costs of 4 for: %V8I64 = and <8 x i64> undef, undef734; SSE-NEXT: Cost Model: Found costs of 1 for: %I32 = and i32 undef, undef735; SSE-NEXT: Cost Model: Found costs of 1 for: %V4I32 = and <4 x i32> undef, undef736; SSE-NEXT: Cost Model: Found costs of 2 for: %V8I32 = and <8 x i32> undef, undef737; SSE-NEXT: Cost Model: Found costs of 4 for: %V16I32 = and <16 x i32> undef, undef738; SSE-NEXT: Cost Model: Found costs of 1 for: %I16 = and i16 undef, undef739; SSE-NEXT: Cost Model: Found costs of 1 for: %V8I16 = and <8 x i16> undef, undef740; SSE-NEXT: Cost Model: Found costs of 2 for: %V16I16 = and <16 x i16> undef, undef741; SSE-NEXT: Cost Model: Found costs of 4 for: %V32I16 = and <32 x i16> undef, undef742; SSE-NEXT: Cost Model: Found costs of 1 for: %I8 = and i8 undef, undef743; SSE-NEXT: Cost Model: Found costs of 1 for: %V16I8 = and <16 x i8> undef, undef744; SSE-NEXT: Cost Model: Found costs of 2 for: %V32I8 = and <32 x i8> undef, undef745; SSE-NEXT: Cost Model: Found costs of 4 for: %V64I8 = and <64 x i8> undef, undef746; SSE-NEXT: Cost Model: Found costs of 1 for: %I1 = and i1 undef, undef747; SSE-NEXT: Cost Model: Found costs of 1 for: %V2I1 = and <2 x i1> undef, undef748; SSE-NEXT: Cost Model: Found costs of 1 for: %V4I1 = and <4 x i1> undef, undef749; SSE-NEXT: Cost Model: Found costs of 1 for: %V8I1 = and <8 x i1> undef, undef750; SSE-NEXT: Cost Model: Found costs of 1 for: %V16I1 = and <16 x i1> undef, undef751; SSE-NEXT: Cost Model: Found costs of 2 for: %V32I1 = and <32 x i1> undef, undef752; SSE-NEXT: Cost Model: Found costs of 4 for: %V64I1 = and <64 x i1> undef, undef753; SSE-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef754;755; AVX-LABEL: 'and'756; AVX-NEXT: Cost Model: Found costs of 1 for: %I64 = and i64 undef, undef757; AVX-NEXT: Cost Model: Found costs of 1 for: %V2I64 = and <2 x i64> undef, undef758; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V4I64 = and <4 x i64> undef, undef759; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V8I64 = and <8 x i64> undef, undef760; AVX-NEXT: Cost Model: Found costs of 1 for: %I32 = and i32 undef, undef761; AVX-NEXT: Cost Model: Found costs of 1 for: %V4I32 = and <4 x i32> undef, undef762; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V8I32 = and <8 x i32> undef, undef763; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V16I32 = and <16 x i32> undef, undef764; AVX-NEXT: Cost Model: Found costs of 1 for: %I16 = and i16 undef, undef765; AVX-NEXT: Cost Model: Found costs of 1 for: %V8I16 = and <8 x i16> undef, undef766; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V16I16 = and <16 x i16> undef, undef767; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V32I16 = and <32 x i16> undef, undef768; AVX-NEXT: Cost Model: Found costs of 1 for: %I8 = and i8 undef, undef769; AVX-NEXT: Cost Model: Found costs of 1 for: %V16I8 = and <16 x i8> undef, undef770; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V32I8 = and <32 x i8> undef, undef771; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V64I8 = and <64 x i8> undef, undef772; AVX-NEXT: Cost Model: Found costs of 1 for: %I1 = and i1 undef, undef773; AVX-NEXT: Cost Model: Found costs of 1 for: %V2I1 = and <2 x i1> undef, undef774; AVX-NEXT: Cost Model: Found costs of 1 for: %V4I1 = and <4 x i1> undef, undef775; AVX-NEXT: Cost Model: Found costs of 1 for: %V8I1 = and <8 x i1> undef, undef776; AVX-NEXT: Cost Model: Found costs of 1 for: %V16I1 = and <16 x i1> undef, undef777; AVX-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:1 SizeLat:2 for: %V32I1 = and <32 x i1> undef, undef778; AVX-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:2 SizeLat:4 for: %V64I1 = and <64 x i1> undef, undef779; AVX-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef780;781; AVX512F-LABEL: 'and'782; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I64 = and i64 undef, undef783; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V2I64 = and <2 x i64> undef, undef784; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V4I64 = and <4 x i64> undef, undef785; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I64 = and <8 x i64> undef, undef786; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I32 = and i32 undef, undef787; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V4I32 = and <4 x i32> undef, undef788; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I32 = and <8 x i32> undef, undef789; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I32 = and <16 x i32> undef, undef790; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I16 = and i16 undef, undef791; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I16 = and <8 x i16> undef, undef792; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I16 = and <16 x i16> undef, undef793; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V32I16 = and <32 x i16> undef, undef794; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I8 = and i8 undef, undef795; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I8 = and <16 x i8> undef, undef796; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V32I8 = and <32 x i8> undef, undef797; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V64I8 = and <64 x i8> undef, undef798; AVX512F-NEXT: Cost Model: Found costs of 1 for: %I1 = and i1 undef, undef799; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V2I1 = and <2 x i1> undef, undef800; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V4I1 = and <4 x i1> undef, undef801; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V8I1 = and <8 x i1> undef, undef802; AVX512F-NEXT: Cost Model: Found costs of 1 for: %V16I1 = and <16 x i1> undef, undef803; AVX512F-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:1 SizeLat:1 for: %V32I1 = and <32 x i1> undef, undef804; AVX512F-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:1 SizeLat:1 for: %V64I1 = and <64 x i1> undef, undef805; AVX512F-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef806;807; AVX512BW-LABEL: 'and'808; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I64 = and i64 undef, undef809; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V2I64 = and <2 x i64> undef, undef810; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I64 = and <4 x i64> undef, undef811; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I64 = and <8 x i64> undef, undef812; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I32 = and i32 undef, undef813; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I32 = and <4 x i32> undef, undef814; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I32 = and <8 x i32> undef, undef815; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I32 = and <16 x i32> undef, undef816; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I16 = and i16 undef, undef817; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I16 = and <8 x i16> undef, undef818; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I16 = and <16 x i16> undef, undef819; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I16 = and <32 x i16> undef, undef820; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I8 = and i8 undef, undef821; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I8 = and <16 x i8> undef, undef822; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I8 = and <32 x i8> undef, undef823; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V64I8 = and <64 x i8> undef, undef824; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %I1 = and i1 undef, undef825; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V2I1 = and <2 x i1> undef, undef826; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V4I1 = and <4 x i1> undef, undef827; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V8I1 = and <8 x i1> undef, undef828; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V16I1 = and <16 x i1> undef, undef829; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V32I1 = and <32 x i1> undef, undef830; AVX512BW-NEXT: Cost Model: Found costs of 1 for: %V64I1 = and <64 x i1> undef, undef831; AVX512BW-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef832;833; AVX512DQ-LABEL: 'and'834; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I64 = and i64 undef, undef835; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V2I64 = and <2 x i64> undef, undef836; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V4I64 = and <4 x i64> undef, undef837; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I64 = and <8 x i64> undef, undef838; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I32 = and i32 undef, undef839; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V4I32 = and <4 x i32> undef, undef840; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I32 = and <8 x i32> undef, undef841; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I32 = and <16 x i32> undef, undef842; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I16 = and i16 undef, undef843; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I16 = and <8 x i16> undef, undef844; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I16 = and <16 x i16> undef, undef845; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V32I16 = and <32 x i16> undef, undef846; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I8 = and i8 undef, undef847; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I8 = and <16 x i8> undef, undef848; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V32I8 = and <32 x i8> undef, undef849; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V64I8 = and <64 x i8> undef, undef850; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %I1 = and i1 undef, undef851; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V2I1 = and <2 x i1> undef, undef852; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V4I1 = and <4 x i1> undef, undef853; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V8I1 = and <8 x i1> undef, undef854; AVX512DQ-NEXT: Cost Model: Found costs of 1 for: %V16I1 = and <16 x i1> undef, undef855; AVX512DQ-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:1 SizeLat:1 for: %V32I1 = and <32 x i1> undef, undef856; AVX512DQ-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:1 SizeLat:1 for: %V64I1 = and <64 x i1> undef, undef857; AVX512DQ-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef858;859 %I64 = and i64 undef, undef860 %V2I64 = and <2 x i64> undef, undef861 %V4I64 = and <4 x i64> undef, undef862 %V8I64 = and <8 x i64> undef, undef863 864 %I32 = and i32 undef, undef865 %V4I32 = and <4 x i32> undef, undef866 %V8I32 = and <8 x i32> undef, undef867 %V16I32 = and <16 x i32> undef, undef868 869 %I16 = and i16 undef, undef870 %V8I16 = and <8 x i16> undef, undef871 %V16I16 = and <16 x i16> undef, undef872 %V32I16 = and <32 x i16> undef, undef873 874 %I8 = and i8 undef, undef875 %V16I8 = and <16 x i8> undef, undef876 %V32I8 = and <32 x i8> undef, undef877 %V64I8 = and <64 x i8> undef, undef878 879 %I1 = and i1 undef, undef880 %V2I1 = and <2 x i1> undef, undef881 %V4I1 = and <4 x i1> undef, undef882 %V8I1 = and <8 x i1> undef, undef883 %V16I1 = and <16 x i1> undef, undef884 %V32I1 = and <32 x i1> undef, undef885 %V64I1 = and <64 x i1> undef, undef886 887 ret i32 undef888}889 890define i32 @mul(i32 %arg) {891; SSSE3-LABEL: 'mul'892; SSSE3-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:6 SizeLat:2 for: %I64 = mul i64 undef, undef893; SSSE3-NEXT: Cost Model: Found costs of RThru:7 CodeSize:10 Lat:10 SizeLat:10 for: %V2I64 = mul <2 x i64> undef, undef894; SSSE3-NEXT: Cost Model: Found costs of RThru:14 CodeSize:20 Lat:20 SizeLat:20 for: %V4I64 = mul <4 x i64> undef, undef895; SSSE3-NEXT: Cost Model: Found costs of RThru:28 CodeSize:40 Lat:40 SizeLat:40 for: %V8I64 = mul <8 x i64> undef, undef896; SSSE3-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %I32 = mul i32 undef, undef897; SSSE3-NEXT: Cost Model: Found costs of RThru:6 CodeSize:7 Lat:8 SizeLat:7 for: %V4I32 = mul <4 x i32> undef, undef898; SSSE3-NEXT: Cost Model: Found costs of RThru:12 CodeSize:14 Lat:16 SizeLat:14 for: %V8I32 = mul <8 x i32> undef, undef899; SSSE3-NEXT: Cost Model: Found costs of RThru:24 CodeSize:28 Lat:32 SizeLat:28 for: %V16I32 = mul <16 x i32> undef, undef900; SSSE3-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %I16 = mul i16 undef, undef901; SSSE3-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V8I16 = mul <8 x i16> undef, undef902; SSSE3-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %V16I16 = mul <16 x i16> undef, undef903; SSSE3-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %V32I16 = mul <32 x i16> undef, undef904; SSSE3-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:4 SizeLat:1 for: %I8 = mul i8 undef, undef905; SSSE3-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V2I8 = mul <2 x i8> undef, undef906; SSSE3-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V4I8 = mul <4 x i8> undef, undef907; SSSE3-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V8I8 = mul <8 x i8> undef, undef908; SSSE3-NEXT: Cost Model: Found costs of RThru:5 CodeSize:10 Lat:18 SizeLat:12 for: %V16I8 = mul <16 x i8> undef, undef909; SSSE3-NEXT: Cost Model: Found costs of RThru:10 CodeSize:20 Lat:36 SizeLat:24 for: %V32I8 = mul <32 x i8> undef, undef910; SSSE3-NEXT: Cost Model: Found costs of RThru:20 CodeSize:40 Lat:72 SizeLat:48 for: %V64I8 = mul <64 x i8> undef, undef911; SSSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef912;913; SSE42-LABEL: 'mul'914; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:6 SizeLat:2 for: %I64 = mul i64 undef, undef915; SSE42-NEXT: Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %V2I64 = mul <2 x i64> undef, undef916; SSE42-NEXT: Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %V4I64 = mul <4 x i64> undef, undef917; SSE42-NEXT: Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %V8I64 = mul <8 x i64> undef, undef918; SSE42-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %I32 = mul i32 undef, undef919; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:11 SizeLat:1 for: %V4I32 = mul <4 x i32> undef, undef920; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:2 Lat:22 SizeLat:2 for: %V8I32 = mul <8 x i32> undef, undef921; SSE42-NEXT: Cost Model: Found costs of RThru:8 CodeSize:4 Lat:44 SizeLat:4 for: %V16I32 = mul <16 x i32> undef, undef922; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %I16 = mul i16 undef, undef923; SSE42-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V8I16 = mul <8 x i16> undef, undef924; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %V16I16 = mul <16 x i16> undef, undef925; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %V32I16 = mul <32 x i16> undef, undef926; SSE42-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:4 SizeLat:1 for: %I8 = mul i8 undef, undef927; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V2I8 = mul <2 x i8> undef, undef928; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V4I8 = mul <4 x i8> undef, undef929; SSE42-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V8I8 = mul <8 x i8> undef, undef930; SSE42-NEXT: Cost Model: Found costs of RThru:5 CodeSize:10 Lat:18 SizeLat:12 for: %V16I8 = mul <16 x i8> undef, undef931; SSE42-NEXT: Cost Model: Found costs of RThru:10 CodeSize:20 Lat:36 SizeLat:24 for: %V32I8 = mul <32 x i8> undef, undef932; SSE42-NEXT: Cost Model: Found costs of RThru:20 CodeSize:40 Lat:72 SizeLat:48 for: %V64I8 = mul <64 x i8> undef, undef933; SSE42-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef934;935; AVX1-LABEL: 'mul'936; AVX1-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:6 SizeLat:2 for: %I64 = mul i64 undef, undef937; AVX1-NEXT: Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %V2I64 = mul <2 x i64> undef, undef938; AVX1-NEXT: Cost Model: Found costs of RThru:12 CodeSize:19 Lat:15 SizeLat:20 for: %V4I64 = mul <4 x i64> undef, undef939; AVX1-NEXT: Cost Model: Found costs of RThru:24 CodeSize:38 Lat:30 SizeLat:40 for: %V8I64 = mul <8 x i64> undef, undef940; AVX1-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %I32 = mul i32 undef, undef941; AVX1-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:3 for: %V4I32 = mul <4 x i32> undef, undef942; AVX1-NEXT: Cost Model: Found costs of RThru:5 CodeSize:5 Lat:8 SizeLat:10 for: %V8I32 = mul <8 x i32> undef, undef943; AVX1-NEXT: Cost Model: Found costs of RThru:10 CodeSize:10 Lat:16 SizeLat:20 for: %V16I32 = mul <16 x i32> undef, undef944; AVX1-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %I16 = mul i16 undef, undef945; AVX1-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V8I16 = mul <8 x i16> undef, undef946; AVX1-NEXT: Cost Model: Found costs of RThru:4 CodeSize:5 Lat:8 SizeLat:6 for: %V16I16 = mul <16 x i16> undef, undef947; AVX1-NEXT: Cost Model: Found costs of RThru:8 CodeSize:10 Lat:16 SizeLat:12 for: %V32I16 = mul <32 x i16> undef, undef948; AVX1-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:4 SizeLat:1 for: %I8 = mul i8 undef, undef949; AVX1-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V2I8 = mul <2 x i8> undef, undef950; AVX1-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V4I8 = mul <4 x i8> undef, undef951; AVX1-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V8I8 = mul <8 x i8> undef, undef952; AVX1-NEXT: Cost Model: Found costs of RThru:5 CodeSize:8 Lat:6 SizeLat:12 for: %V16I8 = mul <16 x i8> undef, undef953; AVX1-NEXT: Cost Model: Found costs of RThru:10 CodeSize:18 Lat:11 SizeLat:19 for: %V32I8 = mul <32 x i8> undef, undef954; AVX1-NEXT: Cost Model: Found costs of RThru:20 CodeSize:36 Lat:22 SizeLat:38 for: %V64I8 = mul <64 x i8> undef, undef955; AVX1-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef956;957; AVX2-LABEL: 'mul'958; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:6 SizeLat:2 for: %I64 = mul i64 undef, undef959; AVX2-NEXT: Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %V2I64 = mul <2 x i64> undef, undef960; AVX2-NEXT: Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %V4I64 = mul <4 x i64> undef, undef961; AVX2-NEXT: Cost Model: Found costs of RThru:12 CodeSize:16 Lat:20 SizeLat:26 for: %V8I64 = mul <8 x i64> undef, undef962; AVX2-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %I32 = mul i32 undef, undef963; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:10 SizeLat:2 for: %V4I32 = mul <4 x i32> undef, undef964; AVX2-NEXT: Cost Model: Found costs of RThru:4 CodeSize:1 Lat:10 SizeLat:2 for: %V8I32 = mul <8 x i32> undef, undef965; AVX2-NEXT: Cost Model: Found costs of RThru:8 CodeSize:2 Lat:20 SizeLat:4 for: %V16I32 = mul <16 x i32> undef, undef966; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %I16 = mul i16 undef, undef967; AVX2-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V8I16 = mul <8 x i16> undef, undef968; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:2 for: %V16I16 = mul <16 x i16> undef, undef969; AVX2-NEXT: Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:4 for: %V32I16 = mul <32 x i16> undef, undef970; AVX2-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:4 SizeLat:1 for: %I8 = mul i8 undef, undef971; AVX2-NEXT: Cost Model: Found costs of RThru:3 CodeSize:3 Lat:7 SizeLat:3 for: %V2I8 = mul <2 x i8> undef, undef972; AVX2-NEXT: Cost Model: Found costs of RThru:3 CodeSize:3 Lat:7 SizeLat:3 for: %V4I8 = mul <4 x i8> undef, undef973; AVX2-NEXT: Cost Model: Found costs of RThru:3 CodeSize:3 Lat:7 SizeLat:3 for: %V8I8 = mul <8 x i8> undef, undef974; AVX2-NEXT: Cost Model: Found costs of RThru:5 CodeSize:6 Lat:18 SizeLat:12 for: %V16I8 = mul <16 x i8> undef, undef975; AVX2-NEXT: Cost Model: Found costs of RThru:4 CodeSize:8 Lat:8 SizeLat:16 for: %V32I8 = mul <32 x i8> undef, undef976; AVX2-NEXT: Cost Model: Found costs of RThru:8 CodeSize:16 Lat:16 SizeLat:32 for: %V64I8 = mul <64 x i8> undef, undef977; AVX2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef978;979; AVX512F-LABEL: 'mul'980; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:6 SizeLat:2 for: %I64 = mul i64 undef, undef981; AVX512F-NEXT: Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %V2I64 = mul <2 x i64> undef, undef982; AVX512F-NEXT: Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %V4I64 = mul <4 x i64> undef, undef983; AVX512F-NEXT: Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %V8I64 = mul <8 x i64> undef, undef984; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %I32 = mul i32 undef, undef985; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:10 SizeLat:2 for: %V4I32 = mul <4 x i32> undef, undef986; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:10 SizeLat:2 for: %V8I32 = mul <8 x i32> undef, undef987; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:10 SizeLat:2 for: %V16I32 = mul <16 x i32> undef, undef988; AVX512F-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %I16 = mul i16 undef, undef989; AVX512F-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V8I16 = mul <8 x i16> undef, undef990; AVX512F-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:2 for: %V16I16 = mul <16 x i16> undef, undef991; AVX512F-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V32I16 = mul <32 x i16> undef, undef992; AVX512F-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:4 SizeLat:1 for: %I8 = mul i8 undef, undef993; AVX512F-NEXT: Cost Model: Found costs of RThru:3 CodeSize:3 Lat:7 SizeLat:3 for: %V2I8 = mul <2 x i8> undef, undef994; AVX512F-NEXT: Cost Model: Found costs of RThru:3 CodeSize:3 Lat:7 SizeLat:3 for: %V4I8 = mul <4 x i8> undef, undef995; AVX512F-NEXT: Cost Model: Found costs of RThru:3 CodeSize:3 Lat:7 SizeLat:3 for: %V8I8 = mul <8 x i8> undef, undef996; AVX512F-NEXT: Cost Model: Found costs of RThru:5 CodeSize:6 Lat:18 SizeLat:12 for: %V16I8 = mul <16 x i8> undef, undef997; AVX512F-NEXT: Cost Model: Found costs of RThru:4 CodeSize:8 Lat:8 SizeLat:16 for: %V32I8 = mul <32 x i8> undef, undef998; AVX512F-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V64I8 = mul <64 x i8> undef, undef999; AVX512F-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1000;1001; AVX512BW-LABEL: 'mul'1002; AVX512BW-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:6 SizeLat:2 for: %I64 = mul i64 undef, undef1003; AVX512BW-NEXT: Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:8 for: %V2I64 = mul <2 x i64> undef, undef1004; AVX512BW-NEXT: Cost Model: Found costs of RThru:6 CodeSize:8 Lat:10 SizeLat:13 for: %V4I64 = mul <4 x i64> undef, undef1005; AVX512BW-NEXT: Cost Model: Found costs of RThru:6 CodeSize:8 Lat:9 SizeLat:8 for: %V8I64 = mul <8 x i64> undef, undef1006; AVX512BW-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %I32 = mul i32 undef, undef1007; AVX512BW-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:10 SizeLat:2 for: %V4I32 = mul <4 x i32> undef, undef1008; AVX512BW-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:10 SizeLat:2 for: %V8I32 = mul <8 x i32> undef, undef1009; AVX512BW-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:10 SizeLat:2 for: %V16I32 = mul <16 x i32> undef, undef1010; AVX512BW-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %I16 = mul i16 undef, undef1011; AVX512BW-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V8I16 = mul <8 x i16> undef, undef1012; AVX512BW-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:2 for: %V16I16 = mul <16 x i16> undef, undef1013; AVX512BW-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V32I16 = mul <32 x i16> undef, undef1014; AVX512BW-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:4 SizeLat:1 for: %I8 = mul i8 undef, undef1015; AVX512BW-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V2I8 = mul <2 x i8> undef, undef1016; AVX512BW-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V4I8 = mul <4 x i8> undef, undef1017; AVX512BW-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V8I8 = mul <8 x i8> undef, undef1018; AVX512BW-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:12 SizeLat:5 for: %V16I8 = mul <16 x i8> undef, undef1019; AVX512BW-NEXT: Cost Model: Found costs of RThru:3 CodeSize:7 Lat:10 SizeLat:10 for: %V32I8 = mul <32 x i8> undef, undef1020; AVX512BW-NEXT: Cost Model: Found costs of RThru:3 CodeSize:7 Lat:11 SizeLat:10 for: %V64I8 = mul <64 x i8> undef, undef1021; AVX512BW-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1022;1023; AVX512DQ-LABEL: 'mul'1024; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:6 SizeLat:2 for: %I64 = mul i64 undef, undef1025; AVX512DQ-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %V2I64 = mul <2 x i64> undef, undef1026; AVX512DQ-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:15 SizeLat:3 for: %V4I64 = mul <4 x i64> undef, undef1027; AVX512DQ-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:15 SizeLat:3 for: %V8I64 = mul <8 x i64> undef, undef1028; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %I32 = mul i32 undef, undef1029; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:10 SizeLat:2 for: %V4I32 = mul <4 x i32> undef, undef1030; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:10 SizeLat:2 for: %V8I32 = mul <8 x i32> undef, undef1031; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:10 SizeLat:2 for: %V16I32 = mul <16 x i32> undef, undef1032; AVX512DQ-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %I16 = mul i16 undef, undef1033; AVX512DQ-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V8I16 = mul <8 x i16> undef, undef1034; AVX512DQ-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:2 for: %V16I16 = mul <16 x i16> undef, undef1035; AVX512DQ-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V32I16 = mul <32 x i16> undef, undef1036; AVX512DQ-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:4 SizeLat:1 for: %I8 = mul i8 undef, undef1037; AVX512DQ-NEXT: Cost Model: Found costs of RThru:3 CodeSize:3 Lat:7 SizeLat:3 for: %V2I8 = mul <2 x i8> undef, undef1038; AVX512DQ-NEXT: Cost Model: Found costs of RThru:3 CodeSize:3 Lat:7 SizeLat:3 for: %V4I8 = mul <4 x i8> undef, undef1039; AVX512DQ-NEXT: Cost Model: Found costs of RThru:3 CodeSize:3 Lat:7 SizeLat:3 for: %V8I8 = mul <8 x i8> undef, undef1040; AVX512DQ-NEXT: Cost Model: Found costs of RThru:5 CodeSize:6 Lat:18 SizeLat:12 for: %V16I8 = mul <16 x i8> undef, undef1041; AVX512DQ-NEXT: Cost Model: Found costs of RThru:4 CodeSize:8 Lat:8 SizeLat:16 for: %V32I8 = mul <32 x i8> undef, undef1042; AVX512DQ-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %V64I8 = mul <64 x i8> undef, undef1043; AVX512DQ-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1044;1045; SLM-LABEL: 'mul'1046; SLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:6 SizeLat:2 for: %I64 = mul i64 undef, undef1047; SLM-NEXT: Cost Model: Found costs of RThru:17 CodeSize:9 Lat:22 SizeLat:9 for: %V2I64 = mul <2 x i64> undef, undef1048; SLM-NEXT: Cost Model: Found costs of RThru:34 CodeSize:18 Lat:44 SizeLat:18 for: %V4I64 = mul <4 x i64> undef, undef1049; SLM-NEXT: Cost Model: Found costs of RThru:68 CodeSize:36 Lat:88 SizeLat:36 for: %V8I64 = mul <8 x i64> undef, undef1050; SLM-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %I32 = mul i32 undef, undef1051; SLM-NEXT: Cost Model: Found costs of RThru:11 CodeSize:1 Lat:11 SizeLat:7 for: %V4I32 = mul <4 x i32> undef, undef1052; SLM-NEXT: Cost Model: Found costs of RThru:22 CodeSize:2 Lat:22 SizeLat:14 for: %V8I32 = mul <8 x i32> undef, undef1053; SLM-NEXT: Cost Model: Found costs of RThru:44 CodeSize:4 Lat:44 SizeLat:28 for: %V16I32 = mul <16 x i32> undef, undef1054; SLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %I16 = mul i16 undef, undef1055; SLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:1 for: %V8I16 = mul <8 x i16> undef, undef1056; SLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:2 Lat:10 SizeLat:2 for: %V16I16 = mul <16 x i16> undef, undef1057; SLM-NEXT: Cost Model: Found costs of RThru:8 CodeSize:4 Lat:20 SizeLat:4 for: %V32I16 = mul <32 x i16> undef, undef1058; SLM-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:4 SizeLat:1 for: %I8 = mul i8 undef, undef1059; SLM-NEXT: Cost Model: Found costs of RThru:5 CodeSize:3 Lat:7 SizeLat:3 for: %V2I8 = mul <2 x i8> undef, undef1060; SLM-NEXT: Cost Model: Found costs of RThru:5 CodeSize:3 Lat:7 SizeLat:3 for: %V4I8 = mul <4 x i8> undef, undef1061; SLM-NEXT: Cost Model: Found costs of RThru:5 CodeSize:3 Lat:7 SizeLat:3 for: %V8I8 = mul <8 x i8> undef, undef1062; SLM-NEXT: Cost Model: Found costs of RThru:5 CodeSize:10 Lat:18 SizeLat:12 for: %V16I8 = mul <16 x i8> undef, undef1063; SLM-NEXT: Cost Model: Found costs of RThru:10 CodeSize:20 Lat:36 SizeLat:24 for: %V32I8 = mul <32 x i8> undef, undef1064; SLM-NEXT: Cost Model: Found costs of RThru:20 CodeSize:40 Lat:72 SizeLat:48 for: %V64I8 = mul <64 x i8> undef, undef1065; SLM-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1066;1067; GLM-LABEL: 'mul'1068; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:6 SizeLat:2 for: %I64 = mul i64 undef, undef1069; GLM-NEXT: Cost Model: Found costs of RThru:6 CodeSize:10 Lat:10 SizeLat:10 for: %V2I64 = mul <2 x i64> undef, undef1070; GLM-NEXT: Cost Model: Found costs of RThru:12 CodeSize:20 Lat:20 SizeLat:20 for: %V4I64 = mul <4 x i64> undef, undef1071; GLM-NEXT: Cost Model: Found costs of RThru:24 CodeSize:40 Lat:40 SizeLat:40 for: %V8I64 = mul <8 x i64> undef, undef1072; GLM-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %I32 = mul i32 undef, undef1073; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:11 SizeLat:1 for: %V4I32 = mul <4 x i32> undef, undef1074; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:2 Lat:22 SizeLat:2 for: %V8I32 = mul <8 x i32> undef, undef1075; GLM-NEXT: Cost Model: Found costs of RThru:8 CodeSize:4 Lat:44 SizeLat:4 for: %V16I32 = mul <16 x i32> undef, undef1076; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %I16 = mul i16 undef, undef1077; GLM-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:5 SizeLat:1 for: %V8I16 = mul <8 x i16> undef, undef1078; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:2 Lat:10 SizeLat:2 for: %V16I16 = mul <16 x i16> undef, undef1079; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:4 Lat:20 SizeLat:4 for: %V32I16 = mul <32 x i16> undef, undef1080; GLM-NEXT: Cost Model: Found costs of RThru:3 CodeSize:1 Lat:4 SizeLat:1 for: %I8 = mul i8 undef, undef1081; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V2I8 = mul <2 x i8> undef, undef1082; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V4I8 = mul <4 x i8> undef, undef1083; GLM-NEXT: Cost Model: Found costs of RThru:4 CodeSize:3 Lat:7 SizeLat:3 for: %V8I8 = mul <8 x i8> undef, undef1084; GLM-NEXT: Cost Model: Found costs of RThru:5 CodeSize:10 Lat:18 SizeLat:12 for: %V16I8 = mul <16 x i8> undef, undef1085; GLM-NEXT: Cost Model: Found costs of RThru:10 CodeSize:20 Lat:36 SizeLat:24 for: %V32I8 = mul <32 x i8> undef, undef1086; GLM-NEXT: Cost Model: Found costs of RThru:20 CodeSize:40 Lat:72 SizeLat:48 for: %V64I8 = mul <64 x i8> undef, undef1087; GLM-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef1088;1089 %I64 = mul i64 undef, undef1090 %V2I64 = mul <2 x i64> undef, undef1091 %V4I64 = mul <4 x i64> undef, undef1092 %V8I64 = mul <8 x i64> undef, undef1093 1094 %I32 = mul i32 undef, undef1095 %V4I32 = mul <4 x i32> undef, undef1096 %V8I32 = mul <8 x i32> undef, undef1097 %V16I32 = mul <16 x i32> undef, undef1098 1099 %I16 = mul i16 undef, undef1100 %V8I16 = mul <8 x i16> undef, undef1101 %V16I16 = mul <16 x i16> undef, undef1102 %V32I16 = mul <32 x i16> undef, undef1103 1104 %I8 = mul i8 undef, undef1105 %V2I8 = mul <2 x i8> undef, undef1106 %V4I8 = mul <4 x i8> undef, undef1107 %V8I8 = mul <8 x i8> undef, undef1108 %V16I8 = mul <16 x i8> undef, undef1109 %V32I8 = mul <32 x i8> undef, undef1110 %V64I8 = mul <64 x i8> undef, undef1111 1112 ret i32 undef1113}1114 1115; A <2 x i32> gets expanded to a <2 x i64> vector.1116; A <2 x i64> vector multiply is implemented using1117; 3 PMULUDQ and 2 PADDS and 4 shifts.1118define void @mul_2i32() {1119; SSSE3-LABEL: 'mul_2i32'1120; SSSE3-NEXT: Cost Model: Found costs of RThru:6 CodeSize:7 Lat:8 SizeLat:7 for: %A0 = mul <2 x i32> undef, undef1121; SSSE3-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1122;1123; SSE42-LABEL: 'mul_2i32'1124; SSE42-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:11 SizeLat:1 for: %A0 = mul <2 x i32> undef, undef1125; SSE42-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1126;1127; AVX1-LABEL: 'mul_2i32'1128; AVX1-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:5 SizeLat:3 for: %A0 = mul <2 x i32> undef, undef1129; AVX1-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1130;1131; AVX2-LABEL: 'mul_2i32'1132; AVX2-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:10 SizeLat:2 for: %A0 = mul <2 x i32> undef, undef1133; AVX2-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1134;1135; AVX512-LABEL: 'mul_2i32'1136; AVX512-NEXT: Cost Model: Found costs of RThru:1 CodeSize:1 Lat:10 SizeLat:2 for: %A0 = mul <2 x i32> undef, undef1137; AVX512-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1138;1139; SLM-LABEL: 'mul_2i32'1140; SLM-NEXT: Cost Model: Found costs of RThru:11 CodeSize:1 Lat:11 SizeLat:7 for: %A0 = mul <2 x i32> undef, undef1141; SLM-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1142;1143; GLM-LABEL: 'mul_2i32'1144; GLM-NEXT: Cost Model: Found costs of RThru:2 CodeSize:1 Lat:11 SizeLat:1 for: %A0 = mul <2 x i32> undef, undef1145; GLM-NEXT: Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1146;1147 %A0 = mul <2 x i32> undef, undef1148 1149 ret void1150}1151