1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py 2; RUN: opt -cost-model -analyze -mtriple=aarch64-none-linux-gnueabi %s -o - | FileCheck %s 3 4define i32 @casts_no_users() { 5; CHECK-LABEL: 'casts_no_users' 6; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r0 = sext i1 undef to i8 7; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r1 = zext i1 undef to i8 8; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r2 = sext i1 undef to i16 9; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r3 = zext i1 undef to i16 10; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r4 = sext i1 undef to i32 11; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r5 = zext i1 undef to i32 12; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r6 = sext i1 undef to i64 13; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r7 = zext i1 undef to i64 14; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r8 = trunc i8 undef to i1 15; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r9 = sext i8 undef to i16 16; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r10 = zext i8 undef to i16 17; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r11 = sext i8 undef to i32 18; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r12 = zext i8 undef to i32 19; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r13 = sext i8 undef to i64 20; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r14 = zext i8 undef to i64 21; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r15 = trunc i16 undef to i1 22; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r16 = trunc i16 undef to i8 23; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r17 = sext i16 undef to i32 24; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r18 = zext i16 undef to i32 25; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r19 = sext i16 undef to i64 26; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r20 = zext i16 undef to i64 27; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r21 = trunc i32 undef to i1 28; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r22 = trunc i32 undef to i8 29; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r23 = trunc i32 undef to i16 30; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r24 = sext i32 undef to i64 31; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r25 = zext i32 undef to i64 32; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r26 = trunc i64 undef to i1 33; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r27 = trunc i64 undef to i8 34; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r28 = trunc i64 undef to i16 35; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r29 = trunc i64 undef to i32 36; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r30 = fptoui float undef to i1 37; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r31 = fptosi float undef to i1 38; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r32 = fptoui float undef to i8 39; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r33 = fptosi float undef to i8 40; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r34 = fptoui float undef to i16 41; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r35 = fptosi float undef to i16 42; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r36 = fptoui float undef to i32 43; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r37 = fptosi float undef to i32 44; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r38 = fptoui float undef to i64 45; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r39 = fptosi float undef to i64 46; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r40 = fptoui double undef to i1 47; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r41 = fptosi double undef to i1 48; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r42 = fptoui double undef to i8 49; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r43 = fptosi double undef to i8 50; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r44 = fptoui double undef to i16 51; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r45 = fptosi double undef to i16 52; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r46 = fptoui double undef to i32 53; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r47 = fptosi double undef to i32 54; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r48 = fptoui double undef to i64 55; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r49 = fptosi double undef to i64 56; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r50 = sitofp i1 undef to float 57; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r51 = uitofp i1 undef to float 58; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r52 = sitofp i1 undef to double 59; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r53 = uitofp i1 undef to double 60; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r54 = sitofp i8 undef to float 61; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r55 = uitofp i8 undef to float 62; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r56 = sitofp i8 undef to double 63; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r57 = uitofp i8 undef to double 64; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r58 = sitofp i16 undef to float 65; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r59 = uitofp i16 undef to float 66; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r60 = sitofp i16 undef to double 67; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r61 = uitofp i16 undef to double 68; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r62 = sitofp i32 undef to float 69; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r63 = uitofp i32 undef to float 70; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r64 = sitofp i32 undef to double 71; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r65 = uitofp i32 undef to double 72; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r66 = sitofp i64 undef to float 73; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r67 = uitofp i64 undef to float 74; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r68 = sitofp i64 undef to double 75; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r69 = uitofp i64 undef to double 76; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %q70 = sext <4 x i8> undef to <4 x i32> 77; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %q71 = sext <8 x i8> undef to <8 x i16> 78; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %s70 = sext <4 x i8> undef to <4 x i32> 79; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r70 = sext <8 x i8> undef to <8 x i32> 80; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %r71 = sext <16 x i8> undef to <16 x i32> 81; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %q72 = zext <4 x i8> undef to <4 x i32> 82; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %q73 = zext <8 x i8> undef to <8 x i16> 83; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %s72 = zext <4 x i8> undef to <4 x i32> 84; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r72 = zext <8 x i8> undef to <8 x i32> 85; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %r73 = zext <16 x i8> undef to <16 x i32> 86; CHECK-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %rext_0 = sext <8 x i8> undef to <8 x i64> 87; CHECK-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %rext_1 = zext <8 x i8> undef to <8 x i64> 88; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %rext_2 = sext <8 x i16> undef to <8 x i64> 89; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %rext_3 = zext <8 x i16> undef to <8 x i64> 90; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %rext_4 = sext <4 x i16> undef to <4 x i64> 91; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %rext_5 = zext <4 x i16> undef to <4 x i64> 92; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %rext_6 = sext <2 x i8> undef to <2 x i64> 93; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %rext_7 = zext <2 x i8> undef to <2 x i64> 94; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %rext_8 = sext <2 x i16> undef to <2 x i64> 95; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %rext_9 = zext <2 x i16> undef to <2 x i64> 96; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %rext_a = sext <2 x i32> undef to <2 x i64> 97; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %rext_b = zext <2 x i32> undef to <2 x i64> 98; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r74 = trunc <8 x i32> undef to <8 x i8> 99; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %r75 = trunc <16 x i32> undef to <16 x i8> 100; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r80 = fptrunc double undef to float 101; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r81 = fptrunc <2 x double> undef to <2 x float> 102; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r82 = fptrunc <4 x double> undef to <4 x float> 103; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %r83 = fptrunc <8 x double> undef to <8 x float> 104; CHECK-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %r84 = fptrunc <16 x double> undef to <16 x float> 105; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r85 = fpext float undef to double 106; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r86 = fpext <2 x float> undef to <2 x double> 107; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r87 = fpext <4 x float> undef to <4 x double> 108; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %r88 = fpext <8 x float> undef to <8 x double> 109; CHECK-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %r89 = fpext <16 x float> undef to <16 x double> 110; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r90 = fptoui <2 x float> undef to <2 x i1> 111; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r91 = fptosi <2 x float> undef to <2 x i1> 112; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r92 = fptoui <2 x float> undef to <2 x i8> 113; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r93 = fptosi <2 x float> undef to <2 x i8> 114; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r94 = fptoui <2 x float> undef to <2 x i16> 115; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r95 = fptosi <2 x float> undef to <2 x i16> 116; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r96 = fptoui <2 x float> undef to <2 x i32> 117; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r97 = fptosi <2 x float> undef to <2 x i32> 118; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r98 = fptoui <2 x float> undef to <2 x i64> 119; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r99 = fptosi <2 x float> undef to <2 x i64> 120; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r100 = fptoui <2 x double> undef to <2 x i1> 121; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r101 = fptosi <2 x double> undef to <2 x i1> 122; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r102 = fptoui <2 x double> undef to <2 x i8> 123; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r103 = fptosi <2 x double> undef to <2 x i8> 124; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r104 = fptoui <2 x double> undef to <2 x i16> 125; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r105 = fptosi <2 x double> undef to <2 x i16> 126; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r106 = fptoui <2 x double> undef to <2 x i32> 127; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r107 = fptosi <2 x double> undef to <2 x i32> 128; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r108 = fptoui <2 x double> undef to <2 x i64> 129; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r109 = fptosi <2 x double> undef to <2 x i64> 130; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %r110 = fptoui <4 x float> undef to <4 x i1> 131; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %r111 = fptosi <4 x float> undef to <4 x i1> 132; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r112 = fptoui <4 x float> undef to <4 x i8> 133; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r113 = fptosi <4 x float> undef to <4 x i8> 134; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r114 = fptoui <4 x float> undef to <4 x i16> 135; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r115 = fptosi <4 x float> undef to <4 x i16> 136; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r116 = fptoui <4 x float> undef to <4 x i32> 137; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r117 = fptosi <4 x float> undef to <4 x i32> 138; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r118 = fptoui <4 x float> undef to <4 x i64> 139; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r119 = fptosi <4 x float> undef to <4 x i64> 140; CHECK-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %r120 = fptoui <4 x double> undef to <4 x i1> 141; CHECK-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %r121 = fptosi <4 x double> undef to <4 x i1> 142; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r122 = fptoui <4 x double> undef to <4 x i8> 143; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r123 = fptosi <4 x double> undef to <4 x i8> 144; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r124 = fptoui <4 x double> undef to <4 x i16> 145; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r125 = fptosi <4 x double> undef to <4 x i16> 146; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r126 = fptoui <4 x double> undef to <4 x i32> 147; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r127 = fptosi <4 x double> undef to <4 x i32> 148; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r128 = fptoui <4 x double> undef to <4 x i64> 149; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r129 = fptosi <4 x double> undef to <4 x i64> 150; CHECK-NEXT: Cost Model: Found an estimated cost of 45 for instruction: %r130 = fptoui <8 x float> undef to <8 x i1> 151; CHECK-NEXT: Cost Model: Found an estimated cost of 45 for instruction: %r131 = fptosi <8 x float> undef to <8 x i1> 152; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r132 = fptoui <8 x float> undef to <8 x i8> 153; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r133 = fptosi <8 x float> undef to <8 x i8> 154; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r134 = fptoui <8 x float> undef to <8 x i16> 155; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r135 = fptosi <8 x float> undef to <8 x i16> 156; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r136 = fptoui <8 x float> undef to <8 x i32> 157; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r137 = fptosi <8 x float> undef to <8 x i32> 158; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r138 = fptoui <8 x float> undef to <8 x i64> 159; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r139 = fptosi <8 x float> undef to <8 x i64> 160; CHECK-NEXT: Cost Model: Found an estimated cost of 35 for instruction: %r140 = fptoui <8 x double> undef to <8 x i1> 161; CHECK-NEXT: Cost Model: Found an estimated cost of 35 for instruction: %r141 = fptosi <8 x double> undef to <8 x i1> 162; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %r142 = fptoui <8 x double> undef to <8 x i8> 163; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %r143 = fptosi <8 x double> undef to <8 x i8> 164; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %r144 = fptoui <8 x double> undef to <8 x i16> 165; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %r145 = fptosi <8 x double> undef to <8 x i16> 166; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r146 = fptoui <8 x double> undef to <8 x i32> 167; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r147 = fptosi <8 x double> undef to <8 x i32> 168; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r148 = fptoui <8 x double> undef to <8 x i64> 169; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r149 = fptosi <8 x double> undef to <8 x i64> 170; CHECK-NEXT: Cost Model: Found an estimated cost of 91 for instruction: %r150 = fptoui <16 x float> undef to <16 x i1> 171; CHECK-NEXT: Cost Model: Found an estimated cost of 91 for instruction: %r151 = fptosi <16 x float> undef to <16 x i1> 172; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %r152 = fptoui <16 x float> undef to <16 x i8> 173; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %r153 = fptosi <16 x float> undef to <16 x i8> 174; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r154 = fptoui <16 x float> undef to <16 x i16> 175; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r155 = fptosi <16 x float> undef to <16 x i16> 176; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r156 = fptoui <16 x float> undef to <16 x i32> 177; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r157 = fptosi <16 x float> undef to <16 x i32> 178; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %r158 = fptoui <16 x float> undef to <16 x i64> 179; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %r159 = fptosi <16 x float> undef to <16 x i64> 180; CHECK-NEXT: Cost Model: Found an estimated cost of 71 for instruction: %r160 = fptoui <16 x double> undef to <16 x i1> 181; CHECK-NEXT: Cost Model: Found an estimated cost of 71 for instruction: %r161 = fptosi <16 x double> undef to <16 x i1> 182; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %r162 = fptoui <16 x double> undef to <16 x i8> 183; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %r163 = fptosi <16 x double> undef to <16 x i8> 184; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %r164 = fptoui <16 x double> undef to <16 x i16> 185; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %r165 = fptosi <16 x double> undef to <16 x i16> 186; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %r166 = fptoui <16 x double> undef to <16 x i32> 187; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %r167 = fptosi <16 x double> undef to <16 x i32> 188; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r168 = fptoui <16 x double> undef to <16 x i64> 189; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r169 = fptosi <16 x double> undef to <16 x i64> 190; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r170 = uitofp <2 x i1> undef to <2 x float> 191; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r171 = sitofp <2 x i1> undef to <2 x float> 192; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r172 = uitofp <2 x i8> undef to <2 x float> 193; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r173 = sitofp <2 x i8> undef to <2 x float> 194; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r174 = uitofp <2 x i16> undef to <2 x float> 195; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r175 = sitofp <2 x i16> undef to <2 x float> 196; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r176 = uitofp <2 x i32> undef to <2 x float> 197; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r177 = sitofp <2 x i32> undef to <2 x float> 198; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r178 = uitofp <2 x i64> undef to <2 x float> 199; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r179 = sitofp <2 x i64> undef to <2 x float> 200; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r180 = uitofp <2 x i1> undef to <2 x double> 201; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r181 = sitofp <2 x i1> undef to <2 x double> 202; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r182 = uitofp <2 x i8> undef to <2 x double> 203; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r183 = sitofp <2 x i8> undef to <2 x double> 204; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r184 = uitofp <2 x i16> undef to <2 x double> 205; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r185 = sitofp <2 x i16> undef to <2 x double> 206; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r186 = uitofp <2 x i32> undef to <2 x double> 207; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r187 = sitofp <2 x i32> undef to <2 x double> 208; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r188 = uitofp <2 x i64> undef to <2 x double> 209; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r189 = sitofp <2 x i64> undef to <2 x double> 210; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r190 = uitofp <4 x i1> undef to <4 x float> 211; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r191 = sitofp <4 x i1> undef to <4 x float> 212; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r192 = uitofp <4 x i8> undef to <4 x float> 213; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r193 = sitofp <4 x i8> undef to <4 x float> 214; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r194 = uitofp <4 x i16> undef to <4 x float> 215; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r195 = sitofp <4 x i16> undef to <4 x float> 216; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r196 = uitofp <4 x i32> undef to <4 x float> 217; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r197 = sitofp <4 x i32> undef to <4 x float> 218; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r198 = uitofp <4 x i64> undef to <4 x float> 219; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r199 = sitofp <4 x i64> undef to <4 x float> 220; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r200 = uitofp <4 x i1> undef to <4 x double> 221; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r201 = sitofp <4 x i1> undef to <4 x double> 222; CHECK-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %r202 = uitofp <4 x i8> undef to <4 x double> 223; CHECK-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %r203 = sitofp <4 x i8> undef to <4 x double> 224; CHECK-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %r204 = uitofp <4 x i16> undef to <4 x double> 225; CHECK-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %r205 = sitofp <4 x i16> undef to <4 x double> 226; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r206 = uitofp <4 x i32> undef to <4 x double> 227; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r207 = sitofp <4 x i32> undef to <4 x double> 228; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r208 = uitofp <4 x i64> undef to <4 x double> 229; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r209 = sitofp <4 x i64> undef to <4 x double> 230; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r210 = uitofp <8 x i1> undef to <8 x float> 231; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r211 = sitofp <8 x i1> undef to <8 x float> 232; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r212 = uitofp <8 x i8> undef to <8 x float> 233; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r213 = sitofp <8 x i8> undef to <8 x float> 234; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r214 = uitofp <8 x i16> undef to <8 x float> 235; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r215 = sitofp <8 x i16> undef to <8 x float> 236; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r216 = uitofp <8 x i32> undef to <8 x float> 237; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r217 = sitofp <8 x i32> undef to <8 x float> 238; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r218 = uitofp <8 x i64> undef to <8 x float> 239; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r219 = sitofp <8 x i64> undef to <8 x float> 240; CHECK-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %r220 = uitofp <8 x i1> undef to <8 x double> 241; CHECK-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %r221 = sitofp <8 x i1> undef to <8 x double> 242; CHECK-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %r222 = uitofp <8 x i8> undef to <8 x double> 243; CHECK-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %r223 = sitofp <8 x i8> undef to <8 x double> 244; CHECK-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %r224 = uitofp <8 x i16> undef to <8 x double> 245; CHECK-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %r225 = sitofp <8 x i16> undef to <8 x double> 246; CHECK-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %r226 = uitofp <8 x i16> undef to <8 x double> 247; CHECK-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %r227 = sitofp <8 x i16> undef to <8 x double> 248; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r228 = uitofp <8 x i64> undef to <8 x double> 249; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r229 = sitofp <8 x i64> undef to <8 x double> 250; CHECK-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %r230 = uitofp <16 x i1> undef to <16 x float> 251; CHECK-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %r231 = sitofp <16 x i1> undef to <16 x float> 252; CHECK-NEXT: Cost Model: Found an estimated cost of 21 for instruction: %r232 = uitofp <16 x i8> undef to <16 x float> 253; CHECK-NEXT: Cost Model: Found an estimated cost of 21 for instruction: %r233 = sitofp <16 x i8> undef to <16 x float> 254; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r234 = uitofp <16 x i16> undef to <16 x float> 255; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r235 = sitofp <16 x i16> undef to <16 x float> 256; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r236 = uitofp <16 x i32> undef to <16 x float> 257; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r237 = sitofp <16 x i32> undef to <16 x float> 258; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %r238 = uitofp <16 x i64> undef to <16 x float> 259; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %r239 = sitofp <16 x i64> undef to <16 x float> 260; CHECK-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %r240 = uitofp <16 x i1> undef to <16 x double> 261; CHECK-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %r241 = sitofp <16 x i1> undef to <16 x double> 262; CHECK-NEXT: Cost Model: Found an estimated cost of 39 for instruction: %r242 = uitofp <16 x i8> undef to <16 x double> 263; CHECK-NEXT: Cost Model: Found an estimated cost of 39 for instruction: %r243 = sitofp <16 x i8> undef to <16 x double> 264; CHECK-NEXT: Cost Model: Found an estimated cost of 38 for instruction: %r244 = uitofp <16 x i16> undef to <16 x double> 265; CHECK-NEXT: Cost Model: Found an estimated cost of 38 for instruction: %r245 = sitofp <16 x i16> undef to <16 x double> 266; CHECK-NEXT: Cost Model: Found an estimated cost of 38 for instruction: %r246 = uitofp <16 x i16> undef to <16 x double> 267; CHECK-NEXT: Cost Model: Found an estimated cost of 38 for instruction: %r247 = sitofp <16 x i16> undef to <16 x double> 268; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r248 = uitofp <16 x i64> undef to <16 x double> 269; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r249 = sitofp <16 x i64> undef to <16 x double> 270; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 271; 272 %r0 = sext i1 undef to i8 273 %r1 = zext i1 undef to i8 274 %r2 = sext i1 undef to i16 275 %r3 = zext i1 undef to i16 276 %r4 = sext i1 undef to i32 277 %r5 = zext i1 undef to i32 278 %r6 = sext i1 undef to i64 279 %r7 = zext i1 undef to i64 280 %r8 = trunc i8 undef to i1 281 %r9 = sext i8 undef to i16 282 %r10 = zext i8 undef to i16 283 %r11 = sext i8 undef to i32 284 %r12 = zext i8 undef to i32 285 %r13 = sext i8 undef to i64 286 %r14 = zext i8 undef to i64 287 %r15 = trunc i16 undef to i1 288 %r16 = trunc i16 undef to i8 289 %r17 = sext i16 undef to i32 290 %r18 = zext i16 undef to i32 291 %r19 = sext i16 undef to i64 292 %r20 = zext i16 undef to i64 293 %r21 = trunc i32 undef to i1 294 %r22 = trunc i32 undef to i8 295 %r23 = trunc i32 undef to i16 296 %r24 = sext i32 undef to i64 297 %r25 = zext i32 undef to i64 298 %r26 = trunc i64 undef to i1 299 %r27 = trunc i64 undef to i8 300 %r28 = trunc i64 undef to i16 301 %r29 = trunc i64 undef to i32 302 %r30 = fptoui float undef to i1 303 %r31 = fptosi float undef to i1 304 %r32 = fptoui float undef to i8 305 %r33 = fptosi float undef to i8 306 %r34 = fptoui float undef to i16 307 %r35 = fptosi float undef to i16 308 %r36 = fptoui float undef to i32 309 %r37 = fptosi float undef to i32 310 %r38 = fptoui float undef to i64 311 %r39 = fptosi float undef to i64 312 %r40 = fptoui double undef to i1 313 %r41 = fptosi double undef to i1 314 %r42 = fptoui double undef to i8 315 %r43 = fptosi double undef to i8 316 %r44 = fptoui double undef to i16 317 %r45 = fptosi double undef to i16 318 %r46 = fptoui double undef to i32 319 %r47 = fptosi double undef to i32 320 %r48 = fptoui double undef to i64 321 %r49 = fptosi double undef to i64 322 %r50 = sitofp i1 undef to float 323 %r51 = uitofp i1 undef to float 324 %r52 = sitofp i1 undef to double 325 %r53 = uitofp i1 undef to double 326 %r54 = sitofp i8 undef to float 327 %r55 = uitofp i8 undef to float 328 %r56 = sitofp i8 undef to double 329 %r57 = uitofp i8 undef to double 330 %r58 = sitofp i16 undef to float 331 %r59 = uitofp i16 undef to float 332 %r60 = sitofp i16 undef to double 333 %r61 = uitofp i16 undef to double 334 %r62 = sitofp i32 undef to float 335 %r63 = uitofp i32 undef to float 336 %r64 = sitofp i32 undef to double 337 %r65 = uitofp i32 undef to double 338 %r66 = sitofp i64 undef to float 339 %r67 = uitofp i64 undef to float 340 %r68 = sitofp i64 undef to double 341 %r69 = uitofp i64 undef to double 342 %q70 = sext <4 x i8> undef to <4 x i32> 343 %q71 = sext <8 x i8> undef to <8 x i16> 344 %s70 = sext <4 x i8> undef to <4 x i32> 345 %r70 = sext <8 x i8> undef to <8 x i32> 346 %r71 = sext <16 x i8> undef to <16 x i32> 347 %q72 = zext <4 x i8> undef to <4 x i32> 348 %q73 = zext <8 x i8> undef to <8 x i16> 349 %s72 = zext <4 x i8> undef to <4 x i32> 350 %r72 = zext <8 x i8> undef to <8 x i32> 351 %r73 = zext <16 x i8> undef to <16 x i32> 352 %rext_0 = sext <8 x i8> undef to <8 x i64> 353 %rext_1 = zext <8 x i8> undef to <8 x i64> 354 %rext_2 = sext <8 x i16> undef to <8 x i64> 355 %rext_3 = zext <8 x i16> undef to <8 x i64> 356 %rext_4 = sext <4 x i16> undef to <4 x i64> 357 %rext_5 = zext <4 x i16> undef to <4 x i64> 358 %rext_6 = sext <2 x i8> undef to <2 x i64> 359 %rext_7 = zext <2 x i8> undef to <2 x i64> 360 %rext_8 = sext <2 x i16> undef to <2 x i64> 361 %rext_9 = zext <2 x i16> undef to <2 x i64> 362 %rext_a = sext <2 x i32> undef to <2 x i64> 363 %rext_b = zext <2 x i32> undef to <2 x i64> 364 %r74 = trunc <8 x i32> undef to <8 x i8> 365 %r75 = trunc <16 x i32> undef to <16 x i8> 366 %r80 = fptrunc double undef to float 367 %r81 = fptrunc <2 x double> undef to <2 x float> 368 %r82 = fptrunc <4 x double> undef to <4 x float> 369 %r83 = fptrunc <8 x double> undef to <8 x float> 370 %r84 = fptrunc <16 x double> undef to <16 x float> 371 %r85 = fpext float undef to double 372 %r86 = fpext <2 x float> undef to <2 x double> 373 %r87 = fpext <4 x float> undef to <4 x double> 374 %r88 = fpext <8 x float> undef to <8 x double> 375 %r89 = fpext <16 x float> undef to <16 x double> 376 %r90 = fptoui <2 x float> undef to <2 x i1> 377 %r91 = fptosi <2 x float> undef to <2 x i1> 378 %r92 = fptoui <2 x float> undef to <2 x i8> 379 %r93 = fptosi <2 x float> undef to <2 x i8> 380 %r94 = fptoui <2 x float> undef to <2 x i16> 381 %r95 = fptosi <2 x float> undef to <2 x i16> 382 %r96 = fptoui <2 x float> undef to <2 x i32> 383 %r97 = fptosi <2 x float> undef to <2 x i32> 384 %r98 = fptoui <2 x float> undef to <2 x i64> 385 %r99 = fptosi <2 x float> undef to <2 x i64> 386 %r100 = fptoui <2 x double> undef to <2 x i1> 387 %r101 = fptosi <2 x double> undef to <2 x i1> 388 %r102 = fptoui <2 x double> undef to <2 x i8> 389 %r103 = fptosi <2 x double> undef to <2 x i8> 390 %r104 = fptoui <2 x double> undef to <2 x i16> 391 %r105 = fptosi <2 x double> undef to <2 x i16> 392 %r106 = fptoui <2 x double> undef to <2 x i32> 393 %r107 = fptosi <2 x double> undef to <2 x i32> 394 %r108 = fptoui <2 x double> undef to <2 x i64> 395 %r109 = fptosi <2 x double> undef to <2 x i64> 396 397 %r110 = fptoui <4 x float> undef to <4 x i1> 398 %r111 = fptosi <4 x float> undef to <4 x i1> 399 %r112 = fptoui <4 x float> undef to <4 x i8> 400 %r113 = fptosi <4 x float> undef to <4 x i8> 401 402 %r114 = fptoui <4 x float> undef to <4 x i16> 403 %r115 = fptosi <4 x float> undef to <4 x i16> 404 %r116 = fptoui <4 x float> undef to <4 x i32> 405 %r117 = fptosi <4 x float> undef to <4 x i32> 406 %r118 = fptoui <4 x float> undef to <4 x i64> 407 %r119 = fptosi <4 x float> undef to <4 x i64> 408 409 %r120 = fptoui <4 x double> undef to <4 x i1> 410 %r121 = fptosi <4 x double> undef to <4 x i1> 411 %r122 = fptoui <4 x double> undef to <4 x i8> 412 %r123 = fptosi <4 x double> undef to <4 x i8> 413 %r124 = fptoui <4 x double> undef to <4 x i16> 414 %r125 = fptosi <4 x double> undef to <4 x i16> 415 %r126 = fptoui <4 x double> undef to <4 x i32> 416 %r127 = fptosi <4 x double> undef to <4 x i32> 417 %r128 = fptoui <4 x double> undef to <4 x i64> 418 %r129 = fptosi <4 x double> undef to <4 x i64> 419 420 %r130 = fptoui <8 x float> undef to <8 x i1> 421 %r131 = fptosi <8 x float> undef to <8 x i1> 422 %r132 = fptoui <8 x float> undef to <8 x i8> 423 %r133 = fptosi <8 x float> undef to <8 x i8> 424 %r134 = fptoui <8 x float> undef to <8 x i16> 425 %r135 = fptosi <8 x float> undef to <8 x i16> 426 %r136 = fptoui <8 x float> undef to <8 x i32> 427 %r137 = fptosi <8 x float> undef to <8 x i32> 428 %r138 = fptoui <8 x float> undef to <8 x i64> 429 %r139 = fptosi <8 x float> undef to <8 x i64> 430 431 %r140 = fptoui <8 x double> undef to <8 x i1> 432 %r141 = fptosi <8 x double> undef to <8 x i1> 433 %r142 = fptoui <8 x double> undef to <8 x i8> 434 %r143 = fptosi <8 x double> undef to <8 x i8> 435 %r144 = fptoui <8 x double> undef to <8 x i16> 436 %r145 = fptosi <8 x double> undef to <8 x i16> 437 %r146 = fptoui <8 x double> undef to <8 x i32> 438 %r147 = fptosi <8 x double> undef to <8 x i32> 439 %r148 = fptoui <8 x double> undef to <8 x i64> 440 %r149 = fptosi <8 x double> undef to <8 x i64> 441 442 %r150 = fptoui <16 x float> undef to <16 x i1> 443 %r151 = fptosi <16 x float> undef to <16 x i1> 444 %r152 = fptoui <16 x float> undef to <16 x i8> 445 %r153 = fptosi <16 x float> undef to <16 x i8> 446 %r154 = fptoui <16 x float> undef to <16 x i16> 447 %r155 = fptosi <16 x float> undef to <16 x i16> 448 %r156 = fptoui <16 x float> undef to <16 x i32> 449 %r157 = fptosi <16 x float> undef to <16 x i32> 450 %r158 = fptoui <16 x float> undef to <16 x i64> 451 %r159 = fptosi <16 x float> undef to <16 x i64> 452 453 %r160 = fptoui <16 x double> undef to <16 x i1> 454 %r161 = fptosi <16 x double> undef to <16 x i1> 455 %r162 = fptoui <16 x double> undef to <16 x i8> 456 %r163 = fptosi <16 x double> undef to <16 x i8> 457 %r164 = fptoui <16 x double> undef to <16 x i16> 458 %r165 = fptosi <16 x double> undef to <16 x i16> 459 %r166 = fptoui <16 x double> undef to <16 x i32> 460 %r167 = fptosi <16 x double> undef to <16 x i32> 461 %r168 = fptoui <16 x double> undef to <16 x i64> 462 %r169 = fptosi <16 x double> undef to <16 x i64> 463 464 %r170 = uitofp <2 x i1> undef to <2 x float> 465 %r171 = sitofp <2 x i1> undef to <2 x float> 466 %r172 = uitofp <2 x i8> undef to <2 x float> 467 %r173 = sitofp <2 x i8> undef to <2 x float> 468 %r174 = uitofp <2 x i16> undef to <2 x float> 469 %r175 = sitofp <2 x i16> undef to <2 x float> 470 %r176 = uitofp <2 x i32> undef to <2 x float> 471 %r177 = sitofp <2 x i32> undef to <2 x float> 472 %r178 = uitofp <2 x i64> undef to <2 x float> 473 %r179 = sitofp <2 x i64> undef to <2 x float> 474 475 %r180 = uitofp <2 x i1> undef to <2 x double> 476 %r181 = sitofp <2 x i1> undef to <2 x double> 477 %r182 = uitofp <2 x i8> undef to <2 x double> 478 %r183 = sitofp <2 x i8> undef to <2 x double> 479 %r184 = uitofp <2 x i16> undef to <2 x double> 480 %r185 = sitofp <2 x i16> undef to <2 x double> 481 %r186 = uitofp <2 x i32> undef to <2 x double> 482 %r187 = sitofp <2 x i32> undef to <2 x double> 483 %r188 = uitofp <2 x i64> undef to <2 x double> 484 %r189 = sitofp <2 x i64> undef to <2 x double> 485 486 %r190 = uitofp <4 x i1> undef to <4 x float> 487 %r191 = sitofp <4 x i1> undef to <4 x float> 488 %r192 = uitofp <4 x i8> undef to <4 x float> 489 %r193 = sitofp <4 x i8> undef to <4 x float> 490 %r194 = uitofp <4 x i16> undef to <4 x float> 491 %r195 = sitofp <4 x i16> undef to <4 x float> 492 %r196 = uitofp <4 x i32> undef to <4 x float> 493 %r197 = sitofp <4 x i32> undef to <4 x float> 494 %r198 = uitofp <4 x i64> undef to <4 x float> 495 %r199 = sitofp <4 x i64> undef to <4 x float> 496 497 %r200 = uitofp <4 x i1> undef to <4 x double> 498 %r201 = sitofp <4 x i1> undef to <4 x double> 499 %r202 = uitofp <4 x i8> undef to <4 x double> 500 %r203 = sitofp <4 x i8> undef to <4 x double> 501 %r204 = uitofp <4 x i16> undef to <4 x double> 502 %r205 = sitofp <4 x i16> undef to <4 x double> 503 %r206 = uitofp <4 x i32> undef to <4 x double> 504 %r207 = sitofp <4 x i32> undef to <4 x double> 505 %r208 = uitofp <4 x i64> undef to <4 x double> 506 %r209 = sitofp <4 x i64> undef to <4 x double> 507 508 %r210 = uitofp <8 x i1> undef to <8 x float> 509 %r211 = sitofp <8 x i1> undef to <8 x float> 510 %r212 = uitofp <8 x i8> undef to <8 x float> 511 %r213 = sitofp <8 x i8> undef to <8 x float> 512 %r214 = uitofp <8 x i16> undef to <8 x float> 513 %r215 = sitofp <8 x i16> undef to <8 x float> 514 %r216 = uitofp <8 x i32> undef to <8 x float> 515 %r217 = sitofp <8 x i32> undef to <8 x float> 516 %r218 = uitofp <8 x i64> undef to <8 x float> 517 %r219 = sitofp <8 x i64> undef to <8 x float> 518 519 %r220 = uitofp <8 x i1> undef to <8 x double> 520 %r221 = sitofp <8 x i1> undef to <8 x double> 521 %r222 = uitofp <8 x i8> undef to <8 x double> 522 %r223 = sitofp <8 x i8> undef to <8 x double> 523 %r224 = uitofp <8 x i16> undef to <8 x double> 524 %r225 = sitofp <8 x i16> undef to <8 x double> 525 %r226 = uitofp <8 x i16> undef to <8 x double> 526 %r227 = sitofp <8 x i16> undef to <8 x double> 527 %r228 = uitofp <8 x i64> undef to <8 x double> 528 %r229 = sitofp <8 x i64> undef to <8 x double> 529 530 %r230 = uitofp <16 x i1> undef to <16 x float> 531 %r231 = sitofp <16 x i1> undef to <16 x float> 532 %r232 = uitofp <16 x i8> undef to <16 x float> 533 %r233 = sitofp <16 x i8> undef to <16 x float> 534 %r234 = uitofp <16 x i16> undef to <16 x float> 535 %r235 = sitofp <16 x i16> undef to <16 x float> 536 %r236 = uitofp <16 x i32> undef to <16 x float> 537 %r237 = sitofp <16 x i32> undef to <16 x float> 538 %r238 = uitofp <16 x i64> undef to <16 x float> 539 %r239 = sitofp <16 x i64> undef to <16 x float> 540 541 %r240 = uitofp <16 x i1> undef to <16 x double> 542 %r241 = sitofp <16 x i1> undef to <16 x double> 543 %r242 = uitofp <16 x i8> undef to <16 x double> 544 %r243 = sitofp <16 x i8> undef to <16 x double> 545 %r244 = uitofp <16 x i16> undef to <16 x double> 546 %r245 = sitofp <16 x i16> undef to <16 x double> 547 %r246 = uitofp <16 x i16> undef to <16 x double> 548 %r247 = sitofp <16 x i16> undef to <16 x double> 549 %r248 = uitofp <16 x i64> undef to <16 x double> 550 %r249 = sitofp <16 x i64> undef to <16 x double> 551 552 ret i32 undef 553} 554 555define i32 @casts_with_users(i8 %a, i16 %b, i32 %c, i64 %d, i1 %e) { 556; CHECK-LABEL: 'casts_with_users' 557; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r0 = sext i8 %a to i16 558; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r1 = sext i8 %a to i32 559; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r2 = sext i8 %a to i64 560; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r3 = sext i16 %b to i32 561; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r4 = sext i16 %b to i64 562; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r5 = sext i32 %c to i64 563; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 %r0, i16* undef 564; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r1, i32* undef 565; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r2, i64* undef 566; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r3, i32* undef 567; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r4, i64* undef 568; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r5, i64* undef 569; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r6 = zext i8 %a to i16 570; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r7 = zext i8 %a to i32 571; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r8 = zext i8 %a to i64 572; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r9 = zext i16 %b to i32 573; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r10 = zext i16 %b to i64 574; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r11 = zext i32 %c to i64 575; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 %r6, i16* undef 576; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r7, i32* undef 577; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r8, i64* undef 578; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r9, i32* undef 579; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r10, i64* undef 580; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r11, i64* undef 581; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r12 = trunc i64 %d to i32 582; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r13 = trunc i64 %d to i16 583; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r14 = trunc i64 %d to i8 584; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r15 = trunc i32 %c to i16 585; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r16 = trunc i32 %c to i8 586; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r17 = trunc i16 %b to i8 587; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %tie.trunc.8 = add i8 %r14, %r16 588; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %tie.trunc.8.1 = add i8 %tie.trunc.8, %r17 589; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %tie.trunc.16 = add i16 %r13, %r15 590; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %free.trunc.16.8 = trunc i16 %r6 to i8 591; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %free.trunc.32.8 = trunc i32 %r7 to i8 592; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %free.trunc.32.16 = trunc i32 %r9 to i16 593; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %free.trunc.64.8 = trunc i64 %r8 to i8 594; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %free.trunc.64.16 = trunc i64 %r10 to i16 595; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %free.trunc.64.32 = trunc i64 %r11 to i32 596; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r18 = sext i1 %e to i8 597; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r19 = sext i1 %e to i16 598; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r20 = sext i1 %e to i32 599; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r21 = sext i1 %e to i64 600; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r22 = zext i1 %e to i8 601; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r23 = zext i1 %e to i16 602; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r24 = zext i1 %e to i32 603; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r25 = zext i1 %e to i64 604; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 %r18, i8* undef 605; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 %r19, i16* undef 606; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r20, i32* undef 607; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r21, i64* undef 608; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 %r22, i8* undef 609; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 %r23, i16* undef 610; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r24, i32* undef 611; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r25, i64* undef 612; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 %r12 613; 614 %r0 = sext i8 %a to i16 615 %r1 = sext i8 %a to i32 616 %r2 = sext i8 %a to i64 617 %r3 = sext i16 %b to i32 618 %r4 = sext i16 %b to i64 619 %r5 = sext i32 %c to i64 620 store i16 %r0, i16* undef 621 store i32 %r1, i32* undef 622 store i64 %r2, i64* undef 623 store i32 %r3, i32* undef 624 store i64 %r4, i64* undef 625 store i64 %r5, i64* undef 626 627 %r6 = zext i8 %a to i16 628 %r7 = zext i8 %a to i32 629 %r8 = zext i8 %a to i64 630 %r9 = zext i16 %b to i32 631 %r10 = zext i16 %b to i64 632 %r11 = zext i32 %c to i64 633 store i16 %r6, i16* undef 634 store i32 %r7, i32* undef 635 store i64 %r8, i64* undef 636 store i32 %r9, i32* undef 637 store i64 %r10, i64* undef 638 store i64 %r11, i64* undef 639 640 %r12 = trunc i64 %d to i32 641 %r13 = trunc i64 %d to i16 642 %r14 = trunc i64 %d to i8 643 %r15 = trunc i32 %c to i16 644 %r16 = trunc i32 %c to i8 645 %r17 = trunc i16 %b to i8 646 %tie.trunc.8 = add i8 %r14, %r16 647 %tie.trunc.8.1 = add i8 %tie.trunc.8, %r17 648 %tie.trunc.16 = add i16 %r13, %r15 649 650 %free.trunc.16.8 = trunc i16 %r6 to i8 651 %free.trunc.32.8 = trunc i32 %r7 to i8 652 %free.trunc.32.16 = trunc i32 %r9 to i16 653 %free.trunc.64.8 = trunc i64 %r8 to i8 654 %free.trunc.64.16 = trunc i64 %r10 to i16 655 %free.trunc.64.32 = trunc i64 %r11 to i32 656 657 %r18 = sext i1 %e to i8 658 %r19 = sext i1 %e to i16 659 %r20 = sext i1 %e to i32 660 %r21 = sext i1 %e to i64 661 %r22 = zext i1 %e to i8 662 %r23 = zext i1 %e to i16 663 %r24 = zext i1 %e to i32 664 %r25 = zext i1 %e to i64 665 store i8 %r18, i8* undef 666 store i16 %r19, i16* undef 667 store i32 %r20, i32* undef 668 store i64 %r21, i64* undef 669 store i8 %r22, i8* undef 670 store i16 %r23, i16* undef 671 store i32 %r24, i32* undef 672 store i64 %r25, i64* undef 673 ret i32 %r12 674} 675 676define i32 @bitcasts() { 677; CHECK-LABEL: 'bitcasts' 678; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %a = bitcast i32 undef to i32 679; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %b = bitcast float undef to float 680; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c = bitcast i32 undef to float 681; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d = bitcast float undef to i32 682; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e = bitcast i64 undef to double 683; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f = bitcast double undef to i64 684; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g = bitcast half undef to i16 685; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h = bitcast i16 undef to half 686; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 687; 688 %a = bitcast i32 undef to i32 689 %b = bitcast float undef to float 690 %c = bitcast i32 undef to float 691 %d = bitcast float undef to i32 692 %e = bitcast i64 undef to double 693 %f = bitcast double undef to i64 694 %g = bitcast half undef to i16 695 %h = bitcast i16 undef to half 696 ret i32 undef 697} 698 699define i32 @load_extends() { 700; CHECK-LABEL: 'load_extends' 701; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadi8 = load i8, i8* undef 702; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadi16 = load i16, i16* undef 703; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadi32 = load i32, i32* undef 704; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %loadv2i8 = load <2 x i8>, <2 x i8>* undef 705; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %loadv4i8 = load <4 x i8>, <4 x i8>* undef 706; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadv8i8 = load <8 x i8>, <8 x i8>* undef 707; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadv2i16 = load <2 x i16>, <2 x i16>* undef 708; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadv4i16 = load <4 x i16>, <4 x i16>* undef 709; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadv2i32 = load <2 x i32>, <2 x i32>* undef 710; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r0 = sext i8 %loadi8 to i16 711; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r1 = zext i8 %loadi8 to i16 712; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r2 = sext i8 %loadi8 to i32 713; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r3 = zext i8 %loadi8 to i32 714; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r4 = sext i8 %loadi8 to i64 715; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r5 = zext i8 %loadi8 to i64 716; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r6 = sext i16 %loadi16 to i32 717; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r7 = zext i16 %loadi16 to i32 718; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r8 = sext i16 %loadi16 to i64 719; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r9 = zext i16 %loadi16 to i64 720; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r10 = sext i32 %loadi32 to i64 721; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r11 = zext i32 %loadi32 to i64 722; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v0 = sext <8 x i8> %loadv8i8 to <8 x i16> 723; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v1 = zext <8 x i8> %loadv8i8 to <8 x i16> 724; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2 = sext <4 x i8> %loadv4i8 to <4 x i32> 725; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v3 = zext <4 x i8> %loadv4i8 to <4 x i32> 726; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4 = sext <2 x i8> %loadv2i8 to <2 x i64> 727; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v5 = zext <2 x i8> %loadv2i8 to <2 x i64> 728; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v6 = sext <4 x i16> %loadv4i16 to <4 x i32> 729; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v7 = zext <4 x i16> %loadv4i16 to <4 x i32> 730; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8 = sext <2 x i16> %loadv2i16 to <2 x i64> 731; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v9 = zext <2 x i16> %loadv2i16 to <2 x i64> 732; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v10 = sext <2 x i32> %loadv2i32 to <2 x i64> 733; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v11 = zext <2 x i32> %loadv2i32 to <2 x i64> 734; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 735; 736 %loadi8 = load i8, i8* undef 737 %loadi16 = load i16, i16* undef 738 %loadi32 = load i32, i32* undef 739 %loadv2i8 = load <2 x i8>, <2 x i8>* undef 740 %loadv4i8 = load <4 x i8>, <4 x i8>* undef 741 %loadv8i8 = load <8 x i8>, <8 x i8>* undef 742 %loadv2i16 = load <2 x i16>, <2 x i16>* undef 743 %loadv4i16 = load <4 x i16>, <4 x i16>* undef 744 %loadv2i32 = load <2 x i32>, <2 x i32>* undef 745 746 %r0 = sext i8 %loadi8 to i16 747 %r1 = zext i8 %loadi8 to i16 748 %r2 = sext i8 %loadi8 to i32 749 %r3 = zext i8 %loadi8 to i32 750 %r4 = sext i8 %loadi8 to i64 751 %r5 = zext i8 %loadi8 to i64 752 %r6 = sext i16 %loadi16 to i32 753 %r7 = zext i16 %loadi16 to i32 754 %r8 = sext i16 %loadi16 to i64 755 %r9 = zext i16 %loadi16 to i64 756 %r10 = sext i32 %loadi32 to i64 757 %r11 = zext i32 %loadi32 to i64 758 759 %v0 = sext <8 x i8> %loadv8i8 to <8 x i16> 760 %v1 = zext <8 x i8> %loadv8i8 to <8 x i16> 761 %v2 = sext <4 x i8> %loadv4i8 to <4 x i32> 762 %v3 = zext <4 x i8> %loadv4i8 to <4 x i32> 763 %v4 = sext <2 x i8> %loadv2i8 to <2 x i64> 764 %v5 = zext <2 x i8> %loadv2i8 to <2 x i64> 765 %v6 = sext <4 x i16> %loadv4i16 to <4 x i32> 766 %v7 = zext <4 x i16> %loadv4i16 to <4 x i32> 767 %v8 = sext <2 x i16> %loadv2i16 to <2 x i64> 768 %v9 = zext <2 x i16> %loadv2i16 to <2 x i64> 769 %v10 = sext <2 x i32> %loadv2i32 to <2 x i64> 770 %v11 = zext <2 x i32> %loadv2i32 to <2 x i64> 771 772 ret i32 undef 773} 774 775define i32 @store_truncs() { 776; CHECK-LABEL: 'store_truncs' 777; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r0 = trunc i64 undef to i8 778; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 %r0, i8* undef 779; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r1 = trunc i64 undef to i16 780; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 %r1, i16* undef 781; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r2 = trunc i64 undef to i32 782; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r2, i32* undef 783; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r3 = trunc i32 undef to i8 784; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 %r3, i8* undef 785; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r4 = trunc i32 undef to i16 786; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 %r4, i16* undef 787; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r5 = trunc i16 undef to i8 788; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 %r5, i8* undef 789; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef 790; 791 %r0 = trunc i64 undef to i8 792 store i8 %r0, i8* undef 793 %r1 = trunc i64 undef to i16 794 store i16 %r1, i16* undef 795 %r2 = trunc i64 undef to i32 796 store i32 %r2, i32* undef 797 %r3 = trunc i32 undef to i8 798 store i8 %r3, i8* undef 799 %r4 = trunc i32 undef to i16 800 store i16 %r4, i16* undef 801 %r5 = trunc i16 undef to i8 802 store i8 %r5, i8* undef 803 ret i32 undef 804} 805