brintos

brintos / llvm-project-archived public Read only

0
0
Text · 19.2 KiB · 6fa991c Raw
296 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py2; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output                           | FileCheck %s --check-prefixes=ALL,X643; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -mattr=+movbe             | FileCheck %s --check-prefixes=ALL,X64-MOVBE4; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -mattr=+movbe,+fast-movbe | FileCheck %s --check-prefixes=ALL,X64-FASTMOVBE5 6; RUN: opt < %s -mtriple=i686-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output                           | FileCheck %s --check-prefixes=ALL,X327; RUN: opt < %s -mtriple=i686-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -mattr=+movbe             | FileCheck %s --check-prefixes=ALL,X32-MOVBE8; RUN: opt < %s -mtriple=i686-unknown-linux-gnu -passes="print<cost-model>" 2>&1 -disable-output -mattr=+movbe,+fast-movbe | FileCheck %s --check-prefixes=ALL,X32-FASTMOVBE9 10declare i16 @llvm.bswap.i16(i16)11declare i32 @llvm.bswap.i32(i32)12declare i64 @llvm.bswap.i64(i64)13declare i128 @llvm.bswap.i128(i128)14 15define i16 @var_load_bswap_i16(ptr %src) {16; X64-LABEL: 'var_load_bswap_i16'17; X64-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i16, ptr %src, align 118; X64-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i16 @llvm.bswap.i16(i16 %a)19; X64-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i16 %bswap20;21; X64-MOVBE-LABEL: 'var_load_bswap_i16'22; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i16, ptr %src, align 123; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i16 @llvm.bswap.i16(i16 %a)24; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i16 %bswap25;26; X64-FASTMOVBE-LABEL: 'var_load_bswap_i16'27; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i16, ptr %src, align 128; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %bswap = call i16 @llvm.bswap.i16(i16 %a)29; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i16 %bswap30;31; X32-LABEL: 'var_load_bswap_i16'32; X32-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i16, ptr %src, align 133; X32-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i16 @llvm.bswap.i16(i16 %a)34; X32-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i16 %bswap35;36; X32-MOVBE-LABEL: 'var_load_bswap_i16'37; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i16, ptr %src, align 138; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i16 @llvm.bswap.i16(i16 %a)39; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i16 %bswap40;41; X32-FASTMOVBE-LABEL: 'var_load_bswap_i16'42; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i16, ptr %src, align 143; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %bswap = call i16 @llvm.bswap.i16(i16 %a)44; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i16 %bswap45;46  %a = load i16, ptr %src, align 147  %bswap = call i16 @llvm.bswap.i16(i16 %a)48 49  ret i16 %bswap50}51define i16 @var_load_bswap_i16_extrause(ptr %src, ptr %clobberdst) {52; ALL-LABEL: 'var_load_bswap_i16_extrause'53; ALL-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i16, ptr %src, align 154; ALL-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i16 @llvm.bswap.i16(i16 %a)55; ALL-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a2 = shl i16 %a, 256; ALL-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i16 %a2, ptr %clobberdst, align 157; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i16 %bswap58;59  %a = load i16, ptr %src, align 160  %bswap = call i16 @llvm.bswap.i16(i16 %a)61 62  %a2 = shl i16 %a, 2 ; incur an extra use to the load63  store i16 %a2, ptr %clobberdst, align 164 65  ret i16 %bswap66}67 68define i32 @var_load_bswap_i32(ptr %src) {69; X64-LABEL: 'var_load_bswap_i32'70; X64-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i32, ptr %src, align 171; X64-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i32 @llvm.bswap.i32(i32 %a)72; X64-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 %bswap73;74; X64-MOVBE-LABEL: 'var_load_bswap_i32'75; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i32, ptr %src, align 176; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i32 @llvm.bswap.i32(i32 %a)77; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 %bswap78;79; X64-FASTMOVBE-LABEL: 'var_load_bswap_i32'80; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i32, ptr %src, align 181; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %bswap = call i32 @llvm.bswap.i32(i32 %a)82; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 %bswap83;84; X32-LABEL: 'var_load_bswap_i32'85; X32-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i32, ptr %src, align 186; X32-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i32 @llvm.bswap.i32(i32 %a)87; X32-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 %bswap88;89; X32-MOVBE-LABEL: 'var_load_bswap_i32'90; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i32, ptr %src, align 191; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i32 @llvm.bswap.i32(i32 %a)92; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 %bswap93;94; X32-FASTMOVBE-LABEL: 'var_load_bswap_i32'95; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i32, ptr %src, align 196; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %bswap = call i32 @llvm.bswap.i32(i32 %a)97; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 %bswap98;99  %a = load i32, ptr %src, align 1100  %bswap = call i32 @llvm.bswap.i32(i32 %a)101 102  ret i32 %bswap103}104define i32 @var_load_bswap_i32_extrause(ptr %src, ptr %clobberdst) {105; ALL-LABEL: 'var_load_bswap_i32_extrause'106; ALL-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i32, ptr %src, align 1107; ALL-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i32 @llvm.bswap.i32(i32 %a)108; ALL-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a2 = shl i32 %a, 2109; ALL-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i32 %a2, ptr %clobberdst, align 1110; ALL-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 %bswap111;112  %a = load i32, ptr %src, align 1113  %bswap = call i32 @llvm.bswap.i32(i32 %a)114 115  %a2 = shl i32 %a, 2 ; incur an extra use to the load116  store i32 %a2, ptr %clobberdst, align 1117 118  ret i32 %bswap119}120 121define i64 @var_load_bswap_i64(ptr %src) {122; X64-LABEL: 'var_load_bswap_i64'123; X64-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i64, ptr %src, align 1124; X64-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i64 @llvm.bswap.i64(i64 %a)125; X64-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i64 %bswap126;127; X64-MOVBE-LABEL: 'var_load_bswap_i64'128; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i64, ptr %src, align 1129; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i64 @llvm.bswap.i64(i64 %a)130; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i64 %bswap131;132; X64-FASTMOVBE-LABEL: 'var_load_bswap_i64'133; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i64, ptr %src, align 1134; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %bswap = call i64 @llvm.bswap.i64(i64 %a)135; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i64 %bswap136;137; X32-LABEL: 'var_load_bswap_i64'138; X32-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a = load i64, ptr %src, align 1139; X32-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %bswap = call i64 @llvm.bswap.i64(i64 %a)140; X32-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i64 %bswap141;142; X32-MOVBE-LABEL: 'var_load_bswap_i64'143; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a = load i64, ptr %src, align 1144; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %bswap = call i64 @llvm.bswap.i64(i64 %a)145; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i64 %bswap146;147; X32-FASTMOVBE-LABEL: 'var_load_bswap_i64'148; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a = load i64, ptr %src, align 1149; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %bswap = call i64 @llvm.bswap.i64(i64 %a)150; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i64 %bswap151;152  %a = load i64, ptr %src, align 1153  %bswap = call i64 @llvm.bswap.i64(i64 %a)154 155  ret i64 %bswap156}157define i64 @var_load_bswap_i64_extrause(ptr %src, ptr %clobberdst) {158; X64-LABEL: 'var_load_bswap_i64_extrause'159; X64-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i64, ptr %src, align 1160; X64-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i64 @llvm.bswap.i64(i64 %a)161; X64-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a2 = shl i64 %a, 2162; X64-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %a2, ptr %clobberdst, align 1163; X64-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i64 %bswap164;165; X64-MOVBE-LABEL: 'var_load_bswap_i64_extrause'166; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i64, ptr %src, align 1167; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i64 @llvm.bswap.i64(i64 %a)168; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a2 = shl i64 %a, 2169; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %a2, ptr %clobberdst, align 1170; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i64 %bswap171;172; X64-FASTMOVBE-LABEL: 'var_load_bswap_i64_extrause'173; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a = load i64, ptr %src, align 1174; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %bswap = call i64 @llvm.bswap.i64(i64 %a)175; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %a2 = shl i64 %a, 2176; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: store i64 %a2, ptr %clobberdst, align 1177; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i64 %bswap178;179; X32-LABEL: 'var_load_bswap_i64_extrause'180; X32-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a = load i64, ptr %src, align 1181; X32-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %bswap = call i64 @llvm.bswap.i64(i64 %a)182; X32-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a2 = shl i64 %a, 2183; X32-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: store i64 %a2, ptr %clobberdst, align 1184; X32-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i64 %bswap185;186; X32-MOVBE-LABEL: 'var_load_bswap_i64_extrause'187; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a = load i64, ptr %src, align 1188; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %bswap = call i64 @llvm.bswap.i64(i64 %a)189; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a2 = shl i64 %a, 2190; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: store i64 %a2, ptr %clobberdst, align 1191; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i64 %bswap192;193; X32-FASTMOVBE-LABEL: 'var_load_bswap_i64_extrause'194; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a = load i64, ptr %src, align 1195; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %bswap = call i64 @llvm.bswap.i64(i64 %a)196; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a2 = shl i64 %a, 2197; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: store i64 %a2, ptr %clobberdst, align 1198; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i64 %bswap199;200  %a = load i64, ptr %src, align 1201  %bswap = call i64 @llvm.bswap.i64(i64 %a)202 203  %a2 = shl i64 %a, 2 ; incur an extra use to the load204  store i64 %a2, ptr %clobberdst, align 1205 206  ret i64 %bswap207}208 209define i128 @var_load_bswap_i128(ptr %src) {210; X64-LABEL: 'var_load_bswap_i128'211; X64-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a = load i128, ptr %src, align 1212; X64-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %bswap = call i128 @llvm.bswap.i128(i128 %a)213; X64-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i128 %bswap214;215; X64-MOVBE-LABEL: 'var_load_bswap_i128'216; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a = load i128, ptr %src, align 1217; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %bswap = call i128 @llvm.bswap.i128(i128 %a)218; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i128 %bswap219;220; X64-FASTMOVBE-LABEL: 'var_load_bswap_i128'221; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a = load i128, ptr %src, align 1222; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %bswap = call i128 @llvm.bswap.i128(i128 %a)223; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i128 %bswap224;225; X32-LABEL: 'var_load_bswap_i128'226; X32-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %a = load i128, ptr %src, align 1227; X32-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %bswap = call i128 @llvm.bswap.i128(i128 %a)228; X32-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i128 %bswap229;230; X32-MOVBE-LABEL: 'var_load_bswap_i128'231; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %a = load i128, ptr %src, align 1232; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %bswap = call i128 @llvm.bswap.i128(i128 %a)233; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i128 %bswap234;235; X32-FASTMOVBE-LABEL: 'var_load_bswap_i128'236; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %a = load i128, ptr %src, align 1237; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %bswap = call i128 @llvm.bswap.i128(i128 %a)238; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i128 %bswap239;240  %a = load i128, ptr %src, align 1241  %bswap = call i128 @llvm.bswap.i128(i128 %a)242 243  ret i128 %bswap244}245define i128 @var_load_bswap_i128_extrause(ptr %src, ptr %clobberdst) {246; X64-LABEL: 'var_load_bswap_i128_extrause'247; X64-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a = load i128, ptr %src, align 1248; X64-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %bswap = call i128 @llvm.bswap.i128(i128 %a)249; X64-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a2 = shl i128 %a, 2250; X64-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: store i128 %a2, ptr %clobberdst, align 1251; X64-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i128 %bswap252;253; X64-MOVBE-LABEL: 'var_load_bswap_i128_extrause'254; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a = load i128, ptr %src, align 1255; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %bswap = call i128 @llvm.bswap.i128(i128 %a)256; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a2 = shl i128 %a, 2257; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: store i128 %a2, ptr %clobberdst, align 1258; X64-MOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i128 %bswap259;260; X64-FASTMOVBE-LABEL: 'var_load_bswap_i128_extrause'261; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a = load i128, ptr %src, align 1262; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %bswap = call i128 @llvm.bswap.i128(i128 %a)263; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %a2 = shl i128 %a, 2264; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: store i128 %a2, ptr %clobberdst, align 1265; X64-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i128 %bswap266;267; X32-LABEL: 'var_load_bswap_i128_extrause'268; X32-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %a = load i128, ptr %src, align 1269; X32-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %bswap = call i128 @llvm.bswap.i128(i128 %a)270; X32-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %a2 = shl i128 %a, 2271; X32-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: store i128 %a2, ptr %clobberdst, align 1272; X32-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i128 %bswap273;274; X32-MOVBE-LABEL: 'var_load_bswap_i128_extrause'275; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %a = load i128, ptr %src, align 1276; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %bswap = call i128 @llvm.bswap.i128(i128 %a)277; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %a2 = shl i128 %a, 2278; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: store i128 %a2, ptr %clobberdst, align 1279; X32-MOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i128 %bswap280;281; X32-FASTMOVBE-LABEL: 'var_load_bswap_i128_extrause'282; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %a = load i128, ptr %src, align 1283; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %bswap = call i128 @llvm.bswap.i128(i128 %a)284; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %a2 = shl i128 %a, 2285; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: store i128 %a2, ptr %clobberdst, align 1286; X32-FASTMOVBE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i128 %bswap287;288  %a = load i128, ptr %src, align 1289  %bswap = call i128 @llvm.bswap.i128(i128 %a)290 291  %a2 = shl i128 %a, 2 ; incur an extra use to the load292  store i128 %a2, ptr %clobberdst, align 1293 294  ret i128 %bswap295}296